xref: /netbsd-src/external/bsd/am-utils/dist/ChangeLog (revision 4da6d876cd9670a0f55b4857d574006fa142db45)
12015-01-17  Christos Zoulas <christos@zoulas.com>
2
3	* Move libtool macro functions from m4/macros to m4 and delete
4	  the repository copies. Makes am-utils work with libtool-2.4.4
5	  and fixes the serial number warnings (raven at themaw.net)
6
72014-10-28  Christos Zoulas <christos@zoulas.com>
8
9	*******************************************************************
10	*** Released am-utils-6.2					***
11	*******************************************************************
12
13	* add ylwrap.amd, sick and tired of patching broken ylwrap.
14
152014-09-05  Christos Zoulas <christos@zoulas.com>
16
17	* factor out the size check for both readdir methods
18	  (raven at themaw.net)
19
202014-09-03  Christos Zoulas <christos@zoulas.com>
21
22	* configure test for 64 bit xdr function (raven at themaw.net)
23
242014-09-01  Christos Zoulas <christos@zoulas.com>
25
26	* bug fix from raven at themaw.net to prevent writing v3 handle
27	  to a v2 structure.
28
292014-07-21  Christos Zoulas <christos@zoulas.com>
30
31	* fix permission problems with access
32	* auto_nfs_version = 3 now works for me.
33
342014-07-20  Christos Zoulas <christos@zoulas.com>
35
36	* refresh some autoconf files
37	* force autoconf version since earlier versions don't work
38	* changes from raven at themaw.net to support NFSv3 for automounted
39	  toplevel filesystems presented to the list in May. A few bug fixes
40	  and integration changes by me. The code now works well enough to
41	  mount the filesystem with NFSv3 and automount children but readdir
42	  does not work yet (so no listing of automounted filesystems).
43	  The new code is not enabled by default. To enable use
44		auto_nfs_version = 3
45	  in your configuration file.
46
472014-03-26  Christos Zoulas <christos@zoulas.com>
48
49	From Ian Kent <ikent@redhat.com>
50
51	* use mktemp in scripts/fixrmtab
52	* fix documentatio nits
53	* [linux] Add ext2, ext3, ext4 specific mount options
54	* fix tcpwrappers (hosts.{allow,deny} problems for specific host
55	  entries
56
572014-03-20  Christos Zoulas <christos@zoulas.com>
58
59
60	* don't background autofs umount
61	* avoid fh NULL dereference on umount
62	* handle ENOENT umount return for autofs mounts
63	* fix error message in get_nfs_version
64	* fix debug log deadlock
65	* [linux] retry umount on EBUSY
66	* handle failed umount on exit
67
682014-03-09  Christos Zoulas <christos@zoulas.com>
69
70	* Remove BSD advertising clause.
71	* Remove expn program which is not used by anything
72
732013-12-05  Christos Zoulas <christos@zoulas.com>
74
75	* Change the way we handle multiple lex scanners and yacc parsers
76	  in a single program. Our old patch to ylwrap does not work anymore
77	  because the bison parsers need shared symbols that start with yy
78	  and we can't easily select which ones work. So now we use -P and
79	  -p to let lex and yacc do the work for us. This requires a patch
80	  to ylwrap, but it is smaller.
81
82
832013-12-05  Christos Zoulas <christos@zoulas.com>
84
85	* Change the way we handle multiple lex scanners and yacc parsers
86	  in a single program. Our old patch to ylwrap does not work anymore
87	  because the bison parsers need shared symbols that start with yy
88	  and we can't easily select which ones work. So now we use -P and
89	  -p to let lex and yacc do the work for us. This requires a patch
90	  to ylwrap, but it is smaller.
91
922013-05-14  Christos Zoulas <christos@zoulas.com>
93
94	* update to handle new autoconf and regen files
95
962012-11-23  Christos Zoulas <christos@zoulas.com>
97
98	* recognize mountport=, noacl options
99	* simplify the bootstrap process, by forcing
100	  all the files to be rebuild with autoreconf -f - i
101
1022012-10-03  Christos Zoulas <christos@zoulas.com>
103
104	* add missing ops_nfs4.c to the Makefile.am
105
1062012-09-14  Christos Zoulas <christos@zoulas.com>
107
108	* add locking option handling for lustre
109	* fix noatime, nodiratime, mandlock for linux
110
1112012-07-25  Christos Zoulas <christos@zoulas.com>
112
113	* bug fixes for lustre rhost parsing
114
1152012-06-27  Christos Zoulas <christos@zoulas.com>
116
117	* Disable 1/2-baked sun map support to avoid SIGSEGV
118
1192012-06-16  Christos Zoulas <christos@zoulas.com>
120
121	*******************************************************************
122	*** Released am-utils-6.2-rc1					***
123	*******************************************************************
124
125	* Fix libtool.m4 to work with later versions of autoconf.
126	* In buildall, use eval so that quoted strings work
127	* Centralize nfs version checking function, and introduce
128	  new configuration variable nfs_vers_ping, which is the
129	  max version we ping for. This is not documented yet, because
130	  there might be a better way separate the max version we can
131	  use vs the max version we ping for.
132
1332012-06-09  Christos Zoulas <christos@zoulas.com>
134
135	* fix issue with parsing nfsv4 security option strings
136
1372012-05-01  Christos Zoulas <christos@zoulas.com>
138
139	* Handle EPERM return from v4 file handles
140	  in old linux kernels
141
1422012-03-09  Christos Zoulas <christos@zoulas.com>
143
144	* fix linux autofs detection
145	* fix wrong types in new amq mount xdr processing
146
1472012-01-25  Christos Zoulas <christos@zoulas.com>
148
149	* FreeBSD portability fixes
150
1512012-01-23  Christos Zoulas <christos@zoulas.com>
152
153	* Avoid type punned warnings
154
1552011-12-29  Christos Zoulas <christos@zoulas.com>
156
157	* fix bug I introduced in get_nfs_version that caused it to return 0
158	* add direct support for ext{2,3,4}
159
1602011-12-15  Christos Zoulas <christos@zoulas.com>
161
162	* Include <linux/fs.h> on linux, to grab extra mount flags
163	* Add support for lustre
164
1652011-11-28  Christos Zoulas <christos@zoulas.com>
166
167	* For nfsl mounts, match against either the short local
168	  host name or the fqdn name.
169
1702011-10-06  Christos Zoulas <christos@zoulas.com>
171
172	* Add NFSv4 support (loosely based on Ramya's code).
173	  Currently if the NFSv4 mount fails with ENOENT we fail
174	  back to NFSv3, unless -DNO_FALLBACK.
175	* Replace strdup with xstrdup. It is not nice to replace
176	  system functions with ones that behave differently.
177	* Add various consistency checks (caller function checks
178	  variable for NULL, but callee does not).
179	* Fix error handling in various paths.
180	* Don't check before using XFREE(). free(NULL) works.
181
1822011-09-15  Christos Zoulas <christos@zoulas.com>
183
184	* amq -i addition (prints info about the map files)
185
1862011-09-14  Christos Zoulas <christos@zoulas.com>
187
188	* Solaris OS and compiler fixes from:
189		Hofmann, Frank <Frank.Hofmann@morganstanley.com>
190		Sayle, Alex <Alex.Sayle@morganstanley.com>
191	  - (void)&var generates warnings, removed
192	  - __inline is invalid, changed with inline
193	  - <sys/socket.h> and other headers have extra dependendcies
194			`
1952011-08-11  Christos Zoulas <christos@zoulas.com>
196
197	* fix potential buffer overflow in expand_error()
198	  (Richard Kettlewell). Does not seem to be exploitable.
199
200	* simplify %option parsing to appease ancient flex.
201
2022011-06-21  Christos Zoulas <christos@zoulas.com>
203
204	* add support for linux autofs version 5 (untested)
205
2062011-06-18  Christos Zoulas <christos@zoulas.com>
207
208	* roll back to an older version of libtool that works
209
210	* newer versions of config.guess and config.sub
211
212	* minor fixes to buildall
213
2142011-05-19  Christos Zoulas <christos@zoulas.com>
215
216	* m4/macros/libtool.m4: for AIX AC_LANG_PROGRAM is incorrectly
217	  used and the latest autoconf gives an error. For now just
218	  quote it.
219
220	* configure.in: Fedora Core 15 and RedHat 6 now don't define
221	  af_family_t in <linux/socket.h>, but in <bits/sockaddr.h>.
222	  Include <sys/socket.h> so that we get <bits/sockaddr.h>
223	  indirectly. This caused the <linux/nfs_mount.h> detection
224	  test to fail.
225
2262010-11-24  Erez Zadok  <ezk@fsl.cs.sunysb.edu>
227
228	* m4/macros/os_cflags.m4: for linux, define _GNU_SOURCE (to get
229	definitions for O_LARGEFILE and more).
230
2312010-11-20  Christos Zoulas <christos@zoulas.com>
232
233	* Update news items, add release readme, mark as rc1
234
235	* Fix addopts code to work with options that are key=value
236	  when the built-in hasmntopt() code is not used. The problem
237	  was that the code passed "key=" to hasmntopt not "key".
238
2392009-12-10  Christos Zoulas <christos@zoulas.com>
240
241	* Copy all fields of the am_opts structure
242	  When we introduced am_loc we also added a function to
243	  create a duplicate of an am_opts structure. As it turns
244	  out, that only made a partial copy of the struct and some
245	  fields (e.g. opt_cache) was left blank in the new structure.
246	  Unfortunately any code that was checking the options
247	  through the mntfs structure was mislead by the partial
248	  copy: caching was disabled completely, for example, and
249	  since browsing relies on caching being enabled it wasn't
250	  working either.
251	  From: Krisztian Kovacs <Kris.Kovacs@morganstanley.com>
252
253	* Initialize RPC authentication flavor to AUTH_UNIX instead
254	  of zero. RHEL 5 uses version 6 of the mount_arg structure
255	  that includes the desired RPC authorization flavour.
256	  Unfortunately amd initializes that value to zero, meaning
257	  AUTH_NULL, resulting in all NFS servers denying operations.
258	  From: Krisztian Kovacs <Kris.Kovacs@morganstanley.com>
259
260	* Make sure to remove nodes in the proper order when going
261	  down. Depending on what order the nodes got created it's
262	  possible that the parent of a node has a bigger am_mapno
263	  (index in exported_ap[]) so that it gets freed before
264	  its child while the child's am_parent pointer is still
265	  pointing to the already freed block of memory.
266	  This change makes sure that umount_exported() cleans up
267	  all children of a node first before freeing the node.
268	  From: Krisztian Kovacs <Kris.Kovacs@morganstanley.com>
269
270	* Fix Linux-specific stuff in ops_tmpfs.c
271	  AUTOFS_TMPFS_FS_FLAGS is defined only in the Linux-specific
272	  conf_linux.c file, so it cannot be built on Solaris.
273	  From: Krisztian Kovacs <Kris.Kovacs@morganstanley.com>
274
275        * Add missing parenthesis to fix defined(XXX
276	  From: Krisztian Kovacs <Kris.Kovacs@morganstanley.com>
277
278	* In the previous commit we've already made a change that
279	  makes this code unnecessary since the node is returned
280	  even if the backing file server is known to be down.
281	  Since the code path is unused it should be removed.
282	  From: Krisztian Kovacs <Kris.Kovacs@morganstanley.com>
283
284	* amfs_generic_lookup_child() tries to find an alternate
285	  file server if it detects that the current one is down.
286	  However, in the comparison used to decide if a possible
287	  mount is the same as the current one it compares the am_loc
288	  pointers instead of the actual mntfs pointers. Since
289	  amfs_lookup_one_location() creates a brand new am_loc
290	  structure for the returned mntfs structure the am_loc
291	  pointer will be different even if the mntfs it's pointing
292	  to is the same.
293	  This tricks amfs_generic_lookup_child() think it has
294	  found an alternate file server while it hasn't and thus
295	  starts multiple racing mounts for the very same node and
296	  mntfs.
297	  From: Krisztian Kovacs <Kris.Kovacs@morganstanley.com>
298
299	* In the new am_loc scheme mounted mntfs structures still
300	  have their mf_fo structure left intact. So when restart
301	  creates a fake mntfs for an already mounted filesystem it
302	  should not free mf_fo right away.
303	  From: Krisztian Kovacs <Kris.Kovacs@morganstanley.com>
304
305	* Setting the error flag of the mntfs for which the share
306	  is already mounted results in the mount point not being
307	  removed when it times out. (Amd considers it an error
308	  mntfs and thus umount becomse a no-op.)
309	  From: Krisztian Kovacs <Kris.Kovacs@morganstanley.com>
310
311	* Right now AMD sets all timeout values to their defaults
312	  even if you explicitly set them to zero. This patch
313	  introduces separate flags that store if the respective
314	  values have been set and the code path setting default
315	  values checks these flags instead of testing the values
316	  for zero. [Linux only]
317	  From: Krisztian Kovacs <Kris.Kovacs@morganstanley.com>
318
319	* Fix mntfs related lookup/(un)mount race conditions, by
320	  introducing a new structure linking an mntfs to a node.
321	  From: Krisztian Kovacs <Kris.Kovacs@morganstanley.com>
322
323	* We have to free the buffers allocated by the XDR routines when
324	  decoding the mount response after copying them to their final place.
325	  From: Krisztian Kovacs <Kris.Kovacs@morganstanley.com>
326
3272009-12-09  Christos Zoulas <christos@zoulas.com>
328
329	* Free continuation in amfs_retry() if we don't call amfs_bgmount()
330	  Normally it's amfs_bgmount() which frees the continuation. However, if
331	  the mount is already in progress and we're in amfs_retry() for another
332	  node we don't try mounting the filesystem once again. Still, we have
333	  to free the continuation as we won't get called again and thus would
334	  leak the continuation structure and our am_loc references.
335	  From: Krisztian Kovacs <Kris.Kovacs@morganstanley.com>
336
337	* Fix use-after-free and double free of mntfs private data
338	  ops_nfs.c(nfs_init) does not clear private data pointer after free().
339	  This leads to use-after-free and double free in case mount() fails.
340	  (found by valgrind)
341	  From: Krisztian Kovacs <Kris.Kovacs@morganstanley.com>
342
3432009-11-23  Christos Zoulas <christos@zoulas.com>
344
345	* The temporary filename buffer was leaked in lock_mtab().
346	  From: Krisztian Kovacs <Kris.Kovacs@morganstanley.com>
347
3482009-10-27  Christos Zoulas <christos@zoulas.com>
349
350	* Deal with errno.h->sys/errno.h better
351
3522009-10-26  Christos Zoulas <christos@zoulas.com>
353
354	* Fix issue with autoconf 2.63
355
356	* Fix compile warnings for gcc-4.4.x
357
3582009-04-15  Christos Zoulas <christos@zoulas.com>
359
360	* Share the LDAP connection between different maps to save resources
361	  on the LDAP server. (Olaf Flebbe <o.flebbe@science-computing.de>)
362
3632009-03-20  Christos Zoulas <christos@zoulas.com>
364
365	* Fix largefile re-definitions
366
367	* Fix compilation error caused in previous patch
368
3692009-02-19  Christos Zoulas <christos@zoulas.com>
370
371	* Add a synchronous unmount amq rpc that will wait for the remote
372	  filesystem to be unmounted, or return an error. Enabled by amq -uu
373
3742009-01-11  Erez Zadok  <ezk@fsl.cs.sunysb.edu>
375
376	* amd/ops_udf.c: don't define functions/variables which may not be
377	used.
378
379	* amd/ops_tmpfs.c (mount_tmpfs): force gcc not to complain about
380	unused variables.
381
382	* config.guess.long: properly support Fedora Core.
383
3842009-01-09  Christos Zoulas <christos@zoulas.com>
385
386	* Fix nfs mounts on linux 2.6.26 by explicitly initializing context.
387
388	* Treat an empty sublink as an unset sublink; this allows us to
389	  say sublink:=; in a spec to override the default. (This produces
390	  Bad selector error, but it works. XXX: We need to decide how to
391	  unset a selector. I proposed an unset keyword a while ago).
392
3932009-01-06  Christos Zoulas <christos@zoulas.com>
394
395	* re-renerate all generated files with newer versions of the
396	  auto-tools.
397
398	* move INSTALL to INSTALL.am-utils to avoid conflicts
399
400	* fix incompatibilities with new m4 and new autoconf.
401
402	* add UDF filesystem support.
403
404	* fix NetBSD nfs file handle detection.
405
4062009-01-02  Christos Zoulas <christos@zoulas.com>
407
408	* add nocasetrans, nojoliet, rrcaseins for cd9660 filesystems
409
4102008-12-03  Christos Zoulas <christos@zoulas.com>
411
412	* allow ldap queries try a comma-separated list of servers given as:
413
414		ldap_hostports = host1:port1,host2,host3:port3
415
416	  original patch from Florian Geyer
417
4182008-09-19  Christos Zoulas <christos@zoulas.com>
419
420	* the auth_create gid on NetBSD is int
421
422	* deal with lossage from flex -P
423
424	* fix missing/incorrect prototypes
425
4262008-09-17  Christos Zoulas <christos@zoulas.com>
427
428	* fix manual page section issues (sorting, non-existant)
429
430	* add missing forward declarations
431
432	* avoid null pointer derefs (coverity)
433
434	* more portable endian detection support
435
436	* implement tmpfs support
437
438	* use sizeof var instead of constant
439
440	* fix yyerror declaration and definition
441
442	* fix yy function renaming, and correct some renaming issues.
443
444	* work around automake < 1.9 issue where ylwrap is not being run
445	  for a single yacc or lex file.
446
447	* NetBSD
448	  - handle headers that need other headers to compile
449	  - add exfs and tmpfs specific glue
450	  - add options log, noatime, nocoredump, nodevmtime, softdep,
451	    symperm, union
452	  - NetBSD's new mount system call needs the size of the opaque
453	    filesystem specific structure, but passing 0 for now works.
454	    We would need to change a lot more code to pass the size from
455	    the fs-specific calls, so for now punt.
456	  - recvfrom takes socklen_t * on NetBSD
457	  - handle newer NetBSD using statvfs
458	  - NetBSD calls its ufs ffs
459
460	* Linux
461	  - Most recent kernels have trouble with trying to parse the pid
462	    hostname and do locking. What before was a silent failure, now
463	    there is a warning printed and the mount is rejected. This is
464	    the simplest fix:
465	    (http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=479884)
466
4672007-04-13  Erez Zadok  <ezk@cs.sunysb.edu>
468
469	* amd/sun_map.c (sun_append_str): When translating '&' from Sun
470	automounter maps, replace it with "${key}" in the Amd map, not
471	with the value of the key at the time.  This way '*' maps work
472	too.
473
474	* config.guess.long: don't use -q option to grep because some
475	systems don't support it.  Bug fix for solaris.
476
4772007-03-11  Christos Zoulas  <christos@zoulas.com>
478
479	* amd/opts.c (expand_op): Don't call xstrlcpy() to truncate a
480	string.  It causes spurious xstrlcpy() syslog() errors.  Use
481	memcpy() and explicitly terminate the string.
482
4832007-01-20  Erez Zadok  <ezk@cs.sunysb.edu>
484
485	* updated copyright year to 2007 on all files.
486
4872006-12-27  Erez Zadok  <ezk@cs.sunysb.edu>
488
489	* minor new port: ia64-hp-hpux11.23
490
491	* m4/macros/check_libwrap_severity.m4 (LIBS): also test if caller
492	needs to define rfc931_timeout.
493
494	* amd/sun2amd.c: define rfc931_timeout and allow/deny_severity for
495	libwrap.
496
497	* amd/amq_svc.c: some versions of libwrap require the caller to
498	define rfc931_timeout in addition to allow/deny_severity.
499
500	* amd/amfs_toplvl.c (amfs_toplvl_init): properly detect when
501	forced unmount functionality exists for all systems.
502
503	* libamu/mount_fs.c (compute_nfs_args): reset nfs_args_t->pathconf
504	only if field exists.
505
506	* conf/nfs_prot/nfs_prot_hpux11.h: prevent HPUX 11.23 from
507	including <tiuser> or <sys/tiuser> (TLI definitions are already
508	included from elsewhere).
509
510	* configure.in: detect nfs_args_t->pathconf field.
511
5122006-11-27  Erez Zadok  <ezk@cs.sunysb.edu>
513
514	* doc/Makefile.am: properly publish html files using newer
515	text2html.
516
5172006-11-27  Erez Zadok  <ezk@shekel.local>
518
519        * doc/Makefile.am: obfuscate emails in ChangeLog before it is
520        published on web site.
521
522	* obfuscate many more emails in the distro, esp. of files which get
523        posted on the am-utils web site.
524
5252006-11-26  Erez Zadok  <ezk@shekel.local>
526
527	* minor new port: i386-apple-darwin8.8.1.
528
529        * doc/am-utils.texi: remove obvious URLs used by spammers, and
530        replace them with links to the am-utils web site, which uses PNG
531        images to obfuscate the actual email/mailman URLs.
532
5332006-10-30  Erez Zadok  <ezk@cs.sunysb.edu>
534
535	* doc/am-utils.texi (Password maps): minor typo reported by
536	Christoph P. Kukulies.
537
5382006-10-26  Erez Zadok  <ezk@cs.sunysb.edu>
539
540	* minor new port: i386-pc-linux-fc6.
541
542	* m4/macros/linux_headers.m4: handle newer Linux kernels which
543	removed UTS_RELEASE from <linux/version.h>.
544
5452006-10-25  Erez Zadok  <ezk@cs.sunysb.edu>
546
547	* minor new ports: i386-pc-linux-centos4.4 and
548	powerpc-apple-darwin8.7.0.
549
550	* config.guess.long: recognize CentOS Linux.
551
5522006-06-20  Erez Zadok  <ezk@cs.sunysb.edu>
553
554	* minor new port: i386-pc-solaris2.11-nexentaos (GNU/OpenSolaris).
555
556	* config.guess.long: recognize NexentaOS (GNU/OpenSolaris)
557
558	* config.guess, config.sub: updates from latest official GNU
559	distributions.
560
5612006-05-11  Erez Zadok  <ezk@cs.sunysb.edu>
562
563	* Minor new ports: i386-unknown-freebsd6.1 (RELEASE),
564	powerpc-apple-darwin8.6.0, and i386-unknown-openbsd3.9.
565
5662006-05-10  Erez Zadok  <ezk@cs.sunysb.edu>
567
568	* libamu/mount_fs.c (compute_nfs_attrcache_flags): fix signedness
569	problems on IRIX-6.5.
570
571	* conf/autofs/autofs_solaris_v1.c (xdr_umntrequest): fix
572	signedness problems on IRIX-6.5.
573
5742006-05-01  Erez Zadok  <ezk@cs.sunysb.edu>
575
576	* configure.in: check if libc already includes dbm functionality
577	(as in FreeBSD 6), then don't bother to check specific libraries
578	such as libdbm, gdbm, etc.
579
5802006-04-21  Erez Zadok  <ezk@cs.sunysb.edu>
581
582	* configure.in: detect G/DBM support via gdbm_compat library
583	(Debian 3.1).
584
585	* minor new port: powerpc-apple-darwin8.5.0
586
5872006-04-20  Erez Zadok  <ezk@cs.sunysb.edu>
588
589	* scripts/amd.conf-sample, scripts/amd.conf.5, doc/am-utils.texi,
590	NEWS: document new nfs_allow_any_interface parameter.
591
592	* include/am_compat.h (INADDR_LOOPBACK): define INADDR_LOOPBACK if
593	not defined, since some systems don't have it.
594
5952006-04-20  Nick Williams <Nick.Williams@morganstanley.com>
596
597	* libamu/wire.c (is_interface_local): new boolena function to
598	determine if address represents any of the local interfaces.
599	(getwire): more properly check if address equals INADDR_LOOPBACK,
600	not if IFF_LOOPBACK is not (the latter isn't as correct).
601
602	* include/am_utils.h: extern for new is_interface_local() function.
603
604	* conf/transp/transp_{sockets,tli}.c: don't define INADDR_LOOPBACK
605	here but in am_compat.h
606
607	* amd/nfs_prot_svc.c (nfs_program_2): if
608	nfs_allow_any_interface=yes, then allow NFS packets from any local
609	interface (not just 127.0.0.1).
610
611	* amd/conf.c (gopt_nfs_allow_any_interface): implement the new
612	amd.conf parameter nfs_allow_any_interface.
613
614	* amd/amd.h (CFM_NFS_ANY_INTERFACE): define new global flag when
615	al interfaces are acceptable for local NFS packets.
616
6172006-04-18  Christos Zoulas  <christos@zoulas.com>
618
619	* amd/opts.c: Add support for optionally specifying the hostname
620	to match against the netgroup in the netgrp and netgrpd selectors.
621
6222006-04-16  Erez Zadok  <ezk@cs.sunysb.edu>
623
624	* libamu/mtab.c (hasmntval): fix inverted meaning of error from
625	hasmntvalerr().
626
6272006-04-14  Erez Zadok  <ezk@cs.sunysb.edu>
628
629	* libamu/mount_fs.c (compute_nfs_attrcache_flags): use new
630	hasmntvalerr() function to set attribute cache values only if they
631	were set (regardless whether they were set to zero or a non-zero
632	value).  Before, we were unable to distinguish between an error to
633	parse an option, and a user who actually wanted to set an
634	attribute-cache value to 0.  This now fixes an important
635	performance bug that Amd was turning off the attribute caches even
636	for regular (non-automounter) NFS mounts.
637
638	* libamu/mtab.c (hasmntvalerr): new function to set the value of
639	an option into an integer, but ONLY if that options was set and
640	parsed correctly.  This function returns 1 on error, 0 on success
641	(instead of always setting the option value to 0).
642	(hasmntval): wrapper function around hasmntvalerr, which maintains
643	backwards compatibility (always sets option value to 0, even on
644	error to parse the option).
645
646	* amd/nfs_subr.c (fh_to_mp3): use long int printf format for
647	fhh_pid.
648
6492006-04-05  Christos Zoulas  <christos@zoulas.com>
650
651	* amd/amfs_generic.c (amfs_lookup_mntfs): fix use-after-free bug
652	(Coverity).
653
6542006-03-27  Erez Zadok  <ezk@cs.sunysb.edu>
655
656	* doc/am-utils.texi, scripts/{amd.conf.5,amd.conf-sample}:
657	document new nfs_retransmit_counter_toplvl and
658	nfs_retry_interval_toplvl global amd.conf parameters.
659
660	* amd/conf.c (gopt_nfs_retransmit_counter_toplvl,
661	(gopt_nfs_retry_interval_toplvl): parse amd.conf
662	nfs_retransmit_counter_toplvl and nfs_retry_interval_toplvl global
663	parameters.
664
665	* amd/amfs_toplvl.c (amfs_toplvl_mount): support setting toplvl
666	timeo/retrans parameters for Amd's toplvl mounts, separately from
667	all other UDP or NFS mounts.
668
669	* amd/amd.h: define a new timeo/retrans parameter for toplvl
670	mounts.
671
6722006-03-22  Erez Zadok  <ezk@cs.sunysb.edu>
673
674	* minor new port: i386-pc-linux-suse10.1 (beta 8).
675
6762006-03-21  Christos Zoulas  <christos@zoulas.com>
677
678	* amd/am_ops.c (merge_opts): Remove useless check found by
679	Coverity; xmalloc never returns NULL.
680
6812006-03-21  Erez Zadok  <ezk@cs.sunysb.edu>
682
683	* minor new ports: i386-pc-linux-fc5.
684
685	* amd/info_ldap.c: as of Linux Fedora Core 5 (which comes with
686	openldap-2.3.9), the ldap.h headers deprecate several functions
687	used in this file, such as ldap_unbind.  You get compile errors
688	about missing extern definitions.  Those externs are still in
689	<ldap.h>, but surrounded by an ifdef LDAP_DEPRECATED.  I am
690	turning on that ifdef at the top of info_ldap.c, under the
691	assumption that the functions may be deprecated, but they still
692	work for this (older?) version of the LDAP API.  It gets am-utils
693	to compile, but it is not clear if it will work perfectly.
694
695	* libamu/xdr_func.c (xdr_am_mountres3_ok), amq/amq_xdr.c
696	(xdr_amq_mount_tree, xdr_amq_mount_tree_p,
697	xdr_amq_mount_info_list, xdr_amq_mount_tree_list), amq/amq.c
698	(show_mti), amd/amq_subr.c (xdr_amq_setopt, xdr_amq_mount_subtree,
699	xdr_amq_mount_tree, xdr_amq_mount_tree_list, xdr_amq_mount_tree),
700	libamu/xdr_func.c (xdr_am_mountres3_ok): use casing magic to stop
701	GCC-4.1 from complaining about "dereferencing type-punned pointer
702	will break strict-aliasing rules" here (but not elsewhere).
703
7042006-03-20  Christos Zoulas  <christos@zoulas.com>
705
706	* libamu/wire.c: avoid potential dereferencing of a NULL pointer
707	(Coverity).
708
709	* hlfsd/homedir.c (delay): remove unnecessary check for NULL
710	pointer (Coverity).
711
712	* fsinfo/fsi_analyze.c (analyze_dkmounts, analyze_mounts,
713	analyze_mounts): avoid potential dereferencing of a NULL pointer
714	(Coverity).
715
716	* conf/transp/transp_sockets.c (create_amq_service): avoid
717	potential dereferencing of a NULL pointer (Coverity).
718
719	* amd/sched.c (sigchld): properly check for the end of the waiting
720	process list (Coverity).
721
722	* amd/mapc.c (mapc_create): initialize 'modify' to zero (Coverity).
723
724	* amd/autil.c (amfs_mkcacheref, am_unmounted): avoid potential
725	dereferencing of a NULL pointer (Coverity).
726
727	* amd/amfs_generic.c (amfs_lookup_mntfs): free def_opts before
728	reusing it (memory leak bug detected by Coverity).
729	(amfs_bgmount): avoid potential dereferencing of a NULL pointer
730	(Coverity).
731
732	* amd/am_ops.c (merge_opts): no need to check if newstr is NULL
733	(bug detected by Coverity).
734
7352006-03-08  Ion Badulescu  <ionut@moisil.badula.org>
736
737	* amd/nfs_subr.c (mp_to_fh): fixed old-style filehandles--the pid
738	comparison was failing.
739
7402006-03-08  Erez Zadok  <ezk@cs.sunysb.edu>
741
742	* configure.in: properly test for either <gdbm/ndbm.h> or
743	<gdbm-ndbm.h> (unfortunately, Autoconf will map both names to the
744	same $ac_cv_* variable name).  Some systems support one header or
745	another.  Patch inspired by work Debian did.
746
7472006-02-16  Daniel P. Ottavio  <ottavio@vm.fsl.cs.sunysb.edu>
748
749	* amd/sum_map_tok.l: Fixed a bug in a regular expression that
750	prevented dashes in hostnames.  This was posted in BZ by Thomas
751	A. Fine.
752
753	* README.sun2amd: Fixed a typo.  Sentence mentions use of autofs
754	type when it should be host type.
755
7562006-01-04  Erez Zadok  <ezk@cs.sunysb.edu>
757
758	* doc/am-utils.texi (auto_attrcache Parameter): revise discussion
759	to mention pros and cons of turning on/off this parameter,
760	including impact on Amd's performance, and ways to improve
761	performance while minimizing the window of vulnerability in which
762	kernel may return the wrong (cached) attributes.
763
7642006-01-02  Erez Zadok  <ezk@cs.sunysb.edu>
765
766	* updated copyright year to 2006 on all files.
767
7682005-12-20  Erez Zadok  <ezk@cs.sunysb.edu>
769
770	* include/am_utils.h, conf/transp/transp_tli.c (amu_svc_register,
771	register_autofs_service): use a consistent prototype for the
772	dispatch function of the autofs service de/registration functions.
773
7742005-12-03  Erez Zadok  <ezk@cs.sunysb.edu>
775
776	* minor new ports: i386-unknown-netbsdelf2.1,
777	i386-unknown-netbsdelf3.0 (RELEASE), and i386-unknown-openbsd3.8.
778
7792005-12-02  Erez Zadok  <ezk@cs.sunysb.edu>
780
781	* m4/macros/check_field.m4: remove double inclusion of msdosfs
782	headers, which are included in mount_header1.h (netbsd 2.1 doesn't
783	protect <msdosfs/msdosfsmount.h> which causes compile errors).
784
7852005-11-08  Erez Zadok  <ezk@cs.sunysb.edu>
786
787	* minor new port: i386-unknown-freebsd6.0 (RELEASE)
788
7892005-10-26  Erez Zadok  <ezk@cs.sunysb.edu>
790
791	* amd/amq_subr.c (amqproc_pawd_1_svc): repeatedly resolve path in
792	Amd, not in pawd (to avoid repeated network RPCs).
793
794	* amq/pawd.c (transform_dir): move repeated path resolution into Amd.
795
7962005-10-25  Erez Zadok  <ezk@cs.sunysb.edu>
797
798	* amq/pawd.c (transform_dir): resolve path repeatedly until
799	finished.  Bug fix from Jonathan Chen <jon+amd-at-spock.org>.
800	Added safety check to prevent infinite loops.
801
8022005-10-19  Erez Zadok  <ezk@cs.sunysb.edu>
803
804	* doc/am-utils.texi (opts Option): document new pcfs options
805	longname, nowin95, shortname, user=N, group=N, mask=N, and
806	dirmask=N.
807
808	* amd/ops_pcfs.c (mount_pcfs): process new pcfs options longname,
809	nowin95, shortname, user=N, group=N, mask=N, and dirmask=N.
810
811	* include/am_compat.h: provide compatibility mnttab string names,
812	if needed, for pcfs mount options longname, nowin95, shortname,
813	user=N, group=N, mask=N, and dirmask=N.
814
815	* include/am_utils.h: extern for hasmntstr().
816
817	* libamu/mtab.c (hasmntstr): new function to return the string
818	value following a mount option, up to the next comma-delimited
819	options.
820
821	* configure.in: check for mnttab and pcfs options longname,
822	nowin95, and shortname.
823
824	* Makefile.am (EXTRA_DIST_M4): distribute new macro
825	check_mnt2_pcfs_opt.m4.
826
827	* m4/macros/check_mnt2_pcfs_opt.m4: new macro to check for pcfs
828	mnttab and mount options.
829
8302005-10-18  Erez Zadok  <ezk@cs.sunysb.edu>
831
832	* libamu/mount_fs.c (print_nfs_args): print nfs_args->addr
833	correctly, depending if it's a pointer or not.
834
835	* conf/sa_dref/sa_dref_*.h: for each NFS_SA_DREF macro, also
836	#define NFS_ARGS_T_ADDR_IS_POINTER if nfs_args->addr is a pointer
837	or an embedded structure, so we can tell how to print it.
838
839	* libamu/mount_fs.c (print_nfs_args): print nfs_args->addrlen
840	field, if it exists.
841
842	* configure.in: check for nfs_args->addrlen field.
843
844	* wire-test/wire-test.c (main), libamu/mount_fs.c
845	(print_nfs_args), fixmount/fixmount.c (inetresport,
846	clnt_create_timeout), amq/pawd.c (transform_dir), amq/amq.c
847	(main), amd/srvr_nfs.c (find_nfs_srvr), amd/autil.c
848	(amfs_mount): document that as per POSIX, we don't need to set the
849	sa_len/sin_len fields in struct sockaddr/sockaddr_in.  The field
850	is used only internally in the kernel.  See
851	www.awprofessional.com/articles/article.asp?p=169505&seqNum=2&rl=1
852
853	* fixmount/fixmount.c (inetresport): initialize sockaddr_in
854	structure before filling in some fields.
855
8562005-10-11  Erez Zadok  <ezk@cs.sunysb.edu>
857
858	* doc/am-utils.texi (nfs_vers, nfs_proto parameters): clarify and
859	correct mistaken description of nfs_proto.
860
8612005-10-10  Erez Zadok  <ezk@cs.sunysb.edu>
862
863	*******************************************************************
864	*** Released am-utils-6.1a1					***
865	*******************************************************************
866
867	* README.sun2amd: revised.
868
8692005-10-09  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
870
871	* amd/info_nis.c (nis_search): Bug fix for bugzilla #428; make
872	sure that sun_entry2amd() is not called when yp_match() returns an
873	error, this is done by checking that 'res' is 0.  Bug fix (same
874	BZ#); free the output allocated by yp_match() instead of freeing
875	the return value of sun_entry2amd().
876
877	* amd/sun_map.c (sun_entry2amd): Fix a comment.
878
879	* README.sun2amd: Made a first pass at describing the status of
880	the sun2amd feature.
881	Moved the date.
882
8832005-10-09  Erez Zadok  <ezk@cs.sunysb.edu>
884
885	* README.sun2amd: place holder.
886
887	* Makefile.am (EXTRA_DIST): distribute new README.sun2amd file.
888
8892005-10-07  Erez Zadok  <ezk@cs.sunysb.edu>
890
891	* m4/macros/check_mnttab_type.m4: move the test for MOUNT_* to the
892	very end, after the test using getvfsbyname().
893
894	* m4/macros/expand_run_string.m4: if the string value returned is
895	empty, consider it invalid.
896
897	* m4/macros/check_varargs_macros.m4: rewrite macro so it'll
898	try and compile the varargs test, not just cpp it.  Some systems
899	pass the old cpp test, but not when you actually try to compile
900	the code (Tru64's cc).
901
902	* conf/autofs/autofs_solaris_v1.h: redefine
903	autofs_strdup_space_hack as a macro to str3cat(NULL,(s)," ","").
904	This works everywhere and we avoid linking problems, inline
905	functions, etc.
906
907	* conf/autofs/autofs_solaris_v1.c (autofs_mount_fs): remove
908	autofs_strdup_space_hack() function altogether.
909
910	* m4/macros/os_cflags.m4: remove hack that hardcodes pte_t=u_int.
911
912	* configure.in: test for <sys/immu.h> header.
913	Test for pte_t, but only on IRIX6 systems.
914
915	* Makefile.am (EXTRA_DIST_M4): distribute new type_pte_t.m4 file.
916
917	* m4/macros/type_pte_t.m4: new test for existence of pte_t
918	typedef, needed on some IRIX-6.5/gcc systems.
919
920	* m4/macros/header_templates.m4: add missing templates for
921	HAVE_EXTERN_GETDTABLESIZE, HAVE_EXTERN_GETWD, and
922	HAVE_EXTERN_UALARM.
923
924	* amd/info_exec.c (exec_map_open): break assignment from inside
925	conditional, to work around an IRIX-6.5 cc bug.
926
927	* amd/Makefile.am (amd_LDADD, sun2amd_LDADD): put libaminfo.a
928	before libamu.la.  Some linkers (e.g., IRIX-6.5) incorrectly
929	complain about undefined symbols.
930
931	* fsinfo/fsi_util.c (set_ether_if), amd/map.c (unmount_mp),
932	libamu/xutil.c (expand_error), libamu/strutil.c (xsnprintf): avoid
933	comparison between signed and unsigned integers.
934
935	* conf/autofs/autofs_solaris_v1.h, conf/autofs/autofs_solaris_v1.c
936	(autofs_strdup_space_hack): move "space_hack" function from static
937	inline in header, into the only source file that needs it.  This
938	is cleaner and also prevents linking problem with some compilers
939	that won't apply CPP macros inside static inline functions (for
940	the strl* functions).
941
942	* amq/pawd.c (find_mt, find_mlp): remove obsolete, inefficient
943	code.
944	(transform_dir): call the new, efficient amqproc_pawd_1() routine.
945
946	* amq/amq_clnt.c (amqproc_pawd_1): AMQPROC_PAWD wrapper routine.
947
948	* amq/amq.h (amqproc_pawd_1): extern for amq's AMQPROC_PAWD
949	wrapper routine.
950
951	* amd/amq_svc.c (amq_program_1): dispatch point for
952	amqproc_pawd_1_svc.
953
954	* amd/amq_subr.c (amqproc_pawd_1_svc): moved pawd's path-matching
955	functionality into Amd, where it can be done a lot more
956	efficiently.  We don't have to construct and ship a whole export
957	tree from Amd to pawd.  We just get a variable-length
958	xdr_wrapstring for the user's path, iterate over the entire export
959	list inside Amd, and return only a matched string if found
960	(otherwise we return "" to indicate that there was no match, and
961	let pawd printf the same string it sent over).
962
963	* amd/amd.h: extern for amqproc_pawd_1_svc, amd's service routine
964	the AMQPROC_PAWD RPC.
965
9662005-10-06  Erez Zadok  <ezk@cs.sunysb.edu>
967
968	* ltmain.sh, m4/macros/libtool.m4: update to libtool-1.5.20.
969	Fixes Tru64 bugs when using ksh.
970
971	* amd/amfs_toplvl.c (amfs_toplvl_mount): break complex ifdef macro
972	into two sections, to workaround a C99 varargs-macro bug in
973	gcc-3.2.2 (RH9).
974
975	* libamu/wire.c (print_wires): convert argument-less xsnprintf to
976	xstrlcpy.
977
978	* include/am_utils.h: use new HAVE_C99_VARARGS_MACROS or
979	HAVE_GCC_VARARGS_MACROS to pass file name and line number to
980	xsnprintf/xvsnprintf.
981
982	* libamu/strutil.c (xsnprintf, xvsnprintf): if debugging is on,
983	then also print the source file name and line number that called
984	xsnprintf/xvsnprintf with a buffer that wasn't large enough (most
985	likely an am-utils bug).
986
987	* Makefile.am (EXTRA_DIST_M4): distribute new
988	check_varargs_macros.m4 file.
989
990	* configure.in: execute new AMU_VARARGS_MACROS test.
991
992	* m4/macros/check_varargs_macros.m4: new test to check what style
993	of variable-length argument macros, if any, does the
994	compiler/pre-processor supports.
995
996	* conf/autofs/autofs_solaris_v2_v3.c (autofs_lookup_2_req)
997	conf/autofs/autofs_solaris_v1.c (autofs_mount_1_req), amd/opts.c,
998	amd/nfs_subr.c (nfsproc_lookup_2_svc), amd/nfs_start.c
999	(mount_automounter), amd/get_args.c (get_args), amd/amfs_toplvl.c,
1000	amd/amfs_auto.c (amfs_auto_mount), amd/amd.h, amd/amd.c (main):
1001	use sizeof() instead of fixed SIZEOF_* macros.
1002
1003	* libamu/strutil.c (xstrlcat, xstrlcpy), include/am_utils.h
1004	(DEBUG): if debugging is on, then also print the source file name
1005	and line number that called xstrl* with a buffer that wasn't large
1006	enough (most likely an am-utils bug)
1007
1008	* include/am_compat.h (INADDR_NONE): define in a common location,
1009	if OS doesn't have it, use 0xffffffffU which should work with any
1010	ANSI compiler.
1011
1012	* fixmount/fixmount.c, libamu/wire.c: remove local definition of
1013	INADDR_NONE.
1014
1015	* amd/amfs_toplvl.c (amfs_toplvl_mount), amd/amfs_auto.c
1016	(amfs_auto_mount): use common SIZEOF_OPTS in definition and call
1017	to autofs_get_opts.
1018
1019	* amd/amd.h (SIZEOF_OPTS): moved #define to common header.
1020
10212005-10-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1022
1023	* amd/opts.c (expand_op): Need to check BUFSPACE for env for
1024	vlen+1.  Likewise for cp and strlen(cp)+1.
1025
1026	* amd/amfs_toplvl.c (amfs_toplvl_mount) [HAVE_FS_AUTOFS]: Pass new
1027	size argument to autofs_get_opts.
1028
10292005-10-05  Erez Zadok  <ezk@cs.sunysb.edu>
1030
1031	* amq/pawd.c (transform_dir): was using UDP only.  Now will also
1032	try TCP if UDP failed.  Destroy client after use to avoid leftover
1033	TCP sockets in the kernel.
1034
1035	* libamu/hasmntopt.c (amu_hasmntopt): increase size of MNTMAXSTR
1036	from 128 to to 256, because some users have really long option
1037	strings.  Suggestion from jon+amd-at-spock.org.
1038
1039	* amd/opts.c (expand_op): should check BUFSPACE for vlen+1, not
1040	just vlen.  Bug discovered when started using xstrlcpy().
1041
1042	* ALL: convert from using strcat to the safer xstrlcat, and from
1043	strcpy to safer xstrlcpy.
1044
10452005-10-04  Erez Zadok  <ezk@cs.sunysb.edu>
1046
1047	* hlfsd/hlfsd.h: remove old fatalerror() and ERRM macros.
1048
1049	* hlfsd/hlfsd.c (fatalerror): new function instead of macro.
1050	Easier to use xstrlcat in this new function.
1051
1052	* amd/amd.h, include/am_utils.h, amd/amd.c: moved 'hostd' extern
1053	from am_utils.h to amd.h, and define its size as a macro that
1054	could be passed to xstrl*().
1055
1056	* ALL: convert from using sprintf to the safer xsnprintf.
1057
1058	* mk-amd-map/Makefile.am (LDADD): link with libamu to get
1059	xsnprintf().
1060
1061	* amd/amd.h, amd/amd.c, include/am_utils.h: moved pid_fsname
1062	extern from am_utils.h to amd.h, and define its size as a macro
1063	that could be passed to xsnprintf().
1064
10652005-10-02  Erez Zadok  <ezk@cs.sunysb.edu>
1066
1067	* libamu/Makefile.am: use strutil.c, not util.c.
1068
1069	* libamu/strutil.c: rename from util.c to explain better purpose
1070	of file.  Move xvsnprintf and xsnprintf from xutil.c to this file.
1071
1072	* libamu/xutil.c: explain purpose of file.  Move mkdirs/rmdirs
1073	code from old util.c.
1074
10752005-10-01  Erez Zadok  <ezk@cs.sunysb.edu>
1076
1077	* m4/macros/header_templates.m4: templates for FFS.
1078
1079	* m4/macros/check_mnttab_type.m4: on BSD44 systems, check for file
1080	system mount table name via the MOUNT_* mount(2) macros (because
1081	BSD44 keeps the mount table in the kernel).
1082
1083	* configure.in: synchronise order of searching for mnttab entries
1084	and mount names.  The new order is "ext3 ext2 ffs ufs 4.2 4.3 4.4
1085	efs xfs jfs ultrix" (which would prefer ffs on BSD44 instead of
1086	ufs, and ext3 instead of ext2 on Linux).
1087
1088	* include/am_defs.h: include <sys/statvfs.h> if it exists.
1089
1090	* conf/nfs_prot/nfs_prot_netbsd1_4.h: NetBSD 3 has both statfs()
1091	and statvfs(), but the latter is preferred, so #define to use
1092	statvfs.
1093
1094	* configure.in: check for statfs(), statvfs(), and
1095	<sys/statvfs.h>.
1096
1097	* config.guess.long: strip trailing '.' on "netbsdelf3.0."
1098	(Beta).  Workaround for bug in config.guess.
1099
1100	* config.{guess,sub}: update to latest versions.
1101
11022005-09-30  Christos Zoulas  <christos@zoulas.com>
1103
1104	* fsinfo/fsi_util.c (set_ether_if): use INADDR_NONE instead of
1105	hard-coded value of -1.
1106
1107	* include/amq_defs.h (AMQ_STRLEN): increase default size from 2KB
1108	to 16KB.  We can afford it these days.
1109
1110	* libamu/strcasecmp.c (strcasecmp): use unsigned chars in
1111	tolower() to avoid sign/size promotion bugs.
1112
1113	* libamu/xutil.c (switch_to_logfile): don't output to LOG_CONS by
1114	default (it's unfriendly).  If user really wants to, they can set
1115	it in /etc/syslog.conf.
1116
11172005-09-29  Erez Zadok  <ezk@cs.sunysb.edu>
1118
1119	* amq/pawd.c (find_mt): if the auto mount type is used, pawd could
1120	go into an infinite loop since the mt_directory and mt_mountpoint
1121	fields are the same for auto mounts.  Solution: ignore type auto
1122	mounts, similar to toplvl.  Bug fix from Jonathan Chen
1123	<jon+amd@spock.org>.
1124
1125	* README.attrcache: document test-attrcache script.
1126
1127	* scripts/Makefile.am (noinst_SCRIPTS): build test-attrcache
1128	script.
1129
1130	* configure.in: build scripts/test-attrcache script and chmod it
1131	so it can be executed in place.
1132
1133	* scripts/test-attrcache.in: script to test the NFS attribute
1134	cache using Amd.
1135
11362005-09-26  Erez Zadok  <ezk@cs.sunysb.edu>
1137
1138	* hlfsd/stubs.c (nfsproc_getattr_2_svc, nfsproc_lookup_2_svc,
1139	nfsproc_readlink_2_svc, nfsproc_readdir_2_svc), hlfsd/hlfsd.c
1140	(hlfsd_init): use new clocktime() function.
1141
11422005-09-18  Erez Zadok  <ezk@cs.sunysb.edu>
1143
1144	* README.attrcache: document netbsd's patchs to support noac.
1145
1146	* libamu/mount_fs.c (compute_nfs_attrcache_flags): cleanup the
1147	code that sets the ac{reg,dir}{min,max} fields so it also sets the
1148	appropriate nfs_args->flags such as MNT2_NFS_OPT_ACREGMIN.
1149
1150	* configure.in: check for nfs_args fields acregmax and acdirmax.
1151
1152	* README.attrcache: new file documenting in detail OS bugs
1153	relating to attribute caching, which can affect Amd's reliability
1154	under heavy load.
1155	Update status of freebsd and openbsd.
1156
1157	* doc/Makefile.am: install README.attrcache file as attrache.txt
1158	file on am-utils Web site.
1159
1160	* Makefile.am (EXTRA_DIST): include README.attrcache in distro.
1161
1162	* BUGS, NEWS, doc/am-utils.texi (auto_attrcache Parameter),
1163	scripts/amd.conf.5, scripts/amd.conf-sample: document attribute
1164	cache bugs on some OSs.
1165
11662005-09-17  Erez Zadok  <ezk@cs.sunysb.edu>
1167
1168	* libamu/xutil.c (clocktime): newly implemented routine.  Uses
1169	gettimeofday() each time to return a high-resolution clock time,
1170	and does not "cache" the last time.  Returns time in seconds, just
1171	like the old implementation.  If passed a non-null argument, will
1172	fill it in with the current time in seconds+microseconds.
1173
1174	* libamu/xutil.c: remove actual declaration of clock_valid, and
1175	another never-used declaration for xclock_valid.
1176
1177	* include/am_utils.h: remove defunct definition of clocktime()
1178	macro and clock_valid variable.  Add extern for new definition.
1179
1180	* libamu/mount_fs.c (mount_fs), hlfsd/homedir.c (homedir,
1181	hlfsd_diskspace, hlfsd_getpwent, plt_reset, table_add),
1182	hlfsd/hlfsd.c (main, hlfsd_init, reload, cleanup),
1183	conf/mtab/mtab_mach3.c (open_locked_mtab), conf/mtab/mtab_file.c
1184	(open_locked_mtab), amd/nfs_start.c (do_select, run_rpc),
1185	amd/autil.c (host_normalize): remove defunct clock_valid.
1186
1187	* amd/nfs_subr.c (nfsproc_getattr_2_svc): Print microseconds for
1188	node's mtime.
1189	(fh_to_mp3): use new clocktime() to update mtime and get a better
1190	time resolution.
1191
1192	* amd/mapc.c (mapc_reload_map): change prototype from returning
1193	void to returning an int.  If reloading was needed and succeeded,
1194	return 1; else return 0.
1195	(mapc_sync): update mtime of parent node if needed.  This is a
1196	CRITICAL FIX, to ensure that the kernel flushes its DNLC/dcache
1197	when we run "amq -f" manually or when a map is reloaded.
1198
1199	* amd/map.c (new_ttl): update am_ttl and na_atime in one shot.
1200	(init_map): use new clocktime().
1201	(unmount_mp): if the OS doesn't support a "symttl" option, then
1202	update the mtime of the parent node using the clocktime(); but if
1203	the time hasn't gotten changed because of rapid Amd accesses on
1204	systems that don't have a micro-second NFS-client resolution, then
1205	increment mtime by one arbitrarily (this could, on some systems
1206	and under pathological cases, result in mtime's that are in the
1207	future).
1208
1209	* amd/autil.c (forcibly_timeout_mp): MAJOR BUG FIX: force mtime
1210	update of parent dir, to prevent DNLC/dcache from caching the old
1211	entry, which could result in ESTALE errors, bad symlinks, and
1212	more.
1213	(am_mounted): record mount time, and update am_stats at the same
1214	time, using the double-action redone clocktime() routine.
1215	(am_mounted): update parent's mtime from that of the child.
1216	(am_unmounted): when unmounting an entry, update mtime of parent
1217	node.
1218
1219	* amd/amfs_generic.c (amfs_bgmount): now that clocktime() doesn't
1220	remember it's last non-zero value, save it in a temporary variable
1221	to avoid a TOCTOU problem (between an "if" and a "dlog").
1222
1223	* libamu/xutil.c (show_time_host_and_name),
1224	conf/autofs/autofs_linux.c (autofs_mounted, autofs_timeout_mp),
1225	amd/srvr_nfs.c (nfs_keepalive_callback, nfs_keepalive_timeout)
1226	(find_nfs_srvr), amd/rpc_fwd.c (fwd_alloc), amd/nfs_subr.c
1227	(nfsproc_getattr_2_svc), amd/nfs_start.c (do_select, run_rpc),
1228	amd/mapc.c (root_init), amd/map.c(map_flush_srvr, timeout_mp),
1229	amd/info_ndbm.c (ndbm_init), amd/info_ldap.c (amu_ldap_rebind),
1230	amd/info_file.c (file_open), amd/info_exec.c (fgets_timed,
1231	exec_search), amd/clock.c (timeout, softclock), amd/autil.c
1232	(forcibly_timeout_mp), amd/amfs_generic.c (amfs_retry,
1233	amfs_bgmount, amfs_generic_mount_child), amd/amd.c (main): pass
1234	NULL to clocktime().
1235
12362005-09-15  Erez Zadok  <ezk@cs.sunysb.edu>
1237
1238	* amd/nfs_subr.c (nfsproc_getattr_2_svc): initialize 'retry', just
1239	in case.
1240	(fh_to_mp3): increment amd_stats.d_stale counter only if we are
1241	actually returning ESTALE.
1242
1243	* amd/info_exec.c (exec_parse_qanswer), amd/info_file.c
1244	(file_search_or_reload), amd/info_hesiod.c (hesiod_search),
1245	amd/info_ldap.c (amu_ldap_search), amd/info_ndbm.c (search_ndbm),
1246	amd/info_nis.c (nis_search), amd/info_nisplus.c (nisplus_search,
1247	nisplus_search): don't dereference mnt_map->cfm which may be null
1248	if we're not using an amd.conf file.
1249
12502005-09-14  Erez Zadok  <ezk@cs.sunysb.edu>
1251
1252	* libamu/xutil.c (unregister_amq): if failed to de-register Amd
1253	from portmapper, report it under dlog (debugging), not as an
1254	annoying plog that always shows up.
1255
12562005-09-13  Erez Zadok  <ezk@cs.sunysb.edu>
1257
1258	* mk-amd-map/mk-amd-map.c (read_file_file), libamu/util.c
1259	(strsplit), libamu/hasmntopt.c (nextmntopt), amd/sun_map.c
1260	(sun_entry2amd), amd/sun2amd.c (sun2amd_convert_convert),
1261	amd/mapc.c (mapc_add_kv), amd/info_file.c (file_search_or_reload),
1262	amd/info_exec.c (exec_parse_qanswer): cast isspace() and isascii()
1263	arg to unsigned char, which is safer as per Christos.
1264
1265	* amd/sun_map.c (sun_entry2amd): isspace takes an int, not a char.
1266
1267	* configure.in: keep a dummy unused AM_PROG_LEX, because old
1268	Automake (1.6.3) looks for it if you refer to LEX in your
1269	Makefile.am files.  Silly thing, fixed in newer versions of
1270	Automake (1.9.2).
1271
12722005-09-11  Erez Zadok  <ezk@cs.sunysb.edu>
1273
1274	* Makefile.am (EXTRA_DIST_M4): add prog_{lex,yacc}.m4 to distro.
1275
1276	* configure.in: use new macros AMU_PROG_YACC and AMU_PROG_LEX.
1277
1278	* m4/macros/prog_yacc.m4: new macro to check if bison/yacc/byacc
1279	exist, but exist with an error if none found.
1280
1281	* m4/macros/prog_lex.m4: new macro to check if f/lex exist, but
1282	exit with an error if not found (am-utils requires f/lex).
1283
12842005-09-07  Erez Zadok  <ezk@cs.sunysb.edu>
1285
1286	* minor new port: powerpc-apple-darwin8.2.0.
1287
1288	* m4/macros/type_auth_create_gidlist.m4: Old macosx used "gid_t"
1289	but all newer ones (10.4+) use int.
1290
1291	* m4/macros/type_recvfrom_fromlen.m4: Old macosx used "int" for
1292	6th arg of recvfrom(), but all newer ones (10.4+) use socklen_t.
1293
1294	* minor new port: i386-pc-linux-deb3.1.
1295
12962005-09-02  Erez Zadok  <ezk@cs.sunysb.edu>
1297
1298	* conf/mount/mount_linux.c: If autoconf didn't find any disk-based
1299	file system on this system (probably because /proc isn't mounted),
1300	then provide some default definition for this file to compile.
1301
13022005-08-28  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
1303
1304	* amd/sun_map.c (sun_entry2amd) : Wipe out any trailing white
1305	spaces or '\n' before passing strings to the parser.
1306
1307	* amd/amd.h : oops, reverting bad changes
1308
1309	* amd/info_file.c : oops, reverting bad changes
1310
1311	* amd/mapc.c : oops, reverting bad changes
1312
1313	* amd/sun_map_parse.y : oops, reverting bad changes
1314
13152005-08-27  Erez Zadok  <ezk@cs.sunysb.edu>
1316
1317	* libamu/xutil.c: amd_program_number is a u_long now.
1318	(unregister_amq): if pmap_unset failed to de-register Amd from the
1319	portmapper, print an error message.
1320	(get_amd_program_number): returns a u_long now.
1321	(set_amd_program_number): take a u_long now.
1322
1323	* include/am_utils.h: get_amd_program_number() returns u_long now.
1324	set_amd_program_number() takes a u_long now.
1325
1326	* amq/amq.c: amd_program_number is a u_long, not int.
1327
1328	* amd/nfs_start.c (mount_automounter): when registering Amd with
1329	the portmapper (for Amq service), don't fail if just one of TCP or
1330	UDP failed to register, but only if both transports failed.  That
1331	way Amq can still contact Amd using the transport that did
1332	register correctly.  However, now, if both transports failed to
1333	register, then set amd_state to "Done" so it would shutdown
1334	cleanly.
1335
1336	* conf/transp/transp_{sockets,tli{}.c (amu_svc_register): better
1337	comments.
1338
1339	* libamu/xutil.c: debug_flags should always be initialized to
1340	D_CONTROL (amq,daemon,fork).
1341	(debug_option): allow setting initial immutable debug_flags via
1342	amd.conf; afterward, prevent it (i.e., one tries it via "amq -D").
1343
1344	* Makefile.am (DISTCLEANFILES): also remove amu_autofs_prot.h,
1345	config.cache.old, and dbgcf.h on "make distclean".
1346	(CLEANFILES): remove dbgcf on plain "make clean".
1347
1348	* amd/Makefile.am (DISTCLEANFILES): also remove ops_autofs.c on
1349	"make distclean".
1350
13512005-08-27  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
1352
1353	* amd/info_file.c (file_search_or_reload): Changed the key
1354	variable that is passed to the sun_entry2amd.
1355
1356	* amd/mapc.c (mapc_add_kv): Add support for multiple entries
1357	packed into one line.  This is a workaround for handling Sun style
1358	mounts that contains multiple entries on one line: "multi-mount
1359	entries".  The sun2amd conversion tools will convert such entries
1360	into type:=auto and pack each of the auto-entries into one line
1361	separated by '\n'.  The mapc_add_kv function will now recognize
1362	such entries and add then.
1363
1364	* amd/sun2amd.c (sun2amd_convert): Add print statement that
1365	includes the line number during a parser failure.
1366
1367	* sun_map.c: Fix the AMD_MAP_PREF_KW definition.  Fix spelling.
1368	(sun_mountpts2amd): removed this function
1369	(sun_hsfs2amd): added some more comments
1370	(sun_nfs2amd): moved support for multi-mount entries from this
1371	function to sun_multi2amd().
1372	(sun_multi2amd): New function to handle multi-mount entries.  This
1373	function will convert the Sun version to an Amd type:=auto.  Each
1374	extra auto entry will be appended to the same line separated by a
1375	'\n'.
1376	(sun_entry2amd): Fixed a bug if-statement.  This function now
1377	checks for multi-mount entries.
1378
1379	* amd/sun_map.h: Add a fstype member to the sun_mountpt struct.
1380
1381	* amd/sun_map_parse.y: Parser now supports fstype for multi-mount
1382	entries.
1383
1384	* amd/sun_map_tok.l: No longer print the line and column number
1385	when parsing.  This is because the parser is handed strings not
1386	files.  Therefore, the line number will always be 1.  It is now up
1387	to the higher level tools to echo line information during error
1388	when they feed the parser.
1389
13902005-08-24  Erez Zadok  <ezk@cs.sunysb.edu>
1391
1392	* configure.in: wrap all LDAP and HESIOD tests in test whether
1393	--with-OPT was used.
1394
13952005-08-20  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
1396
1397	* amd/sun_map.c: Clean up #defines
1398	(sun_entry2amd) : Verify that the key and entry values passed are
1399	not NULL.  Free the Sun entry struct when done.
1400
1401	* amd/sun_map.h: Add some "not implemented yet" comments to the
1402	map and mmap structures.
1403
1404	* amd/sun_map_parse.y: Removed automap include functionality, it
1405	will need to be re-implemented using a pre-processor.
1406	Clean up function calls.
1407
14082005-08-16  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
1409
1410	* amd/sun2amd.c (sun2amd_convert): If the input line is too long
1411	don't return an error just null terminate and continue.  Fix bug:
1412	the map key was not written.
1413
1414	* amd/sun_map.c: Add a new Amd device, and cdfs constant.
1415	(sun_locations2amd): Write the NFS type keyword
1416	for each host of the mount entry.  Add a space between each mount
1417	location.
1418	(sun_hsfs2amd): New function to support hsfs to
1419	cdfs.
1420	(sun_nfs2amd): Don't write the nfs type here.  Fix
1421	comments.
1422	(sun_entry2amd): Change function parameter var for
1423	clarity.  Add support for hsfs.
1424
1425	* amd/sun_map_parse.y (sun_map_parse_read): Reset the entry list
1426	after it has been returned.
1427
14282005-08-16  Erez Zadok  <ezk@cs.sunysb.edu>
1429
1430	* amd/get_args.c (get_args): initialize debug_flags if they've
1431	never been set.
1432
14332005-08-15  Erez Zadok  <ezk@cs.sunysb.edu>
1434
1435	* amd/mapc.c (mapc_create): mapc find takes 4th arg, the mount
1436	point.  Now, we can properly initialize the cfm structure of the
1437	mnt_map, so we can have access to the flags (e.g., SUN_MAP_SYNTAX)
1438	inside each info_*.c file.
1439	(mapc_find): takes 4rd arg (mntpt) and passes it to calls to
1440	mapc_create.
1441	(root_newmap): pass NULL as 4th arg (mntpt).
1442
1443	* amd/amfs_generic.c (amfs_parse_defaults): remove ugly hack to
1444	initialize map cfm structure (including flags) so late.
1445
1446	* amd/autil.c (amfs_mkcacheref): pass mount point as 4th arg to
1447	mapc_find.
1448
1449	* amd/amfs_root.c (amfs_root_mount): pass NULL as new 4th arg to
1450	mapc_find.
1451
1452	* amd/amd.h: extern for mapc_find changed to pass the mount point.
1453
1454	* libamu/xutil.c: debug_flags should be unsigned.
1455	(dbg_opt): fix comments for updated debug_flags, add "defaults".
1456	(debug_option): Don't allow "immutable" (D_IMMUTABLE) flags to be
1457	changed, because they could mess Amd's state and only make sense
1458	to be set once when Amd starts.  Currently these immutable flags
1459	are "daemon," "fork," "amq," and "mtab."  If Amd not compiled with
1460	debugging, set default "control" options (daemon,fork,amq).
1461	(unregister_amq): proper use of D_AMQ.
1462
1463	* include/am_utils.h: define new D_BASIC, D_CONTROL, D_DEFAULT,
1464	D_IMMUTABLE, and D_MASK.  Updated definitions of D_ALL and D_TEST.
1465	debug_flags extern should be unsigned.
1466
1467	* scripts/amd.conf-sample (debug_options): mention new "defaults"
1468	option.
1469
1470	* scripts/amd.conf.5,doc/am-utils.texi: document new debug option
1471	"defaults" and properly explain the corrected meanings of
1472	"daemon," "fork," "amq," and their "no" inversions.  Better
1473	explain "all" and "test" too.  Correct default debug_mtab file to
1474	/tmp/mtab.
1475
1476	* hlfsd/stubs.c (nfsproc_readlink_2_svc): proper use of D_FORK.
1477
1478	* hlfsd/homedir.c (homedir): proper use of D_FORK.
1479
1480	* hlfsd/hlfsd.c (main, hlfsd_init, cleanup): proper use of
1481	D_DAEMON.
1482
1483	* amd/nfs_start.c (mount_automounter): proper use of D_AMQ.
1484
1485	* amd/amd.h (DEBUG_MNTTAB_FILE): change default to /tmp/mtab,
1486	which is more common on more systems (instead of /tmp/mnttab).
1487
1488	* amd/amd.c (main): properly use D_DAEMON.
1489
14902005-08-14  Erez Zadok  <ezk@cs.sunysb.edu>
1491
1492	* libamu/xutil.c (xlog_opt): define new pseudo log_option named
1493	"defaults", which is an alias for "fatal,error,user,warning,info".
1494
1495	* scripts/amd.conf.5, doc/am-utils.texi, amd/amd.8: document new
1496	log_option "defaults".
1497
1498	* amq/amq.8: typo.  Arg name for -D is "debug_options" not
1499	"log_options".
1500
1501	* libamu/xutil.c: make xlog_level static, and initialize it to
1502	XLOG_DEFAULT.
1503	(cmdoption): take unsigned int as flags argument, and print any
1504	errors as XLOG_ERROR (which cannot be turned off).
1505	(switch_option): remove old code which disallowed you from turning
1506	off flags that were set when Amd started up.  Now, you can turn
1507	any log option on/off at start time or later on (via amq -x),
1508	other than the two mandatory options (fatal+error).
1509
1510	* include/am_utils.h (XLOG_*): remove unused XLOG_DEFSTR.  Define
1511	XLOG_MASK to mask out unused flag bits.  Define XLOG_DEFAULT to be
1512	what it was before (fatal + error + user + warning + info), but
1513	use the new mask.  Remove extern's for xlog_level and
1514	xlog_level_init.  Change extern for cmdoption() to take an
1515	unsigned flags argument.
1516
1517	* doc/am-utils.texi, amq/amq.8, scripts/amd.conf.5, amd/amd.8:
1518	document mandatory log options
1519	(fatal+error) which cannot be turned off and are always on by
1520	default.  They must be on so that Amd can report crucial errors,
1521	including those related to setting flags on/off.
1522
1523	* hlfsd/hlfsd.c (main): remove hack to initialize log_options.
1524
1525	* wire-test/wire-test.c: remove reference to unused xlog_level.
1526
1527	* amd/mapc.c (mapc_create): 'alloc' flags variable should be
1528	unsigned.
1529
1530	* amd/get_args.c (get_args): no need for hack using
1531	xlog_level_init.
1532
1533	* amd/Makefile.am: separate sources common to amd and sun2amd into
1534	a special, locally-built only, static library called libaminfo.a.
1535
1536	* libamu/xutil.c (real_plog, xsnprintf): call new xvsnprintf()
1537	wrapper function.
1538	(xvsnprintf): new function which already gets a va_list.  This was
1539	needed to avoid nesting va_list's (which apparently isn't
1540	allowed).
1541
1542	* include/am_utils.h: prototype for new xvsnprintf wrapper.
1543
1544	* configure.in: sinclude([vers.m4]) version number file.
1545
1546	* vers.m4: new file to separate version number out of
1547	configure.in, useful for nightly snapshot script to generate
1548	nightly version string.
1549
1550	* Makefile.am (EXTRA_DIST_M4): include vers.m4 in distro.
1551
15522005-08-14  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
1553
1554	* amd/info_file.c: add key to sun_entry2amd()'s parameters
1555
1556	* amd/info_hesiod.c: add key to sun_entry2amd()'s parameters
1557
1558	* amd/info_ldap.c: add key to sun_entry2amd()'s parameters
1559
1560	* amd/info_ndbm.c: add key to sun_entry2amd()'s parameters
1561
1562	* amd/info_nis.c: add key to sun_entry2amd()'s parameters
1563
1564	* amd/info_nisplus.c: add key to sun_entry2amd()'s parameters
1565
1566	* amd/sun_map.c: New functions to support sun translation to amd.
1567	The function sun_entry2amd's parameters were expanded to include
1568	the key value.  sun_entry_2amd() now returns NULL on error.
1569
1570	* amd/sun_map.h: Expand sun_entry2amd's parameters to include key
1571	value.
1572
1573	* amd/sun_map_parse.y: Change how file system types are parsed out
1574	of the list of options for each entry.  The previous way was not
1575	working properly so now we just look for the 'fstype' keyword in
1576	each option.  If it exists we copy its key value.
1577	Added some comments to sun_map_parse_read().
1578
1579	* amd/amd.h: Added an extern from info_file.c called
1580	file_read_line().  Previously this function was static but is now
1581	used in sun2amd.c.
1582
1583	* amd/info_file.c: Changed the static function read_line() to a
1584	public function called file_read_line().  This function is now
1585	used in sun2amd.c
1586
1587	* amd/sun2amd.8: Filled in the contents of this man page.  This is
1588	a conversion utility that converts Sun maps to Amd maps.
1589
1590	* amd/sun2amd.c: Implemented a working version of this utility.
1591
15922005-08-11  Erez Zadok  <ezk@cs.sunysb.edu>
1593
1594	* amd/sun_map_parse.y: instead of using a custom FOO_alloc()
1595	function, use Amd's CALLOC(struct FOO) macro.
1596
1597	* amd/sun_map.h: remove extern definitions to functions no longer
1598	needed.
1599
1600	* amd/sun_map.c: removed superfluous *_alloc() functions, some of
1601	which caused conflicts with same-named symbols in the parser
1602	(since we rename 'yyalloc' to 'sun_map_alloc').
1603
1604	* configure.in: keep AC_INIT on same line, for nightly snapshot
1605	build script.
1606
1607	* amd/Makefile.am: f/lex libraries are incompatible with multiple
1608	scanners, so don't link Amd with libl.a/libfl.a.
1609
16102005-08-10  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
1611
1612	* amd/sun_map_tok.l: Clean up regular expression so HPUX stops
1613	whining.
1614
16152005-08-09  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
1616
1617	* amd/sun_map_parse.y: Moved license below special yacc bracket to
1618	be portable with HPUX's yacc.  Clean up externs.
1619
1620	* amd/sun_map_tok.l: Moved license below special lex bracket to be
1621	portable with HPUX's lex.  Fixed definitions to allow for a
1622	non-flex lex to parse strings instead of files.  Added some casts
1623	to strlcpy usage to silence warnings.  Moved the % options because
1624	HPUX was complaining,
1625
16262005-08-08  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
1627
1628	* amd/sun_map_tok.l: Applied some definition goop to handle the
1629	ECHO symbol that lex defines.  This symbol causes problems on
1630	RedHat-EL-powerPC platforms.  Replaced strncpy with strlcpy.
1631	Renamed the function sun_map_yyinput to sun_map_input.  This
1632	function is a utility function that is not generated by lex.
1633	Therefore, the 'yy' may cause confusion.
1634
16352005-08-08  Erez Zadok  <ezk@cs.sunysb.edu>
1636
1637	* amd/sun_map_tok.l: allocate more output slots so lex scanners
1638	don't run out of memory.
1639
1640	* amd/sun_map_parse.y: declare extern for sun_map_parse().
1641
1642	* libamu/xutil.c (xsnprintf): ensure proper comparisons between
1643	signed and unsigned quantities.
1644
16452005-08-06  Erez Zadok  <ezk@cs.sunysb.edu>
1646
1647	* libamu/util.c, amd/autil.c (strsplit): moved strsplit() function
1648	from Amd code to to libamu, so sun2amd could use it.
1649
1650	* amd/Makefile.am (sbin_PROGRAMS): build sun2amd binary and man
1651	page.
1652	(EXTRA_sun2amd_OBJECTS): sun2amd needs to link with all info_*.c files
1653
1654	* amd/sun2amd.8: placeholder for man page.
1655
1656	* amd/sun2amd.c: placeholder for C version of translator from Sun
1657	syntax maps to Amd maps.
1658
1659	* */*.[0-9]: include file name in nroff source comment.
1660
1661	* ALL: use '0' properly when assigning or passing it to functions.
1662	If in the context pointer, use NULL.  If in the context of a
1663	single char (say within a string), the use '\0'.  This is just to
1664	make the code clearer.
1665
1666	* m4/macros/header_templates.m4: template for HAVE_MAP_SUN.
1667
1668	* amd/mapc.c (maptypes): add placeholder for Sun-syntax map
1669	methods.
1670
1671	* amd/Makefile.am (EXTRA_amd_SOURCES): compile info_sun.c
1672
1673	* amd/info_sun.c: placeholder for meta info parser to get info
1674	from Sun automount-style /etc/auto_master, possibly following
1675	into multiple info services (via /etc/nsswitch.conf).
1676
1677	* libamu/xutil.c (xsnprintf): if vsnprintf truncated the output
1678	string to avoid an overflow, print an error.  Include some code to
1679	break out any possible infinite loop between plog() and
1680	xsnprintf().
1681	(real_plog): now we can use (carefully) xsnprintf() directly.
1682
1683	* amd/sun_map.[hc]: cleanup and formatting.
1684
1685	* amd/sun_map_parse.y: to match the literal string "fstype=" use
1686	double quotes, not single quotes.
1687
1688	* amd/get_args.c (get_args): call conf_parse() using conf_in.
1689
1690	* amd/amd.h: use renamed parser symbols (yyparse -> conf_parse;
1691	yyin -> conf_in).
1692
1693	* ylwrap: Enhance wrapper to avoid the #define hacks done by Gdb,
1694	and suggested by the Automake manual.  This enhanced parser will
1695	prefix each conflicting yacc/lex symbol with a unique name
1696	produced from INPUT.  For example, if INPUT is foo_parse.y, then
1697	yyparse() becomes foo_parse().  This requires that both your .l
1698	and corresponding .y files have the same prefix (e.g., foo_parse.y
1699	and foo_tok.l).
1700
1701	* amd/Makefile.am (BUILT_SOURCES): define which yacc/lex .h/.c
1702	source files are built automatically, and therefore should not be
1703	in the distro (IMHO), and should be cleaned upon "make clean".
1704	(amd_SOURCES): include new sun_map_parse.y and sun_map_tok.l files.
1705
1706	* ylwrap: new file needed because we have two parsers now.
1707
1708	* amd/sun_map_{parse.y,tok.l}: cleanup and formatting.
1709
17102005-08-06  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
1711
1712	* amd/Makefile.am: Added new files sun_map.h, sun_map.c,
1713	sun_map_parse.y, and sun_map_tok.l.  These files add support for
1714	parsing Sun style maps.  The yacc/lex files needed custom rules so
1715	they don't cause symbol conflicts with each other.
1716
1717	* amd/amd.h: Added "#define INFO_MAX_LINE_LEN" that specifies the
1718	line limit for info services.
1719
1720	* amd/info_exec.c: Replaced MAX_LINE_LEN with INFO_MAX_LINE_LEN
1721
1722	* amd/info_file.c: Replaced MAX_LINE_LEN with INFO_MAX_LINE_LEN,
1723	added support for parsing Sun style maps.  The support for Sun
1724	maps is done using the sun_entry2amd() function.  This function is
1725	called for each entry line that is read only when Sun parsing is
1726	enabled.  For each entry line that is passed to the function a
1727	copy of the Amd equivalent is returned.
1728
1729	* amd/sun_map.h: new header file for Sun style map support
1730
1731	* amd/sun_map.c: new source file for Sun style map support, clean
1732	up comments, additional sun2amd conversion routines
1733
1734	* amd/sun_map_parse.y: new yacc file for parsing Sun style maps,
1735	fix copyright notice, put filename below license.
1736
1737	* amd/sun_map_tok.l: new lex file for parsing Sun style maps, fix
1738	copyright notice, put filename below license.
1739
1740	* amd/get_args.c: replace usage of strlcat with xstrlcat
1741
1742	* include/am_utils.h: added 'extern void xstrlcat()'
1743
1744	* libamu/util.c: Added a xstrlcat() function that wraps the
1745	syscall strlcat() so that string truncations can be logged.
1746
17472005-08-06  Erez Zadok  <ezk@cs.sunysb.edu>
1748
1749	* amd/info_file.c (file_search, file_reload): pass mnt_map to
1750	file_search_or_reload.
1751	(file_search_or_reload): ensure that mnt_map is never NULL.
1752
1753	* amd/info_nis.c (nis_search): call sun_entry2amd() if
1754	sun_map_syntax=yes.
1755
1756	* amd/info_ldap.c (amu_ldap_search): call sun_entry2amd() if
1757	sun_map_syntax=yes.
1758
1759	* amd/info_hesiod.c (hesiod_search): call sun_entry2amd() if
1760	sun_map_syntax=yes.
1761
1762	* amd/info_ndbm.c (ndbm_search): pass mnt_map to search_ndbm.
1763	(search_ndbm): call sun_entry2amd() if sun_map_syntax=yes.
1764
1765	* amd/info_nisplus.c (nisplus_search): call sun_entry2amd() if
1766	sun_map_syntax=yes.
1767
1768	* amd/info_exec.c (exec_search): pass mnt_map to
1769	exec_parse_qanswer.
1770	(exec_parse_qanswer): call sun_entry2amd() if sun_map_syntax=yes.
1771
1772	* doc/am-utils.texi (sun_map_syntax Parameter): document new
1773	common parameter.
1774
1775	* scripts/amd.conf.5: selectors_in_defaults is a common parameter,
1776	not just [global].  Use consistent capitalization of Amd/Amq.
1777	Document new sun_map_syntax parameter.
1778
1779	* scripts/amd.conf-sample: properly list all of the parameters
1780	which are common to both the [global] and the per-map sections.
1781	(sun_map_syntax): example of new parameter.
1782
1783	* doc/am-utils.texi (Common Parameters): selectors_in_defaults is
1784	a common parameter, not just [global].
1785
1786	* scripts/amd.conf-sample (sun_map_syntax): example of new flag.
1787
1788	* amd/conf.c ({ropt,gopt}_sun_map_syntax): new function to parse
1789	sun_map_syntax flag (global or per map).
1790
1791	* amd/amd.h (CFM_SUN_MAP_SYNTAX): new flag for users to say if the
1792	map uses Sun automounter syntax.
1793
1794	* cvs-server.txt: update instructions after branching 6.1-stable.
1795
17962005-08-02  Erez Zadok  <ezk@cs.sunysb.edu>
1797
1798	*******************************************************************
1799	*** Released am-utils-6.1.1					***
1800	*******************************************************************
1801
1802	* libamu/xutil.c (xsnprintf): "unsafe" alternative to vsnprintf is
1803	vsprintf, not sprintf.
1804
1805	* conf/umount/umount_osf.c (umount_fs): refer to proper formal
1806	parameter name.
1807	(umount2_fs): pass second arg to umount().
1808
1809	* ALL: remove CVS ID and put actual file name in source.
1810
1811	* conf/autofs/*.[hc]: proper copyright headers.
1812
1813	* whitespace reformatting.  Remove remaining '%W%' SCCS IDs.
1814
1815	* amd/mntfs.c (free_mntfs): don't discard the last reference to an
1816	mntfs that had been mounted already.  It won't have the
1817	MFF_RESTARTED flag on, as it gets turned off after the entry is
1818	mounted, but it will have the MFF_RSTKEEP flag on.
1819
1820	* amd/autil.c (mf_mounted), amd/restart.c (restart_fake_mntfs):
1821	show the mntfs's flags.
1822
18232005-08-01  Erez Zadok  <ezk@cs.sunysb.edu>
1824
1825	* conf/mtab/mtab_linux.c: removed unused code.  Cleanup.
1826	(handler): removed this bad signal handler.
1827	(lock_mtab): Redhat's original code set a signal handler called
1828	"handler()" for all non-ALRM signals.  The handler called
1829	unlock_mntlist(), plog'ed the signal name, and then exit(1)!
1830	Never, ever, exit() from inside a utility function.  This messed
1831	up Amd's careful signal-handling code, and caused Amd to abort
1832	uncleanly only any other "innocent" signal
1833	(even simple SIGUSR1), leaving behind a hung Amd mnt point.  That
1834	code should have at least restored the signal handlers' states
1835	upon a successful mtab unlocking.  Anyway, that handler was
1836	unnecessary, because will call unlock_mntlist() properly anyway on
1837	exit.
1838
1839	* conf/mtab/mtab_{file,isc3,mach3,linux}.c (unlock_mntlist): dlog
1840	message that we're inside the unlock_mntlist function.
1841
1842	* amd/amd.c (main): use new setup_sighandler() for Amd's four main
1843	signals (INT, TERM, HUP, and CHLD).
1844	(main) Add SIGINT and SIGTERM to masked_sigs, used in
1845	nfs_start.c:do_select() for setjmp/longjmp code; the MASK was set
1846	to all four signals if !HAVE_SIGACTION, but only to HUP+CHLD if we
1847	HAVE_SIGACTION.  So this change makes Amd behave consistently.
1848
1849	* include/am_utils.h: extern for new setup_sighandler().
1850
1851	* libamu/xutil.c (setup_sighandler): new utility function to setup
1852	a single signal-handler regardless of what method is supported by
1853	this OS.
1854	(going_down): call unlock_mntlist() when exiting, to ensure that
1855	Amd will remove any leftover mtab lock files, if any.
1856
1857	* amd/restart.c (restart_automounter_nodes): cleanup function.
1858
1859	* minor new port: i386-pc-linuxoldld-deb3.1.
1860
1861	* configure.in: include <sys/types.h> before <linux/socket.h> to
1862	get the definition of size_t on Debian-3.1r0a.
1863
18642005-07-29  Erez Zadok  <ezk@cs.sunysb.edu>
1865
1866	* amd/srvr_nfs.c (find_nfs_srvr): don't blindly copy the hostent
1867	IP address.  First check if it differs from the existing one of
1868	the fserver, and copy only if it changed.  If it did change, flush
1869	the fhandle cache to avoid a stale fhandle being reused.  This
1870	allows Amd to detect IP address changes even for an fserver that
1871	lost one or more NFS pings, but not enough to be declared totally
1872	down.  We handle the "totally down" fserver case in
1873	check_fs_addr_change().
1874
1875	* amd/ops_nfs.c (nfs_umount), amd/sched.c (sched_task),
1876	amd/nfs_subr.c (nfs_quick_reply): code clarity.
1877
1878	* conf/mount/mount_linux.c (linux_nfs_error): dlog mappings of
1879	errnos to NFS errors.
1880
1881	* conf/umount/umount_linux.c (umount2_fs): cleanup code.  Trying
1882	stat() seems doomed to hang at times, so don't try stat at all,
1883	because umount2() appears to be clever enough to never hang.
1884
18852005-07-25  Erez Zadok  <ezk@cs.sunysb.edu>
1886
1887	* amd/amd.h (FSF_FORCE_UNMOUNT): new flag used to indicate that a
1888	particular fserver may need forced/lazy unmounts when it's mntfs's
1889	are unmounted.
1890
1891	* amd/ops_nfs.c (nfs_umount): a simple unmount returned EBUSY, and
1892	the user specified forced_unmounts=yes in amd.conf, and this
1893	fserver was flagged with FSF_FORCE_UNMOUNT, and the OS supports
1894	forced/lazy unmounts, then try forced/lazy unmounts.  This should
1895	allow a hung mount point to be removed.
1896
1897	* amd/srvr_nfs.c (find_nfs_srvr): move away IP-address change
1898	detection code to its own function.
1899	(check_fs_addr_change): new function to detect if the IP address
1900	of a downed host has changed, and do various cleanups and fixups
1901	to try and recover as best from that situation (e.g., flushing
1902	various caches).  Also set the FSF_FORCE_UNMOUNT flag for the
1903	fserver in question.
1904	(flush_srvr_nfs_cache): pass fserver as argument, so we can
1905	selectively flush the NFS cache for a single fserver (or all of
1906	them, if you pass NULL).
1907
1908	* libamu/xutil.c (switch_to_logfile): truncate a regular-file log
1909	file if user passed non-zero "truncate_log" flag.
1910
1911	* include/am_utils.h: switch_to_logfile() now takes a 3rd arg.
1912
1913	* amd/get_args.c (get_args): pass "truncate_log" flag as per
1914	amd.conf global settings.
1915
1916	* amd/conf.c (gopt_truncate_log): store global value of
1917	truncate_log flag.
1918
1919	* amd/amq_subr.c (amqproc_setopt_1_svc), hlfsd/hlfsd.c (main,
1920	reload): don't truncate log file when calling switch_to_logfile().
1921
1922	* amd/amd.h (CFM_TRUNCATE_LOG): new flag.  Fix comment typo.
1923
1924	* NEWS, doc/am-utils.texi (truncate_log Parameter),
1925	scripts/amd.conf.5, scripts/amd.conf-sample (log_file): document
1926	new truncate_log amd.conf parameter.
1927
1928	* amd/conf.c (gopt_forced_unmounts): check Linux kernel version
1929	and alert if your version may be too old for MNT_FORCE to work
1930	(before 2.4.0) or for MNT_DETACH to work (before 2.6.0).
1931	Otherwise it may be impossible to pin down the exact kernel
1932	version in which we should enable this feature.
1933
1934	* conf/umount/umount_linux.c (umount2_fs): if MNT_FORCE returned
1935	EBUSY, then don't try to stat(2) before MNT_DETACH because it
1936	could hang.
1937
19382005-07-21  Erez Zadok  <ezk@cs.sunysb.edu>
1939
1940	* conf/umount/umount_linux.c (umount_fs): cleanup this function,
1941	breaking long "if" statements using "goto out".
1942
1943	* conf/umount/umount_{aix,bsd44,osf,default,linux}.c (umount_fs):
1944	call new utility function umount2_fs() as needed (EBUSY, EIO, or
1945	ESTALE).
1946
1947	* conf/umount/umount_{aix,bsd44,osf,default,linux}.c (umount2_fs):
1948	define a new utility function to invoke forcible/lazy unmounts
1949	without touching any mtab files.  This separate utility function
1950	is useful because it can be called from elsewhere.
1951
1952	* amd/amfs_toplvl.c (amfs_toplvl_init): new function, called
1953	before Amd mounts toplvl mounts, which gives us a hook for cleanup
1954	of a previously dead Amd.  In our case, if the user asked for
1955	forced_unmounts, and the OS supports it, then we try forced/lazy
1956	unmounts on any previous toplvl mounts.  This is useful if a
1957	previous Amd died and left behind toplvl mount points (this Amd
1958	will clean them up!).  WARNING: Don't use forced/lazy unmounts if
1959	you have another valid Amd running, because this code WILL force
1960	those valid toplvl mount points to be detached as well!
1961
1962	* amd/amfs_toplvl.c (amfs_toplvl_umount): don't unconditionally
1963	try forced/lazy unmounts because it will prevent a normal Amd from
1964	terminating and cleaning up properly (self-deadlocking: detached
1965	mounts hang the parent Amd on a stat).  Since we already do
1966	unmounts in the background, then try a safer policy: after trying
1967	the normal unmounts a few times (5 sec), escalate and try forced
1968	unmounts a few times (5 more seconds), and if even that failed,
1969	then try the ultimate -- detached unmounts (which always succeed).
1970	This allows Amd to first try and shutdown cleanly, and gradually
1971	try more forcible ways to shutdown.  On Linux, this procedure will
1972	cleanly shutdown Amd even if there are processes with their CWD on
1973	Amd's mount points (which normally result in EBUSY).
1974
19752005-07-20  Erez Zadok  <ezk@cs.sunysb.edu>
1976
1977	* Makefile.am (EXTRA_DIST_CONF): add new umount_aix.c to distro.
1978
1979	* conf/umount/umount_aix.c: easier if AIX has its own unmount
1980	helper file.
1981
1982	* m4/macros/check_umount_style.m4: AIX needs its own unmount style
1983	file.
1984
1985	* doc/am-utils.texi (forced_unmounts Parameter): @xref -> @pxref.
1986
19872005-07-19  Erez Zadok  <ezk@cs.sunysb.edu>
1988
1989	* conf/nfs_prot/nfs_prot_aix5_2.h: define compatible
1990	forced-unmount flag.
1991
1992	* conf/umount/umount_default.c (umount_fs): if regular umount got
1993	EBUSY, EIO, or ESTALE, then try forced unmount, if supported.  Try
1994	umount2 (Solaris) or uvmount (AIX).
1995
1996	* conf/umount/umount_{bsd44,osf}.c (umount_fs): if default
1997	umount() failed with EIO or ESTALE, also try forced unmount.
1998
19992005-07-18  Erez Zadok  <ezk@cs.sunysb.edu>
2000
2001	* amd/autil.c (amfs_mount), amd/amfs_toplvl.c
2002	(amfs_toplvl_umount): enable forced/lazy unmounts only if user
2003	asked for it (and dlog it).
2004
2005	* scripts/amd.conf.5: document new force_unmount global parameter.
2006
2007	* doc/am-utils.texi (forced_unmounts Parameter): document new
2008	global parameter.
2009
2010	* amd/conf.c (gopt_forced_unmounts): process forced_unmounts
2011	option (default "no").  Exit with an error if user specified the
2012	option as "yes" but configure couldn't find support for either the
2013	MNT_FORCE or MNT_DETACH flags.
2014
2015	* scripts/amd.conf-sample (forced_unmounts): example usage of new
2016	option.
2017
2018	* amd/amd.h (CFM_FORCED_UNMOUNTS): new flag for forced_unmounts
2019	option.
2020
2021	* m4/macros/header_templates.m4: templates for _DETACH and _FORCE.
2022
2023	* configure.in: check for generic u/mount options "detach" and
2024	"force".
2025
2026	* include/am_utils.h (UMOUNT_FS, umount_fs): new prototypes.
2027	Define AMU_UMOUNT flags for force, detach, and autofs.
2028
2029	* amd/amfs_toplvl.c (amfs_toplvl_umount): pass _FORCE and _DETACH
2030	unmount flags unconditionally.  Pass them to UMOUNT_FS().
2031
2032	* conf/nfs_prot/nfs_prot_linux.h: define MNT_FORCE and MNT_DETACH
2033	if needed, because some Linux systems don't define them
2034	(presumably because it would be too dangerous to expose these
2035	flags to users).
2036
2037	* amd/autil.c (amfs_mount): if mount(2) failed with ESTALE or EIO,
2038	then assume that we're in trouble, possibly because a previous
2039	mount is hung.  So, first try to force a lazy unmount of the old
2040	mount.  If the forced unmount worked, then try again to mount the
2041	desired file system.  If the forced unmount failed, then don't
2042	retry: just return an error.
2043
2044	* amd/amfs_generic.c (amfs_generic_umount), amd/amfs_host.c
2045	(amfs_host_umount), amd/ops_cachefs.c (cachefs_umount),
2046	amd/ops_cdfs.c (cdfs_umount), amd/ops_efs.c (efs_umount),
2047	amd/ops_lofs.c (lofs_umount), amd/ops_nfs.c (nfs_umount),
2048	amd/ops_pcfs.c (pcfs_umount), amd/ops_ufs.c (ufs_umount),
2049	amd/ops_xfs.c (xfs_umount), conf/umount/umount_bsd44.c
2050	(umount_fs), conf/umount/umount_default.c (umount_fs),
2051	conf/umount/umount_linux.c (umount_fs), conf/umount/umount_osf.c
2052	(umount_fs): compute and use unmount specific flags.
2053
20542005-07-16  Erez Zadok  <ezk@cs.sunysb.edu>
2055
2056	* configure.in: better help for users, if nfs_args can't be found.
2057
20582005-07-15  Erez Zadok  <ezk@cs.sunysb.edu>
2059
2060	* BUGS: more details on AIX's need to install bos.net.nfs.adt
2061	before configuring am-utils (else configure cannot find struct
2062	nfs_args on AIX).
2063
20642005-07-10  Erez Zadok  <ezk@cs.sunysb.edu>
2065
2066	* amd/srvr_nfs.c (find_nfs_srvr): flush NFS handle cache if the IP
2067	address of a down server had changed.
2068
2069	* amd/info_union.c (union_reload): use safer xsnprintf() routine.
2070
2071	* amd/srvr_nfs.c (find_nfs_srvr): check to see if the IP address
2072	of a named but down fserver changed (i.e., the previous IP address
2073	is no longer responding).  If so, then reset the fserver to the
2074	new IP address, and set the fserver's flags such that the function
2075	will fall through to doing the usual NFS version/proto checks and
2076	pinging.  (This should fix one case of bug #308.)
2077
2078	* conf/umount/umount_linux.c (umount_fs): warn if plain umount()
2079	failed, before we try to ignore any errors or try optional
2080	umount2(), possibly with forced/lazy unmount.
2081	(umount_fs): dlog when unmount succeeded.
2082
20832005-07-08  Erez Zadok  <ezk@cs.sunysb.edu>
2084
2085	* conf/mount/mount_linux.c: add a couple more NFSv2 error codes
2086	that are compatible with NFSv3.
2087
20882005-07-07  Erez Zadok  <ezk@cs.sunysb.edu>
2089
2090	* m4/macros/header_templates.m4: extern template for strlcat().
2091
2092	* amd/get_args.c (get_version_string): use safer strlcat (or
2093	replacement strlcat).  Use new wrapper xsnprintf() function, which
2094	will use the safer vsnprintf() if available, else default to plain
2095	sprintf.
2096
2097	* configure.in: check for existence of strlcat() and its extern,
2098	replacing with libamu/strlcat.c as needed.
2099
2100	* libamu/Makefile.am (EXTRA_DIST): add strlcat.c to distro.
2101
2102	* include/am_defs.h: optional strlcat() extern.
2103
2104	* include/am_utils.h: extern for new xvsnprintf().
2105
2106	* configure.in: overdue new major libtool shlib version.
2107	Check for snprintf function and extern.
2108
21092005-07-06  Erez Zadok  <ezk@cs.sunysb.edu>
2110
2111	* conf/nfs_prot/nfs_prot_aix4_3.h: cleanup struct
2112	aix4_nfs_args_bis.
2113
2114	* Makefile.am (EXTRA_DIST_CONF): include mount_aix3.c in
2115	distribution.
2116
2117	* conf/mount/mount_aix.c: mount style for aix 5.x and newer.
2118
2119	* conf/mount/mount_aix3.c: mount styles for aix 3.x/4.x.
2120
2121	* m4/macros/check_mount_style.m4: split mount styles for
2122	aix3.x/4.x and the newer (and better) aix 5.x code.
2123
21242005-07-05  Erez Zadok  <ezk@cs.sunysb.edu>
2125
2126	* amq/pawd.c (getawd): avoid buffer overflow.  Bug fix from Graeme
2127	Wilford <G.Wilford@surrey.ac.uk>.
2128
21292005-06-30  Erez Zadok  <ezk@cs.sunysb.edu>
2130
2131	* amd/map.c (get_next_exported_ap): Avoid running off the end of
2132	the exported_ap[] array.  Patch from jon+amd-at-spock.org.  Fixed
2133	bug #301.
2134
21352005-06-25  Erez Zadok  <ezk@cs.sunysb.edu>
2136
2137	* Makefile.am (EXTRA_DIST_CONF): distribute new mtab_linux.c.
2138
2139	* conf/mtab/mtab_linux.c (rewrite_mtab): variable declarations
2140	must come before C code.
2141
2142	* conf/mtab/mtab_linux.c: Linux-specific mount table hanlding
2143	that's safe (uses locks, handles symlinks to /proc/mounts, etc.).
2144	Patch from Red Hat, which they adapted from mtab_file.c.  Minor
2145	fixes to this file.
2146
2147	* m4/macros/check_mnttab_style.m4: Use Linux-specific mount table
2148	handling.
2149
21502005-06-24  Erez Zadok  <ezk@cs.sunysb.edu>
2151
2152	* conf/mount/mount_aix.c (mount_aix3): minor cleanup of filehandle
2153	copying code.
2154
21552005-06-23  Erez Zadok  <ezk@cs.sunysb.edu>
2156
2157	* conf/nfs_prot/nfs_prot_hpux.h: add extern for h_errno, which may
2158	be missing from older hpux10 systems.
2159
2160	* configure.in: update bug-reporting address to list
2161	https://bugzilla.am-utils.org/ as well as the mailing list.
2162
2163	* Makefile.am (EXTRA_DIST_M4): distribute new type_rpcvers_t.m4
2164	macro.
2165
2166	* conf/transp/transp_tli.c (get_nfs_version): always use
2167	rpcvers_t, now that it'll be automatically discovered.
2168
2169	* configure.in: check for rpcvers_t type.
2170
2171	* m4/macros/type_rpcvers_t.m4: new macro to check for type of
2172	rpcvers_t (Some Solaris versions need it).
2173
2174	* conf/nfs_prot/nfs_prot_sunos5_8.h: don't define INADDR_NONE
2175	here, but in the actual source files that may need it.
2176
2177	* libamu/wire.c (INADDR_NONE): define INADDR_NONE if not defined
2178	already.
2179
2180	* include/am_defs.h: define extern for sleep(3) if needed.
2181
2182	* m4/macros/header_templates.m4: template for sleep(3) extern.
2183
2184	* configure.in: check for extern for sleep(3), which is missing
2185	from some old (and buggy) versions of gcc's fixinc'ed headers.
2186
2187	* conf/nfs_prot/nfs_prot_aix4_3.h: update definition of struct
2188	nfs_args from actual system headers.
2189
2190	* conf/mount/mount_aix.c (mount_aix3): fix name of aix4 "bis"
2191	structure.
2192
21932005-06-22  Erez Zadok  <ezk@cs.sunysb.edu>
2194
2195	* BUGS: update Solaris information about use of f/lex and
2196	yacc/bison.
2197
21982005-06-20  Erez Zadok  <ezk@cs.sunysb.edu>
2199
2200	* minor new port: i386-pc-linux-suse9.3.
2201
22022005-06-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2203
2204	* configure.in (linux/nfs_mount.h): Move __KERNEL__ definition up
2205	so u32 is available for <linux/sunrpc/msg_prot.h>.
2206
22072005-06-16  Erez Zadok  <ezk@cs.sunysb.edu>
2208
2209	* amd/mapc.c (maptypes): move MAP_EXEC after MAP_FILE, because
2210	exec maps will always match when users use amd with command line
2211	args (not amd.conf).  Using that legacy way, unfortunately, means
2212	that Amd will use it's hard-coded info-service search path, which
2213	doesn't work for everyone.  It's much better to use amd.conf and
2214	specify what you want exactly.
2215
22162005-06-15  Erez Zadok  <ezk@cs.sunysb.edu>
2217
2218	* minor new port: i386-pc-linux-fc4 (gcc4 catches more bugs).
2219
2220	* m4/macros/type_recvfrom_fromlen.m4: linux systems use unsigned
2221	int as the type of recvfrom()'s 6th argument.
2222
2223	* m4/macros/type_yp_order_outorder.m4: linux systems use unsigned
2224	int as the type of yp_order()'s 3rd argument.
2225
22262005-06-15  Erez Zadok  <ezk@cs.sunysb.edu>
2227
2228	* scripts/amd.conf-sample (map_type): typo, said mount_type
2229	instead of map_type for the 'exec' example.
2230
22312005-06-11  Erez Zadok  <ezk@cs.sunysb.edu>
2232
2233	*******************************************************************
2234	*** Released am-utils-6.1					***
2235	*******************************************************************
2236
22372005-06-04  Erez Zadok  <ezk@cs.sunysb.edu>
2238
2239	* amd/ops_nfs.c (mount_nfs_fh): set timeo/retrans mount options
2240	only if the user specified them in amd.conf or elsewhere.  If they
2241	were not specified, don't do anything, which would let the OS use
2242	its own defaults.
2243
2244	* amd/get_args.c (get_args): negative timeo/retrans are "good" in
2245	that they represent uninitialized values (meaning to let the OS
2246	use it's default values).  So only check if user specified a value
2247	equal to zero (invalid).
2248
2249	* amd/amd.h: define AMU_TYPE_NONE so we know when users didn't
2250	specify timeo/retrans at all.
2251
22522005-06-03  Erez Zadok  <ezk@cs.sunysb.edu>
2253
2254	*******************************************************************
2255	*** Released am-utils-6.1-rc7					***
2256	*******************************************************************
2257
2258	* m4/macros/os_cflags.m4 (CFLAGS): use custom-OS C flags for
2259	configuring, not just for building.  That way the two phases
2260	(configure and compile) are in sync.  This fixes getwire() on
2261	OSF/1 systems.
2262
2263	* conf/nfs_prot/nfs_prot_sunos5_8.h: define INADDR_NONE if not
2264	defined in system headers.
2265
22662005-06-01  Erez Zadok  <ezk@cs.sunysb.edu>
2267
2268	* libamu/Makefile.am (EXTRA_DIST): remove alloca.c as it's no
2269	longer needed.
2270
22712005-05-28  Erez Zadok  <ezk@cs.sunysb.edu>
2272
2273	* completed set of fixes for irix6.5.
2274
2275	* Minor new ports alpha-unknown-linux-gentoo1.4.16
2276	alphaev56-dec-osf4.0f, mips-unknown-linux-gentoo1.4.16, and
2277	sparc64-unknown-linux-gentoo1.4.16, and mips-sgi-irix6.5.  Test
2278	those systems with both cc and gcc, where possible.
2279
2280	* include/am_xdr_func.h: remove trailing comma at end of enum
2281	list.
2282
2283	* m4/macros/os_cflags.m4: with gcc 3.4.3 on irix-6.5, we get pte_t
2284	undefined.  So give it a dummy value.
2285
2286	* libamu/alloca.c: remove file from distro.
2287
2288	* configure.in: don't call AC_FUNC_ALLOCA any more.
2289
2290	* include/am_defs.h: remove header fixups for <alloca.h>, now that
2291	we don't need it.
2292
2293	* amd/amq_svc.c (amqsvc_is_client_allowed): rewrite function to
2294	avoid only use of alloca() in am-utils, and to use strdup
2295	explicitly.  This way we can avoid using alloca, a feature that's
2296	not portable on various systems.
2297
2298	* amq/amq.c: remove unused lint/rcsid cruft.
2299
23002005-05-27  Erez Zadok  <ezk@cs.sunysb.edu>
2301
2302	* conf/checkmount/checkmount_osf.c (fixmount_check_mount): add
2303	extra parentheses around assignments in "if" expressions (gcc
2304	complains).
2305
2306	* conf/nfs_prot/nfs_prot_osf4.h: add missing extern definitions
2307	for plock, hstrerror, getmntinfo, alloca, xdr_exportnode, and
2308	xdr_groups.
2309
2310	* configure.in: check for <linux/socket.h>, which, if found,
2311	appears to be preferable to <sys/socket.h>.  Use it to find
2312	<linux/nfs_mount.h>.  On some Linux systems
2313	(Gentoo), both exist but only one must be included, or else you
2314	get redefined structure errors.
2315
2316	* libamu/wire.c (is_network_member): check if masknum is
2317	INADDR_NONE, not "< 0" because it's an unsigned quantity.
2318
2319	* libamu/util.c (xstrlcpy): remove useless test for size_t < 0,
2320	because it's an unsigned quantity.
2321
23222005-05-26  Erez Zadok  <ezk@cs.sunysb.edu>
2323
2324	*******************************************************************
2325	*** Released am-utils-6.1-rc6					***
2326	*******************************************************************
2327
23282005-05-25  Erez Zadok  <ezk@cs.sunysb.edu>
2329
2330	* conf/nfs_prot/nfs_prot_aix5_2.h: AIX 5.3 complains about
2331	missing definition of struct thread_credentials in <sys/vfs.h>
2332	but trying to bring that definition in drags a whole lot of other
2333	messy stuff.  So just provide a dummy definition for this
2334	structure.
2335
23362005-05-24  Erez Zadok  <ezk@cs.sunysb.edu>
2337
2338	* Makefile.am (EXTRA_DIST_M4): distribute m4/macros/libtool.m4.
2339
2340	* m4/macros/header_templates.m4: template for HAVE_EXTERN_MNTCTL.
2341
2342	* m4/macros/check_extern.m4: include <sys/vmount.h> on AIX
2343	systems, so we can find extern definition for mntctl().
2344
2345	* conf/mtab/mtab_aix.c, conf/checkmount/checkmount_aix.c: only
2346	define an extern for mntctl() if needed.
2347
2348	* amd/ops_nfs.c (prime_nfs_fhandle_cache): never, ever, use C++
2349	style comments in C code.  Some C compilers don't accept it.
2350
2351	* amd/info_ldap.c (amu_ldap_init, get_ldap_timestamp): force cast
2352	of "time_t *ts" to u_long, to avoid complaints on AIX 5.2 with
2353	xlC.
2354
2355	* amd/get_args.c: rename symbol conf_file to amu_conf_file to
2356	avoid conflict with libldap.a from openldap-2.0.21 on AIX 5.2.
2357	Oh, when will people who develop libraries learn to always prefix
2358	their exported symbols with a library-specific name?
2359
2360	* configure.in: check for mntctl() extern on AIX systems.
2361
2362	* ltmain.sh: update from latest libtool-1.5.18, so we can properly
2363	build on AIX 5.2/5.3 with cc and with gcc.
2364
2365	* m4/macros/libtool.m4: update from latest libtool-1.5.18.  This
2366	time, and from now on, we must include libtool.m4 from the libtool
2367	distribution itself.  That way we ensure that we use an ltmain.sh
2368	that matches the appropriate libtool M4 macros.  This makes
2369	am-utils no longer dependent on having libtool installed on a
2370	given system on which you run bootstrap.
2371
23722005-05-23  Erez Zadok  <ezk@cs.sunysb.edu>
2373
2374	* minor new port: i386-pc-linux-deb3.0.
2375
23762005-05-22  Erez Zadok  <ezk@cs.sunysb.edu>
2377
2378	* minor new ports: i386-unknown-netbsdelf2.0.2 and
2379	i386-unknown-openbsd3.7.
2380
23812005-05-20  Erez Zadok  <ezk@cs.sunysb.edu>
2382
2383	* minor new ports: i386-pc-linux-gentoo1.4.16 and
2384	powerpc-unknown-linux-yellowdog2.3.
2385
2386	* include/{mount_headers2.h, am_defs.h}: safer setup before
2387	inclusion of <linux/nfs_mount.h>, which is broken on several
2388	systems.
2389
2390	* configure.in: test for <linux/nfs2.h>.  Separate special test
2391	for <linux/nfs_mount.h> because we need to define __KERNEL__ for
2392	that test, as well as optionally define struct nfs2_fh for some
2393	systems (gentoo with 2.4 kernel, yellowdog 2.3, and others).
2394
2395	* config.guess.long: support Gentoo and Yellow Dog Linux distros.
2396
23972005-05-18  Erez Zadok  <ezk@cs.sunysb.edu>
2398
2399	* minor new ports: i386-pc-linux-suse9.2 and
2400	i386-unknown-freebsd5.4.
2401
2402	* amd/nfs_subr.c: use NFS_FHSIZE, not FHSIZE.
2403
24042005-05-17  Erez Zadok  <ezk@cs.sunysb.edu>
2405
2406	*******************************************************************
2407	*** Released am-utils-6.1-rc5					***
2408	*******************************************************************
2409
2410	* amd/info_ldap.c (amu_ldap_init): change plog to dlog, to avoid
2411	sending annoying warning for a minor issue.
2412
24132005-05-17  Ion Badulescu <ionut@moisil.badula.org>
2414
2415	* amd/nfs_subr.c: check for NULL pointer before dereferencing it.
2416
24172005-05-16  Erez Zadok  <ezk@cs.sunysb.edu>
2418
2419	* minor new ports: powerpc-apple-darwin7.9.0.
2420
2421	* m4/macros/host_macros.m4: if a NetBSD system, remove 'elf' part
2422	from OS name because it's no longer relevant.  Also, don't include
2423	the major OS version number in the OS name because that's also
2424	unnecessary (and users can always use $osver in maps).
2425
2426	* amd/nfs_subr.c: use [1] for out-of-band pointer at the end of
2427	struct am_fh, because it's the most portable method.  Bug fix
2428	suggestion from Dan Riley <dsr at mail.lns.cornell.edu>.  Better
2429	fix from Ion Badulescu: use [FHSIZE-sizeof(u_int)] which is the
2430	actual size we use.
2431
2432	* amd/amfs_generic.c (amfs_lookup_mntfs): reset currently used
2433	def_opts to options given in -opts, appended with the /default
2434	options.  Bug fix suggestion from Dan Riley <dsr at
2435	mail.lns.cornell.edu>.
2436
24372005-05-13  Erez Zadok  <ezk@cs.sunysb.edu>
2438
2439	*******************************************************************
2440	*** Released am-utils-6.1-rc4					***
2441	*******************************************************************
2442
24432005-05-11  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
2444
2445	* amd/amd.c (main) : fixed memory leak detected by valgrind
2446
2447	* amd/info_ldap.c (amu_ldap_init) : fixed memory leak detected by
2448	valgrind
2449
24502005-05-11  Erez Zadok  <ezk@cs.sunysb.edu>
2451
2452	* m4/macros/{check_checkmount_style.m4, check_mnttab_style.m4,
2453	check_nfs_fh_dref.m4, check_nfs_prot_headers.m4,
2454	check_nfs_sa_dref.m4, check_umount_style.m4, os_cflags.m4}: check
2455	for "macosx" as valid OS string, so we compile properly on Darwin
2456	systems.
2457
2458	*******************************************************************
2459	*** Released am-utils-6.1-rc3					***
2460	*******************************************************************
2461
2462	* rerun bootstrap to get a working configure script that actually
2463	checks for limits.h and dependent linux autofs/nfs headers.
2464
2465	* configure.in: remove redundant check for limits.h.
2466
24672005-05-09  Erez Zadok  <ezk@cs.sunysb.edu>
2468
2469	*******************************************************************
2470	*** Released am-utils-6.1-rc2					***
2471	*******************************************************************
2472
24732005-05-08  Erez Zadok  <ezk@cs.sunysb.edu>
2474
2475	* amd/amfs_generic.c (amfs_lookup_mntfs): removed redundant use of
2476	old_def_opts variable.
2477
24782005-05-08  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
2479
2480	* amd/amfs_generic.c (amfs_lookup_mntfs) : Make sure when a map
2481	entry has a single dash '-', that the default options are reset.
2482	This functionality was somehow lost from earlier releases and
2483	reported by Dan Riley <dsr@mail.lns.cornell.edu>.
2484
24852005-05-05  Erez Zadok  <ezk@cs.sunysb.edu>
2486
2487	* config.guess.long: detect SuSE Enterprise Server and call it
2488	"sles" not "suse".
2489
24902005-05-02  Erez Zadok  <ezk@cs.sunysb.edu>
2491
2492	* doc/am-utils.texi (amd): document proper use of
2493	/etc/hosts.allow.  Don't spawn a new Amd process because Amd will
2494	get confused if someone else waitpid's on its children (which
2495	often do important un/mount work).  Issue reported by Francis
2496	Montagnac <Francis.Montagnac at sophia.inria.fr>.
2497
2498	* minor new ports: powerpc64-unknown-linux-rhel4, and
2499	powerpc64-unknown-linux-sles9.
2500
25012005-05-01  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
2502
2503	* amd/amfs_host.c (amfs_host_umount): We do not want to pass
2504	ENOENT as an error because if the directory does not exists our
2505	work is done anyway.
2506
2507	* conf/umount/umount_linux.c (umount_fs): If we are successful or
2508	there was an ENOENT, remove the mount entry from the mtab file.
2509
25102005-05-01  Ion Badulescu  <ionut@moisil.badula.org>
2511
2512	* amd/nfs_subr.c: am_fh definition moved here from amd.h;
2513	restructured to better reflect its duality (old/new filehandles)
2514	(fh_to_mp3): fhh_gen is always used, even for new style f/h
2515	(mp_to_fh): ditto
2516
2517	* amd/amd.h: moved am_fh definition to nfs_subr.c (which is the
2518	only place where it's used)
2519
25202005-04-30  Erez Zadok  <ezk@cs.sunysb.edu>
2521
2522	* m4/macros/host_macros.m4: use sw_vers on Apple machines to find
2523	out more appropriate OS name (macosx) and OS version (10.3.x) than
2524	uname(3) reports.
2525
25262005-04-29  Erez Zadok  <ezk@cs.sunysb.edu>
2527
2528	* config.guess, config.sub, doc/texinfo.tex: updates from latest
2529	official GNU distributions.
2530
2531	* m4/macros/host_macros.m4: for macosx, change architecture value
2532	from "Power Macintosh" to "powerpc".
2533
2534	* libamu/util.c (xstrlcpy): format 'len' parameter as u_long, not
2535	int (it's a size_t).
2536
25372005-04-16  Erez Zadok  <ezk@cs.sunysb.edu>
2538
2539	* scripts/amd.conf.5, doc/am-utils.texi (normalize_slashes
2540	Parameter), scripts/amd.conf-sample: document new
2541	normalize_slashes global configuration parameter.
2542
2543	* amd/opts.c (deslashify, normalize_slash): don't touch trailing
2544	slashes, even if multiples of them, if user said
2545	normalize_slashes=no in amd.conf.
2546
2547	* amd/conf.c (gopt_normalize_slashes): new function to record if
2548	to normalize slashes or not.
2549
2550	* amd/amd.h (CFM_NORMALIZE_SLASHES): new flag to decide if to
2551	normalize double-slashes or not ("yes" by default).
2552
2553	* amd/autil.c (am_mounted): pass TRUE when calling mf_mounted.
2554	This is the parent mntfs which does the mf->mf_fo
2555	(am_opts type), and we're passing TRUE here to tell mf_mounted to
2556	actually free the am_opts.
2557
2558	* amd/autil.c (mf_mounted): Be careful when calling free_ops and
2559	XFREE here.  Some pseudo file systems like nfsx call this
2560	function, even though it would be called by the lower-level amd
2561	file system functions.  nfsx needs to call this function because
2562	of the other actions it takes.  So we pass a boolean from the
2563	caller (yes, not so clean workaround) to determine if we should
2564	free or not.  If we're not freeing (often because we're called
2565	from a callback function), then just to be sure, we'll zero out
2566	the am_opts structure and set the pointer to NULL.  The parent
2567	mntfs node owns this memory and is going to free it with a call to
2568	mf_mounted(mntfs,TRUE).
2569
2570	* amd/amd.h: pass flag to mf_mounted, to free or not to free the
2571	am_opts.
2572
2573	* amd/amfs_nfsx.c (amfs_nfsx_cont): call mf_mounted with FALSE to
2574	tell it not to free the am_opts, to avoid double free.
2575
2576	* include/am_defs.h: include limits.h if found.
2577
2578	* configure.in: check for limits.h.  Check for certain Linux
2579	headers such as auto_fs.h after checking for limits.h, and include
2580	the latter if it exists, because some Linux headers depend on
2581	limits.h.  This prevents warnings during configure time.
2582
25832005-04-12  Erez Zadok  <ezk@cs.sunysb.edu>
2584
2585	* amd/amfs_toplvl.c (amfs_toplvl_mount): do NOT set retrans/timeo
2586	values from default global UDP settings, because it can cause
2587	unexpected timeouts in Amd on slow systems.  The default that each
2588	OS provides for these toplvl NFS mounts should be OK, or else you
2589	can use the map_options entry.
2590
25912005-04-09  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
2592
2593	* amd/nfs_subr.c (mp_to_fh): Replace xstrlcpy with memcpy because the
2594	source buffer is treated more as a filehandle than a string.
2595
2596	* amd/nfs_subr.c (fh_to_mp3): Replace xstrlcpy with memcpy because the
2597	source buffer is treated more as a filehandle than a string.
2598
2599	* amd/opts.c (free_op): No longer need to assign pointer to NULL
2600	after XFREE.
2601
2602	* amd/opts.c (expand_op): Revert back to using strncpy() instead
2603	of xstrlcpy.  The code is correct and relies on the semantics of
2604	strncpy.
2605
2606	* libamu/mount_fs.c (compute_nfs_args): Leave XXX warning that use
2607	of xstrlcpy in NFS_HN_DREF may corrupt a struct nfs_args, or
2608	truncate our concocted "hostname:/path" string prematurely if the
2609	nap->hostname field is ever less than 64 bytes long
2610	(MAXHOSTNAMELEN).
2611
2612	* libamu/util.c (xstrlcpy): Return immediately if len is 0 to
2613	avoid unnecessary work.  Log an error and return if len is less
2614	than 0.
2615
26162005-04-07  Erez Zadok  <ezk@cs.sunysb.edu>
2617
2618	* include/am_utils.h (XFREE): XFREE() should nullify the pointer
2619	even when compiling without debugging.  It's safer this way.
2620
2621	* libamu/xutil.c (am_set_hostname),
2622	hlfsd/stubs.c (nfsproc_lookup_2_svc),
2623	fsinfo/fsinfo.c (fsi_get_args),
2624	fixmount/fixmount.c (is_same_host, remove_mount, main),
2625	conf/mtab/mtab_isc3.c (mnt_dup, mtab_of),
2626	conf/mount/mount_svr4.c (mount_svr4),
2627	conf/mount/mount_linux.c (setup_loop_device),
2628	conf/hn_dref/hn_dref_linux.h (NFS_HN_DREF),
2629	conf/hn_dref/hn_dref_isc3.h (NFS_HN_DREF),
2630	amd/opts.c (expand_op),
2631	amd/ops_nfs.c (mount_nfs_fh),
2632	amd/nfs_subr.c (fh_to_mp3, mp_to_fh),
2633	amd/amfs_host.c (amfs_host_mount),
2634	amd/am_ops.c (merge_opts):
2635	use the new xstrlcpy instead of strncpy.
2636
2637	* conf/checkmount/checkmount_{default,svr4}.c
2638	(fixmount_check_mount): document why NOT to use xstrlcpy.
2639
2640	* libamu/xutil.c: am_hostname need not be MAXHOSTNAMELEN+1 any
2641	more, just MAXHOSTNAMELEN.
2642
2643	* libamu/xutil.c (real_plog): use strlcpy (not xstrlcpy to avoid
2644	recursion, since xstrlcpy may use plog).
2645
2646	* libamu/util.c (xstrlcpy): truncating a string is serious.  Use
2647	XLOG_ERROR not XLOG_WARNING.
2648
26492005-04-06  Erez Zadok  <ezk@cs.sunysb.edu>
2650
2651	* include/am_utils.h: external definition for new xstrlcpy
2652	function.
2653
2654	* libamu/util.c (xstrlcpy): new function.  Similar to strncpy, but
2655	uses strlcpy to guarantee that the resulting string is null
2656	terminated, and also warn if the resulting string was truncated.
2657
2658	* libamu/xutil.c (get_server_pid): move this function from util.c
2659	which is for general-purpose utilities.
2660
2661	* m4/macros/header_templates.m4: template for HAVE_EXTERN_STRLCPY.
2662
2663	* include/am_defs.h: provide extern definition for strlcpy, if
2664	needed.
2665
2666	* libamu/Makefile.am (EXTRA_DIST): include strlcpy.c in distro.
2667
2668	* configure.in: search for strlcpy and its extern.
2669
2670	* amq/pawd.c (find_mt): It only handles *some* filesystem types,
2671	so it breaks on direct xfs mounts for example.  The fix (from
2672	Christos Zoulas) is simple: We need to exclude toplvl to avoid
2673	infinite recursion, but all other fs's are game.
2674
26752005-03-31  Erez Zadok  <ezk@cs.sunysb.edu>
2676
2677	* amd/nfs_subr.c (fh_to_mp3): strncpy may not null terminate if
2678	copying exactly len bytes, so add null just to be safe.
2679
26802005-03-30  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
2681
2682	* amd/nfs_subr.c (fh_to_mp3): Increased the n of strncpy()
2683	to make sure it null terminates.
2684
26852005-03-29  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
2686
2687	* amd/nfs_subr.c (fh_to_mp3): Fix memset bug. In this case
2688	the memset can be removed because strncpy() should padd the
2689	buffer with NULLs anyway.
2690
26912005-03-21  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2692
2693	* include/am_defs.h: Clarify comment.
2694
26952005-03-21  Erez Zadok  <ezk@cs.sunysb.edu>
2696
2697	* include/am_defs.h: undefine "GROUP" so Solaris 10 with gcc-2.96
2698	won't complain about a conflict for this definition between
2699	<rpcsvc/nis.h> and <sys/acl.h>.
2700
27012005-03-20  Erez Zadok  <ezk@cs.sunysb.edu>
2702
2703	* amd/readdir.c (amfs_readdir_browsable): use %p, not %lx.
2704
2705	* libamu/mount_fs.c (print_nfs_args): print pointer with %p, not
2706	%lx.
2707
27082005-03-18  Erez Zadok  <ezk@cs.sunysb.edu>
2709
2710	*******************************************************************
2711	*** Released am-utils-6.1-rc1					***
2712	*******************************************************************
2713
27142005-03-18  Erez Zadok  <ezk@cs.sunysb.edu>
2715
2716	* conf/transp/transp_tli.c (get_nfs_version): use proper type for
2717	versout on Solaris (rpcvcers_t).
2718
2719	* amd/mapc.c (mapc_showtypes): if last map type to print, don't
2720	append newline or comma to it.
2721
2722	* libamu/mount_fs.c (print_nfs_args): cast struct netbuf pointer
2723	to %lx because on Solaris 10 sparc gcc-3.4.3 complains about
2724	casting it to an int (size is different).
2725
2726	* configure.in, NEWS: prepare for 6.1-rc1 release.
2727
27282005-03-17  Erez Zadok  <ezk@cs.sunysb.edu>
2729
2730	* scripts/amd2ldif.in, ldap.schema: fixes by Adam Morley
2731	<adam-at-gmi-dot-com> to synchronize what amd2ldif does vs. what
2732	the ldap.schema expects.
2733
2734	* amd/map.c (exported_ap_free): We're using a free-list data
2735	structure and re-using malloc'ed objects.  So, to be safe, memset
2736	entire structure when it's freed, not just the pointer.
2737	(umount_exported): bug fix to on-exit code.  Don't run
2738	am_unmounted() unless unmount_mp() didn't run, since the latter
2739	already calls am_unmounted().  This way we avoid a double-free
2740	bug.
2741
27422005-03-15  Erez Zadok  <ezk@cs.sunysb.edu>
2743
2744	* tasks: updates.  Executable maps is supported.  NFSv4 and
2745	FreeBSD autofs isn't.
2746
2747	* Makefile.am (EXTRA_DIST): include FAQ in distro.
2748
2749	* doc/Makefile.am (alldocs): install README.lda and README.osx.
2750
2751	* FAQ: new file, better late than never.
2752
27532005-03-14  Erez Zadok  <ezk@cs.sunysb.edu>
2754
2755	* scripts/amd2ldif.in: patch to add the amdMapName attribute to
2756	the amdMapTimestamp object when amd2ldif converts it.  This is
2757	necessary if you are using type:=auto mounts and want those
2758	mountmaps looked up through LDAP.  Patch from Jim Zajkowski
2759	<jim.zajkowski@gmail.com>.
2760
27612005-03-12  Erez Zadok  <ezk@cs.sunysb.edu>
2762
2763	* minor new ports: i386-pc-linux-rhel4.
2764
2765	* minor new ports: powerpc-apple-darwin7.8.0.
2766
27672005-03-10  Erez Zadok  <ezk@cs.sunysb.edu>
2768
2769	* amd/ops_nfs.c (prime_nfs_fhandle_cache): rearrange code so it's
2770	cleaner.
2771
2772	* ltmain.sh: upgrade from libtool-1.5.6.
2773
2774	* m4/macros/check_{fs_mntent,mnttab_type,mount_type}.m4: check for
2775	Linux 2.6 kernel modules, which have a .ko extension, not .o.  Now
2776	we can properly detect which file systems exist on Linux 2.6 based
2777	systems (SLES9, RHEL4, Fedora, etc.).
2778
27792005-03-09  Erez Zadok  <ezk@cs.sunysb.edu>
2780
2781	* m4/macros/host_macros.m4: find out what's the OS software
2782	distribution name, if any.
2783
2784	* m4/macros/header_templates.m4: template for DISTRO_NAME.
2785
2786	* amd/get_args.c (get_version_string): print again full_os, os,
2787	osver, and vendor (bug fix).
2788	(get_version_string): print distribution name, if known (e.g.,
2789	rh9, suse8, etc.).
2790
2791	* amd/mapc.c (mapc_showtypes): wrap around list of supported map.
2792
27932005-03-08  Erez Zadok  <ezk@cs.sunysb.edu>
2794
2795	* amd/map.c (umount_exported): when unmounting file systems on
2796	exit (when amd.conf global unmount_on_exit=yes), use unmount_mp()
2797	instead of unmount_node() because the latter always unmounts in
2798	the foreground, whereas the former unmounts in the bg/fg as
2799	needed.  Unmounting always in the foreground has two problems: (1)
2800	if the unmount hangs, amd hangs, and (2) for type:=program, the
2801	unmount script is execve'd(!) thus replacing the main amd process,
2802	which never gets to finish up, leaving the amd mount points hung.
2803
2804	* NEWS: mention new feature of executable maps.
2805
2806	* AUTHORS: Acknowledge Erik Kline.
2807
2808	* scripts/amd.conf.5: document executable maps and
2809	exec_map_timeout parameter.
2810
2811	* scripts/amd.conf-sample: examples of an executable map and
2812	exec_map_timeout.
2813
2814	* m4/macros/header_templates.m4: template for HAVE_MAP_EXEC.
2815
2816	* doc/am-utils.texi: document Executable maps and exec_map_timeout
2817	parameter.
2818
2819	* amd/conf.c (gopt_exec_map_timeout): function to parse
2820	exec_map_timeout [global] parameter.
2821
2822	* amd/amd.h (AMFS_EXEC_MAP_TIMEOUT): define default executable map
2823	timeout to 10 seconds, and a global placeholder for the
2824	configurable value.
2825
2826	* amd/amd.c (init_global_options): initialize default executable
2827	map timeout.
2828
2829	* amd/Makefile.am (EXTRA_amd_SOURCES): include info_exec.c in
2830	tarball.
2831
2832	* configure.in: enable executable maps.
2833
2834	* amd/mapc.c: define executable map functions and behavior.
2835
2836	* amd/info_exec.c: executable map implementation from Erik Kline
2837	<ekline at ekline dot com>, modified, cleaned-up, and fixed.
2838
28392005-03-07  Erez Zadok  <ezk@cs.sunysb.edu>
2840
2841	* amd/info_file.c (file_init_or_mtime): consolidate identical
2842	file_init and file_mtime into one function.
2843
28442005-03-05  Erez Zadok  <ezk@cs.sunysb.edu>
2845
2846	* doc/am-utils.texi (Program Filesystem): if umount/unmount are
2847	not specified, Amd uses "umount ${fs}" by default.
2848
2849	* amd/amfs_program.c (amfs_program_match): if neither unmount nor
2850	umount parameters are specified, use the default userland umount
2851	program with "umount ${fs}".  This way type:=program doesn't have
2852	to specify the umount program for basic unmounting actions.
2853	(amfs_program_init): save unmount program string in mf_private
2854	only if it's NULL, not based on mf_refc.
2855
2856	* configure.in: auto-detect name of userland unmount program.
2857
2858	* aux_conf.h.in (UNMOUNT_PROGRAM): macro for default userland
2859	unmount program.
2860
2861	* amd/ops_cachefs.c (cachefs_init): save unmount program string in
2862	mf_private only if it's NULL, not based on mf_refc.
2863
2864	* configure.in: don't "discover" inheritance file system any more,
2865	since we don't have the .c file for it.
2866
2867	* amd/get_args.c (get_version_string): hack to still show that we
2868	support the inherit file system in output of amd -v.
2869
28702005-03-05  Ion Badulescu  <ionut@moisil.badula.org>
2871
2872	* amd/amfs_inherit.c: removed, dead code
2873
2874	* amd/Makefile.am,
2875	amd/am_ops.c,
2876	amd/amd.h,
2877	conf/autofs/autofs_linux.h,
2878	conf/autofs/autofs_solaris_v1.h,
2879	conf/autofs/autofs_solaris_v2_v3.h,
2880	m4/macros/header_templates.m4: removed references to amfs_inherit.c
2881
28822005-03-05  Erez Zadok  <ezk@cs.sunysb.edu>
2883
2884	* amd/autil.c (am_mounted): completely rewrite the unmount
2885	no/timeout code to (1) make more sense for odd conditions, and (2)
2886	allow utimeout=N mount options to override FS_NOTIMEOUT default
2887	flags for disk-based file systems such as ufs, pcfs, cdfs, etc.
2888
2889	* libamu/mount_fs.c (mount_fs): use safer XFREE() not free().
2890
2891	* conf/umount/umount_linux.c (umount_fs): strtok is destructive,
2892	so use strdup'ed string.
2893
2894	* conf/mount/mount_linux.c (parse_opts): strtok is destructive, so
2895	use strdup'ed string.
2896
28972005-03-04  Erez Zadok  <ezk@cs.sunysb.edu>
2898
2899	* scripts/amd.conf.5, doc/am-utils.texi (cache_duration
2900	Parameter): clarify actual behavior: this Parameter affects
2901	initial mount timeout as well as the linear backoff what happens
2902	the initial failed EBUSY unmount.
2903
2904	* doc/am-utils.texi (opts Option): better explanation of
2905	utimeout=N mount pseudo-option.
2906
2907	* amd/amd.h (AM_TTL, AM_TTL_W): better comments, minor cleanup.
2908
29092005-03-02  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
2910
2911	* AUTHORS: add Dan Ottavio.
2912
2913	* scripts/amd.conf.5: document new debug_mtab_file option.
2914
2915	* scripts/amd.conf-sample (debug_mtab_file): show example.
2916
2917	* doc/am-utils.texi (debug_mtab_file Parameter): document new
2918	option.
2919
2920	* conf/mtab/mtab_{file,mach3}.c (open_locked_mtab): if mtab file
2921	doesn't exist by the time Amd tries to exist, return a 0 rather
2922	than hang indefinitely.
2923
2924	* amd/conf.c (gopt_debug_mtab_file): new function to parse
2925	debug_mtab_file option.
2926
2927	* amd/amd.h: placeholder for debug_mtab_file string.
2928	Define default debug_mtab_file to "/tmp/mtab".
2929
2930	* NEWS: document new debug_mtab_file option.
2931
29322005-03-02  Erez Zadok  <ezk@cs.sunysb.edu>
2933
2934	* conf/transp/transp_{sockets,tli}.c (amu_get_myaddress): when
2935	users want Amd's NFS service to bind to some arbitrary "localhost"
2936	address, show which address was actually resolved and bound to.
2937
29382005-03-01  Erez Zadok  <ezk@cs.sunysb.edu>
2939
2940	* amd/srvr_nfs.c (start_nfs_pings): move code from elsewhere
2941	(update_nfs_pingval) that initializes the pinger, as well as turns
2942	it on/off as needed, and handles changing its value.  This is to
2943	avoid races and other infinite-loop conditions that could result
2944	in ping storms.
2945
2946	* amd/srvr_amfs_auto.c (amfs_generic_find_srvr): when creating a
2947	new file server structure, default the ping value to AM_PINGER
2948	(30sec) and set the FSF_PING_UNINIT flag.
2949
2950	* amd/amd.h (FSF_PING_UNINIT): new flag to tell whether the NFS
2951	pinger had been initialized for a given file server.
2952
2953	* scripts/ctl-amd.in (stop): no need to check if
2954	/var/lock/subsys/amd file exists if you do an rm -f afterward.
2955	Ensure that proper return value is returned from script.
2956
2957	* NEWS, doc/am-utils.texi (opts Option): update meaning of ping=N
2958	so that if N=-1, pings are off; if N=0, pings are set to the
2959	default value (currently 30 seconds).
2960
29612005-02-28  Erez Zadok  <ezk@cs.sunysb.edu>
2962
2963	* amd/nfs_prot_svc.c (nfs_program_2): on TLI system, try to call
2964	__rpc_get_local_uid to verify if the RPC call through the
2965	local host interface came from UID 0.
2966
2967	* configure.in: look for internal libnsl function
2968	__rpc_get_local_uid (seems to be available on all known TLI
2969	systems, Solaris and HP-UX 11).
2970
2971	* conf/transp/transp_tli.c (amu_svc_getcaller): unnecessary
2972	function for TLI systems (and it violated a array's bounds,
2973	discovered with libumem.so).
2974	(bind_resv_port, bind_resv_port_only_udp, get_autofs_address):
2975	just to be on the safe side, set struct t_bind's qlen field to non
2976	zero (64 by default).  This value cannot be zero for TCP
2977	connections, and it's unclear if it's good to have it zero for UDP
2978	connections, so setting it to 64 is safer.
2979
29802005-02-27  Erez Zadok  <ezk@cs.sunysb.edu>
2981
2982	* doc/am-utils.texi (opts Option, Keep-alives): update text on
2983	ping option.
2984
2985	* amd/srvr_nfs.c (update_nfs_pingval): new function to update NFS
2986	server ping values, turn them off, or re-enable them.
2987	(find_nfs_srvr): call update_nfs_pingval() as needed.
2988
2989	* hlfsd/hlfsd.c (reaper, cleanup): don't use exit(3) in a signal
2990	handler, but use _exit(2) instead.
2991
2992	* amd/amd.c (parent_exit): This signal handler is called during
2993	Amd initialization.  The parent forks a child to do all the hard
2994	automounting work, and waits for a SIGQUIT signal from the child.
2995	When the parent gets the signal it's supposed to call this handler
2996	and exit(3), thus completing the daemonizing process.  Alas, on
2997	some systems, especially Linux 2.4/2.6 with Glibc, exit(3) doesn't
2998	always terminate the parent process.  Worse, the parent process
2999	now refuses to accept any more SIGQUIT signals -- they are
3000	blocked.  What's really annoying is that this doesn't happen all
3001	the time, suggesting a race condition somewhere.
3002	(This happens even if I change the logic to use another signal.)
3003	I traced this to something which exit(3) does in addition to
3004	exiting the process, probably some atexit() stuff or other
3005	side-effects related to signal handling.  Either way, since at
3006	this stage the parent process just needs to terminate, I'm simply
3007	calling _exit(2).  Note also that the OpenGroup doesn't list
3008	exit(3) as a recommended "Base Interface" but they do list
3009	_exit(2) as one.  This fix seems to work reliably all the time.
3010
3011	* scripts/wait4amd2die.in: change default to recognize that amd is
3012	down more quickly (check every 3 seconds instead of 5).
3013
30142005-02-26  Erez Zadok  <ezk@cs.sunysb.edu>
3015
3016	* libamu/xutil.c (amu_release_controlling_tty): warn if closing
3017	stdin/stdout/stderr failed.  No need for tempfd.
3018
3019	* scripts/ctl-{amd,hlfsd}.in: before running any real program in
3020	these shell scripts, chdir to "/" to avoid possible hangs with
3021	existing NFS mounts.  This was causing ctl-amd's forked
3022	grand-child amd process to hang if restartable_mounts=no.  Go
3023	figure.
3024
30252005-02-25  Erez Zadok  <ezk@cs.sunysb.edu>
3026
3027	* minor new port ia64-unknown-linux-rhel4
3028
3029	* fsinfo/fsi_util.c (set_ether_if): avoid u_long casting to -1
3030	(RHEL4 gcc 3.4.3 ia64 compiler complains).
3031
30322005-02-24  Erez Zadok  <ezk@cs.sunysb.edu>
3033
3034	* minor new port i386-unknown-freebsd6.0 (6.0-CURRENT-SNAP001).
3035
30362005-02-23  Erez Zadok  <ezk@cs.sunysb.edu>
3037
3038	* minor new port: i386-pc-linux-rhel3.
3039
3040	* INSTALL: major update of the compatibility list.
3041
3042	* m4/macros/os_cflags.m4: set AMU_CFLAGS not AM_CFLAGS.
3043
30442005-02-22  Erez Zadok  <ezk@cs.sunysb.edu>
3045
3046	* scripts/amd.conf.5, doc/am-utils.texi (preferred_amq_port):
3047	document new preferred_amq_port [global] option.
3048
3049	* scripts/amd.conf-sample (preferred_amq_port): example.
3050
3051	* include/am_utils.h: add preferred_amq_port to prototype.
3052
3053	* conf/transp/transp_tli.c (bind_preferred_amq_port): new function
3054	to bind the Amq RPC service for UDP and TCP to a preferred port
3055	(or to any port if preferred_amq_port==0).
3056	(create_amq_service): decide if to bind to RPC_ANYFD, or to a
3057	requested port.
3058
3059	* conf/transp/transp_sockets.c (create_amq_service): if
3060	preferred_amq_port is greater than 0, then bind to that port for
3061	both UDP and TCP.  If preferred_amq_port==0, then bind to any
3062	port.
3063
3064	* amd/nfs_start.c (mount_automounter): pass global
3065	preferred_amq_port value to create_amq_service().
3066
3067	* amd/conf.c (gopt_preferred_amq_port): new function to parse
3068	amd.conf value for preferred_amq_port.
3069
3070	* amd/amd.h: placeholder for preferred_amq_port.
3071
30722005-02-21  Erez Zadok  <ezk@cs.sunysb.edu>
3073
3074	* conf/transp/transp_tli.c (bind_resv_port_only_udp): rename old
3075	bindnfs_port to a more proper name.  This function binds the NFS
3076	service to a specified port, and only for UDP.
3077
3078	* conf/transp/transp_tli.c: cleanup some code, rename some
3079	functions, in preparation for RPC amq port specification code.
3080
30812005-02-19  Erez Zadok  <ezk@cs.sunysb.edu>
3082
3083	* */Makefile.am: don't redefine CFLAGS or LDFLAGS; they are
3084	reserved for users to pass them on the command line.  Instead, use
3085	autoconf's internal AM_CFLAGS and AM_LDFLAGS.
3086
3087	* depcomp, install-sh, missing, mkinstalldirs: update from latest
3088	versions of Automake 1.9.2.
3089
3090	* m4/macros/*.m4: properly quote AC_DEFUN'ed macro name, and fix
3091	regexp/patsubst M4 commands.  Newer versions of autoconf (e.g.,
3092	v2.59) complain about those.
3093
30942005-02-17  Erez Zadok  <ezk@cs.sunysb.edu>
3095
3096	* amd/opts.c (f_xhost): if we don't have hstrerror, just print the
3097	value of h_errno.
3098
3099	* configure.in: include -lresolv if it defines the hstrerror()
3100	function and not already available in existing libraries.
3101
3102	* minor new port: powerpc-apple-darwin7.7.0.
3103
3104	* amd/nfs_subr.c (mp_to_fh): pathlen should be u_int because it is
3105	later compared against an unsigned quantity (complaint from gcc
3106	3.3 on SuSE 8.2)
3107
3108	* include/am_utils.h: remove unnecessary (and conflicting) extern
3109	for bind_resv_port2(), which is declared as static in
3110	transp_tli.c.
3111
3112	* doc/am-utils.texi, scripts/amd.conf.5, scripts/amd.conf-sample,
3113	NEWS: document four new amd.conf options: nfs_retry_interval_udp,
3114	nfs_retransmit_counter_udp nfs_retry_interval_tcp, and
3115	nfs_retransmit_counter_tcp.
3116
3117	* amd/ops_nfs.c (mount_nfs_fh): set timeo/retrans values based on
3118	wether nfs_proto was "udp" or "tcp".
3119
3120	* amd/amfs_toplvl.c (amfs_toplvl_mount): set retrans/timeo values
3121	from default UDP settings (because toplvl mounts are UDP for now).
3122
3123	* amd/get_args.c (get_args): use parameters to -t option to set
3124	both UDP and TCP timeo/retrans values.
3125
3126	* amd/conf.c: (gopt_nfs_retransmit_counter_udp,
3127	(gopt_nfs_retransmit_counter_tcp, gopt_nfs_retry_interval_udp
3128	(gopt_nfs_retry_interval_tcp): new functions to parse UDP and TCP
3129	retrans/timeo parameters separately.
3130	(gopt_nfs_retry_interval, gopt_nfs_retransmit_counter): if
3131	specified, use it to set defaults for both UDP and TCP.
3132
3133	* amd/amd.c (init_global_options): initialize default values of
3134	both UDP and TCP retrans/timeo values to -1.
3135
3136	* amd/amd.h (AMU_TYPE_{TCP,UDP,MAX}): define separate retrans and
3137	timeo values, one for udp mounts and another for tcp mounts.
3138
31392005-02-16  Erez Zadok  <ezk@cs.sunysb.edu>
3140
3141	* README.osx: new file with some instructions for Mac OS-X users,
3142	courtesy Kevin Layer.
3143
3144	* amd/get_args.c (get_args): move call to switch_to_logfile()
3145	after processing -v, so we don't print "no logfile defined; using
3146	stderr" when we're about to print version info and exit anyway.
3147
3148	* minor new port: powerpc-ibm-aix5.3.0.0.
3149
3150	* hlfsd/hlfsd.c (main): rewrite code to avoid negative array
3151	references.
3152
3153	* conf/checkmount/checkmount_aix.c: remove extern definition for
3154	mntctl(), since AIX 5.3 has it in <sys/vmount.h>.
3155
3156	* amd/info_union.c (union_reload): rewrite code to avoid negative
3157	array references.
3158
3159	* amd/opts.c (split_opts, expand_op): rewrite code to avoid
3160	negative array references.
3161
3162	* conf/mtab/mtab_aix.c: remove extern definition for mntctl(),
3163	since AIX 5.3 has it in <sys/vmount.h>.
3164
3165	* libamu/xutil.c (real_plog): rewrite code to avoid negative array
3166	references.
3167
3168	* libamu/wire.c (is_network_member): rearrange code slightly to
3169	avoid negative array references (AIX 5.3 xlC 7.0 compiler
3170	complains about it).
3171
31722005-01-26  Erez Zadok  <ezk@cs.sunysb.edu>
3173
3174	* doc/am-utils.texi (xhost Selector Function): document new
3175	selector function.
3176
3177	* amd/opts.c (f_xhost): new function for use when matching the
3178	"host" selector for the current host's name.  This function will
3179	now match the primary host name as well as all known aliases
3180	(CNAMES) that gethostbyname() returns.  This function now supports
3181	a new function selector called xhost(ARG); the old host==ARG
3182	selector is unharmed.
3183
31842005-01-17  Ion Badulescu  <ionut@moisil.badula.org>
3185
3186	* NEWS: document the ability to restart old mount points
3187
3188	* amd/map.c (mount_auto_node): force the fileid of the
3189	root to be 1, so that it won't change between restarts; use the
3190	root filesystem's own methods instead of hard-coding the use of
3191	the default methods
3192
3193	* conf/transp/transp_tli.c (create_nfs_service): better cleanup on
3194	error conditions.
3195	(bind_resv_port2): allow the caller to request a certain port.
3196
3197	* conf/transp/transp_sockets.c (bind_resv_port): allow the caller
3198	to request a certain port.
3199	(create_nfs_service): better cleanup on error conditions.
3200
3201	* amd/restart.c (restart_automounter_nodes): new function, takes
3202	care of restarting automounter NFS mount points (autofs will come
3203	later).
3204	(restart): skip all automounter mount points.
3205
3206	* amd/nfs_subr.c (fh_to_mp3, mp_to_fh): new filehandle
3207	implementation: if the path to the node is shorter than sizeof(fh)
3208	chars (currently 32 chars for a NFSv2 fh), simply store it inside
3209	the fh. For longer paths, keep the old implementation.
3210
3211	* amd/nfs_start.c (mount_automounter): reorder things so that
3212	restarting the toplvl filesystems occurs before anything else (so
3213	that we can grab all the ports we need before we accidentally use
3214	them for something else).
3215
3216	* amd/mntfs.c (locate_mntfs): remove dead code; add special
3217	handling of restarted toplvl filesystems.
3218
3219	* amd/mapc.c (root_keyiter): fix up a comment.
3220
3221	* amd/map.c (path_to_exported_ap): new function, searches for and
3222	returns a node by the path to it.
3223	(get_root_nfs_fh): remove unnecessary fiddling with the root fh.
3224
3225	* config.guess.long: support Red Hat Enterprise Linux
3226
32272005-01-17  Erez Zadok  <ezk@cs.sunysb.edu>
3228
3229	* libamu/util.c (rmdirs): prevent amd from logging 'Read-only
3230	filesystem' errors when the mount point has an ancestor (i.e. '/')
3231	that is mounted read-only.  Patch from David Rage <rage@ucl.ac.uk>.
3232
32332005-01-17  Ion Badulescu  <ionut@moisil.badula.org>
3234
3235	* conf/umount/umount_linux.c (umount_fs): Linux doesn't need the
3236	autofs space hack
3237
3238	* conf/umount/umount_default.c (umount_fs): there is no need for
3239	HAVE_LOOP_DEV, now that Linux has its own dedicated umount_linux.c
3240
32412005-01-17  Erez Zadok  <ezk@cs.sunysb.edu>
3242
3243	* doc/am-utils.texi (Automatic Unmounting): document new umount2()
3244	behavior on Linux.
3245
3246	* conf/umount/umount_linux.c (umount_fs): new file.  On Linux, if
3247	umount(2) failed with EIO or ESTALE, try umount2(2) with
3248	MNT_FORCE+MNT_DETACH.  Based on patch from Christos Zoulas
3249	<christos@zoulas.com>.
3250
3251	* m4/macros/check_umount_style.m4: pick new linux umount style.
3252
3253	* Makefile.am (EXTRA_DIST_CONF): distribute new umount_linux.c
3254	file.
3255
32562005-01-16  Erez Zadok  <ezk@cs.sunysb.edu>
3257
3258	* conf/nfs_prot/nfs_prot_aix{4_2,4_3,5_1,5_2}.h,
3259	m4/macros/struct_nfs_args.m4: minor cleanups for quicker execution
3260	of "nfs_args" test.
3261
32622005-01-13  Erez Zadok  <ezk@cs.sunysb.edu>
3263
3264	* amd/get_args.c (show_usage): separate function to print usage
3265	string.
3266	(get_args) Call show_usage() from get_args when needed, then exit.
3267
3268	* amd/get_args.c (get_version_string): print also domain, host,
3269	and hostd.
3270	(get_args): print version string at the very end, after all other
3271	values had been initialized.  Patch from Christos Zoulas
3272	<christos@zoulas.com>.
3273
3274	* conf/transp/transp_sockets.c (check_pmap_up, get_nfs_version),
3275	conf/transp/transp_tli.c (check_pmap_up): correct an inconsistency
3276	in timeouts in the RPC code between socket and TLI
3277	implementations.  The clntudp_create timeout has a different
3278	meaning than the clnt_call timeout.  Set the timeout of the create
3279	to 2 seconds which means retry if no answer in two seconds, and
3280	the timeout call to 6 seconds, which will give us consistently 2
3281	to 3 pings.  This is useful on occasional network UDP loss where a
3282	single packet loss would wrongfully mark a server down.  (The TLI
3283	code is the one that had the problem occurs.)  Patch from Christos
3284	Zoulas <christos@zoulas.com>.
3285
3286	* libamu/mount_fs.c (compute_nfs_attrcache_flags): make sure code
3287	compiles even for systems that don't have the nfs_args
3288	ac{reg,dir}{min,max} fields.
3289
3290	* amd/amfs_toplvl.c (set_auto_attrcache_timeout): just to be safe,
3291	add "noac" if amd.conf option auto_attrcache was set to 0.  This
3292	should hopefully make the compute_nfs_attrcache_flags patch even
3293	safer.
3294
3295	* libamu/mount_fs.c (compute_nfs_attrcache_flags): separate
3296	function to compute attribute-cache values.  This function now
3297	computes attribute-cache flags for BOTH Amd's automount points
3298	(NFS) as well as any normal NFS mount that Amd performs.
3299	(compute_nfs_args, compute_automounter_nfs_args): call
3300	compute_nfs_attrcache_flags to figure out attribute-cache related
3301	flags.  Patch from Christos Zoulas <christos@zoulas.com>.
3302
3303	* scripts/amd.conf-sample: show examples of new global options
3304	domain_strip and auto_attrcache.
3305
3306	* scripts/amd.conf.5: document new global options domain_strip and
3307	auto_attrcache.  Add warning to auto_attrcache use in case of
3308	ESTALE.
3309
3310	* doc/am-utils.texi: minor cleanups and document new global
3311	options domain_strip and auto_attrcache.  Add warning to
3312	auto_attrcache use in case of ESTALE.
3313
3314	* amd/conf.c (gopt_auto_attrcache): parse new global amd.conf
3315	option auto_attrcache.
3316	(gopt_domain_strip): parse new global amd.conf option
3317	domain_strip.  Part of a patch from Christos Zoulas
3318	<christos@zoulas.com>.
3319
3320	* amd/autil.c (host_normalize): don't call domain_strip()
3321	unconditionally, but depend on the new global amd.conf flag
3322	domain_strip.
3323
3324	* amd/amfs_toplvl.c (set_auto_attrcache_timeout): new function to
3325	set attribute cache timeout value given other configured global
3326	defaults.
3327	(amfs_toplvl_mount): set automount point attribute cache option
3328	value to "noac" if attrcache=0, else set it to whatever
3329	set_auto_attrcache_timeout() returns.
3330
3331	* amd/amd.h (CFM_DOMAIN_STRIP, CFM_DEFAULT_FLAGS): flag to decide
3332	if to strip the domain from the host name or not, default options
3333	set to strip the domain.
3334	Store global value of automount attribute cache timeout value.
3335
3336	* amd/amd.c (init_global_options): add flag to record automount
3337	point attribute cache value.
3338
3339	* amd/amd.c (do_memory_locking): new function to encapsulate all
3340	of the memory-locking functionality, which was in main() before.
3341	Also added a call to madvise(), just in case.
3342	(main): call do_memory_locking() to pin process memory if amd.conf
3343	asked for it, but do so after the main Amd process daemonizes,
3344	because mlock/mlockall is not inherited by fork() by default.
3345	Slightly restructured patch from Jonathan Chen
3346	<jon+amd@spock.org>.
3347
3348	* configure.in: check for madvise(2).
3349
3350	* config.guess, config.sub: updates for latest official GNU
3351	versions.
3352
3353	* m4/GNUmakefile: update paths to "make update"
3354
33552005-01-12  Erez Zadok  <ezk@cs.sunysb.edu>
3356
3357	* conf/nfs_prot/nfs_prot_hpux11.h: define an nfs_fh3 structure
3358	that's compatible for HPUX11 as well as NFSv3.
3359
3360	* include/am_defs.h: On AIX 5.2, both <resolv.h> and
3361	<arpa/nameser_compat.h> define MAXDNAME, if compiling with gcc
3362	-D_USE_IRS (so that we get extern definitions for hstrerror() and
3363	others).  So undef MAXDNAME before it gets redefined.
3364
3365	* include/am_defs.h: Solaris 10 (build 72) defines GROUP_OBJ in
3366	<sys/acl.h>, which is included in many other header files.
3367	<rpcsvc/nis.h> uses GROUP_OBJ inside enum zotypes.  So if you're
3368	unlucky enough to include both headers, you get a compile error
3369	because the two symbols conflict.  Temp hack: undefine acl.h's
3370	GROUP_OBJ before including nis.h, because we don't need acl.h for
3371	am-utils.
3372
3373	* m4/macros/os_cflags.m4: turn -D_USE_IRS for AIX5+ so that
3374	certain extern definitions of resolver functions become available.
3375
3376	* amd/opts.c (expand_op): use #define for expand_error string
3377	because some compilers complain about the use of static const
3378	char[] inside a varargs function.
3379
3380	* minor new port i386-unknown-netbsdelf1.6.2.
3381
3382	* new port i386-unknown-netbsdelf2.0.
3383
3384	* minor port i386-unknown-freebsd5.3.
3385
3386	* libamu/mount_fs.c (compute_nfs_args): don't compare
3387	nap->maxgrouplist against NULL but against 0 directly, because on
3388	FreeBSD 4.3, NULL is defined is (void *)0 and gcc 3.4 complains
3389	about a type mismatch.
3390
3391	* minor port i386-pc-linux-fc3 (Fedora Core 3).
3392
33932005-01-11  Erez Zadok  <ezk@cs.sunysb.edu>
3394
3395	* hlfsd/hlfsd.c (main): use sigsuspend() over sigpause(), because
3396	FC3 doesn't have proper extern definition for the defunct
3397	sigpause().
3398
3399	* configure.in: look for sigsuspend().
3400
34012005-01-01  Erez Zadok  <ezk@cs.sunysb.edu>
3402
3403	* updated copyright year to 2005 on all files.
3404
34052004-11-29  Erez Zadok  <ezk@cs.sunysb.edu>
3406
3407	* scripts/amd.conf.5: Small fixes to typos in man page, from
3408	Thomas Klausner <tk@giga.or.at>.
3409
34102004-10-22  Erez Zadok  <ezk@cs.sunysb.edu>
3411
3412	* ldap.schema: add this file to distribution.
3413
34142004-09-15  Erez Zadok  <ezk@cs.sunysb.edu>
3415
3416	* doc/am-utils.texi: fix old URLs.
3417
34182004-09-01  Erez Zadok  <ezk@cs.sunysb.edu>
3419
3420	* conf/mtab/mtab_aix.c (read_mtab): avoid a race condition between
3421	multiple calls to mntctl().  Patch suggested by Michael van Elst
3422	<M.van.Elst@science-computing.de>.
3423
34242004-08-07  Erez Zadok  <ezk@cs.sunysb.edu>
3425
3426	* doc/am-utils.texi (Program Filesystem): document how to get
3427	double slashes in Amd maps.
3428
3429	* amd/opts.c (normalize_slash): support escaped slashes, needed
3430	for SMB mounts.  Use '\\\/\\\/' in a string to get a double slash.
3431
34322004-08-06  Erez Zadok  <ezk@cs.sunysb.edu>
3433
3434	* amd/amfs_program.c (amfs_program_match): bug fix.  Complain if
3435	both opt_unmount and opt_umount are missing, not when just one of
3436	them is missing.
3437
34382004-08-03  Erez Zadok  <ezk@cs.sunysb.edu>
3439
3440	* amq/pawd.c (find_mt): recognize "linkx" type mounts.  Patch from
3441	Hauke Fath <hauke@Espresso.Rhein-Neckar.DE>.  Support "nfsx" while
3442	we're at it.
3443
3444	* doc/am-utils.texi: mention bugzilla.  Fix broken URL HREF's.
3445
34462004-08-02  Erez Zadok  <ezk@cs.sunysb.edu>
3447
3448	* amq/pawd.c (find_mt): recognize "host" type mounts.  Patch from
3449	Dan Nelson <dnelson@allantgroup.com>.
3450
34512004-07-30  Erez Zadok  <ezk@cs.sunysb.edu>
3452
3453	* doc/am-utils.texi, NEWS: minor typos fixed.
3454
34552004-07-30  Erez Zadok  <ezk@play.cs.columbia.edu>
3456
3457	* include/am_xdr_func.h: cannot have field-less structure; put a
3458	dummy field in.
3459
3460	* conf/autofs/autofs_solaris_v2_v3.c (xdr_autofs_rddirargs): cast
3461	2nd arg of xdr_u_int to a u_int*, not int*.
3462	(autofs_mount_2_req): don't use C++ // comments.
3463
34642004-07-30  Erez Zadok  <ezk@cs.sunysb.edu>
3465
3466	* m4/macros/{try_compile_anyfs,check_field}.m4: include
3467	<fs/msdosfs/msdosfsmount.h> if it exists.  Part of a set of
3468	FreeBSD 5 patches from Martin Blapp <mb@imp.ch>.
3469
3470	* include/am_defs.h: include <fs/msdosfs/msdosfsmount.h> if it
3471	exists.
3472
3473	* amd/ops_pcfs.c (mount_pcfs): set pcfs_args_t.dirmask field to
3474	0777 by default.
3475
3476	* configure.in: check for pcfs_args_t.dirmask field.  Check for
3477	existence of <fs/msdosfs/msdosfsmount.h>, new on FreeBSD 5.
3478
34792004-07-29  Erez Zadok  <ezk@cs.sunysb.edu>
3480
3481	* minor new port: i386-pc-linux-fc2 (Fedora Core 2).
3482
3483	* amd/info_ldap.c (amu_ldap_rebind): don't use ldap_enable_cache()
3484	unless the function exists in libldap and the extern is in
3485	<ldap.h>.  Recently, openldap removed the extern from ldap.h, but
3486	left the function in libldap, for binary compatibility; however
3487	ldap_enable_cache and related functions have been deprecated (and
3488	no longer listed in the header files), and therefore should be
3489	avoided.
3490
3491	* m4/macros/check_extern_ldap.m4: new macro to check for
3492	LDAP-specific externs.  This is separate from check_extern.m4 so
3493	as to avoid breaking the general-purpose macro with LDAP-specific
3494	headers.
3495
3496	* m4/macros/header_templates.m4: extern template for new
3497	HAVE_EXTERN_LDAP_ENABLE_CACHE.
3498
3499	* configure.in: call new check_extern_ldap.m4 macro.
3500
3501	* Makefile.am (EXTRA_DIST_M4): distribute new check_extern_ldap.m4
3502	macro.
3503
3504	* config.guess.long: distinguish between redhat and fedora-core
3505	releases.
3506
35072004-07-23  Erez Zadok  <ezk@cs.sunysb.edu>
3508
3509	* Minor new port i386-pc-linux-suse8.2: minor new port to SuSE
3510	8.2.  This systems' latest GCC (gcc version 3.3 20030226
3511	prerelease) correctly caught a lot of possibly bad comparisons
3512	between signed and unsigned quantities.
3513
3514	* hlfsd/homedir.c (table_add, plt_search): changed first arg of
3515	both functions to u_int.
3516
3517	* hlfsd/hlfsd.h, hlfsd/hlfsd.c: change 'cache_interval' to u_int.
3518	Changed proto for plt_search arg to u_int.
3519
3520	* amq/amq.c (show_mi, main): change 'i' to u_int.
3521
3522	* amq/pawd.c (find_mlp): change 'i' to u_int.
3523
3524	* amd/srvr_nfs.c (find_nfs_srvr): change proto_nfs_version to
3525	u_int.
3526
3527	* amd/amd.h: change prototype of vreaddir and amfs_error_readdir
3528	to use u_int count parameter.
3529
3530	* amd/ops_TEMPLATE.c (foofs_readdir), amd/amfs_error.c
3531	(amfs_error_readdir): change 'count' parameter in proto to u_int.
3532
3533	* amd/amd.h: change proto of amfs_generic_readdir() to use u_int
3534	count parameter.
3535
3536	* amd/readdir.c (make_entry_chain): preflen should be u_int.
3537	(amfs_readdir_browsable): change 'count' to u_int.
3538	(amfs_generic_readdir): change 'count' to u_int.
3539
3540	* amd/amd.h: amu_global_options's portmap_program field should be
3541	u_long, not int (to match RPC conventions).  Change am_fh's
3542	fhh_gen field to u_int, to match am_gen field in struct am_node.
3543
3544	* amd/conf.c (gopt_portmap_program): use atol() instead of atoi()
3545	to avoid size differences.
3546
3547	* conf/mount/mount_linux.c (find_unused_loop_device): cast to int
3548	to avoid comparison between chars and integers.
3549
3550	* libamu/mount_fs.c (get_hex_string): change 'i' to u_int to avoid
3551	comparisons between signed and unsigned integers.
3552
35532004-07-13  Erez Zadok  <ezk@cs.sunysb.edu>
3554
3555	* minor new port: i386-pc-linux-suse9.1.
3556
3557	* include/am_defs.h: don't use __kernel_dev_t for dev_t on Linux,
3558	because SuSE wants __kernel_old_dev_t.  Instead, just define it
3559	directly to what they both use: an unsigned short.
3560
35612004-05-27  Erez Zadok  <ezk@cs.sunysb.edu>
3562
3563	* minor new port: i386-unknown-freebsd4.10
3564
35652004-04-29  Ion Badulescu  <ionut@moisil.badula.org>
3566
3567	* amd/amfs_generic.c (amfs_lookup_one_mntfs): fix the creation of
3568	mountpoints for autofs-based sublinks the right way
3569
35702004-04-28  Ion Badulescu  <ionut@moisil.badula.org>
3571
3572	Fixes for various memory management problems discovered by
3573	Rainer's purify run:
3574
3575	* conf/transp/transp_tli.c (check_pmap_up): zero out struct
3576	timeval before using;
3577	(get_nfs_version): ditto
3578
3579	* amd/map.c (umount_exported): make sure we don't try to free the
3580	same am_node multiple times, by setting its corresponding
3581	exported_ap slot to null
3582
3583	* amd/get_args.c (get_version_string): a static pointer is pretty
3584	pointless, make it automatic
3585
3586	* amd/conf.c (gopt_debug_options): remove unnecessary strdup();
3587	(gopt_log_options): ditto
3588	(gopt_print_version): free version string after using it
3589
3590	* amd/autil.c (mf_mounted): free mntfs->mf_fo instead of leaking
3591	it
3592
3593	* amd/amfs_generic.c (amfs_lookup_one_mntfs): use the CALLOC macro
3594	(amfs_lookup_mntfs): free def_opts on return
3595
3596	* amd/amd.c (daemon_mode): zero out struct sigaction before using
3597	it;
3598	(main): ditto
3599
36002004-04-27  Ion Badulescu  <ionut@moisil.badula.org>
3601
3602	* amd/amfs_generic.c (amfs_lookup_one_mntfs): force FS_MKMNT on
3603	the real mount of an autofs-based sublink
3604
36052004-04-25  Ion Badulescu  <ionut@moisil.badula.org>
3606
3607	* amd/map.c (free_map_if_success): avoid dereferencing a pointer
3608	to potentially freed memory
3609
36102004-02-26  Erez Zadok  <ezk@cs.sunysb.edu>
3611
3612	* minor new port: i386-unknown-freebsd5.2.1.
3613
36142004-01-30  Ion Badulescu  <ion@guppy.limebrokerage.com>
3615
3616	* scripts/ctl-hlfsd.in: don't run hlfsd with -D fork
3617
36182004-01-25  Erez Zadok  <ezk@cs.sunysb.edu>
3619
3620	* minor new port: sparc64-unknown-linux-deb3.0
3621
3622	* config.guess.long: recoognize Debian Linux.
3623
36242004-01-22  Erez Zadok  <ezk@cs.sunysb.edu>
3625
3626	* conf/transp/transp_tli.c (amu_get_myaddress): use
3627	htonl(INADDR_LOOPBACK) and define INADDR_LOOPBACK if not already
3628	available.
3629
36302004-01-21  Erez Zadok  <ezk@cs.sunysb.edu>
3631
3632	* wire-test/wire-test.c, hlfsd/hlfsd.c (main): pass NULL as second
3633	parameter to amu_get_myaddress().
3634
3635	* conf/transp/transp_tli.c (amu_get_myaddress): resolve value of
3636	localhost_address amd.conf parameter, if defined (else default to
3637	HOST_SELF_CONNECT).
3638	Removed htonl() around socket address copying (I think it was
3639	wrong) since plog("My IP address is...") in amd.c was printing
3640	addresses wrong on Solaris x86..
3641
3642	* conf/transp/transp_sockets.c (amu_get_myaddress): comment out
3643	old DEBUG code that warns if 127.0.0.1 isn't the same as what
3644	get_myaddress() reports.  Add code to resolve value of
3645	localhost_address amd.conf parameter, if defined (else default to
3646	127.0.0.1).
3647
3648	* amd/conf.c (gopt_localhost_address): new function to parse
3649	amd.conf parameter localhost_address.
3650
3651	* amd/amd.h: global field to store amd.conf localhost_address
3652	parameter.
3653
3654	* amd/amd.c (main): call amu_get_myaddress with global option,
3655	which could have been set in amd.conf.
3656
3657	* NEWS, doc/am-utils.texi, scripts/amd.conf-sample,
3658	scripts/amd.conf.5: document new option localhost_address.
3659
36602004-01-20  Ion Badulescu  <ionut@moisil.badula.org>
3661
3662	* amd/conf.c (gopt_nfs_allow_insecure_port): support function for
3663	the new "nfs_allow_insecure_port" amd.conf directive
3664
3665	* amd/nfs_prot_svc.c (nfs_program_2): complain about the insecure
3666	port and drop the request only if the "nfs_allow_insecure_port"
3667	option is not set in amd.conf
3668
3669	* doc/am-utils.texi (Global Parameters): documented the new
3670	amd.conf directive "nfs_allow_insecure_port"
3671
3672	* scripts/amd.conf.5 (nfs_allow_insecure_port): ditto
3673
3674	* scripts/amd.conf-sample (nfs_allow_insecure_port): added the
3675	"nfs_allow_insecure_port" directive
3676
36772004-01-20  Erez Zadok  <ezk@cs.sunysb.edu>
3678
3679	* doc/am-utils.texi: amd-workers is defunct.
3680
36812004-01-19  Erez Zadok  <ezk@cs.sunysb.edu>
3682
3683	* cvs-server.txt: updated instructions
3684
36852004-01-18  Erez Zadok  <ezk@cs.sunysb.edu>
3686
3687	* minor new port: i386-unknown-freebsd5.2.
3688
36892004-01-05  Erez Zadok  <ezk@cs.sunysb.edu>
3690
3691	* MIRRORS.{txt,html}: verify each mirror site, update to new
3692	locations (if found), and remove stale mirrors URLs.
3693
3694	* updated copyright year to 2004 on all files.
3695
36962004-01-03  Erez Zadok  <ezk@cs.sunysb.edu>
3697
3698	* MIRRORS.txt: track status.
3699
3700	* Makefile.am (install-snapshot): new directory to install
3701	snapshots (now that am-utils home page is moved).
3702
37032004-01-02  Erez Zadok  <ezk@cs.sunysb.edu>
3704
3705	* INSTALL, README.autofs: remove forced text-mode.
3706
3707	* doc/am-utils.texi: fix Amd book URL.
3708
3709	* Makefile.am (EXTRA_DIST): include new mirror files in tarball.
3710
3711	* AUTHORS, BUGS, README, README.y2k, configure.in,
3712	doc/am-utils.texi: revisions to use newer URLs for Web site, FTP,
3713	and mailing lists.
3714
3715	* MIRRORS.{html,txt}: updates.
3716
3717	* doc/Makefile.am: install mirror lists officially.
3718
37192004-01-01  Erez Zadok  <ezk@cs.sunysb.edu>
3720
3721	* tasks: things to do after migrating ftp/Web sites.
3722
37232003-12-09  Erez Zadok  <ezk@cs.sunysb.edu>
3724
3725	* fsinfo/fsinfo.8: fixed typo (unbalanced []) in man page.  Bug
3726	report from Eric S. Raymond <esr@thyrsus.com>.
3727
37282003-11-18  Erez Zadok  <ezk@cs.sunysb.edu>
3729
3730	* Makefile.am (EXTRA_DIST_M4): exclude removed file
3731	m4/macros/struct_nfs_fh3.m4 from distro.
3732
37332003-10-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3734
3735	* libamu/xdr_func.c (xdr_am_nfs_fh3): Use AM_FHSIZE3 instead of
3736	FHSIZE3 (may be undefined).
3737
37382003-10-24  Ion Badulescu  <ion@guppy.limebrokerage.com>
3739
3740	Compile fix for Solaris7 with LDAP:
3741
3742	* include/am_defs.h: moved the ldap headers before am_nfs_prot.h
3743	to facilitate using ldap types in it
3744
3745	* conf/nfs_prot/nfs_prot_sunos5_7.h: add a couple of ldap
3746	definitions that Sun left out of their headers
3747
37482003-10-24  Ion Badulescu  <ionut@moisil.badula.org>
3749
3750	* conf/nfs_prot/nfs_prot_*.h: remove all NFSv3-related
3751	definitions, they are now defined globally
3752
3753	* libamu/xdr_func.c: unconditionally define all xdr functions
3754	needed for NFSv3, but with an am_ prefix to prevent namespace
3755	collisions
3756
3757	* amd/amfs_host.c, amd/ops_nfs.c, amd/srvr_nfs.c,
3758	libamu/mount_fs.c: added the am_ prefix to all
3759	structures and functions having to do with NFSv3 to prevent
3760	namespace collisions
3761
3762	* include/am_utils.h: moved definition of am_nfs_handle to ...
3763
3764	* include/am_xdr_func.h: ... here. Also define AM_FHSIZE3,
3765	am_nfs_fh3, AM_NFSPROC3_LOOKUP, am_nfsstat3, am_fhandle3,
3766	am_mountstat3, am_mountres3_ok, am_mountres3, am_filename3,
3767	am_diropargs3, am_LOOKUP3args, am_LOOKUP3resok, am_LOOKUP3resfail,
3768	am_LOOKUP3res here; remove cross-platform compile helper macros
3769	AMU_LOOKUP3RES_*.
3770
3771	* include/am_defs.h: include am_xdr_func.h before am_utils.h to
3772	provide definitions for NFS filehandles
3773
3774	* amd/amd.h: removed declaration for xdr_mountres3
3775
3776	* doc/am-utils.text: minor warning fix
3777
3778	* BUGS: document the autoconf warnings when trying to compile
3779	system header files in isolation
3780
37812003-10-23  Ion Badulescu  <ionut@moisil.badula.org>
3782
3783	* m4/macros/struct_nfs_fh3.m4: removed, not needed
3784
3785	* configure.in: check if struct mounta has the optptr field;
3786	removed all NFSv3-related checks, we implement everything
3787	internally now
3788
3789	* conf/autofs/autofs_solaris_v2_v3.c (autofs_mount_2_free): don't
3790	touch mnt->optptr unless HAVE_MOUNTA_OPTPTR is defined
3791
37922003-10-22  Ion Badulescu  <ionut@moisil.badula.org>
3793
3794	* m4/macros/struct_nfs_fh3.m4: removed, not used anymore
3795
3796	* libamu/xdr_func.c (xdr_am_nfs_fh3): update xdr_am_nfs_fh3
3797	comments
3798
3799	* configure.in: don't check for xdr_nfs_fh3 and struct nfs_fh3, we
3800	always use our own
3801
38022003-10-22  Ion Badulescu  <ion@guppy.limebrokerage.com>
3803
3804	* BUGS: document the limitations of bind mounts on Linux
3805
38062003-10-21  Ion Badulescu  <ionut@moisil.badula.org>
3807
3808	* buildall: added support for -i (make install)
3809
38102003-10-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3811
3812	* NEWS: New minor port i386-pc-solaris2.10 (Solaris 10).
3813	* INSTALL: Mention its test status.
3814
38152003-10-16  Erez Zadok  <ezk@cs.sunysb.edu>
3816
3817	* amd/ops_nfs.c (nfs_init): declare as static to match forward
3818	definition at top of file.
3819
3820	* conf/nfs_prot/nfs_prot_{hpux11, netbsd1_4,openbsd,aix5_2}.h:
3821	added missing definitions for LOOKUP3res, diropargs3, etc.
3822
38232003-10-15  Erez Zadok  <ezk@cs.sunysb.edu>
3824
3825	* libamu/xdr_func.c (xdr_LOOKUP3res, xdr_am_nfs_fh3),
3826	libamu/mount_fs.c (compute_nfs_args), amd/ops_nfs.c
3827	(got_nfs_fh_mount, got_nfs_fh_webnfs, prime_nfs_fhandle_cache,
3828	webnfs_lookup), amd/amfs_host.c (fetch_fhandle): Attempt to
3829	cleanup some inconsistencies with how we treat NFSv3 file handles.
3830	Whenever we need to get data out of a filehandle given to us, we
3831	assume that it uses the OS's native fhandle structure
3832	(often struct nfs_fh3).  When we store the fhandle data for our
3833	own use, however, we store it in one of two ways.  The first, is
3834	that we use the system's default nfs_fh3 structure; the second is
3835	that we define out own struct am_nfs_fh3 in nfs_prot.h (and go
3836	through an elaborate autoconf song-and-dance to "discover" it as a
3837	native fh3 handle structure).  It appears that we do the latter,
3838	instead of using the system's default fhandle structure, simply to
3839	avoid extra malloc's and free's, because whereas nfsv2's fhandle
3840	structure is a simple 32-byte buffer, nfsv3's fhandle structures
3841	often just define a "char *" for the fhandle data, and the caller
3842	must malloc/free the space inside as needed.  Our code was never
3843	written with constructor/destructor callbacks for these nfsv3
3844	filehandles.  Moreover, we carefully wrote our own am_nfs_fh3
3845	structure so IT JUST SO HAPPENS to align with most (hopefully all)
3846	of the fhandle structures for v3: first four bytes are the length
3847	fields and the next four bytes are the fhandle data.  Sigh.
3848	Having this inconsistent use of v3 filehandles can be a real bear,
3849	because we simply cannot avoid using the system's default fhandle
3850	structure indirectly, through things like diropargs3 in
3851	xdr_diropargs3(), which has inside of it a reference to the
3852	system's default nfs_fh3 structure.  ANYWAY, the current fix I've
3853	come up with is to generalize the way we dereference field names
3854	within the nfs_fh3 structure (whether ours or the system's) and
3855	the same for the system's LOOKUP3res structure.  I'm not pleased
3856	with this fix; I'd rather we don't use our own am_nfs_fh3
3857	structure at all.
3858
3859	* libamu/xdr_func.c (xdr_am_nfs_fh3): always define this
3860	function if we have NFS3, because we often use our own,
3861	incompatible am_nfs_fh3 structure.
3862
3863	* include/am_xdr_func.h: We cannot use the native system's
3864	xdr_nfs_fh3 because we are defining our own incompatible
3865	am_hfs_fh3 structure for some systems.
3866
3867	* include/am_xdr_func.h: Define default values for field names of
3868	struct nfs_fh3 and LOOKUP3res.
3869
3870	* doc/am-utils.texi (debug_options Parameter): minor typo fixed.
3871
3872	* conf/nfs_prot/nfs_prot_freebsd3.h: FreeBSD uses different fields
3873	names for struct nfs_fh3 and LOOKUP3res, so override the default
3874	names here.
3875
3876	* configure.in: AMU_CHECK_FS_MNTENT(nfs3) test before
3877	AMU_STRUCT_NFS_FH3, because the latter depends on the former.
3878
3879	* amd/ops_nfs.c (prime_nfs_fhandle_cache): add {} to disambiguate
3880	and clarify if-the-else clauses.
3881
38822003-10-13  Ion Badulescu  <ionut@moisil.badula.org>
3883
3884	* amd/get_args.c (get_version_string): change "Built by" to
3885	"Configured by", and add a new "Built by" line using the variables
3886	below
3887
3888	* m4/update_build_version (vers): add BUILD_USER, BUILD_HOST, and
3889	BUILD_DATE to build_version.h
3890
3891	* amd/mntfs.c (locate_mntfs): fix restarted filesystems: mf_fo
3892	must be initialized even for them, otherwise we lose opt_sublink
3893	(and perhaps other options as well). Report from Rainer Orth.
3894
3895	* amd/amfs_generic.c (amfs_bgmount): The fix for the mf_fo NULL
3896	pointer dereferencing was a bit too aggressive and could end up
3897	not processing the sublink option if the filesystem was already
3898	mounted.
3899
39002003-10-11  Ion Badulescu  <ionut@moisil.badula.org>
3901
3902	Fix restarted filesystem by disabling the amfs_inherit filesystem
3903	and moving the restarting logic into the generic code. The old
3904	code is still there, will be removed sometime in the near future.
3905
3906	* amd/mntfs.c (locate_mntfs): disable amfs_inherit and simply
3907	return the pointer to the restarted filesystem
3908	(free_mntfs): check for the MFF_RESTART flag instead of the
3909	amfs_inherit ops
3910
3911	* amd/autil.c (mf_mounted): remove the MFF_RESTART flag once the
3912	filesystem is in use
3913
3914	* amd/amfs_nfsx.c (amfs_nfsx_init): only call fs_init() if the
3915	filesystem is not being restarted
3916	(amfs_nfsx_remount): if the filesystem is already mounted,
3917	short-circuit the code and just continue
3918
3919	* amd/amfs_generic.c (amfs_bgmount): only call fs_init() if the
3920	filesystem is not being restarted; remove hack that was used to
3921	work around an amfs_inherit problem
3922
39232003-10-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3924
3925	Use WebNFS to obtain file handles for mount(2).
3926
3927	* NEWS: Document WebNFS support.
3928
3929	* configure.in: Check for public mount option.
3930	* include/am_compat.h (MNTTAB_OPT_PUBLIC): Define if missing.
3931	* doc/am-utils.texi (opts Option): Renamed webnfs to public,
3932	update description.
3933
3934	* amd/amd.h (FSF_WEBNFS): New mntfs flag.
3935	* include/am_utils.h (RPC_XID_WEBNFS): New XID type.
3936
3937	* amd/amfs_host.c (amfs_host_mount, amfs_host_umounted): Reject
3938	WebNFS mount/umount attempts.
3939	* amd/ops_nfs.c (got_nfs_fh_mount): Renamed from got_nfs_fh.
3940	(got_nfs_fh_webnfs): New function.
3941	(flush_nfs_fhandle_cache): Don't invalidate port for WebNFS servers.
3942	(prime_nfs_fhandle_cache): Likewise.
3943	Remove unconditional return of public file handle for WebNFS, but
3944	get NFS file handles via mountd or WebNFS instead.
3945	(webnfs_lookup): New function.
3946	(nfs_umounted): Don't inform mountd if MFF_WEBNFS.
3947	* amd/rpc_fwd.c (fwd_packet, fwd_reply): Send/receive WebNFS
3948	packets.
3949	* amd/srvr_nfs.c (recompute_portmap): Don't contact portmap for
3950	WebNFS servers.
3951	Mention host in info message.
3952	(find_nfs_srvr): Handle public mount option.
3953	Prefer NFSv3/tcp if the client supports it.
3954	Allow port mount option to override default or result from portmap
3955	lookup.
3956
3957	* libamu/xdr_func.c (xdr_diropargs3, xdr_filename3,
3958	xdr_LOOKUP3args, xdr_LOOKUP3res, xdr_LOOKUP3resfail,
3959	xdr_LOOKUP3resok, xdr_nfs_fh3, xdr_nfsstat3): New functions.
3960	* include/am_xdr_func.h: Declare them.
3961	* configure.in: Check for them.
3962	* conf/nfs_prot/nfs_prot_linux.h: Provide missing NFSv3
3963	definitions and types.
3964
39652003-10-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3966
3967	Support IRIX 6 private mount option.
3968
3969	* configure.in (AC_CHECK_MNTTAB_OPTS): Check for private option
3970	name string.
3971	(AC_CHECK_MNT2_NFS_OPTS): Check for private NFS mount option (IRIX 6).
3972	* aux/macros/header_templates.m4 (MNTTAB_OPT_PRIVATE,
3973	MNT2_NFS_OPT_PRIVATE): Provide templates.
3974	* include/am_compat.h (MNTTAB_OPT_PRIVATE): Define if missing.
3975	* doc/am-utils.texi (opts Option): Document it.
3976
39772003-10-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3978
3979	* doc/am-utils.texi (opts Option): Fix Tru64 UNIX name in proplist
3980	mount option.
3981
39822003-10-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3983
3984	* libamu/mount_fs.c (compute_nfs_args) [HAVE_NFS_ARGS_T_FH_LEN]:
3985	Don't reference removed fh3.
3986
39872003-10-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3988
3989	* NEWS: New minor port sparc-sun-solaris2.10 (Solaris 10).
3990
3991	* INSTALL: Mention test status of various ports.
3992	Describe IRIX 6 autofs status.
3993
39942003-10-09  Ion Badulescu  <ionut@moisil.badula.org>
3995
3996	* NEWS: updated
3997
3998	* amd/amfs_generic.c (amfs_bgmount): don't use mf_fo until after
3999	we've done all the tests and we know we have a valid and mountable
4000	mntfs. Otherwise we could end up dereferencing null pointers.
4001
4002	* amd/amd.h: fixed a copy&paste comment bug
4003
4004	* amd/am_ops.c (ops_match): minor code cleanup
4005
4006	* doc/am-utils.texi: fixed various typos; added warning about the
4007	racy nature of nfsx; removed duplicated listing of debug options;
4008	added paragraph about signals supported by hlfsd; removed the long
4009	list of (maybe) supported platforms since it duplicates the list
4010	in INSTALL.
4011
40122003-10-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4013
4014	Simplify FD_SET etc. use.
4015
4016	* include/am_defs.h (FD_SET, FD_ISSET, FD_CLR, FD_ZERO): Provide
4017	if missing.
4018	(rpc_pending_now, run_rpc): Use them.
4019	* configure.in: Check for fds_bits field in fd_set.
4020	* amd/nfs_start.c (run_rpc): Use it.
4021
40222003-10-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4023
4024	Improve RPC XID handling.
4025
4026	* amd/rpc_fwd.c (fwd_packet, fwd_reply): Always log xid.
4027	Convert xid to/from host/network byte order.
4028
40292003-10-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4030
4031	Use NFS V2/V3 file handles instead of mount results.
4032
4033	* include/am_utils.h (am_nfs_fhandle): Use NFS V2/V3 file handles
4034	only, not MOUNTPROC_MNT results.
4035	* amd/amfs_host.c (fetch_fhandle): Use local variables to store
4036	MOUNTPROC_MNT results.
4037	* amd/autil.c (amfs_mount): Use new am_nfs_fhandle_t.
4038	* amd/ops_nfs.c (struct fh_cache): New member fh_status.
4039	(got_nfs_fh): Use local variables to store MOUNTPROC_MNT results.
4040	Store MOUNTPROC_MNT errors in fh_status.
4041	(prime_nfs_fhandle_cache): Get fh_error from fh_status.
4042	* hlfsd/hlfsd.c (main): Use new am_nfs_fhandle_t.
4043	* libamu/mount_fs.c (compute_nfs_args): Copy NFS V2/V3 file
4044	handles straight from new am_nfs_fhandle_t.
4045
40462003-10-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4047
4048	* amd/clock.c (CID_ALLOC): Remove unused argument.
4049	(timeout): Likewise.
4050
4051	* amd/ops_nfs.c (FHID_ALLOC): Remove unused argument.
4052	(prime_nfs_fhandle_cache): Likewise.
4053	(call_mountd): Use UDPMSGSIZE instead of magic constant.
4054
4055	* amd/rpc_fwd.c (XID_ALLOC): Remove unused argument.
4056	(fwd_packet): Likewise.
4057	Handle TLOOK error from t_rcvudata().
4058
40592003-09-30  Ion Badulescu  <ionut@moisil.badula.org>
4060
4061	* NEWS: updated
4062
4063	* libamu/mount_fs.c (mount_fs): don't try to recreate the mount
4064	point if the mount fails with ENOENT: in the best case we would be
4065	papering over a bug, and in the worst case we could cause a
4066	deadlock (with autofs). If there are races, they need to be
4067	exposed and fixed properly.
4068
4069	* conf/autofs/autofs_solaris_v1.h,
4070	  conf/autofs/autofs_solaris_v2_v3.h,
4071	  conf/autofs/autofs_linux.h: (AUTOFS_NFSX_FS_FLAGS): autofs
4072	semantics don't allow us to mount nfsx directly onto an autofs
4073	mountpoint, so disallow it
4074
4075	* amd/amfs_nfsx.c (amfs_nfsx_match): more restrictive sanity check
4076	to avoid trying to memmove(foo, bar, (unsigned)-1) due to invalid
4077	map entries...
4078	(amfs_nfsx_cont): amfs_retry does most of the cleanup work for us
4079	in the upper layer, so don't do anything else beside wakeup() on
4080	success
4081	(amfs_nfsx_remount): only create the mountpoints as we need them,
4082	avoids creating them on the wrong filesystem in the case of
4083	hierarchical mounts; fix crash-generating typo (m should really be
4084	mf and I swear I hate single-character variable names)
4085
4086	* amd/amfs_generic.c (amfs_cont): one more dlog
4087	(amfs_bgmount): amazingly enough, even foreground mounts can be
4088	backgrounded (in the case of nfsx), so account for this
4089	possibility and permit retries
4090
4091	* m4/macros/check_autofs_style.m4 (AMU_AUTOFS_PROT_HEADER): define
4092	and AC_SUBST it as ${top_builddir}/amu_autofs_prot.h
4093
4094	* amd/Makefile.am ($(amd_OBJECTS) $(EXTRA_amd_OBJECTS)): depend on
4095	@AMU_AUTOFS_PROT_HEADER@
4096
40972003-09-29  Erez Zadok  <ezk@urd.fsl.cs.sunysb.edu>
4098
4099	* minor new port mipsel-unknown-linux-rhPS2 (Linux on Sony
4100	PlayStation 2)
4101
4102	* amd/srvr_nfs.c (find_nfs_srvr): don't run code that expects
4103	"char protocols[]" unless MNTTAB_OPT_PROTO is defined.
4104
41052003-09-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4106
4107	Consolidate alloca support.
4108
4109	* amd/amq_svc.c: Move alloca support ...
4110	* include/am_defs.h: ... here.
4111	* amd/conf_parse.y: Remove alloca support.
4112	* fsinfo/fsi_gram.y: Likewise.
4113
41142003-09-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4115
4116	Handle Solaris 10.
4117	* m4/macros/check_nfs_prot_headers.m4
4118	(AMU_CHECK_NFS_PROT_HEADERS): Don't use wildcards for
4119	sunos5.[0-3], solaris 2.[0-3], there were no micro releases.
4120	Explicitly match sunos5*, solaris2* for Solaris 8 and beyond.
4121
4122	* m4/macros/os_cflags.m4 (AMU_OS_CFLAGS): Dont use wildcards for
4123	solaris2.[0-5], sunos5.[0-5], but explicitly handle Solaris 2.5
4124	micro releases to cope with Solaris 2.5.1.
4125	Explicitly match solaris2*, sunos5*.
4126
41272003-09-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4128
4129	* amd/amq_svc.c: Provide alloca prerequisites.
4130
4131	* conf/transp/transp_tli.c (register_autofs_service): Fix typo.
4132
41332003-09-23  Ion Badulescu  <ion@opteron.tower-research.com>
4134
4135	* minor new port: x86_64-unknown-linux-rh2.9.5AS. (Red Hat
4136	Enterprise Linux 3.0 beta running on a 64-bit AMD64 platform)
4137
41382003-09-22  Ion Badulescu  <ionut@buggy.badula.org>
4139
4140	* conf/autofs/autofs_solaris_v1.c (autofs_mount_fs): compile fix
4141
41422003-09-19  Ion Badulescu  <ionut@moisil.badula.org>
4143
4144	* amd/amfs_nfsl.c (amfs_nfsl_match): checking opt_fs is not always
4145	enough, we should lstat() the sublink if it's defined.
4146	(amfs_nfsl_ffserver): ditto
4147	(ALL): Removed some obsolete comments. The nfsl code is now little
4148	more than a very straight-forward switch between link and nfs.
4149
4150	* amd/amfs_link.c (amfs_link_match): more up-to-date explanation
4151	for the prepend-the-dot hack for type link; also, the sublink is
4152	already normalized and absolute, so take advantage of that
4153
4154	* amd/amfs_generic.c (amfs_lookup_one_mntfs): the sublink is
4155	already normalized and absolute, so take advantage of that
4156
4157	* amd/am_ops.c (ops_match): normalize the sublink here, early into
4158	the matching process
4159
4160	* amd/autil.c (am_mounted): be consistent and accept both
4161	"nounmount" and "noumount" as pseudo mount options (same as
4162	"unmount" and "umount" nearby)
4163
4164	* amd/Makefile.am (build_version.h): fixed dependencies (depends
4165	on amd_OBJECTS, not OBJECTS -- which doesn't even exist)
4166
41672003-09-19  Erez Zadok  <ezk@dhcp8.fsl.cs.sunysb.edu>
4168
4169	* amd/amq_subr.c (amqproc_export_1_svc): force double casting to
4170	avoid gcc-3.3 complaints on Solaris 9 about "dereferencing
4171	type-punned pointer will break strict-aliasing rules".
4172
41732003-09-16  Ion Badulescu  <ionut@moisil.badula.org>
4174
4175	* Released beta version 6.1b4
4176
41772003-09-15  Ion Badulescu  <ionut@moisil.badula.org>
4178
4179	* doc/am-utils.texi (opts Option): removed documentation for old
4180	ignore_portmapper mount option, documented the new webnfs option
4181
4182	* NEWS: webnfs support
4183
4184	* amd/srvr_nfs.c (find_nfs_srvr): set MFF_WEBNFS if the "webnfs"
4185	(former "ignore_portmapper") mount option is present
4186
4187	* amd/ops_nfs.c (prime_nfs_fhandle_cache): generate a public
4188	filehandle (all zeros) if MFF_WEBNFS is set
4189	(nfs_umounted): don't talk to mountd if MFF_WEBNFS is set
4190
4191	* amd/amd.h (MFF_WEBNFS): new flag, obvious meaning
4192
41932003-09-13  Ion Badulescu  <ionut@moisil.badula.org>
4194
4195	* amd/srvr_nfs.c: renamed np_xid to global_xid; sanitized the
4196	NPXID_ALLOC macro and renamed it to XID_ALLOC; renamed start_ping
4197	to create_ping_payload; renamed nfs_pinged to
4198	nfs_keepalive_callback; renamed nfs_timed_out to
4199	nfs_keepalive_timeout; renamed nfs_srvr_port to get_mountd_port;
4200	made ping_buf and ping_len arrays with one element for each
4201	supported nfs version
4202
4203	* amd/amd.h: renamed nfs_srvr_port() to get_mountd_port()
4204
4205	* amd/amfs_host.c (amfs_host_init): ditto
4206
4207	* amd/ops_nfs.c (call_mountd): ditto
4208
42092003-09-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4210
4211	* BUGS: Mention fix for broken Solaris 8 <rpcsvc/autofs_prot.h>
4212	patches.
4213
42142003-08-31  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
4215
4216	* amd/autil.c (strealloc): don't call malloc_verify() unless it
4217	exists.
4218
4219	* configure.in: move "OPTION PROCESSING" section (opt_debug etc.)
4220	after we figure out PROG_CC and other compiler features, because
4221	some of the option processing macros need a compiler to function.
4222
4223	* libamu/xutil.c: don't define variables that won't be used unless
4224	mallinfo() and malloc_verify() exist.
4225	(real_plog): don't call checkup_mem unless
4226	mallocinfo() and malloc_verify() exist.
4227	(checkup_mem): don't define this function unless mallocinfo() and
4228	malloc_verify() exist.
4229
4230	* m4/macros/opt_debug.m4: check for functions malloc_verify and
4231	mallinfo in general libraries and then in libmapmalloc and
4232	libmalloc.  These seem to have disappeared in FreeBSD 5.x.
4233
4234	* libamu/xutil.c (dxfree): print pointer using %p
4235
42362003-08-29  Erez Zadok  <ezk@a-opendarwin.fsl.cs.sunysb.edu>
4237
4238	* configure.in: start 6.1b4-pre officially (belated)
4239
4240	* minor new port: i686-apple-darwin6.6
4241
42422003-08-27  Ion Badulescu  <ionut@moisil.badula.org>
4243
4244	* conf/autofs/autofs_solaris_v1.c: convert relative targets to
4245	absolute paths when using lofs mounts
4246
4247	* conf/autofs/autofs_solaris_v2_v3.c: ditto
4248
4249	* conf/autofs/autofs_linux.c: ditto
4250
42512003-08-27  Ion Badulescu  <ionut@buggy.badula.org>
4252
4253	* README.autofs: added a paragraph about the resource consumption
4254	of auto maps over autofs
4255
4256	* amd/amfs_generic.c (amfs_lookup_one_mntfs): moved the setting of
4257	the MFF_IS_AUTOFS flag from init_mntfs() to
4258	amfs_lookup_one_mntfs(), where it belongs
4259
4260	* amd/mntfs.c (init_mntfs): ditto
4261
42622003-08-27  Ion Badulescu  <ion@guppy.limebrokerage.com>
4263
4264	* amd/ops_nfs.c (got_nfs_fh): make the error EACCES if we are
4265	denied a filehandle by the server (used to be EIO)
4266
42672003-08-27  Erez Zadok  <ezk@a-bsdi42.fsl.cs.sunysb.edu>
4268
4269	* conf/nfs_prot/nfs_prot_bsdi3.h: support na_uid and na_gid.
4270
42712003-08-27  Ion Badulescu  <ionut@moisil.badula.org>
4272
4273	* conf/autofs/autofs_linux.c (autofs_mount_succeeded): force
4274	daemon-initiated timeouts on autofs filesystems, since apparently
4275	they appear as "always busy" to the kernel-based expiration routine
4276
42772003-08-26  Ion Badulescu  <ionut@buggy.badula.org>
4278
4279	* NEWS: updated
4280
4281	* conf/autofs/autofs_linux.h (AUTOFS_LINK_FS_FLAGS): remove
4282	FS_ON_AUTOFS
4283	(AUTOFS_LINKX_FS_FLAGS): ditto
4284
4285	* conf/autofs/autofs_solaris_v1.h (AUTOFS_LINK_FS_FLAGS): remove
4286	FS_ON_AUTOFS
4287	(AUTOFS_LINKX_FS_FLAGS): ditto
4288
4289	* conf/autofs/autofs_solaris_v2_v3.h (AUTOFS_LINK_FS_FLAGS): remove
4290	FS_ON_AUTOFS
4291	(AUTOFS_LINKX_FS_FLAGS): ditto
4292
4293	* amd/amfs_generic.c (amfs_lookup_one_mntfs): don't modify the
4294	original opt_fs, instead store the new mount point for autofs in a
4295	temporary variable and pass it around. Fixes a problem with the
4296	link side of nfsl.
4297
42982003-08-25  Ion Badulescu  <ionut@moisil.badula.org>
4299
4300	* NEWS: updated
4301
4302	* amd/ops_nfs.c (prime_nfs_fhandle_cache): use get_mntfs_wchan to
4303	initialize the fh_wchan member of the cache entry
4304	(prime_nfs_fhandle_cache): use get_mntfs_wchan for the wchan_t
4305	argument of call_mountd()
4306
4307	* amd/map.c (free_map_if_success): use get_mntfs_wchan for the
4308	wchan_t argument of wakeup()
4309
4310	* amd/amfs_nfsx.c (amfs_nfsx_cont): use get_mntfs_wchan for the
4311	wchan_t argument of wakeup_task() and wakeup()
4312
4313	* amd/amfs_host.c (amfs_host_init): use get_mntfs_wchan for the
4314	wchan_t argument of nfs_srvr_port()
4315
4316	* amd/amfs_generic.c (ALL): use get_mntfs_wchan for the wchan_t
4317	argument of sched_task() and wakeup()
4318	(amfs_retry): minor cleanup
4319	(amfs_bgmount): call nfs_quick_reply on failure
4320
4321	* amd/sched.c (get_mntfs_wchan): new function which calls the
4322	member function get_wchan if defined, otherwise returns the mntfs
4323	pointer itself
4324
4325	* amd/amfs_inherit.c (amfs_inherit_get_wchan): new function,
4326	calls get_mntfs_wchan() on the inherited filesystem
4327
4328	* amd/amfs_*.c, amd/ops_*.c: initialize the new get_wchan member
4329	of the ops to 0
4330
4331	* amd/amd.h: new function type vget_wchan
4332	(struct mntfs): new member get_wchan which returns the waiting
4333	channel associated with the mntfs (normally itself)
4334
43352003-08-22  Ion Badulescu  <ion@guppy.limebrokerage.com>
4336
4337	* conf/mount/mount_linux.c (parse_opts): minor cleanup
4338
4339	* conf/autofs/autofs_linux.c (autofs_handle_fdset): added missing
4340	break in case autofs_ptype_expire_multi
4341
43422003-08-22  Ion Badulescu  <ionut@moisil.badula.org>
4343
4344	* conf/autofs/autofs_solaris_v1.h: undefine autofs support if
4345	autofs_args_t cannot be determined (hopefully fixes a reported
4346	IRIX 6.5.4 problem).
4347
4348	* conf/autofs/autofs_solaris_v1.c: wrap entire file in #ifdef
4349	HAVE_FS_AUTOFS / #endif (see above)
4350
4351	* conf/autofs/autofs_linux.h: undefine autofs support if the
4352	necessary header files are not found (fixes a reported RedHat 6.2
4353	Sparc problem).
4354
4355	* conf/autofs/autofs_linux.c: wrap entire file in #ifdef
4356	HAVE_FS_AUTOFS / #endif (see above)
4357
4358	* libamu/mount_fs.c (compute_nfs_args): only use MNT2_NFS_OPT_SOFT
4359	if autoconf detected it (fixes a reported RedHat 6.2 Alpha problem).
4360
4361	* amd/map.c (unmount_mp, unmount_exported): move the code that
4362	changes the fattr from NFLNK to NFDIR from unmount_mp to
4363	unmount_exported, it was causing troubles (ESTALE) after failed
4364	unmounts. This is still very very unclean, but it's the same as the
4365	old 6.0 code.
4366
43672003-08-22  Nick Williams <Nick.Williams@morganstanley.com>
4368
4369	* amd/info_ldap.c (amu_ldap_init): don't try to pass a null
4370	pointer as a string to plog, Solaris (and other OS's) don't like
4371	it and will dump core.
4372
43732003-08-13  Ion Badulescu  <ion@guppy.limebrokerage.com>
4374
4375	* amd/amd.h: introduced two new types, wchan_t and opaque_t, as
4376	aliases of voidp. This makes reading the code easier on the eyes. :)
4377
4378	* ALL: replace various instances of voidp with wchan_t and
4379	opaque_t, as appropriate
4380
43812003-08-13  Ion Badulescu  <ionut@nicu.badula.org>
4382
4383	* NEWS, configure.in: bumped version up to 6.1b4-pre
4384
43852003-08-13  Ion Badulescu  <ionut@moisil.badula.org>
4386
4387	* Released beta version 6.1b3
4388
43892003-08-13  Ion Badulescu  <ion@guppy.limebrokerage.com>
4390
4391	* conf/autofs/autofs_linux.c (autofs_mount_fs): HACK: always use
4392	symlinks for host mounts; assorted fixes for the symlink mode
4393
43942003-08-05  Ion Badulescu  <ionut@moisil.badula.org>
4395
4396	* conf/umount/umount_default.c (umount_fs): enable space hack
4397	handling for autofs v1
4398
4399	* amd/map.c (get_first_exported_ap, get_next_exported_ap): new
4400	functions that facilitate iterating through the list of
4401	mountpoints
4402
4403	* amd/amfs_union.c (amfs_union_mounted): use get_first_exported_ap
4404	and get_next_exported_ap
4405
4406	* conf/autofs/autofs_solaris_v2_v3.c (autofs_unmount_2_req): ditto
4407
44082003-08-04  Erez Zadok  <ezk@ulkesh.dyn.optonline.net>
4409
4410	* configure.in: check if system stores mount tables in files
4411	(usually in /etc), and configure couldn't find a definition for
4412	either struct mntent or struct mnttab.  If so, abort configure
4413	because this could be a new/misconfigured system, or a bug in
4414	am-utils.
4415
44162003-08-04  Ion Badulescu  <ionut@moisil.badula.org>
4417
4418	* conf/autofs/autofs_solaris_v2_v3.c (autofs_umount_fs): fix
4419	compile warning
4420
44212003-08-04  Ion Badulescu  <ionut@buggy.badula.org>
4422
4423	* conf/autofs/autofs_linux.c (autofs_mount_fs): don't call
4424	ops->mount_fs() for an already mounted filesystem
4425	(autofs_umount_fs): only call ops->umount_fs() if we're holding
4426	the last reference to the filesystem
4427
4428	* conf/autofs/autofs_solaris_v1.c (autofs_mount_fs): ditto
4429	(autofs_umount_fs): ditto
4430
4431	* conf/autofs/autofs_solaris_v2_v3.c (autofs_mount_fs): ditto
4432	(autofs_umount_fs): ditto
4433
4434	* amd/amfs_generic.c (amfs_lookup_mntfs): remove the shortcut for
4435	already-mounted filesystems
4436	(amfs_cont): only release the autofs_fh if the filesystem is not
4437	mounted; add another comment about the NFS_SCALEDOWN hack
4438	(amfs_bgmount): if the mntfs is already mounted, skip just the
4439	filesystem initialization, but do call mount_node()
4440
4441	* amd/map.c (mount_node): always call autofs_mount_fs(), but only
4442	call ops->mount_fs() if the mntfs is not yet mounted
4443	(unmount_node): always call autofs_umount_fs(), but only call
4444	ops->umount_fs() if the refcount on the mntfs equals 1.
4445
44462003-08-02  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
4447
4448	* conf/nfs_prot/nfs_prot_openbsd.h: include <ufs/ufs/ufsmount.h>
4449	here with the proper workarounds for openbsd3.3 (define MAXQUOTAS,
4450	define dummy struct netexport, and include <ufs/ufs/extattr.h>
4451	wrapped in _KERNEL).
4452
4453	* conf/nfs_prot/nfs_prot_freebsd3.h: include <ufs/ufs/ufsmount.h>
4454	here with the proper workarounds for freebsd5.1 (define dummy
4455	struct ufs_extattr_per_mount).
4456
4457	* conf/nfs_prot/nfs_prot_bsdi2.h: include <ufs/ufs/ufsmount.h>
4458	here with the proper workarounds for bsdi2 (define MAXQUOTAS and
4459	dummy struct netexport).
4460
4461	* include/mount_headers1.h: do not include <ufs/ufs/ufsmount.h>
4462	here, b/c every *BSD system has some sort of problem in including
4463	this header file, which includes ugly workarounds.  Inclusion of
4464	this header was already moved out of am_defs.h (used to compile
4465	amd), but we forgot to move it out of mount_headers1.h (used to
4466	configure).  The specific inclusion of ufsmount.h is now in the OS
4467	specific nfs_prot.h file.
4468
4469	* configure.in: if configure could not find any definition for
4470	"struct nfs_args", abort configure with an explanatory message.
4471	There's no point in continuing, as this could be a system bug,
4472	buggy am-utils, or a new system to which am-utils wasn't ported to
4473	yet.
4474
4475	* minor new port: i386-pc-solaris2.9
4476
44772003-08-01  Ion Badulescu  <ionut@buggy.badula.org>
4478
4479	* doc/am-utils.texi (NFS-Link Filesystem): make the documentation
4480	match the code (as well as basic logic operations: the negation of
4481	'a or b' is 'not a and not b', not 'not a or not b')
4482
44832003-08-01  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
4484
4485	* minor new port: i386-unknown-openbsd3.3.
4486
4487	* m4/macros/check_libwrap_severity.m4: new macro to check if
4488	libwrap includes the integer variables deny_severity and
4489	allow_severity, since some libwrap implementations do and others
4490	don't.  The test tries to compile and run a simple empty main()
4491	program, then the same program while defining these two variables:
4492	comparing the results of the two tests, we can tell whether we
4493	should define NEED_LIBWRAP_SEVERITY_VARIABLES.
4494
4495	* Makefile.am (EXTRA_DIST_M4): distribute new macro
4496	check_libwrap_severity.m4.
4497
4498	* m4/macros/header_templates.m4: template for HAVE_LIBWRAP (which
4499	we must define explicitly since we've overridden the
4500	action-if-found in AC_CHECK_LIB(wrap).  Also template for
4501	NEED_LIBWRAP_SEVERITY_VARIABLES.
4502
4503	* amd/amq_svc.c: if libwrap does not include the severity
4504	variables, then define and initialize them here.
4505
4506	* amd/Makefile.am (LIBS): explicitly include @WRAPLIB@ only for
4507	Amd binary.  Other am-utils binaries don't need -lwrap.
4508
4509	* configure.in: if libwrap is found, only define it in @WRAPLIB@,
4510	so we don't automatically link every am-utils binary with -lwrap.
4511	Run test for existence of severity variables in libwrap.
4512
45132003-07-31  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
4514
4515	* conf/nfs_prot/nfs_prot_openbsd.h: define struct fattr fields uid
4516	and gid.
4517
4518	* configure.in: move check for AC_CHECK_LIB(libwrap) as far down
4519	as possible because on modern tcpwrapper systems such as openbsd,
4520	the caller must provide two symbols: deny_severity and
4521	allow_severity, which determine the logging level of rejected and
4522	requested requests, respectively.  If this check happens too
4523	early, then $LIBS includes -lwrap, which causes many subsequent
4524	tests that need to run a compiled program to fail with missing
4525	symbols.
4526
4527	* m4/macros/header_templates.m4: fix typo in template for
4528	readdirplus.
4529
4530	* configure.in: check for <ufs/ufs/extattr.h> (OpenBSD 3.3)
4531
4532	* minor new port: i386-unknown-netbsdelf1.6.1.
4533
4534	* configure.in: save state before system-specific tests are run.
4535
4536	* m4/macros/check_gnu_getopt.m4: do NOT abort ./configure just
4537	because the compiled test program failed to run.
4538
45392003-08-01  Ion Badulescu  <ionut@buggy.badula.org>
4540
4541	* NEWS, README.autofs: updated
4542
4543	* libamu/mount_fs.c (mount_fs): added support for the space hack
4544
4545	* doc/am-utils.texi: mention than UFS/XFS/EFS/CacheFS filesystems
4546	are not expired by default; correct and expand the section
4547	describing the program filesystem
4548
4549	* conf/autofs/autofs_solaris_v2_v3.h (AUTOFS_*_FS_FLAGS): add
4550	FS_ON_AUTOFS for supported filesystems
4551
4552	* conf/autofs/autofs_solaris_v2_v3.c (autofs_mount_fs): call
4553	mf->mount_fs()
4554	(autofs_umount_fs): call mf->umount_fs()
4555
4556	* conf/autofs/autofs_solaris_v1.h (autofs_strdup_space_hack): add
4557	prototype for malloc()
4558	(AUTOFS_*_FS_FLAGS): lose the FS_MKMNT flags, add FS_ON_AUTOFS for
4559	supported filesystems
4560
4561	* conf/autofs/autofs_solaris_v1.c (autofs_mount_fs): add support
4562	for the space hack; call mf->mount_fs()
4563	(autofs_umount_fs): add support for the space hack; call
4564	mf->umount_fs()
4565	(autofs_mount_succeeded): add support for the space hack
4566
4567	* conf/autofs/autofs_linux.h: lose the FS_MKMNT flags, add
4568	FS_ON_AUTOFS for supported filesystems
4569
4570	* conf/autofs/autofs_linux.c (AUTOFS_MAX_VERSION): define to
4571	AUTOFS_MAX_PROTO_VERSION instead of hardcoding to 4
4572	(autofs_mounted): host mounts are now supported on all autofs
4573	versions, remove the hack to turn it off on v3
4574	(autofs_mount_fs): call mf->mount_fs(), create/remove mountpoints
4575	as needed
4576	(autofs_umount_fs): call mf->umount_fs(), remove mountpoints on
4577	success
4578	(ALL): use '#if AUTOFS_MAX_VERSION >= 4' instead of
4579	'#ifdef autofs_ptype_expire_multi'
4580
4581	* amd/map.c (mount_node): autofs_mount_fs() now calls
4582	mf->mount_fs() internally
4583	(unmount_node): autofs_umount_fs() now calls mf->umount_fs()
4584	internally
4585
4586	* amd/autil.c (am_mounted): minor cleanup
4587
4588	* amd/amfs_program.c (amfs_program_ops): added FS_MKMNT to
4589	nfs_fs_flags
4590
4591	* amd/amfs_generic.c (amfs_lookup_one_mntfs): use the FS_ON_AUTOFS
4592	flag instead of hardcoding filesystem types
4593	(amfs_bgmount): better mount_type logging
4594
4595	* amd/amd.h (FS_ON_AUTOFS): new flag which tells the code that
4596	this filesystem can be mounted directly onto an autofs mountpoint
4597
45982003-07-31  Ion Badulescu  <ionut@buggy.badula.org>
4599
4600	* amd/amfs_nfsl.c (amfs_nfsl_umount): fix copy&paste error (was
4601	calling amfs_link_ops.umount_fs() for NFS filesystems)
4602	(amfs_nfsl_umounted): remove rmdirs() hack, it is now handled
4603	properly elsewhere
4604	(amfs_nfsl_ffserver): remove FS_MKMNT from mf_fsflags if we're
4605	using link (not NFS)
4606
46072003-07-31  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4608
4609	* README.autofs: Correct IRIX spelling.
4610	AutoFS support exists only on IRIX 6.
4611	Update IRIX 6 status.
4612
4613	Allow AutoFS V1 support to compile on IRIX 6.
4614	* conf/autofs/autofs_solaris_v1.c (autofs_mount_1_req): Add
4615	SVCXPRT * arg.
4616	Remove superfluous \n from dlog messages.
4617	(autofs_unmount_1_req): Likewise.
4618	Switch to get_exported_ap.
4619	(autofs_program_1): Invoke handlers with additional transp arg.
4620	* conf/autofs/autofs_solaris_v1.h: Use autofs_args_t to define
4621	autofs_fh_t, struct auto_args doesn't exist on IRIX 6.
4622
4623	* conf/mount/mount_irix6.c (mount_irix) [HAVE_FS_AUTOFS]: Support
4624	AutoFS mounts.
4625	[HAVE_FS_LOFS]: Likewise for lofs mounts.
4626
4627	* conf/nfs_prot/nfs_prot_irix6.h (AUTOFS_CONFTYPE): Define.
4628	Don't disable AutoFS support any more.
4629
4630	* conf/transp/transp_sockets.c [HAVE_FS_AUTOFS && AUTOFS_PROG]
4631	(register_autofs_service): Define autofs_xprt.
4632
4633	* m4/macros/check_autofs_style.m4 (AMU_CHECK_AUTOFS_STYLE): Update
4634	Solaris 8+ comment to mention AutoFS V4.
4635	(irix6*): Enable AutoFS V1 support on IRIX 6.
4636
46372003-07-30  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
4638
4639	* NEWS, doc/am-utils.texi, scripts/amd.conf.5: revised explanation
4640	of autofs_use_lofs.
4641
46422003-07-30  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4643
4644	* amd/ops_efs.c (efs_mount): Replace on_autofs arg with
4645	MFF_ON_AUTOFS flag.
4646	(efs_umount): Likewise.
4647
46482003-07-30  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
4649
4650	* conf/umount/umount_bsd44.c (umount_fs): convert to new way of
4651	unmounting which takes autofs into account.
4652
46532003-07-30  Ion Badulescu  <ionut@moisil.badula.org>
4654
4655	* ALL: renamed MFF_AUTOFS to MFF_IS_AUTOFS; removed mf_real_mount
4656	hack; pass a new on_autofs argument to mount/umount function,
4657	based on the MFF_ON_AUTOFS mntfs flag
4658
4659	* NEWS, README.autofs: updated
4660
4661	* scripts/amd.conf.5: document new option autofs_use_lofs
4662
4663	* scripts/amd.conf-sample (autofs_use_lofs): document new option
4664
4665	* m4/macros/check_autofs_style.m4 (am_utils_link_files): symlink
4666	the autofs header as amu_autofs_prot.h instead of slurping it into
4667	aux_conf.h
4668
4669	* libamu/mount_fs.c (mount_fs): removed old stub, renamed
4670	mount_fs2 to mount_fs, added new argument on_autofs
4671
4672	* doc/am-utils.texi (Direct Automount Filesystem): document
4673	problems with nfs direct mounts on modern kernels, document good
4674	autofs support for direct mounts on Solaris
4675	(autofs_use_lofs Parameter): document this new option
4676	(browsable_dirs Parameter): note that mount storms are avoided
4677	when using autofs
4678
4679	* conf/umount/umount_bsd44.c (umount_fs): removed old stub,
4680	renamed umount_fs2 to umount_fs
4681
4682	* conf/umount/umount_osf.c (umount_fs): removed old stub,
4683	renamed umount_fs2 to umount_fs, added new argument on_autofs
4684
4685	* conf/umount/umount_default.c (umount_fs): ditto as above; return
4686	an error on ENOENT instead of faking success
4687
4688	* conf/autofs/autofs_solaris_v2_v3.c (autofs_lookup_2_req): much
4689	simplified, now only consults the map for existance of the key and
4690	returns success if key is found
4691	(autofs_mount_2_req): request symlinks if CFM_AUTOFS_USE_LOFS is
4692	not on;
4693	(autofs_mount_2_free): implemented
4694	(autofs_unmount_2_req): use get_exported_ap() instead of
4695	referencing export_ap directly
4696	(autofs_mount_succeeded): remove code for replying to lookup
4697	requests, now only mount requests can end up here
4698	(autofs_mount_failed): ditto
4699
4700	* conf/autofs/autofs_solaris_v1.h (AUTOFS_HOST_FS_FLAGS): removed
4701	FS_AUTOFS
4702	(AUTOFS_DIRECT_FS_FLAGS): added FS_DIRECTORY
4703
4704	* conf/autofs/autofs_solaris_v2_v3.h (AUTOFS_HOST_FS_FLAGS): removed
4705	FS_AUTOFS
4706	(AUTOFS_DIRECT_FS_FLAGS): added FS_DIRECTORY
4707	(AUTOFS_LINK_FS_FLAGS): added FS_MBACKGROUND
4708
4709	* conf/autofs/autofs_linux.c (autofs_bind_umount): new function,
4710	factored out of autofs_umount_fs()
4711	(autofs_mount_fs): renamed from autofs_link_mount() and expanded
4712	to deal with filesystems mounted indirectly (via lofs/bind
4713	mounts) on autofs and to observe the new CFM_AUTOFS_USE_LOFS flag
4714	(autofs_umount_fs): ditto, from autofs_link_umount()
4715
4716	* conf/autofs/autofs_solaris_v1.c (autofs_mount_fs): ditto
4717	* (autofs_umount_fs): ditto
4718
4719	* conf/autofs/autofs_solaris_v2_v3.c (autofs_mount_fs): ditto
4720	* (autofs_umount_fs): ditto
4721
4722	* amd/opts.c: made fs_static static
4723
4724	* amd/ops_nfs.c: made nfs_init, nfs_match, nfs_mount, nfs_umount
4725	and nfs_umounted static
4726	(mount_nfs_fh): removed unnecessary arguments
4727
4728	* amd/ops_cachefs.c (cachefs_ops): use amfs_generic_find_srvr for
4729	the ffserver method, because using NULL causes problems
4730
4731	* amd/ops_cdfs.c (cdfs_ops): ditto
4732
4733	* amd/ops_efs.c (efs_ops): ditto
4734
4735	* amd/ops_lofs.c (lofs_ops): ditto
4736
4737	* amd/ops_pcfs.c (pcfs_ops): ditto
4738
4739	* amd/ops_ufs.c (ufs_ops): ditto
4740
4741	* amd/ops_xfs.c (xfs_ops): ditto
4742
4743	* amd/nfs_subr.c (fh_to_mp3, fh_to_mp, mp_to_fh): moved here from
4744	map.c
4745
4746	* amd/nfs_start.c: use get_exported_ap() instead of referencing
4747	exported_ap directly
4748
4749	* amd/mntfs.c (locate_mntfs): new function, factored out of
4750	find_mntfs
4751	(locate_mntfs): special-case FS_DIRECT filesystems: for direct
4752	mounts we will have two filesystems mounted on the same m/p
4753	(realloc_mntfs): removed the old EZK hack for failovers
4754
4755	* amd/map.c (get_exported_ap): new function that returns an
4756	exported_ap member by its index
4757	(root_node,exported_ap,exported_ap_size,first_free_map,last_used_map):
4758	made static
4759	(fh_to_mp3, fh_to_mp, mp_to_fh): moved to nfs_subr.c
4760	(get_root_ap): removed unused second argument
4761	(unmount_mp): moved the mk_fattr(NFDIR) here from umount_exported
4762	to catch more cases
4763	(mount_node): call autofs_mount_fs after ops->mount_fs for autofs
4764	nodes
4765	(unmount_node): call autofs_umount_fs before ops->umount_fs for
4766	autofs nodes
4767
4768	* amd/conf.c: new global option "autofs_use_lofs", takes yes/no
4769	values
4770
4771	* amd/autil.c (amfs_mount): take an extra argument (mf)
4772	(amfs_mount): call autofs_compute_mount_flags() for mounts
4773	directly on autofs m/p
4774	(am_unmounted): document and avoid the race between am_umounted()
4775	at shutdown time and amfs_cont()
4776
4777	* amd/amfs_union.c (amfs_union_mounted): use get_exported_ap()
4778	instead of referencing internal map variables directly
4779
4780	* amd/amq_subr.c (amqproc_export_1_svc): ditto
4781
4782	* amd/amfs_toplvl.c (amfs_toplvl_ops): removed FS_AUTOFS from
4783	nfs_fs_flags
4784	(amfs_toplvl_mount): pass extra argument (mf) to amfs_mount()
4785	(amfs_toplvl_umount): refuse to attempt the unmount if the
4786	mountpoint is not a directory
4787
4788	* amd/amfs_nfsx.c (amfs_nfsx_init): propagate the MFF_ON_AUTOFS
4789	flag into the nfs f/s at the bottom of the stack
4790
4791	* amd/amfs_nfsl.c: call nfs and link member functions through
4792	their respective am_ops structures, not directly
4793
4794	* amd/amfs_linkx.c (amfs_linkx_umount): new static stub
4795
4796	* amd/amfs_link.c: made amfs_link_mount() and amfs_link_umount()
4797	static functions
4798	(amfs_link_mount): removed call to autofs_link_mount()
4799	(amfs_link_umount): removed call to autofs_link_umount()
4800
4801	* amd/amfs_host.c (amfs_host_ops): removed FS_AUTOFS from
4802	nfs_fs_flags
4803	(do_mount): removed superfluous function arguments
4804
4805	* amd/amfs_direct.c (amfs_direct_ops): removed FS_AUTOFS from
4806	nfs_fs_flags
4807
4808	* amd/amfs_auto.c (amfs_auto_ops): removed FS_AUTOFS from
4809	nfs_fs_flags
4810	(amfs_auto_mount): pass extra argument (mf) to amfs_mount
4811
4812	* amd/amd.h (CFM_AUTOFS_USE_LOFS): new flag, tells amd whether to
4813	use lofs-mounts or symlinks when mounting on autofs
4814	(CFM_DEFAULT_FLAGS): added CFM_AUTOFS_USE_LOFS
4815	(VLOOK_LOOKUP): new flag, will merely check if a key exists
4816	(MFF_IS_AUTOFS): renamed from MFF_AUTOFS
4817	(MFF_ON_AUTOFS): new flag, tells amd if a f/s is mounted directly
4818	on an autofs m/p, or indirectly via a lofs mount/symlink
4819	(fh_to_mp2): macro expanded throughout the code and removed
4820	(mntfs): removed mf_real_mount hack
4821	(autofs_mount_fs): renamed from autofs_link_mount
4822	(autofs_umount_fs): renamed from autofs_link_umount
4823	(mount_lofs): exposed
4824	various other cleanups, functions/variables made static and removed
4825
4826	* aux_conf.h.in: removed @am_utils_autofs_style@, it is now
4827	included directly as amu_autofs_prot.h
4828
48292003-07-24  Erez Zadok  <ezk@whitestar.dyn.optonline.net>
4830
4831	* doc/am-utils.texi, scripts/amd.conf.5: document that
4832	use_tcpwrappers is "yes" by default.
4833
4834	* amd/amd.c (init_global_options): set default global options.
4835
4836	* amd/amd.h (CFM_DEFAULT_FLAGS): define default options which
4837	are always on (plock and use_tcpwrappers).
4838
4839	* scripts/amd.conf-sample: reorganize values per option so default
4840	one is listed first.
4841
48422003-07-23  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
4843
4844	* tasks: trim old stuff.  Discuss new parser.
4845
4846	* amd/conf.c (set_conf_kv): initialize the very first map in conf
4847	file from global defaults.  Bug fix which was introduced after
4848	conf.c code restructuring.
4849
48502003-07-18  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
4851
4852	* m4/macros/header_templates.m4: template for
4853	HAVE_EXTERN_HOSTS_CTL.
4854
4855	* include/am_defs.h: define extern for hosts_ctl() if needed.
4856
4857	* configure.in (AMU_CHECK_EXTERNS): check for extern definition
4858	for libwrap's hosts_ctl() (FreeBSD 5.0 doesn't have it).
4859
4860	* m4/macros/check_extern.m4: include tcpd.h if it and libwrap exist.
4861
48622003-07-18  Erez Zadok  <ezk@cs.sunysb.edu>
4863
4864	* hlfsd/hlfsd.h: redundant extern for mboxfile removed.
4865
4866	* amd/amq_svc.c (amq_program_1): only check for tcpwrappers if
4867	amd.conf global option use_tcpwrappers=yes.
4868
4869	* scripts/amd.conf.5, scripts/amd.conf-sample (use_tcpwrappers),
4870	doc/am-utils.texi (use_tcpwrappers Parameter): document new
4871	amd.conf global option.
4872
4873	* amd/conf.c (gopt_use_tcpwrappers): define a new amd.conf global
4874	option called use_tcpwrappers ("no" by default).
4875
4876	* amd/amq_svc.c (amqsvc_is_client_allowed): include tcpd/libwrap
4877	code only if both libwrap and tcpd.h exist.
4878	(amq_program_1): log warning when an Amq service client is denied,
4879	and a debug message when a client is allowed.
4880
4881	* amd/amd.h (CFM_USE_TCPWRAPPERS): define [global] amd.conf flag.
4882	(AMD_SERVICE_NAME): define AMD_SERVICE_NAME for tcpd/libwrap.
4883
4884	* include/am_defs.h: include tcpd.h if available and libwrap
4885	available.
4886
4887	* configure.in: check for tcpd.h.
4888
48892003-07-18  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
4890
4891	* scripts/expn.1, amd/amd.8 amq/amq.8, fixmount/fixmount.8,
4892	hlfsd/hlfsd.8, scripts/expn.1: remove ".PD 0" nroff command
4893	because it removes useful spaces in between paragraphs.  Based on
4894	smaller patch from Philippe Troin <phil@fifi.org>.
4895
48962003-07-17  Philippe Troin  <phil@fifi.org>
4897
4898	* amq/amq.8: Document the libwrap/amd behavior.
4899
4900	* amd/amq_svc.c (libwrap_check_client): New function to validate
4901	an amq connection with libwrap.
4902	(amq_program_1): Call libwrap_check_client() and close the
4903	connection if libwrap does not allow it.
4904
4905	* configure.in: Check for the tcp wrappers library.
4906
49072003-07-17  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
4908
4909	* amd/amq_subr.c (amqproc_mnttree_1_svc, amqproc_stats_1_svc,
4910	amqproc_getmntfs_1_svc, xdr_amq_mount_tree), hlfsd/hlfsd.c
4911	(hlfsd_init): cast pointers to void* before casting them to
4912	another type, to avoid gcc-3.3 -Wall warnings.
4913
4914	* fsinfo/*.[hc]: rename fsinfo function log() to fsi_log(), to
4915	avoid conflict with builtin function in gcc-3.3.
4916
49172003-07-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4918
4919	* scripts/amd.conf-sample: Remove obsolete comment.
4920
49212003-07-16  Erez Zadok  <ezk@cs.sunysb.edu>
4922
4923	* amd/info_file.c (read_line): check for errors from fgets().
4924	Although rare, they can occur upon disk or network failures.
4925	Patch from Nick Williams <Nick.Williams@morganstanley.com>.
4926
49272003-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4928
4929	* BUGS (Solaris 8): Update patch revisions, mention old autofs
4930	patches, fix filenames and rpcgen command.
4931
49322003-07-15  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
4933
4934	* doc/am-utils.texi (map_defaults Parameter): document new
4935	map_defaults option.
4936
4937	* scripts/amd.conf.5: document new map_defaults option.
4938
4939	* scripts/amd.conf-sample (map_type): show examples of new
4940	map_defaults option.
4941
4942	* amd/mapc.c (mapc_create): initialize mnt_map->cfm field to NULL.
4943
4944	* amd/get_args.c (get_args): call process_all_regular_maps().
4945
4946	* amd/conf.c: keep head and tail of cfm list.
4947	(init_cf_map): reworked reset_cf_map.  This one doesn't reset a
4948	globaly reused cfm, but rather just inherits [global] options.
4949	(set_conf_kv): just store global/map options without actually
4950	creating any mnt_map's.  Essentially, we now parse the whole
4951	amd.conf file, and then try to process the maps one at a time.
4952	(process_one_regular_map): new function to process one map, just
4953	renamed from process_regular_map.
4954	(process_all_regular_maps): new exported function to process all
4955	maps.  No need for hacky process_last_map().
4956	(find_cf_map): new exported function to return a cf_map_t given a
4957	map's mount point (e.g., /home or /net).
4958
4959	* amd/amfs_generic.c (amfs_parse_defaults): find if amd.conf
4960	specificed a map_defaults for a given map.  If so, use that
4961	instead of the /defaults that came from the map itself.  Also
4962	restructure code a bit so it's not one huge long "if" statement.
4963
4964	HACK ALERT: there's no easy way to find out what the map mount
4965	point is at this point, so I am forced to initialize the
4966	mnt_map->cfm field here for the first time, upon the very first
4967	search for a /defaults entry in this map.  This initialization is
4968	much better done in mapc_create(), but it's impossible to do that
4969	there with the current code structure.
4970
4971	* amd/amd.h: struct cf_map becomes linked list.  struct mnt_map
4972	includes pointer to cf_map_t, amd.conf defaults and options for a
4973	given map. extern cleanups.
4974
49752003-07-15  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
4976
4977	* amd/info_hesiod.c (hesiod_search): It's not possible to have a
4978	key such as ".access" in a hesiod map as that would imply a null
4979	node in the DNS tree.  So a lookup for such a key must clearly
4980	fail.  With the current info_hesiod.c it does (after calling
4981	hes{,iod}_resolve) but returns an error that confuses some
4982	programs - eg. apache.  This patch shortcuts the process and just
4983	returns ENOENT for any key starting with ".".  Patch submitted by
4984	by Mark Davies <mark@mcs.vuw.ac.nz>.
4985
4986	* include/am_utils.h (CALLOC): redefine macro to use xzalloc, not
4987	fsinfo's own xcalloc.
4988
4989	* fsinfo/fsi_util.c (xcalloc): remove redundant function.
4990
49912003-07-14  Erez Zadok  <ezk@cs.sunysb.edu>
4992
4993	* include/am_compat.h (MNTTAB_OPT_XLATECOOKIE): The NetBSD
4994	xlatecookie NFS option doesn't work as MNTTAB_OPT_XLATECOOKIE is
4995	never defined.  Define it as needed.  Patch from Mark Davies
4996	<mark@mcs.vuw.ac.nz>.
4997
49982003-07-14  Ion Badulescu  <lionut@gonzales.badula.org>
4999
5000	* BUGS (Note): document the Solaris 8 bug (the upgrade to autofs
5001	v4 without updating all the header files)
5002
50032003-07-13  Ion Badulescu  <lionut@gonzales.badula.org>
5004
5005	* NEWS, tasks: updated
5006
5007	* amd/amfs_generic.c (free_continuation): free _all_ mntfs's in
5008	the am_mfarray, unconditionally
5009	(amfs_bgmount): call free_mntfs when we're done with a mntfs, call
5010	dup_mntfs when starting processing of a new one; make sure we
5011	always go through 'goto failed' for a failed mntfs; use the error
5012	code returned by autofs_get_fh()
5013
5014	* conf/autofs/autofs_linux.c (autofs_get_fh): return proper error
5015	codes in case of problems
5016
50172003-07-13  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
5018
5019	* BUGS: Document buggy behavior of Solaris /usr/ccs/bin/lex.  In
5020	short, use flex.
5021
50222003-07-13  Erez Zadok  <ezk@a-hpux11.fsl.cs.sunysb.edu>
5023
5024	* fsinfo/fsi_lex.l, amd/conf_tok.l: allocate more output slots so
5025	lex scanners don't run out of mem.
5026
50272003-07-13  Ion Badulescu  <lionut@gonzales.badula.org>
5028
5029	* amd/amfs_generic.c (amfs_lookup_mntfs): ditto as below for the
5030	special provision
5031
5032	* amd/mntfs.c (find_mntfs): compare the filesystem type
5033	(i.e. mf_ops) in addition to mf_info; the special provision
5034	mentioned below is really for any filesystem already mounted on
5035	our mount point, not just for inherited filesystems
5036
50372003-07-13  Erez Zadok  <ezk@whitestar.dyn.optonline.net>
5038
5039	* doc/Makefile.am (install-html): build per-chapter HTML manual,
5040	as well as manual in one big HTML file.
5041
5042	* doc/am-utils.texi: Minor corrections.  Ack Ion's autofs work.
5043	Ack maintainers.  New section on How to get additionl info,
5044	including the Amd book.  Correct stale URLs and Emails.
5045
5046	* amd/amd.8, amq/amq.8, amq/pawd.1, fixmount/fixmount.8,
5047	fsinfo/fsinfo.8, hlfsd/hlfsd.8, mk-amd-map/mk-amd-map.8,
5048	scripts/amd.conf.5, scripts/automount2amd.8,
5049	wire-test/wire-test.8: include references to info pages, proper
5050	authors, am-utils Web page, and amd book.
5051
50522003-07-13  Ion Badulescu  <lionut@gonzales.badula.org>
5053
5054	* amd/mntfs.c (find_mntfs): re-add the check for mf_info, but with
5055	a special provision for inherited filesystems. This unbreaks the
5056	handling of parallel mounts
5057
5058	* amd/amfs_generic.c (amfs_lookup_mntfs): for restarted
5059	filesystems, there can be no alternative mntfs to try to mount
5060
50612003-07-13  Erez Zadok  <ezk@cs.sunysb.edu>
5062
5063	* amd/amd.8: reference am-utils info page in amd man page, as per
5064	Thomas Klausner <wiz@danbala.ifoer.tuwien.ac.at>.
5065
5066	* fsinfo/fsinfo.h, fsinfo/fsinfo.c (fsi_get_args): don't use
5067	yywrap() if it doesn't exist.
5068
5069	* amd/conf_parse.y, amd/conf_tok.l, fsinfo/fsi_gram.y,
5070	fsinfo/fsi_lex.l: fixes to support old flex 2.5.4, as well as the
5071	newer flex 2.5.31 (beta development).  These include resolving
5072	conflicts with yylineno, unput() vs. nounput(), etc.
5073
50742003-07-13  Ion Badulescu  <lionut@gonzales.badula.org>
5075
5076	* amd/amfs_generic.c (amfs_cont): check for (am_error > 0) before
5077	calling assign_error_mntfs()
5078	(amfs_generic_mount_child): ditto
5079
5080	* amd/autil.c (assign_error_mntfs): move the check for
5081	(am_error > 0) up into the caller, it's less confusing that way
5082
5083	* tasks: some updates
5084
5085	* conf/transp/transp_tli.c (check_pmap_up): new function which
5086	detects if the remote portmapper is functional
5087	(amu_clnt_create_best_version): removed
5088	(get_nfs_version): use a much simplified version of the old
5089	amu_clnt_create_best_version(), based on clnt_create_vers() and
5090	its _timed() counterpart
5091
5092	* conf/transp/transp_sockets.c (check_pmap_up): new function which
5093	detects if the remote portmapper is functional
5094	(pmap_ping): deleted
5095	(get_nfs_version): removed calls to pmap_ping, already done by
5096	caller
5097
5098	* amd/srvr_nfs.c: call check_pmap_up() before continuing with
5099	get_nfs_version()
5100
5101	* amd/amfs_generic.c: updated a couple of log messages
5102
5103	* configure.in: detect clnt_create_vers and clnt_create_vers_timed;
5104	changed LIBTOOL versioning to 3:0:0
5105
51062003-07-12  Ion Badulescu  <lionut@gonzales.badula.org>
5107
5108	* conf/autofs/autofs_linux.h (AUTOFS_HOST_FS_FLAGS): removed
5109	FS_AUTOFS because the host mount cannot be a top level mount
5110	(AUTOFS_DIRECT_FS_FLAGS): removed FS_AUTOFS because Linux autofs
5111	doesn't support direct mounts
5112
51132003-07-12  Erez Zadok  <ezk@whitestar.dyn.optonline.net>
5114
5115	* amd/conf_parse.y, amd/conf_tok.l: pretty comments on # cpp
5116	macros.
5117
51182003-07-10  Ion Badulescu  <ionut@buggy.badula.org>
5119
5120	* include/am_utils.h (dlog): improved version for gcc, using
5121	vararg macros
5122
5123	* amd/rpc_fwd.c (fwd_packet): unused variable when compiling
5124	without debugging
5125
51262003-07-10  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
5127
5128	* include/am_utils.h (dlog): change the #define of non-debugging
5129	dlog to "nothing" so that all that'll be left behind is a list of
5130	args in parenthesis (arg,arg,...).  GCC and other native C
5131	compilers seem OK with it, even if it doesn't optimize away the
5132	whole debugging line.
5133
5134	* ltmain.sh: was from libtool 1.4.2.  updated to libtool 1.4.3,
5135	the latest on RH9 systems (but is not the latest libtool
5136	available).  Stay with stable version in preparation for 6.1
5137	release.
5138
5139	* config.{guess,sub}, doc/texinfo.tex: update to latest off of
5140	ftp.gnu.org.
5141
51422003-07-09  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
5143
5144	* amd/amfs_inherit.c (amfs_inherit_inherit): don't use // C++
5145	style comments: breaks non-C++ compilers (like AIX xlC 6)
5146
51472003-07-02  Ion Badulescu  <ionut@buggy.badula.org>
5148
5149	* doc/am-utils.texi (opts Option): document ignore_portmapper option
5150
5151	* conf/transp/transp_sockets.c (get_nfs_version): better
5152	protocol/version cycling while probing remote server; better log
5153	messages
5154
5155	* amd/srvr_nfs.c (start_ping): improved log message
5156	(find_nfs_srvr): always use requested nfs_version/nfs_proto; make
5157	sure we have a valid NFS port; start the server as "valid, down" if
5158	the remote portmapper tells us the NFS service is not running;
5159	implement the "ignore_portmapper" pseudo-mount option
5160
5161	* amd/rpc_fwd.c (fwd_packet): better debug messages
5162
5163	* amd/ops_nfs.c (got_nfs_fh): log a messages if a root fh is
5164	denied; call wakeup even if mountd call fails
5165
5166	* amd/amq_subr.c (xdr_amq_mount_info_qelem): use FSRV_ISUP/ISDOWN
5167	instead of checking the flags directly
5168	* amd/srvr_amfs_auto.c (free_srvr): ditto
5169
5170	* amd/amfs_generic.c (amfs_bgmount): refined some error/debug
5171	messages
5172
5173	* amd/amd.h (FSRV_ERROR): new macro
5174	(FSRV_ISDOWN, FSRV_ISUP): a server that doesn't exist (i.e. it's a
5175	local filesystem) is always up
5176
51772003-06-30  Erez Zadok  <ezk@cs.sunysb.edu>
5178
5179	* amd/autil.c (am_mounted): set AMF_NOTIMEOUT if either unmount or
5180	umount options are present.
5181
5182	* doc/am-utils.texi (Program Filesystem): document alias options
5183	to unmount:=, umount:=.
5184
5185	* amd/opts.c (expansions): initialize opt_umount.
5186	(to_free): initialize opt_umount.
5187
5188	* amd/amfs_program.c (amfs_program_match): ensure that only one of
5189	umount:= or unmount:= options are specified, but that at least one
5190	of them is listed.
5191
5192	* amd/amd.h: support unmount:=XXX as well as umount:=XXX (too
5193	annoying in type:program, when one forgets the 'n' in "unmount").
5194	They are two separate fields, so we can catch mistakes when
5195	someone tries to define both options.
5196
5197	* doc/am-utils.texi (Program Filesystem): explain that both mount
5198	and unmount options must be specified.  Correct example to show
5199	both.
5200
52012003-06-25  Erez Zadok  <ezk@cs.sunysb.edu>
5202
5203	* XXX: beginning of new amd.conf option map_defaults: will parse
5204	the option and set remember it in the right places.  Need to
5205	document this and actually hook it up with the rest of the code.
5206	Any volunteers? :-)
5207
5208	* scripts/amd.conf-sample (map_defaults): example of map_defaults
5209	amd.conf option.
5210
5211	* amd/conf.c (reset_cf_map): initialize global and per-mount
5212	map_defaults.
5213	(gopt_map_defaults): parse global map_defaults.
5214	(process_regular_option,ropt_map_defaults): parse per-map
5215	map_defaults amd.conf option.
5216
5217	* amd/amd.h: a place to store global and per-mount map_defaults.
5218
5219	* BUGS: more notes about AIX 5.2 problems and how to overcome
5220	them.
5221
52222003-06-10  Erez Zadok  <ezk@cs.sunysb.edu>
5223
5224	* doc/Makefile.am: force version.texi to be rebuilt regardless of
5225	maintainer mode.  Silly Automake will not build version.texi if
5226	maintainer mode is off (this is hardcoded into the automake perl
5227	script!).  According to the Automake maintainers, users should
5228	always build in CVS trees with maintainer-mode on; but what if I
5229	don't want to?!  I don't want to distribute Makefiles with
5230	maintained rules in them to users.  The Automake maintainers also
5231	say that "make dist" will rebuild version.texi no matter what.  I
5232	find that not to be the case.  It failed to run a "make" before
5233	"make dist" because version.texi doesn't exist!  Chicken and Egg
5234	situation.  So, until Automake deals with version.texi in a more
5235	flexible and friendly manner, I adapted a rule to build
5236	version.texi and inserted it in this Makefile.am.
5237
52382003-06-09  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5239
5240	* mk-amd-map/mk-amd-map.c (main): open temp db file using O_EXCL,
5241	next best thing to using mkstemp().  Patch from Hendrik Scholz
5242	<hscholz@raisdorf.net>.
5243
52442003-05-08  Ion Badulescu  <ion@guppy.limebrokerage.com>
5245
5246	* libamu/mount_fs.c (compute_automounter_mount_flags): use
5247	MNT2_GEN_OPT_AUTOMNTFS if available; minor cleanup
5248
5249	* m4/macros/header_templates.m4: added template for
5250	MNT2_GEN_OPT_AUTOMOUNTED
5251
52522003-05-01  Ion Badulescu  <ionut@nicu.badula.org>
5253
5254	* amd/ops_xfs.c (mount_xfs): compile fix (s/genflags/flags/)
5255
52562003-04-23  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5257
5258	* conf/transp/transp_sockets.c (create_amq_service): minor cpp
5259	directive indentation and commenting.
5260
52612003-04-22  Ion Badulescu  <ionut@moisil.badula.org>
5262
5263	* conf/transp/transp_sockets.c (create_amq_service): Ugly *BSD fix
5264	for an RPC library DoS issue (original patch from Martin Blapp,
5265	massaged into something more digestable by me)
5266
52672003-04-14  Ion Badulescu  <ionut@moisil.badula.org>
5268
5269	* conf/autofs/autofs_solaris_v2_v3.c: removed autofs_free_data(),
5270	left over from the recent cleanup
5271
52722003-04-13  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5273
5274	* doc/Makefile.am (DVIPS): use proper options for dvips.
5275
5276	* doc/am-utils.texi (opts Option): document new 'unmount' option,
5277	and better explain the 'nounmount' option.  Also some misc options
5278	for better generation of html manual.
5279
5280	* doc/Makefile.am (install-html): support newer texi2html 4.0
5281	options, as older options were renamed or changed behavior.
5282
5283	* amd/autil.c (am_mounted): support new 'unmount' option, to allow
5284	all file system mounts to timeout and thus expire.  This option is
5285	useful for removable local media such as CD-ROMs, USB drives,
5286	etc. so they can expire when not in use, and get unmounted (such
5287	drives can get work out when they keep spinning).  Patch from
5288	Christos Zoulas <christos@zoulas.com> (originally from Koji
5289	Imada).
5290
52912003-04-10  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5292
5293	* configure.in: use AM_MAINTAINER_MODE, so maintainer-only rules
5294	do not get added to Makefiles by default (they are confusing to
5295	users who don't have autotools installed).
5296
52972003-04-09  Ion Badulescu  <ion@guppy.limebrokerage.com>
5298
5299	* amd/mntfs.c (find_mntfs): revert the "change of philosophy" (see
5300	the 2001-05-23 entry) back to the 6.0 code
5301
53022003-04-04  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5303
5304	* libamu/xutil.c (switch_to_logfile): don't try to print logfile
5305	if it is null (strlen core dump on solaris).  Bug report from John
5306	P. Rouillard <rouilj@ieee.org>.
5307
53082003-03-31  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5309
5310	* fsinfo/fsinfo.8: typo co-ordinate -> coordinate.  Typo report
5311	from Perry E. Metzger" <perry@piermont.com>.
5312
53132003-03-25  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
5314
5315	* include/am_defs.h: Don't include malloc.h if stdlib.h exists,
5316	because modern systems (e.g., BSD) complain if you use malloc.h
5317	instead of stdlib.h.  Let's hope there are no systems out
5318	there that need both.
5319
53202003-03-20  Erez Zadok  <ezk@suse73.fsl.cs.sunysb.edu>
5321
5322	* minor new port: sparc64-unknown-linux-suse7.3.
5323
53242003-03-20  Erez Zadok  <ezk@a-freebsd5.fsl.cs.sunysb.edu>
5325
5326	* minor new port: i386-unknown-freebsd5.0.
5327
5328	* configure.in: detect nfsclient/nfsargs.h.
5329
5330	* conf/nfs_prot/nfs_prot_freebsd3.h: include
5331	<nfsclient/nfsargs.h>, needed in FreeBSD 5.0.
5332
53332003-03-15  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5334
5335	* amd/amd.8, amd/amd.8, fixmount/fixmount.8, hlfsd/hlfsd.8,
5336	scripts/amd.conf.5, scripts/expn.1: minor spell checking and
5337	extraneous space elimination.
5338
53392003-03-07  Ion Badulescu  <ionut@buggy.badula.org>
5340
5341	* conf/autofs/autofs_linux.c (autofs_get_fh): don't leak file
5342	descriptors if limit exceeded
5343	(autofs_mounted): call autofs_get_mp(); init am_autofs_ttl
5344	(autofs_release_fh): release pending_mounts and pending_umounts
5345	queues
5346	(autofs_timeout_mp): update am_autofs_ttl instead of am_ttl
5347
5348	* amd/mntfs.c (init_mntfs): delete initialization of removed
5349	mf_autofs_fh
5350	(uninit_mntfs): delete call to autofs_release_fh()
5351
5352	* amd/map.c (init_map): init autofs_fh to 0, delete initialization
5353	of removed autofs_data
5354	(free_map): release autofs_fh after unmounting map; delete call to
5355	autofs_free_data()
5356	(umount_exported): call autofs_release_mp() prior to unmounting
5357	autofs f/s
5358	(unmount_mp): ditto
5359	(free_map_if_success): call autofs_get_mp() if unmounting fails
5360	(timeout_mp): use the dedicated am_autofs_ttl timeout for f/s-wide
5361	timeouts instead of the per-mountpoint am_ttl
5362
5363	* amd/autil.c (am_unmounted): release autofs_fh after unmounting
5364	autofs f/s
5365
5366	* amd/amfs_generic.c (amfs_cont): release autofs_fh if mounting
5367	autofs f/s fails;
5368	(amfs_bgmount): ditto
5369
5370	* amd/amd.h: moved autofs_fh from mntfs to am_node, since it's
5371	more related to the mount point than to the f/s mounted;
5372	added am_autofs_ttl to am_node, for running expirations on entire
5373	filesystems
5374
5375	* conf/autofs/autofs_*: autofs_get_fh() returns int instead of
5376	autofs_fh_t *; autofs_release_fh() now takes an am_node * parameter
5377	instead of autofs_fh_t *, in an effort to not deal with
5378	autofs-specific data structures outside autofs code;
5379	new methods autofs_get_mp() and autofs_release_mp(), which
5380	acquire/release autofs resources to allow clean unmount attempts;
5381	nuke autofs_data_t, never used
5382
5383	* amd/amd.h: prototypes for new and changed autofs functions
5384
53852003-03-07  Ion Badulescu  <ion@guppy.limebrokerage.com>
5386
5387	* amd/nfs_subr.c (do_readlink): eliminate third argument, never used
5388	(nfsproc_getattr_2_svc): reorganize the code a bit
5389
5390	* amd/map.c (mk_fattr): take a nfsfattr * argument instead of an
5391	am_node * argument
5392
5393	* amd/amd.h: changed prototype for mk_fattr()
5394
5395	* amd/autil.c (am_unmounted): when remounting, use the parent
5396	node's lookup_child() and mount_child() operations, not the
5397	generic ones
5398
5399	* amd/amfs_generic.c (amfs_cont): minor code optimization
5400
54012003-03-06  Ion Badulescu  <ion@guppy.limebrokerage.com>
5402
5403	* amd/amfs_auto.c: lots of renames and code moving:
5404	amfs_auto_match() -> amfs_generic_match(), moved to generic;
5405	amfs_auto_mkcacheref() -> amfs_mkcacheref(), moved to autil.c;
5406	amfs_auto_mounted() -> amfs_generic_mounted(), moved to generic;
5407	amfs_auto_umount() -> amfs_generic_umount(), moved to generic;
5408	free_continuation(): moved to generic, made static;
5409	assign_error_mntfs(): moved to autil.c;
5410	amfs_auto_cont() -> amfs_cont(), moved to generic, made static;
5411	amfs_auto_retry() -> amfs_retry(), moved to generic, made static;
5412	try_mount() + mount_node() -> mount_node(), moved to map.c
5413	amfs_auto_bgmount() -> amfs_bgmount(), moved to generic;
5414	amfs_parse_defaults(): moved to generic;
5415	amfs_auto_lookup_node() -> amfs_lookup_node(), moved to generic;
5416	amfs_auto_lookup_one_mntfs() -> amfs_lookup_one_mntfs(), in generic;
5417	amfs_auto_lookup_mntfs() -> amfs_lookup_mntfs(), moved to generic;
5418	amfs_auto_mount_child() -> amfs_generic_mount_child(), in generic;
5419	amfs_auto_lookup_child() -> amfs_generic_lookup_child(), in generic;
5420	next_nonerror_node(): moved to autil.c;
5421	amfs_auto_readdir() -> amfs_generic_readdir(), moved to readdir;
5422	amfs_auto_readdir_browsable() -> amfs_readdir_browsable(), in readdir;
5423
5424	* amd/amfs_toplvl.c: mount_amfs_toplvl() renamed to amfs_mount()
5425	and moved to autil.c
5426
5427	* amd/readdir.c, amd/amfs_generic.c: new files with stuff ripped
5428	out of amd/amfs_auto.c
5429
5430	* amd/amd.h: struct continuation moved to generic.c; prototypes
5431	for the renamed functions; NumChild renamed to NumChildren
5432
5433	* amd/map.c: collaped unmount_node_wrap() and unmount_node() into
5434	the latter
5435
5436	* amd/mapc.c: key_already_in_chain(): moved to readdir.c;
5437	make_entry_chain(): moved to readdir.c;
5438
5439	* amd/srvr_amfs_auto.c: find_amfs_auto_srvr() renamed to
5440	amfs_generic_find_srvr()
5441
5442	* amd/amfs_*.c: adjustments for the renames above
5443
5444	* amd/ops_*.c: low-level filesystems don't need a find_server()
5445	method
5446
5447	* amd/Makefile.am: added amfs_generic.c and readdir.c
5448
5449	* doc/am-utils.texi: minor clarification for auto maps
5450
54512003-03-06  Ion Badulescu  <ion@guppy.limebrokerage.com>
5452
5453	* amd/amd.h: moved lots and lots of amd-only stuff here, from
5454	include/am_utils.h; changed task_fun, cb_fun and fwd_fun typedefs
5455	to be function typedefs, not pointer to function typedefs
5456
5457	* include/am_utils.h: see above
5458
5459	* amd/ops_nfs.c, amd/rpc_fwd.c, amd/sched.c: adjustments for
5460	function typedef changes
5461
54622003-03-05  Erez Zadok  <ezk@cs.sunysb.edu>
5463
5464	* BUGS: record IBM's patch number for the AIX 5.2 NFS over IPv6
5465	bug.
5466
54672003-02-02  Erez Zadok  <ezk@siamese.fsl.cs.sunysb.edu>
5468
5469	* NEWS: minor new port: ia64-unknown-linux-rh2.1AS
5470
54712003-01-31  Ion Badulescu  <ion@console.limebrokerage.com>
5472
5473	* m4/macros/os_cflags.m4: rhapsody and darwin are the same
5474
5475	* amd/autil.c (mount_node): vastly simplified, just a wrapper now
5476
5477	* amd/amfs_inherit.c (amfs_inherit_mount): remove the am_mounted()
5478	hack, we now do it properly in the generic code
5479
5480	* amd/amfs_auto.c (amfs_auto_bgmount): get the autofs_fh _before_
5481	forking the child; set and reset MFF_MOUNTING here, not in
5482	mount_node(), because the latter might be running in child
5483	context; call am_mounted() after a successful foreground mount
5484
54852003-01-29  Ion Badulescu  <ionut@moisil.badula.org>
5486
5487	* configure.in: new flag --with[out]-ndbm; don't pull in libldap
5488	if building --without-ldap; look for the gdbm/ndbm.h header; make
5489	explicit the dependency between the ndbm headers and libraries;
5490	define NEW_DBM_H as the ndbm header that should be used
5491
5492	* include/am_defs.h: simply include NEW_DBM_H for ndbm stuff,
5493	instead of trying to second-guess configure
5494
5495	* m4/macros/header_templates.m4: new template for NEW_DBM_H
5496
5497	* m4/macros/check_map_funcs.m4:
5498	(ac_upcase_map_name): use the third argument correctly
5499
5500	* ltmain.sh: working version from libtool-1.4.2-7
5501
5502	* buildall: print the entire configure command, including extra
5503	arguments; pass each of the extra arguments separately, not
5504	commingled into one
5505
55062003-01-28  Ion Badulescu  <ion@guppy.limebrokerage.com>
5507
5508	* include/am_utils.h (DEBUG_MNTTAB): define outside of #ifdef
5509	DEBUG; it is not used without DEBUG, but it is referenced at
5510	compile time. Bug report from John Kilburg <john@physics.unlv.edu>.
5511	(D_ALL): don't include D_XDRTRACE, too verbose and normally
5512	unnecessary
5513
55142003-01-28  Erez Zadok  <ezk@cs.sunysb.edu>
5515
5516	* ltmain.sh, config.guess, config.sub, doc/texinfo.tex: updates
5517	from latest official GNU versions.
5518
55192003-01-25  Erez Zadok  <ezk@cs.sunysb.edu>
5520
5521	* BUGS (Note): document AIX-5.1 NFS-client side bug (hangs in
5522	vmount).
5523
55242003-01-25  Ion Badulescu  <ionut@moisil.badula.org>
5525
5526	* Released beta version 6.1b2
5527
55282003-01-24  Ion Badulescu  <ionut@moisil.badula.org>
5529
5530	* amd/autil.c (am_unmounted): reset MFF_MKMNT from mf_flags when
5531	calling rmdirs() on mountpoint
5532
5533	* amd/amfs_auto.c (amfs_auto_bgmount): ditto
5534
5535	* amd/amfs_nfsl.c (amfs_nfsl_umounted): ditto
5536
5537	* doc/am-utils.texi (opts Option): "sftlookup" -> "softlookup"
5538
5539	* NEWS: "sftlookup" -> "softlookup"
5540
5541	* amd/ops_nfs.c (nfs_mount): "sftlookup" -> "softlookup", also
5542	check for "nosoftlookup" in combination with "soft"
5543
55442003-01-23  Ion Badulescu  <ion@guppy.limebrokerage.com>
5545
5546	* m4/macros/check_nfs_fh_dref.m4: darwin/rhapsody is another
5547	freebsd22 derivative
5548
5549	* NEWS: updated for Darwin changes
5550
5551	* .cvsignore: added A.i386-apple-darwin6.0
5552
5553	* m4/macros/os_cflags.m4: add -D_P1003_1B_VISIBLE to cflags for
5554	Darwin
5555
55562003-01-23  Erez Zadok  <ezk@cs.sunysb.edu>
5557
5558	* conf/mount/mount_aix.c (mount_aix3): clean back this file from
5559	all the debugging cruft that is no longer needed (and really was
5560	never needed in the first place).
5561
55622003-01-10  Erez Zadok  <ezk@cs.sunysb.edu>
5563
5564	* scripts/test-amd.{misc,conf}: simple amd.conf and amd.misc
5565	(map) files for testing basic amd functionality such as whether it
5566	can mount its own mount NFS points.
5567
55682002-12-28  Ion Badulescu  <ionut@moisil.badula.org>
5569
5570	* amd/srvr_nfs.c (start_nfs_pings): don't set FSF_PINGING if
5571	pings are disabled
5572
5573	* libamu/xdr_func.c (xdr_ftype): use a local enum_t variable
5574	instead of casting the pointer to (enum_t *)
5575	(xdr_mountstat3): ditto
5576	(xdr_nfsstat): ditto
5577
5578	* libamu/misc_rpc.c (make_rpc_packet): fix make_rpc_packet() on
5579	64-bit big-endian platforms, bug report from Bill Fenner
5580	<fenner@research.att.com>
5581
5582	* configure.in: increase library patchlevel
5583
5584	* libamu/xutil.c (amu_release_controlling_tty): close and reopen
5585	file descriptors 0,1,2 before calling setsid()
5586
55872002-12-27  Erez Zadok  <ezk@cs.sunysb.edu>
5588
5589	* updated copyright year to 2003 on all files
5590
55912002-12-10  Erez Zadok  <ezk@localhost.localdomain>
5592
5593	* rename "aux/" subdir into "m4/" so as to avoid problems with
5594	MS-DOS systems (where "AUX" is a reserved name).  This required
5595	fixing numerous files.
5596
55972002-12-10  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
5598
5599	* configure.in: don't check for bad hasmntopt() function if
5600	hasmntopt() doesn't exist on the system, because we will replace
5601	it with our own version anyway.
5602
5603	* conf/transp/transp_sockets.c (amu_get_myaddress): use "%lx" in
5604	dlog because htonl() returns a u_long.
5605
56062002-12-10  Erez Zadok  <ezk@localhost.localdomain>
5607
5608	* include/am_defs.h: use system's hasmntopt() only if it is found
5609	and it is not buggy.
5610
5611	* libamu/hasmntopt.c (nextmntopt): isspace() takes an int, not a
5612	char.
5613
5614	* amd/am_ops.c, amd/amfs_auto.c, amd/autil.c, amd/nfs_subr.c,
5615	amd/ops_cdfs.c, amd/ops_nfs.c, amd/srvr_nfs.c, libamu/hasmntopt.c,
5616	libamu/mount_fs.c, libamu/mtab.c: rename all uses of hasmntopt()
5617	to amu_hasmntopt().  Don't use hasmntopt() directly any more!
5618
5619	* aux/macros/func_bad_hasmntopt.m4: new M4 macro to test for a bad
5620	hasmntopt() function, which incorrectly finds the option "soft" in
5621	a string "hard,softlookup,ro".
5622
5623	* libamu/hasmntopt.c (hasmntopt): use 'const' on two args to
5624	hasmntopt(), to match what most systems use.
5625
5626	* aux/macros/header_templates.m4: template for HAVE_BAD_HASMNTOPT.
5627
5628	* configure.in: invoke test for bad hasmntopt()
5629
5630	* NEWS: minor new port, i386-pc-linux-rh8.0.
5631	Mention autofs-v4 on solaris9 works.
5632
5633	* bootstrap: remove any autom4te-*.cache directories, now that
5634	autoconf uses a version number for them.
5635
56362002-12-09  Ion Badulescu  <ionut@moisil.badula.org>
5637
5638	Patches from Christos Zoulas:
5639
5640	-1- am_utils.h: add full prototypes
5641	-2- amfs_auto.c make functions static and add prototypes
5642	-3- map.c: kill double free
5643	-5- transp_sockets.c: add full prototypes
5644
56452002-12-09  Ion Badulescu  <ionut@moisil.badula.org>
5646
5647	* NEWS: updated
5648
5649	* doc/am-utils.texi (opts Option): document sftlookup
5650
5651	* conf/autofs/autofs_solaris_v2_v3.c: compile fixes
5652
56532002-11-22  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
5654
5655	* amd/info_ldap.c (amu_ldap_rebind): gopt.ldap_cache_seconds is
5656	%ld not %d.
5657
56582002-11-21  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5659
5660	* {amd,fsinfo}/Makefile.am: remove special rules for processing
5661	yacc/lex files, now that autoconf/automake properly handle them
5662	better (esp. now that bison 1.75 behaves differently than older
5663	bison versions).
5664
56652002-11-21  Erez Zadok  <ezk@cs.sunysb.edu>
5666
5667	* config.guess.long: updated script so it will properly find the
5668	version number of the new Itanium 2 machines running "Red Hat
5669	Linux Advanced Workstation release 2.1AW (Derry)".  The script now
5670	will report ia64-unknown-linux-rh2.1AW.
5671
56722002-11-20  Ion Badulescu  <ionut@moisil.badula.org>
5673
5674	* amfs_auto_bgmount(): almost complete rewrite
5675
5676	* fixed amfs_inherit to do the right thing and not dereference
5677	freed mntfs'es
5678
5679	* #if 0'ed bogus code in fh_to_mp3() -- it is now done properly in
5680	amfs_autofs_lookup_child()
5681
5682	* release the autofs_fh only in one place
5683
5684	* remove the mountpoint only if mf_refc == 1
5685
5686	* print the mntfs type in free_mntfs()
5687
5688	* new pseudo-mount option 'sftlookup' which causes lookups to
5689	mounted shares from downed servers to return EIO; the default
5690	depends on whether the mount is 'hard' or 'soft'
5691
5692	* improved querying of supported NFS versions on the server --
5693	don't even try if it's known to be down
5694
5695	* solaris autofs mount code moved to transp_{sockets,tli}.c
5696
5697	* incipient (non-functional) AIX autofs support
5698
56992002-11-11  Ion Badulescu  <ion@guppy.limebrokerage.com>
5700
5701	* doc/am-utils.texi (Keep-alives): removed outdated info about not
5702	maintaining the state of TCP NFS servers
5703
57042002-11-04  Ion Badulescu  <ion@guppy.limebrokerage.com>
5705
5706	* include/am_utils.h: prototype for ops_search()
5707
5708	* amd/am_ops.c (ops_search): new function for searching the right
5709	set of ops for a given filesystem type
5710
5711	* amd/restart.c (restart): cleanup and split into two functions in
5712	preparation for handling the restart of amd's own mount points
5713	(restart_fake_mntfs): new function, factored out from restart()
5714
57152002-11-04  Ion Badulescu  <ionut@buggy.badula.org>
5716
5717	* amd/ops_cdfs.c (mount_cdfs): remove special code for loop device
5718	(cdfs_umount): ditto
5719
5720	* conf/mount/mount_linux.c (mount_linux): factor it out to
5721	mount_linux_nfs() and mount_linux_nonfs()
5722	(mount_linux_nonfs): generalize loop device support to all
5723	filesystems (not just cdfs); make it automatic for anything that's
5724	a regular file
5725	(parse_opts): deprecate the explicit "loop" mount option
5726	(do_mount_linux): minor cleanup
5727
5728	* conf/umount/umount_default.c (umount_fs2): release loop device
5729	on umount()
5730
57312002-11-03  Erez Zadok  <ezk@cnm20>
5732
5733	* include/am_defs.h: moved #include of net/if.h above net/route.h,
5734	because on AIX 5.2 if.h is needed for route.h (let's hope it
5735	doesn't break things on other systems).
5736
5737	* include/am_defs.h: AIX 5.2 needs struct sigevent from signal.h
5738	to be defined, but I don't want to move the inclusion of signal.h
5739	this early into this file.  Luckily, amd doesn't need the size of
5740	this structure in any other structure that it uses.  So we
5741	sidestep it for now.
5742
5743	* conf/nfs_prot/nfs_prot_aix5_2.h: AIX 5.2 wants 'struct pathcnf',
5744	but I couldn't find its definition anywhere.  Luckily, amd doesn't
5745	need the size of this structure in any other structure that it
5746	uses.  So we sidestep it for now.
5747
57482002-11-02  Erez Zadok  <ezk@cs.sunysb.edu>
5749
5750	* config.guess, config.sub, doc/texinfo.tex: updates from
5751	the latest GNU distributions (2002-09-05).
5752
57532002-10-30  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5754
5755	* conf/nfs_prot/nfs_prot_aix5_2.h: add more definitions from
5756	mount.h for NFSOPT_* and NFSMNT_*.
5757	Don't use typedefs that aren't found in system header files.
5758
57592002-10-30  Erez Zadok  <ezk@cs.sunysb.edu>
5760
5761	* Makefile.am (EXTRA_DIST_CONF): distribute nfs_prot_aix5_2.h.
5762
5763	* conf/nfs_prot/nfs_prot_aix5_2.h: new file.
5764
5765	* aux/macros/struct_nfs_args.m4 (ac_cv_have_struct_nfs_args): look
5766	for "struct aux52_nfs_args".
5767
5768	* aux/macros/check_nfs_prot_headers.m4: define new header file for
5769	AIX 5.2.
5770
57712002-10-21  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5772
5773	* scripts/amd.conf.5 (ldap_proto_version): document in amd.conf
5774	man page.
5775
5776	* scripts/amd.conf-sample (ldap_proto_version): show example of use
5777
5778	* doc/am-utils.texi (ldap_proto_version Parameter): document new
5779	amd.conf option.
5780
5781	* amd/conf.c (gopt_ldap_proto_version): new conf function to
5782	support ldap_proto_version amd.conf parameter.
5783
5784	* amd/amd.h: field to hold LDAP protocol version.
5785
5786	* amd/amd.c (init_global_options): set default for
5787	ldap_proto_version.  ldap_proto_version patch from George Ross
5788	<gdmr@dcs.ed.ac.uk> and Tim Colles <timc@inf.ed.ac.uk>.
5789
5790	* amd/info_ldap.c (amu_ldap_unbind): ignore SIGPIPE errors while
5791	unbinding from an LDAP server that may have been restarted.  Fix
5792	from George Ross <gdmr@dcs.ed.ac.uk>.
5793
57942002-09-17  Ion Badulescu  <ion@guppy.limebrokerage.com>
5795
5796	* remove all autoconf stuff added for sys_nerr
5797
5798	* amq/amq.c, libamu/xutil.c, hlfsd/hlfsd.c: always use strerror
5799
5800	* libamu/strerror.c: more explicit text for unknown errno's
5801
58022002-10-01  Erez Zadok  <ezk@cs.sunysb.edu>
5803
5804	* include/am_defs.h: define "extern int sys_err" if needed.
5805
5806	* aux/macros/header_templates.m4: template for
5807	HAVE_EXTERN_SYS_NERR.
5808
5809	* hlfsd/hlfsd.h, libamu/xutil.c (expand_error), amq/amq.c
5810	(show_mi): remove "extern int sys_err"
5811
5812	* configure.in: execute test for "extern int sys_err"
5813
5814	* Makefile.am (EXTRA_DIST_AUX): distribute new extern_sys_err.m4 file.
5815
5816	* aux/macros/extern_sys_nerr.m4: new test to check for existence
5817	of "extern int sys_nerr" definition in system headers.
5818
58192002-09-17  Ion Badulescu  <ion@guppy.limebrokerage.com>
5820
5821	* libamu/xutil.c (dbg_opt): bring comments in line with the code
5822
5823	* hlfsd/hlfsd.c (main): use amuDebug() instead of touching
5824	debug_flags directly
5825
5826	* amd/amd.c (main): don't init debug_flags, leave it as zero (no
5827	debugging by default)
5828
58292002-09-11  Ion Badulescu  <ion@guppy.limebrokerage.com>
5830
5831	Debug code sanitization:
5832
5833	- amuDebug() becomes an expression, and explicit if() statements
5834	are added around it throughout the code
5835	- amuDebugNo() goes away (ugh!)
5836	- D_AMQ, D_DAEMON and D_FORK reverse their meaning
5837	- D_ALL contains only options that don't affect amd's functionality
5838
58392002-09-04  Ion Badulescu  <ion@guppy.limebrokerage.com>
5840
5841	* amd/amfs_auto.c (free_continuation): avoid double-free'ing the
5842	mntfs if there was an error/timeout
5843
58442002-09-04  Ion Badulescu  <ion@guppy.limebrokerage.com>
5845
5846	* amd/amfs_auto.c (amfs_auto_lookup_mntfs): use ereturn() instead
5847	of "return NULL" to signal an error to the upper layers
5848	(amfs_auto_mount): use strdup so the string can be free'd later on
5849	[Debian bug report from Matt Chapman <matthewc@cse.unsw.edu.au>]
5850
58512002-09-03  Ion Badulescu  <ion@guppy.limebrokerage.com>
5852
5853	Patches from George Ross <gdmr@dcs.ed.ac.uk>:
5854
5855	* amd/amfs_auto.c (assign_error_mntfs): do not discard old mntfs,
5856	it will be done in free_continuation(); assorted debugging messages
5857
5858	* amd/srvr_nfs.c (nfs_timed_out): allocate a new XID on server
5859	timeout to avoid problems with late ping replies
5860
5861	* amd/mntfs.c (free_mntfs): sanity check for mf_refc; assorted
5862	debugging messages
5863
5864	* amd/map.c (unmount_node): more verbose debug message
5865
58662002-07-29  Ion Badulescu  <ion@guppy.limebrokerage.com>
5867
5868	* amd/amfs_auto.c (amfs_auto_lookup_mntfs): prevent deferencing
5869	de-allocated memory in str3cat
5870	(amfs_auto_lookup_mntfs): check for buffer overflow
5871
58722002-07-11  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5873
5874	* scripts/expn.{1,in}: fixed typos as reported by Thomas Klausner
5875	<wiz@danbala.ifoer.tuwien.ac.at>.
5876
58772002-06-26  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5878
5879	* doc/Makefile.am (install-html): don't use locally hacked
5880	texi2html features.
5881
5882	* conf/transp/transp_sockets.c (amu_get_myaddress): Most modern
5883	systems should use 127.0.0.1 as the localhost address over which
5884	you can do NFS mounts.  In the past we found that some NFS clients
5885	may not allow mounts from localhost.  So we used get_myaddress()
5886	and that seemed to work.  Alas, on some other systems,
5887	get_myaddress() may return one of the interface addresses at
5888	random, and thus use a less efficient IP address than 127.0.0.1.
5889	The solution is to hard-code 127.0.0.1, but still check if
5890	get_myaddress() returns a different value and warn about it.
5891
5892	* doc/am-utils.texi: don't use ':' in @cindex entries.
5893
58942002-06-25  Ion Badulescu  <ion@guppy.limebrokerage.com>
5895
5896	* Released beta version 6.1b1
5897
58982002-06-24  Ion Badulescu  <ionut@moisil.badula.org>
5899
5900	* aux/macros/struct_nfs_args.m4: added test for aix51_nfs_args
5901
5902	* conf/nfs_prot/nfs_prot_aix5_1.h: rename aix42_nfs_args to
5903	aix51_nfs_args, rename unknown fields to u<number>, add the
5904	unknown new field into the middle of the old 4.2 structure
5905
59062002-06-24  Ion Badulescu  <ion@guppy.limebrokerage.com>
5907
5908	* include/am_compat.h: better test for struct netconfig
5909	(!HAVE_NETCONFIG_H && !HAVE_SYS_NETCONFIG_H)
5910
5911	* aux/macros/check_nfs_prot_headers.m4: added new header for aix5.1+
5912
5913	* buildall: fix 'buildall -b' on hpux9 and aix5.1
5914
59152002-06-24  Ion Badulescu  <ionut@buggy.badula.org>
5916
5917	* INSTALL: updated
5918
5919	* conf/autofs/autofs_solaris_v1.c (autofs_link_mount): compile fix
5920	(autofs_link_umount): ditto
5921
5922	* amd/mntfs.c (init_mntfs): don't use autofs if !amd_use_autofs
5923
59242002-06-23  Ion Badulescu  <ionut@moisil.badula.org>
5925
5926	* conf/autofs/autofs_linux.c: compile fixes for autofs v3
5927
59282002-06-23  Ion Badulescu  <ionut@moisil.badula.org>
5929
5930	* conf/autofs/autofs_solaris_v2_v3.c (autofs_mounted): no
5931	expirations needed;
5932	(autofs_timeout_mp): likewise
5933
5934	* conf/autofs/autofs_solaris_v1.c (autofs_mounted): no expirations
5935	needed;
5936	(autofs_timeout_mp): likewise
5937
5938	* conf/autofs/autofs_linux.c (autofs_mounted): set the first
5939	expiration interval
5940
5941	* amd/autil.c (am_mounted): call autofs_mounted here, instead of
5942	in mf_mounted()
5943
5944	* amd/amd.h (NEVER): moved here from map.c
5945	(autofs_mounted): change argument from mntfs* to am_node*
5946
59472002-06-23  Ion Badulescu  <lionut@gonzales.badula.org>
5948
5949	* conf/autofs/autofs_linux.c (autofs_mounted): set the kernel
5950	timeout on the autofs mountpoint to cache_duration (gopt.am_timeo)
5951	(autofs_timeout_mp): don't update the ttl if we're going down
5952
5953	* amd/map.c (timeout_mp): don't call autofs_timeout_mp unless the
5954	timeout on that particular am_node has expired
5955
5956	* conf/autofs/autofs_linux.c (autofs_timeout_mp): really update
5957	the ttl, as per the comment (compilers are not very good at
5958	translating comments into code...)
5959
5960	* amd/amfs_auto.c (amfs_auto_lookup_one_mntfs): strdup am_path
5961	instead of opt_rfs into opt_fs for autofs, thus avoiding conflicts
5962	between link mounts pointing to the same target
5963
59642002-06-23  Ion Badulescu  <lionut@gonzales.badula.org>
5965
5966	* conf/autofs/autofs_linux.c (send_fail, send_ready): new helper
5967	functions for sending messages back to the kernel
5968	(autofs_expire_one): initial implementation of the kernel-based
5969	expiration handler
5970	(autofs_handle_expire): call autofs_expire_one()
5971	(autofs_handle_expire_multi): ditto
5972	(autofs_umount_succeeded): search pending_umounts, send message
5973	back to the kernel
5974	(autofs_umount_failed): ditto
5975	(autofs_mount_succeeded): tell amd core not to expire autofs entries
5976	(autofs_timeout_mp): expiration function for autofs filesystems
5977	(autofs_timeout_mp_task): helper function for autofs_timeout_mp
5978
5979	* conf/autofs/autofs_linux.h: new struct autofs_pending_umount for
5980	keeping tracking of pending umounts
5981	(autofs_fh_t) rename pending to pending_mounts, add pending_umounts
5982
5983	* conf/autofs/autofs_solaris_v1.c (autofs_timeout_mp): stub
5984
5985	* conf/autofs/autofs_solaris_v2_v3.c (autofs_timeout_mp): stub
5986
5987	* amd/map.c (timeout_mp): call autofs_timeout_mp() for autofs
5988	filesystems
5989
5990	* amd/autil.c (mf_mounted): move here the call autofs_mounted()
5991	from amfs_auto_mounted().
5992
59932002-06-22  Erez Zadok  <ezk@whitestar.dyn.optonline.net>
5994
5995	* amd/nfs_start.c (mount_automounter): Security fix.  if user sets
5996	-D noamq, don't even create listening socket.  Suggestion by Ed
5997	Ravin <eravin@panix.com>.
5998
59992002-06-22  Ion Badulescu  <lionut@gonzales.badula.org>
6000
6001	* hlfsd/homedir.c (homedir): use setgid() instead of setegid()
6002
6003	* ALL: #ifdef cleanups, unify some TLI/socket function prototypes
6004
60052002-06-22  Erez Zadok  <ezk@whitestar.dyn.optonline.net>
6006
6007	* conf/nfs_prot/nfs_prot_netbsd1_4.h: minor port to support
6008	na_gid and na_uid.  NetBSD patch from Jun-ichiro itojun Hagino
6009	<itojun@iijlab.net>.
6010
6011	* doc/am-utils.texi (Option): document xlatecookie mount option.
6012
6013	* libamu/mount_fs.c (compute_nfs_args): support "xlatecookie"
6014	NFS mount option.  Patch from Matthias Scheler <tron@zhadum.de>
6015	for NetBSD.
6016
60172002-06-22  Ion Badulescu  <ionut@edgar.badula.org>
6018
6019	* conf/autofs/autofs_solaris_v1.h: add FS_MBACKGROUND to
6020	AUTOFS_LINK_FS_FLAGS
6021
6022	* conf/autofs/autofs_solaris_v1.c: convert link mounts to lofs
6023	mounts in autofs_link_mount/umount
6024
60252002-06-22  Ion Badulescu  <lionut@gonzales.badula.org>
6026
6027	* configure.in: check for devid inside struct umntrequest
6028
6029	* conf/autofs/autofs_solaris_v2_v3.c (xdr_umntrequest): handle the
6030	new umntrequest structure in v4.
6031	(autofs_unmount_2_req): ditto
6032
6033	* README.autofs: updated for Solaris 2.5/2.5.1
6034
60352002-06-22  Erez Zadok  <ezk@whitestar.dyn.optonline.net>
6036
6037	* configure.in: only define LDAP/Hesiod if both the headers and
6038	the libraries exist, and the user didn't explicitly disable those
6039	maps.
6040
60412002-06-22 Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
6042
6043	* doc/am-utils.texi: fix typos.  Can't use ":" in @cindex entries.
6044
60452002-06-22  Erez Zadok  <ezk@whitestar.dyn.optonline.net>
6046
6047	* doc/am-utils.texi, scripts/amd.conf.5, scripts/amd.conf-sample,
6048	amd/amd.8, amd/get_args.c (get_args): document amd -A option.
6049
6050	* amd/get_args.c (get_args): support "amd -A arg" option to
6051	override the system's detected architecture.  Patch from George
6052	Ross <gdmr@dcs.ed.ac.uk>.
6053
6054	* amd/info_ldap.c (amu_ldap_rebind): don't use ldap_enable_cache()
6055	if the system doesn't have it.
6056
6057	* configure.in: detect existence of ldap_enable_cache function,
6058	because it doesn't exist on Solaris 9's latest ldap libraries.
6059
6060	* amd/info_ldap.c: LDAP patches from George Ross
6061	<gdmr@dcs.ed.ac.uk>.  Rework of old code, support for wildcards in
6062	LDAP queries, and an FD leak fix.
6063
60642002-06-22  Ion Badulescu  <lionut@gonzales.badula.org>
6065
6066	* buildall: use ksh for configure on aix5.1; pass the extra
6067	arguments after "--" to configure, not to make
6068
6069	* Makefile.am: added nfs_prot_aix4_3.h to EXTRA_DIST_CONF
6070
6071	* conf/mount/mount_aix.c (mount_aix3): if the NFSv3 mount fails
6072	with EINVAL and we have MOUNT_TYPE_NFS3_BIS defined, retry the
6073	mount with the alternative nfs3_args structure
6074
6075	* conf/nfs_prot/nfs_prot_aix4_3.h: added alternative nfs3_args
6076	structure, similar to that in aix5.1, for a hack that tries to
6077	compensate for IBM's brain fart
6078
6079	* conf/nfs_prot/nfs_prot_aix5_1.h: new nfs_prot header for aix5.1+
6080
6081	* aux/macros/check_nfs_prot_headers.m4: added new header for aix5.1+
6082
6083	* BUGS: update for direct mounts on Linux; document the brokenness
6084	of /bin/sh on AIX 5.1 and HP-UX 9
6085
6086	* NEWS: aix5.1 port, aix4.3 workaround
6087
60882002-06-22 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu>
6089
6090	* ltmain.sh: use libtool 1.4d, needed support for newer AIX.
6091
60922002-06-21  Ion Badulescu  <ion@guppy.limebrokerage.com>
6093
6094	* aux/macros/check_autofs_style.m4: enable autofs_v2_v3 for
6095	all solaris2.6+, not just for 2.[6-8]
6096
6097	* conf/autofs/autofs_default.h: disable autofs if configure
6098	detects it
6099
61002002-06-21  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
6101
6102	* aux/macros/with_addon.m4: correct M4 quoting.
6103
6104	* aux/macros/cache_check_dynamic.m4: correct M4 quoting.
6105
6106	* bootstrap: show version of autotools being used.  Helps
6107	maintainer debugging.
6108
6109	* configure.in: new proper syntax for libtool and
6110	ansi2knr-filtering rules, required by autoconf 1.53 and higher.
6111
61122002-06-21  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
6113
6114	* aux/GNUmakefile: new search paths for "update" target.
6115
6116	* config.guess, config.sub, doc/texinfo.tex, ltmain: updates from
6117	the latest GNU distributions.
6118
61192002-06-11  Ion Badulescu  <ion@guppy.limebrokerage.com>
6120
6121	* amd/amfs_auto.c (amfs_auto_lookup_child): split part of this
6122	function into the new amfs_auto_lookup_one_child function; return
6123	null if all ivecs failed to match
6124
61252002-05-30  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
6126
6127	* config.guess.long: support SuSE version names in long
6128	config.guess format.
6129
61302002-05-01  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
6131
6132	* scripts/lostaltmail.in (vrfy_user): unlink temp files if too
6133	small.
6134
61352002-04-07  Ion Badulescu  <ionut@moisil.badula.org>
6136
6137	* hlfsd/hlfsd.c (main): compile fix for --enable-debug=no
6138
61392002-03-29  Ion Badulescu  <ionut@moisil.badula.org>
6140
6141	* README.autofs: solaris 2.5/2.5.1 info, other minor changes
6142
6143	* doc/am-utils.texi (History): document solaris 2.5+ support
6144
6145	* include/am_utils.h: new member in struct mntfs: mfs_real_mount;
6146	autofs_fs_flags becomes conditional of HAVE_AUTOFS_FS; new
6147	prototype for umount_fs2(); extra argument for UMOUNT_FS()
6148
6149	* hlfsd/hlfsd.c: use the new mount_fs2() and UMOUNT_FS()
6150
6151	* libamu/mount_fs.c (mount_fs): wrapper around the new mount_fs2()
6152	function; swap mntdir and real_mntdir as necessary for solaris 2.5
6153	autofs support
6154
6155	* conf/umount/umount_default.c (umount_fs2): swap mntdir and
6156	real_mntdir as necessary for solaris 2.5 autofs support
6157
6158	* conf/umount/umount_*.c (umount_fs): wrapper around the new
6159	umount_fs2() function
6160	(umount_fs2): new function which takes the real mountpoint as an
6161	extra argument
6162
6163	* conf/nfs_prot/nfs_prot_sunos5_5.h: allow autofs support to be
6164	compiled in
6165
6166	* conf/autofs/autofs_solaris_v1.h (autofs_strdup_space_hack): new
6167	function that appends a space at the end of a string (the famous
6168	"Autofs Space Protocol")
6169
6170	* conf/autofs/autofs_solaris_v1.c: almost complete reimplementation
6171
6172	* conf/autofs/autofs_*.h (AUTOFS_*_FS_FLAGS): add
6173	system-specific definitions for these macros
6174
6175	* conf/autofs/autofs_linux.c (create_autofs_service): remove hacks
6176	which are now handled properly by more generic code
6177	(autofs_link_umount): complain if umount_fs() fails, rmdir the
6178	mountpoint on success
6179	(autofs_umount_succeeded): remove the rmdirs() code, now handled
6180	by generic code
6181	(autofs_mount_succeeded): ditto
6182
6183	* amd/nfs_start.c (checkup): implement it as an emtpy stub if
6184	DEBUG is not defined
6185	(run_rpc): call autofs_add_fdset() after umount_exported() to
6186	avoid passing invalid file descriptors to select(); use plog()
6187	instead of perror()
6188
6189	* amd/mntfs.c (init_mntfs): initialize mf_real_mount from mp
6190	(uninit_mntfs): free mf_real_mount
6191
6192	* amd/autil.c (am_unmounted): don't remove the mount point if a
6193	remount is pending, also don't make the removal conditional on not
6194	being an autofs mount point
6195
6196	* amd/amfs_nfsx.c (amfs_nfsx_remount): call mkdirs() on
6197	mf->mf_real_mount instead of mf->mf_mount
6198
6199	* amd/amfs_nfsl.c, amd/amfs_nfsx.c: (amfs_nfsl_umounted): call
6200	rmdirs() on mf->mf_real_mount instead of mf->mf_mount
6201
6202	* amd/amfs_host.c (make_mntpt): change the third argument to be
6203	the mountpoint, not the entire mntfs structure
6204	(do_mount): takes real_mntdir as an extra argument
6205
6206	* amd/amfs_auto.c (amfs_auto_bgmount): move the creation of the
6207	mountpoint here from try_mount(), otherwise the change to mf_flags
6208	is lost for background mounts; remove the mountpoint if we created
6209	it and the mount fails
6210	(amfs_auto_lookup_mntfs): re-initialize mf->mf_real_mount using
6211	autofs_strdup_space_hack() if NEED_AUTOFS_SPACE_HACK is defined
6212
6213	* amfs_*.c, ops_*.c: initialize autofs_fs_flags using the
6214	AUTOFS_*_FS_FLAGS macro defined in the system-specific autofs
6215	header; UMOUNT_FS() takes mf->mf_real_mount as an extra argument;
6216	mount_fs() becomes mount_fs2() and takes mf->mf_real_mount as an
6217	extra argument
6218
6219	* amd/amd.h, amd/ops_nfs.c, amd/amfs_host.c: mount_nfs_fh takes
6220	the real mountpoint as an additional argument
6221
62222002-03-28  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
6223
6224	* amd/ops_cdfs.c (mount_cdfs): correctly interpret error return
6225	values back from mount_fs().  Return correct error number from
6226	this function.
6227
6228	* conf/mount/mount_linux.c (do_mount_linux): cleanup loop mount
6229	cruft from this function, moved elsewhere.
6230	(mount_linux): prepare for loop-device mounts of ISO images.
6231
62322002-03-28  Ion Badulescu  <ionut@buggy.badula.org>
6233
6234	* libamu/Makefile.am (EXTRA_DIST): added strerror.c
6235
6236	* libamu/strerror.c: strerror() implementation for systems lacking it
6237
6238	* doc/am-utils.texi (History): rewrote the history :) about autofs
6239	support
6240
6241	* conf/autofs/autofs_solaris_v2_v3.c: updated copyright;
6242	(autofs_unmount_2_req): minor cleanup
6243	(create_autofs_service): print log message
6244	(destroy_autofs_service): ditto
6245
6246	* conf/autofs/autofs_linux.c: updated copyright
6247
6248	* amd/nfs_start.c (mount_automounter): move the debug message into
6249	create_autofs_service()
6250
6251	* amd/amd.c (main): call destroy_autofs_service() before
6252	going_down(), not after
6253
6254	* configure.in: added strerror to AC_CHECK_FUNCS(); disable ldap
6255	if the ldap headers are not found
6256
62572002-03-28  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
6258
6259	* amd/info_ldap.c: patch from "Sebastien Bahloul"
6260	<sebastien.bahloul@medasys.org> to fix a simple initialization bug
6261	and change "HE" to HE_ENT so as to compile on HPUX.
6262
62632002-02-26  Erez Zadok  <ezk@t3.fsl.cs.sunysb.edu>
6264
6265	* conf/nfs_prot/nfs_prot_freebsd3.h (na_uid): freebsd4.5 uses nfs
6266	atttributes field named "uid".  So #define na_uid to it.
6267
62682002-02-12  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
6269
6270	* scripts/lostaltmail.in: don't verify user if -noverify option
6271	was turned on.  fix comment typo.
6272
62732002-02-11  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
6274
6275	* amd/Makefile.am (TESTS): enable one test script, test1.sh.
6276
6277	* amd/test1.sh: re-commit simple test script.
6278
62792002-02-11  Ion Badulescu  <ion@guppy.limebrokerage.com>
6280
6281	* Released snapshot 6.1a5
6282
6283	* NEWS: Solaris autofs readdir() support, Linux autofs sublink fix
6284
6285	* README: require newer auto-tools, update mailing list address
6286
6287	* README.autofs: major update
6288
6289	* configure.in: version changed to 6.1a5
6290
62912002-02-11  Ion Badulescu  <ionut@moisil.badula.org>
6292
6293	* conf/autofs/autofs_linux.c (autofs_link_mount): don't do a
6294	stat() on the am_link if called from the parent amd, to prevent
6295	deadlocks
6296
6297	* amd/autil.c (am_unmounted): call amfs_link_ops.umount_fs if the
6298	fstype is not link but we have a sublink (Linux autofs needs this)
6299	(am_mounted): call amfs_link_ops.mount_fs if the fstype is not
6300	link but we have a sublink (Linux autofs needs this)
6301
6302	* amd/amfs_auto.c (amfs_auto_bgmount): print the real mountpoint,
6303	not the amd entry point
6304
63052002-02-09  Ion Badulescu  <ionut@moisil.badula.org>
6306
6307	* conf/autofs/autofs_solaris_v2_v3.c (amd_rddirres): new custom
6308	structure for returning the results from readdir_2()
6309	(xdr_amd_putrddirres): renamed from xdr_autofs_putrddirres,
6310	changed to process our internal format (which is essentially the
6311	NFS readdir format)
6312	(xdr_autofs_getrddirres): not needed, deleted
6313	(xdr_amd_rddirres): renamed from xdr_autofs_rddirres, other
6314	changes to handle amd_rddirres instead of autofs_rddirres
6315	(autofs_lookup_2_req): return AUTOFS_NONE instead of
6316	AUTOFS_MOUNT_RQ, to prevent mount storms during ls -F
6317	(autofs_readdir_2_req): implemented
6318	(autofs_readdir_2_free): not needed, deleted
6319	(autofs_program_2): changes from autofs_rddirres to amd_rddirres
6320	(autofs_get_fh): changed initialization of the fh->map member, it
6321	now gets the mountpoint path because it makes it easier to
6322	implement readdir
6323	(autofs_release_fh): put #ifdef HAVE_AUTOFS_ARGS_T_ADDR around
6324	code touching fh->addr
6325	(destroy_autofs_service): new function, deregister the autofs
6326	service with the portmapper on exit
6327
6328	* conf/autofs/autofs_linux.c (autofs_handle_missing): update
6329	statistics
6330	(destroy_autofs_service): new stub
6331
6332	* amd/mapc.c (mapc_find): fixed indentation
6333
6334	* amd/map.c (find_ap_recursive): renamed from find_ap2(), made
6335	static
6336
6337	* amd/amd.h: removed prototype for find_ap2(), added prototype for
6338	destroy_autofs_service()
6339
6340	* amd/amd.c (main): call destroy_autofs_service() before going
6341	down
6342
63432002-02-07  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
6344
6345	* aux/macros/check_field.m4: need also a new version of
6346	AC_CHECK_MEMBERS (plural).
6347
63482002-02-06  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
6349
6350	* aux/macros/check_field.m4: include a fixed version of
6351	AC_CHECK_MEMBER.  g/cc will fail to check a member if the .member
6352	is itself a data structure, because you cannot compare, in C, a
6353	data structure against NULL; you can compare a native data type
6354	(int, char) or a pointer.  Solution: do what I did in my original
6355	member checking macro: try to take the address of the member.  You
6356	can always take the address of anything.
6357
63582002-01-31  Erez Zadok  <ezk@localhost.localdomain>
6359
6360	* remove old '%W%' SCCS IDs from all sources.
6361
63622002-01-21  Ion Badulescu  <ionut@moisil.badula.org>
6363
6364	* conf/mount/mount_linux.c (mount_linux): fix breakage introduced
6365	by the loop device mount support. Linux mount takes a real string
6366	as the last argument, unless the mount type is NFS, NCP, or SMB.
6367
63682002-01-20  Erez Zadok  <ezk@localhost.localdomain>
6369
6370	* hlfsd/hlfsd.h (HLFSD_VERSION): up version of hlfsd to 1.2,
6371	because we made some important changes.
6372
63732002-01-20  Ion Badulescu  <lionut@gonzales.badula.org>
6374
6375	* include/am_utils.h (D_ALL): do not include D_MTAB and D_HRTIME
6376	by default
6377
6378	* NEWS: document latest changes
6379
6380	* amd/map.c (unmount_mp): same fix as for hlfsd, update the
6381	seconds field in mtime because Linux ignores the useconds field
6382
6383	* hlfsd/homedir.c: made some global vars static
6384	(plt_init): remove all trailing '/' chars from root's home;
6385	use root's home, not the username (silly bugfix)
6386
63872002-01-20  Ion Badulescu  <lionut@gonzales.badula.org>
6388
6389	* hlfsd/homedir.c (homedir): don't special case uid 0 as having /
6390	as home; instead use the root account's home
6391	(plt_init): properly initialize root_home from the root account's
6392	home directory, or as "" if root doesn't exist
6393	(plt_reset): free root_home
6394
63952002-01-20  Erez Zadok  <ezk@localhost.localdomain>
6396
6397	* hlfsd/stubs.c (nfsproc_{lookup,getattr}_2_svc): non-SYMTTL code.
6398	Increment seconds, not microseconds (which are ignored by NFS).
6399	Set symlink owner to euid.
6400
6401	* hlfsd/homedir.c (homedir): pass gid to this function, so we can
6402	also change the effective GID of the process writing to the user's
6403	home dir, as well as the group of the hlfsd symlink.
6404	(homedir): run setegid in the right places.
6405
64062002-01-15  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
6407
6408	* scripts/redhat-ctl-amd.in: refer to @sbindir@ not
6409	${prefix}/sbin.
6410
6411	* scripts/ctl-{amd,hlfsd}.in: refer to @sysconfdir@ not
6412	${prefix}/etc.  Bug report from "A Braunsdorf"
6413	<ab@eas.purdue.edu>.
6414
64152002-01-13  Erez Zadok  <ezk@localhost.localdomain>
6416
6417	* configure.in: only check for clock_gettime if --enable-debug was
6418	used.
6419
6420	* aux/macros/opt_debug.m4: define a cache variable to record value
6421	of debug option used.
6422
6423	* libamu/xutil.c (show_time_host_and_name): do not use
6424	clock_gettime unless debugging was compiled in.  This way, if
6425	debugging is not compiled, we don't bother linking with librt,
6426	libpthread, and a whole lot of other libraries that aren't that
6427	necessary (esp. on Linux).
6428
64292002-01-12  Erez Zadok  <ezk@wavy.dyn.optonline.net>
6430
6431	* doc/am-utils.texi (opts Option): document loop option.
6432
6433	* include/am_utils.h: each mounted file system (mntfs) should
6434	optionally store the loop device used in the field mf_loopdev.
6435
6436	* conf/nfs_prot/nfs_prot_linux.h: define HAVE_LOOP_DEVICE and some
6437	loop function extern definitions.  For now this code is here
6438	because we only support loop devices on Linux.
6439
6440	* conf/mount/mount_linux.c: recognize "loop" as a valid iso9660
6441	mount option.
6442	(parse_opts): when skipping over unknown mount options, skip over
6443	"loop" (since it was given in amd map entry), but not over
6444	loop=/dev/loopX, because the latter will go into /etc/mtab.
6445	(do_mount_linux): override actual cdfs mounted  device name
6446	because with loop devices you don't mount the .iso file directly,
6447	but the /dev/loopX device that was setup for it.
6448	(show_loop, is_loop_device, find_unused_loop_device,
6449	setup_loop_device, delete_loop_device): support code for loop
6450	devices.
6451
6452	* amd/ops_cdfs.c (mount_cdfs): pass loop device name to function.
6453	setup loop device before isofs mount, if "loop" option was given,
6454	before actual mount(2).
6455	(cdfs_mount): pass loopdev name to mount_cdfs().
6456	(cdfs_umount): delete/unset loop device after a successful
6457	unmount, if a loop device was used.
6458
6459	* amd/mntfs.c (init_mntfs): initialize mf_loopdev to NULL.
6460
6461	* include/am_compat.h: If loop device (header file) exists, define
6462	mount table option MNTTTAB_OPT_LOOP.
6463
6464	* conf/nfs_prot/nfs_prot_linux.h: hack: define HAVE_LOOP_DEVICE
6465	here until we have a better way to detect /dev/loop devices.
6466
6467	* include/am_defs.h: include <linux/loop.h> if it exists.  Define
6468	LARGEFILE support macros, possibly needed for loop devices.
6469	Redefine dev_t apropriately for loop devices.
6470
6471	* configure.in: check for <linux/loop.h>.
6472
64732002-01-10  Ion Badulescu  <ion@guppy.limebrokerage.com>
6474
6475	* conf/mount/mount_linux.c (mount_linux): tcp _must_ have a timeo
6476	parameter 2 orders of magnitude larger than udp (patch from Trond
6477	Myklebust)
6478
64792002-01-09  Erez Zadok  <ezk@localhost.localdomain>
6480
6481	* aux/macros/linux_headers.m4: properly [quote] a long string in
6482	m4 and use AC_MSG_WARN.
6483
6484	* ALL: put /* comments */ on #else/#endif lines everywhere.
6485
6486	* configure.in, aux/macros/with_addon.m4: due to limitation of
6487	AC_HELP_STRING, pass 2nd arg to AMU_WITH_ADDON, listing name of
6488	package for help string.
6489
6490	* doc/am-utils.texi (FSinfo): fixed various texinfo errors in the
6491	FSinfo section of the manual.
6492	(map_reload_interval Parameter): document new amd.conf global
6493	parameter.
6494
6495	* scripts/amd.conf.5 document new global option
6496	map_reload_interval.  Sort entries for nfs_vers and nfs_proto
6497	alphabetically.
6498
6499	* amd/nfs_start.c (do_select): increment do_mapc_reload's value by
6500	global map_reload_interval value, not by fixed ONE_HOUR.
6501
6502	* amd/amd.c (main): increment do_mapc_reload's value by global
6503	map_reload_interval value, not by fixed ONE_HOUR.
6504
6505	* scripts/amd.conf-sample (map_reload_interval): usage example
6506
6507	* amd/amd.c (init_global_options): initialize map_reload_interval
6508	to 3600 seconds.
6509
6510	* amd/conf.c (gopt_map_reload_interval): support a new global
6511	amd.conf option map_reload_interval, to determine how often (in
6512	seconds) Amd should check if the map source has changed and then
6513	reload it it.  This value was hard-coded to one hour, now it's the
6514	default if not otherwise specified.
6515
6516	* doc/am-utils.texi (plock Parameter): document plock=yes option
6517	as using mlockall(2) if found.
6518
6519	* scripts/amd.conf.5: document -S option as using mlockall(2) if
6520	found.
6521
6522	* include/am_defs.h: include <sys/mman.h> if it exists.
6523
6524	* configure.in: check for mlockall() function.  Check for
6525	sys/mman.h.
6526
6527	* amd/amd.c (main): support mlockall() on systems that have it and
6528	don't have plock(3) for plock=yes.  On systems that have both,
6529	will try plock() first and then mlockall(), until one of them (if
6530	any) succeeds.
6531
65322002-01-09  Erez Zadok  <ezk@whitestar.dyn.optonline.net>
6533
6534	* aux/macros/opt_debug.m4, opt_cppflags.m4, opt_amu_cflags.m4,
6535	with_addon.m4 (ac_upcase): fix help string formatting using
6536	AC_HELP_STRING.
6537
6538	* amd/test1.sh: simple test script for "make check".  Runs "amd
6539	-v".
6540
6541	* amd/Makefile.am (TESTS): add one simple test script, running
6542	"amd -v" and checking its return value.  More tests can be added.
6543
6544	* aux/macros/linux_headers.m4: use AC_MSG_WARN directly.
6545
6546	* aux/macros/*.m4: avoid the cumbersome "changequote" M4 command.
6547	Instead, list bracketed regexp patterns in [[double brackets]].
6548
6549	* aux/macros/header_templates.m4: remove all unnecessary
6550	HAVE_FIELD_* definitions, now that we're using autoconf's new
6551	AC_CHECK_MEMBERS.
6552
6553	* aux/macros/field_mntent_t_mnt_time_string.m4: don't call
6554
6555	* configure.in: use new syntax for AMU_CHECK_FIELD
6556
6557	* aux/macros/check_field.m4: use new and simpler macro
6558	AC_CHECK_MEMBERS.  Change all sources to use HAVE_aggregate.member
6559	instead of HAVE_FIELD_aggregate.member.
6560
6561	* aux/amdgrep: simple utility script to egrep the am-utils sources
6562	for any pattern.
6563
6564	* aux/macros/{check_mnttab_style.m4, check_mount_style.m4,
6565	check_umount_style.m4, check_network_transport_type.m4}: use newer
6566	AC_LIBOBJ macros instead of modifying $LIBOBJS directly
6567
6568	* aux/macros/func_bad_memcmp.m4: redefine to use native
6569	AC_FUNC_MEMCMP, and then define HAVE_BAD_MEMCMP as needed.
6570
6571	* fsinfo/fsi_gram.y, amd/conf_parse.y: indent #pragma command so
6572	pre-ANSI C compilers will ignore it.
6573
6574	* conf/autofs/autofs_linux.c (autofs_link_mount): call s/getpgrp()
6575	correctly depending on whether it takes a void or a 0.
6576
6577	* configure.in: check if s/getpgrp() takes void or a 0.
6578
65792002-01-08  Erez Zadok  <ezk@whitestar.dyn.optonline.net>
6580
6581	* configure.in: use the newer AC_CONFIG_LINKS instead of
6582	AC_LINK_FILES.
6583
6584	* aux/macros/check_autofs_style.m4, check_checkmount_style.m4,
6585	check_mnttab_style.m4, check_mount_style.m4,
6586	check_network_transport_type.m4, check_umount_style.m4,
6587	check_nfs_prot_headers.m4: removed backward compatible code for
6588	pre-autoconf-2.14.
6589
65902002-01-07  Erez Zadok  <ezk@whitestar.dyn.optonline.net>
6591
6592	* doc/Makefile.am: define @SET_MAKE@ for AC_PROG_MAKE_SET macro, since
6593	this Makefile could explicitly chdir to other directories and run
6594	make there.
6595	(install-ps): use ${MAKE} with ${MFLAGS}.
6596
6597	* Makefile.am (EXTRA_DIST_AUX): distribute new package_*.m4 files.
6598	Define @SET_MAKE@ for AC_PROG_MAKE_SET macro, since this Makefile
6599	could explicitly chdir to other directories and run make there.
6600	(install-snapshot): use ${MAKE} ${MFLAGS}, not hardcoded "make".
6601
6602	* configure.in: call AC_PROG_MAKE_SET to check if make program
6603	defines $MAKE variable.
6604
6605	* amd/get_args.c (get_version_string): use new PACKAGE_* macros
6606	and also report the bug-reporting address.
6607
6608	* aux/macros/package_{name,version}.m4, header_templates.m4: using
6609	new PACKAGE_{NAME,VERSION,BUGREPORT} macros.
6610
6611	* aux/macros/name_bugreport.m4: simple macro to print out the
6612	bug-reporting address which was configured in AC_INIT.
6613
6614	* bootstrap: remove new autoconf messages about misuse of
6615	m4_patsubst and m4_regexp (internal GNU M4 macros).
6616
6617	* configure.in: remove old comment above AC_OUTPUT.
6618	Use AC_CONFIG_FILES and AC_OUTPUT separately.
6619	Fix AC_REVISION use.
6620	Add AC_COPYRIGHT.
6621	Use new style for AC_INIT, listing package name, version, and
6622	bug-reporting address.
6623	Call new AMU_PACKAGE_* macros.
6624
6625	* updated copyright year to 2002 on all files
6626
6627	* configure.in: using newly renamed am-utils macros (AMU_*)
6628
6629	* aux/macros/*.m4: renamed ALL am-utils specific macros so they
6630	start with AMU_*, not AC_*.  That way it is easier to distinguish
6631	between macros that come with am-utils and those that are part of
6632	Autoconf or Automake.  It helps to identify those am-utils macros
6633	that can be removed once there is generic support for them in a
6634	future version of Autoconf.
6635
6636	* bootstrap: run automake --copy
6637	remove autom4te.cache dir before rerunning autoconf
6638
66392001-12-13  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
6640
6641	* scripts/amd.conf.5: correct title to section 5, not 8.  Correct
6642	reversed meaning of nfs_proto and nfs_vers parameters.  Typos
6643	reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
6644
66452001-12-02  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
6646
6647	* scripts/ctl-amd.in: run "test" or "[" in front of -x/-f
6648
6649	* scripts/ctl-hlfsd.in: run "test" or "[" in front of -x/-f
6650
66512001-12-02  Ion Badulescu  <ionut@moisil.badula.org>
6652
6653	* hlfsd/homedir.c (plt_print): fix typo (s/plot/plog/) in
6654	non-mkstemp code
6655
6656	* scripts/ctl-amd.in: touch/remove /var/lock/subsys/amd to make RH
6657	happy
6658
6659	* scripts/ctl-hlfsd.in: ditto (for hlfsd)
6660
6661	* conf/mtab/mtab_file.c (rewrite_mtab): fchmod(644) the file we
6662	get from mkstemp(), otherwise samba becomes very unhappy (sigsegv)
6663
6664	* conf/mtab/mtab_mach3.c (rewrite_mtab): ditto
6665
66662001-11-29  Ion Badulescu  <ion@guppy.limebrokerage.com>
6667
6668	* tasks: updated
6669
6670	* NEWS: document the fixed autofs fd leak
6671
6672	* amq/amq.8: better document the -f option
6673
66742001-11-29  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
6675
6676	* libamu/mount_fs.c (mnt_flags): same this as for nolock option
6677	handling, do for maxgrps.
6678
66792001-11-29  Ion Badulescu  <ion@guppy.limebrokerage.com>
6680
6681	* conf/autofs/autofs_linux.c (hash_init): determine the max number
6682	of fd's at runtime, use it to dynamically scale the hash and list
6683	arrays
6684	(autofs_get_fh): sanity check, don't allow a pipe() fd greater
6685	than autofs_max_fds
6686	(autofs_release_fh): close our end of the pipe here (no clue why
6687	or when it got commented out)
6688	(autofs_mounted): set kernelfd to -1 after closing it
6689
66902001-11-28  Philippe Troin  <phil@fifi.org>
6691
6692	* libamu/mount_fs.c (mnt_flags): Drop nolock from generic mount
6693	opts.
6694	(compute_nfs_args): Added nolock handling.
6695	Adapted from an original patch from Avery Pennarun <apenwarr@nit.ca>.
6696
66972001-11-27  Erez Zadok  <ezk@a-hpux11i.fsl.cs.sunysb.edu>
6698
6699	* ported to ia64-hp-hpux11.20 using HP's ANSI/C compiler.
6700	Couldn't use bison/flex because of 32-bit vs. 64-bit binaries
6701	issues.  Had to use HP's own yacc/lex.
6702
67032001-11-26  Erez Zadok  <ezk@a-hpux11i.fsl.cs.sunysb.edu>
6704
6705	* */Makefile.am: don't use $(OBJECTS) directly because it is no
6706	longer automatically defined now that Automake has automatic
6707	dependency tracking (which I turn off).  Instead, hard-code
6708	minimal dependencies on am-utils' header files to depend on
6709	PROG_OBJECTS (where PROG is the program name being built).  This
6710	was discovered by using HP's non-GNU make program.
6711
6712	* amd/nfs_start.c (checkup): cast getpagesize() return val to
6713	long, to avoid conflicts in division of a long by an int (on
6714	hpux11i, with their ANSI/C compiler).
6715
6716 	* INSTALL, doc/am-utils.texi: port updates
6717
6718	* minor new ports: ia64-hp-hpux11.20, i386-unknown-freebsd5.0,
6719	i386-unknown-freebsd4.4, i386-pc-linux-rh7.2,
6720	ia64-unknown-linux-rh7.1.
6721
6722	* include/am_defs.h: actually declare extern definition for
6723	xdr_callmsg() if it doesn't already exist.
6724
6725	* aux/macros/header_templates.m4: declare template for
6726	HAVE_EXTERN_XDR_CALLMSG.
6727
6728	* configure.in: check for extern definition for xdr_callmsg()
6729	because hpux11 has that function but a bad <rpc/xdr.h> header file
6730	that doesn't define it in the right place.
6731
6732	* libamu/mount_fs.c (print_nfs_args): cast ->rdev to u_long b/c
6733	on hpux11 its type is dev_t.
6734
6735	* conf/nfs_prot/nfs_prot_hpux11.h: don't support autofs on hpux11
6736	yet.
6737
67382001-11-16  Erez Zadok  <ezk@fsl-gw.fsl.cs.sunysb.edu>
6739
6740	* buildall (Usage): separate $cnf_flags and $extra_cnf_flags due
6741	to /bin/sh limitations.
6742
6743	* bootstrap (cmd): turn back on --ignore-deps (this Automake may
6744	have problems)
6745
6746	* libamu/xutil.c: remove __attribute__ format_arg statement for
6747	expand_error() because this function, although taking a
6748	printf-like string, does not use it in a printf function; it only
6749	expands a non-printf amd-special syntax %m.
6750
67512001-11-14  Erez Zadok  <ezk@fsl-gw.fsl.cs.sunysb.edu>
6752
6753	* conf/nfs_prot/nfs_prot_linux.h: define KERNEL_VERSION macro
6754	before using it because older Linux systems don't define this
6755	(e.g., Red Hat 4.2)
6756
67572001-11-13  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
6758
6759	* configure.in: convert to using autoconfig 2.52.  Use new macros.
6760	AC_MSG_NOTICE for messages; AH_TOP and AH_BOTTOM to top and bottom
6761	parts of autogenerated config.h.in; increase autoconf
6762	pre-requisite to version 2.50; use AC_DISABLE_SHARED not
6763	AM_DISABLE_SHARED.
6764
6765	* aux/macros/cache_check_dynamic.m4: finally I can use the new
6766	$ECHO_N syntax in macros instead of $ac_n, since I'm using a new
6767	autoconf.  Isn't it nice to be such forward looking and having
6768	placed a comment "XXX: use the next line for autoconf-2.14 and
6769	newer"... :-)
6770
6771	* aux/macros/save_state.m4: highlight message with ***'s
6772
6773	* aux/macros/host_macros.m4: use proper M4 quoting ([], not "")
6774
6775	* config.{guess,sub}: upated from latest prep ftp distributions
6776
6777	* depcomp, missing, mkinstalldirs: upated from latest Automake 1.5
6778
6779	* ltmain.sh: updated from latest Libtool 1.4.2
6780
6781	* bootstrap: finally, new autoconf doesn't print silly "AC_TRY_RUN
6782	called without default to allow cross compiling" warnings.  And,
6783	it only took like 3+ years to fix this.  But, now it has anoter,
6784	albeit less annoying warning (which the manual says to ignore):
6785	"AC_PROG_LEX invoked multiple times".
6786	When autoheader is run, don't treat the "all clear" message
6787	"config.h.in is update" as an error.
6788
6789	* ltconfig: removed. not needed with latest version of libtool
6790
6791	* aux/macros/header_templates.m4: replaces acconfig.h and defines
6792	all CPP macros we use in this package, including their
6793	accompanying C /* comments */.
6794
6795	* acconfig.h: removed. replaced by new autoconf system to generate
6796	header templates using AH_TEMPLATE macros and such.
6797
6798	* aux/macros/msg.m4: removed.  Replaced with new macro
6799	AC_MSG_NOTICE
6800
6801	* Makefile.am (EXTRA_DIST_AUX): remove aux/macros/msg.m4.  Add
6802	aux/macros/header_templates.m4
6803
6804	* configure.in: early, in host_macros.m4, I'm renaming silly linux
6805	$host_os names such as linux-gnu and lignux to plain "linux".
6806	Alas, RMS finally had his way and libtool will NOT recognize
6807	"linux" as a valid system, only "linux-gnu".  Sigh.  Rich, I know
6808	you're responsible to Linux's fame.  Kudos to you and your
6809	cohorts.  But please don't force the rest of us to use those ugly
6810	or long names.  Solution: temporarily name $host_os to "linux-gnu"
6811	before calling the AC_PROG_LIBTOOL macro, then name it back to
6812	"linux".  (That way I don't have to maintain my own version of
6813	ltmain.sh.
6814
6815	* buildall: force running configure -C (to create and use a local
6816	config.cache file).  New default behavior for autoconf is NOT to
6817	use cache files.  Yeah, that's gonna fly real well with am-utils,
6818	with its 700+ automatic tests.
6819
6820	* conf/mtab/mtab_mach3.c (rewrite_mtab): use mkstemp instead of
6821	mktemp, if the former is available.
6822
6823	* conf/mtab/mtab_file.c (rewrite_mtab): use mkstemp instead of
6824	mktemp, if the former is available.
6825
6826	* mk-amd-map/mk-amd-map.c (main): use mkstemp instead of mktemp,
6827	if the former is available.
6828
6829	* aux/macros/check_nfs_socket_connection.m4: AC_DEFINE calls must
6830	be on a separate line, as per new Autoconf manual, to avoid some
6831	Bourne Shell syntactical bizarreness.
6832
68332001-11-13  Erez Zadok  <ezk@a-rh71i.fsl.cs.suunysb.edu>
6834
6835	* amd/amfs_auto.c (amfs_auto_readdir_browsable): cast to u_long,
6836	for IA64 Linux.
6837
68382001-11-12  Ion Badulescu  <ionut@buggy.badula.org>
6839
6840	* libamu/mtab.c (hasmntval): strtol can return a non-NULL pointer
6841	pointing to '\0' on success, so we need to allow for it. This
6842	fixes the problem with rejecting numerical mount options if they
6843	are the last option in the string.
6844
6845	* configure.in: increased library patchlevel
6846
6847	* NEWS: document the parsing bug
6848
68492001-10-29  Ion Badulescu  <ionut@moisil.badula.org>
6850
6851	* configure.in: bumped version up to 6.1a5-pre
6852
6853	* NEWS: fixed speeling mistaike
6854
68552001-10-29  Ion Badulescu  <ionut@moisil.badula.org>
6856
6857	* released snapshot am-utils-6.1a4
6858
68592001-10-26  Ion Badulescu  <ionut@moisil.badula.org>
6860
6861	These changes fix autofs support for sublinks. While it is not
6862	perfect by any means and is hardly better than non-autofs, at
6863	least it works.
6864
6865	* conf/autofs/autofs_solaris_v2_v3.c (autofs_lookup_2_req): don't
6866	reply if the mount is in progress
6867	(autofs_mount_succeeded): handle both delayed lookups and mounts
6868	(autofs_mount_failed): ditto
6869
6870	* amd/amfs_auto.c (amfs_auto_lookup_mntfs): don't dispose of the
6871	original opt_fs if we have a sublink
6872
68732001-10-23  Ion Badulescu  <ionut@moisil.badula.org>
6874
6875	* amd/amfs_auto.c (amfs_auto_lookup_mntfs): fixed silly typo (mf
6876	instead of new_mf) which was causing null pointer error when
6877	sublinks were being used
6878
68792001-10-22  Ion Badulescu  <ionut@moisil.badula.org>
6880
6881	* README.autofs: updated
6882
6883	* NEWS: updated
6884
6885	* INSTALL: updated
6886
6887	* AUTHORS: added myself
6888
6889	* doc/am-utils.texi: updated
6890
6891	* conf/autofs/autofs_solaris_v2_v3.c (xdr_autofs_rddirargs): use
6892	xdr_u_int() and cast things to (int) to appease Solaris 2.7 compile
6893	(autofs_readdir_2_req): cast req->rda_offset to (int), same as
6894	above
6895
68962001-10-22  Ion Badulescu  <ionut@moisil.badula.org>
6897
6898	Autofs direct mounts have been verified to work on Solaris2.[67].
6899
6900	* conf/autofs/autofs_solaris_v2_v3.c (autofs_lookup_2_req):
6901	retrieve the uid and gid from the lookup request
6902	(autofs_mount_2_req): skip the first char in the name (it's a
6903	leading '/') if this is a direct mount
6904
6905	* amd/amfs_direct.c (amfs_direct_ops): use amfs_auto_lookup_child
6906	and amfs_auto_mount_child for amfs_direct's methods
6907
6908	* amd/amfs_auto.c (amfs_auto_lookup_child): don't leak an am_node
6909	if the mntfs lookup fails
6910
69112001-10-21  Ion Badulescu  <ionut@moisil.badula.org>
6912
6913	* include/am_utils.h (AMF_REMOUNT): new flag, marks the node as
6914	pending a remount
6915	(mntfs): new member mf_fsflags, holds a copy of the filesystem's
6916	fs_flags
6917	(am_ops): new member autofs_fs_flags, holds the filesystem's flags
6918	when mounted onto an autofs node; fs_flags renamed to nfs_fs_flags
6919
6920	* conf/autofs/autofs_linux.c (create_autofs_service): turn on
6921	FS_MKMNT for amfs_auto and FS_MBACKGROUND for amfs_link
6922	(autofs_umount_succeeded): don't rmdir the mountpoint if a remount
6923	is needed [lest the access that triggered the remount will fail]
6924
6925	* amd/mntfs.c (init_mntfs): copy the filesystem's nfs_fs_flags
6926	into mf_fsflags on initialization
6927
6928	* amd/autil.c (am_unmounted): start the remounting right away if
6929	the node is marked as needing a remount [fixes the Linux autofs
6930	deadlock when mount/unmount collide]
6931
6932	* amd/amfs_auto.c (amfs_auto_lookup_node): mark the node as
6933	needing a remount if a mount request comes in while we're
6934	unmounting it
6935	(amfs_auto_lookup_mntfs): copy the filesystem's autofs_fs_flags
6936	into mf_fsflags if this is an autofs node
6937
6938	* amd/amfs_*.c, amd/ops_*.c: added initialization for the new
6939	autofs_fs_flags member of am_ops
6940
69412001-10-20  Ion Badulescu  <ionut@moisil.badula.org>
6942
6943	With these changes, Solaris 2.[67] autofs support is finally
6944	functional!
6945
6946	* conf/autofs/autofs_solaris_v2_v3.c (autofs_readdir_2_req): stub
6947	(autofs_readdir_2_free, xdr_autofs_rddirargs, xdr_autofs_putrddirres,
6948	xdr_autofs_getrddirres, xdr_autofs_rddirres): new functions
6949	(autofs_lookup_2_req): do an actual lookup here, and tell the
6950	kernel to create a symlink if necessary
6951	(autofs_mount_2_req): no need to am_autofs_data
6952	(autofs_program_2): enable AUTOFS_READDIR
6953	(autofs_link_mount): no code needed here
6954	(autofs_link_umount): return success
6955	(autofs_mount_succeeded): lstat real mount points; don't mark
6956	symlinks as NOTIMEOUT
6957
6958	* amd/mntfs.c (init_mntfs): mf_dev and mf_rdev don't exist anymore
6959
6960	* amd/map.c (init_map): init am_dev and am_rdev to -1
6961	(free_map): free am_mfarray and all mntfs's listed
6962
6963	* amd/autil.c (mf_mounted): move the lstat of the node to the
6964	autofs-specific code
6965
6966	* amd/amfs_link.c (amfs_link_ops): don't background symlink creation
6967
69682001-10-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6969
6970	* aux/macros/os_cflags.m4 (irix6*): Enforce N32 ABI/mips3 ISA with cc.
6971	* BUGS: Explain this.
6972
69732001-10-02  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
6974
6975	* doc/am-utils.texi (redhat-ctl-amd): document new script.
6976
6977	* scripts/Makefile.am: build redhat-ctl-amd but do not install it.
6978
6979	* scripts/redhat-ctl-amd.in: new script, useful to correctly
6980	control Amd on Red Hat Linux systems.  Script adapted from ctl-amd
6981	and Red Hat's own rc.d script.
6982
69832001-10-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6984
6985	* conf/nfs_prot/nfs_prot_osf5.h: Renamed from nfs_prot_osf5_1.h.
6986	(MNT2_NFS_OPT_AUTO): Disable.
6987	* Makefile.am (EXTRA_DIST_CONF): Reflect new name.
6988	* aux/macros/check_nfs_prot_headers.m4: Use this file for all
6989	Tru64 UNIX V5 and up releases.
6990
69912001-09-24  Ion Badulescu  <ionut@moisil.badula.org>
6992
6993	* include/mount_headers1.h (MFS): define as 1 instead of nothing,
6994	to fix compile problems on OS X (patch from Ahmon Dancy)
6995
6996	* aux/macros/try_compile_anyfs.m4 (MFS): ditto
6997
69982001-08-13  Erez Zadok  <ezk@fsl-gw.fsl.cs.sunysb.edu>
6999
7000	* doc/am-utils.texi (in_network Selector Variable): document
7001	expanded syntax
7002
7003	* libamu/wire.c (is_network_member): support for network/netmask
7004	as well as network/bits syntax in in_network()
7005
70062001-08-11  Erez Zadok  <ezk@a-linux64.fsl.cs.sunysb.edu>
7007
7008	* amq/amq.c (show_mti): print full four digits for year, and print
7009	it in MM/DD/YYYY format, not in YY/MM/DD format.
7010
70112001-08-11  Ion Badulescu  <lionut@gonzales.badula.org>
7012
7013	* conf/autofs/autofs_solaris_v2_v3.c (autofs_lookup_2_req):
7014	initial attempt to do something useful -- but commented out for now
7015	(autofs_link_mount): create an action structure with a link
7016	request and pass it up
7017	(autofs_mount_2_req): pass the link request to the kernel
7018	(autofs_free_data): new helper function
7019
7020	* conf/autofs/autofs_linux.h: added definition for autofs_data_t
7021
7022	* conf/autofs/autofs_solaris_v2_v3.h: ditto
7023
7024	* amd/map.c (init_map): initialize am_autofs_data
7025	(free_map): call the autofs cleanup function if necessary
7026
7027	* include/am_utils.h (am_node): added private data and cleanup
7028	function for autofs
7029
7030	* tasks: removed some obsolete entries
7031
70322001-08-11  Erez Zadok  <ezk@a-solaris8.fsl.cs.sunysb.edu>
7033
7034	* amd/map.c (free_map_if_success): run autofs_umount_failed() only
7035	if this mount node is of type autofs.
7036
70372001-08-11  Ion Badulescu  <lionut@gonzales.badula.org>
7038
7039	* amd/amd.h: removed mf_array from struct continuation (moved into
7040	am_node)
7041
7042	* include/am_utils.h: removed VLOOK_LOOKUP; renamed vlookuppn to
7043	vlookup_child; added vmount_child; added mount_child to the fs_ops
7044	API; added prototypes for amfs_auto_mount_child and
7045	amfs_error_mount_child
7046
7047	* amd/map.c (init_map): initialize am_mfarray to 0
7048
7049	* amd/amfs_*, amd/ops_*: new API function mount_child, old API
7050	function lookuppn renamed to lookup_child
7051
7052	* amd/amfs_auto.c: renamed amfs_auto_lookuppn1 to
7053	amfs_auto_lookup_node; renamed amfs_auto_lookuppn2 to
7054	amfs_auto_lookup_mntfs; renamed amfs_auto_lookuppn3 to
7055	amfs_auto_mount_child; moved the freeing of the error mntfs in the
7056	newly allocated am_node from lookup_mntfs to mount_child; make
7057	sure lookup_child returns a negative error if the node needs to be
7058	mounted; removed the call to lookuppn3 from lookup_child
7059
7060	* amd/amfs_error.c: added stub implementations of
7061	amfs_error_lookup_child and amfs_error_mount_child
7062
7063	* amd/amfs_direct.c, amd/amfs_union.c, amd/map.c, amd/nfs_subr.c,
7064	conf/autofs/autofs_linux.c, conf/autofs/autofs_solaris_v2_v3.c:
7065	call both lookup_child and mount_child, instead of the old
7066	lookuppn API method
7067
70682001-07-19  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7069
7070	* amd/get_args.c (get_args): a better way to handle GNU and
7071	non-GNU getopts without strdup-ing the getopt string.
7072
70732001-07-04  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7074
7075	* amd/info_ldap.c (amu_ldap_rebind): The first time you called
7076	amu_ldap_init, aldh->ldap is not set.  So when amu_ldap_rebind is
7077	called, this function is absolutely sure to return 0.  Then
7078	amu_ldap_init return 0 without having opened any LDAP connection.
7079	This is not the correct behavior.
7080	(get_ldap_timestamp, amu_ldap_search): error to free an object
7081	("entry") that is automatically freed by the library.  Patch from
7082	Sebastien Bahloul <sebastien.bahloul@mangoosta.fr>.
7083
70842001-07-19  Ion Badulescu  <ionut@moisil.badula.org>
7085
7086	* AUTHORS (variables): added Philippe Troin
7087
7088	* Makefile.am (EXTRA_DIST): added bootstrap
7089
7090	* include/am_compat.h (xfs_args_t): define as u_int if the
7091	filesystem is supported but we can't autodetect the type for
7092	xfs_args_t. This allows Linux to mount xfs filesystems.
7093
70942001-07-12  Philippe Troin  <phil@fifi.org>
7095
7096	* doc/am-utils.texi: Added @dircategory Administration.
7097
70982001-07-12  Philippe Troin  <phil@fifi.org>
7099
7100	* aux/macros/with_addon.m4: Created. Wrapper around AC_ARG_WITH
7101	with only the `yes' and `no' as possible answers.
7102
7103	* configure.in: Added support for disabling LDAP and HESIOD even
7104	if the supporting libraries are found.
7105
7106	* Makefile.am (EXTRA_DIST_AUX): Added with_addon.m4 macro file.
7107
71082001-07-12  Philippe Troin  <phil@fifi.org>
7109
7110	* include/am_compat.h: Removed forced definition of MNTTAB_OPT_DEV
7111	if MNT2_GEN_OPT_NODEV was found. Actually, the dev= (SVR4) options
7112	and the linux nodev options are different beasts.
7113
7114	* conf/mount/mount_linux.c (opt_map): Removed the MNTTAB_OPT_DEV
7115	entry (not really necessary on linux).
7116
71172001-07-12  Philippe Troin  <phil@fifi.org>
7118
7119	* amd/get_args.c (get_args): Prepend "+" to the getopt string if
7120	HAVE_GNU_GETOPT to avoid getting all options (even the ones after
7121	the first non-option argument) slurped in by GNU getopt.
7122
7123	* aux/macros/check_gnu_getopt.m4: Created. Defines HAVE_GNU_GETOPT
7124	if GNU/glibc getopt implementation is detected.
7125
7126	* configure.in: Added call to AC_CHECK_GNU_GETOPT.
7127
7128	* acconfig.h: Document HAVE_GNU_GETOPT.
7129
7130	* Makefile.am (EXTRA_DIST_AUX): Added check_gnu_getopt.m4 macro file.
7131
71322001-06-25  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7133
7134	* LSM.am-utils, NEWS, README.y2k, ChangeLog: make sure all
7135	am-utils URL references use www.am-utils.org, not the columbia
7136	URL.
7137
71382001-06-08  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7139
7140	* conf/transp/transp_sockets.c (create_nfs_service): cast to
7141	u_long to ensure clean compile on freebsd5 and bsdi2.
7142
71432001-05-23  Ion Badulescu  <ionut@moisil.badula.org>
7144
7145	WARNING: WORK IN PROGRESS
7146
7147	It works for me on Linux (both autofs and nfs mounts), for nfs and
7148	link, but I won't make any guarantees outside those.
7149
7150	* amd/mntfs.c (find_mntfs): reuse the mntfs only if both the mount
7151	point and the device/fileserver are the same. This is an important
7152	change of philosophy, watch out for memory leaks!
7153
7154	* amd/map.c (get_ap_child): helper function for
7155	amfs_auto_lookuppn, creates a new am_node for key fname, inits it,
7156	and inserts it into all necessary structures
7157
7158	* amd/amfs_auto.c (free_continuation): free unused mntfs's; don't
7159	free any of the removed fields
7160	(amfs_auto_lookuppn, amfs_auto_bgmount): split lookuppn into three
7161	subfunctions, including some code stolen from bgmount; lookuppn
7162	now generates an array of possible mntfs to try mounting, and
7163	bgmount will actually try to mount each of them.
7164	(amfs_auto_lookuppn[123]): the three new subfunctions for lookuppn
7165	(amfs_parse_defaults): new helper function for lookuppn
7166
71672001-05-19  Erez Zadok  <ezk@kosh.dyn.optonline.net>
7168
7169	* conf/mount/mount_linux.c: typo: added comma after '0' element.
7170
71712001-05-19  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7172
7173	* conf/autofs/autofs_linux.c (AUTOFS_MAX_VERSION): allow using
7174	autofs-v4 again
7175	(autofs_get_opts): don't pass pgrp, the kernel will get it
7176	automatically anyway, not to mention that we were passing bogus
7177	data if amd was not daemonized.
7178
7179	* conf/mount/mount_linux.c (linux_nfs_error): don't special case
7180	the 0 result, just put it into the translation list
7181
71822001-05-19  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7183
7184	* conf/mount/mount_linux.c (linux_nfs_error): don't report success
7185	(0) as error (NE_IO)!
7186
71872001-05-18  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7188
7189	* amd/amfs_host.c (amfs_host_mount): don't fail the mount if at
7190	least one share is already mounted
7191
71922001-05-17  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7193
7194	* libamu/util.c (str3cat): updated comment
7195
7196	* include/am_utils.h: added VLOOK_LOOKUP and FS_DIRECT
7197
7198	* conf/autofs/autofs_linux.c (autofs_get_fh): removed obsolete comment
7199	(autofs_mounted): disable autofs support for host f/s if version < 4
7200	(create_autofs_service): turn on FS_MKMNT on auto f/s if using autofs
7201	(autofs_umount_succeeded): use rmdirs instead of rmdir
7202	(autofs_mount_failed): ditto
7203
7204	* amd/opts.c (expand_op): align the debugging messages
7205
7206	* amd/map.c (mount_auto_node): use am_node *mp instead of casting
7207	the void *arg; update the comment
7208
7209	* amd/autil.c (am_mounted): check the FS_DIRECT flag instead of
7210	comparing to &amfs_direct_ops
7211	(mount_node): ifs_mount doesn't exist, make note of it in the
7212	comment
7213
7214	* amd/amfs_direct.c (amfs_direct_ops): added FS_DIRECT to fs_flags
7215
7216	* amd/amfs_auto.c (amfs_auto_mount): removed the autofs hack to
7217	create the mountpoint directory for auto f/s; it is now handled in
7218	autofs_linux.c
7219	(amfs_auto_bgmount): renamed the mpe parameter to mp_error;
7220	renamed dont_retry to retry and reverted its meaning as well;
7221	moved the mp variable up one scope and made use of it throughout
7222	the function;
7223	(amfs_auto_readdir): whitespace
7224	(amfs_auto_readdir_browsable): whitespace, also some debugging
7225
7226	* amd/am_ops.c (vops): updated a comment
7227
7228	* .cvsignore: added A.i386-pc-linux-rh7.[01]
7229
72302001-05-01  Ion Badulescu  <ionut@gonzales.dev.hydraweb.com>
7231
7232	* conf/mount/mount_linux.c: fixed stupid error in the linux
7233	nfs_errormap[], which was mapping ENOENT to success!!!
7234
72352001-04-28  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7236
7237	* BUGS: added info about the direct mount problems on Linux and
7238	about the kernel patches on www.am-utils.org.
7239
7240	* conf/autofs/autofs_solaris_v2_v3.c (autofs_unmount_2_req):
7241	removed obsolete comment
7242
7243	* amd/autil.c (forcibly_timeout_mp): always log a message when the
7244	forced unmount request is ignored
7245	(mf_mounted): don't lstat unless this is an autofs mount point,
7246	lest we deadlock
7247
7248	* amd/amfs_auto.c (amfs_auto_bgmount): don't gratuitously add
7249	MFF_MKMNT to the flags, it causes deadlocks later on when
7250	unmounting
7251
72522001-04-14  Erez Zadok  <ezk@whitestar.dyn.optonline.net>
7253
7254	* COPYING: update copyright year
7255
7256	* amd/amfs_auto.c, amd/amfs_host.c, amd/amfs_nfsx.c,
7257	amd/amfs_toplvl.c, amd/amfs_union.c, amd/conf.c, amd/info_nis.c,
7258	amd/info_nisplus.c, amd/mapc.c, amd/nfs_subr.c, amd/ops_nfs.c,
7259	amd/rpc_fwd.c, amd/srvr_amfs_auto.c, amd/srvr_nfs.c,
7260	conf/autofs/autofs_solaris_v1.c, conf/mtab/mtab_file.c,
7261	conf/mtab/mtab_isc3.c, conf/mtab/mtab_svr4.c,
7262	conf/transp/transp_sockets.c, conf/transp/transp_tli.c,
7263	libamu/mount_fs.c, libamu/mtab.c: rewritten various dlog/plog
7264	messages for clarity, to avoid duplication, to better recognize
7265	what the message means and where it ran, and to fix typos.
7266
7267	* amd/nfs_subr.c (nfsproc_lookup_2_svc): moved trace message of
7268	function's name to the beginning of the function, before any other
7269	messages are logged.
7270
72712001-04-14  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7272
7273	* conf/mount/mount_linux.c (do_mount_linux): removed plog() of
7274	binary data
7275
72762001-04-05  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7277
7278	* include/am_defs.h: define NFSCLIENT, NFS, PCFS, LOFS, RFS,
7279	MSDOSFS, MFS and CD9660 to 1, so that both #if FOO and #ifdef FOO
7280	work (needed for MacOS X); removed duplicate definition of NFS.
7281
72822001-03-29  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7283
7284	* amd/amd.h, amd/amfs_auto.c, amd/conf.c,
7285	doc/am-utils.texi,
7286	scripts/amd.conf-sample, scripts/amd.conf.5:
7287	renamed selectors_on_default to selectors_in_defaults,
7288	kept the former as a deprecated option;
7289	renamed CFM_ENABLE_DEFAULT_SELECTORS to CFM_SELECTORS_IN_DEFAULTS;
7290	renamed gopt_selectors_on_default() to gopt_selectors_in_defaults()
7291
72922001-03-19  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7293
7294	* amd/amfs_toplvl.c, amd/amfs_auto.c, amd/srvr_nfs.c,
7295	include/am_utils.h: compile fixes for --enable-debug=no
7296
72972001-03-15  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7298
7299	* NEWS: updated
7300
7301	* README.autofs: updated
7302
7303	* conf/mount/mount_linux.c (linux_version_code): export the fn
7304
7305	* conf/nfs_prot/nfs_prot_linux.h: ditto
7306
7307	* conf/autofs/autofs_linux.c (create_autofs_service): verify the
7308	kernel version here, and turn off bind_works if the kernel is
7309	older than 2.4.0.
7310	(autofs_link_mount): don't touch bind_works here, it's useless
7311	b/c we're in a child process; remove the mountpoint directory if
7312	the bind mount fails
7313
7314	* amd/opts.c (eval_fs_opts): changed some annoying debugging plogs
7315	into dlogs
7316
7317	* conf/autofs/autofs_linux.c (autofs_link_mount): zero out the
7318	mntent struct before initializing it
7319
73202001-03-14  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7321
7322	* conf/mount/mount_linux.c (parse_opts): added support for lofs
7323	(mount_linux): support lofs through bind mounts and/or FiST lofs
7324
7325	* scripts/ctl-hlfsd.in: search for /var/spool/mail in addition to
7326	/var/mail and /usr/spool/mail
7327
7328	* conf/nfs_prot/nfs_prot_linux.h (MS_BIND): add define for it, if
7329	kernel is newer than 2.4.0
7330	(MNTTYPE_LOFS): ditto
7331
7332	* conf/autofs/autofs_solaris_v2_v3.c (autofs_link_umount): new stub
7333	(autofs_lookup_failed): removed stub
7334
7335	* conf/autofs/autofs_linux.c (autofs_lookup_failed): moved up in
7336	the file, made static;
7337	(autofs_link_mount): activate MNT2_GEN_OPT_BIND code; use stat()
7338	and friends to determine if bind mounts can be used and to trigger
7339	further cascading mounts; return proper error codes
7340	(autofs_link_umount): distinguish between symlinks and bind mounts
7341	and handle both correctly
7342	(autofs_umount_succeeded): remove call to autofs_link_umount()
7343
7344	* amd/map.c (umount_exported): try to unmount all mount points on
7345	an autofs filesystem; this isn't really needed and will be removed
7346	when we start handling restarting autofs mounts
7347
7348	* amd/amfs_link.c (amfs_link_[u]mount): call autofs_link_[u]mount,
7349	if necessary
7350
7351	* amd/amfs_auto.c (amfs_auto_bgmount): fixed a bug that was
7352	causing the wrong mntfs to be selected when using autofs; removed
7353	call to autofs_link_mount() (moved where it belongs, in
7354	amfs_link.c)
7355
7356	* amd/amfs_link.c: added FS_MBACKGROUND to fs flags -- cleaner
7357	solution is needed, because background mounting is only necessary
7358	for linux autofs + bind mounts
7359
7360	* amd/amd.h: removed prototype for autofs_lookup_failed (internal
7361	static function for linux autofs); added prototype for
7362	autofs_link_umount
7363
7364	* configure.in: bump up library patchlevel
7365
73662001-02-28  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7367
7368	* aux/macros/check_mount_trap.m4,
7369	aux/macros/check_nfs_fh_dref.m4,
7370	aux/macros/check_nfs_prot_headers.m4,
7371	aux/macros/type_recvfrom_fromlen.m4,
7372	aux/macros/type_yp_order_outorder.m4:
7373	Fixed newer freebsd's fh type, expanded more aix3, osf2, hpux9 to
7374	aix[1-3], osf[1-3] and hpux[6-9].
7375
73762001-02-28  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7377
7378	* check_mount_style.m4, check_mount_trap.m4,
7379	check_network_transport_type.m4, check_nfs_fh_dref.m4,
7380	check_nfs_prot_headers.m4, check_nfs_sa_dref.m4,
7381	check_nfs_socket_connection.m4, os_cflags.m4,
7382	type_yp_order_outorder.m4: small fixes to Ion's cleanup, and more
7383	cleanup (use [[0-1]] instead of M4 changequote commands).
7384
7385	* Makefile.am: removed unused conf/trap/trap_hpux11.h
7386
73872001-02-27  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7388
7389	* aux/macros/check_network_transport_type.m4,
7390	aux/macros/check_mount_style.m4,
7391	aux/macros/check_mount_trap.m4,
7392	aux/macros/check_network_transport_type.m4,
7393	aux/macros/check_nfs_fh_dref.m4,
7394	aux/macros/check_nfs_prot_headers.m4,
7395	aux/macros/check_nfs_sa_dref.m4,
7396	aux/macros/check_nfs_socket_connection.m4,
7397	aux/macros/os_cflags.m4,
7398	aux/macros/type_auth_create_gidlist.m4,
7399	aux/macros/type_recvfrom_fromlen.m4,
7400	aux/macros/type_yp_order_outorder.m4:
7401	Reworked the scripts, so that a new _unknown_ version of a known OS
7402	will use the option for the newest _known_ version of that OS. For
7403	example, when freebsd6 comes out, it will use the stuff for
7404	freebsd5, not the stuff for freebsd2. This makes configure more
7405	likely to succeed on new systems/versions.
7406
7407	* Makefile.am (EXTRA_DIST_AUX): added check_autofs_style.m4 (grr)
7408
74092001-02-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7410
7411	* Makefile.am (install-snapshot): use a different symlink target
7412	for the experimental snapshots.
7413
74142001-02-23  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7415
7416	* Makefile.am (EXTRA_DIST_CONF): include nfs_prot_darwin.h in
7417	distributions.
7418
74192001-02-22  Erez Zadok  <ezk@earth.cs.columbia.edu>
7420
7421	* released snapshot am-utils-6.1a3
7422
7423	* amd/Makefile.am (EXTRA_amd_SOURCES): don't forget to distribute
7424	get_args.c
7425
74262001-02-21  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7427
7428	* libamu/mtab.c: added the functions hasmnteq and haseq to
7429	ease checks for non-numeric values in opt=value strings.
7430	Recoded hasmntval to qualify input as numeric, allow hex and
7431	octal strings on rhs of =, and log when the value is missing
7432	or invalid.
7433
7434	* conf/mount/mount_linux.c: revised mount_linux to use new
7435	hasmnteq function to extract type of non-nfs mounts, and added
7436	a log message to catch possible failure of strdup.
7437
7438	* amd/am_ops.c: revised merge_ops to use new haseq function
7439
7440	* amd/srvr_nfs.c: revised find_nfs_srvr to use hasmnteq to
7441	discover protocol setting.
7442
7443	* include/am_utils.h: added function prototypes for hasmnteq
7444	and haseq
7445
74462001-02-19  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7447
7448	* include/mount_headers2.h (_LINUX_NFS3_H): define it, to avoid
7449	pulling in unwanted declarations from 2.2.19pre and 2.4.1ac
7450
7451	* include/am_defs.h (_LINUX_NFS3_H): ditto
7452
7453	* conf/nfs_prot/nfs_prot_linux.h: whitespace, comments
7454
74552001-02-19  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7456
7457	* aux/macros/check_fs_mntent.m4 (ac_safe): remove debugging "echo"
7458	command.
7459
74602001-02-18  Erez Zadok  <ezk@earth.cs.columbia.edu>
7461
7462	* aux/macros/mount_headers.m4, include/mount_headers[12].h: split
7463	mount_headers.h in two because one relative header (nfs_prot.h)
7464	file cannot be included inside another from the start directory of
7465	the first (it's relative to the directory of the first).
7466
74672001-02-09  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7468
7469	* AUTHORS: added Ahmon Dancy <dancy@franz.com>
7470
7471	* (all): added Darwin/Rhapsody/Apple OS X support from Ahmon Dancy
7472
7473	* aux/macros/mount_headers.m4: moved all the C code into a
7474	separate file, include/mount_headers.h; the effect is that
7475	configure goes down in size by a factor of 2.5!
7476
7477	* include/mount_headers.h: new file, with C code from
7478	aux/macros/mount_headers.m4
7479
74802001-02-01  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7481
7482	* conf/mount/mount_linux.c: made linux_nfs_error() more robust.
7483
74842001-02-01  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7485
7486	* released snapshot am-utils-6.1a2
7487
7488	* updated ltmain.sh and ltconfig from latest stable version of
7489	libtool-1.3.5
7490
74912001-02-01  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7492
7493	* conf/nfs_prot/nfs_prot_linux.h (nfs_error): moved the definition
7494	of nfs_error here, from mount_linux.c, so that it can actually be
7495	used.
7496
7497	* conf/mount/mount_linux.c: added unused errno 41 to the
7498	nfs_errormap array, lest the following errno's get shifted up by
7499	one!
7500
7501Sat Jan 13 00:04:38 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7502
7503	* amd/amd.h (autofs_lookuppn): Fixup whitespace.
7504	* amd/amfs_auto.c (amfs_auto_bgmount): Likewise.
7505	* amd/amfs_error.c: (amfs_error_match): Likewise.
7506	* amd/amfs_host.c (fetch_fhandle): Fixup whitespace.  Remove
7507	unnecessary temporary variable.
7508	* amd/info_file.c (read_line): Likewise.
7509	(search_or_reload_file): Likewise.
7510	* amd/info_ldap.c (get_ldap_timestamp): Likewise.
7511	* amd/map.c (get_root_ap): Likewise.
7512	* amd/nfs_prot_svc.c: Likewise.
7513	* amd/ops_TEMPLATE.c (foofs_match, foofs_lookuppn,
7514	foofs_readlink, foofs_ffserver): Likewise.
7515	* amd/ops_autofs.c (autofs_bgmount): Likewise.
7516	* amd/ops_lofs.c (lofs_match): Likewise.
7517	* amd/ops_nfs.c (got_nfs_fh): Fixup whitespace.
7518	* amd/ops_xfs.c (xfs_match): Likewise.
7519	* amd/srvr_amfs_auto.c (srvrlog): Line break.
7520	* amd/srvr_nfs.c (got_portmap, call_portmap, nfs_pinged,
7521	nfs_srvr_port): Fixup whitespace.
7522	* conf/nfs_prot/nfs_prot_bsdi2.h: Likewise.
7523	* conf/nfs_prot/nfs_prot_hpux.h: Likewise.
7524	* conf/nfs_prot/nfs_prot_hpux11.h: Likewise.
7525	* conf/nfs_prot/nfs_prot_irix5.h: Likewise.
7526	* conf/nfs_prot/nfs_prot_irix6.h: Likewise.
7527	* conf/nfs_prot/nfs_prot_nextstep.h: Likewise.
7528	* conf/nfs_prot/nfs_prot_osf2.h: Likewise.
7529	* conf/nfs_prot/nfs_prot_osf4.h: Likewise.
7530	* conf/nfs_prot/nfs_prot_osf5_1.h: Likewise.
7531	* conf/nfs_prot/nfs_prot_sunos3.h: Likewise.
7532	* conf/nfs_prot/nfs_prot_sunos4.h: Likewise.
7533	* conf/nfs_prot/nfs_prot_ultrix.h: Likewise.
7534	* conf/transp/transp_tli.c (get_mount_client): Likewise.
7535	* hlfsd/nfs_prot_svc.c: Likewise.
7536	* include/am_defs.h (sys_errlist): Likewise.
7537	* include/am_utils.h (am_get_progname, am_get_hostname,
7538	amq_program_1): Likewise.
7539	(nfsxprt): Moved declaration.
7540
7541Fri Jan 12 23:31:45 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7542
7543	Removed support for amq -M.
7544
7545	* acconfig.h (ENABLE_AMQ_MOUNT): Removed.
7546	* aux/macros/opt_amq_mount.m4: Removed.
7547	* Makefile.am (EXTRA_DIST_AUX): Don't distribute
7548	opt_amq_mount.m4.
7549	* configure.in (AC_OPT_AMQ_MOUNT): Removed invocation.
7550
7551	* amd/amq_subr.c (ok_security, amqproc_mount_1_svc): Removed.
7552	* amd/amq_svc.c (amq_program_1): Removed amq -M support.
7553	* amq/amq.c (mount_map): Removed.
7554	(main): Removed -M option handling.
7555	Removed transport-type specific CLIENT creation.
7556	(get_secure_amd_client, amq_bind_resv_port, privsock): Removed.
7557
7558	* amq/amq.8: Removed -M documentation.
7559	* doc/am-utils.texi (Top-level Filesystem): Removed amq -M
7560	reference, but retain comment on mount -t amd.
7561	(Controlling Amd): Likewise.
7562
7563	* tasks: Removed this task.
7564
7565Fri Jan 12 23:18:26 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7566
7567	* conf/autofs/autofs_*.c: Bump copyright year to 2001.
7568	* hlfsd/hlfsd.h (HLFSD_VERSION): Likewise.
7569
7570	* aux/macros/check_autofs_style.m4: Renamed solaris[12] styles to
7571	solaris_v1, solaris_v2_v3 to reflect that these are AutoFS
7572	protocol version numbers, not solaris versions.
7573	* conf/autofs/autofs_solaris[12].[ch]: Renamed to
7574	autofs_solaris_{v1, 2_v3}.[ch] to reflect this.
7575	* Makefile.am (EXTRA_DIST_CONF): Likewise.
7576
7577	* aux/macros/check_autofs_style.m4: Use solaris2 style for both
7578	versions 2 and 3 of the AutoFS protocol.
7579
7580	Handle missing AUTOFS_POSTUNMOUNT, AUTOFS_POSTMOUNT (unnecessary
7581	with Solaris 8 mntfs).
7582
7583	* conf/autofs/autofs_solaris2.c (xdr_postumntreq, xdr_postumntres,
7584	xdr_postmountreq, xdr_postmountres, autofs_postunmount_2_req,
7585	autofs_postmount_2_req ): Don't define for version 3.
7586	(autofs_program_2): Don't handle AUTOFS_POSTUNMOUNT,
7587	AUTOFS_POSTMOUNT if missing.
7588
7589	* conf/nfs_prot/nfs_prot_sunos5_8.h: Enable AutoFS support.
7590
7591	* aux/macros/check_autofs_style.m4: Use empty autofs_default.[ch]
7592	files on systems without existing autofs port.
7593	* conf/autofs/autofs_default.[ch]: New files, empty.
7594	* Makefile.am (EXTRA_DIST_CONF): Distribute them.
7595	* INSTALL: With this change, Solaris 8 and Tru64 5.1 compile and
7596	link.
7597
75982001-01-12  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7599
7600	* Makefile.am (EXTRA_DIST): distribute new LDAP files.
7601
7602	* README.ldap, ldap-id.txt, ldap-id.ms: LDAP status information,
7603	proposed Schema, and internet draft.
7604
7605Fri Jan 12 22:27:07 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7606
7607	* Support Tru64 UNIX V5.1:
7608
7609	* conf/nfs_prot/nfs_prot_osf5_1.h: New file.
7610
7611	* Makefile.am (EXTRA_DIST_CONF): Distribute it.
7612
7613	* aux/macros/check_nfs_prot_headers.m4: Tru64 UNIX V5.1 has
7614	AutoFS, need to disable it until a port exists.
7615
7616	* INSTALL, doc/am-utils.texi (Supported Platforms): Mention new
7617	minor port.
7618
76192001-01-09  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7620
7621	* ALL: bump copyright year to 2001.
7622
76232001-01-05  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7624
7625	* acconfig.h: correct comments for NODEV/NONDEV mount options
7626
7627Fri Jan  5 05:12:02 2001  Erez Zadok  <ezk@subzero.cs.columbia.edu>
7628
7629	* libamu/xdr_func.c: removed ugly casts to "groups*", now that
7630	irix6's nfs_prot.h is fixed.
7631
7632	* conf/nfs_prot/nfs_prot_irix6.h: copied relevant parts of
7633	<rpcsvc/mount.h> here so we don't have to include this header.
7634
76352001-01-04  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7636
7637	* conf/nfs_prot/nfs_prot_irix6.h: redefine "groups" typedef to
7638	struct groups, not the pointer to this struct.
7639
7640	* include/am_xdr_func.h: prototype should take "groups *" as 2nd
7641	arg.
7642
7643	* libamu/xdr_func.c (xdr_groupnode, xdr_exportnode): change
7644	casting of second arg of xdr_groups to "groups *".  It's only
7645	needed for irix6, due to problems with xdr_groups on that platform.
7646	(xdr_groups): prototype should take "groups *" as 2nd arg.
7647
7648	* conf/nfs_prot/nfs_prot_aix*.h: correct xdr_groups extern
7649	definition.  Report from Ahmon Dancy <dancy@franz.com>.
7650
76512000-12-06  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7652
7653	* include/am_defs.h: force non-inclusion of <linux/fs.h> via
7654	<linux/auto_fs.h>
7655
7656	* conf/autofs/autofs_linux.c (autofs_mounted): rename
7657	AUTOFS_MIN_PROTO_VERSION to AUTOFS_MIN_VERSION (leftover from
7658	previous commit)
7659
7660	* configure.in: fixed libtool version
7661
76622000-12-02  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7663
7664	* doc/am-utils.texi (opts Option): document lock/nolock
7665
76662000-12-02  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7667
7668	* conf/autofs/autofs_linux.h: added struct autofs_pending_mount;
7669	modified autofs_fh_t to have a linked list of autofs_pending_mount;
7670	added some support for autofs4
7671
7672	* conf/autofs/autofs_linux.c: use a linked list for pending
7673	request, to allow for handling multiple simultaneous request;
7674	incipient non-functional support for autofs4; incipient
7675	non-functional support for bind-mounting
7676
7677	* amd/amd.c (main): print a warning if PROCLOCK is requested but
7678	the O/S doesn't support it
7679
7680	* libamu/mount_fs.c (mnt_flags): allow the use of the "nolock"
7681	option
7682
7683	* include/am_defs.h: don't include <linux/fs.h> on a glibc2
7684	system; include <linux/auto_fs4.h> if it exists, instead of
7685	<linux/auto_fs.h>
7686
7687	* include/am_compat.h: define the "nolock" mnttab option if the
7688	NONLM NFS mount option is defined
7689
7690	* acconfig.h: added MNT2_NFS_OPT_NONLM, MNT2_GEN_OPT_BIND
7691
7692	* configure.in: added detection of the NONLM Linux NFS mount
7693	option; added a clarification for the library versioning rules and
7694	increased the minor level; added detection of <linux/auto_fs4.h>
7695	and the MS_BIND generic mount option
7696
76972000-11-29  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7698
7699	* Enabled Solaris 2.7 autofs support (tested, works)
7700
7701	* Updated NEWS, README.autofs
7702
7703	* Updated Makefile's, make dist is now fixed
7704
7705	* Fixed potential memory leak in map.c
7706
7707	* Fixed autofs style detection for solaris 2.[67]
7708
7709	* Added a few casts in autofs_solaris2.c, needed on Solaris 2.7
7710
77112000-11-28  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7712
7713	More Solaris 2.[67] work in progress:
7714
7715	* changed the API for the mount/umount methods: fmount/fumount are
7716	gone, and mount/umount now take two arguments (am_node and mntfs)
7717
7718	* changed the semantics of the MFF_AUTOFS flag: MFF_AUTOFS now
7719	means the mntfs is a filesystem of type autofs, and AMF_AUTOFS
7720	means the am_node is a node on a filesystem of type autofs.
7721
7722	* renamed nfs_program_2_transp to current_transp so it can be used
7723	with autofs
7724
7725	* renamed quick_reply() to nfs_quick_reply()
7726
7727	* added two more autofs methods: autofs_umount_failed() and
7728	autofs_compute_mount_flags() -- it turns out that on sol2.6 the
7729	autofs mounts MUST be overlay'ed
7730
7731	* moved the autofs_mount_succeeded() into am_mounted()
7732
7733	* made amd *not* timeout autofs mounts -- the kernel will do it
7734	for us
7735
7736	* store dev and rdev of a mounted filesystem in the mntfs
7737	structure, to help autofs
7738
7739	* moved the rmdirs() call from uninit_mntfs() to am_umounted(), to
7740	prevent deadlocking with autofs
7741
7742	* amd/Makefile.am: shuffled things around to make
7743	update_build_version be the last thing that runs
7744
77452000-11-27  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7746
7747	* split amd/ops_autofs.c into conf/autofs/autofs_<system>.c files
7748	and made configure create a symlink to the appropriate one
7749
7750	* moved the xdr autofs functions from libamu/xdr_func.c into the
7751	system-specific conf/autofs/autofs*.c
7752
7753	* added some more experimental code to the sol2.6 autofs support,
7754	but it's by no means functional
7755
77562000-11-27  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7757
7758	* libamu/wire.c (getwire_lookup): truncate the hostname to
7759	MAXHOSTNAMELEN characters.
7760
77612000-11-26  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7762
7763	* include/am_utils.h (MAXHOSTNAMELEN): if not defined, set this to
7764	256 bytes, not 64.   Suggestion form Kris Kennaway
7765	<kris@FreeBSD.org>.
7766
77672000-11-26  Erez Zadok  <ezk@dmath5.geometrie.tuwien.ac.at>
7768
7769	* configure.in (AC_CHECK_MNT2_NFS_OPTS): check for NFS mount
7770	options kerb, rdirplus, readdirsize, and xlatecookie
7771	(NetBSD-1.5K).
7772
7773	* acconfig.h: recognize NFS mount options rdirplus, readdirsize,
7774	and xlatecookie (NetBSD-1.5K)
7775
77762000-11-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7777
7778	* amd/srvr_nfs.c: comment on NFS proto search order.
7779
7780	* libamu/xutil.c (real_plog): don't try to write the last byte of
7781	the fmt buf.  security suggtion from NetBSD: Thomas Klausner
7782	<wiz@danbala.ifoer.tuwien.ac.at>
7783
77842000-11-22  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7785
7786	* amd/amfs_auto.c (amfs_auto_bgmount): removed the initialization of
7787	fattr.na_fileid, it is now done in map.c when the map is initialized
7788
7789	* amd/map.c (init_map): initialize fattr.na_fileid to am_gen, not
7790	to 0, to avoid cache aliasing problems on Linux (and to follow the
7791	NFS spec!)
7792
77932000-11-22  Thomas Klausner <wiz@danbala.ifoer.tuwien.ac.at>
7794
7795	* libamu/mount_fs.c (mount_fs): avoid using extra limited-size buf
7796	(security)
7797
7798	* libamu/xutil.c, fsinfo/fsinfo.h, include/am_utils.h: use
7799	__attribute__, __format__, and __printf__ for GCC string auditing.
7800
7801	* wire-test/wire-test.8: this is not a section 8L man page.
7802
7803	* libamu/xutil.c (expand_error): don't use sys_nerr on systems
7804	that support strerror().
7805	(dplog): fmt is const
7806	(plog): fmt is const
7807	(real_plog): fmt is const.  use new expand_error function with its
7808	new return value. be more careful about running off the end of
7809	char[] fixed size buffers.
7810
7811	* libamu/wire.c (getwire): fix alignment error on alpha using an
7812	extra automatic storage variable ifrpool.
7813
7814	* hlfsd/hlfsd.c (fatal): use proper printf style to plog.
7815
7816	* fsinfo/fsinfo.c (find_username): getlogin() returns a const.
7817
7818	* fsinfo/fsi_util.c (error, lerror, lwarning, fatal, log): use
7819	vfprintf.
7820
7821	* fsinfo/fsi_lex.l (yyerror): use vfprintf.
7822
7823	* fixmount/fixmount.8: this is not a section 8L man page.
7824
7825	* doc/am-utils.texi (Hesiod maps): fixed typo.
7826
7827	* amd/sched.c (do_task_notify): typo in comment.
7828
7829	* amd/opts.c (expand_op): expand_error[] is a const char *.
7830
7831	* amd/amd.c (main): use proper printf style to plog.
7832
78332000-11-22  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7834
7835	* libamu/mount_fs.c (mnt_flags, compute_nfs_args): recognize
7836	proplist mnttab flag.  Bug fix from Wolfram Klaus
7837	<klaus@physik.fu-berlin.de>.
7838
78392000-11-19  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7840
7841	* updated config.guess, config.sub, and doc/texinfo.tex from
7842	mirrors
7843
7844	* Makefile.am (update): proper updating of config.* and texinfo
7845	from mirrors.
7846
7847	* aux/macros/check_nfs_prot_headers.m4: newer netbsd systems
7848	reports their system name as "netbsdelf" in config.guess.
7849
78502000-11-13  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7851
7852	* doc/am-utils.texi (opts Option): document new mount option
7853	"proplist"
7854
7855	* include/am_compat.h: define amd mount option "proplist" if the
7856	system doesn't recognize it, but the NFS bit flag exists.
7857
7858	* configure.in, acconfig.h: recognize/support "proplist" NFS mount
7859	option in Amd, useful under DU-4.0 to process ACLs over NFS
7860	mounts.
7861
78622000-11-10  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7863
7864	* conf/mount/mount_linux.c (mount_linux): removed unnecessary
7865	rsize/wsize defaults -- performance killers on 2.2.18+ and 2.4.0+
7866
78672000-10-16  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7868
7869	* scripts/am-eject.in: accept "cdrom" and "floppy" as arguments.
7870
78712000-11-05  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7872
7873	Too many changes to list them here. Here's a high level
7874	description:
7875
7876	* Forward-ported the Linux fixes from 6.0.5pre
7877
7878	* Got rid of a mountain of #ifdef DEBUG, replaced with smart
7879	header-file #ifdef's
7880
7881	* and, the grand finale: initial Solaris 2.6 autofs
7882	support. Compiles, mounts, gets requests; all the
7883	infrastructure is in place to actually implement the calls. Linux
7884	autofs might be a bit broken, but only compile-time so it'll be
7885	easy to fix.
7886
78872000-11-01  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7888
7889	* MIRRORS (Note): added a mirror at ufl.edu
7890
78912000-10-11  Erez Zadok  <ezk@lorien.dev.hydraweb.com>
7892
7893	* amq/amq.8: synchronize Amq's options with reality
7894
7895	* amq/amq.c (main): synchronize Amq's usage() string with reality
7896
78972000-10-10  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7898
7899	* scripts/ctl-amd.in: add targets condrestart (redhat) and
7900	reload.
7901
79022000-10-04  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7903
7904	* scripts/lostaltmail.in (vrfy_user): ensure that MAILDIR is
7905	defined.
7906
79072000-09-18  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7908
7909	* amd/opts.c (backslash): Bell char (ASCII 007) should be \g, not
7910	\a.
7911
79122000-09-17  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7913
7914	* include/am_utils.h: removed unused field opt_autopref
7915
7916	* amd/opts.c: removed unused variable $autopref
7917
79182000-09-05  Erez Zadok  <ezk@aladdin.dev.hydraweb.com>
7919
7920	* conf/mtab/mtab_svr4.c (lockfile): function not needed unless
7921	MOUNT_TABLE_ON_FILE is defined.
7922	mtlckname static var is onlyneeded if MOUNT_TABLE_ON_FILE.
7923	(update_mnttab_fields): only needed if MOUNT_TABLE_ON_FILE.
7924
79252000-09-03  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7926
7927	* buildall (Usage): typo in usage string
7928
79292000-08-25  Erez Zadok  <ezk@lynn.soscorp.com>
7930
7931	* conf/mount/mount_linux.c (mount_linux): MNT2_NFS_OPT_VER3 may
7932	is no defined on older Linux systems (kernel 2.0.36)
7933
79342000-08-19  Erez Zadok  <ezk@earth.cs.columbia.edu>
7935
7936	* scripts/amd.conf.5: correct swapped descriptions for ldap_base
7937	and ldap_hostports.
7938
7939	* doc/am-utils.texi: correct swapped descriptions for ldap_base
7940	and ldap_hostports.
7941
7942	* scripts/amd.conf-sample: swap examples for ldap_base and
7943	ldap_hostports.
7944
79452000-08-13  Erez Zadok  <ezk@earth.cs.columbia.edu>
7946
7947	* scripts/amd.conf-sample: -O is CLI equivalent to "os"
7948	amd.conf parameter
7949
79502000-07-30  Erez Zadok  <ezk@earth.cs.columbia.edu>
7951
7952	* scripts/amd.conf-sample (nfs_retransmit_counter): correct
7953	meaning and use of parameter
7954
79552000-07-23  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7956
7957	* doc/am-utils.texi: updated URLs to www.am-utils.org.
7958
79592000-07-04  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7960
7961	* doc/am-utils.texi (Supported Platforms): document osf4.0f
7962
79632000-06-19  Erez Zadok  <ezk@vir.cs.columbia.edu>
7964
7965	* doc/am-utils.texi (dollar Selector Variable): document
7966	${dollar}.
7967
7968	* amd/opts.c: special new variable ${dollar} which expands into a
7969	literal '$' sign.  Otherwise there is no way to include a literal
7970	dollar symbol in an amd map.
7971
79722000-06-11  Ion Badulescu  <ib42@moisil.cs.columbia.edu>
7973
7974	* amd/opts.c (eval_selectors): don't deref opt after it's been
7975	XFREE'd
7976
79772000-06-11  Erez Zadok  <ezk@earth.cs.columbia.edu>
7978
7979	* amd/opts.c: move mount_type expansion until later in the list,
7980	so common variable are "hit" first.
7981
79822000-06-11  Ion Badulescu  <ib42@moisil.cs.columbia.edu>
7983
7984	* amd/opts.c (split_opts, eval_selectors): split old function
7985	eval_opts into two, one that only splits non-selectors and
7986	assigns the values to fs_static, and one that only evaluates
7987	selectors; also simplified the rather obfuscated logic inside
7988	these functions
7989	(expand_op): made it take a char * instead of a structure from
7990	which it was using only one field (a char *). Also now returns a
7991	char * instead of modifying said structure in place
7992	(expand_opts): deal with the change above
7993	(expand_selectors): renamed from expand_key
7994	(expand_options): new function, expands non-selectors; it's the
7995	complement of expand_selectors, both of which are just wrappers
7996	around expand_op()
7997	(eval_fs_opts): use the new split_opts, eval_selectors to allow
7998	using options (like ${rhost}) in selectors
7999
80002000-06-11  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
8001
8002	* config.guess.long: munge config.guess' output so that intel
8003	linux appears as i386-pc-linux
8004
8005Fri Jun  9 16:06:56 2000  Erez Zadok  <ezk@defiant.dev.hydraweb.com>
8006
8007	* conf/nfs_prot/nfs_prot_bsdi2.h: getifaddrs() on bsdi2 is broken.
8008	Don't use it.
8009
80102000-06-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8011
8012	* amd/mapc.c (maptypes): Change default allocation mode to
8013	MAPC_INC where reload support is missing to avoid warning in
8014	mapc_create().
8015
80162000-06-09  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8017
8018	* conf/nfs_prot/nfs_prot_sunos5_5.h: turn off autofs support for
8019	solaris 2.5 until a full port can be done.
8020
80212000-06-07  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8022
8023	* Makefile.am, aux/GNUmakefile: fix maintainer rules to update
8024	config.* and texinfo.tex files.
8025
8026	* amd/nfs_subr.c (nfsproc_getattr_2_svc): Don't conditionalize the
8027	mtime update of the symlinks on the SYMTTL option, but rather
8028	delay unmount of what was looked up using am_timeo_w.  Patch from
8029	Nick Williams <Nick.Williams@msdw.com>.  As Nick says "Basically:
8030	during unmount, increment the parent dir's mtime (fixes
8031	people doing amq -u). During stat, increase the TTL (to fix bad-luck
8032	timeouts), but leave the mtime alone."
8033
8034	(nfsproc_lookup_2_svc, nfsproc_readlink_2_svc, unlink_or_rmdir,
8035	nfsproc_readdir_2_svc): correctly update d_drops stats for amq -s.
8036	Patch from Nick Williams <Nick.Williams@msdw.com>.
8037
8038	* amd/map.c (unmount_mp): update mtime of amd symlink to further
8039	reduce the chances of race conditions between unmounting and
8040	looking up an entry again.  Patch from Nick Williams
8041	<Nick.Williams@msdw.com>.
8042
8043	* README: updated instructions
8044
8045	* bootstrap: remove log file before existing
8046
80472000-06-06  Erez Zadok  <ezk@aladdin.dev.hydraweb.com>
8048
8049	* configure.in: no longer using aux/ subdir. don't force autoconf
8050	2.14. comment out (but leave explanation) everything that's needed
8051	for autoconf 2.14, so for now it works with autoconf-2.13, but the
8052	code is ready for 2.14 when it is released.  Similar changes to
8053	make code work with automake-1.4, until the next release comes
8054	out.
8055
8056	* libamu/Makefile.am: include definitions that are required in
8057	automake 1.4, but won't be necessary when the next release of
8058	automake comes out (see XXX comments).
8059
8060	* cache_check_dynamic.m4, check_checkmount_style.m4,
8061	check_mnttab_style.m4, check_mount_style.m4,
8062	check_network_transport_type.m4, check_nfs_prot_headers.m4,
8063	check_umount_style.m4: use symlink creation code that works for
8064	both autoconf 2.13 and 2.14 (when the latter comes out).
8065
8066	* bootstrap: new script for maintainers to run to update autoconf,
8067	automake, and libtool related files.  Has the same effect as
8068	"buildall -K".
8069
8070	* removed dependencies on CVS versions of autoconf, automake, and
8071	libtool, especially the modified automake I had.  This is so that
8072	maintainers could built the auto* files out of the latest released
8073	GNU autoconf, automake, and libtool.  However, without my nice
8074	patches to automake, many files that used to live in the aux/
8075	subdir now were moved to the top level source directory: acconfig.h,
8076	acinclude.m4, aclocal.m4, aux_conf.h.in, config.guess,
8077	config.guess.long, config.h.in, config.sub, configure.in, depcomp,
8078	install-sh, ltconfig, ltmain.sh, missing, and mkinstalldirs.  Also
8079	texinfo.tex and mdate-sh moved from aux/ dir to doc/ dir.
8080
80812000-06-05  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8082
8083	* cvs-server.txt: instructions for maintainers to access the CVS
8084	server for am-utils.
8085
80862000-06-03  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
8087
8088	* amd/restart.c (restart): grr.. passing around initialized
8089	structures is *really* bad habit. memset(mo, 0) so at least we can
8090	test for NULL pointers...
8091
80922000-06-02  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8093
8094	* amd/am_ops.c (ops_match): changed XLOG_USER messages about
8095	merging addopts options to the more appropriate XLOG_INFO.  Patch
8096	submitted by Tom Schmidt <tschmidt@micron.com>.
8097
8098	* config.{guess,sub}: make sure chmod'ed a+rx.  Updated from
8099	latest GNU copies.
8100
81012000-05-30  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
8102
8103	* aux/configure.in: bump up the version to 6.1a2
8104
81052000-05-29  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
8106
8107	* released snapshot am-utils-6.1a1
8108
81092000-05-29  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
8110
8111	* amd/ops_autofs.c (autofs_mounted): retrieve the autofs protocol
8112	version and store it in the fh
8113	(autofs_get_opts): support protocol version 4
8114
8115	* amd/mntfs.c (uninit_mntfs): clear the autofs fh pointer after
8116	releasing it
8117
8118	* conf/transp/transp_sockets.c (amu_svc_getcaller): cast result of
8119	svc_getcaller() to sockaddr_in, to appease glibc 2.2
8120
8121	* amd/amfs_auto.c (amfs_auto_bgmount): if the filesystem wants
8122	autofs handling and the parent is already handled by autofs,
8123	handle this filesystem as well
8124	(amfs_auto_mount): create the mountpoint for an autofs mount
8125	(amfs_auto_umount): do a real UMOUNT_FS() call for autofs mounts
8126
8127	* include/am_utils.h (FS_AUTOFS): new flag signalling that the
8128	filesystem wants autofs handling; toplvl, auto, host and direct
8129	have this flag, at least for now
8130
81312000-05-28  Erez Zadok  <ezk@mulberry.mcl.cs.columbia.edu>
8132
8133	* doc/am-utils.texi (Network Filesystem Group): minor typos
8134
81352000-05-28  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
8136
8137	* amd/autil.c (am_unmounted): check mp->am_parent before dereferencing
8138
8139	* amd/srvr_nfs.c (find_nfs_srvr): if NFS_SCALEDOWN, force
8140	version=2 and proto=udp and try again
8141
8142	* amd/ops_nfs.c (prime_nfs_fhandle_cache): take an explicit mntfs
8143	instead of a voidp; handle the NFS_SCALEDOWN case by removing the
8144	cached server entry and re-querying the server
8145
8146	* amd/amfs_toplvl.c (amfs_toplvl_mount): removed ugly if
8147	statement, assign mnttype from the fs-specific mf_ops->fs_type
8148	instead
8149
8150	* amd/amfs_nfsx.c (amfs_nfsx_init): call fs_init() only if it's
8151	defined;
8152	(amfs_nfsx_remount): removed superfluous check for fmount_fs -- it
8153	always exists
8154	(amfs_nfsx_umount): removed the hacked am_node -- umounted() now
8155	takes an mntfs; call umounted() only if it's defined
8156
8157	* amd/amfs_auto.c: removed amfs_auto_umounted and moved its
8158	functionality into am_umounted().
8159	(amfs_auto_cont): Linux hack: if we got an EINVAL, mark the mntfs
8160	as needing an "NFS scaledown" and retry the operation
8161
8162	* amd/amfs_*.c: changed all fmount/fumount functions to
8163	mount/umount and made them take an am_node instead of an
8164	mntfs. This is a first step towards an amfs/ops API separation.
8165
8166	* amd/{amfs,ops}_*.c: changed the umounted() function to take an
8167	mntfs instead of an am_node
8168
81692000-05-28  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
8170
8171	* amd/amfs_toplvl.c (mount_amfs_toplvl): init error to 0 to shut
8172	up gcc
8173
8174	* aux/macros/check_hide_mount_type.m4: revert to the 6.0 version
8175	which always defines HIDE_MOUNT_TYPE
8176
8177	* amd/ops_autofs.c (autofs_mounted): remove MFF_AUTOFS
8178	initialization -- now done in init_mntfs()
8179
8180	* amd/mntfs.c (init_mntfs): init mf_flags to MFF_AUTOFS if we are
8181	mounting an autofs-style map
8182
8183	* amd/*.c: use the MFF_AUTOFS flag instead of doing a costly STREQ
8184
8185	* amd/amfs_toplvl.c (mount_amfs_toplvl): MTYPE_TYPE is not
8186	necessarily a string type, so handle the nfs/autofs separation
8187	differently
8188
8189	* amd/amfs_auto.c (amfs_auto_bgmount): removed initialization of
8190	opt_mount_type (now done in ops_match())
8191
8192	* amd/am_ops.c (ops_match): need to initialize opt_mount_type if
8193	it's not initialized yet
8194
81952000-05-27  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8196
8197	* libamu/wire.c (getwire_lookup): handle calling irs_gen_acc with
8198	one or two arguments (bsdi3 vs. bsdi4)
8199
82002000-05-27  Ion Badulescu  <ib42@chestnut.mcl.cs.columbia.edu>
8201
8202	* libamu/xutil.c (amu_release_controlling_tty): removed an unused
8203	variable from the previous patch
8204
82052000-05-26  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
8206
8207	* aux/macros/check_autofs_style.m4: fixed substitution for default
8208	case
8209
8210	* libamu/xutil.c (amu_release_controlling_tty): close standard
8211	file descriptors, re-open them as /dev/null
8212
8213	* include/am_defs.h: don't try to include both <ndbm.h> and
8214	<db1/ndbm.h>, it really doesn't work
8215
82162000-05-16  Ion Badulescu  <ib42@earth.cs.columbia.edu>
8217
8218	* hlfsd/stubs.c (nfsproc_lookup_2_svc): added code to update mtime
8219	on lookup if MNT2_NFS_OPT_SYMTTL is not defined (copied from
8220	getattr).  This fixes the problem introduced by the Linux nfsv3
8221	patches.
8222
82232000-05-12  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
8224
8225	* Makefile.am (EXTRA_DIST_CONF): added conf/autofs/autofs_linux.h
8226
82272000-05-10  Ion Badulescu  <ib42@earth.cs.columbia.edu>
8228
8229	* amd/ops_autofs.c (autofs_handle_fdset): call
8230	autofs_lookup_failed instead of autofs_mount_failed, if the name
8231	is not in the map
8232	(autofs_umount_{succeeded,failed}): pass the actual mount point,
8233	not its parent, as it's needed for clean-up;
8234
8235	* amd/autil.c (am_unmounted): notify autofs that the umount
8236	succeeded
8237
8238	* amd/amfs_link.c (amfs_link_[u]mount): autofs link notification
8239	moved elsewhere
8240
82412000-05-09  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
8242
8243	* amd/amfs_auto.c (amfs_auto_bgmount): initialize opt_mount_type
8244	if necessary;
8245	(amfs_auto_mounted): test if opt_mount_type is NULL first
8246	(amfs_auto_mount): revert earlier change
8247
8248	* amd/ops_autofs.c (autofs_mount_failed): remove autofs directory
8249	if mount failed
8250
82512000-05-09  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
8252
8253	* amd/ops_autofs.c (autofs_link_mount): use am_link as target
8254
8255	* amd/map.c (unmount_mp): release file handle for autofs f/s about
8256	to be unmounted; this leak was preventing the unmount altogether
8257
8258	* amd/amfs_auto.c (amfs_auto_umount): removed autofs-specific
8259	code, was broken
8260	(amfs_auto_bgmount): nfs mounts + sublinks is a valid combination,
8261	handle it
8262
82632000-05-07  Ion Badulescu  <ib42@moisil.cs.columbia.edu>
8264
8265	* Merged changes from stable branch
8266
82672000-04-30  Erez Zadok  <ezk@beetle.mcl.cs.columbia.edu>
8268
8269	* include/am_defs.h, aux/macros/mount_headers.m4,
8270	aux/macros/try_compile_anyfs.m4: include linux/kdev_t.h and
8271	linux/list.h before including linux/fs.h, and define __KERNEL__
8272	for those two headers.  All of this to get a couple of definitions
8273	that are needed in the new struct vfsmount.
8274
8275	* aux/configure.in: look for <linux/kdev_t.h> and <linux/list.h>.
8276
8277	* include/am_defs.h, aux/macros/mount_headers.m4: avoid conflicts
8278	between linux/in.h. and netinet/in.h (linux-2.3.99-pre6), by
8279	defining _LINUX_IN_H so it doesn't get included.
8280
82812000-04-03  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8282
8283	* minor new ports: i686-pc-linux-gnu-rh6.2,
8284	i386-unknown-freebsdelf3.4, i586-pc-linux-gnu-rh6.2.
8285
82862000-04-03  Erez Zadok  <ezk@vir.cs.columbia.edu>
8287
8288	* aux/acconfig.h: move all #undef macros above @TOP@, so they can
8289	be recognized by pickier autoconf.
8290
82912000-04-03  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8292
8293	* aux/macros/cache_check_dynamic.m4 (ac_tmp): use correct echo -n
8294	or \c.
8295
82962000-03-25  Erez Zadok  <ezk@beetle.mcl.cs.columbia.edu>
8297
8298	* include/am_defs.h: ditto
8299
8300	* aux/macros/{mount_headers,try_compile_anyfs}.m4: force
8301	non-inclusion of <linux/string.h>.  Breaks build on newer 2.3
8302	kernels.
8303
83042000-02-26  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8305
8306	* doc/am-utils.texi (Amq -w option): document new amq -w option.
8307
8308	* amq/amq.8: document new amq -w option.
8309
8310	* amq/amq.c: disable last remains of insecure amq -M code.
8311	(main): add amq -H option to show usage.
8312	(main): new amq -w option, translates getpwd() into an amd path.
8313
83142000-02-25  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
8315
8316	* libamu/util.c (get_server_pid): new function
8317
8318	* hlfsd/hlfsd.c (main): make use of HIDE_MOUNT_TYPE
8319
8320	* conf/transp/transp_sockets.c: removed create_autofs_service
8321
8322	* conf/mount/mount_linux.c: added autofs mount options; split
8323	mount_linux into two functions, itself and do_mount_linux
8324
8325	* aux/macros/check_hide_mount_type.m4: better failover
8326
8327	* aux/configure.in: changed version to 6.1a1; added
8328	AC_CHECK_AUTOFS_STYLE
8329
8330	* aux/aux_conf.h.in: added @am_utils_autofs_style@
8331
8332	* amd/opts.c: added "mount_type" option
8333
8334	* amd/ops_autofs.c: ifdef-ed out solaris code; moved all autofs
8335	variables in here; split create_autofs_service into sun and linux
8336	specific functions
8337
8338	* amd/nfs_start.c: removed autofs-specific variables
8339
8340	* amd/map.c (get_root_nfs_fh): renamed root_fh to get_root_nfs_fh
8341	(get_root_ap): renamed root_ap to get_root_ap
8342
8343	* amd/amfs_toplvl.c (amfs_toplvl_ops): replaced
8344	amfs_toplvl_mounted with amfs_auto_mounted
8345	(mount_amfs_toplvl): moved code around, added autofs handling
8346	(amfs_toplvl_mounted): removed
8347
8348	* amd/amfs_nfsl.c (amfs_nfsl_ops): removed amfs_auto_fu?mount,
8349	replaced with amfs_nfsl_u?mount
8350
8351	* amd/amfs_linkx.c (amfs_linkx_ops): removed amfs_auto_fumount,
8352	replaced with amfs_link_umount
8353
8354	* amd/amfs_link.c (amfs_link_ops): removed amfs_auto_fu?mount,
8355	replaced with amfs_link_u?mount
8356
8357	* amd/amfs_direct.c (amfs_direct_ops): changed "mounted" function
8358	from amfs_toplvl_mounted to amfs_auto_mounted
8359
8360	* all: added autofs hooks throughout the code
8361
8362	* amd/am_ops.c (vops): autofs_ops doesn't belong in here, removed
8363
8364	* README.autofs: linux status update
8365
83662000-02-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8367
8368	* minor new port: alphaev6-dec-osf5.0
8369
8370	* doc/am-utils.texi (Supported Platforms): hpux-11 supports NFSv3,
8371	but only for UDP.
8372
8373	* released snapshot am-utils-6.0.4s3
8374
8375	* conf/nfs_prot/nfs_prot_hpux11.h: support NFSv3 in hpux-11.  Note
8376	that hpux-11 NFSv3 supports UDP only, and trying TCP locks up the
8377	kernel!  Must set nfs_proto=udp in amd.conf [global].
8378
8379	* aux/config.guess.long: set and export PATH separately.  DU5
8380	/bin/sh doesn't like setting it on the command line in a
8381	back-tick'ed `script`.
8382
83832000-02-24  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
8384
8385	* Makefile.am: removed struct_nfs_mount_data.m4
8386
8387	* aux/macros/struct_nfs_mount_data.m4: deleted
8388
8389	* aux/acconfig.h: removed definition for HAVE_NFS_MOUNT_DATA
8390
8391	* aux/configure.in: removed check for struct nfs_mount_data
8392
83932000-02-24  Ion Badulescu  <ib42@beetle.mcl.cs.columbia.edu>
8394
8395	* amd/amfs_auto.c (amfs_auto_bgmount): changed log message to
8396	avoid having 'failed' in a message not indicating a failure
8397	(amfs_auto_lookuppn): ditto
8398
8399	* amd/ops_autofs.c (autofs_bgmount): ditto
8400	(autofs_lookuppn): ditto
8401
84022000-02-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8403
8404	* added .cvsignore files into the CVS repository.
8405
8406	* remove files which can be regenerated: .in, configure, some
8407	files in aux/, and more.
8408
84092000-02-20  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8410
8411	* doc/am-utils.texi (nfs_vers/nfs_proto): description of two
8412	parameters was reversed.  Reported by Paul Jenner
8413	<p.jenner@eim.surrey.ac.uk>.
8414
84152000-02-16  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8416
8417	* released snapshot am-utils-6.0.4s2
8418
8419	* amd/mntfs.c (realloc_mntfs): don't fallback on certain ops such
8420	as inherit, error, and toplvl (failover code).
8421
8422	* amd/conf.c (gopt_nfs_vers, gopt_nfs_proto): two new (documented)
8423	global options in amd.conf: one to set the NFS version globally
8424	(i.e., nfs_vers=2), and one to set the NFS protocol globally
8425	(i.e., nfs_proto=udp).
8426
8427	* amd/mntfs.c (realloc_mntfs): attempt to fix the failover code,
8428	so when a matching mount entry failed, try the next one.
8429
84302000-02-15  Erez Zadok  <ezk@moisil.cs.columbia.edu>
8431
8432	* amd/amfs_auto.c: a new debug option "readdir" to trace the
8433	progress of the browsable_dirs code.
8434
8435	* conf/mount/mount_linux.c (mount_linux): ensure that the new
8436	linux NFSv3 code works for v2-only machines.
8437
84382000-02-14  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8439
8440	* aux/configure.in: cleanup unused dnl entries.
8441
8442	* conf/mount/mount_linux.c (parse_opts): typo: check for string
8443	equality, not string inequality for pcfs and cdfs.
8444
8445	* aux/acconfig.h: look for MNT2_NFS_OPT_INTR as well.
8446
8447	* libamu/mount_fs.c (compute_mount_flags): check for INTR and
8448	NOINTR options as well (intr was never passed to linux mount
8449	syscall).
8450
84512000-02-10  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8452
8453	* released snapshot am-utils-6.0.4s1
8454
8455	* aux/GNUmakefile: buildall -k (for maintainers) temporarily now
8456	ignores autoconf warnings: "The macro `AC_OUTPUT_COMMANDS' is
8457	obsolete".  It is harmless but annoying, and will be fixed when
8458	autoconf and automake in their respective CVS trees are working
8459	and in sync again.
8460
8461	* scripts/amd.conf.5: document -D hrtime,xdrtrace
8462
8463	* all man pages: update copyright to 2000.
8464
8465	* doc/am-utils.texi: update copyright to 2000.
8466
8467Wed Feb  9 14:22:31 2000  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8468
8469	* include/am_utils.h (D_XDRTRACE): Define.
8470	(D_TEST): Disable here.
8471
8472	* libamu/xutil.c (dbg_opt): Handle it.
8473
8474	* doc/am-utils.texi (-D-Option): Document it.
8475
8476	* libamu/xdr_func.c: Use it instead of D_TRACE.
8477
8478	* include/am_utils.h (D_HRTIME): Define.
8479
8480	* doc/am-utils.texi (-D-Option): Document it.
8481
8482	* libamu/xutil.c (show_time_host_and_name): Print high-resolution
8483	timestamp if available and activated.
8484
8485	* aux/configure.in (clock_gettime): Check for it in -lrt and
8486	-lposix4.
8487
8488	* hlfsd/hlfsd.c (mnttab_file_name): Initialize to MNTTAB_FILE_NAME
8489	if defined, even for some systems with in kernel mount tables.
8490
84912000-02-08  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
8492
8493	* aux/macros/mount_headers.m4: remove #if 0 around linux/nfs.h to
8494	allow compiles against libc5
8495
8496	* aux/macros/check_mnttab_type.m4: avoid detecting nfs3 under
8497	linux when the kernel doesn't support it
8498
8499	* include/am_compat.h: add workaround for linux efs
8500
85012000-02-08  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8502
8503	* aux/configure.in: test for ANSI C compiler (before AC_C_CONST).
8504	Comment out unused AC_STRUCT_ST_RDEV (which is obsolete anyway).
8505
85062000-02-07  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
8507
8508	* libamu/mount_fs.c (compute_nfs_args): turn on VER3 option for
8509	nfs (linux NFSv3).
8510
8511	* include/am_defs.h: avoid reinclusion of some header files under
8512	linux.
8513
8514	* conf/nfs_prot/nfs_prot_linux.h: support NFSv3.
8515
8516	* conf/mount/mount_linux.c (mount_linux): support nfs mount
8517	 (implementation) version 4 for NFSv3.
8518
8519	* aux/macros/try_compile_nfs.m4: use AC_MOUNT_HEADERS.
8520
8521	* aux/macros/mount_headers.m4: don't include <linux/fs.h> (may
8522	need to fix the code on other linux machines).
8523
8524	* aux/macros/check_mnttab_type.m4 (ac_safe): ditto.
8525
8526	* aux/macros/check_fs_mntent.m4 (ac_safe): check for nfs3 option
8527	under linux (depends on ac_cv variable, is that a good idea?)
8528
8529	* added NFSv3 support for linux
8530
8531	* aux/{configure.in,acconfig.h}: new option ver3
8532
8533	* aux/macros/mount_headers.m4: commented out inclusion of
8534	linux/fs.h, it's not needed on rh61 (and actually generates
8535	conflicts), we should see if it's still needed on libc5 systems
8536
8537	* aux/macros/try_compile_nfs.m4: use AC_MOUNT_HEADERS rather than
8538	try to have its own (out of date) list of headers and ifdef's and
8539	...
8540
85412000-02-07  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8542
8543	*******************************************************************
8544	*** Released am-utils-6.0.3					***
8545	*******************************************************************
8546
85472000-02-06  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8548
8549	* conf/mount/mount_default.c: dummy empty file to work around a
8550	limitation of automake (it looks for LIBBOBJS in aclocal.m4 and
8551	processes them even if they are optional, enclosed in if/else).
8552
85532000-01-29  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8554
8555	* released snapshot am-utils-6.0.3s5
8556
85572000-01-25  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8558
8559	* update to use latest version of autoconf, automake, and libtool.
8560
8561	* aux/GNUmakefile (depcomp): "make update" should also update the
8562	depcomp script.
8563
8564	* Makefile.am (EXTRA_DIST_AUX): include depcomp in distribution.
8565
8566	* aux/configure.in: use renamed AC_CHECK_AMU_FS.
8567
8568	* aux/macros/check_amu_fs.m4: renamed macro name and file name to
8569	say AMU_FS, not AM_FS.
8570
8571	* aux/acconfig.h: renamed HAVE_AM_FS_* to HAVE_AMU_FS_* because
8572	latest version of autoconf doesn't handle it (bug in 2.14a)
8573
8574	* aux/configure.in: require version 2.14 of autoconf.
8575
8576	* amd/mapc.c (mapc_reload_map): more fixes from Nick Williams.
8577
8578	* doc/am-utils.texi (Automount Filesystem): document type:=auto
8579	map browsability option.
8580
8581	* amd/mapc.c (make_entry_chain): patch from Steven Danz
8582	<sdanz@awc.kc.noaa.gov> to allow browsable auto maps.
8583
85842000-01-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8585
8586	* released snapshot am-utils-6.0.3s4
8587
8588	* amd/mapc.c (mapc_reload_map): fixes to sync maps even if they
8589	are set to mapcache:=sync.  Fix from Nick Williams
8590	<Nick.Williams@msdw.com>.
8591
85922000-01-20  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8593
8594	* released snapshot am-utils-6.0.3s3
8595
8596	* minor port to i386-unknown-netbsd1.4.1
8597
8598	* amd/nfs_subr.c (nfsproc_getattr_2_svc): patch from Nick Williams
8599	<Nick.Williams@msdw.com> to fix (or reduce the incidence of) stale
8600	file handles when doing rapid mounts and umounts in succession
8601	such as "ls /vol/foo ; amq -u /vol/foo ; ls /vol/foo"
8602
86032000-01-18  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8604
8605	* minor port to i386-pc-bsdi4.1.
8606
86072000-01-13  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8608
8609	* libamu/wire.c (getwire_lookup): pass NULL as conf_file (2nd)
8610	argument to irs_gen_acc(), which was changed in bsdi 4.1.
8611
86122000-01-12  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8613
8614	* amd/get_args.c (get_args): don't use MNTTAB_FILE_NAME for
8615	systems with in-kernel mount tables unless this macro is defined
8616	(Solaris 8).
8617
86182000-01-01  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8619
8620	* ALL: bump copyright year to 2000.
8621
86221999-12-16  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8623
8624	* conf/mount/mount_svr4.c (mount_svr4): optionstr exists on
8625	solaris 7, but should not be used unless MAX_MNTOPT_STR also
8626	exists (solaris 8).
8627
8628	* doc/am-utils.texi (opts Option): document new mount option:
8629	optionstr.
8630
8631Fri Dec 10 01:31:53 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8632
8633	* conf/trap/trap_svr4.h (MOUNT_TRAP): Pass mount option string to
8634	mount_svr4().
8635	(mount_svr4): Adapt prototype.
8636	* conf/mount/mount_svr4.c (mount_svr4): Pass them to kernel so
8637	they are evaluated and show up in Solaris 8 in-kernel mnttab.
8638
8639	* aux/configure.in: Check for new Solaris 8 MS_OPTIONSTR mount(2)
8640	option.
8641	* aux/acconfig.h (MNT2_GEN_OPT_OPTIONSTR): Provide template.
8642
86431999-12-10  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8644
8645	* released snapshot am-utils-6.0.3s2
8646
86471999-12-09  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8648
8649	* doc/am-utils.texi (opts Option): document noexec and nomnttab
8650	(new to Solaris 8).
8651
8652	* Makefile.am (EXTRA_DIST_CONF): include nfs_prot_sunos5_8.h in
8653	distribution.
8654
8655	* applied fixes from Rainer Orth for Solaris 8.
8656
8657	* libamu/wire.c (getwire): increment the cp pointer in the loop
8658	body, because the ioctl() inside the "for" loop will overwrite the
8659	ifr structure, thus not detecting all of the interfaces.  Bug
8660	reported and fixed by Amitha Perera <perera@cs.rpi.edu>.
8661
8662Thu Dec  9 19:09:38 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8663
8664	* conf/mtab/mtab_svr4.c (unlockmnttab, lockmnttab): No-ops if
8665	MOUNT_TABLE_ON_FILE.
8666
8667	* amd/get_args.c (get_args): Initialize mnttab_file_name even for
8668	in-kernel mount table.  conf/mtab/mtab_svr4.c (read_mtab) depends
8669	on a non-NULL value.
8670
8671	* amd/info_ldap.c (get_ldap_timestamp): Don't peek into opaque
8672	LDAP structure to get error code, but use it directly.
8673	(amu_ldap_search): Likewise.
8674
8675	* conf/nfs_prot/nfs_prot_sunos5_7.h: Rip superfluous and wrong
8676	ldap support.
8677	* conf/nfs_prot/nfs_prot_sunos5_8.h: Likewise.
8678
8679	* conf/nfs_prot/nfs_prot_sunos5_8.h: New file, doesn't typedef
8680	nfsstat, already in <nfs/nfs.h>.
8681	* aux/macros/check_nfs_prot_headers.m4: Use it for all Solaris
8682	versions beyond 7.
8683	Allow for micro versions of SunOS 5.[67].
8684
8685	* aux/configure.in: Check for new Solaris 8 Beta Refresh
8686	MS_NOMNTTAB mount(2) option.
8687	* aux/macros/check_mnttab_location.m4: Use it to test for
8688	mntfs-based in-kernel mnttab.
8689
8690	* aux/macros/os_cflags.m4: Treat Solaris 8 and higher like 2.6/7.
8691
8692	* aux/macros/check_fs_headers.m4: Revert test for duplicate
8693	objects.
8694	* aux/macros/check_fs_mntent.m4: Likewise
8695
8696	* aux/macros/HEADER: Fixed typo.
8697
8698	* include/am_defs.h: Likewise.
8699
87001999-12-01  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8701
8702	* aux/macros/*.m4: prepare for hpux-12 (assume same as hpux-11)
8703
87041999-11-16  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8705
8706	* BUGS: document glibc-2.1 nis file descriptor leak in yp_bind.
8707
8708	* amd/info_ldap.c (string2he): updated function which does not
8709	corrupt strings when called more than once.  Patch from
8710	JOHANN.PFEFFERL.JP@germany.agfa.com.
8711
87121999-11-15  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8713
8714	* MIRRORS (Asia): two new mirrors in Japan.
8715
87161999-11-10  Erez Zadok  <ezk@kosh.cs.columbia.edu>
8717
8718	* doc/am-utils.texi: document new variables for ${uid} and ${gid}.
8719
8720	* amd/nfs_subr.c (nfsproc_lookup_2_svc): find the uid/gid of the
8721	last lookup from the RPC credentials.
8722
8723	* aux/configure.in: upped version-info to 4:0:2 because I've added
8724	a new interface to libamu.
8725
8726	* libamu/misc_rpc.c (getcreds): moved function from hlfsd to here,
8727	so it can be used by amd.
8728
8729	* amd/opts.c: new variables ${uid} and ${gid}.
8730
87311999-10-15  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8732
8733	* scripts/ctl-amd.in: add "status" command that tells you if amd
8734	is running on not (same output as RedHat scripts).
8735	Added start_msg and stop_msg targets as they are used on HPUX.
8736	reported by Jon Peatfield <J.S.Peatfield@damtp.cam.ac.uk>.
8737
87381999-10-13  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8739
8740	* released snapshot am-utils-6.0.3s1
8741
87421999-10-12  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8743
8744	* amd/amd.c (main): On AIX you must lower the stack size using
8745	ulimit() before calling plock.  Otherwise plock will reserve a lot
8746	of memory space based on your maximum stack size limit.  Since it
8747	is not easily possible to tell what should the limit be, I print a
8748	warning before calling plock(). See the manual pages for
8749	ulimit(1,3,4) on your AIX system.
8750
8751	* include/am_defs.h: define default extern for vsnprintf()
8752
8753	* aux/configure.in: check for extern definition for vsnprintf()
8754
87551999-10-08  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8756
8757	* amd/amfs_auto.c (amfs_auto_bgmount): patch from Nick Williams
8758	<njw@ms.com>.  SYMPTOMS: 'occasionally' sublinks do not point to
8759	the correct location, but to the top level of the mountpoint and
8760	an (error-hook) is seen being mounted in the log file. This causes
8761	things to Go Wrong(TM).
8762	CAUSE: When evaluating two locations which are requested
8763	'practically simultaneously', and the two locations resolve to the
8764	same NFS mountpoint (but different sublinks), the later request
8765	will be "deferred" and retried after wakeup when the first mount
8766	succeeds. To do this, it rewinds the options location string to
8767	re-evaluate the location when the mount is retried. However, it
8768	shouldn't rewind the options for two reasons: (a) the semantics of
8769	the map language say you shouldn't and (b) the NFS mount reference
8770	is not reset at the same time, meaning that on the retry it will
8771	have an options structure out-of-sync with the mount
8772	structure. The "shortcut" code when retrying the mount sees the
8773	mount structure is already filled in and does not fully evaluate
8774	the options structure.... so if the first location is not the one
8775	which ties in with the mountpoint (see ordering in the
8776	recreate-by), you're now well messed up.
8777
8778	* BUGS: mention aix4.3 plock() bug (memory usage blows up and
8779	plock fails)
8780
87811999-10-07  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8782
8783	* aux/GNUmakefile: certain files should be copied if they are
8784	newer, not also if they are bigger: install-sh, ltconfig,
8785	ltmain.sh, mdate-sh, missing, mkinstalldirs, and texinfo.tex.
8786
8787	* minor new port: i586-pc-linux-gnu-rh6.1 (RedHat Linux 6.1)
8788
87891999-10-05  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8790
8791	* aux/macros/check_nfs_prot_headers.m4: prepare for OSF-5.
8792
8793	* aux/macros/check_nfs_fh_dref.m4: prepare for Tru64, aka OSF-5.
8794
87951999-09-30  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8796
8797	*******************************************************************
8798	*** Released am-utils-6.0.2					***
8799	*******************************************************************
8800
88011999-09-27  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8802
8803	* conf/mount/mount_linux.c (mount_linux): print the updated mount
8804	flags.
8805
8806	* doc/am-utils.texi: document $full_os and $vendor.
8807
8808	* scripts/amd.conf-sample: examples of $full_os and $vendor.
8809
8810	* scripts/amd.conf.5: document $full_os and $vendor.
8811
8812	* amd/conf.c: add support for $full_os and $vendor.
8813
88141999-09-26  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8815
8816	* doc/am-utils.texi (netgrp Selector Function): don't give
8817	examples with old single '=' assignment variable.  Use foo:=bar.
8818
8819	* amd/amfs_auto.c (amfs_auto_bgmount): corectly indent long
8820	comment describing this complex function.
8821
8822	* doc/Makefile.am (alldocs): do install-ps last (because distiller
8823	is slow) and install-html next to last (because texi2html is also
8824	slow).
8825
8826	* amd/amd.8: Major fixes to the description of the option -t
8827	timeout.retransmit.
8828
8829	* doc/am-utils.texi: better description of "trace" debug option.
8830	amd -H (not -v) shows log_options and debug_options.  Major fixes
8831	to the description of amd -t timeout.retransmit, and the amd.conf
8832	parameters nfs_retransmit_counter and nfs_retry_interval.
8833
8834	* scripts/amd.conf.5: better description of "trace" debug option.
8835	amd -H (not -v) shows log_options and debug_options.  Major fixes
8836	to the description of the parameters nfs_retransmit_counter and
8837	nfs_retry_interval.
8838
88391999-09-25  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8840
8841	* doc/am-utils.texi (Automount Filesystem): cache:= is not a mount
8842	option, but a mount map option.
8843
8844	* libamu/xutil.c (switch_to_logfile): log the name of the log file
8845	we switched into, after the log file had been [re]opened.
8846
88471999-09-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8848
8849	* amd/mapc.c (mapc_reload_map): count and show the number of times
8850	a map was reloaded.  Only reload a map if its modify-time was
8851	updated.  But amq -f forced a reload no matter what.
8852
8853	* amd/amd.h: new flag to struct mnt_map to count number of times a
8854	map was reloaded.
8855
8856	* amd/mapc.c (mapc_reload_map): attempt to reload the map without
8857	losing current data by reloading into a temp copy, and switching
8858	the hashes round only if the reload was successful.  Patch from Jon
8859	Peatfield <J.S.Peatfield@damtp.cam.ac.uk>.
8860	(mapc_sync): mapc_reload_map() always succeeds.
8861
88621999-09-22  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8863
8864	* amd/info_ldap.c (amu_ldap_rebind): don't busy-loop trying to
8865	rebind to an LDAP server forever.  Try up to 10 times.
8866
8867	* fsinfo/fsi_lex.l (yyerror): rework code that will never happen
8868
8869	* released snapshot am-utils-6.0.2s2
8870
8871	* aux/configure.in: bumped library version-info to 3:2:1, since
8872	some libamu code got changed.
8873
8874	* libamu/xutil.c (real_plog): use vsnprintf, not vsprintf, which
8875	is better and more secure.  Fix from "David O'Brien"
8876	<obrien@NUXI.com>.
8877
8878	* aux/configure.in: check for vsnprintf.
8879
88801999-09-21  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8881
8882	* aux/macros/linux_headers.m4: use AC_MSG_ERROR.
8883
8884	* aux/macros/opt_{cppflags,ldflags,libs,amu_cflags}.m4: the ARG is
8885	not optional.  Make sure ARG is supplied else flag an error.
8886
88871999-09-18  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8888
8889	* minor port i386-unknown-freebsdelf3.3
8890
8891	* released snapshot am-utils-6.0.2s1
8892
88931999-09-17  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8894
8895	* aux/configure.in (AC_CHECK_FUNCS): check for getitimer().
8896
8897	* include/am_defs.h: extern definition for getitimer().
8898
8899	* aux/configure.in: use AC_CHECK_EXTERNS.  Look for getitimer()
8900	extern.
8901
8902	* aux/macros/check_extern.m4: define a simple AC_CHECK_EXTERNS
8903	that calls AC_CHECK_EXTERN in a loop.  This saves repeated code in
8904	configure.
8905
8906	* aux/macros/type_auth_create_gidlist.m4: AIX 4.x systems use
8907	'int' as the 5th arg to authunix_create().
8908
8909	* aux/macros/type_recvfrom_fromlen.m4: all AIX 4.x systems use a
8910	size_t for the 6th arg of recvfrom().
8911
8912	* aux/macros/os_cflags.m4: define _XOPEN_EXTENDED_SOURCE for
8913	aix4.x systems.
8914
8915	* libamu/mount_fs.c (print_nfs_args): cast some values to int, to
8916	avoid gcc -Wall errors.
8917
8918	* scripts/expn.in: use sockaddr_in(), not pack() to correctly fill
8919	in a struct sockaddr_in.  On Solaris x86 hosts, using pack()
8920	results in byte-misaligned values.   Bug fix from Jeffrey C Honig
8921	<jch@BSDI.COM>.
8922
8923	* libamu/mount_fs.c (compute_automounter_mount_flags): turn on
8924	automntfs (ignore on bsdi-4.1) flag.
8925	(compute_automounter_nfs_args): ditto.
8926
8927	* aux/acconfig.h: add new flag for automntfs (ignore)
8928
8929	* aux/configure.in: check for new automntfs flag (bsdi-4.1).
8930
89311999-09-14  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8932
8933	* MIRRORS: added new site in Germany.  Updated status of umn.edu
8934	and ferginc.com, who may no longer be mirroring am-utils.
8935
89361999-09-08  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8937
8938	*******************************************************************
8939	*** Released am-utils-6.0.1					***
8940	*******************************************************************
8941
89421999-09-08  Erez Zadok  <ezk@cs.columbia.edu>
8943
8944	* aux/macros/mount_headers.m4: bsdi-2.1 needs MAXQUOTAS and struct
8945	netexport defined.
8946
8947	* aux/macros/try_compile_anyfs.m4: bsdi-2.1 needs MAXQUOTAS and
8948	struct netexport defined.
8949
89501999-09-07  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8951
8952	* aux/macros/check_field.m4 (ac_upcase_var_name): include
8953	<ifaddrs.h> so we can detect fields within struct ifaddrs.
8954
8955	* libamu/wire.c (getwire): bsdi-2.1 uses a second arg to
8956	getifaddrs() and struct ifaddrs has no ifa_next field.
8957
8958	* aux/configure.in: check if 'struct ifaddrs' has a field
8959	ifa_next.
8960
8961	* include/amq_defs.h (AMQ_STRLEN): double size of amq string
8962	length to 2048 bytes.
8963
8964	* conf/nfs_prot/nfs_prot_netbsd1_4.h: include several more nfs
8965	header files and ufs/ufs/ufsmount.h.  Bug reported by <Christos
8966	Zoulas> christos@zoulas.com.
8967
8968	* aux/macros/try_compile_anyfs.m4: include <ufs/ufs/ufsmount.h>.
8969	Bug reported by <Christos Zoulas> christos@zoulas.com.
8970
8971	* aux/macros/mount_headers.m4: include <ufs/ufs/ufsmount.h>
8972
89731999-09-06  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8974
8975	* libamu/xutil.c (expand_error): use strerror if available instead
8976	of sys_errlist.  Bug reported by <Christos Zoulas>
8977	christos@zoulas.com.
8978
8979	* hlfsd/hlfsd.c (fatal): use strerror if available instead of
8980	sys_errlist.
8981
8982	* amq/amq.c (show_mi): use strerror if available instead of
8983	sys_errlist.
8984
8985	* aux/macros/check_nfs_prot_headers.m4: make sure netbsd1.4
8986	nfs_prot header is used for any future (1.5 etc.) netbsd systems.
8987
8988	* amq/pawd.c (find_mt): check for type nfsl as well.  Fix from
8989	"Andrew J. Korty" <ajk@purdue.edu>
8990
89911999-08-29  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8992
8993	* doc/am-utils.texi (Supported Platforms): updates for redhat
8994	systems.
8995
8996	* INSTALL: updates for redhat systems.
8997
8998	* libamu/wire.c (getwire_lookup): spell "succeeded" correctly
8999
90001999-08-28  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9001
9002	* scripts/ctl-amd.in: sleep 1 second between killing amd and
9003	restarting it, because amq may respond that amd is down, where in
9004	fact it is still trying to unmount itself after unmapping itself
9005	from the portmapper.
9006
9007	* aux/config.guess.long: new script to print long version of
9008	config.guess output.
9009
9010	* buildall (host_alias): use long version of config.guess.
9011
90121999-08-27  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9013
9014	* scripts/ctl-{amd,hlfsd}.in: update RH tags for start/stop
9015	scripts.
9016
90171999-08-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9018
9019	* released snapshot am-utils-6.0.1s11
9020
9021	* libamu/xutil.c (expand_error): make sure expanding the string
9022	with textual version of errno doesn't overrun the 1024 bytes
9023	buffer.
9024	(real_plog): null terminate msg, just in case.
9025
9026	* amq/amq.c (main): don't getopt -M option and don't process it
9027	unless ENABLE_AMQ_MOUNT is on.
9028
9029	* amd/amq_svc.c (amq_program_1): all code that relates to amq -M
9030	is conditional on #ifdef ENABLE_AMQ_MOUNT.
9031
9032	* amd/amq_subr.c: remove amqproc_mount_1_svc() function invoked
9033	when amq -M code is disabled.  Not taking any chances.
9034
90351999-08-23  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9036
9037	* released snapshot am-utils-6.0.1s10
9038
9039Sun Aug 22 16:18:59 1999  Erez Zadok  <ezk@subzero.cs.columbia.edu>
9040
9041	* libamu/wire.c (getwire_lookup): if getnetbyaddr failed (e.g., on
9042	128.59.16.0), try to shift the network out of zeros (e.g.,
9043	128.59.16) and try again.  Irix 6.4 requires short network
9044	numbers.
9045
90461999-08-22  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9047
9048	* libamu/wire.c (getwire_lookup): correctly compute subnet using
9049	netmask.
9050
9051	* libamu/mount_fs.c (compute_automounter_nfs_args): require that
9052	Amd's own NFS mounts use reserved ports (if possible).  IP packet
9053	security fix from Jeffrey C Honig <jch@BSDI.COM>.
9054
9055	* conf/transp/transp_tli.c (create_autofs_service): use correct
9056	autofs_port.  IP packet security fix from Jeffrey C Honig
9057	<jch@BSDI.COM>.
9058
9059	* conf/transp/transp_sockets.c (bindnfs_port): remove unnecessary
9060	function.  IP packet security fix from Jeffrey C Honig
9061	<jch@BSDI.COM>.
9062	(create_nfs_service): use bind_resv_port() directly.  ensure that
9063	privileged ports are used.  IP packet security fix from Jeffrey C
9064	Honig <jch@BSDI.COM>.
9065
9066	* amd/nfs_prot_svc.c (nfs_program_2): verify that requests come
9067	from reserved ports and from a local IP address.  IP packet
9068	security fix from Jeffrey C Honig <jch@BSDI.COM>.
9069
9070	* amd/amq_subr.c (ok_security): use IPPORT_RESERVED, instead of
9071	hard-coded 1024.  IP packet security fix from Jeffrey C Honig
9072	<jch@BSDI.COM>.
9073	(amqproc_mount_1_svc): provide information on the caller making an
9074	amq -M request.  IP packet security fix from Jeffrey C Honig
9075	<jch@BSDI.COM>.
9076
9077	* amd/map.c (free_map_if_success): If the program doing an unmount
9078	of a program filesystem fails, amd tries to interpret the return
9079	code as an errno.  Fix from Jeffrey C Honig <jch@BSDI.COM>.
9080
9081	* amd/info_nis.c (determine_nis_domain): don't always print
9082	warning about NIS domain name not being set, even if NIS is not in
9083	use.
9084
90851999-08-21  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9086
9087	* amd/info_ldap.c (get_ldap_timestamp): initialize variable err.
9088	(amu_ldap_search): initialize variable err.
9089
90901999-08-16  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9091
9092	* libamu/wire.c: written using getifaddrs() for BSD systems,
9093	contributed by BSDI, Jeffrey C Honig <jch@BSDI.COM>).
9094
90951999-08-15  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9096
9097	* include/am_utils.h (SALLOC): a simple macro to allocate N bytes.
9098
9099	* aux/configure.in: check for irs.h and ifaddrs.h.
9100	Increase libamu.so --version-info to 3:1:1 since we've changed the
9101	source code for the library.
9102	Check for getifaddrs() function.
9103
91041999-08-14  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9105
9106	* libamu/mount_fs.c (print_nfs_args): print fields namlen and
9107	bsize if they exist.
9108
9109	* conf/mount/mount_linux.c (mount_linux): set nfs_args_t->namlen
9110	and ->bsize fields correctly, if those fields exist.  This is a
9111	bug in that amd neglected to set these fields, but told the
9112	kernel it is mounting the nfs_args_t structure using mount version
9113	3 (which requires both bsize and namlen fields).
9114
9115	* aux/configure.in: test for two new nfs_args_t fields (used on
9116	newer linux with mount versions 2 and 3): bsize and namlen.
9117
9118	* doc/am-utils.texi (netgrpd Selector Function): document new
9119	selector function.
9120
9121	* amd/opts.c (f_netgrpd): new amd map function netgrpd(ARG) to
9122	test if the current host (fully-qualified name) is in the ARG host
9123	netgroup.  The netgrp() function uses the short form of a host
9124	name.  Patch from Christophe Kalt <Christophe-Kalt@deshaw.com>.
9125
9126	* doc/am-utils.texi (automount2amd): document new script.
9127
9128	* scripts/Makefile.am: create, install, and distribute
9129	automount2amd perl script and its man page.
9130
9131	* scripts/automount2amd.8: new man page for automount2amd.
9132
9133	* scripts/automount2amd.in: new file, contributed a in 1993 by
9134	Mike Walker <mike@tab00.larc.nasa.gov>.  Fixed to use addopts for
9135	any automount map options specified.
9136
91371999-08-09  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9138
9139	* released snapshot am-utils-6.0.1s9
9140
91411999-08-09  Erez Zadok  <ezk@beetle.mcl.cs.columbia.edu>
9142
9143	* amd/amfs_auto.c (DOT_DOT_COOKIE): set the NFS cookie of '..' to
9144	1.
9145	(amfs_auto_readdir): use DOT_DOT_COOKIE instead of (u_int)~0.
9146	(amfs_auto_readdir_browsable): use DOT_DOT_COOKIE instead of
9147	(u_int)~0.
9148
9149	* amd/mapc.c (make_entry_chain): NFS cookies should be
9150	monotonically increasing, because Linux 2.3 expects that, even
9151	though it is not in the spec (RFC-1094) for NFS V2.
9152
91531999-08-06  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9154
9155	* aux/macros/check_lib_funcs.m4: removed unused macro.
9156
9157	* aux/macros/linux_headers.m4: new macro to ensure that linux
9158	kernel headers match running kernel version.
9159
9160	* aux/acconfig.h: define HOST_HEADER_VERSION so we can check if
9161	amd is configured on linux hosts that run one kernel but have
9162	headers for a different version.
9163
9164	* amd/info_nis.c (nis_isup, nis_search, nis_init): fixes for the
9165	logic which uses nis_isup and has_yp_order.  Make sure it is used
9166	correctly , esp. for NIS+ in NIS-compatibility mode.  Bug fix from
9167	Peter Breitenlohner <peb@mppmu.mpg.de>.
9168
9169	* include/am_defs.h: fix conflicts on linux 2.2 systems with older
9170	libc5.  Bug fix from Peter Breitenlohner <peb@mppmu.mpg.de>.
9171
9172	* scripts/lostaltmail.in: use sockaddr_in(), not pack() to
9173	correctly fill in a struct sockaddr_in.  On Solaris x86 hosts,
9174	using pack() results in byte-misaligned values.
9175
91761999-08-02  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9177
9178	* conf/mtab/mtab_aix.c (mnt_dup): add support for nfs3
9179	mounting, as per Dale Talcott <aeh@quest.cc.purdue.edu>.  Also use
9180	better macros for case statement.
9181
9182	* conf/nfs_prot/nfs_prot_sunos5_7.h: don't include ldap structures
9183	unless ldap is actually available.
9184
9185	* use updated config.guess and config.sub.  Use newer automake
9186	that fixes problems with distributing optional libamu files
9187	(clnt_sperrno.c, hasmntopt.c, strcasecmp.c, strdup.c, strstr.c,
9188	and ualarm.c)
9189
91901999-07-19  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9191
9192	* minor port i386-unknown-openbsd2.5
9193
91941999-07-17  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9195
9196	* minor ports to freebsdelf 3.[0-2] and 4.0 completed
9197
9198	* aux/macros/check_nfs_prot_headers.m4: support freebsdelf
9199
9200	* aux/macros/check_nfs_socket_connection.m4: support freebsdelf
9201
92021999-06-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9203
9204	* released snapshot am-utils-6.0.1s8
9205
92061999-06-23  Erez Zadok  <ezk@beetle.mcl.cs.columbia.edu>
9207
9208	* include/am_defs.h: avoid various header conflicts on
9209	RedHat/Linux 6.0 and kernels 2.2.10 or newer.
9210
9211	* aux/configure.in: look for <db1/ndbm.h> (RedHat/Linux 6.0 and
9212	kernel 2.2.10)
9213
9214	* amd/amfs_program.c (amfs_program_exec): make sure logfp is
9215	initialized dynamically to stderr if needed.
9216
9217	* libamu/xutil.c (dplog): make sure logfp is initialized
9218	dynamically to stderr if needed.
9219	(plog): ditto.
9220
9221	* amd/amfs_program.c (amfs_program_exec): set logfp to stderr if
9222	not initialized.
9223
9224	* libamu/xutil.c: don't initialize logfp statically to stderr,
9225	because on RedHat/Linux 6.0 (kernel 2.2.10) stderr can no longer
9226	be manipulated like a variable.
9227
9228	* include/am_defs.h: avoid more conflicts between <linux/fs.h> and
9229	<sys/mount.h> on 2.2 linux kernels.
9230	include <db1/ndbm.h> as needed (RedHat/Linux 6.0)
9231
92321999-04-20  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9233
9234	* all Makefile.am: use AMU_NFS_PROT_HEADER (not *_HEADERS)
9235
9236	* aux/macros/check_nfs_prot_headers.m4 (AMU_NFS_PROT_HEADER):
9237	renamed AC_SUBST name from *_HEADERS to *_HEADER so that automake
9238	won't attempt to add it to the header files to distribute.
9239
92401999-04-19  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9241
9242	* aux/GNUmakefile: invoke aclocal with new --altdir flag.
9243
92441999-04-16  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9245
9246	* minor new port: i386-unknown-netbsd1.4 (ALPHA)
9247
9248	* aux/macros/check_field.m4: no need to include <cdfs/cdfsmount.h>
9249	and <isofs/cd9660/cd9660_mount.h> because they are also included
9250	from MOUNT_HEADERS.  Causes multiple inclusion of unprotected
9251	headers on netbsd-1.4_ALPHA.
9252
92531999-04-15  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9254
9255	* aux/macros/extern_sys_errlist.m4 (pattern): netbsd-1.4_ALPHA's
9256	sys_errlist extern doesn't end with [].
9257
9258	* aux/macros/check_nfs_prot_headers.m4: netbsd 1.4 support.
9259
92601999-04-11  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9261
9262	* newer automake wants texinfo.tex to be in aux/ not doc/
9263
92641999-03-30  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9265
9266	* amd/conf_parse.y: alloca support.
9267
9268	* fsinfo/fsi_gram.y: alloca support.
9269
9270	* libamu/Makefile.am (libamu_la_LIBADD): compile alloca.o if
9271	needed.
9272
9273	* aux/configure.in: test for alloca support.  Needed because bison
9274	generates parsers that use alloca, and hpux9 does have alloca and
9275	its /bin/cc doesn't support it builtin (the way gcc does).
9276
9277	* libamu/alloca.c: new file, needed on hpux9 with /bin/cc.  Taken
9278	verbatim from bison-1.25.
9279
9280	* include/am_defs.h: fixed typo #errir -> #error
9281
9282	* released snapshot am-utils-6.0.1s7
9283
9284	* README.y2k: more information about am-utils' compatibility, from
9285	Paul Balyoz <pbalyoz@sedona.ch.intel.com>.
9286
9287	* scripts/lostaltmail.in (Splice_in_resent_headers): ensure Y2K
9288	compliant format.  Patch from Paul Balyoz
9289	<pbalyoz@sedona.ch.intel.com>
9290
9291	* doc/am-utils.texi (Supported Platforms): hpux10.20 could have
9292	nfs v.3 support (with some vendor patches), but it is turned off.
9293
9294	* aux/macros/os_cflags.m4: use ansi compiler options on hpux.
9295
9296	* conf/nfs_prot/nfs_prot_hpux.h: Turn off NFS V.3 support to avoid
9297	confusing am-utils.  10.20 with some patches has incomplete
9298	support.  Patch from Jon Peatfield
9299	<J.S.Peatfield@damtp.cam.ac.uk>.
9300
93011999-03-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9302
9303	* minor port i386-pc-bsdi4.0.1
9304
93051999-03-20  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9306
9307	* doc/am-utils.texi (Supported Platforms): add forgotten listing
9308	for powerpc-linux.
9309
93101999-03-18  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9311
9312	* scripts/amd.conf.5: fix typo.  From Jeffrey C Honig
9313	<jch@BSDI.COM>.
9314
9315	* doc/am-utils.texi: document iso9660 options norrip, gens, and
9316	extatt.
9317	(opts Option): documented dumbtimr and noauto options.  From
9318	Jeffrey C Honig <jch@BSDI.COM>.
9319
9320	* include/am_compat.h: define default strings for options norrip,
9321	gens, and extatt.
9322
9323	* amd/ops_cdfs.c (mount_cdfs): support options norrip, gens, and
9324	extatt.
9325
9326	* aux/macros/mount_headers.m4: also include
9327	<isofs/cd9660/cd9660_mount.h> as needed.
9328
9329	* aux/configure.in: check for isofs mount options for bsdi4:
9330	norrip, gens, and extatt.  Reported by Jeffrey C Honig
9331	<jch@BSDI.COM>.
9332
9333	* aux/macros/check_mnt2_cdfs_opt.m4: check for ISOFSMNT_* flags
9334	(bsdi4).
9335
93361999-03-17  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9337
9338	* conf/nfs_prot/nfs_prot_freebsd3.h: ditto.
9339
9340	* conf/nfs_prot/nfs_prot_bsdi3.h: include <ufs/ufs/ufsmount.h>,
9341	for bsdi4, as per Jeffrey C Honig <jch@BSDI.COM>.
9342
93431999-03-15  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9344
9345	* get latest copies of config.guess, config.sub, ltconfig, and
9346	ltmain.sh from libtool-1.2f.
9347
9348	* all Makefile.am: don't use continuation lines (using \) for
9349	short lists of files.
9350
9351	* libamu/Makefile.am (DISTCLEANFILES): make distclean should
9352	remove mountutil.c, mtabutil.c, transputil.c, and umount_fs.c.
9353	Reported by Jeffrey C Honig <jch@BSDI.COM>.
9354
9355	* fixmount/Makefile.am (DISTCLEANFILES): make distclean should
9356	remove checkmount.c.  Reported by Jeffrey C Honig <jch@BSDI.COM>.
9357
9358	* Makefile.am (DISTCLEANFILES): make distclean should remove
9359	amu_nfs_prot.h, config.cache.old, and dbgcf.h.  Reported by
9360	Jeffrey C Honig <jch@BSDI.COM>.
9361
93621999-03-13  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9363
9364	* released snapshot am-utils-6.0.1s6
9365
93661999-03-12  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9367
9368	* INSTALL: document freebsdelf.
9369
9370	* doc/am-utils.texi (Supported Platforms): document freebsdelf.
9371
93721999-03-08  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9373
9374	* minor new ports: i386-unknown-freebsdelf3.1 and
9375	i386-unknown-freebsdelf4.0
9376
9377	* aux/macros/check_nfs_prot_headers.m4: freebsd4 support.
9378
9379	* aux/macros/check_nfs_socket_connection.m4: freebsd4 support.
9380
9381	* aux/macros/check_nfs_fh_dref.m4: freebsd4 support.
9382
9383	* amd/opts.c (eval_opts): changed log level of "executing
9384	negated..." message from USER to INFO, as per Guntram Wolski
9385	<gwolsk@sei.com>.
9386
93871999-02-17  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9388
9389	* */Makefile.am (LDADD): force linking against an installed
9390	libamu.{a,so}.
9391
9392	* doc/am-utils.texi (addopts Option): document remopts interaction
9393	with addopts.
9394
9395	* amd/am_ops.c (ops_match): if addopts are specified, apply them
9396	to the value of remopts as well as opts.
9397
9398	* amd/ops_nfs.c (mount_nfs_fh): tell users when remopts are used.
9399
94001999-02-05  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9401
9402	* released snapshot am-utils-6.0.1s5
9403
9404	* conf/mount/mount_linux.c (mount_linux): set default nfs_args
9405	options for ac{reg,dir}{min,man} as per the mount-2.8a package,
9406	but only if noac option was not used.
9407
94081999-02-05  Erez Zadok  <ezk@retro.cs.columbia.edu>
9409
9410	* conf/mount/mount_linux.c (mount_linux): print nfs_args again
9411	since it was updated.
9412	(mount_linux): use 4KB for NFS rsize/wsize on 2.1.0 linux kernels
9413	and newer.  Bug was found by Neil Conway
9414	<nconway.list@ukaea.org.uk>
9415
94161999-02-04  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9417
9418	* released snapshot am-utils-6.0.1s4
9419
94201999-02-03  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9421
9422	* amq/amq.c (main): don't list -M as a valid amq option unless
9423	configure'd with --enable-amq-mount.
9424
9425Wed Feb  3 18:11:18 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9426
9427	* amd/nfs_start.c (amd_use_autofs): Define.
9428	(mount_automounter): Create autofs service listener only if
9429	necessary to avoid unnecessary clashes with e.g. automountd.
9430
9431	* amd/amd.h (amd_use_autofs): Declare.
9432
9433	* amd/conf.c (gopt_mount_type): Set amd_use_autofs.
9434	(ropt_mount_type): Likewise.
9435
94361999-02-02  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9437
9438	* aux/macros/check_mnt2_nfs_opt.m4:: ditto
9439
9440	* aux/macros/check_mnt2_cdfs_opt.m4: ditto
9441
9442	* aux/macros/check_mnt2_gen_opt.m4: ditto
9443
9444	* aux/macros/check_mnttab_opt.m4: new macro in this file to loop
9445	over AC_CHECK_MNTTAB_OPT.  Reduces size of configure script a lot.
9446
9447	* conf/nfs_prot/nfs_prot_netbsd1_3.h: include nfs/rpcv2.h,
9448	nfs/nfs.h and nfs/nfsmount.h if they exist.  Patch from
9449	christos@zoulas.com (Christos Zoulas).
9450
9451	* amd/info_hesiod.c: some forward declarations.  Patch from
9452	christos@zoulas.com (Christos Zoulas).
9453
94541999-01-28  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9455
9456	* libamu/mount_fs.c (compute_nfs_args): don't turn on/off noconn
9457	option if it was already in that state.  Patch from David
9458	Wolfskill <dhw@whistle.com>.
9459
94601999-01-20  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9461
9462	* aux/configure.in: automake nowadays supports LTLIBOBJS (but not
9463	LTALLOCA yet).  Substitute value of LIBTOOL_DEPS for libtool
9464	rebuild make rules.
9465
9466	* Makefile.am: new rules to remake libtool (maintainers only)
9467
9468	* amd/amfs_toplvl.c (mount_amfs_toplvl): print generic mount flags
9469	if -D trace was used.
9470
94711999-01-18  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9472
9473	* buildall: all if statements should have an else clause because
9474	of Ultrix's /bin/sh.
9475
94761999-01-15  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9477
9478	* amq/amq.c: removed dummy variables.
9479
9480	* amq/pawd.c: removed dummy variable.s
9481
9482	* fixmount/fixmount.c (usage): removed dummy variables.
9483
9484	* fsinfo/fsinfo.c: removed dummy variables.
9485
9486	* hlfsd/hlfsd.c: removed dummy variables.
9487
9488	* wire-test/wire-test.c: removed dummy variables.
9489
9490	* mk-amd-map/mk-amd-map.c: removed dummy variables.
9491
9492	* doc/texinfo.tex: updates from GNU mirror.
9493
9494	* aux/GNUmakefile (../doc/texinfo.tex): new rule to update
9495	doc/texinfo.tex from GNU mirror.
9496
9497	* released snapshot am-utils-6.0.1s3
9498
9499	* Makefile.am (install-snapshot): better snapshot and new
9500	install-snapshot and test-snapshot rules (maintainer).
9501
9502	* amd/info_ldap.c (amu_ldap_init): don't run STREQ if one of the
9503	args may be NULL.
9504	Some dlog() entries were not enclosed in #ifdef DEBUG.  Fix from
9505	Bill Paul <wpaul@ctr.columbia.edu>
9506
95071999-01-13  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9508
9509	* check for experimental generic 'ignore' mount flag on freebsd3.
9510
9511	* Update library -version-info to 3:0:1 (will result in 2.1.0 .so
9512	version, which is backwards compatible with older versions.)  Only
9513	one new interface was added to libamu.
9514
9515	* amd/amfs_toplvl.c (mount_amfs_toplvl): add generic mount flags
9516	that are specific to automounter mounts.
9517
9518	* aux/configure.in: update libamu.so age and revision since a new
9519	interface was added to libamu/mount_fs.c
9520	(compute_automounter_mount_flags).
9521
9522	* libamu/mount_fs.c (compute_automounter_mount_flags): new
9523	function to compute generic mount flags that are specific to mount
9524	points only.
9525
9526	* aux/{configure.in,acconfig.h}: add support for generic mount
9527	entry ignore option.
9528
9529	* released snapshot am-utils-6.0.1s2
9530
9531	* amd/info_ldap.c (get_ldap_timestamp): dlog format fixes.
9532
9533	* libamu/mount_fs.c (print_nfs_args): solaris 2.7 changed format
9534	of knc_semantics from u_long to u_int.
9535
9536	* aux/macros/check_mount_style.m4: freebsd3 no longer needs a
9537	special mount helper.
9538
95391999-01-12  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9540
9541	* aux/macros/check_nfs_prot_headers.m4 (AMU_NFS_PROT_HEADERS):
9542	amu_nfs_conf.h should always be found in $top_builddir.
9543
9544Tue Jan 12 00:05:42 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9545
9546	* conf/nfs_prot/nfs_prot_sunos5_7.h (MNTTAB_TYPE_AUTOFS): Undefine
9547	to avoid wrong reports from show_fstypes.
9548
9549	* conf/nfs_prot/nfs_prot_irix5.h (MNTTAB_TYPE_XFS): Likewise.
9550
9551	* conf/nfs_prot/nfs_prot_hpux11.h (MNTTAB_TYPE_NFS3): Likewise.
9552
9553Tue Jan 12 00:05:42 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9554
9555	* BUGS (mips-dec-ultrix4.3): Update Ultrix caveats.
9556
9557Tue Jan 12 00:05:42 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9558
9559	* hlfsd/homedir.c (delay): Cast child to long, adapt format.
9560	(hlfsd_getpwent): Likewise for pw_uid.
9561
9562	* amd/info_nis.c (nis_init): Cast order to unsigned long, adapt
9563	format.
9564
9565	* conf/transp/transp_tli.c (amu_clnt_create_best_vers): Cast
9566	tv_sec to int to match format.
9567	(get_nfs_version): Cast nfs_version, NFS_VERSION to int to match
9568	formats.
9569
9570	* amd/amfs_program.c (amfs_program_exec): Cast ptr difference to
9571	long, adapt format.
9572
9573	* include/am_defs.h: Handle __attribute__ if available.  From
9574	GNU fileutils 4.0 lib/errors.h.
9575
9576Mon Jan 11 13:46:44 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9577
9578	* libamu/mount_fs.c (print_nfs_args): Cast sizeof() to int to
9579	match format.
9580
9581	* hlfsd/stubs.c (nfsproc_getattr_2_svc): Cast uid, gid to long,
9582	adapt format.
9583	(nfsproc_lookup_2_svc): Likewise.
9584	(nfsproc_readlink_2_svc): Likewise for userid, groupid.
9585
9586	* hlfsd/nfs_prot_svc.c (nfs_program_2): Cast args to int to match
9587	format.
9588
9589	* hlfsd/homedir.c (homedir): Cast uid, child to long, adapt
9590	format.
9591
9592	* amd/info_hesiod.c (hesiod_search): Cast m, pval, tp to unsigned
9593	long, adapt format.
9594
9595	* amd/ops_nfs.c (find_nfs_fhandle_cache): Cast fh_wchan to
9596	unsigned long, adapt format.
9597	(got_nfs_fh): Likewise.
9598	(prime_nfs_fhandle_cache): Cast fh_nfs_version to int to match
9599	format.
9600	(call_mountd): Likewise, mnt_version also.
9601	(mount_nfs_fh): Likewise.
9602
9603	* amd/ops_autofs.c (autofs_program_1): Cast args to int to match
9604	format.
9605	(autofs_unmount_1_svc): Cast ur->devid, ur_rdevid, ur->next to
9606	unsigned long, adapt formats.
9607	(autofs_bgmount): Cast opt_fs to unsigned to, adapt format.
9608	(autofs_bgmount): Use long format to match arg.
9609	(autofs_lookuppn): Removed superfluous arg.
9610
9611	* amd/srvr_nfs.c (start_ping): Cast nfs_version to int to match
9612	format.
9613	(got_portmap): Likewise for port.
9614	(recompute_portmap): Likewise for fs->fs_version, mnt_version.
9615	(find_nfs_srvr): Likewise for nfs_version.
9616
9617	* amd/sched.c (sched_task): Cast wchan to unsigned long, adapt
9618	format.
9619
9620	* amd/nfs_start.c (checkup): Cast ptr difference to long, next_mem
9621	to unsigned long, adapt format.
9622	Cast tvv.tv_sec to int to match format.
9623
9624	* amd/nfs_prot_svc.c (nfs_program_2): Cast args to int to match
9625	format.
9626
9627	* amd/map.c (root_fh): Cast pid to long, adapt format.
9628	(timeout_mp): Cast time_t to long, adapt format.
9629
9630	* amd/clock.c (reschedule_timeouts): Use long format, cast time_t
9631	arg.
9632
9633	* amd/amfs_host.c (fetch_fhandle): Cast nfs_version to int to
9634	match format.
9635	(amfs_host_fmount): Likewise.
9636	(amfs_host_umounted): Likewise.  Removed superfluous arg.
9637
9638	* amd/amfs_auto.c (amfs_auto_bgmount): Cast pointer to unsigned
9639	long, adapt format.
9640	(amfs_auto_bgmount): Use long format, cast time_t arg.
9641	(amfs_auto_lookuppn): Removed superfluous arg.
9642
9643	* amd/amd.c (main): Cast geteuid() result to long, adapt format.
9644
9645	* conf/transp/transp_sockets.c (get_nfs_version): Cast nfs_version
9646	to int to match format.
9647
9648	* include/am_utils.h: Declare plog, dplog as printf-like.
9649
9650	* conf/mount/mount_irix6.c (mount_irix): Print type as char *.
9651
9652Mon Jan 11 13:46:44 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9653
9654	* amd/info_hesiod.c (hesiod_isup): New function.
9655	* amd/mapc.c (maptypes): Add it.
9656
96571999-01-10  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9658
9659	* released snapshot am-utils-6.0.1s1
9660
96611999-01-09  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9662
9663	* ALL: bump copyright year to 1999.
9664
9665Fri Jan  8 15:24:15 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9666
9667	* aux/macros/check_mtype_type.m4: Ultrix uses an int mount type,
9668	too.
9669
9670	* aux/macros/check_mtype_printf_type.m4: Adapt corresponding
9671	printf type.
9672
9673Fri Jan  8 15:24:15 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9674
9675	* aux/acconfig.h: Removed HAVE_AM_FS_AUTOFS, unused.
9676
9677	* conf/nfs_prot/nfs_prot_irix6.h: Likewise.
9678
9679	* conf/nfs_prot/nfs_prot_sunos5_6.h: Likewise.
9680
9681	* conf/nfs_prot/nfs_prot_sunos5_7.h: Likewise.
9682
9683	* Makefile.am (EXTRA_DIST_DIRS): Removed, not needed by current
9684	automake.
9685
9686Thu Jan  7 02:55:18 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9687
9688	* aux/configure.in (AM_PROG_YACC): Replaced by AC_PROG_YACC, not
9689	in current automake.
9690
9691Thu Jan  7 02:55:18 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9692
9693	* doc/am-utils.texi: Added some missing inter-punctation after
9694	@xref, or use @pxref/@ref as appropriate.  Spotted by makeinfo
9695	from texinfo 3.12b.
9696
96971999-01-07  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9698
9699	* doc/texinfo.tex: updated off of latest GNU mirror.
9700
97011999-01-04  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9702
9703	* doc/am-utils.texi (Supported Platforms): update platforms that
9704	support NFS v.3.  Nicer postscript printing on double-sided pages.
9705
9706	* amd/info_hesiod.c: add extern definition for hesiod_init()
9707
97081999-01-01  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9709
9710	*******************************************************************
9711	*** Released am-utils-6.0					***
9712	*******************************************************************
9713
97141998-12-28  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9715
9716	* conf/nfs_prot/nfs_prot_sunos5_7.h: support ldap in solaris 2.7.
9717
97181998-12-27  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9719
9720	* conf/nfs_prot/nfs_prot_bsdi3.h: don't use reserved ports on
9721	bsdi4 for NFS V3/nfs mounts.
9722
97231998-12-26  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9724
9725	* using latest libtool (1.2e + patches), now supporting shared
9726	libraries on many more systems.  Also using latest autoconf and
9727	automake (unreleased GNU CVS'd versions.)
9728
9729	* minor new ports: hppa2.0w-hp-hpux11.00,
9730	i386-unknown-netbsd1.3.3, mips-sgi-irix6.5.
9731
9732	* fsinfo/fsinfo.h (yywrap): define it for systems (osf4) that
9733	have /usr/bin/flex but not libfl.
9734
97351998-12-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9736
9737	* lots of code cleanup, to make sure libamu.so does not use
9738	undefined symbols.  Some system's shared libraries cannot handle
9739	that.
9740
97411998-12-23  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9742
9743	* include/am_defs.h: only defined seteuid extern if function also
9744	exists and is not superceded by setresuid (hpux).
9745
9746	* amd/ops_autofs.c (autofs_bgmount, autofs_lookuppn): put explicit
9747	braces to avoid confusion with nested if-then-else clauses.
9748
9749	* aux/config.{sub,status}, aux/{ltmain.sh,ltconfig,mkinstalldirs:
9750	updated from latest versions.
9751
97521998-12-22  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9753
9754	* minor new port: i386-pc-bsdi4.0
9755
9756	* conf/nfs_prot/nfs_prot_bsdi3.h: add missing hesiod header
9757	definitions for bsdi4.
9758
9759	* {amd,fsinfo}/Makefile.am: force path to .y/.l files, because
9760	some make programs (bsdi4) do not support VPATH correctly.
9761
97621998-12-16  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9763
9764	* conf/mount/mount_aix.c: minor code cleanup
9765
9766	* aux/configure.in: check for extern definition to xdr_groups.
9767
97681998-12-15  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9769
9770	* minor new port: powerpc-ibm-aix4.3.1.0
9771
9772	* aux/macros/*.m4: updates for aix 4.3
9773
97741998-12-14  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9775
9776	* minor new port: i386-unknown-openbsd2.4
9777
9778	* aux/configure.in: don't check for xfs on openbsd because
9779	openbsd-2.4 introduces a new file system named xfs, but different
9780	than Irix's XFS.  Sigh.
9781
9782	* minor new port: i386-unknown-freebsd2.2.8
9783
97841998-12-03  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9785
9786	* amd/amfs_nfsl.c (amfs_nfsl_ffserver): use case insensitive host
9787	name match.  Bug fix from Douglas K. Rand" <rand@aero.und.edu>.
9788
97891998-11-20  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9790
9791	* scripts/ctl-amd.in: wait4amd2die runs in the stop action, to
9792	avoid race conditions when shutting down systems running amd.
9793
9794	* Makefile.am: add a dist-hook to change modes of the directories
9795	in the tar file so they are not world writable.
9796
9797	* conf/nfs_prot/nfs_prot_freebsd3.h: turned on NFSv3 support,
9798	since it is now finally defined in the header files and
9799	(hopefully) stable.
9800
9801	* amd/srvr_nfs.c (find_nfs_srvr): allow overriding if nfsv2 option
9802	is specified in mount options.  freebsd patches from David
9803	O'Brien.
9804
9805	* amq/amq.c (main), fixmount/fixmount.c (main), hlfsd/hlfsd.c
9806	(main), fsinfo/fsinfo.c (fsi_get_args), hlfsd/hlfsd.c (main),
9807	amd/get_args.c (get_args): posix: use -1 to check for return from
9808	getopt() (not EOF), as per posix.
9809
9810	* amd/amq_subr.c (xdr_amq_mount_tree_node): patches from "David
9811	O'Brien" <obrien@NUXI.com>, from the FreeBSD source tree.  Use
9812	real variable whose pointer is on the stack for decoding a long
9813	int.
9814
98151998-11-11  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9816
9817	* scripts/ctl-{amd,hlfsd}.in: include comments useful for redhat's
9818	chkconfig utility.
9819
98201998-11-10  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9821
9822	* released snapshot am-utils-6.0b2s3
9823
9824	* conf/transp/transp_sockets.c (create_nfs_service): remove C++
9825	style comments.
9826
98271998-11-04  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9828
9829	* released snapshot am-utils-6.0b2s2
9830
9831	* created CVS package
9832
9833	* amd/nfs_subr.c (nfsproc_lookup_2_svc): try to avoid a race
9834	condition between unmounting and re-mounting an entry, by
9835	increasing the ttl of a looked up entry before unmounting it.
9836	Patch from Mike Mitchell <mcm@unx.sas.com>.
9837
9838	* All files: spell comments and strings.
9839
98401998-11-03  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9841
9842	* aux/configure.in: look for yp_all in libnsl only if yp_all not
9843	already found elsewhere (in libc or other default libraries).
9844	This is so RedHat 5.1 systems could find yp functions in libnsl,
9845	but also so AIX 4.2.1 will NOT include libnsl, because the latter
9846	has broken nis functionality that also exists and works ok in libc.
9847
98481998-10-29  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9849
9850	* amd/amd.c (main): bug fix: swapped arguments to kill(2).  Fix
9851	from Danny Rathjens <dkr@cs.fiu.edu>.
9852
98531998-10-28  Erez Zadok  <ezk@spruce.mcl.cs.columbia.edu>
9854
9855	* released snapshot am-utils-6.0b2s1
9856
98571998-10-27  Erez Zadok  <ezk@spruce.mcl.cs.columbia.edu>
9858
9859	* aux/macros/*.m4: support bsdi4 as bsdi3.
9860
9861	* aux/macros/os_ldflags.m4: enable detection of LDAP on solaris
9862	2.7 (libraries located in /usr/lib/fn).  This is off until Sun
9863	includes LDAP header information.
9864
98651998-10-20  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9866
9867	*******************************************************************
9868	*** Released am-utils-6.0b1					***
9869	*******************************************************************
9870
98711998-10-18  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9872
9873	* mk-amd-map/mk-amd-map.c (main): use perror not strerror.
9874	(main): set return type to int if no ndbm maps.
9875
9876	* include/am_defs.h: avoid conflicts with <sys/mount.h> in 2.1
9877	kernels.
9878
98791998-10-18  Erez Zadok  <ezk@london.mcl.cs.columbia.edu>
9880
9881	* A.i386-unknown-netbsd1.3.2/amu_nfs_prot.h: trim down and cleanup
9882	for netbsd 1.3.2.
9883
98841998-10-17  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9885
9886	* aux/configure.in: check for yp_all in libnsl, b/c redhat 5.1
9887	systems put NIS functions there.
9888
9889	* mk-amd-map/mk-amd-map.c: patch from "David O'Brien"
9890	<obrien@NUXI.com> merged in.  Use POSIX -1 return code from
9891	getopt(), not EOF.  Use .db extentions for systems that use it,
9892	instead of .{pag,dir}.
9893
98941998-10-15  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9895
9896	* wire-test/wire-test.c, hlfsd/hlfsd.c, fixmount/fixmount.c,
9897	amd/amd.c (main): avoid overrunning hostname buffer.  Bug fix from
9898	"David O'Brien" <obrien@NUXI.com>.
9899
9900	* scripts/amd.conf.5: minor typo reported by "David O'Brien"
9901	<obrien@NUXI.com> in .TH section of man page.
9902
9903	* amd/info_nis.c (am_yp_all): don't leak key-val entries.  Patch
9904	from Thomas Richter <richter@chemie.fu-berlin.de>.
9905
99061998-10-12  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9907
9908	* doc/am-utils.texi (Program Filesystem): minor typo fixed as per
9909	Andreas Stolcke <stolcke@speech.sri.com>.
9910
9911	* minor new ports: sparc64-unknown-linux-gnu, i386-pc-solaris2.7,
9912	and sparc-sun-solaris2.7.
9913
9914	* conf/mount/mount_freebsd3.c (mount_freebsd3): freebsd 3.0 is now
9915	a 4.4lite kernel, and somethings were removed, such as
9916	INITMOUNTNAMES.
9917
9918	* amd/ops_autofs.c (autofs_lookuppn): don't leak memory while
9919	processing /defaults.  Free temporary opts.  Patch from
9920	dsr@mail.lns.cornell.edu (Daniel S. Riley)
9921
9922	* amd/amfs_auto.c (amfs_auto_lookuppn): don't leak memory while
9923	processing /defaults.  Free temporary opts.  Patch from
9924	dsr@mail.lns.cornell.edu (Daniel S. Riley)
9925
9926	* conf/mtab/mtab_osf.c (read_mtab): patch from
9927	 dsr@mail.lns.cornell.edu (Daniel S. Riley) not to access
9928	 uninitialized memory on Digital Unix.
9929
99301998-10-09  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9931
9932	* aux/macros/{check_mtype_type,check_mtype_printf_type}.m4: most
9933	systems now use "char *" as their mount type.
9934
99351998-10-08  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9936
9937	* amd/conf.c (gopt_map_type, ropt_map_type): check if map type
9938	exists.
9939
9940	* amd/mapc.c (mapc_type_exists): function to test if a map of
9941	certain type exists.
9942
99431998-10-08  Erez Zadok  <ezk@horatio.mcl.cs.columbia.edu>
9944
9945	* aux/macros/{mount_headers,try_compile_anyfs,try_compile_nfs}.m4,
9946	include/am_defs.h: Avoid a conflict in definitions of ntohl/htonl
9947	in RH-5.1 sparc64 between <netinet/in.h> and
9948	<linux/byteorder/generic.h> (2.1 kernels).
9949
99501998-09-28  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9951
9952	* aux/macros/func_bad_yp_all.m4 (ac_cv_func_yp_all_clean): RedHat
9953	5.1 systems with glibc glibc-2.0.7-19 or below leak a UDP socket
9954	from yp_all().
9955
99561998-09-25  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9957
9958	* conf/mount/mount_linux.c (parse_opts): check for pcfs support
9959	only if autoconfigured.
9960
99611998-09-18  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9962
9963	* Makefile.am (EXTRA_DIST): distribute README.yk2 file.
9964
9965	* README.y2k: explain y2k compliance status of am-utils.
9966
99671998-09-16  Erez Zadok  <ezk@iguana.mcl.cs.columbia.edu>
9968
9969	* amd/amfs_host.c (fetch_fhandle, amfs_host_fmount,
9970	amfs_host_umounted): clnt_sperrno() may return a const.
9971
9972Sat Aug  8 23:28:32 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9973
9974	* aux/configure.in: check for <nfs/nfsmount.h>, as per Christos
9975	Zoulas. Turned on checking for mount options: async, synchronous,
9976	deadthresh, leasterm, nqnfs, and readahead.
9977
9978	* amd/info_nis.c: patch from christos@zoulas.com (Christos Zoulas)
9979	to include prototype definition for nis_isup().
9980
9981Sun Jul 19 18:50:10 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9982
9983	* hlfsd/stubs.c (getcreds): force sscanf arg to u_long.
9984
9985Tue Jul 14 20:34:25 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9986
9987	* released snapshot am-utils-6.0a17s1
9988
9989Wed Jul  8 21:49:15 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9990
9991	* aux/macros/host_macros.m4: all x86 hosts should have $arch be
9992	i386, not i[456]86.
9993
9994Tue Jul  7 18:55:09 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9995
9996	* aux/macros/{mount_headers,try_compile_anyfs,try_compile_nfs}.m4,
9997	include/am_defs.h: include <linux/posix_types.h> before
9998	<linux/fs.h> because on redhat 5.1, there is a bug (misuse) of
9999	headers in <socketbits.h> (it defines _LINUX_TYPES_H instead of
10000	__KERNEL_STRICT_NAMES).
10001
10002	* aux/configure.in: check for <linux/posix_types.h> because it is
10003	need for RedHat 5.1.
10004
10005Wed Jun 17 00:05:33 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10006
10007	* scripts/Makefile.am (EXTRA_DIST): have fixrmtab generated from
10008	.in as well, so it doesn't get removed by make clean.
10009
10010Tue Jun 16 22:00:15 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10011
10012	* aux/macros/{check_fs_mntent.m4, check_mnttab_type.m4,
10013	check_mount_type.m4}: redhat 5.1 puts some modules in
10014	/lib/modules/preferred/.
10015
10016Wed May 13 16:33:57 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10017
10018	* amd/ops_autofs.c (mount_autofs): cast pid to long.
10019
10020Tue Apr 28 15:12:36 1998  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10021
10022	* conf/nfs_prot/nfs_prot/nfs_prot_irix6.h,
10023	conf/nfs_prot/nfs_prot_sunos5_6.h: Undef MNTTAB_TYPE_AUTOFS too to
10024	avoid amd/am_ops.c (show_fstypes) from erroneously claiming
10025	support.
10026
10027Fri Apr 24 23:02:11 1998  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10028
10029	* libamu/xutil.c (get_syslog_facility): Don't use LOG_DAEMON
10030	unconditionally, may be missing on Ultrix V4.3.
10031
10032Thu Apr 23 20:24:33 1998  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10033
10034	* conf/nfs_prot/nfs_prot_sunos5_4.h (MNTTYPE_CACHEFS): Define,
10035	missing from <sys/mntent.h>.
10036
10037	* conf/mtab/mtab_ultrix.c: Need separate inclusion of <sys/fs_types.h>
10038	without KERNEL defined here.
10039
10040	* aux/macros/mount_headers.m4: Need to include <ufs/ufs_mount.h>,
10041	<cdfs/cdfs_mount.h>, <cdfs/cdfsmount.h> so autoconfiguration of
10042	ufs_args_t, cdfs_args_t fields and cdfs mount options can succeed.
10043
10044	* amd/ops_ufs.c (mount_ufs): Removed obsolete comment.
10045
10046	* ChangeLog: Fixed confusing linebreaks from ChangeLog imports.
10047	Removed purely local (and obsolete) entry.
10048
10049Thu Apr 23 00:22:17 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10050
10051	*******************************************************************
10052	*** Released am-utils-6.0a16					***
10053	*******************************************************************
10054
10055Wed Apr 22 01:20:39 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10056
10057	* aux/macros/check_mount_style.m4: define freebsd3 mount style.
10058
10059	* aux/macros/check_mount_trap.m4: new mount trap for freebsd3.
10060
10061	* aux/macros/check_mtype_printf_type.m4,
10062	aux/macros/check_mtype_type.m4 (ac_cv_mtype_type,): freebsd3 (as
10063	of snapshot 3.0-980311-SNAP) uses char * types for mount(2), not
10064	integers, but I'll keep them as integers and do the mapping in
10065	conf/mount/mount_freebsd3.c
10066
10067	* minor new port to i386-pc-bsdi3.1.
10068
10069	* minor new port to i386-unknown-netbsd1.3.1.
10070
10071	* amd/opts.c: new option addopts:=ARG, which smartly merges ARG
10072	options with whatever the /default ones for a key are.  This
10073	allows adding or overriding /default options individual keys.
10074
10075	* amd/am_ops.c (ops_match): strdup/malloc string assigned to
10076	opt_opts because it'll get free()'d upon next use.
10077	(merge_opts): new function to merge two sets of options.
10078	(ops_match): if addopts option exist, append and merge it to the
10079	current default options.
10080
10081Tue Apr 21 12:54:59 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10082
10083	* wire-test/wire-test.c (main): use dynamically allocated returned
10084	string with list of interfaces.
10085
10086	* amd/get_args.c (get_version_string): allocate enough space for
10087	header version string and a list of network interfaces of any
10088	length.
10089
10090	* libamu/wire.c (print_wires): return dynamically allocated string
10091	containing list of networks.  Must be dynamic because some sites
10092	had potentially dozens of network interfaces.  Patch from Matthew
10093	Crosby <mcrosby@ms.com> slightly modified.
10094
10095Mon Apr 20 00:37:20 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10096
10097	* conf/nfs_prot/nfs_prot_irix5.h: underfine MNTTYPE_XFS because
10098	irix 5.3 does not have full header definitions for it.
10099
10100	* fsinfo/fsi_lex.l (yywrap): define yywrap if needed, and
10101	undefined it when not needed (similar to amd/conf_tok.l)
10102
10103	* hlfsd/hlfsd.h (ROOTID, SLINKID, INVALID): reduced maximum size
10104	of these to unsigned short (because uid_t on some linux systems is
10105	small).
10106
10107	* released snapshot am-utils-6.0a16s10
10108
10109	* doc/am-utils.texi (opts Option): documented resvport mount
10110	option.
10111
10112Sun Apr 19 18:17:03 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10113
10114	* doc/am-utils.texi (-D-Option): document behavior of -D info and
10115	especially what it does to hesiod (turn on RES_DEBUG).
10116
10117	* scripts/amd.conf.5: document info debugging option.
10118
10119	* libamu/xutil.c (dbg_opt): parse info debugging option.
10120
10121	* include/am_utils.h (D_INFO): define new trace option.
10122
10123	* Makefile.am (EXTRA_DIST): include list of official mirrors in
10124	distribution.
10125
10126	* libamu/wire.c (SIZE): in the simple case, just compute
10127	sizeof(struct ifreq).
10128
10129Sun Apr 19 16:30:35 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
10130
10131	* amd/amd.c (daemon_mode): set a temporary secure umask(0022)
10132	before writing log file and restore it afterwards.  Patch from
10133	Donald Buczek <buczek@MPIMG-Berlin-Dahlem.MPG.DE>.
10134
10135	* amd/get_args.c (get_args):
10136
10137	* doc/am-utils.texi (-F Option), amd/amd.8: mention that amd.conf
10138	file specified by -F is always processed last.
10139
10140	* amd/amd.c (daemon_mode): do not fclose(stdout) so that the fd
10141	won't be reused.  Allows startup script to redirect stdout.  Patch
10142	from Donald Buczek <buczek@MPIMG-Berlin-Dahlem.MPG.DE>.
10143
10144	* libamu/xutil.c (switch_to_logfile): compare logfile name and
10145	syslog string with correct length.  Patch from Donald Buczek
10146	<buczek@MPIMG-Berlin-Dahlem.MPG.DE>.
10147
10148	* amd/restart.c (restart): correctly inherit existing NFS V.3
10149	mounts upon restart.  Patch from Donald Buczek
10150	<buczek@MPIMG-Berlin-Dahlem.MPG.DE>.
10151
10152Sat Apr 18 19:01:19 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
10153
10154	* using libtool 1.2 and automake 1.3 (with my patches).
10155
10156	* aux/macros/opt_am_cflags.m4, */Makefile.in: rename AM_CFLAGS to
10157	AMU_CFLAGS to avoid conflicts with automake-1.3.
10158
10159Sun Apr  5 23:09:08 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10160
10161	* converted to using libtool-1.2.
10162
10163Tue Mar 10 16:52:09 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10164
10165	* fsinfo/fsi_analyze.c (fixup_required_mount_info): replaced silly
10166	for loop (ITER) which used to run only to initialize the variable
10167	dd once and then break; with a simple assignment.
10168
10169	* hlfsd/hlfsd.h: cleanup so it compiles with Solaris
10170	/opt/SUNWspro/bin/cc, and use gid_t not int.
10171
10172	* amd/mapc.c (mapc_sync): don't dereference pointer (so it
10173	compiles with Solaris /opt/SUNWspro/bin/cc)
10174
10175Sun Mar  8 15:54:22 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10176
10177	* aux/config.{guess,sub}: used from gcc-2.8.1.
10178
10179Sat Mar  7 15:33:27 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10180
10181	* released snapshot am-utils-6.0a16s9
10182
10183	* INSTALL, doc/am-utils.texi (Supported Platforms): updated names
10184	based on new output of new config.guess.
10185
10186	* aux/config.{sub,guess}: used newer versions from gcc-2.8.0.
10187
10188	* amd/amd.8,doc/am-utils.texi: document correct usage of default
10189	/etc/amd.conf file.
10190
10191	* fixmount/fixmount.c (inetresport,privsock): use some more
10192	portable code from amq/amq.c.
10193
10194	* amd/get_args.c (get_args): use default /etc/amd.conf file only
10195	if no arguments had been passed to amd.
10196
10197	* fixmount/fixmount.c (clnt_create_timeout): use tli/socket code
10198	ala amq/amq.c so that fixmount will work on both types of systems.
10199
10200	* amq/amq.c (main): do no close tcp socket before running udp try,
10201	because we're not sure if it was opened at all.
10202
10203	* mips-dec-ultrix* port merged in and cleaned up.
10204
10205	* aux/configure.in: up minor shared library revision number, since
10206	it has changed enough.
10207
10208	* hlfsd/hlfsd.c (main): don't check for overlay mount option here,
10209	as it is now done in compute_nfs_args().  Remove ultrix specific
10210	code also because it was moved to compute_nfs_args().
10211
10212	* conf/mount/mount_svr4.c: removed DEBUG_MOUNT_SVR4 code, now that
10213	we have more generic code in print_nfs_args().
10214
10215	* libamu/mount_fs.c (print_nfs_args): print maxlen of
10216	nfs_args.addr, and also syncaddr (which is mostly NULL).  Print
10217	struct knetconfig from nfs_args->knconf.
10218
10219	* aux/macros/mount_headers.m4 (define): do not check for ufs/cdfs
10220	headers here, but in try_compile_anyfs.m4.
10221
10222	* aux/macros/type_ufs_args.m4: move test for struct ufs_specific
10223	(for ultrix) here from its own macro.
10224
10225	* aux/macros/type_cdfs_args.m4: move test for struct iso_specific
10226	(for ultrix) here from its own macro.
10227
10228	* amd/ops_nfs.c (mount_nfs_fh): no need to run code again checking
10229	for overlay mount option.  Remove code which checks for overlay
10230	option, as it is now done in compute_nfs_args().
10231
10232	* libamu/mount_fs.c (compute_mount_flags): move here code which
10233	checks for overlay mount option which was in amd/amfs_toplvl.c:
10234	mount_amfs_toplvl().
10235
10236Wed Feb  7 15:35:51 1998  Rainer Orth  <ro@xayide.TechFak.Uni-Bielefeld.DE>
10237
10238	* The following are Rainer's ChangeLog entries for his ultrix
10239	port, added manually. -Erez.
10240
10241	* merged Ultrix port with am-utils 6.0 a16s5: amd/ops_afs.c
10242	(mount_toplvl) -> amd/amfs_toplvl.c (mount_amfs_toplvl)
10243
10244	* include/am_defs.h: include cdfs specific mount headers
10245	avoid duplication definition of gt_names[] in <sys/fs_types.h> (Ultrix)
10246
10247	* include/am_compat.h: define several mount options corresponding
10248	to mount flags: pgthresh, hard (nfs), defperm, nodefperm,
10249	noversion, rrip (cdfs), nocache, quota, sync (generic) removed
10250	duplicate MNTTAB_OPT_RO definition
10251
10252	* aux/macros/try_compile_anyfs.m4: include Ultrix specific
10253	ufs/cdfs mount headers
10254
10255	* aux/macros/mount_headers.m4: include several Ultrix/Digital UNIX
10256	specific mount headers
10257
10258	* aux/macros/check_{fs_mntent, mount_type}.m4: check for GT_*
10259	mount types in mount headers (Ultrix)
10260
10261	* aux/configure.in: Ultrix/Digital UNIX specific checks: new
10262	headers, mount structures and fields, filesystem and mount types,
10263	mount flags
10264
10265	* aux/acconfig.h: placeholders for new mount options: quota
10266	(generic), ro (nfs), defperm, nodefperm, noversion, rrip (cdfs)
10267	cdfs, nfs, ufs mount structure fields new ufs, cdfs mount
10268	structures
10269
10270	* amd/ops_ufs.c (mount_ufs): Ultrix stores generic mount flags in
10271	ufs_args.ufs_flags and has ufs specific pgthresh option
10272
10273	* amd/ops_cdfs.c (mount_cdfs): handle Ultrix/Digital UNIX specific
10274	CDFS mount flags and options
10275
10276	* amd/ops_afs.c (mount_toplvl), amd/ops_nfs.c (mount_nfs_fh),
10277	hlfsd/hlfsd.c (main): store generic mount flags in
10278	nfs_args.gfs_flags, handle separate NFS ro flag
10279
10280	* aux/macros/{check_mnt2_cdfs_opt, struct_iso_specific,
10281	struct_ufs_specific}.m4: new files; check for Ultrix specific
10282	mount structures
10283
10284	* conf/trap/trap_ultrix.h: arg 3 to mount(2) is rwflag
10285
10286	* aux/macros/type_auth_create_gidlist.m4 (ultrix*):
10287	AUTH_CREATE_GIDLIST_TYPE is int (not short == gid_t) from a
10288	comment in <rpc/auth.h>
10289
10290	* include/am_defs.h: #define KERNEL to avoid definition of
10291	gt_names[] conf/mtab/mtab_ultrix.c: #include <sys/fs_types> before
10292	<config.h> to force single definition here
10293
10294	* libamu/mount_fs.c (compute_nfs_args): Ultrix support for
10295	nfs_args.gfs_flags moved to callers store mount options in
10296	nap->optstr
10297
10298	* include/am_defs.h: fix _am_mntent mnt_{type, opts} field
10299	descriptions
10300
10301	* aux/macros/mount_headers.m4, aux/macros/try_compile_nfs.m4:
10302	include <rpc/rpc.h> before AMU_NFS_PROTOCOL_HEADER for svc_req
10303	definition in prototypes
10304
10305	* aux/macros/mount_headers.m4: include <sys/errno.h> before
10306	AMU_NFS_PROTOCOL_HEADER: <nfs/nfs.h> needs it for NFSERR_*
10307	definitions
10308
10309	* conf/nfs_prot/nfs_prot_ultrix.h: new file
10310
10311	* aux/macros/check_nfs_prot_headers.m4: use nfs_prot_ultrix.h
10312
10313	* aux/macros/mount_headers.m4, aux/macros/try_compile_nfs.m4,
10314	aux/macros/try_compile_rpc.m4, include/am_defs.h: avoid multiple
10315	inclusion of <rpc/xdr.h>
10316
10317Sat Mar  7 13:56:05 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10318
10319	* aux/configure.in: save state of config.cache and confdefs.h
10320	(as dbgcf.h) at various points of the configure.
10321
10322	* aux/macros/save_state.m4: new macro to save state of configure,
10323	esp. useful in long ones.  Saves confdefs.h and write $ac_cv_*
10324	cache variables that are known so far.
10325
10326	* released snapshot am-utils-6.0a16s8
10327
103281998-03-06  Erez Zadok  <ezk@mercer.psl.cs.columbia.edu>
10329
10330	* fsinfo/fsi_lex.l,amd/conf_tok.l: define ECHO after undefining
10331	it, but only for flex.
10332
10333Fri Mar  6 17:23:17 1998  Erez Zadok  <ezk@chestnut.mcl.cs.columbia.edu>
10334
10335	* hlfsd/homedir.c (plt_print): change pathname of hlfsd dump file
10336	to /usr/tmp/hlfsd.dump.XXXXXX, and use a safe method (if possible)
10337	to write the dump file.
10338
10339	* doc/am-utils.texi,amd/opts.c: rename all references to nomadic
10340	functions to boolean functions, which is what they really are.
10341
10342	* aux/configure.in: don't look for strcasecmp in libucb at all,
10343	but rather complete it from libamu/strcasecmp.c as needed.
10344
10345Fri Mar  6 03:29:20 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10346
10347	* conf/nfs_prot/nfs_prot_osf4.h: avoid conflicts with Irix's EFS.
10348
10349	* libamu/wire.c (getwire): fix for 0.0.0.0 loopback on SunOS 3.X
10350	which defines IFF_ROUTE instead of IFF_LOOPBACK.  Patch from Tom
10351	Schmidt <tschmidt@micron.com>.
10352
10353	* released snapshot am-utils-6.0a16s7
10354
10355	* conf/nfs_prot/nfs_prot_hpux11.h: a first working port of amd to
10356	hppa1.0-hp-hpux11.00.tgz.
10357
10358Thu Mar  5 21:59:03 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10359
10360	* converted all sources to use mntent field names, and map mnttab
10361	field names to mntent's.
10362
10363	* include/am_defs.h (mnt_special): map struct mnttab field names
10364	to struct mntent field names.
10365
10366	* aux/macros/check_mount_trap.m4: hpux11's mount trap style is
10367	identical to svr4/solaris2.
10368
10369	* aux/macros/check_mount_style.m4: hpux11's mount style is
10370	identical to svr4/solaris2.
10371
10372	* aux/macros/check_network_transport_type.m4: hpux11 is a TLI
10373	system!
10374
10375	* aux/macros/check_nfs_sa_dref.m4: hpux11's NFS host address
10376	dereferencing style is same as svr4.
10377
10378	* aux/macros/check_nfs_fh_dref.m4: hpux11's NFS file fh
10379	dereferencing style is same as svr4.
10380
10381	* conf/transp/transp_tli.c (create_nfs_service): if failed to
10382	getnetconfigent() of ticlts, then try udp (hpux11).
10383
10384	* conf/nfs_prot/nfs_prot_hpux11.h: added correct definitions for
10385	struct nfs_args, nfs_fh, and NFSMNT_* flags, taken from solaris
10386	2.5.1 (HP used them).
10387
10388	* amd/rpc_fwd.c (fwd_init): don't use O_NDELAY for t_open()
10389	because hpux11 doesn't like it. if t_open failed, print error
10390	based on t_errlist, not sys_errlist.
10391
10392Wed Mar  4 22:01:55 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10393
10394	* doc/am-utils.texi: lots of documentation fixes from Rainer Orth
10395	<ro@TechFak.Uni-Bielefeld.DE>.
10396
10397Sat Feb 28 22:16:35 1998  Erez Zadok  <ezk@kosh.cs.columbia.edu>
10398
10399	* fsinfo/fsi_lex.l: undefine ECHO again, so it doesn't get used
10400	later.
10401
10402	* include/am_defs.h: defined the extern for ualarm() if it isn't
10403	found, regardless if the function isn't found in standard
10404	libraries, because otherwise libamu will include it.
10405
104061998-02-28  Erez Zadok (per Ron Snyder)  <ezk@short.cvo.roguewave.com>
10407
10408	* initial port to hpux-11 completed.  Compiles cleanly, but
10409	probably does not work, because of missing NFS V.2/3 headers.
10410
10411	* amd/conf_tok.l: cast yytext to char* when passed to strlen and
10412	strdup, for hpux-11's ansi-cc compiler.
10413
10414	* include/am_utils.h: renamed all xfree() to XFREE() to avoid
10415	conflict with hpux-11's system headers.  Also move (voidp) cast
10416	from sources to inside the macro itself.
10417
10418Sat Feb 28 13:44:21 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10419
10420	* released snapshot am-utils-6.0a16s6
10421
10422	* amd/info_nis.c (nis_isup): new function to test if NIS is up
10423	without hanging amd.  Used to ensure that amd does not clear the
10424	maps when the expiration period arrived, if the service is down.
10425	Otherwise it would be left with empty maps.  It is better to stay
10426	with possibly old information than none at all.
10427
10428	* amd/mapc.c (mapc_sync): check to see if map service is up.
10429
10430Tue Feb 24 02:19:42 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10431
10432	* aux/macros/check_lib2.m4 (AC_CHECK_LIB2): fix macro so it
10433	includes auxiliary library only if needed.
10434
104351998-02-22  Erez Zadok  <ezk@mercer.psl.cs.columbia.edu>
10436
10437	* amd/conf_tok.l: undefine ECHO again, so it doesn't get used
10438	later.
10439
10440Sun Feb 22 01:41:08 1998  Erez Zadok  <ezk@zen.cs.columbia.edu>
10441
10442	* conf/nfs_prot/nfs_prot_osf2.h: port to alpha-dec-osf2.1
10443	completed.
10444
10445	* conf/mtab/mtab_osf.c (mnt_dup): not all OSF have NFS3.
10446
10447Sat Feb 21 19:45:48 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10448
10449	* doc/am-utils.texi (Network Host Filesystem): correct example for
10450	type:=host map.
10451
10452	* aux/macros/os_cflags.m4: only osf4 should compile with
10453	-D_SOCKADDR_LEN.
10454
10455	* aux/macros/check_nfs_prot_headers.m4: distinguish between OSF2
10456	and OSF4.
10457
10458	* BUGS: include a new file listing known bugs.
10459
10460Sat Feb 21 03:50:48 1998  Erez Zadok  <ezk@mercer.psl.cs.columbia.edu>
10461
10462	* conf/nfs_prot/nfs_prot_linux.h: turn DES off on all linux
10463	versions.
10464
10465	* aux/macros/type_recvfrom_fromlen.m4: linux alpha should use
10466	size_t for recvfrom fromlen arg.
10467
10468Sat Feb 21 03:33:59 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10469
10470	* scripts/ctl-hlfsd.in: turn -D fork so primary process never
10471	hangs.
10472
10473Sat Feb 21 02:45:51 1998  Erez Zadok  <ezk@mercer.psl.cs.columbia.edu>
10474
10475	* include/am_defs.h: don't include <sys/stat.h> and
10476	<linux/stat.h>, just remaining definitions in <statbuf.h>
10477
10478Thu Jan 29 00:44:28 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10479
10480	* released snapshot am-utils-6.0a16s5
10481
10482	* conf/mount/mount_irix6.c (mount_irix): pass {u,e,x}fs_args to
10483	mount(2).
10484
10485	* check for <sys/fs/xfs_clnt.h> and include it when needed.
10486
10487	* conf/mount/{mount_irix5.c,mount_irix6.c} (mount_irix): recognize
10488	efs and xfs separately from "ufs".
10489
10490	* amd/{ops_xfs.c,ops_efs.c}: new support for irix xfs/efs.
10491
10492	* aux/configure.in: look for irix efs and xfs file systems.
10493
10494	* scripts/amd.conf.5: new unmount_on_exit option documented.
10495
10496	* doc/am-utils.texi (unmount_on_exit): new option documented.
10497
10498	* amd/conf.c (gopt_unmount_on_exit): new function to handle new
10499	amd.conf option.
10500
10501	* amd/map.c (umount_exported): if global amd.conf flag
10502	unmount_on_exit is on, then try to unmount all mounted (or
10503	restartable) file systems.
10504
10505	* amd/amd.c: if print_pid option is on, then normally print it to
10506	stdout.  If also pid_file is specified, then print the process ID
10507	into that file.
10508
10509	* amd/get_args.c (get_args): print correct -l option depending if
10510	system supports syslog and/or syslog facilities.  Patch from
10511	Tom Schmidt <tschmidt@micron.com>.
10512
10513	* doc/am-utils.texi (opts Option): updates for documentation for
10514	new cdfs options defperm, nodefperm, noversion, rrip.
10515
10516	* amd/ops_cdfs.c (mount_cdfs): support cdfs options defperm,
10517	nodefperm, noversion, rrip.
10518
10519	* conf/nfs_prot/nfs_prot_osf.h: need to look at <cdfs/cdfsmount.h>
10520	on osf.
10521
10522	* aux/macros/{expand_cpp_hex.m4, expand_cpp_int.m4,
10523	expand_cpp_string.m4}: use #error to make failed compilations
10524	fail faster, rather than have the program fail during a run.
10525
10526	* include/am_compat.h: added a few new cdfs options: rrip,
10527	noversion, defperm, and nodefperm (used in OSF).
10528
10529Wed Jan 28 20:24:09 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
10530
10531	* released snapshot am-utils-6.0a16s4
10532
10533	* doc/am-utils.texi (Global Parameters): update manual for new
10534	amd.conf global variable hesiod_base.
10535
10536	* scripts/amd.conf.5: update man page for new amd.conf global
10537	variable hesiod_base.
10538
10539	* amd/get_args.c (get_args): use /etc/amd.conf file if exists by
10540	default, else try command line options.  Patch from Randall
10541	S. Winchester <rsw@Glue.umd.edu>.
10542
10543Wed Jan 28 12:20:56 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10544
10545	* amd/info_hesiod.c (hesiod_search), amd/conf.c
10546	(gopt_hesiod_base), amd/amd.h, amd/amd.c (init_global_options):
10547	included patch from Randall S. Winchester <rsw@Glue.umd.edu>, to
10548	support a hesiod base name in the amd.conf file.
10549
10550	* doc/am-utils.texi (pid_file Parameter): document new global
10551	amd.conf parameter.
10552
10553	* scripts/amd.conf.5: document new global option pid_file.
10554
10555	* amd/amd.c (daemon_mode): if cannot open pid_file, continue to
10556	run, but print error message.
10557
10558	* amd/conf.c (gopt_pid_file), amd/amd.h, amd/amd.c (daemon_mode,
10559	init_global_options): Included patch from Randall S. Winchester
10560	<rsw@Glue.umd.edu>, to support pid files in the amd.conf file.
10561
10562	* amd/get_args.c (get_args): correct usage info on amd -t.
10563
10564	* amd/*.c: massive file name and symbol name changes.  All amd
10565	file systems files and symbols are prefix with amfs_*.  Now using
10566	real name of file system: amfs_auto instead of afs, amfs_inherit
10567	instead of ifs, amfs_linkx instead of sfsx, etc.  This will enable
10568	clear distinction between amd file system and generic ones like
10569	nfs/ufs/pcfs/hsfs.  Also, now we can implement true afs (Andrew
10570	f/s) and DFS (Distributed f/s).
10571
10572	* amd/amfs_union.c: unionfs for amd is always defined, no need to
10573	#ifdef it.
10574
10575Mon Jan 26 16:51:38 1998  Erez Zadok  <ezk@chestnut.mcl.cs.columbia.edu>
10576
10577	* libamu/mount_fs.c (compute_nfs_args): set 'noconn' NFS option on
10578	or off, based on the particular quirks of the OS in question.
10579
10580	* aux/macros/check_nfs_socket_connection.m4: new macro to set the
10581	correct wait of handling un/connected NFS sockets.
10582
10583	* scripts/wait4amd.in: use rlogin instead of rsh.
10584
10585	* amd/am_ops.c (ops_showfstypes): when showing F/S types in amd
10586	-v, always show "nfs3" for NFS V.3.
10587
105881998-01-25  Erez Zadok  <ezk@snoopy.cs.columbia.edu>
10589
10590	* lots of small fixes for solaris 2.6, since gcc 2.8.0 -Wall gets
10591	more picky than 2.7.2.3 did.
10592
105931998-01-24  Erez Zadok  <ezk@snoopy.cs.columbia.edu>
10594
10595	* include/am_utils.h (dlog): amuDebug macros reduced to shorter
10596	forms.
10597
10598Fri Jan 23 18:38:30 1998  Erez Zadok  <ezk@goat.mcl.cs.columbia.edu>
10599
10600	* released snapshot am-utils-6.0a16s3
10601
10602	* include/am_defs.h: on Solaris 2.6, <sys/varargs.h> is included
10603	in <sys/fs/autofs.h> but since stdargs.h is used, and varargs.h
10604	must not, fake a definition for varargs.
10605
10606Fri Jan 16 10:16:40 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10607
10608	* README: show how to configure in additional support such as
10609	hesiod using various --enable-* flags.
10610
10611Wed Jan 14 15:13:02 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10612
10613	* aux/configure.in: look for strcasecmp(), and replace it if not
10614	available.
10615
10616	* amd/ops_nfsl.c (nfsl_match): host names should be compared using
10617	case insensitive.
10618
10619	* amd/opts.c: for each map variable, define if the comparison
10620	needs to be done case insensitive.
10621
10622	* include/am_utils.h (STRCEQ): a new macro to use strcasecmp().
10623	Patch from Thomas Richter <richter@chemie.fu-berlin.de>
10624
106251998-01-14  Erez Zadok  <ezk@irt.cs.columbia.edu>
10626
10627	* aux/configure.in: look for "isofs" as a possible mount type for
10628	cdfs (RedHat Linux).
10629
10630Wed Jan 14 02:07:05 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10631
10632	* conf/mount/mount_linux.c (parse_opts): don't look for cdfs mount
10633	type if not defined.
10634
10635	* conf/nfs_prot/nfs_prot_linux.h: don't define __FD_* macros if
10636	already defined.
10637
10638	* aux/configure.in: look for ext2fs before ufs, b/c some linux
10639	have both.
10640
10641Mon Jan 12 15:43:20 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10642
10643	* Makefile.am (snapshot): allow me to install snapshots into the
10644	ftp directory.
10645
10646	* scripts/ctl-hlfsd.in: don't turn on -D mem by default.
10647
10648	* amd/get_args.c (get_args): minor bug in output of amd -H.
10649
10650Mon Jan 12 03:05:06 1998  Erez Zadok  <ezk@chestnut.mcl.cs.columbia.edu>
10651
10652	*******************************************************************
10653	*** Released am-utils-6.0a15					***
10654	*******************************************************************
10655
10656Sun Jan 11 15:06:34 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10657
10658	* amd/conf.c (*_browsable_dirs): allow specifying
10659	browsable_dirs=full, which will print *all* entries (other than
10660	/default), including  those with '*' and '/' characters.
10661
10662	* amd/info_file.c (MAX_LINE_LEN): up maximum readdir chain length
10663	to 1500.
10664
10665	* doc/am-utils.texi: fixed reversed documentation for NFS mount
10666	options vers and proto.
10667
10668	* doc/Makefile.am (install-html): separate target just for
10669	installing html files.  Another new target "alldocs" is just for
10670	installing all files needed for the am-utils home page.
10671
10672	* scripts/amd.conf-sample: updated example for log_file.
10673
10674	* scripts/amd.conf.5: updated for new way to declare new syslog
10675	facility in the log_file option.
10676
10677	* amd/amd.8: updated for new way to declare new syslog facility in
10678	the -l option.
10679
10680	* libamu/xutil.c (get_syslog_facility): allow users to specify the
10681	syslog facility as an appended string to the log device.  Ex. amd
10682	-l syslog:local7 will use LOG_LOCAL7, while the older -l syslog
10683	will use the default LOG_DAEMON facility.
10684
10685	* amd/get_args.c (get_args): updated new syntax for amd -l
10686	syslog:facility.
10687
10688Thu Jan  8 04:05:10 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10689
10690	* aux/macros/host_macros.m4: don't confuse sun3 (sparc) with sun3
10691	(intel).
10692
10693	* libamu/wire.c (print_wires): bug fix.  Nullify output buffer
10694	before appending to it, on systems with two or more network
10695	interfaces.
10696
10697	* conf/nfs_prot/nfs_prot_sunos5_3.h: add missing definition for
10698	the mntent for cachefs.
10699
10700	* include/am_defs.h: external definition for strstr() should use
10701	const for both arguments.
10702
10703	* aux/configure.in: add extern definitions for getwd() if missing.
10704
10705	* include/am_defs.h: define the extern for strdup() even if the
10706	function does not exist, for it will be filled in by
10707	libamu/strdup.c
10708
10709	* amq/pawd.c (cluster_server): don't use getccent() if the extern
10710	for it isn't there.  On hpux 10.20, the function is in libc, but
10711	<cluster.h> and struct cct_entry do not exist.
10712
10713	* aux/configure.in: check for an extern for getccent() b/c some
10714	hpux systems don't have it (hpux 10.20).
10715
10716Wed Jan  7 00:09:19 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
10717
10718	* doc/am-utils.texi (Amq -T option): manual documentation updates
10719	for new amq options -T/-U.
10720
10721	* amq/amq.8: updated man page for new amq options -T/-U.
10722
10723	* amq/amq.c: two new switches to amq. -U will contact amd using
10724	UDP only.  -T will use TCP only.  Normally amq will try TCP and
10725	if that failed, will try UDP.
10726
10727	* doc/am-utils.texi (pawd): manual documentation for pawd.
10728
10729	* amq/pawd.1: new man page for pawd.
10730
10731Tue Jan  6 04:21:59 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
10732
10733	* amq/pawd.c: a new program, Print Automounter Working Directory,
10734	to print the proper pathname of the cwd or any other pathname,
10735	adjusted for automounter paths, while avoiding mount points.
10736
10737	* aux/macros/localconfig.m4: trivial support for am-utils
10738	maintainers to adjust some of the configuration of am-utils after
10739	it has been auto-configured by putting whatever definitions you
10740	wish in a file called localconfig.h, located in the top build
10741	directory (the same one where config.h is created for you).
10742
10743	* doc/am-utils.texi (Caching Filesystem): updated documents for
10744	cachefs file system.
10745
10746	* amd/ops_cachefs.c: initial cachefs support, for solaris.
10747	type:=cachefs, requires cachedir:=/cache/dir/name to be defined
10748	and initialized with cfsadmin -c.  $rfs is backdir to be cached
10749	from, and $fs is the local mount point of the cachefs.
10750
10751	* conf/mount/mount_svr4.c (mount_svr4): support mounting of
10752	cachefs file systems.
10753
10754	* amd/ops_cdfs.c: cdfs should be named 'cdfs', not whatever the
10755	mnttab type is.
10756
10757Mon Jan  5 23:22:49 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
10758
10759	* amd/opts.c: added support for new variable $cachedir.
10760
10761	* include/am_utils.h: added opt_cachedir field to struct am_opts.
10762
10763Sat Jan  3 01:43:57 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
10764
10765	* amd/ops_nfsl.c (nfsl_ffserver, nfsl_match): also check if the
10766	local hostname does not match $rhost, and if so, also assume
10767	type:=nfs.
10768
10769Fri Jan  2 01:00:40 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
10770
10771	* updated all source files to add 1998 as a copyright year.
10772
10773	* amd/ops_nfsl.c: new amd meta file system "type:=nfsl".  Behaves
10774	like type:=linkx if the pathname denoted by $fs exists, and like
10775	type:=nfs if it does not.  A convenient shortcut for the most
10776	popular amd map entry.
10777
10778	* amd/amd.c (main): amd should chdir to / before starting, to
10779	avoid hanging on other NFS server if started elsewhere.
10780
10781	* amd/ops_TEMPLATE.c: added an empty template file for developers
10782	who wish to write new amd pseudo file systems.
10783
10784Thu Jan  1 00:27:28 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10785
10786	* hlfsd/homedir.c (plt_init): make function exported, to save on
10787	the unnecessary init_homedir() function which was removed.
10788	(table_add): don't use xmalloc() when you can use strdup()
10789	instead.
10790
10791Thu Jan  1 00:15:58 1998  Erez Zadok  <ezk@chestnut.mcl.cs.columbia.edu>
10792
10793	* hlfsd/homedir.c (hlfsd_endpwent): Don't actually run this
10794	because we will be making more passwd calls afterwards.  On
10795	Solaris 2.5.1, making getpwent() calls after calling endpwent()
10796	results in a memory leak! (and no, even Purify didn't detect
10797	it...)
10798
10799Tue Dec 23 18:23:47 1997  Erez Zadok  <ezk@chestnut.mcl.cs.columbia.edu>
10800
10801	* hlfsd/hlfsd.c (main): Bug fix.  Don't try to free() an
10802	automatically allocated address.
10803
10804	* amd/ops_afs.c (mount_toplvl): Bug fix.  Don't try to free() an
10805	automatically allocated address.
10806
10807	* ALL SOURCES: change every direct call to free() to xfree(), so
10808	it can be mapped to the right debugging function as needed.
10809
10810	* include/am_utils.h: new free() policy.  If debugging memory,
10811	call dxfree(), which will print the file name and line number
10812	where the free occurred and the pointer address.  if only regular
10813	debugging, then free() and reset  the pointer to NULL so it cannot
10814	be used afterwards inadvertently.  If not DEBUG at all, then just
10815	run free().  Three different #define macros set the right mapping.
10816
10817	* libamu/xutil.c (dxfree): renamed function to dxfree(), so it can
10818	be called only when debugging the memory.
10819
10820Tue Dec 23 04:24:28 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10821
10822	* wire-test/wire-test.c (main): use xmalloc() not malloc().
10823
10824	* conf/transp/transp_tli.c (get_knetconfig): use xzalloc() not
10825	calloc().
10826
10827	* conf/mtab/mtab_mach3.c (convert): use xzalloc() not calloc().
10828
10829	* conf/mount/mount_linux.c (parse_opts): use xmalloc() not
10830	malloc().
10831
10832	* amd/info_ldap.c: use xmalloc() not malloc().
10833
10834	* libamu/xutil.c (xzalloc): new function to allocate memory and
10835	zero its bytes.
10836
10837	* amq/amq.c: amq does not need its own definition of xfree().
10838
10839	* aux/macros/opt_debug.m4: if used --enable-debug=mem, then also
10840	look for function malloc_verify() in libmapmalloc.a, and function
10841	mallinfo() in libmalloc.
10842
10843	* libamu/xutil.c (checkup_mem): do not use mallinfo field
10844	uordbytes, because it does not always exist.  Rather, compute it
10845	from other fields..
10846
10847	* include/am_utils.h: add external definition to xfree() function
10848	used when debugging memory references.
10849
10850Mon Dec 22 03:01:30 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10851
10852	* amd/ops_afs.c (afs_readdir_browsable): reduce the number of
10853	bytes heuristically computed to be returned to the kernel.
10854	Otherwise browsable_dirs fails on OpenBSD 2.2.
10855
10856	* amd/mntfs.c (uninit_mntfs): bug fix.  Moved freeing of
10857	mf_private field to AFTER it gets used.
10858
10859Sat Dec 20 00:51:21 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10860
10861	* amd/ops_host.c (host_umounted): don't use clnt_spcreateerror()
10862	on systems that don't support it.
10863
10864	* include/am_defs.h: add missing extern definition for free().
10865
10866	* aux/configure.in: check for external definition for free().
10867
10868	* libamu/Makefile.am: add to comment a mention of strstr as an
10869	optional function.
10870
10871	* libamu/xutil.c (switch_to_logfile): use openlog() options only
10872	if they exist.
10873
10874	* conf/transp/transp_sockets.c (get_nfs_version): don't use
10875	clnt_spcreateerror if it does not exist.
10876
10877	* aux/configure.in: check for missing functions clnt_create and
10878	clnt_spcreateerror.  Check for missing strstr, and complete
10879	its code.  Check for missing external definition for strstr.
10880
10881	* aux/macros/host_macros.m4: normalize sun3* names.
10882
10883	* Makefile.am: updates for new sunos3 files distributed.
10884
10885	* conf/nfs_prot/nfs_prot_sunos3.h: new file.
10886
10887	* conf/fh_dref/fh_dref_sunos3.h: new file.
10888
10889	* aux/macros/check_nfs_prot_headers.m4: added sunos3 case.
10890
10891	* aux/macros/check_nfs_fh_dref.m4: added sunos3 case.
10892
10893	* doc/am-utils.texi (wire Selector Variable): updated manual for
10894	adjusted variables wire, network, and netnumber, all using the
10895	in_network() function.
10896
10897Fri Dec 19 04:37:36 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10898
10899	* amd/opts.c: allow options to be processed by executing arbitrary
10900	functions.  Converted wire, network, and netnumber all to use the
10901	nomadic function in_network.  So from now on they perform a match
10902	against all networks, not just primary.
10903
10904	* initial port to alpha-unknown-linux-gnu, probably works, but
10905	untested yet.
10906
10907	* conf/nfs_prot/nfs_prot_linux.h: add special definitions for
10908	__FD_* macros which for som strange reason do not get included
10909	from <selectbits.h> on redhat alpha linux.  Also turn off usage of
10910	<rpc/des_auth.h> because it is incomplete on the same systems.
10911
10912	* hlfsd/homedir.c (table_add): cast uid field to int, for
10913	comparison.
10914
10915	* include/am_defs.h: more coflicts with redhat alpha linux
10916	"resolved".
10917
10918	* aux/macros/{mount_headers,try_compile_anyfs,try_compile_nfs}.m4:
10919	There's a conflict of definitions on redhat alpha linux between
10920	<netinet/in.h> and <linux/fs.h> which must be avoided.
10921
10922	* aux/configure.in: check for <socketbits.h>, which is in use on
10923	redhat alpha linux.
10924
10925	* doc/am-utils.texi (Selectors): added documentation to describe
10926	the new "!" (negated) nomadic functions.
10927
10928	* amd/opts.c (f_in_network): print debugging info that is correct,
10929	rather than saying that any ARG is on a local network.
10930	(eval_opts): added support for negating nomadic functions, by
10931	prepending "!" to their name.  Example, !exists(/foo/bar).
10932
10933Thu Dec 18 20:57:19 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10934
10935	* include/am_compat.h: ensure that all NFS3 systems have the mount
10936	table entries (and amd opts switches) "proto" and "vers".
10937
10938	* hlfsd/homedir.c (table_add): added some debugging info to try
10939	and track down a serious memory leak in hlfsd.
10940
109411997-12-18  Erez Zadok  <ezk@t-rex.mcl.cs.columbia.edu>
10942
10943	* libamu/mount_fs.c (compute_nfs_args): OpenBSD 2.2 requires that
10944	you do NOT set the noconn option, and use connected sockets
10945	always.  So I'm now forced not to set it at all, and have the user
10946	specify it as "conn" or "noconn" in their /default entry.  Argh...
10947	Finally, it looks as if OpenBSD 2.2's NFS 3 implementation may be
10948	buggy (TCP hangs with "short receive" kernel errors).  I'd better
10949	wait until they get it working in their version of the automounter
10950	first.  So I'm putting the "noconn" option back.
10951
10952Thu Dec 18 02:39:39 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10953
10954	* libamu/mount_fs.c (compute_nfs_args): use maxgrps option and set
10955	nfs_args field maxgrouplist accordingly.
10956
10957	* include/am_compat.h (MNTTAB_OPT_MAXGROUPS): complete definition
10958	for mount table entry for maxgroups based on NFS mount option
10959	maxgrp.
10960
10961	* aux/configure.in: put back testing for NFS mount option
10962	"maxgrps".  Added test for mount table entry "maxgroups".
10963
10964	* libamu/mount_fs.c (compute_nfs_args): perform more careful tests
10965	on nfs_proto, because it could be NULL.
10966
10967	* doc/am-utils.texi (Selectors): added example of in_network()
10968	selector.
10969
10970	* aux/macros/check_hide_mount_type.m4: all hpux versions,
10971	including 9.x, should use "ignore" as the mount type to hide from
10972	amd.
10973
10974Wed Dec 17 13:09:21 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10975
10976	* include/am_utils.h (NSTREQ): use new macro instead of strncmp()
10977	every where in the sources.
10978
10979Wed Dec 17 01:15:01 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
10980
10981	* libamu/mount_fs.c (print_nfs_args): if -D trace is on, will
10982	print as much info that is given in struct nfs_args as possible.
10983	useful for detecting internal flags and options, as well as the
10984	file handle used.
10985
10986	* scripts/ctl-amd.in: look for amd.conf file in ${prefix}/etc
10987	after /etc and before /etc/local.
10988
10989Tue Dec 16 18:51:36 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10990
10991	* aux/configure.in, libamu/Makefile.am: added support for linking
10992	with specific versions of libamu.  Upped shared library version of
10993	libamu to 1 (libamu.so.1.0.0)
10994
10995	* include/am_defs.h: added external definition for mkstemp() as
10996	needed.
10997
10998	* minor new port to i386-unknown-netbsd1.3 (BETA version of
10999	netbsd).
11000
11001	* aux/config.guess: don't leave a trailing '.' on the system name
11002	for NetBSD-1.3_BETA and similarly for OpenBSD.
11003
11004	* conf/nfs_prot/nfs_prot_netbsd1_3.h: new header for the slight
11005	differences in ypall calling conventions.
11006
11007	* mk-amd-map/mk-amd-map.c (main): use mkstemp() whenever possible
11008	in preference over mktemp(), b/c it is more secure.
11009
11010	* aux/configure.in: check for mkstemp(), a more secure version of
11011	mktemp().
11012
11013Mon Dec 15 02:32:14 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11014
11015	* amd/ops_nfs.c (mount_nfs_fh): Systems that include the mount
11016	table "vers" option generally do not set the mnttab entry to
11017	"nfs3", but to "nfs" and then they set "vers=3".  Setting it to
11018	"nfs3" works, but it may break some things like "df -t nfs" and
11019	the "quota" program (esp. on Solaris and Irix).  So on those
11020	systems, set it to "nfs".
11021
11022Sat Dec 13 01:36:27 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11023
11024	* doc/am-utils.texi (Distrib): updates for new ports, location of
11025	am-utils' home page, and URL cross references (now supported by my
11026	version of texi2html).
11027
11028	* aux/macros/check_mtype_type.m4: also use string type for file
11029	system mount types under nextstep for mount(2).
11030
11031	* aux/macros/check_mtype_printf_type.m4}: nextstep can handle both
11032	integer and string types for file system mount types in mount(2),
11033	but it is better to use string types.
11034
11035	* conf/nfs_prot/nfs_prot_nextstep.h: set emum nfsstat's NFS_OK to
11036	0, not 1!  Otherwise, all NFS calls (esp. mount) return errno 1
11037	(EPERM) instead of 0 (OK).  Fixes m68k-next-nextstep3 which now
11038	works.
11039
11040	* conf/nfs_prot/nfs_prot_bsdi2.h: set emum nfsstat's NFS_OK to 0,
11041	not 1!  Otherwise, all NFS calls (esp. mount) return errno 1
11042	(EPERM) instead of 0 (OK).
11043
11044	* libamu/xdr_func.c (xdr_*): add debugging calls that are optioned
11045	by -D trace (protocol trace).
11046
110471997-12-11  Erez Zadok  <ezk@bach.cs.columbia.edu>
11048
11049	* A.m68k-next-nextstep3/amu_nfs_prot.h: define missing S_ISDIR
11050	macro based on existence on others, and include <sys/stat.h>.
11051
11052Thu Dec 11 14:14:38 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11053
11054	* aux/macros/try_compile_nfs.m4 (AC_TRY_COMPILE): turn off
11055	inclusion of <nfs/nfs_mount.h> which only affects nextstep3, on
11056	which this header is broken (it tries to include non-existing
11057	headers).
11058
11059Wed Dec 10 16:09:07 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11060
11061	* libamu/mount_fs.c (mnt_flags): support either nfs or generic
11062	mount option for grpid.
11063
11064	* aux/configure.in: turn back on NFS mount option grpid.
11065
11066Sat Dec  6 04:36:05 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11067
11068	* doc/Makefile.am (install-ps): added target to install postscript
11069	file in the am-utils' home page, as well as a few other useful
11070	files for the new am-utils Web page.
11071
11072Mon Nov 17 05:22:56 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11073
11074	*******************************************************************
11075	*** Released am-utils-6.0a14					***
11076	*******************************************************************
11077
11078Sun Nov 16 21:56:16 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11079
11080	* doc/am-utils.texi (Supported Platforms): updated table of new
11081	ports.
11082
11083Sat Nov 15 06:36:27 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11084
11085	* libamu/mount_fs.c (compute_automounter_nfs_args): pass mnttab
11086	options so that they can be printed in logs as needed.
11087
11088	* doc/am-utils.texi (osver Parameter): updated for the correct
11089	usage of the -o/-O options.
11090
11091	* scripts/amd.conf.5: corrected info for -o/-O options.
11092
11093	* amd/amd.8: updated man page for new -O op_sys_name option, and
11094	corrected the usage of the -o op_sys_ver option
11095
11096	* amd/get_args.c (get_args): added new amd option -O to override
11097	OS name.
11098	(get_args): updated usage string.  Removed old -m option.  Added
11099	-o and -O options.
11100
11101	* conf/nfs_prot/nfs_prot_irix5.h: add definition to FHSIZE in case
11102	it is not there.  Reportedly, irix 5.2 does not define it.
11103
11104	* scripts/lostaltmail.in: removed references to unused $hack
11105	variable.
11106
11107	* aux/macros/check_nfs_prot_headers.m4: Patch from Chris Metcalf
11108	<metcalf@cag.lcs.mit.edu> to correctly set the nfs_prot headers
11109	for solaris2.5.
11110
11111	* doc/am-utils.texi (Distrib): typo in the subscription
11112	instructions to amd-dev.  Patch from Stefan Vogel
11113	<vogel@physik-rzu.unizh.ch>.
11114
111151997-11-15  Erez Zadok  <ezk@amtrak.cs.columbia.edu>
11116
11117	* NFS3 works on powerpc-ibm-aix4.2.1.0.
11118
11119	* libamu/mount_fs.c (compute_nfs_args): set fh3 variable to
11120	static.  Some compilers (gcc from egcs  on aix 4.2.1) corrupt the
11121	stack of an automatic variable when pointer to it is passed around
11122	several times.
11123
11124Fri Nov 14 20:09:28 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11125
11126	* libamu/xutil.c (real_plog): syslog like behavior for normal
11127	logging.  Will not print repeated strings, only a count "last
11128	message repeated N times", but will always print something if
11129	message is repeated more than 100 times.
11130
11131	* scripts/lostaltmail.in: look for lostaltmail.conf files also in
11132	/etc/global, /etc/os, and /etc/local (in that order).
11133
11134Mon Nov 10 03:03:17 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11135
11136	* conf/mount/mount_aix.c (mount_aix3): add support for NFS V.3
11137	mounts.
11138
11139	* aux/macros/struct_nfs_args.m4 (AC_TRY_COMPILE_NFS): test for
11140	aix42_nfs_args, specially set in conf/nfs_prot/nfs_prot_aix4_2.h
11141
11142	* conf/sa_dref/sa_dref_*.h: from now on, the "dst" argument to the
11143	NFS_SA_DREF macro is a pointer to the structure that used to be
11144	passed to it before.  So now I have to dereference the pointer
11145	before accessing its values.
11146
11147	* hlfsd/hlfsd.c (main): use the new and cleaner
11148	compute_nfs_args() and compute_automounter_nfs_args() functions.
11149
11150	* amd/ops_nfs.c (mount_nfs_fh): use the new and cleaner
11151	compute_nfs_args() and compute_automounter_nfs_args() functions.
11152
11153	* amd/ops_afs.c (mount_toplvl): MAJOR CODE REVISION.  Use the new
11154	and cleaner compute_nfs_args() and compute_automounter_nfs_args()
11155	functions.
11156
11157	* libamu/mount_fs.c (compute_nfs_args): major code cleanup that
11158	relates for struct nfs_args.  A new function sets the numerous
11159	possible flags and fields of nfs_args_t in an orderly fashion.
11160	Code cleaned up, organized, and moved from amd/hlfsd into
11161	libamu.  This saves on overall size of code.
11162	(compute_automounter_nfs_args): A variant of compute_nfs_args()
11163	which sets special options/flags that need to be used when NFS
11164	mounting an automounter's mount point.  Used by hlfsd and amd.
11165
11166	* amq/amq.c (get_secure_amd_client): don't print any more
11167	"get_secure_amd_client: using TCP, port 12345".  It's more
11168	annoying than useful a message, even when assumed to be compiled
11169	under DEBUG only.
11170
11171Thu Oct 30 14:33:38 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11172
11173	* aux/macros/check_mnttab_type.m4: MAJOR BUG fixed for non-nfs
11174	mount table entries.  The code used to define the /etc/mnttab name
11175	for file systems based on physical media (disk, cdrom, floppy) to
11176	the generic name, rather than the OS specific name.  For example
11177	autoconf searches for all these types of mount table entries for a
11178	floppy based file system: vfat pcfs pc msdos msdosfs fat.  But if
11179	it found any, it hard-coded the mnttab name to "pcfs" rather than
11180	the actual name found!  Same for ufs, cdfs, pcfs, tmpfs, lofs,
11181	nullfs, unionfs, and umapfs.
11182
11183	* aux/configure.in: also test for xfs (for newer Irix) when
11184	looking for mount type names, numbers, etc of a disk-based ufs.
11185
11186Sun Oct 26 19:32:57 1997  Erez Zadok  <ezk@defiant.soscorp.com>
11187
11188	* amq/amq.c (main): use pmap_ping() to test if remote host is up.
11189	This works better on bsdi2 and bsdi3, because their portmapper
11190	does not appear to like forwarding operations (it is generaly
11191	insecure).
11192
11193Sat Oct 25 04:55:56 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11194
11195	*******************************************************************
11196	*** Released am-utils-6.0a13					***
11197	*******************************************************************
11198
11199Fri Oct 24 05:04:37 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11200
11201	* conf/nfs_prot/nfs_prot_ncr2.h: added missing definition for
11202	struct datum typedef.
11203
11204	* conf/nfs_prot/nfs_prot_netbsd.h: corrected typedef for
11205	ypall_callback_fxn_t for netbsd.
11206
11207	* aux/macros/type_auth_create_gidlist.m4: hpux10.10 uses int for
11208	the 5th arg to authunix_create(), while before and after they used
11209	gid_t.
11210
11211	* conf/transp/transp_tli.c (amu_clnt_create_best_vers): don't use
11212	clnt_create_timed() on older Solaris 2.3 systems that did not have
11213	it.
11214
11215	* conf/nfs_prot/nfs_prot_bsdi2.h: <msdosfs/msdosfsmount.h> is for
11216	kernel only on bsdi2, so do not include it.
11217
11218Fri Oct 24 00:29:42 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11219
11220	* hlfsd/stubs.c (nfsproc_readlink_2_svc): avoid logging repeated
11221	messages about resolution of mailboxes based on uid/gid.
11222
11223	* scripts/ctl-hlfsd.in: check for alternate password file in
11224	${prefix}/etc/passwd and use it in hlfsd's startup.
11225
11226Thu Oct 23 22:48:50 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11227
11228	* hlfsd/homedir.c (hlfsd_getpwent): added support for -P
11229	passwdfile option.  If hlfsd is started with -P passwdfile, then
11230	the passwdfile is read and parsed just as a standard unix
11231	passwd(4) file.  Only the username, uid, and homedir fields are
11232	read and checked.  All the rest are ignored.  No NIS/netgroup
11233	support!
11234
11235	* hlfsd/hlfsd.c (main): check if hlfsd is run as root after
11236	parsing command line options, so that usage() can be printed when
11237	-h is invoked.
11238
11239Wed Oct 22 00:16:39 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11240
11241	* amd/nfs_start.c (mount_automounter): if autofs service listener
11242	fails to initialize it is OK if using a test amd.
11243
11244	* amd/opts.c (f_in_network): new nomadic function in_network(arg),
11245	which returns TRUE if 'arg' is any one of this host's networks.
11246
11247	* libamu/wire.c (getwire): rewritten parts of function, to store
11248	all networks names and numbers in the order of the interface (not
11249	in reverse).
11250
11251Mon Oct 20 01:59:25 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11252
11253	* aux/configure.in: don't add ops_ufs.o on AIX twice.  My code
11254	would have worked had it not been due to AIX's buggy /bin/sh.
11255
11256	* doc/Makefile.am (EXTRA_DIST): include am-utils.dvi and
11257	am-utils.ps in the distribution sources.
11258	(html): generate html documentation for
11259	http://www.am-utils.org
11260
11261Sun Oct 19 12:35:49 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11262
11263	* conf/nfs_prot/nfs_prot_netbsd.h: override the definition of
11264	ypall_callback_fxn_t.  The NetBSD team compiles all sources with
11265	gcc -Wall -Wmissing-prototypes -Wstrict-prototypes.
11266
11267	* amd/info_nis.c: allow for override of ypall_callback_fxn_t
11268	function typedef.
11269
11270	* libamu/xutil.c (amu_release_controlling_tty): new function to
11271	release the controlling tty in a clean and sane manner.  No longer
11272	using setpgid() b/c it may not work.  Uses setsid(),
11273	and ioctl() (in order).  This new function is used in amd/amd.c
11274	and hlfsd/hlfsd.c.  Also avoid setpgrp(), because it works on some
11275	systems, but on others it is the same as setpgid().
11276
11277Sat Oct 18 23:42:40 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11278
11279	* aux/acconfig.h: check for nfs mount option 'fsname'.  Code for
11280	it was in amd/ops_afs.c, amd/ops_nfs.c, and hlfsd/hlfsd.c, but
11281	never used, because the configure test for fsname flag wasn't
11282	used.  This fixed a bug in HPUX 10, where syncer and manual mounts
11283	left blank lines in /etc/mnttab.
11284
11285	* aux/configure.in: check for nfs mount option 'fsname'.
11286
11287Fri Oct 17 13:30:27 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11288
11289	* amd/ops_afs.c (mount_toplvl): turn on 'ignore' option in nfs
11290	mount flags of toplvl mounts.  Important esp. for HPUX 10.  Now
11291	hpux-10 will mount amd's mounts points as 'ignore' (by df).
11292
11293	* aux/configure.in: check for NFS mount option 'ignore', useful in
11294	HPUX 10.
11295
11296Thu Oct 16 03:28:33 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11297
11298	* aux/macros/check_hide_mount_type.m4: hpux 10 should use "ignore"
11299	mount type and not NFS, for the amd mount points.
11300
11301	* conf/transp/transp_tli.c (amu_clnt_create_best_vers): don't log
11302	an RPC timeout as an error, but just an info message.  From
11303	Andreas Stolcke <stolcke@speech.sri.com>
11304
11305	* If the NFS server is down or does not support the portmapper
11306	call (such as certain Novell NFS servers) we mark it as version 2
11307	and we let the nfs code deal with the case that is down.  If when
11308	the server comes back up, it can support NFS V.3 and/or TCP, it
11309	will use those.  From christos@deshaw.com (Christos Zoulas).
11310
11311	* hlfsd/homedir.c (plt_print): various compile time cleanups to
11312	printfs that take a long, but pass an int to print.  From
11313	christos@deshaw.com (Christos Zoulas).
11314
11315	* aux/macros/func_bad_yp_all.m4 (ac_cv_func_yp_all_clean,): new
11316	macro to determine if the OS has a bad yp_all(), based on the host
11317	OS name.  So far only irix (all versions) have a bad yp_all, so
11318	they will use am_yp_all() instead (which is slower as it
11319	enumerates manually all of the map's entries).
11320
11321Thu Oct 16 03:14:37 1997  Erez Zadok  <ezk@subzero.cs.columbia.edu>
11322
11323	* amd/info_nis.c (am_yp_all): code for a replacement yp_all that
11324	avoids using a file-descriptor leaking yp_all() on some systems
11325	like irix.
11326
11327Wed Oct 15 21:52:35 1997  Erez Zadok  <ezk>
11328
11329	* fsinfo/fsinfo.h: avoid redefining yywrap incorrectly on DU-4.x
11330	systems using /usr/bin/flex.
11331
11332	* amd/conf_tok.l (yywrap): avoid redefining yywrap for systems
11333	that have a modified GNU flex which does define yywrap (DU-4.x).
11334
11335Fri Sep 26 14:25:29 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11336
11337	* conf/checkmount/checkmount_bsd44.c: include prototype.
11338
11339Fri Sep 26 01:26:24 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11340
11341	*******************************************************************
11342	*** Released am-utils-6.0a12					***
11343	*******************************************************************
11344
11345Fri Sep 26 00:13:48 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11346
11347	* conf/nfs_prot/nfs_prot_irix6.h: completely turn off all autofs
11348	code in irix6 until it can be tested correctly
11349
11350	* conf/transp/transp_tli.c (amu_clnt_create_best_vers): time out
11351	on clnt_create for 3 seconds, rather than wait for the much longer
11352	default.
11353
11354	* conf/nfs_prot/nfs_prot_aix4_2.h: port to powerpc-ibm-aix4.2.1.0.
11355	Includes NFS3, untested.
11356
11357Thu Sep 25 11:03:11 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11358
11359	* amd/ops_pcfs.c (mount_pcfs): fill in uid/gid fields of
11360	pcfs_args_t if they exist.
11361
11362	* amd/ops_cdfs.c (mount_cdfs): fill in ssector field of
11363	cdfs_args_t if it exists.
11364
11365	* new minor ports hppa1.1-hp-hpux10.10, hppa1.1-hp-hpux9.05,
11366	hppa1.1-hp-hpux9.07, m68k-hp-hpux9.00, and sparc-sun-sunos4.1.4.
11367
11368Wed Sep 24 00:48:05 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11369
11370	* doc/am-utils.texi (wire-test): updated documentation for the new
11371	option.
11372
11373	* wire-test/wire-test.8: updated man page for new option.
11374
11375	* wire-test/wire-test.c (main): added a test for various
11376	combinations of NFS proto/vers to a remote/local host.
11377
11378	* aux/macros/try_compile_anyfs.m4 (AC_TRY_COMPILE): include
11379	<isofs/cd9660/cd9660_mount.h> and <msdosfs/msdosfsmount.h> so that
11380	freebsd will correctly set mount options for pcfs and cdfs.
11381
11382	* amd/ops_pcfs.c (mount_pcfs): set mask field of pcfs_args to
11383	0777 (if field exists).
11384
11385	* aux/macros/try_compile_anyfs.m4 (AC_TRY_COMPILE): include
11386	<msdosfs/msdosfsmount.h> if available.
11387
11388	* minor new port: rs6000-ibm-aix4.1.4.0.
11389
11390	* libamu/mount_fs.c (mount_fs): fixed bug that caused HPUX not to
11391	write the "time" field in /etc/mnttab.
11392
11393	* conf/mtab/mtab_file.c (mnt_dup): fixed typo in macro names for
11394	detecting mnt_time field of mntent_t.
11395
11396	* libamu/mtab.c (mnt_free): fixed typo in macro names for
11397	detecting mnt_time field of mntent_t.
11398
11399Tue Sep 23 15:30:03 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11400
11401	* conf/mtab/mtab_file.c (lock): Use flock() in preference over
11402	fcntl() to lock the mtab file.
11403
11404Mon Sep 22 23:04:58 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11405
11406	* conf/transp/transp_sockets.c (get_nfs_version): define
11407	the try_again goto label only for NFS3.
11408	(pmap_ping): assume timeout failure of clnt_stat.
11409
11410	* libamu/xdr_func.c (xdr_groupnode, xdr_exportnode): cast to
11411	"groups *".
11412
11413Mon Sep 22 20:34:33 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11414
11415	* conf/transp/transp_sockets.c (pmap_ping): patch from Dan Riley
11416	<dsr@mail.lns.cornell.edu> to make sure that amd works with more
11417	secure portmappers that do not allow forwarding of RPC messages to
11418	other services.
11419
11420	* */Makefile.am: all source files should also depend on the new
11421	include/am_xdr_func.h header.
11422
11423	* include/am_xdr_func.h: new file as part of the code cleanup from
11424	Christos Zoulas <christos@deshaw.com>.
11425
11426	* Lots of fixes from Christos Zoulas <christos@deshaw.com> that
11427	involved missing prototypes, cleaned up ones, and removal of
11428	unused variables.
11429
11430	* libamu/xdr_func.c (xdr_mountres3): some code cleanup.  A switch
11431	statement with only one case is unclean.
11432
11433Mon Sep 22 17:26:38 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11434
11435	* amd/ops_<FOO>fs.c (mount_<FOO>fs): initialize mntent_t fields to
11436	0 so that all fields are initialized to zero at first.  This way
11437	SunOS 4.x and other systems don't get /etc/mtab entries with
11438	random integers for the fsck/freq fields. Patch from Andreas
11439	Stolcke <stolcke@speech.sri.com>.
11440
11441Mon Sep 22 00:34:19 1997  Erez Zadok  <ezk@americas.psl.cs.columbia.edu>
11442
11443	* conf/nfs_prot/nfs_prot_sunos4.h: include <nfs/nfs_clnt.h> so
11444	that the important definition for HOSTNAMESZ will be found.
11445
11446	* amd/ops_afs.c (mount_toplvl): limit hostname size to HOSTNAMESZ
11447	(inside the nfs_args structure) if the system uses that macro.
11448	Otherwise systems like SunOS refuse to NFS mount long pathnames
11449	and result in ENAMETOOLONG errno's.
11450
11451Wed Sep 17 04:56:11 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11452
11453	* doc/am-utils.texi (Supported Platforms): specify new support for
11454	solaris 2.6, and hlfsd running on 2.5.1 too.
11455
11456Wed Sep 17 03:55:02 1997  Erez Zadok  <ezk@amsterdam.psl.cs.columbia.edu>
11457
11458	* conf/mount/mount_svr4.c (mount_svr4): don't attemt an autofs
11459	mount if it is not supported or was turned off.
11460
11461Wed Sep 17 03:19:36 1997  Erez Zadok  <ezk@americas.psl.cs.columbia.edu>
11462
11463	* conf/nfs_prot/nfs_prot_sunos4.h: fixed so that it will nfs mount
11464	again.  Apparently at some previous release SunOS 4 supported was
11465	broken and all nfs mounts resulted in ESTALE.
11466
11467Wed Sep 17 00:26:25 1997  Erez Zadok  <ezk@amsterdam.psl.cs.columbia.edu>
11468
11469	* conf/nfs_prot/nfs_prot_sunos5_6.h: nfs protocol headers for
11470	solaris 2.6.
11471
11472	* aux/macros/check_nfs_prot_headers.m4: added solaris 2.6 nfs
11473	protocol header selection.
11474
11475Sat Sep 13 14:31:51 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11476
11477	* conf/transp/transp_tli.c (amu_clnt_create_best_vers): avoid
11478	infinite loop.
11479
11480Sun Sep  7 18:23:23 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11481
11482	*******************************************************************
11483	*** Released am-utils-6.0a11					***
11484	*******************************************************************
11485
11486Fri Sep  5 11:55:10 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11487
11488	* amd/amd.c (main): if plock() succeeded, don't try to display
11489	errno message.   Patch from Chris Metcalf
11490	<metcalf@catfish.lcs.mit.edu.
11491
11492Thu Sep  4 19:17:58 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11493
11494	* hlfsd/homedir.c (table_add): make sure duplicate passwd entries
11495	are ignored.   Only the first entry should ever be used, because
11496	that's how lookup in passwd database works.
11497
11498	* conf/transp/transp_sockets.c (get_nfs_version): when determining
11499	if a remote host is up or down, use NFS v.2.  Fix suggested by
11500	Enami Tsugutomo <enami@cv.sony.co.jp>.
11501
11502	* conf/transp/transp_tli.c (amu_clnt_create_best_vers): new
11503	function to get the best possible NFS version, but also timeout
11504	faster than normal defaults, so remote hosts which are down can be
11505	detected in a reasonable time.
11506	(get_nfs_version): use the new "best" function.
11507
11508Tue Sep  2 00:41:00 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11509
11510	*******************************************************************
11511	*** Released am-utils-6.0a10					***
11512	*******************************************************************
11513
11514Mon Sep  1 15:39:51 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11515
11516	* conf/transp/transp_tli.c (get_nfs_version): don't use
11517	clnt_tp_create_timed() on systems that don'e have it (Solaris 2.4
11518	and earlier).
11519
11520	* aux/configure.in: test for existence of clnt_tp_create_timed(),
11521	since Solaris 2.4 (and possibly earlier) do not have it.
11522
11523Mon Sep  1 15:23:18 1997  Erez Zadok  <ezk@felix.psl.cs.columbia.edu>
11524
11525	* amd/ops_autofs.c (autofs_unmount_1_svc): only display rdevid
11526	field if it exists (solaris 2.4's autofs does not have it).
11527
11528Mon Sep  1 14:45:09 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11529
11530	* aux/macros/type_auth_create_gidlist.m4: a new test to determine
11531	the correct type to the 5th argument of authunix_create().
11532
11533Mon Sep  1 03:44:32 1997  Erez Zadok  <ezk@felix.psl.cs.columbia.edu>
11534
11535	* libamu/xdr_func.c (xdr_umntrequest): add test for autofs
11536	structure umntrequest, if it has the field rdevid.  Seems Solaris
11537	2.4 and earlier didn't have it.
11538
11539Mon Sep  1 01:10:53 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11540
11541	* hlfsd/hlfsd.c (hlfsd_init): moved initialization upwards, so it
11542	can be done before primary process forks.
11543	(main): bug fix: wait a bit to give child a chance to initialize.
11544	Without this, hlfsd got into a busy infinite loop while, never
11545	completing the mount.
11546
11547	* amd/info_nis.c: patch from Jason Thorpe <thorpej@nas.nasa.gov>
11548	to make amd works when talking to NIS+ servers in NIS
11549	compatibility mode.
11550
11551Mon Sep  1 00:46:56 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11552
11553	* amd/mapc.c (MAX_CHAIN): increased maximum chain size to 1024.
11554
11555Sun Aug 31 20:20:40 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11556
11557	* amd/conf.c (gopt_fully_qualified_hosts): a new function to
11558	process another new global variable.
11559
11560	* amd/ops_nfs.c (make_nfs_auth): if a new global variable
11561	fully_qualified_hosts is on, use FQHN in RPC/NFS authentications.
11562	Patch from Chris Metcalf <metcalf@catfish.lcs.mit.edu>.
11563
11564	* amd/conf.c (process_last_regular_map): If the amd.conf file only
11565	has a [global] section (pretty useless IMHO), do not try to
11566	process a map that does not exist.
11567
11568	* scripts/amd.conf.5: fixed typos (repeated 'as' word).
11569
11570	* doc/am-utils.texi: MAJOR DOCUMENTATION REVISION COMPLETED!!!
11571
11572	* amd/conf.c (reset_cf_map): Bug fix.  Reset 'tag' field of cfm
11573	structure, so it does not carry over from map entry to another.
11574
11575Sat Aug 30 18:39:21 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11576
11577	* amd/amd.c (main): fixed the meaning of the plock option.  A bug
11578	caused it to be reversed.
11579
11580Sat Aug 30 15:13:18 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11581
11582	* hlfsd/stubs.c: don't initialize some statics here.  They are
11583	better initialized in hlfsd_init_filehandles().
11584
11585Fri Aug 22 14:47:16 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11586
11587	* amd/conf.c (gopt_show_statfs_entries): new function and a global
11588	amd.conf key show_statfs_entries.  Defaults to 'no'.  If 'yes',
11589	then all maps flagged as browsable will also show a count of the
11590	number of entries (keys) in that map.
11591
11592	* amd/nfs_subr.c (count_map_entries): new function to count number
11593	of entries in a map.  Now used if browsable is turned on in a map,
11594	to return a count of available keys in a given map.
11595
11596	* hlfsd/stubs.c (eq_fh): use correct memcmp().  BUG fixed! hlfsd
11597	confused the file handles for ".", "..", and the symlink, causing
11598	mess.
11599
11600	* aux/macros/func_bad_memcmp.m4: new test, based on autoconf 2.12,
11601	but also defines HAVE_BAD_MEMCMP, so I avoid linkage conflicts
11602	with bad memcmp() in libc's (nextstep3).
11603
11604Thu Aug 21 17:38:41 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11605
11606	* aux/configure.in: check if autofs_args_t has a field named
11607	addr.  Solaris has it for specifying the address of the daemon,
11608	but Irix does not.  So how does irix tell the kernel the daemon's
11609	address?  I suspect that it is hardcoded to "localhost" using a
11610	"private well-known port" (#define AUTOFS_PORT 2048).
11611
11612	* conf/nfs_prot/nfs_prot_linux.h: added missing autofs
11613	definitions.
11614
11615	* README.autofs: new file listing autofs support notes
11616
11617	* very preliminary autofs code working.  Call it pre-alpha
11618	quality.
11619
11620Sun Aug 17 02:25:09 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11621
11622	* amd/conf.c (ropt_mount_type, gopt_mount_type): don't accept
11623	"autofs" if system does not support it.
11624
11625	* amd/amd.c (main): log am-utils version string (same as amd -v)
11626	at start of run.
11627
11628	* conf/transp/transp_sockets.c (get_nfs_version): in order to tell
11629	if a remote host is available, try to contact its portmapper and
11630	timeout if no answer is received in 3 seconds.
11631
11632Thu Aug 14 16:12:04 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11633
11634	* aux/macros/check_extern.m4 (pattern): use a simpler pattern for
11635	match for external function definitions.  The function could span
11636	multiple lines, so only match the opening parenthesis, not the
11637	closing one too.
11638
11639	* aux/macros/os_cpp-flags.m4 (ac_cv_os_cppflags,): do NOT turn on
11640	posix mode for nextstep3.  It is broken.
11641
11642	* amd/amd.c (init_global_options): run uname() only if
11643	<sys/utsname.h> and uname(2) exist.
11644
11645	* amd/rpc_fwd.c (fwd_packet): if remote host is down, the
11646	forwarding socket is null, so declare this an error.
11647
11648	* include/am_utils.h (AM_ERRNO_HOST_DOWN): find best errno to set
11649	for when a remote host is down.  Try, in order, "host down", "host
11650	unreachable", "invalid argument".
11651
11652	* amd/ops_nfs.c (discard_fh): don't dereference a null pointer
11653	(happens when remote host is down, and fp->fh_fs is NULL).
11654	(prime_nfs_fhandle_cache): ditto, and set fs flags to !FSF_VALID
11655	and FSF_DOWN.
11656
11657	* amd/sched.c: nobody uses "union wait" any more, or so it
11658	appears, so clean up that code.
11659
11660	* conf/transp/transp_tli.c (get_nfs_version): if remote host is
11661	down, time it out faster than default (3 seconds).
11662	(get_mount_client): free netconfig entry when done with it.
11663
11664	* conf/nfs_prot/nfs_prot_nextstep.h: initial (and somewhat ugly)
11665	port to nextstep3 (m68k-next-nextstep3).
11666
11667	* fsinfo/Makefile.am (LDADD): needs to link with libamu in case
11668	system does not have strdup().
11669
11670	* include/am_defs.h: complete external definition for getlogin()
11671	if needed.
11672
11673	* conf/transp/transp_tli.c (get_nfs_version): no need to keep
11674	static versout variable.
11675
11676	* amd/rpc_fwd.c (fwd_packet): if fwdto packet is null, remote
11677	server is probably down.  Don't use sendto() in that case.
11678
11679	* buildall (default): run gmake if found, before trying plain
11680	make.  GNU make is always preferable.
11681
11682Tue Aug 12 21:23:58 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11683
11684	* aux/macros/host_macros.m4: cleanup of os_version and os
11685	overrides.  Solaris 2.5.1 for example will come up as solaris2 and
11686	2.5.1, rather than sunos5 and 5.5.1.  Both can be overridden in
11687	the amd.conf file.
11688
11689Fri Aug  8 14:37:30 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11690
11691	*******************************************************************
11692	*** Released am-utils-6.0a9					***
11693	*******************************************************************
11694
11695Thu Aug  7 00:52:14 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11696
11697	* conf/nfs_prot/nfs_prot_ncr2.h: new file, for NCR2
11698	(i486-ncr-sysv4.3.03) headers.  Needed to complete missing stuff
11699	from <ndbm.h> and <sys/resource.h>.
11700
11701	* scripts/amd.conf.5: new map page.
11702
11703	* amd/info_hesiod.c: define extern for hesiod_resolve, since bsdi3
11704	does not.
11705
11706	* amd/amd.8: updated man page.
11707
11708	* amd/get_args.c (get_args): removed defunct -h option to amd.
11709
11710	* amq/amq.8: updated man page.
11711
11712	* amd/info_nisplus.c (nisplus_search): prototype fixes so Sun
11713	SparcCompiler CC won't complain.
11714
11715	* amd/info_hesiod.c (hesiod_search): small fixes to compile with
11716	hesiod-1.3, as per Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
11717
11718	* aux/macros/opt_ldflags.m4: new option added to configure
11719	--enable-ldflags, to specify -L option for configuring/compiling.
11720	The older one --enable-libs is now to be used only for -l options.
11721
11722	* amd/ops_nfs.c (mount_nfs_fh): bug fixed.  Should initialize
11723	nc_protoname from nfs_proto if available for all TLI systems, not
11724	just those that have NFS V3.
11725
11726	* amd/info_ldap.c: ldap patches from Leif Johansson
11727	<leifj@matematik.su.se>, adding two new amd.conf ldap variables:
11728	ldap_cache_seconds and ldap_cache_maxmem.
11729
11730	* hlfsd/hlfsd.c (main): bug fixed. port number must be wrapped in
11731	htons().
11732
11733Sun Aug  3 17:20:05 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11734
11735	* amd/nfs_start.c (mount_automounter): register amd with the rpc
11736	program number that may have been overridden by amd.conf.
11737
11738	* libamu/xutil.c (set_amd_program_number, get_amd_program_number):
11739	allow storing and retrieving alternate amd program numbers.
11740
11741	* amd/conf.c (gopt_portmap_program): new function to parse
11742	amd.conf entry portmap_program=1234.
11743
11744	* amq/amq.c (main): allow specifying an alternate rpc program
11745	number for amd via -P prognum.
11746
11747	* new amq RPC to get the process id of the running amd.  This is
11748	used in ctl-amd to quickly find the pid of the amd that is to be
11749	killed.
11750
11751	* expanded shared libraries support.  Using GNU libtool-1.0,
11752	am-utils now builds shared libraries on many platforms that have
11753	support for it and proper compilers/linkers.  See "INSTALL" file
11754	for compatibility chart.
11755
11756Thu Jul 31 13:07:23 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11757
11758	* fsinfo/fsi_lex.l: removed code that was in support of very old
11759	versions of flex.  No longer needed.
11760
11761Tue Jul 29 12:00:13 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11762
11763	* amd/amd.c (init_global_options): find the kernel architecture
11764	from uname() if possible.
11765
11766Mon Jul 28 03:53:59 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11767
11768	* new working port: i386-unknown-openbsd2.1
11769
11770Fri Jul 25 03:16:31 1997  Erez Zadok  <ezk@felix.psl.cs.columbia.edu>
11771
11772	* working port: sparc-sun-solaris2.4.  Had to fix fhandle_t from
11773	structure to actual char[], because the structure was passed to
11774	xdr_fhandle as data and not a pointer.  Surprisingly, gcc
11775	-fpcc-struct-return did not help.
11776
11777	* conf/nfs_prot/nfs_prot_sunos5_4.h: special nfs protocol
11778	definitions for solaris 2.4 have to be different from 2.3, and
11779	different from 2.5.
11780
11781	* libamu/xdr_fhstatus.c (xdr_fhstatus): minor code cleanup.
11782
11783Thu Jul 24 16:22:39 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11784
11785	* conf/mount/mount_svr4.c (mount_svr4): use STREQ to compare mount
11786	types, not ==.  Fix from Christos Zoulas <christos@deshaw.com>.
11787
11788	* mk-amd-map/mk-amd-map.8: man page taken from bsd44.
11789
11790Thu Jul 24 00:01:55 1997  Erez Zadok  <ezk@moisil.cs.columbia.edu>
11791
11792	* conf/mount/mount_linux.c: made the nfs error mapping code into a
11793	small function.
11794
11795Wed Jul 23 16:11:49 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11796
11797	* conf/nfs_prot/nfs_prot_linux.h (NFS_ERROR_MAPPING): special
11798	error mappings from errno numbers to NFS errors.  From Debian
11799	Linux.
11800
11801	* scripts/am-eject.in (fs): new script (taken from Debian Linux
11802	folks) to auto-unmount floppy/cd devices before ejecting them.
11803
11804	* fsinfo/wr_exportfs.c (write_exportfs): from Debian folks, pass
11805	'5' as second arg to show_area_being_processed.  I'm not sure why.
11806
11807	* fsinfo/wr_atab.c (write_atab): from Debian folks, pass '5' as
11808	second arg to show_area_being_processed.  I'm not sure why.
11809
11810	* conf/mount/mount_linux.c (parse_opts): as per Debian Linux,
11811	ensure that you have a buffer in *xopts to strcat onto.
11812	(mount_linux): fixed from Debian folks to ensure that NFS mount
11813	sockets are connected only for kernels prior to 1.3.10 (avoids
11814	hangs for multi-homed hosts).
11815
11816	* amd/mapc.c (make_entry_chain): from Debian folks: don't skip
11817	over amd map keys that have a prefix, and include the prefix in
11818	the returned readdir().
11819
11820	* amd/info_passwd.c (passwd_init, passwd_search): format
11821	enhancements from the Debian Linux folks.  They added
11822	- var0:=pw-prefix:=anydir
11823	- var1:=pw-rhost:=dom3.dom2.dom1
11824	- var2:=pw-user:=user
11825	- var3:=pw-home:=/anydir/dom1/dom2/dom3/user
11826
11827	* new ports: sparc-sun-solaris2.4 and sparc-sun-sunos4.1.1.
11828
11829	* amd/ops_afs.c (afs_retry): patches from Debian Linux.  If
11830	afs_mount timed out, then explicitly forbid further retries after
11831	the timeout.  (afs_bgmount): bug fix from Debian Linux.  Timeout
11832	values (17 and 5) were mistakenly swapped.
11833
11834Wed Jul 23 15:53:25 1997  Erez Zadok  <ezk@felix.psl.cs.columbia.edu>
11835
11836	* conf/nfs_prot/nfs_prot_sunos5_3.h: turn off non-existent NFS V.3
11837	support for Solaris 2.4 (the header files incorrectly define parts
11838	of the NFS V.3 protocol, but the kernel does not support it).
11839
11840Wed Jul 23 00:07:12 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11841
11842	* amd/info_hesiod.c: minor cleanup to use hes_init and hesiod_init
11843	for determining if using old or new hesiod libraries,
11844	respectively.
11845
11846	* amd/ops_nfs.c (mount_nfs_fh): If "noconn" option exists in NFS
11847	V.3 then use non-connected sockets (both TCP and UDP).  Otherwise
11848	they cause hangs of mounts from multi-homed hosts when the return
11849	route is not the same as the outgoing route (esp. on NetBSD
11850	1.2.1).  If "conn" option was supplied, then don't turn on the
11851	"noconn" mount option.  Otherwise default to "noconn" mount
11852	option.
11853
11854	* aux/configure.in: better check for systems that need libgdbm and
11855	<ndbm.h>
11856
11857Tue Jul 22 04:02:05 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11858
11859	* hlfsd/hlfsd.c (main), amd/ops_afs.c (mount_toplvl): ensure that
11860	mounts are hidden from df(1) on systems that keep mount tables in
11861	kernel, such as osf1.
11862
11863Tue Jul 22 02:26:55 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11864
11865	*******************************************************************
11866	*** Released am-utils-6.0a8					***
11867	*******************************************************************
11868
11869Mon Jul 21 21:33:19 1997  Erez Zadok  <ezk@stone.mcl.cs.columbia.edu>
11870
11871	* hlfsd/hlfsd.c (main): bug fixed: forgot to set sin_family to
11872	AF_INET when hlfsd mounts itself, thus getting an errno "protocol
11873	family not supported".
11874
11875Mon Jul 21 20:46:59 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11876
11877	* verified that amd on NetBSD 1.2.1 (i386) works, but the OS
11878	itself is flaky.
11879
11880	* verified that amd AIX 3 works w/ the new readdir() code.
11881
11882Mon Jul 21 18:59:30 1997  Erez Zadok  <ezk@chestnut.mcl.cs.columbia.edu>
11883
11884	* amd/mapc.c (maptypes): changed the default map caching type for
11885	nis and ndbm maps to "MAPC_ALL", so that all possible entries will
11886	be available to amd for browsable_dirs=yes.
11887
11888Mon Jul 21 18:04:16 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11889
11890	* amd/ops_afs.c (afs_readdir, afs_readdir_browsable): split
11891	afs_readdir into a browsable version and a non-browsable one.
11892	Fixed bugs that resulted in an infinite nfs_readdir loop on the
11893	localhost for some operating systems.
11894
11895Sat Jul 19 19:38:38 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11896
11897	* amd/ops_afs.c (afs_readdir): fixed up the browsable code to
11898	comply with nfs_readdir specs.  It was returning all entries at
11899	once, even if there was not enough space in the RPC packet.  Now,
11900	it sends a reasonably sized chunk, and sets static state to resume
11901	it for the next continuation RPC of readdir.
11902
11903	* amd/conf.c (set_conf_kv): fixed bug that resulted in the first
11904	regular map not getting all of the [global] options defaulted from.
11905
11906Fri Jul 18 00:45:12 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11907
11908	* amq/amq.c (main): fixed so that portmapper "ping" will only fail
11909	upon an RPC timeout
11910
11911	* scripts/ctl-{amd,hlfsd}.in (killproc): better method to find the
11912	amd/hlfsd process to kill.
11913
11914	* amd/ops_afs.c (mount_toplvl), hlfsd/hlfsd.c (main): code to
11915	determine how to avoid df from seeing amd's toplvl mounts.  Moved
11916	from libamu/mount_fs.c and include/am_utils.h.  Ensure that hlfsd
11917	is hidden from df.
11918	(mount_toplvl): fixed df types for irix.
11919
11920Thu Jul 17 21:59:45 1997  Erez Zadok  <ezk@americas.psl.cs.columbia.edu>
11921
11922	* amq/amq.c (main): fixed bug that caused the 5 second timeout for
11923	TLI amq using udp to be ignored.
11924	(main): if amq cannot contact remote host's portmapper within 5
11925	seconds, timeout and fail faster than the default longer timeout
11926	(this is for non-TLI systems).
11927
11928Thu Jul 17 17:08:13 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11929
11930	* amq/amq.c (get_secure_amd_client): if amq cannot contact
11931	remote host's portmapper within 5 seconds, timeout and fail faster
11932	than the default TLI timeout of over 4 minutes.
11933
11934	* amd/am_ops.c (ops_showfstypes): added styles for new bsd44
11935	file systems nullfs, unionfs, and umapfs.
11936	(ops_show1): cleanup code and and reuse this function.
11937	(vops): empty placeholders for nullfs, unionfs, and umapfs.
11938
11939	* amd/ops_{nullfs, unionfs, umapfs}.c: 3 new empty templates for
11940	bsd44 style file systems.
11941
11942	* fsinfo/fsinfo.8: man page for fsinfo rewritten from bsd44
11943	sources.
11944
11945	* amd/conf_tok.l, fsinof/fsi_lex.c: undefine ECHO to avoid
11946	conflict with systems that define it in <sys/ioctl.h> and also
11947	define a conflicting one via lex.  Newer versions of f/lex are ok.
11948
11949Wed Jul 16 00:17:45 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11950
11951	* amd/ops_nfs.c (mount_nfs_fh): fill in nfs_args' fields
11952	acdirmin/max and acregmin/max only if they exist.
11953
11954	* aux/configure.in: test for nfs_args fields acdirmin and
11955	acregmin.
11956
11957Tue Jul 15 17:24:09 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11958
11959	* aux/configure.in: commented out checking for MNT2_GEN_OPT_* for
11960	"nondev" and commented back in checking for "nodev".  This was a
11961	typo.
11962
11963	* include/am_compat.h: more compatibility options: define "ro"
11964	mnttab option all the time.  Define "overlay" as needed.  Added
11965	more fillers of mnttab options (as per Daniel S. Riley
11966	<dsr@mail.lns.cornell.edu>), for acdirmax, acdirmin, acregmax,
11967	acregmin, noac, grpid, nosuid, and actimo.
11968
11969	* libamu/mount_fs.c (mnt_flags): fixed a typo in "ro" option as
11970	per dsr@mail.lns.cornell.edu (Daniel S. Riley).  Then cleaned up
11971	the same code for other options in struct opt_tab.
11972
11973Mon Jul 14 22:36:37 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11974
11975	* amd/get_args.c (get_args): moved amd.conf file parsing to before
11976	the switching the default log/debug options.  Suggested by
11977	dsr@mail.lns.cornell.edu (Daniel S. Riley).
11978
11979	* aux/update_build_version: new script to record the build version
11980	of amd, along with the rest of the info thet comes up with amd -v.
11981
11982Sun Jul 13 00:30:24 1997  Erez Zadok  <ezk@decca.damtp.cam.ac.uk>
11983
11984	* aux/macros/os_cflags.m4: new macro, to add additional
11985	compilation options (also used during configuration), based on the
11986	OS and the compiler.  Used for solaris-2.6, osf, and irix6.
11987
11988Fri Jul 11 10:15:11 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11989
11990	* amd/conf_tok.l, conf_parse.y: allow values of keys to include
11991	white spaces, if they are double-quoted (key="some value")
11992
11993	* amd/info_hesiod.c (hesiod_search): cleanup and minor bug fixes
11994	of hesiod from Danny Braniss <danny@cs.huji.ac.il>.
11995
11996Fri Jul 11 02:16:06 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11997
11998	*******************************************************************
11999	*** Released am-utils-6.0a7					***
12000	*******************************************************************
12001
12002Thu Jul 10 12:19:25 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12003
12004	* include/am_defs.h: fill in extern definition of innetgr() in
12005	case system headers don't.
12006
12007	* aux/macros/path_prog_lex.m4 aux/configure.in: using macros that
12008	will show the full pathname to yacc/bison and f/lex.  Some systems
12009	have older or bad versions of those and this way the user will
12010	know for sure what is being invoked.
12011
12012	* tasks: file populated with todo items.
12013
12014	* scripts/amd2ldif.in: Script to convert amd maps to plain text
12015	LDAP object files.  Contributed by Leif Johansson
12016	<leifj@matematik.su.se>.
12017
12018	* aux/config.guess: added recognition for sun3's running 4.2bsd,
12019	from Tom Schmidt <tschmidt@micron.com>.  Fixed one small typo.
12020
12021	* amd/conf.c: several variables that were local to a map, were
12022	also added to [global], where they apply to all maps.  Each map
12023	can then individually override those defaults.  Flags
12024	affected: browsable_dirs and mount_type.  Options affected:
12025	map_type, map_options, and search_path.
12026
12027	* amd/amd.h: eliminated several global flags each of which took an
12028	int, in favor of one global flags variable used as a bit field.
12029
12030	* amd/amd.c (init_global_options): moved all global variables into
12031	a single struct amu_global_options, so it is easier to add new
12032	ones and/or identify existing ones.
12033
12034	* amd/get_args.c (get_args): removed unused amd -m option.
12035
12036	* amd/conf.c (gopt_cluster): added new amd.conf option for cluster
12037	name, same as amd -C.
12038
12039	* amd/info_ldap.c: LDAP info map functions from Leif Johansson
12040	<leifj@matematik.su.se>.
12041
12042	* amd/conf.c (gopt_ldap_base, gopt_ldap_hostports): put in global
12043	amd.conf options for ldap_base and ldap_hostports.
12044
12045	* amd/opts.c (f_netgrp): new amd map function netgrp(ARG) to test
12046	if the current host is in the ARG host netgroup.
12047
12048	* aux/configure.in: some systems replaced dbm in libc with GNU's
12049	libgdbm, so check for libgdbm, but only if dbm_open is not in
12050	libc already.  This was a recommendation from Tom Schmidt
12051	<tschmidt@micron.com>.
12052
12053	* conf/nfs_prot/nfs_prot_sunos5_3.h: port to sparc-sun-solaris2.3
12054	completed.
12055
12056Wed Jul  9 18:14:59 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12057
12058	* port to sparc-unknown-netbsd1.2E done, not tested.  Includes NFS
12059	V.3.
12060
12061Tue Jul  8 17:35:07 1997  Erez Zadok  <ezk@elk.mcl.cs.columbia.edu>
12062
12063	* port to i386-unknown-freebsd3.0 done and working.  Includes NFS
12064	V.3.
12065
12066	* aux/macros/check_nfs_fh_dref.m4: freebsd3 should use
12067	file handle dereferencing style similar to freebsd22.
12068
12069	* include/am_defs.h: need to include <net/if_var.h> before
12070	<netinet/if_ether.h> on freebsd3.
12071
12072	* conf/nfs_prot/nfs_prot_freebsd3.h: new protocol header additions
12073	for freeBSD 3.0.
12074
12075Tue Jul  8 16:53:41 1997  Erez Zadok  <ezk@moisil.cs.columbia.edu>
12076
12077	* amd/info_nis.c (nis_reload): cast nis' callback function so
12078	picky compilers won't complain.
12079
12080	* libamu/xdr_mountres3.c (xdr_mountres3): make sure this function
12081	gets compiled only if the system has NFS V3 and does not have
12082	xdr_mountres3.
12083
12084Tue Jul  8 12:42:03 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12085
12086	* COPYING: put in some legal stuff in this file.
12087
12088Mon Jul  7 19:10:44 1997  Erez Zadok  <ezk@prometheus.soscorp.com>
12089
12090	* NFS V3 now works under Irix5, thanks to patches from
12091	Andreas Stolcke <stolcke@speech.sri.com>.
12092
12093	* conf/mount/mount_irix5.c: sparate mount_irix.c into an irix5
12094	version and an irix6 version, since irix5's NFS V3 code is broken
12095	and hacky.
12096
12097	* amd/info_hesiod.c (hs_zone_transfer): minor fixes to buffer
12098	sizes for some hesiod queries.  Patch from Danny Braniss
12099	<danny@cs.huji.ac.il>.
12100
12101Mon Jul  7 19:04:14 1997  Erez Zadok  <ezk@glory.soscorp.com>
12102
12103	* amd/ops_nfs.c (mount_nfs_fh): fixed NFS V.3 support for bsdi3.
12104
12105Sun Jul  6 14:22:24 1997  Erez Zadok  <ezk@glory.soscorp.com>
12106
12107	* aux/{configure.in,acconfig.h}: added checks for struct
12108	nfs_args's fields proto and sotype (bsdi3).
12109
12110	* amd/ops_nfs.c (mount_nfs_fh): added nfsv3 option to
12111	nfs_args.flags for bsdi3.  Set field proto to 0.  Set sotype field
12112	to SOCK_STREAM or SOCK_DGRAM.
12113
12114	* aux/macros/check_mount_style.m4: add case for bsdi3.
12115
12116	* amd/info_hesiod.c: got hesiod support for bsdi3.
12117
12118Sun Jul  6 11:14:47 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12119
12120	* aux/configure.in: look for hesiod on libc (bsdi3)
12121
12122	* amd/get_args.c (get_args): reformat usage so it fits in 80
12123	columns.
12124
12125	* scripts/ctl-amd.in: changed directory name for optional tftpboot
12126	map to /tftpboot/.amd.
12127
12128Sat Jul  5 17:46:45 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12129
12130	*******************************************************************
12131	*** Released am-utils-6.0a6					***
12132	*******************************************************************
12133
12134Sat Jul  5 03:17:09 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12135
12136	* scripts/ctl-amd.in: include -T tag for tftpboot.
12137
12138	* new port: mips-sgi-irix5.3.  Compiled with gcc, but NFS V3 code
12139	is broken and needs work on the specific nfs_args that irix5 uses
12140	for V3 mounts.
12141
12142Sat Jul  5 01:44:25 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
12143
12144	* amd/get_args.c (get_args): new options amd -T tag.  A map with
12145	tag=foo matching the -T tag will be processed.  All untagged maps
12146	get processed all the time.
12147
12148Fri Jul  4 16:19:26 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12149
12150	* aux/configure.in: need to check for strcasecmp in libucb (ncr2)
12151
12152	* aux/macros/check_os_libs.m4: a new macro to set the usage of
12153	libnsl and libsocket based on the OS.
12154
12155	* libamu/mount_fs.c (mnt_flags): used MNTTAB_OPT_GRPID if it is
12156	defined (problem on osf4).
12157
12158	* conf/nfs_prot/nfs_prot_irix5.h: new file for irix5 headers.
12159
12160	* include/am_defs.h, aux/macros/try_compile_nfs.m4,
12161	aux/macros/mount_headers.m4: do include <sys/proc.h> because it
12162	failes on irix5.  Rather, put in the individual
12163	conf/nfs_prot/nfs_prot_*.h headers.
12164
12165	* amd/conf.c: AIX3 doesn't like strdup() being passed a constant
12166	char*, so cast all strdup()'s args to a non-const char*.
12167
12168	* amd/mapc.c (root_newmap): don't try to strdup only a "const
12169	char *".
12170
12171Fri Jul  4 15:47:10 1997  Erez Zadok  <ezk@americas.psl.cs.columbia.edu>
12172
12173	* conf/nfs_prot/nfs_prot_sunos4.h: added rpc/rpc.h and
12174	sys/errno.h.
12175
12176Thu Jul  3 17:49:00 1997  Erez Zadok  <ezk@prometheus.soscorp.com>
12177
12178	* made sure am-utils compiles, links, and runs properly on Irix
12179	6.2 using "cc -32 -Wl,-woff,"
12180
12181	* aux/macros/check_lib2.m4: a bug fix version to autoconf 2.12
12182	AC_CHECK_LIB.  If OTHER-LIBRARIES are defined and used, then add
12183	them to $LIBS.
12184
12185	* aux/configure.in: some cleanup of which libraries are needed.
12186	Espectially ensure that libnsl is included only on Solaris, where
12187	so far it is the only system on which it is absolutely necessary.
12188	Also no longer need to include libc explicitly.
12189
12190	* amd/amd.c,wire-test/wire-test.c (main): convert IP address to
12191	network-long order before printing it.
12192
12193	* wire-test/wire-test.c (main): also check and report on the IP
12194	address of the local host, since some systems have bad versions of
12195	get_myaddress, or ones that conflict with other versions in
12196	multiple libraries (SunOS 4 and Irix especially).
12197
12198Wed Jul  2 18:19:02 1997  Erez Zadok  <ezk@starblazers.soscorp.com>
12199
12200	* scripts/ctl-amd.in: don't use full pathname so killproc() works
12201	better.  Also run bsd44 and irix style ps programs.
12202
12203	* aux/macros/check_lib_funcs.m4: bug fixed: used to define usage
12204	of library no matter if it was found or not.
12205
12206Wed Jul  2 02:11:48 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12207
12208	* aux/macros/check_mnt2_gen_opt.m4: turned back on the checking
12209	for M_* macros, but ensure that <sys/stream.h> is not included at
12210	all so it won't conflict with other M_* macros.
12211
12212Tue Jul  1 21:16:51 1997  Erez Zadok  <ezk@mako.cs.columbia.edu>
12213
12214	* conf/mount/mount_irix.c (mount_irix): first arg to mount(2) on
12215	irix should be "spec" (host:/path), not the dir of the mnt point.
12216
12217	* amd/ops_afs.c (afs_lookuppn): bug in enable_default_selectors
12218	fixed.  If on, it essentially ignored the setting in a
12219	selector-controlled /defaults if there were 2 or more entries in it.
12220
12221Tue Jul  1 12:23:38 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12222
12223	* scripts/ctl-{amd,hlfsd}.in (killproc): if failed to find process
12224	using BSD style ps, then try SVR4 style ps.
12225
12226	* include/am_utils.h (amuDebug): renamed Debug macro to amuDebug
12227	etc., to avoid conflicts with similar named macros in <ldap.h>.
12228
12229	* aux/configure.in, amd/info_ldap.c, etc.: put in all the autoconf
12230	support needed for LDAP.  Now the code has to be written mostly in
12231	amd/info_ldap.c.
12232
12233	* Included additional patches from Andreas Stolcke
12234	<stolcke@speech.sri.com> to support using the best possible
12235	combination of NFS version (2,3) and protocol (udp,tcp) for any
12236	given host, since it appears that some Irix versions have NFS V3,
12237	but do not support TCP.
12238
12239	* scripts/ctl-amd.in: updated amd control script to look for and
12240	use amd.conf file.
12241
12242Tue Jul  1 00:28:23 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
12243
12244	* amd/mapc.c (mapc_create): now, each map in the amd.conf can be
12245	initialized off of a different type, or default to cycling through
12246	all maps until one of them matches.
12247
12248Mon Jun 30 20:49:13 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
12249
12250	* amd/ops_afs.c (afs_readdir): per-map browsing (readdir) done.
12251	if browsable_dirs=yes is set in the map section in amd.conf, that
12252	map will return all entries back to a readdir(2).
12253
12254Sun Jun 29 16:22:11 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
12255
12256	* rudimentary amd.conf file support included.  You may even
12257	override things like os=sos5, to get "backwards" compatibility with
12258	upl102.
12259
12260Sat Jun 28 13:35:02 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
12261
12262	* amd/conf.c: new file to process amd.conf file.
12263
12264	* amd/get_args.c (get_args): new options -H to print help.
12265
12266	* moved enable_default_selectors to be amd.conf controlled, and
12267	not compiler controlled.
12268
12269	* amd/get_args.c (get_args): new options -F <conf-file> to parse an
12270	amd configuration file.
12271
12272Wed Jun 25 23:15:42 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
12273
12274	* converted all files that used strcmp() == 0 or != 0  to using
12275	the STREQ() macro.
12276
12277Mon Jun 23 22:31:14 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
12278
12279	* aux/macros/check_lib_funcs.m4: new M4 macro that can be used to
12280	search for any number of functions in any given library.
12281
12282Mon Jun 23 01:04:23 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12283
12284	* amd/mapc.c: Included patch from Leif Johansson
12285	<leifj@matematik.su.se> to ensure that systems without an RE
12286	library can compile.
12287
12288	* libamu/mount_fs.c (mount_fs): Included patch from Andreas
12289	Stolcke <stolcke@speech.sri.com>, to ensure that mount options on
12290	table are properly delimited by a comma.
12291
12292	* amd/ops_nfs.c (mount_nfs_fh): Included patch from Andreas
12293	Stolcke <stolcke@speech.sri.com>, to allow users to override the
12294	proto= and vers= mount options.
12295
12296Sun Jun 22 01:00:11 1997  Eric Dana  (edana@ncr2.bgs.com)
12297
12298	* conf/nfs_prot/nfs_prot_svr4.h: port completed to
12299	i486-ncr-sysv4.3.03.  Assorted source cleanups done.
12300
12301	* include/am_defs.h, aux/macros/mount_headers.m4: don't include
12302	mnttab.h if sys/mnttab.h was already included, because on ncr2,
12303	they contain conflicting entries for struct mnttab.
12304
12305Sat Jun 21 23:52:15 1997  Eric Dana  (edana@ncr2.bgs.com)
12306
12307	* aux/macros/check_nfs_prot_headers.m4: added support for ncr2.
12308
12309Fri Jun 20 06:14:17 1997  Erez Zadok  <ezk>
12310
12311	* amd/*.c: lots of 64-bit "ugly" ports like casts to long ints.
12312
12313	* aux/macros/struct_nfs_fh.m4: check for "struct nfssvcfh" because
12314	on DU-4.0 it is better than the next one to be picked (nfsv2fh_t).
12315
12316Wed Jun 18 18:59:49 1997  Erez Zadok  <ezk@defiant.soscorp.com>
12317
12318	* aux/macros/struct_nfs_fh.m4 (AC_TRY_COMPILE_NFS): check for
12319	nfsv2fh_t before fhandle_t becasue on bsdi2.1 the former is
12320	better.
12321
12322Tue Jun 10 17:06:58 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
12323
12324	* amd/rpc_fwd.c (fwd_packet): TLI bug fix. if fwdto socket is
12325	NULL, set the maxlen and len fields in netbuf to zero.
12326
12327Wed May 28 22:52:28 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12328
12329	* scripts/fix-amd-map.in (name): replace all matching patterns on
12330	line.
12331
12332Sun May 25 19:33:41 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12333
12334	*******************************************************************
12335	*** Released am-utils-6.0a5					***
12336	*******************************************************************
12337
12338Sun May 25 13:37:24 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
12339
12340	* amd/amq_subr.c (amqproc_getvers_1_svc): amq's RPC service
12341	procedure now returns the full string that amd -v returns.
12342
12343	* amd/get_args.c (get_version_string): new function to return
12344	complete version/info string so it could be used more flexibly.
12345
12346	* amd/am_ops.c (ops_showamfstypes, ops_showfstypes): put the list
12347	of Fs types into a string buffer, rather than a FILE*.
12348
12349	* amd/mapc.c (mapc_showtypes): put the list of map types into a
12350	string buffer, rather than a FILE*.
12351
12352Sun May 25 01:25:36 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12353
12354	* amd/get_args.c (get_args): amd -v also prints user who built
12355	amd, hostname built on, and date of configuration.
12356
12357Sat May 24 13:40:50 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12358
12359	* scripts/lostaltmail.conf-sample: sample lostaltmail
12360	configuration file.
12361
12362	* scripts/lostaltmail.in: new script lostaltmail used to redeliver
12363	"lost" mail that hlfsd redirected to a temp location because the
12364	primary home file system of the user was full.
12365
12366	* scripts/amd2sun.in: new script amd2sun. Used to convert Sub
12367	automount maps to amd maps.
12368
12369	* scripts/ctl-hlfsd.in: new script ctl-hlfsd.  Used to start,
12370	stop, or restart hlfsd.
12371
12372	* scripts/expn.1: man page for expn command.
12373
12374	* scripts/ctl-amd.in: new script ctl-amd.  Used to start, stop, or
12375	restart amd.
12376
12377	* scripts/expn.in: new script expn.  Actually taken from David
12378	Muir Sharnoff <muir@idiom.com>.  Used by hlfsd's mail re-delivery
12379	script.
12380
12381	* scripts/wait4amd.in: new script wait4amd added.  Waits for amd
12382	to come up on a host, and then runs a command (rsh $hostname by
12383	default).
12384
12385	* scripts/Makefile.am: new directory now holds all shell/perl
12386	scripts that belong to am-utils.
12387
12388	* conf/mount/mount_linux.c (parse_opts): new parser for
12389	linux-specific mounts.  Handles fs-type specific mount-options
12390	correctly.  Currently implemented: msdos, iso9660.
12391
12392	* amd/ops_pcfs.c (pcfs_ops): don't timeout pcfs mounts by default
12393	(fix for linux).
12394
12395	* amd/ops_cdfs.c (cdfs_ops): don't timeout cdfs mounts by default
12396	(fix for linux).
12397
12398	* amd/mapc.c (make_entry_chain): fixed bug that resulted in amd
12399	core dumps upon "ls" of a mount point; an invalid pointer was
12400	being returned and dereferenced.
12401
12402	* port to Linux sparc working!
12403
12404	* hlfsd/homedir.c (hlfsd_diskspace): close file descriptor if
12405	failed to write test file, or else the fd will leak.
12406
12407Sun May 18 00:42:41 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12408
12409	* amd/info_hesiod.c (hs_strip_our_domain): use strcasecmp()
12410	instead of strcmp().
12411
12412	* Port to Digital Unix 4.0 (OSF) done.
12413
12414	* hlfsd/hlfsd.c: renamed dirname to dir_name to avoid conflicts
12415	with dirname() function in <string.h> on OSF systems.
12416
12417	* fsinfo/fsi_util.c (set_ether_if): take out extern definition of
12418	inet_addr().  It should come from <arpa/inet.h> instead.
12419
12420	* conf/mtab/mtab_osf.c: fixed macros and added NFS V3 specs.
12421
12422	* include/am_utils.h: renamed FIRST/LAST to AM_FIRST/AM_LAST to
12423	avoid conflicts with DU 4.0 system header.
12424
12425Thu May 15 22:49:12 1997  Erez Zadok  <ezk@subzero.cs.columbia.edu>
12426
12427	* libamu/mount_fs.c (mount_fs): pass along NFS version so I can
12428	determine if to include additional options in the mount table file
12429	entry (such as proto=tcp, and vers=3).
12430
12431Thu May 15 00:42:12 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12432
12433	* libamu/mount_fs.c (mount_fs): include NFS version number in the
12434	mount table options, as well as proto={tcp,udp}.
12435
12436Wed May 14 14:30:19 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
12437
12438	* NFS V3 code ported to most other systems, so it compiles for V2
12439	and V3 NFS systems.
12440
12441	* NFS VERSION 3 support, first pass.  Working for Solaris and
12442	using TCP.
12443
12444Sun May 11 01:14:29 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
12445
12446	* amq/amq.c: many newline characters were missing from various
12447	stderr printfs.
12448
12449Sat May 10 13:09:06 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
12450
12451	* conf/nfs_prot/nfs_prot_sunos5.h: protocol defintions for
12452	Solaris, which include NFS V3 support.
12453
12454	* conf/nfs_prot/nfs_prot_default.h: default NFS protocol headers.
12455
12456	* conf/transp/transp_{tli,sockets}.c (get_mount_client): use NFS
12457	protocol version while getting a mount client.
12458
12459	* amd/ops_nfs.c (mount_nfs_fh): set the mount types, mnttab types,
12460	file handle size, and proper file handle based on the correct NFS
12461	version number.
12462
12463	* conf/mount/mount_svr4.c (mount_svr4): support NFS3 mounts under
12464	Solaris and other SVR4 systems.
12465
12466	* amd/ops_nfs.c: store NFS file handle version and version
12467	specific handle in struct fh_cache.
12468	(got_nfs_fh): pick the correct RPC reply based on the NFS version
12469	of the server.
12470	(prime_nfs_fhandle_cache): figure out the right NFS file handle
12471	for a node, but now include NFS protocol version information.
12472	(call_mountd): set the correct version for the mount protocol,
12473	based on the NFS protocol version.
12474	(nfs_init): use the NFS protocol generic structure
12475	am_nfs_handle_t.
12476
12477	* include/am_utils.h: new structure am_nfs_handle_t to contain all
12478	possible versions of NFS file handles.
12479
12480	* amd/srvr_nfs.c (start_ping): ping program performs NFS version
12481	specific pings.
12482	(recompute_portmap): figure out the correct portmap version mount.
12483	(nfs_keepalive): call start_ping() with the correct NFS version.
12484	(find_nfs_srvr): if mount option "vers=" is given, use it.  Get
12485	the NFS server version and verify that it is up.
12486
12487	* conf/transp/transp_{tli,sockets}.c (get_nfs_version): a new
12488	function to find the best NFS version for a particular host.
12489
12490	* libamu/amu.h: determine what is the highest version of NFS we
12491	should try.
12492
12493	* include/am_utils.h (NFS_VERSION3): added definition for NFS V3
12494	protocol number.
12495	Added field fs_version to struct fserver, so we can now store the
12496	server protocol version.
12497
12498Fri May  9 01:09:45 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
12499
12500	* aux/macros/check_field.m4 (AC_MOUNT_HEADERS): map '.' (dot) into
12501	underscores too, so I can test for sub-fields.
12502
12503	* libamu/wire.c: use test that checks for sub-fields of struct
12504	ifreq.
12505
12506Sat May  6 10:20:17 2000  Erez Zadok  <ezk@glory.soscorp.com>
12507
12508	* port to BSD/OS 3.0 completed!  Many xdr_ functions were broken
12509	into smaller files.  M4 macros fixed to test for existence of
12510	file systems using getvfsbyname().
12511
12512	* amd/sched.c (sigchld): signal handler must waitpid() for all
12513	possible children.
12514
12515	* hlfsd/homedir.c: signal handler must waitpid() for all possible
12516	children.
12517
12518	* aux/macros/check_restartable_signals.m4: new macro to determine
12519	if need to reinstall signal handlers per OS is better than trying
12520	to figure these out based on system macros.
12521
12522Fri May  5 19:23:28 2000  Erez Zadok  <ezk@glory.soscorp.com>
12523
12524	* amd/ops_nfs.c (mount_nfs_fh): set nfs_args_t version number.
12525
12526	* amd/ops_afs.c (mount_toplvl): set nfs_args_t version number.
12527
12528	* amd/ops_nfs.c (mount_nfs_fh): process nfs mount option resvport
12529	(must be supplied for bsdi 3.0)
12530
12531	* libamu/wire.c: use HAVE_FIELD_STRUCT_IFREQ_IFR_ADDR (and
12532	associated new macro) for determining the right way to compute the
12533	size of the interface structure.
12534
12535Fri Apr 11 15:56:13 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12536
12537	* aux/configure.in: need to include libc before libnsl if
12538	get_myaddress() is available because on irix libnsl has a buggy
12539	get_myaddress().
12540
12541	* include/am_defs.h: make sure REINSTATE_SIGNAL_HANDLER is defined
12542	on Irix 6 (an SVR4 variant)
12543
12544Thu Mar 27 02:28:40 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12545
12546	*******************************************************************
12547	*** Released am-utils-6.0a4					***
12548	*******************************************************************
12549
12550Wed Mar 26 21:15:36 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12551
12552	* amd/amq_subr.c (ok_security): turned off insecure code unless
12553	user explicitly runs configure --enable-amq-mount.
12554
12555	* hlfsd/hlfsd.c (main): use new protoypes dor create_nfs_service().
12556
12557	* amd/nfs_start.c (mount_automounter): use code that separately
12558	creates the NFS and the amq service.  Register tcp and udp
12559	services for amd.
12560
12561	* conf/transp/transp_*.c (create_amq_service): new function to
12562	separately create the amq service for amd.  Simplified prototypes
12563	for create_nfs_service().
12564
12565Wed Mar 19 20:40:56 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12566
12567	*******************************************************************
12568	*** Released am-utils-6.0a3					***
12569	*******************************************************************
12570
12571Wed Mar 19 17:49:18 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12572
12573	* new port: rs6000-ibm-aix3.2.5 and rs6000-ibm-aix4.1.5.0.  Lots
12574	of small changes to support these two.
12575
12576Wed Mar 19 14:33:30 1997  Erez Zadok  <ezk@grande.cs.columbia.edu>
12577
12578	* conf/umount/umount_default.c (umount_fs): bug: unlock_mntlist()
12579	should run if MOUNT_TABLE_ON_FILE, not otherwise.
12580
12581Mon Mar 17 22:02:43 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12582
12583	* hlfsd/hlfsd.c (main): fill in fhsize field if exists
12584	(freebsd-2.2).
12585
12586	* amd/ops_{nfs,afs}.c (mount_toplvl): fill in fhsize field if
12587	exists (freebsd-2.2).
12588
12589Sat Mar 15 19:37:48 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12590
12591	* new port: i386-unknown-freebsd2.2.  FreeBSD 2.2 and higher
12592	changed the filehandle type in struct nfs_args from nfsv2fh_t to
12593	u_char.
12594
12595Sat Mar 14 10:11:03 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12596
12597	* SHARED LIBRARIES: too many changes to list individually.  Now,
12598	libamu can be built as a shared library, and other programs link
12599	with it.
12600
12601Tue Mar 11 22:24:09 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12602
12603	* aux/macros/opt_shared.m4: new macro for setting options for
12604	building shared am-utils libraries.
12605
12606Sun Mar  9 19:17:46 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12607
12608	* fixmount/fixrmtab: cleaned up the script.
12609
12610	* fixmount/Makefile.am (EXTRA_DIST): adde $(sbin_SCRIPTS) so that
12611	fixrmtab gets distributed too.
12612
12613	* conf/nfs_prot/nfs_prot_bsdi2.h: added support for MOUNTPROC_DUMP.
12614	Added extern for xdr_mountlist().
12615
12616	* aux/configure.in: trimmed down many tests for MNT2_GEN_OPT,
12617	MNT2_NFS_OPT, and MNTTAB_OPT that were not referenced anywhere in
12618	the sources.
12619
12620Sat Mar  8 00:23:58 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12621
12622	* fixmount/hlfsd ported to bsd44, hpux, and linux systems.
12623
12624	* aux/macros/check_fixmount_style.m4: add check for bsd44 systems.
12625
12626	* conf/fixmount/fixmount_default.c: use lockf() if flock() is
12627	unavailable.
12628
12629	* include/am_defs.h: include <string.h> even if don't have
12630	STDC_HEADERS defined (sunos4).
12631	(seteuid): define seteuid() to be setresuid() for systems that
12632	have but not the other (hpux).
12633
12634	* aux/macros/check_extern.m4: test should include <strings.h>.
12635
12636Tue Mar  4 17:16:52 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12637
12638	* lib/xutil.c (debug_option): moved from amd/getargs.c to this
12639	more proper file.
12640
12641	* include/am_utils.h: put in structure for debug options, for all
12642	progams to use.
12643
12644	* amd/get_args.c: moved structure for debug options out.
12645
12646Sun Mar  2 00:13:07 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12647
12648	* ported fixmount.
12649
12650	* lib/ualarm.c: replacement function for systems that don't have a
12651	ualarm().
12652
12653	* ported fsinfo.
12654
12655Sun Mar  1 10:23:34 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12656
12657	* ported mk-amd-map.
12658
12659	* buildall: added -K option to buildall, to run mkconf.
12660
12661Fri Feb 28 01:10:25 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12662
12663	*******************************************************************
12664	*** Released am-utils-6.0a2					***
12665	*******************************************************************
12666
12667Thu Feb 27 13:58:59 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12668
12669	* all *.[hcyl] files: add copyright line.
12670
12671	* aux/macros/check_mount_type.m4: test for mount type for
12672	linux-like systems, by checking for loadable or statically linked
12673	kernel filesystem modules.
12674
12675	* aux/macros/check_mnttab_type.m4: test for mount table entry
12676	for linux-like systems, by checking for loadable or statically
12677	linked kernel filesystem modules.
12678
12679	* aux/configure.in: pcfs filesystems can use vfat type (linux)
12680
12681	* aux/macros/check_fs_mntent.m4: test for filesystem existence for
12682	linux-like systems, by checking for loadable or statically linked
12683	kernel filesystem modules.
12684
12685	* conf/trap/trap_hpux.h: ugly hack added because of stupide HPUX
12686	9.0 header files.  This should be removed when HPUX 9.0 is deemed
12687	defunct.
12688
12689	* aux/acconfig.h: set an undefined variable for having an extern
12690	to clnt_sperrno().
12691
12692	* include/am_defs.h: define extern for clnt_sperrno() if needed.
12693
12694	* aux/configure.in: test for extern clnt_sperrno().
12695
12696	* aux/macros/check_nfs_fh_dref.m4: HPUX's NFS fhandle dref is
12697	similar to irix.
12698
12699	* aux/macros/check_mount_style.m4: use mount helper on HPUX.
12700
12701	* aux/macros/check_mtype_type.m4: hpux's mount type is a char*,
12702	not integer (but may be mapped to one later).
12703
12704	* conf/mount/mount_hpux.c (mount_hpux): HPUX has confusing header
12705	files.  They have mount(2) and vfsmount(2) which don't take same
12706	arguments, and they have string mount types MNTTYPE_* as well as
12707	integer types MOUNT_*.  So I need this new mount function to map
12708	from string types to integer types for the vfsmount() function.
12709
12710	* conf/trap/trap_hpux.h (MOUNT_TRAP): instead of calling
12711	vfsmount(), call mount_hpux().
12712
12713Thu Feb 27 03:34:14 1997  Erez "HWank1" Zadok  <ezk@okeeffe.cs.columbia.edu>
12714
12715	* lib/mount_fs.c (mnt_flags): make sure SYNC option is on only if
12716	both MNTTAB_OPT_SYNC and MNT2_GEN_OPT_SYNC are defined.
12717
12718Thu Feb 27 00:26:00 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12719
12720	* conf/nfs_prot/nfs_prot_hpux.h: NFS protocol definitions for
12721	hpux.
12722
12723	* include/am_defs.h: no need to include rpc/auth.h or rpc/clnt.h.
12724
12725	* aux/configure.in: no need to test for rpc/auth.h and rpc/clnt.h.
12726
12727	* buildall: added ability to configure using other shells than
12728	/bin/sh, on those systems where /bin/sh is buggy or limited
12729	(HPUX).
12730
12731	* aux/macros/struct_nfs_fh.m4: reinstated the macro but have it
12732	defined am_nfs_fh, and also test for plain typedef "nfs_fh".
12733
12734	* aux/acconfig.h: #undef am_nfs_fh, which is being defined by a
12735	reinstated macro.
12736
12737	* aux/configure.in: check for <nfs/export.h>
12738
12739	* include/am_defs.h: include <nfs/export.h> (HPUX) if exists.
12740
12741	* aux/macros/try_compile_nfs.m4: include <nfs/export.h> (HPUX) if
12742	exists.
12743
12744	* aux/macros/mount_headers.m4 (define): removed some non-working
12745	(on HPUX) code that attempts to recreate the fhandle_t rather than
12746	load it up from system headers.  Also added some NFS protocol
12747	header inclusion.  include <nfs/export.h> (HPUX) if exists.
12748
12749Wed Feb 26 00:32:35 1997  Erez "HWank1" Zadok  <ezk@okeeffe.cs.columbia.edu>
12750
12751	* aux/macros/mount_headers.m4 (define): Use M4 changequote to
12752	ensure [] brackets are correctly used.
12753
12754	* aux/macros/expand_cpp_{string,hex,int}.m4: encapsulate
12755	multi-line M4 inclusions in [].
12756
12757Tue Feb 25 22:19:44 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12758
12759	* conf/mtab/mtab_bsd.c (mnt_dup): use statfs field f_fstypename if
12760	it exists.
12761
12762	* aux/acconfig.h: HAVE_FIELD_STRUCT_STATFS_F_FSTYPENAME, new
12763	config.h macro for field f_fstypename of struct statfs.
12764
12765	* aux/configure.in: testing for field f_fstypename field of struct
12766	statfs (NetBSD).
12767
12768	* aux/acconfig.h: moved all of the "static" definitions out to a
12769	fixed file called include/am_defs.h.  Added to all */Makefile.am
12770	files a dependency on am_defs.h.  Created am_defs.h of course, and
12771	then added #include <amd_defs.h> to all of the source and header
12772	files that required it.
12773
12774Mon Feb 24 01:27:02 1997  Erez Zadok  <ezk@defiant.soscorp.com>
12775
12776	* aux/acconfig.h: two more externals for xdr functions that may be
12777	implemented by libamu.
12778
12779	* conf/nfs_prot/nfs_prot_bsdi2.h: added missing RPC and XDR
12780	definitions.
12781
12782Sun Feb 23 15:25:26 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12783
12784	* buildall (default): added -D option for turning on even stricker
12785	developer options.
12786
12787	* */Makefile.am: make sure @AMU_NFS_PROT_HEADERS@ is used to
12788	determine dependencies on optional NFS protocol headers.
12789
12790	* aux/acconfig.h: define and use HAVE_NFS_PROT_HEADERS as needed.
12791
12792	* aux/macros/check_nfs_prot_header.m4: new test to determine what
12793	NFS protocol headers to use.
12794
12795	* conf/nfs_prot/nfs_prot_{irix6,sunos4,bsdi2}.h: new headers to
12796	complete missing system headers for NFS protocol definitions.
12797
12798Sun Feb 16 15:58:42 1997  Erez "HWank1" Zadok  <ezk@vir.cs.columbia.edu>
12799
12800	* amd/ops_nfs.c (mount_nfs_fh): encapsulated some more code in
12801	#ifdef's as needed.
12802
12803	* amd/ops_afs.c (mount_toplvl): make sure TIMEO/RETRANS code is
12804	suitable #ifdef'ed.
12805
12806	* include/am_compat.h: a couple more mnttab options
12807	(timeo/retrans) setting just in case.
12808
12809	* amd/autil.c (host_normalize): make sure hostent->h_name is
12810	passed a non-const char *.
12811
12812	* conf/mount/mount_linux.c (mount_linux): cleaned up a block of code.
12813
12814	* {lib,amq,amd}/*.c (many functions): cast xdr_entry to
12815	XDRPROC_T_TYPE.
12816
12817	* lib/nfs_prot_svc.c (nfs_program_2): cast xdr_entry to
12818	XDRPROC_T_TYPE.
12819
12820	* lib/nfs_prot_xdr.c (xdr_entry): cast xdr_entry to
12821	XDRPROC_T_TYPE.
12822
12823	* lib/wire.c (getwire): Make sure safe assignment from const to
12824	none is done.
12825
12826Sat Feb 15 19:38:51 1997  Erez "HWank1" Zadok  <ezk@vir.cs.columbia.edu>
12827
12828	* aux/macros/expand_cpp_int.m4: new macro for expanding integers.
12829
12830	* aux/configure.in: added linux/fs.h support in configure and
12831	several M4 macros.
12832
12833	* conf/mount/mount_linux.c (mount_linux): use macro instead of
12834	"ugly" fixed hex number for mount() arguments.
12835
12836Sat Feb 15 02:09:47 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12837
12838	* amd/info_hesiod.c: removed macro HAVE_HS_ZONE_TRANSFER and
12839	turned all of its code always on.  That code always seems to
12840	compile, as long as you have hesiod and libresolv.
12841
12842	* amd/mapc.c: removed macro HAVE_HS_ZONE_TRANSFER and turned all
12843	of its code always on.
12844
12845	* aux/configure.in: removed superfluous test for hs_zone_transfer
12846	function (will never find it because it is an amd-internal
12847	function).
12848
12849	* amd/mapc.c (maptypes): must used correct new name for am-utils'
12850	hesiod initialization function: hesiod_am_init.
12851
12852	* amd/info_hesiod.c (hesiod_am_init): renamed hesiod_init to
12853	hesiod_am_init so as not to conflict with libhesiod's
12854	hesiod_init() function.
12855
12856	* aux/configure.in: added test and explicit inclusion of
12857	libresolv.a for later resolution of library references with
12858	libhesiod.
12859
12860	* aux/macros/opt_cppflags.m4: new file.  configure/compile C
12861	preprocessor flags.
12862
12863	* aux/macros/opt_libs.m4: new file.  configure/compile library
12864	flags.
12865
12866	* Makefile.am (EXTRA_DIST_AUX): include two new macros
12867	opt_cppflags.m4 and opt_libs.m4.
12868
12869	* aux/configure.in: test for libhesiod needs to additional
12870	libresolv to link completely.  Additional configuration time
12871	options added for setting initial CPPFLAGS and LIBS.
12872
12873Tue Feb 10 02:15:40 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12874
12875	*******************************************************************
12876	*** Released am-utils-6.0a1					***
12877	*******************************************************************
12878
12879Thu Feb  6 02:55:19 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12880
12881	* amd/info_ndbm.c (ndbm_search,ndbm_init): fixed the code so that
12882	it works on freebsd, where they map dbm_pagfno a non-existing
12883	macro on purpose, to force you to port the code to Berkeley DB.
12884
12885Fri Jan 31 01:35:09 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12886
12887	* amd/ops_afs.c (mount_toplvl): added a sleep(1) right before the
12888	actual mount_toplvl, to avoid some possible race conditions.
12889
12890Thu Jan 30 02:31:49 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12891
12892	* amd/rpc_fwd.c: removed all TLI (HAVE_T_OPEN) code.
12893
12894Wed Jan 29 18:25:07 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12895
12896	* lib/wire.c (getwire): removed HAVE_T_OPEN (TLI code)
12897
12898	* amd/amd.c (main): fix local address using htonl(). Free up
12899	buffers allocated by netdir_*() functions.
12900
12901Wed Jan 22 23:53:24 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12902
12903	* amd/fix-amd-map.in: new script that will convert old-style amd
12904	maps to new one.
12905
12906Tue Jan 21 01:18:16 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12907
12908	* FIRST AMD IN AM-UTILS FINALLY WORKS (mounts itself as toplvl,
12909	and replies back to simple nfs/link type mount queries).
12910
12911	* conf/mtab/mtab_svr4.c: reorganized the code in this file to be
12912	easier to read, and fixed a few bugs with un/setting the lock file
12913	descriptor.
12914
12915Wed Jan  8 15:27:49 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12916
12917	* amd/sched.c: removed HAS_SVR3_SIGNALS code to handle older
12918	signals in Svr3 systems.  Only stellix ever used this.
12919
12920	* amd/rpc_fwd.c (fwd_reply): removed all code that was triggered
12921	by DYNAMIC_BUFFERS, since it was not in use.
12922
12923Tue Jan  7 00:45:59 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12924
12925	* amd/opts.c (eval_opts): removed AMD_COMPAT code.  Amd no longer
12926	takes '=' sign as old selector.  Fix your maps.
12927	(deslashify): removed APOLLO code that treated two '//' as one.
12928
12929Sun Jan  5 01:25:09 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12930
12931	* amd/ops_nfsx.c (nfsx_init): removed HARD_NFSX_ERRORS, code which
12932	was not used.  It made any submount error fail the whole group.
12933
12934	* amd/ops_nfs.c (make_nfs_auth): removed code dependent on
12935	HAS_NFS_QUALIFIED_NAMES.
12936	(mount_nfs_fh): removed macro for NFS_ARGS_NEEDS_PATH, assuming it
12937	is never on.  So code that was triggered by #ifndef
12938	NFS_ARGS_NEEDS_PATH (osf1, aix3, and bsd44 variants) may have to
12939	be fixed later.
12940	Removed all ULTRIX_HACK code.  Ultrix is DEAD!
12941	removed all PRESET_AC code, which was only on for Linux to preset
12942	the attribute cache values (otherwise they default to zero).
12943	(nfs_umounted): revobed KICK_KERNEL code (IRIX systems).  Will
12944	have to fixed up later.
12945	(mount_nfs_fh): removed code that was never included, which
12946	attempted to set the port on which amd's nfs mounts on.  This
12947	isn't supported by the ping algorithm yet.  In any case, it is all
12948	done in nfs_init().
12949
12950	* amd/srvr_nfs.c (find_nfs_srvr), amd/ops_nfs.c (mount_nfs_fh):
12951	removed HAS_TCP_NFS code.  The whole use of NFS V.3 with TCP or
12952	specially hacked NFS V.2 that uses TCP (BSD 4.4 variants) will
12953	have to be addressed later.
12954
12955	* amd/nfs_subr.c (nfsproc_getattr_2): removed all code dependent
12956	on PRECISE_SYMLINKS.
12957
12958	* amd/mapc.c (mapc_meta_search): removed code that depended on
12959	HAS_DEPOT.  It is known buggy code.  The whole DEPOT support needs
12960	to be rethought.
12961	(mapc_add_kv): ported code to use standard regular expression
12962	(regexp) library.
12963
12964	* amd/{map.c,ops_sfs.c,ops_ufs.c}: removed all code dependent on
12965	FLUSH_KERNEL_NAME_CACHE and the macro itself.
12966
12967Sat Jan  4 15:46:58 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12968
12969	* amd/map.c (exported_ap_alloc): removed all code triggered by
12970	SHRINK_EXPORTED_AP and the macro itself.
12971
12972	* amd/info_nis.c: removed HAS_NIS_RELOAD macro, and left the code
12973	in all the time.  Assuming that there is always NIS realod
12974	available.
12975	(yp_all_fixed): removed code for BROKEN_YP_ALL.  If your yp_all()
12976	function is broken such that it does not release filedescriptors
12977	it created, then you are hosed.  Get a fix for yp_all from your
12978	vendor or switch operating systems.
12979
12980Tue Dec 31 15:34:36 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12981
12982	* amd/info_hesiod.c: renamed macro HAS_HESIOD_RELOAD to
12983	HAVE_HS_ZONE_TRANSFER.
12984
12985Mon Dec 30 17:33:23 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12986
12987	* amd/{nfs,host}_ops.cremoved INFORM_MOUNTD macro, so its code is
12988	always included.  We should always try to inform the remove mount
12989	daemon of mounts we performed.  If we want an option for this, it
12990	should be a run-time option.
12991
12992	* amd/host_ops.c: removed all that optionally did not make the
12993	directory mount points for amd.
12994
12995	* HOST_EXEC code removed from everywhere.  There is no indication
12996	that it was used anywhere.  If it needs to be used, then a
12997	run-time switch should control it.
12998
12999Thu Dec 26 00:06:52 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
13000
13001	* amd/*_ops.c: removed all references to mntent_t's fields
13002	mnt_freq and mnt_passno, since they are no longe rused (and never
13003	have been).
13004
13005	* amd/am_ops.c: removed function sunos4_match, which was off
13006	anyway.  This was one of the places where an '=' sign was allowed
13007	as an assignment operator (which is now ':=').
13008
13009	* amd/afs_ops.c (afs_bgmount): removed SUNOS4_COMPAT code which
13010	was off anyway.  This was one of the places where an '=' sign was
13011	allowed as an assignment operator (which is now ':=').
13012
13013Tue Dec 24 01:53:52 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
13014
13015	* amq/amq.c: ported to am-utils.  Working.
13016
13017	* conf/mount/mount_svr4.c (mount_svr4): changed mount type on svr4
13018	to be string, as it should be (rather than a string mapped to int
13019	and back mapped to string).
13020
13021Sun Dec 22 13:26:05 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
13022
13023	* lib/mount_fs.c (mount_fs): removed MNTINFO_PREF code.
13024
13025	* lib/umount_fs.c: split this into three files: default, osf, and
13026	bsd44, that are in conf/umount/umount_*.c.
13027
13028Thu Dec 19 17:33:46 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
13029
13030	* aux/configure.in, aux/aclocal.m4, aux/acconfig.h: added new
13031	macro to automatically figure out if an external definition for
13032	sys_errlist[] exists.
13033
13034	* lib/xutil.c (xfree): removed "#undef free" because it's not
13035	needed there.  Any system that redefines free() needs help.
13036
13037	* conf/mtab/mtab_file.c (REWRITE_MTAB_IN_PLACE): removed code that
13038	was dependent on REWRITE_MTAB_IN_PLACE.  It does not appear to be
13039	in active use anywhere.  If added later, it should be a run-time
13040	configuration option.
13041
13042	* conf/mtab/mtab_mach3.c: removed code that was #ifdef'ed not to
13043	be MOUNT_TABLE_ON_FILE, since mach2 always stores its mount tables
13044	in a file in /etc.
13045
13046	* lib/util.c (str3cat): removed _AIX code.  AIX should have a
13047	working realloc, or else find a cleaner solution to this.
13048	(mkdirs): removed SUNOS4_WORKAROUND code.  This was to do a sync()
13049	after immediately making directories so that fsck will be able to
13050	fix the filesystem in the event of an immediate crash.  This was
13051	because a bug in UFS which is fixed by now.
13052
13053	* lib/hutil.c (domain_strip): removed PARTIAL_DOMAINS triggered
13054	code.  Does not appear to be on and used anywhere.
13055	(dofork): removed MACH3 code, b/c mach3 NFS bugs are fixed by now.
13056
13057	* lib/resvport.c: split the binding of reserved ports code to a
13058	separate file.  A #define (HAVE_T_OPEN) separates the TLI (SVR4)
13059	from the BSD code.
13060
13061Thu Dec 19 02:08:35 1996  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
13062
13063	* lib/Makefile.am (amu_LIBADD): includs @LIBOBJS@ now, auto-filled
13064	in by automake and configure, for optional sources that need to be
13065	built as part of libamu.a.
13066
13067	* aux/aclocal.m4: Make sure AC_CHECK_MOUNT_STYLE adds mountutil.o
13068	to LIBOBJS.
13069
13070	* lib/memcmp.c (memcmp): new file added to replace a possible bad
13071	implementation of memcmp.
13072
13073Wed Dec 18 22:20:23 1996  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
13074
13075	* converted the sources to use memset/memmove/memcmp instead of
13076	bzero/bcopy/bcmp.
13077
13078	* ran all sources through gnu Indent w/ options specified in
13079	aux/amindent.
13080
13081Wed Dec 11 22:19:29 1996  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
13082
13083	* At this point the initial generation of config.h via autoconf and
13084	some preliminary makefiles via automake is done.  I will not begin
13085	modifying sources, so it's a good time to document from here.
13086
13087Wed Dec 10 22:19:29 1996  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
13088
13089	*******************************************************************
13090	*** Initial ChangeLog Entry					***
13091	*******************************************************************
13092