]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/amd/ChangeLog
This commit was generated by cvs2svn to compensate for changes in r51292,
[FreeBSD/FreeBSD.git] / contrib / amd / ChangeLog
1 1999-09-08  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2
3         *******************************************************************
4         *** Released am-utils-6.0.1                                     ***
5         *******************************************************************
6
7 1999-09-08  Erez Zadok  <ezk@cs.columbia.edu>
8
9         * aux/macros/mount_headers.m4: bsdi-2.1 needs MAXQUOTAS and struct
10         netexport defined.
11
12         * aux/macros/try_compile_anyfs.m4: bsdi-2.1 needs MAXQUOTAS and
13         struct netexport defined.
14
15 1999-09-07  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
16
17         * aux/macros/check_field.m4 (ac_upcase_var_name): include
18         <ifaddrs.h> so we can detect fields within struct ifaddrs.
19
20         * libamu/wire.c (getwire): bsdi-2.1 uses a second arg to
21         getifaddrs() and struct ifaddrs has no ifa_next field.
22
23         * aux/configure.in: check if 'struct ifaddrs' has a field
24         ifa_next.
25
26         * include/amq_defs.h (AMQ_STRLEN): double size of amq string
27         length to 2048 bytes.
28
29         * conf/nfs_prot/nfs_prot_netbsd1_4.h: include several more nfs
30         header files and ufs/ufs/ufsmount.h.  Bug reported by <Christos
31         Zoulas> christos@zoulas.com.
32
33         * aux/macros/try_compile_anyfs.m4: include <ufs/ufs/ufsmount.h>.
34         Bug reported by <Christos Zoulas> christos@zoulas.com.
35
36         * aux/macros/mount_headers.m4: include <ufs/ufs/ufsmount.h>
37
38 1999-09-06  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
39
40         * libamu/xutil.c (expand_error): use strerror if available instead
41         of sys_errlist.  Bug reported by <Christos Zoulas>
42         christos@zoulas.com.
43
44         * hlfsd/hlfsd.c (fatal): use strerror if available instead of
45         sys_errlist.
46
47         * amq/amq.c (show_mi): use strerror if available instead of
48         sys_errlist.
49
50         * aux/macros/check_nfs_prot_headers.m4: make sure netbsd1.4
51         nfs_prot header is used for any future (1.5 etc.) netbsd systems.
52
53         * amq/pawd.c (find_mt): check for type nfsl as well.  Fix from
54         "Andrew J. Korty" <ajk@purdue.edu>
55
56 1999-08-29  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
57
58         * doc/am-utils.texi (Supported Platforms): updates for redhat
59         systems.
60
61         * INSTALL: updates for redhat systems.
62
63         * libamu/wire.c (getwire_lookup): spell "succeeded" correctly
64
65 1999-08-28  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
66
67         * scripts/ctl-amd.in: sleep 1 second between killing amd and
68         restarting it, because amq may respond that amd is down, where in
69         fact it is still trying to unmount itself after unmapping itself
70         from the portmapper.
71
72         * aux/config.guess.long: new script to print long version of
73         config.guess output.
74
75         * buildall (host_alias): use long version of config.guess.
76
77 1999-08-27  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
78
79         * scripts/ctl-{amd,hlfsd}.in: update RH tags for start/stop
80         scripts.
81
82 1999-08-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
83
84         * released snapshot am-utils-6.0.1s11
85
86         * libamu/xutil.c (expand_error): make sure expanding the string
87         with textual version of errno doesn't overrun the 1024 bytes
88         buffer.
89         (real_plog): null terminate msg, just in case.
90
91         * amq/amq.c (main): don't getopt -M option and don't process it
92         unless ENABLE_AMQ_MOUNT is on.
93
94         * amd/amq_svc.c (amq_program_1): all code that relates to amq -M
95         is conditional on #ifdef ENABLE_AMQ_MOUNT.
96
97         * amd/amq_subr.c: remove amqproc_mount_1_svc() function invoked
98         when amq -M code is disabled.  Not taking any chances.
99
100 1999-08-23  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
101
102         * released snapshot am-utils-6.0.1s10
103
104 Sun Aug 22 16:18:59 1999  Erez Zadok  <ezk@subzero.cs.columbia.edu>
105
106         * libamu/wire.c (getwire_lookup): if getnetbyaddr failed (e.g., on
107         128.59.16.0), try to shift the network out of zeros (e.g.,
108         128.59.16) and try again.  Irix 6.4 requires short network
109         numbers.
110
111 1999-08-22  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
112
113         * libamu/wire.c (getwire_lookup): correctly compute subnet using
114         netmask.
115
116         * libamu/mount_fs.c (compute_automounter_nfs_args): require that
117         Amd's own NFS mounts use reserved ports (if possible).  IP packet
118         security fix from Jeffrey C Honig <jch@BSDI.COM>.
119
120         * conf/transp/transp_tli.c (create_autofs_service): use correct
121         autofs_port.  IP packet security fix from Jeffrey C Honig
122         <jch@BSDI.COM>.
123
124         * conf/transp/transp_sockets.c (bindnfs_port): remove unnecessary
125         function.  IP packet security fix from Jeffrey C Honig
126         <jch@BSDI.COM>.
127         (create_nfs_service): use bind_resv_port() directly.  ensure that
128         privileged ports are used.  IP packet security fix from Jeffrey C
129         Honig <jch@BSDI.COM>.
130
131         * amd/nfs_prot_svc.c (nfs_program_2): verify that requests come
132         from reserved ports and from a local IP address.  IP packet
133         security fix from Jeffrey C Honig <jch@BSDI.COM>.
134
135         * amd/amq_subr.c (ok_security): use IPPORT_RESERVED, instead of
136         hard-coded 1024.  IP packet security fix from Jeffrey C Honig
137         <jch@BSDI.COM>.
138         (amqproc_mount_1_svc): provide information on the caller making an
139         amq -M request.  IP packet security fix from Jeffrey C Honig
140         <jch@BSDI.COM>.
141
142         * amd/map.c (free_map_if_success): If the program doing an unmount
143         of a program filesystem fails, amd tries to interpret the return
144         code as an errno.  Fix from Jeffrey C Honig <jch@BSDI.COM>.
145
146         * amd/info_nis.c (determine_nis_domain): don't always print
147         warning about NIS domain name not being set, even if NIS is not in
148         use.
149
150 1999-08-21  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
151
152         * amd/info_ldap.c (get_ldap_timestamp): initialize variable err.
153         (amu_ldap_search): initialize variable err.
154
155 1999-08-16  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
156
157         * libamu/wire.c: written using getifaddrs() for BSD systems,
158         contributed by BSDI, Jeffrey C Honig <jch@BSDI.COM>).
159
160 1999-08-15  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
161
162         * include/am_utils.h (SALLOC): a simple macro to allocate N bytes.
163
164         * aux/configure.in: check for irs.h and ifaddrs.h.
165         Increase libamu.so --version-info to 3:1:1 since we've changed the
166         source code for the library.
167         Check for getifaddrs() function.
168
169 1999-08-14  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
170
171         * libamu/mount_fs.c (print_nfs_args): print fields namlen and
172         bsize if they exist.
173
174         * conf/mount/mount_linux.c (mount_linux): set nfs_args_t->namlen
175         and ->bsize fields correctly, if those fields exist.  This is a
176         bug in that amd neglected to set these fields, but told the
177         kernel it is mounting the nfs_args_t structure using mount version
178         3 (which requires both bsize and namlen fields).
179
180         * aux/configure.in: test for two new nfs_args_t fields (used on
181         newer linux with mount versions 2 and 3): bsize and namlen.
182
183         * doc/am-utils.texi (netgrpd Selector Function): document new
184         selector function.
185
186         * amd/opts.c (f_netgrpd): new amd map function netgrpd(ARG) to
187         test if the current host (fully-qualified name) is in the ARG host
188         netgroup.  The netgrp() function uses the short form of a host
189         name.  Patch from Christophe Kalt <Christophe-Kalt@deshaw.com>.
190
191         * doc/am-utils.texi (automount2amd): document new script.
192
193         * scripts/Makefile.am: create, install, and distribute
194         automount2amd perl script and its man page.
195
196         * scripts/automount2amd.8: new man page for automount2amd.
197
198         * scripts/automount2amd.in: new file, contributed a in 1993 by
199         Mike Walker <mike@tab00.larc.nasa.gov>.  Fixed to use addopts for
200         any automount map options specified.
201
202 1999-08-09  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
203
204         * released snapshot am-utils-6.0.1s9
205
206 1999-08-09  Erez Zadok  <ezk@beetle.mcl.cs.columbia.edu>
207
208         * amd/amfs_auto.c (DOT_DOT_COOKIE): set the NFS cookie of '..' to
209         1.
210         (amfs_auto_readdir): use DOT_DOT_COOKIE instead of (u_int)~0.
211         (amfs_auto_readdir_browsable): use DOT_DOT_COOKIE instead of
212         (u_int)~0.
213
214         * amd/mapc.c (make_entry_chain): NFS cookies should be
215         monotonically increasing, because Linux 2.3 expects that, even
216         though it is not in the spec (RFC-1094) for NFS V2.
217
218 1999-08-06  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
219
220         * aux/macros/check_lib_funcs.m4: removed unused macro.
221
222         * aux/macros/linux_headers.m4: new macro to ensure that linux
223         kernel headers match running kernel version.
224
225         * aux/acconfig.h: define HOST_HEADER_VERSION so we can check if
226         amd is configured on linux hosts that run one kernel but have
227         headers for a different version.
228
229         * amd/info_nis.c (nis_isup, nis_search, nis_init): fixes for the
230         logic which uses nis_isup and has_yp_order.  Make sure it is used
231         correctly , esp. for NIS+ in NIS-compatibility mode.  Bug fix from
232         Peter Breitenlohner <peb@mppmu.mpg.de>.
233
234         * include/am_defs.h: fix conflicts on linux 2.2 systems with older
235         libc5.  Bug fix from Peter Breitenlohner <peb@mppmu.mpg.de>.
236
237         * scripts/lostaltmail.in: use sockaddr_in(), not pack() to
238         correctly fill in a struct sockaddr_in.  On Solaris x86 hosts,
239         using pack() results in byte-misaligned values.
240
241 1999-08-02  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
242
243         * conf/mtab/mtab_aix.c (mnt_dup): add support for nfs3
244         mounting, as per Dale Talcott <aeh@quest.cc.purdue.edu>.  Also use
245         better macros for case statement.
246
247         * conf/nfs_prot/nfs_prot_sunos5_7.h: don't include ldap structures
248         unless ldap is actually available.
249
250         * use updated config.guess and config.sub.  Use newer automake
251         that fixes problems with distributing optional libamu files
252         (clnt_sperrno.c, hasmntopt.c, strcasecmp.c, strdup.c, strstr.c,
253         and ualarm.c)
254
255 1999-07-19  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
256
257         * minor port i386-unknown-openbsd2.5
258
259 1999-07-17  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
260
261         * minor ports to freebsdelf 3.[0-2] and 4.0 completed
262
263         * aux/macros/check_nfs_prot_headers.m4: support freebsdelf
264
265         * aux/macros/check_nfs_socket_connection.m4: support freebsdelf
266
267 1999-06-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
268
269         * released snapshot am-utils-6.0.1s8
270
271 1999-06-23  Erez Zadok  <ezk@beetle.mcl.cs.columbia.edu>
272
273         * include/am_defs.h: avoid various header conflicts on
274         RedHat/Linux 6.0 and kernels 2.2.10 or newer.
275
276         * aux/configure.in: look for <db1/ndbm.h> (RedHat/Linux 6.0 and
277         kernel 2.2.10)
278
279         * amd/amfs_program.c (amfs_program_exec): make sure logfp is
280         initialized dynamically to stderr if needed.
281
282         * libamu/xutil.c (dplog): make sure logfp is initialized
283         dynamically to stderr if needed.
284         (plog): ditto.
285
286         * amd/amfs_program.c (amfs_program_exec): set logfp to stderr if
287         not initialized.
288
289         * libamu/xutil.c: don't initialize logfp statically to stderr,
290         because on RedHat/Linux 6.0 (kernel 2.2.10) stderr can no longer
291         be manipulated like a variable.
292
293         * include/am_defs.h: avoid more conflicts between <linux/fs.h> and
294         <sys/mount.h> on 2.2 linux kernels.
295         include <db1/ndbm.h> as needed (RedHat/Linux 6.0)
296
297 1999-04-20  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
298
299         * all Makefile.am: use AMU_NFS_PROT_HEADER (not *_HEADERS)
300
301         * aux/macros/check_nfs_prot_headers.m4 (AMU_NFS_PROT_HEADER):
302         renamed AC_SUBST name from *_HEADERS to *_HEADER so that automake
303         won't attempt to add it to the header files to distribute.
304
305 1999-04-19  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
306
307         * aux/GNUmakefile: invoke aclocal with new --altdir flag.
308
309 1999-04-16  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
310
311         * minor new port: i386-unknown-netbsd1.4 (ALPHA)
312
313         * aux/macros/check_field.m4: no need to include <cdfs/cdfsmount.h>
314         and <isofs/cd9660/cd9660_mount.h> because they are also included
315         from MOUNT_HEADERS.  Causes multiple inclusion of unprotected
316         headers on netbsd-1.4_ALPHA.
317
318 1999-04-15  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
319
320         * aux/macros/extern_sys_errlist.m4 (pattern): netbsd-1.4_ALPHA's
321         sys_errlist extern doesn't end with [].
322
323         * aux/macros/check_nfs_prot_headers.m4: netbsd 1.4 support.
324
325 1999-04-11  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
326
327         * newer automake wants texinfo.tex to be in aux/ not doc/
328
329 1999-03-30  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
330
331         * amd/conf_parse.y: alloca support.
332
333         * fsinfo/fsi_gram.y: alloca support.
334
335         * libamu/Makefile.am (libamu_la_LIBADD): compile alloca.o if
336         needed.
337
338         * aux/configure.in: test for alloca support.  Needed because bison
339         generates parsers that use alloca, and hpux9 does have alloca and
340         its /bin/cc doesn't support it builtin (the way gcc does).
341
342         * libamu/alloca.c: new file, needed on hpux9 with /bin/cc.  Taken
343         verbatim from bison-1.25.
344
345         * include/am_defs.h: fixed typo #errir -> #error
346
347         * released snapshot am-utils-6.0.1s7
348
349         * README.y2k: more information about am-utils' compatibility, from
350         Paul Balyoz <pbalyoz@sedona.ch.intel.com>.
351
352         * scripts/lostaltmail.in (Splice_in_resent_headers): ensure Y2K
353         compliant format.  Patch from Paul Balyoz
354         <pbalyoz@sedona.ch.intel.com>
355
356         * doc/am-utils.texi (Supported Platforms): hpux10.20 could have
357         nfs v.3 support (with some vendor patches), but it is turned off.
358
359         * aux/macros/os_cflags.m4: use ansi compiler options on hpux.
360
361         * conf/nfs_prot/nfs_prot_hpux.h: Turn off NFS V.3 support to avoid
362         confusing am-utils.  10.20 with some patches has incomplete
363         support.  Patch from Jon Peatfield
364         <J.S.Peatfield@damtp.cam.ac.uk>.
365
366 1999-03-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
367
368         * minor port i386-pc-bsdi4.0.1
369
370 1999-03-20  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
371
372         * doc/am-utils.texi (Supported Platforms): add forgotten listing
373         for powerpc-linux.
374
375 1999-03-18  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
376
377         * scripts/amd.conf.5: fix typo.  From Jeffrey C Honig
378         <jch@BSDI.COM>.
379
380         * doc/am-utils.texi: document iso9660 options norrip, gens, and
381         extatt.
382         (opts Option): documented dumbtimr and noauto options.  From
383         Jeffrey C Honig <jch@BSDI.COM>.
384
385         * include/am_compat.h: define default strings for options norrip,
386         gens, and extatt.
387
388         * amd/ops_cdfs.c (mount_cdfs): support options norrip, gens, and
389         extatt.
390
391         * aux/macros/mount_headers.m4: also include
392         <isofs/cd9660/cd9660_mount.h> as needed.
393
394         * aux/configure.in: check for isofs mount options for bsdi4:
395         norrip, gens, and extatt.  Reported by Jeffrey C Honig
396         <jch@BSDI.COM>.
397
398         * aux/macros/check_mnt2_cdfs_opt.m4: check for ISOFSMNT_* flags
399         (bsdi4).
400
401 1999-03-17  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
402
403         * conf/nfs_prot/nfs_prot_freebsd3.h: ditto.
404
405         * conf/nfs_prot/nfs_prot_bsdi3.h: include <ufs/ufs/ufsmount.h>,
406         for bsdi4, as per Jeffrey C Honig <jch@BSDI.COM>.
407
408 1999-03-15  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
409
410         * get latest copies of config.guess, config.sub, ltconfig, and
411         ltmain.sh from libtool-1.2f.
412
413         * all Makefile.am: don't use continuation lines (using \) for
414         short lists of files.
415
416         * libamu/Makefile.am (DISTCLEANFILES): make distclean should
417         remove mountutil.c, mtabutil.c, transputil.c, and umount_fs.c.
418         Reported by Jeffrey C Honig <jch@BSDI.COM>.
419
420         * fixmount/Makefile.am (DISTCLEANFILES): make distclean should
421         remove checkmount.c.  Reported by Jeffrey C Honig <jch@BSDI.COM>.
422
423         * Makefile.am (DISTCLEANFILES): make distclean should remove
424         amu_nfs_prot.h, config.cache.old, and dbgcf.h.  Reported by
425         Jeffrey C Honig <jch@BSDI.COM>.
426
427 1999-03-13  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
428
429         * released snapshot am-utils-6.0.1s6
430
431 1999-03-12  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
432
433         * INSTALL: document freebsdelf.
434
435         * doc/am-utils.texi (Supported Platforms): document freebsdelf.
436
437 1999-03-08  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
438
439         * minor new ports: i386-unknown-freebsdelf3.1 and
440         i386-unknown-freebsdelf4.0
441
442         * aux/macros/check_nfs_prot_headers.m4: freebsd4 support.
443
444         * aux/macros/check_nfs_socket_connection.m4: freebsd4 support.
445
446         * aux/macros/check_nfs_fh_dref.m4: freebsd4 support.
447
448         * amd/opts.c (eval_opts): changed log level of "executing
449         negated..." message from USER to INFO, as per Guntram Wolski
450         <gwolsk@sei.com>.
451
452 1999-02-17  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
453
454         * */Makefile.am (LDADD): force linking against an installed
455         libamu.{a,so}.
456
457         * doc/am-utils.texi (addopts Option): document remopts interaction
458         with addopts.
459
460         * amd/am_ops.c (ops_match): if addopts are specified, apply them
461         to the value of remopts as well as opts.
462
463         * amd/ops_nfs.c (mount_nfs_fh): tell users when remopts are used.
464
465 1999-02-05  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
466
467         * released snapshot am-utils-6.0.1s5
468
469         * conf/mount/mount_linux.c (mount_linux): set default nfs_args
470         options for ac{reg,dir}{min,man} as per the mount-2.8a package,
471         but only if noac option was not used.
472
473 1999-02-05  Erez Zadok  <ezk@retro.cs.columbia.edu>
474
475         * conf/mount/mount_linux.c (mount_linux): print nfs_args again
476         since it was updated.
477         (mount_linux): use 4KB for NFS rsize/wsize on 2.1.0 linux kernels
478         and newer.  Bug was found by Neil Conway
479         <nconway.list@ukaea.org.uk>
480
481 1999-02-04  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
482
483         * released snapshot am-utils-6.0.1s4
484
485 1999-02-03  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
486
487         * amq/amq.c (main): don't list -M as a valid amq option unless
488         configure'd with --enable-amq-mount.
489
490 Wed Feb  3 18:11:18 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
491
492         * amd/nfs_start.c (amd_use_autofs): Define.
493         (mount_automounter): Create autofs service listener only if
494         necessary to avoid unnecessary clashes with e.g. automountd.
495
496         * amd/amd.h (amd_use_autofs): Declare.
497
498         * amd/conf.c (gopt_mount_type): Set amd_use_autofs.
499         (ropt_mount_type): Likewise.
500
501 1999-02-02  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
502
503         * aux/macros/check_mnt2_nfs_opt.m4:: ditto
504
505         * aux/macros/check_mnt2_cdfs_opt.m4: ditto
506
507         * aux/macros/check_mnt2_gen_opt.m4: ditto
508
509         * aux/macros/check_mnttab_opt.m4: new macro in this file to loop
510         over AC_CHECK_MNTTAB_OPT.  Reduces size of configure script a lot.
511
512         * conf/nfs_prot/nfs_prot_netbsd1_3.h: include nfs/rpcv2.h,
513         nfs/nfs.h and nfs/nfsmount.h if they exist.  Patch from
514         christos@zoulas.com (Christos Zoulas).
515
516         * amd/info_hesiod.c: some forward declarations.  Patch from
517         christos@zoulas.com (Christos Zoulas).
518
519 1999-01-28  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
520
521         * libamu/mount_fs.c (compute_nfs_args): don't turn on/off noconn
522         option if it was already in that state.  Patch from David
523         Wolfskill <dhw@whistle.com>.
524
525 1999-01-20  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
526
527         * aux/configure.in: automake nowadays supports LTLIBOBJS (but not
528         LTALLOCA yet).  Substitute value of LIBTOOL_DEPS for libtool
529         rebuild make rules.
530
531         * Makefile.am: new rules to remake libtool (maintainers only)
532
533         * amd/amfs_toplvl.c (mount_amfs_toplvl): print generic mount flags
534         if -D trace was used.
535
536 1999-01-18  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
537
538         * buildall: all if statements should have an else clause because
539         of Ultrix's /bin/sh.
540
541 1999-01-15  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
542
543         * amq/amq.c: removed dummy variables.
544
545         * amq/pawd.c: removed dummy variable.s
546
547         * fixmount/fixmount.c (usage): removed dummy variables.
548
549         * fsinfo/fsinfo.c: removed dummy variables.
550
551         * hlfsd/hlfsd.c: removed dummy variables.
552
553         * wire-test/wire-test.c: removed dummy variables.
554
555         * mk-amd-map/mk-amd-map.c: removed dummy variables.
556
557         * doc/texinfo.tex: updates from GNU mirror.
558
559         * aux/GNUmakefile (../doc/texinfo.tex): new rule to update
560         doc/texinfo.tex from GNU mirror.
561
562         * released snapshot am-utils-6.0.1s3
563
564         * Makefile.am (install-snapshot): better snapshot and new
565         install-snapshot and test-snapshot rules (maintainer).
566
567         * amd/info_ldap.c (amu_ldap_init): don't run STREQ if one of the
568         args may be NULL.
569         Some dlog() entries were not enclosed in #ifdef DEBUG.  Fix from
570         Bill Paul <wpaul@ctr.columbia.edu>
571
572 1999-01-13  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
573
574         * check for experimental generic 'ignore' mount flag on freebsd3.
575
576         * Update library -version-info to 3:0:1 (will result in 2.1.0 .so
577         version, which is backwards compatible with older versions.)  Only
578         one new interface was added to libamu.
579
580         * amd/amfs_toplvl.c (mount_amfs_toplvl): add generic mount flags
581         that are specific to automounter mounts.
582
583         * aux/configure.in: update libamu.so age and revision since a new
584         interface was added to libamu/mount_fs.c
585         (compute_automounter_mount_flags).
586
587         * libamu/mount_fs.c (compute_automounter_mount_flags): new
588         function to compute generic mount flags that are specific to mount
589         points only.
590
591         * aux/{configure.in,acconfig.h}: add support for generic mount
592         entry ignore option.
593
594         * released snapshot am-utils-6.0.1s2
595
596         * amd/info_ldap.c (get_ldap_timestamp): dlog format fixes.
597
598         * libamu/mount_fs.c (print_nfs_args): solaris 2.7 changed format
599         of knc_semantics from u_long to u_int.
600
601         * aux/macros/check_mount_style.m4: freebsd3 no longer needs a
602         special mount helper.
603
604 1999-01-12  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
605
606         * aux/macros/check_nfs_prot_headers.m4 (AMU_NFS_PROT_HEADERS):
607         amu_nfs_conf.h should always be found in $top_builddir.
608
609 Tue Jan 12 00:05:42 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
610
611         * conf/nfs_prot/nfs_prot_sunos5_7.h (MNTTAB_TYPE_AUTOFS): Undefine
612         to avoid wrong reports from show_fstypes.
613
614         * conf/nfs_prot/nfs_prot_irix5.h (MNTTAB_TYPE_XFS): Likewise.
615
616         * conf/nfs_prot/nfs_prot_hpux11.h (MNTTAB_TYPE_NFS3): Likewise.
617
618 Tue Jan 12 00:05:42 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
619
620         * BUGS (mips-dec-ultrix4.3): Update Ultrix caveats.
621
622 Tue Jan 12 00:05:42 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
623
624         * hlfsd/homedir.c (delay): Cast child to long, adapt format.
625         (hlfsd_getpwent): Likewise for pw_uid.
626
627         * amd/info_nis.c (nis_init): Cast order to unsigned long, adapt
628         format. 
629
630         * conf/transp/transp_tli.c (amu_clnt_create_best_vers): Cast
631         tv_sec to int to match format.
632         (get_nfs_version): Cast nfs_version, NFS_VERSION to int to match
633         formats. 
634
635         * amd/amfs_program.c (amfs_program_exec): Cast ptr difference to
636         long, adapt format.
637
638         * include/am_defs.h: Handle __attribute__ if available.  From
639         GNU fileutils 4.0 lib/errors.h.
640
641 Mon Jan 11 13:46:44 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
642
643         * libamu/mount_fs.c (print_nfs_args): Cast sizeof() to int to
644         match format.
645
646         * hlfsd/stubs.c (nfsproc_getattr_2_svc): Cast uid, gid to long,
647         adapt format.
648         (nfsproc_lookup_2_svc): Likewise.
649         (nfsproc_readlink_2_svc): Likewise for userid, groupid.
650
651         * hlfsd/nfs_prot_svc.c (nfs_program_2): Cast args to int to match
652         format.
653
654         * hlfsd/homedir.c (homedir): Cast uid, child to long, adapt
655         format. 
656
657         * amd/info_hesiod.c (hesiod_search): Cast m, pval, tp to unsigned
658         long, adapt format.
659
660         * amd/ops_nfs.c (find_nfs_fhandle_cache): Cast fh_wchan to
661         unsigned long, adapt format.
662         (got_nfs_fh): Likewise.
663         (prime_nfs_fhandle_cache): Cast fh_nfs_version to int to match
664         format. 
665         (call_mountd): Likewise, mnt_version also.
666         (mount_nfs_fh): Likewise.
667
668         * amd/ops_autofs.c (autofs_program_1): Cast args to int to match
669         format.
670         (autofs_unmount_1_svc): Cast ur->devid, ur_rdevid, ur->next to
671         unsigned long, adapt formats.
672         (autofs_bgmount): Cast opt_fs to unsigned to, adapt format.
673         (autofs_bgmount): Use long format to match arg.
674         (autofs_lookuppn): Removed superfluous arg.
675
676         * amd/srvr_nfs.c (start_ping): Cast nfs_version to int to match
677         format. 
678         (got_portmap): Likewise for port.
679         (recompute_portmap): Likewise for fs->fs_version, mnt_version.
680         (find_nfs_srvr): Likewise for nfs_version.
681
682         * amd/sched.c (sched_task): Cast wchan to unsigned long, adapt
683         format. 
684
685         * amd/nfs_start.c (checkup): Cast ptr difference to long, next_mem
686         to unsigned long, adapt format.
687         Cast tvv.tv_sec to int to match format.
688
689         * amd/nfs_prot_svc.c (nfs_program_2): Cast args to int to match
690         format.
691
692         * amd/map.c (root_fh): Cast pid to long, adapt format.
693         (timeout_mp): Cast time_t to long, adapt format.
694
695         * amd/clock.c (reschedule_timeouts): Use long format, cast time_t
696         arg.
697
698         * amd/amfs_host.c (fetch_fhandle): Cast nfs_version to int to
699         match format.
700         (amfs_host_fmount): Likewise.
701         (amfs_host_umounted): Likewise.  Removed superfluous arg.
702
703         * amd/amfs_auto.c (amfs_auto_bgmount): Cast pointer to unsigned
704         long, adapt format.
705         (amfs_auto_bgmount): Use long format, cast time_t arg.
706         (amfs_auto_lookuppn): Removed superfluous arg.
707
708         * amd/amd.c (main): Cast geteuid() result to long, adapt format.
709
710         * conf/transp/transp_sockets.c (get_nfs_version): Cast nfs_version
711         to int to match format.
712
713         * include/am_utils.h: Declare plog, dplog as printf-like.
714
715         * conf/mount/mount_irix6.c (mount_irix): Print type as char *.
716
717 Mon Jan 11 13:46:44 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
718
719         * amd/info_hesiod.c (hesiod_isup): New function.
720         * amd/mapc.c (maptypes): Add it.
721
722 1999-01-10  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
723
724         * released snapshot am-utils-6.0.1s1
725
726 1999-01-09  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
727
728         * ALL: bump copyright year to 1999.
729
730 Fri Jan  8 15:24:15 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
731
732         * aux/macros/check_mtype_type.m4: Ultrix uses an int mount type,
733         too. 
734
735         * aux/macros/check_mtype_printf_type.m4: Adapt corresponding
736         printf type.
737
738 Fri Jan  8 15:24:15 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
739
740         * aux/acconfig.h: Removed HAVE_AM_FS_AUTOFS, unused.
741
742         * conf/nfs_prot/nfs_prot_irix6.h: Likewise.
743
744         * conf/nfs_prot/nfs_prot_sunos5_6.h: Likewise.
745
746         * conf/nfs_prot/nfs_prot_sunos5_7.h: Likewise.
747
748         * Makefile.am (EXTRA_DIST_DIRS): Removed, not needed by current
749         automake.
750
751 Thu Jan  7 02:55:18 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
752
753         * aux/configure.in (AM_PROG_YACC): Replaced by AC_PROG_YACC, not
754         in current automake.
755
756 Thu Jan  7 02:55:18 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
757
758         * doc/am-utils.texi: Added some missing inter-punctation after
759         @xref, or use @pxref/@ref as appropriate.  Spotted by makeinfo
760         from texinfo 3.12b.
761
762 1999-01-07  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
763
764         * doc/texinfo.tex: updated off of latest GNU mirror.
765
766 1999-01-04  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
767
768         * doc/am-utils.texi (Supported Platforms): update platforms that
769         support NFS v.3.  Nicer postscript printing on double-sided pages.
770
771         * amd/info_hesiod.c: add extern definition for hesiod_init()
772
773 1999-01-01  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
774
775         *******************************************************************
776         *** Released am-utils-6.0                                       ***
777         *******************************************************************
778
779 1998-12-28  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
780
781         * conf/nfs_prot/nfs_prot_sunos5_7.h: support ldap in solaris 2.7.
782
783 1998-12-27  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
784
785         * conf/nfs_prot/nfs_prot_bsdi3.h: don't use reserved ports on
786         bsdi4 for NFS V3/nfs mounts.
787
788 1998-12-26  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
789
790         * using latest libtool (1.2e + patches), now supporting shared
791         libraries on many more systems.  Also using latest autoconf and
792         automake (unreleased GNU CVS'd versions.)
793
794         * minor new ports: hppa2.0w-hp-hpux11.00,
795         i386-unknown-netbsd1.3.3, mips-sgi-irix6.5.
796
797         * fsinfo/fsinfo.h (yywrap): define it for systems (osf4) that
798         have /usr/bin/flex but not libfl.
799
800 1998-12-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
801
802         * lots of code cleanup, to make sure libamu.so does not use
803         undefined symbols.  Some system's shared libraries cannot handle
804         that.
805
806 1998-12-23  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
807
808         * include/am_defs.h: only defined seteuid extern if function also
809         exists and is not superceded by setresuid (hpux).
810
811         * amd/ops_autofs.c (autofs_bgmount, autofs_lookuppn): put explicit
812         braces to avoid confusion with nested if-then-else clauses.
813
814         * aux/config.{sub,status}, aux/{ltmain.sh,ltconfig,mkinstalldirs:
815         updated from latest versions.
816
817 1998-12-22  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
818
819         * minor new port: i386-pc-bsdi4.0
820
821         * conf/nfs_prot/nfs_prot_bsdi3.h: add missing hesiod header
822         definitions for bsdi4.
823
824         * {amd,fsinfo}/Makefile.am: force path to .y/.l files, because
825         some make programs (bsdi4) do not support VPATH correctly.
826
827 1998-12-16  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
828
829         * conf/mount/mount_aix.c: minor code cleanup
830
831         * aux/configure.in: check for extern definition to xdr_groups.
832
833 1998-12-15  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
834
835         * minor new port: powerpc-ibm-aix4.3.1.0
836
837         * aux/macros/*.m4: updates for aix 4.3
838
839 1998-12-14  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
840
841         * minor new port: i386-unknown-openbsd2.4
842
843         * aux/configure.in: don't check for xfs on openbsd because
844         openbsd-2.4 introduces a new file system named xfs, but different
845         than Irix's XFS.  Sigh.
846
847         * minor new port: i386-unknown-freebsd2.2.8
848
849 1998-12-03  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
850
851         * amd/amfs_nfsl.c (amfs_nfsl_ffserver): use case insensitive host
852         name match.  Bug fix from Douglas K. Rand" <rand@aero.und.edu>.
853
854 1998-11-20  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
855
856         * scripts/ctl-amd.in: wait4amd2die runs in the stop action, to
857         avoid race conditions when shutting down systems running amd.
858
859         * Makefile.am: add a dist-hook to change modes of the directories
860         in the tar file so they are not world writable.
861
862         * conf/nfs_prot/nfs_prot_freebsd3.h: turned on NFSv3 support,
863         since it is now finally defined in the header files and
864         (hopefully) stable.
865
866         * amd/srvr_nfs.c (find_nfs_srvr): allow overriding if nfsv2 option
867         is specified in mount options.  freebsd patches from David
868         O'Brien.
869
870         * amq/amq.c (main), fixmount/fixmount.c (main), hlfsd/hlfsd.c
871         (main), fsinfo/fsinfo.c (fsi_get_args), hlfsd/hlfsd.c (main),
872         amd/get_args.c (get_args): posix: use -1 to check for return from
873         getopt() (not EOF), as per posix.
874
875         * amd/amq_subr.c (xdr_amq_mount_tree_node): patches from "David
876         O'Brien" <obrien@NUXI.com>, from the FreeBSD source tree.  Use
877         real variable whose pointer is on the stack for decoding a long
878         int.
879
880 1998-11-11  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
881
882         * scripts/ctl-{amd,hlfsd}.in: include comments useful for redhat's
883         chkconfig utility.
884
885 1998-11-10  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
886
887         * released snapshot am-utils-6.0b2s3
888
889         * conf/transp/transp_sockets.c (create_nfs_service): remove C++
890         style comments.
891
892 1998-11-04  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
893
894         * released snapshot am-utils-6.0b2s2
895
896         * created CVS package
897
898         * amd/nfs_subr.c (nfsproc_lookup_2_svc): try to avoid a race
899         condition between unmounting and re-mounting an entry, by
900         increasing the ttl of a looked up entry before unmounting it.
901         Patch from Mike Mitchell <mcm@unx.sas.com>.
902
903         * All files: spell comments and strings.
904
905 1998-11-03  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
906
907         * aux/configure.in: look for yp_all in libnsl only if yp_all not
908         already found elsewhere (in libc or other default libraries).
909         This is so RedHat 5.1 systems could find yp functions in libnsl,
910         but also so AIX 4.2.1 will NOT include libnsl, because the latter
911         has broken nis functionality that also exists and works ok in libc.
912
913 1998-10-29  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
914
915         * amd/amd.c (main): bug fix: swapped arguments to kill(2).  Fix
916         from Danny Rathjens <dkr@cs.fiu.edu>.
917
918 1998-10-28  Erez Zadok  <ezk@spruce.mcl.cs.columbia.edu>
919
920         * released snapshot am-utils-6.0b2s1
921
922 1998-10-27  Erez Zadok  <ezk@spruce.mcl.cs.columbia.edu>
923
924         * aux/macros/*.m4: support bsdi4 as bsdi3.
925
926         * aux/macros/os_ldflags.m4: enable detection of LDAP on solaris
927         2.7 (libraries located in /usr/lib/fn).  This is off until Sun
928         includes LDAP header information.
929
930 1998-10-20  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
931
932         *******************************************************************
933         *** Released am-utils-6.0b1                                     ***
934         *******************************************************************
935
936 1998-10-18  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
937
938         * mk-amd-map/mk-amd-map.c (main): use perror not strerror.
939         (main): set return type to int if no ndbm maps.
940
941         * include/am_defs.h: avoid conflicts with <sys/mount.h> in 2.1
942         kernels.
943
944 1998-10-18  Erez Zadok  <ezk@london.mcl.cs.columbia.edu>
945
946         * A.i386-unknown-netbsd1.3.2/amu_nfs_prot.h: trim down and cleanup
947         for netbsd 1.3.2.
948
949 1998-10-17  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
950
951         * aux/configure.in: check for yp_all in libnsl, b/c redhat 5.1
952         systems put NIS functions there.
953
954         * mk-amd-map/mk-amd-map.c: patch from "David O'Brien"
955         <obrien@NUXI.com> merged in.  Use POSIX -1 return code from
956         getopt(), not EOF.  Use .db extentions for systems that use it,
957         instead of .{pag,dir}.
958
959 1998-10-15  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
960
961         * wire-test/wire-test.c, hlfsd/hlfsd.c, fixmount/fixmount.c,
962         amd/amd.c (main): avoid overrunning hostname buffer.  Bug fix from
963         "David O'Brien" <obrien@NUXI.com>.
964
965         * scripts/amd.conf.5: minor typo reported by "David O'Brien"
966         <obrien@NUXI.com> in .TH section of man page.
967
968         * amd/info_nis.c (am_yp_all): don't leak key-val entries.  Patch
969         from Thomas Richter <richter@chemie.fu-berlin.de>.
970
971 1998-10-12  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
972
973         * doc/am-utils.texi (Program Filesystem): minor typo fixed as per
974         Andreas Stolcke <stolcke@speech.sri.com>.
975
976         * minor new ports: sparc64-unknown-linux-gnu, i386-pc-solaris2.7,
977         and sparc-sun-solaris2.7.
978
979         * conf/mount/mount_freebsd3.c (mount_freebsd3): freebsd 3.0 is now
980         a 4.4lite kernel, and somethings were removed, such as
981         INITMOUNTNAMES.
982
983         * amd/ops_autofs.c (autofs_lookuppn): don't leak memory while
984         processing /defaults.  Free temporary opts.  Patch from
985         dsr@mail.lns.cornell.edu (Daniel S. Riley)
986
987         * amd/amfs_auto.c (amfs_auto_lookuppn): don't leak memory while
988         processing /defaults.  Free temporary opts.  Patch from
989         dsr@mail.lns.cornell.edu (Daniel S. Riley)
990
991         * conf/mtab/mtab_osf.c (read_mtab): patch from
992          dsr@mail.lns.cornell.edu (Daniel S. Riley) not to access
993          uninitialized memory on Digital Unix.
994
995 1998-10-09  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
996
997         * aux/macros/{check_mtype_type,check_mtype_printf_type}.m4: most
998         systems now use "char *" as their mount type.
999
1000 1998-10-08  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1001
1002         * amd/conf.c (gopt_map_type, ropt_map_type): check if map type
1003         exists.
1004
1005         * amd/mapc.c (mapc_type_exists): function to test if a map of
1006         certain type exists.
1007
1008 1998-10-08  Erez Zadok  <ezk@horatio.mcl.cs.columbia.edu>
1009
1010         * aux/macros/{mount_headers,try_compile_anyfs,try_compile_nfs}.m4,
1011         include/am_defs.h: Avoid a conflict in definitions of ntohl/htonl
1012         in RH-5.1 sparc64 between <netinet/in.h> and
1013         <linux/byteorder/generic.h> (2.1 kernels).
1014
1015 1998-09-28  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1016
1017         * aux/macros/func_bad_yp_all.m4 (ac_cv_func_yp_all_clean): RedHat
1018         5.1 systems with glibc glibc-2.0.7-19 or below leak a UDP socket
1019         from yp_all().
1020
1021 1998-09-25  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1022
1023         * conf/mount/mount_linux.c (parse_opts): check for pcfs support
1024         only if autoconfigured.
1025
1026 1998-09-18  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1027
1028         * Makefile.am (EXTRA_DIST): distribute README.yk2 file.
1029
1030         * README.y2k: explain y2k compliance status of am-utils.
1031
1032 1998-09-16  Erez Zadok  <ezk@iguana.mcl.cs.columbia.edu>
1033
1034         * amd/amfs_host.c (fetch_fhandle, amfs_host_fmount,
1035         amfs_host_umounted): clnt_sperrno() may return a const.
1036
1037 Sat Aug  8 23:28:32 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1038
1039         * aux/configure.in: check for <nfs/nfsmount.h>, as per Christos
1040         Zoulas. Turned on checking for mount options: async, synchronous,
1041         deadthresh, leasterm, nqnfs, and readahead.
1042
1043         * amd/info_nis.c: patch from christos@zoulas.com (Christos Zoulas)
1044         to include prototype definition for nis_isup().
1045
1046 Sun Jul 19 18:50:10 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1047
1048         * hlfsd/stubs.c (getcreds): force sscanf arg to u_long.
1049
1050 Tue Jul 14 20:34:25 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1051
1052         * released snapshot am-utils-6.0a17s1
1053
1054 Wed Jul  8 21:49:15 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1055
1056         * aux/macros/host_macros.m4: all x86 hosts should have $arch be
1057         i386, not i[456]86.
1058
1059 Tue Jul  7 18:55:09 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1060
1061         * aux/macros/{mount_headers,try_compile_anyfs,try_compile_nfs}.m4,
1062         include/am_defs.h: include <linux/posix_types.h> before
1063         <linux/fs.h> because on redhat 5.1, there is a bug (misuse) of
1064         headers in <socketbits.h> (it defines _LINUX_TYPES_H instead of
1065         __KERNEL_STRICT_NAMES).
1066
1067         * aux/configure.in: check for <linux/posix_types.h> because it is
1068         need for RedHat 5.1.
1069
1070 Wed Jun 17 00:05:33 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1071
1072         * scripts/Makefile.am (EXTRA_DIST): have fixrmtab generated from
1073         .in as well, so it doesn't get removed by make clean.
1074
1075 Tue Jun 16 22:00:15 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1076
1077         * aux/macros/{check_fs_mntent.m4, check_mnttab_type.m4,
1078         check_mount_type.m4}: redhat 5.1 puts some modules in
1079         /lib/modules/preferred/.
1080
1081 Wed May 13 16:33:57 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1082
1083         * amd/ops_autofs.c (mount_autofs): cast pid to long.
1084
1085 Tue Apr 28 15:12:36 1998  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1086
1087         * conf/nfs_prot/nfs_prot/nfs_prot_irix6.h,
1088         conf/nfs_prot/nfs_prot_sunos5_6.h: Undef MNTTAB_TYPE_AUTOFS too to
1089         avoid amd/am_ops.c (show_fstypes) from erroneously claiming
1090         support.
1091
1092 Fri Apr 24 23:02:11 1998  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1093         
1094         * libamu/xutil.c (get_syslog_facility): Don't use LOG_DAEMON
1095         unconditionally, may be missing on Ultrix V4.3.
1096
1097 Thu Apr 23 20:24:33 1998  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1098
1099         * conf/nfs_prot/nfs_prot_sunos5_4.h (MNTTYPE_CACHEFS): Define,
1100         missing from <sys/mntent.h>.
1101         
1102         * conf/mtab/mtab_ultrix.c: Need separate inclusion of <sys/fs_types.h>
1103         without KERNEL defined here.
1104
1105         * aux/macros/mount_headers.m4: Need to include <ufs/ufs_mount.h>,
1106         <cdfs/cdfs_mount.h>, <cdfs/cdfsmount.h> so autoconfiguration of
1107         ufs_args_t, cdfs_args_t fields and cdfs mount options can succeed.
1108
1109         * amd/ops_ufs.c (mount_ufs): Removed obsolete comment.
1110
1111         * ChangeLog: Fixed confusing linebreaks from ChangeLog imports.
1112         Removed purely local (and obsolete) entry.
1113
1114 Thu Apr 23 00:22:17 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1115
1116         *******************************************************************
1117         *** Released am-utils-6.0a16                                    ***
1118         *******************************************************************
1119
1120 Wed Apr 22 01:20:39 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1121
1122         * aux/macros/check_mount_style.m4: define freebsd3 mount style.
1123
1124         * aux/macros/check_mount_trap.m4: new mount trap for freebsd3.
1125
1126         * aux/macros/check_mtype_printf_type.m4,
1127         aux/macros/check_mtype_type.m4 (ac_cv_mtype_type,): freebsd3 (as
1128         of snapshot 3.0-980311-SNAP) uses char * types for mount(2), not
1129         integers, but I'll keep them as integers and do the mapping in
1130         conf/mount/mount_freebsd3.c
1131
1132         * minor new port to i386-pc-bsdi3.1.
1133
1134         * minor new port to i386-unknown-netbsd1.3.1.
1135
1136         * amd/opts.c: new option addopts:=ARG, which smartly merges ARG
1137         options with whatever the /default ones for a key are.  This
1138         allows adding or overriding /default options individual keys.
1139
1140         * amd/am_ops.c (ops_match): strdup/malloc string assigned to
1141         opt_opts because it'll get free()'d upon next use.
1142         (merge_opts): new function to merge two sets of options.
1143         (ops_match): if addopts option exist, append and merge it to the
1144         current default options.
1145
1146 Tue Apr 21 12:54:59 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1147
1148         * wire-test/wire-test.c (main): use dynamically allocated returned
1149         string with list of interfaces.
1150
1151         * amd/get_args.c (get_version_string): allocate enough space for
1152         header version string and a list of network interfaces of any
1153         length.
1154
1155         * libamu/wire.c (print_wires): return dynamically allocated string
1156         containing list of networks.  Must be dynamic because some sites
1157         had potentially dozens of network interfaces.  Patch from Matthew
1158         Crosby <mcrosby@ms.com> slightly modified.
1159
1160 Mon Apr 20 00:37:20 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1161
1162         * conf/nfs_prot/nfs_prot_irix5.h: underfine MNTTYPE_XFS because
1163         irix 5.3 does not have full header definitions for it.
1164
1165         * fsinfo/fsi_lex.l (yywrap): define yywrap if needed, and
1166         undefined it when not needed (similar to amd/conf_tok.l)
1167
1168         * hlfsd/hlfsd.h (ROOTID, SLINKID, INVALID): reduced maximum size
1169         of these to unsigned short (because uid_t on some linux systems is
1170         small).
1171
1172         * released snapshot am-utils-6.0a16s10
1173
1174         * doc/am-utils.texi (opts Option): documented resvport mount
1175         option.
1176
1177 Sun Apr 19 18:17:03 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1178
1179         * doc/am-utils.texi (-D-Option): document behavior of -D info and
1180         especially what it does to hesiod (turn on RES_DEBUG).
1181
1182         * scripts/amd.conf.5: document info debugging option.
1183
1184         * libamu/xutil.c (dbg_opt): parse info debugging option.
1185
1186         * include/am_utils.h (D_INFO): define new trace option.
1187
1188         * Makefile.am (EXTRA_DIST): include list of official mirrors in
1189         distribution.
1190
1191         * libamu/wire.c (SIZE): in the simple case, just compute
1192         sizeof(struct ifreq).
1193
1194 Sun Apr 19 16:30:35 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
1195
1196         * amd/amd.c (daemon_mode): set a temporary secure umask(0022)
1197         before writing log file and restore it afterwards.  Patch from
1198         Donald Buczek <buczek@MPIMG-Berlin-Dahlem.MPG.DE>.
1199
1200         * amd/get_args.c (get_args): 
1201
1202         * doc/am-utils.texi (-F Option), amd/amd.8: mention that amd.conf
1203         file specified by -F is always processed last.
1204
1205         * amd/amd.c (daemon_mode): do not fclose(stdout) so that the fd
1206         won't be reused.  Allows startup script to redirect stdout.  Patch
1207         from Donald Buczek <buczek@MPIMG-Berlin-Dahlem.MPG.DE>.
1208
1209         * libamu/xutil.c (switch_to_logfile): compare logfile name and
1210         syslog string with correct length.  Patch from Donald Buczek
1211         <buczek@MPIMG-Berlin-Dahlem.MPG.DE>.
1212
1213         * amd/restart.c (restart): correctly inherit existing NFS V.3
1214         mounts upon restart.  Patch from Donald Buczek
1215         <buczek@MPIMG-Berlin-Dahlem.MPG.DE>.
1216
1217 Sat Apr 18 19:01:19 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
1218
1219         * using libtool 1.2 and automake 1.3 (with my patches).
1220
1221         * aux/macros/opt_am_cflags.m4, */Makefile.in: rename AM_CFLAGS to
1222         AMU_CFLAGS to avoid conflicts with automake-1.3.
1223
1224 Sun Apr  5 23:09:08 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1225
1226         * converted to using libtool-1.2.
1227
1228 Tue Mar 10 16:52:09 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1229
1230         * fsinfo/fsi_analyze.c (fixup_required_mount_info): replaced silly
1231         for loop (ITER) which used to run only to initialize the variable
1232         dd once and then break; with a simple assignment.
1233
1234         * hlfsd/hlfsd.h: cleanup so it compiles with Solaris
1235         /opt/SUNWspro/bin/cc, and use gid_t not int.
1236
1237         * amd/mapc.c (mapc_sync): don't dereference pointer (so it
1238         compiles with Solaris /opt/SUNWspro/bin/cc)
1239
1240 Sun Mar  8 15:54:22 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1241
1242         * aux/config.{guess,sub}: used from gcc-2.8.1.
1243
1244 Sat Mar  7 15:33:27 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1245
1246         * released snapshot am-utils-6.0a16s9
1247
1248         * INSTALL, doc/am-utils.texi (Supported Platforms): updated names
1249         based on new output of new config.guess.
1250
1251         * aux/config.{sub,guess}: used newer versions from gcc-2.8.0.
1252
1253         * amd/amd.8,doc/am-utils.texi: document correct usage of default
1254         /etc/amd.conf file.
1255
1256         * fixmount/fixmount.c (inetresport,privsock): use some more
1257         portable code from amq/amq.c.
1258
1259         * amd/get_args.c (get_args): use default /etc/amd.conf file only
1260         if no arguments had been passed to amd.
1261
1262         * fixmount/fixmount.c (clnt_create_timeout): use tli/socket code
1263         ala amq/amq.c so that fixmount will work on both types of systems.
1264
1265         * amq/amq.c (main): do no close tcp socket before running udp try,
1266         because we're not sure if it was opened at all.
1267
1268         * mips-dec-ultrix* port merged in and cleaned up.
1269
1270         * aux/configure.in: up minor shared library revision number, since
1271         it has changed enough.
1272
1273         * hlfsd/hlfsd.c (main): don't check for overlay mount option here,
1274         as it is now done in compute_nfs_args().  Remove ultrix specific
1275         code also because it was moved to compute_nfs_args().
1276
1277         * conf/mount/mount_svr4.c: removed DEBUG_MOUNT_SVR4 code, now that
1278         we have more generic code in print_nfs_args().
1279
1280         * libamu/mount_fs.c (print_nfs_args): print maxlen of
1281         nfs_args.addr, and also syncaddr (which is mostly NULL).  Print
1282         struct knetconfig from nfs_args->knconf.
1283
1284         * aux/macros/mount_headers.m4 (define): do not check for ufs/cdfs
1285         headers here, but in try_compile_anyfs.m4.
1286
1287         * aux/macros/type_ufs_args.m4: move test for struct ufs_specific
1288         (for ultrix) here from its own macro.
1289
1290         * aux/macros/type_cdfs_args.m4: move test for struct iso_specific
1291         (for ultrix) here from its own macro.
1292
1293         * amd/ops_nfs.c (mount_nfs_fh): no need to run code again checking
1294         for overlay mount option.  Remove code which checks for overlay
1295         option, as it is now done in compute_nfs_args().
1296
1297         * libamu/mount_fs.c (compute_mount_flags): move here code which
1298         checks for overlay mount option which was in amd/amfs_toplvl.c:
1299         mount_amfs_toplvl().
1300
1301 Wed Feb  7 15:35:51 1998  Rainer Orth  <ro@xayide.TechFak.Uni-Bielefeld.DE>
1302
1303         * The following are Rainer's ChangeLog entries for his ultrix
1304         port, added manually. -Erez.
1305
1306         * merged Ultrix port with am-utils 6.0 a16s5: amd/ops_afs.c
1307         (mount_toplvl) -> amd/amfs_toplvl.c (mount_amfs_toplvl)
1308
1309         * include/am_defs.h: include cdfs specific mount headers
1310         avoid duplication definition of gt_names[] in <sys/fs_types.h> (Ultrix)
1311
1312         * include/am_compat.h: define several mount options corresponding
1313         to mount flags: pgthresh, hard (nfs), defperm, nodefperm,
1314         noversion, rrip (cdfs), nocache, quota, sync (generic) removed
1315         duplicate MNTTAB_OPT_RO definition
1316
1317         * aux/macros/try_compile_anyfs.m4: include Ultrix specific
1318         ufs/cdfs mount headers
1319
1320         * aux/macros/mount_headers.m4: include several Ultrix/Digital UNIX
1321         specific mount headers
1322
1323         * aux/macros/check_{fs_mntent, mount_type}.m4: check for GT_*
1324         mount types in mount headers (Ultrix)
1325
1326         * aux/configure.in: Ultrix/Digital UNIX specific checks: new
1327         headers, mount structures and fields, filesystem and mount types,
1328         mount flags
1329
1330         * aux/acconfig.h: placeholders for new mount options: quota
1331         (generic), ro (nfs), defperm, nodefperm, noversion, rrip (cdfs)
1332         cdfs, nfs, ufs mount structure fields new ufs, cdfs mount
1333         structures
1334
1335         * amd/ops_ufs.c (mount_ufs): Ultrix stores generic mount flags in
1336         ufs_args.ufs_flags and has ufs specific pgthresh option
1337
1338         * amd/ops_cdfs.c (mount_cdfs): handle Ultrix/Digital UNIX specific
1339         CDFS mount flags and options
1340
1341         * amd/ops_afs.c (mount_toplvl), amd/ops_nfs.c (mount_nfs_fh),
1342         hlfsd/hlfsd.c (main): store generic mount flags in
1343         nfs_args.gfs_flags, handle separate NFS ro flag
1344
1345         * aux/macros/{check_mnt2_cdfs_opt, struct_iso_specific,
1346         struct_ufs_specific}.m4: new files; check for Ultrix specific
1347         mount structures
1348
1349         * conf/trap/trap_ultrix.h: arg 3 to mount(2) is rwflag
1350
1351         * aux/macros/type_auth_create_gidlist.m4 (ultrix*):
1352         AUTH_CREATE_GIDLIST_TYPE is int (not short == gid_t) from a
1353         comment in <rpc/auth.h>
1354
1355         * include/am_defs.h: #define KERNEL to avoid definition of
1356         gt_names[]
1357         conf/mtab/mtab_ultrix.c: #include <sys/fs_types> before <config.h>
1358         to force single definition here
1359
1360         * libamu/mount_fs.c (compute_nfs_args): Ultrix support for
1361         nfs_args.gfs_flags moved to callers
1362         store mount options in nap->optstr
1363
1364         * include/am_defs.h: fix _am_mntent mnt_{type, opts} field
1365         descriptions
1366
1367         * aux/macros/mount_headers.m4, aux/macros/try_compile_nfs.m4:
1368         include <rpc/rpc.h> before AMU_NFS_PROTOCOL_HEADER for svc_req
1369         definition in prototypes
1370
1371         * aux/macros/mount_headers.m4: include <sys/errno.h> before
1372         AMU_NFS_PROTOCOL_HEADER: <nfs/nfs.h> needs it for NFSERR_*
1373         definitions
1374
1375         * conf/nfs_prot/nfs_prot_ultrix.h: new file
1376
1377         * aux/macros/check_nfs_prot_headers.m4: use nfs_prot_ultrix.h
1378
1379         * aux/macros/mount_headers.m4, aux/macros/try_compile_nfs.m4,
1380         aux/macros/try_compile_rpc.m4, include/am_defs.h: avoid multiple
1381         inclusion of <rpc/xdr.h>
1382
1383 Sat Mar  7 13:56:05 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1384
1385         * aux/configure.in: save state of config.cache and confdefs.h
1386         (as dbgcf.h) at various points of the configure.
1387
1388         * aux/macros/save_state.m4: new macro to save state of configure,
1389         esp. useful in long ones.  Saves confdefs.h and write $ac_cv_*
1390         cache variables that are known so far.
1391
1392         * released snapshot am-utils-6.0a16s8
1393
1394 1998-03-06  Erez Zadok  <ezk@mercer.psl.cs.columbia.edu>
1395
1396         * fsinfo/fsi_lex.l,amd/conf_tok.l: define ECHO after undefining
1397         it, but only for flex.
1398
1399 Fri Mar  6 17:23:17 1998  Erez Zadok  <ezk@chestnut.mcl.cs.columbia.edu>
1400
1401         * hlfsd/homedir.c (plt_print): change pathname of hlfsd dump file
1402         to /usr/tmp/hlfsd.dump.XXXXXX, and use a safe method (if possible)
1403         to write the dump file.
1404
1405         * doc/am-utils.texi,amd/opts.c: rename all references to nomadic
1406         functions to boolean functions, which is what they really are.
1407
1408         * aux/configure.in: don't look for strcasecmp in libucb at all,
1409         but rather complete it from libamu/strcasecmp.c as needed.
1410
1411 Fri Mar  6 03:29:20 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1412
1413         * conf/nfs_prot/nfs_prot_osf4.h: avoid conflicts with Irix's EFS.
1414
1415         * libamu/wire.c (getwire): fix for 0.0.0.0 loopback on SunOS 3.X
1416         which defines IFF_ROUTE instead of IFF_LOOPBACK.  Patch from Tom
1417         Schmidt <tschmidt@micron.com>.
1418
1419         * released snapshot am-utils-6.0a16s7
1420
1421         * conf/nfs_prot/nfs_prot_hpux11.h: a first working port of amd to
1422         hppa1.0-hp-hpux11.00.tgz.
1423
1424 Thu Mar  5 21:59:03 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1425
1426         * converted all sources to use mntent field names, and map mnttab
1427         field names to mntent's.
1428
1429         * include/am_defs.h (mnt_special): map struct mnttab field names
1430         to struct mntent field names.
1431
1432         * aux/macros/check_mount_trap.m4: hpux11's mount trap style is
1433         identical to svr4/solaris2.
1434
1435         * aux/macros/check_mount_style.m4: hpux11's mount style is
1436         identical to svr4/solaris2.
1437
1438         * aux/macros/check_network_transport_type.m4: hpux11 is a TLI
1439         system!
1440
1441         * aux/macros/check_nfs_sa_dref.m4: hpux11's NFS host address
1442         dereferencing style is same as svr4.
1443
1444         * aux/macros/check_nfs_fh_dref.m4: hpux11's NFS file fh
1445         dereferencing style is same as svr4.
1446
1447         * conf/transp/transp_tli.c (create_nfs_service): if failed to
1448         getnetconfigent() of ticlts, then try udp (hpux11).
1449
1450         * conf/nfs_prot/nfs_prot_hpux11.h: added correct definitions for
1451         struct nfs_args, nfs_fh, and NFSMNT_* flags, taken from solaris
1452         2.5.1 (HP used them).
1453
1454         * amd/rpc_fwd.c (fwd_init): don't use O_NDELAY for t_open()
1455         because hpux11 doesn't like it. if t_open failed, print error
1456         based on t_errlist, not sys_errlist.
1457
1458 Wed Mar  4 22:01:55 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1459
1460         * doc/am-utils.texi: lots of documentation fixes from Rainer Orth
1461         <ro@TechFak.Uni-Bielefeld.DE>.
1462
1463 Sat Feb 28 22:16:35 1998  Erez Zadok  <ezk@kosh.cs.columbia.edu>
1464
1465         * fsinfo/fsi_lex.l: undefine ECHO again, so it doesn't get used
1466         later.
1467
1468         * include/am_defs.h: defined the extern for ualarm() if it isn't
1469         found, regardless if the function isn't found in standard
1470         libraries, because otherwise libamu will include it.
1471
1472 1998-02-28  Erez Zadok (per Ron Snyder)  <ezk@short.cvo.roguewave.com>
1473
1474         * initial port to hpux-11 completed.  Compiles cleanly, but
1475         probably does not work, because of missing NFS V.2/3 headers.
1476
1477         * amd/conf_tok.l: cast yytext to char* when passed to strlen and
1478         strdup, for hpux-11's ansi-cc compiler.
1479
1480         * include/am_utils.h: renamed all xfree() to XFREE() to avoid
1481         conflict with hpux-11's system headers.  Also move (voidp) cast
1482         from sources to inside the macro itself.
1483
1484 Sat Feb 28 13:44:21 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1485
1486         * released snapshot am-utils-6.0a16s6
1487
1488         * amd/info_nis.c (nis_isup): new function to test if NIS is up
1489         without hanging amd.  Used to ensure that amd does not clear the
1490         maps when the expiration period arrived, if the service is down.
1491         Otherwise it would be left with empty maps.  It is better to stay
1492         with possibly old information than none at all.
1493
1494         * amd/mapc.c (mapc_sync): check to see if map service is up.
1495
1496 Tue Feb 24 02:19:42 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1497
1498         * aux/macros/check_lib2.m4 (AC_CHECK_LIB2): fix macro so it
1499         includes auxiliary library only if needed.
1500
1501 1998-02-22  Erez Zadok  <ezk@mercer.psl.cs.columbia.edu>
1502
1503         * amd/conf_tok.l: undefine ECHO again, so it doesn't get used
1504         later.
1505
1506 Sun Feb 22 01:41:08 1998  Erez Zadok  <ezk@zen.cs.columbia.edu>
1507
1508         * conf/nfs_prot/nfs_prot_osf2.h: port to alpha-dec-osf2.1
1509         completed.
1510
1511         * conf/mtab/mtab_osf.c (mnt_dup): not all OSF have NFS3.
1512
1513 Sat Feb 21 19:45:48 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1514
1515         * doc/am-utils.texi (Network Host Filesystem): correct example for
1516         type:=host map.
1517
1518         * aux/macros/os_cflags.m4: only osf4 should compile with
1519         -D_SOCKADDR_LEN.
1520
1521         * aux/macros/check_nfs_prot_headers.m4: distinguish between OSF2
1522         and OSF4.
1523
1524         * BUGS: include a new file listing known bugs.
1525
1526 Sat Feb 21 03:50:48 1998  Erez Zadok  <ezk@mercer.psl.cs.columbia.edu>
1527
1528         * conf/nfs_prot/nfs_prot_linux.h: turn DES off on all linux
1529         versions.
1530
1531         * aux/macros/type_recvfrom_fromlen.m4: linux alpha should use
1532         size_t for recvfrom fromlen arg.
1533
1534 Sat Feb 21 03:33:59 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1535
1536         * scripts/ctl-hlfsd.in: turn -D fork so primary process never
1537         hangs.
1538
1539 Sat Feb 21 02:45:51 1998  Erez Zadok  <ezk@mercer.psl.cs.columbia.edu>
1540
1541         * include/am_defs.h: don't include <sys/stat.h> and
1542         <linux/stat.h>, just remaining definitions in <statbuf.h>
1543
1544 Thu Jan 29 00:44:28 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1545
1546         * released snapshot am-utils-6.0a16s5
1547
1548         * conf/mount/mount_irix6.c (mount_irix): pass {u,e,x}fs_args to
1549         mount(2).
1550
1551         * check for <sys/fs/xfs_clnt.h> and include it when needed.
1552
1553         * conf/mount/{mount_irix5.c,mount_irix6.c} (mount_irix): recognize
1554         efs and xfs separately from "ufs".
1555
1556         * amd/{ops_xfs.c,ops_efs.c}: new support for irix xfs/efs.
1557
1558         * aux/configure.in: look for irix efs and xfs file systems.
1559
1560         * scripts/amd.conf.5: new unmount_on_exit option documented.
1561
1562         * doc/am-utils.texi (unmount_on_exit): new option documented.
1563
1564         * amd/conf.c (gopt_unmount_on_exit): new function to handle new
1565         amd.conf option.
1566
1567         * amd/map.c (umount_exported): if global amd.conf flag
1568         unmount_on_exit is on, then try to unmount all mounted (or
1569         restartable) file systems.
1570
1571         * amd/amd.c: if print_pid option is on, then normally print it to
1572         stdout.  If also pid_file is specified, then print the process ID
1573         into that file.
1574
1575         * amd/get_args.c (get_args): print correct -l option depending if
1576         system supports syslog and/or syslog facilities.  Patch from 
1577         Tom Schmidt <tschmidt@micron.com>.
1578
1579         * doc/am-utils.texi (opts Option): updates for documentation for
1580         new cdfs options defperm, nodefperm, noversion, rrip.
1581
1582         * amd/ops_cdfs.c (mount_cdfs): support cdfs options defperm,
1583         nodefperm, noversion, rrip.
1584
1585         * conf/nfs_prot/nfs_prot_osf.h: need to look at <cdfs/cdfsmount.h>
1586         on osf.
1587
1588         * aux/macros/{expand_cpp_hex.m4, expand_cpp_int.m4,
1589         expand_cpp_string.m4}: use #error to make failed compilations
1590         fail faster, rather than have the program fail during a run.
1591
1592         * include/am_compat.h: added a few new cdfs options: rrip,
1593         noversion, defperm, and nodefperm (used in OSF).
1594
1595 Wed Jan 28 20:24:09 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
1596
1597         * released snapshot am-utils-6.0a16s4
1598
1599         * doc/am-utils.texi (Global Parameters): update manual for new
1600         amd.conf global variable hesiod_base.
1601
1602         * scripts/amd.conf.5: update man page for new amd.conf global
1603         variable hesiod_base.
1604
1605         * amd/get_args.c (get_args): use /etc/amd.conf file if exists by
1606         default, else try command line options.  Patch from Randall
1607         S. Winchester <rsw@Glue.umd.edu>.
1608
1609 Wed Jan 28 12:20:56 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1610
1611         * amd/info_hesiod.c (hesiod_search), amd/conf.c
1612         (gopt_hesiod_base), amd/amd.h, amd/amd.c (init_global_options):
1613         included patch from Randall S. Winchester <rsw@Glue.umd.edu>, to
1614         support a hesiod base name in the amd.conf file.
1615
1616         * doc/am-utils.texi (pid_file Parameter): document new global
1617         amd.conf parameter.
1618
1619         * scripts/amd.conf.5: document new global option pid_file.
1620
1621         * amd/amd.c (daemon_mode): if cannot open pid_file, continue to
1622         run, but print error message.
1623
1624         * amd/conf.c (gopt_pid_file), amd/amd.h, amd/amd.c (daemon_mode,
1625         init_global_options): Included patch from Randall S. Winchester
1626         <rsw@Glue.umd.edu>, to support pid files in the amd.conf file.
1627
1628         * amd/get_args.c (get_args): correct usage info on amd -t.
1629
1630         * amd/*.c: massive file name and symbol name changes.  All amd
1631         file systems files and symbols are prefix with amfs_*.  Now using
1632         real name of file system: amfs_auto instead of afs, amfs_inherit
1633         instead of ifs, amfs_linkx instead of sfsx, etc.  This will enable
1634         clear distinction between amd file system and generic ones like
1635         nfs/ufs/pcfs/hsfs.  Also, now we can implement true afs (Andrew
1636         f/s) and DFS (Distributed f/s).
1637
1638         * amd/amfs_union.c: unionfs for amd is always defined, no need to
1639         #ifdef it.
1640
1641 Mon Jan 26 16:51:38 1998  Erez Zadok  <ezk@chestnut.mcl.cs.columbia.edu>
1642
1643         * libamu/mount_fs.c (compute_nfs_args): set 'noconn' NFS option on
1644         or off, based on the particular quirks of the OS in question.
1645
1646         * aux/macros/check_nfs_socket_connection.m4: new macro to set the
1647         correct wait of handling un/connected NFS sockets.
1648
1649         * scripts/wait4amd.in: use rlogin instead of rsh.
1650
1651         * amd/am_ops.c (ops_showfstypes): when showing F/S types in amd
1652         -v, always show "nfs3" for NFS V.3.
1653
1654 1998-01-25  Erez Zadok  <ezk@snoopy.cs.columbia.edu>
1655
1656         * lots of small fixes for solaris 2.6, since gcc 2.8.0 -Wall gets
1657         more picky than 2.7.2.3 did.
1658
1659 1998-01-24  Erez Zadok  <ezk@snoopy.cs.columbia.edu>
1660
1661         * include/am_utils.h (dlog): amuDebug macros reduced to shorter
1662         forms.
1663
1664 Fri Jan 23 18:38:30 1998  Erez Zadok  <ezk@goat.mcl.cs.columbia.edu>
1665
1666         * released snapshot am-utils-6.0a16s3
1667
1668         * include/am_defs.h: on Solaris 2.6, <sys/varargs.h> is included
1669         in <sys/fs/autofs.h> but since stdargs.h is used, and varargs.h
1670         must not, fake a definition for varargs.
1671
1672 Fri Jan 16 10:16:40 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1673
1674         * README: show how to configure in additional support such as
1675         hesiod using various --enable-* flags.
1676
1677 Wed Jan 14 15:13:02 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1678
1679         * aux/configure.in: look for strcasecmp(), and replace it if not
1680         available.
1681
1682         * amd/ops_nfsl.c (nfsl_match): host names should be compared using
1683         case insensitive.
1684
1685         * amd/opts.c: for each map variable, define if the comparison
1686         needs to be done case insensitive.
1687
1688         * include/am_utils.h (STRCEQ): a new macro to use strcasecmp().
1689         Patch from Thomas Richter <richter@chemie.fu-berlin.de>
1690
1691 1998-01-14  Erez Zadok  <ezk@irt.cs.columbia.edu>
1692
1693         * aux/configure.in: look for "isofs" as a possible mount type for
1694         cdfs (RedHat Linux).
1695
1696 Wed Jan 14 02:07:05 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1697
1698         * conf/mount/mount_linux.c (parse_opts): don't look for cdfs mount
1699         type if not defined.
1700
1701         * conf/nfs_prot/nfs_prot_linux.h: don't define __FD_* macros if
1702         already defined.
1703
1704         * aux/configure.in: look for ext2fs before ufs, b/c some linux
1705         have both.
1706
1707 Mon Jan 12 15:43:20 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1708
1709         * Makefile.am (snapshot): allow me to install snapshots into the
1710         ftp directory.
1711
1712         * scripts/ctl-hlfsd.in: don't turn on -D mem by default.
1713
1714         * amd/get_args.c (get_args): minor bug in output of amd -H.
1715
1716 Mon Jan 12 03:05:06 1998  Erez Zadok  <ezk@chestnut.mcl.cs.columbia.edu>
1717
1718         *******************************************************************
1719         *** Released am-utils-6.0a15                                    ***
1720         *******************************************************************
1721
1722 Sun Jan 11 15:06:34 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1723
1724         * amd/conf.c (*_browsable_dirs): allow specifying
1725         browsable_dirs=full, which will print *all* entries (other than
1726         /default), including  those with '*' and '/' characters.
1727
1728         * amd/info_file.c (MAX_LINE_LEN): up maximum readdir chain length
1729         to 1500.
1730
1731         * doc/am-utils.texi: fixed reversed documentation for NFS mount
1732         options vers and proto.
1733
1734         * doc/Makefile.am (install-html): separate target just for
1735         installing html files.  Another new target "alldocs" is just for
1736         installing all files needed for the am-utils home page.
1737
1738         * scripts/amd.conf-sample: updated example for log_file.
1739
1740         * scripts/amd.conf.5: updated for new way to declare new syslog
1741         facility in the log_file option.
1742
1743         * amd/amd.8: updated for new way to declare new syslog facility in
1744         the -l option.
1745
1746         * libamu/xutil.c (get_syslog_facility): allow users to specify the
1747         syslog facility as an appended string to the log device.  Ex. amd
1748         -l syslog:local7 will use LOG_LOCAL7, while the older -l syslog
1749         will use the default LOG_DAEMON facility.
1750
1751         * amd/get_args.c (get_args): updated new syntax for amd -l
1752         syslog:facility.
1753
1754 Thu Jan  8 04:05:10 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1755
1756         * aux/macros/host_macros.m4: don't confuse sun3 (sparc) with sun3
1757         (intel).
1758
1759         * libamu/wire.c (print_wires): bug fix.  Nullify output buffer
1760         before appending to it, on systems with two or more network
1761         interfaces.
1762
1763         * conf/nfs_prot/nfs_prot_sunos5_3.h: add missing definition for
1764         the mntent for cachefs.
1765
1766         * include/am_defs.h: external definition for strstr() should use
1767         const for both arguments.
1768
1769         * aux/configure.in: add extern definitions for getwd() if missing.
1770
1771         * include/am_defs.h: define the extern for strdup() even if the
1772         function does not exist, for it will be filled in by
1773         libamu/strdup.c
1774
1775         * amq/pawd.c (cluster_server): don't use getccent() if the extern
1776         for it isn't there.  On hpux 10.20, the function is in libc, but
1777         <cluster.h> and struct cct_entry do not exist.
1778
1779         * aux/configure.in: check for an extern for getccent() b/c some
1780         hpux systems don't have it (hpux 10.20).
1781
1782 Wed Jan  7 00:09:19 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
1783
1784         * doc/am-utils.texi (Amq -T option): manual documentation updates
1785         for new amq options -T/-U.
1786
1787         * amq/amq.8: updated man page for new amq options -T/-U.
1788
1789         * amq/amq.c: two new switches to amq. -U will contact amd using
1790         UDP only.  -T will use TCP only.  Normally amq will try TCP and
1791         if that failed, will try UDP.
1792
1793         * doc/am-utils.texi (pawd): manual documentation for pawd.
1794
1795         * amq/pawd.1: new man page for pawd.
1796
1797 Tue Jan  6 04:21:59 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
1798
1799         * amq/pawd.c: a new program, Print Automounter Working Directory,
1800         to print the proper pathname of the cwd or any other pathname,
1801         adjusted for automounter paths, while avoiding mount points.
1802
1803         * aux/macros/localconfig.m4: trivial support for am-utils
1804         maintainers to adjust some of the configuration of am-utils after
1805         it has been auto-configured by putting whatever definitions you
1806         wish in a file called localconfig.h, located in the top build
1807         directory (the same one where config.h is created for you).
1808
1809         * doc/am-utils.texi (Caching Filesystem): updated documents for
1810         cachefs file system.
1811
1812         * amd/ops_cachefs.c: initial cachefs support, for solaris.
1813         type:=cachefs, requires cachedir:=/cache/dir/name to be defined
1814         and initialized with cfsadmin -c.  $rfs is backdir to be cached
1815         from, and $fs is the local mount point of the cachefs.
1816
1817         * conf/mount/mount_svr4.c (mount_svr4): support mounting of
1818         cachefs file systems.
1819
1820         * amd/ops_cdfs.c: cdfs should be named 'cdfs', not whatever the
1821         mnttab type is.
1822
1823 Mon Jan  5 23:22:49 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
1824
1825         * amd/opts.c: added support for new variable $cachedir.
1826
1827         * include/am_utils.h: added opt_cachedir field to struct am_opts.
1828
1829 Sat Jan  3 01:43:57 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
1830
1831         * amd/ops_nfsl.c (nfsl_ffserver, nfsl_match): also check if the
1832         local hostname does not match $rhost, and if so, also assume
1833         type:=nfs.
1834
1835 Fri Jan  2 01:00:40 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
1836
1837         * updated all source files to add 1998 as a copyright year.
1838
1839         * amd/ops_nfsl.c: new amd meta file system "type:=nfsl".  Behaves
1840         like type:=linkx if the pathname denoted by $fs exists, and like
1841         type:=nfs if it does not.  A convenient shortcut for the most
1842         popular amd map entry.
1843
1844         * amd/amd.c (main): amd should chdir to / before starting, to
1845         avoid hanging on other NFS server if started elsewhere.
1846
1847         * amd/ops_TEMPLATE.c: added an empty template file for developers
1848         who wish to write new amd pseudo file systems.
1849
1850 Thu Jan  1 00:27:28 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1851
1852         * hlfsd/homedir.c (plt_init): make function exported, to save on
1853         the unnecessary init_homedir() function which was removed.
1854         (table_add): don't use xmalloc() when you can use strdup()
1855         instead.
1856
1857 Thu Jan  1 00:15:58 1998  Erez Zadok  <ezk@chestnut.mcl.cs.columbia.edu>
1858
1859         * hlfsd/homedir.c (hlfsd_endpwent): Don't actually run this
1860         because we will be making more passwd calls afterwards.  On
1861         Solaris 2.5.1, making getpwent() calls after calling endpwent()
1862         results in a memory leak! (and no, even Purify didn't detect
1863         it...)
1864
1865 Tue Dec 23 18:23:47 1997  Erez Zadok  <ezk@chestnut.mcl.cs.columbia.edu>
1866
1867         * hlfsd/hlfsd.c (main): Bug fix.  Don't try to free() an
1868         automatically allocated address.
1869
1870         * amd/ops_afs.c (mount_toplvl): Bug fix.  Don't try to free() an
1871         automatically allocated address.
1872
1873         * ALL SOURCES: change every direct call to free() to xfree(), so
1874         it can be mapped to the right debugging function as needed.
1875
1876         * include/am_utils.h: new free() policy.  If debugging memory,
1877         call dxfree(), which will print the file name and line number
1878         where the free occurred and the pointer address.  if only regular
1879         debugging, then free() and reset  the pointer to NULL so it cannot
1880         be used afterwards inadvertently.  If not DEBUG at all, then just
1881         run free().  Three different #define macros set the right mapping.
1882
1883         * libamu/xutil.c (dxfree): renamed function to dxfree(), so it can
1884         be called only when debugging the memory.
1885
1886 Tue Dec 23 04:24:28 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1887
1888         * wire-test/wire-test.c (main): use xmalloc() not malloc().
1889
1890         * conf/transp/transp_tli.c (get_knetconfig): use xzalloc() not
1891         calloc().
1892
1893         * conf/mtab/mtab_mach3.c (convert): use xzalloc() not calloc().
1894
1895         * conf/mount/mount_linux.c (parse_opts): use xmalloc() not
1896         malloc().
1897
1898         * amd/info_ldap.c: use xmalloc() not malloc().
1899
1900         * libamu/xutil.c (xzalloc): new function to allocate memory and
1901         zero its bytes.
1902
1903         * amq/amq.c: amq does not need its own definition of xfree().
1904
1905         * aux/macros/opt_debug.m4: if used --enable-debug=mem, then also
1906         look for function malloc_verify() in libmapmalloc.a, and function
1907         mallinfo() in libmalloc.
1908
1909         * libamu/xutil.c (checkup_mem): do not use mallinfo field
1910         uordbytes, because it does not always exist.  Rather, compute it
1911         from other fields..
1912
1913         * include/am_utils.h: add external definition to xfree() function
1914         used when debugging memory references.
1915
1916 Mon Dec 22 03:01:30 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1917
1918         * amd/ops_afs.c (afs_readdir_browsable): reduce the number of
1919         bytes heuristically computed to be returned to the kernel.
1920         Otherwise browsable_dirs fails on OpenBSD 2.2.
1921
1922         * amd/mntfs.c (uninit_mntfs): bug fix.  Moved freeing of
1923         mf_private field to AFTER it gets used.
1924
1925 Sat Dec 20 00:51:21 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1926
1927         * amd/ops_host.c (host_umounted): don't use clnt_spcreateerror()
1928         on systems that don't support it.
1929
1930         * include/am_defs.h: add missing extern definition for free().
1931
1932         * aux/configure.in: check for external definition for free().
1933
1934         * libamu/Makefile.am: add to comment a mention of strstr as an
1935         optional function.
1936
1937         * libamu/xutil.c (switch_to_logfile): use openlog() options only
1938         if they exist.
1939
1940         * conf/transp/transp_sockets.c (get_nfs_version): don't use
1941         clnt_spcreateerror if it does not exist.
1942
1943         * aux/configure.in: check for missing functions clnt_create and
1944         clnt_spcreateerror.  Check for missing strstr, and complete
1945         its code.  Check for missing external definition for strstr.
1946
1947         * aux/macros/host_macros.m4: normalize sun3* names.
1948
1949         * Makefile.am: updates for new sunos3 files distributed.
1950
1951         * conf/nfs_prot/nfs_prot_sunos3.h: new file.
1952
1953         * conf/fh_dref/fh_dref_sunos3.h: new file.
1954
1955         * aux/macros/check_nfs_prot_headers.m4: added sunos3 case.
1956
1957         * aux/macros/check_nfs_fh_dref.m4: added sunos3 case.
1958
1959         * doc/am-utils.texi (wire Selector Variable): updated manual for
1960         adjusted variables wire, network, and netnumber, all using the
1961         in_network() function.
1962
1963 Fri Dec 19 04:37:36 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1964
1965         * amd/opts.c: allow options to be processed by executing arbitrary
1966         functions.  Converted wire, network, and netnumber all to use the
1967         nomadic function in_network.  So from now on they perform a match
1968         against all networks, not just primary.
1969
1970         * initial port to alpha-unknown-linux-gnu, probably works, but
1971         untested yet.
1972
1973         * conf/nfs_prot/nfs_prot_linux.h: add special definitions for
1974         __FD_* macros which for som strange reason do not get included
1975         from <selectbits.h> on redhat alpha linux.  Also turn off usage of
1976         <rpc/des_auth.h> because it is incomplete on the same systems.
1977
1978         * hlfsd/homedir.c (table_add): cast uid field to int, for
1979         comparison.
1980
1981         * include/am_defs.h: more coflicts with redhat alpha linux
1982         "resolved".
1983
1984         * aux/macros/{mount_headers,try_compile_anyfs,try_compile_nfs}.m4:
1985         There's a conflict of definitions on redhat alpha linux between
1986         <netinet/in.h> and <linux/fs.h> which must be avoided.
1987
1988         * aux/configure.in: check for <socketbits.h>, which is in use on
1989         redhat alpha linux.
1990
1991         * doc/am-utils.texi (Selectors): added documentation to describe
1992         the new "!" (negated) nomadic functions.
1993
1994         * amd/opts.c (f_in_network): print debugging info that is correct,
1995         rather than saying that any ARG is on a local network.
1996         (eval_opts): added support for negating nomadic functions, by
1997         prepending "!" to their name.  Example, !exists(/foo/bar).
1998
1999 Thu Dec 18 20:57:19 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2000
2001         * include/am_compat.h: ensure that all NFS3 systems have the mount
2002         table entries (and amd opts switches) "proto" and "vers".
2003
2004         * hlfsd/homedir.c (table_add): added some debugging info to try
2005         and track down a serious memory leak in hlfsd.
2006
2007 1997-12-18  Erez Zadok  <ezk@t-rex.mcl.cs.columbia.edu>
2008
2009         * libamu/mount_fs.c (compute_nfs_args): OpenBSD 2.2 requires that
2010         you do NOT set the noconn option, and use connected sockets
2011         always.  So I'm now forced not to set it at all, and have the user
2012         specify it as "conn" or "noconn" in their /default entry.  Argh...
2013         Finally, it looks as if OpenBSD 2.2's NFS 3 implementation may be
2014         buggy (TCP hangs with "short receive" kernel errors).  I'd better
2015         wait until they get it working in their version of the automounter
2016         first.  So I'm putting the "noconn" option back.
2017
2018 Thu Dec 18 02:39:39 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2019
2020         * libamu/mount_fs.c (compute_nfs_args): use maxgrps option and set
2021         nfs_args field maxgrouplist accordingly.
2022
2023         * include/am_compat.h (MNTTAB_OPT_MAXGROUPS): complete definition
2024         for mount table entry for maxgroups based on NFS mount option
2025         maxgrp.
2026
2027         * aux/configure.in: put back testing for NFS mount option
2028         "maxgrps".  Added test for mount table entry "maxgroups".
2029
2030         * libamu/mount_fs.c (compute_nfs_args): perform more careful tests
2031         on nfs_proto, because it could be NULL.
2032
2033         * doc/am-utils.texi (Selectors): added example of in_network()
2034         selector.
2035
2036         * aux/macros/check_hide_mount_type.m4: all hpux versions,
2037         including 9.x, should use "ignore" as the mount type to hide from
2038         amd.
2039
2040 Wed Dec 17 13:09:21 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2041
2042         * include/am_utils.h (NSTREQ): use new macro instead of strncmp()
2043         every where in the sources.
2044
2045 Wed Dec 17 01:15:01 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
2046
2047         * libamu/mount_fs.c (print_nfs_args): if -D trace is on, will
2048         print as much info that is given in struct nfs_args as possible.
2049         useful for detecting internal flags and options, as well as the
2050         file handle used.
2051
2052         * scripts/ctl-amd.in: look for amd.conf file in ${prefix}/etc
2053         after /etc and before /etc/local.
2054
2055 Tue Dec 16 18:51:36 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2056
2057         * aux/configure.in, libamu/Makefile.am: added support for linking
2058         with specific versions of libamu.  Upped shared library version of
2059         libamu to 1 (libamu.so.1.0.0)
2060
2061         * include/am_defs.h: added external definition for mkstemp() as
2062         needed.
2063
2064         * minor new port to i386-unknown-netbsd1.3 (BETA version of
2065         netbsd).
2066
2067         * aux/config.guess: don't leave a trailing '.' on the system name
2068         for NetBSD-1.3_BETA and similarly for OpenBSD.
2069
2070         * conf/nfs_prot/nfs_prot_netbsd1_3.h: new header for the slight
2071         differences in ypall calling conventions.
2072
2073         * mk-amd-map/mk-amd-map.c (main): use mkstemp() whenever possible
2074         in preference over mktemp(), b/c it is more secure.
2075
2076         * aux/configure.in: check for mkstemp(), a more secure version of
2077         mktemp().
2078
2079 Mon Dec 15 02:32:14 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2080
2081         * amd/ops_nfs.c (mount_nfs_fh): Systems that include the mount
2082         table "vers" option generally do not set the mnttab entry to
2083         "nfs3", but to "nfs" and then they set "vers=3".  Setting it to
2084         "nfs3" works, but it may break some things like "df -t nfs" and
2085         the "quota" program (esp. on Solaris and Irix).  So on those
2086         systems, set it to "nfs".
2087
2088 Sat Dec 13 01:36:27 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2089
2090         * doc/am-utils.texi (Distrib): updates for new ports, location of
2091         am-utils' home page, and URL cross references (now supported by my
2092         version of texi2html).
2093
2094         * aux/macros/check_mtype_type.m4: also use string type for file
2095         system mount types under nextstep for mount(2).
2096
2097         * aux/macros/check_mtype_printf_type.m4}: nextstep can handle both
2098         integer and string types for file system mount types in mount(2),
2099         but it is better to use string types.
2100
2101         * conf/nfs_prot/nfs_prot_nextstep.h: set emum nfsstat's NFS_OK to
2102         0, not 1!  Otherwise, all NFS calls (esp. mount) return errno 1
2103         (EPERM) instead of 0 (OK).  Fixes m68k-next-nextstep3 which now
2104         works.
2105
2106         * conf/nfs_prot/nfs_prot_bsdi2.h: set emum nfsstat's NFS_OK to 0,
2107         not 1!  Otherwise, all NFS calls (esp. mount) return errno 1
2108         (EPERM) instead of 0 (OK).
2109
2110         * libamu/xdr_func.c (xdr_*): add debugging calls that are optioned
2111         by -D trace (protocol trace).
2112
2113 1997-12-11  Erez Zadok  <ezk@bach.cs.columbia.edu>
2114
2115         * A.m68k-next-nextstep3/amu_nfs_prot.h: define missing S_ISDIR
2116         macro based on existence on others, and include <sys/stat.h>.
2117
2118 Thu Dec 11 14:14:38 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2119
2120         * aux/macros/try_compile_nfs.m4 (AC_TRY_COMPILE): turn off
2121         inclusion of <nfs/nfs_mount.h> which only affects nextstep3, on
2122         which this header is broken (it tries to include non-existing
2123         headers).
2124
2125 Wed Dec 10 16:09:07 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2126
2127         * libamu/mount_fs.c (mnt_flags): support either nfs or generic
2128         mount option for grpid.
2129
2130         * aux/configure.in: turn back on NFS mount option grpid.
2131
2132 Sat Dec  6 04:36:05 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2133
2134         * doc/Makefile.am (install-ps): added target to install postscript
2135         file in the am-utils' home page, as well as a few other useful
2136         files for the new am-utils Web page.
2137
2138 Mon Nov 17 05:22:56 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2139
2140         *******************************************************************
2141         *** Released am-utils-6.0a14                                    ***
2142         *******************************************************************
2143
2144 Sun Nov 16 21:56:16 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2145
2146         * doc/am-utils.texi (Supported Platforms): updated table of new
2147         ports.
2148
2149 Sat Nov 15 06:36:27 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2150
2151         * libamu/mount_fs.c (compute_automounter_nfs_args): pass mnttab
2152         options so that they can be printed in logs as needed.
2153
2154         * doc/am-utils.texi (osver Parameter): updated for the correct
2155         usage of the -o/-O options.
2156
2157         * scripts/amd.conf.5: corrected info for -o/-O options.
2158
2159         * amd/amd.8: updated man page for new -O op_sys_name option, and
2160         corrected the usage of the -o op_sys_ver option
2161
2162         * amd/get_args.c (get_args): added new amd option -O to override
2163         OS name.
2164         (get_args): updated usage string.  Removed old -m option.  Added
2165         -o and -O options.
2166
2167         * conf/nfs_prot/nfs_prot_irix5.h: add definition to FHSIZE in case
2168         it is not there.  Reportedly, irix 5.2 does not define it.
2169
2170         * scripts/lostaltmail.in: removed references to unused $hack
2171         variable.
2172
2173         * aux/macros/check_nfs_prot_headers.m4: Patch from Chris Metcalf
2174         <metcalf@cag.lcs.mit.edu> to correctly set the nfs_prot headers
2175         for solaris2.5.
2176
2177         * doc/am-utils.texi (Distrib): typo in the subscription
2178         instructions to amd-dev.  Patch from Stefan Vogel
2179         <vogel@physik-rzu.unizh.ch>.
2180
2181 1997-11-15  Erez Zadok  <ezk@amtrak.cs.columbia.edu>
2182
2183         * NFS3 works on powerpc-ibm-aix4.2.1.0.
2184
2185         * libamu/mount_fs.c (compute_nfs_args): set fh3 variable to
2186         static.  Some compilers (gcc from egcs  on aix 4.2.1) corrupt the
2187         stack of an automatic variable when pointer to it is passed around
2188         several times.
2189
2190 Fri Nov 14 20:09:28 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2191
2192         * libamu/xutil.c (real_plog): syslog like behavior for normal
2193         logging.  Will not print repeated strings, only a count "last
2194         message repeated N times", but will always print something if
2195         message is repeated more than 100 times.
2196
2197         * scripts/lostaltmail.in: look for lostaltmail.conf files also in
2198         /etc/global, /etc/os, and /etc/local (in that order).
2199
2200 Mon Nov 10 03:03:17 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
2201
2202         * conf/mount/mount_aix.c (mount_aix3): add support for NFS V.3
2203         mounts.
2204
2205         * aux/macros/struct_nfs_args.m4 (AC_TRY_COMPILE_NFS): test for
2206         aix42_nfs_args, specially set in conf/nfs_prot/nfs_prot_aix4_2.h
2207
2208         * conf/sa_dref/sa_dref_*.h: from now on, the "dst" argument to the
2209         NFS_SA_DREF macro is a pointer to the structure that used to be
2210         passed to it before.  So now I have to dereference the pointer
2211         before accessing its values.
2212
2213         * hlfsd/hlfsd.c (main): use the new and cleaner
2214         compute_nfs_args() and compute_automounter_nfs_args() functions.
2215
2216         * amd/ops_nfs.c (mount_nfs_fh): use the new and cleaner
2217         compute_nfs_args() and compute_automounter_nfs_args() functions.
2218
2219         * amd/ops_afs.c (mount_toplvl): MAJOR CODE REVISION.  Use the new
2220         and cleaner compute_nfs_args() and compute_automounter_nfs_args()
2221         functions.
2222
2223         * libamu/mount_fs.c (compute_nfs_args): major code cleanup that
2224         relates for struct nfs_args.  A new function sets the numerous
2225         possible flags and fields of nfs_args_t in an orderly fashion.
2226         Code cleaned up, organized, and moved from amd/hlfsd into
2227         libamu.  This saves on overall size of code.
2228         (compute_automounter_nfs_args): A variant of compute_nfs_args()
2229         which sets special options/flags that need to be used when NFS
2230         mounting an automounter's mount point.  Used by hlfsd and amd.
2231
2232         * amq/amq.c (get_secure_amd_client): don't print any more
2233         "get_secure_amd_client: using TCP, port 12345".  It's more
2234         annoying than useful a message, even when assumed to be compiled
2235         under DEBUG only.
2236
2237 Thu Oct 30 14:33:38 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2238
2239         * aux/macros/check_mnttab_type.m4: MAJOR BUG fixed for non-nfs
2240         mount table entries.  The code used to define the /etc/mnttab name
2241         for file systems based on physical media (disk, cdrom, floppy) to
2242         the generic name, rather than the OS specific name.  For example
2243         autoconf searches for all these types of mount table entries for a
2244         floppy based file system: vfat pcfs pc msdos msdosfs fat.  But if
2245         it found any, it hard-coded the mnttab name to "pcfs" rather than
2246         the actual name found!  Same for ufs, cdfs, pcfs, tmpfs, lofs,
2247         nullfs, unionfs, and umapfs.
2248
2249         * aux/configure.in: also test for xfs (for newer Irix) when
2250         looking for mount type names, numbers, etc of a disk-based ufs.
2251
2252 Sun Oct 26 19:32:57 1997  Erez Zadok  <ezk@defiant.soscorp.com>
2253
2254         * amq/amq.c (main): use pmap_ping() to test if remote host is up.
2255         This works better on bsdi2 and bsdi3, because their portmapper
2256         does not appear to like forwarding operations (it is generaly
2257         insecure).
2258
2259 Sat Oct 25 04:55:56 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2260
2261         *******************************************************************
2262         *** Released am-utils-6.0a13                                    ***
2263         *******************************************************************
2264
2265 Fri Oct 24 05:04:37 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2266
2267         * conf/nfs_prot/nfs_prot_ncr2.h: added missing definition for
2268         struct datum typedef.
2269
2270         * conf/nfs_prot/nfs_prot_netbsd.h: corrected typedef for
2271         ypall_callback_fxn_t for netbsd.
2272
2273         * aux/macros/type_auth_create_gidlist.m4: hpux10.10 uses int for
2274         the 5th arg to authunix_create(), while before and after they used
2275         gid_t.
2276
2277         * conf/transp/transp_tli.c (amu_clnt_create_best_vers): don't use
2278         clnt_create_timed() on older Solaris 2.3 systems that did not have
2279         it.
2280
2281         * conf/nfs_prot/nfs_prot_bsdi2.h: <msdosfs/msdosfsmount.h> is for
2282         kernel only on bsdi2, so do not include it.
2283
2284 Fri Oct 24 00:29:42 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
2285
2286         * hlfsd/stubs.c (nfsproc_readlink_2_svc): avoid logging repeated
2287         messages about resolution of mailboxes based on uid/gid.
2288
2289         * scripts/ctl-hlfsd.in: check for alternate password file in
2290         ${prefix}/etc/passwd and use it in hlfsd's startup.
2291
2292 Thu Oct 23 22:48:50 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
2293
2294         * hlfsd/homedir.c (hlfsd_getpwent): added support for -P
2295         passwdfile option.  If hlfsd is started with -P passwdfile, then
2296         the passwdfile is read and parsed just as a standard unix
2297         passwd(4) file.  Only the username, uid, and homedir fields are
2298         read and checked.  All the rest are ignored.  No NIS/netgroup
2299         support!
2300
2301         * hlfsd/hlfsd.c (main): check if hlfsd is run as root after
2302         parsing command line options, so that usage() can be printed when
2303         -h is invoked.
2304
2305 Wed Oct 22 00:16:39 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
2306
2307         * amd/nfs_start.c (mount_automounter): if autofs service listener
2308         fails to initialize it is OK if using a test amd.
2309
2310         * amd/opts.c (f_in_network): new nomadic function in_network(arg),
2311         which returns TRUE if 'arg' is any one of this host's networks.
2312
2313         * libamu/wire.c (getwire): rewritten parts of function, to store
2314         all networks names and numbers in the order of the interface (not
2315         in reverse).
2316
2317 Mon Oct 20 01:59:25 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2318
2319         * aux/configure.in: don't add ops_ufs.o on AIX twice.  My code
2320         would have worked had it not been due to AIX's buggy /bin/sh.
2321
2322         * doc/Makefile.am (EXTRA_DIST): include am-utils.dvi and
2323         am-utils.ps in the distribution sources.
2324         (html): generate html documentation for
2325         http://www.cs.columbia.edu/~ezk/am-utils/
2326
2327 Sun Oct 19 12:35:49 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2328
2329         * conf/nfs_prot/nfs_prot_netbsd.h: override the definition of
2330         ypall_callback_fxn_t.  The NetBSD team compiles all sources with
2331         gcc -Wall -Wmissing-prototypes -Wstrict-prototypes.
2332
2333         * amd/info_nis.c: allow for override of ypall_callback_fxn_t
2334         function typedef.
2335
2336         * libamu/xutil.c (amu_release_controlling_tty): new function to
2337         release the controlling tty in a clean and sane manner.  No longer
2338         using setpgid() b/c it may not work.  Uses setsid(),
2339         and ioctl() (in order).  This new function is used in amd/amd.c
2340         and hlfsd/hlfsd.c.  Also avoid setpgrp(), because it works on some
2341         systems, but on others it is the same as setpgid().
2342
2343 Sat Oct 18 23:42:40 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2344
2345         * aux/acconfig.h: check for nfs mount option 'fsname'.  Code for
2346         it was in amd/ops_afs.c, amd/ops_nfs.c, and hlfsd/hlfsd.c, but
2347         never used, because the configure test for fsname flag wasn't
2348         used.  This fixed a bug in HPUX 10, where syncer and manual mounts
2349         left blank lines in /etc/mnttab.
2350
2351         * aux/configure.in: check for nfs mount option 'fsname'.
2352
2353 Fri Oct 17 13:30:27 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2354
2355         * amd/ops_afs.c (mount_toplvl): turn on 'ignore' option in nfs
2356         mount flags of toplvl mounts.  Important esp. for HPUX 10.  Now
2357         hpux-10 will mount amd's mounts points as 'ignore' (by df).
2358
2359         * aux/configure.in: check for NFS mount option 'ignore', useful in
2360         HPUX 10.
2361
2362 Thu Oct 16 03:28:33 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2363
2364         * aux/macros/check_hide_mount_type.m4: hpux 10 should use "ignore"
2365         mount type and not NFS, for the amd mount points.
2366
2367         * conf/transp/transp_tli.c (amu_clnt_create_best_vers): don't log
2368         an RPC timeout as an error, but just an info message.  From
2369         Andreas Stolcke <stolcke@speech.sri.com>
2370
2371         * If the NFS server is down or does not support the portmapper
2372         call (such as certain Novell NFS servers) we mark it as version 2
2373         and we let the nfs code deal with the case that is down.  If when
2374         the server comes back up, it can support NFS V.3 and/or TCP, it
2375         will use those.  From christos@deshaw.com (Christos Zoulas).
2376
2377         * hlfsd/homedir.c (plt_print): various compile time cleanups to
2378         printfs that take a long, but pass an int to print.  From
2379         christos@deshaw.com (Christos Zoulas).
2380
2381         * aux/macros/func_bad_yp_all.m4 (ac_cv_func_yp_all_clean,): new
2382         macro to determine if the OS has a bad yp_all(), based on the host
2383         OS name.  So far only irix (all versions) have a bad yp_all, so
2384         they will use am_yp_all() instead (which is slower as it
2385         enumerates manually all of the map's entries).
2386
2387 Thu Oct 16 03:14:37 1997  Erez Zadok  <ezk@subzero.cs.columbia.edu>
2388
2389         * amd/info_nis.c (am_yp_all): code for a replacement yp_all that
2390         avoids using a file-descriptor leaking yp_all() on some systems
2391         like irix.
2392
2393 Wed Oct 15 21:52:35 1997  Erez Zadok  <ezk>
2394
2395         * fsinfo/fsinfo.h: avoid redefining yywrap incorrectly on DU-4.x
2396         systems using /usr/bin/flex.
2397
2398         * amd/conf_tok.l (yywrap): avoid redefining yywrap for systems
2399         that have a modified GNU flex which does define yywrap (DU-4.x).
2400
2401 Fri Sep 26 14:25:29 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2402
2403         * conf/checkmount/checkmount_bsd44.c: include prototype.
2404
2405 Fri Sep 26 01:26:24 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2406
2407         *******************************************************************
2408         *** Released am-utils-6.0a12                                    ***
2409         *******************************************************************
2410
2411 Fri Sep 26 00:13:48 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2412
2413         * conf/nfs_prot/nfs_prot_irix6.h: completely turn off all autofs
2414         code in irix6 until it can be tested correctly
2415
2416         * conf/transp/transp_tli.c (amu_clnt_create_best_vers): time out
2417         on clnt_create for 3 seconds, rather than wait for the much longer
2418         default.
2419
2420         * conf/nfs_prot/nfs_prot_aix4_2.h: port to powerpc-ibm-aix4.2.1.0.
2421         Includes NFS3, untested.
2422
2423 Thu Sep 25 11:03:11 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2424
2425         * amd/ops_pcfs.c (mount_pcfs): fill in uid/gid fields of
2426         pcfs_args_t if they exist.
2427
2428         * amd/ops_cdfs.c (mount_cdfs): fill in ssector field of
2429         cdfs_args_t if it exists.
2430
2431         * new minor ports hppa1.1-hp-hpux10.10, hppa1.1-hp-hpux9.05,
2432         hppa1.1-hp-hpux9.07, m68k-hp-hpux9.00, and sparc-sun-sunos4.1.4.
2433
2434 Wed Sep 24 00:48:05 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2435
2436         * doc/am-utils.texi (wire-test): updated documentation for the new
2437         option.
2438
2439         * wire-test/wire-test.8: updated man page for new option.
2440
2441         * wire-test/wire-test.c (main): added a test for various
2442         combinations of NFS proto/vers to a remote/local host.
2443
2444         * aux/macros/try_compile_anyfs.m4 (AC_TRY_COMPILE): include
2445         <isofs/cd9660/cd9660_mount.h> and <msdosfs/msdosfsmount.h> so that
2446         freebsd will correctly set mount options for pcfs and cdfs.
2447
2448         * amd/ops_pcfs.c (mount_pcfs): set mask field of pcfs_args to
2449         0777 (if field exists).
2450
2451         * aux/macros/try_compile_anyfs.m4 (AC_TRY_COMPILE): include
2452         <msdosfs/msdosfsmount.h> if available.
2453
2454         * minor new port: rs6000-ibm-aix4.1.4.0.
2455
2456         * libamu/mount_fs.c (mount_fs): fixed bug that caused HPUX not to
2457         write the "time" field in /etc/mnttab.
2458
2459         * conf/mtab/mtab_file.c (mnt_dup): fixed typo in macro names for
2460         detecting mnt_time field of mntent_t.
2461
2462         * libamu/mtab.c (mnt_free): fixed typo in macro names for
2463         detecting mnt_time field of mntent_t.
2464
2465 Tue Sep 23 15:30:03 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2466
2467         * conf/mtab/mtab_file.c (lock): Use flock() in preference over
2468         fcntl() to lock the mtab file.
2469
2470 Mon Sep 22 23:04:58 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2471
2472         * conf/transp/transp_sockets.c (get_nfs_version): define
2473         the try_again goto label only for NFS3.
2474         (pmap_ping): assume timeout failure of clnt_stat.
2475
2476         * libamu/xdr_func.c (xdr_groupnode, xdr_exportnode): cast to
2477         "groups *".
2478
2479 Mon Sep 22 20:34:33 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
2480
2481         * conf/transp/transp_sockets.c (pmap_ping): patch from Dan Riley
2482         <dsr@mail.lns.cornell.edu> to make sure that amd works with more
2483         secure portmappers that do not allow forwarding of RPC messages to
2484         other services.
2485
2486         * */Makefile.am: all source files should also depend on the new
2487         include/am_xdr_func.h header.
2488
2489         * include/am_xdr_func.h: new file as part of the code cleanup from
2490         Christos Zoulas <christos@deshaw.com>.
2491
2492         * Lots of fixes from Christos Zoulas <christos@deshaw.com> that
2493         involved missing prototypes, cleaned up ones, and removal of
2494         unused variables.
2495
2496         * libamu/xdr_func.c (xdr_mountres3): some code cleanup.  A switch
2497         statement with only one case is unclean.
2498
2499 Mon Sep 22 17:26:38 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2500
2501         * amd/ops_<FOO>fs.c (mount_<FOO>fs): initialize mntent_t fields to
2502         0 so that all fields are initialized to zero at first.  This way
2503         SunOS 4.x and other systems don't get /etc/mtab entries with
2504         random integers for the fsck/freq fields. Patch from Andreas
2505         Stolcke <stolcke@speech.sri.com>.
2506
2507 Mon Sep 22 00:34:19 1997  Erez Zadok  <ezk@americas.psl.cs.columbia.edu>
2508
2509         * conf/nfs_prot/nfs_prot_sunos4.h: include <nfs/nfs_clnt.h> so
2510         that the important definition for HOSTNAMESZ will be found.
2511
2512         * amd/ops_afs.c (mount_toplvl): limit hostname size to HOSTNAMESZ
2513         (inside the nfs_args structure) if the system uses that macro.
2514         Otherwise systems like SunOS refuse to NFS mount long pathnames
2515         and result in ENAMETOOLONG errno's.
2516
2517 Wed Sep 17 04:56:11 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2518
2519         * doc/am-utils.texi (Supported Platforms): specify new support for
2520         solaris 2.6, and hlfsd running on 2.5.1 too.
2521
2522 Wed Sep 17 03:55:02 1997  Erez Zadok  <ezk@amsterdam.psl.cs.columbia.edu>
2523
2524         * conf/mount/mount_svr4.c (mount_svr4): don't attemt an autofs
2525         mount if it is not supported or was turned off.
2526
2527 Wed Sep 17 03:19:36 1997  Erez Zadok  <ezk@americas.psl.cs.columbia.edu>
2528
2529         * conf/nfs_prot/nfs_prot_sunos4.h: fixed so that it will nfs mount
2530         again.  Apparently at some previous release SunOS 4 supported was
2531         broken and all nfs mounts resulted in ESTALE.
2532
2533 Wed Sep 17 00:26:25 1997  Erez Zadok  <ezk@amsterdam.psl.cs.columbia.edu>
2534
2535         * conf/nfs_prot/nfs_prot_sunos5_6.h: nfs protocol headers for
2536         solaris 2.6.
2537
2538         * aux/macros/check_nfs_prot_headers.m4: added solaris 2.6 nfs
2539         protocol header selection.
2540
2541 Sat Sep 13 14:31:51 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2542
2543         * conf/transp/transp_tli.c (amu_clnt_create_best_vers): avoid
2544         infinite loop.
2545
2546 Sun Sep  7 18:23:23 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2547
2548         *******************************************************************
2549         *** Released am-utils-6.0a11                                    ***
2550         *******************************************************************
2551
2552 Fri Sep  5 11:55:10 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2553
2554         * amd/amd.c (main): if plock() succeeded, don't try to display
2555         errno message.   Patch from Chris Metcalf
2556         <metcalf@catfish.lcs.mit.edu.
2557
2558 Thu Sep  4 19:17:58 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2559
2560         * hlfsd/homedir.c (table_add): make sure duplicate passwd entries
2561         are ignored.   Only the first entry should ever be used, because
2562         that's how lookup in passwd database works.
2563
2564         * conf/transp/transp_sockets.c (get_nfs_version): when determining
2565         if a remote host is up or down, use NFS v.2.  Fix suggested by
2566         Enami Tsugutomo <enami@cv.sony.co.jp>.
2567
2568         * conf/transp/transp_tli.c (amu_clnt_create_best_vers): new
2569         function to get the best possible NFS version, but also timeout
2570         faster than normal defaults, so remote hosts which are down can be
2571         detected in a reasonable time.
2572         (get_nfs_version): use the new "best" function.
2573
2574 Tue Sep  2 00:41:00 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2575
2576         *******************************************************************
2577         *** Released am-utils-6.0a10                                    ***
2578         *******************************************************************
2579
2580 Mon Sep  1 15:39:51 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2581
2582         * conf/transp/transp_tli.c (get_nfs_version): don't use
2583         clnt_tp_create_timed() on systems that don'e have it (Solaris 2.4
2584         and earlier).
2585
2586         * aux/configure.in: test for existence of clnt_tp_create_timed(),
2587         since Solaris 2.4 (and possibly earlier) do not have it.
2588
2589 Mon Sep  1 15:23:18 1997  Erez Zadok  <ezk@felix.psl.cs.columbia.edu>
2590
2591         * amd/ops_autofs.c (autofs_unmount_1_svc): only display rdevid
2592         field if it exists (solaris 2.4's autofs does not have it).
2593
2594 Mon Sep  1 14:45:09 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2595
2596         * aux/macros/type_auth_create_gidlist.m4: a new test to determine
2597         the correct type to the 5th argument of authunix_create().
2598
2599 Mon Sep  1 03:44:32 1997  Erez Zadok  <ezk@felix.psl.cs.columbia.edu>
2600
2601         * libamu/xdr_func.c (xdr_umntrequest): add test for autofs
2602         structure umntrequest, if it has the field rdevid.  Seems Solaris
2603         2.4 and earlier didn't have it.
2604
2605 Mon Sep  1 01:10:53 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2606
2607         * hlfsd/hlfsd.c (hlfsd_init): moved initialization upwards, so it
2608         can be done before primary process forks.
2609         (main): bug fix: wait a bit to give child a chance to initialize.
2610         Without this, hlfsd got into a busy infinite loop while, never
2611         completing the mount.
2612
2613         * amd/info_nis.c: patch from Jason Thorpe <thorpej@nas.nasa.gov>
2614         to make amd works when talking to NIS+ servers in NIS
2615         compatibility mode.
2616
2617 Mon Sep  1 00:46:56 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
2618
2619         * amd/mapc.c (MAX_CHAIN): increased maximum chain size to 1024.
2620
2621 Sun Aug 31 20:20:40 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
2622
2623         * amd/conf.c (gopt_fully_qualified_hosts): a new function to
2624         process another new global variable.
2625
2626         * amd/ops_nfs.c (make_nfs_auth): if a new global variable
2627         fully_qualified_hosts is on, use FQHN in RPC/NFS authentications.
2628         Patch from Chris Metcalf <metcalf@catfish.lcs.mit.edu>.
2629
2630         * amd/conf.c (process_last_regular_map): If the amd.conf file only
2631         has a [global] section (pretty useless IMHO), do not try to
2632         process a map that does not exist.
2633
2634         * scripts/amd.conf.5: fixed typos (repeated 'as' word).
2635
2636         * doc/am-utils.texi: MAJOR DOCUMENTATION REVISION COMPLETED!!!
2637
2638         * amd/conf.c (reset_cf_map): Bug fix.  Reset 'tag' field of cfm
2639         structure, so it does not carry over from map entry to another.
2640
2641 Sat Aug 30 18:39:21 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
2642
2643         * amd/amd.c (main): fixed the meaning of the plock option.  A bug
2644         caused it to be reversed.
2645
2646 Sat Aug 30 15:13:18 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2647
2648         * hlfsd/stubs.c: don't initialize some statics here.  They are
2649         better initialized in hlfsd_init_filehandles().
2650
2651 Fri Aug 22 14:47:16 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2652
2653         * amd/conf.c (gopt_show_statfs_entries): new function and a global
2654         amd.conf key show_statfs_entries.  Defaults to 'no'.  If 'yes',
2655         then all maps flagged as browsable will also show a count of the
2656         number of entries (keys) in that map.
2657
2658         * amd/nfs_subr.c (count_map_entries): new function to count number
2659         of entries in a map.  Now used if browsable is turned on in a map,
2660         to return a count of available keys in a given map.
2661
2662         * hlfsd/stubs.c (eq_fh): use correct memcmp().  BUG fixed! hlfsd
2663         confused the file handles for ".", "..", and the symlink, causing
2664         mess.
2665
2666         * aux/macros/func_bad_memcmp.m4: new test, based on autoconf 2.12,
2667         but also defines HAVE_BAD_MEMCMP, so I avoid linkage conflicts
2668         with bad memcmp() in libc's (nextstep3).
2669
2670 Thu Aug 21 17:38:41 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2671
2672         * aux/configure.in: check if autofs_args_t has a field named
2673         addr.  Solaris has it for specifying the address of the daemon,
2674         but Irix does not.  So how does irix tell the kernel the daemon's
2675         address?  I suspect that it is hardcoded to "localhost" using a
2676         "private well-known port" (#define AUTOFS_PORT 2048).
2677
2678         * conf/nfs_prot/nfs_prot_linux.h: added missing autofs
2679         definitions.
2680
2681         * README.autofs: new file listing autofs support notes
2682
2683         * very preliminary autofs code working.  Call it pre-alpha
2684         quality.
2685
2686 Sun Aug 17 02:25:09 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2687
2688         * amd/conf.c (ropt_mount_type, gopt_mount_type): don't accept
2689         "autofs" if system does not support it.
2690
2691         * amd/amd.c (main): log am-utils version string (same as amd -v)
2692         at start of run.
2693
2694         * conf/transp/transp_sockets.c (get_nfs_version): in order to tell
2695         if a remote host is available, try to contact its portmapper and
2696         timeout if no answer is received in 3 seconds.
2697
2698 Thu Aug 14 16:12:04 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2699
2700         * aux/macros/check_extern.m4 (pattern): use a simpler pattern for
2701         match for external function definitions.  The function could span
2702         multiple lines, so only match the opening parenthesis, not the
2703         closing one too.
2704
2705         * aux/macros/os_cpp-flags.m4 (ac_cv_os_cppflags,): do NOT turn on
2706         posix mode for nextstep3.  It is broken.
2707
2708         * amd/amd.c (init_global_options): run uname() only if
2709         <sys/utsname.h> and uname(2) exist.
2710
2711         * amd/rpc_fwd.c (fwd_packet): if remote host is down, the
2712         forwarding socket is null, so declare this an error.
2713
2714         * include/am_utils.h (AM_ERRNO_HOST_DOWN): find best errno to set
2715         for when a remote host is down.  Try, in order, "host down", "host
2716         unreachable", "invalid argument".
2717
2718         * amd/ops_nfs.c (discard_fh): don't dereference a null pointer
2719         (happens when remote host is down, and fp->fh_fs is NULL).
2720         (prime_nfs_fhandle_cache): ditto, and set fs flags to !FSF_VALID
2721         and FSF_DOWN.
2722
2723         * amd/sched.c: nobody uses "union wait" any more, or so it
2724         appears, so clean up that code.
2725
2726         * conf/transp/transp_tli.c (get_nfs_version): if remote host is
2727         down, time it out faster than default (3 seconds).
2728         (get_mount_client): free netconfig entry when done with it.
2729
2730         * conf/nfs_prot/nfs_prot_nextstep.h: initial (and somewhat ugly)
2731         port to nextstep3 (m68k-next-nextstep3).
2732
2733         * fsinfo/Makefile.am (LDADD): needs to link with libamu in case
2734         system does not have strdup().
2735
2736         * include/am_defs.h: complete external definition for getlogin()
2737         if needed.
2738
2739         * conf/transp/transp_tli.c (get_nfs_version): no need to keep
2740         static versout variable.
2741
2742         * amd/rpc_fwd.c (fwd_packet): if fwdto packet is null, remote
2743         server is probably down.  Don't use sendto() in that case.
2744
2745         * buildall (default): run gmake if found, before trying plain
2746         make.  GNU make is always preferable.
2747
2748 Tue Aug 12 21:23:58 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2749
2750         * aux/macros/host_macros.m4: cleanup of os_version and os
2751         overrides.  Solaris 2.5.1 for example will come up as solaris2 and
2752         2.5.1, rather than sunos5 and 5.5.1.  Both can be overridden in
2753         the amd.conf file.
2754
2755 Fri Aug  8 14:37:30 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2756
2757         *******************************************************************
2758         *** Released am-utils-6.0a9                                     ***
2759         *******************************************************************
2760
2761 Thu Aug  7 00:52:14 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2762
2763         * conf/nfs_prot/nfs_prot_ncr2.h: new file, for NCR2
2764         (i486-ncr-sysv4.3.03) headers.  Needed to complete missing stuff
2765         from <ndbm.h> and <sys/resource.h>.
2766
2767         * scripts/amd.conf.5: new map page.
2768
2769         * amd/info_hesiod.c: define extern for hesiod_resolve, since bsdi3
2770         does not.
2771
2772         * amd/amd.8: updated man page.
2773
2774         * amd/get_args.c (get_args): removed defunct -h option to amd.
2775
2776         * amq/amq.8: updated man page.
2777
2778         * amd/info_nisplus.c (nisplus_search): prototype fixes so Sun
2779         SparcCompiler CC won't complain.
2780
2781         * amd/info_hesiod.c (hesiod_search): small fixes to compile with
2782         hesiod-1.3, as per Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
2783
2784         * aux/macros/opt_ldflags.m4: new option added to configure
2785         --enable-ldflags, to specify -L option for configuring/compiling.
2786         The older one --enable-libs is now to be used only for -l options.
2787
2788         * amd/ops_nfs.c (mount_nfs_fh): bug fixed.  Should initialize
2789         nc_protoname from nfs_proto if available for all TLI systems, not
2790         just those that have NFS V3.
2791
2792         * amd/info_ldap.c: ldap patches from Leif Johansson
2793         <leifj@matematik.su.se>, adding two new amd.conf ldap variables:
2794         ldap_cache_seconds and ldap_cache_maxmem.
2795
2796         * hlfsd/hlfsd.c (main): bug fixed. port number must be wrapped in
2797         htons().
2798
2799 Sun Aug  3 17:20:05 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2800
2801         * amd/nfs_start.c (mount_automounter): register amd with the rpc
2802         program number that may have been overridden by amd.conf.
2803
2804         * libamu/xutil.c (set_amd_program_number, get_amd_program_number):
2805         allow storing and retrieving alternate amd program numbers.
2806
2807         * amd/conf.c (gopt_portmap_program): new function to parse
2808         amd.conf entry portmap_program=1234.
2809
2810         * amq/amq.c (main): allow specifying an alternate rpc program
2811         number for amd via -P prognum.
2812
2813         * new amq RPC to get the process id of the running amd.  This is
2814         used in ctl-amd to quickly find the pid of the amd that is to be
2815         killed.
2816
2817         * expanded shared libraries support.  Using GNU libtool-1.0,
2818         am-utils now builds shared libraries on many platforms that have
2819         support for it and proper compilers/linkers.  See "INSTALL" file
2820         for compatibility chart.
2821
2822 Thu Jul 31 13:07:23 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2823
2824         * fsinfo/fsi_lex.l: removed code that was in support of very old
2825         versions of flex.  No longer needed.
2826
2827 Tue Jul 29 12:00:13 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2828
2829         * amd/amd.c (init_global_options): find the kernel architecture
2830         from uname() if possible.
2831
2832 Mon Jul 28 03:53:59 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2833
2834         * new working port: i386-unknown-openbsd2.1
2835
2836 Fri Jul 25 03:16:31 1997  Erez Zadok  <ezk@felix.psl.cs.columbia.edu>
2837
2838         * working port: sparc-sun-solaris2.4.  Had to fix fhandle_t from
2839         structure to actual char[], because the structure was passed to
2840         xdr_fhandle as data and not a pointer.  Surprisingly, gcc
2841         -fpcc-struct-return did not help.
2842         
2843         * conf/nfs_prot/nfs_prot_sunos5_4.h: special nfs protocol
2844         definitions for solaris 2.4 have to be different from 2.3, and
2845         different from 2.5.
2846
2847         * libamu/xdr_fhstatus.c (xdr_fhstatus): minor code cleanup.
2848
2849 Thu Jul 24 16:22:39 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2850
2851         * conf/mount/mount_svr4.c (mount_svr4): use STREQ to compare mount
2852         types, not ==.  Fix from Christos Zoulas <christos@deshaw.com>.
2853
2854         * mk-amd-map/mk-amd-map.8: man page taken from bsd44.
2855
2856 Thu Jul 24 00:01:55 1997  Erez Zadok  <ezk@moisil.cs.columbia.edu>
2857
2858         * conf/mount/mount_linux.c: made the nfs error mapping code into a
2859         small function.
2860
2861 Wed Jul 23 16:11:49 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2862
2863         * conf/nfs_prot/nfs_prot_linux.h (NFS_ERROR_MAPPING): special
2864         error mappings from errno numbers to NFS errors.  From Debian
2865         Linux.
2866
2867         * scripts/am-eject.in (fs): new script (taken from Debian Linux
2868         folks) to auto-unmount floppy/cd devices before ejecting them.
2869
2870         * fsinfo/wr_exportfs.c (write_exportfs): from Debian folks, pass
2871         '5' as second arg to show_area_being_processed.  I'm not sure why.
2872
2873         * fsinfo/wr_atab.c (write_atab): from Debian folks, pass '5' as
2874         second arg to show_area_being_processed.  I'm not sure why.
2875
2876         * conf/mount/mount_linux.c (parse_opts): as per Debian Linux,
2877         ensure that you have a buffer in *xopts to strcat onto.
2878         (mount_linux): fixed from Debian folks to ensure that NFS mount
2879         sockets are connected only for kernels prior to 1.3.10 (avoids
2880         hangs for multi-homed hosts).
2881
2882         * amd/mapc.c (make_entry_chain): from Debian folks: don't skip
2883         over amd map keys that have a prefix, and include the prefix in
2884         the returned readdir().
2885
2886         * amd/info_passwd.c (passwd_init, passwd_search): format
2887         enhancements from the Debian Linux folks.  They added
2888         - var0:=pw-prefix:=anydir
2889         - var1:=pw-rhost:=dom3.dom2.dom1
2890         - var2:=pw-user:=user
2891         - var3:=pw-home:=/anydir/dom1/dom2/dom3/user
2892
2893         * new ports: sparc-sun-solaris2.4 and sparc-sun-sunos4.1.1.
2894
2895         * amd/ops_afs.c (afs_retry): patches from Debian Linux.  If
2896         afs_mount timed out, then explicitly forbid further retries after
2897         the timeout.  (afs_bgmount): buf fix from Debian Linux.  Timeout
2898         values (17 and 5) were mistakenly swapped.
2899
2900 Wed Jul 23 15:53:25 1997  Erez Zadok  <ezk@felix.psl.cs.columbia.edu>
2901
2902         * conf/nfs_prot/nfs_prot_sunos5_3.h: turn off non-existent NFS V.3
2903         support for Solaris 2.4 (the header files incorrectly define parts
2904         of the NFS V.3 protocol, but the kernel does not support it).
2905
2906 Wed Jul 23 00:07:12 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2907
2908         * amd/info_hesiod.c: minor cleanup to use hes_init and hesiod_init
2909         for determining if using old or new hesiod libraries,
2910         respectively.
2911
2912         * amd/ops_nfs.c (mount_nfs_fh): If "noconn" option exists in NFS
2913         V.3 then use non-connected sockets (both TCP and UDP).  Otherwise
2914         they cause hangs of mounts from multi-homed hosts when the return
2915         route is not the same as the outgoing route (esp. on NetBSD
2916         1.2.1).  If "conn" option was supplied, then don't turn on the
2917         "noconn" mount option.  Otherwise default to "noconn" mount
2918         option.
2919
2920         * aux/configure.in: better check for systems that need libgdbm and
2921         <ndbm.h>
2922
2923 Tue Jul 22 04:02:05 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2924
2925         * hlfsd/hlfsd.c (main), amd/ops_afs.c (mount_toplvl): ensure that
2926         mounts are hidden from df(1) on systems that keep mount tables in
2927         kernel, such as osf1.
2928
2929 Tue Jul 22 02:26:55 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2930
2931         *******************************************************************
2932         *** Released am-utils-6.0a8                                     ***
2933         *******************************************************************
2934
2935 Mon Jul 21 21:33:19 1997  Erez Zadok  <ezk@stone.mcl.cs.columbia.edu>
2936
2937         * hlfsd/hlfsd.c (main): bug fixed: forgot to set sin_family to
2938         AF_INET when hlfsd mounts itself, thus getting an errno "protocol
2939         family not supported".
2940
2941 Mon Jul 21 20:46:59 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2942
2943         * verified that amd on NetBSD 1.2.1 (i386) works, but the OS
2944         itself is flaky.
2945
2946         * verified that amd AIX 3 works w/ the new readdir() code.
2947
2948 Mon Jul 21 18:59:30 1997  Erez Zadok  <ezk@chestnut.mcl.cs.columbia.edu>
2949
2950         * amd/mapc.c (maptypes): changed the default map caching type for
2951         nis and ndbm maps to "MAPC_ALL", so that all possible entries will
2952         be available to amd for browsable_dirs=yes.
2953
2954 Mon Jul 21 18:04:16 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2955
2956         * amd/ops_afs.c (afs_readdir, afs_readdir_browsable): split
2957         afs_readdir into a browsable version and a non-browsable one.
2958         Fixed bugs that resulted in an infinite nfs_readdir loop on the
2959         localhost for some operating systems.
2960
2961 Sat Jul 19 19:38:38 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2962
2963         * amd/ops_afs.c (afs_readdir): fixed up the browsable code to
2964         comply with nfs_readdir specs.  It was returning all entries at
2965         once, even if there was not enough space in the RPC packet.  Now,
2966         it sends a reasonably sized chunk, and sets static state to resume
2967         it for the next continuation RPC of readdir.
2968
2969         * amd/conf.c (set_conf_kv): fixed bug that resulted in the first
2970         regular map not getting all of the [global] options defaulted from.
2971
2972 Fri Jul 18 00:45:12 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2973
2974         * amq/amq.c (main): fixed so that portmapper "ping" will only fail
2975         upon an RPC timeout
2976
2977         * scripts/ctl-{amd,hlfsd}.in (killproc): better method to find the
2978         amd/hlfsd process to kill.
2979
2980         * amd/ops_afs.c (mount_toplvl), hlfsd/hlfsd.c (main): code to
2981         determine how to avoid df from seeing amd's toplvl mounts.  Moved
2982         from libamu/mount_fs.c and include/am_utils.h.  Ensure that hlfsd
2983         is hidden from df.
2984         (mount_toplvl): fixed df types for irix.
2985
2986 Thu Jul 17 21:59:45 1997  Erez Zadok  <ezk@americas.psl.cs.columbia.edu>
2987
2988         * amq/amq.c (main): fixed bug that caused the 5 second timeout for
2989         TLI amq using udp to be ignored.
2990         (main): if amq cannot contact remote host's portmapper within 5
2991         seconds, timeout and fail faster than the default longer timeout
2992         (this is for non-TLI systems).
2993
2994 Thu Jul 17 17:08:13 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2995
2996         * amq/amq.c (get_secure_amd_client): if amq cannot contact
2997         remote host's portmapper within 5 seconds, timeout and fail faster
2998         than the default TLI timeout of over 4 minutes.
2999
3000         * amd/am_ops.c (ops_showfstypes): added styles for new bsd44
3001         file systems nullfs, unionfs, and umapfs.
3002         (ops_show1): cleanup code and and reuse this function.
3003         (vops): empty placeholders for nullfs, unionfs, and umapfs.
3004
3005         * amd/ops_{nullfs, unionfs, umapfs}.c: 3 new empty templates for
3006         bsd44 style file systems.
3007
3008         * fsinfo/fsinfo.8: man page for fsinfo rewritten from bsd44
3009         sources.
3010
3011         * amd/conf_tok.l, fsinof/fsi_lex.c: undefine ECHO to avoid
3012         conflict with systems that define it in <sys/ioctl.h> and also
3013         define a conflicting one via lex.  Newer versions of f/lex are ok.
3014
3015 Wed Jul 16 00:17:45 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3016
3017         * amd/ops_nfs.c (mount_nfs_fh): fill in nfs_args' fields
3018         acdirmin/max and acregmin/max only if they exist.
3019
3020         * aux/configure.in: test for nfs_args fields acdirmin and
3021         acregmin.
3022
3023 Tue Jul 15 17:24:09 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3024
3025         * aux/configure.in: commented out checking for MNT2_GEN_OPT_* for
3026         "nondev" and commented back in checking for "nodev".  This was a
3027         typo.
3028
3029         * include/am_compat.h: more compatibility options: define "ro"
3030         mnttab option all the time.  Define "overlay" as needed.  Added
3031         more fillers of mnttab options (as per Daniel S. Riley
3032         <dsr@mail.lns.cornell.edu>), for acdirmax, acdirmin, acregmax,
3033         acregmin, noac, grpid, nosuid, and actimo.
3034
3035         * libamu/mount_fs.c (mnt_flags): fixed a typo in "ro" option as
3036         per dsr@mail.lns.cornell.edu (Daniel S. Riley).  Then cleaned up
3037         the same code for other options in struct opt_tab.
3038
3039 Mon Jul 14 22:36:37 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3040
3041         * amd/get_args.c (get_args): moved amd.conf file parsing to before
3042         the switching the default log/debug options.  Suggested by
3043         dsr@mail.lns.cornell.edu (Daniel S. Riley).
3044
3045         * aux/update_build_version: new script to record the build version
3046         of amd, along with the rest of the info thet comes up with amd -v.
3047
3048 Sun Jul 13 00:30:24 1997  Erez Zadok  <ezk@decca.damtp.cam.ac.uk>
3049
3050         * aux/macros/os_cflags.m4: new macro, to add additional
3051         compilation options (also used during configuration), based on the
3052         OS and the compiler.  Used for solaris-2.6, osf, and irix6.
3053
3054 Fri Jul 11 10:15:11 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3055
3056         * amd/conf_tok.l, conf_parse.y: allow values of keys to include
3057         white spaces, if they are double-quoted (key="some value")
3058
3059         * amd/info_hesiod.c (hesiod_search): cleanup and minor bug fixes
3060         of hesiod from Danny Braniss <danny@cs.huji.ac.il>.
3061
3062 Fri Jul 11 02:16:06 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3063
3064         *******************************************************************
3065         *** Released am-utils-6.0a7                                     ***
3066         *******************************************************************
3067
3068 Thu Jul 10 12:19:25 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3069
3070         * include/am_defs.h: fill in extern definition of innetgr() in
3071         case system headers don't.
3072
3073         * aux/macros/path_prog_lex.m4 aux/configure.in: using macros that
3074         will show the full pathname to yacc/bison and f/lex.  Some systems
3075         have older or bad versions of those and this way the user will
3076         know for sure what is being invoked.
3077
3078         * tasks: file populated with todo items.
3079
3080         * scripts/amd2ldif.in: Script to convert amd maps to plain text
3081         LDAP object files.  Contributed by Leif Johansson
3082         <leifj@matematik.su.se>.
3083
3084         * aux/config.guess: added recognition for sun3's running 4.2bsd,
3085         from Tom Schmidt <tschmidt@micron.com>.  Fixed one small typo.
3086
3087         * amd/conf.c: several variables that were local to a map, were
3088         also added to [global], where they apply to all maps.  Each map
3089         can then individually override those defaults.  Flags
3090         affected: browsable_dirs and mount_type.  Options affected:
3091         map_type, map_options, and search_path.
3092
3093         * amd/amd.h: eliminated several global flags each of which took an
3094         int, in favor of one global flags variable used as a bit field.
3095
3096         * amd/amd.c (init_global_options): moved all global variables into
3097         a single struct amu_global_options, so it is easier to add new
3098         ones and/or identify existing ones.
3099
3100         * amd/get_args.c (get_args): removed unused amd -m option.
3101
3102         * amd/conf.c (gopt_cluster): added new amd.conf option for cluster
3103         name, same as amd -C.
3104
3105         * amd/info_ldap.c: LDAP info map functions from Leif Johansson
3106         <leifj@matematik.su.se>.
3107
3108         * amd/conf.c (gopt_ldap_base, gopt_ldap_hostports): put in global
3109         amd.conf options for ldap_base and ldap_hostports.
3110
3111         * amd/opts.c (f_netgrp): new amd map function netgrp(ARG) to test
3112         if the current host is in the ARG host netgroup.
3113
3114         * aux/configure.in: some systems replaced dbm in libc with GNU's
3115         libgdbm, so check for libgdbm, but only if dbm_open is not in
3116         libc already.  This was a recommendation from Tom Schmidt
3117         <tschmidt@micron.com>.
3118
3119         * conf/nfs_prot/nfs_prot_sunos5_3.h: port to sparc-sun-solaris2.3
3120         completed.
3121
3122 Wed Jul  9 18:14:59 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3123
3124         * port to sparc-unknown-netbsd1.2E done, not tested.  Includes NFS
3125         V.3.
3126
3127 Tue Jul  8 17:35:07 1997  Erez Zadok  <ezk@elk.mcl.cs.columbia.edu>
3128
3129         * port to i386-unknown-freebsd3.0 done and working.  Includes NFS
3130         V.3.
3131
3132         * aux/macros/check_nfs_fh_dref.m4: freebsd3 should use
3133         file handle dereferencing style similar to freebsd22.
3134
3135         * include/am_defs.h: need to include <net/if_var.h> before
3136         <netinet/if_ether.h> on freebsd3.
3137
3138         * conf/nfs_prot/nfs_prot_freebsd3.h: new protocol header additions
3139         for freeBSD 3.0.
3140
3141 Tue Jul  8 16:53:41 1997  Erez Zadok  <ezk@moisil.cs.columbia.edu>
3142
3143         * amd/info_nis.c (nis_reload): cast nis' callback function so
3144         picky compilers won't complain.
3145
3146         * libamu/xdr_mountres3.c (xdr_mountres3): make sure this function
3147         gets compiled only if the system has NFS V3 and does not have
3148         xdr_mountres3.
3149
3150 Tue Jul  8 12:42:03 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3151
3152         * COPYING: put in some legal stuff in this file.
3153
3154 Mon Jul  7 19:10:44 1997  Erez Zadok  <ezk@prometheus.soscorp.com>
3155
3156         * NFS V3 now works under Irix5, thanks to patches from 
3157         Andreas Stolcke <stolcke@speech.sri.com>.
3158
3159         * conf/mount/mount_irix5.c: sparate mount_irix.c into an irix5
3160         version and an irix6 version, since irix5's NFS V3 code is broken
3161         and hacky.
3162
3163         * amd/info_hesiod.c (hs_zone_transfer): minor fixes to buffer
3164         sizes for some hesiod queries.  Patch from Danny Braniss
3165         <danny@cs.huji.ac.il>.
3166
3167 Mon Jul  7 19:04:14 1997  Erez Zadok  <ezk@glory.soscorp.com>
3168
3169         * amd/ops_nfs.c (mount_nfs_fh): fixed NFS V.3 support for bsdi3.
3170
3171 Sun Jul  6 14:22:24 1997  Erez Zadok  <ezk@glory.soscorp.com>
3172
3173         * aux/{configure.in,acconfig.h}: added checks for struct
3174         nfs_args's fields proto and sotype (bsdi3).
3175         
3176         * amd/ops_nfs.c (mount_nfs_fh): added nfsv3 option to
3177         nfs_args.flags for bsdi3.  Set field proto to 0.  Set sotype field
3178         to SOCK_STREAM or SOCK_DGRAM.
3179
3180         * aux/macros/check_mount_style.m4: add case for bsdi3.
3181
3182         * amd/info_hesiod.c: got hesiod support for bsdi3.
3183
3184 Sun Jul  6 11:14:47 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3185
3186         * aux/configure.in: look for hesiod on libc (bsdi3)
3187
3188         * amd/get_args.c (get_args): reformat usage so it fits in 80
3189         columns.
3190
3191         * scripts/ctl-amd.in: changed directory name for optional tftpboot
3192         map to /tftpboot/.amd.
3193
3194 Sat Jul  5 17:46:45 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3195
3196         *******************************************************************
3197         *** Released am-utils-6.0a6                                     ***
3198         *******************************************************************
3199
3200 Sat Jul  5 03:17:09 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3201
3202         * scripts/ctl-amd.in: include -T tag for tftpboot.
3203
3204         * new port: mips-sgi-irix5.3.  Compiled with gcc, but NFS V3 code
3205         is broken and needs work on the specific nfs_args that irix5 uses
3206         for V3 mounts.
3207
3208 Sat Jul  5 01:44:25 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
3209
3210         * amd/get_args.c (get_args): new options amd -T tag.  A map with
3211         tag=foo matching the -T tag will be processed.  All untagged maps
3212         get processed all the time.
3213
3214 Fri Jul  4 16:19:26 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3215
3216         * aux/configure.in: need to check for strcasecmp in libucb (ncr2)
3217
3218         * aux/macros/check_os_libs.m4: a new macro to set the usage of
3219         libnsl and libsocket based on the OS.
3220
3221         * libamu/mount_fs.c (mnt_flags): used MNTTAB_OPT_GRPID if it is
3222         defined (problem on osf4).
3223
3224         * conf/nfs_prot/nfs_prot_irix5.h: new file for irix5 headers.
3225
3226         * include/am_defs.h, aux/macros/try_compile_nfs.m4,
3227         aux/macros/mount_headers.m4: do include <sys/proc.h> because it
3228         failes on irix5.  Rather, put in the individual
3229         conf/nfs_prot/nfs_prot_*.h headers.
3230
3231         * amd/conf.c: AIX3 doesn't like strdup() being passed a constant
3232         char*, so cast all strdup()'s args to a non-const char*.
3233
3234         * amd/mapc.c (root_newmap): don't try to strdup only a "const
3235         char *".
3236
3237 Fri Jul  4 15:47:10 1997  Erez Zadok  <ezk@americas.psl.cs.columbia.edu>
3238
3239         * conf/nfs_prot/nfs_prot_sunos4.h: added rpc/rpc.h and
3240         sys/errno.h.
3241
3242 Thu Jul  3 17:49:00 1997  Erez Zadok  <ezk@prometheus.soscorp.com>
3243
3244         * made sure am-utils compiles, links, and runs properly on Irix
3245         6.2 using "cc -32 -Wl,-woff,"
3246
3247         * aux/macros/check_lib2.m4: a bug fix version to autoconf 2.12
3248         AC_CHECK_LIB.  If OTHER-LIBRARIES are defined and used, then add
3249         them to $LIBS.
3250
3251         * aux/configure.in: some cleanup of which libraries are needed.
3252         Espectially ensure that libnsl is included only on Solaris, where
3253         so far it is the only system on which it is absolutely necessary.
3254         Also no longer need to include libc explicitly. 
3255
3256         * amd/amd.c,wire-test/wire-test.c (main): convert IP address to
3257         network-long order before printing it.
3258
3259         * wire-test/wire-test.c (main): also check and report on the IP
3260         address of the local host, since some systems have bad versions of
3261         get_myaddress, or ones that conflict with other versions in
3262         multiple libraries (SunOS 4 and Irix especially).
3263
3264 Wed Jul  2 18:19:02 1997  Erez Zadok  <ezk@starblazers.soscorp.com>
3265
3266         * scripts/ctl-amd.in: don't use full pathname so killproc() works
3267         better.  Also run bsd44 and irix style ps programs. 
3268
3269         * aux/macros/check_lib_funcs.m4: bug fixed: used to define usage
3270         of library no matter if it was found or not.
3271
3272 Wed Jul  2 02:11:48 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3273
3274         * aux/macros/check_mnt2_gen_opt.m4: turned back on the checking
3275         for M_* macros, but ensure that <sys/stream.h> is not included at
3276         all so it won't conflict with other M_* macros.
3277
3278 Tue Jul  1 21:16:51 1997  Erez Zadok  <ezk@mako.cs.columbia.edu>
3279
3280         * conf/mount/mount_irix.c (mount_irix): first arg to mount(2) on
3281         irix should be "spec" (host:/path), not the dir of the mnt point.
3282
3283         * amd/ops_afs.c (afs_lookuppn): bug in enable_default_selectors
3284         fixed.  If on, it essentially ignored the setting in a
3285         selector-controlled /defaults if there were 2 or more entries in it.
3286
3287 Tue Jul  1 12:23:38 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3288
3289         * scripts/ctl-{amd,hlfsd}.in (killproc): if failed to find process
3290         using BSD style ps, then try SVR4 style ps.
3291
3292         * include/am_utils.h (amuDebug): renamed Debug macro to amuDebug
3293         etc., to avoid conflicts with similar named macros in <ldap.h>.
3294
3295         * aux/configure.in, amd/info_ldap.c, etc.: put in all the autoconf
3296         support needed for LDAP.  Now the code has to be written mostly in
3297         amd/info_ldap.c.
3298
3299         * Included additional patches from Andreas Stolcke
3300         <stolcke@speech.sri.com> to support using the best possible
3301         combination of NFS version (2,3) and protocol (udp,tcp) for any
3302         given host, since it appears that some Irix versions have NFS V3,
3303         but do not support TCP.
3304
3305         * scripts/ctl-amd.in: updated amd control script to look for and
3306         use amd.conf file.
3307
3308 Tue Jul  1 00:28:23 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
3309
3310         * amd/mapc.c (mapc_create): now, each map in the amd.conf can be
3311         initialized off of a different type, or default to cycling through
3312         all maps until one of them matches.
3313
3314 Mon Jun 30 20:49:13 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
3315
3316         * amd/ops_afs.c (afs_readdir): per-map browsing (readdir) done.
3317         if browsable_dirs=yes is set in the map section in amd.conf, that
3318         map will return all entries back to a readdir(2).
3319
3320 Sun Jun 29 16:22:11 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
3321
3322         * rudimentary amd.conf file support included.  You may even
3323         override things like os=sos5, to get "backwards" compatibility with
3324         upl102.
3325
3326 Sat Jun 28 13:35:02 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
3327
3328         * amd/conf.c: new file to process amd.conf file.
3329
3330         * amd/get_args.c (get_args): new options -H to print help.
3331
3332         * moved enable_default_selectors to be amd.conf controlled, and
3333         not compiler controlled.
3334
3335         * amd/get_args.c (get_args): new options -F <conf-file> to parse an
3336         amd configuration file.
3337
3338 Wed Jun 25 23:15:42 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
3339
3340         * converted all files that used strcmp() == 0 or != 0  to using
3341         the STREQ() macro.
3342
3343 Mon Jun 23 22:31:14 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
3344
3345         * aux/macros/check_lib_funcs.m4: new M4 macro that can be used to
3346         search for any number of functions in any given library.
3347
3348 Mon Jun 23 01:04:23 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3349
3350         * amd/mapc.c: Included patch from Leif Johansson
3351         <leifj@matematik.su.se> to ensure that systems without an RE
3352         library can compile.
3353
3354         * libamu/mount_fs.c (mount_fs): Included patch from Andreas
3355         Stolcke <stolcke@speech.sri.com>, to ensure that mount options on
3356         table are properly delimited by a comma.
3357
3358         * amd/ops_nfs.c (mount_nfs_fh): Included patch from Andreas
3359         Stolcke <stolcke@speech.sri.com>, to allow users to override the
3360         proto= and vers= mount options.
3361
3362 Sun Jun 22 01:00:11 1997  Eric Dana  (edana@ncr2.bgs.com)
3363
3364         * conf/nfs_prot/nfs_prot_svr4.h: port completed to
3365         i486-ncr-sysv4.3.03.  Assorted source cleanups done.
3366
3367         * include/am_defs.h, aux/macros/mount_headers.m4: don't include
3368         mnttab.h if sys/mnttab.h was already included, because on ncr2,
3369         they contain conflicting entries for struct mnttab.
3370
3371 Sat Jun 21 23:52:15 1997  Eric Dana  (edana@ncr2.bgs.com)
3372
3373         * aux/macros/check_nfs_prot_headers.m4: added support for ncr2.
3374
3375 Fri Jun 20 06:14:17 1997  Erez Zadok  <ezk>
3376
3377         * amd/*.c: lots of 64-bit "ugly" ports like casts to long ints.
3378
3379         * aux/macros/struct_nfs_fh.m4: check for "struct nfssvcfh" because
3380         on DU-4.0 it is better than the next one to be picked (nfsv2fh_t).
3381
3382 Wed Jun 18 18:59:49 1997  Erez Zadok  <ezk@defiant.soscorp.com>
3383
3384         * aux/macros/struct_nfs_fh.m4 (AC_TRY_COMPILE_NFS): check for
3385         nfsv2fh_t before fhandle_t becasue on bsdi2.1 the former is
3386         better.
3387
3388 Tue Jun 10 17:06:58 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
3389
3390         * amd/rpc_fwd.c (fwd_packet): TLI bug fix. if fwdto socket is
3391         NULL, set the maxlen and len fields in netbuf to zero.
3392
3393 Wed May 28 22:52:28 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3394
3395         * scripts/fix-amd-map.in (name): replace all matching patterns on
3396         line.
3397
3398 Sun May 25 19:33:41 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3399
3400         *******************************************************************
3401         *** Released am-utils-6.0a5                                     ***
3402         *******************************************************************
3403
3404 Sun May 25 13:37:24 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
3405
3406         * amd/amq_subr.c (amqproc_getvers_1_svc): amq's RPC service
3407         procedure now returns the full string that amd -v returns.
3408
3409         * amd/get_args.c (get_version_string): new function to return
3410         complete version/info string so it could be used more flexibly.
3411
3412         * amd/am_ops.c (ops_showamfstypes, ops_showfstypes): put the list
3413         of Fs types into a string buffer, rather than a FILE*.
3414
3415         * amd/mapc.c (mapc_showtypes): put the list of map types into a
3416         string buffer, rather than a FILE*.
3417
3418 Sun May 25 01:25:36 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3419
3420         * amd/get_args.c (get_args): amd -v also prints user who built
3421         amd, hostname built on, and date of configuration.
3422
3423 Sat May 24 13:40:50 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3424
3425         * scripts/lostaltmail.conf-sample: sample lostaltmail
3426         configuration file.
3427
3428         * scripts/lostaltmail.in: new script lostaltmail used to redeliver
3429         "lost" mail that hlfsd redirected to a temp location because the
3430         primary home file system of the user was full.
3431
3432         * scripts/amd2sun.in: new script amd2sun. Used to convert Sub
3433         automount maps to amd maps.
3434
3435         * scripts/ctl-hlfsd.in: new script ctl-hlfsd.  Used to start,
3436         stop, or restart hlfsd.
3437         
3438         * scripts/expn.1: man page for expn command.
3439
3440         * scripts/ctl-amd.in: new script ctl-amd.  Used to start, stop, or
3441         restart amd.
3442
3443         * scripts/expn.in: new script expn.  Actually taken from David
3444         Muir Sharnoff <muir@idiom.com>.  Used by hlfsd's mail re-delivery
3445         script.
3446
3447         * scripts/wait4amd.in: new script wait4amd added.  Waits for amd
3448         to come up on a host, and then runs a command (rsh $hostname by
3449         default).
3450
3451         * scripts/Makefile.am: new directory now holds all shell/perl
3452         scripts that belong to am-utils.
3453
3454         * conf/mount/mount_linux.c (parse_opts): new parser for
3455         linux-specific mounts.  Handles fs-type specific mount-options
3456         correctly.  Currently implemented: msdos, iso9660.
3457
3458         * amd/ops_pcfs.c (pcfs_ops): don't timeout cdfs mounts by default
3459         (fix for linux).
3460
3461         * amd/ops_cdfs.c (cdfs_ops): don't timeout cdfs mounts by default
3462         (fix for linux).
3463
3464         * amd/mapc.c (make_entry_chain): fixed bug that resulted in amd
3465         core dumps upon "ls" of a mount point; an invalid pointer was
3466         being returned and dereferenced.
3467
3468         * port to Linux sparc working!
3469
3470         * hlfsd/homedir.c (hlfsd_diskspace): close file descriptor if
3471         failed to write test file, or else the fd will leak.
3472
3473 Sun May 18 00:42:41 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3474
3475         * amd/info_hesiod.c (hs_strip_our_domain): use strcasecmp()
3476         instead of strcmp().
3477
3478         * Port to Digital Unix 4.0 (OSF) done.
3479
3480         * hlfsd/hlfsd.c: renamed dirname to dir_name to avoid conflicts
3481         with dirname() function in <string.h> on OSF systems.
3482
3483         * fsinfo/fsi_util.c (set_ether_if): take out extern definition of
3484         inet_addr().  It should come from <arpa/inet.h> instead.
3485
3486         * conf/mtab/mtab_osf.c: fixed macros and added NFS V3 specs.
3487
3488         * include/am_utils.h: renamed FIRST/LAST to AM_FIRST/AM_LAST to
3489         avoid conflicts with DU 4.0 system header.
3490
3491 Thu May 15 22:49:12 1997  Erez Zadok  <ezk@subzero.cs.columbia.edu>
3492
3493         * libamu/mount_fs.c (mount_fs): pass along NFS version so I can
3494         determine if to include additional options in the mount table file
3495         entry (such as proto=tcp, and vers=3).
3496
3497 Thu May 15 00:42:12 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3498
3499         * libamu/mount_fs.c (mount_fs): include NFS version number in the
3500         mount table options, as well as proto={tcp,udp}.
3501
3502 Wed May 14 14:30:19 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
3503
3504         * NFS V3 code ported to most other systems, so it compiles for V2
3505         and V3 NFS systems.
3506
3507         * NFS VERSION 3 support, first pass.  Working for Solaris and
3508         using TCP.
3509
3510 Sun May 11 01:14:29 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
3511
3512         * amq/amq.c: many newline characters were missing from various
3513         stderr printfs.
3514
3515 Sat May 10 13:09:06 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
3516
3517         * conf/nfs_prot/nfs_prot_sunos5.h: protocol defintions for
3518         Solaris, which include NFS V3 support.
3519
3520         * conf/nfs_prot/nfs_prot_default.h: default NFS protocol headers.
3521         *** Released am-utils-6.0a15                                    ***
3522         * conf/transp/transp_{tli,sockets}.c (get_mount_client): use NFS
3523         protocol version while getting a mount client.
3524
3525         * amd/ops_nfs.c (mount_nfs_fh): set the mount types, mnttab types,
3526         file handle size, and proper file handle based on the correct NFS
3527         version number.
3528         browsable_dirs=full, which will print *all* entries (other than
3529         * conf/mount/mount_svr4.c (mount_svr4): support NFS3 mounts under
3530         Solaris and other SVR4 systems.
3531
3532         * amd/ops_nfs.c: store NFS file handle version and version
3533         specific handle in struct fh_cache.
3534         (got_nfs_fh): pick the correct RPC reply based on the NFS version
3535         of the server.
3536         (prime_nfs_fhandle_cache): figure out the right NFS file handle
3537         for a node, but now include NFS protocol version information.
3538         (call_mountd): set the correct version for the mount protocol,
3539         based on the NFS protocol version.
3540         (nfs_init): use the NFS protocol generic structure
3541         am_nfs_handle_t.
3542         to 1500.
3543         * include/am_utils.h: new structure am_nfs_handle_t to contain all
3544         possible versions of NFS file handles.
3545         * doc/am-utils.texi: fixed reversed documentation for NFS mount
3546         * amd/srvr_nfs.c (start_ping): ping program performs NFS version
3547         specific pings.
3548         (recompute_portmap): figure out the correct portmap version mount.
3549         (nfs_keepalive): call start_ping() with the correct NFS version.
3550         (find_nfs_srvr): if mount option "vers=" is given, use it.  Get
3551         the NFS server version and verify that it is up.
3552
3553         * conf/transp/transp_{tli,sockets}.c (get_nfs_version): a new
3554         function to find the best NFS version for a particular host.
3555         installing html files.  Another new target "alldocs" is just for
3556         * libamu/amu.h: determine what is the highest version of NFS we
3557         should try.
3558
3559         * include/am_utils.h (NFS_VERSION3): added definition for NFS V3
3560         protocol number.
3561         Added field fs_version to struct fserver, so we can now store the
3562         server protocol version.
3563         facility in the log_file option.
3564 Fri May  9 01:09:45 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
3565         * libamu/xutil.c (get_syslog_facility): allow users to specify the
3566         * aux/macros/check_field.m4 (AC_MOUNT_HEADERS): map '.' (dot) into
3567         underscores too, so I can test for sub-fields.
3568         will use the default LOG_DAEMON facility.
3569         * libamu/wire.c: use test that checks for sub-fields of struct
3570         ifreq.
3571 Thu Jan  8 04:05:10 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3572 Sat May  6 10:20:17 2000  Erez Zadok  <ezk@glory.soscorp.com>
3573         (intel).
3574         * port to BSD/OS 3.0 completed!  Many xdr_ functions were broken
3575         into smaller files.  M4 macros fixed to test for existence of
3576         file systems using getvfsbyname().
3577         before appending to it, on systems with two or more network
3578         * amd/sched.c (sigchld): signal handler must waitpid() for all
3579         possible children.
3580         the mntent for cachefs.
3581         * hlfsd/homedir.c: signal handler must waitpid() for all possible
3582         children. 
3583         const for both arguments.
3584         * aux/macros/check_restartable_signals.m4: new macro to determine
3585         if need to reinstall signal handlers per OS is better than trying
3586         to figure these out based on system macros.
3587
3588 Fri May  5 19:23:28 2000  Erez Zadok  <ezk@glory.soscorp.com>
3589         * amq/pawd.c (cluster_server): don't use getccent() if the extern
3590         * amd/ops_nfs.c (mount_nfs_fh): set nfs_args_t version number.
3591         <cluster.h> and struct cct_entry do not exist.
3592         * amd/ops_afs.c (mount_toplvl): set nfs_args_t version number.
3593         hpux systems don't have it (hpux 10.20).
3594         * amd/ops_nfs.c (mount_nfs_fh): process nfs mount option resvport
3595         (must be supplied for bsdi 3.0)
3596
3597         * libamu/wire.c: use HAVE_FIELD_STRUCT_IFREQ_IFR_ADDR (and
3598         associated new macro) for determining the right way to compute the
3599         size of the interface structure.
3600         for new amq options -T/-U.
3601 Fri Apr 11 15:56:13 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3602
3603         * aux/configure.in: need to include libc before libnsl if
3604         get_myaddress() is available because on irix libnsl has a buggy
3605         get_myaddress().
3606
3607         * include/am_defs.h: make sure REINSTATE_SIGNAL_HANDLER is defined
3608         on Irix 6 (an SVR4 variant)
3609         * amq/pawd.c: a new program, Print Automounter Working Directory,
3610 Thu Mar 27 02:28:40 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3611         * aux/macros/localconfig.m4: trivial support for am-utils
3612         *******************************************************************
3613         *** Released am-utils-6.0a4                                     ***
3614         *******************************************************************
3615         wish in a file called localconfig.h, located in the top build
3616 Wed Mar 26 21:15:36 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
3617         * doc/am-utils.texi (Caching Filesystem): updated documents for
3618         * amd/amq_subr.c (ok_security): turned off insecure code unless
3619         user explicitly runs configure --enable-amq-mount.
3620         * amd/ops_cachefs.c: initial cachefs support, for solaris.
3621         * hlfsd/hlfsd.c (main): use new protoypes dor create_nfs_service().
3622
3623         * amd/nfs_start.c (mount_automounter): use code that separately
3624         creates the NFS and the amq service.  Register tcp and udp
3625         services for amd.
3626         cachefs file systems.
3627         * conf/transp/transp_*.c (create_amq_service): new function to
3628         separately create the amq service for amd.  Simplified prototypes
3629         for create_nfs_service().
3630         mnttab type is.
3631 Wed Mar 19 20:40:56 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3632 Mon Jan  5 23:22:49 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
3633         *******************************************************************
3634         *** Released am-utils-6.0a3                                     ***
3635         *******************************************************************
3636
3637 Wed Mar 19 17:49:18 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3638         * amd/ops_nfsl.c (nfsl_ffserver, nfsl_match): also check if the
3639         * new port: rs6000-ibm-aix3.2.5 and rs6000-ibm-aix4.1.5.0.  Lots
3640         of small changes to support these two.
3641         type:=nfs.
3642 Wed Mar 19 14:33:30 1997  Erez Zadok  <ezk@grande.cs.columbia.edu>
3643         * updated all source files to add 1998 as a copyright year.
3644         * conf/umount/umount_default.c (umount_fs): bug: unlock_mntlist()
3645         should run if MOUNT_TABLE_ON_FILE, not otherwise.
3646         like type:=linkx if the pathname denoted by $fs exists, and like
3647 Mon Mar 17 22:02:43 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3648
3649         * hlfsd/hlfsd.c (main): fill in fhsize field if exists
3650         (freebsd-2.2).
3651
3652         * amd/ops_{nfs,afs}.c (mount_toplvl): fill in fhsize field if
3653         exists (freebsd-2.2).
3654
3655 Sat Mar 15 19:37:48 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3656         * hlfsd/homedir.c (plt_init): make function exported, to save on
3657         * new port: i386-unknown-freebsd2.2.  FreeBSD 2.2 and higher
3658         changed the filehandle type in struct nfs_args from nfsv2fh_t to
3659         u_char.
3660         instead.
3661 Sat Mar 14 10:11:03 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
3662 Thu Jan  1 00:15:58 1998  Erez Zadok  <ezk@chestnut.mcl.cs.columbia.edu>
3663         * SHARED LIBRARIES: too many change to list individually.  Now,
3664         libamu can be built as a shared library, and other programs link
3665         with it.
3666
3667 Tue Mar 11 22:24:09 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
3668
3669         * aux/macros/opt_shared.m4: new macro for setting options for
3670         building shared am-utils libraries.
3671         * amd/ops_afs.c (mount_toplvl): Bug fix.  Don't try to free() an
3672 Sun Mar  9 19:17:46 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3673         * ALL SOURCES: change every direct call to free() to xfree(), so
3674         * fixmount/fixrmtab: cleaned up the script.
3675         call dxfree(), which will print the file name and line number
3676         * fixmount/Makefile.am (EXTRA_DIST): adde $(sbin_SCRIPTS) so that
3677         fixrmtab gets distributed too.
3678
3679         * conf/nfs_prot/nfs_prot_bsdi2.h: added support for MOUNTPROC_DUMP.
3680         Added extern for xdr_mountlist().
3681 Tue Dec 23 04:24:28 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3682         * aux/configure.in: trimmed down many tests for MNT2_GEN_OPT,
3683         MNT2_NFS_OPT, and MNTTAB_OPT that were not referenced anywhere in
3684         the sources.
3685
3686 Sat Mar  8 00:23:58 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3687         calloc().
3688         * fixmount/hlfsd ported to bsd44, hpux, and linux systems.
3689
3690         * aux/macros/check_fixmount_style.m4: add check for bsd44 systems.
3691         malloc().
3692         * conf/fixmount/fixmount_default.c: use lockf() if flock() is
3693         unavailable.
3694         zero its bytes.
3695         * include/am_defs.h: include <string.h> even if don't have
3696         STDC_HEADERS defined (sunos4).
3697         (seteuid): define seteuid() to be setresuid() for systems that
3698         have but not the other (hpux).
3699         * amq/amq.c: amq does not need its own definition of xfree().
3700         * aux/macros/check_extern.m4: test should include <strings.h>.
3701         look for function malloc_verify() in libmapmalloc.a, and function
3702 Tue Mar  4 17:16:52 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
3703
3704         * lib/xutil.c (debug_option): moved from amd/getargs.c to this
3705         more proper file.
3706         uordbytes, because it does not always exist.  Rather, compute it
3707         * include/am_utils.h: put in structure for debug options, for all
3708         progams to use.
3709         used when debugging memory references.
3710         * amd/get_args.c: moved structure for debug options out.
3711 Mon Dec 22 03:01:30 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3712 Sun Mar  2 00:13:07 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
3713         Otherwise browsable_dirs fails on OpenBSD 2.2.
3714         * ported fixmount.
3715         * amd/mntfs.c (uninit_mntfs): bug fix.  Moved freeing of
3716         * lib/ualarm.c: replacement function for systems that don't have a
3717         ualarm().
3718 Sat Dec 20 00:51:21 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3719         * ported fsinfo.
3720         * amd/ops_host.c (host_umounted): don't use clnt_spcreateerror()
3721 Sun Mar  1 10:23:34 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
3722         * include/am_defs.h: add missing extern definition for free().
3723         * ported mk-amd-map.
3724
3725         * buildall: added -K option to buildall, to run mkconf.
3726         optional function.
3727 Fri Feb 28 01:10:25 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3728         if they exist.
3729         *******************************************************************
3730         *** Released am-utils-6.0a2                                     ***
3731         *******************************************************************
3732         * aux/configure.in: check for missing functions clnt_create and
3733 Thu Feb 27 13:58:59 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3734
3735         * all *.[hcyl] files: add copyright line.
3736         * Makefile.am: updates for new sunos3 files distributed.
3737         * aux/macros/check_mount_type.m4: test for mount type for
3738         linux-like systems, by checking for loadable or statically linked
3739         kernel filesystem modules.
3740         * conf/fh_dref/fh_dref_sunos3.h: new file.
3741         * aux/macros/check_mnttab_type.m4: test for mount table entry
3742         for linux-like systems, by checking for loadable or statically
3743         linked kernel filesystem modules.
3744         * aux/macros/check_nfs_fh_dref.m4: added sunos3 case.
3745         * aux/configure.in: pcfs filesystems can use vfat type (linux)
3746         * doc/am-utils.texi (wire Selector Variable): updated manual for
3747         * aux/macros/check_fs_mntent.m4: test for filesystem existence for
3748         linux-like systems, by checking for loadable or statically linked
3749         kernel filesystem modules.
3750         in_network() function.
3751         * conf/trap/trap_hpux.h: ugly hack added because of stupide HPUX
3752         9.0 header files.  This should be removed when HPUX 9.0 is deemed
3753         defunct.
3754         functions.  Converted wire, network, and netnumber all to use the
3755         * aux/acconfig.h: set an undefined variable for having an extern
3756         to clnt_sperrno().
3757         against all networks, not just primary.
3758         * include/am_defs.h: define extern for clnt_sperrno() if needed.
3759         * conf/nfs_prot/nfs_prot_linux.h: add special definitions for
3760         * aux/configure.in: test for extern clnt_sperrno().
3761         <rpc/des_auth.h> because it is incomplete on the same systems.
3762         * aux/macros/check_nfs_fh_dref.m4: HPUX's NFS fhandle dref is
3763         similar to irix.
3764         * hlfsd/homedir.c (table_add): cast uid field to int, for
3765         * aux/macros/check_mount_style.m4: use mount helper on HPUX.
3766         * include/am_defs.h: more coflicts with redhat alpha linux
3767         * aux/macros/check_mtype_type.m4: hpux's mount type is a char*,
3768         not integer (but may be mapped to one later).
3769         * aux/macros/{mount_headers,try_compile_anyfs,try_compile_nfs}.m4:
3770         * conf/mount/mount_hpux.c (mount_hpux): HPUX has confusing header
3771         files.  They have mount(2) and vfsmount(2) which don't take same
3772         arguments, and they have string mount types MNTTYPE_* as well as
3773         integer types MOUNT_*.  So I need this new mount function to map
3774         from string types to integer types for the vfsmount() function.
3775         redhat alpha linux.
3776         * conf/trap/trap_hpux.h (MOUNT_TRAP): instead of calling
3777         vfsmount(), call mount_hpux().
3778         the new "!" (negated) nomadic functions.
3779 Thu Feb 27 03:34:14 1997  Erez "HWank1" Zadok  <ezk@okeeffe.cs.columbia.edu>
3780         rather than saying that any ARG is on a local network.
3781         * lib/mount_fs.c (mnt_flags): make sure SYNC option is on only if
3782         both MNTTAB_OPT_SYNC and MNT2_GEN_OPT_SYNC are defined.
3783
3784 Thu Feb 27 00:26:00 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3785 Thu Dec 18 20:57:19 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3786         * conf/nfs_prot/nfs_prot_hpux.h: NFS protocol definitions for
3787         hpux.
3788
3789         * include/am_defs.h: no need to include rpc/auth.h or rpc/clnt.h.
3790         Finally, it looks as if OpenBSD 2.2's NFS 3 implementation may be
3791         * aux/configure.in: no need to test for rpc/auth.h and rpc/clnt.h.
3792         wait until they get it working in their version of the automounter
3793         * buildall: added ability to configure using other shells than
3794         /bin/sh, on those systems where /bin/sh is buggy or limited
3795         (HPUX).
3796         maxgrp.
3797         * aux/macros/struct_nfs_fh.m4: reinstated the macro but have it
3798         defined am_nfs_fh, and also test for plain typedef "nfs_fh".
3799         "maxgrps".  Added test for mount table entry "maxgroups".
3800         * aux/acconfig.h: #undef am_nfs_fh, which is being defined by a
3801         reinstated macro.
3802         * libamu/mount_fs.c (compute_nfs_args): perform more careful tests
3803         * aux/configure.in: check for <nfs/export.h>
3804
3805         * include/am_defs.h: include <nfs/export.h> (HPUX) if exists.
3806         including 9.x, should use "ignore" as the mount type to hide from
3807         * aux/macros/try_compile_nfs.m4: include <nfs/export.h> (HPUX) if
3808         exists.
3809
3810         * aux/macros/mount_headers.m4 (define): removed some non-working
3811         (on HPUX) code that attempts to recreate the fhandle_t rather than
3812         load it up from system headers.  Also added some NFS protocol
3813         header inclusion.  include <nfs/export.h> (HPUX) if exists.
3814         every where in the sources.
3815 Wed Feb 26 00:32:35 1997  Erez "HWank1" Zadok  <ezk@okeeffe.cs.columbia.edu>
3816
3817         * aux/macros/mount_headers.m4 (define): Use M4 changequote to
3818         ensure [] brackets are correctly used.
3819         useful for detecting internal flags and options, as well as the
3820         * aux/macros/expand_cpp_{string,hex,int}.m4: encapsulate
3821         multi-line M4 inclusions in [].
3822         after /etc and before /etc/local.
3823 Tue Feb 25 22:19:44 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3824         * aux/configure.in, libamu/Makefile.am: added support for linking
3825         * conf/mtab/mtab_bsd.c (mnt_dup): use statfs field f_fstypename if
3826         it exists.
3827
3828         * aux/acconfig.h: HAVE_FIELD_STRUCT_STATFS_F_FSTYPENAME, new
3829         config.h macro for field f_fstypename of struct statfs.
3830         needed.
3831         * aux/configure.in: testing for field f_fstypename field of struct
3832         statfs (NetBSD).
3833         netbsd).
3834         * aux/acconfig.h: moved all of the "static" definitions out to a
3835         fixed file called include/am_defs.h.  Added to all */Makefile.am
3836         files a dependency on am_defs.h.  Created am_defs.h of course, and
3837         then added #include <amd_defs.h> to all of the source and header
3838         files that required it.
3839         for NetBSD-1.3_BETA and similarly for OpenBSD.
3840 Mon Feb 24 01:27:02 1997  Erez Zadok  <ezk@defiant.soscorp.com>
3841         * conf/nfs_prot/nfs_prot_netbsd1_3.h: new header for the slight
3842         * aux/acconfig.h: two more externals for xdr functions that may be
3843         implemented by libamu.
3844         mktemp().
3845         * conf/nfs_prot/nfs_prot_bsdi2.h: added missing RPC and XDR
3846         definitions.
3847         * amd/ops_nfs.c (mount_nfs_fh): Systems that include the mount
3848 Sun Feb 23 15:25:26 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3849         "nfs3", but to "nfs" and then they set "vers=3".  Setting it to
3850         * buildall (default): added -D option for turning on even stricker
3851         developer options.
3852         systems, set it to "nfs".
3853         * */Makefile.am: make sure @AMU_NFS_PROT_HEADERS@ is used to
3854         determine dependencies on optional NFS protocol headers.
3855
3856         * aux/acconfig.h: define and use HAVE_NFS_PROT_HEADERS as needed.
3857
3858         * aux/macros/check_nfs_prot_header.m4: new test to determine what
3859         NFS protocol headers to use. 
3860         system mount types under nextstep for mount(2).
3861         * conf/nfs_prot/nfs_prot_{irix6,sunos4,bsdi2}.h: new headers to
3862         complete missing system headers for NFS protocol definitions.
3863         integer and string types for file system mount types in mount(2),
3864 Sun Feb 16 15:58:42 1997  Erez "HWank1" Zadok  <ezk@vir.cs.columbia.edu>
3865         (EPERM) instead of 0 (OK).  Fixes m68k-next-nextstep3 which now
3866         * amd/ops_nfs.c (mount_nfs_fh): encapsulated some more code in
3867         #ifdef's as needed.
3868
3869         * amd/ops_afs.c (mount_toplvl): make sure TIMEO/RETRANS code is
3870         suitable #ifdef'ed.
3871
3872         * include/am_compat.h: a couple more mnttab options
3873         (timeo/retrans) setting just in case.
3874
3875         * amd/autil.c (host_normalize): make sure hostent->h_name is
3876         passed a non-const char *.
3877
3878         * conf/mount/mount_linux.c (mount_linux): cleaned up a block of code.
3879         inclusion of <nfs/nfs_mount.h> which only affects nextstep3, on
3880         * {lib,amq,amd}/*.c (many functions): cast xdr_entry to
3881         XDRPROC_T_TYPE.
3882         * libamu/mount_fs.c (mnt_flags): support either nfs or generic
3883         * lib/nfs_prot_svc.c (nfs_program_2): cast xdr_entry to
3884         XDRPROC_T_TYPE.
3885
3886         * lib/nfs_prot_xdr.c (xdr_entry): cast xdr_entry to
3887         XDRPROC_T_TYPE.
3888
3889         * lib/wire.c (getwire): Make sure safe assignment from const to
3890         none is done.
3891         file in the am-utils' home page, as well as a few other useful
3892 Sat Feb 15 19:38:51 1997  Erez "HWank1" Zadok  <ezk@vir.cs.columbia.edu>
3893 Mon Nov 17 05:22:56 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3894         * aux/macros/expand_cpp_int.m4: new macro for expanding integers.
3895         *******************************************************************
3896         * aux/configure.in: added linux/fs.h support in configure and
3897         several M4 macros.
3898
3899         * conf/mount/mount_linux.c (mount_linux): use macro instead of
3900         "ugly" fixed hex number for mount() arguments.
3901         ports.
3902 Sat Feb 15 02:09:47 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
3903
3904         * amd/info_hesiod.c: removed macro HAVE_HS_ZONE_TRANSFER and
3905         turned all of its code always on.  That code always seems to
3906         compile, as long as you have hesiod and libresolv.
3907         * scripts/amd.conf.5: corrected info for -o/-O options.
3908         * amd/mapc.c: removed macro HAVE_HS_ZONE_TRANSFER and turned all
3909         of its code always on.
3910         OS name.
3911         * aux/configure.in: removed superfluous test for hs_zone_transfer
3912         function (will never find it because it is an amd-internal
3913         function).
3914         -o and -O options.
3915         * amd/mapc.c (maptypes): must used correct new name for am-utils'
3916         hesiod initialization function: hesiod_am_init.
3917
3918         * amd/info_hesiod.c (hesiod_am_init): renamed hesiod_init to
3919         hesiod_am_init so as not to conflict with libhesiod's
3920         hesiod_init() function.
3921         variable.
3922         * aux/configure.in: added test and explicit inclusion of
3923         libresolv.a for later resolution of library references with
3924         libhesiod.
3925         <metcalf@cag.lcs.mit.edu> to correctly set the nfs_prot headers
3926         * aux/macros/opt_cppflags.m4: new file.  configure/compile C
3927         preprocessor flags.
3928         * doc/am-utils.texi (Distrib): typo in the subscription
3929         * aux/macros/opt_libs.m4: new file.  configure/compile library
3930         flags.
3931         <vogel@physik-rzu.unizh.ch>.
3932         * Makefile.am (EXTRA_DIST_AUX): include two new macros
3933         opt_cppflags.m4 and opt_libs.m4.
3934 1997-11-15  Erez Zadok  <ezk@amtrak.cs.columbia.edu>
3935         * aux/configure.in: test for libhesiod needs to additional
3936         libresolv to link completely.  Additional configuration time
3937         options added for setting initial CPPFLAGS and LIBS.
3938
3939 Tue Feb 10 02:15:40 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
3940         * NFS3 works on powerpc-ibm-aix4.2.1.0.
3941
3942         *** Released am-utils-6.0a1                                     ***
3943         static.  Some compilers (gcc from egcs  on aix 4.2.1) corrupt the
3944         stack of an automatic variable when pointer to it is passed around
3945 Thu Feb  6 02:55:19 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3946
3947         * amd/info_ndbm.c (ndbm_search,ndbm_init): fixed the code so that
3948         it works on freebsd, where they map dbm_pagfno a non-existing
3949         macro on purpose, to force you to port the code to Berkeley DB.
3950         * libamu/xutil.c (real_plog): syslog like behavior for normal
3951 Fri Jan 31 01:35:09 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
3952
3953         * amd/ops_afs.c (mount_toplvl): added a sleep(1) right before the
3954         actual mount_toplvl, to avoid some possible race conditions.
3955
3956 Thu Jan 30 02:31:49 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
3957
3958         * amd/rpc_fwd.c: removed all TLI (HAVE_T_OPEN) code.
3959
3960 Wed Jan 29 18:25:07 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
3961
3962         * lib/wire.c (getwire): removed HAVE_T_OPEN (TLI code)
3963         passed to it before.  So now I have to dereference the pointer
3964         * amd/amd.c (main): fix local address using htonl(). Free up
3965         buffers allocated by netdir_*() functions.
3966
3967 Wed Jan 22 23:53:24 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
3968
3969         * amd/fix-amd-map.in: new script that will convert old-style amd
3970         maps to new one.
3971         compute_nfs_args() and compute_automounter_nfs_args() functions.
3972 Tue Jan 21 01:18:16 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
3973         and cleaner compute_nfs_args() and compute_automounter_nfs_args()
3974         * FIRST AMD IN AM-UTILS FINALLY WORKS (mounts itself as toplvl,
3975         and replies back to simple nfs/link type mount queries).
3976         relates for struct nfs_args.  A new function sets the numerous
3977         * conf/mtab/mtab_svr4.c: reorganized the code in this file to be
3978         easier to read, and fixed a few bugs with un/setting the lock file
3979         descriptor.
3980         libamu.  This saves on overall size of code.
3981 Wed Jan  8 15:27:49 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
3982         mounting an automounter's mount point.  Used by hlfsd and amd.
3983         * amd/sched.c: removed HAS_SVR3_SIGNALS code to handle older
3984         signals in Svr3 systems.  Only stellix ever used this.
3985         * amq/amq.c (get_secure_amd_client): don't print any more
3986         * amd/rpc_fwd.c (fwd_reply): removed all code that was triggered
3987         by DYNAMIC_BUFFERS, since it was not in use.
3988         under DEBUG only.
3989 Tue Jan  7 00:45:59 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
3990
3991         * amd/opts.c (eval_opts): removed AMD_COMPAT code.  Amd no longer
3992         takes '=' sign as old selector.  Fix your maps.
3993         (deslashify): removed APOLLO code that treated two '//' as one.
3994         for file systems based on physical media (disk, cdrom, floppy) to
3995 Sun Jan  5 01:25:09 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
3996         autoconf searches for all these types of mount table entries for a
3997         * amd/ops_nfsx.c (nfsx_init): removed HARD_NFSX_ERRORS, code which
3998         was not used.  It made any submount error fail the whole group.
3999         the actual name found!  Same for ufs, cdfs, pcfs, tmpfs, lofs,
4000         * amd/ops_nfs.c (make_nfs_auth): removed code dependent on
4001         HAS_NFS_QUALIFIED_NAMES.
4002         (mount_nfs_fh): removed macro for NFS_ARGS_NEEDS_PATH, assuming it
4003         is never on.  So code that was triggered by #ifndef
4004         NFS_ARGS_NEEDS_PATH (osf1, aix3, and bsd44 variants) may have to
4005         be fixed later.
4006         Removed all ULTRIX_HACK code.  Ultrix is DEAD!
4007         removed all PRESET_AC code, which was only on for Linux to preset
4008         the attribute cache values (otherwise they default to zero).
4009         (nfs_umounted): revobed KICK_KERNEL code (IRIX systems).  Will
4010         have to fixed up later.
4011         (mount_nfs_fh): removed code that was never included, which
4012         attempted to set the port on which amd's nfs mounts on.  This
4013         isn't supported by the ping algorithm yet.  In any case, it is all
4014         done in nfs_init().
4015
4016         * amd/srvr_nfs.c (find_nfs_srvr), amd/ops_nfs.c (mount_nfs_fh):
4017         removed HAS_TCP_NFS code.  The whole use of NFS V.3 with TCP or
4018         specially hacked NFS V.2 that uses TCP (BSD 4.4 variants) will
4019         have to be addressed later.
4020 Sun Oct 26 19:32:57 1997  Erez Zadok  <ezk@defiant.soscorp.com>
4021         * amd/nfs_subr.c (nfsproc_getattr_2): removed all code dependent
4022         on PRECISE_SYMLINKS.
4023         This works better on bsdi2 and bsdi3, because their portmapper
4024         * amd/mapc.c (mapc_meta_search): removed code that depended on
4025         HAS_DEPOT.  It is known buggy code.  The whole DEPOT support needs
4026         to be rethought.
4027         (mapc_add_kv): ported code to use standard regular expression
4028         (regexp) library.
4029         insecure).
4030         * amd/{map.c,ops_sfs.c,ops_ufs.c}: removed all code dependent on
4031         FLUSH_KERNEL_NAME_CACHE and the macro itself.
4032         *** Released am-utils-6.0a13                                    ***
4033 Sat Jan  4 15:46:58 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
4034 Fri Oct 24 05:04:37 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4035         * amd/map.c (exported_ap_alloc): removed all code triggered by
4036         SHRINK_EXPORTED_AP and the macro itself.
4037         struct datum typedef.
4038         * amd/info_nis.c: removed HAS_NIS_RELOAD macro, and left the code
4039         in all the time.  Assuming that there is always NIS realod
4040         available.
4041         (yp_all_fixed): removed code for BROKEN_YP_ALL.  If your yp_all()
4042         function is broken such that it does not release filedescriptors
4043         it created, then you are hosed.  Get a fix for yp_all from your
4044         vendor or switch operating systems.
4045
4046 Tue Dec 31 15:34:36 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
4047         gid_t.
4048         * amd/info_hesiod.c: renamed macro HAS_HESIOD_RELOAD to
4049         HAVE_HS_ZONE_TRANSFER.
4050         * conf/transp/transp_tli.c (amu_clnt_create_best_vers): don't use
4051 Mon Dec 30 17:33:23 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
4052
4053         * amd/{nfs,host}_ops.cremoved INFORM_MOUNTD macro, so its code is
4054         always included.  We should always try to inform the remove mount
4055         daemon of mounts we performed.  If we want an option for this, it
4056         should be a run-time option.
4057
4058         * amd/host_ops.c: removed all that optionally did not make the
4059         directory mount points for amd.
4060
4061         * HOST_EXEC code removed from everywhere.  There is no indication
4062         that it was used anywhere.  If it needs to be used, then a
4063         run-time switch should control it.
4064
4065 Thu Dec 26 00:06:52 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
4066         passwdfile option.  If hlfsd is started with -P passwdfile, then
4067         * amd/*_ops.c: removed all references to mntent_t's fields
4068         mnt_freq and mnt_passno, since they are no longe rused (and never
4069         have been).
4070         read and checked.  All the rest are ignored.  No NIS/netgroup
4071         * amd/am_ops.c: removed function sunos4_match, which was off
4072         anyway.  This was one of the places where an '=' sign was allowed
4073         as an assignment operator (which is now ':=').
4074
4075         * amd/afs_ops.c (afs_bgmount): removed SUNOS4_COMPAT code which
4076         was off anyway.  This was one of the places where an '=' sign was
4077         allowed as an assignment operator (which is now ':=').
4078         -h is invoked.
4079 Tue Dec 24 01:53:52 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
4080 Wed Oct 22 00:16:39 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
4081         * amq/amq.c: ported to am-utils.  Working.
4082
4083         * conf/mount/mount_svr4.c (mount_svr4): changed mount type on svr4
4084         to be string, as it should be (rather than a string mapped to int
4085         and back mapped to string).
4086         which returns TRUE if 'arg' is any one of this host's networks.
4087 Sun Dec 22 13:26:05 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
4088         all networks names and numbers in the order of the interface (not
4089         * lib/mount_fs.c (mount_fs): removed MNTINFO_PREF code.
4090 Mon Oct 20 01:59:25 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4091         * lib/umount_fs.c: split this into three files: default, osf, and
4092         bsd44, that are in conf/umount/umount_*.c.
4093         * aux/configure.in: don't add ops_ufs.o on AIX twice.  My code
4094 Thu Dec 19 17:33:46 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
4095         * doc/Makefile.am (EXTRA_DIST): include am-utils.dvi and
4096         * aux/configure.in, aux/aclocal.m4, aux/acconfig.h: added new
4097         macro to automatically figure out if an external definition for
4098         sys_errlist[] exists.
4099         (html): generate html documentation for
4100         * lib/xutil.c (xfree): removed "#undef free" because it's not
4101         needed there.  Any system that redefines free() needs help.
4102
4103         * conf/mtab/mtab_file.c (REWRITE_MTAB_IN_PLACE): removed code that
4104         was dependent on REWRITE_MTAB_IN_PLACE.  It does not appear to be
4105         in active use anywhere.  If added later, it should be a run-time
4106         configuration option.
4107         ypall_callback_fxn_t.  The NetBSD team compiles all sources with
4108         * conf/mtab/mtab_mach3.c: removed code that was #ifdef'ed not to
4109         be MOUNT_TABLE_ON_FILE, since mach2 always stores its mount tables
4110         in a file in /etc.
4111         function typedef.
4112         * lib/util.c (str3cat): removed _AIX code.  AIX should have a
4113         working realloc, or else find a cleaner solution to this.
4114         (mkdirs): removed SUNOS4_WORKAROUND code.  This was to do a sync()
4115         after immediately making directories so that fsck will be able to
4116         fix the filesystem in the event of an immediate crash.  This was
4117         because a bug in UFS which is fixed by now.
4118         * libamu/xutil.c (amu_release_controlling_tty): new function to
4119         * lib/hutil.c (domain_strip): removed PARTIAL_DOMAINS triggered
4120         code.  Does not appear to be on and used anywhere.
4121         (dofork): removed MACH3 code, b/c mach3 NFS bugs are fixed by now.
4122         and hlfsd/hlfsd.c.  Also avoid setpgrp(), because it works on some
4123         * lib/resvport.c: split the binding of reserved ports code to a
4124         separate file.  A #define (HAVE_T_OPEN) separates the TLI (SVR4)
4125         from the BSD code.
4126
4127 Thu Dec 19 02:08:35 1996  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4128
4129         * lib/Makefile.am (amu_LIBADD): includs @LIBOBJS@ now, auto-filled
4130         in by automake and configure, for optional sources that need to be
4131         built as part of libamu.a.
4132
4133         * aux/aclocal.m4: Make sure AC_CHECK_MOUNT_STYLE adds mountutil.o
4134         to LIBOBJS.
4135
4136         * lib/memcmp.c (memcmp): new file added to replace a possible bad
4137         implementation of memcmp.
4138
4139 Wed Dec 18 22:20:23 1996  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4140
4141         * converted the sources to use memset/memmove/memcmp instead of
4142         bzero/bcopy/bcmp.
4143
4144         * ran all sources through gnu Indent w/ options specified in
4145         aux/amindent.
4146
4147 Wed Dec 11 22:19:29 1996  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4148
4149         * At this point the initial genration of config.h via autoconf and
4150         some preliminary makefiles via automake is done.  I will not begin
4151         modifying sources, so it's a good time to document from here.
4152
4153 Wed Dec 10 22:19:29 1996  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4154
4155         *******************************************************************
4156         *** Initial ChangeLog Entry                                     ***
4157         *******************************************************************
4158
4159         * amd/ops_afs.c (mount_toplvl): turn on 'ignore' option in nfs
4160         mount flags of toplvl mounts.  Important esp. for HPUX 10.  Now
4161         hpux-10 will mount amd's mounts points as 'ignore' (by df).
4162
4163         * aux/configure.in: check for NFS mount option 'ignore', useful in
4164         HPUX 10.
4165
4166 Thu Oct 16 03:28:33 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4167
4168         * aux/macros/check_hide_mount_type.m4: hpux 10 should use "ignore"
4169         mount type and not NFS, for the amd mount points.
4170
4171         * conf/transp/transp_tli.c (amu_clnt_create_best_vers): don't log
4172         an RPC timeout as an error, but just an info message.  From
4173         Andreas Stolcke <stolcke@speech.sri.com>
4174
4175         * If the NFS server is down or does not support the portmapper
4176         call (such as certain Novell NFS servers) we mark it as version 2
4177         and we let the nfs code deal with the case that is down.  If when
4178         the server comes back up, it can support NFS V.3 and/or TCP, it
4179         will use those.  From christos@deshaw.com (Christos Zoulas).
4180
4181         * hlfsd/homedir.c (plt_print): various compile time cleanups to
4182         printfs that take a long, but pass an int to print.  From
4183         christos@deshaw.com (Christos Zoulas).
4184
4185         * aux/macros/func_bad_yp_all.m4 (ac_cv_func_yp_all_clean,): new
4186         macro to determine if the OS has a bad yp_all(), based on the host
4187         OS name.  So far only irix (all versions) have a bad yp_all, so
4188         they will use am_yp_all() instead (which is slower as it
4189         enumerates manually all of the map's entries).
4190
4191 Thu Oct 16 03:14:37 1997  Erez Zadok  <ezk@subzero.cs.columbia.edu>
4192
4193         * amd/info_nis.c (am_yp_all): code for a replacement yp_all that
4194         avoids using a file-descriptor leaking yp_all() on some systems
4195         like irix.
4196
4197 Wed Oct 15 21:52:35 1997  Erez Zadok  <ezk>
4198
4199         * fsinfo/fsinfo.h: avoid redefining yywrap incorrectly on DU-4.x
4200         systems using /usr/bin/flex.
4201
4202         * amd/conf_tok.l (yywrap): avoid redefining yywrap for systems
4203         that have a modified GNU flex which does define yywrap (DU-4.x).
4204
4205 Fri Sep 26 14:25:29 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4206
4207         * conf/checkmount/checkmount_bsd44.c: include prototype.
4208
4209 Fri Sep 26 01:26:24 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4210
4211         *******************************************************************
4212         *** Released am-utils-6.0a12                                    ***
4213         *******************************************************************
4214
4215 Fri Sep 26 00:13:48 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4216
4217         * conf/nfs_prot/nfs_prot_irix6.h: completely turn off all autofs
4218         code in irix6 until it can be tested correctly
4219
4220         * conf/transp/transp_tli.c (amu_clnt_create_best_vers): time out
4221         on clnt_create for 3 seconds, rather than wait for the much longer
4222         default.
4223
4224         * conf/nfs_prot/nfs_prot_aix4_2.h: port to powerpc-ibm-aix4.2.1.0.
4225         Includes NFS3, untested.
4226
4227 Thu Sep 25 11:03:11 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4228
4229         * amd/ops_pcfs.c (mount_pcfs): fill in uid/gid fields of
4230         pcfs_args_t if they exist.
4231
4232         * amd/ops_cdfs.c (mount_cdfs): fill in ssector field of
4233         cdfs_args_t if it exists.
4234
4235         * new minor ports hppa1.1-hp-hpux10.10, hppa1.1-hp-hpux9.05,
4236         hppa1.1-hp-hpux9.07, m68k-hp-hpux9.00, and sparc-sun-sunos4.1.4.
4237
4238 Wed Sep 24 00:48:05 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4239
4240         * doc/am-utils.texi (wire-test): updated documentation for the new
4241         option.
4242
4243         * wire-test/wire-test.8: updated man page for new option.
4244
4245         * wire-test/wire-test.c (main): added a test for various
4246         combinations of NFS proto/vers to a remote/local host.
4247
4248         * aux/macros/try_compile_anyfs.m4 (AC_TRY_COMPILE): include
4249         <isofs/cd9660/cd9660_mount.h> and <msdosfs/msdosfsmount.h> so that
4250         freebsd will correctly set mount options for pcfs and cdfs.
4251
4252         * amd/ops_pcfs.c (mount_pcfs): set mask field of pcfs_args to
4253         0777 (if field exists).
4254
4255         * aux/macros/try_compile_anyfs.m4 (AC_TRY_COMPILE): include
4256         <msdosfs/msdosfsmount.h> if available.
4257
4258         * minor new port: rs6000-ibm-aix4.1.4.0.
4259
4260         * libamu/mount_fs.c (mount_fs): fixed bug that caused HPUX not to
4261         write the "time" field in /etc/mnttab.
4262
4263         * conf/mtab/mtab_file.c (mnt_dup): fixed typo in macro names for
4264         detecting mnt_time field of mntent_t.
4265
4266         * libamu/mtab.c (mnt_free): fixed typo in macro names for
4267         detecting mnt_time field of mntent_t.
4268
4269 Tue Sep 23 15:30:03 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4270
4271         * conf/mtab/mtab_file.c (lock): Use flock() in preference over
4272         fcntl() to lock the mtab file.
4273
4274 Mon Sep 22 23:04:58 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4275
4276         * conf/transp/transp_sockets.c (get_nfs_version): define
4277         the try_again goto label only for NFS3.
4278         (pmap_ping): assume timeout failure of clnt_stat.
4279
4280         * libamu/xdr_func.c (xdr_groupnode, xdr_exportnode): cast to
4281         "groups *".
4282
4283 Mon Sep 22 20:34:33 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
4284
4285         * conf/transp/transp_sockets.c (pmap_ping): patch from Dan Riley
4286         <dsr@mail.lns.cornell.edu> to make sure that amd works with more
4287         secure portmappers that do not allow forwarding of RPC messages to
4288         other services.
4289
4290         * */Makefile.am: all source files should also depend on the new
4291         include/am_xdr_func.h header.
4292
4293         * include/am_xdr_func.h: new file as part of the code cleanup from
4294         Christos Zoulas <christos@deshaw.com>.
4295
4296         * Lots of fixes from Christos Zoulas <christos@deshaw.com> that
4297         involved missing prototypes, cleaned up ones, and removal of
4298         unused variables.
4299
4300         * libamu/xdr_func.c (xdr_mountres3): some code cleanup.  A switch
4301         statement with only one case is unclean.
4302
4303 Mon Sep 22 17:26:38 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4304
4305         * amd/ops_<FOO>fs.c (mount_<FOO>fs): initialize mntent_t fields to
4306         0 so that all fields are initialized to zero at first.  This way
4307         SunOS 4.x and other systems don't get /etc/mtab entries with
4308         random integers for the fsck/freq fields. Patch from Andreas
4309         Stolcke <stolcke@speech.sri.com>.
4310
4311 Mon Sep 22 00:34:19 1997  Erez Zadok  <ezk@americas.psl.cs.columbia.edu>
4312
4313         * conf/nfs_prot/nfs_prot_sunos4.h: include <nfs/nfs_clnt.h> so
4314         that the important definition for HOSTNAMESZ will be found.
4315
4316         * amd/ops_afs.c (mount_toplvl): limit hostname size to HOSTNAMESZ
4317         (inside the nfs_args structure) if the system uses that macro.
4318         Otherwise systems like SunOS refuse to NFS mount long pathnames
4319         and result in ENAMETOOLONG errno's.
4320
4321 Wed Sep 17 04:56:11 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4322
4323         * doc/am-utils.texi (Supported Platforms): specify new support for
4324         solaris 2.6, and hlfsd running on 2.5.1 too.
4325
4326 Wed Sep 17 03:55:02 1997  Erez Zadok  <ezk@amsterdam.psl.cs.columbia.edu>
4327
4328         * conf/mount/mount_svr4.c (mount_svr4): don't attemt an autofs
4329         mount if it is not supported or was turned off.
4330
4331 Wed Sep 17 03:19:36 1997  Erez Zadok  <ezk@americas.psl.cs.columbia.edu>
4332
4333         * conf/nfs_prot/nfs_prot_sunos4.h: fixed so that it will nfs mount
4334         again.  Apparently at some previous release SunOS 4 supported was
4335         broken and all nfs mounts resulted in ESTALE.
4336
4337 Wed Sep 17 00:26:25 1997  Erez Zadok  <ezk@amsterdam.psl.cs.columbia.edu>
4338
4339         * conf/nfs_prot/nfs_prot_sunos5_6.h: nfs protocol headers for
4340         solaris 2.6.
4341
4342         * aux/macros/check_nfs_prot_headers.m4: added solaris 2.6 nfs
4343         protocol header selection.
4344
4345 Sat Sep 13 14:31:51 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4346
4347         * conf/transp/transp_tli.c (amu_clnt_create_best_vers): avoid
4348         infinite loop.
4349
4350 Sun Sep  7 18:23:23 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4351
4352         *******************************************************************
4353         *** Released am-utils-6.0a11                                    ***
4354         *******************************************************************
4355
4356 Fri Sep  5 11:55:10 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4357
4358         * amd/amd.c (main): if plock() succeeded, don't try to display
4359         errno message.   Patch from Chris Metcalf
4360         <metcalf@catfish.lcs.mit.edu.
4361
4362 Thu Sep  4 19:17:58 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4363
4364         * hlfsd/homedir.c (table_add): make sure duplicate passwd entries
4365         are ignored.   Only the first entry should ever be used, because
4366         that's how lookup in passwd database works.
4367
4368         * conf/transp/transp_sockets.c (get_nfs_version): when determining
4369         if a remote host is up or down, use NFS v.2.  Fix suggested by
4370         Enami Tsugutomo <enami@cv.sony.co.jp>.
4371
4372         * conf/transp/transp_tli.c (amu_clnt_create_best_vers): new
4373         function to get the best possible NFS version, but also timeout
4374         faster than normal defaults, so remote hosts which are down can be
4375         detected in a reasonable time.
4376         (get_nfs_version): use the new "best" function.
4377
4378 Tue Sep  2 00:41:00 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4379
4380         *******************************************************************
4381         *** Released am-utils-6.0a10                                    ***
4382         *******************************************************************
4383
4384 Mon Sep  1 15:39:51 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4385
4386         * conf/transp/transp_tli.c (get_nfs_version): don't use
4387         clnt_tp_create_timed() on systems that don'e have it (Solaris 2.4
4388         and earlier).
4389
4390         * aux/configure.in: test for existence of clnt_tp_create_timed(),
4391         since Solaris 2.4 (and possibly earlier) do not have it.
4392
4393 Mon Sep  1 15:23:18 1997  Erez Zadok  <ezk@felix.psl.cs.columbia.edu>
4394
4395         * amd/ops_autofs.c (autofs_unmount_1_svc): only display rdevid
4396         field if it exists (solaris 2.4's autofs does not have it).
4397
4398 Mon Sep  1 14:45:09 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4399
4400         * aux/macros/type_auth_create_gidlist.m4: a new test to determine
4401         the correct type to the 5th argument of authunix_create().
4402
4403 Mon Sep  1 03:44:32 1997  Erez Zadok  <ezk@felix.psl.cs.columbia.edu>
4404
4405         * libamu/xdr_func.c (xdr_umntrequest): add test for autofs
4406         structure umntrequest, if it has the field rdevid.  Seems Solaris
4407         2.4 and earlier didn't have it.
4408
4409 Mon Sep  1 01:10:53 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4410
4411         * hlfsd/hlfsd.c (hlfsd_init): moved initialization upwards, so it
4412         can be done before primary process forks.
4413         (main): bug fix: wait a bit to give child a chance to initialize.
4414         Without this, hlfsd got into a busy infinite loop while, never
4415         completing the mount.
4416
4417         * amd/info_nis.c: patch from Jason Thorpe <thorpej@nas.nasa.gov>
4418         to make amd works when talking to NIS+ servers in NIS
4419         compatibility mode.
4420
4421 Mon Sep  1 00:46:56 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
4422
4423         * amd/mapc.c (MAX_CHAIN): increased maximum chain size to 1024.
4424
4425 Sun Aug 31 20:20:40 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
4426
4427         * amd/conf.c (gopt_fully_qualified_hosts): a new function to
4428         process another new global variable.
4429
4430         * amd/ops_nfs.c (make_nfs_auth): if a new global variable
4431         fully_qualified_hosts is on, use FQHN in RPC/NFS authentications.
4432         Patch from Chris Metcalf <metcalf@catfish.lcs.mit.edu>.
4433
4434         * amd/conf.c (process_last_regular_map): If the amd.conf file only
4435         has a [global] section (pretty useless IMHO), do not try to
4436         process a map that does not exist.
4437
4438         * scripts/amd.conf.5: fixed typos (repeated 'as' word).
4439
4440         * doc/am-utils.texi: MAJOR DOCUMENTATION REVISION COMPLETED!!!
4441
4442         * amd/conf.c (reset_cf_map): Bug fix.  Reset 'tag' field of cfm
4443         structure, so it does not carry over from map entry to another.
4444
4445 Sat Aug 30 18:39:21 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
4446
4447         * amd/amd.c (main): fixed the meaning of the plock option.  A bug
4448         caused it to be reversed.
4449
4450 Sat Aug 30 15:13:18 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4451
4452         * hlfsd/stubs.c: don't initialize some statics here.  They are
4453         better initialized in hlfsd_init_filehandles().
4454
4455 Fri Aug 22 14:47:16 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4456
4457         * amd/conf.c (gopt_show_statfs_entries): new function and a global
4458         amd.conf key show_statfs_entries.  Defaults to 'no'.  If 'yes',
4459         then all maps flagged as browsable will also show a count of the
4460         number of entries (keys) in that map.
4461
4462         * amd/nfs_subr.c (count_map_entries): new function to count number
4463         of entries in a map.  Now used if browsable is turned on in a map,
4464         to return a count of available keys in a given map.
4465
4466         * hlfsd/stubs.c (eq_fh): use correct memcmp().  BUG fixed! hlfsd
4467         confused the file handles for ".", "..", and the symlink, causing
4468         mess.
4469
4470         * aux/macros/func_bad_memcmp.m4: new test, based on autoconf 2.12,
4471         but also defines HAVE_BAD_MEMCMP, so I avoid linkage conflicts
4472         with bad memcmp() in libc's (nextstep3).
4473
4474 Thu Aug 21 17:38:41 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4475
4476         * aux/configure.in: check if autofs_args_t has a field named
4477         addr.  Solaris has it for specifying the address of the daemon,
4478         but Irix does not.  So how does irix tell the kernel the daemon's
4479         address?  I suspect that it is hardcoded to "localhost" using a
4480         "private well-known port" (#define AUTOFS_PORT 2048).
4481
4482         * conf/nfs_prot/nfs_prot_linux.h: added missing autofs
4483         definitions.
4484
4485         * README.autofs: new file listing autofs support notes
4486
4487         * very preliminary autofs code working.  Call it pre-alpha
4488         quality.
4489
4490 Sun Aug 17 02:25:09 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4491
4492         * amd/conf.c (ropt_mount_type, gopt_mount_type): don't accept
4493         "autofs" if system does not support it.
4494
4495         * amd/amd.c (main): log am-utils version string (same as amd -v)
4496         at start of run.
4497
4498         * conf/transp/transp_sockets.c (get_nfs_version): in order to tell
4499         if a remote host is available, try to contact its portmapper and
4500         timeout if no answer is received in 3 seconds.
4501
4502 Thu Aug 14 16:12:04 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4503
4504         * aux/macros/check_extern.m4 (pattern): use a simpler pattern for
4505         match for external function definitions.  The function could span
4506         multiple lines, so only match the opening parenthesis, not the
4507         closing one too.
4508
4509         * aux/macros/os_cpp-flags.m4 (ac_cv_os_cppflags,): do NOT turn on
4510         posix mode for nextstep3.  It is broken.
4511
4512         * amd/amd.c (init_global_options): run uname() only if
4513         <sys/utsname.h> and uname(2) exist.
4514
4515         * amd/rpc_fwd.c (fwd_packet): if remote host is down, the
4516         forwarding socket is null, so declare this an error.
4517
4518         * include/am_utils.h (AM_ERRNO_HOST_DOWN): find best errno to set
4519         for when a remote host is down.  Try, in order, "host down", "host
4520         unreachable", "invalid argument".
4521
4522         * amd/ops_nfs.c (discard_fh): don't dereference a null pointer
4523         (happens when remote host is down, and fp->fh_fs is NULL).
4524         (prime_nfs_fhandle_cache): ditto, and set fs flags to !FSF_VALID
4525         and FSF_DOWN.
4526
4527         * amd/sched.c: nobody uses "union wait" any more, or so it
4528         appears, so clean up that code.
4529
4530         * conf/transp/transp_tli.c (get_nfs_version): if remote host is
4531         down, time it out faster than default (3 seconds).
4532         (get_mount_client): free netconfig entry when done with it.
4533
4534         * conf/nfs_prot/nfs_prot_nextstep.h: initial (and somewhat ugly)
4535         port to nextstep3 (m68k-next-nextstep3).
4536
4537         * fsinfo/Makefile.am (LDADD): needs to link with libamu in case
4538         system does not have strdup().
4539
4540         * include/am_defs.h: complete external definition for getlogin()
4541         if needed.
4542
4543         * conf/transp/transp_tli.c (get_nfs_version): no need to keep
4544         static versout variable.
4545
4546         * amd/rpc_fwd.c (fwd_packet): if fwdto packet is null, remote
4547         server is probably down.  Don't use sendto() in that case.
4548
4549         * buildall (default): run gmake if found, before trying plain
4550         make.  GNU make is always preferable.
4551
4552 Tue Aug 12 21:23:58 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4553
4554         * aux/macros/host_macros.m4: cleanup of os_version and os
4555         overrides.  Solaris 2.5.1 for example will come up as solaris2 and
4556         2.5.1, rather than sunos5 and 5.5.1.  Both can be overridden in
4557         the amd.conf file.
4558
4559 Fri Aug  8 14:37:30 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4560
4561         *******************************************************************
4562         *** Released am-utils-6.0a9                                     ***
4563         *******************************************************************
4564
4565 Thu Aug  7 00:52:14 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4566
4567         * conf/nfs_prot/nfs_prot_ncr2.h: new file, for NCR2
4568         (i486-ncr-sysv4.3.03) headers.  Needed to complete missing stuff
4569         from <ndbm.h> and <sys/resource.h>.
4570
4571         * scripts/amd.conf.5: new map page.
4572
4573         * amd/info_hesiod.c: define extern for hesiod_resolve, since bsdi3
4574         does not.
4575
4576         * amd/amd.8: updated man page.
4577
4578         * amd/get_args.c (get_args): removed defunct -h option to amd.
4579
4580         * amq/amq.8: updated man page.
4581
4582         * amd/info_nisplus.c (nisplus_search): prototype fixes so Sun
4583         SparcCompiler CC won't complain.
4584
4585         * amd/info_hesiod.c (hesiod_search): small fixes to compile with
4586         hesiod-1.3, as per Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
4587
4588         * aux/macros/opt_ldflags.m4: new option added to configure
4589         --enable-ldflags, to specify -L option for configuring/compiling.
4590         The older one --enable-libs is now to be used only for -l options.
4591
4592         * amd/ops_nfs.c (mount_nfs_fh): bug fixed.  Should initialize
4593         nc_protoname from nfs_proto if available for all TLI systems, not
4594         just those that have NFS V3.
4595
4596         * amd/info_ldap.c: ldap patches from Leif Johansson
4597         <leifj@matematik.su.se>, adding two new amd.conf ldap variables:
4598         ldap_cache_seconds and ldap_cache_maxmem.
4599
4600         * hlfsd/hlfsd.c (main): bug fixed. port number must be wrapped in
4601         htons().
4602
4603 Sun Aug  3 17:20:05 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4604
4605         * amd/nfs_start.c (mount_automounter): register amd with the rpc
4606         program number that may have been overridden by amd.conf.
4607
4608         * libamu/xutil.c (set_amd_program_number, get_amd_program_number):
4609         allow storing and retrieving alternate amd program numbers.
4610
4611         * amd/conf.c (gopt_portmap_program): new function to parse
4612         amd.conf entry portmap_program=1234.
4613
4614         * amq/amq.c (main): allow specifying an alternate rpc program
4615         number for amd via -P prognum.
4616
4617         * new amq RPC to get the process id of the running amd.  This is
4618         used in ctl-amd to quickly find the pid of the amd that is to be
4619         killed.
4620
4621         * expanded shared libraries support.  Using GNU libtool-1.0,
4622         am-utils now builds shared libraries on many platforms that have
4623         support for it and proper compilers/linkers.  See "INSTALL" file
4624         for compatibility chart.
4625
4626 Thu Jul 31 13:07:23 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4627
4628         * fsinfo/fsi_lex.l: removed code that was in support of very old
4629         versions of flex.  No longer needed.
4630
4631 Tue Jul 29 12:00:13 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4632
4633         * amd/amd.c (init_global_options): find the kernel architecture
4634         from uname() if possible.
4635
4636 Mon Jul 28 03:53:59 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4637
4638         * new working port: i386-unknown-openbsd2.1
4639
4640 Fri Jul 25 03:16:31 1997  Erez Zadok  <ezk@felix.psl.cs.columbia.edu>
4641
4642         * working port: sparc-sun-solaris2.4.  Had to fix fhandle_t from
4643         structure to actual char[], because the structure was passed to
4644         xdr_fhandle as data and not a pointer.  Surprisingly, gcc
4645         -fpcc-struct-return did not help.
4646         
4647         * conf/nfs_prot/nfs_prot_sunos5_4.h: special nfs protocol
4648         definitions for solaris 2.4 have to be different from 2.3, and
4649         different from 2.5.
4650
4651         * libamu/xdr_fhstatus.c (xdr_fhstatus): minor code cleanup.
4652
4653 Thu Jul 24 16:22:39 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4654
4655         * conf/mount/mount_svr4.c (mount_svr4): use STREQ to compare mount
4656         types, not ==.  Fix from Christos Zoulas <christos@deshaw.com>.
4657
4658         * mk-amd-map/mk-amd-map.8: man page taken from bsd44.
4659
4660 Thu Jul 24 00:01:55 1997  Erez Zadok  <ezk@moisil.cs.columbia.edu>
4661
4662         * conf/mount/mount_linux.c: made the nfs error mapping code into a
4663         small function.
4664
4665 Wed Jul 23 16:11:49 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4666
4667         * conf/nfs_prot/nfs_prot_linux.h (NFS_ERROR_MAPPING): special
4668         error mappings from errno numbers to NFS errors.  From Debian
4669         Linux.
4670
4671         * scripts/am-eject.in (fs): new script (taken from Debian Linux
4672         folks) to auto-unmount floppy/cd devices before ejecting them.
4673
4674         * fsinfo/wr_exportfs.c (write_exportfs): from Debian folks, pass
4675         '5' as second arg to show_area_being_processed.  I'm not sure why.
4676
4677         * fsinfo/wr_atab.c (write_atab): from Debian folks, pass '5' as
4678         second arg to show_area_being_processed.  I'm not sure why.
4679
4680         * conf/mount/mount_linux.c (parse_opts): as per Debian Linux,
4681         ensure that you have a buffer in *xopts to strcat onto.
4682         (mount_linux): fixed from Debian folks to ensure that NFS mount
4683         sockets are connected only for kernels prior to 1.3.10 (avoids
4684         hangs for multi-homed hosts).
4685
4686         * amd/mapc.c (make_entry_chain): from Debian folks: don't skip
4687         over amd map keys that have a prefix, and include the prefix in
4688         the returned readdir().
4689
4690         * amd/info_passwd.c (passwd_init, passwd_search): format
4691         enhancements from the Debian Linux folks.  They added
4692         - var0:=pw-prefix:=anydir
4693         - var1:=pw-rhost:=dom3.dom2.dom1
4694         - var2:=pw-user:=user
4695         - var3:=pw-home:=/anydir/dom1/dom2/dom3/user
4696
4697         * new ports: sparc-sun-solaris2.4 and sparc-sun-sunos4.1.1.
4698
4699         * amd/ops_afs.c (afs_retry): patches from Debian Linux.  If
4700         afs_mount timed out, then explicitly forbid further retries after
4701         the timeout.  (afs_bgmount): buf fix from Debian Linux.  Timeout
4702         values (17 and 5) were mistakenly swapped.
4703
4704 Wed Jul 23 15:53:25 1997  Erez Zadok  <ezk@felix.psl.cs.columbia.edu>
4705
4706         * conf/nfs_prot/nfs_prot_sunos5_3.h: turn off non-existent NFS V.3
4707         support for Solaris 2.4 (the header files incorrectly define parts
4708         of the NFS V.3 protocol, but the kernel does not support it).
4709
4710 Wed Jul 23 00:07:12 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4711
4712         * amd/info_hesiod.c: minor cleanup to use hes_init and hesiod_init
4713         for determining if using old or new hesiod libraries,
4714         respectively.
4715
4716         * amd/ops_nfs.c (mount_nfs_fh): If "noconn" option exists in NFS
4717         V.3 then use non-connected sockets (both TCP and UDP).  Otherwise
4718         they cause hangs of mounts from multi-homed hosts when the return
4719         route is not the same as the outgoing route (esp. on NetBSD
4720         1.2.1).  If "conn" option was supplied, then don't turn on the
4721         "noconn" mount option.  Otherwise default to "noconn" mount
4722         option.
4723
4724         * aux/configure.in: better check for systems that need libgdbm and
4725         <ndbm.h>
4726
4727 Tue Jul 22 04:02:05 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4728
4729         * hlfsd/hlfsd.c (main), amd/ops_afs.c (mount_toplvl): ensure that
4730         mounts are hidden from df(1) on systems that keep mount tables in
4731         kernel, such as osf1.
4732
4733 Tue Jul 22 02:26:55 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4734
4735         *******************************************************************
4736         *** Released am-utils-6.0a8                                     ***
4737         *******************************************************************
4738
4739 Mon Jul 21 21:33:19 1997  Erez Zadok  <ezk@stone.mcl.cs.columbia.edu>
4740
4741         * hlfsd/hlfsd.c (main): bug fixed: forgot to set sin_family to
4742         AF_INET when hlfsd mounts itself, thus getting an errno "protocol
4743         family not supported".
4744
4745 Mon Jul 21 20:46:59 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4746
4747         * verified that amd on NetBSD 1.2.1 (i386) works, but the OS
4748         itself is flaky.
4749
4750         * verified that amd AIX 3 works w/ the new readdir() code.
4751
4752 Mon Jul 21 18:59:30 1997  Erez Zadok  <ezk@chestnut.mcl.cs.columbia.edu>
4753
4754         * amd/mapc.c (maptypes): changed the default map caching type for
4755         nis and ndbm maps to "MAPC_ALL", so that all possible entries will
4756         be available to amd for browsable_dirs=yes.
4757
4758 Mon Jul 21 18:04:16 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4759
4760         * amd/ops_afs.c (afs_readdir, afs_readdir_browsable): split
4761         afs_readdir into a browsable version and a non-browsable one.
4762         Fixed bugs that resulted in an infinite nfs_readdir loop on the
4763         localhost for some operating systems.
4764
4765 Sat Jul 19 19:38:38 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4766
4767         * amd/ops_afs.c (afs_readdir): fixed up the browsable code to
4768         comply with nfs_readdir specs.  It was returning all entries at
4769         once, even if there was not enough space in the RPC packet.  Now,
4770         it sends a reasonably sized chunk, and sets static state to resume
4771         it for the next continuation RPC of readdir.
4772
4773         * amd/conf.c (set_conf_kv): fixed bug that resulted in the first
4774         regular map not getting all of the [global] options defaulted from.
4775
4776 Fri Jul 18 00:45:12 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4777
4778         * amq/amq.c (main): fixed so that portmapper "ping" will only fail
4779         upon an RPC timeout
4780
4781         * scripts/ctl-{amd,hlfsd}.in (killproc): better method to find the
4782         amd/hlfsd process to kill.
4783
4784         * amd/ops_afs.c (mount_toplvl), hlfsd/hlfsd.c (main): code to
4785         determine how to avoid df from seeing amd's toplvl mounts.  Moved
4786         from libamu/mount_fs.c and include/am_utils.h.  Ensure that hlfsd
4787         is hidden from df.
4788         (mount_toplvl): fixed df types for irix.
4789
4790 Thu Jul 17 21:59:45 1997  Erez Zadok  <ezk@americas.psl.cs.columbia.edu>
4791
4792         * amq/amq.c (main): fixed bug that caused the 5 second timeout for
4793         TLI amq using udp to be ignored.
4794         (main): if amq cannot contact remote host's portmapper within 5
4795         seconds, timeout and fail faster than the default longer timeout
4796         (this is for non-TLI systems).
4797
4798 Thu Jul 17 17:08:13 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4799
4800         * amq/amq.c (get_secure_amd_client): if amq cannot contact
4801         remote host's portmapper within 5 seconds, timeout and fail faster
4802         than the default TLI timeout of over 4 minutes.
4803
4804         * amd/am_ops.c (ops_showfstypes): added styles for new bsd44
4805         file systems nullfs, unionfs, and umapfs.
4806         (ops_show1): cleanup code and and reuse this function.
4807         (vops): empty placeholders for nullfs, unionfs, and umapfs.
4808
4809         * amd/ops_{nullfs, unionfs, umapfs}.c: 3 new empty templates for
4810         bsd44 style file systems.
4811
4812         * fsinfo/fsinfo.8: man page for fsinfo rewritten from bsd44
4813         sources.
4814
4815         * amd/conf_tok.l, fsinof/fsi_lex.c: undefine ECHO to avoid
4816         conflict with systems that define it in <sys/ioctl.h> and also
4817         define a conflicting one via lex.  Newer versions of f/lex are ok.
4818
4819 Wed Jul 16 00:17:45 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4820
4821         * amd/ops_nfs.c (mount_nfs_fh): fill in nfs_args' fields
4822         acdirmin/max and acregmin/max only if they exist.
4823
4824         * aux/configure.in: test for nfs_args fields acdirmin and
4825         acregmin.
4826
4827 Tue Jul 15 17:24:09 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4828
4829         * aux/configure.in: commented out checking for MNT2_GEN_OPT_* for
4830         "nondev" and commented back in checking for "nodev".  This was a
4831         typo.
4832
4833         * include/am_compat.h: more compatibility options: define "ro"
4834         mnttab option all the time.  Define "overlay" as needed.  Added
4835         more fillers of mnttab options (as per Daniel S. Riley
4836         <dsr@mail.lns.cornell.edu>), for acdirmax, acdirmin, acregmax,
4837         acregmin, noac, grpid, nosuid, and actimo.
4838
4839         * libamu/mount_fs.c (mnt_flags): fixed a typo in "ro" option as
4840         per dsr@mail.lns.cornell.edu (Daniel S. Riley).  Then cleaned up
4841         the same code for other options in struct opt_tab.
4842
4843 Mon Jul 14 22:36:37 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4844
4845         * amd/get_args.c (get_args): moved amd.conf file parsing to before
4846         the switching the default log/debug options.  Suggested by
4847         dsr@mail.lns.cornell.edu (Daniel S. Riley).
4848
4849         * aux/update_build_version: new script to record the build version
4850         of amd, along with the rest of the info thet comes up with amd -v.
4851
4852 Sun Jul 13 00:30:24 1997  Erez Zadok  <ezk@decca.damtp.cam.ac.uk>
4853
4854         * aux/macros/os_cflags.m4: new macro, to add additional
4855         compilation options (also used during configuration), based on the
4856         OS and the compiler.  Used for solaris-2.6, osf, and irix6.
4857
4858 Fri Jul 11 10:15:11 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4859
4860         * amd/conf_tok.l, conf_parse.y: allow values of keys to include
4861         white spaces, if they are double-quoted (key="some value")
4862
4863         * amd/info_hesiod.c (hesiod_search): cleanup and minor bug fixes
4864         of hesiod from Danny Braniss <danny@cs.huji.ac.il>.
4865
4866 Fri Jul 11 02:16:06 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4867
4868         *******************************************************************
4869         *** Released am-utils-6.0a7                                     ***
4870         *******************************************************************
4871
4872 Thu Jul 10 12:19:25 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4873
4874         * include/am_defs.h: fill in extern definition of innetgr() in
4875         case system headers don't.
4876
4877         * aux/macros/path_prog_lex.m4 aux/configure.in: using macros that
4878         will show the full pathname to yacc/bison and f/lex.  Some systems
4879         have older or bad versions of those and this way the user will
4880         know for sure what is being invoked.
4881
4882         * tasks: file populated with todo items.
4883
4884         * scripts/amd2ldif.in: Script to convert amd maps to plain text
4885         LDAP object files.  Contributed by Leif Johansson
4886         <leifj@matematik.su.se>.
4887
4888         * aux/config.guess: added recognition for sun3's running 4.2bsd,
4889         from Tom Schmidt <tschmidt@micron.com>.  Fixed one small typo.
4890
4891         * amd/conf.c: several variables that were local to a map, were
4892         also added to [global], where they apply to all maps.  Each map
4893         can then individually override those defaults.  Flags
4894         affected: browsable_dirs and mount_type.  Options affected:
4895         map_type, map_options, and search_path.
4896
4897         * amd/amd.h: eliminated several global flags each of which took an
4898         int, in favor of one global flags variable used as a bit field.
4899
4900         * amd/amd.c (init_global_options): moved all global variables into
4901         a single struct amu_global_options, so it is easier to add new
4902         ones and/or identify existing ones.
4903
4904         * amd/get_args.c (get_args): removed unused amd -m option.
4905
4906         * amd/conf.c (gopt_cluster): added new amd.conf option for cluster
4907         name, same as amd -C.
4908
4909         * amd/info_ldap.c: LDAP info map functions from Leif Johansson
4910         <leifj@matematik.su.se>.
4911
4912         * amd/conf.c (gopt_ldap_base, gopt_ldap_hostports): put in global
4913         amd.conf options for ldap_base and ldap_hostports.
4914
4915         * amd/opts.c (f_netgrp): new amd map function netgrp(ARG) to test
4916         if the current host is in the ARG host netgroup.
4917
4918         * aux/configure.in: some systems replaced dbm in libc with GNU's
4919         libgdbm, so check for libgdbm, but only if dbm_open is not in
4920         libc already.  This was a recommendation from Tom Schmidt
4921         <tschmidt@micron.com>.
4922
4923         * conf/nfs_prot/nfs_prot_sunos5_3.h: port to sparc-sun-solaris2.3
4924         completed.
4925
4926 Wed Jul  9 18:14:59 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4927
4928         * port to sparc-unknown-netbsd1.2E done, not tested.  Includes NFS
4929         V.3.
4930
4931 Tue Jul  8 17:35:07 1997  Erez Zadok  <ezk@elk.mcl.cs.columbia.edu>
4932
4933         * port to i386-unknown-freebsd3.0 done and working.  Includes NFS
4934         V.3.
4935
4936         * aux/macros/check_nfs_fh_dref.m4: freebsd3 should use
4937         file handle dereferencing style similar to freebsd22.
4938
4939         * include/am_defs.h: need to include <net/if_var.h> before
4940         <netinet/if_ether.h> on freebsd3.
4941
4942         * conf/nfs_prot/nfs_prot_freebsd3.h: new protocol header additions
4943         for freeBSD 3.0.
4944
4945 Tue Jul  8 16:53:41 1997  Erez Zadok  <ezk@moisil.cs.columbia.edu>
4946
4947         * amd/info_nis.c (nis_reload): cast nis' callback function so
4948         picky compilers won't complain.
4949
4950         * libamu/xdr_mountres3.c (xdr_mountres3): make sure this function
4951         gets compiled only if the system has NFS V3 and does not have
4952         xdr_mountres3.
4953
4954 Tue Jul  8 12:42:03 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4955
4956         * COPYING: put in some legal stuff in this file.
4957
4958 Mon Jul  7 19:10:44 1997  Erez Zadok  <ezk@prometheus.soscorp.com>
4959
4960         * NFS V3 now works under Irix5, thanks to patches from 
4961         Andreas Stolcke <stolcke@speech.sri.com>.
4962
4963         * conf/mount/mount_irix5.c: sparate mount_irix.c into an irix5
4964         version and an irix6 version, since irix5's NFS V3 code is broken
4965         and hacky.
4966
4967         * amd/info_hesiod.c (hs_zone_transfer): minor fixes to buffer
4968         sizes for some hesiod queries.  Patch from Danny Braniss
4969         <danny@cs.huji.ac.il>.
4970
4971 Mon Jul  7 19:04:14 1997  Erez Zadok  <ezk@glory.soscorp.com>
4972
4973         * amd/ops_nfs.c (mount_nfs_fh): fixed NFS V.3 support for bsdi3.
4974
4975 Sun Jul  6 14:22:24 1997  Erez Zadok  <ezk@glory.soscorp.com>
4976
4977         * aux/{configure.in,acconfig.h}: added checks for struct
4978         nfs_args's fields proto and sotype (bsdi3).
4979         
4980         * amd/ops_nfs.c (mount_nfs_fh): added nfsv3 option to
4981         nfs_args.flags for bsdi3.  Set field proto to 0.  Set sotype field
4982         to SOCK_STREAM or SOCK_DGRAM.
4983
4984         * aux/macros/check_mount_style.m4: add case for bsdi3.
4985
4986         * amd/info_hesiod.c: got hesiod support for bsdi3.
4987
4988 Sun Jul  6 11:14:47 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4989
4990         * aux/configure.in: look for hesiod on libc (bsdi3)
4991
4992         * amd/get_args.c (get_args): reformat usage so it fits in 80
4993         columns.
4994
4995         * scripts/ctl-amd.in: changed directory name for optional tftpboot
4996         map to /tftpboot/.amd.
4997
4998 Sat Jul  5 17:46:45 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4999
5000         *******************************************************************
5001         *** Released am-utils-6.0a6                                     ***
5002         *******************************************************************
5003
5004 Sat Jul  5 03:17:09 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5005
5006         * scripts/ctl-amd.in: include -T tag for tftpboot.
5007
5008         * new port: mips-sgi-irix5.3.  Compiled with gcc, but NFS V3 code
5009         is broken and needs work on the specific nfs_args that irix5 uses
5010         for V3 mounts.
5011
5012 Sat Jul  5 01:44:25 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
5013
5014         * amd/get_args.c (get_args): new options amd -T tag.  A map with
5015         tag=foo matching the -T tag will be processed.  All untagged maps
5016         get processed all the time.
5017
5018 Fri Jul  4 16:19:26 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5019
5020         * aux/configure.in: need to check for strcasecmp in libucb (ncr2)
5021
5022         * aux/macros/check_os_libs.m4: a new macro to set the usage of
5023         libnsl and libsocket based on the OS.
5024
5025         * libamu/mount_fs.c (mnt_flags): used MNTTAB_OPT_GRPID if it is
5026         defined (problem on osf4).
5027
5028         * conf/nfs_prot/nfs_prot_irix5.h: new file for irix5 headers.
5029
5030         * include/am_defs.h, aux/macros/try_compile_nfs.m4,
5031         aux/macros/mount_headers.m4: do include <sys/proc.h> because it
5032         failes on irix5.  Rather, put in the individual
5033         conf/nfs_prot/nfs_prot_*.h headers.
5034
5035         * amd/conf.c: AIX3 doesn't like strdup() being passed a constant
5036         char*, so cast all strdup()'s args to a non-const char*.
5037
5038         * amd/mapc.c (root_newmap): don't try to strdup only a "const
5039         char *".
5040
5041 Fri Jul  4 15:47:10 1997  Erez Zadok  <ezk@americas.psl.cs.columbia.edu>
5042
5043         * conf/nfs_prot/nfs_prot_sunos4.h: added rpc/rpc.h and
5044         sys/errno.h.
5045
5046 Thu Jul  3 17:49:00 1997  Erez Zadok  <ezk@prometheus.soscorp.com>
5047
5048         * made sure am-utils compiles, links, and runs properly on Irix
5049         6.2 using "cc -32 -Wl,-woff,"
5050
5051         * aux/macros/check_lib2.m4: a bug fix version to autoconf 2.12
5052         AC_CHECK_LIB.  If OTHER-LIBRARIES are defined and used, then add
5053         them to $LIBS.
5054
5055         * aux/configure.in: some cleanup of which libraries are needed.
5056         Espectially ensure that libnsl is included only on Solaris, where
5057         so far it is the only system on which it is absolutely necessary.
5058         Also no longer need to include libc explicitly. 
5059
5060         * amd/amd.c,wire-test/wire-test.c (main): convert IP address to
5061         network-long order before printing it.
5062
5063         * wire-test/wire-test.c (main): also check and report on the IP
5064         address of the local host, since some systems have bad versions of
5065         get_myaddress, or ones that conflict with other versions in
5066         multiple libraries (SunOS 4 and Irix especially).
5067
5068 Wed Jul  2 18:19:02 1997  Erez Zadok  <ezk@starblazers.soscorp.com>
5069
5070         * scripts/ctl-amd.in: don't use full pathname so killproc() works
5071         better.  Also run bsd44 and irix style ps programs. 
5072
5073         * aux/macros/check_lib_funcs.m4: bug fixed: used to define usage
5074         of library no matter if it was found or not.
5075
5076 Wed Jul  2 02:11:48 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5077
5078         * aux/macros/check_mnt2_gen_opt.m4: turned back on the checking
5079         for M_* macros, but ensure that <sys/stream.h> is not included at
5080         all so it won't conflict with other M_* macros.
5081
5082 Tue Jul  1 21:16:51 1997  Erez Zadok  <ezk@mako.cs.columbia.edu>
5083
5084         * conf/mount/mount_irix.c (mount_irix): first arg to mount(2) on
5085         irix should be "spec" (host:/path), not the dir of the mnt point.
5086
5087         * amd/ops_afs.c (afs_lookuppn): bug in enable_default_selectors
5088         fixed.  If on, it essentially ignored the setting in a
5089         selector-controlled /defaults if there were 2 or more entries in it.
5090
5091 Tue Jul  1 12:23:38 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5092
5093         * scripts/ctl-{amd,hlfsd}.in (killproc): if failed to find process
5094         using BSD style ps, then try SVR4 style ps.
5095
5096         * include/am_utils.h (amuDebug): renamed Debug macro to amuDebug
5097         etc., to avoid conflicts with similar named macros in <ldap.h>.
5098
5099         * aux/configure.in, amd/info_ldap.c, etc.: put in all the autoconf
5100         support needed for LDAP.  Now the code has to be written mostly in
5101         amd/info_ldap.c.
5102
5103         * Included additional patches from Andreas Stolcke
5104         <stolcke@speech.sri.com> to support using the best possible
5105         combination of NFS version (2,3) and protocol (udp,tcp) for any
5106         given host, since it appears that some Irix versions have NFS V3,
5107         but do not support TCP.
5108
5109         * scripts/ctl-amd.in: updated amd control script to look for and
5110         use amd.conf file.
5111
5112 Tue Jul  1 00:28:23 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
5113
5114         * amd/mapc.c (mapc_create): now, each map in the amd.conf can be
5115         initialized off of a different type, or default to cycling through
5116         all maps until one of them matches.
5117
5118 Mon Jun 30 20:49:13 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
5119
5120         * amd/ops_afs.c (afs_readdir): per-map browsing (readdir) done.
5121         if browsable_dirs=yes is set in the map section in amd.conf, that
5122         map will return all entries back to a readdir(2).
5123
5124 Sun Jun 29 16:22:11 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
5125
5126         * rudimentary amd.conf file support included.  You may even
5127         override things like os=sos5, to get "backwards" compatibilty with
5128         upl102.
5129
5130 Sat Jun 28 13:35:02 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
5131
5132         * amd/conf.c: new file to process amd.conf file.
5133
5134         * amd/get_args.c (get_args): new options -H to print help.
5135
5136         * moved enable_default_selectors to be amd.conf controlled, and
5137         not compiler controlled.
5138
5139         * amd/get_args.c (get_args): new options -F <conf-file> to parse an
5140         amd configuration file.
5141
5142 Wed Jun 25 23:15:42 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
5143
5144         * converted all files that used strcmp() == 0 or != 0  to using
5145         the STREQ() macro.
5146
5147 Mon Jun 23 22:31:14 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
5148
5149         * aux/macros/check_lib_funcs.m4: new M4 macro that can be used to
5150         search for any number of functions in any given library.
5151
5152 Mon Jun 23 01:04:23 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5153
5154         * amd/mapc.c: Included patch from Leif Johansson
5155         <leifj@matematik.su.se> to ensure that systems without an RE
5156         library can compile.
5157
5158         * libamu/mount_fs.c (mount_fs): Included patch from Andreas
5159         Stolcke <stolcke@speech.sri.com>, to ensure that mount options on
5160         table are properly delimited by a comma.
5161
5162         * amd/ops_nfs.c (mount_nfs_fh): Included patch from Andreas
5163         Stolcke <stolcke@speech.sri.com>, to allow users to override the
5164         proto= and vers= mount options.
5165
5166 Sun Jun 22 01:00:11 1997  Eric Dana  (edana@ncr2.bgs.com)
5167
5168         * conf/nfs_prot/nfs_prot_svr4.h: port completed to
5169         i486-ncr-sysv4.3.03.  Assorted source cleanups done.
5170
5171         * include/am_defs.h, aux/macros/mount_headers.m4: don't include
5172         mnttab.h if sys/mnttab.h was already included, because on ncr2,
5173         they contain conflicting entries for struct mnttab.
5174
5175 Sat Jun 21 23:52:15 1997  Eric Dana  (edana@ncr2.bgs.com)
5176
5177         * aux/macros/check_nfs_prot_headers.m4: added support for ncr2.
5178
5179 Fri Jun 20 06:14:17 1997  Erez Zadok  <ezk>
5180
5181         * amd/*.c: lots of 64-bit "ugly" ports like casts to long ints.
5182
5183         * aux/macros/struct_nfs_fh.m4: check for "struct nfssvcfh" because
5184         on DU-4.0 it is better than the next one to be picked (nfsv2fh_t).
5185
5186 Wed Jun 18 18:59:49 1997  Erez Zadok  <ezk@defiant.soscorp.com>
5187
5188         * aux/macros/struct_nfs_fh.m4 (AC_TRY_COMPILE_NFS): check for
5189         nfsv2fh_t before fhandle_t becasue on bsdi2.1 the former is
5190         better.
5191
5192 Tue Jun 10 17:06:58 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
5193
5194         * amd/rpc_fwd.c (fwd_packet): TLI bug fix. if fwdto socket is
5195         NULL, set the maxlen and len fields in netbuf to zero.
5196
5197 Wed May 28 22:52:28 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5198
5199         * scripts/fix-amd-map.in (name): replace all matching patterns on
5200         line.
5201
5202 Sun May 25 19:33:41 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5203
5204         *******************************************************************
5205         *** Released am-utils-6.0a5                                     ***
5206         *******************************************************************
5207
5208 Sun May 25 13:37:24 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
5209
5210         * amd/amq_subr.c (amqproc_getvers_1_svc): amq's RPC service
5211         procedure now returns the full string that amd -v returns.
5212
5213         * amd/get_args.c (get_version_string): new function to return
5214         complete version/info string so it could be used more flexibly.
5215
5216         * amd/am_ops.c (ops_showamfstypes, ops_showfstypes): put the list
5217         of Fs types into a string buffer, rather than a FILE*.
5218
5219         * amd/mapc.c (mapc_showtypes): put the list of map types into a
5220         string buffer, rather than a FILE*.
5221
5222 Sun May 25 01:25:36 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5223
5224         * amd/get_args.c (get_args): amd -v also prints user who built
5225         amd, hostname built on, and date of configuration.
5226
5227 Sat May 24 13:40:50 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5228
5229         * scripts/lostaltmail.conf-sample: sample lostaltmail
5230         configuration file.
5231
5232         * scripts/lostaltmail.in: new script lostaltmail used to redeliver
5233         "lost" mail that hlfsd redirected to a temp location because the
5234         primary home file system of the user was full.
5235
5236         * scripts/amd2sun.in: new script amd2sun. Used to convert Sub
5237         automount maps to amd maps.
5238
5239         * scripts/ctl-hlfsd.in: new script ctl-hlfsd.  Used to start,
5240         stop, or restart hlfsd.
5241         
5242         * scripts/expn.1: man page for expn command.
5243
5244         * scripts/ctl-amd.in: new script ctl-amd.  Used to start, stop, or
5245         restart amd.
5246
5247         * scripts/expn.in: new script expn.  Actually taken from David
5248         Muir Sharnoff <muir@idiom.com>.  Used by hlfsd's mail re-delivery
5249         script.
5250
5251         * scripts/wait4amd.in: new script wait4amd added.  Waits for amd
5252         to come up on a host, and then runs a command (rsh $hostname by
5253         default).
5254
5255         * scripts/Makefile.am: new directory now holds all shell/perl
5256         scripts that belong to am-utils.
5257
5258         * conf/mount/mount_linux.c (parse_opts): new parser for
5259         linux-specific mounts.  Handles fs-type specific mount-options
5260         correctly.  Currently implemented: msdos, iso9660.
5261
5262         * amd/ops_pcfs.c (pcfs_ops): don't timeout cdfs mounts by default
5263         (fix for linux).
5264
5265         * amd/ops_cdfs.c (cdfs_ops): don't timeout cdfs mounts by default
5266         (fix for linux).
5267
5268         * amd/mapc.c (make_entry_chain): fixed bug that resulted in amd
5269         core dumps upon "ls" of a mount point; an invalid pointer was
5270         being returned and dereferenced.
5271
5272         * port to Linux sparc working!
5273
5274         * hlfsd/homedir.c (hlfsd_diskspace): close file descriptor if
5275         failed to write test file, or else the fd will leak.
5276
5277 Sun May 18 00:42:41 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5278
5279         * amd/info_hesiod.c (hs_strip_our_domain): use strcasecmp()
5280         instead of strcmp().
5281
5282         * Port to Digital Unix 4.0 (OSF) done.
5283
5284         * hlfsd/hlfsd.c: renamed dirname to dir_name to avoid conflicts
5285         with dirname() function in <string.h> on OSF systems.
5286
5287         * fsinfo/fsi_util.c (set_ether_if): take out extern defintion of
5288         inet_addr().  It should come from <arpa/inet.h> instead.
5289
5290         * conf/mtab/mtab_osf.c: fixed macros and added NFS V3 specs.
5291
5292         * include/am_utils.h: renamed FIRST/LAST to AM_FIRST/AM_LAST to
5293         avoid conflicts with DU 4.0 system header.
5294
5295 Thu May 15 22:49:12 1997  Erez Zadok  <ezk@subzero.cs.columbia.edu>
5296
5297         * libamu/mount_fs.c (mount_fs): pass along NFS version so I can
5298         determine if to include additional options in the mount table file
5299         entry (such as proto=tcp, and vers=3).
5300
5301 Thu May 15 00:42:12 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5302
5303         * libamu/mount_fs.c (mount_fs): include NFS version number in the
5304         mount table options, as well as proto={tcp,udp}.
5305
5306 Wed May 14 14:30:19 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
5307
5308         * NFS V3 code ported to most other systems, so it compiles for V2
5309         and V3 NFS systems.
5310
5311         * NFS VERSION 3 support, first pass.  Working for Solaris and
5312         using TCP.
5313
5314 Sun May 11 01:14:29 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
5315
5316         * amq/amq.c: many newline characters were missing from various
5317         stderr printfs.
5318
5319 Sat May 10 13:09:06 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
5320
5321         * conf/nfs_prot/nfs_prot_sunos5.h: protocol defintions for
5322         Solaris, which include NFS V3 support.
5323
5324         * conf/nfs_prot/nfs_prot_default.h: default NFS protocol headers.
5325
5326         * conf/transp/transp_{tli,sockets}.c (get_mount_client): use NFS
5327         protocol version while getting a mount client.
5328
5329         * amd/ops_nfs.c (mount_nfs_fh): set the mount types, mnttab types,
5330         file handle size, and proper file handle based on the correct NFS
5331         version number.
5332
5333         * conf/mount/mount_svr4.c (mount_svr4): support NFS3 mounts under
5334         Solaris and other SVR4 systems.
5335
5336         * amd/ops_nfs.c: store NFS file handle version and version
5337         specific handle in struct fh_cache.
5338         (got_nfs_fh): pick the correct RPC reply based on the NFS version
5339         of the server.
5340         (prime_nfs_fhandle_cache): figure out the right NFS file handle
5341         for a node, but now include NFS protocol version information.
5342         (call_mountd): set the correct version for the mount protocol,
5343         based on the NFS protocol version.
5344         (nfs_init): use the NFS protocol generic structure
5345         am_nfs_handle_t.
5346
5347         * include/am_utils.h: new structure am_nfs_handle_t to contain all
5348         possible versions of NFS file handles.
5349
5350         * amd/srvr_nfs.c (start_ping): ping program performs NFS version
5351         specific pings.
5352         (recompute_portmap): figure out the correct portmap version mount.
5353         (nfs_keepalive): call start_ping() with the correct NFS version.
5354         (find_nfs_srvr): if mount option "vers=" is given, use it.  Get
5355         the NFS server version and verify that it is up.
5356
5357         * conf/transp/transp_{tli,sockets}.c (get_nfs_version): a new
5358         function to find the best NFS version for a particular host.
5359
5360         * libamu/amu.h: determine what is the highest version of NFS we
5361         should try.
5362
5363         * include/am_utils.h (NFS_VERSION3): added definition for NFS V3
5364         protocol number.
5365         Added field fs_version to struct fserver, so we can now store the
5366         server protocol version.
5367
5368 Fri May  9 01:09:45 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
5369
5370         * aux/macros/check_field.m4 (AC_MOUNT_HEADERS): map '.' (dot) into
5371         underscores too, so I can test for sub-fields.
5372
5373         * libamu/wire.c: use test that checks for sub-fields of struct
5374         ifreq.
5375
5376 Sat May  6 10:20:17 2000  Erez Zadok  <ezk@glory.soscorp.com>
5377
5378         * port to BSD/OS 3.0 completed!  Many xdr_ functions were broken
5379         into smaller files.  M4 macros fixed to test for existence of
5380         file systems using getvfsbyname().
5381
5382         * amd/sched.c (sigchld): signal handler must waitpid() for all
5383         possible children.
5384
5385         * hlfsd/homedir.c: signal handler must waitpid() for all possible
5386         children. 
5387
5388         * aux/macros/check_restartable_signals.m4: new macro to determine
5389         if need to reinstall signal handlers per OS is better than trying
5390         to figure these out based on system macros.
5391
5392 Fri May  5 19:23:28 2000  Erez Zadok  <ezk@glory.soscorp.com>
5393
5394         * amd/ops_nfs.c (mount_nfs_fh): set nfs_args_t version number.
5395
5396         * amd/ops_afs.c (mount_toplvl): set nfs_args_t version number.
5397
5398         * amd/ops_nfs.c (mount_nfs_fh): process nfs mount option resvport
5399         (must be supplied for bsdi 3.0)
5400
5401         * libamu/wire.c: use HAVE_FIELD_STRUCT_IFREQ_IFR_ADDR (and
5402         associated new macro) for determining the right way to compute the
5403         size of the interface structure.
5404
5405 Fri Apr 11 15:56:13 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5406
5407         * aux/configure.in: need to include libc before libnsl if
5408         get_myaddress() is available because on irix libnsl has a buggy
5409         get_myaddress().
5410
5411         * include/am_defs.h: make sure REINSTATE_SIGNAL_HANDLER is defined
5412         on Irix 6 (an SVR4 variant)
5413
5414 Thu Mar 27 02:28:40 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5415
5416         *******************************************************************
5417         *** Released am-utils-6.0a4                                     ***
5418         *******************************************************************
5419
5420 Wed Mar 26 21:15:36 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
5421
5422         * amd/amq_subr.c (ok_security): turned off insecure code unless
5423         user explicitly runs configure --enable-amq-mount.
5424
5425         * hlfsd/hlfsd.c (main): use new protoypes dor create_nfs_service().
5426
5427         * amd/nfs_start.c (mount_automounter): use code that separately
5428         creates the NFS and the amq service.  Register tcp and udp
5429         services for amd.
5430
5431         * conf/transp/transp_*.c (create_amq_service): new function to
5432         separately create the amq service for amd.  Simplified prototypes
5433         for create_nfs_service().
5434
5435 Wed Mar 19 20:40:56 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5436
5437         *******************************************************************
5438         *** Released am-utils-6.0a3                                     ***
5439         *******************************************************************
5440
5441 Wed Mar 19 17:49:18 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5442
5443         * new port: rs6000-ibm-aix3.2.5 and rs6000-ibm-aix4.1.5.0.  Lots
5444         of small changes to support these two.
5445
5446 Wed Mar 19 14:33:30 1997  Erez Zadok  <ezk@grande.cs.columbia.edu>
5447
5448         * conf/umount/umount_default.c (umount_fs): bug: unlock_mntlist()
5449         should run if MOUNT_TABLE_ON_FILE, not otherwise.
5450
5451 Mon Mar 17 22:02:43 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5452
5453         * hlfsd/hlfsd.c (main): fill in fhsize field if exists
5454         (freebsd-2.2).
5455
5456         * amd/ops_{nfs,afs}.c (mount_toplvl): fill in fhsize field if
5457         exists (freebsd-2.2).
5458
5459 Sat Mar 15 19:37:48 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5460
5461         * new port: i386-unknown-freebsd2.2.  FreeBSD 2.2 and higher
5462         changed the filehandle type in struct nfs_args from nfsv2fh_t to
5463         u_char.
5464
5465 Sat Mar 14 10:11:03 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
5466
5467         * SHARED LIBRARIES: too many change to list individually.  Now,
5468         libamu can be built as a shared library, and other programs link
5469         with it.
5470
5471 Tue Mar 11 22:24:09 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
5472
5473         * aux/macros/opt_shared.m4: new macro for setting options for
5474         building shared am-utils libraries.
5475
5476 Sun Mar  9 19:17:46 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5477
5478         * fixmount/fixrmtab: cleaned up the script.
5479
5480         * fixmount/Makefile.am (EXTRA_DIST): adde $(sbin_SCRIPTS) so that
5481         fixrmtab gets distributed too.
5482
5483         * conf/nfs_prot/nfs_prot_bsdi2.h: added support for MOUNTPROC_DUMP.
5484         Added extern for xdr_mountlist().
5485
5486         * aux/configure.in: trimmed down many tests for MNT2_GEN_OPT,
5487         MNT2_NFS_OPT, and MNTTAB_OPT that were not referenced anywhere in
5488         the sources.
5489
5490 Sat Mar  8 00:23:58 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5491
5492         * fixmount/hlfsd ported to bsd44, hpux, and linux systems.
5493
5494         * aux/macros/check_fixmount_style.m4: add check for bsd44 systems.
5495
5496         * conf/fixmount/fixmount_default.c: use lockf() if flock() is
5497         unavailable.
5498
5499         * include/am_defs.h: include <string.h> even if don't have
5500         STDC_HEADERS defined (sunos4).
5501         (seteuid): define seteuid() to be setresuid() for systems that
5502         have but not the other (hpux).
5503
5504         * aux/macros/check_extern.m4: test should include <strings.h>.
5505
5506 Tue Mar  4 17:16:52 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
5507
5508         * lib/xutil.c (debug_option): moved from amd/getargs.c to this
5509         more proper file.
5510
5511         * include/am_utils.h: put in structure for debug options, for all
5512         progams to use.
5513
5514         * amd/get_args.c: moved structure for debug options out.
5515
5516 Sun Mar  2 00:13:07 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
5517
5518         * ported fixmount.
5519
5520         * lib/ualarm.c: replacement function for systems that don't have a
5521         ualarm().
5522
5523         * ported fsinfo.
5524
5525 Sun Mar  1 10:23:34 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
5526
5527         * ported mk-amd-map.
5528
5529         * buildall: added -K option to buildall, to run mkconf.
5530
5531 Fri Feb 28 01:10:25 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5532
5533         *******************************************************************
5534         *** Released am-utils-6.0a2                                     ***
5535         *******************************************************************
5536
5537 Thu Feb 27 13:58:59 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5538
5539         * all *.[hcyl] files: add copyright line.
5540
5541         * aux/macros/check_mount_type.m4: test for mount type for
5542         linux-like systems, by checking for loadable or statically linked
5543         kernel filesystem modules.
5544
5545         * aux/macros/check_mnttab_type.m4: test for mount table entry
5546         for linux-like systems, by checking for loadable or statically
5547         linked kernel filesystem modules.
5548
5549         * aux/configure.in: pcfs filesystems can use vfat type (linux)
5550
5551         * aux/macros/check_fs_mntent.m4: test for filesystem existence for
5552         linux-like systems, by checking for loadable or statically linked
5553         kernel filesystem modules.
5554
5555         * conf/trap/trap_hpux.h: ugly hack added because of stupide HPUX
5556         9.0 header files.  This should be removed when HPUX 9.0 is deemed
5557         defunct.
5558
5559         * aux/acconfig.h: set an undefined variable for having an extern
5560         to clnt_sperrno().
5561
5562         * include/am_defs.h: define extern for clnt_sperrno() if needed.
5563
5564         * aux/configure.in: test for extern clnt_sperrno().
5565
5566         * aux/macros/check_nfs_fh_dref.m4: HPUX's NFS fhandle dref is
5567         similar to irix.
5568
5569         * aux/macros/check_mount_style.m4: use mount helper on HPUX.
5570
5571         * aux/macros/check_mtype_type.m4: hpux's mount type is a char*,
5572         not integer (but may be mapped to one later).
5573
5574         * conf/mount/mount_hpux.c (mount_hpux): HPUX has confusing header
5575         files.  They have mount(2) and vfsmount(2) which don't take same
5576         arguments, and they have string mount types MNTTYPE_* as well as
5577         integer types MOUNT_*.  So I need this new mount function to map
5578         from string types to integer types for the vfsmount() function.
5579
5580         * conf/trap/trap_hpux.h (MOUNT_TRAP): instead of calling
5581         vfsmount(), call mount_hpux().
5582
5583 Thu Feb 27 03:34:14 1997  Erez "HWank1" Zadok  <ezk@okeeffe.cs.columbia.edu>
5584
5585         * lib/mount_fs.c (mnt_flags): make sure SYNC option is on only if
5586         both MNTTAB_OPT_SYNC and MNT2_GEN_OPT_SYNC are defined.
5587
5588 Thu Feb 27 00:26:00 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5589
5590         * conf/nfs_prot/nfs_prot_hpux.h: NFS protocol definitions for
5591         hpux.
5592
5593         * include/am_defs.h: no need to include rpc/auth.h or rpc/clnt.h.
5594
5595         * aux/configure.in: no need to test for rpc/auth.h and rpc/clnt.h.
5596
5597         * buildall: added ability to configure using other shells than
5598         /bin/sh, on those systems where /bin/sh is buggy or limited
5599         (HPUX).
5600
5601         * aux/macros/struct_nfs_fh.m4: reinstated the macro but have it
5602         defined am_nfs_fh, and also test for plain typedef "nfs_fh".
5603
5604         * aux/acconfig.h: #undef am_nfs_fh, which is being defined by a
5605         reinstated macro.
5606
5607         * aux/configure.in: check for <nfs/export.h>
5608
5609         * include/am_defs.h: include <nfs/export.h> (HPUX) if exists.
5610
5611         * aux/macros/try_compile_nfs.m4: include <nfs/export.h> (HPUX) if
5612         exists.
5613
5614         * aux/macros/mount_headers.m4 (define): removed some non-working
5615         (on HPUX) code that attempts to recreate the fhandle_t rather than
5616         load it up from system headers.  Also added some NFS protocol
5617         header inclusion.  include <nfs/export.h> (HPUX) if exists.
5618
5619 Wed Feb 26 00:32:35 1997  Erez "HWank1" Zadok  <ezk@okeeffe.cs.columbia.edu>
5620
5621         * aux/macros/mount_headers.m4 (define): Use M4 changequote to
5622         ensure [] brackets are correctly used.
5623
5624         * aux/macros/expand_cpp_{string,hex,int}.m4: encapsulate
5625         multi-line M4 inclusions in [].
5626
5627 Tue Feb 25 22:19:44 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5628
5629         * conf/mtab/mtab_bsd.c (mnt_dup): use statfs field f_fstypename if
5630         it exists.
5631
5632         * aux/acconfig.h: HAVE_FIELD_STRUCT_STATFS_F_FSTYPENAME, new
5633         config.h macro for field f_fstypename of struct statfs.
5634
5635         * aux/configure.in: testing for field f_fstypename field of struct
5636         statfs (NetBSD).
5637
5638         * aux/acconfig.h: moved all of the "static" definitions out to a
5639         fixed file called include/am_defs.h.  Added to all */Makefile.am
5640         files a dependency on am_defs.h.  Created am_defs.h of course, and
5641         then added #include <amd_defs.h> to all of the source and header
5642         files that required it.
5643
5644 Mon Feb 24 01:27:02 1997  Erez Zadok  <ezk@defiant.soscorp.com>
5645
5646         * aux/acconfig.h: two more externals for xdr functions that may be
5647         implemented by libamu.
5648
5649         * conf/nfs_prot/nfs_prot_bsdi2.h: added missing RPC and XDR
5650         definitions.
5651
5652 Sun Feb 23 15:25:26 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5653
5654         * buildall (default): added -D option for turning on even stricker
5655         developer options.
5656
5657         * */Makefile.am: make sure @AMU_NFS_PROT_HEADERS@ is used to
5658         determine dependencies on optional NFS protocol headers.
5659
5660         * aux/acconfig.h: define and use HAVE_NFS_PROT_HEADERS as needed.
5661
5662         * aux/macros/check_nfs_prot_header.m4: new test to determine what
5663         NFS protocol headers to use. 
5664
5665         * conf/nfs_prot/nfs_prot_{irix6,sunos4,bsdi2}.h: new headers to
5666         complete missing system headers for NFS protocol definitions.
5667
5668 Sun Feb 16 15:58:42 1997  Erez "HWank1" Zadok  <ezk@vir.cs.columbia.edu>
5669
5670         * amd/ops_nfs.c (mount_nfs_fh): encapsulated some more code in
5671         #ifdef's as needed.
5672
5673         * amd/ops_afs.c (mount_toplvl): make sure TIMEO/RETRANS code is
5674         suitable #ifdef'ed.
5675
5676         * include/am_compat.h: a couple more mnttab options
5677         (timeo/retrans) setting just in case.
5678
5679         * amd/autil.c (host_normalize): make sure hostent->h_name is
5680         passed a non-const char *.
5681
5682         * conf/mount/mount_linux.c (mount_linux): cleaned up a block of code.
5683
5684         * {lib,amq,amd}/*.c (many functions): cast xdr_entry to
5685         XDRPROC_T_TYPE.
5686
5687         * lib/nfs_prot_svc.c (nfs_program_2): cast xdr_entry to
5688         XDRPROC_T_TYPE.
5689
5690         * lib/nfs_prot_xdr.c (xdr_entry): cast xdr_entry to
5691         XDRPROC_T_TYPE.
5692
5693         * lib/wire.c (getwire): Make sure safe assignment from const to
5694         none is done.
5695
5696 Sat Feb 15 19:38:51 1997  Erez "HWank1" Zadok  <ezk@vir.cs.columbia.edu>
5697
5698         * aux/macros/expand_cpp_int.m4: new macro for expanding integers.
5699
5700         * aux/configure.in: added linux/fs.h support in configure and
5701         several M4 macros.
5702
5703         * conf/mount/mount_linux.c (mount_linux): use macro instead of
5704         "ugly" fixed hex number for mount() arguments.
5705
5706 Sat Feb 15 02:09:47 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
5707
5708         * amd/info_hesiod.c: removed macro HAVE_HS_ZONE_TRANSFER and
5709         turned all of its code always on.  That code always seems to
5710         compile, as long as you have hesiod and libresolv.
5711
5712         * amd/mapc.c: removed macro HAVE_HS_ZONE_TRANSFER and turned all
5713         of its code always on.
5714
5715         * aux/configure.in: removed superfluous test for hs_zone_transfer
5716         function (will never find it because it is an amd-internal
5717         function).
5718
5719         * amd/mapc.c (maptypes): must used correct new name for am-utils'
5720         hesiod initialization function: hesiod_am_init.
5721
5722         * amd/info_hesiod.c (hesiod_am_init): renamed hesiod_init to
5723         hesiod_am_init so as not to conflict with libhesiod's
5724         hesiod_init() function.
5725
5726         * aux/configure.in: added test and explicit inclusion of
5727         libresolv.a for later resolution of library references with
5728         libhesiod.
5729
5730         * aux/macros/opt_cppflags.m4: new file.  configure/compile C
5731         preprocessor flags.
5732
5733         * aux/macros/opt_libs.m4: new file.  configure/compile library
5734         flags.
5735
5736         * Makefile.am (EXTRA_DIST_AUX): include two new macros
5737         opt_cppflags.m4 and opt_libs.m4.
5738
5739         * aux/configure.in: test for libhesiod needs to additional
5740         libresolv to link completely.  Additional configuration time
5741         options added for setting initial CPPFLAGS and LIBS.
5742
5743 Tue Feb 10 02:15:40 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
5744
5745         *******************************************************************
5746         *** Released am-utils-6.0a1                                     ***
5747         *******************************************************************
5748
5749 Thu Feb  6 02:55:19 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5750
5751         * amd/info_ndbm.c (ndbm_search,ndbm_init): fixed the code so that
5752         it works on freebsd, where they map dbm_pagfno a non-existing
5753         macro on purpose, to force you to port the code to Berkeley DB.
5754
5755 Fri Jan 31 01:35:09 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
5756
5757         * amd/ops_afs.c (mount_toplvl): added a sleep(1) right before the
5758         actual mount_toplvl, to avoid some possible race conditions.
5759
5760 Thu Jan 30 02:31:49 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
5761
5762         * amd/rpc_fwd.c: removed all TLI (HAVE_T_OPEN) code.
5763
5764 Wed Jan 29 18:25:07 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
5765
5766         * lib/wire.c (getwire): removed HAVE_T_OPEN (TLI code)
5767
5768         * amd/amd.c (main): fix local address using htonl(). Free up
5769         buffers allocated by netdir_*() functions.
5770
5771 Wed Jan 22 23:53:24 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
5772
5773         * amd/fix-amd-map.in: new script that will convert old-style amd
5774         maps to new one.
5775
5776 Tue Jan 21 01:18:16 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
5777
5778         * FIRST AMD IN AM-UTILS FINALLY WORKS (mounts itself as toplvl,
5779         and replies back to simple nfs/link type mount queries).
5780
5781         * conf/mtab/mtab_svr4.c: reorganized the code in this file to be
5782         easier to read, and fixed a few bugs with un/setting the lock file
5783         descriptor.
5784
5785 Wed Jan  8 15:27:49 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
5786
5787         * amd/sched.c: removed HAS_SVR3_SIGNALS code to handle older
5788         signals in Svr3 systems.  Only stellix ever used this.
5789
5790         * amd/rpc_fwd.c (fwd_reply): removed all code that was triggered
5791         by DYNAMIC_BUFFERS, since it was not in use.
5792
5793 Tue Jan  7 00:45:59 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
5794
5795         * amd/opts.c (eval_opts): removed AMD_COMPAT code.  Amd no longer
5796         takes '=' sign as old selector.  Fix your maps.
5797         (deslashify): removed APOLLO code that treated two '//' as one.
5798
5799 Sun Jan  5 01:25:09 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
5800
5801         * amd/ops_nfsx.c (nfsx_init): removed HARD_NFSX_ERRORS, code which
5802         was not used.  It made any submount error fail the whole group.
5803
5804         * amd/ops_nfs.c (make_nfs_auth): removed code dependent on
5805         HAS_NFS_QUALIFIED_NAMES.
5806         (mount_nfs_fh): removed macro for NFS_ARGS_NEEDS_PATH, assuming it
5807         is never on.  So code that was triggered by #ifndef
5808         NFS_ARGS_NEEDS_PATH (osf1, aix3, and bsd44 variants) may have to
5809         be fixed later.
5810         Removed all ULTRIX_HACK code.  Ultrix is DEAD!
5811         removed all PRESET_AC code, which was only on for Linux to preset
5812         the attribute cache values (otherwise they default to zero).
5813         (nfs_umounted): revobed KICK_KERNEL code (IRIX systems).  Will
5814         have to fixed up later.
5815         (mount_nfs_fh): removed code that was never included, which
5816         attempted to set the port on which amd's nfs mounts on.  This
5817         isn't supported by the ping algorithm yet.  In any case, it is all
5818         done in nfs_init().
5819
5820         * amd/srvr_nfs.c (find_nfs_srvr), amd/ops_nfs.c (mount_nfs_fh):
5821         removed HAS_TCP_NFS code.  The whole use of NFS V.3 with TCP or
5822         specially hacked NFS V.2 that uses TCP (BSD 4.4 variants) will
5823         have to be addressed later.
5824
5825         * amd/nfs_subr.c (nfsproc_getattr_2): removed all code dependent
5826         on PRECISE_SYMLINKS.
5827
5828         * amd/mapc.c (mapc_meta_search): removed code that depended on
5829         HAS_DEPOT.  It is known buggy code.  The whole DEPOT support needs
5830         to be rethought.
5831         (mapc_add_kv): ported code to use standard regular expression
5832         (regexp) library.
5833
5834         * amd/{map.c,ops_sfs.c,ops_ufs.c}: removed all code dependent on
5835         FLUSH_KERNEL_NAME_CACHE and the macro itself.
5836
5837 Sat Jan  4 15:46:58 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
5838
5839         * amd/map.c (exported_ap_alloc): removed all code triggered by
5840         SHRINK_EXPORTED_AP and the macro itself.
5841
5842         * amd/info_nis.c: removed HAS_NIS_RELOAD macro, and left the code
5843         in all the time.  Assuming that there is always NIS realod
5844         available.
5845         (yp_all_fixed): removed code for BROKEN_YP_ALL.  If your yp_all()
5846         function is broken such that it does not release filedescriptors
5847         it created, then you are hosed.  Get a fix for yp_all from your
5848         vendor or switch operating systems.
5849
5850 Tue Dec 31 15:34:36 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
5851
5852         * amd/info_hesiod.c: renamed macro HAS_HESIOD_RELOAD to
5853         HAVE_HS_ZONE_TRANSFER.
5854
5855 Mon Dec 30 17:33:23 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
5856
5857         * amd/{nfs,host}_ops.cremoved INFORM_MOUNTD macro, so its code is
5858         always included.  We should always try to inform the remove mount
5859         daemon of mounts we performed.  If we want an option for this, it
5860         should be a run-time option.
5861
5862         * amd/host_ops.c: removed all that optionally did not make the
5863         directory mount points for amd.
5864
5865         * HOST_EXEC code removed from everywhere.  There is no indication
5866         that it was used anywhere.  If it needs to be used, then a
5867         run-time switch should control it.
5868
5869 Thu Dec 26 00:06:52 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
5870
5871         * amd/*_ops.c: removed all references to mntent_t's fields
5872         mnt_freq and mnt_passno, since they are no longe rused (and never
5873         have been).
5874
5875         * amd/am_ops.c: removed function sunos4_match, which was off
5876         anyway.  This was one of the places where an '=' sign was allowed
5877         as an assignment operator (which is now ':=').
5878
5879         * amd/afs_ops.c (afs_bgmount): removed SUNOS4_COMPAT code which
5880         was off anyway.  This was one of the places where an '=' sign was
5881         allowed as an assignment operator (which is now ':=').
5882
5883 Tue Dec 24 01:53:52 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
5884
5885         * amq/amq.c: ported to am-utils.  Working.
5886
5887         * conf/mount/mount_svr4.c (mount_svr4): changed mount type on svr4
5888         to be string, as it should be (rather than a string mapped to int
5889         and back mapped to string).
5890
5891 Sun Dec 22 13:26:05 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
5892
5893         * lib/mount_fs.c (mount_fs): removed MNTINFO_PREF code.
5894
5895         * lib/umount_fs.c: split this into three files: default, osf, and
5896         bsd44, that are in conf/umount/umount_*.c.
5897
5898 Thu Dec 19 17:33:46 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
5899
5900         * aux/configure.in, aux/aclocal.m4, aux/acconfig.h: added new
5901         macro to automatically figure out if an external definition for
5902         sys_errlist[] exists.
5903
5904         * lib/xutil.c (xfree): removed "#undef free" because it's not
5905         needed there.  Any system that redefines free() needs help.
5906
5907         * conf/mtab/mtab_file.c (REWRITE_MTAB_IN_PLACE): removed code that
5908         was dependent on REWRITE_MTAB_IN_PLACE.  It does not appear to be
5909         in active use anywhere.  If added later, it should be a run-time
5910         configuration option.
5911
5912         * conf/mtab/mtab_mach3.c: removed code that was #ifdef'ed not to
5913         be MOUNT_TABLE_ON_FILE, since mach2 always stores its mount tables
5914         in a file in /etc.
5915
5916         * lib/util.c (str3cat): removed _AIX code.  AIX should have a
5917         working realloc, or else find a cleaner solution to this.
5918         (mkdirs): removed SUNOS4_WORKAROUND code.  This was to do a sync()
5919         after immediately making directories so that fsck will be able to
5920         fix the filesystem in the event of an immediate crash.  This was
5921         because a bug in UFS which is fixed by now.
5922
5923         * lib/hutil.c (domain_strip): removed PARTIAL_DOMAINS triggered
5924         code.  Does not appear to be on and used anywhere.
5925         (dofork): removed MACH3 code, b/c mach3 NFS bugs are fixed by now.
5926
5927         * lib/resvport.c: split the binding of reserved ports code to a
5928         separate file.  A #define (HAVE_T_OPEN) separates the TLI (SVR4)
5929         from the BSD code.
5930
5931 Thu Dec 19 02:08:35 1996  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5932
5933         * lib/Makefile.am (amu_LIBADD): includs @LIBOBJS@ now, auto-filled
5934         in by automake and configure, for optional sources that need to be
5935         built as part of libamu.a.
5936
5937         * aux/aclocal.m4: Make sure AC_CHECK_MOUNT_STYLE adds mountutil.o
5938         to LIBOBJS.
5939
5940         * lib/memcmp.c (memcmp): new file added to replace a possible bad
5941         implementation of memcmp.
5942
5943 Wed Dec 18 22:20:23 1996  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5944
5945         * converted the sources to use memset/memmove/memcmp instead of
5946         bzero/becopy/bcmp.
5947
5948         * ran all sources through gnu Indent w/ options specified in
5949         aux/amindent.
5950
5951 Wed Dec 11 22:19:29 1996  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5952
5953         * At this point the initial genration of config.h via autoconf and
5954         some preliminary makefiles via automake is done.  I will not begin
5955         modifying sources, so it's a good time to document from here.