MFC corrected printing of the slice number when adding a GPT partition.
[dragonfly.git] / contrib / amd / ChangeLog
blobca984a269e690d0b30b0d126d3025cf2187e80e8
1 1999-10-13  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3         * released snapshot am-utils-6.0.3s1
5 1999-10-12  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7         * amd/amd.c (main): On AIX you must lower the stack size using
8         ulimit() before calling plock.  Otherwise plock will reserve a lot
9         of memory space based on your maximum stack size limit.  Since it
10         is not easily possible to tell what should the limit be, I print a
11         warning before calling plock(). See the manual pages for
12         ulimit(1,3,4) on your AIX system.
14         * include/am_defs.h: define default extern for vsnprintf()
16         * aux/configure.in: check for extern definition for vsnprintf()
18 1999-10-08  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
20         * amd/amfs_auto.c (amfs_auto_bgmount): patch from Nick Williams
21         <njw@ms.com>.  SYMPTOMS: 'occasionally' sublinks do not point to
22         the correct location, but to the top level of the mountpoint and
23         an (error-hook) is seen being mounted in the log file. This causes
24         things to Go Wrong(TM).
25         CAUSE: When evaluating two locations which are requested
26         'practically simultaneously', and the two locations resolve to the
27         same NFS mountpoint (but different sublinks), the later request
28         will be "deferred" and retried after wakeup when the first mount
29         succeeds. To do this, it rewinds the options location string to
30         re-evaluate the location when the mount is retried. However, it
31         shouldn't rewind the options for two reasons: (a) the semantics of
32         the map language say you shouldn't and (b) the NFS mount reference
33         is not reset at the same time, meaning that on the retry it will
34         have an options structure out-of-sync with the mount
35         structure. The "shortcut" code when retrying the mount sees the
36         mount structure is already filled in and does not fully evaluate
37         the options structure.... so if the first location is not the one
38         which ties in with the mountpoint (see ordering in the
39         recreate-by), you're now well messed up.
41         * BUGS: mention aix4.3 plock() bug (memory usage blows up and
42         plock fails)
44 1999-10-07  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
46         * aux/GNUmakefile: certain files should be copied if they are
47         newer, not also if they are bigger: install-sh, ltconfig,
48         ltmain.sh, mdate-sh, missing, mkinstalldirs, and texinfo.tex.
50         * minor new port: i586-pc-linux-gnu-rh6.1 (RedHat Linux 6.1)
52 1999-10-05  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
54         * aux/macros/check_nfs_prot_headers.m4: prepare for OSF-5.
56         * aux/macros/check_nfs_fh_dref.m4: prepare for Tru64, aka OSF-5.
58 1999-09-30  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
60         *******************************************************************
61         *** Released am-utils-6.0.2                                     ***
62         *******************************************************************
64 1999-09-27  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
66         * conf/mount/mount_linux.c (mount_linux): print the updated mount
67         flags.
69         * doc/am-utils.texi: document $full_os and $vendor.
71         * scripts/amd.conf-sample: examples of $full_os and $vendor.
73         * scripts/amd.conf.5: document $full_os and $vendor.
75         * amd/conf.c: add support for $full_os and $vendor.
77 1999-09-26  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
79         * doc/am-utils.texi (netgrp Selector Function): don't give
80         examples with old single '=' assignment variable.  Use foo:=bar.
82         * amd/amfs_auto.c (amfs_auto_bgmount): corectly indent long
83         comment describing this complex function.
85         * doc/Makefile.am (alldocs): do install-ps last (because distiller
86         is slow) and install-html next to last (because texi2html is also
87         slow).
89         * amd/amd.8: Major fixes to the description of the option -t
90         timeout.retransmit.
92         * doc/am-utils.texi: better description of "trace" debug option.
93         amd -H (not -v) shows log_options and debug_options.  Major fixes
94         to the description of amd -t timeout.retransmit, and the amd.conf
95         parameters nfs_retransmit_counter and nfs_retry_interval.
97         * scripts/amd.conf.5: better description of "trace" debug option.
98         amd -H (not -v) shows log_options and debug_options.  Major fixes
99         to the description of the parameters nfs_retransmit_counter and
100         nfs_retry_interval.
102 1999-09-25  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
104         * doc/am-utils.texi (Automount Filesystem): cache:= is not a mount
105         option, but a mount map option.
107         * libamu/xutil.c (switch_to_logfile): log the name of the log file
108         we switched into, after the log file had been [re]opened.
110 1999-09-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
112         * amd/mapc.c (mapc_reload_map): count and show the number of times
113         a map was reloaded.  Only reload a map if its modify-time was
114         updated.  But amq -f forced a reload no matter what.
116         * amd/amd.h: new flag to struct mnt_map to count number of times a
117         map was reloaded.
119         * amd/mapc.c (mapc_reload_map): attempt to reload the map without
120         losing current data by reloading into a temp copy, and switching
121         the hashes round only if the reload was successful.  Patch from Jon
122         Peatfield <J.S.Peatfield@damtp.cam.ac.uk>.
123         (mapc_sync): mapc_reload_map() always succeeds.
125 1999-09-22  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
127         * amd/info_ldap.c (amu_ldap_rebind): don't busy-loop trying to
128         rebind to an LDAP server forever.  Try up to 10 times.
130         * fsinfo/fsi_lex.l (yyerror): rework code that will never happen
132         * released snapshot am-utils-6.0.2s2
134         * aux/configure.in: bumped library version-info to 3:2:1, since
135         some libamu code got changed.
137         * libamu/xutil.c (real_plog): use vsnprintf, not vsprintf, which
138         is better and more secure.  Fix from "David O'Brien"
139         <obrien@NUXI.com>.
141         * aux/configure.in: check for vsnprintf.
143 1999-09-21  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
145         * aux/macros/linux_headers.m4: use AC_MSG_ERROR.
147         * aux/macros/opt_{cppflags,ldflags,libs,amu_cflags}.m4: the ARG is
148         not optional.  Make sure ARG is supplied else flag an error.
150 1999-09-18  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
152         * minor port i386-unknown-freebsdelf3.3
154         * released snapshot am-utils-6.0.2s1
156 1999-09-17  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
158         * aux/configure.in (AC_CHECK_FUNCS): check for getitimer().
160         * include/am_defs.h: extern definition for getitimer().
162         * aux/configure.in: use AC_CHECK_EXTERNS.  Look for getitimer()
163         extern.
165         * aux/macros/check_extern.m4: define a simple AC_CHECK_EXTERNS
166         that calls AC_CHECK_EXTERN in a loop.  This saves repeated code in
167         configure.
169         * aux/macros/type_auth_create_gidlist.m4: AIX 4.x systems use
170         'int' as the 5th arg to authunix_create().
172         * aux/macros/type_recvfrom_fromlen.m4: all AIX 4.x systems use a
173         size_t for the 6th arg of recvfrom().
175         * aux/macros/os_cflags.m4: define _XOPEN_EXTENDED_SOURCE for
176         aix4.x systems.
178         * libamu/mount_fs.c (print_nfs_args): cast some values to int, to
179         avoid gcc -Wall errors.
181         * scripts/expn.in: use sockaddr_in(), not pack() to correctly fill
182         in a struct sockaddr_in.  On Solaris x86 hosts, using pack()
183         results in byte-misaligned values.   Bug fix from Jeffrey C Honig
184         <jch@BSDI.COM>.
186         * libamu/mount_fs.c (compute_automounter_mount_flags): turn on
187         automntfs (ignore on bsdi-4.1) flag.
188         (compute_automounter_nfs_args): ditto.
190         * aux/acconfig.h: add new flag for automntfs (ignore)
192         * aux/configure.in: check for new automntfs flag (bsdi-4.1).
194 1999-09-14  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
196         * MIRRORS: added new site in Germany.  Updated status of umn.edu
197         and ferginc.com, who may no longer be mirroring am-utils.
199 1999-09-08  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
201         *******************************************************************
202         *** Released am-utils-6.0.1                                     ***
203         *******************************************************************
205 1999-09-08  Erez Zadok  <ezk@cs.columbia.edu>
207         * aux/macros/mount_headers.m4: bsdi-2.1 needs MAXQUOTAS and struct
208         netexport defined.
210         * aux/macros/try_compile_anyfs.m4: bsdi-2.1 needs MAXQUOTAS and
211         struct netexport defined.
213 1999-09-07  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
215         * aux/macros/check_field.m4 (ac_upcase_var_name): include
216         <ifaddrs.h> so we can detect fields within struct ifaddrs.
218         * libamu/wire.c (getwire): bsdi-2.1 uses a second arg to
219         getifaddrs() and struct ifaddrs has no ifa_next field.
221         * aux/configure.in: check if 'struct ifaddrs' has a field
222         ifa_next.
224         * include/amq_defs.h (AMQ_STRLEN): double size of amq string
225         length to 2048 bytes.
227         * conf/nfs_prot/nfs_prot_netbsd1_4.h: include several more nfs
228         header files and ufs/ufs/ufsmount.h.  Bug reported by <Christos
229         Zoulas> christos@zoulas.com.
231         * aux/macros/try_compile_anyfs.m4: include <ufs/ufs/ufsmount.h>.
232         Bug reported by <Christos Zoulas> christos@zoulas.com.
234         * aux/macros/mount_headers.m4: include <ufs/ufs/ufsmount.h>
236 1999-09-06  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
238         * libamu/xutil.c (expand_error): use strerror if available instead
239         of sys_errlist.  Bug reported by <Christos Zoulas>
240         christos@zoulas.com.
242         * hlfsd/hlfsd.c (fatal): use strerror if available instead of
243         sys_errlist.
245         * amq/amq.c (show_mi): use strerror if available instead of
246         sys_errlist.
248         * aux/macros/check_nfs_prot_headers.m4: make sure netbsd1.4
249         nfs_prot header is used for any future (1.5 etc.) netbsd systems.
251         * amq/pawd.c (find_mt): check for type nfsl as well.  Fix from
252         "Andrew J. Korty" <ajk@purdue.edu>
254 1999-08-29  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
256         * doc/am-utils.texi (Supported Platforms): updates for redhat
257         systems.
259         * INSTALL: updates for redhat systems.
261         * libamu/wire.c (getwire_lookup): spell "succeeded" correctly
263 1999-08-28  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
265         * scripts/ctl-amd.in: sleep 1 second between killing amd and
266         restarting it, because amq may respond that amd is down, where in
267         fact it is still trying to unmount itself after unmapping itself
268         from the portmapper.
270         * aux/config.guess.long: new script to print long version of
271         config.guess output.
273         * buildall (host_alias): use long version of config.guess.
275 1999-08-27  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
277         * scripts/ctl-{amd,hlfsd}.in: update RH tags for start/stop
278         scripts.
280 1999-08-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
282         * released snapshot am-utils-6.0.1s11
284         * libamu/xutil.c (expand_error): make sure expanding the string
285         with textual version of errno doesn't overrun the 1024 bytes
286         buffer.
287         (real_plog): null terminate msg, just in case.
289         * amq/amq.c (main): don't getopt -M option and don't process it
290         unless ENABLE_AMQ_MOUNT is on.
292         * amd/amq_svc.c (amq_program_1): all code that relates to amq -M
293         is conditional on #ifdef ENABLE_AMQ_MOUNT.
295         * amd/amq_subr.c: remove amqproc_mount_1_svc() function invoked
296         when amq -M code is disabled.  Not taking any chances.
298 1999-08-23  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
300         * released snapshot am-utils-6.0.1s10
302 Sun Aug 22 16:18:59 1999  Erez Zadok  <ezk@subzero.cs.columbia.edu>
304         * libamu/wire.c (getwire_lookup): if getnetbyaddr failed (e.g., on
305         128.59.16.0), try to shift the network out of zeros (e.g.,
306         128.59.16) and try again.  Irix 6.4 requires short network
307         numbers.
309 1999-08-22  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
311         * libamu/wire.c (getwire_lookup): correctly compute subnet using
312         netmask.
314         * libamu/mount_fs.c (compute_automounter_nfs_args): require that
315         Amd's own NFS mounts use reserved ports (if possible).  IP packet
316         security fix from Jeffrey C Honig <jch@BSDI.COM>.
318         * conf/transp/transp_tli.c (create_autofs_service): use correct
319         autofs_port.  IP packet security fix from Jeffrey C Honig
320         <jch@BSDI.COM>.
322         * conf/transp/transp_sockets.c (bindnfs_port): remove unnecessary
323         function.  IP packet security fix from Jeffrey C Honig
324         <jch@BSDI.COM>.
325         (create_nfs_service): use bind_resv_port() directly.  ensure that
326         privileged ports are used.  IP packet security fix from Jeffrey C
327         Honig <jch@BSDI.COM>.
329         * amd/nfs_prot_svc.c (nfs_program_2): verify that requests come
330         from reserved ports and from a local IP address.  IP packet
331         security fix from Jeffrey C Honig <jch@BSDI.COM>.
333         * amd/amq_subr.c (ok_security): use IPPORT_RESERVED, instead of
334         hard-coded 1024.  IP packet security fix from Jeffrey C Honig
335         <jch@BSDI.COM>.
336         (amqproc_mount_1_svc): provide information on the caller making an
337         amq -M request.  IP packet security fix from Jeffrey C Honig
338         <jch@BSDI.COM>.
340         * amd/map.c (free_map_if_success): If the program doing an unmount
341         of a program filesystem fails, amd tries to interpret the return
342         code as an errno.  Fix from Jeffrey C Honig <jch@BSDI.COM>.
344         * amd/info_nis.c (determine_nis_domain): don't always print
345         warning about NIS domain name not being set, even if NIS is not in
346         use.
348 1999-08-21  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
350         * amd/info_ldap.c (get_ldap_timestamp): initialize variable err.
351         (amu_ldap_search): initialize variable err.
353 1999-08-16  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
355         * libamu/wire.c: written using getifaddrs() for BSD systems,
356         contributed by BSDI, Jeffrey C Honig <jch@BSDI.COM>).
358 1999-08-15  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
360         * include/am_utils.h (SALLOC): a simple macro to allocate N bytes.
362         * aux/configure.in: check for irs.h and ifaddrs.h.
363         Increase libamu.so --version-info to 3:1:1 since we've changed the
364         source code for the library.
365         Check for getifaddrs() function.
367 1999-08-14  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
369         * libamu/mount_fs.c (print_nfs_args): print fields namlen and
370         bsize if they exist.
372         * conf/mount/mount_linux.c (mount_linux): set nfs_args_t->namlen
373         and ->bsize fields correctly, if those fields exist.  This is a
374         bug in that amd neglected to set these fields, but told the
375         kernel it is mounting the nfs_args_t structure using mount version
376         3 (which requires both bsize and namlen fields).
378         * aux/configure.in: test for two new nfs_args_t fields (used on
379         newer linux with mount versions 2 and 3): bsize and namlen.
381         * doc/am-utils.texi (netgrpd Selector Function): document new
382         selector function.
384         * amd/opts.c (f_netgrpd): new amd map function netgrpd(ARG) to
385         test if the current host (fully-qualified name) is in the ARG host
386         netgroup.  The netgrp() function uses the short form of a host
387         name.  Patch from Christophe Kalt <Christophe-Kalt@deshaw.com>.
389         * doc/am-utils.texi (automount2amd): document new script.
391         * scripts/Makefile.am: create, install, and distribute
392         automount2amd perl script and its man page.
394         * scripts/automount2amd.8: new man page for automount2amd.
396         * scripts/automount2amd.in: new file, contributed a in 1993 by
397         Mike Walker <mike@tab00.larc.nasa.gov>.  Fixed to use addopts for
398         any automount map options specified.
400 1999-08-09  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
402         * released snapshot am-utils-6.0.1s9
404 1999-08-09  Erez Zadok  <ezk@beetle.mcl.cs.columbia.edu>
406         * amd/amfs_auto.c (DOT_DOT_COOKIE): set the NFS cookie of '..' to
407         1.
408         (amfs_auto_readdir): use DOT_DOT_COOKIE instead of (u_int)~0.
409         (amfs_auto_readdir_browsable): use DOT_DOT_COOKIE instead of
410         (u_int)~0.
412         * amd/mapc.c (make_entry_chain): NFS cookies should be
413         monotonically increasing, because Linux 2.3 expects that, even
414         though it is not in the spec (RFC-1094) for NFS V2.
416 1999-08-06  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
418         * aux/macros/check_lib_funcs.m4: removed unused macro.
420         * aux/macros/linux_headers.m4: new macro to ensure that linux
421         kernel headers match running kernel version.
423         * aux/acconfig.h: define HOST_HEADER_VERSION so we can check if
424         amd is configured on linux hosts that run one kernel but have
425         headers for a different version.
427         * amd/info_nis.c (nis_isup, nis_search, nis_init): fixes for the
428         logic which uses nis_isup and has_yp_order.  Make sure it is used
429         correctly , esp. for NIS+ in NIS-compatibility mode.  Bug fix from
430         Peter Breitenlohner <peb@mppmu.mpg.de>.
432         * include/am_defs.h: fix conflicts on linux 2.2 systems with older
433         libc5.  Bug fix from Peter Breitenlohner <peb@mppmu.mpg.de>.
435         * scripts/lostaltmail.in: use sockaddr_in(), not pack() to
436         correctly fill in a struct sockaddr_in.  On Solaris x86 hosts,
437         using pack() results in byte-misaligned values.
439 1999-08-02  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
441         * conf/mtab/mtab_aix.c (mnt_dup): add support for nfs3
442         mounting, as per Dale Talcott <aeh@quest.cc.purdue.edu>.  Also use
443         better macros for case statement.
445         * conf/nfs_prot/nfs_prot_sunos5_7.h: don't include ldap structures
446         unless ldap is actually available.
448         * use updated config.guess and config.sub.  Use newer automake
449         that fixes problems with distributing optional libamu files
450         (clnt_sperrno.c, hasmntopt.c, strcasecmp.c, strdup.c, strstr.c,
451         and ualarm.c)
453 1999-07-19  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
455         * minor port i386-unknown-openbsd2.5
457 1999-07-17  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
459         * minor ports to freebsdelf 3.[0-2] and 4.0 completed
461         * aux/macros/check_nfs_prot_headers.m4: support freebsdelf
463         * aux/macros/check_nfs_socket_connection.m4: support freebsdelf
465 1999-06-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
467         * released snapshot am-utils-6.0.1s8
469 1999-06-23  Erez Zadok  <ezk@beetle.mcl.cs.columbia.edu>
471         * include/am_defs.h: avoid various header conflicts on
472         RedHat/Linux 6.0 and kernels 2.2.10 or newer.
474         * aux/configure.in: look for <db1/ndbm.h> (RedHat/Linux 6.0 and
475         kernel 2.2.10)
477         * amd/amfs_program.c (amfs_program_exec): make sure logfp is
478         initialized dynamically to stderr if needed.
480         * libamu/xutil.c (dplog): make sure logfp is initialized
481         dynamically to stderr if needed.
482         (plog): ditto.
484         * amd/amfs_program.c (amfs_program_exec): set logfp to stderr if
485         not initialized.
487         * libamu/xutil.c: don't initialize logfp statically to stderr,
488         because on RedHat/Linux 6.0 (kernel 2.2.10) stderr can no longer
489         be manipulated like a variable.
491         * include/am_defs.h: avoid more conflicts between <linux/fs.h> and
492         <sys/mount.h> on 2.2 linux kernels.
493         include <db1/ndbm.h> as needed (RedHat/Linux 6.0)
495 1999-04-20  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
497         * all Makefile.am: use AMU_NFS_PROT_HEADER (not *_HEADERS)
499         * aux/macros/check_nfs_prot_headers.m4 (AMU_NFS_PROT_HEADER):
500         renamed AC_SUBST name from *_HEADERS to *_HEADER so that automake
501         won't attempt to add it to the header files to distribute.
503 1999-04-19  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
505         * aux/GNUmakefile: invoke aclocal with new --altdir flag.
507 1999-04-16  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
509         * minor new port: i386-unknown-netbsd1.4 (ALPHA)
511         * aux/macros/check_field.m4: no need to include <cdfs/cdfsmount.h>
512         and <isofs/cd9660/cd9660_mount.h> because they are also included
513         from MOUNT_HEADERS.  Causes multiple inclusion of unprotected
514         headers on netbsd-1.4_ALPHA.
516 1999-04-15  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
518         * aux/macros/extern_sys_errlist.m4 (pattern): netbsd-1.4_ALPHA's
519         sys_errlist extern doesn't end with [].
521         * aux/macros/check_nfs_prot_headers.m4: netbsd 1.4 support.
523 1999-04-11  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
525         * newer automake wants texinfo.tex to be in aux/ not doc/
527 1999-03-30  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
529         * amd/conf_parse.y: alloca support.
531         * fsinfo/fsi_gram.y: alloca support.
533         * libamu/Makefile.am (libamu_la_LIBADD): compile alloca.o if
534         needed.
536         * aux/configure.in: test for alloca support.  Needed because bison
537         generates parsers that use alloca, and hpux9 does have alloca and
538         its /bin/cc doesn't support it builtin (the way gcc does).
540         * libamu/alloca.c: new file, needed on hpux9 with /bin/cc.  Taken
541         verbatim from bison-1.25.
543         * include/am_defs.h: fixed typo #errir -> #error
545         * released snapshot am-utils-6.0.1s7
547         * README.y2k: more information about am-utils' compatibility, from
548         Paul Balyoz <pbalyoz@sedona.ch.intel.com>.
550         * scripts/lostaltmail.in (Splice_in_resent_headers): ensure Y2K
551         compliant format.  Patch from Paul Balyoz
552         <pbalyoz@sedona.ch.intel.com>
554         * doc/am-utils.texi (Supported Platforms): hpux10.20 could have
555         nfs v.3 support (with some vendor patches), but it is turned off.
557         * aux/macros/os_cflags.m4: use ansi compiler options on hpux.
559         * conf/nfs_prot/nfs_prot_hpux.h: Turn off NFS V.3 support to avoid
560         confusing am-utils.  10.20 with some patches has incomplete
561         support.  Patch from Jon Peatfield
562         <J.S.Peatfield@damtp.cam.ac.uk>.
564 1999-03-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
566         * minor port i386-pc-bsdi4.0.1
568 1999-03-20  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
570         * doc/am-utils.texi (Supported Platforms): add forgotten listing
571         for powerpc-linux.
573 1999-03-18  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
575         * scripts/amd.conf.5: fix typo.  From Jeffrey C Honig
576         <jch@BSDI.COM>.
578         * doc/am-utils.texi: document iso9660 options norrip, gens, and
579         extatt.
580         (opts Option): documented dumbtimr and noauto options.  From
581         Jeffrey C Honig <jch@BSDI.COM>.
583         * include/am_compat.h: define default strings for options norrip,
584         gens, and extatt.
586         * amd/ops_cdfs.c (mount_cdfs): support options norrip, gens, and
587         extatt.
589         * aux/macros/mount_headers.m4: also include
590         <isofs/cd9660/cd9660_mount.h> as needed.
592         * aux/configure.in: check for isofs mount options for bsdi4:
593         norrip, gens, and extatt.  Reported by Jeffrey C Honig
594         <jch@BSDI.COM>.
596         * aux/macros/check_mnt2_cdfs_opt.m4: check for ISOFSMNT_* flags
597         (bsdi4).
599 1999-03-17  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
601         * conf/nfs_prot/nfs_prot_freebsd3.h: ditto.
603         * conf/nfs_prot/nfs_prot_bsdi3.h: include <ufs/ufs/ufsmount.h>,
604         for bsdi4, as per Jeffrey C Honig <jch@BSDI.COM>.
606 1999-03-15  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
608         * get latest copies of config.guess, config.sub, ltconfig, and
609         ltmain.sh from libtool-1.2f.
611         * all Makefile.am: don't use continuation lines (using \) for
612         short lists of files.
614         * libamu/Makefile.am (DISTCLEANFILES): make distclean should
615         remove mountutil.c, mtabutil.c, transputil.c, and umount_fs.c.
616         Reported by Jeffrey C Honig <jch@BSDI.COM>.
618         * fixmount/Makefile.am (DISTCLEANFILES): make distclean should
619         remove checkmount.c.  Reported by Jeffrey C Honig <jch@BSDI.COM>.
621         * Makefile.am (DISTCLEANFILES): make distclean should remove
622         amu_nfs_prot.h, config.cache.old, and dbgcf.h.  Reported by
623         Jeffrey C Honig <jch@BSDI.COM>.
625 1999-03-13  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
627         * released snapshot am-utils-6.0.1s6
629 1999-03-12  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
631         * INSTALL: document freebsdelf.
633         * doc/am-utils.texi (Supported Platforms): document freebsdelf.
635 1999-03-08  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
637         * minor new ports: i386-unknown-freebsdelf3.1 and
638         i386-unknown-freebsdelf4.0
640         * aux/macros/check_nfs_prot_headers.m4: freebsd4 support.
642         * aux/macros/check_nfs_socket_connection.m4: freebsd4 support.
644         * aux/macros/check_nfs_fh_dref.m4: freebsd4 support.
646         * amd/opts.c (eval_opts): changed log level of "executing
647         negated..." message from USER to INFO, as per Guntram Wolski
648         <gwolsk@sei.com>.
650 1999-02-17  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
652         * */Makefile.am (LDADD): force linking against an installed
653         libamu.{a,so}.
655         * doc/am-utils.texi (addopts Option): document remopts interaction
656         with addopts.
658         * amd/am_ops.c (ops_match): if addopts are specified, apply them
659         to the value of remopts as well as opts.
661         * amd/ops_nfs.c (mount_nfs_fh): tell users when remopts are used.
663 1999-02-05  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
665         * released snapshot am-utils-6.0.1s5
667         * conf/mount/mount_linux.c (mount_linux): set default nfs_args
668         options for ac{reg,dir}{min,man} as per the mount-2.8a package,
669         but only if noac option was not used.
671 1999-02-05  Erez Zadok  <ezk@retro.cs.columbia.edu>
673         * conf/mount/mount_linux.c (mount_linux): print nfs_args again
674         since it was updated.
675         (mount_linux): use 4KB for NFS rsize/wsize on 2.1.0 linux kernels
676         and newer.  Bug was found by Neil Conway
677         <nconway.list@ukaea.org.uk>
679 1999-02-04  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
681         * released snapshot am-utils-6.0.1s4
683 1999-02-03  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
685         * amq/amq.c (main): don't list -M as a valid amq option unless
686         configure'd with --enable-amq-mount.
688 Wed Feb  3 18:11:18 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
690         * amd/nfs_start.c (amd_use_autofs): Define.
691         (mount_automounter): Create autofs service listener only if
692         necessary to avoid unnecessary clashes with e.g. automountd.
694         * amd/amd.h (amd_use_autofs): Declare.
696         * amd/conf.c (gopt_mount_type): Set amd_use_autofs.
697         (ropt_mount_type): Likewise.
699 1999-02-02  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
701         * aux/macros/check_mnt2_nfs_opt.m4:: ditto
703         * aux/macros/check_mnt2_cdfs_opt.m4: ditto
705         * aux/macros/check_mnt2_gen_opt.m4: ditto
707         * aux/macros/check_mnttab_opt.m4: new macro in this file to loop
708         over AC_CHECK_MNTTAB_OPT.  Reduces size of configure script a lot.
710         * conf/nfs_prot/nfs_prot_netbsd1_3.h: include nfs/rpcv2.h,
711         nfs/nfs.h and nfs/nfsmount.h if they exist.  Patch from
712         christos@zoulas.com (Christos Zoulas).
714         * amd/info_hesiod.c: some forward declarations.  Patch from
715         christos@zoulas.com (Christos Zoulas).
717 1999-01-28  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
719         * libamu/mount_fs.c (compute_nfs_args): don't turn on/off noconn
720         option if it was already in that state.  Patch from David
721         Wolfskill <dhw@whistle.com>.
723 1999-01-20  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
725         * aux/configure.in: automake nowadays supports LTLIBOBJS (but not
726         LTALLOCA yet).  Substitute value of LIBTOOL_DEPS for libtool
727         rebuild make rules.
729         * Makefile.am: new rules to remake libtool (maintainers only)
731         * amd/amfs_toplvl.c (mount_amfs_toplvl): print generic mount flags
732         if -D trace was used.
734 1999-01-18  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
736         * buildall: all if statements should have an else clause because
737         of Ultrix's /bin/sh.
739 1999-01-15  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
741         * amq/amq.c: removed dummy variables.
743         * amq/pawd.c: removed dummy variable.s
745         * fixmount/fixmount.c (usage): removed dummy variables.
747         * fsinfo/fsinfo.c: removed dummy variables.
749         * hlfsd/hlfsd.c: removed dummy variables.
751         * wire-test/wire-test.c: removed dummy variables.
753         * mk-amd-map/mk-amd-map.c: removed dummy variables.
755         * doc/texinfo.tex: updates from GNU mirror.
757         * aux/GNUmakefile (../doc/texinfo.tex): new rule to update
758         doc/texinfo.tex from GNU mirror.
760         * released snapshot am-utils-6.0.1s3
762         * Makefile.am (install-snapshot): better snapshot and new
763         install-snapshot and test-snapshot rules (maintainer).
765         * amd/info_ldap.c (amu_ldap_init): don't run STREQ if one of the
766         args may be NULL.
767         Some dlog() entries were not enclosed in #ifdef DEBUG.  Fix from
768         Bill Paul <wpaul@ctr.columbia.edu>
770 1999-01-13  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
772         * check for experimental generic 'ignore' mount flag on freebsd3.
774         * Update library -version-info to 3:0:1 (will result in 2.1.0 .so
775         version, which is backwards compatible with older versions.)  Only
776         one new interface was added to libamu.
778         * amd/amfs_toplvl.c (mount_amfs_toplvl): add generic mount flags
779         that are specific to automounter mounts.
781         * aux/configure.in: update libamu.so age and revision since a new
782         interface was added to libamu/mount_fs.c
783         (compute_automounter_mount_flags).
785         * libamu/mount_fs.c (compute_automounter_mount_flags): new
786         function to compute generic mount flags that are specific to mount
787         points only.
789         * aux/{configure.in,acconfig.h}: add support for generic mount
790         entry ignore option.
792         * released snapshot am-utils-6.0.1s2
794         * amd/info_ldap.c (get_ldap_timestamp): dlog format fixes.
796         * libamu/mount_fs.c (print_nfs_args): solaris 2.7 changed format
797         of knc_semantics from u_long to u_int.
799         * aux/macros/check_mount_style.m4: freebsd3 no longer needs a
800         special mount helper.
802 1999-01-12  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
804         * aux/macros/check_nfs_prot_headers.m4 (AMU_NFS_PROT_HEADERS):
805         amu_nfs_conf.h should always be found in $top_builddir.
807 Tue Jan 12 00:05:42 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
809         * conf/nfs_prot/nfs_prot_sunos5_7.h (MNTTAB_TYPE_AUTOFS): Undefine
810         to avoid wrong reports from show_fstypes.
812         * conf/nfs_prot/nfs_prot_irix5.h (MNTTAB_TYPE_XFS): Likewise.
814         * conf/nfs_prot/nfs_prot_hpux11.h (MNTTAB_TYPE_NFS3): Likewise.
816 Tue Jan 12 00:05:42 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
818         * BUGS (mips-dec-ultrix4.3): Update Ultrix caveats.
820 Tue Jan 12 00:05:42 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
822         * hlfsd/homedir.c (delay): Cast child to long, adapt format.
823         (hlfsd_getpwent): Likewise for pw_uid.
825         * amd/info_nis.c (nis_init): Cast order to unsigned long, adapt
826         format. 
828         * conf/transp/transp_tli.c (amu_clnt_create_best_vers): Cast
829         tv_sec to int to match format.
830         (get_nfs_version): Cast nfs_version, NFS_VERSION to int to match
831         formats. 
833         * amd/amfs_program.c (amfs_program_exec): Cast ptr difference to
834         long, adapt format.
836         * include/am_defs.h: Handle __attribute__ if available.  From
837         GNU fileutils 4.0 lib/errors.h.
839 Mon Jan 11 13:46:44 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
841         * libamu/mount_fs.c (print_nfs_args): Cast sizeof() to int to
842         match format.
844         * hlfsd/stubs.c (nfsproc_getattr_2_svc): Cast uid, gid to long,
845         adapt format.
846         (nfsproc_lookup_2_svc): Likewise.
847         (nfsproc_readlink_2_svc): Likewise for userid, groupid.
849         * hlfsd/nfs_prot_svc.c (nfs_program_2): Cast args to int to match
850         format.
852         * hlfsd/homedir.c (homedir): Cast uid, child to long, adapt
853         format. 
855         * amd/info_hesiod.c (hesiod_search): Cast m, pval, tp to unsigned
856         long, adapt format.
858         * amd/ops_nfs.c (find_nfs_fhandle_cache): Cast fh_wchan to
859         unsigned long, adapt format.
860         (got_nfs_fh): Likewise.
861         (prime_nfs_fhandle_cache): Cast fh_nfs_version to int to match
862         format. 
863         (call_mountd): Likewise, mnt_version also.
864         (mount_nfs_fh): Likewise.
866         * amd/ops_autofs.c (autofs_program_1): Cast args to int to match
867         format.
868         (autofs_unmount_1_svc): Cast ur->devid, ur_rdevid, ur->next to
869         unsigned long, adapt formats.
870         (autofs_bgmount): Cast opt_fs to unsigned to, adapt format.
871         (autofs_bgmount): Use long format to match arg.
872         (autofs_lookuppn): Removed superfluous arg.
874         * amd/srvr_nfs.c (start_ping): Cast nfs_version to int to match
875         format. 
876         (got_portmap): Likewise for port.
877         (recompute_portmap): Likewise for fs->fs_version, mnt_version.
878         (find_nfs_srvr): Likewise for nfs_version.
880         * amd/sched.c (sched_task): Cast wchan to unsigned long, adapt
881         format. 
883         * amd/nfs_start.c (checkup): Cast ptr difference to long, next_mem
884         to unsigned long, adapt format.
885         Cast tvv.tv_sec to int to match format.
887         * amd/nfs_prot_svc.c (nfs_program_2): Cast args to int to match
888         format.
890         * amd/map.c (root_fh): Cast pid to long, adapt format.
891         (timeout_mp): Cast time_t to long, adapt format.
893         * amd/clock.c (reschedule_timeouts): Use long format, cast time_t
894         arg.
896         * amd/amfs_host.c (fetch_fhandle): Cast nfs_version to int to
897         match format.
898         (amfs_host_fmount): Likewise.
899         (amfs_host_umounted): Likewise.  Removed superfluous arg.
901         * amd/amfs_auto.c (amfs_auto_bgmount): Cast pointer to unsigned
902         long, adapt format.
903         (amfs_auto_bgmount): Use long format, cast time_t arg.
904         (amfs_auto_lookuppn): Removed superfluous arg.
906         * amd/amd.c (main): Cast geteuid() result to long, adapt format.
908         * conf/transp/transp_sockets.c (get_nfs_version): Cast nfs_version
909         to int to match format.
911         * include/am_utils.h: Declare plog, dplog as printf-like.
913         * conf/mount/mount_irix6.c (mount_irix): Print type as char *.
915 Mon Jan 11 13:46:44 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
917         * amd/info_hesiod.c (hesiod_isup): New function.
918         * amd/mapc.c (maptypes): Add it.
920 1999-01-10  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
922         * released snapshot am-utils-6.0.1s1
924 1999-01-09  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
926         * ALL: bump copyright year to 1999.
928 Fri Jan  8 15:24:15 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
930         * aux/macros/check_mtype_type.m4: Ultrix uses an int mount type,
931         too. 
933         * aux/macros/check_mtype_printf_type.m4: Adapt corresponding
934         printf type.
936 Fri Jan  8 15:24:15 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
938         * aux/acconfig.h: Removed HAVE_AM_FS_AUTOFS, unused.
940         * conf/nfs_prot/nfs_prot_irix6.h: Likewise.
942         * conf/nfs_prot/nfs_prot_sunos5_6.h: Likewise.
944         * conf/nfs_prot/nfs_prot_sunos5_7.h: Likewise.
946         * Makefile.am (EXTRA_DIST_DIRS): Removed, not needed by current
947         automake.
949 Thu Jan  7 02:55:18 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
951         * aux/configure.in (AM_PROG_YACC): Replaced by AC_PROG_YACC, not
952         in current automake.
954 Thu Jan  7 02:55:18 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
956         * doc/am-utils.texi: Added some missing inter-punctation after
957         @xref, or use @pxref/@ref as appropriate.  Spotted by makeinfo
958         from texinfo 3.12b.
960 1999-01-07  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
962         * doc/texinfo.tex: updated off of latest GNU mirror.
964 1999-01-04  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
966         * doc/am-utils.texi (Supported Platforms): update platforms that
967         support NFS v.3.  Nicer postscript printing on double-sided pages.
969         * amd/info_hesiod.c: add extern definition for hesiod_init()
971 1999-01-01  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
973         *******************************************************************
974         *** Released am-utils-6.0                                       ***
975         *******************************************************************
977 1998-12-28  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
979         * conf/nfs_prot/nfs_prot_sunos5_7.h: support ldap in solaris 2.7.
981 1998-12-27  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
983         * conf/nfs_prot/nfs_prot_bsdi3.h: don't use reserved ports on
984         bsdi4 for NFS V3/nfs mounts.
986 1998-12-26  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
988         * using latest libtool (1.2e + patches), now supporting shared
989         libraries on many more systems.  Also using latest autoconf and
990         automake (unreleased GNU CVS'd versions.)
992         * minor new ports: hppa2.0w-hp-hpux11.00,
993         i386-unknown-netbsd1.3.3, mips-sgi-irix6.5.
995         * fsinfo/fsinfo.h (yywrap): define it for systems (osf4) that
996         have /usr/bin/flex but not libfl.
998 1998-12-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1000         * lots of code cleanup, to make sure libamu.so does not use
1001         undefined symbols.  Some system's shared libraries cannot handle
1002         that.
1004 1998-12-23  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1006         * include/am_defs.h: only defined seteuid extern if function also
1007         exists and is not superceded by setresuid (hpux).
1009         * amd/ops_autofs.c (autofs_bgmount, autofs_lookuppn): put explicit
1010         braces to avoid confusion with nested if-then-else clauses.
1012         * aux/config.{sub,status}, aux/{ltmain.sh,ltconfig,mkinstalldirs:
1013         updated from latest versions.
1015 1998-12-22  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1017         * minor new port: i386-pc-bsdi4.0
1019         * conf/nfs_prot/nfs_prot_bsdi3.h: add missing hesiod header
1020         definitions for bsdi4.
1022         * {amd,fsinfo}/Makefile.am: force path to .y/.l files, because
1023         some make programs (bsdi4) do not support VPATH correctly.
1025 1998-12-16  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1027         * conf/mount/mount_aix.c: minor code cleanup
1029         * aux/configure.in: check for extern definition to xdr_groups.
1031 1998-12-15  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1033         * minor new port: powerpc-ibm-aix4.3.1.0
1035         * aux/macros/*.m4: updates for aix 4.3
1037 1998-12-14  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1039         * minor new port: i386-unknown-openbsd2.4
1041         * aux/configure.in: don't check for xfs on openbsd because
1042         openbsd-2.4 introduces a new file system named xfs, but different
1043         than Irix's XFS.  Sigh.
1045         * minor new port: i386-unknown-freebsd2.2.8
1047 1998-12-03  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1049         * amd/amfs_nfsl.c (amfs_nfsl_ffserver): use case insensitive host
1050         name match.  Bug fix from Douglas K. Rand" <rand@aero.und.edu>.
1052 1998-11-20  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1054         * scripts/ctl-amd.in: wait4amd2die runs in the stop action, to
1055         avoid race conditions when shutting down systems running amd.
1057         * Makefile.am: add a dist-hook to change modes of the directories
1058         in the tar file so they are not world writable.
1060         * conf/nfs_prot/nfs_prot_freebsd3.h: turned on NFSv3 support,
1061         since it is now finally defined in the header files and
1062         (hopefully) stable.
1064         * amd/srvr_nfs.c (find_nfs_srvr): allow overriding if nfsv2 option
1065         is specified in mount options.  freebsd patches from David
1066         O'Brien.
1068         * amq/amq.c (main), fixmount/fixmount.c (main), hlfsd/hlfsd.c
1069         (main), fsinfo/fsinfo.c (fsi_get_args), hlfsd/hlfsd.c (main),
1070         amd/get_args.c (get_args): posix: use -1 to check for return from
1071         getopt() (not EOF), as per posix.
1073         * amd/amq_subr.c (xdr_amq_mount_tree_node): patches from "David
1074         O'Brien" <obrien@NUXI.com>, from the FreeBSD source tree.  Use
1075         real variable whose pointer is on the stack for decoding a long
1076         int.
1078 1998-11-11  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1080         * scripts/ctl-{amd,hlfsd}.in: include comments useful for redhat's
1081         chkconfig utility.
1083 1998-11-10  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1085         * released snapshot am-utils-6.0b2s3
1087         * conf/transp/transp_sockets.c (create_nfs_service): remove C++
1088         style comments.
1090 1998-11-04  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1092         * released snapshot am-utils-6.0b2s2
1094         * created CVS package
1096         * amd/nfs_subr.c (nfsproc_lookup_2_svc): try to avoid a race
1097         condition between unmounting and re-mounting an entry, by
1098         increasing the ttl of a looked up entry before unmounting it.
1099         Patch from Mike Mitchell <mcm@unx.sas.com>.
1101         * All files: spell comments and strings.
1103 1998-11-03  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1105         * aux/configure.in: look for yp_all in libnsl only if yp_all not
1106         already found elsewhere (in libc or other default libraries).
1107         This is so RedHat 5.1 systems could find yp functions in libnsl,
1108         but also so AIX 4.2.1 will NOT include libnsl, because the latter
1109         has broken nis functionality that also exists and works ok in libc.
1111 1998-10-29  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1113         * amd/amd.c (main): bug fix: swapped arguments to kill(2).  Fix
1114         from Danny Rathjens <dkr@cs.fiu.edu>.
1116 1998-10-28  Erez Zadok  <ezk@spruce.mcl.cs.columbia.edu>
1118         * released snapshot am-utils-6.0b2s1
1120 1998-10-27  Erez Zadok  <ezk@spruce.mcl.cs.columbia.edu>
1122         * aux/macros/*.m4: support bsdi4 as bsdi3.
1124         * aux/macros/os_ldflags.m4: enable detection of LDAP on solaris
1125         2.7 (libraries located in /usr/lib/fn).  This is off until Sun
1126         includes LDAP header information.
1128 1998-10-20  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1130         *******************************************************************
1131         *** Released am-utils-6.0b1                                     ***
1132         *******************************************************************
1134 1998-10-18  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1136         * mk-amd-map/mk-amd-map.c (main): use perror not strerror.
1137         (main): set return type to int if no ndbm maps.
1139         * include/am_defs.h: avoid conflicts with <sys/mount.h> in 2.1
1140         kernels.
1142 1998-10-18  Erez Zadok  <ezk@london.mcl.cs.columbia.edu>
1144         * A.i386-unknown-netbsd1.3.2/amu_nfs_prot.h: trim down and cleanup
1145         for netbsd 1.3.2.
1147 1998-10-17  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1149         * aux/configure.in: check for yp_all in libnsl, b/c redhat 5.1
1150         systems put NIS functions there.
1152         * mk-amd-map/mk-amd-map.c: patch from "David O'Brien"
1153         <obrien@NUXI.com> merged in.  Use POSIX -1 return code from
1154         getopt(), not EOF.  Use .db extentions for systems that use it,
1155         instead of .{pag,dir}.
1157 1998-10-15  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1159         * wire-test/wire-test.c, hlfsd/hlfsd.c, fixmount/fixmount.c,
1160         amd/amd.c (main): avoid overrunning hostname buffer.  Bug fix from
1161         "David O'Brien" <obrien@NUXI.com>.
1163         * scripts/amd.conf.5: minor typo reported by "David O'Brien"
1164         <obrien@NUXI.com> in .TH section of man page.
1166         * amd/info_nis.c (am_yp_all): don't leak key-val entries.  Patch
1167         from Thomas Richter <richter@chemie.fu-berlin.de>.
1169 1998-10-12  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1171         * doc/am-utils.texi (Program Filesystem): minor typo fixed as per
1172         Andreas Stolcke <stolcke@speech.sri.com>.
1174         * minor new ports: sparc64-unknown-linux-gnu, i386-pc-solaris2.7,
1175         and sparc-sun-solaris2.7.
1177         * conf/mount/mount_freebsd3.c (mount_freebsd3): freebsd 3.0 is now
1178         a 4.4lite kernel, and somethings were removed, such as
1179         INITMOUNTNAMES.
1181         * amd/ops_autofs.c (autofs_lookuppn): don't leak memory while
1182         processing /defaults.  Free temporary opts.  Patch from
1183         dsr@mail.lns.cornell.edu (Daniel S. Riley)
1185         * amd/amfs_auto.c (amfs_auto_lookuppn): don't leak memory while
1186         processing /defaults.  Free temporary opts.  Patch from
1187         dsr@mail.lns.cornell.edu (Daniel S. Riley)
1189         * conf/mtab/mtab_osf.c (read_mtab): patch from
1190          dsr@mail.lns.cornell.edu (Daniel S. Riley) not to access
1191          uninitialized memory on Digital Unix.
1193 1998-10-09  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1195         * aux/macros/{check_mtype_type,check_mtype_printf_type}.m4: most
1196         systems now use "char *" as their mount type.
1198 1998-10-08  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1200         * amd/conf.c (gopt_map_type, ropt_map_type): check if map type
1201         exists.
1203         * amd/mapc.c (mapc_type_exists): function to test if a map of
1204         certain type exists.
1206 1998-10-08  Erez Zadok  <ezk@horatio.mcl.cs.columbia.edu>
1208         * aux/macros/{mount_headers,try_compile_anyfs,try_compile_nfs}.m4,
1209         include/am_defs.h: Avoid a conflict in definitions of ntohl/htonl
1210         in RH-5.1 sparc64 between <netinet/in.h> and
1211         <linux/byteorder/generic.h> (2.1 kernels).
1213 1998-09-28  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1215         * aux/macros/func_bad_yp_all.m4 (ac_cv_func_yp_all_clean): RedHat
1216         5.1 systems with glibc glibc-2.0.7-19 or below leak a UDP socket
1217         from yp_all().
1219 1998-09-25  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1221         * conf/mount/mount_linux.c (parse_opts): check for pcfs support
1222         only if autoconfigured.
1224 1998-09-18  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1226         * Makefile.am (EXTRA_DIST): distribute README.yk2 file.
1228         * README.y2k: explain y2k compliance status of am-utils.
1230 1998-09-16  Erez Zadok  <ezk@iguana.mcl.cs.columbia.edu>
1232         * amd/amfs_host.c (fetch_fhandle, amfs_host_fmount,
1233         amfs_host_umounted): clnt_sperrno() may return a const.
1235 Sat Aug  8 23:28:32 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1237         * aux/configure.in: check for <nfs/nfsmount.h>, as per Christos
1238         Zoulas. Turned on checking for mount options: async, synchronous,
1239         deadthresh, leasterm, nqnfs, and readahead.
1241         * amd/info_nis.c: patch from christos@zoulas.com (Christos Zoulas)
1242         to include prototype definition for nis_isup().
1244 Sun Jul 19 18:50:10 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1246         * hlfsd/stubs.c (getcreds): force sscanf arg to u_long.
1248 Tue Jul 14 20:34:25 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1250         * released snapshot am-utils-6.0a17s1
1252 Wed Jul  8 21:49:15 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1254         * aux/macros/host_macros.m4: all x86 hosts should have $arch be
1255         i386, not i[456]86.
1257 Tue Jul  7 18:55:09 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1259         * aux/macros/{mount_headers,try_compile_anyfs,try_compile_nfs}.m4,
1260         include/am_defs.h: include <linux/posix_types.h> before
1261         <linux/fs.h> because on redhat 5.1, there is a bug (misuse) of
1262         headers in <socketbits.h> (it defines _LINUX_TYPES_H instead of
1263         __KERNEL_STRICT_NAMES).
1265         * aux/configure.in: check for <linux/posix_types.h> because it is
1266         need for RedHat 5.1.
1268 Wed Jun 17 00:05:33 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1270         * scripts/Makefile.am (EXTRA_DIST): have fixrmtab generated from
1271         .in as well, so it doesn't get removed by make clean.
1273 Tue Jun 16 22:00:15 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1275         * aux/macros/{check_fs_mntent.m4, check_mnttab_type.m4,
1276         check_mount_type.m4}: redhat 5.1 puts some modules in
1277         /lib/modules/preferred/.
1279 Wed May 13 16:33:57 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1281         * amd/ops_autofs.c (mount_autofs): cast pid to long.
1283 Tue Apr 28 15:12:36 1998  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1285         * conf/nfs_prot/nfs_prot/nfs_prot_irix6.h,
1286         conf/nfs_prot/nfs_prot_sunos5_6.h: Undef MNTTAB_TYPE_AUTOFS too to
1287         avoid amd/am_ops.c (show_fstypes) from erroneously claiming
1288         support.
1290 Fri Apr 24 23:02:11 1998  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1291         
1292         * libamu/xutil.c (get_syslog_facility): Don't use LOG_DAEMON
1293         unconditionally, may be missing on Ultrix V4.3.
1295 Thu Apr 23 20:24:33 1998  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1297         * conf/nfs_prot/nfs_prot_sunos5_4.h (MNTTYPE_CACHEFS): Define,
1298         missing from <sys/mntent.h>.
1299         
1300         * conf/mtab/mtab_ultrix.c: Need separate inclusion of <sys/fs_types.h>
1301         without KERNEL defined here.
1303         * aux/macros/mount_headers.m4: Need to include <ufs/ufs_mount.h>,
1304         <cdfs/cdfs_mount.h>, <cdfs/cdfsmount.h> so autoconfiguration of
1305         ufs_args_t, cdfs_args_t fields and cdfs mount options can succeed.
1307         * amd/ops_ufs.c (mount_ufs): Removed obsolete comment.
1309         * ChangeLog: Fixed confusing linebreaks from ChangeLog imports.
1310         Removed purely local (and obsolete) entry.
1312 Thu Apr 23 00:22:17 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1314         *******************************************************************
1315         *** Released am-utils-6.0a16                                    ***
1316         *******************************************************************
1318 Wed Apr 22 01:20:39 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1320         * aux/macros/check_mount_style.m4: define freebsd3 mount style.
1322         * aux/macros/check_mount_trap.m4: new mount trap for freebsd3.
1324         * aux/macros/check_mtype_printf_type.m4,
1325         aux/macros/check_mtype_type.m4 (ac_cv_mtype_type,): freebsd3 (as
1326         of snapshot 3.0-980311-SNAP) uses char * types for mount(2), not
1327         integers, but I'll keep them as integers and do the mapping in
1328         conf/mount/mount_freebsd3.c
1330         * minor new port to i386-pc-bsdi3.1.
1332         * minor new port to i386-unknown-netbsd1.3.1.
1334         * amd/opts.c: new option addopts:=ARG, which smartly merges ARG
1335         options with whatever the /default ones for a key are.  This
1336         allows adding or overriding /default options individual keys.
1338         * amd/am_ops.c (ops_match): strdup/malloc string assigned to
1339         opt_opts because it'll get free()'d upon next use.
1340         (merge_opts): new function to merge two sets of options.
1341         (ops_match): if addopts option exist, append and merge it to the
1342         current default options.
1344 Tue Apr 21 12:54:59 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1346         * wire-test/wire-test.c (main): use dynamically allocated returned
1347         string with list of interfaces.
1349         * amd/get_args.c (get_version_string): allocate enough space for
1350         header version string and a list of network interfaces of any
1351         length.
1353         * libamu/wire.c (print_wires): return dynamically allocated string
1354         containing list of networks.  Must be dynamic because some sites
1355         had potentially dozens of network interfaces.  Patch from Matthew
1356         Crosby <mcrosby@ms.com> slightly modified.
1358 Mon Apr 20 00:37:20 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1360         * conf/nfs_prot/nfs_prot_irix5.h: underfine MNTTYPE_XFS because
1361         irix 5.3 does not have full header definitions for it.
1363         * fsinfo/fsi_lex.l (yywrap): define yywrap if needed, and
1364         undefined it when not needed (similar to amd/conf_tok.l)
1366         * hlfsd/hlfsd.h (ROOTID, SLINKID, INVALID): reduced maximum size
1367         of these to unsigned short (because uid_t on some linux systems is
1368         small).
1370         * released snapshot am-utils-6.0a16s10
1372         * doc/am-utils.texi (opts Option): documented resvport mount
1373         option.
1375 Sun Apr 19 18:17:03 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1377         * doc/am-utils.texi (-D-Option): document behavior of -D info and
1378         especially what it does to hesiod (turn on RES_DEBUG).
1380         * scripts/amd.conf.5: document info debugging option.
1382         * libamu/xutil.c (dbg_opt): parse info debugging option.
1384         * include/am_utils.h (D_INFO): define new trace option.
1386         * Makefile.am (EXTRA_DIST): include list of official mirrors in
1387         distribution.
1389         * libamu/wire.c (SIZE): in the simple case, just compute
1390         sizeof(struct ifreq).
1392 Sun Apr 19 16:30:35 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
1394         * amd/amd.c (daemon_mode): set a temporary secure umask(0022)
1395         before writing log file and restore it afterwards.  Patch from
1396         Donald Buczek <buczek@MPIMG-Berlin-Dahlem.MPG.DE>.
1398         * amd/get_args.c (get_args): 
1400         * doc/am-utils.texi (-F Option), amd/amd.8: mention that amd.conf
1401         file specified by -F is always processed last.
1403         * amd/amd.c (daemon_mode): do not fclose(stdout) so that the fd
1404         won't be reused.  Allows startup script to redirect stdout.  Patch
1405         from Donald Buczek <buczek@MPIMG-Berlin-Dahlem.MPG.DE>.
1407         * libamu/xutil.c (switch_to_logfile): compare logfile name and
1408         syslog string with correct length.  Patch from Donald Buczek
1409         <buczek@MPIMG-Berlin-Dahlem.MPG.DE>.
1411         * amd/restart.c (restart): correctly inherit existing NFS V.3
1412         mounts upon restart.  Patch from Donald Buczek
1413         <buczek@MPIMG-Berlin-Dahlem.MPG.DE>.
1415 Sat Apr 18 19:01:19 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
1417         * using libtool 1.2 and automake 1.3 (with my patches).
1419         * aux/macros/opt_am_cflags.m4, */Makefile.in: rename AM_CFLAGS to
1420         AMU_CFLAGS to avoid conflicts with automake-1.3.
1422 Sun Apr  5 23:09:08 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1424         * converted to using libtool-1.2.
1426 Tue Mar 10 16:52:09 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1428         * fsinfo/fsi_analyze.c (fixup_required_mount_info): replaced silly
1429         for loop (ITER) which used to run only to initialize the variable
1430         dd once and then break; with a simple assignment.
1432         * hlfsd/hlfsd.h: cleanup so it compiles with Solaris
1433         /opt/SUNWspro/bin/cc, and use gid_t not int.
1435         * amd/mapc.c (mapc_sync): don't dereference pointer (so it
1436         compiles with Solaris /opt/SUNWspro/bin/cc)
1438 Sun Mar  8 15:54:22 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1440         * aux/config.{guess,sub}: used from gcc-2.8.1.
1442 Sat Mar  7 15:33:27 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1444         * released snapshot am-utils-6.0a16s9
1446         * INSTALL, doc/am-utils.texi (Supported Platforms): updated names
1447         based on new output of new config.guess.
1449         * aux/config.{sub,guess}: used newer versions from gcc-2.8.0.
1451         * amd/amd.8,doc/am-utils.texi: document correct usage of default
1452         /etc/amd.conf file.
1454         * fixmount/fixmount.c (inetresport,privsock): use some more
1455         portable code from amq/amq.c.
1457         * amd/get_args.c (get_args): use default /etc/amd.conf file only
1458         if no arguments had been passed to amd.
1460         * fixmount/fixmount.c (clnt_create_timeout): use tli/socket code
1461         ala amq/amq.c so that fixmount will work on both types of systems.
1463         * amq/amq.c (main): do no close tcp socket before running udp try,
1464         because we're not sure if it was opened at all.
1466         * mips-dec-ultrix* port merged in and cleaned up.
1468         * aux/configure.in: up minor shared library revision number, since
1469         it has changed enough.
1471         * hlfsd/hlfsd.c (main): don't check for overlay mount option here,
1472         as it is now done in compute_nfs_args().  Remove ultrix specific
1473         code also because it was moved to compute_nfs_args().
1475         * conf/mount/mount_svr4.c: removed DEBUG_MOUNT_SVR4 code, now that
1476         we have more generic code in print_nfs_args().
1478         * libamu/mount_fs.c (print_nfs_args): print maxlen of
1479         nfs_args.addr, and also syncaddr (which is mostly NULL).  Print
1480         struct knetconfig from nfs_args->knconf.
1482         * aux/macros/mount_headers.m4 (define): do not check for ufs/cdfs
1483         headers here, but in try_compile_anyfs.m4.
1485         * aux/macros/type_ufs_args.m4: move test for struct ufs_specific
1486         (for ultrix) here from its own macro.
1488         * aux/macros/type_cdfs_args.m4: move test for struct iso_specific
1489         (for ultrix) here from its own macro.
1491         * amd/ops_nfs.c (mount_nfs_fh): no need to run code again checking
1492         for overlay mount option.  Remove code which checks for overlay
1493         option, as it is now done in compute_nfs_args().
1495         * libamu/mount_fs.c (compute_mount_flags): move here code which
1496         checks for overlay mount option which was in amd/amfs_toplvl.c:
1497         mount_amfs_toplvl().
1499 Wed Feb  7 15:35:51 1998  Rainer Orth  <ro@xayide.TechFak.Uni-Bielefeld.DE>
1501         * The following are Rainer's ChangeLog entries for his ultrix
1502         port, added manually. -Erez.
1504         * merged Ultrix port with am-utils 6.0 a16s5: amd/ops_afs.c
1505         (mount_toplvl) -> amd/amfs_toplvl.c (mount_amfs_toplvl)
1507         * include/am_defs.h: include cdfs specific mount headers
1508         avoid duplication definition of gt_names[] in <sys/fs_types.h> (Ultrix)
1510         * include/am_compat.h: define several mount options corresponding
1511         to mount flags: pgthresh, hard (nfs), defperm, nodefperm,
1512         noversion, rrip (cdfs), nocache, quota, sync (generic) removed
1513         duplicate MNTTAB_OPT_RO definition
1515         * aux/macros/try_compile_anyfs.m4: include Ultrix specific
1516         ufs/cdfs mount headers
1518         * aux/macros/mount_headers.m4: include several Ultrix/Digital UNIX
1519         specific mount headers
1521         * aux/macros/check_{fs_mntent, mount_type}.m4: check for GT_*
1522         mount types in mount headers (Ultrix)
1524         * aux/configure.in: Ultrix/Digital UNIX specific checks: new
1525         headers, mount structures and fields, filesystem and mount types,
1526         mount flags
1528         * aux/acconfig.h: placeholders for new mount options: quota
1529         (generic), ro (nfs), defperm, nodefperm, noversion, rrip (cdfs)
1530         cdfs, nfs, ufs mount structure fields new ufs, cdfs mount
1531         structures
1533         * amd/ops_ufs.c (mount_ufs): Ultrix stores generic mount flags in
1534         ufs_args.ufs_flags and has ufs specific pgthresh option
1536         * amd/ops_cdfs.c (mount_cdfs): handle Ultrix/Digital UNIX specific
1537         CDFS mount flags and options
1539         * amd/ops_afs.c (mount_toplvl), amd/ops_nfs.c (mount_nfs_fh),
1540         hlfsd/hlfsd.c (main): store generic mount flags in
1541         nfs_args.gfs_flags, handle separate NFS ro flag
1543         * aux/macros/{check_mnt2_cdfs_opt, struct_iso_specific,
1544         struct_ufs_specific}.m4: new files; check for Ultrix specific
1545         mount structures
1547         * conf/trap/trap_ultrix.h: arg 3 to mount(2) is rwflag
1549         * aux/macros/type_auth_create_gidlist.m4 (ultrix*):
1550         AUTH_CREATE_GIDLIST_TYPE is int (not short == gid_t) from a
1551         comment in <rpc/auth.h>
1553         * include/am_defs.h: #define KERNEL to avoid definition of
1554         gt_names[]
1555         conf/mtab/mtab_ultrix.c: #include <sys/fs_types> before <config.h>
1556         to force single definition here
1558         * libamu/mount_fs.c (compute_nfs_args): Ultrix support for
1559         nfs_args.gfs_flags moved to callers
1560         store mount options in nap->optstr
1562         * include/am_defs.h: fix _am_mntent mnt_{type, opts} field
1563         descriptions
1565         * aux/macros/mount_headers.m4, aux/macros/try_compile_nfs.m4:
1566         include <rpc/rpc.h> before AMU_NFS_PROTOCOL_HEADER for svc_req
1567         definition in prototypes
1569         * aux/macros/mount_headers.m4: include <sys/errno.h> before
1570         AMU_NFS_PROTOCOL_HEADER: <nfs/nfs.h> needs it for NFSERR_*
1571         definitions
1573         * conf/nfs_prot/nfs_prot_ultrix.h: new file
1575         * aux/macros/check_nfs_prot_headers.m4: use nfs_prot_ultrix.h
1577         * aux/macros/mount_headers.m4, aux/macros/try_compile_nfs.m4,
1578         aux/macros/try_compile_rpc.m4, include/am_defs.h: avoid multiple
1579         inclusion of <rpc/xdr.h>
1581 Sat Mar  7 13:56:05 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1583         * aux/configure.in: save state of config.cache and confdefs.h
1584         (as dbgcf.h) at various points of the configure.
1586         * aux/macros/save_state.m4: new macro to save state of configure,
1587         esp. useful in long ones.  Saves confdefs.h and write $ac_cv_*
1588         cache variables that are known so far.
1590         * released snapshot am-utils-6.0a16s8
1592 1998-03-06  Erez Zadok  <ezk@mercer.psl.cs.columbia.edu>
1594         * fsinfo/fsi_lex.l,amd/conf_tok.l: define ECHO after undefining
1595         it, but only for flex.
1597 Fri Mar  6 17:23:17 1998  Erez Zadok  <ezk@chestnut.mcl.cs.columbia.edu>
1599         * hlfsd/homedir.c (plt_print): change pathname of hlfsd dump file
1600         to /usr/tmp/hlfsd.dump.XXXXXX, and use a safe method (if possible)
1601         to write the dump file.
1603         * doc/am-utils.texi,amd/opts.c: rename all references to nomadic
1604         functions to boolean functions, which is what they really are.
1606         * aux/configure.in: don't look for strcasecmp in libucb at all,
1607         but rather complete it from libamu/strcasecmp.c as needed.
1609 Fri Mar  6 03:29:20 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1611         * conf/nfs_prot/nfs_prot_osf4.h: avoid conflicts with Irix's EFS.
1613         * libamu/wire.c (getwire): fix for 0.0.0.0 loopback on SunOS 3.X
1614         which defines IFF_ROUTE instead of IFF_LOOPBACK.  Patch from Tom
1615         Schmidt <tschmidt@micron.com>.
1617         * released snapshot am-utils-6.0a16s7
1619         * conf/nfs_prot/nfs_prot_hpux11.h: a first working port of amd to
1620         hppa1.0-hp-hpux11.00.tgz.
1622 Thu Mar  5 21:59:03 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1624         * converted all sources to use mntent field names, and map mnttab
1625         field names to mntent's.
1627         * include/am_defs.h (mnt_special): map struct mnttab field names
1628         to struct mntent field names.
1630         * aux/macros/check_mount_trap.m4: hpux11's mount trap style is
1631         identical to svr4/solaris2.
1633         * aux/macros/check_mount_style.m4: hpux11's mount style is
1634         identical to svr4/solaris2.
1636         * aux/macros/check_network_transport_type.m4: hpux11 is a TLI
1637         system!
1639         * aux/macros/check_nfs_sa_dref.m4: hpux11's NFS host address
1640         dereferencing style is same as svr4.
1642         * aux/macros/check_nfs_fh_dref.m4: hpux11's NFS file fh
1643         dereferencing style is same as svr4.
1645         * conf/transp/transp_tli.c (create_nfs_service): if failed to
1646         getnetconfigent() of ticlts, then try udp (hpux11).
1648         * conf/nfs_prot/nfs_prot_hpux11.h: added correct definitions for
1649         struct nfs_args, nfs_fh, and NFSMNT_* flags, taken from solaris
1650         2.5.1 (HP used them).
1652         * amd/rpc_fwd.c (fwd_init): don't use O_NDELAY for t_open()
1653         because hpux11 doesn't like it. if t_open failed, print error
1654         based on t_errlist, not sys_errlist.
1656 Wed Mar  4 22:01:55 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1658         * doc/am-utils.texi: lots of documentation fixes from Rainer Orth
1659         <ro@TechFak.Uni-Bielefeld.DE>.
1661 Sat Feb 28 22:16:35 1998  Erez Zadok  <ezk@kosh.cs.columbia.edu>
1663         * fsinfo/fsi_lex.l: undefine ECHO again, so it doesn't get used
1664         later.
1666         * include/am_defs.h: defined the extern for ualarm() if it isn't
1667         found, regardless if the function isn't found in standard
1668         libraries, because otherwise libamu will include it.
1670 1998-02-28  Erez Zadok (per Ron Snyder)  <ezk@short.cvo.roguewave.com>
1672         * initial port to hpux-11 completed.  Compiles cleanly, but
1673         probably does not work, because of missing NFS V.2/3 headers.
1675         * amd/conf_tok.l: cast yytext to char* when passed to strlen and
1676         strdup, for hpux-11's ansi-cc compiler.
1678         * include/am_utils.h: renamed all xfree() to XFREE() to avoid
1679         conflict with hpux-11's system headers.  Also move (voidp) cast
1680         from sources to inside the macro itself.
1682 Sat Feb 28 13:44:21 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1684         * released snapshot am-utils-6.0a16s6
1686         * amd/info_nis.c (nis_isup): new function to test if NIS is up
1687         without hanging amd.  Used to ensure that amd does not clear the
1688         maps when the expiration period arrived, if the service is down.
1689         Otherwise it would be left with empty maps.  It is better to stay
1690         with possibly old information than none at all.
1692         * amd/mapc.c (mapc_sync): check to see if map service is up.
1694 Tue Feb 24 02:19:42 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1696         * aux/macros/check_lib2.m4 (AC_CHECK_LIB2): fix macro so it
1697         includes auxiliary library only if needed.
1699 1998-02-22  Erez Zadok  <ezk@mercer.psl.cs.columbia.edu>
1701         * amd/conf_tok.l: undefine ECHO again, so it doesn't get used
1702         later.
1704 Sun Feb 22 01:41:08 1998  Erez Zadok  <ezk@zen.cs.columbia.edu>
1706         * conf/nfs_prot/nfs_prot_osf2.h: port to alpha-dec-osf2.1
1707         completed.
1709         * conf/mtab/mtab_osf.c (mnt_dup): not all OSF have NFS3.
1711 Sat Feb 21 19:45:48 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1713         * doc/am-utils.texi (Network Host Filesystem): correct example for
1714         type:=host map.
1716         * aux/macros/os_cflags.m4: only osf4 should compile with
1717         -D_SOCKADDR_LEN.
1719         * aux/macros/check_nfs_prot_headers.m4: distinguish between OSF2
1720         and OSF4.
1722         * BUGS: include a new file listing known bugs.
1724 Sat Feb 21 03:50:48 1998  Erez Zadok  <ezk@mercer.psl.cs.columbia.edu>
1726         * conf/nfs_prot/nfs_prot_linux.h: turn DES off on all linux
1727         versions.
1729         * aux/macros/type_recvfrom_fromlen.m4: linux alpha should use
1730         size_t for recvfrom fromlen arg.
1732 Sat Feb 21 03:33:59 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1734         * scripts/ctl-hlfsd.in: turn -D fork so primary process never
1735         hangs.
1737 Sat Feb 21 02:45:51 1998  Erez Zadok  <ezk@mercer.psl.cs.columbia.edu>
1739         * include/am_defs.h: don't include <sys/stat.h> and
1740         <linux/stat.h>, just remaining definitions in <statbuf.h>
1742 Thu Jan 29 00:44:28 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1744         * released snapshot am-utils-6.0a16s5
1746         * conf/mount/mount_irix6.c (mount_irix): pass {u,e,x}fs_args to
1747         mount(2).
1749         * check for <sys/fs/xfs_clnt.h> and include it when needed.
1751         * conf/mount/{mount_irix5.c,mount_irix6.c} (mount_irix): recognize
1752         efs and xfs separately from "ufs".
1754         * amd/{ops_xfs.c,ops_efs.c}: new support for irix xfs/efs.
1756         * aux/configure.in: look for irix efs and xfs file systems.
1758         * scripts/amd.conf.5: new unmount_on_exit option documented.
1760         * doc/am-utils.texi (unmount_on_exit): new option documented.
1762         * amd/conf.c (gopt_unmount_on_exit): new function to handle new
1763         amd.conf option.
1765         * amd/map.c (umount_exported): if global amd.conf flag
1766         unmount_on_exit is on, then try to unmount all mounted (or
1767         restartable) file systems.
1769         * amd/amd.c: if print_pid option is on, then normally print it to
1770         stdout.  If also pid_file is specified, then print the process ID
1771         into that file.
1773         * amd/get_args.c (get_args): print correct -l option depending if
1774         system supports syslog and/or syslog facilities.  Patch from 
1775         Tom Schmidt <tschmidt@micron.com>.
1777         * doc/am-utils.texi (opts Option): updates for documentation for
1778         new cdfs options defperm, nodefperm, noversion, rrip.
1780         * amd/ops_cdfs.c (mount_cdfs): support cdfs options defperm,
1781         nodefperm, noversion, rrip.
1783         * conf/nfs_prot/nfs_prot_osf.h: need to look at <cdfs/cdfsmount.h>
1784         on osf.
1786         * aux/macros/{expand_cpp_hex.m4, expand_cpp_int.m4,
1787         expand_cpp_string.m4}: use #error to make failed compilations
1788         fail faster, rather than have the program fail during a run.
1790         * include/am_compat.h: added a few new cdfs options: rrip,
1791         noversion, defperm, and nodefperm (used in OSF).
1793 Wed Jan 28 20:24:09 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
1795         * released snapshot am-utils-6.0a16s4
1797         * doc/am-utils.texi (Global Parameters): update manual for new
1798         amd.conf global variable hesiod_base.
1800         * scripts/amd.conf.5: update man page for new amd.conf global
1801         variable hesiod_base.
1803         * amd/get_args.c (get_args): use /etc/amd.conf file if exists by
1804         default, else try command line options.  Patch from Randall
1805         S. Winchester <rsw@Glue.umd.edu>.
1807 Wed Jan 28 12:20:56 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1809         * amd/info_hesiod.c (hesiod_search), amd/conf.c
1810         (gopt_hesiod_base), amd/amd.h, amd/amd.c (init_global_options):
1811         included patch from Randall S. Winchester <rsw@Glue.umd.edu>, to
1812         support a hesiod base name in the amd.conf file.
1814         * doc/am-utils.texi (pid_file Parameter): document new global
1815         amd.conf parameter.
1817         * scripts/amd.conf.5: document new global option pid_file.
1819         * amd/amd.c (daemon_mode): if cannot open pid_file, continue to
1820         run, but print error message.
1822         * amd/conf.c (gopt_pid_file), amd/amd.h, amd/amd.c (daemon_mode,
1823         init_global_options): Included patch from Randall S. Winchester
1824         <rsw@Glue.umd.edu>, to support pid files in the amd.conf file.
1826         * amd/get_args.c (get_args): correct usage info on amd -t.
1828         * amd/*.c: massive file name and symbol name changes.  All amd
1829         file systems files and symbols are prefix with amfs_*.  Now using
1830         real name of file system: amfs_auto instead of afs, amfs_inherit
1831         instead of ifs, amfs_linkx instead of sfsx, etc.  This will enable
1832         clear distinction between amd file system and generic ones like
1833         nfs/ufs/pcfs/hsfs.  Also, now we can implement true afs (Andrew
1834         f/s) and DFS (Distributed f/s).
1836         * amd/amfs_union.c: unionfs for amd is always defined, no need to
1837         #ifdef it.
1839 Mon Jan 26 16:51:38 1998  Erez Zadok  <ezk@chestnut.mcl.cs.columbia.edu>
1841         * libamu/mount_fs.c (compute_nfs_args): set 'noconn' NFS option on
1842         or off, based on the particular quirks of the OS in question.
1844         * aux/macros/check_nfs_socket_connection.m4: new macro to set the
1845         correct wait of handling un/connected NFS sockets.
1847         * scripts/wait4amd.in: use rlogin instead of rsh.
1849         * amd/am_ops.c (ops_showfstypes): when showing F/S types in amd
1850         -v, always show "nfs3" for NFS V.3.
1852 1998-01-25  Erez Zadok  <ezk@snoopy.cs.columbia.edu>
1854         * lots of small fixes for solaris 2.6, since gcc 2.8.0 -Wall gets
1855         more picky than 2.7.2.3 did.
1857 1998-01-24  Erez Zadok  <ezk@snoopy.cs.columbia.edu>
1859         * include/am_utils.h (dlog): amuDebug macros reduced to shorter
1860         forms.
1862 Fri Jan 23 18:38:30 1998  Erez Zadok  <ezk@goat.mcl.cs.columbia.edu>
1864         * released snapshot am-utils-6.0a16s3
1866         * include/am_defs.h: on Solaris 2.6, <sys/varargs.h> is included
1867         in <sys/fs/autofs.h> but since stdargs.h is used, and varargs.h
1868         must not, fake a definition for varargs.
1870 Fri Jan 16 10:16:40 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1872         * README: show how to configure in additional support such as
1873         hesiod using various --enable-* flags.
1875 Wed Jan 14 15:13:02 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1877         * aux/configure.in: look for strcasecmp(), and replace it if not
1878         available.
1880         * amd/ops_nfsl.c (nfsl_match): host names should be compared using
1881         case insensitive.
1883         * amd/opts.c: for each map variable, define if the comparison
1884         needs to be done case insensitive.
1886         * include/am_utils.h (STRCEQ): a new macro to use strcasecmp().
1887         Patch from Thomas Richter <richter@chemie.fu-berlin.de>
1889 1998-01-14  Erez Zadok  <ezk@irt.cs.columbia.edu>
1891         * aux/configure.in: look for "isofs" as a possible mount type for
1892         cdfs (RedHat Linux).
1894 Wed Jan 14 02:07:05 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1896         * conf/mount/mount_linux.c (parse_opts): don't look for cdfs mount
1897         type if not defined.
1899         * conf/nfs_prot/nfs_prot_linux.h: don't define __FD_* macros if
1900         already defined.
1902         * aux/configure.in: look for ext2fs before ufs, b/c some linux
1903         have both.
1905 Mon Jan 12 15:43:20 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1907         * Makefile.am (snapshot): allow me to install snapshots into the
1908         ftp directory.
1910         * scripts/ctl-hlfsd.in: don't turn on -D mem by default.
1912         * amd/get_args.c (get_args): minor bug in output of amd -H.
1914 Mon Jan 12 03:05:06 1998  Erez Zadok  <ezk@chestnut.mcl.cs.columbia.edu>
1916         *******************************************************************
1917         *** Released am-utils-6.0a15                                    ***
1918         *******************************************************************
1920 Sun Jan 11 15:06:34 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1922         * amd/conf.c (*_browsable_dirs): allow specifying
1923         browsable_dirs=full, which will print *all* entries (other than
1924         /default), including  those with '*' and '/' characters.
1926         * amd/info_file.c (MAX_LINE_LEN): up maximum readdir chain length
1927         to 1500.
1929         * doc/am-utils.texi: fixed reversed documentation for NFS mount
1930         options vers and proto.
1932         * doc/Makefile.am (install-html): separate target just for
1933         installing html files.  Another new target "alldocs" is just for
1934         installing all files needed for the am-utils home page.
1936         * scripts/amd.conf-sample: updated example for log_file.
1938         * scripts/amd.conf.5: updated for new way to declare new syslog
1939         facility in the log_file option.
1941         * amd/amd.8: updated for new way to declare new syslog facility in
1942         the -l option.
1944         * libamu/xutil.c (get_syslog_facility): allow users to specify the
1945         syslog facility as an appended string to the log device.  Ex. amd
1946         -l syslog:local7 will use LOG_LOCAL7, while the older -l syslog
1947         will use the default LOG_DAEMON facility.
1949         * amd/get_args.c (get_args): updated new syntax for amd -l
1950         syslog:facility.
1952 Thu Jan  8 04:05:10 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
1954         * aux/macros/host_macros.m4: don't confuse sun3 (sparc) with sun3
1955         (intel).
1957         * libamu/wire.c (print_wires): bug fix.  Nullify output buffer
1958         before appending to it, on systems with two or more network
1959         interfaces.
1961         * conf/nfs_prot/nfs_prot_sunos5_3.h: add missing definition for
1962         the mntent for cachefs.
1964         * include/am_defs.h: external definition for strstr() should use
1965         const for both arguments.
1967         * aux/configure.in: add extern definitions for getwd() if missing.
1969         * include/am_defs.h: define the extern for strdup() even if the
1970         function does not exist, for it will be filled in by
1971         libamu/strdup.c
1973         * amq/pawd.c (cluster_server): don't use getccent() if the extern
1974         for it isn't there.  On hpux 10.20, the function is in libc, but
1975         <cluster.h> and struct cct_entry do not exist.
1977         * aux/configure.in: check for an extern for getccent() b/c some
1978         hpux systems don't have it (hpux 10.20).
1980 Wed Jan  7 00:09:19 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
1982         * doc/am-utils.texi (Amq -T option): manual documentation updates
1983         for new amq options -T/-U.
1985         * amq/amq.8: updated man page for new amq options -T/-U.
1987         * amq/amq.c: two new switches to amq. -U will contact amd using
1988         UDP only.  -T will use TCP only.  Normally amq will try TCP and
1989         if that failed, will try UDP.
1991         * doc/am-utils.texi (pawd): manual documentation for pawd.
1993         * amq/pawd.1: new man page for pawd.
1995 Tue Jan  6 04:21:59 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
1997         * amq/pawd.c: a new program, Print Automounter Working Directory,
1998         to print the proper pathname of the cwd or any other pathname,
1999         adjusted for automounter paths, while avoiding mount points.
2001         * aux/macros/localconfig.m4: trivial support for am-utils
2002         maintainers to adjust some of the configuration of am-utils after
2003         it has been auto-configured by putting whatever definitions you
2004         wish in a file called localconfig.h, located in the top build
2005         directory (the same one where config.h is created for you).
2007         * doc/am-utils.texi (Caching Filesystem): updated documents for
2008         cachefs file system.
2010         * amd/ops_cachefs.c: initial cachefs support, for solaris.
2011         type:=cachefs, requires cachedir:=/cache/dir/name to be defined
2012         and initialized with cfsadmin -c.  $rfs is backdir to be cached
2013         from, and $fs is the local mount point of the cachefs.
2015         * conf/mount/mount_svr4.c (mount_svr4): support mounting of
2016         cachefs file systems.
2018         * amd/ops_cdfs.c: cdfs should be named 'cdfs', not whatever the
2019         mnttab type is.
2021 Mon Jan  5 23:22:49 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
2023         * amd/opts.c: added support for new variable $cachedir.
2025         * include/am_utils.h: added opt_cachedir field to struct am_opts.
2027 Sat Jan  3 01:43:57 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
2029         * amd/ops_nfsl.c (nfsl_ffserver, nfsl_match): also check if the
2030         local hostname does not match $rhost, and if so, also assume
2031         type:=nfs.
2033 Fri Jan  2 01:00:40 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
2035         * updated all source files to add 1998 as a copyright year.
2037         * amd/ops_nfsl.c: new amd meta file system "type:=nfsl".  Behaves
2038         like type:=linkx if the pathname denoted by $fs exists, and like
2039         type:=nfs if it does not.  A convenient shortcut for the most
2040         popular amd map entry.
2042         * amd/amd.c (main): amd should chdir to / before starting, to
2043         avoid hanging on other NFS server if started elsewhere.
2045         * amd/ops_TEMPLATE.c: added an empty template file for developers
2046         who wish to write new amd pseudo file systems.
2048 Thu Jan  1 00:27:28 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2050         * hlfsd/homedir.c (plt_init): make function exported, to save on
2051         the unnecessary init_homedir() function which was removed.
2052         (table_add): don't use xmalloc() when you can use strdup()
2053         instead.
2055 Thu Jan  1 00:15:58 1998  Erez Zadok  <ezk@chestnut.mcl.cs.columbia.edu>
2057         * hlfsd/homedir.c (hlfsd_endpwent): Don't actually run this
2058         because we will be making more passwd calls afterwards.  On
2059         Solaris 2.5.1, making getpwent() calls after calling endpwent()
2060         results in a memory leak! (and no, even Purify didn't detect
2061         it...)
2063 Tue Dec 23 18:23:47 1997  Erez Zadok  <ezk@chestnut.mcl.cs.columbia.edu>
2065         * hlfsd/hlfsd.c (main): Bug fix.  Don't try to free() an
2066         automatically allocated address.
2068         * amd/ops_afs.c (mount_toplvl): Bug fix.  Don't try to free() an
2069         automatically allocated address.
2071         * ALL SOURCES: change every direct call to free() to xfree(), so
2072         it can be mapped to the right debugging function as needed.
2074         * include/am_utils.h: new free() policy.  If debugging memory,
2075         call dxfree(), which will print the file name and line number
2076         where the free occurred and the pointer address.  if only regular
2077         debugging, then free() and reset  the pointer to NULL so it cannot
2078         be used afterwards inadvertently.  If not DEBUG at all, then just
2079         run free().  Three different #define macros set the right mapping.
2081         * libamu/xutil.c (dxfree): renamed function to dxfree(), so it can
2082         be called only when debugging the memory.
2084 Tue Dec 23 04:24:28 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2086         * wire-test/wire-test.c (main): use xmalloc() not malloc().
2088         * conf/transp/transp_tli.c (get_knetconfig): use xzalloc() not
2089         calloc().
2091         * conf/mtab/mtab_mach3.c (convert): use xzalloc() not calloc().
2093         * conf/mount/mount_linux.c (parse_opts): use xmalloc() not
2094         malloc().
2096         * amd/info_ldap.c: use xmalloc() not malloc().
2098         * libamu/xutil.c (xzalloc): new function to allocate memory and
2099         zero its bytes.
2101         * amq/amq.c: amq does not need its own definition of xfree().
2103         * aux/macros/opt_debug.m4: if used --enable-debug=mem, then also
2104         look for function malloc_verify() in libmapmalloc.a, and function
2105         mallinfo() in libmalloc.
2107         * libamu/xutil.c (checkup_mem): do not use mallinfo field
2108         uordbytes, because it does not always exist.  Rather, compute it
2109         from other fields..
2111         * include/am_utils.h: add external definition to xfree() function
2112         used when debugging memory references.
2114 Mon Dec 22 03:01:30 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2116         * amd/ops_afs.c (afs_readdir_browsable): reduce the number of
2117         bytes heuristically computed to be returned to the kernel.
2118         Otherwise browsable_dirs fails on OpenBSD 2.2.
2120         * amd/mntfs.c (uninit_mntfs): bug fix.  Moved freeing of
2121         mf_private field to AFTER it gets used.
2123 Sat Dec 20 00:51:21 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2125         * amd/ops_host.c (host_umounted): don't use clnt_spcreateerror()
2126         on systems that don't support it.
2128         * include/am_defs.h: add missing extern definition for free().
2130         * aux/configure.in: check for external definition for free().
2132         * libamu/Makefile.am: add to comment a mention of strstr as an
2133         optional function.
2135         * libamu/xutil.c (switch_to_logfile): use openlog() options only
2136         if they exist.
2138         * conf/transp/transp_sockets.c (get_nfs_version): don't use
2139         clnt_spcreateerror if it does not exist.
2141         * aux/configure.in: check for missing functions clnt_create and
2142         clnt_spcreateerror.  Check for missing strstr, and complete
2143         its code.  Check for missing external definition for strstr.
2145         * aux/macros/host_macros.m4: normalize sun3* names.
2147         * Makefile.am: updates for new sunos3 files distributed.
2149         * conf/nfs_prot/nfs_prot_sunos3.h: new file.
2151         * conf/fh_dref/fh_dref_sunos3.h: new file.
2153         * aux/macros/check_nfs_prot_headers.m4: added sunos3 case.
2155         * aux/macros/check_nfs_fh_dref.m4: added sunos3 case.
2157         * doc/am-utils.texi (wire Selector Variable): updated manual for
2158         adjusted variables wire, network, and netnumber, all using the
2159         in_network() function.
2161 Fri Dec 19 04:37:36 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2163         * amd/opts.c: allow options to be processed by executing arbitrary
2164         functions.  Converted wire, network, and netnumber all to use the
2165         nomadic function in_network.  So from now on they perform a match
2166         against all networks, not just primary.
2168         * initial port to alpha-unknown-linux-gnu, probably works, but
2169         untested yet.
2171         * conf/nfs_prot/nfs_prot_linux.h: add special definitions for
2172         __FD_* macros which for som strange reason do not get included
2173         from <selectbits.h> on redhat alpha linux.  Also turn off usage of
2174         <rpc/des_auth.h> because it is incomplete on the same systems.
2176         * hlfsd/homedir.c (table_add): cast uid field to int, for
2177         comparison.
2179         * include/am_defs.h: more coflicts with redhat alpha linux
2180         "resolved".
2182         * aux/macros/{mount_headers,try_compile_anyfs,try_compile_nfs}.m4:
2183         There's a conflict of definitions on redhat alpha linux between
2184         <netinet/in.h> and <linux/fs.h> which must be avoided.
2186         * aux/configure.in: check for <socketbits.h>, which is in use on
2187         redhat alpha linux.
2189         * doc/am-utils.texi (Selectors): added documentation to describe
2190         the new "!" (negated) nomadic functions.
2192         * amd/opts.c (f_in_network): print debugging info that is correct,
2193         rather than saying that any ARG is on a local network.
2194         (eval_opts): added support for negating nomadic functions, by
2195         prepending "!" to their name.  Example, !exists(/foo/bar).
2197 Thu Dec 18 20:57:19 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2199         * include/am_compat.h: ensure that all NFS3 systems have the mount
2200         table entries (and amd opts switches) "proto" and "vers".
2202         * hlfsd/homedir.c (table_add): added some debugging info to try
2203         and track down a serious memory leak in hlfsd.
2205 1997-12-18  Erez Zadok  <ezk@t-rex.mcl.cs.columbia.edu>
2207         * libamu/mount_fs.c (compute_nfs_args): OpenBSD 2.2 requires that
2208         you do NOT set the noconn option, and use connected sockets
2209         always.  So I'm now forced not to set it at all, and have the user
2210         specify it as "conn" or "noconn" in their /default entry.  Argh...
2211         Finally, it looks as if OpenBSD 2.2's NFS 3 implementation may be
2212         buggy (TCP hangs with "short receive" kernel errors).  I'd better
2213         wait until they get it working in their version of the automounter
2214         first.  So I'm putting the "noconn" option back.
2216 Thu Dec 18 02:39:39 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2218         * libamu/mount_fs.c (compute_nfs_args): use maxgrps option and set
2219         nfs_args field maxgrouplist accordingly.
2221         * include/am_compat.h (MNTTAB_OPT_MAXGROUPS): complete definition
2222         for mount table entry for maxgroups based on NFS mount option
2223         maxgrp.
2225         * aux/configure.in: put back testing for NFS mount option
2226         "maxgrps".  Added test for mount table entry "maxgroups".
2228         * libamu/mount_fs.c (compute_nfs_args): perform more careful tests
2229         on nfs_proto, because it could be NULL.
2231         * doc/am-utils.texi (Selectors): added example of in_network()
2232         selector.
2234         * aux/macros/check_hide_mount_type.m4: all hpux versions,
2235         including 9.x, should use "ignore" as the mount type to hide from
2236         amd.
2238 Wed Dec 17 13:09:21 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2240         * include/am_utils.h (NSTREQ): use new macro instead of strncmp()
2241         every where in the sources.
2243 Wed Dec 17 01:15:01 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
2245         * libamu/mount_fs.c (print_nfs_args): if -D trace is on, will
2246         print as much info that is given in struct nfs_args as possible.
2247         useful for detecting internal flags and options, as well as the
2248         file handle used.
2250         * scripts/ctl-amd.in: look for amd.conf file in ${prefix}/etc
2251         after /etc and before /etc/local.
2253 Tue Dec 16 18:51:36 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2255         * aux/configure.in, libamu/Makefile.am: added support for linking
2256         with specific versions of libamu.  Upped shared library version of
2257         libamu to 1 (libamu.so.1.0.0)
2259         * include/am_defs.h: added external definition for mkstemp() as
2260         needed.
2262         * minor new port to i386-unknown-netbsd1.3 (BETA version of
2263         netbsd).
2265         * aux/config.guess: don't leave a trailing '.' on the system name
2266         for NetBSD-1.3_BETA and similarly for OpenBSD.
2268         * conf/nfs_prot/nfs_prot_netbsd1_3.h: new header for the slight
2269         differences in ypall calling conventions.
2271         * mk-amd-map/mk-amd-map.c (main): use mkstemp() whenever possible
2272         in preference over mktemp(), b/c it is more secure.
2274         * aux/configure.in: check for mkstemp(), a more secure version of
2275         mktemp().
2277 Mon Dec 15 02:32:14 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2279         * amd/ops_nfs.c (mount_nfs_fh): Systems that include the mount
2280         table "vers" option generally do not set the mnttab entry to
2281         "nfs3", but to "nfs" and then they set "vers=3".  Setting it to
2282         "nfs3" works, but it may break some things like "df -t nfs" and
2283         the "quota" program (esp. on Solaris and Irix).  So on those
2284         systems, set it to "nfs".
2286 Sat Dec 13 01:36:27 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2288         * doc/am-utils.texi (Distrib): updates for new ports, location of
2289         am-utils' home page, and URL cross references (now supported by my
2290         version of texi2html).
2292         * aux/macros/check_mtype_type.m4: also use string type for file
2293         system mount types under nextstep for mount(2).
2295         * aux/macros/check_mtype_printf_type.m4}: nextstep can handle both
2296         integer and string types for file system mount types in mount(2),
2297         but it is better to use string types.
2299         * conf/nfs_prot/nfs_prot_nextstep.h: set emum nfsstat's NFS_OK to
2300         0, not 1!  Otherwise, all NFS calls (esp. mount) return errno 1
2301         (EPERM) instead of 0 (OK).  Fixes m68k-next-nextstep3 which now
2302         works.
2304         * conf/nfs_prot/nfs_prot_bsdi2.h: set emum nfsstat's NFS_OK to 0,
2305         not 1!  Otherwise, all NFS calls (esp. mount) return errno 1
2306         (EPERM) instead of 0 (OK).
2308         * libamu/xdr_func.c (xdr_*): add debugging calls that are optioned
2309         by -D trace (protocol trace).
2311 1997-12-11  Erez Zadok  <ezk@bach.cs.columbia.edu>
2313         * A.m68k-next-nextstep3/amu_nfs_prot.h: define missing S_ISDIR
2314         macro based on existence on others, and include <sys/stat.h>.
2316 Thu Dec 11 14:14:38 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2318         * aux/macros/try_compile_nfs.m4 (AC_TRY_COMPILE): turn off
2319         inclusion of <nfs/nfs_mount.h> which only affects nextstep3, on
2320         which this header is broken (it tries to include non-existing
2321         headers).
2323 Wed Dec 10 16:09:07 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2325         * libamu/mount_fs.c (mnt_flags): support either nfs or generic
2326         mount option for grpid.
2328         * aux/configure.in: turn back on NFS mount option grpid.
2330 Sat Dec  6 04:36:05 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2332         * doc/Makefile.am (install-ps): added target to install postscript
2333         file in the am-utils' home page, as well as a few other useful
2334         files for the new am-utils Web page.
2336 Mon Nov 17 05:22:56 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2338         *******************************************************************
2339         *** Released am-utils-6.0a14                                    ***
2340         *******************************************************************
2342 Sun Nov 16 21:56:16 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2344         * doc/am-utils.texi (Supported Platforms): updated table of new
2345         ports.
2347 Sat Nov 15 06:36:27 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2349         * libamu/mount_fs.c (compute_automounter_nfs_args): pass mnttab
2350         options so that they can be printed in logs as needed.
2352         * doc/am-utils.texi (osver Parameter): updated for the correct
2353         usage of the -o/-O options.
2355         * scripts/amd.conf.5: corrected info for -o/-O options.
2357         * amd/amd.8: updated man page for new -O op_sys_name option, and
2358         corrected the usage of the -o op_sys_ver option
2360         * amd/get_args.c (get_args): added new amd option -O to override
2361         OS name.
2362         (get_args): updated usage string.  Removed old -m option.  Added
2363         -o and -O options.
2365         * conf/nfs_prot/nfs_prot_irix5.h: add definition to FHSIZE in case
2366         it is not there.  Reportedly, irix 5.2 does not define it.
2368         * scripts/lostaltmail.in: removed references to unused $hack
2369         variable.
2371         * aux/macros/check_nfs_prot_headers.m4: Patch from Chris Metcalf
2372         <metcalf@cag.lcs.mit.edu> to correctly set the nfs_prot headers
2373         for solaris2.5.
2375         * doc/am-utils.texi (Distrib): typo in the subscription
2376         instructions to amd-dev.  Patch from Stefan Vogel
2377         <vogel@physik-rzu.unizh.ch>.
2379 1997-11-15  Erez Zadok  <ezk@amtrak.cs.columbia.edu>
2381         * NFS3 works on powerpc-ibm-aix4.2.1.0.
2383         * libamu/mount_fs.c (compute_nfs_args): set fh3 variable to
2384         static.  Some compilers (gcc from egcs  on aix 4.2.1) corrupt the
2385         stack of an automatic variable when pointer to it is passed around
2386         several times.
2388 Fri Nov 14 20:09:28 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2390         * libamu/xutil.c (real_plog): syslog like behavior for normal
2391         logging.  Will not print repeated strings, only a count "last
2392         message repeated N times", but will always print something if
2393         message is repeated more than 100 times.
2395         * scripts/lostaltmail.in: look for lostaltmail.conf files also in
2396         /etc/global, /etc/os, and /etc/local (in that order).
2398 Mon Nov 10 03:03:17 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
2400         * conf/mount/mount_aix.c (mount_aix3): add support for NFS V.3
2401         mounts.
2403         * aux/macros/struct_nfs_args.m4 (AC_TRY_COMPILE_NFS): test for
2404         aix42_nfs_args, specially set in conf/nfs_prot/nfs_prot_aix4_2.h
2406         * conf/sa_dref/sa_dref_*.h: from now on, the "dst" argument to the
2407         NFS_SA_DREF macro is a pointer to the structure that used to be
2408         passed to it before.  So now I have to dereference the pointer
2409         before accessing its values.
2411         * hlfsd/hlfsd.c (main): use the new and cleaner
2412         compute_nfs_args() and compute_automounter_nfs_args() functions.
2414         * amd/ops_nfs.c (mount_nfs_fh): use the new and cleaner
2415         compute_nfs_args() and compute_automounter_nfs_args() functions.
2417         * amd/ops_afs.c (mount_toplvl): MAJOR CODE REVISION.  Use the new
2418         and cleaner compute_nfs_args() and compute_automounter_nfs_args()
2419         functions.
2421         * libamu/mount_fs.c (compute_nfs_args): major code cleanup that
2422         relates for struct nfs_args.  A new function sets the numerous
2423         possible flags and fields of nfs_args_t in an orderly fashion.
2424         Code cleaned up, organized, and moved from amd/hlfsd into
2425         libamu.  This saves on overall size of code.
2426         (compute_automounter_nfs_args): A variant of compute_nfs_args()
2427         which sets special options/flags that need to be used when NFS
2428         mounting an automounter's mount point.  Used by hlfsd and amd.
2430         * amq/amq.c (get_secure_amd_client): don't print any more
2431         "get_secure_amd_client: using TCP, port 12345".  It's more
2432         annoying than useful a message, even when assumed to be compiled
2433         under DEBUG only.
2435 Thu Oct 30 14:33:38 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2437         * aux/macros/check_mnttab_type.m4: MAJOR BUG fixed for non-nfs
2438         mount table entries.  The code used to define the /etc/mnttab name
2439         for file systems based on physical media (disk, cdrom, floppy) to
2440         the generic name, rather than the OS specific name.  For example
2441         autoconf searches for all these types of mount table entries for a
2442         floppy based file system: vfat pcfs pc msdos msdosfs fat.  But if
2443         it found any, it hard-coded the mnttab name to "pcfs" rather than
2444         the actual name found!  Same for ufs, cdfs, pcfs, tmpfs, lofs,
2445         nullfs, unionfs, and umapfs.
2447         * aux/configure.in: also test for xfs (for newer Irix) when
2448         looking for mount type names, numbers, etc of a disk-based ufs.
2450 Sun Oct 26 19:32:57 1997  Erez Zadok  <ezk@defiant.soscorp.com>
2452         * amq/amq.c (main): use pmap_ping() to test if remote host is up.
2453         This works better on bsdi2 and bsdi3, because their portmapper
2454         does not appear to like forwarding operations (it is generaly
2455         insecure).
2457 Sat Oct 25 04:55:56 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2459         *******************************************************************
2460         *** Released am-utils-6.0a13                                    ***
2461         *******************************************************************
2463 Fri Oct 24 05:04:37 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2465         * conf/nfs_prot/nfs_prot_ncr2.h: added missing definition for
2466         struct datum typedef.
2468         * conf/nfs_prot/nfs_prot_netbsd.h: corrected typedef for
2469         ypall_callback_fxn_t for netbsd.
2471         * aux/macros/type_auth_create_gidlist.m4: hpux10.10 uses int for
2472         the 5th arg to authunix_create(), while before and after they used
2473         gid_t.
2475         * conf/transp/transp_tli.c (amu_clnt_create_best_vers): don't use
2476         clnt_create_timed() on older Solaris 2.3 systems that did not have
2477         it.
2479         * conf/nfs_prot/nfs_prot_bsdi2.h: <msdosfs/msdosfsmount.h> is for
2480         kernel only on bsdi2, so do not include it.
2482 Fri Oct 24 00:29:42 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
2484         * hlfsd/stubs.c (nfsproc_readlink_2_svc): avoid logging repeated
2485         messages about resolution of mailboxes based on uid/gid.
2487         * scripts/ctl-hlfsd.in: check for alternate password file in
2488         ${prefix}/etc/passwd and use it in hlfsd's startup.
2490 Thu Oct 23 22:48:50 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
2492         * hlfsd/homedir.c (hlfsd_getpwent): added support for -P
2493         passwdfile option.  If hlfsd is started with -P passwdfile, then
2494         the passwdfile is read and parsed just as a standard unix
2495         passwd(4) file.  Only the username, uid, and homedir fields are
2496         read and checked.  All the rest are ignored.  No NIS/netgroup
2497         support!
2499         * hlfsd/hlfsd.c (main): check if hlfsd is run as root after
2500         parsing command line options, so that usage() can be printed when
2501         -h is invoked.
2503 Wed Oct 22 00:16:39 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
2505         * amd/nfs_start.c (mount_automounter): if autofs service listener
2506         fails to initialize it is OK if using a test amd.
2508         * amd/opts.c (f_in_network): new nomadic function in_network(arg),
2509         which returns TRUE if 'arg' is any one of this host's networks.
2511         * libamu/wire.c (getwire): rewritten parts of function, to store
2512         all networks names and numbers in the order of the interface (not
2513         in reverse).
2515 Mon Oct 20 01:59:25 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2517         * aux/configure.in: don't add ops_ufs.o on AIX twice.  My code
2518         would have worked had it not been due to AIX's buggy /bin/sh.
2520         * doc/Makefile.am (EXTRA_DIST): include am-utils.dvi and
2521         am-utils.ps in the distribution sources.
2522         (html): generate html documentation for
2523         http://www.cs.columbia.edu/~ezk/am-utils/
2525 Sun Oct 19 12:35:49 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2527         * conf/nfs_prot/nfs_prot_netbsd.h: override the definition of
2528         ypall_callback_fxn_t.  The NetBSD team compiles all sources with
2529         gcc -Wall -Wmissing-prototypes -Wstrict-prototypes.
2531         * amd/info_nis.c: allow for override of ypall_callback_fxn_t
2532         function typedef.
2534         * libamu/xutil.c (amu_release_controlling_tty): new function to
2535         release the controlling tty in a clean and sane manner.  No longer
2536         using setpgid() b/c it may not work.  Uses setsid(),
2537         and ioctl() (in order).  This new function is used in amd/amd.c
2538         and hlfsd/hlfsd.c.  Also avoid setpgrp(), because it works on some
2539         systems, but on others it is the same as setpgid().
2541 Sat Oct 18 23:42:40 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2543         * aux/acconfig.h: check for nfs mount option 'fsname'.  Code for
2544         it was in amd/ops_afs.c, amd/ops_nfs.c, and hlfsd/hlfsd.c, but
2545         never used, because the configure test for fsname flag wasn't
2546         used.  This fixed a bug in HPUX 10, where syncer and manual mounts
2547         left blank lines in /etc/mnttab.
2549         * aux/configure.in: check for nfs mount option 'fsname'.
2551 Fri Oct 17 13:30:27 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2553         * amd/ops_afs.c (mount_toplvl): turn on 'ignore' option in nfs
2554         mount flags of toplvl mounts.  Important esp. for HPUX 10.  Now
2555         hpux-10 will mount amd's mounts points as 'ignore' (by df).
2557         * aux/configure.in: check for NFS mount option 'ignore', useful in
2558         HPUX 10.
2560 Thu Oct 16 03:28:33 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2562         * aux/macros/check_hide_mount_type.m4: hpux 10 should use "ignore"
2563         mount type and not NFS, for the amd mount points.
2565         * conf/transp/transp_tli.c (amu_clnt_create_best_vers): don't log
2566         an RPC timeout as an error, but just an info message.  From
2567         Andreas Stolcke <stolcke@speech.sri.com>
2569         * If the NFS server is down or does not support the portmapper
2570         call (such as certain Novell NFS servers) we mark it as version 2
2571         and we let the nfs code deal with the case that is down.  If when
2572         the server comes back up, it can support NFS V.3 and/or TCP, it
2573         will use those.  From christos@deshaw.com (Christos Zoulas).
2575         * hlfsd/homedir.c (plt_print): various compile time cleanups to
2576         printfs that take a long, but pass an int to print.  From
2577         christos@deshaw.com (Christos Zoulas).
2579         * aux/macros/func_bad_yp_all.m4 (ac_cv_func_yp_all_clean,): new
2580         macro to determine if the OS has a bad yp_all(), based on the host
2581         OS name.  So far only irix (all versions) have a bad yp_all, so
2582         they will use am_yp_all() instead (which is slower as it
2583         enumerates manually all of the map's entries).
2585 Thu Oct 16 03:14:37 1997  Erez Zadok  <ezk@subzero.cs.columbia.edu>
2587         * amd/info_nis.c (am_yp_all): code for a replacement yp_all that
2588         avoids using a file-descriptor leaking yp_all() on some systems
2589         like irix.
2591 Wed Oct 15 21:52:35 1997  Erez Zadok  <ezk>
2593         * fsinfo/fsinfo.h: avoid redefining yywrap incorrectly on DU-4.x
2594         systems using /usr/bin/flex.
2596         * amd/conf_tok.l (yywrap): avoid redefining yywrap for systems
2597         that have a modified GNU flex which does define yywrap (DU-4.x).
2599 Fri Sep 26 14:25:29 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2601         * conf/checkmount/checkmount_bsd44.c: include prototype.
2603 Fri Sep 26 01:26:24 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2605         *******************************************************************
2606         *** Released am-utils-6.0a12                                    ***
2607         *******************************************************************
2609 Fri Sep 26 00:13:48 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2611         * conf/nfs_prot/nfs_prot_irix6.h: completely turn off all autofs
2612         code in irix6 until it can be tested correctly
2614         * conf/transp/transp_tli.c (amu_clnt_create_best_vers): time out
2615         on clnt_create for 3 seconds, rather than wait for the much longer
2616         default.
2618         * conf/nfs_prot/nfs_prot_aix4_2.h: port to powerpc-ibm-aix4.2.1.0.
2619         Includes NFS3, untested.
2621 Thu Sep 25 11:03:11 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2623         * amd/ops_pcfs.c (mount_pcfs): fill in uid/gid fields of
2624         pcfs_args_t if they exist.
2626         * amd/ops_cdfs.c (mount_cdfs): fill in ssector field of
2627         cdfs_args_t if it exists.
2629         * new minor ports hppa1.1-hp-hpux10.10, hppa1.1-hp-hpux9.05,
2630         hppa1.1-hp-hpux9.07, m68k-hp-hpux9.00, and sparc-sun-sunos4.1.4.
2632 Wed Sep 24 00:48:05 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2634         * doc/am-utils.texi (wire-test): updated documentation for the new
2635         option.
2637         * wire-test/wire-test.8: updated man page for new option.
2639         * wire-test/wire-test.c (main): added a test for various
2640         combinations of NFS proto/vers to a remote/local host.
2642         * aux/macros/try_compile_anyfs.m4 (AC_TRY_COMPILE): include
2643         <isofs/cd9660/cd9660_mount.h> and <msdosfs/msdosfsmount.h> so that
2644         freebsd will correctly set mount options for pcfs and cdfs.
2646         * amd/ops_pcfs.c (mount_pcfs): set mask field of pcfs_args to
2647         0777 (if field exists).
2649         * aux/macros/try_compile_anyfs.m4 (AC_TRY_COMPILE): include
2650         <msdosfs/msdosfsmount.h> if available.
2652         * minor new port: rs6000-ibm-aix4.1.4.0.
2654         * libamu/mount_fs.c (mount_fs): fixed bug that caused HPUX not to
2655         write the "time" field in /etc/mnttab.
2657         * conf/mtab/mtab_file.c (mnt_dup): fixed typo in macro names for
2658         detecting mnt_time field of mntent_t.
2660         * libamu/mtab.c (mnt_free): fixed typo in macro names for
2661         detecting mnt_time field of mntent_t.
2663 Tue Sep 23 15:30:03 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2665         * conf/mtab/mtab_file.c (lock): Use flock() in preference over
2666         fcntl() to lock the mtab file.
2668 Mon Sep 22 23:04:58 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2670         * conf/transp/transp_sockets.c (get_nfs_version): define
2671         the try_again goto label only for NFS3.
2672         (pmap_ping): assume timeout failure of clnt_stat.
2674         * libamu/xdr_func.c (xdr_groupnode, xdr_exportnode): cast to
2675         "groups *".
2677 Mon Sep 22 20:34:33 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
2679         * conf/transp/transp_sockets.c (pmap_ping): patch from Dan Riley
2680         <dsr@mail.lns.cornell.edu> to make sure that amd works with more
2681         secure portmappers that do not allow forwarding of RPC messages to
2682         other services.
2684         * */Makefile.am: all source files should also depend on the new
2685         include/am_xdr_func.h header.
2687         * include/am_xdr_func.h: new file as part of the code cleanup from
2688         Christos Zoulas <christos@deshaw.com>.
2690         * Lots of fixes from Christos Zoulas <christos@deshaw.com> that
2691         involved missing prototypes, cleaned up ones, and removal of
2692         unused variables.
2694         * libamu/xdr_func.c (xdr_mountres3): some code cleanup.  A switch
2695         statement with only one case is unclean.
2697 Mon Sep 22 17:26:38 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2699         * amd/ops_<FOO>fs.c (mount_<FOO>fs): initialize mntent_t fields to
2700         0 so that all fields are initialized to zero at first.  This way
2701         SunOS 4.x and other systems don't get /etc/mtab entries with
2702         random integers for the fsck/freq fields. Patch from Andreas
2703         Stolcke <stolcke@speech.sri.com>.
2705 Mon Sep 22 00:34:19 1997  Erez Zadok  <ezk@americas.psl.cs.columbia.edu>
2707         * conf/nfs_prot/nfs_prot_sunos4.h: include <nfs/nfs_clnt.h> so
2708         that the important definition for HOSTNAMESZ will be found.
2710         * amd/ops_afs.c (mount_toplvl): limit hostname size to HOSTNAMESZ
2711         (inside the nfs_args structure) if the system uses that macro.
2712         Otherwise systems like SunOS refuse to NFS mount long pathnames
2713         and result in ENAMETOOLONG errno's.
2715 Wed Sep 17 04:56:11 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2717         * doc/am-utils.texi (Supported Platforms): specify new support for
2718         solaris 2.6, and hlfsd running on 2.5.1 too.
2720 Wed Sep 17 03:55:02 1997  Erez Zadok  <ezk@amsterdam.psl.cs.columbia.edu>
2722         * conf/mount/mount_svr4.c (mount_svr4): don't attemt an autofs
2723         mount if it is not supported or was turned off.
2725 Wed Sep 17 03:19:36 1997  Erez Zadok  <ezk@americas.psl.cs.columbia.edu>
2727         * conf/nfs_prot/nfs_prot_sunos4.h: fixed so that it will nfs mount
2728         again.  Apparently at some previous release SunOS 4 supported was
2729         broken and all nfs mounts resulted in ESTALE.
2731 Wed Sep 17 00:26:25 1997  Erez Zadok  <ezk@amsterdam.psl.cs.columbia.edu>
2733         * conf/nfs_prot/nfs_prot_sunos5_6.h: nfs protocol headers for
2734         solaris 2.6.
2736         * aux/macros/check_nfs_prot_headers.m4: added solaris 2.6 nfs
2737         protocol header selection.
2739 Sat Sep 13 14:31:51 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2741         * conf/transp/transp_tli.c (amu_clnt_create_best_vers): avoid
2742         infinite loop.
2744 Sun Sep  7 18:23:23 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2746         *******************************************************************
2747         *** Released am-utils-6.0a11                                    ***
2748         *******************************************************************
2750 Fri Sep  5 11:55:10 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2752         * amd/amd.c (main): if plock() succeeded, don't try to display
2753         errno message.   Patch from Chris Metcalf
2754         <metcalf@catfish.lcs.mit.edu.
2756 Thu Sep  4 19:17:58 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2758         * hlfsd/homedir.c (table_add): make sure duplicate passwd entries
2759         are ignored.   Only the first entry should ever be used, because
2760         that's how lookup in passwd database works.
2762         * conf/transp/transp_sockets.c (get_nfs_version): when determining
2763         if a remote host is up or down, use NFS v.2.  Fix suggested by
2764         Enami Tsugutomo <enami@cv.sony.co.jp>.
2766         * conf/transp/transp_tli.c (amu_clnt_create_best_vers): new
2767         function to get the best possible NFS version, but also timeout
2768         faster than normal defaults, so remote hosts which are down can be
2769         detected in a reasonable time.
2770         (get_nfs_version): use the new "best" function.
2772 Tue Sep  2 00:41:00 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2774         *******************************************************************
2775         *** Released am-utils-6.0a10                                    ***
2776         *******************************************************************
2778 Mon Sep  1 15:39:51 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2780         * conf/transp/transp_tli.c (get_nfs_version): don't use
2781         clnt_tp_create_timed() on systems that don'e have it (Solaris 2.4
2782         and earlier).
2784         * aux/configure.in: test for existence of clnt_tp_create_timed(),
2785         since Solaris 2.4 (and possibly earlier) do not have it.
2787 Mon Sep  1 15:23:18 1997  Erez Zadok  <ezk@felix.psl.cs.columbia.edu>
2789         * amd/ops_autofs.c (autofs_unmount_1_svc): only display rdevid
2790         field if it exists (solaris 2.4's autofs does not have it).
2792 Mon Sep  1 14:45:09 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2794         * aux/macros/type_auth_create_gidlist.m4: a new test to determine
2795         the correct type to the 5th argument of authunix_create().
2797 Mon Sep  1 03:44:32 1997  Erez Zadok  <ezk@felix.psl.cs.columbia.edu>
2799         * libamu/xdr_func.c (xdr_umntrequest): add test for autofs
2800         structure umntrequest, if it has the field rdevid.  Seems Solaris
2801         2.4 and earlier didn't have it.
2803 Mon Sep  1 01:10:53 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2805         * hlfsd/hlfsd.c (hlfsd_init): moved initialization upwards, so it
2806         can be done before primary process forks.
2807         (main): bug fix: wait a bit to give child a chance to initialize.
2808         Without this, hlfsd got into a busy infinite loop while, never
2809         completing the mount.
2811         * amd/info_nis.c: patch from Jason Thorpe <thorpej@nas.nasa.gov>
2812         to make amd works when talking to NIS+ servers in NIS
2813         compatibility mode.
2815 Mon Sep  1 00:46:56 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
2817         * amd/mapc.c (MAX_CHAIN): increased maximum chain size to 1024.
2819 Sun Aug 31 20:20:40 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
2821         * amd/conf.c (gopt_fully_qualified_hosts): a new function to
2822         process another new global variable.
2824         * amd/ops_nfs.c (make_nfs_auth): if a new global variable
2825         fully_qualified_hosts is on, use FQHN in RPC/NFS authentications.
2826         Patch from Chris Metcalf <metcalf@catfish.lcs.mit.edu>.
2828         * amd/conf.c (process_last_regular_map): If the amd.conf file only
2829         has a [global] section (pretty useless IMHO), do not try to
2830         process a map that does not exist.
2832         * scripts/amd.conf.5: fixed typos (repeated 'as' word).
2834         * doc/am-utils.texi: MAJOR DOCUMENTATION REVISION COMPLETED!!!
2836         * amd/conf.c (reset_cf_map): Bug fix.  Reset 'tag' field of cfm
2837         structure, so it does not carry over from map entry to another.
2839 Sat Aug 30 18:39:21 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
2841         * amd/amd.c (main): fixed the meaning of the plock option.  A bug
2842         caused it to be reversed.
2844 Sat Aug 30 15:13:18 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2846         * hlfsd/stubs.c: don't initialize some statics here.  They are
2847         better initialized in hlfsd_init_filehandles().
2849 Fri Aug 22 14:47:16 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2851         * amd/conf.c (gopt_show_statfs_entries): new function and a global
2852         amd.conf key show_statfs_entries.  Defaults to 'no'.  If 'yes',
2853         then all maps flagged as browsable will also show a count of the
2854         number of entries (keys) in that map.
2856         * amd/nfs_subr.c (count_map_entries): new function to count number
2857         of entries in a map.  Now used if browsable is turned on in a map,
2858         to return a count of available keys in a given map.
2860         * hlfsd/stubs.c (eq_fh): use correct memcmp().  BUG fixed! hlfsd
2861         confused the file handles for ".", "..", and the symlink, causing
2862         mess.
2864         * aux/macros/func_bad_memcmp.m4: new test, based on autoconf 2.12,
2865         but also defines HAVE_BAD_MEMCMP, so I avoid linkage conflicts
2866         with bad memcmp() in libc's (nextstep3).
2868 Thu Aug 21 17:38:41 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2870         * aux/configure.in: check if autofs_args_t has a field named
2871         addr.  Solaris has it for specifying the address of the daemon,
2872         but Irix does not.  So how does irix tell the kernel the daemon's
2873         address?  I suspect that it is hardcoded to "localhost" using a
2874         "private well-known port" (#define AUTOFS_PORT 2048).
2876         * conf/nfs_prot/nfs_prot_linux.h: added missing autofs
2877         definitions.
2879         * README.autofs: new file listing autofs support notes
2881         * very preliminary autofs code working.  Call it pre-alpha
2882         quality.
2884 Sun Aug 17 02:25:09 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2886         * amd/conf.c (ropt_mount_type, gopt_mount_type): don't accept
2887         "autofs" if system does not support it.
2889         * amd/amd.c (main): log am-utils version string (same as amd -v)
2890         at start of run.
2892         * conf/transp/transp_sockets.c (get_nfs_version): in order to tell
2893         if a remote host is available, try to contact its portmapper and
2894         timeout if no answer is received in 3 seconds.
2896 Thu Aug 14 16:12:04 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2898         * aux/macros/check_extern.m4 (pattern): use a simpler pattern for
2899         match for external function definitions.  The function could span
2900         multiple lines, so only match the opening parenthesis, not the
2901         closing one too.
2903         * aux/macros/os_cpp-flags.m4 (ac_cv_os_cppflags,): do NOT turn on
2904         posix mode for nextstep3.  It is broken.
2906         * amd/amd.c (init_global_options): run uname() only if
2907         <sys/utsname.h> and uname(2) exist.
2909         * amd/rpc_fwd.c (fwd_packet): if remote host is down, the
2910         forwarding socket is null, so declare this an error.
2912         * include/am_utils.h (AM_ERRNO_HOST_DOWN): find best errno to set
2913         for when a remote host is down.  Try, in order, "host down", "host
2914         unreachable", "invalid argument".
2916         * amd/ops_nfs.c (discard_fh): don't dereference a null pointer
2917         (happens when remote host is down, and fp->fh_fs is NULL).
2918         (prime_nfs_fhandle_cache): ditto, and set fs flags to !FSF_VALID
2919         and FSF_DOWN.
2921         * amd/sched.c: nobody uses "union wait" any more, or so it
2922         appears, so clean up that code.
2924         * conf/transp/transp_tli.c (get_nfs_version): if remote host is
2925         down, time it out faster than default (3 seconds).
2926         (get_mount_client): free netconfig entry when done with it.
2928         * conf/nfs_prot/nfs_prot_nextstep.h: initial (and somewhat ugly)
2929         port to nextstep3 (m68k-next-nextstep3).
2931         * fsinfo/Makefile.am (LDADD): needs to link with libamu in case
2932         system does not have strdup().
2934         * include/am_defs.h: complete external definition for getlogin()
2935         if needed.
2937         * conf/transp/transp_tli.c (get_nfs_version): no need to keep
2938         static versout variable.
2940         * amd/rpc_fwd.c (fwd_packet): if fwdto packet is null, remote
2941         server is probably down.  Don't use sendto() in that case.
2943         * buildall (default): run gmake if found, before trying plain
2944         make.  GNU make is always preferable.
2946 Tue Aug 12 21:23:58 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2948         * aux/macros/host_macros.m4: cleanup of os_version and os
2949         overrides.  Solaris 2.5.1 for example will come up as solaris2 and
2950         2.5.1, rather than sunos5 and 5.5.1.  Both can be overridden in
2951         the amd.conf file.
2953 Fri Aug  8 14:37:30 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2955         *******************************************************************
2956         *** Released am-utils-6.0a9                                     ***
2957         *******************************************************************
2959 Thu Aug  7 00:52:14 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2961         * conf/nfs_prot/nfs_prot_ncr2.h: new file, for NCR2
2962         (i486-ncr-sysv4.3.03) headers.  Needed to complete missing stuff
2963         from <ndbm.h> and <sys/resource.h>.
2965         * scripts/amd.conf.5: new map page.
2967         * amd/info_hesiod.c: define extern for hesiod_resolve, since bsdi3
2968         does not.
2970         * amd/amd.8: updated man page.
2972         * amd/get_args.c (get_args): removed defunct -h option to amd.
2974         * amq/amq.8: updated man page.
2976         * amd/info_nisplus.c (nisplus_search): prototype fixes so Sun
2977         SparcCompiler CC won't complain.
2979         * amd/info_hesiod.c (hesiod_search): small fixes to compile with
2980         hesiod-1.3, as per Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
2982         * aux/macros/opt_ldflags.m4: new option added to configure
2983         --enable-ldflags, to specify -L option for configuring/compiling.
2984         The older one --enable-libs is now to be used only for -l options.
2986         * amd/ops_nfs.c (mount_nfs_fh): bug fixed.  Should initialize
2987         nc_protoname from nfs_proto if available for all TLI systems, not
2988         just those that have NFS V3.
2990         * amd/info_ldap.c: ldap patches from Leif Johansson
2991         <leifj@matematik.su.se>, adding two new amd.conf ldap variables:
2992         ldap_cache_seconds and ldap_cache_maxmem.
2994         * hlfsd/hlfsd.c (main): bug fixed. port number must be wrapped in
2995         htons().
2997 Sun Aug  3 17:20:05 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
2999         * amd/nfs_start.c (mount_automounter): register amd with the rpc
3000         program number that may have been overridden by amd.conf.
3002         * libamu/xutil.c (set_amd_program_number, get_amd_program_number):
3003         allow storing and retrieving alternate amd program numbers.
3005         * amd/conf.c (gopt_portmap_program): new function to parse
3006         amd.conf entry portmap_program=1234.
3008         * amq/amq.c (main): allow specifying an alternate rpc program
3009         number for amd via -P prognum.
3011         * new amq RPC to get the process id of the running amd.  This is
3012         used in ctl-amd to quickly find the pid of the amd that is to be
3013         killed.
3015         * expanded shared libraries support.  Using GNU libtool-1.0,
3016         am-utils now builds shared libraries on many platforms that have
3017         support for it and proper compilers/linkers.  See "INSTALL" file
3018         for compatibility chart.
3020 Thu Jul 31 13:07:23 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3022         * fsinfo/fsi_lex.l: removed code that was in support of very old
3023         versions of flex.  No longer needed.
3025 Tue Jul 29 12:00:13 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3027         * amd/amd.c (init_global_options): find the kernel architecture
3028         from uname() if possible.
3030 Mon Jul 28 03:53:59 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3032         * new working port: i386-unknown-openbsd2.1
3034 Fri Jul 25 03:16:31 1997  Erez Zadok  <ezk@felix.psl.cs.columbia.edu>
3036         * working port: sparc-sun-solaris2.4.  Had to fix fhandle_t from
3037         structure to actual char[], because the structure was passed to
3038         xdr_fhandle as data and not a pointer.  Surprisingly, gcc
3039         -fpcc-struct-return did not help.
3040         
3041         * conf/nfs_prot/nfs_prot_sunos5_4.h: special nfs protocol
3042         definitions for solaris 2.4 have to be different from 2.3, and
3043         different from 2.5.
3045         * libamu/xdr_fhstatus.c (xdr_fhstatus): minor code cleanup.
3047 Thu Jul 24 16:22:39 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3049         * conf/mount/mount_svr4.c (mount_svr4): use STREQ to compare mount
3050         types, not ==.  Fix from Christos Zoulas <christos@deshaw.com>.
3052         * mk-amd-map/mk-amd-map.8: man page taken from bsd44.
3054 Thu Jul 24 00:01:55 1997  Erez Zadok  <ezk@moisil.cs.columbia.edu>
3056         * conf/mount/mount_linux.c: made the nfs error mapping code into a
3057         small function.
3059 Wed Jul 23 16:11:49 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3061         * conf/nfs_prot/nfs_prot_linux.h (NFS_ERROR_MAPPING): special
3062         error mappings from errno numbers to NFS errors.  From Debian
3063         Linux.
3065         * scripts/am-eject.in (fs): new script (taken from Debian Linux
3066         folks) to auto-unmount floppy/cd devices before ejecting them.
3068         * fsinfo/wr_exportfs.c (write_exportfs): from Debian folks, pass
3069         '5' as second arg to show_area_being_processed.  I'm not sure why.
3071         * fsinfo/wr_atab.c (write_atab): from Debian folks, pass '5' as
3072         second arg to show_area_being_processed.  I'm not sure why.
3074         * conf/mount/mount_linux.c (parse_opts): as per Debian Linux,
3075         ensure that you have a buffer in *xopts to strcat onto.
3076         (mount_linux): fixed from Debian folks to ensure that NFS mount
3077         sockets are connected only for kernels prior to 1.3.10 (avoids
3078         hangs for multi-homed hosts).
3080         * amd/mapc.c (make_entry_chain): from Debian folks: don't skip
3081         over amd map keys that have a prefix, and include the prefix in
3082         the returned readdir().
3084         * amd/info_passwd.c (passwd_init, passwd_search): format
3085         enhancements from the Debian Linux folks.  They added
3086         - var0:=pw-prefix:=anydir
3087         - var1:=pw-rhost:=dom3.dom2.dom1
3088         - var2:=pw-user:=user
3089         - var3:=pw-home:=/anydir/dom1/dom2/dom3/user
3091         * new ports: sparc-sun-solaris2.4 and sparc-sun-sunos4.1.1.
3093         * amd/ops_afs.c (afs_retry): patches from Debian Linux.  If
3094         afs_mount timed out, then explicitly forbid further retries after
3095         the timeout.  (afs_bgmount): buf fix from Debian Linux.  Timeout
3096         values (17 and 5) were mistakenly swapped.
3098 Wed Jul 23 15:53:25 1997  Erez Zadok  <ezk@felix.psl.cs.columbia.edu>
3100         * conf/nfs_prot/nfs_prot_sunos5_3.h: turn off non-existent NFS V.3
3101         support for Solaris 2.4 (the header files incorrectly define parts
3102         of the NFS V.3 protocol, but the kernel does not support it).
3104 Wed Jul 23 00:07:12 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3106         * amd/info_hesiod.c: minor cleanup to use hes_init and hesiod_init
3107         for determining if using old or new hesiod libraries,
3108         respectively.
3110         * amd/ops_nfs.c (mount_nfs_fh): If "noconn" option exists in NFS
3111         V.3 then use non-connected sockets (both TCP and UDP).  Otherwise
3112         they cause hangs of mounts from multi-homed hosts when the return
3113         route is not the same as the outgoing route (esp. on NetBSD
3114         1.2.1).  If "conn" option was supplied, then don't turn on the
3115         "noconn" mount option.  Otherwise default to "noconn" mount
3116         option.
3118         * aux/configure.in: better check for systems that need libgdbm and
3119         <ndbm.h>
3121 Tue Jul 22 04:02:05 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3123         * hlfsd/hlfsd.c (main), amd/ops_afs.c (mount_toplvl): ensure that
3124         mounts are hidden from df(1) on systems that keep mount tables in
3125         kernel, such as osf1.
3127 Tue Jul 22 02:26:55 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3129         *******************************************************************
3130         *** Released am-utils-6.0a8                                     ***
3131         *******************************************************************
3133 Mon Jul 21 21:33:19 1997  Erez Zadok  <ezk@stone.mcl.cs.columbia.edu>
3135         * hlfsd/hlfsd.c (main): bug fixed: forgot to set sin_family to
3136         AF_INET when hlfsd mounts itself, thus getting an errno "protocol
3137         family not supported".
3139 Mon Jul 21 20:46:59 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3141         * verified that amd on NetBSD 1.2.1 (i386) works, but the OS
3142         itself is flaky.
3144         * verified that amd AIX 3 works w/ the new readdir() code.
3146 Mon Jul 21 18:59:30 1997  Erez Zadok  <ezk@chestnut.mcl.cs.columbia.edu>
3148         * amd/mapc.c (maptypes): changed the default map caching type for
3149         nis and ndbm maps to "MAPC_ALL", so that all possible entries will
3150         be available to amd for browsable_dirs=yes.
3152 Mon Jul 21 18:04:16 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3154         * amd/ops_afs.c (afs_readdir, afs_readdir_browsable): split
3155         afs_readdir into a browsable version and a non-browsable one.
3156         Fixed bugs that resulted in an infinite nfs_readdir loop on the
3157         localhost for some operating systems.
3159 Sat Jul 19 19:38:38 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3161         * amd/ops_afs.c (afs_readdir): fixed up the browsable code to
3162         comply with nfs_readdir specs.  It was returning all entries at
3163         once, even if there was not enough space in the RPC packet.  Now,
3164         it sends a reasonably sized chunk, and sets static state to resume
3165         it for the next continuation RPC of readdir.
3167         * amd/conf.c (set_conf_kv): fixed bug that resulted in the first
3168         regular map not getting all of the [global] options defaulted from.
3170 Fri Jul 18 00:45:12 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3172         * amq/amq.c (main): fixed so that portmapper "ping" will only fail
3173         upon an RPC timeout
3175         * scripts/ctl-{amd,hlfsd}.in (killproc): better method to find the
3176         amd/hlfsd process to kill.
3178         * amd/ops_afs.c (mount_toplvl), hlfsd/hlfsd.c (main): code to
3179         determine how to avoid df from seeing amd's toplvl mounts.  Moved
3180         from libamu/mount_fs.c and include/am_utils.h.  Ensure that hlfsd
3181         is hidden from df.
3182         (mount_toplvl): fixed df types for irix.
3184 Thu Jul 17 21:59:45 1997  Erez Zadok  <ezk@americas.psl.cs.columbia.edu>
3186         * amq/amq.c (main): fixed bug that caused the 5 second timeout for
3187         TLI amq using udp to be ignored.
3188         (main): if amq cannot contact remote host's portmapper within 5
3189         seconds, timeout and fail faster than the default longer timeout
3190         (this is for non-TLI systems).
3192 Thu Jul 17 17:08:13 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3194         * amq/amq.c (get_secure_amd_client): if amq cannot contact
3195         remote host's portmapper within 5 seconds, timeout and fail faster
3196         than the default TLI timeout of over 4 minutes.
3198         * amd/am_ops.c (ops_showfstypes): added styles for new bsd44
3199         file systems nullfs, unionfs, and umapfs.
3200         (ops_show1): cleanup code and and reuse this function.
3201         (vops): empty placeholders for nullfs, unionfs, and umapfs.
3203         * amd/ops_{nullfs, unionfs, umapfs}.c: 3 new empty templates for
3204         bsd44 style file systems.
3206         * fsinfo/fsinfo.8: man page for fsinfo rewritten from bsd44
3207         sources.
3209         * amd/conf_tok.l, fsinof/fsi_lex.c: undefine ECHO to avoid
3210         conflict with systems that define it in <sys/ioctl.h> and also
3211         define a conflicting one via lex.  Newer versions of f/lex are ok.
3213 Wed Jul 16 00:17:45 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3215         * amd/ops_nfs.c (mount_nfs_fh): fill in nfs_args' fields
3216         acdirmin/max and acregmin/max only if they exist.
3218         * aux/configure.in: test for nfs_args fields acdirmin and
3219         acregmin.
3221 Tue Jul 15 17:24:09 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3223         * aux/configure.in: commented out checking for MNT2_GEN_OPT_* for
3224         "nondev" and commented back in checking for "nodev".  This was a
3225         typo.
3227         * include/am_compat.h: more compatibility options: define "ro"
3228         mnttab option all the time.  Define "overlay" as needed.  Added
3229         more fillers of mnttab options (as per Daniel S. Riley
3230         <dsr@mail.lns.cornell.edu>), for acdirmax, acdirmin, acregmax,
3231         acregmin, noac, grpid, nosuid, and actimo.
3233         * libamu/mount_fs.c (mnt_flags): fixed a typo in "ro" option as
3234         per dsr@mail.lns.cornell.edu (Daniel S. Riley).  Then cleaned up
3235         the same code for other options in struct opt_tab.
3237 Mon Jul 14 22:36:37 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3239         * amd/get_args.c (get_args): moved amd.conf file parsing to before
3240         the switching the default log/debug options.  Suggested by
3241         dsr@mail.lns.cornell.edu (Daniel S. Riley).
3243         * aux/update_build_version: new script to record the build version
3244         of amd, along with the rest of the info thet comes up with amd -v.
3246 Sun Jul 13 00:30:24 1997  Erez Zadok  <ezk@decca.damtp.cam.ac.uk>
3248         * aux/macros/os_cflags.m4: new macro, to add additional
3249         compilation options (also used during configuration), based on the
3250         OS and the compiler.  Used for solaris-2.6, osf, and irix6.
3252 Fri Jul 11 10:15:11 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3254         * amd/conf_tok.l, conf_parse.y: allow values of keys to include
3255         white spaces, if they are double-quoted (key="some value")
3257         * amd/info_hesiod.c (hesiod_search): cleanup and minor bug fixes
3258         of hesiod from Danny Braniss <danny@cs.huji.ac.il>.
3260 Fri Jul 11 02:16:06 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3262         *******************************************************************
3263         *** Released am-utils-6.0a7                                     ***
3264         *******************************************************************
3266 Thu Jul 10 12:19:25 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3268         * include/am_defs.h: fill in extern definition of innetgr() in
3269         case system headers don't.
3271         * aux/macros/path_prog_lex.m4 aux/configure.in: using macros that
3272         will show the full pathname to yacc/bison and f/lex.  Some systems
3273         have older or bad versions of those and this way the user will
3274         know for sure what is being invoked.
3276         * tasks: file populated with todo items.
3278         * scripts/amd2ldif.in: Script to convert amd maps to plain text
3279         LDAP object files.  Contributed by Leif Johansson
3280         <leifj@matematik.su.se>.
3282         * aux/config.guess: added recognition for sun3's running 4.2bsd,
3283         from Tom Schmidt <tschmidt@micron.com>.  Fixed one small typo.
3285         * amd/conf.c: several variables that were local to a map, were
3286         also added to [global], where they apply to all maps.  Each map
3287         can then individually override those defaults.  Flags
3288         affected: browsable_dirs and mount_type.  Options affected:
3289         map_type, map_options, and search_path.
3291         * amd/amd.h: eliminated several global flags each of which took an
3292         int, in favor of one global flags variable used as a bit field.
3294         * amd/amd.c (init_global_options): moved all global variables into
3295         a single struct amu_global_options, so it is easier to add new
3296         ones and/or identify existing ones.
3298         * amd/get_args.c (get_args): removed unused amd -m option.
3300         * amd/conf.c (gopt_cluster): added new amd.conf option for cluster
3301         name, same as amd -C.
3303         * amd/info_ldap.c: LDAP info map functions from Leif Johansson
3304         <leifj@matematik.su.se>.
3306         * amd/conf.c (gopt_ldap_base, gopt_ldap_hostports): put in global
3307         amd.conf options for ldap_base and ldap_hostports.
3309         * amd/opts.c (f_netgrp): new amd map function netgrp(ARG) to test
3310         if the current host is in the ARG host netgroup.
3312         * aux/configure.in: some systems replaced dbm in libc with GNU's
3313         libgdbm, so check for libgdbm, but only if dbm_open is not in
3314         libc already.  This was a recommendation from Tom Schmidt
3315         <tschmidt@micron.com>.
3317         * conf/nfs_prot/nfs_prot_sunos5_3.h: port to sparc-sun-solaris2.3
3318         completed.
3320 Wed Jul  9 18:14:59 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3322         * port to sparc-unknown-netbsd1.2E done, not tested.  Includes NFS
3323         V.3.
3325 Tue Jul  8 17:35:07 1997  Erez Zadok  <ezk@elk.mcl.cs.columbia.edu>
3327         * port to i386-unknown-freebsd3.0 done and working.  Includes NFS
3328         V.3.
3330         * aux/macros/check_nfs_fh_dref.m4: freebsd3 should use
3331         file handle dereferencing style similar to freebsd22.
3333         * include/am_defs.h: need to include <net/if_var.h> before
3334         <netinet/if_ether.h> on freebsd3.
3336         * conf/nfs_prot/nfs_prot_freebsd3.h: new protocol header additions
3337         for freeBSD 3.0.
3339 Tue Jul  8 16:53:41 1997  Erez Zadok  <ezk@moisil.cs.columbia.edu>
3341         * amd/info_nis.c (nis_reload): cast nis' callback function so
3342         picky compilers won't complain.
3344         * libamu/xdr_mountres3.c (xdr_mountres3): make sure this function
3345         gets compiled only if the system has NFS V3 and does not have
3346         xdr_mountres3.
3348 Tue Jul  8 12:42:03 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3350         * COPYING: put in some legal stuff in this file.
3352 Mon Jul  7 19:10:44 1997  Erez Zadok  <ezk@prometheus.soscorp.com>
3354         * NFS V3 now works under Irix5, thanks to patches from 
3355         Andreas Stolcke <stolcke@speech.sri.com>.
3357         * conf/mount/mount_irix5.c: sparate mount_irix.c into an irix5
3358         version and an irix6 version, since irix5's NFS V3 code is broken
3359         and hacky.
3361         * amd/info_hesiod.c (hs_zone_transfer): minor fixes to buffer
3362         sizes for some hesiod queries.  Patch from Danny Braniss
3363         <danny@cs.huji.ac.il>.
3365 Mon Jul  7 19:04:14 1997  Erez Zadok  <ezk@glory.soscorp.com>
3367         * amd/ops_nfs.c (mount_nfs_fh): fixed NFS V.3 support for bsdi3.
3369 Sun Jul  6 14:22:24 1997  Erez Zadok  <ezk@glory.soscorp.com>
3371         * aux/{configure.in,acconfig.h}: added checks for struct
3372         nfs_args's fields proto and sotype (bsdi3).
3373         
3374         * amd/ops_nfs.c (mount_nfs_fh): added nfsv3 option to
3375         nfs_args.flags for bsdi3.  Set field proto to 0.  Set sotype field
3376         to SOCK_STREAM or SOCK_DGRAM.
3378         * aux/macros/check_mount_style.m4: add case for bsdi3.
3380         * amd/info_hesiod.c: got hesiod support for bsdi3.
3382 Sun Jul  6 11:14:47 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3384         * aux/configure.in: look for hesiod on libc (bsdi3)
3386         * amd/get_args.c (get_args): reformat usage so it fits in 80
3387         columns.
3389         * scripts/ctl-amd.in: changed directory name for optional tftpboot
3390         map to /tftpboot/.amd.
3392 Sat Jul  5 17:46:45 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3394         *******************************************************************
3395         *** Released am-utils-6.0a6                                     ***
3396         *******************************************************************
3398 Sat Jul  5 03:17:09 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3400         * scripts/ctl-amd.in: include -T tag for tftpboot.
3402         * new port: mips-sgi-irix5.3.  Compiled with gcc, but NFS V3 code
3403         is broken and needs work on the specific nfs_args that irix5 uses
3404         for V3 mounts.
3406 Sat Jul  5 01:44:25 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
3408         * amd/get_args.c (get_args): new options amd -T tag.  A map with
3409         tag=foo matching the -T tag will be processed.  All untagged maps
3410         get processed all the time.
3412 Fri Jul  4 16:19:26 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3414         * aux/configure.in: need to check for strcasecmp in libucb (ncr2)
3416         * aux/macros/check_os_libs.m4: a new macro to set the usage of
3417         libnsl and libsocket based on the OS.
3419         * libamu/mount_fs.c (mnt_flags): used MNTTAB_OPT_GRPID if it is
3420         defined (problem on osf4).
3422         * conf/nfs_prot/nfs_prot_irix5.h: new file for irix5 headers.
3424         * include/am_defs.h, aux/macros/try_compile_nfs.m4,
3425         aux/macros/mount_headers.m4: do include <sys/proc.h> because it
3426         failes on irix5.  Rather, put in the individual
3427         conf/nfs_prot/nfs_prot_*.h headers.
3429         * amd/conf.c: AIX3 doesn't like strdup() being passed a constant
3430         char*, so cast all strdup()'s args to a non-const char*.
3432         * amd/mapc.c (root_newmap): don't try to strdup only a "const
3433         char *".
3435 Fri Jul  4 15:47:10 1997  Erez Zadok  <ezk@americas.psl.cs.columbia.edu>
3437         * conf/nfs_prot/nfs_prot_sunos4.h: added rpc/rpc.h and
3438         sys/errno.h.
3440 Thu Jul  3 17:49:00 1997  Erez Zadok  <ezk@prometheus.soscorp.com>
3442         * made sure am-utils compiles, links, and runs properly on Irix
3443         6.2 using "cc -32 -Wl,-woff,"
3445         * aux/macros/check_lib2.m4: a bug fix version to autoconf 2.12
3446         AC_CHECK_LIB.  If OTHER-LIBRARIES are defined and used, then add
3447         them to $LIBS.
3449         * aux/configure.in: some cleanup of which libraries are needed.
3450         Espectially ensure that libnsl is included only on Solaris, where
3451         so far it is the only system on which it is absolutely necessary.
3452         Also no longer need to include libc explicitly. 
3454         * amd/amd.c,wire-test/wire-test.c (main): convert IP address to
3455         network-long order before printing it.
3457         * wire-test/wire-test.c (main): also check and report on the IP
3458         address of the local host, since some systems have bad versions of
3459         get_myaddress, or ones that conflict with other versions in
3460         multiple libraries (SunOS 4 and Irix especially).
3462 Wed Jul  2 18:19:02 1997  Erez Zadok  <ezk@starblazers.soscorp.com>
3464         * scripts/ctl-amd.in: don't use full pathname so killproc() works
3465         better.  Also run bsd44 and irix style ps programs. 
3467         * aux/macros/check_lib_funcs.m4: bug fixed: used to define usage
3468         of library no matter if it was found or not.
3470 Wed Jul  2 02:11:48 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3472         * aux/macros/check_mnt2_gen_opt.m4: turned back on the checking
3473         for M_* macros, but ensure that <sys/stream.h> is not included at
3474         all so it won't conflict with other M_* macros.
3476 Tue Jul  1 21:16:51 1997  Erez Zadok  <ezk@mako.cs.columbia.edu>
3478         * conf/mount/mount_irix.c (mount_irix): first arg to mount(2) on
3479         irix should be "spec" (host:/path), not the dir of the mnt point.
3481         * amd/ops_afs.c (afs_lookuppn): bug in enable_default_selectors
3482         fixed.  If on, it essentially ignored the setting in a
3483         selector-controlled /defaults if there were 2 or more entries in it.
3485 Tue Jul  1 12:23:38 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3487         * scripts/ctl-{amd,hlfsd}.in (killproc): if failed to find process
3488         using BSD style ps, then try SVR4 style ps.
3490         * include/am_utils.h (amuDebug): renamed Debug macro to amuDebug
3491         etc., to avoid conflicts with similar named macros in <ldap.h>.
3493         * aux/configure.in, amd/info_ldap.c, etc.: put in all the autoconf
3494         support needed for LDAP.  Now the code has to be written mostly in
3495         amd/info_ldap.c.
3497         * Included additional patches from Andreas Stolcke
3498         <stolcke@speech.sri.com> to support using the best possible
3499         combination of NFS version (2,3) and protocol (udp,tcp) for any
3500         given host, since it appears that some Irix versions have NFS V3,
3501         but do not support TCP.
3503         * scripts/ctl-amd.in: updated amd control script to look for and
3504         use amd.conf file.
3506 Tue Jul  1 00:28:23 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
3508         * amd/mapc.c (mapc_create): now, each map in the amd.conf can be
3509         initialized off of a different type, or default to cycling through
3510         all maps until one of them matches.
3512 Mon Jun 30 20:49:13 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
3514         * amd/ops_afs.c (afs_readdir): per-map browsing (readdir) done.
3515         if browsable_dirs=yes is set in the map section in amd.conf, that
3516         map will return all entries back to a readdir(2).
3518 Sun Jun 29 16:22:11 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
3520         * rudimentary amd.conf file support included.  You may even
3521         override things like os=sos5, to get "backwards" compatibility with
3522         upl102.
3524 Sat Jun 28 13:35:02 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
3526         * amd/conf.c: new file to process amd.conf file.
3528         * amd/get_args.c (get_args): new options -H to print help.
3530         * moved enable_default_selectors to be amd.conf controlled, and
3531         not compiler controlled.
3533         * amd/get_args.c (get_args): new options -F <conf-file> to parse an
3534         amd configuration file.
3536 Wed Jun 25 23:15:42 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
3538         * converted all files that used strcmp() == 0 or != 0  to using
3539         the STREQ() macro.
3541 Mon Jun 23 22:31:14 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
3543         * aux/macros/check_lib_funcs.m4: new M4 macro that can be used to
3544         search for any number of functions in any given library.
3546 Mon Jun 23 01:04:23 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3548         * amd/mapc.c: Included patch from Leif Johansson
3549         <leifj@matematik.su.se> to ensure that systems without an RE
3550         library can compile.
3552         * libamu/mount_fs.c (mount_fs): Included patch from Andreas
3553         Stolcke <stolcke@speech.sri.com>, to ensure that mount options on
3554         table are properly delimited by a comma.
3556         * amd/ops_nfs.c (mount_nfs_fh): Included patch from Andreas
3557         Stolcke <stolcke@speech.sri.com>, to allow users to override the
3558         proto= and vers= mount options.
3560 Sun Jun 22 01:00:11 1997  Eric Dana  (edana@ncr2.bgs.com)
3562         * conf/nfs_prot/nfs_prot_svr4.h: port completed to
3563         i486-ncr-sysv4.3.03.  Assorted source cleanups done.
3565         * include/am_defs.h, aux/macros/mount_headers.m4: don't include
3566         mnttab.h if sys/mnttab.h was already included, because on ncr2,
3567         they contain conflicting entries for struct mnttab.
3569 Sat Jun 21 23:52:15 1997  Eric Dana  (edana@ncr2.bgs.com)
3571         * aux/macros/check_nfs_prot_headers.m4: added support for ncr2.
3573 Fri Jun 20 06:14:17 1997  Erez Zadok  <ezk>
3575         * amd/*.c: lots of 64-bit "ugly" ports like casts to long ints.
3577         * aux/macros/struct_nfs_fh.m4: check for "struct nfssvcfh" because
3578         on DU-4.0 it is better than the next one to be picked (nfsv2fh_t).
3580 Wed Jun 18 18:59:49 1997  Erez Zadok  <ezk@defiant.soscorp.com>
3582         * aux/macros/struct_nfs_fh.m4 (AC_TRY_COMPILE_NFS): check for
3583         nfsv2fh_t before fhandle_t becasue on bsdi2.1 the former is
3584         better.
3586 Tue Jun 10 17:06:58 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
3588         * amd/rpc_fwd.c (fwd_packet): TLI bug fix. if fwdto socket is
3589         NULL, set the maxlen and len fields in netbuf to zero.
3591 Wed May 28 22:52:28 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3593         * scripts/fix-amd-map.in (name): replace all matching patterns on
3594         line.
3596 Sun May 25 19:33:41 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3598         *******************************************************************
3599         *** Released am-utils-6.0a5                                     ***
3600         *******************************************************************
3602 Sun May 25 13:37:24 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
3604         * amd/amq_subr.c (amqproc_getvers_1_svc): amq's RPC service
3605         procedure now returns the full string that amd -v returns.
3607         * amd/get_args.c (get_version_string): new function to return
3608         complete version/info string so it could be used more flexibly.
3610         * amd/am_ops.c (ops_showamfstypes, ops_showfstypes): put the list
3611         of Fs types into a string buffer, rather than a FILE*.
3613         * amd/mapc.c (mapc_showtypes): put the list of map types into a
3614         string buffer, rather than a FILE*.
3616 Sun May 25 01:25:36 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3618         * amd/get_args.c (get_args): amd -v also prints user who built
3619         amd, hostname built on, and date of configuration.
3621 Sat May 24 13:40:50 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3623         * scripts/lostaltmail.conf-sample: sample lostaltmail
3624         configuration file.
3626         * scripts/lostaltmail.in: new script lostaltmail used to redeliver
3627         "lost" mail that hlfsd redirected to a temp location because the
3628         primary home file system of the user was full.
3630         * scripts/amd2sun.in: new script amd2sun. Used to convert Sub
3631         automount maps to amd maps.
3633         * scripts/ctl-hlfsd.in: new script ctl-hlfsd.  Used to start,
3634         stop, or restart hlfsd.
3635         
3636         * scripts/expn.1: man page for expn command.
3638         * scripts/ctl-amd.in: new script ctl-amd.  Used to start, stop, or
3639         restart amd.
3641         * scripts/expn.in: new script expn.  Actually taken from David
3642         Muir Sharnoff <muir@idiom.com>.  Used by hlfsd's mail re-delivery
3643         script.
3645         * scripts/wait4amd.in: new script wait4amd added.  Waits for amd
3646         to come up on a host, and then runs a command (rsh $hostname by
3647         default).
3649         * scripts/Makefile.am: new directory now holds all shell/perl
3650         scripts that belong to am-utils.
3652         * conf/mount/mount_linux.c (parse_opts): new parser for
3653         linux-specific mounts.  Handles fs-type specific mount-options
3654         correctly.  Currently implemented: msdos, iso9660.
3656         * amd/ops_pcfs.c (pcfs_ops): don't timeout cdfs mounts by default
3657         (fix for linux).
3659         * amd/ops_cdfs.c (cdfs_ops): don't timeout cdfs mounts by default
3660         (fix for linux).
3662         * amd/mapc.c (make_entry_chain): fixed bug that resulted in amd
3663         core dumps upon "ls" of a mount point; an invalid pointer was
3664         being returned and dereferenced.
3666         * port to Linux sparc working!
3668         * hlfsd/homedir.c (hlfsd_diskspace): close file descriptor if
3669         failed to write test file, or else the fd will leak.
3671 Sun May 18 00:42:41 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3673         * amd/info_hesiod.c (hs_strip_our_domain): use strcasecmp()
3674         instead of strcmp().
3676         * Port to Digital Unix 4.0 (OSF) done.
3678         * hlfsd/hlfsd.c: renamed dirname to dir_name to avoid conflicts
3679         with dirname() function in <string.h> on OSF systems.
3681         * fsinfo/fsi_util.c (set_ether_if): take out extern definition of
3682         inet_addr().  It should come from <arpa/inet.h> instead.
3684         * conf/mtab/mtab_osf.c: fixed macros and added NFS V3 specs.
3686         * include/am_utils.h: renamed FIRST/LAST to AM_FIRST/AM_LAST to
3687         avoid conflicts with DU 4.0 system header.
3689 Thu May 15 22:49:12 1997  Erez Zadok  <ezk@subzero.cs.columbia.edu>
3691         * libamu/mount_fs.c (mount_fs): pass along NFS version so I can
3692         determine if to include additional options in the mount table file
3693         entry (such as proto=tcp, and vers=3).
3695 Thu May 15 00:42:12 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3697         * libamu/mount_fs.c (mount_fs): include NFS version number in the
3698         mount table options, as well as proto={tcp,udp}.
3700 Wed May 14 14:30:19 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
3702         * NFS V3 code ported to most other systems, so it compiles for V2
3703         and V3 NFS systems.
3705         * NFS VERSION 3 support, first pass.  Working for Solaris and
3706         using TCP.
3708 Sun May 11 01:14:29 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
3710         * amq/amq.c: many newline characters were missing from various
3711         stderr printfs.
3713 Sat May 10 13:09:06 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
3715         * conf/nfs_prot/nfs_prot_sunos5.h: protocol defintions for
3716         Solaris, which include NFS V3 support.
3718         * conf/nfs_prot/nfs_prot_default.h: default NFS protocol headers.
3719         *** Released am-utils-6.0a15                                    ***
3720         * conf/transp/transp_{tli,sockets}.c (get_mount_client): use NFS
3721         protocol version while getting a mount client.
3723         * amd/ops_nfs.c (mount_nfs_fh): set the mount types, mnttab types,
3724         file handle size, and proper file handle based on the correct NFS
3725         version number.
3726         browsable_dirs=full, which will print *all* entries (other than
3727         * conf/mount/mount_svr4.c (mount_svr4): support NFS3 mounts under
3728         Solaris and other SVR4 systems.
3730         * amd/ops_nfs.c: store NFS file handle version and version
3731         specific handle in struct fh_cache.
3732         (got_nfs_fh): pick the correct RPC reply based on the NFS version
3733         of the server.
3734         (prime_nfs_fhandle_cache): figure out the right NFS file handle
3735         for a node, but now include NFS protocol version information.
3736         (call_mountd): set the correct version for the mount protocol,
3737         based on the NFS protocol version.
3738         (nfs_init): use the NFS protocol generic structure
3739         am_nfs_handle_t.
3740         to 1500.
3741         * include/am_utils.h: new structure am_nfs_handle_t to contain all
3742         possible versions of NFS file handles.
3743         * doc/am-utils.texi: fixed reversed documentation for NFS mount
3744         * amd/srvr_nfs.c (start_ping): ping program performs NFS version
3745         specific pings.
3746         (recompute_portmap): figure out the correct portmap version mount.
3747         (nfs_keepalive): call start_ping() with the correct NFS version.
3748         (find_nfs_srvr): if mount option "vers=" is given, use it.  Get
3749         the NFS server version and verify that it is up.
3751         * conf/transp/transp_{tli,sockets}.c (get_nfs_version): a new
3752         function to find the best NFS version for a particular host.
3753         installing html files.  Another new target "alldocs" is just for
3754         * libamu/amu.h: determine what is the highest version of NFS we
3755         should try.
3757         * include/am_utils.h (NFS_VERSION3): added definition for NFS V3
3758         protocol number.
3759         Added field fs_version to struct fserver, so we can now store the
3760         server protocol version.
3761         facility in the log_file option.
3762 Fri May  9 01:09:45 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
3763         * libamu/xutil.c (get_syslog_facility): allow users to specify the
3764         * aux/macros/check_field.m4 (AC_MOUNT_HEADERS): map '.' (dot) into
3765         underscores too, so I can test for sub-fields.
3766         will use the default LOG_DAEMON facility.
3767         * libamu/wire.c: use test that checks for sub-fields of struct
3768         ifreq.
3769 Thu Jan  8 04:05:10 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3770 Sat May  6 10:20:17 2000  Erez Zadok  <ezk@glory.soscorp.com>
3771         (intel).
3772         * port to BSD/OS 3.0 completed!  Many xdr_ functions were broken
3773         into smaller files.  M4 macros fixed to test for existence of
3774         file systems using getvfsbyname().
3775         before appending to it, on systems with two or more network
3776         * amd/sched.c (sigchld): signal handler must waitpid() for all
3777         possible children.
3778         the mntent for cachefs.
3779         * hlfsd/homedir.c: signal handler must waitpid() for all possible
3780         children. 
3781         const for both arguments.
3782         * aux/macros/check_restartable_signals.m4: new macro to determine
3783         if need to reinstall signal handlers per OS is better than trying
3784         to figure these out based on system macros.
3786 Fri May  5 19:23:28 2000  Erez Zadok  <ezk@glory.soscorp.com>
3787         * amq/pawd.c (cluster_server): don't use getccent() if the extern
3788         * amd/ops_nfs.c (mount_nfs_fh): set nfs_args_t version number.
3789         <cluster.h> and struct cct_entry do not exist.
3790         * amd/ops_afs.c (mount_toplvl): set nfs_args_t version number.
3791         hpux systems don't have it (hpux 10.20).
3792         * amd/ops_nfs.c (mount_nfs_fh): process nfs mount option resvport
3793         (must be supplied for bsdi 3.0)
3795         * libamu/wire.c: use HAVE_FIELD_STRUCT_IFREQ_IFR_ADDR (and
3796         associated new macro) for determining the right way to compute the
3797         size of the interface structure.
3798         for new amq options -T/-U.
3799 Fri Apr 11 15:56:13 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3801         * aux/configure.in: need to include libc before libnsl if
3802         get_myaddress() is available because on irix libnsl has a buggy
3803         get_myaddress().
3805         * include/am_defs.h: make sure REINSTATE_SIGNAL_HANDLER is defined
3806         on Irix 6 (an SVR4 variant)
3807         * amq/pawd.c: a new program, Print Automounter Working Directory,
3808 Thu Mar 27 02:28:40 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3809         * aux/macros/localconfig.m4: trivial support for am-utils
3810         *******************************************************************
3811         *** Released am-utils-6.0a4                                     ***
3812         *******************************************************************
3813         wish in a file called localconfig.h, located in the top build
3814 Wed Mar 26 21:15:36 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
3815         * doc/am-utils.texi (Caching Filesystem): updated documents for
3816         * amd/amq_subr.c (ok_security): turned off insecure code unless
3817         user explicitly runs configure --enable-amq-mount.
3818         * amd/ops_cachefs.c: initial cachefs support, for solaris.
3819         * hlfsd/hlfsd.c (main): use new protoypes dor create_nfs_service().
3821         * amd/nfs_start.c (mount_automounter): use code that separately
3822         creates the NFS and the amq service.  Register tcp and udp
3823         services for amd.
3824         cachefs file systems.
3825         * conf/transp/transp_*.c (create_amq_service): new function to
3826         separately create the amq service for amd.  Simplified prototypes
3827         for create_nfs_service().
3828         mnttab type is.
3829 Wed Mar 19 20:40:56 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3830 Mon Jan  5 23:22:49 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
3831         *******************************************************************
3832         *** Released am-utils-6.0a3                                     ***
3833         *******************************************************************
3835 Wed Mar 19 17:49:18 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3836         * amd/ops_nfsl.c (nfsl_ffserver, nfsl_match): also check if the
3837         * new port: rs6000-ibm-aix3.2.5 and rs6000-ibm-aix4.1.5.0.  Lots
3838         of small changes to support these two.
3839         type:=nfs.
3840 Wed Mar 19 14:33:30 1997  Erez Zadok  <ezk@grande.cs.columbia.edu>
3841         * updated all source files to add 1998 as a copyright year.
3842         * conf/umount/umount_default.c (umount_fs): bug: unlock_mntlist()
3843         should run if MOUNT_TABLE_ON_FILE, not otherwise.
3844         like type:=linkx if the pathname denoted by $fs exists, and like
3845 Mon Mar 17 22:02:43 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3847         * hlfsd/hlfsd.c (main): fill in fhsize field if exists
3848         (freebsd-2.2).
3850         * amd/ops_{nfs,afs}.c (mount_toplvl): fill in fhsize field if
3851         exists (freebsd-2.2).
3853 Sat Mar 15 19:37:48 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3854         * hlfsd/homedir.c (plt_init): make function exported, to save on
3855         * new port: i386-unknown-freebsd2.2.  FreeBSD 2.2 and higher
3856         changed the filehandle type in struct nfs_args from nfsv2fh_t to
3857         u_char.
3858         instead.
3859 Sat Mar 14 10:11:03 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
3860 Thu Jan  1 00:15:58 1998  Erez Zadok  <ezk@chestnut.mcl.cs.columbia.edu>
3861         * SHARED LIBRARIES: too many change to list individually.  Now,
3862         libamu can be built as a shared library, and other programs link
3863         with it.
3865 Tue Mar 11 22:24:09 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
3867         * aux/macros/opt_shared.m4: new macro for setting options for
3868         building shared am-utils libraries.
3869         * amd/ops_afs.c (mount_toplvl): Bug fix.  Don't try to free() an
3870 Sun Mar  9 19:17:46 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3871         * ALL SOURCES: change every direct call to free() to xfree(), so
3872         * fixmount/fixrmtab: cleaned up the script.
3873         call dxfree(), which will print the file name and line number
3874         * fixmount/Makefile.am (EXTRA_DIST): adde $(sbin_SCRIPTS) so that
3875         fixrmtab gets distributed too.
3877         * conf/nfs_prot/nfs_prot_bsdi2.h: added support for MOUNTPROC_DUMP.
3878         Added extern for xdr_mountlist().
3879 Tue Dec 23 04:24:28 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3880         * aux/configure.in: trimmed down many tests for MNT2_GEN_OPT,
3881         MNT2_NFS_OPT, and MNTTAB_OPT that were not referenced anywhere in
3882         the sources.
3884 Sat Mar  8 00:23:58 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3885         calloc().
3886         * fixmount/hlfsd ported to bsd44, hpux, and linux systems.
3888         * aux/macros/check_fixmount_style.m4: add check for bsd44 systems.
3889         malloc().
3890         * conf/fixmount/fixmount_default.c: use lockf() if flock() is
3891         unavailable.
3892         zero its bytes.
3893         * include/am_defs.h: include <string.h> even if don't have
3894         STDC_HEADERS defined (sunos4).
3895         (seteuid): define seteuid() to be setresuid() for systems that
3896         have but not the other (hpux).
3897         * amq/amq.c: amq does not need its own definition of xfree().
3898         * aux/macros/check_extern.m4: test should include <strings.h>.
3899         look for function malloc_verify() in libmapmalloc.a, and function
3900 Tue Mar  4 17:16:52 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
3902         * lib/xutil.c (debug_option): moved from amd/getargs.c to this
3903         more proper file.
3904         uordbytes, because it does not always exist.  Rather, compute it
3905         * include/am_utils.h: put in structure for debug options, for all
3906         progams to use.
3907         used when debugging memory references.
3908         * amd/get_args.c: moved structure for debug options out.
3909 Mon Dec 22 03:01:30 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3910 Sun Mar  2 00:13:07 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
3911         Otherwise browsable_dirs fails on OpenBSD 2.2.
3912         * ported fixmount.
3913         * amd/mntfs.c (uninit_mntfs): bug fix.  Moved freeing of
3914         * lib/ualarm.c: replacement function for systems that don't have a
3915         ualarm().
3916 Sat Dec 20 00:51:21 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3917         * ported fsinfo.
3918         * amd/ops_host.c (host_umounted): don't use clnt_spcreateerror()
3919 Sun Mar  1 10:23:34 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
3920         * include/am_defs.h: add missing extern definition for free().
3921         * ported mk-amd-map.
3923         * buildall: added -K option to buildall, to run mkconf.
3924         optional function.
3925 Fri Feb 28 01:10:25 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3926         if they exist.
3927         *******************************************************************
3928         *** Released am-utils-6.0a2                                     ***
3929         *******************************************************************
3930         * aux/configure.in: check for missing functions clnt_create and
3931 Thu Feb 27 13:58:59 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3933         * all *.[hcyl] files: add copyright line.
3934         * Makefile.am: updates for new sunos3 files distributed.
3935         * aux/macros/check_mount_type.m4: test for mount type for
3936         linux-like systems, by checking for loadable or statically linked
3937         kernel filesystem modules.
3938         * conf/fh_dref/fh_dref_sunos3.h: new file.
3939         * aux/macros/check_mnttab_type.m4: test for mount table entry
3940         for linux-like systems, by checking for loadable or statically
3941         linked kernel filesystem modules.
3942         * aux/macros/check_nfs_fh_dref.m4: added sunos3 case.
3943         * aux/configure.in: pcfs filesystems can use vfat type (linux)
3944         * doc/am-utils.texi (wire Selector Variable): updated manual for
3945         * aux/macros/check_fs_mntent.m4: test for filesystem existence for
3946         linux-like systems, by checking for loadable or statically linked
3947         kernel filesystem modules.
3948         in_network() function.
3949         * conf/trap/trap_hpux.h: ugly hack added because of stupide HPUX
3950         9.0 header files.  This should be removed when HPUX 9.0 is deemed
3951         defunct.
3952         functions.  Converted wire, network, and netnumber all to use the
3953         * aux/acconfig.h: set an undefined variable for having an extern
3954         to clnt_sperrno().
3955         against all networks, not just primary.
3956         * include/am_defs.h: define extern for clnt_sperrno() if needed.
3957         * conf/nfs_prot/nfs_prot_linux.h: add special definitions for
3958         * aux/configure.in: test for extern clnt_sperrno().
3959         <rpc/des_auth.h> because it is incomplete on the same systems.
3960         * aux/macros/check_nfs_fh_dref.m4: HPUX's NFS fhandle dref is
3961         similar to irix.
3962         * hlfsd/homedir.c (table_add): cast uid field to int, for
3963         * aux/macros/check_mount_style.m4: use mount helper on HPUX.
3964         * include/am_defs.h: more coflicts with redhat alpha linux
3965         * aux/macros/check_mtype_type.m4: hpux's mount type is a char*,
3966         not integer (but may be mapped to one later).
3967         * aux/macros/{mount_headers,try_compile_anyfs,try_compile_nfs}.m4:
3968         * conf/mount/mount_hpux.c (mount_hpux): HPUX has confusing header
3969         files.  They have mount(2) and vfsmount(2) which don't take same
3970         arguments, and they have string mount types MNTTYPE_* as well as
3971         integer types MOUNT_*.  So I need this new mount function to map
3972         from string types to integer types for the vfsmount() function.
3973         redhat alpha linux.
3974         * conf/trap/trap_hpux.h (MOUNT_TRAP): instead of calling
3975         vfsmount(), call mount_hpux().
3976         the new "!" (negated) nomadic functions.
3977 Thu Feb 27 03:34:14 1997  Erez "HWank1" Zadok  <ezk@okeeffe.cs.columbia.edu>
3978         rather than saying that any ARG is on a local network.
3979         * lib/mount_fs.c (mnt_flags): make sure SYNC option is on only if
3980         both MNTTAB_OPT_SYNC and MNT2_GEN_OPT_SYNC are defined.
3982 Thu Feb 27 00:26:00 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3983 Thu Dec 18 20:57:19 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
3984         * conf/nfs_prot/nfs_prot_hpux.h: NFS protocol definitions for
3985         hpux.
3987         * include/am_defs.h: no need to include rpc/auth.h or rpc/clnt.h.
3988         Finally, it looks as if OpenBSD 2.2's NFS 3 implementation may be
3989         * aux/configure.in: no need to test for rpc/auth.h and rpc/clnt.h.
3990         wait until they get it working in their version of the automounter
3991         * buildall: added ability to configure using other shells than
3992         /bin/sh, on those systems where /bin/sh is buggy or limited
3993         (HPUX).
3994         maxgrp.
3995         * aux/macros/struct_nfs_fh.m4: reinstated the macro but have it
3996         defined am_nfs_fh, and also test for plain typedef "nfs_fh".
3997         "maxgrps".  Added test for mount table entry "maxgroups".
3998         * aux/acconfig.h: #undef am_nfs_fh, which is being defined by a
3999         reinstated macro.
4000         * libamu/mount_fs.c (compute_nfs_args): perform more careful tests
4001         * aux/configure.in: check for <nfs/export.h>
4003         * include/am_defs.h: include <nfs/export.h> (HPUX) if exists.
4004         including 9.x, should use "ignore" as the mount type to hide from
4005         * aux/macros/try_compile_nfs.m4: include <nfs/export.h> (HPUX) if
4006         exists.
4008         * aux/macros/mount_headers.m4 (define): removed some non-working
4009         (on HPUX) code that attempts to recreate the fhandle_t rather than
4010         load it up from system headers.  Also added some NFS protocol
4011         header inclusion.  include <nfs/export.h> (HPUX) if exists.
4012         every where in the sources.
4013 Wed Feb 26 00:32:35 1997  Erez "HWank1" Zadok  <ezk@okeeffe.cs.columbia.edu>
4015         * aux/macros/mount_headers.m4 (define): Use M4 changequote to
4016         ensure [] brackets are correctly used.
4017         useful for detecting internal flags and options, as well as the
4018         * aux/macros/expand_cpp_{string,hex,int}.m4: encapsulate
4019         multi-line M4 inclusions in [].
4020         after /etc and before /etc/local.
4021 Tue Feb 25 22:19:44 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4022         * aux/configure.in, libamu/Makefile.am: added support for linking
4023         * conf/mtab/mtab_bsd.c (mnt_dup): use statfs field f_fstypename if
4024         it exists.
4026         * aux/acconfig.h: HAVE_FIELD_STRUCT_STATFS_F_FSTYPENAME, new
4027         config.h macro for field f_fstypename of struct statfs.
4028         needed.
4029         * aux/configure.in: testing for field f_fstypename field of struct
4030         statfs (NetBSD).
4031         netbsd).
4032         * aux/acconfig.h: moved all of the "static" definitions out to a
4033         fixed file called include/am_defs.h.  Added to all */Makefile.am
4034         files a dependency on am_defs.h.  Created am_defs.h of course, and
4035         then added #include <amd_defs.h> to all of the source and header
4036         files that required it.
4037         for NetBSD-1.3_BETA and similarly for OpenBSD.
4038 Mon Feb 24 01:27:02 1997  Erez Zadok  <ezk@defiant.soscorp.com>
4039         * conf/nfs_prot/nfs_prot_netbsd1_3.h: new header for the slight
4040         * aux/acconfig.h: two more externals for xdr functions that may be
4041         implemented by libamu.
4042         mktemp().
4043         * conf/nfs_prot/nfs_prot_bsdi2.h: added missing RPC and XDR
4044         definitions.
4045         * amd/ops_nfs.c (mount_nfs_fh): Systems that include the mount
4046 Sun Feb 23 15:25:26 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4047         "nfs3", but to "nfs" and then they set "vers=3".  Setting it to
4048         * buildall (default): added -D option for turning on even stricker
4049         developer options.
4050         systems, set it to "nfs".
4051         * */Makefile.am: make sure @AMU_NFS_PROT_HEADERS@ is used to
4052         determine dependencies on optional NFS protocol headers.
4054         * aux/acconfig.h: define and use HAVE_NFS_PROT_HEADERS as needed.
4056         * aux/macros/check_nfs_prot_header.m4: new test to determine what
4057         NFS protocol headers to use. 
4058         system mount types under nextstep for mount(2).
4059         * conf/nfs_prot/nfs_prot_{irix6,sunos4,bsdi2}.h: new headers to
4060         complete missing system headers for NFS protocol definitions.
4061         integer and string types for file system mount types in mount(2),
4062 Sun Feb 16 15:58:42 1997  Erez "HWank1" Zadok  <ezk@vir.cs.columbia.edu>
4063         (EPERM) instead of 0 (OK).  Fixes m68k-next-nextstep3 which now
4064         * amd/ops_nfs.c (mount_nfs_fh): encapsulated some more code in
4065         #ifdef's as needed.
4067         * amd/ops_afs.c (mount_toplvl): make sure TIMEO/RETRANS code is
4068         suitable #ifdef'ed.
4070         * include/am_compat.h: a couple more mnttab options
4071         (timeo/retrans) setting just in case.
4073         * amd/autil.c (host_normalize): make sure hostent->h_name is
4074         passed a non-const char *.
4076         * conf/mount/mount_linux.c (mount_linux): cleaned up a block of code.
4077         inclusion of <nfs/nfs_mount.h> which only affects nextstep3, on
4078         * {lib,amq,amd}/*.c (many functions): cast xdr_entry to
4079         XDRPROC_T_TYPE.
4080         * libamu/mount_fs.c (mnt_flags): support either nfs or generic
4081         * lib/nfs_prot_svc.c (nfs_program_2): cast xdr_entry to
4082         XDRPROC_T_TYPE.
4084         * lib/nfs_prot_xdr.c (xdr_entry): cast xdr_entry to
4085         XDRPROC_T_TYPE.
4087         * lib/wire.c (getwire): Make sure safe assignment from const to
4088         none is done.
4089         file in the am-utils' home page, as well as a few other useful
4090 Sat Feb 15 19:38:51 1997  Erez "HWank1" Zadok  <ezk@vir.cs.columbia.edu>
4091 Mon Nov 17 05:22:56 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4092         * aux/macros/expand_cpp_int.m4: new macro for expanding integers.
4093         *******************************************************************
4094         * aux/configure.in: added linux/fs.h support in configure and
4095         several M4 macros.
4097         * conf/mount/mount_linux.c (mount_linux): use macro instead of
4098         "ugly" fixed hex number for mount() arguments.
4099         ports.
4100 Sat Feb 15 02:09:47 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
4102         * amd/info_hesiod.c: removed macro HAVE_HS_ZONE_TRANSFER and
4103         turned all of its code always on.  That code always seems to
4104         compile, as long as you have hesiod and libresolv.
4105         * scripts/amd.conf.5: corrected info for -o/-O options.
4106         * amd/mapc.c: removed macro HAVE_HS_ZONE_TRANSFER and turned all
4107         of its code always on.
4108         OS name.
4109         * aux/configure.in: removed superfluous test for hs_zone_transfer
4110         function (will never find it because it is an amd-internal
4111         function).
4112         -o and -O options.
4113         * amd/mapc.c (maptypes): must used correct new name for am-utils'
4114         hesiod initialization function: hesiod_am_init.
4116         * amd/info_hesiod.c (hesiod_am_init): renamed hesiod_init to
4117         hesiod_am_init so as not to conflict with libhesiod's
4118         hesiod_init() function.
4119         variable.
4120         * aux/configure.in: added test and explicit inclusion of
4121         libresolv.a for later resolution of library references with
4122         libhesiod.
4123         <metcalf@cag.lcs.mit.edu> to correctly set the nfs_prot headers
4124         * aux/macros/opt_cppflags.m4: new file.  configure/compile C
4125         preprocessor flags.
4126         * doc/am-utils.texi (Distrib): typo in the subscription
4127         * aux/macros/opt_libs.m4: new file.  configure/compile library
4128         flags.
4129         <vogel@physik-rzu.unizh.ch>.
4130         * Makefile.am (EXTRA_DIST_AUX): include two new macros
4131         opt_cppflags.m4 and opt_libs.m4.
4132 1997-11-15  Erez Zadok  <ezk@amtrak.cs.columbia.edu>
4133         * aux/configure.in: test for libhesiod needs to additional
4134         libresolv to link completely.  Additional configuration time
4135         options added for setting initial CPPFLAGS and LIBS.
4137 Tue Feb 10 02:15:40 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
4138         * NFS3 works on powerpc-ibm-aix4.2.1.0.
4140         *** Released am-utils-6.0a1                                     ***
4141         static.  Some compilers (gcc from egcs  on aix 4.2.1) corrupt the
4142         stack of an automatic variable when pointer to it is passed around
4143 Thu Feb  6 02:55:19 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4145         * amd/info_ndbm.c (ndbm_search,ndbm_init): fixed the code so that
4146         it works on freebsd, where they map dbm_pagfno a non-existing
4147         macro on purpose, to force you to port the code to Berkeley DB.
4148         * libamu/xutil.c (real_plog): syslog like behavior for normal
4149 Fri Jan 31 01:35:09 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
4151         * amd/ops_afs.c (mount_toplvl): added a sleep(1) right before the
4152         actual mount_toplvl, to avoid some possible race conditions.
4154 Thu Jan 30 02:31:49 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
4156         * amd/rpc_fwd.c: removed all TLI (HAVE_T_OPEN) code.
4158 Wed Jan 29 18:25:07 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
4160         * lib/wire.c (getwire): removed HAVE_T_OPEN (TLI code)
4161         passed to it before.  So now I have to dereference the pointer
4162         * amd/amd.c (main): fix local address using htonl(). Free up
4163         buffers allocated by netdir_*() functions.
4165 Wed Jan 22 23:53:24 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
4167         * amd/fix-amd-map.in: new script that will convert old-style amd
4168         maps to new one.
4169         compute_nfs_args() and compute_automounter_nfs_args() functions.
4170 Tue Jan 21 01:18:16 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
4171         and cleaner compute_nfs_args() and compute_automounter_nfs_args()
4172         * FIRST AMD IN AM-UTILS FINALLY WORKS (mounts itself as toplvl,
4173         and replies back to simple nfs/link type mount queries).
4174         relates for struct nfs_args.  A new function sets the numerous
4175         * conf/mtab/mtab_svr4.c: reorganized the code in this file to be
4176         easier to read, and fixed a few bugs with un/setting the lock file
4177         descriptor.
4178         libamu.  This saves on overall size of code.
4179 Wed Jan  8 15:27:49 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
4180         mounting an automounter's mount point.  Used by hlfsd and amd.
4181         * amd/sched.c: removed HAS_SVR3_SIGNALS code to handle older
4182         signals in Svr3 systems.  Only stellix ever used this.
4183         * amq/amq.c (get_secure_amd_client): don't print any more
4184         * amd/rpc_fwd.c (fwd_reply): removed all code that was triggered
4185         by DYNAMIC_BUFFERS, since it was not in use.
4186         under DEBUG only.
4187 Tue Jan  7 00:45:59 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
4189         * amd/opts.c (eval_opts): removed AMD_COMPAT code.  Amd no longer
4190         takes '=' sign as old selector.  Fix your maps.
4191         (deslashify): removed APOLLO code that treated two '//' as one.
4192         for file systems based on physical media (disk, cdrom, floppy) to
4193 Sun Jan  5 01:25:09 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
4194         autoconf searches for all these types of mount table entries for a
4195         * amd/ops_nfsx.c (nfsx_init): removed HARD_NFSX_ERRORS, code which
4196         was not used.  It made any submount error fail the whole group.
4197         the actual name found!  Same for ufs, cdfs, pcfs, tmpfs, lofs,
4198         * amd/ops_nfs.c (make_nfs_auth): removed code dependent on
4199         HAS_NFS_QUALIFIED_NAMES.
4200         (mount_nfs_fh): removed macro for NFS_ARGS_NEEDS_PATH, assuming it
4201         is never on.  So code that was triggered by #ifndef
4202         NFS_ARGS_NEEDS_PATH (osf1, aix3, and bsd44 variants) may have to
4203         be fixed later.
4204         Removed all ULTRIX_HACK code.  Ultrix is DEAD!
4205         removed all PRESET_AC code, which was only on for Linux to preset
4206         the attribute cache values (otherwise they default to zero).
4207         (nfs_umounted): revobed KICK_KERNEL code (IRIX systems).  Will
4208         have to fixed up later.
4209         (mount_nfs_fh): removed code that was never included, which
4210         attempted to set the port on which amd's nfs mounts on.  This
4211         isn't supported by the ping algorithm yet.  In any case, it is all
4212         done in nfs_init().
4214         * amd/srvr_nfs.c (find_nfs_srvr), amd/ops_nfs.c (mount_nfs_fh):
4215         removed HAS_TCP_NFS code.  The whole use of NFS V.3 with TCP or
4216         specially hacked NFS V.2 that uses TCP (BSD 4.4 variants) will
4217         have to be addressed later.
4218 Sun Oct 26 19:32:57 1997  Erez Zadok  <ezk@defiant.soscorp.com>
4219         * amd/nfs_subr.c (nfsproc_getattr_2): removed all code dependent
4220         on PRECISE_SYMLINKS.
4221         This works better on bsdi2 and bsdi3, because their portmapper
4222         * amd/mapc.c (mapc_meta_search): removed code that depended on
4223         HAS_DEPOT.  It is known buggy code.  The whole DEPOT support needs
4224         to be rethought.
4225         (mapc_add_kv): ported code to use standard regular expression
4226         (regexp) library.
4227         insecure).
4228         * amd/{map.c,ops_sfs.c,ops_ufs.c}: removed all code dependent on
4229         FLUSH_KERNEL_NAME_CACHE and the macro itself.
4230         *** Released am-utils-6.0a13                                    ***
4231 Sat Jan  4 15:46:58 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
4232 Fri Oct 24 05:04:37 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4233         * amd/map.c (exported_ap_alloc): removed all code triggered by
4234         SHRINK_EXPORTED_AP and the macro itself.
4235         struct datum typedef.
4236         * amd/info_nis.c: removed HAS_NIS_RELOAD macro, and left the code
4237         in all the time.  Assuming that there is always NIS realod
4238         available.
4239         (yp_all_fixed): removed code for BROKEN_YP_ALL.  If your yp_all()
4240         function is broken such that it does not release filedescriptors
4241         it created, then you are hosed.  Get a fix for yp_all from your
4242         vendor or switch operating systems.
4244 Tue Dec 31 15:34:36 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
4245         gid_t.
4246         * amd/info_hesiod.c: renamed macro HAS_HESIOD_RELOAD to
4247         HAVE_HS_ZONE_TRANSFER.
4248         * conf/transp/transp_tli.c (amu_clnt_create_best_vers): don't use
4249 Mon Dec 30 17:33:23 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
4251         * amd/{nfs,host}_ops.cremoved INFORM_MOUNTD macro, so its code is
4252         always included.  We should always try to inform the remove mount
4253         daemon of mounts we performed.  If we want an option for this, it
4254         should be a run-time option.
4256         * amd/host_ops.c: removed all that optionally did not make the
4257         directory mount points for amd.
4259         * HOST_EXEC code removed from everywhere.  There is no indication
4260         that it was used anywhere.  If it needs to be used, then a
4261         run-time switch should control it.
4263 Thu Dec 26 00:06:52 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
4264         passwdfile option.  If hlfsd is started with -P passwdfile, then
4265         * amd/*_ops.c: removed all references to mntent_t's fields
4266         mnt_freq and mnt_passno, since they are no longe rused (and never
4267         have been).
4268         read and checked.  All the rest are ignored.  No NIS/netgroup
4269         * amd/am_ops.c: removed function sunos4_match, which was off
4270         anyway.  This was one of the places where an '=' sign was allowed
4271         as an assignment operator (which is now ':=').
4273         * amd/afs_ops.c (afs_bgmount): removed SUNOS4_COMPAT code which
4274         was off anyway.  This was one of the places where an '=' sign was
4275         allowed as an assignment operator (which is now ':=').
4276         -h is invoked.
4277 Tue Dec 24 01:53:52 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
4278 Wed Oct 22 00:16:39 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
4279         * amq/amq.c: ported to am-utils.  Working.
4281         * conf/mount/mount_svr4.c (mount_svr4): changed mount type on svr4
4282         to be string, as it should be (rather than a string mapped to int
4283         and back mapped to string).
4284         which returns TRUE if 'arg' is any one of this host's networks.
4285 Sun Dec 22 13:26:05 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
4286         all networks names and numbers in the order of the interface (not
4287         * lib/mount_fs.c (mount_fs): removed MNTINFO_PREF code.
4288 Mon Oct 20 01:59:25 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4289         * lib/umount_fs.c: split this into three files: default, osf, and
4290         bsd44, that are in conf/umount/umount_*.c.
4291         * aux/configure.in: don't add ops_ufs.o on AIX twice.  My code
4292 Thu Dec 19 17:33:46 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
4293         * doc/Makefile.am (EXTRA_DIST): include am-utils.dvi and
4294         * aux/configure.in, aux/aclocal.m4, aux/acconfig.h: added new
4295         macro to automatically figure out if an external definition for
4296         sys_errlist[] exists.
4297         (html): generate html documentation for
4298         * lib/xutil.c (xfree): removed "#undef free" because it's not
4299         needed there.  Any system that redefines free() needs help.
4301         * conf/mtab/mtab_file.c (REWRITE_MTAB_IN_PLACE): removed code that
4302         was dependent on REWRITE_MTAB_IN_PLACE.  It does not appear to be
4303         in active use anywhere.  If added later, it should be a run-time
4304         configuration option.
4305         ypall_callback_fxn_t.  The NetBSD team compiles all sources with
4306         * conf/mtab/mtab_mach3.c: removed code that was #ifdef'ed not to
4307         be MOUNT_TABLE_ON_FILE, since mach2 always stores its mount tables
4308         in a file in /etc.
4309         function typedef.
4310         * lib/util.c (str3cat): removed _AIX code.  AIX should have a
4311         working realloc, or else find a cleaner solution to this.
4312         (mkdirs): removed SUNOS4_WORKAROUND code.  This was to do a sync()
4313         after immediately making directories so that fsck will be able to
4314         fix the filesystem in the event of an immediate crash.  This was
4315         because a bug in UFS which is fixed by now.
4316         * libamu/xutil.c (amu_release_controlling_tty): new function to
4317         * lib/hutil.c (domain_strip): removed PARTIAL_DOMAINS triggered
4318         code.  Does not appear to be on and used anywhere.
4319         (dofork): removed MACH3 code, b/c mach3 NFS bugs are fixed by now.
4320         and hlfsd/hlfsd.c.  Also avoid setpgrp(), because it works on some
4321         * lib/resvport.c: split the binding of reserved ports code to a
4322         separate file.  A #define (HAVE_T_OPEN) separates the TLI (SVR4)
4323         from the BSD code.
4325 Thu Dec 19 02:08:35 1996  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4327         * lib/Makefile.am (amu_LIBADD): includs @LIBOBJS@ now, auto-filled
4328         in by automake and configure, for optional sources that need to be
4329         built as part of libamu.a.
4331         * aux/aclocal.m4: Make sure AC_CHECK_MOUNT_STYLE adds mountutil.o
4332         to LIBOBJS.
4334         * lib/memcmp.c (memcmp): new file added to replace a possible bad
4335         implementation of memcmp.
4337 Wed Dec 18 22:20:23 1996  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4339         * converted the sources to use memset/memmove/memcmp instead of
4340         bzero/bcopy/bcmp.
4342         * ran all sources through gnu Indent w/ options specified in
4343         aux/amindent.
4345 Wed Dec 11 22:19:29 1996  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4347         * At this point the initial genration of config.h via autoconf and
4348         some preliminary makefiles via automake is done.  I will not begin
4349         modifying sources, so it's a good time to document from here.
4351 Wed Dec 10 22:19:29 1996  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4353         *******************************************************************
4354         *** Initial ChangeLog Entry                                     ***
4355         *******************************************************************
4357         * amd/ops_afs.c (mount_toplvl): turn on 'ignore' option in nfs
4358         mount flags of toplvl mounts.  Important esp. for HPUX 10.  Now
4359         hpux-10 will mount amd's mounts points as 'ignore' (by df).
4361         * aux/configure.in: check for NFS mount option 'ignore', useful in
4362         HPUX 10.
4364 Thu Oct 16 03:28:33 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4366         * aux/macros/check_hide_mount_type.m4: hpux 10 should use "ignore"
4367         mount type and not NFS, for the amd mount points.
4369         * conf/transp/transp_tli.c (amu_clnt_create_best_vers): don't log
4370         an RPC timeout as an error, but just an info message.  From
4371         Andreas Stolcke <stolcke@speech.sri.com>
4373         * If the NFS server is down or does not support the portmapper
4374         call (such as certain Novell NFS servers) we mark it as version 2
4375         and we let the nfs code deal with the case that is down.  If when
4376         the server comes back up, it can support NFS V.3 and/or TCP, it
4377         will use those.  From christos@deshaw.com (Christos Zoulas).
4379         * hlfsd/homedir.c (plt_print): various compile time cleanups to
4380         printfs that take a long, but pass an int to print.  From
4381         christos@deshaw.com (Christos Zoulas).
4383         * aux/macros/func_bad_yp_all.m4 (ac_cv_func_yp_all_clean,): new
4384         macro to determine if the OS has a bad yp_all(), based on the host
4385         OS name.  So far only irix (all versions) have a bad yp_all, so
4386         they will use am_yp_all() instead (which is slower as it
4387         enumerates manually all of the map's entries).
4389 Thu Oct 16 03:14:37 1997  Erez Zadok  <ezk@subzero.cs.columbia.edu>
4391         * amd/info_nis.c (am_yp_all): code for a replacement yp_all that
4392         avoids using a file-descriptor leaking yp_all() on some systems
4393         like irix.
4395 Wed Oct 15 21:52:35 1997  Erez Zadok  <ezk>
4397         * fsinfo/fsinfo.h: avoid redefining yywrap incorrectly on DU-4.x
4398         systems using /usr/bin/flex.
4400         * amd/conf_tok.l (yywrap): avoid redefining yywrap for systems
4401         that have a modified GNU flex which does define yywrap (DU-4.x).
4403 Fri Sep 26 14:25:29 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4405         * conf/checkmount/checkmount_bsd44.c: include prototype.
4407 Fri Sep 26 01:26:24 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4409         *******************************************************************
4410         *** Released am-utils-6.0a12                                    ***
4411         *******************************************************************
4413 Fri Sep 26 00:13:48 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4415         * conf/nfs_prot/nfs_prot_irix6.h: completely turn off all autofs
4416         code in irix6 until it can be tested correctly
4418         * conf/transp/transp_tli.c (amu_clnt_create_best_vers): time out
4419         on clnt_create for 3 seconds, rather than wait for the much longer
4420         default.
4422         * conf/nfs_prot/nfs_prot_aix4_2.h: port to powerpc-ibm-aix4.2.1.0.
4423         Includes NFS3, untested.
4425 Thu Sep 25 11:03:11 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4427         * amd/ops_pcfs.c (mount_pcfs): fill in uid/gid fields of
4428         pcfs_args_t if they exist.
4430         * amd/ops_cdfs.c (mount_cdfs): fill in ssector field of
4431         cdfs_args_t if it exists.
4433         * new minor ports hppa1.1-hp-hpux10.10, hppa1.1-hp-hpux9.05,
4434         hppa1.1-hp-hpux9.07, m68k-hp-hpux9.00, and sparc-sun-sunos4.1.4.
4436 Wed Sep 24 00:48:05 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4438         * doc/am-utils.texi (wire-test): updated documentation for the new
4439         option.
4441         * wire-test/wire-test.8: updated man page for new option.
4443         * wire-test/wire-test.c (main): added a test for various
4444         combinations of NFS proto/vers to a remote/local host.
4446         * aux/macros/try_compile_anyfs.m4 (AC_TRY_COMPILE): include
4447         <isofs/cd9660/cd9660_mount.h> and <msdosfs/msdosfsmount.h> so that
4448         freebsd will correctly set mount options for pcfs and cdfs.
4450         * amd/ops_pcfs.c (mount_pcfs): set mask field of pcfs_args to
4451         0777 (if field exists).
4453         * aux/macros/try_compile_anyfs.m4 (AC_TRY_COMPILE): include
4454         <msdosfs/msdosfsmount.h> if available.
4456         * minor new port: rs6000-ibm-aix4.1.4.0.
4458         * libamu/mount_fs.c (mount_fs): fixed bug that caused HPUX not to
4459         write the "time" field in /etc/mnttab.
4461         * conf/mtab/mtab_file.c (mnt_dup): fixed typo in macro names for
4462         detecting mnt_time field of mntent_t.
4464         * libamu/mtab.c (mnt_free): fixed typo in macro names for
4465         detecting mnt_time field of mntent_t.
4467 Tue Sep 23 15:30:03 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4469         * conf/mtab/mtab_file.c (lock): Use flock() in preference over
4470         fcntl() to lock the mtab file.
4472 Mon Sep 22 23:04:58 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4474         * conf/transp/transp_sockets.c (get_nfs_version): define
4475         the try_again goto label only for NFS3.
4476         (pmap_ping): assume timeout failure of clnt_stat.
4478         * libamu/xdr_func.c (xdr_groupnode, xdr_exportnode): cast to
4479         "groups *".
4481 Mon Sep 22 20:34:33 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
4483         * conf/transp/transp_sockets.c (pmap_ping): patch from Dan Riley
4484         <dsr@mail.lns.cornell.edu> to make sure that amd works with more
4485         secure portmappers that do not allow forwarding of RPC messages to
4486         other services.
4488         * */Makefile.am: all source files should also depend on the new
4489         include/am_xdr_func.h header.
4491         * include/am_xdr_func.h: new file as part of the code cleanup from
4492         Christos Zoulas <christos@deshaw.com>.
4494         * Lots of fixes from Christos Zoulas <christos@deshaw.com> that
4495         involved missing prototypes, cleaned up ones, and removal of
4496         unused variables.
4498         * libamu/xdr_func.c (xdr_mountres3): some code cleanup.  A switch
4499         statement with only one case is unclean.
4501 Mon Sep 22 17:26:38 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4503         * amd/ops_<FOO>fs.c (mount_<FOO>fs): initialize mntent_t fields to
4504         0 so that all fields are initialized to zero at first.  This way
4505         SunOS 4.x and other systems don't get /etc/mtab entries with
4506         random integers for the fsck/freq fields. Patch from Andreas
4507         Stolcke <stolcke@speech.sri.com>.
4509 Mon Sep 22 00:34:19 1997  Erez Zadok  <ezk@americas.psl.cs.columbia.edu>
4511         * conf/nfs_prot/nfs_prot_sunos4.h: include <nfs/nfs_clnt.h> so
4512         that the important definition for HOSTNAMESZ will be found.
4514         * amd/ops_afs.c (mount_toplvl): limit hostname size to HOSTNAMESZ
4515         (inside the nfs_args structure) if the system uses that macro.
4516         Otherwise systems like SunOS refuse to NFS mount long pathnames
4517         and result in ENAMETOOLONG errno's.
4519 Wed Sep 17 04:56:11 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4521         * doc/am-utils.texi (Supported Platforms): specify new support for
4522         solaris 2.6, and hlfsd running on 2.5.1 too.
4524 Wed Sep 17 03:55:02 1997  Erez Zadok  <ezk@amsterdam.psl.cs.columbia.edu>
4526         * conf/mount/mount_svr4.c (mount_svr4): don't attemt an autofs
4527         mount if it is not supported or was turned off.
4529 Wed Sep 17 03:19:36 1997  Erez Zadok  <ezk@americas.psl.cs.columbia.edu>
4531         * conf/nfs_prot/nfs_prot_sunos4.h: fixed so that it will nfs mount
4532         again.  Apparently at some previous release SunOS 4 supported was
4533         broken and all nfs mounts resulted in ESTALE.
4535 Wed Sep 17 00:26:25 1997  Erez Zadok  <ezk@amsterdam.psl.cs.columbia.edu>
4537         * conf/nfs_prot/nfs_prot_sunos5_6.h: nfs protocol headers for
4538         solaris 2.6.
4540         * aux/macros/check_nfs_prot_headers.m4: added solaris 2.6 nfs
4541         protocol header selection.
4543 Sat Sep 13 14:31:51 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4545         * conf/transp/transp_tli.c (amu_clnt_create_best_vers): avoid
4546         infinite loop.
4548 Sun Sep  7 18:23:23 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4550         *******************************************************************
4551         *** Released am-utils-6.0a11                                    ***
4552         *******************************************************************
4554 Fri Sep  5 11:55:10 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4556         * amd/amd.c (main): if plock() succeeded, don't try to display
4557         errno message.   Patch from Chris Metcalf
4558         <metcalf@catfish.lcs.mit.edu.
4560 Thu Sep  4 19:17:58 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4562         * hlfsd/homedir.c (table_add): make sure duplicate passwd entries
4563         are ignored.   Only the first entry should ever be used, because
4564         that's how lookup in passwd database works.
4566         * conf/transp/transp_sockets.c (get_nfs_version): when determining
4567         if a remote host is up or down, use NFS v.2.  Fix suggested by
4568         Enami Tsugutomo <enami@cv.sony.co.jp>.
4570         * conf/transp/transp_tli.c (amu_clnt_create_best_vers): new
4571         function to get the best possible NFS version, but also timeout
4572         faster than normal defaults, so remote hosts which are down can be
4573         detected in a reasonable time.
4574         (get_nfs_version): use the new "best" function.
4576 Tue Sep  2 00:41:00 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4578         *******************************************************************
4579         *** Released am-utils-6.0a10                                    ***
4580         *******************************************************************
4582 Mon Sep  1 15:39:51 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4584         * conf/transp/transp_tli.c (get_nfs_version): don't use
4585         clnt_tp_create_timed() on systems that don'e have it (Solaris 2.4
4586         and earlier).
4588         * aux/configure.in: test for existence of clnt_tp_create_timed(),
4589         since Solaris 2.4 (and possibly earlier) do not have it.
4591 Mon Sep  1 15:23:18 1997  Erez Zadok  <ezk@felix.psl.cs.columbia.edu>
4593         * amd/ops_autofs.c (autofs_unmount_1_svc): only display rdevid
4594         field if it exists (solaris 2.4's autofs does not have it).
4596 Mon Sep  1 14:45:09 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4598         * aux/macros/type_auth_create_gidlist.m4: a new test to determine
4599         the correct type to the 5th argument of authunix_create().
4601 Mon Sep  1 03:44:32 1997  Erez Zadok  <ezk@felix.psl.cs.columbia.edu>
4603         * libamu/xdr_func.c (xdr_umntrequest): add test for autofs
4604         structure umntrequest, if it has the field rdevid.  Seems Solaris
4605         2.4 and earlier didn't have it.
4607 Mon Sep  1 01:10:53 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4609         * hlfsd/hlfsd.c (hlfsd_init): moved initialization upwards, so it
4610         can be done before primary process forks.
4611         (main): bug fix: wait a bit to give child a chance to initialize.
4612         Without this, hlfsd got into a busy infinite loop while, never
4613         completing the mount.
4615         * amd/info_nis.c: patch from Jason Thorpe <thorpej@nas.nasa.gov>
4616         to make amd works when talking to NIS+ servers in NIS
4617         compatibility mode.
4619 Mon Sep  1 00:46:56 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
4621         * amd/mapc.c (MAX_CHAIN): increased maximum chain size to 1024.
4623 Sun Aug 31 20:20:40 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
4625         * amd/conf.c (gopt_fully_qualified_hosts): a new function to
4626         process another new global variable.
4628         * amd/ops_nfs.c (make_nfs_auth): if a new global variable
4629         fully_qualified_hosts is on, use FQHN in RPC/NFS authentications.
4630         Patch from Chris Metcalf <metcalf@catfish.lcs.mit.edu>.
4632         * amd/conf.c (process_last_regular_map): If the amd.conf file only
4633         has a [global] section (pretty useless IMHO), do not try to
4634         process a map that does not exist.
4636         * scripts/amd.conf.5: fixed typos (repeated 'as' word).
4638         * doc/am-utils.texi: MAJOR DOCUMENTATION REVISION COMPLETED!!!
4640         * amd/conf.c (reset_cf_map): Bug fix.  Reset 'tag' field of cfm
4641         structure, so it does not carry over from map entry to another.
4643 Sat Aug 30 18:39:21 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
4645         * amd/amd.c (main): fixed the meaning of the plock option.  A bug
4646         caused it to be reversed.
4648 Sat Aug 30 15:13:18 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4650         * hlfsd/stubs.c: don't initialize some statics here.  They are
4651         better initialized in hlfsd_init_filehandles().
4653 Fri Aug 22 14:47:16 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4655         * amd/conf.c (gopt_show_statfs_entries): new function and a global
4656         amd.conf key show_statfs_entries.  Defaults to 'no'.  If 'yes',
4657         then all maps flagged as browsable will also show a count of the
4658         number of entries (keys) in that map.
4660         * amd/nfs_subr.c (count_map_entries): new function to count number
4661         of entries in a map.  Now used if browsable is turned on in a map,
4662         to return a count of available keys in a given map.
4664         * hlfsd/stubs.c (eq_fh): use correct memcmp().  BUG fixed! hlfsd
4665         confused the file handles for ".", "..", and the symlink, causing
4666         mess.
4668         * aux/macros/func_bad_memcmp.m4: new test, based on autoconf 2.12,
4669         but also defines HAVE_BAD_MEMCMP, so I avoid linkage conflicts
4670         with bad memcmp() in libc's (nextstep3).
4672 Thu Aug 21 17:38:41 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4674         * aux/configure.in: check if autofs_args_t has a field named
4675         addr.  Solaris has it for specifying the address of the daemon,
4676         but Irix does not.  So how does irix tell the kernel the daemon's
4677         address?  I suspect that it is hardcoded to "localhost" using a
4678         "private well-known port" (#define AUTOFS_PORT 2048).
4680         * conf/nfs_prot/nfs_prot_linux.h: added missing autofs
4681         definitions.
4683         * README.autofs: new file listing autofs support notes
4685         * very preliminary autofs code working.  Call it pre-alpha
4686         quality.
4688 Sun Aug 17 02:25:09 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4690         * amd/conf.c (ropt_mount_type, gopt_mount_type): don't accept
4691         "autofs" if system does not support it.
4693         * amd/amd.c (main): log am-utils version string (same as amd -v)
4694         at start of run.
4696         * conf/transp/transp_sockets.c (get_nfs_version): in order to tell
4697         if a remote host is available, try to contact its portmapper and
4698         timeout if no answer is received in 3 seconds.
4700 Thu Aug 14 16:12:04 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4702         * aux/macros/check_extern.m4 (pattern): use a simpler pattern for
4703         match for external function definitions.  The function could span
4704         multiple lines, so only match the opening parenthesis, not the
4705         closing one too.
4707         * aux/macros/os_cpp-flags.m4 (ac_cv_os_cppflags,): do NOT turn on
4708         posix mode for nextstep3.  It is broken.
4710         * amd/amd.c (init_global_options): run uname() only if
4711         <sys/utsname.h> and uname(2) exist.
4713         * amd/rpc_fwd.c (fwd_packet): if remote host is down, the
4714         forwarding socket is null, so declare this an error.
4716         * include/am_utils.h (AM_ERRNO_HOST_DOWN): find best errno to set
4717         for when a remote host is down.  Try, in order, "host down", "host
4718         unreachable", "invalid argument".
4720         * amd/ops_nfs.c (discard_fh): don't dereference a null pointer
4721         (happens when remote host is down, and fp->fh_fs is NULL).
4722         (prime_nfs_fhandle_cache): ditto, and set fs flags to !FSF_VALID
4723         and FSF_DOWN.
4725         * amd/sched.c: nobody uses "union wait" any more, or so it
4726         appears, so clean up that code.
4728         * conf/transp/transp_tli.c (get_nfs_version): if remote host is
4729         down, time it out faster than default (3 seconds).
4730         (get_mount_client): free netconfig entry when done with it.
4732         * conf/nfs_prot/nfs_prot_nextstep.h: initial (and somewhat ugly)
4733         port to nextstep3 (m68k-next-nextstep3).
4735         * fsinfo/Makefile.am (LDADD): needs to link with libamu in case
4736         system does not have strdup().
4738         * include/am_defs.h: complete external definition for getlogin()
4739         if needed.
4741         * conf/transp/transp_tli.c (get_nfs_version): no need to keep
4742         static versout variable.
4744         * amd/rpc_fwd.c (fwd_packet): if fwdto packet is null, remote
4745         server is probably down.  Don't use sendto() in that case.
4747         * buildall (default): run gmake if found, before trying plain
4748         make.  GNU make is always preferable.
4750 Tue Aug 12 21:23:58 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4752         * aux/macros/host_macros.m4: cleanup of os_version and os
4753         overrides.  Solaris 2.5.1 for example will come up as solaris2 and
4754         2.5.1, rather than sunos5 and 5.5.1.  Both can be overridden in
4755         the amd.conf file.
4757 Fri Aug  8 14:37:30 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4759         *******************************************************************
4760         *** Released am-utils-6.0a9                                     ***
4761         *******************************************************************
4763 Thu Aug  7 00:52:14 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4765         * conf/nfs_prot/nfs_prot_ncr2.h: new file, for NCR2
4766         (i486-ncr-sysv4.3.03) headers.  Needed to complete missing stuff
4767         from <ndbm.h> and <sys/resource.h>.
4769         * scripts/amd.conf.5: new map page.
4771         * amd/info_hesiod.c: define extern for hesiod_resolve, since bsdi3
4772         does not.
4774         * amd/amd.8: updated man page.
4776         * amd/get_args.c (get_args): removed defunct -h option to amd.
4778         * amq/amq.8: updated man page.
4780         * amd/info_nisplus.c (nisplus_search): prototype fixes so Sun
4781         SparcCompiler CC won't complain.
4783         * amd/info_hesiod.c (hesiod_search): small fixes to compile with
4784         hesiod-1.3, as per Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
4786         * aux/macros/opt_ldflags.m4: new option added to configure
4787         --enable-ldflags, to specify -L option for configuring/compiling.
4788         The older one --enable-libs is now to be used only for -l options.
4790         * amd/ops_nfs.c (mount_nfs_fh): bug fixed.  Should initialize
4791         nc_protoname from nfs_proto if available for all TLI systems, not
4792         just those that have NFS V3.
4794         * amd/info_ldap.c: ldap patches from Leif Johansson
4795         <leifj@matematik.su.se>, adding two new amd.conf ldap variables:
4796         ldap_cache_seconds and ldap_cache_maxmem.
4798         * hlfsd/hlfsd.c (main): bug fixed. port number must be wrapped in
4799         htons().
4801 Sun Aug  3 17:20:05 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4803         * amd/nfs_start.c (mount_automounter): register amd with the rpc
4804         program number that may have been overridden by amd.conf.
4806         * libamu/xutil.c (set_amd_program_number, get_amd_program_number):
4807         allow storing and retrieving alternate amd program numbers.
4809         * amd/conf.c (gopt_portmap_program): new function to parse
4810         amd.conf entry portmap_program=1234.
4812         * amq/amq.c (main): allow specifying an alternate rpc program
4813         number for amd via -P prognum.
4815         * new amq RPC to get the process id of the running amd.  This is
4816         used in ctl-amd to quickly find the pid of the amd that is to be
4817         killed.
4819         * expanded shared libraries support.  Using GNU libtool-1.0,
4820         am-utils now builds shared libraries on many platforms that have
4821         support for it and proper compilers/linkers.  See "INSTALL" file
4822         for compatibility chart.
4824 Thu Jul 31 13:07:23 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4826         * fsinfo/fsi_lex.l: removed code that was in support of very old
4827         versions of flex.  No longer needed.
4829 Tue Jul 29 12:00:13 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4831         * amd/amd.c (init_global_options): find the kernel architecture
4832         from uname() if possible.
4834 Mon Jul 28 03:53:59 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4836         * new working port: i386-unknown-openbsd2.1
4838 Fri Jul 25 03:16:31 1997  Erez Zadok  <ezk@felix.psl.cs.columbia.edu>
4840         * working port: sparc-sun-solaris2.4.  Had to fix fhandle_t from
4841         structure to actual char[], because the structure was passed to
4842         xdr_fhandle as data and not a pointer.  Surprisingly, gcc
4843         -fpcc-struct-return did not help.
4844         
4845         * conf/nfs_prot/nfs_prot_sunos5_4.h: special nfs protocol
4846         definitions for solaris 2.4 have to be different from 2.3, and
4847         different from 2.5.
4849         * libamu/xdr_fhstatus.c (xdr_fhstatus): minor code cleanup.
4851 Thu Jul 24 16:22:39 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4853         * conf/mount/mount_svr4.c (mount_svr4): use STREQ to compare mount
4854         types, not ==.  Fix from Christos Zoulas <christos@deshaw.com>.
4856         * mk-amd-map/mk-amd-map.8: man page taken from bsd44.
4858 Thu Jul 24 00:01:55 1997  Erez Zadok  <ezk@moisil.cs.columbia.edu>
4860         * conf/mount/mount_linux.c: made the nfs error mapping code into a
4861         small function.
4863 Wed Jul 23 16:11:49 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4865         * conf/nfs_prot/nfs_prot_linux.h (NFS_ERROR_MAPPING): special
4866         error mappings from errno numbers to NFS errors.  From Debian
4867         Linux.
4869         * scripts/am-eject.in (fs): new script (taken from Debian Linux
4870         folks) to auto-unmount floppy/cd devices before ejecting them.
4872         * fsinfo/wr_exportfs.c (write_exportfs): from Debian folks, pass
4873         '5' as second arg to show_area_being_processed.  I'm not sure why.
4875         * fsinfo/wr_atab.c (write_atab): from Debian folks, pass '5' as
4876         second arg to show_area_being_processed.  I'm not sure why.
4878         * conf/mount/mount_linux.c (parse_opts): as per Debian Linux,
4879         ensure that you have a buffer in *xopts to strcat onto.
4880         (mount_linux): fixed from Debian folks to ensure that NFS mount
4881         sockets are connected only for kernels prior to 1.3.10 (avoids
4882         hangs for multi-homed hosts).
4884         * amd/mapc.c (make_entry_chain): from Debian folks: don't skip
4885         over amd map keys that have a prefix, and include the prefix in
4886         the returned readdir().
4888         * amd/info_passwd.c (passwd_init, passwd_search): format
4889         enhancements from the Debian Linux folks.  They added
4890         - var0:=pw-prefix:=anydir
4891         - var1:=pw-rhost:=dom3.dom2.dom1
4892         - var2:=pw-user:=user
4893         - var3:=pw-home:=/anydir/dom1/dom2/dom3/user
4895         * new ports: sparc-sun-solaris2.4 and sparc-sun-sunos4.1.1.
4897         * amd/ops_afs.c (afs_retry): patches from Debian Linux.  If
4898         afs_mount timed out, then explicitly forbid further retries after
4899         the timeout.  (afs_bgmount): buf fix from Debian Linux.  Timeout
4900         values (17 and 5) were mistakenly swapped.
4902 Wed Jul 23 15:53:25 1997  Erez Zadok  <ezk@felix.psl.cs.columbia.edu>
4904         * conf/nfs_prot/nfs_prot_sunos5_3.h: turn off non-existent NFS V.3
4905         support for Solaris 2.4 (the header files incorrectly define parts
4906         of the NFS V.3 protocol, but the kernel does not support it).
4908 Wed Jul 23 00:07:12 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4910         * amd/info_hesiod.c: minor cleanup to use hes_init and hesiod_init
4911         for determining if using old or new hesiod libraries,
4912         respectively.
4914         * amd/ops_nfs.c (mount_nfs_fh): If "noconn" option exists in NFS
4915         V.3 then use non-connected sockets (both TCP and UDP).  Otherwise
4916         they cause hangs of mounts from multi-homed hosts when the return
4917         route is not the same as the outgoing route (esp. on NetBSD
4918         1.2.1).  If "conn" option was supplied, then don't turn on the
4919         "noconn" mount option.  Otherwise default to "noconn" mount
4920         option.
4922         * aux/configure.in: better check for systems that need libgdbm and
4923         <ndbm.h>
4925 Tue Jul 22 04:02:05 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4927         * hlfsd/hlfsd.c (main), amd/ops_afs.c (mount_toplvl): ensure that
4928         mounts are hidden from df(1) on systems that keep mount tables in
4929         kernel, such as osf1.
4931 Tue Jul 22 02:26:55 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4933         *******************************************************************
4934         *** Released am-utils-6.0a8                                     ***
4935         *******************************************************************
4937 Mon Jul 21 21:33:19 1997  Erez Zadok  <ezk@stone.mcl.cs.columbia.edu>
4939         * hlfsd/hlfsd.c (main): bug fixed: forgot to set sin_family to
4940         AF_INET when hlfsd mounts itself, thus getting an errno "protocol
4941         family not supported".
4943 Mon Jul 21 20:46:59 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4945         * verified that amd on NetBSD 1.2.1 (i386) works, but the OS
4946         itself is flaky.
4948         * verified that amd AIX 3 works w/ the new readdir() code.
4950 Mon Jul 21 18:59:30 1997  Erez Zadok  <ezk@chestnut.mcl.cs.columbia.edu>
4952         * amd/mapc.c (maptypes): changed the default map caching type for
4953         nis and ndbm maps to "MAPC_ALL", so that all possible entries will
4954         be available to amd for browsable_dirs=yes.
4956 Mon Jul 21 18:04:16 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4958         * amd/ops_afs.c (afs_readdir, afs_readdir_browsable): split
4959         afs_readdir into a browsable version and a non-browsable one.
4960         Fixed bugs that resulted in an infinite nfs_readdir loop on the
4961         localhost for some operating systems.
4963 Sat Jul 19 19:38:38 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4965         * amd/ops_afs.c (afs_readdir): fixed up the browsable code to
4966         comply with nfs_readdir specs.  It was returning all entries at
4967         once, even if there was not enough space in the RPC packet.  Now,
4968         it sends a reasonably sized chunk, and sets static state to resume
4969         it for the next continuation RPC of readdir.
4971         * amd/conf.c (set_conf_kv): fixed bug that resulted in the first
4972         regular map not getting all of the [global] options defaulted from.
4974 Fri Jul 18 00:45:12 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4976         * amq/amq.c (main): fixed so that portmapper "ping" will only fail
4977         upon an RPC timeout
4979         * scripts/ctl-{amd,hlfsd}.in (killproc): better method to find the
4980         amd/hlfsd process to kill.
4982         * amd/ops_afs.c (mount_toplvl), hlfsd/hlfsd.c (main): code to
4983         determine how to avoid df from seeing amd's toplvl mounts.  Moved
4984         from libamu/mount_fs.c and include/am_utils.h.  Ensure that hlfsd
4985         is hidden from df.
4986         (mount_toplvl): fixed df types for irix.
4988 Thu Jul 17 21:59:45 1997  Erez Zadok  <ezk@americas.psl.cs.columbia.edu>
4990         * amq/amq.c (main): fixed bug that caused the 5 second timeout for
4991         TLI amq using udp to be ignored.
4992         (main): if amq cannot contact remote host's portmapper within 5
4993         seconds, timeout and fail faster than the default longer timeout
4994         (this is for non-TLI systems).
4996 Thu Jul 17 17:08:13 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
4998         * amq/amq.c (get_secure_amd_client): if amq cannot contact
4999         remote host's portmapper within 5 seconds, timeout and fail faster
5000         than the default TLI timeout of over 4 minutes.
5002         * amd/am_ops.c (ops_showfstypes): added styles for new bsd44
5003         file systems nullfs, unionfs, and umapfs.
5004         (ops_show1): cleanup code and and reuse this function.
5005         (vops): empty placeholders for nullfs, unionfs, and umapfs.
5007         * amd/ops_{nullfs, unionfs, umapfs}.c: 3 new empty templates for
5008         bsd44 style file systems.
5010         * fsinfo/fsinfo.8: man page for fsinfo rewritten from bsd44
5011         sources.
5013         * amd/conf_tok.l, fsinof/fsi_lex.c: undefine ECHO to avoid
5014         conflict with systems that define it in <sys/ioctl.h> and also
5015         define a conflicting one via lex.  Newer versions of f/lex are ok.
5017 Wed Jul 16 00:17:45 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5019         * amd/ops_nfs.c (mount_nfs_fh): fill in nfs_args' fields
5020         acdirmin/max and acregmin/max only if they exist.
5022         * aux/configure.in: test for nfs_args fields acdirmin and
5023         acregmin.
5025 Tue Jul 15 17:24:09 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5027         * aux/configure.in: commented out checking for MNT2_GEN_OPT_* for
5028         "nondev" and commented back in checking for "nodev".  This was a
5029         typo.
5031         * include/am_compat.h: more compatibility options: define "ro"
5032         mnttab option all the time.  Define "overlay" as needed.  Added
5033         more fillers of mnttab options (as per Daniel S. Riley
5034         <dsr@mail.lns.cornell.edu>), for acdirmax, acdirmin, acregmax,
5035         acregmin, noac, grpid, nosuid, and actimo.
5037         * libamu/mount_fs.c (mnt_flags): fixed a typo in "ro" option as
5038         per dsr@mail.lns.cornell.edu (Daniel S. Riley).  Then cleaned up
5039         the same code for other options in struct opt_tab.
5041 Mon Jul 14 22:36:37 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5043         * amd/get_args.c (get_args): moved amd.conf file parsing to before
5044         the switching the default log/debug options.  Suggested by
5045         dsr@mail.lns.cornell.edu (Daniel S. Riley).
5047         * aux/update_build_version: new script to record the build version
5048         of amd, along with the rest of the info thet comes up with amd -v.
5050 Sun Jul 13 00:30:24 1997  Erez Zadok  <ezk@decca.damtp.cam.ac.uk>
5052         * aux/macros/os_cflags.m4: new macro, to add additional
5053         compilation options (also used during configuration), based on the
5054         OS and the compiler.  Used for solaris-2.6, osf, and irix6.
5056 Fri Jul 11 10:15:11 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5058         * amd/conf_tok.l, conf_parse.y: allow values of keys to include
5059         white spaces, if they are double-quoted (key="some value")
5061         * amd/info_hesiod.c (hesiod_search): cleanup and minor bug fixes
5062         of hesiod from Danny Braniss <danny@cs.huji.ac.il>.
5064 Fri Jul 11 02:16:06 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5066         *******************************************************************
5067         *** Released am-utils-6.0a7                                     ***
5068         *******************************************************************
5070 Thu Jul 10 12:19:25 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5072         * include/am_defs.h: fill in extern definition of innetgr() in
5073         case system headers don't.
5075         * aux/macros/path_prog_lex.m4 aux/configure.in: using macros that
5076         will show the full pathname to yacc/bison and f/lex.  Some systems
5077         have older or bad versions of those and this way the user will
5078         know for sure what is being invoked.
5080         * tasks: file populated with todo items.
5082         * scripts/amd2ldif.in: Script to convert amd maps to plain text
5083         LDAP object files.  Contributed by Leif Johansson
5084         <leifj@matematik.su.se>.
5086         * aux/config.guess: added recognition for sun3's running 4.2bsd,
5087         from Tom Schmidt <tschmidt@micron.com>.  Fixed one small typo.
5089         * amd/conf.c: several variables that were local to a map, were
5090         also added to [global], where they apply to all maps.  Each map
5091         can then individually override those defaults.  Flags
5092         affected: browsable_dirs and mount_type.  Options affected:
5093         map_type, map_options, and search_path.
5095         * amd/amd.h: eliminated several global flags each of which took an
5096         int, in favor of one global flags variable used as a bit field.
5098         * amd/amd.c (init_global_options): moved all global variables into
5099         a single struct amu_global_options, so it is easier to add new
5100         ones and/or identify existing ones.
5102         * amd/get_args.c (get_args): removed unused amd -m option.
5104         * amd/conf.c (gopt_cluster): added new amd.conf option for cluster
5105         name, same as amd -C.
5107         * amd/info_ldap.c: LDAP info map functions from Leif Johansson
5108         <leifj@matematik.su.se>.
5110         * amd/conf.c (gopt_ldap_base, gopt_ldap_hostports): put in global
5111         amd.conf options for ldap_base and ldap_hostports.
5113         * amd/opts.c (f_netgrp): new amd map function netgrp(ARG) to test
5114         if the current host is in the ARG host netgroup.
5116         * aux/configure.in: some systems replaced dbm in libc with GNU's
5117         libgdbm, so check for libgdbm, but only if dbm_open is not in
5118         libc already.  This was a recommendation from Tom Schmidt
5119         <tschmidt@micron.com>.
5121         * conf/nfs_prot/nfs_prot_sunos5_3.h: port to sparc-sun-solaris2.3
5122         completed.
5124 Wed Jul  9 18:14:59 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5126         * port to sparc-unknown-netbsd1.2E done, not tested.  Includes NFS
5127         V.3.
5129 Tue Jul  8 17:35:07 1997  Erez Zadok  <ezk@elk.mcl.cs.columbia.edu>
5131         * port to i386-unknown-freebsd3.0 done and working.  Includes NFS
5132         V.3.
5134         * aux/macros/check_nfs_fh_dref.m4: freebsd3 should use
5135         file handle dereferencing style similar to freebsd22.
5137         * include/am_defs.h: need to include <net/if_var.h> before
5138         <netinet/if_ether.h> on freebsd3.
5140         * conf/nfs_prot/nfs_prot_freebsd3.h: new protocol header additions
5141         for freeBSD 3.0.
5143 Tue Jul  8 16:53:41 1997  Erez Zadok  <ezk@moisil.cs.columbia.edu>
5145         * amd/info_nis.c (nis_reload): cast nis' callback function so
5146         picky compilers won't complain.
5148         * libamu/xdr_mountres3.c (xdr_mountres3): make sure this function
5149         gets compiled only if the system has NFS V3 and does not have
5150         xdr_mountres3.
5152 Tue Jul  8 12:42:03 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5154         * COPYING: put in some legal stuff in this file.
5156 Mon Jul  7 19:10:44 1997  Erez Zadok  <ezk@prometheus.soscorp.com>
5158         * NFS V3 now works under Irix5, thanks to patches from 
5159         Andreas Stolcke <stolcke@speech.sri.com>.
5161         * conf/mount/mount_irix5.c: sparate mount_irix.c into an irix5
5162         version and an irix6 version, since irix5's NFS V3 code is broken
5163         and hacky.
5165         * amd/info_hesiod.c (hs_zone_transfer): minor fixes to buffer
5166         sizes for some hesiod queries.  Patch from Danny Braniss
5167         <danny@cs.huji.ac.il>.
5169 Mon Jul  7 19:04:14 1997  Erez Zadok  <ezk@glory.soscorp.com>
5171         * amd/ops_nfs.c (mount_nfs_fh): fixed NFS V.3 support for bsdi3.
5173 Sun Jul  6 14:22:24 1997  Erez Zadok  <ezk@glory.soscorp.com>
5175         * aux/{configure.in,acconfig.h}: added checks for struct
5176         nfs_args's fields proto and sotype (bsdi3).
5177         
5178         * amd/ops_nfs.c (mount_nfs_fh): added nfsv3 option to
5179         nfs_args.flags for bsdi3.  Set field proto to 0.  Set sotype field
5180         to SOCK_STREAM or SOCK_DGRAM.
5182         * aux/macros/check_mount_style.m4: add case for bsdi3.
5184         * amd/info_hesiod.c: got hesiod support for bsdi3.
5186 Sun Jul  6 11:14:47 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5188         * aux/configure.in: look for hesiod on libc (bsdi3)
5190         * amd/get_args.c (get_args): reformat usage so it fits in 80
5191         columns.
5193         * scripts/ctl-amd.in: changed directory name for optional tftpboot
5194         map to /tftpboot/.amd.
5196 Sat Jul  5 17:46:45 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5198         *******************************************************************
5199         *** Released am-utils-6.0a6                                     ***
5200         *******************************************************************
5202 Sat Jul  5 03:17:09 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5204         * scripts/ctl-amd.in: include -T tag for tftpboot.
5206         * new port: mips-sgi-irix5.3.  Compiled with gcc, but NFS V3 code
5207         is broken and needs work on the specific nfs_args that irix5 uses
5208         for V3 mounts.
5210 Sat Jul  5 01:44:25 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
5212         * amd/get_args.c (get_args): new options amd -T tag.  A map with
5213         tag=foo matching the -T tag will be processed.  All untagged maps
5214         get processed all the time.
5216 Fri Jul  4 16:19:26 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5218         * aux/configure.in: need to check for strcasecmp in libucb (ncr2)
5220         * aux/macros/check_os_libs.m4: a new macro to set the usage of
5221         libnsl and libsocket based on the OS.
5223         * libamu/mount_fs.c (mnt_flags): used MNTTAB_OPT_GRPID if it is
5224         defined (problem on osf4).
5226         * conf/nfs_prot/nfs_prot_irix5.h: new file for irix5 headers.
5228         * include/am_defs.h, aux/macros/try_compile_nfs.m4,
5229         aux/macros/mount_headers.m4: do include <sys/proc.h> because it
5230         failes on irix5.  Rather, put in the individual
5231         conf/nfs_prot/nfs_prot_*.h headers.
5233         * amd/conf.c: AIX3 doesn't like strdup() being passed a constant
5234         char*, so cast all strdup()'s args to a non-const char*.
5236         * amd/mapc.c (root_newmap): don't try to strdup only a "const
5237         char *".
5239 Fri Jul  4 15:47:10 1997  Erez Zadok  <ezk@americas.psl.cs.columbia.edu>
5241         * conf/nfs_prot/nfs_prot_sunos4.h: added rpc/rpc.h and
5242         sys/errno.h.
5244 Thu Jul  3 17:49:00 1997  Erez Zadok  <ezk@prometheus.soscorp.com>
5246         * made sure am-utils compiles, links, and runs properly on Irix
5247         6.2 using "cc -32 -Wl,-woff,"
5249         * aux/macros/check_lib2.m4: a bug fix version to autoconf 2.12
5250         AC_CHECK_LIB.  If OTHER-LIBRARIES are defined and used, then add
5251         them to $LIBS.
5253         * aux/configure.in: some cleanup of which libraries are needed.
5254         Espectially ensure that libnsl is included only on Solaris, where
5255         so far it is the only system on which it is absolutely necessary.
5256         Also no longer need to include libc explicitly. 
5258         * amd/amd.c,wire-test/wire-test.c (main): convert IP address to
5259         network-long order before printing it.
5261         * wire-test/wire-test.c (main): also check and report on the IP
5262         address of the local host, since some systems have bad versions of
5263         get_myaddress, or ones that conflict with other versions in
5264         multiple libraries (SunOS 4 and Irix especially).
5266 Wed Jul  2 18:19:02 1997  Erez Zadok  <ezk@starblazers.soscorp.com>
5268         * scripts/ctl-amd.in: don't use full pathname so killproc() works
5269         better.  Also run bsd44 and irix style ps programs. 
5271         * aux/macros/check_lib_funcs.m4: bug fixed: used to define usage
5272         of library no matter if it was found or not.
5274 Wed Jul  2 02:11:48 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5276         * aux/macros/check_mnt2_gen_opt.m4: turned back on the checking
5277         for M_* macros, but ensure that <sys/stream.h> is not included at
5278         all so it won't conflict with other M_* macros.
5280 Tue Jul  1 21:16:51 1997  Erez Zadok  <ezk@mako.cs.columbia.edu>
5282         * conf/mount/mount_irix.c (mount_irix): first arg to mount(2) on
5283         irix should be "spec" (host:/path), not the dir of the mnt point.
5285         * amd/ops_afs.c (afs_lookuppn): bug in enable_default_selectors
5286         fixed.  If on, it essentially ignored the setting in a
5287         selector-controlled /defaults if there were 2 or more entries in it.
5289 Tue Jul  1 12:23:38 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5291         * scripts/ctl-{amd,hlfsd}.in (killproc): if failed to find process
5292         using BSD style ps, then try SVR4 style ps.
5294         * include/am_utils.h (amuDebug): renamed Debug macro to amuDebug
5295         etc., to avoid conflicts with similar named macros in <ldap.h>.
5297         * aux/configure.in, amd/info_ldap.c, etc.: put in all the autoconf
5298         support needed for LDAP.  Now the code has to be written mostly in
5299         amd/info_ldap.c.
5301         * Included additional patches from Andreas Stolcke
5302         <stolcke@speech.sri.com> to support using the best possible
5303         combination of NFS version (2,3) and protocol (udp,tcp) for any
5304         given host, since it appears that some Irix versions have NFS V3,
5305         but do not support TCP.
5307         * scripts/ctl-amd.in: updated amd control script to look for and
5308         use amd.conf file.
5310 Tue Jul  1 00:28:23 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
5312         * amd/mapc.c (mapc_create): now, each map in the amd.conf can be
5313         initialized off of a different type, or default to cycling through
5314         all maps until one of them matches.
5316 Mon Jun 30 20:49:13 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
5318         * amd/ops_afs.c (afs_readdir): per-map browsing (readdir) done.
5319         if browsable_dirs=yes is set in the map section in amd.conf, that
5320         map will return all entries back to a readdir(2).
5322 Sun Jun 29 16:22:11 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
5324         * rudimentary amd.conf file support included.  You may even
5325         override things like os=sos5, to get "backwards" compatibilty with
5326         upl102.
5328 Sat Jun 28 13:35:02 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
5330         * amd/conf.c: new file to process amd.conf file.
5332         * amd/get_args.c (get_args): new options -H to print help.
5334         * moved enable_default_selectors to be amd.conf controlled, and
5335         not compiler controlled.
5337         * amd/get_args.c (get_args): new options -F <conf-file> to parse an
5338         amd configuration file.
5340 Wed Jun 25 23:15:42 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
5342         * converted all files that used strcmp() == 0 or != 0  to using
5343         the STREQ() macro.
5345 Mon Jun 23 22:31:14 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
5347         * aux/macros/check_lib_funcs.m4: new M4 macro that can be used to
5348         search for any number of functions in any given library.
5350 Mon Jun 23 01:04:23 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5352         * amd/mapc.c: Included patch from Leif Johansson
5353         <leifj@matematik.su.se> to ensure that systems without an RE
5354         library can compile.
5356         * libamu/mount_fs.c (mount_fs): Included patch from Andreas
5357         Stolcke <stolcke@speech.sri.com>, to ensure that mount options on
5358         table are properly delimited by a comma.
5360         * amd/ops_nfs.c (mount_nfs_fh): Included patch from Andreas
5361         Stolcke <stolcke@speech.sri.com>, to allow users to override the
5362         proto= and vers= mount options.
5364 Sun Jun 22 01:00:11 1997  Eric Dana  (edana@ncr2.bgs.com)
5366         * conf/nfs_prot/nfs_prot_svr4.h: port completed to
5367         i486-ncr-sysv4.3.03.  Assorted source cleanups done.
5369         * include/am_defs.h, aux/macros/mount_headers.m4: don't include
5370         mnttab.h if sys/mnttab.h was already included, because on ncr2,
5371         they contain conflicting entries for struct mnttab.
5373 Sat Jun 21 23:52:15 1997  Eric Dana  (edana@ncr2.bgs.com)
5375         * aux/macros/check_nfs_prot_headers.m4: added support for ncr2.
5377 Fri Jun 20 06:14:17 1997  Erez Zadok  <ezk>
5379         * amd/*.c: lots of 64-bit "ugly" ports like casts to long ints.
5381         * aux/macros/struct_nfs_fh.m4: check for "struct nfssvcfh" because
5382         on DU-4.0 it is better than the next one to be picked (nfsv2fh_t).
5384 Wed Jun 18 18:59:49 1997  Erez Zadok  <ezk@defiant.soscorp.com>
5386         * aux/macros/struct_nfs_fh.m4 (AC_TRY_COMPILE_NFS): check for
5387         nfsv2fh_t before fhandle_t becasue on bsdi2.1 the former is
5388         better.
5390 Tue Jun 10 17:06:58 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
5392         * amd/rpc_fwd.c (fwd_packet): TLI bug fix. if fwdto socket is
5393         NULL, set the maxlen and len fields in netbuf to zero.
5395 Wed May 28 22:52:28 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5397         * scripts/fix-amd-map.in (name): replace all matching patterns on
5398         line.
5400 Sun May 25 19:33:41 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5402         *******************************************************************
5403         *** Released am-utils-6.0a5                                     ***
5404         *******************************************************************
5406 Sun May 25 13:37:24 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
5408         * amd/amq_subr.c (amqproc_getvers_1_svc): amq's RPC service
5409         procedure now returns the full string that amd -v returns.
5411         * amd/get_args.c (get_version_string): new function to return
5412         complete version/info string so it could be used more flexibly.
5414         * amd/am_ops.c (ops_showamfstypes, ops_showfstypes): put the list
5415         of Fs types into a string buffer, rather than a FILE*.
5417         * amd/mapc.c (mapc_showtypes): put the list of map types into a
5418         string buffer, rather than a FILE*.
5420 Sun May 25 01:25:36 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5422         * amd/get_args.c (get_args): amd -v also prints user who built
5423         amd, hostname built on, and date of configuration.
5425 Sat May 24 13:40:50 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5427         * scripts/lostaltmail.conf-sample: sample lostaltmail
5428         configuration file.
5430         * scripts/lostaltmail.in: new script lostaltmail used to redeliver
5431         "lost" mail that hlfsd redirected to a temp location because the
5432         primary home file system of the user was full.
5434         * scripts/amd2sun.in: new script amd2sun. Used to convert Sub
5435         automount maps to amd maps.
5437         * scripts/ctl-hlfsd.in: new script ctl-hlfsd.  Used to start,
5438         stop, or restart hlfsd.
5439         
5440         * scripts/expn.1: man page for expn command.
5442         * scripts/ctl-amd.in: new script ctl-amd.  Used to start, stop, or
5443         restart amd.
5445         * scripts/expn.in: new script expn.  Actually taken from David
5446         Muir Sharnoff <muir@idiom.com>.  Used by hlfsd's mail re-delivery
5447         script.
5449         * scripts/wait4amd.in: new script wait4amd added.  Waits for amd
5450         to come up on a host, and then runs a command (rsh $hostname by
5451         default).
5453         * scripts/Makefile.am: new directory now holds all shell/perl
5454         scripts that belong to am-utils.
5456         * conf/mount/mount_linux.c (parse_opts): new parser for
5457         linux-specific mounts.  Handles fs-type specific mount-options
5458         correctly.  Currently implemented: msdos, iso9660.
5460         * amd/ops_pcfs.c (pcfs_ops): don't timeout cdfs mounts by default
5461         (fix for linux).
5463         * amd/ops_cdfs.c (cdfs_ops): don't timeout cdfs mounts by default
5464         (fix for linux).
5466         * amd/mapc.c (make_entry_chain): fixed bug that resulted in amd
5467         core dumps upon "ls" of a mount point; an invalid pointer was
5468         being returned and dereferenced.
5470         * port to Linux sparc working!
5472         * hlfsd/homedir.c (hlfsd_diskspace): close file descriptor if
5473         failed to write test file, or else the fd will leak.
5475 Sun May 18 00:42:41 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5477         * amd/info_hesiod.c (hs_strip_our_domain): use strcasecmp()
5478         instead of strcmp().
5480         * Port to Digital Unix 4.0 (OSF) done.
5482         * hlfsd/hlfsd.c: renamed dirname to dir_name to avoid conflicts
5483         with dirname() function in <string.h> on OSF systems.
5485         * fsinfo/fsi_util.c (set_ether_if): take out extern defintion of
5486         inet_addr().  It should come from <arpa/inet.h> instead.
5488         * conf/mtab/mtab_osf.c: fixed macros and added NFS V3 specs.
5490         * include/am_utils.h: renamed FIRST/LAST to AM_FIRST/AM_LAST to
5491         avoid conflicts with DU 4.0 system header.
5493 Thu May 15 22:49:12 1997  Erez Zadok  <ezk@subzero.cs.columbia.edu>
5495         * libamu/mount_fs.c (mount_fs): pass along NFS version so I can
5496         determine if to include additional options in the mount table file
5497         entry (such as proto=tcp, and vers=3).
5499 Thu May 15 00:42:12 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5501         * libamu/mount_fs.c (mount_fs): include NFS version number in the
5502         mount table options, as well as proto={tcp,udp}.
5504 Wed May 14 14:30:19 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
5506         * NFS V3 code ported to most other systems, so it compiles for V2
5507         and V3 NFS systems.
5509         * NFS VERSION 3 support, first pass.  Working for Solaris and
5510         using TCP.
5512 Sun May 11 01:14:29 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
5514         * amq/amq.c: many newline characters were missing from various
5515         stderr printfs.
5517 Sat May 10 13:09:06 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
5519         * conf/nfs_prot/nfs_prot_sunos5.h: protocol defintions for
5520         Solaris, which include NFS V3 support.
5522         * conf/nfs_prot/nfs_prot_default.h: default NFS protocol headers.
5524         * conf/transp/transp_{tli,sockets}.c (get_mount_client): use NFS
5525         protocol version while getting a mount client.
5527         * amd/ops_nfs.c (mount_nfs_fh): set the mount types, mnttab types,
5528         file handle size, and proper file handle based on the correct NFS
5529         version number.
5531         * conf/mount/mount_svr4.c (mount_svr4): support NFS3 mounts under
5532         Solaris and other SVR4 systems.
5534         * amd/ops_nfs.c: store NFS file handle version and version
5535         specific handle in struct fh_cache.
5536         (got_nfs_fh): pick the correct RPC reply based on the NFS version
5537         of the server.
5538         (prime_nfs_fhandle_cache): figure out the right NFS file handle
5539         for a node, but now include NFS protocol version information.
5540         (call_mountd): set the correct version for the mount protocol,
5541         based on the NFS protocol version.
5542         (nfs_init): use the NFS protocol generic structure
5543         am_nfs_handle_t.
5545         * include/am_utils.h: new structure am_nfs_handle_t to contain all
5546         possible versions of NFS file handles.
5548         * amd/srvr_nfs.c (start_ping): ping program performs NFS version
5549         specific pings.
5550         (recompute_portmap): figure out the correct portmap version mount.
5551         (nfs_keepalive): call start_ping() with the correct NFS version.
5552         (find_nfs_srvr): if mount option "vers=" is given, use it.  Get
5553         the NFS server version and verify that it is up.
5555         * conf/transp/transp_{tli,sockets}.c (get_nfs_version): a new
5556         function to find the best NFS version for a particular host.
5558         * libamu/amu.h: determine what is the highest version of NFS we
5559         should try.
5561         * include/am_utils.h (NFS_VERSION3): added definition for NFS V3
5562         protocol number.
5563         Added field fs_version to struct fserver, so we can now store the
5564         server protocol version.
5566 Fri May  9 01:09:45 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
5568         * aux/macros/check_field.m4 (AC_MOUNT_HEADERS): map '.' (dot) into
5569         underscores too, so I can test for sub-fields.
5571         * libamu/wire.c: use test that checks for sub-fields of struct
5572         ifreq.
5574 Sat May  6 10:20:17 2000  Erez Zadok  <ezk@glory.soscorp.com>
5576         * port to BSD/OS 3.0 completed!  Many xdr_ functions were broken
5577         into smaller files.  M4 macros fixed to test for existence of
5578         file systems using getvfsbyname().
5580         * amd/sched.c (sigchld): signal handler must waitpid() for all
5581         possible children.
5583         * hlfsd/homedir.c: signal handler must waitpid() for all possible
5584         children. 
5586         * aux/macros/check_restartable_signals.m4: new macro to determine
5587         if need to reinstall signal handlers per OS is better than trying
5588         to figure these out based on system macros.
5590 Fri May  5 19:23:28 2000  Erez Zadok  <ezk@glory.soscorp.com>
5592         * amd/ops_nfs.c (mount_nfs_fh): set nfs_args_t version number.
5594         * amd/ops_afs.c (mount_toplvl): set nfs_args_t version number.
5596         * amd/ops_nfs.c (mount_nfs_fh): process nfs mount option resvport
5597         (must be supplied for bsdi 3.0)
5599         * libamu/wire.c: use HAVE_FIELD_STRUCT_IFREQ_IFR_ADDR (and
5600         associated new macro) for determining the right way to compute the
5601         size of the interface structure.
5603 Fri Apr 11 15:56:13 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5605         * aux/configure.in: need to include libc before libnsl if
5606         get_myaddress() is available because on irix libnsl has a buggy
5607         get_myaddress().
5609         * include/am_defs.h: make sure REINSTATE_SIGNAL_HANDLER is defined
5610         on Irix 6 (an SVR4 variant)
5612 Thu Mar 27 02:28:40 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5614         *******************************************************************
5615         *** Released am-utils-6.0a4                                     ***
5616         *******************************************************************
5618 Wed Mar 26 21:15:36 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
5620         * amd/amq_subr.c (ok_security): turned off insecure code unless
5621         user explicitly runs configure --enable-amq-mount.
5623         * hlfsd/hlfsd.c (main): use new protoypes dor create_nfs_service().
5625         * amd/nfs_start.c (mount_automounter): use code that separately
5626         creates the NFS and the amq service.  Register tcp and udp
5627         services for amd.
5629         * conf/transp/transp_*.c (create_amq_service): new function to
5630         separately create the amq service for amd.  Simplified prototypes
5631         for create_nfs_service().
5633 Wed Mar 19 20:40:56 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5635         *******************************************************************
5636         *** Released am-utils-6.0a3                                     ***
5637         *******************************************************************
5639 Wed Mar 19 17:49:18 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5641         * new port: rs6000-ibm-aix3.2.5 and rs6000-ibm-aix4.1.5.0.  Lots
5642         of small changes to support these two.
5644 Wed Mar 19 14:33:30 1997  Erez Zadok  <ezk@grande.cs.columbia.edu>
5646         * conf/umount/umount_default.c (umount_fs): bug: unlock_mntlist()
5647         should run if MOUNT_TABLE_ON_FILE, not otherwise.
5649 Mon Mar 17 22:02:43 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5651         * hlfsd/hlfsd.c (main): fill in fhsize field if exists
5652         (freebsd-2.2).
5654         * amd/ops_{nfs,afs}.c (mount_toplvl): fill in fhsize field if
5655         exists (freebsd-2.2).
5657 Sat Mar 15 19:37:48 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5659         * new port: i386-unknown-freebsd2.2.  FreeBSD 2.2 and higher
5660         changed the filehandle type in struct nfs_args from nfsv2fh_t to
5661         u_char.
5663 Sat Mar 14 10:11:03 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
5665         * SHARED LIBRARIES: too many change to list individually.  Now,
5666         libamu can be built as a shared library, and other programs link
5667         with it.
5669 Tue Mar 11 22:24:09 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
5671         * aux/macros/opt_shared.m4: new macro for setting options for
5672         building shared am-utils libraries.
5674 Sun Mar  9 19:17:46 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5676         * fixmount/fixrmtab: cleaned up the script.
5678         * fixmount/Makefile.am (EXTRA_DIST): adde $(sbin_SCRIPTS) so that
5679         fixrmtab gets distributed too.
5681         * conf/nfs_prot/nfs_prot_bsdi2.h: added support for MOUNTPROC_DUMP.
5682         Added extern for xdr_mountlist().
5684         * aux/configure.in: trimmed down many tests for MNT2_GEN_OPT,
5685         MNT2_NFS_OPT, and MNTTAB_OPT that were not referenced anywhere in
5686         the sources.
5688 Sat Mar  8 00:23:58 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5690         * fixmount/hlfsd ported to bsd44, hpux, and linux systems.
5692         * aux/macros/check_fixmount_style.m4: add check for bsd44 systems.
5694         * conf/fixmount/fixmount_default.c: use lockf() if flock() is
5695         unavailable.
5697         * include/am_defs.h: include <string.h> even if don't have
5698         STDC_HEADERS defined (sunos4).
5699         (seteuid): define seteuid() to be setresuid() for systems that
5700         have but not the other (hpux).
5702         * aux/macros/check_extern.m4: test should include <strings.h>.
5704 Tue Mar  4 17:16:52 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
5706         * lib/xutil.c (debug_option): moved from amd/getargs.c to this
5707         more proper file.
5709         * include/am_utils.h: put in structure for debug options, for all
5710         progams to use.
5712         * amd/get_args.c: moved structure for debug options out.
5714 Sun Mar  2 00:13:07 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
5716         * ported fixmount.
5718         * lib/ualarm.c: replacement function for systems that don't have a
5719         ualarm().
5721         * ported fsinfo.
5723 Sun Mar  1 10:23:34 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
5725         * ported mk-amd-map.
5727         * buildall: added -K option to buildall, to run mkconf.
5729 Fri Feb 28 01:10:25 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5731         *******************************************************************
5732         *** Released am-utils-6.0a2                                     ***
5733         *******************************************************************
5735 Thu Feb 27 13:58:59 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5737         * all *.[hcyl] files: add copyright line.
5739         * aux/macros/check_mount_type.m4: test for mount type for
5740         linux-like systems, by checking for loadable or statically linked
5741         kernel filesystem modules.
5743         * aux/macros/check_mnttab_type.m4: test for mount table entry
5744         for linux-like systems, by checking for loadable or statically
5745         linked kernel filesystem modules.
5747         * aux/configure.in: pcfs filesystems can use vfat type (linux)
5749         * aux/macros/check_fs_mntent.m4: test for filesystem existence for
5750         linux-like systems, by checking for loadable or statically linked
5751         kernel filesystem modules.
5753         * conf/trap/trap_hpux.h: ugly hack added because of stupide HPUX
5754         9.0 header files.  This should be removed when HPUX 9.0 is deemed
5755         defunct.
5757         * aux/acconfig.h: set an undefined variable for having an extern
5758         to clnt_sperrno().
5760         * include/am_defs.h: define extern for clnt_sperrno() if needed.
5762         * aux/configure.in: test for extern clnt_sperrno().
5764         * aux/macros/check_nfs_fh_dref.m4: HPUX's NFS fhandle dref is
5765         similar to irix.
5767         * aux/macros/check_mount_style.m4: use mount helper on HPUX.
5769         * aux/macros/check_mtype_type.m4: hpux's mount type is a char*,
5770         not integer (but may be mapped to one later).
5772         * conf/mount/mount_hpux.c (mount_hpux): HPUX has confusing header
5773         files.  They have mount(2) and vfsmount(2) which don't take same
5774         arguments, and they have string mount types MNTTYPE_* as well as
5775         integer types MOUNT_*.  So I need this new mount function to map
5776         from string types to integer types for the vfsmount() function.
5778         * conf/trap/trap_hpux.h (MOUNT_TRAP): instead of calling
5779         vfsmount(), call mount_hpux().
5781 Thu Feb 27 03:34:14 1997  Erez "HWank1" Zadok  <ezk@okeeffe.cs.columbia.edu>
5783         * lib/mount_fs.c (mnt_flags): make sure SYNC option is on only if
5784         both MNTTAB_OPT_SYNC and MNT2_GEN_OPT_SYNC are defined.
5786 Thu Feb 27 00:26:00 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5788         * conf/nfs_prot/nfs_prot_hpux.h: NFS protocol definitions for
5789         hpux.
5791         * include/am_defs.h: no need to include rpc/auth.h or rpc/clnt.h.
5793         * aux/configure.in: no need to test for rpc/auth.h and rpc/clnt.h.
5795         * buildall: added ability to configure using other shells than
5796         /bin/sh, on those systems where /bin/sh is buggy or limited
5797         (HPUX).
5799         * aux/macros/struct_nfs_fh.m4: reinstated the macro but have it
5800         defined am_nfs_fh, and also test for plain typedef "nfs_fh".
5802         * aux/acconfig.h: #undef am_nfs_fh, which is being defined by a
5803         reinstated macro.
5805         * aux/configure.in: check for <nfs/export.h>
5807         * include/am_defs.h: include <nfs/export.h> (HPUX) if exists.
5809         * aux/macros/try_compile_nfs.m4: include <nfs/export.h> (HPUX) if
5810         exists.
5812         * aux/macros/mount_headers.m4 (define): removed some non-working
5813         (on HPUX) code that attempts to recreate the fhandle_t rather than
5814         load it up from system headers.  Also added some NFS protocol
5815         header inclusion.  include <nfs/export.h> (HPUX) if exists.
5817 Wed Feb 26 00:32:35 1997  Erez "HWank1" Zadok  <ezk@okeeffe.cs.columbia.edu>
5819         * aux/macros/mount_headers.m4 (define): Use M4 changequote to
5820         ensure [] brackets are correctly used.
5822         * aux/macros/expand_cpp_{string,hex,int}.m4: encapsulate
5823         multi-line M4 inclusions in [].
5825 Tue Feb 25 22:19:44 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5827         * conf/mtab/mtab_bsd.c (mnt_dup): use statfs field f_fstypename if
5828         it exists.
5830         * aux/acconfig.h: HAVE_FIELD_STRUCT_STATFS_F_FSTYPENAME, new
5831         config.h macro for field f_fstypename of struct statfs.
5833         * aux/configure.in: testing for field f_fstypename field of struct
5834         statfs (NetBSD).
5836         * aux/acconfig.h: moved all of the "static" definitions out to a
5837         fixed file called include/am_defs.h.  Added to all */Makefile.am
5838         files a dependency on am_defs.h.  Created am_defs.h of course, and
5839         then added #include <amd_defs.h> to all of the source and header
5840         files that required it.
5842 Mon Feb 24 01:27:02 1997  Erez Zadok  <ezk@defiant.soscorp.com>
5844         * aux/acconfig.h: two more externals for xdr functions that may be
5845         implemented by libamu.
5847         * conf/nfs_prot/nfs_prot_bsdi2.h: added missing RPC and XDR
5848         definitions.
5850 Sun Feb 23 15:25:26 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5852         * buildall (default): added -D option for turning on even stricker
5853         developer options.
5855         * */Makefile.am: make sure @AMU_NFS_PROT_HEADERS@ is used to
5856         determine dependencies on optional NFS protocol headers.
5858         * aux/acconfig.h: define and use HAVE_NFS_PROT_HEADERS as needed.
5860         * aux/macros/check_nfs_prot_header.m4: new test to determine what
5861         NFS protocol headers to use. 
5863         * conf/nfs_prot/nfs_prot_{irix6,sunos4,bsdi2}.h: new headers to
5864         complete missing system headers for NFS protocol definitions.
5866 Sun Feb 16 15:58:42 1997  Erez "HWank1" Zadok  <ezk@vir.cs.columbia.edu>
5868         * amd/ops_nfs.c (mount_nfs_fh): encapsulated some more code in
5869         #ifdef's as needed.
5871         * amd/ops_afs.c (mount_toplvl): make sure TIMEO/RETRANS code is
5872         suitable #ifdef'ed.
5874         * include/am_compat.h: a couple more mnttab options
5875         (timeo/retrans) setting just in case.
5877         * amd/autil.c (host_normalize): make sure hostent->h_name is
5878         passed a non-const char *.
5880         * conf/mount/mount_linux.c (mount_linux): cleaned up a block of code.
5882         * {lib,amq,amd}/*.c (many functions): cast xdr_entry to
5883         XDRPROC_T_TYPE.
5885         * lib/nfs_prot_svc.c (nfs_program_2): cast xdr_entry to
5886         XDRPROC_T_TYPE.
5888         * lib/nfs_prot_xdr.c (xdr_entry): cast xdr_entry to
5889         XDRPROC_T_TYPE.
5891         * lib/wire.c (getwire): Make sure safe assignment from const to
5892         none is done.
5894 Sat Feb 15 19:38:51 1997  Erez "HWank1" Zadok  <ezk@vir.cs.columbia.edu>
5896         * aux/macros/expand_cpp_int.m4: new macro for expanding integers.
5898         * aux/configure.in: added linux/fs.h support in configure and
5899         several M4 macros.
5901         * conf/mount/mount_linux.c (mount_linux): use macro instead of
5902         "ugly" fixed hex number for mount() arguments.
5904 Sat Feb 15 02:09:47 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
5906         * amd/info_hesiod.c: removed macro HAVE_HS_ZONE_TRANSFER and
5907         turned all of its code always on.  That code always seems to
5908         compile, as long as you have hesiod and libresolv.
5910         * amd/mapc.c: removed macro HAVE_HS_ZONE_TRANSFER and turned all
5911         of its code always on.
5913         * aux/configure.in: removed superfluous test for hs_zone_transfer
5914         function (will never find it because it is an amd-internal
5915         function).
5917         * amd/mapc.c (maptypes): must used correct new name for am-utils'
5918         hesiod initialization function: hesiod_am_init.
5920         * amd/info_hesiod.c (hesiod_am_init): renamed hesiod_init to
5921         hesiod_am_init so as not to conflict with libhesiod's
5922         hesiod_init() function.
5924         * aux/configure.in: added test and explicit inclusion of
5925         libresolv.a for later resolution of library references with
5926         libhesiod.
5928         * aux/macros/opt_cppflags.m4: new file.  configure/compile C
5929         preprocessor flags.
5931         * aux/macros/opt_libs.m4: new file.  configure/compile library
5932         flags.
5934         * Makefile.am (EXTRA_DIST_AUX): include two new macros
5935         opt_cppflags.m4 and opt_libs.m4.
5937         * aux/configure.in: test for libhesiod needs to additional
5938         libresolv to link completely.  Additional configuration time
5939         options added for setting initial CPPFLAGS and LIBS.
5941 Tue Feb 10 02:15:40 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
5943         *******************************************************************
5944         *** Released am-utils-6.0a1                                     ***
5945         *******************************************************************
5947 Thu Feb  6 02:55:19 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5949         * amd/info_ndbm.c (ndbm_search,ndbm_init): fixed the code so that
5950         it works on freebsd, where they map dbm_pagfno a non-existing
5951         macro on purpose, to force you to port the code to Berkeley DB.
5953 Fri Jan 31 01:35:09 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
5955         * amd/ops_afs.c (mount_toplvl): added a sleep(1) right before the
5956         actual mount_toplvl, to avoid some possible race conditions.
5958 Thu Jan 30 02:31:49 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
5960         * amd/rpc_fwd.c: removed all TLI (HAVE_T_OPEN) code.
5962 Wed Jan 29 18:25:07 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
5964         * lib/wire.c (getwire): removed HAVE_T_OPEN (TLI code)
5966         * amd/amd.c (main): fix local address using htonl(). Free up
5967         buffers allocated by netdir_*() functions.
5969 Wed Jan 22 23:53:24 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
5971         * amd/fix-amd-map.in: new script that will convert old-style amd
5972         maps to new one.
5974 Tue Jan 21 01:18:16 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
5976         * FIRST AMD IN AM-UTILS FINALLY WORKS (mounts itself as toplvl,
5977         and replies back to simple nfs/link type mount queries).
5979         * conf/mtab/mtab_svr4.c: reorganized the code in this file to be
5980         easier to read, and fixed a few bugs with un/setting the lock file
5981         descriptor.
5983 Wed Jan  8 15:27:49 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
5985         * amd/sched.c: removed HAS_SVR3_SIGNALS code to handle older
5986         signals in Svr3 systems.  Only stellix ever used this.
5988         * amd/rpc_fwd.c (fwd_reply): removed all code that was triggered
5989         by DYNAMIC_BUFFERS, since it was not in use.
5991 Tue Jan  7 00:45:59 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
5993         * amd/opts.c (eval_opts): removed AMD_COMPAT code.  Amd no longer
5994         takes '=' sign as old selector.  Fix your maps.
5995         (deslashify): removed APOLLO code that treated two '//' as one.
5997 Sun Jan  5 01:25:09 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
5999         * amd/ops_nfsx.c (nfsx_init): removed HARD_NFSX_ERRORS, code which
6000         was not used.  It made any submount error fail the whole group.
6002         * amd/ops_nfs.c (make_nfs_auth): removed code dependent on
6003         HAS_NFS_QUALIFIED_NAMES.
6004         (mount_nfs_fh): removed macro for NFS_ARGS_NEEDS_PATH, assuming it
6005         is never on.  So code that was triggered by #ifndef
6006         NFS_ARGS_NEEDS_PATH (osf1, aix3, and bsd44 variants) may have to
6007         be fixed later.
6008         Removed all ULTRIX_HACK code.  Ultrix is DEAD!
6009         removed all PRESET_AC code, which was only on for Linux to preset
6010         the attribute cache values (otherwise they default to zero).
6011         (nfs_umounted): revobed KICK_KERNEL code (IRIX systems).  Will
6012         have to fixed up later.
6013         (mount_nfs_fh): removed code that was never included, which
6014         attempted to set the port on which amd's nfs mounts on.  This
6015         isn't supported by the ping algorithm yet.  In any case, it is all
6016         done in nfs_init().
6018         * amd/srvr_nfs.c (find_nfs_srvr), amd/ops_nfs.c (mount_nfs_fh):
6019         removed HAS_TCP_NFS code.  The whole use of NFS V.3 with TCP or
6020         specially hacked NFS V.2 that uses TCP (BSD 4.4 variants) will
6021         have to be addressed later.
6023         * amd/nfs_subr.c (nfsproc_getattr_2): removed all code dependent
6024         on PRECISE_SYMLINKS.
6026         * amd/mapc.c (mapc_meta_search): removed code that depended on
6027         HAS_DEPOT.  It is known buggy code.  The whole DEPOT support needs
6028         to be rethought.
6029         (mapc_add_kv): ported code to use standard regular expression
6030         (regexp) library.
6032         * amd/{map.c,ops_sfs.c,ops_ufs.c}: removed all code dependent on
6033         FLUSH_KERNEL_NAME_CACHE and the macro itself.
6035 Sat Jan  4 15:46:58 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
6037         * amd/map.c (exported_ap_alloc): removed all code triggered by
6038         SHRINK_EXPORTED_AP and the macro itself.
6040         * amd/info_nis.c: removed HAS_NIS_RELOAD macro, and left the code
6041         in all the time.  Assuming that there is always NIS realod
6042         available.
6043         (yp_all_fixed): removed code for BROKEN_YP_ALL.  If your yp_all()
6044         function is broken such that it does not release filedescriptors
6045         it created, then you are hosed.  Get a fix for yp_all from your
6046         vendor or switch operating systems.
6048 Tue Dec 31 15:34:36 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
6050         * amd/info_hesiod.c: renamed macro HAS_HESIOD_RELOAD to
6051         HAVE_HS_ZONE_TRANSFER.
6053 Mon Dec 30 17:33:23 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
6055         * amd/{nfs,host}_ops.cremoved INFORM_MOUNTD macro, so its code is
6056         always included.  We should always try to inform the remove mount
6057         daemon of mounts we performed.  If we want an option for this, it
6058         should be a run-time option.
6060         * amd/host_ops.c: removed all that optionally did not make the
6061         directory mount points for amd.
6063         * HOST_EXEC code removed from everywhere.  There is no indication
6064         that it was used anywhere.  If it needs to be used, then a
6065         run-time switch should control it.
6067 Thu Dec 26 00:06:52 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
6069         * amd/*_ops.c: removed all references to mntent_t's fields
6070         mnt_freq and mnt_passno, since they are no longe rused (and never
6071         have been).
6073         * amd/am_ops.c: removed function sunos4_match, which was off
6074         anyway.  This was one of the places where an '=' sign was allowed
6075         as an assignment operator (which is now ':=').
6077         * amd/afs_ops.c (afs_bgmount): removed SUNOS4_COMPAT code which
6078         was off anyway.  This was one of the places where an '=' sign was
6079         allowed as an assignment operator (which is now ':=').
6081 Tue Dec 24 01:53:52 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
6083         * amq/amq.c: ported to am-utils.  Working.
6085         * conf/mount/mount_svr4.c (mount_svr4): changed mount type on svr4
6086         to be string, as it should be (rather than a string mapped to int
6087         and back mapped to string).
6089 Sun Dec 22 13:26:05 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
6091         * lib/mount_fs.c (mount_fs): removed MNTINFO_PREF code.
6093         * lib/umount_fs.c: split this into three files: default, osf, and
6094         bsd44, that are in conf/umount/umount_*.c.
6096 Thu Dec 19 17:33:46 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
6098         * aux/configure.in, aux/aclocal.m4, aux/acconfig.h: added new
6099         macro to automatically figure out if an external definition for
6100         sys_errlist[] exists.
6102         * lib/xutil.c (xfree): removed "#undef free" because it's not
6103         needed there.  Any system that redefines free() needs help.
6105         * conf/mtab/mtab_file.c (REWRITE_MTAB_IN_PLACE): removed code that
6106         was dependent on REWRITE_MTAB_IN_PLACE.  It does not appear to be
6107         in active use anywhere.  If added later, it should be a run-time
6108         configuration option.
6110         * conf/mtab/mtab_mach3.c: removed code that was #ifdef'ed not to
6111         be MOUNT_TABLE_ON_FILE, since mach2 always stores its mount tables
6112         in a file in /etc.
6114         * lib/util.c (str3cat): removed _AIX code.  AIX should have a
6115         working realloc, or else find a cleaner solution to this.
6116         (mkdirs): removed SUNOS4_WORKAROUND code.  This was to do a sync()
6117         after immediately making directories so that fsck will be able to
6118         fix the filesystem in the event of an immediate crash.  This was
6119         because a bug in UFS which is fixed by now.
6121         * lib/hutil.c (domain_strip): removed PARTIAL_DOMAINS triggered
6122         code.  Does not appear to be on and used anywhere.
6123         (dofork): removed MACH3 code, b/c mach3 NFS bugs are fixed by now.
6125         * lib/resvport.c: split the binding of reserved ports code to a
6126         separate file.  A #define (HAVE_T_OPEN) separates the TLI (SVR4)
6127         from the BSD code.
6129 Thu Dec 19 02:08:35 1996  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
6131         * lib/Makefile.am (amu_LIBADD): includs @LIBOBJS@ now, auto-filled
6132         in by automake and configure, for optional sources that need to be
6133         built as part of libamu.a.
6135         * aux/aclocal.m4: Make sure AC_CHECK_MOUNT_STYLE adds mountutil.o
6136         to LIBOBJS.
6138         * lib/memcmp.c (memcmp): new file added to replace a possible bad
6139         implementation of memcmp.
6141 Wed Dec 18 22:20:23 1996  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
6143         * converted the sources to use memset/memmove/memcmp instead of
6144         bzero/becopy/bcmp.
6146         * ran all sources through gnu Indent w/ options specified in
6147         aux/amindent.
6149 Wed Dec 11 22:19:29 1996  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
6151         * At this point the initial genration of config.h via autoconf and
6152         some preliminary makefiles via automake is done.  I will not begin
6153         modifying sources, so it's a good time to document from here.