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