Expand PMF_FN_* macros.
[netbsd-mini2440.git] / external / bsd / am-utils / dist / ChangeLog
blob34cdd2b5d9722a0a905aae8d030d2daf688c208b
1 2009-03-20  Christos Zoulas <christos@zoulas.com>
3         * Fix largefile re-definitions
5         * Fix compilation error caused in previous patch
7 2009-02-19  Christos Zoulas <christos@zoulas.com>
9         * Add a synchronous unmount amq rpc that will wait for the remote
10           filesystem to be unmounted, or return an error. Enabled by amq -uu
12 2009-01-11  Erez Zadok  <ezk@fsl.cs.sunysb.edu>
14         * amd/ops_udf.c: don't define functions/variables which may not be
15         used.
17         * amd/ops_tmpfs.c (mount_tmpfs): force gcc not to complain about
18         unused variables.
20         * config.guess.long: properly support Fedora Core.
22 2009-01-09  Christos Zoulas <christos@zoulas.com>
24         * Fix nfs mounts on linux 2.6.26 by explicitly initializing context.
26         * Treat an empty sublink as an unset sublink; this allows us to
27           say sublink:=; in a spec to override the default. (This produces
28           Bad selector error, but it works. XXX: We need to decide how to
29           unset a selector. I proposed an unset keyword a while ago).
31 2009-01-06  Christos Zoulas <christos@zoulas.com>
33         * re-renerate all generated files with newer versions of the
34           auto-tools.
36         * move INSTALL to INSTALL.am-utils to avoid conflicts
38         * fix incompatibilities with new m4 and new autoconf.
40         * add UDF filesystem support.
42         * fix NetBSD nfs file handle detection.
43         
44 2009-01-02  Christos Zoulas <christos@zoulas.com>
46         * add nocasetrans, nojoliet, rrcaseins for cd9660 filesystems
48 2008-12-03  Christos Zoulas <christos@zoulas.com>
50         * allow ldap queries try a comma-separated list of servers given as:
52                 ldap_hostports = host1:port1,host2,host3:port3
54           original patch from Florian Geyer
56 2008-09-19  Christos Zoulas <christos@zoulas.com>
58         * the auth_create gid on NetBSD is int
60         * deal with lossage from flex -P
62         * fix missing/incorrect prototypes
64 2008-09-17  Christos Zoulas <christos@zoulas.com>
66         * fix manual page section issues (sorting, non-existant)
68         * add missing forward declarations
70         * avoid null pointer derefs (coverity)
72         * more portable endian detection support
74         * implement tmpfs support
76         * use sizeof var instead of constant
78         * fix yyerror declaration and definition
80         * fix yy function renaming, and correct some renaming issues.
82         * work around automake < 1.9 issue where ylwrap is not being run
83           for a single yacc or lex file.
85         * NetBSD
86           - handle headers that need other headers to compile
87           - add exfs and tmpfs specific glue
88           - add options log, noatime, nocoredump, nodevmtime, softdep,
89             symperm, union
90           - NetBSD's new mount system call needs the size of the opaque
91             filesystem specific structure, but passing 0 for now works.
92             We would need to change a lot more code to pass the size from
93             the fs-specific calls, so for now punt.
94           - recvfrom takes socklen_t * on NetBSD
95           - handle newer NetBSD using statvfs
96           - NetBSD calls its ufs ffs
98         * Linux
99           - Most recent kernels have trouble with trying to parse the pid
100             hostname and do locking. What before was a silent failure, now
101             there is a warning printed and the mount is rejected. This is
102             the simplest fix:
103             (http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=479884)
105 2007-04-13  Erez Zadok  <ezk@cs.sunysb.edu>
107         * amd/sun_map.c (sun_append_str): When translating '&' from Sun
108         automounter maps, replace it with "${key}" in the Amd map, not
109         with the value of the key at the time.  This way '*' maps work
110         too.
112         * config.guess.long: don't use -q option to grep because some
113         systems don't support it.  Bug fix for solaris.
115 2007-03-11  Christos Zoulas  <christos@zoulas.com>
117         * amd/opts.c (expand_op): Don't call xstrlcpy() to truncate a
118         string.  It causes spurious xstrlcpy() syslog() errors.  Use
119         memcpy() and explicitly terminate the string.
121 2007-01-20  Erez Zadok  <ezk@cs.sunysb.edu>
123         * updated copyright year to 2007 on all files.
125 2006-12-27  Erez Zadok  <ezk@cs.sunysb.edu>
127         * minor new port: ia64-hp-hpux11.23
129         * m4/macros/check_libwrap_severity.m4 (LIBS): also test if caller
130         needs to define rfc931_timeout.
132         * amd/sun2amd.c: define rfc931_timeout and allow/deny_severity for
133         libwrap.
135         * amd/amq_svc.c: some versions of libwrap require the caller to
136         define rfc931_timeout in addition to allow/deny_severity.
138         * amd/amfs_toplvl.c (amfs_toplvl_init): properly detect when
139         forced unmount functionality exists for all systems.
141         * libamu/mount_fs.c (compute_nfs_args): reset nfs_args_t->pathconf
142         only if field exists.
144         * conf/nfs_prot/nfs_prot_hpux11.h: prevent HPUX 11.23 from
145         including <tiuser> or <sys/tiuser> (TLI definitions are already
146         included from elsewhere).
148         * configure.in: detect nfs_args_t->pathconf field.
150 2006-11-27  Erez Zadok  <ezk@cs.sunysb.edu>
152         * doc/Makefile.am: properly publish html files using newer
153         text2html.
155 2006-11-27  Erez Zadok  <ezk@shekel.local>
157         * doc/Makefile.am: obfuscate emails in ChangeLog before it is
158         published on web site.
160         * obfuscate many more emails in the distro, esp. of files which get
161         posted on the am-utils web site.
163 2006-11-26  Erez Zadok  <ezk@shekel.local>
165         * minor new port: i386-apple-darwin8.8.1.
167         * doc/am-utils.texi: remove obvious URLs used by spammers, and
168         replace them with links to the am-utils web site, which uses PNG
169         images to obfuscate the actual email/mailman URLs.
171 2006-10-30  Erez Zadok  <ezk@cs.sunysb.edu>
173         * doc/am-utils.texi (Password maps): minor typo reported by
174         Christoph P. Kukulies.
176 2006-10-26  Erez Zadok  <ezk@cs.sunysb.edu>
178         * minor new port: i386-pc-linux-fc6.
180         * m4/macros/linux_headers.m4: handle newer Linux kernels which
181         removed UTS_RELEASE from <linux/version.h>.
183 2006-10-25  Erez Zadok  <ezk@cs.sunysb.edu>
185         * minor new ports: i386-pc-linux-centos4.4 and
186         powerpc-apple-darwin8.7.0.
188         * config.guess.long: recognize CentOS Linux.
190 2006-06-20  Erez Zadok  <ezk@cs.sunysb.edu>
192         * minor new port: i386-pc-solaris2.11-nexentaos (GNU/OpenSolaris).
194         * config.guess.long: recognize NexentaOS (GNU/OpenSolaris)
196         * config.guess, config.sub: updates from latest official GNU
197         distributions.
199 2006-05-11  Erez Zadok  <ezk@cs.sunysb.edu>
201         * Minor new ports: i386-unknown-freebsd6.1 (RELEASE),
202         powerpc-apple-darwin8.6.0, and i386-unknown-openbsd3.9.
204 2006-05-10  Erez Zadok  <ezk@cs.sunysb.edu>
206         * libamu/mount_fs.c (compute_nfs_attrcache_flags): fix signedness
207         problems on IRIX-6.5.
209         * conf/autofs/autofs_solaris_v1.c (xdr_umntrequest): fix
210         signedness problems on IRIX-6.5.
212 2006-05-01  Erez Zadok  <ezk@cs.sunysb.edu>
214         * configure.in: check if libc already includes dbm functionality
215         (as in FreeBSD 6), then don't bother to check specific libraries
216         such as libdbm, gdbm, etc.
218 2006-04-21  Erez Zadok  <ezk@cs.sunysb.edu>
220         * configure.in: detect G/DBM support via gdbm_compat library
221         (Debian 3.1).
223         * minor new port: powerpc-apple-darwin8.5.0
225 2006-04-20  Erez Zadok  <ezk@cs.sunysb.edu>
227         * scripts/amd.conf-sample, scripts/amd.conf.5, doc/am-utils.texi,
228         NEWS: document new nfs_allow_any_interface parameter.
230         * include/am_compat.h (INADDR_LOOPBACK): define INADDR_LOOPBACK if
231         not defined, since some systems don't have it.
233 2006-04-20  Nick Williams <Nick.Williams@morganstanley.com>
235         * libamu/wire.c (is_interface_local): new boolena function to
236         determine if address represents any of the local interfaces.
237         (getwire): more properly check if address equals INADDR_LOOPBACK,
238         not if IFF_LOOPBACK is not (the latter isn't as correct).
240         * include/am_utils.h: extern for new is_interface_local() function.
242         * conf/transp/transp_{sockets,tli}.c: don't define INADDR_LOOPBACK
243         here but in am_compat.h
245         * amd/nfs_prot_svc.c (nfs_program_2): if
246         nfs_allow_any_interface=yes, then allow NFS packets from any local
247         interface (not just 127.0.0.1).
249         * amd/conf.c (gopt_nfs_allow_any_interface): implement the new
250         amd.conf parameter nfs_allow_any_interface.
252         * amd/amd.h (CFM_NFS_ANY_INTERFACE): define new global flag when
253         al interfaces are acceptable for local NFS packets.
255 2006-04-18  Christos Zoulas  <christos@zoulas.com>
257         * amd/opts.c: Add support for optionally specifying the hostname
258         to match against the netgroup in the netgrp and netgrpd selectors.
260 2006-04-16  Erez Zadok  <ezk@cs.sunysb.edu>
262         * libamu/mtab.c (hasmntval): fix inverted meaning of error from
263         hasmntvalerr().
265 2006-04-14  Erez Zadok  <ezk@cs.sunysb.edu>
267         * libamu/mount_fs.c (compute_nfs_attrcache_flags): use new
268         hasmntvalerr() function to set attribute cache values only if they
269         were set (regardless whether they were set to zero or a non-zero
270         value).  Before, we were unable to distinguish between an error to
271         parse an option, and a user who actually wanted to set an
272         attribute-cache value to 0.  This now fixes an important
273         performance bug that Amd was turning off the attribute caches even
274         for regular (non-automounter) NFS mounts.
276         * libamu/mtab.c (hasmntvalerr): new function to set the value of
277         an option into an integer, but ONLY if that options was set and
278         parsed correctly.  This function returns 1 on error, 0 on success
279         (instead of always setting the option value to 0).
280         (hasmntval): wrapper function around hasmntvalerr, which maintains
281         backwards compatibility (always sets option value to 0, even on
282         error to parse the option).
284         * amd/nfs_subr.c (fh_to_mp3): use long int printf format for
285         fhh_pid.
287 2006-04-05  Christos Zoulas  <christos@zoulas.com>
289         * amd/amfs_generic.c (amfs_lookup_mntfs): fix use-after-free bug
290         (Coverity).
292 2006-03-27  Erez Zadok  <ezk@cs.sunysb.edu>
294         * doc/am-utils.texi, scripts/{amd.conf.5,amd.conf-sample}:
295         document new nfs_retransmit_counter_toplvl and
296         nfs_retry_interval_toplvl global amd.conf parameters.
298         * amd/conf.c (gopt_nfs_retransmit_counter_toplvl,
299         (gopt_nfs_retry_interval_toplvl): parse amd.conf
300         nfs_retransmit_counter_toplvl and nfs_retry_interval_toplvl global
301         parameters.
303         * amd/amfs_toplvl.c (amfs_toplvl_mount): support setting toplvl
304         timeo/retrans parameters for Amd's toplvl mounts, separately from
305         all other UDP or NFS mounts.
307         * amd/amd.h: define a new timeo/retrans parameter for toplvl
308         mounts.
310 2006-03-22  Erez Zadok  <ezk@cs.sunysb.edu>
312         * minor new port: i386-pc-linux-suse10.1 (beta 8).
314 2006-03-21  Christos Zoulas  <christos@zoulas.com>
316         * amd/am_ops.c (merge_opts): Remove useless check found by
317         Coverity; xmalloc never returns NULL.
319 2006-03-21  Erez Zadok  <ezk@cs.sunysb.edu>
321         * minor new ports: i386-pc-linux-fc5.
323         * amd/info_ldap.c: as of Linux Fedora Core 5 (which comes with
324         openldap-2.3.9), the ldap.h headers deprecate several functions
325         used in this file, such as ldap_unbind.  You get compile errors
326         about missing extern definitions.  Those externs are still in
327         <ldap.h>, but surrounded by an ifdef LDAP_DEPRECATED.  I am
328         turning on that ifdef at the top of info_ldap.c, under the
329         assumption that the functions may be deprecated, but they still
330         work for this (older?) version of the LDAP API.  It gets am-utils
331         to compile, but it is not clear if it will work perfectly.
333         * libamu/xdr_func.c (xdr_am_mountres3_ok), amq/amq_xdr.c
334         (xdr_amq_mount_tree, xdr_amq_mount_tree_p,
335         xdr_amq_mount_info_list, xdr_amq_mount_tree_list), amq/amq.c
336         (show_mti), amd/amq_subr.c (xdr_amq_setopt, xdr_amq_mount_subtree,
337         xdr_amq_mount_tree, xdr_amq_mount_tree_list, xdr_amq_mount_tree),
338         libamu/xdr_func.c (xdr_am_mountres3_ok): use casing magic to stop
339         GCC-4.1 from complaining about "dereferencing type-punned pointer
340         will break strict-aliasing rules" here (but not elsewhere).
342 2006-03-20  Christos Zoulas  <christos@zoulas.com>
344         * libamu/wire.c: avoid potential dereferencing of a NULL pointer
345         (Coverity).
347         * hlfsd/homedir.c (delay): remove unnecessary check for NULL
348         pointer (Coverity).
350         * fsinfo/fsi_analyze.c (analyze_dkmounts, analyze_mounts,
351         analyze_mounts): avoid potential dereferencing of a NULL pointer
352         (Coverity).
354         * conf/transp/transp_sockets.c (create_amq_service): avoid
355         potential dereferencing of a NULL pointer (Coverity).
357         * amd/sched.c (sigchld): properly check for the end of the waiting
358         process list (Coverity).
360         * amd/mapc.c (mapc_create): initialize 'modify' to zero (Coverity).
362         * amd/autil.c (amfs_mkcacheref, am_unmounted): avoid potential
363         dereferencing of a NULL pointer (Coverity).
365         * amd/amfs_generic.c (amfs_lookup_mntfs): free def_opts before
366         reusing it (memory leak bug detected by Coverity).
367         (amfs_bgmount): avoid potential dereferencing of a NULL pointer
368         (Coverity).
370         * amd/am_ops.c (merge_opts): no need to check if newstr is NULL
371         (bug detected by Coverity).
373 2006-03-08  Ion Badulescu  <ionut@moisil.badula.org>
375         * amd/nfs_subr.c (mp_to_fh): fixed old-style filehandles--the pid
376         comparison was failing.
378 2006-03-08  Erez Zadok  <ezk@cs.sunysb.edu>
380         * configure.in: properly test for either <gdbm/ndbm.h> or
381         <gdbm-ndbm.h> (unfortunately, Autoconf will map both names to the
382         same $ac_cv_* variable name).  Some systems support one header or
383         another.  Patch inspired by work Debian did.
385 2006-02-16  Daniel P. Ottavio  <ottavio@vm.fsl.cs.sunysb.edu>
387         * amd/sum_map_tok.l: Fixed a bug in a regular expression that
388         prevented dashes in hostnames.  This was posted in BZ by Thomas
389         A. Fine.
391         * README.sun2amd: Fixed a typo.  Sentence mentions use of autofs
392         type when it should be host type.
394 2006-01-04  Erez Zadok  <ezk@cs.sunysb.edu>
396         * doc/am-utils.texi (auto_attrcache Parameter): revise discussion
397         to mention pros and cons of turning on/off this parameter,
398         including impact on Amd's performance, and ways to improve
399         performance while minimizing the window of vulnerability in which
400         kernel may return the wrong (cached) attributes.
402 2006-01-02  Erez Zadok  <ezk@cs.sunysb.edu>
404         * updated copyright year to 2006 on all files.
406 2005-12-20  Erez Zadok  <ezk@cs.sunysb.edu>
408         * include/am_utils.h, conf/transp/transp_tli.c (amu_svc_register,
409         register_autofs_service): use a consistent prototype for the
410         dispatch function of the autofs service de/registration functions.
412 2005-12-03  Erez Zadok  <ezk@cs.sunysb.edu>
414         * minor new ports: i386-unknown-netbsdelf2.1,
415         i386-unknown-netbsdelf3.0 (RELEASE), and i386-unknown-openbsd3.8.
417 2005-12-02  Erez Zadok  <ezk@cs.sunysb.edu>
419         * m4/macros/check_field.m4: remove double inclusion of msdosfs
420         headers, which are included in mount_header1.h (netbsd 2.1 doesn't
421         protect <msdosfs/msdosfsmount.h> which causes compile errors).
423 2005-11-08  Erez Zadok  <ezk@cs.sunysb.edu>
425         * minor new port: i386-unknown-freebsd6.0 (RELEASE)
427 2005-10-26  Erez Zadok  <ezk@cs.sunysb.edu>
429         * amd/amq_subr.c (amqproc_pawd_1_svc): repeatedly resolve path in
430         Amd, not in pawd (to avoid repeated network RPCs).
432         * amq/pawd.c (transform_dir): move repeated path resolution into Amd.
434 2005-10-25  Erez Zadok  <ezk@cs.sunysb.edu>
436         * amq/pawd.c (transform_dir): resolve path repeatedly until
437         finished.  Bug fix from Jonathan Chen <jon+amd-at-spock.org>.
438         Added safety check to prevent infinite loops.
440 2005-10-19  Erez Zadok  <ezk@cs.sunysb.edu>
442         * doc/am-utils.texi (opts Option): document new pcfs options
443         longname, nowin95, shortname, user=N, group=N, mask=N, and
444         dirmask=N.
446         * amd/ops_pcfs.c (mount_pcfs): process new pcfs options longname,
447         nowin95, shortname, user=N, group=N, mask=N, and dirmask=N.
449         * include/am_compat.h: provide compatibility mnttab string names,
450         if needed, for pcfs mount options longname, nowin95, shortname,
451         user=N, group=N, mask=N, and dirmask=N.
453         * include/am_utils.h: extern for hasmntstr().
455         * libamu/mtab.c (hasmntstr): new function to return the string
456         value following a mount option, up to the next comma-delimited
457         options.
459         * configure.in: check for mnttab and pcfs options longname,
460         nowin95, and shortname.
462         * Makefile.am (EXTRA_DIST_M4): distribute new macro
463         check_mnt2_pcfs_opt.m4.
465         * m4/macros/check_mnt2_pcfs_opt.m4: new macro to check for pcfs
466         mnttab and mount options.
468 2005-10-18  Erez Zadok  <ezk@cs.sunysb.edu>
470         * libamu/mount_fs.c (print_nfs_args): print nfs_args->addr
471         correctly, depending if it's a pointer or not.
473         * conf/sa_dref/sa_dref_*.h: for each NFS_SA_DREF macro, also
474         #define NFS_ARGS_T_ADDR_IS_POINTER if nfs_args->addr is a pointer
475         or an embedded structure, so we can tell how to print it.
477         * libamu/mount_fs.c (print_nfs_args): print nfs_args->addrlen
478         field, if it exists.
480         * configure.in: check for nfs_args->addrlen field.
482         * wire-test/wire-test.c (main), libamu/mount_fs.c
483         (print_nfs_args), fixmount/fixmount.c (inetresport,
484         clnt_create_timeout), amq/pawd.c (transform_dir), amq/amq.c
485         (main), amd/srvr_nfs.c (find_nfs_srvr), amd/autil.c
486         (amfs_mount): document that as per POSIX, we don't need to set the
487         sa_len/sin_len fields in struct sockaddr/sockaddr_in.  The field
488         is used only internally in the kernel.  See
489         www.awprofessional.com/articles/article.asp?p=169505&seqNum=2&rl=1
491         * fixmount/fixmount.c (inetresport): initialize sockaddr_in
492         structure before filling in some fields.
494 2005-10-11  Erez Zadok  <ezk@cs.sunysb.edu>
496         * doc/am-utils.texi (nfs_vers, nfs_proto parameters): clarify and
497         correct mistaken description of nfs_proto.
499 2005-10-10  Erez Zadok  <ezk@cs.sunysb.edu>
501         *******************************************************************
502         *** Released am-utils-6.1a1                                     ***
503         *******************************************************************
505         * README.sun2amd: revised.
507 2005-10-09  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
509         * amd/info_nis.c (nis_search): Bug fix for bugzilla #428; make
510         sure that sun_entry2amd() is not called when yp_match() returns an
511         error, this is done by checking that 'res' is 0.  Bug fix (same
512         BZ#); free the output allocated by yp_match() instead of freeing
513         the return value of sun_entry2amd().
515         * amd/sun_map.c (sun_entry2amd): Fix a comment.
517         * README.sun2amd: Made a first pass at describing the status of
518         the sun2amd feature.
519         Moved the date.
521 2005-10-09  Erez Zadok  <ezk@cs.sunysb.edu>
523         * README.sun2amd: place holder.
525         * Makefile.am (EXTRA_DIST): distribute new README.sun2amd file.
527 2005-10-07  Erez Zadok  <ezk@cs.sunysb.edu>
529         * m4/macros/check_mnttab_type.m4: move the test for MOUNT_* to the
530         very end, after the test using getvfsbyname().
532         * m4/macros/expand_run_string.m4: if the string value returned is
533         empty, consider it invalid.
535         * m4/macros/check_varargs_macros.m4: rewrite macro so it'll
536         try and compile the varargs test, not just cpp it.  Some systems
537         pass the old cpp test, but not when you actually try to compile
538         the code (Tru64's cc).
540         * conf/autofs/autofs_solaris_v1.h: redefine
541         autofs_strdup_space_hack as a macro to str3cat(NULL,(s)," ","").
542         This works everywhere and we avoid linking problems, inline
543         functions, etc.
545         * conf/autofs/autofs_solaris_v1.c (autofs_mount_fs): remove
546         autofs_strdup_space_hack() function altogether.
548         * m4/macros/os_cflags.m4: remove hack that hardcodes pte_t=u_int.
550         * configure.in: test for <sys/immu.h> header.
551         Test for pte_t, but only on IRIX6 systems.
553         * Makefile.am (EXTRA_DIST_M4): distribute new type_pte_t.m4 file.
555         * m4/macros/type_pte_t.m4: new test for existence of pte_t
556         typedef, needed on some IRIX-6.5/gcc systems.
558         * m4/macros/header_templates.m4: add missing templates for
559         HAVE_EXTERN_GETDTABLESIZE, HAVE_EXTERN_GETWD, and
560         HAVE_EXTERN_UALARM.
562         * amd/info_exec.c (exec_map_open): break assignment from inside
563         conditional, to work around an IRIX-6.5 cc bug.
565         * amd/Makefile.am (amd_LDADD, sun2amd_LDADD): put libaminfo.a
566         before libamu.la.  Some linkers (e.g., IRIX-6.5) incorrectly
567         complain about undefined symbols.
569         * fsinfo/fsi_util.c (set_ether_if), amd/map.c (unmount_mp),
570         libamu/xutil.c (expand_error), libamu/strutil.c (xsnprintf): avoid
571         comparison between signed and unsigned integers.
573         * conf/autofs/autofs_solaris_v1.h, conf/autofs/autofs_solaris_v1.c
574         (autofs_strdup_space_hack): move "space_hack" function from static
575         inline in header, into the only source file that needs it.  This
576         is cleaner and also prevents linking problem with some compilers
577         that won't apply CPP macros inside static inline functions (for
578         the strl* functions).
580         * amq/pawd.c (find_mt, find_mlp): remove obsolete, inefficient
581         code.
582         (transform_dir): call the new, efficient amqproc_pawd_1() routine.
584         * amq/amq_clnt.c (amqproc_pawd_1): AMQPROC_PAWD wrapper routine.
586         * amq/amq.h (amqproc_pawd_1): extern for amq's AMQPROC_PAWD
587         wrapper routine.
589         * amd/amq_svc.c (amq_program_1): dispatch point for
590         amqproc_pawd_1_svc.
592         * amd/amq_subr.c (amqproc_pawd_1_svc): moved pawd's path-matching
593         functionality into Amd, where it can be done a lot more
594         efficiently.  We don't have to construct and ship a whole export
595         tree from Amd to pawd.  We just get a variable-length
596         xdr_wrapstring for the user's path, iterate over the entire export
597         list inside Amd, and return only a matched string if found
598         (otherwise we return "" to indicate that there was no match, and
599         let pawd printf the same string it sent over).
601         * amd/amd.h: extern for amqproc_pawd_1_svc, amd's service routine
602         the AMQPROC_PAWD RPC.
604 2005-10-06  Erez Zadok  <ezk@cs.sunysb.edu>
606         * ltmain.sh, m4/macros/libtool.m4: update to libtool-1.5.20.
607         Fixes Tru64 bugs when using ksh.
609         * amd/amfs_toplvl.c (amfs_toplvl_mount): break complex ifdef macro
610         into two sections, to workaround a C99 varargs-macro bug in
611         gcc-3.2.2 (RH9).
613         * libamu/wire.c (print_wires): convert argument-less xsnprintf to
614         xstrlcpy.
616         * include/am_utils.h: use new HAVE_C99_VARARGS_MACROS or
617         HAVE_GCC_VARARGS_MACROS to pass file name and line number to
618         xsnprintf/xvsnprintf.
620         * libamu/strutil.c (xsnprintf, xvsnprintf): if debugging is on,
621         then also print the source file name and line number that called
622         xsnprintf/xvsnprintf with a buffer that wasn't large enough (most
623         likely an am-utils bug).
625         * Makefile.am (EXTRA_DIST_M4): distribute new
626         check_varargs_macros.m4 file.
628         * configure.in: execute new AMU_VARARGS_MACROS test.
630         * m4/macros/check_varargs_macros.m4: new test to check what style
631         of variable-length argument macros, if any, does the
632         compiler/pre-processor supports.
634         * conf/autofs/autofs_solaris_v2_v3.c (autofs_lookup_2_req)
635         conf/autofs/autofs_solaris_v1.c (autofs_mount_1_req), amd/opts.c,
636         amd/nfs_subr.c (nfsproc_lookup_2_svc), amd/nfs_start.c
637         (mount_automounter), amd/get_args.c (get_args), amd/amfs_toplvl.c,
638         amd/amfs_auto.c (amfs_auto_mount), amd/amd.h, amd/amd.c (main):
639         use sizeof() instead of fixed SIZEOF_* macros.
641         * libamu/strutil.c (xstrlcat, xstrlcpy), include/am_utils.h
642         (DEBUG): if debugging is on, then also print the source file name
643         and line number that called xstrl* with a buffer that wasn't large
644         enough (most likely an am-utils bug)
646         * include/am_compat.h (INADDR_NONE): define in a common location,
647         if OS doesn't have it, use 0xffffffffU which should work with any
648         ANSI compiler.
650         * fixmount/fixmount.c, libamu/wire.c: remove local definition of
651         INADDR_NONE.
653         * amd/amfs_toplvl.c (amfs_toplvl_mount), amd/amfs_auto.c
654         (amfs_auto_mount): use common SIZEOF_OPTS in definition and call
655         to autofs_get_opts.
657         * amd/amd.h (SIZEOF_OPTS): moved #define to common header.
659 2005-10-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
661         * amd/opts.c (expand_op): Need to check BUFSPACE for env for
662         vlen+1.  Likewise for cp and strlen(cp)+1.
664         * amd/amfs_toplvl.c (amfs_toplvl_mount) [HAVE_FS_AUTOFS]: Pass new
665         size argument to autofs_get_opts.
667 2005-10-05  Erez Zadok  <ezk@cs.sunysb.edu>
669         * amq/pawd.c (transform_dir): was using UDP only.  Now will also
670         try TCP if UDP failed.  Destroy client after use to avoid leftover
671         TCP sockets in the kernel.
673         * libamu/hasmntopt.c (amu_hasmntopt): increase size of MNTMAXSTR
674         from 128 to to 256, because some users have really long option
675         strings.  Suggestion from jon+amd-at-spock.org.
677         * amd/opts.c (expand_op): should check BUFSPACE for vlen+1, not
678         just vlen.  Bug discovered when started using xstrlcpy().
680         * ALL: convert from using strcat to the safer xstrlcat, and from
681         strcpy to safer xstrlcpy.
683 2005-10-04  Erez Zadok  <ezk@cs.sunysb.edu>
685         * hlfsd/hlfsd.h: remove old fatalerror() and ERRM macros.
687         * hlfsd/hlfsd.c (fatalerror): new function instead of macro.
688         Easier to use xstrlcat in this new function.
690         * amd/amd.h, include/am_utils.h, amd/amd.c: moved 'hostd' extern
691         from am_utils.h to amd.h, and define its size as a macro that
692         could be passed to xstrl*().
694         * ALL: convert from using sprintf to the safer xsnprintf.
696         * mk-amd-map/Makefile.am (LDADD): link with libamu to get
697         xsnprintf().
699         * amd/amd.h, amd/amd.c, include/am_utils.h: moved pid_fsname
700         extern from am_utils.h to amd.h, and define its size as a macro
701         that could be passed to xsnprintf().
703 2005-10-02  Erez Zadok  <ezk@cs.sunysb.edu>
705         * libamu/Makefile.am: use strutil.c, not util.c.
707         * libamu/strutil.c: rename from util.c to explain better purpose
708         of file.  Move xvsnprintf and xsnprintf from xutil.c to this file.
710         * libamu/xutil.c: explain purpose of file.  Move mkdirs/rmdirs
711         code from old util.c.
713 2005-10-01  Erez Zadok  <ezk@cs.sunysb.edu>
715         * m4/macros/header_templates.m4: templates for FFS.
717         * m4/macros/check_mnttab_type.m4: on BSD44 systems, check for file
718         system mount table name via the MOUNT_* mount(2) macros (because
719         BSD44 keeps the mount table in the kernel).
721         * configure.in: synchronise order of searching for mnttab entries
722         and mount names.  The new order is "ext3 ext2 ffs ufs 4.2 4.3 4.4
723         efs xfs jfs ultrix" (which would prefer ffs on BSD44 instead of
724         ufs, and ext3 instead of ext2 on Linux).
726         * include/am_defs.h: include <sys/statvfs.h> if it exists.
728         * conf/nfs_prot/nfs_prot_netbsd1_4.h: NetBSD 3 has both statfs()
729         and statvfs(), but the latter is preferred, so #define to use
730         statvfs.
732         * configure.in: check for statfs(), statvfs(), and
733         <sys/statvfs.h>.
735         * config.guess.long: strip trailing '.' on "netbsdelf3.0."
736         (Beta).  Workaround for bug in config.guess.
738         * config.{guess,sub}: update to latest versions.
740 2005-09-30  Christos Zoulas  <christos@zoulas.com>
742         * fsinfo/fsi_util.c (set_ether_if): use INADDR_NONE instead of
743         hard-coded value of -1.
745         * include/amq_defs.h (AMQ_STRLEN): increase default size from 2KB
746         to 16KB.  We can afford it these days.
748         * libamu/strcasecmp.c (strcasecmp): use unsigned chars in
749         tolower() to avoid sign/size promotion bugs.
751         * libamu/xutil.c (switch_to_logfile): don't output to LOG_CONS by
752         default (it's unfriendly).  If user really wants to, they can set
753         it in /etc/syslog.conf.
755 2005-09-29  Erez Zadok  <ezk@cs.sunysb.edu>
757         * amq/pawd.c (find_mt): if the auto mount type is used, pawd could
758         go into an infinite loop since the mt_directory and mt_mountpoint
759         fields are the same for auto mounts.  Solution: ignore type auto
760         mounts, similar to toplvl.  Bug fix from Jonathan Chen
761         <jon+amd@spock.org>.
763         * README.attrcache: document test-attrcache script.
765         * scripts/Makefile.am (noinst_SCRIPTS): build test-attrcache
766         script.
768         * configure.in: build scripts/test-attrcache script and chmod it
769         so it can be executed in place.
771         * scripts/test-attrcache.in: script to test the NFS attribute
772         cache using Amd.
774 2005-09-26  Erez Zadok  <ezk@cs.sunysb.edu>
776         * hlfsd/stubs.c (nfsproc_getattr_2_svc, nfsproc_lookup_2_svc,
777         nfsproc_readlink_2_svc, nfsproc_readdir_2_svc), hlfsd/hlfsd.c
778         (hlfsd_init): use new clocktime() function.
780 2005-09-18  Erez Zadok  <ezk@cs.sunysb.edu>
782         * README.attrcache: document netbsd's patchs to support noac.
784         * libamu/mount_fs.c (compute_nfs_attrcache_flags): cleanup the
785         code that sets the ac{reg,dir}{min,max} fields so it also sets the
786         appropriate nfs_args->flags such as MNT2_NFS_OPT_ACREGMIN.
788         * configure.in: check for nfs_args fields acregmax and acdirmax.
790         * README.attrcache: new file documenting in detail OS bugs
791         relating to attribute caching, which can affect Amd's reliability
792         under heavy load.
793         Update status of freebsd and openbsd.
795         * doc/Makefile.am: install README.attrcache file as attrache.txt
796         file on am-utils Web site.
798         * Makefile.am (EXTRA_DIST): include README.attrcache in distro.
800         * BUGS, NEWS, doc/am-utils.texi (auto_attrcache Parameter),
801         scripts/amd.conf.5, scripts/amd.conf-sample: document attribute
802         cache bugs on some OSs.
804 2005-09-17  Erez Zadok  <ezk@cs.sunysb.edu>
806         * libamu/xutil.c (clocktime): newly implemented routine.  Uses
807         gettimeofday() each time to return a high-resolution clock time,
808         and does not "cache" the last time.  Returns time in seconds, just
809         like the old implementation.  If passed a non-null argument, will
810         fill it in with the current time in seconds+microseconds.
812         * libamu/xutil.c: remove actual declaration of clock_valid, and
813         another never-used declaration for xclock_valid.
815         * include/am_utils.h: remove defunct definition of clocktime()
816         macro and clock_valid variable.  Add extern for new definition.
818         * libamu/mount_fs.c (mount_fs), hlfsd/homedir.c (homedir,
819         hlfsd_diskspace, hlfsd_getpwent, plt_reset, table_add),
820         hlfsd/hlfsd.c (main, hlfsd_init, reload, cleanup),
821         conf/mtab/mtab_mach3.c (open_locked_mtab), conf/mtab/mtab_file.c
822         (open_locked_mtab), amd/nfs_start.c (do_select, run_rpc),
823         amd/autil.c (host_normalize): remove defunct clock_valid.
825         * amd/nfs_subr.c (nfsproc_getattr_2_svc): Print microseconds for
826         node's mtime.
827         (fh_to_mp3): use new clocktime() to update mtime and get a better
828         time resolution.
830         * amd/mapc.c (mapc_reload_map): change prototype from returning
831         void to returning an int.  If reloading was needed and succeeded,
832         return 1; else return 0.
833         (mapc_sync): update mtime of parent node if needed.  This is a
834         CRITICAL FIX, to ensure that the kernel flushes its DNLC/dcache
835         when we run "amq -f" manually or when a map is reloaded.
837         * amd/map.c (new_ttl): update am_ttl and na_atime in one shot.
838         (init_map): use new clocktime().
839         (unmount_mp): if the OS doesn't support a "symttl" option, then
840         update the mtime of the parent node using the clocktime(); but if
841         the time hasn't gotten changed because of rapid Amd accesses on
842         systems that don't have a micro-second NFS-client resolution, then
843         increment mtime by one arbitrarily (this could, on some systems
844         and under pathological cases, result in mtime's that are in the
845         future).
847         * amd/autil.c (forcibly_timeout_mp): MAJOR BUG FIX: force mtime
848         update of parent dir, to prevent DNLC/dcache from caching the old
849         entry, which could result in ESTALE errors, bad symlinks, and
850         more.
851         (am_mounted): record mount time, and update am_stats at the same
852         time, using the double-action redone clocktime() routine.
853         (am_mounted): update parent's mtime from that of the child.
854         (am_unmounted): when unmounting an entry, update mtime of parent
855         node.
857         * amd/amfs_generic.c (amfs_bgmount): now that clocktime() doesn't
858         remember it's last non-zero value, save it in a temporary variable
859         to avoid a TOCTOU problem (between an "if" and a "dlog").
861         * libamu/xutil.c (show_time_host_and_name),
862         conf/autofs/autofs_linux.c (autofs_mounted, autofs_timeout_mp),
863         amd/srvr_nfs.c (nfs_keepalive_callback, nfs_keepalive_timeout)
864         (find_nfs_srvr), amd/rpc_fwd.c (fwd_alloc), amd/nfs_subr.c
865         (nfsproc_getattr_2_svc), amd/nfs_start.c (do_select, run_rpc),
866         amd/mapc.c (root_init), amd/map.c(map_flush_srvr, timeout_mp),
867         amd/info_ndbm.c (ndbm_init), amd/info_ldap.c (amu_ldap_rebind),
868         amd/info_file.c (file_open), amd/info_exec.c (fgets_timed,
869         exec_search), amd/clock.c (timeout, softclock), amd/autil.c
870         (forcibly_timeout_mp), amd/amfs_generic.c (amfs_retry,
871         amfs_bgmount, amfs_generic_mount_child), amd/amd.c (main): pass
872         NULL to clocktime().
874 2005-09-15  Erez Zadok  <ezk@cs.sunysb.edu>
876         * amd/nfs_subr.c (nfsproc_getattr_2_svc): initialize 'retry', just
877         in case.
878         (fh_to_mp3): increment amd_stats.d_stale counter only if we are
879         actually returning ESTALE.
881         * amd/info_exec.c (exec_parse_qanswer), amd/info_file.c
882         (file_search_or_reload), amd/info_hesiod.c (hesiod_search),
883         amd/info_ldap.c (amu_ldap_search), amd/info_ndbm.c (search_ndbm),
884         amd/info_nis.c (nis_search), amd/info_nisplus.c (nisplus_search,
885         nisplus_search): don't dereference mnt_map->cfm which may be null
886         if we're not using an amd.conf file.
888 2005-09-14  Erez Zadok  <ezk@cs.sunysb.edu>
890         * libamu/xutil.c (unregister_amq): if failed to de-register Amd
891         from portmapper, report it under dlog (debugging), not as an
892         annoying plog that always shows up.
894 2005-09-13  Erez Zadok  <ezk@cs.sunysb.edu>
896         * mk-amd-map/mk-amd-map.c (read_file_file), libamu/util.c
897         (strsplit), libamu/hasmntopt.c (nextmntopt), amd/sun_map.c
898         (sun_entry2amd), amd/sun2amd.c (sun2amd_convert_convert),
899         amd/mapc.c (mapc_add_kv), amd/info_file.c (file_search_or_reload),
900         amd/info_exec.c (exec_parse_qanswer): cast isspace() and isascii()
901         arg to unsigned char, which is safer as per Christos.
903         * amd/sun_map.c (sun_entry2amd): isspace takes an int, not a char.
905         * configure.in: keep a dummy unused AM_PROG_LEX, because old
906         Automake (1.6.3) looks for it if you refer to LEX in your
907         Makefile.am files.  Silly thing, fixed in newer versions of
908         Automake (1.9.2).
910 2005-09-11  Erez Zadok  <ezk@cs.sunysb.edu>
912         * Makefile.am (EXTRA_DIST_M4): add prog_{lex,yacc}.m4 to distro.
914         * configure.in: use new macros AMU_PROG_YACC and AMU_PROG_LEX.
916         * m4/macros/prog_yacc.m4: new macro to check if bison/yacc/byacc
917         exist, but exist with an error if none found.
919         * m4/macros/prog_lex.m4: new macro to check if f/lex exist, but
920         exit with an error if not found (am-utils requires f/lex).
922 2005-09-07  Erez Zadok  <ezk@cs.sunysb.edu>
924         * minor new port: powerpc-apple-darwin8.2.0.
926         * m4/macros/type_auth_create_gidlist.m4: Old macosx used "gid_t"
927         but all newer ones (10.4+) use int.
929         * m4/macros/type_recvfrom_fromlen.m4: Old macosx used "int" for
930         6th arg of recvfrom(), but all newer ones (10.4+) use socklen_t.
932         * minor new port: i386-pc-linux-deb3.1.
934 2005-09-02  Erez Zadok  <ezk@cs.sunysb.edu>
936         * conf/mount/mount_linux.c: If autoconf didn't find any disk-based
937         file system on this system (probably because /proc isn't mounted),
938         then provide some default definition for this file to compile.
940 2005-08-28  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
942         * amd/sun_map.c (sun_entry2amd) : Wipe out any trailing white
943         spaces or '\n' before passing strings to the parser.
945         * amd/amd.h : oops, reverting bad changes
947         * amd/info_file.c : oops, reverting bad changes
949         * amd/mapc.c : oops, reverting bad changes
951         * amd/sun_map_parse.y : oops, reverting bad changes
953 2005-08-27  Erez Zadok  <ezk@cs.sunysb.edu>
955         * libamu/xutil.c: amd_program_number is a u_long now.
956         (unregister_amq): if pmap_unset failed to de-register Amd from the
957         portmapper, print an error message.
958         (get_amd_program_number): returns a u_long now.
959         (set_amd_program_number): take a u_long now.
961         * include/am_utils.h: get_amd_program_number() returns u_long now.
962         set_amd_program_number() takes a u_long now.
964         * amq/amq.c: amd_program_number is a u_long, not int.
966         * amd/nfs_start.c (mount_automounter): when registering Amd with
967         the portmapper (for Amq service), don't fail if just one of TCP or
968         UDP failed to register, but only if both transports failed.  That
969         way Amq can still contact Amd using the transport that did
970         register correctly.  However, now, if both transports failed to
971         register, then set amd_state to "Done" so it would shutdown
972         cleanly.
974         * conf/transp/transp_{sockets,tli{}.c (amu_svc_register): better
975         comments.
977         * libamu/xutil.c: debug_flags should always be initialized to
978         D_CONTROL (amq,daemon,fork).
979         (debug_option): allow setting initial immutable debug_flags via
980         amd.conf; afterward, prevent it (i.e., one tries it via "amq -D").
982         * Makefile.am (DISTCLEANFILES): also remove amu_autofs_prot.h,
983         config.cache.old, and dbgcf.h on "make distclean".
984         (CLEANFILES): remove dbgcf on plain "make clean".
986         * amd/Makefile.am (DISTCLEANFILES): also remove ops_autofs.c on
987         "make distclean".
989 2005-08-27  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
991         * amd/info_file.c (file_search_or_reload): Changed the key
992         variable that is passed to the sun_entry2amd.
994         * amd/mapc.c (mapc_add_kv): Add support for multiple entries
995         packed into one line.  This is a workaround for handling Sun style
996         mounts that contains multiple entries on one line: "multi-mount
997         entries".  The sun2amd conversion tools will convert such entries
998         into type:=auto and pack each of the auto-entries into one line
999         separated by '\n'.  The mapc_add_kv function will now recognize
1000         such entries and add then.
1002         * amd/sun2amd.c (sun2amd_convert): Add print statement that
1003         includes the line number during a parser failure.
1005         * sun_map.c: Fix the AMD_MAP_PREF_KW definition.  Fix spelling.
1006         (sun_mountpts2amd): removed this function
1007         (sun_hsfs2amd): added some more comments
1008         (sun_nfs2amd): moved support for multi-mount entries from this
1009         function to sun_multi2amd().
1010         (sun_multi2amd): New function to handle multi-mount entries.  This
1011         function will convert the Sun version to an Amd type:=auto.  Each
1012         extra auto entry will be appended to the same line separated by a
1013         '\n'.
1014         (sun_entry2amd): Fixed a bug if-statement.  This function now
1015         checks for multi-mount entries.
1017         * amd/sun_map.h: Add a fstype member to the sun_mountpt struct.
1019         * amd/sun_map_parse.y: Parser now supports fstype for multi-mount
1020         entries.
1022         * amd/sun_map_tok.l: No longer print the line and column number
1023         when parsing.  This is because the parser is handed strings not
1024         files.  Therefore, the line number will always be 1.  It is now up
1025         to the higher level tools to echo line information during error
1026         when they feed the parser.
1028 2005-08-24  Erez Zadok  <ezk@cs.sunysb.edu>
1030         * configure.in: wrap all LDAP and HESIOD tests in test whether
1031         --with-OPT was used.
1033 2005-08-20  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
1035         * amd/sun_map.c: Clean up #defines
1036         (sun_entry2amd) : Verify that the key and entry values passed are
1037         not NULL.  Free the Sun entry struct when done.
1039         * amd/sun_map.h: Add some "not implemented yet" comments to the
1040         map and mmap structures.
1042         * amd/sun_map_parse.y: Removed automap include functionality, it
1043         will need to be re-implemented using a pre-processor.
1044         Clean up function calls.
1046 2005-08-16  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
1048         * amd/sun2amd.c (sun2amd_convert): If the input line is too long
1049         don't return an error just null terminate and continue.  Fix bug:
1050         the map key was not written.
1052         * amd/sun_map.c: Add a new Amd device, and cdfs constant.
1053         (sun_locations2amd): Write the NFS type keyword
1054         for each host of the mount entry.  Add a space between each mount
1055         location.
1056         (sun_hsfs2amd): New function to support hsfs to
1057         cdfs.
1058         (sun_nfs2amd): Don't write the nfs type here.  Fix
1059         comments.
1060         (sun_entry2amd): Change function parameter var for
1061         clarity.  Add support for hsfs.
1063         * amd/sun_map_parse.y (sun_map_parse_read): Reset the entry list
1064         after it has been returned.
1066 2005-08-16  Erez Zadok  <ezk@cs.sunysb.edu>
1068         * amd/get_args.c (get_args): initialize debug_flags if they've
1069         never been set.
1071 2005-08-15  Erez Zadok  <ezk@cs.sunysb.edu>
1073         * amd/mapc.c (mapc_create): mapc find takes 4th arg, the mount
1074         point.  Now, we can properly initialize the cfm structure of the
1075         mnt_map, so we can have access to the flags (e.g., SUN_MAP_SYNTAX)
1076         inside each info_*.c file.
1077         (mapc_find): takes 4rd arg (mntpt) and passes it to calls to
1078         mapc_create.
1079         (root_newmap): pass NULL as 4th arg (mntpt).
1081         * amd/amfs_generic.c (amfs_parse_defaults): remove ugly hack to
1082         initialize map cfm structure (including flags) so late.
1084         * amd/autil.c (amfs_mkcacheref): pass mount point as 4th arg to
1085         mapc_find.
1087         * amd/amfs_root.c (amfs_root_mount): pass NULL as new 4th arg to
1088         mapc_find.
1090         * amd/amd.h: extern for mapc_find changed to pass the mount point.
1092         * libamu/xutil.c: debug_flags should be unsigned.
1093         (dbg_opt): fix comments for updated debug_flags, add "defaults".
1094         (debug_option): Don't allow "immutable" (D_IMMUTABLE) flags to be
1095         changed, because they could mess Amd's state and only make sense
1096         to be set once when Amd starts.  Currently these immutable flags
1097         are "daemon," "fork," "amq," and "mtab."  If Amd not compiled with
1098         debugging, set default "control" options (daemon,fork,amq).
1099         (unregister_amq): proper use of D_AMQ.
1101         * include/am_utils.h: define new D_BASIC, D_CONTROL, D_DEFAULT,
1102         D_IMMUTABLE, and D_MASK.  Updated definitions of D_ALL and D_TEST.
1103         debug_flags extern should be unsigned.
1105         * scripts/amd.conf-sample (debug_options): mention new "defaults"
1106         option.
1108         * scripts/amd.conf.5,doc/am-utils.texi: document new debug option
1109         "defaults" and properly explain the corrected meanings of
1110         "daemon," "fork," "amq," and their "no" inversions.  Better
1111         explain "all" and "test" too.  Correct default debug_mtab file to
1112         /tmp/mtab.
1114         * hlfsd/stubs.c (nfsproc_readlink_2_svc): proper use of D_FORK.
1116         * hlfsd/homedir.c (homedir): proper use of D_FORK.
1118         * hlfsd/hlfsd.c (main, hlfsd_init, cleanup): proper use of
1119         D_DAEMON.
1121         * amd/nfs_start.c (mount_automounter): proper use of D_AMQ.
1123         * amd/amd.h (DEBUG_MNTTAB_FILE): change default to /tmp/mtab,
1124         which is more common on more systems (instead of /tmp/mnttab).
1126         * amd/amd.c (main): properly use D_DAEMON.
1128 2005-08-14  Erez Zadok  <ezk@cs.sunysb.edu>
1130         * libamu/xutil.c (xlog_opt): define new pseudo log_option named
1131         "defaults", which is an alias for "fatal,error,user,warning,info".
1133         * scripts/amd.conf.5, doc/am-utils.texi, amd/amd.8: document new
1134         log_option "defaults".
1136         * amq/amq.8: typo.  Arg name for -D is "debug_options" not
1137         "log_options".
1139         * libamu/xutil.c: make xlog_level static, and initialize it to
1140         XLOG_DEFAULT.
1141         (cmdoption): take unsigned int as flags argument, and print any
1142         errors as XLOG_ERROR (which cannot be turned off).
1143         (switch_option): remove old code which disallowed you from turning
1144         off flags that were set when Amd started up.  Now, you can turn
1145         any log option on/off at start time or later on (via amq -x),
1146         other than the two mandatory options (fatal+error).
1148         * include/am_utils.h (XLOG_*): remove unused XLOG_DEFSTR.  Define
1149         XLOG_MASK to mask out unused flag bits.  Define XLOG_DEFAULT to be
1150         what it was before (fatal + error + user + warning + info), but
1151         use the new mask.  Remove extern's for xlog_level and
1152         xlog_level_init.  Change extern for cmdoption() to take an
1153         unsigned flags argument.
1155         * doc/am-utils.texi, amq/amq.8, scripts/amd.conf.5, amd/amd.8:
1156         document mandatory log options
1157         (fatal+error) which cannot be turned off and are always on by
1158         default.  They must be on so that Amd can report crucial errors,
1159         including those related to setting flags on/off.
1161         * hlfsd/hlfsd.c (main): remove hack to initialize log_options.
1163         * wire-test/wire-test.c: remove reference to unused xlog_level.
1165         * amd/mapc.c (mapc_create): 'alloc' flags variable should be
1166         unsigned.
1168         * amd/get_args.c (get_args): no need for hack using
1169         xlog_level_init.
1171         * amd/Makefile.am: separate sources common to amd and sun2amd into
1172         a special, locally-built only, static library called libaminfo.a.
1174         * libamu/xutil.c (real_plog, xsnprintf): call new xvsnprintf()
1175         wrapper function.
1176         (xvsnprintf): new function which already gets a va_list.  This was
1177         needed to avoid nesting va_list's (which apparently isn't
1178         allowed).
1180         * include/am_utils.h: prototype for new xvsnprintf wrapper.
1182         * configure.in: sinclude([vers.m4]) version number file.
1184         * vers.m4: new file to separate version number out of
1185         configure.in, useful for nightly snapshot script to generate
1186         nightly version string.
1188         * Makefile.am (EXTRA_DIST_M4): include vers.m4 in distro.
1190 2005-08-14  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
1192         * amd/info_file.c: add key to sun_entry2amd()'s parameters
1194         * amd/info_hesiod.c: add key to sun_entry2amd()'s parameters
1196         * amd/info_ldap.c: add key to sun_entry2amd()'s parameters
1198         * amd/info_ndbm.c: add key to sun_entry2amd()'s parameters
1200         * amd/info_nis.c: add key to sun_entry2amd()'s parameters
1202         * amd/info_nisplus.c: add key to sun_entry2amd()'s parameters
1204         * amd/sun_map.c: New functions to support sun translation to amd.
1205         The function sun_entry2amd's parameters were expanded to include
1206         the key value.  sun_entry_2amd() now returns NULL on error.
1208         * amd/sun_map.h: Expand sun_entry2amd's parameters to include key
1209         value.
1211         * amd/sun_map_parse.y: Change how file system types are parsed out
1212         of the list of options for each entry.  The previous way was not
1213         working properly so now we just look for the 'fstype' keyword in
1214         each option.  If it exists we copy its key value.
1215         Added some comments to sun_map_parse_read().
1217         * amd/amd.h: Added an extern from info_file.c called
1218         file_read_line().  Previously this function was static but is now
1219         used in sun2amd.c.
1221         * amd/info_file.c: Changed the static function read_line() to a
1222         public function called file_read_line().  This function is now
1223         used in sun2amd.c
1225         * amd/sun2amd.8: Filled in the contents of this man page.  This is
1226         a conversion utility that converts Sun maps to Amd maps.
1228         * amd/sun2amd.c: Implemented a working version of this utility.
1230 2005-08-11  Erez Zadok  <ezk@cs.sunysb.edu>
1232         * amd/sun_map_parse.y: instead of using a custom FOO_alloc()
1233         function, use Amd's CALLOC(struct FOO) macro.
1235         * amd/sun_map.h: remove extern definitions to functions no longer
1236         needed.
1238         * amd/sun_map.c: removed superfluous *_alloc() functions, some of
1239         which caused conflicts with same-named symbols in the parser
1240         (since we rename 'yyalloc' to 'sun_map_alloc').
1242         * configure.in: keep AC_INIT on same line, for nightly snapshot
1243         build script.
1245         * amd/Makefile.am: f/lex libraries are incompatible with multiple
1246         scanners, so don't link Amd with libl.a/libfl.a.
1248 2005-08-10  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
1250         * amd/sun_map_tok.l: Clean up regular expression so HPUX stops
1251         whining.
1253 2005-08-09  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
1255         * amd/sun_map_parse.y: Moved license below special yacc bracket to
1256         be portable with HPUX's yacc.  Clean up externs.
1258         * amd/sun_map_tok.l: Moved license below special lex bracket to be
1259         portable with HPUX's lex.  Fixed definitions to allow for a
1260         non-flex lex to parse strings instead of files.  Added some casts
1261         to strlcpy usage to silence warnings.  Moved the % options because
1262         HPUX was complaining,
1264 2005-08-08  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
1266         * amd/sun_map_tok.l: Applied some definition goop to handle the
1267         ECHO symbol that lex defines.  This symbol causes problems on
1268         RedHat-EL-powerPC platforms.  Replaced strncpy with strlcpy.
1269         Renamed the function sun_map_yyinput to sun_map_input.  This
1270         function is a utility function that is not generated by lex.
1271         Therefore, the 'yy' may cause confusion.
1273 2005-08-08  Erez Zadok  <ezk@cs.sunysb.edu>
1275         * amd/sun_map_tok.l: allocate more output slots so lex scanners
1276         don't run out of memory.
1278         * amd/sun_map_parse.y: declare extern for sun_map_parse().
1280         * libamu/xutil.c (xsnprintf): ensure proper comparisons between
1281         signed and unsigned quantities.
1283 2005-08-06  Erez Zadok  <ezk@cs.sunysb.edu>
1285         * libamu/util.c, amd/autil.c (strsplit): moved strsplit() function
1286         from Amd code to to libamu, so sun2amd could use it.
1288         * amd/Makefile.am (sbin_PROGRAMS): build sun2amd binary and man
1289         page.
1290         (EXTRA_sun2amd_OBJECTS): sun2amd needs to link with all info_*.c files
1292         * amd/sun2amd.8: placeholder for man page.
1294         * amd/sun2amd.c: placeholder for C version of translator from Sun
1295         syntax maps to Amd maps.
1297         * */*.[0-9]: include file name in nroff source comment.
1299         * ALL: use '0' properly when assigning or passing it to functions.
1300         If in the context pointer, use NULL.  If in the context of a
1301         single char (say within a string), the use '\0'.  This is just to
1302         make the code clearer.
1304         * m4/macros/header_templates.m4: template for HAVE_MAP_SUN.
1306         * amd/mapc.c (maptypes): add placeholder for Sun-syntax map
1307         methods.
1309         * amd/Makefile.am (EXTRA_amd_SOURCES): compile info_sun.c
1311         * amd/info_sun.c: placeholder for meta info parser to get info
1312         from Sun automount-style /etc/auto_master, possibly following
1313         into multiple info services (via /etc/nsswitch.conf).
1315         * libamu/xutil.c (xsnprintf): if vsnprintf truncated the output
1316         string to avoid an overflow, print an error.  Include some code to
1317         break out any possible infinite loop between plog() and
1318         xsnprintf().
1319         (real_plog): now we can use (carefully) xsnprintf() directly.
1321         * amd/sun_map.[hc]: cleanup and formatting.
1323         * amd/sun_map_parse.y: to match the literal string "fstype=" use
1324         double quotes, not single quotes.
1326         * amd/get_args.c (get_args): call conf_parse() using conf_in.
1328         * amd/amd.h: use renamed parser symbols (yyparse -> conf_parse;
1329         yyin -> conf_in).
1331         * ylwrap: Enhance wrapper to avoid the #define hacks done by Gdb,
1332         and suggested by the Automake manual.  This enhanced parser will
1333         prefix each conflicting yacc/lex symbol with a unique name
1334         produced from INPUT.  For example, if INPUT is foo_parse.y, then
1335         yyparse() becomes foo_parse().  This requires that both your .l
1336         and corresponding .y files have the same prefix (e.g., foo_parse.y
1337         and foo_tok.l).
1339         * amd/Makefile.am (BUILT_SOURCES): define which yacc/lex .h/.c
1340         source files are built automatically, and therefore should not be
1341         in the distro (IMHO), and should be cleaned upon "make clean".
1342         (amd_SOURCES): include new sun_map_parse.y and sun_map_tok.l files.
1344         * ylwrap: new file needed because we have two parsers now.
1346         * amd/sun_map_{parse.y,tok.l}: cleanup and formatting.
1348 2005-08-06  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
1350         * amd/Makefile.am: Added new files sun_map.h, sun_map.c,
1351         sun_map_parse.y, and sun_map_tok.l.  These files add support for
1352         parsing Sun style maps.  The yacc/lex files needed custom rules so
1353         they don't cause symbol conflicts with each other.
1355         * amd/amd.h: Added "#define INFO_MAX_LINE_LEN" that specifies the
1356         line limit for info services.
1358         * amd/info_exec.c: Replaced MAX_LINE_LEN with INFO_MAX_LINE_LEN
1360         * amd/info_file.c: Replaced MAX_LINE_LEN with INFO_MAX_LINE_LEN,
1361         added support for parsing Sun style maps.  The support for Sun
1362         maps is done using the sun_entry2amd() function.  This function is
1363         called for each entry line that is read only when Sun parsing is
1364         enabled.  For each entry line that is passed to the function a
1365         copy of the Amd equivalent is returned.
1367         * amd/sun_map.h: new header file for Sun style map support
1369         * amd/sun_map.c: new source file for Sun style map support, clean
1370         up comments, additional sun2amd conversion routines
1372         * amd/sun_map_parse.y: new yacc file for parsing Sun style maps,
1373         fix copyright notice, put filename below license.
1375         * amd/sun_map_tok.l: new lex file for parsing Sun style maps, fix
1376         copyright notice, put filename below license.
1378         * amd/get_args.c: replace usage of strlcat with xstrlcat
1380         * include/am_utils.h: added 'extern void xstrlcat()'
1382         * libamu/util.c: Added a xstrlcat() function that wraps the
1383         syscall strlcat() so that string truncations can be logged.
1385 2005-08-06  Erez Zadok  <ezk@cs.sunysb.edu>
1387         * amd/info_file.c (file_search, file_reload): pass mnt_map to
1388         file_search_or_reload.
1389         (file_search_or_reload): ensure that mnt_map is never NULL.
1391         * amd/info_nis.c (nis_search): call sun_entry2amd() if
1392         sun_map_syntax=yes.
1394         * amd/info_ldap.c (amu_ldap_search): call sun_entry2amd() if
1395         sun_map_syntax=yes.
1397         * amd/info_hesiod.c (hesiod_search): call sun_entry2amd() if
1398         sun_map_syntax=yes.
1400         * amd/info_ndbm.c (ndbm_search): pass mnt_map to search_ndbm.
1401         (search_ndbm): call sun_entry2amd() if sun_map_syntax=yes.
1403         * amd/info_nisplus.c (nisplus_search): call sun_entry2amd() if
1404         sun_map_syntax=yes.
1406         * amd/info_exec.c (exec_search): pass mnt_map to
1407         exec_parse_qanswer.
1408         (exec_parse_qanswer): call sun_entry2amd() if sun_map_syntax=yes.
1410         * doc/am-utils.texi (sun_map_syntax Parameter): document new
1411         common parameter.
1413         * scripts/amd.conf.5: selectors_in_defaults is a common parameter,
1414         not just [global].  Use consistent capitalization of Amd/Amq.
1415         Document new sun_map_syntax parameter.
1417         * scripts/amd.conf-sample: properly list all of the parameters
1418         which are common to both the [global] and the per-map sections.
1419         (sun_map_syntax): example of new parameter.
1421         * doc/am-utils.texi (Common Parameters): selectors_in_defaults is
1422         a common parameter, not just [global].
1424         * scripts/amd.conf-sample (sun_map_syntax): example of new flag.
1426         * amd/conf.c ({ropt,gopt}_sun_map_syntax): new function to parse
1427         sun_map_syntax flag (global or per map).
1429         * amd/amd.h (CFM_SUN_MAP_SYNTAX): new flag for users to say if the
1430         map uses Sun automounter syntax.
1432         * cvs-server.txt: update instructions after branching 6.1-stable.
1434 2005-08-02  Erez Zadok  <ezk@cs.sunysb.edu>
1436         *******************************************************************
1437         *** Released am-utils-6.1.1                                     ***
1438         *******************************************************************
1440         * libamu/xutil.c (xsnprintf): "unsafe" alternative to vsnprintf is
1441         vsprintf, not sprintf.
1443         * conf/umount/umount_osf.c (umount_fs): refer to proper formal
1444         parameter name.
1445         (umount2_fs): pass second arg to umount().
1447         * ALL: remove CVS ID and put actual file name in source.
1449         * conf/autofs/*.[hc]: proper copyright headers.
1451         * whitespace reformatting.  Remove remaining '%W%' SCCS IDs.
1453         * amd/mntfs.c (free_mntfs): don't discard the last reference to an
1454         mntfs that had been mounted already.  It won't have the
1455         MFF_RESTARTED flag on, as it gets turned off after the entry is
1456         mounted, but it will have the MFF_RSTKEEP flag on.
1458         * amd/autil.c (mf_mounted), amd/restart.c (restart_fake_mntfs):
1459         show the mntfs's flags.
1461 2005-08-01  Erez Zadok  <ezk@cs.sunysb.edu>
1463         * conf/mtab/mtab_linux.c: removed unused code.  Cleanup.
1464         (handler): removed this bad signal handler.
1465         (lock_mtab): Redhat's original code set a signal handler called
1466         "handler()" for all non-ALRM signals.  The handler called
1467         unlock_mntlist(), plog'ed the signal name, and then exit(1)!
1468         Never, ever, exit() from inside a utility function.  This messed
1469         up Amd's careful signal-handling code, and caused Amd to abort
1470         uncleanly only any other "innocent" signal
1471         (even simple SIGUSR1), leaving behind a hung Amd mnt point.  That
1472         code should have at least restored the signal handlers' states
1473         upon a successful mtab unlocking.  Anyway, that handler was
1474         unnecessary, because will call unlock_mntlist() properly anyway on
1475         exit.
1477         * conf/mtab/mtab_{file,isc3,mach3,linux}.c (unlock_mntlist): dlog
1478         message that we're inside the unlock_mntlist function.
1480         * amd/amd.c (main): use new setup_sighandler() for Amd's four main
1481         signals (INT, TERM, HUP, and CHLD).
1482         (main) Add SIGINT and SIGTERM to masked_sigs, used in
1483         nfs_start.c:do_select() for setjmp/longjmp code; the MASK was set
1484         to all four signals if !HAVE_SIGACTION, but only to HUP+CHLD if we
1485         HAVE_SIGACTION.  So this change makes Amd behave consistently.
1487         * include/am_utils.h: extern for new setup_sighandler().
1489         * libamu/xutil.c (setup_sighandler): new utility function to setup
1490         a single signal-handler regardless of what method is supported by
1491         this OS.
1492         (going_down): call unlock_mntlist() when exiting, to ensure that
1493         Amd will remove any leftover mtab lock files, if any.
1495         * amd/restart.c (restart_automounter_nodes): cleanup function.
1497         * minor new port: i386-pc-linuxoldld-deb3.1.
1499         * configure.in: include <sys/types.h> before <linux/socket.h> to
1500         get the definition of size_t on Debian-3.1r0a.
1502 2005-07-29  Erez Zadok  <ezk@cs.sunysb.edu>
1504         * amd/srvr_nfs.c (find_nfs_srvr): don't blindly copy the hostent
1505         IP address.  First check if it differs from the existing one of
1506         the fserver, and copy only if it changed.  If it did change, flush
1507         the fhandle cache to avoid a stale fhandle being reused.  This
1508         allows Amd to detect IP address changes even for an fserver that
1509         lost one or more NFS pings, but not enough to be declared totally
1510         down.  We handle the "totally down" fserver case in
1511         check_fs_addr_change().
1513         * amd/ops_nfs.c (nfs_umount), amd/sched.c (sched_task),
1514         amd/nfs_subr.c (nfs_quick_reply): code clarity.
1516         * conf/mount/mount_linux.c (linux_nfs_error): dlog mappings of
1517         errnos to NFS errors.
1519         * conf/umount/umount_linux.c (umount2_fs): cleanup code.  Trying
1520         stat() seems doomed to hang at times, so don't try stat at all,
1521         because umount2() appears to be clever enough to never hang.
1523 2005-07-25  Erez Zadok  <ezk@cs.sunysb.edu>
1525         * amd/amd.h (FSF_FORCE_UNMOUNT): new flag used to indicate that a
1526         particular fserver may need forced/lazy unmounts when it's mntfs's
1527         are unmounted.
1529         * amd/ops_nfs.c (nfs_umount): a simple unmount returned EBUSY, and
1530         the user specified forced_unmounts=yes in amd.conf, and this
1531         fserver was flagged with FSF_FORCE_UNMOUNT, and the OS supports
1532         forced/lazy unmounts, then try forced/lazy unmounts.  This should
1533         allow a hung mount point to be removed.
1535         * amd/srvr_nfs.c (find_nfs_srvr): move away IP-address change
1536         detection code to its own function.
1537         (check_fs_addr_change): new function to detect if the IP address
1538         of a downed host has changed, and do various cleanups and fixups
1539         to try and recover as best from that situation (e.g., flushing
1540         various caches).  Also set the FSF_FORCE_UNMOUNT flag for the
1541         fserver in question.
1542         (flush_srvr_nfs_cache): pass fserver as argument, so we can
1543         selectively flush the NFS cache for a single fserver (or all of
1544         them, if you pass NULL).
1546         * libamu/xutil.c (switch_to_logfile): truncate a regular-file log
1547         file if user passed non-zero "truncate_log" flag.
1549         * include/am_utils.h: switch_to_logfile() now takes a 3rd arg.
1551         * amd/get_args.c (get_args): pass "truncate_log" flag as per
1552         amd.conf global settings.
1554         * amd/conf.c (gopt_truncate_log): store global value of
1555         truncate_log flag.
1557         * amd/amq_subr.c (amqproc_setopt_1_svc), hlfsd/hlfsd.c (main,
1558         reload): don't truncate log file when calling switch_to_logfile().
1560         * amd/amd.h (CFM_TRUNCATE_LOG): new flag.  Fix comment typo.
1562         * NEWS, doc/am-utils.texi (truncate_log Parameter),
1563         scripts/amd.conf.5, scripts/amd.conf-sample (log_file): document
1564         new truncate_log amd.conf parameter.
1566         * amd/conf.c (gopt_forced_unmounts): check Linux kernel version
1567         and alert if your version may be too old for MNT_FORCE to work
1568         (before 2.4.0) or for MNT_DETACH to work (before 2.6.0).
1569         Otherwise it may be impossible to pin down the exact kernel
1570         version in which we should enable this feature.
1572         * conf/umount/umount_linux.c (umount2_fs): if MNT_FORCE returned
1573         EBUSY, then don't try to stat(2) before MNT_DETACH because it
1574         could hang.
1576 2005-07-21  Erez Zadok  <ezk@cs.sunysb.edu>
1578         * conf/umount/umount_linux.c (umount_fs): cleanup this function,
1579         breaking long "if" statements using "goto out".
1581         * conf/umount/umount_{aix,bsd44,osf,default,linux}.c (umount_fs):
1582         call new utility function umount2_fs() as needed (EBUSY, EIO, or
1583         ESTALE).
1585         * conf/umount/umount_{aix,bsd44,osf,default,linux}.c (umount2_fs):
1586         define a new utility function to invoke forcible/lazy unmounts
1587         without touching any mtab files.  This separate utility function
1588         is useful because it can be called from elsewhere.
1590         * amd/amfs_toplvl.c (amfs_toplvl_init): new function, called
1591         before Amd mounts toplvl mounts, which gives us a hook for cleanup
1592         of a previously dead Amd.  In our case, if the user asked for
1593         forced_unmounts, and the OS supports it, then we try forced/lazy
1594         unmounts on any previous toplvl mounts.  This is useful if a
1595         previous Amd died and left behind toplvl mount points (this Amd
1596         will clean them up!).  WARNING: Don't use forced/lazy unmounts if
1597         you have another valid Amd running, because this code WILL force
1598         those valid toplvl mount points to be detached as well!
1600         * amd/amfs_toplvl.c (amfs_toplvl_umount): don't unconditionally
1601         try forced/lazy unmounts because it will prevent a normal Amd from
1602         terminating and cleaning up properly (self-deadlocking: detached
1603         mounts hang the parent Amd on a stat).  Since we already do
1604         unmounts in the background, then try a safer policy: after trying
1605         the normal unmounts a few times (5 sec), escalate and try forced
1606         unmounts a few times (5 more seconds), and if even that failed,
1607         then try the ultimate -- detached unmounts (which always succeed).
1608         This allows Amd to first try and shutdown cleanly, and gradually
1609         try more forcible ways to shutdown.  On Linux, this procedure will
1610         cleanly shutdown Amd even if there are processes with their CWD on
1611         Amd's mount points (which normally result in EBUSY).
1613 2005-07-20  Erez Zadok  <ezk@cs.sunysb.edu>
1615         * Makefile.am (EXTRA_DIST_CONF): add new umount_aix.c to distro.
1617         * conf/umount/umount_aix.c: easier if AIX has its own unmount
1618         helper file.
1620         * m4/macros/check_umount_style.m4: AIX needs its own unmount style
1621         file.
1623         * doc/am-utils.texi (forced_unmounts Parameter): @xref -> @pxref.
1625 2005-07-19  Erez Zadok  <ezk@cs.sunysb.edu>
1627         * conf/nfs_prot/nfs_prot_aix5_2.h: define compatible
1628         forced-unmount flag.
1630         * conf/umount/umount_default.c (umount_fs): if regular umount got
1631         EBUSY, EIO, or ESTALE, then try forced unmount, if supported.  Try
1632         umount2 (Solaris) or uvmount (AIX).
1634         * conf/umount/umount_{bsd44,osf}.c (umount_fs): if default
1635         umount() failed with EIO or ESTALE, also try forced unmount.
1637 2005-07-18  Erez Zadok  <ezk@cs.sunysb.edu>
1639         * amd/autil.c (amfs_mount), amd/amfs_toplvl.c
1640         (amfs_toplvl_umount): enable forced/lazy unmounts only if user
1641         asked for it (and dlog it).
1643         * scripts/amd.conf.5: document new force_unmount global parameter.
1645         * doc/am-utils.texi (forced_unmounts Parameter): document new
1646         global parameter.
1648         * amd/conf.c (gopt_forced_unmounts): process forced_unmounts
1649         option (default "no").  Exit with an error if user specified the
1650         option as "yes" but configure couldn't find support for either the
1651         MNT_FORCE or MNT_DETACH flags.
1653         * scripts/amd.conf-sample (forced_unmounts): example usage of new
1654         option.
1656         * amd/amd.h (CFM_FORCED_UNMOUNTS): new flag for forced_unmounts
1657         option.
1659         * m4/macros/header_templates.m4: templates for _DETACH and _FORCE.
1661         * configure.in: check for generic u/mount options "detach" and
1662         "force".
1664         * include/am_utils.h (UMOUNT_FS, umount_fs): new prototypes.
1665         Define AMU_UMOUNT flags for force, detach, and autofs.
1667         * amd/amfs_toplvl.c (amfs_toplvl_umount): pass _FORCE and _DETACH
1668         unmount flags unconditionally.  Pass them to UMOUNT_FS().
1670         * conf/nfs_prot/nfs_prot_linux.h: define MNT_FORCE and MNT_DETACH
1671         if needed, because some Linux systems don't define them
1672         (presumably because it would be too dangerous to expose these
1673         flags to users).
1675         * amd/autil.c (amfs_mount): if mount(2) failed with ESTALE or EIO,
1676         then assume that we're in trouble, possibly because a previous
1677         mount is hung.  So, first try to force a lazy unmount of the old
1678         mount.  If the forced unmount worked, then try again to mount the
1679         desired file system.  If the forced unmount failed, then don't
1680         retry: just return an error.
1682         * amd/amfs_generic.c (amfs_generic_umount), amd/amfs_host.c
1683         (amfs_host_umount), amd/ops_cachefs.c (cachefs_umount),
1684         amd/ops_cdfs.c (cdfs_umount), amd/ops_efs.c (efs_umount),
1685         amd/ops_lofs.c (lofs_umount), amd/ops_nfs.c (nfs_umount),
1686         amd/ops_pcfs.c (pcfs_umount), amd/ops_ufs.c (ufs_umount),
1687         amd/ops_xfs.c (xfs_umount), conf/umount/umount_bsd44.c
1688         (umount_fs), conf/umount/umount_default.c (umount_fs),
1689         conf/umount/umount_linux.c (umount_fs), conf/umount/umount_osf.c
1690         (umount_fs): compute and use unmount specific flags.
1692 2005-07-16  Erez Zadok  <ezk@cs.sunysb.edu>
1694         * configure.in: better help for users, if nfs_args can't be found.
1696 2005-07-15  Erez Zadok  <ezk@cs.sunysb.edu>
1698         * BUGS: more details on AIX's need to install bos.net.nfs.adt
1699         before configuring am-utils (else configure cannot find struct
1700         nfs_args on AIX).
1702 2005-07-10  Erez Zadok  <ezk@cs.sunysb.edu>
1704         * amd/srvr_nfs.c (find_nfs_srvr): flush NFS handle cache if the IP
1705         address of a down server had changed.
1707         * amd/info_union.c (union_reload): use safer xsnprintf() routine.
1709         * amd/srvr_nfs.c (find_nfs_srvr): check to see if the IP address
1710         of a named but down fserver changed (i.e., the previous IP address
1711         is no longer responding).  If so, then reset the fserver to the
1712         new IP address, and set the fserver's flags such that the function
1713         will fall through to doing the usual NFS version/proto checks and
1714         pinging.  (This should fix one case of bug #308.)
1716         * conf/umount/umount_linux.c (umount_fs): warn if plain umount()
1717         failed, before we try to ignore any errors or try optional
1718         umount2(), possibly with forced/lazy unmount.
1719         (umount_fs): dlog when unmount succeeded.
1721 2005-07-08  Erez Zadok  <ezk@cs.sunysb.edu>
1723         * conf/mount/mount_linux.c: add a couple more NFSv2 error codes
1724         that are compatible with NFSv3.
1726 2005-07-07  Erez Zadok  <ezk@cs.sunysb.edu>
1728         * m4/macros/header_templates.m4: extern template for strlcat().
1730         * amd/get_args.c (get_version_string): use safer strlcat (or
1731         replacement strlcat).  Use new wrapper xsnprintf() function, which
1732         will use the safer vsnprintf() if available, else default to plain
1733         sprintf.
1735         * configure.in: check for existence of strlcat() and its extern,
1736         replacing with libamu/strlcat.c as needed.
1738         * libamu/Makefile.am (EXTRA_DIST): add strlcat.c to distro.
1740         * include/am_defs.h: optional strlcat() extern.
1742         * include/am_utils.h: extern for new xvsnprintf().
1744         * configure.in: overdue new major libtool shlib version.
1745         Check for snprintf function and extern.
1747 2005-07-06  Erez Zadok  <ezk@cs.sunysb.edu>
1749         * conf/nfs_prot/nfs_prot_aix4_3.h: cleanup struct
1750         aix4_nfs_args_bis.
1752         * Makefile.am (EXTRA_DIST_CONF): include mount_aix3.c in
1753         distribution.
1755         * conf/mount/mount_aix.c: mount style for aix 5.x and newer.
1757         * conf/mount/mount_aix3.c: mount styles for aix 3.x/4.x.
1759         * m4/macros/check_mount_style.m4: split mount styles for
1760         aix3.x/4.x and the newer (and better) aix 5.x code.
1762 2005-07-05  Erez Zadok  <ezk@cs.sunysb.edu>
1764         * amq/pawd.c (getawd): avoid buffer overflow.  Bug fix from Graeme
1765         Wilford <G.Wilford@surrey.ac.uk>.
1767 2005-06-30  Erez Zadok  <ezk@cs.sunysb.edu>
1769         * amd/map.c (get_next_exported_ap): Avoid running off the end of
1770         the exported_ap[] array.  Patch from jon+amd-at-spock.org.  Fixed
1771         bug #301.
1773 2005-06-25  Erez Zadok  <ezk@cs.sunysb.edu>
1775         * Makefile.am (EXTRA_DIST_CONF): distribute new mtab_linux.c.
1777         * conf/mtab/mtab_linux.c (rewrite_mtab): variable declarations
1778         must come before C code.
1780         * conf/mtab/mtab_linux.c: Linux-specific mount table hanlding
1781         that's safe (uses locks, handles symlinks to /proc/mounts, etc.).
1782         Patch from Red Hat, which they adapted from mtab_file.c.  Minor
1783         fixes to this file.
1785         * m4/macros/check_mnttab_style.m4: Use Linux-specific mount table
1786         handling.
1788 2005-06-24  Erez Zadok  <ezk@cs.sunysb.edu>
1790         * conf/mount/mount_aix.c (mount_aix3): minor cleanup of filehandle
1791         copying code.
1793 2005-06-23  Erez Zadok  <ezk@cs.sunysb.edu>
1795         * conf/nfs_prot/nfs_prot_hpux.h: add extern for h_errno, which may
1796         be missing from older hpux10 systems.
1798         * configure.in: update bug-reporting address to list
1799         https://bugzilla.am-utils.org/ as well as the mailing list.
1801         * Makefile.am (EXTRA_DIST_M4): distribute new type_rpcvers_t.m4
1802         macro.
1804         * conf/transp/transp_tli.c (get_nfs_version): always use
1805         rpcvers_t, now that it'll be automatically discovered.
1807         * configure.in: check for rpcvers_t type.
1809         * m4/macros/type_rpcvers_t.m4: new macro to check for type of
1810         rpcvers_t (Some Solaris versions need it).
1812         * conf/nfs_prot/nfs_prot_sunos5_8.h: don't define INADDR_NONE
1813         here, but in the actual source files that may need it.
1815         * libamu/wire.c (INADDR_NONE): define INADDR_NONE if not defined
1816         already.
1818         * include/am_defs.h: define extern for sleep(3) if needed.
1820         * m4/macros/header_templates.m4: template for sleep(3) extern.
1822         * configure.in: check for extern for sleep(3), which is missing
1823         from some old (and buggy) versions of gcc's fixinc'ed headers.
1825         * conf/nfs_prot/nfs_prot_aix4_3.h: update definition of struct
1826         nfs_args from actual system headers.
1828         * conf/mount/mount_aix.c (mount_aix3): fix name of aix4 "bis"
1829         structure.
1831 2005-06-22  Erez Zadok  <ezk@cs.sunysb.edu>
1833         * BUGS: update Solaris information about use of f/lex and
1834         yacc/bison.
1836 2005-06-20  Erez Zadok  <ezk@cs.sunysb.edu>
1838         * minor new port: i386-pc-linux-suse9.3.
1840 2005-06-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1842         * configure.in (linux/nfs_mount.h): Move __KERNEL__ definition up
1843         so u32 is available for <linux/sunrpc/msg_prot.h>.
1845 2005-06-16  Erez Zadok  <ezk@cs.sunysb.edu>
1847         * amd/mapc.c (maptypes): move MAP_EXEC after MAP_FILE, because
1848         exec maps will always match when users use amd with command line
1849         args (not amd.conf).  Using that legacy way, unfortunately, means
1850         that Amd will use it's hard-coded info-service search path, which
1851         doesn't work for everyone.  It's much better to use amd.conf and
1852         specify what you want exactly.
1854 2005-06-15  Erez Zadok  <ezk@cs.sunysb.edu>
1856         * minor new port: i386-pc-linux-fc4 (gcc4 catches more bugs).
1858         * m4/macros/type_recvfrom_fromlen.m4: linux systems use unsigned
1859         int as the type of recvfrom()'s 6th argument.
1861         * m4/macros/type_yp_order_outorder.m4: linux systems use unsigned
1862         int as the type of yp_order()'s 3rd argument.
1864 2005-06-15  Erez Zadok  <ezk@cs.sunysb.edu>
1866         * scripts/amd.conf-sample (map_type): typo, said mount_type
1867         instead of map_type for the 'exec' example.
1869 2005-06-11  Erez Zadok  <ezk@cs.sunysb.edu>
1871         *******************************************************************
1872         *** Released am-utils-6.1                                       ***
1873         *******************************************************************
1875 2005-06-04  Erez Zadok  <ezk@cs.sunysb.edu>
1877         * amd/ops_nfs.c (mount_nfs_fh): set timeo/retrans mount options
1878         only if the user specified them in amd.conf or elsewhere.  If they
1879         were not specified, don't do anything, which would let the OS use
1880         its own defaults.
1882         * amd/get_args.c (get_args): negative timeo/retrans are "good" in
1883         that they represent uninitialized values (meaning to let the OS
1884         use it's default values).  So only check if user specified a value
1885         equal to zero (invalid).
1887         * amd/amd.h: define AMU_TYPE_NONE so we know when users didn't
1888         specify timeo/retrans at all.
1890 2005-06-03  Erez Zadok  <ezk@cs.sunysb.edu>
1892         *******************************************************************
1893         *** Released am-utils-6.1-rc7                                   ***
1894         *******************************************************************
1896         * m4/macros/os_cflags.m4 (CFLAGS): use custom-OS C flags for
1897         configuring, not just for building.  That way the two phases
1898         (configure and compile) are in sync.  This fixes getwire() on
1899         OSF/1 systems.
1901         * conf/nfs_prot/nfs_prot_sunos5_8.h: define INADDR_NONE if not
1902         defined in system headers.
1904 2005-06-01  Erez Zadok  <ezk@cs.sunysb.edu>
1906         * libamu/Makefile.am (EXTRA_DIST): remove alloca.c as it's no
1907         longer needed.
1909 2005-05-28  Erez Zadok  <ezk@cs.sunysb.edu>
1911         * completed set of fixes for irix6.5.
1913         * Minor new ports alpha-unknown-linux-gentoo1.4.16
1914         alphaev56-dec-osf4.0f, mips-unknown-linux-gentoo1.4.16, and
1915         sparc64-unknown-linux-gentoo1.4.16, and mips-sgi-irix6.5.  Test
1916         those systems with both cc and gcc, where possible.
1918         * include/am_xdr_func.h: remove trailing comma at end of enum
1919         list.
1921         * m4/macros/os_cflags.m4: with gcc 3.4.3 on irix-6.5, we get pte_t
1922         undefined.  So give it a dummy value.
1924         * libamu/alloca.c: remove file from distro.
1926         * configure.in: don't call AC_FUNC_ALLOCA any more.
1928         * include/am_defs.h: remove header fixups for <alloca.h>, now that
1929         we don't need it.
1931         * amd/amq_svc.c (amqsvc_is_client_allowed): rewrite function to
1932         avoid only use of alloca() in am-utils, and to use strdup
1933         explicitly.  This way we can avoid using alloca, a feature that's
1934         not portable on various systems.
1936         * amq/amq.c: remove unused lint/rcsid cruft.
1938 2005-05-27  Erez Zadok  <ezk@cs.sunysb.edu>
1940         * conf/checkmount/checkmount_osf.c (fixmount_check_mount): add
1941         extra parentheses around assignments in "if" expressions (gcc
1942         complains).
1944         * conf/nfs_prot/nfs_prot_osf4.h: add missing extern definitions
1945         for plock, hstrerror, getmntinfo, alloca, xdr_exportnode, and
1946         xdr_groups.
1948         * configure.in: check for <linux/socket.h>, which, if found,
1949         appears to be preferable to <sys/socket.h>.  Use it to find
1950         <linux/nfs_mount.h>.  On some Linux systems
1951         (Gentoo), both exist but only one must be included, or else you
1952         get redefined structure errors.
1954         * libamu/wire.c (is_network_member): check if masknum is
1955         INADDR_NONE, not "< 0" because it's an unsigned quantity.
1957         * libamu/util.c (xstrlcpy): remove useless test for size_t < 0,
1958         because it's an unsigned quantity.
1960 2005-05-26  Erez Zadok  <ezk@cs.sunysb.edu>
1962         *******************************************************************
1963         *** Released am-utils-6.1-rc6                                   ***
1964         *******************************************************************
1966 2005-05-25  Erez Zadok  <ezk@cs.sunysb.edu>
1968         * conf/nfs_prot/nfs_prot_aix5_2.h: AIX 5.3 complains about
1969         missing definition of struct thread_credentials in <sys/vfs.h>
1970         but trying to bring that definition in drags a whole lot of other
1971         messy stuff.  So just provide a dummy definition for this
1972         structure.
1974 2005-05-24  Erez Zadok  <ezk@cs.sunysb.edu>
1976         * Makefile.am (EXTRA_DIST_M4): distribute m4/macros/libtool.m4.
1978         * m4/macros/header_templates.m4: template for HAVE_EXTERN_MNTCTL.
1980         * m4/macros/check_extern.m4: include <sys/vmount.h> on AIX
1981         systems, so we can find extern definition for mntctl().
1983         * conf/mtab/mtab_aix.c, conf/checkmount/checkmount_aix.c: only
1984         define an extern for mntctl() if needed.
1986         * amd/ops_nfs.c (prime_nfs_fhandle_cache): never, ever, use C++
1987         style comments in C code.  Some C compilers don't accept it.
1989         * amd/info_ldap.c (amu_ldap_init, get_ldap_timestamp): force cast
1990         of "time_t *ts" to u_long, to avoid complaints on AIX 5.2 with
1991         xlC.
1993         * amd/get_args.c: rename symbol conf_file to amu_conf_file to
1994         avoid conflict with libldap.a from openldap-2.0.21 on AIX 5.2.
1995         Oh, when will people who develop libraries learn to always prefix
1996         their exported symbols with a library-specific name?
1998         * configure.in: check for mntctl() extern on AIX systems.
2000         * ltmain.sh: update from latest libtool-1.5.18, so we can properly
2001         build on AIX 5.2/5.3 with cc and with gcc.
2003         * m4/macros/libtool.m4: update from latest libtool-1.5.18.  This
2004         time, and from now on, we must include libtool.m4 from the libtool
2005         distribution itself.  That way we ensure that we use an ltmain.sh
2006         that matches the appropriate libtool M4 macros.  This makes
2007         am-utils no longer dependent on having libtool installed on a
2008         given system on which you run bootstrap.
2010 2005-05-23  Erez Zadok  <ezk@cs.sunysb.edu>
2012         * minor new port: i386-pc-linux-deb3.0.
2014 2005-05-22  Erez Zadok  <ezk@cs.sunysb.edu>
2016         * minor new ports: i386-unknown-netbsdelf2.0.2 and
2017         i386-unknown-openbsd3.7.
2019 2005-05-20  Erez Zadok  <ezk@cs.sunysb.edu>
2021         * minor new ports: i386-pc-linux-gentoo1.4.16 and
2022         powerpc-unknown-linux-yellowdog2.3.
2024         * include/{mount_headers2.h, am_defs.h}: safer setup before
2025         inclusion of <linux/nfs_mount.h>, which is broken on several
2026         systems.
2028         * configure.in: test for <linux/nfs2.h>.  Separate special test
2029         for <linux/nfs_mount.h> because we need to define __KERNEL__ for
2030         that test, as well as optionally define struct nfs2_fh for some
2031         systems (gentoo with 2.4 kernel, yellowdog 2.3, and others).
2033         * config.guess.long: support Gentoo and Yellow Dog Linux distros.
2035 2005-05-18  Erez Zadok  <ezk@cs.sunysb.edu>
2037         * minor new ports: i386-pc-linux-suse9.2 and
2038         i386-unknown-freebsd5.4.
2040         * amd/nfs_subr.c: use NFS_FHSIZE, not FHSIZE.
2042 2005-05-17  Erez Zadok  <ezk@cs.sunysb.edu>
2044         *******************************************************************
2045         *** Released am-utils-6.1-rc5                                   ***
2046         *******************************************************************
2048         * amd/info_ldap.c (amu_ldap_init): change plog to dlog, to avoid
2049         sending annoying warning for a minor issue.
2051 2005-05-17  Ion Badulescu <ionut@moisil.badula.org>
2053         * amd/nfs_subr.c: check for NULL pointer before dereferencing it.
2055 2005-05-16  Erez Zadok  <ezk@cs.sunysb.edu>
2057         * minor new ports: powerpc-apple-darwin7.9.0.
2059         * m4/macros/host_macros.m4: if a NetBSD system, remove 'elf' part
2060         from OS name because it's no longer relevant.  Also, don't include
2061         the major OS version number in the OS name because that's also
2062         unnecessary (and users can always use $osver in maps).
2064         * amd/nfs_subr.c: use [1] for out-of-band pointer at the end of
2065         struct am_fh, because it's the most portable method.  Bug fix
2066         suggestion from Dan Riley <dsr at mail.lns.cornell.edu>.  Better
2067         fix from Ion Badulescu: use [FHSIZE-sizeof(u_int)] which is the
2068         actual size we use.
2070         * amd/amfs_generic.c (amfs_lookup_mntfs): reset currently used
2071         def_opts to options given in -opts, appended with the /default
2072         options.  Bug fix suggestion from Dan Riley <dsr at
2073         mail.lns.cornell.edu>.
2075 2005-05-13  Erez Zadok  <ezk@cs.sunysb.edu>
2077         *******************************************************************
2078         *** Released am-utils-6.1-rc4                                   ***
2079         *******************************************************************
2081 2005-05-11  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
2083         * amd/amd.c (main) : fixed memory leak detected by valgrind
2085         * amd/info_ldap.c (amu_ldap_init) : fixed memory leak detected by
2086         valgrind
2088 2005-05-11  Erez Zadok  <ezk@cs.sunysb.edu>
2090         * m4/macros/{check_checkmount_style.m4, check_mnttab_style.m4,
2091         check_nfs_fh_dref.m4, check_nfs_prot_headers.m4,
2092         check_nfs_sa_dref.m4, check_umount_style.m4, os_cflags.m4}: check
2093         for "macosx" as valid OS string, so we compile properly on Darwin
2094         systems.
2096         *******************************************************************
2097         *** Released am-utils-6.1-rc3                                   ***
2098         *******************************************************************
2100         * rerun bootstrap to get a working configure script that actually
2101         checks for limits.h and dependent linux autofs/nfs headers.
2103         * configure.in: remove redundant check for limits.h.
2105 2005-05-09  Erez Zadok  <ezk@cs.sunysb.edu>
2107         *******************************************************************
2108         *** Released am-utils-6.1-rc2                                   ***
2109         *******************************************************************
2111 2005-05-08  Erez Zadok  <ezk@cs.sunysb.edu>
2113         * amd/amfs_generic.c (amfs_lookup_mntfs): removed redundant use of
2114         old_def_opts variable.
2116 2005-05-08  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
2118         * amd/amfs_generic.c (amfs_lookup_mntfs) : Make sure when a map
2119         entry has a single dash '-', that the default options are reset.
2120         This functionality was somehow lost from earlier releases and
2121         reported by Dan Riley <dsr@mail.lns.cornell.edu>.
2123 2005-05-05  Erez Zadok  <ezk@cs.sunysb.edu>
2125         * config.guess.long: detect SuSE Enterprise Server and call it
2126         "sles" not "suse".
2128 2005-05-02  Erez Zadok  <ezk@cs.sunysb.edu>
2130         * doc/am-utils.texi (amd): document proper use of
2131         /etc/hosts.allow.  Don't spawn a new Amd process because Amd will
2132         get confused if someone else waitpid's on its children (which
2133         often do important un/mount work).  Issue reported by Francis
2134         Montagnac <Francis.Montagnac at sophia.inria.fr>.
2136         * minor new ports: powerpc64-unknown-linux-rhel4, and
2137         powerpc64-unknown-linux-sles9.
2139 2005-05-01  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
2141         * amd/amfs_host.c (amfs_host_umount): We do not want to pass
2142         ENOENT as an error because if the directory does not exists our
2143         work is done anyway.
2145         * conf/umount/umount_linux.c (umount_fs): If we are successful or
2146         there was an ENOENT, remove the mount entry from the mtab file.
2148 2005-05-01  Ion Badulescu  <ionut@moisil.badula.org>
2150         * amd/nfs_subr.c: am_fh definition moved here from amd.h;
2151         restructured to better reflect its duality (old/new filehandles)
2152         (fh_to_mp3): fhh_gen is always used, even for new style f/h
2153         (mp_to_fh): ditto
2155         * amd/amd.h: moved am_fh definition to nfs_subr.c (which is the
2156         only place where it's used)
2158 2005-04-30  Erez Zadok  <ezk@cs.sunysb.edu>
2160         * m4/macros/host_macros.m4: use sw_vers on Apple machines to find
2161         out more appropriate OS name (macosx) and OS version (10.3.x) than
2162         uname(3) reports.
2164 2005-04-29  Erez Zadok  <ezk@cs.sunysb.edu>
2166         * config.guess, config.sub, doc/texinfo.tex: updates from latest
2167         official GNU distributions.
2169         * m4/macros/host_macros.m4: for macosx, change architecture value
2170         from "Power Macintosh" to "powerpc".
2172         * libamu/util.c (xstrlcpy): format 'len' parameter as u_long, not
2173         int (it's a size_t).
2175 2005-04-16  Erez Zadok  <ezk@cs.sunysb.edu>
2177         * scripts/amd.conf.5, doc/am-utils.texi (normalize_slashes
2178         Parameter), scripts/amd.conf-sample: document new
2179         normalize_slashes global configuration parameter.
2181         * amd/opts.c (deslashify, normalize_slash): don't touch trailing
2182         slashes, even if multiples of them, if user said
2183         normalize_slashes=no in amd.conf.
2185         * amd/conf.c (gopt_normalize_slashes): new function to record if
2186         to normalize slashes or not.
2188         * amd/amd.h (CFM_NORMALIZE_SLASHES): new flag to decide if to
2189         normalize double-slashes or not ("yes" by default).
2191         * amd/autil.c (am_mounted): pass TRUE when calling mf_mounted.
2192         This is the parent mntfs which does the mf->mf_fo
2193         (am_opts type), and we're passing TRUE here to tell mf_mounted to
2194         actually free the am_opts.
2196         * amd/autil.c (mf_mounted): Be careful when calling free_ops and
2197         XFREE here.  Some pseudo file systems like nfsx call this
2198         function, even though it would be called by the lower-level amd
2199         file system functions.  nfsx needs to call this function because
2200         of the other actions it takes.  So we pass a boolean from the
2201         caller (yes, not so clean workaround) to determine if we should
2202         free or not.  If we're not freeing (often because we're called
2203         from a callback function), then just to be sure, we'll zero out
2204         the am_opts structure and set the pointer to NULL.  The parent
2205         mntfs node owns this memory and is going to free it with a call to
2206         mf_mounted(mntfs,TRUE).
2208         * amd/amd.h: pass flag to mf_mounted, to free or not to free the
2209         am_opts.
2211         * amd/amfs_nfsx.c (amfs_nfsx_cont): call mf_mounted with FALSE to
2212         tell it not to free the am_opts, to avoid double free.
2214         * include/am_defs.h: include limits.h if found.
2216         * configure.in: check for limits.h.  Check for certain Linux
2217         headers such as auto_fs.h after checking for limits.h, and include
2218         the latter if it exists, because some Linux headers depend on
2219         limits.h.  This prevents warnings during configure time.
2221 2005-04-12  Erez Zadok  <ezk@cs.sunysb.edu>
2223         * amd/amfs_toplvl.c (amfs_toplvl_mount): do NOT set retrans/timeo
2224         values from default global UDP settings, because it can cause
2225         unexpected timeouts in Amd on slow systems.  The default that each
2226         OS provides for these toplvl NFS mounts should be OK, or else you
2227         can use the map_options entry.
2229 2005-04-09  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
2231         * amd/nfs_subr.c (mp_to_fh): Replace xstrlcpy with memcpy because the
2232         source buffer is treated more as a filehandle than a string.
2234         * amd/nfs_subr.c (fh_to_mp3): Replace xstrlcpy with memcpy because the
2235         source buffer is treated more as a filehandle than a string.
2237         * amd/opts.c (free_op): No longer need to assign pointer to NULL
2238         after XFREE.
2240         * amd/opts.c (expand_op): Revert back to using strncpy() instead
2241         of xstrlcpy.  The code is correct and relies on the semantics of
2242         strncpy.
2244         * libamu/mount_fs.c (compute_nfs_args): Leave XXX warning that use
2245         of xstrlcpy in NFS_HN_DREF may corrupt a struct nfs_args, or
2246         truncate our concocted "hostname:/path" string prematurely if the
2247         nap->hostname field is ever less than 64 bytes long
2248         (MAXHOSTNAMELEN).
2250         * libamu/util.c (xstrlcpy): Return immediately if len is 0 to
2251         avoid unnecessary work.  Log an error and return if len is less
2252         than 0.
2254 2005-04-07  Erez Zadok  <ezk@cs.sunysb.edu>
2256         * include/am_utils.h (XFREE): XFREE() should nullify the pointer
2257         even when compiling without debugging.  It's safer this way.
2259         * libamu/xutil.c (am_set_hostname),
2260         hlfsd/stubs.c (nfsproc_lookup_2_svc),
2261         fsinfo/fsinfo.c (fsi_get_args),
2262         fixmount/fixmount.c (is_same_host, remove_mount, main),
2263         conf/mtab/mtab_isc3.c (mnt_dup, mtab_of),
2264         conf/mount/mount_svr4.c (mount_svr4),
2265         conf/mount/mount_linux.c (setup_loop_device),
2266         conf/hn_dref/hn_dref_linux.h (NFS_HN_DREF),
2267         conf/hn_dref/hn_dref_isc3.h (NFS_HN_DREF),
2268         amd/opts.c (expand_op),
2269         amd/ops_nfs.c (mount_nfs_fh),
2270         amd/nfs_subr.c (fh_to_mp3, mp_to_fh),
2271         amd/amfs_host.c (amfs_host_mount),
2272         amd/am_ops.c (merge_opts):
2273         use the new xstrlcpy instead of strncpy.
2275         * conf/checkmount/checkmount_{default,svr4}.c
2276         (fixmount_check_mount): document why NOT to use xstrlcpy.
2278         * libamu/xutil.c: am_hostname need not be MAXHOSTNAMELEN+1 any
2279         more, just MAXHOSTNAMELEN.
2281         * libamu/xutil.c (real_plog): use strlcpy (not xstrlcpy to avoid
2282         recursion, since xstrlcpy may use plog).
2284         * libamu/util.c (xstrlcpy): truncating a string is serious.  Use
2285         XLOG_ERROR not XLOG_WARNING.
2287 2005-04-06  Erez Zadok  <ezk@cs.sunysb.edu>
2289         * include/am_utils.h: external definition for new xstrlcpy
2290         function.
2292         * libamu/util.c (xstrlcpy): new function.  Similar to strncpy, but
2293         uses strlcpy to guarantee that the resulting string is null
2294         terminated, and also warn if the resulting string was truncated.
2296         * libamu/xutil.c (get_server_pid): move this function from util.c
2297         which is for general-purpose utilities.
2299         * m4/macros/header_templates.m4: template for HAVE_EXTERN_STRLCPY.
2301         * include/am_defs.h: provide extern definition for strlcpy, if
2302         needed.
2304         * libamu/Makefile.am (EXTRA_DIST): include strlcpy.c in distro.
2306         * configure.in: search for strlcpy and its extern.
2308         * amq/pawd.c (find_mt): It only handles *some* filesystem types,
2309         so it breaks on direct xfs mounts for example.  The fix (from
2310         Christos Zoulas) is simple: We need to exclude toplvl to avoid
2311         infinite recursion, but all other fs's are game.
2313 2005-03-31  Erez Zadok  <ezk@cs.sunysb.edu>
2315         * amd/nfs_subr.c (fh_to_mp3): strncpy may not null terminate if
2316         copying exactly len bytes, so add null just to be safe.
2318 2005-03-30  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
2320         * amd/nfs_subr.c (fh_to_mp3): Increased the n of strncpy()
2321         to make sure it null terminates.
2323 2005-03-29  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
2325         * amd/nfs_subr.c (fh_to_mp3): Fix memset bug. In this case
2326         the memset can be removed because strncpy() should padd the
2327         buffer with NULLs anyway.
2329 2005-03-21  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2331         * include/am_defs.h: Clarify comment.
2333 2005-03-21  Erez Zadok  <ezk@cs.sunysb.edu>
2335         * include/am_defs.h: undefine "GROUP" so Solaris 10 with gcc-2.96
2336         won't complain about a conflict for this definition between
2337         <rpcsvc/nis.h> and <sys/acl.h>.
2339 2005-03-20  Erez Zadok  <ezk@cs.sunysb.edu>
2341         * amd/readdir.c (amfs_readdir_browsable): use %p, not %lx.
2343         * libamu/mount_fs.c (print_nfs_args): print pointer with %p, not
2344         %lx.
2346 2005-03-18  Erez Zadok  <ezk@cs.sunysb.edu>
2348         *******************************************************************
2349         *** Released am-utils-6.1-rc1                                   ***
2350         *******************************************************************
2352 2005-03-18  Erez Zadok  <ezk@cs.sunysb.edu>
2354         * conf/transp/transp_tli.c (get_nfs_version): use proper type for
2355         versout on Solaris (rpcvcers_t).
2357         * amd/mapc.c (mapc_showtypes): if last map type to print, don't
2358         append newline or comma to it.
2360         * libamu/mount_fs.c (print_nfs_args): cast struct netbuf pointer
2361         to %lx because on Solaris 10 sparc gcc-3.4.3 complains about
2362         casting it to an int (size is different).
2364         * configure.in, NEWS: prepare for 6.1-rc1 release.
2366 2005-03-17  Erez Zadok  <ezk@cs.sunysb.edu>
2368         * scripts/amd2ldif.in, ldap.schema: fixes by Adam Morley
2369         <adam-at-gmi-dot-com> to synchronize what amd2ldif does vs. what
2370         the ldap.schema expects.
2372         * amd/map.c (exported_ap_free): We're using a free-list data
2373         structure and re-using malloc'ed objects.  So, to be safe, memset
2374         entire structure when it's freed, not just the pointer.
2375         (umount_exported): bug fix to on-exit code.  Don't run
2376         am_unmounted() unless unmount_mp() didn't run, since the latter
2377         already calls am_unmounted().  This way we avoid a double-free
2378         bug.
2380 2005-03-15  Erez Zadok  <ezk@cs.sunysb.edu>
2382         * tasks: updates.  Executable maps is supported.  NFSv4 and
2383         FreeBSD autofs isn't.
2385         * Makefile.am (EXTRA_DIST): include FAQ in distro.
2387         * doc/Makefile.am (alldocs): install README.lda and README.osx.
2389         * FAQ: new file, better late than never.
2391 2005-03-14  Erez Zadok  <ezk@cs.sunysb.edu>
2393         * scripts/amd2ldif.in: patch to add the amdMapName attribute to
2394         the amdMapTimestamp object when amd2ldif converts it.  This is
2395         necessary if you are using type:=auto mounts and want those
2396         mountmaps looked up through LDAP.  Patch from Jim Zajkowski
2397         <jim.zajkowski@gmail.com>.
2399 2005-03-12  Erez Zadok  <ezk@cs.sunysb.edu>
2401         * minor new ports: i386-pc-linux-rhel4.
2403         * minor new ports: powerpc-apple-darwin7.8.0.
2405 2005-03-10  Erez Zadok  <ezk@cs.sunysb.edu>
2407         * amd/ops_nfs.c (prime_nfs_fhandle_cache): rearrange code so it's
2408         cleaner.
2410         * ltmain.sh: upgrade from libtool-1.5.6.
2412         * m4/macros/check_{fs_mntent,mnttab_type,mount_type}.m4: check for
2413         Linux 2.6 kernel modules, which have a .ko extension, not .o.  Now
2414         we can properly detect which file systems exist on Linux 2.6 based
2415         systems (SLES9, RHEL4, Fedora, etc.).
2417 2005-03-09  Erez Zadok  <ezk@cs.sunysb.edu>
2419         * m4/macros/host_macros.m4: find out what's the OS software
2420         distribution name, if any.
2422         * m4/macros/header_templates.m4: template for DISTRO_NAME.
2424         * amd/get_args.c (get_version_string): print again full_os, os,
2425         osver, and vendor (bug fix).
2426         (get_version_string): print distribution name, if known (e.g.,
2427         rh9, suse8, etc.).
2429         * amd/mapc.c (mapc_showtypes): wrap around list of supported map.
2431 2005-03-08  Erez Zadok  <ezk@cs.sunysb.edu>
2433         * amd/map.c (umount_exported): when unmounting file systems on
2434         exit (when amd.conf global unmount_on_exit=yes), use unmount_mp()
2435         instead of unmount_node() because the latter always unmounts in
2436         the foreground, whereas the former unmounts in the bg/fg as
2437         needed.  Unmounting always in the foreground has two problems: (1)
2438         if the unmount hangs, amd hangs, and (2) for type:=program, the
2439         unmount script is execve'd(!) thus replacing the main amd process,
2440         which never gets to finish up, leaving the amd mount points hung.
2442         * NEWS: mention new feature of executable maps.
2444         * AUTHORS: Acknowledge Erik Kline.
2446         * scripts/amd.conf.5: document executable maps and
2447         exec_map_timeout parameter.
2449         * scripts/amd.conf-sample: examples of an executable map and
2450         exec_map_timeout.
2452         * m4/macros/header_templates.m4: template for HAVE_MAP_EXEC.
2454         * doc/am-utils.texi: document Executable maps and exec_map_timeout
2455         parameter.
2457         * amd/conf.c (gopt_exec_map_timeout): function to parse
2458         exec_map_timeout [global] parameter.
2460         * amd/amd.h (AMFS_EXEC_MAP_TIMEOUT): define default executable map
2461         timeout to 10 seconds, and a global placeholder for the
2462         configurable value.
2464         * amd/amd.c (init_global_options): initialize default executable
2465         map timeout.
2467         * amd/Makefile.am (EXTRA_amd_SOURCES): include info_exec.c in
2468         tarball.
2470         * configure.in: enable executable maps.
2472         * amd/mapc.c: define executable map functions and behavior.
2474         * amd/info_exec.c: executable map implementation from Erik Kline
2475         <ekline at ekline dot com>, modified, cleaned-up, and fixed.
2477 2005-03-07  Erez Zadok  <ezk@cs.sunysb.edu>
2479         * amd/info_file.c (file_init_or_mtime): consolidate identical
2480         file_init and file_mtime into one function.
2482 2005-03-05  Erez Zadok  <ezk@cs.sunysb.edu>
2484         * doc/am-utils.texi (Program Filesystem): if umount/unmount are
2485         not specified, Amd uses "umount ${fs}" by default.
2487         * amd/amfs_program.c (amfs_program_match): if neither unmount nor
2488         umount parameters are specified, use the default userland umount
2489         program with "umount ${fs}".  This way type:=program doesn't have
2490         to specify the umount program for basic unmounting actions.
2491         (amfs_program_init): save unmount program string in mf_private
2492         only if it's NULL, not based on mf_refc.
2494         * configure.in: auto-detect name of userland unmount program.
2496         * aux_conf.h.in (UNMOUNT_PROGRAM): macro for default userland
2497         unmount program.
2499         * amd/ops_cachefs.c (cachefs_init): save unmount program string in
2500         mf_private only if it's NULL, not based on mf_refc.
2502         * configure.in: don't "discover" inheritance file system any more,
2503         since we don't have the .c file for it.
2505         * amd/get_args.c (get_version_string): hack to still show that we
2506         support the inherit file system in output of amd -v.
2508 2005-03-05  Ion Badulescu  <ionut@moisil.badula.org>
2510         * amd/amfs_inherit.c: removed, dead code
2512         * amd/Makefile.am,
2513         amd/am_ops.c,
2514         amd/amd.h,
2515         conf/autofs/autofs_linux.h,
2516         conf/autofs/autofs_solaris_v1.h,
2517         conf/autofs/autofs_solaris_v2_v3.h,
2518         m4/macros/header_templates.m4: removed references to amfs_inherit.c
2520 2005-03-05  Erez Zadok  <ezk@cs.sunysb.edu>
2522         * amd/autil.c (am_mounted): completely rewrite the unmount
2523         no/timeout code to (1) make more sense for odd conditions, and (2)
2524         allow utimeout=N mount options to override FS_NOTIMEOUT default
2525         flags for disk-based file systems such as ufs, pcfs, cdfs, etc.
2527         * libamu/mount_fs.c (mount_fs): use safer XFREE() not free().
2529         * conf/umount/umount_linux.c (umount_fs): strtok is destructive,
2530         so use strdup'ed string.
2532         * conf/mount/mount_linux.c (parse_opts): strtok is destructive, so
2533         use strdup'ed string.
2535 2005-03-04  Erez Zadok  <ezk@cs.sunysb.edu>
2537         * scripts/amd.conf.5, doc/am-utils.texi (cache_duration
2538         Parameter): clarify actual behavior: this Parameter affects
2539         initial mount timeout as well as the linear backoff what happens
2540         the initial failed EBUSY unmount.
2542         * doc/am-utils.texi (opts Option): better explanation of
2543         utimeout=N mount pseudo-option.
2545         * amd/amd.h (AM_TTL, AM_TTL_W): better comments, minor cleanup.
2547 2005-03-02  Daniel P. Ottavio  <dottavio@ic.sunysb.edu>
2549         * AUTHORS: add Dan Ottavio.
2551         * scripts/amd.conf.5: document new debug_mtab_file option.
2553         * scripts/amd.conf-sample (debug_mtab_file): show example.
2555         * doc/am-utils.texi (debug_mtab_file Parameter): document new
2556         option.
2558         * conf/mtab/mtab_{file,mach3}.c (open_locked_mtab): if mtab file
2559         doesn't exist by the time Amd tries to exist, return a 0 rather
2560         than hang indefinitely.
2562         * amd/conf.c (gopt_debug_mtab_file): new function to parse
2563         debug_mtab_file option.
2565         * amd/amd.h: placeholder for debug_mtab_file string.
2566         Define default debug_mtab_file to "/tmp/mtab".
2568         * NEWS: document new debug_mtab_file option.
2570 2005-03-02  Erez Zadok  <ezk@cs.sunysb.edu>
2572         * conf/transp/transp_{sockets,tli}.c (amu_get_myaddress): when
2573         users want Amd's NFS service to bind to some arbitrary "localhost"
2574         address, show which address was actually resolved and bound to.
2576 2005-03-01  Erez Zadok  <ezk@cs.sunysb.edu>
2578         * amd/srvr_nfs.c (start_nfs_pings): move code from elsewhere
2579         (update_nfs_pingval) that initializes the pinger, as well as turns
2580         it on/off as needed, and handles changing its value.  This is to
2581         avoid races and other infinite-loop conditions that could result
2582         in ping storms.
2584         * amd/srvr_amfs_auto.c (amfs_generic_find_srvr): when creating a
2585         new file server structure, default the ping value to AM_PINGER
2586         (30sec) and set the FSF_PING_UNINIT flag.
2588         * amd/amd.h (FSF_PING_UNINIT): new flag to tell whether the NFS
2589         pinger had been initialized for a given file server.
2591         * scripts/ctl-amd.in (stop): no need to check if
2592         /var/lock/subsys/amd file exists if you do an rm -f afterward.
2593         Ensure that proper return value is returned from script.
2595         * NEWS, doc/am-utils.texi (opts Option): update meaning of ping=N
2596         so that if N=-1, pings are off; if N=0, pings are set to the
2597         default value (currently 30 seconds).
2599 2005-02-28  Erez Zadok  <ezk@cs.sunysb.edu>
2601         * amd/nfs_prot_svc.c (nfs_program_2): on TLI system, try to call
2602         __rpc_get_local_uid to verify if the RPC call through the
2603         local host interface came from UID 0.
2605         * configure.in: look for internal libnsl function
2606         __rpc_get_local_uid (seems to be available on all known TLI
2607         systems, Solaris and HP-UX 11).
2609         * conf/transp/transp_tli.c (amu_svc_getcaller): unnecessary
2610         function for TLI systems (and it violated a array's bounds,
2611         discovered with libumem.so).
2612         (bind_resv_port, bind_resv_port_only_udp, get_autofs_address):
2613         just to be on the safe side, set struct t_bind's qlen field to non
2614         zero (64 by default).  This value cannot be zero for TCP
2615         connections, and it's unclear if it's good to have it zero for UDP
2616         connections, so setting it to 64 is safer.
2618 2005-02-27  Erez Zadok  <ezk@cs.sunysb.edu>
2620         * doc/am-utils.texi (opts Option, Keep-alives): update text on
2621         ping option.
2623         * amd/srvr_nfs.c (update_nfs_pingval): new function to update NFS
2624         server ping values, turn them off, or re-enable them.
2625         (find_nfs_srvr): call update_nfs_pingval() as needed.
2627         * hlfsd/hlfsd.c (reaper, cleanup): don't use exit(3) in a signal
2628         handler, but use _exit(2) instead.
2630         * amd/amd.c (parent_exit): This signal handler is called during
2631         Amd initialization.  The parent forks a child to do all the hard
2632         automounting work, and waits for a SIGQUIT signal from the child.
2633         When the parent gets the signal it's supposed to call this handler
2634         and exit(3), thus completing the daemonizing process.  Alas, on
2635         some systems, especially Linux 2.4/2.6 with Glibc, exit(3) doesn't
2636         always terminate the parent process.  Worse, the parent process
2637         now refuses to accept any more SIGQUIT signals -- they are
2638         blocked.  What's really annoying is that this doesn't happen all
2639         the time, suggesting a race condition somewhere.
2640         (This happens even if I change the logic to use another signal.)
2641         I traced this to something which exit(3) does in addition to
2642         exiting the process, probably some atexit() stuff or other
2643         side-effects related to signal handling.  Either way, since at
2644         this stage the parent process just needs to terminate, I'm simply
2645         calling _exit(2).  Note also that the OpenGroup doesn't list
2646         exit(3) as a recommended "Base Interface" but they do list
2647         _exit(2) as one.  This fix seems to work reliably all the time.
2649         * scripts/wait4amd2die.in: change default to recognize that amd is
2650         down more quickly (check every 3 seconds instead of 5).
2652 2005-02-26  Erez Zadok  <ezk@cs.sunysb.edu>
2654         * libamu/xutil.c (amu_release_controlling_tty): warn if closing
2655         stdin/stdout/stderr failed.  No need for tempfd.
2657         * scripts/ctl-{amd,hlfsd}.in: before running any real program in
2658         these shell scripts, chdir to "/" to avoid possible hangs with
2659         existing NFS mounts.  This was causing ctl-amd's forked
2660         grand-child amd process to hang if restartable_mounts=no.  Go
2661         figure.
2663 2005-02-25  Erez Zadok  <ezk@cs.sunysb.edu>
2665         * minor new port ia64-unknown-linux-rhel4
2667         * fsinfo/fsi_util.c (set_ether_if): avoid u_long casting to -1
2668         (RHEL4 gcc 3.4.3 ia64 compiler complains).
2670 2005-02-24  Erez Zadok  <ezk@cs.sunysb.edu>
2672         * minor new port i386-unknown-freebsd6.0 (6.0-CURRENT-SNAP001).
2674 2005-02-23  Erez Zadok  <ezk@cs.sunysb.edu>
2676         * minor new port: i386-pc-linux-rhel3.
2678         * INSTALL: major update of the compatibility list.
2680         * m4/macros/os_cflags.m4: set AMU_CFLAGS not AM_CFLAGS.
2682 2005-02-22  Erez Zadok  <ezk@cs.sunysb.edu>
2684         * scripts/amd.conf.5, doc/am-utils.texi (preferred_amq_port):
2685         document new preferred_amq_port [global] option.
2687         * scripts/amd.conf-sample (preferred_amq_port): example.
2689         * include/am_utils.h: add preferred_amq_port to prototype.
2691         * conf/transp/transp_tli.c (bind_preferred_amq_port): new function
2692         to bind the Amq RPC service for UDP and TCP to a preferred port
2693         (or to any port if preferred_amq_port==0).
2694         (create_amq_service): decide if to bind to RPC_ANYFD, or to a
2695         requested port.
2697         * conf/transp/transp_sockets.c (create_amq_service): if
2698         preferred_amq_port is greater than 0, then bind to that port for
2699         both UDP and TCP.  If preferred_amq_port==0, then bind to any
2700         port.
2702         * amd/nfs_start.c (mount_automounter): pass global
2703         preferred_amq_port value to create_amq_service().
2705         * amd/conf.c (gopt_preferred_amq_port): new function to parse
2706         amd.conf value for preferred_amq_port.
2708         * amd/amd.h: placeholder for preferred_amq_port.
2710 2005-02-21  Erez Zadok  <ezk@cs.sunysb.edu>
2712         * conf/transp/transp_tli.c (bind_resv_port_only_udp): rename old
2713         bindnfs_port to a more proper name.  This function binds the NFS
2714         service to a specified port, and only for UDP.
2716         * conf/transp/transp_tli.c: cleanup some code, rename some
2717         functions, in preparation for RPC amq port specification code.
2719 2005-02-19  Erez Zadok  <ezk@cs.sunysb.edu>
2721         * */Makefile.am: don't redefine CFLAGS or LDFLAGS; they are
2722         reserved for users to pass them on the command line.  Instead, use
2723         autoconf's internal AM_CFLAGS and AM_LDFLAGS.
2725         * depcomp, install-sh, missing, mkinstalldirs: update from latest
2726         versions of Automake 1.9.2.
2728         * m4/macros/*.m4: properly quote AC_DEFUN'ed macro name, and fix
2729         regexp/patsubst M4 commands.  Newer versions of autoconf (e.g.,
2730         v2.59) complain about those.
2732 2005-02-17  Erez Zadok  <ezk@cs.sunysb.edu>
2734         * amd/opts.c (f_xhost): if we don't have hstrerror, just print the
2735         value of h_errno.
2737         * configure.in: include -lresolv if it defines the hstrerror()
2738         function and not already available in existing libraries.
2740         * minor new port: powerpc-apple-darwin7.7.0.
2742         * amd/nfs_subr.c (mp_to_fh): pathlen should be u_int because it is
2743         later compared against an unsigned quantity (complaint from gcc
2744         3.3 on SuSE 8.2)
2746         * include/am_utils.h: remove unnecessary (and conflicting) extern
2747         for bind_resv_port2(), which is declared as static in
2748         transp_tli.c.
2750         * doc/am-utils.texi, scripts/amd.conf.5, scripts/amd.conf-sample,
2751         NEWS: document four new amd.conf options: nfs_retry_interval_udp,
2752         nfs_retransmit_counter_udp nfs_retry_interval_tcp, and
2753         nfs_retransmit_counter_tcp.
2755         * amd/ops_nfs.c (mount_nfs_fh): set timeo/retrans values based on
2756         wether nfs_proto was "udp" or "tcp".
2758         * amd/amfs_toplvl.c (amfs_toplvl_mount): set retrans/timeo values
2759         from default UDP settings (because toplvl mounts are UDP for now).
2761         * amd/get_args.c (get_args): use parameters to -t option to set
2762         both UDP and TCP timeo/retrans values.
2764         * amd/conf.c: (gopt_nfs_retransmit_counter_udp,
2765         (gopt_nfs_retransmit_counter_tcp, gopt_nfs_retry_interval_udp
2766         (gopt_nfs_retry_interval_tcp): new functions to parse UDP and TCP
2767         retrans/timeo parameters separately.
2768         (gopt_nfs_retry_interval, gopt_nfs_retransmit_counter): if
2769         specified, use it to set defaults for both UDP and TCP.
2771         * amd/amd.c (init_global_options): initialize default values of
2772         both UDP and TCP retrans/timeo values to -1.
2774         * amd/amd.h (AMU_TYPE_{TCP,UDP,MAX}): define separate retrans and
2775         timeo values, one for udp mounts and another for tcp mounts.
2777 2005-02-16  Erez Zadok  <ezk@cs.sunysb.edu>
2779         * README.osx: new file with some instructions for Mac OS-X users,
2780         courtesy Kevin Layer.
2782         * amd/get_args.c (get_args): move call to switch_to_logfile()
2783         after processing -v, so we don't print "no logfile defined; using
2784         stderr" when we're about to print version info and exit anyway.
2786         * minor new port: powerpc-ibm-aix5.3.0.0.
2788         * hlfsd/hlfsd.c (main): rewrite code to avoid negative array
2789         references.
2791         * conf/checkmount/checkmount_aix.c: remove extern definition for
2792         mntctl(), since AIX 5.3 has it in <sys/vmount.h>.
2794         * amd/info_union.c (union_reload): rewrite code to avoid negative
2795         array references.
2797         * amd/opts.c (split_opts, expand_op): rewrite code to avoid
2798         negative array references.
2800         * conf/mtab/mtab_aix.c: remove extern definition for mntctl(),
2801         since AIX 5.3 has it in <sys/vmount.h>.
2803         * libamu/xutil.c (real_plog): rewrite code to avoid negative array
2804         references.
2806         * libamu/wire.c (is_network_member): rearrange code slightly to
2807         avoid negative array references (AIX 5.3 xlC 7.0 compiler
2808         complains about it).
2810 2005-01-26  Erez Zadok  <ezk@cs.sunysb.edu>
2812         * doc/am-utils.texi (xhost Selector Function): document new
2813         selector function.
2815         * amd/opts.c (f_xhost): new function for use when matching the
2816         "host" selector for the current host's name.  This function will
2817         now match the primary host name as well as all known aliases
2818         (CNAMES) that gethostbyname() returns.  This function now supports
2819         a new function selector called xhost(ARG); the old host==ARG
2820         selector is unharmed.
2822 2005-01-17  Ion Badulescu  <ionut@moisil.badula.org>
2824         * NEWS: document the ability to restart old mount points
2826         * amd/map.c (mount_auto_node): force the fileid of the
2827         root to be 1, so that it won't change between restarts; use the
2828         root filesystem's own methods instead of hard-coding the use of
2829         the default methods
2831         * conf/transp/transp_tli.c (create_nfs_service): better cleanup on
2832         error conditions.
2833         (bind_resv_port2): allow the caller to request a certain port.
2835         * conf/transp/transp_sockets.c (bind_resv_port): allow the caller
2836         to request a certain port.
2837         (create_nfs_service): better cleanup on error conditions.
2839         * amd/restart.c (restart_automounter_nodes): new function, takes
2840         care of restarting automounter NFS mount points (autofs will come
2841         later).
2842         (restart): skip all automounter mount points.
2844         * amd/nfs_subr.c (fh_to_mp3, mp_to_fh): new filehandle
2845         implementation: if the path to the node is shorter than sizeof(fh)
2846         chars (currently 32 chars for a NFSv2 fh), simply store it inside
2847         the fh. For longer paths, keep the old implementation.
2849         * amd/nfs_start.c (mount_automounter): reorder things so that
2850         restarting the toplvl filesystems occurs before anything else (so
2851         that we can grab all the ports we need before we accidentally use
2852         them for something else).
2854         * amd/mntfs.c (locate_mntfs): remove dead code; add special
2855         handling of restarted toplvl filesystems.
2857         * amd/mapc.c (root_keyiter): fix up a comment.
2859         * amd/map.c (path_to_exported_ap): new function, searches for and
2860         returns a node by the path to it.
2861         (get_root_nfs_fh): remove unnecessary fiddling with the root fh.
2863         * config.guess.long: support Red Hat Enterprise Linux
2865 2005-01-17  Erez Zadok  <ezk@cs.sunysb.edu>
2867         * libamu/util.c (rmdirs): prevent amd from logging 'Read-only
2868         filesystem' errors when the mount point has an ancestor (i.e. '/')
2869         that is mounted read-only.  Patch from David Rage <rage@ucl.ac.uk>.
2871 2005-01-17  Ion Badulescu  <ionut@moisil.badula.org>
2873         * conf/umount/umount_linux.c (umount_fs): Linux doesn't need the
2874         autofs space hack
2876         * conf/umount/umount_default.c (umount_fs): there is no need for
2877         HAVE_LOOP_DEV, now that Linux has its own dedicated umount_linux.c
2879 2005-01-17  Erez Zadok  <ezk@cs.sunysb.edu>
2881         * doc/am-utils.texi (Automatic Unmounting): document new umount2()
2882         behavior on Linux.
2884         * conf/umount/umount_linux.c (umount_fs): new file.  On Linux, if
2885         umount(2) failed with EIO or ESTALE, try umount2(2) with
2886         MNT_FORCE+MNT_DETACH.  Based on patch from Christos Zoulas
2887         <christos@zoulas.com>.
2889         * m4/macros/check_umount_style.m4: pick new linux umount style.
2891         * Makefile.am (EXTRA_DIST_CONF): distribute new umount_linux.c
2892         file.
2894 2005-01-16  Erez Zadok  <ezk@cs.sunysb.edu>
2896         * conf/nfs_prot/nfs_prot_aix{4_2,4_3,5_1,5_2}.h,
2897         m4/macros/struct_nfs_args.m4: minor cleanups for quicker execution
2898         of "nfs_args" test.
2900 2005-01-13  Erez Zadok  <ezk@cs.sunysb.edu>
2902         * amd/get_args.c (show_usage): separate function to print usage
2903         string.
2904         (get_args) Call show_usage() from get_args when needed, then exit.
2906         * amd/get_args.c (get_version_string): print also domain, host,
2907         and hostd.
2908         (get_args): print version string at the very end, after all other
2909         values had been initialized.  Patch from Christos Zoulas
2910         <christos@zoulas.com>.
2912         * conf/transp/transp_sockets.c (check_pmap_up, get_nfs_version),
2913         conf/transp/transp_tli.c (check_pmap_up): correct an inconsistency
2914         in timeouts in the RPC code between socket and TLI
2915         implementations.  The clntudp_create timeout has a different
2916         meaning than the clnt_call timeout.  Set the timeout of the create
2917         to 2 seconds which means retry if no answer in two seconds, and
2918         the timeout call to 6 seconds, which will give us consistently 2
2919         to 3 pings.  This is useful on occasional network UDP loss where a
2920         single packet loss would wrongfully mark a server down.  (The TLI
2921         code is the one that had the problem occurs.)  Patch from Christos
2922         Zoulas <christos@zoulas.com>.
2924         * libamu/mount_fs.c (compute_nfs_attrcache_flags): make sure code
2925         compiles even for systems that don't have the nfs_args
2926         ac{reg,dir}{min,max} fields.
2928         * amd/amfs_toplvl.c (set_auto_attrcache_timeout): just to be safe,
2929         add "noac" if amd.conf option auto_attrcache was set to 0.  This
2930         should hopefully make the compute_nfs_attrcache_flags patch even
2931         safer.
2933         * libamu/mount_fs.c (compute_nfs_attrcache_flags): separate
2934         function to compute attribute-cache values.  This function now
2935         computes attribute-cache flags for BOTH Amd's automount points
2936         (NFS) as well as any normal NFS mount that Amd performs.
2937         (compute_nfs_args, compute_automounter_nfs_args): call
2938         compute_nfs_attrcache_flags to figure out attribute-cache related
2939         flags.  Patch from Christos Zoulas <christos@zoulas.com>.
2941         * scripts/amd.conf-sample: show examples of new global options
2942         domain_strip and auto_attrcache.
2944         * scripts/amd.conf.5: document new global options domain_strip and
2945         auto_attrcache.  Add warning to auto_attrcache use in case of
2946         ESTALE.
2948         * doc/am-utils.texi: minor cleanups and document new global
2949         options domain_strip and auto_attrcache.  Add warning to
2950         auto_attrcache use in case of ESTALE.
2952         * amd/conf.c (gopt_auto_attrcache): parse new global amd.conf
2953         option auto_attrcache.
2954         (gopt_domain_strip): parse new global amd.conf option
2955         domain_strip.  Part of a patch from Christos Zoulas
2956         <christos@zoulas.com>.
2958         * amd/autil.c (host_normalize): don't call domain_strip()
2959         unconditionally, but depend on the new global amd.conf flag
2960         domain_strip.
2962         * amd/amfs_toplvl.c (set_auto_attrcache_timeout): new function to
2963         set attribute cache timeout value given other configured global
2964         defaults.
2965         (amfs_toplvl_mount): set automount point attribute cache option
2966         value to "noac" if attrcache=0, else set it to whatever
2967         set_auto_attrcache_timeout() returns.
2969         * amd/amd.h (CFM_DOMAIN_STRIP, CFM_DEFAULT_FLAGS): flag to decide
2970         if to strip the domain from the host name or not, default options
2971         set to strip the domain.
2972         Store global value of automount attribute cache timeout value.
2974         * amd/amd.c (init_global_options): add flag to record automount
2975         point attribute cache value.
2977         * amd/amd.c (do_memory_locking): new function to encapsulate all
2978         of the memory-locking functionality, which was in main() before.
2979         Also added a call to madvise(), just in case.
2980         (main): call do_memory_locking() to pin process memory if amd.conf
2981         asked for it, but do so after the main Amd process daemonizes,
2982         because mlock/mlockall is not inherited by fork() by default.
2983         Slightly restructured patch from Jonathan Chen
2984         <jon+amd@spock.org>.
2986         * configure.in: check for madvise(2).
2988         * config.guess, config.sub: updates for latest official GNU
2989         versions.
2991         * m4/GNUmakefile: update paths to "make update"
2993 2005-01-12  Erez Zadok  <ezk@cs.sunysb.edu>
2995         * conf/nfs_prot/nfs_prot_hpux11.h: define an nfs_fh3 structure
2996         that's compatible for HPUX11 as well as NFSv3.
2998         * include/am_defs.h: On AIX 5.2, both <resolv.h> and
2999         <arpa/nameser_compat.h> define MAXDNAME, if compiling with gcc
3000         -D_USE_IRS (so that we get extern definitions for hstrerror() and
3001         others).  So undef MAXDNAME before it gets redefined.
3003         * include/am_defs.h: Solaris 10 (build 72) defines GROUP_OBJ in
3004         <sys/acl.h>, which is included in many other header files.
3005         <rpcsvc/nis.h> uses GROUP_OBJ inside enum zotypes.  So if you're
3006         unlucky enough to include both headers, you get a compile error
3007         because the two symbols conflict.  Temp hack: undefine acl.h's
3008         GROUP_OBJ before including nis.h, because we don't need acl.h for
3009         am-utils.
3011         * m4/macros/os_cflags.m4: turn -D_USE_IRS for AIX5+ so that
3012         certain extern definitions of resolver functions become available.
3014         * amd/opts.c (expand_op): use #define for expand_error string
3015         because some compilers complain about the use of static const
3016         char[] inside a varargs function.
3018         * minor new port i386-unknown-netbsdelf1.6.2.
3020         * new port i386-unknown-netbsdelf2.0.
3022         * minor port i386-unknown-freebsd5.3.
3024         * libamu/mount_fs.c (compute_nfs_args): don't compare
3025         nap->maxgrouplist against NULL but against 0 directly, because on
3026         FreeBSD 4.3, NULL is defined is (void *)0 and gcc 3.4 complains
3027         about a type mismatch.
3029         * minor port i386-pc-linux-fc3 (Fedora Core 3).
3031 2005-01-11  Erez Zadok  <ezk@cs.sunysb.edu>
3033         * hlfsd/hlfsd.c (main): use sigsuspend() over sigpause(), because
3034         FC3 doesn't have proper extern definition for the defunct
3035         sigpause().
3037         * configure.in: look for sigsuspend().
3039 2005-01-01  Erez Zadok  <ezk@cs.sunysb.edu>
3041         * updated copyright year to 2005 on all files.
3043 2004-11-29  Erez Zadok  <ezk@cs.sunysb.edu>
3045         * scripts/amd.conf.5: Small fixes to typos in man page, from
3046         Thomas Klausner <tk@giga.or.at>.
3048 2004-10-22  Erez Zadok  <ezk@cs.sunysb.edu>
3050         * ldap.schema: add this file to distribution.
3052 2004-09-15  Erez Zadok  <ezk@cs.sunysb.edu>
3054         * doc/am-utils.texi: fix old URLs.
3056 2004-09-01  Erez Zadok  <ezk@cs.sunysb.edu>
3058         * conf/mtab/mtab_aix.c (read_mtab): avoid a race condition between
3059         multiple calls to mntctl().  Patch suggested by Michael van Elst
3060         <M.van.Elst@science-computing.de>.
3062 2004-08-07  Erez Zadok  <ezk@cs.sunysb.edu>
3064         * doc/am-utils.texi (Program Filesystem): document how to get
3065         double slashes in Amd maps.
3067         * amd/opts.c (normalize_slash): support escaped slashes, needed
3068         for SMB mounts.  Use '\\\/\\\/' in a string to get a double slash.
3070 2004-08-06  Erez Zadok  <ezk@cs.sunysb.edu>
3072         * amd/amfs_program.c (amfs_program_match): bug fix.  Complain if
3073         both opt_unmount and opt_umount are missing, not when just one of
3074         them is missing.
3076 2004-08-03  Erez Zadok  <ezk@cs.sunysb.edu>
3078         * amq/pawd.c (find_mt): recognize "linkx" type mounts.  Patch from
3079         Hauke Fath <hauke@Espresso.Rhein-Neckar.DE>.  Support "nfsx" while
3080         we're at it.
3082         * doc/am-utils.texi: mention bugzilla.  Fix broken URL HREF's.
3084 2004-08-02  Erez Zadok  <ezk@cs.sunysb.edu>
3086         * amq/pawd.c (find_mt): recognize "host" type mounts.  Patch from
3087         Dan Nelson <dnelson@allantgroup.com>.
3089 2004-07-30  Erez Zadok  <ezk@cs.sunysb.edu>
3091         * doc/am-utils.texi, NEWS: minor typos fixed.
3093 2004-07-30  Erez Zadok  <ezk@play.cs.columbia.edu>
3095         * include/am_xdr_func.h: cannot have field-less structure; put a
3096         dummy field in.
3098         * conf/autofs/autofs_solaris_v2_v3.c (xdr_autofs_rddirargs): cast
3099         2nd arg of xdr_u_int to a u_int*, not int*.
3100         (autofs_mount_2_req): don't use C++ // comments.
3102 2004-07-30  Erez Zadok  <ezk@cs.sunysb.edu>
3104         * m4/macros/{try_compile_anyfs,check_field}.m4: include
3105         <fs/msdosfs/msdosfsmount.h> if it exists.  Part of a set of
3106         FreeBSD 5 patches from Martin Blapp <mb@imp.ch>.
3108         * include/am_defs.h: include <fs/msdosfs/msdosfsmount.h> if it
3109         exists.
3111         * amd/ops_pcfs.c (mount_pcfs): set pcfs_args_t.dirmask field to
3112         0777 by default.
3114         * configure.in: check for pcfs_args_t.dirmask field.  Check for
3115         existence of <fs/msdosfs/msdosfsmount.h>, new on FreeBSD 5.
3117 2004-07-29  Erez Zadok  <ezk@cs.sunysb.edu>
3119         * minor new port: i386-pc-linux-fc2 (Fedora Core 2).
3121         * amd/info_ldap.c (amu_ldap_rebind): don't use ldap_enable_cache()
3122         unless the function exists in libldap and the extern is in
3123         <ldap.h>.  Recently, openldap removed the extern from ldap.h, but
3124         left the function in libldap, for binary compatibility; however
3125         ldap_enable_cache and related functions have been deprecated (and
3126         no longer listed in the header files), and therefore should be
3127         avoided.
3129         * m4/macros/check_extern_ldap.m4: new macro to check for
3130         LDAP-specific externs.  This is separate from check_extern.m4 so
3131         as to avoid breaking the general-purpose macro with LDAP-specific
3132         headers.
3134         * m4/macros/header_templates.m4: extern template for new
3135         HAVE_EXTERN_LDAP_ENABLE_CACHE.
3137         * configure.in: call new check_extern_ldap.m4 macro.
3139         * Makefile.am (EXTRA_DIST_M4): distribute new check_extern_ldap.m4
3140         macro.
3142         * config.guess.long: distinguish between redhat and fedora-core
3143         releases.
3145 2004-07-23  Erez Zadok  <ezk@cs.sunysb.edu>
3147         * Minor new port i386-pc-linux-suse8.2: minor new port to SuSE
3148         8.2.  This systems' latest GCC (gcc version 3.3 20030226
3149         prerelease) correctly caught a lot of possibly bad comparisons
3150         between signed and unsigned quantities.
3152         * hlfsd/homedir.c (table_add, plt_search): changed first arg of
3153         both functions to u_int.
3155         * hlfsd/hlfsd.h, hlfsd/hlfsd.c: change 'cache_interval' to u_int.
3156         Changed proto for plt_search arg to u_int.
3158         * amq/amq.c (show_mi, main): change 'i' to u_int.
3160         * amq/pawd.c (find_mlp): change 'i' to u_int.
3162         * amd/srvr_nfs.c (find_nfs_srvr): change proto_nfs_version to
3163         u_int.
3165         * amd/amd.h: change prototype of vreaddir and amfs_error_readdir
3166         to use u_int count parameter.
3168         * amd/ops_TEMPLATE.c (foofs_readdir), amd/amfs_error.c
3169         (amfs_error_readdir): change 'count' parameter in proto to u_int.
3171         * amd/amd.h: change proto of amfs_generic_readdir() to use u_int
3172         count parameter.
3174         * amd/readdir.c (make_entry_chain): preflen should be u_int.
3175         (amfs_readdir_browsable): change 'count' to u_int.
3176         (amfs_generic_readdir): change 'count' to u_int.
3178         * amd/amd.h: amu_global_options's portmap_program field should be
3179         u_long, not int (to match RPC conventions).  Change am_fh's
3180         fhh_gen field to u_int, to match am_gen field in struct am_node.
3182         * amd/conf.c (gopt_portmap_program): use atol() instead of atoi()
3183         to avoid size differences.
3185         * conf/mount/mount_linux.c (find_unused_loop_device): cast to int
3186         to avoid comparison between chars and integers.
3188         * libamu/mount_fs.c (get_hex_string): change 'i' to u_int to avoid
3189         comparisons between signed and unsigned integers.
3191 2004-07-13  Erez Zadok  <ezk@cs.sunysb.edu>
3193         * minor new port: i386-pc-linux-suse9.1.
3195         * include/am_defs.h: don't use __kernel_dev_t for dev_t on Linux,
3196         because SuSE wants __kernel_old_dev_t.  Instead, just define it
3197         directly to what they both use: an unsigned short.
3199 2004-05-27  Erez Zadok  <ezk@cs.sunysb.edu>
3201         * minor new port: i386-unknown-freebsd4.10
3203 2004-04-29  Ion Badulescu  <ionut@moisil.badula.org>
3205         * amd/amfs_generic.c (amfs_lookup_one_mntfs): fix the creation of
3206         mountpoints for autofs-based sublinks the right way
3208 2004-04-28  Ion Badulescu  <ionut@moisil.badula.org>
3210         Fixes for various memory management problems discovered by
3211         Rainer's purify run:
3213         * conf/transp/transp_tli.c (check_pmap_up): zero out struct
3214         timeval before using;
3215         (get_nfs_version): ditto
3217         * amd/map.c (umount_exported): make sure we don't try to free the
3218         same am_node multiple times, by setting its corresponding
3219         exported_ap slot to null
3221         * amd/get_args.c (get_version_string): a static pointer is pretty
3222         pointless, make it automatic
3224         * amd/conf.c (gopt_debug_options): remove unnecessary strdup();
3225         (gopt_log_options): ditto
3226         (gopt_print_version): free version string after using it
3228         * amd/autil.c (mf_mounted): free mntfs->mf_fo instead of leaking
3229         it
3231         * amd/amfs_generic.c (amfs_lookup_one_mntfs): use the CALLOC macro
3232         (amfs_lookup_mntfs): free def_opts on return
3234         * amd/amd.c (daemon_mode): zero out struct sigaction before using
3235         it;
3236         (main): ditto
3238 2004-04-27  Ion Badulescu  <ionut@moisil.badula.org>
3240         * amd/amfs_generic.c (amfs_lookup_one_mntfs): force FS_MKMNT on
3241         the real mount of an autofs-based sublink
3243 2004-04-25  Ion Badulescu  <ionut@moisil.badula.org>
3245         * amd/map.c (free_map_if_success): avoid dereferencing a pointer
3246         to potentially freed memory
3248 2004-02-26  Erez Zadok  <ezk@cs.sunysb.edu>
3250         * minor new port: i386-unknown-freebsd5.2.1.
3252 2004-01-30  Ion Badulescu  <ion@guppy.limebrokerage.com>
3254         * scripts/ctl-hlfsd.in: don't run hlfsd with -D fork
3256 2004-01-25  Erez Zadok  <ezk@cs.sunysb.edu>
3258         * minor new port: sparc64-unknown-linux-deb3.0
3260         * config.guess.long: recoognize Debian Linux.
3262 2004-01-22  Erez Zadok  <ezk@cs.sunysb.edu>
3264         * conf/transp/transp_tli.c (amu_get_myaddress): use
3265         htonl(INADDR_LOOPBACK) and define INADDR_LOOPBACK if not already
3266         available.
3268 2004-01-21  Erez Zadok  <ezk@cs.sunysb.edu>
3270         * wire-test/wire-test.c, hlfsd/hlfsd.c (main): pass NULL as second
3271         parameter to amu_get_myaddress().
3273         * conf/transp/transp_tli.c (amu_get_myaddress): resolve value of
3274         localhost_address amd.conf parameter, if defined (else default to
3275         HOST_SELF_CONNECT).
3276         Removed htonl() around socket address copying (I think it was
3277         wrong) since plog("My IP address is...") in amd.c was printing
3278         addresses wrong on Solaris x86..
3280         * conf/transp/transp_sockets.c (amu_get_myaddress): comment out
3281         old DEBUG code that warns if 127.0.0.1 isn't the same as what
3282         get_myaddress() reports.  Add code to resolve value of
3283         localhost_address amd.conf parameter, if defined (else default to
3284         127.0.0.1).
3286         * amd/conf.c (gopt_localhost_address): new function to parse
3287         amd.conf parameter localhost_address.
3289         * amd/amd.h: global field to store amd.conf localhost_address
3290         parameter.
3292         * amd/amd.c (main): call amu_get_myaddress with global option,
3293         which could have been set in amd.conf.
3295         * NEWS, doc/am-utils.texi, scripts/amd.conf-sample,
3296         scripts/amd.conf.5: document new option localhost_address.
3298 2004-01-20  Ion Badulescu  <ionut@moisil.badula.org>
3300         * amd/conf.c (gopt_nfs_allow_insecure_port): support function for
3301         the new "nfs_allow_insecure_port" amd.conf directive
3303         * amd/nfs_prot_svc.c (nfs_program_2): complain about the insecure
3304         port and drop the request only if the "nfs_allow_insecure_port"
3305         option is not set in amd.conf
3307         * doc/am-utils.texi (Global Parameters): documented the new
3308         amd.conf directive "nfs_allow_insecure_port"
3310         * scripts/amd.conf.5 (nfs_allow_insecure_port): ditto
3312         * scripts/amd.conf-sample (nfs_allow_insecure_port): added the
3313         "nfs_allow_insecure_port" directive
3315 2004-01-20  Erez Zadok  <ezk@cs.sunysb.edu>
3317         * doc/am-utils.texi: amd-workers is defunct.
3319 2004-01-19  Erez Zadok  <ezk@cs.sunysb.edu>
3321         * cvs-server.txt: updated instructions
3323 2004-01-18  Erez Zadok  <ezk@cs.sunysb.edu>
3325         * minor new port: i386-unknown-freebsd5.2.
3327 2004-01-05  Erez Zadok  <ezk@cs.sunysb.edu>
3329         * MIRRORS.{txt,html}: verify each mirror site, update to new
3330         locations (if found), and remove stale mirrors URLs.
3332         * updated copyright year to 2004 on all files.
3334 2004-01-03  Erez Zadok  <ezk@cs.sunysb.edu>
3336         * MIRRORS.txt: track status.
3338         * Makefile.am (install-snapshot): new directory to install
3339         snapshots (now that am-utils home page is moved).
3341 2004-01-02  Erez Zadok  <ezk@cs.sunysb.edu>
3343         * INSTALL, README.autofs: remove forced text-mode.
3345         * doc/am-utils.texi: fix Amd book URL.
3347         * Makefile.am (EXTRA_DIST): include new mirror files in tarball.
3349         * AUTHORS, BUGS, README, README.y2k, configure.in,
3350         doc/am-utils.texi: revisions to use newer URLs for Web site, FTP,
3351         and mailing lists.
3353         * MIRRORS.{html,txt}: updates.
3355         * doc/Makefile.am: install mirror lists officially.
3357 2004-01-01  Erez Zadok  <ezk@cs.sunysb.edu>
3359         * tasks: things to do after migrating ftp/Web sites.
3361 2003-12-09  Erez Zadok  <ezk@cs.sunysb.edu>
3363         * fsinfo/fsinfo.8: fixed typo (unbalanced []) in man page.  Bug
3364         report from Eric S. Raymond <esr@thyrsus.com>.
3366 2003-11-18  Erez Zadok  <ezk@cs.sunysb.edu>
3368         * Makefile.am (EXTRA_DIST_M4): exclude removed file
3369         m4/macros/struct_nfs_fh3.m4 from distro.
3371 2003-10-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3373         * libamu/xdr_func.c (xdr_am_nfs_fh3): Use AM_FHSIZE3 instead of
3374         FHSIZE3 (may be undefined).
3376 2003-10-24  Ion Badulescu  <ion@guppy.limebrokerage.com>
3378         Compile fix for Solaris7 with LDAP:
3380         * include/am_defs.h: moved the ldap headers before am_nfs_prot.h
3381         to facilitate using ldap types in it
3383         * conf/nfs_prot/nfs_prot_sunos5_7.h: add a couple of ldap
3384         definitions that Sun left out of their headers
3386 2003-10-24  Ion Badulescu  <ionut@moisil.badula.org>
3388         * conf/nfs_prot/nfs_prot_*.h: remove all NFSv3-related
3389         definitions, they are now defined globally
3391         * libamu/xdr_func.c: unconditionally define all xdr functions
3392         needed for NFSv3, but with an am_ prefix to prevent namespace
3393         collisions
3395         * amd/amfs_host.c, amd/ops_nfs.c, amd/srvr_nfs.c,
3396         libamu/mount_fs.c: added the am_ prefix to all
3397         structures and functions having to do with NFSv3 to prevent
3398         namespace collisions
3400         * include/am_utils.h: moved definition of am_nfs_handle to ...
3402         * include/am_xdr_func.h: ... here. Also define AM_FHSIZE3,
3403         am_nfs_fh3, AM_NFSPROC3_LOOKUP, am_nfsstat3, am_fhandle3,
3404         am_mountstat3, am_mountres3_ok, am_mountres3, am_filename3,
3405         am_diropargs3, am_LOOKUP3args, am_LOOKUP3resok, am_LOOKUP3resfail,
3406         am_LOOKUP3res here; remove cross-platform compile helper macros
3407         AMU_LOOKUP3RES_*.
3409         * include/am_defs.h: include am_xdr_func.h before am_utils.h to
3410         provide definitions for NFS filehandles
3412         * amd/amd.h: removed declaration for xdr_mountres3
3414         * doc/am-utils.text: minor warning fix
3416         * BUGS: document the autoconf warnings when trying to compile
3417         system header files in isolation
3419 2003-10-23  Ion Badulescu  <ionut@moisil.badula.org>
3421         * m4/macros/struct_nfs_fh3.m4: removed, not needed
3423         * configure.in: check if struct mounta has the optptr field;
3424         removed all NFSv3-related checks, we implement everything
3425         internally now
3427         * conf/autofs/autofs_solaris_v2_v3.c (autofs_mount_2_free): don't
3428         touch mnt->optptr unless HAVE_MOUNTA_OPTPTR is defined
3430 2003-10-22  Ion Badulescu  <ionut@moisil.badula.org>
3432         * m4/macros/struct_nfs_fh3.m4: removed, not used anymore
3434         * libamu/xdr_func.c (xdr_am_nfs_fh3): update xdr_am_nfs_fh3
3435         comments
3437         * configure.in: don't check for xdr_nfs_fh3 and struct nfs_fh3, we
3438         always use our own
3440 2003-10-22  Ion Badulescu  <ion@guppy.limebrokerage.com>
3442         * BUGS: document the limitations of bind mounts on Linux
3444 2003-10-21  Ion Badulescu  <ionut@moisil.badula.org>
3446         * buildall: added support for -i (make install)
3448 2003-10-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3450         * NEWS: New minor port i386-pc-solaris2.10 (Solaris 10).
3451         * INSTALL: Mention its test status.
3453 2003-10-16  Erez Zadok  <ezk@cs.sunysb.edu>
3455         * amd/ops_nfs.c (nfs_init): declare as static to match forward
3456         definition at top of file.
3458         * conf/nfs_prot/nfs_prot_{hpux11, netbsd1_4,openbsd,aix5_2}.h:
3459         added missing definitions for LOOKUP3res, diropargs3, etc.
3461 2003-10-15  Erez Zadok  <ezk@cs.sunysb.edu>
3463         * libamu/xdr_func.c (xdr_LOOKUP3res, xdr_am_nfs_fh3),
3464         libamu/mount_fs.c (compute_nfs_args), amd/ops_nfs.c
3465         (got_nfs_fh_mount, got_nfs_fh_webnfs, prime_nfs_fhandle_cache,
3466         webnfs_lookup), amd/amfs_host.c (fetch_fhandle): Attempt to
3467         cleanup some inconsistencies with how we treat NFSv3 file handles.
3468         Whenever we need to get data out of a filehandle given to us, we
3469         assume that it uses the OS's native fhandle structure
3470         (often struct nfs_fh3).  When we store the fhandle data for our
3471         own use, however, we store it in one of two ways.  The first, is
3472         that we use the system's default nfs_fh3 structure; the second is
3473         that we define out own struct am_nfs_fh3 in nfs_prot.h (and go
3474         through an elaborate autoconf song-and-dance to "discover" it as a
3475         native fh3 handle structure).  It appears that we do the latter,
3476         instead of using the system's default fhandle structure, simply to
3477         avoid extra malloc's and free's, because whereas nfsv2's fhandle
3478         structure is a simple 32-byte buffer, nfsv3's fhandle structures
3479         often just define a "char *" for the fhandle data, and the caller
3480         must malloc/free the space inside as needed.  Our code was never
3481         written with constructor/destructor callbacks for these nfsv3
3482         filehandles.  Moreover, we carefully wrote our own am_nfs_fh3
3483         structure so IT JUST SO HAPPENS to align with most (hopefully all)
3484         of the fhandle structures for v3: first four bytes are the length
3485         fields and the next four bytes are the fhandle data.  Sigh.
3486         Having this inconsistent use of v3 filehandles can be a real bear,
3487         because we simply cannot avoid using the system's default fhandle
3488         structure indirectly, through things like diropargs3 in
3489         xdr_diropargs3(), which has inside of it a reference to the
3490         system's default nfs_fh3 structure.  ANYWAY, the current fix I've
3491         come up with is to generalize the way we dereference field names
3492         within the nfs_fh3 structure (whether ours or the system's) and
3493         the same for the system's LOOKUP3res structure.  I'm not pleased
3494         with this fix; I'd rather we don't use our own am_nfs_fh3
3495         structure at all.
3497         * libamu/xdr_func.c (xdr_am_nfs_fh3): always define this
3498         function if we have NFS3, because we often use our own,
3499         incompatible am_nfs_fh3 structure.
3501         * include/am_xdr_func.h: We cannot use the native system's
3502         xdr_nfs_fh3 because we are defining our own incompatible
3503         am_hfs_fh3 structure for some systems.
3505         * include/am_xdr_func.h: Define default values for field names of
3506         struct nfs_fh3 and LOOKUP3res.
3508         * doc/am-utils.texi (debug_options Parameter): minor typo fixed.
3510         * conf/nfs_prot/nfs_prot_freebsd3.h: FreeBSD uses different fields
3511         names for struct nfs_fh3 and LOOKUP3res, so override the default
3512         names here.
3514         * configure.in: AMU_CHECK_FS_MNTENT(nfs3) test before
3515         AMU_STRUCT_NFS_FH3, because the latter depends on the former.
3517         * amd/ops_nfs.c (prime_nfs_fhandle_cache): add {} to disambiguate
3518         and clarify if-the-else clauses.
3520 2003-10-13  Ion Badulescu  <ionut@moisil.badula.org>
3522         * amd/get_args.c (get_version_string): change "Built by" to
3523         "Configured by", and add a new "Built by" line using the variables
3524         below
3526         * m4/update_build_version (vers): add BUILD_USER, BUILD_HOST, and
3527         BUILD_DATE to build_version.h
3529         * amd/mntfs.c (locate_mntfs): fix restarted filesystems: mf_fo
3530         must be initialized even for them, otherwise we lose opt_sublink
3531         (and perhaps other options as well). Report from Rainer Orth.
3533         * amd/amfs_generic.c (amfs_bgmount): The fix for the mf_fo NULL
3534         pointer dereferencing was a bit too aggressive and could end up
3535         not processing the sublink option if the filesystem was already
3536         mounted.
3538 2003-10-11  Ion Badulescu  <ionut@moisil.badula.org>
3540         Fix restarted filesystem by disabling the amfs_inherit filesystem
3541         and moving the restarting logic into the generic code. The old
3542         code is still there, will be removed sometime in the near future.
3544         * amd/mntfs.c (locate_mntfs): disable amfs_inherit and simply
3545         return the pointer to the restarted filesystem
3546         (free_mntfs): check for the MFF_RESTART flag instead of the
3547         amfs_inherit ops
3549         * amd/autil.c (mf_mounted): remove the MFF_RESTART flag once the
3550         filesystem is in use
3552         * amd/amfs_nfsx.c (amfs_nfsx_init): only call fs_init() if the
3553         filesystem is not being restarted
3554         (amfs_nfsx_remount): if the filesystem is already mounted,
3555         short-circuit the code and just continue
3557         * amd/amfs_generic.c (amfs_bgmount): only call fs_init() if the
3558         filesystem is not being restarted; remove hack that was used to
3559         work around an amfs_inherit problem
3561 2003-10-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3563         Use WebNFS to obtain file handles for mount(2).
3565         * NEWS: Document WebNFS support.
3567         * configure.in: Check for public mount option.
3568         * include/am_compat.h (MNTTAB_OPT_PUBLIC): Define if missing.
3569         * doc/am-utils.texi (opts Option): Renamed webnfs to public,
3570         update description.
3572         * amd/amd.h (FSF_WEBNFS): New mntfs flag.
3573         * include/am_utils.h (RPC_XID_WEBNFS): New XID type.
3575         * amd/amfs_host.c (amfs_host_mount, amfs_host_umounted): Reject
3576         WebNFS mount/umount attempts.
3577         * amd/ops_nfs.c (got_nfs_fh_mount): Renamed from got_nfs_fh.
3578         (got_nfs_fh_webnfs): New function.
3579         (flush_nfs_fhandle_cache): Don't invalidate port for WebNFS servers.
3580         (prime_nfs_fhandle_cache): Likewise.
3581         Remove unconditional return of public file handle for WebNFS, but
3582         get NFS file handles via mountd or WebNFS instead.
3583         (webnfs_lookup): New function.
3584         (nfs_umounted): Don't inform mountd if MFF_WEBNFS.
3585         * amd/rpc_fwd.c (fwd_packet, fwd_reply): Send/receive WebNFS
3586         packets.
3587         * amd/srvr_nfs.c (recompute_portmap): Don't contact portmap for
3588         WebNFS servers.
3589         Mention host in info message.
3590         (find_nfs_srvr): Handle public mount option.
3591         Prefer NFSv3/tcp if the client supports it.
3592         Allow port mount option to override default or result from portmap
3593         lookup.
3595         * libamu/xdr_func.c (xdr_diropargs3, xdr_filename3,
3596         xdr_LOOKUP3args, xdr_LOOKUP3res, xdr_LOOKUP3resfail,
3597         xdr_LOOKUP3resok, xdr_nfs_fh3, xdr_nfsstat3): New functions.
3598         * include/am_xdr_func.h: Declare them.
3599         * configure.in: Check for them.
3600         * conf/nfs_prot/nfs_prot_linux.h: Provide missing NFSv3
3601         definitions and types.
3603 2003-10-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3605         Support IRIX 6 private mount option.
3607         * configure.in (AC_CHECK_MNTTAB_OPTS): Check for private option
3608         name string.
3609         (AC_CHECK_MNT2_NFS_OPTS): Check for private NFS mount option (IRIX 6).
3610         * aux/macros/header_templates.m4 (MNTTAB_OPT_PRIVATE,
3611         MNT2_NFS_OPT_PRIVATE): Provide templates.
3612         * include/am_compat.h (MNTTAB_OPT_PRIVATE): Define if missing.
3613         * doc/am-utils.texi (opts Option): Document it.
3615 2003-10-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3617         * doc/am-utils.texi (opts Option): Fix Tru64 UNIX name in proplist
3618         mount option.
3620 2003-10-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3622         * libamu/mount_fs.c (compute_nfs_args) [HAVE_NFS_ARGS_T_FH_LEN]:
3623         Don't reference removed fh3.
3625 2003-10-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3627         * NEWS: New minor port sparc-sun-solaris2.10 (Solaris 10).
3629         * INSTALL: Mention test status of various ports.
3630         Describe IRIX 6 autofs status.
3632 2003-10-09  Ion Badulescu  <ionut@moisil.badula.org>
3634         * NEWS: updated
3636         * amd/amfs_generic.c (amfs_bgmount): don't use mf_fo until after
3637         we've done all the tests and we know we have a valid and mountable
3638         mntfs. Otherwise we could end up dereferencing null pointers.
3640         * amd/amd.h: fixed a copy&paste comment bug
3642         * amd/am_ops.c (ops_match): minor code cleanup
3644         * doc/am-utils.texi: fixed various typos; added warning about the
3645         racy nature of nfsx; removed duplicated listing of debug options;
3646         added paragraph about signals supported by hlfsd; removed the long
3647         list of (maybe) supported platforms since it duplicates the list
3648         in INSTALL.
3650 2003-10-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3652         Simplify FD_SET etc. use.
3654         * include/am_defs.h (FD_SET, FD_ISSET, FD_CLR, FD_ZERO): Provide
3655         if missing.
3656         (rpc_pending_now, run_rpc): Use them.
3657         * configure.in: Check for fds_bits field in fd_set.
3658         * amd/nfs_start.c (run_rpc): Use it.
3660 2003-10-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3662         Improve RPC XID handling.
3664         * amd/rpc_fwd.c (fwd_packet, fwd_reply): Always log xid.
3665         Convert xid to/from host/network byte order.
3667 2003-10-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3669         Use NFS V2/V3 file handles instead of mount results.
3671         * include/am_utils.h (am_nfs_fhandle): Use NFS V2/V3 file handles
3672         only, not MOUNTPROC_MNT results.
3673         * amd/amfs_host.c (fetch_fhandle): Use local variables to store
3674         MOUNTPROC_MNT results.
3675         * amd/autil.c (amfs_mount): Use new am_nfs_fhandle_t.
3676         * amd/ops_nfs.c (struct fh_cache): New member fh_status.
3677         (got_nfs_fh): Use local variables to store MOUNTPROC_MNT results.
3678         Store MOUNTPROC_MNT errors in fh_status.
3679         (prime_nfs_fhandle_cache): Get fh_error from fh_status.
3680         * hlfsd/hlfsd.c (main): Use new am_nfs_fhandle_t.
3681         * libamu/mount_fs.c (compute_nfs_args): Copy NFS V2/V3 file
3682         handles straight from new am_nfs_fhandle_t.
3684 2003-10-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3686         * amd/clock.c (CID_ALLOC): Remove unused argument.
3687         (timeout): Likewise.
3689         * amd/ops_nfs.c (FHID_ALLOC): Remove unused argument.
3690         (prime_nfs_fhandle_cache): Likewise.
3691         (call_mountd): Use UDPMSGSIZE instead of magic constant.
3693         * amd/rpc_fwd.c (XID_ALLOC): Remove unused argument.
3694         (fwd_packet): Likewise.
3695         Handle TLOOK error from t_rcvudata().
3697 2003-09-30  Ion Badulescu  <ionut@moisil.badula.org>
3699         * NEWS: updated
3701         * libamu/mount_fs.c (mount_fs): don't try to recreate the mount
3702         point if the mount fails with ENOENT: in the best case we would be
3703         papering over a bug, and in the worst case we could cause a
3704         deadlock (with autofs). If there are races, they need to be
3705         exposed and fixed properly.
3707         * conf/autofs/autofs_solaris_v1.h,
3708           conf/autofs/autofs_solaris_v2_v3.h,
3709           conf/autofs/autofs_linux.h: (AUTOFS_NFSX_FS_FLAGS): autofs
3710         semantics don't allow us to mount nfsx directly onto an autofs
3711         mountpoint, so disallow it
3713         * amd/amfs_nfsx.c (amfs_nfsx_match): more restrictive sanity check
3714         to avoid trying to memmove(foo, bar, (unsigned)-1) due to invalid
3715         map entries...
3716         (amfs_nfsx_cont): amfs_retry does most of the cleanup work for us
3717         in the upper layer, so don't do anything else beside wakeup() on
3718         success
3719         (amfs_nfsx_remount): only create the mountpoints as we need them,
3720         avoids creating them on the wrong filesystem in the case of
3721         hierarchical mounts; fix crash-generating typo (m should really be
3722         mf and I swear I hate single-character variable names)
3724         * amd/amfs_generic.c (amfs_cont): one more dlog
3725         (amfs_bgmount): amazingly enough, even foreground mounts can be
3726         backgrounded (in the case of nfsx), so account for this
3727         possibility and permit retries
3729         * m4/macros/check_autofs_style.m4 (AMU_AUTOFS_PROT_HEADER): define
3730         and AC_SUBST it as ${top_builddir}/amu_autofs_prot.h
3732         * amd/Makefile.am ($(amd_OBJECTS) $(EXTRA_amd_OBJECTS)): depend on
3733         @AMU_AUTOFS_PROT_HEADER@
3735 2003-09-29  Erez Zadok  <ezk@urd.fsl.cs.sunysb.edu>
3737         * minor new port mipsel-unknown-linux-rhPS2 (Linux on Sony
3738         PlayStation 2)
3740         * amd/srvr_nfs.c (find_nfs_srvr): don't run code that expects
3741         "char protocols[]" unless MNTTAB_OPT_PROTO is defined.
3743 2003-09-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3745         Consolidate alloca support.
3747         * amd/amq_svc.c: Move alloca support ...
3748         * include/am_defs.h: ... here.
3749         * amd/conf_parse.y: Remove alloca support.
3750         * fsinfo/fsi_gram.y: Likewise.
3752 2003-09-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3754         Handle Solaris 10.
3755         * m4/macros/check_nfs_prot_headers.m4
3756         (AMU_CHECK_NFS_PROT_HEADERS): Don't use wildcards for
3757         sunos5.[0-3], solaris 2.[0-3], there were no micro releases.
3758         Explicitly match sunos5*, solaris2* for Solaris 8 and beyond.
3760         * m4/macros/os_cflags.m4 (AMU_OS_CFLAGS): Dont use wildcards for
3761         solaris2.[0-5], sunos5.[0-5], but explicitly handle Solaris 2.5
3762         micro releases to cope with Solaris 2.5.1.
3763         Explicitly match solaris2*, sunos5*.
3765 2003-09-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3767         * amd/amq_svc.c: Provide alloca prerequisites.
3769         * conf/transp/transp_tli.c (register_autofs_service): Fix typo.
3771 2003-09-23  Ion Badulescu  <ion@opteron.tower-research.com>
3773         * minor new port: x86_64-unknown-linux-rh2.9.5AS. (Red Hat
3774         Enterprise Linux 3.0 beta running on a 64-bit AMD64 platform)
3776 2003-09-22  Ion Badulescu  <ionut@buggy.badula.org>
3778         * conf/autofs/autofs_solaris_v1.c (autofs_mount_fs): compile fix
3780 2003-09-19  Ion Badulescu  <ionut@moisil.badula.org>
3782         * amd/amfs_nfsl.c (amfs_nfsl_match): checking opt_fs is not always
3783         enough, we should lstat() the sublink if it's defined.
3784         (amfs_nfsl_ffserver): ditto
3785         (ALL): Removed some obsolete comments. The nfsl code is now little
3786         more than a very straight-forward switch between link and nfs.
3788         * amd/amfs_link.c (amfs_link_match): more up-to-date explanation
3789         for the prepend-the-dot hack for type link; also, the sublink is
3790         already normalized and absolute, so take advantage of that
3792         * amd/amfs_generic.c (amfs_lookup_one_mntfs): the sublink is
3793         already normalized and absolute, so take advantage of that
3795         * amd/am_ops.c (ops_match): normalize the sublink here, early into
3796         the matching process
3798         * amd/autil.c (am_mounted): be consistent and accept both
3799         "nounmount" and "noumount" as pseudo mount options (same as
3800         "unmount" and "umount" nearby)
3802         * amd/Makefile.am (build_version.h): fixed dependencies (depends
3803         on amd_OBJECTS, not OBJECTS -- which doesn't even exist)
3805 2003-09-19  Erez Zadok  <ezk@dhcp8.fsl.cs.sunysb.edu>
3807         * amd/amq_subr.c (amqproc_export_1_svc): force double casting to
3808         avoid gcc-3.3 complaints on Solaris 9 about "dereferencing
3809         type-punned pointer will break strict-aliasing rules".
3811 2003-09-16  Ion Badulescu  <ionut@moisil.badula.org>
3813         * Released beta version 6.1b4
3815 2003-09-15  Ion Badulescu  <ionut@moisil.badula.org>
3817         * doc/am-utils.texi (opts Option): removed documentation for old
3818         ignore_portmapper mount option, documented the new webnfs option
3820         * NEWS: webnfs support
3822         * amd/srvr_nfs.c (find_nfs_srvr): set MFF_WEBNFS if the "webnfs"
3823         (former "ignore_portmapper") mount option is present
3825         * amd/ops_nfs.c (prime_nfs_fhandle_cache): generate a public
3826         filehandle (all zeros) if MFF_WEBNFS is set
3827         (nfs_umounted): don't talk to mountd if MFF_WEBNFS is set
3829         * amd/amd.h (MFF_WEBNFS): new flag, obvious meaning
3831 2003-09-13  Ion Badulescu  <ionut@moisil.badula.org>
3833         * amd/srvr_nfs.c: renamed np_xid to global_xid; sanitized the
3834         NPXID_ALLOC macro and renamed it to XID_ALLOC; renamed start_ping
3835         to create_ping_payload; renamed nfs_pinged to
3836         nfs_keepalive_callback; renamed nfs_timed_out to
3837         nfs_keepalive_timeout; renamed nfs_srvr_port to get_mountd_port;
3838         made ping_buf and ping_len arrays with one element for each
3839         supported nfs version
3841         * amd/amd.h: renamed nfs_srvr_port() to get_mountd_port()
3843         * amd/amfs_host.c (amfs_host_init): ditto
3845         * amd/ops_nfs.c (call_mountd): ditto
3847 2003-09-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3849         * BUGS: Mention fix for broken Solaris 8 <rpcsvc/autofs_prot.h>
3850         patches.
3852 2003-08-31  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
3854         * amd/autil.c (strealloc): don't call malloc_verify() unless it
3855         exists.
3857         * configure.in: move "OPTION PROCESSING" section (opt_debug etc.)
3858         after we figure out PROG_CC and other compiler features, because
3859         some of the option processing macros need a compiler to function.
3861         * libamu/xutil.c: don't define variables that won't be used unless
3862         mallinfo() and malloc_verify() exist.
3863         (real_plog): don't call checkup_mem unless
3864         mallocinfo() and malloc_verify() exist.
3865         (checkup_mem): don't define this function unless mallocinfo() and
3866         malloc_verify() exist.
3868         * m4/macros/opt_debug.m4: check for functions malloc_verify and
3869         mallinfo in general libraries and then in libmapmalloc and
3870         libmalloc.  These seem to have disappeared in FreeBSD 5.x.
3872         * libamu/xutil.c (dxfree): print pointer using %p
3874 2003-08-29  Erez Zadok  <ezk@a-opendarwin.fsl.cs.sunysb.edu>
3876         * configure.in: start 6.1b4-pre officially (belated)
3878         * minor new port: i686-apple-darwin6.6
3880 2003-08-27  Ion Badulescu  <ionut@moisil.badula.org>
3882         * conf/autofs/autofs_solaris_v1.c: convert relative targets to
3883         absolute paths when using lofs mounts
3885         * conf/autofs/autofs_solaris_v2_v3.c: ditto
3887         * conf/autofs/autofs_linux.c: ditto
3889 2003-08-27  Ion Badulescu  <ionut@buggy.badula.org>
3891         * README.autofs: added a paragraph about the resource consumption
3892         of auto maps over autofs
3894         * amd/amfs_generic.c (amfs_lookup_one_mntfs): moved the setting of
3895         the MFF_IS_AUTOFS flag from init_mntfs() to
3896         amfs_lookup_one_mntfs(), where it belongs
3898         * amd/mntfs.c (init_mntfs): ditto
3900 2003-08-27  Ion Badulescu  <ion@guppy.limebrokerage.com>
3902         * amd/ops_nfs.c (got_nfs_fh): make the error EACCES if we are
3903         denied a filehandle by the server (used to be EIO)
3905 2003-08-27  Erez Zadok  <ezk@a-bsdi42.fsl.cs.sunysb.edu>
3907         * conf/nfs_prot/nfs_prot_bsdi3.h: support na_uid and na_gid.
3909 2003-08-27  Ion Badulescu  <ionut@moisil.badula.org>
3911         * conf/autofs/autofs_linux.c (autofs_mount_succeeded): force
3912         daemon-initiated timeouts on autofs filesystems, since apparently
3913         they appear as "always busy" to the kernel-based expiration routine
3915 2003-08-26  Ion Badulescu  <ionut@buggy.badula.org>
3917         * NEWS: updated
3919         * conf/autofs/autofs_linux.h (AUTOFS_LINK_FS_FLAGS): remove
3920         FS_ON_AUTOFS
3921         (AUTOFS_LINKX_FS_FLAGS): ditto
3923         * conf/autofs/autofs_solaris_v1.h (AUTOFS_LINK_FS_FLAGS): remove
3924         FS_ON_AUTOFS
3925         (AUTOFS_LINKX_FS_FLAGS): ditto
3927         * conf/autofs/autofs_solaris_v2_v3.h (AUTOFS_LINK_FS_FLAGS): remove
3928         FS_ON_AUTOFS
3929         (AUTOFS_LINKX_FS_FLAGS): ditto
3931         * amd/amfs_generic.c (amfs_lookup_one_mntfs): don't modify the
3932         original opt_fs, instead store the new mount point for autofs in a
3933         temporary variable and pass it around. Fixes a problem with the
3934         link side of nfsl.
3936 2003-08-25  Ion Badulescu  <ionut@moisil.badula.org>
3938         * NEWS: updated
3940         * amd/ops_nfs.c (prime_nfs_fhandle_cache): use get_mntfs_wchan to
3941         initialize the fh_wchan member of the cache entry
3942         (prime_nfs_fhandle_cache): use get_mntfs_wchan for the wchan_t
3943         argument of call_mountd()
3945         * amd/map.c (free_map_if_success): use get_mntfs_wchan for the
3946         wchan_t argument of wakeup()
3948         * amd/amfs_nfsx.c (amfs_nfsx_cont): use get_mntfs_wchan for the
3949         wchan_t argument of wakeup_task() and wakeup()
3951         * amd/amfs_host.c (amfs_host_init): use get_mntfs_wchan for the
3952         wchan_t argument of nfs_srvr_port()
3954         * amd/amfs_generic.c (ALL): use get_mntfs_wchan for the wchan_t
3955         argument of sched_task() and wakeup()
3956         (amfs_retry): minor cleanup
3957         (amfs_bgmount): call nfs_quick_reply on failure
3959         * amd/sched.c (get_mntfs_wchan): new function which calls the
3960         member function get_wchan if defined, otherwise returns the mntfs
3961         pointer itself
3963         * amd/amfs_inherit.c (amfs_inherit_get_wchan): new function,
3964         calls get_mntfs_wchan() on the inherited filesystem
3966         * amd/amfs_*.c, amd/ops_*.c: initialize the new get_wchan member
3967         of the ops to 0
3969         * amd/amd.h: new function type vget_wchan
3970         (struct mntfs): new member get_wchan which returns the waiting
3971         channel associated with the mntfs (normally itself)
3973 2003-08-22  Ion Badulescu  <ion@guppy.limebrokerage.com>
3975         * conf/mount/mount_linux.c (parse_opts): minor cleanup
3977         * conf/autofs/autofs_linux.c (autofs_handle_fdset): added missing
3978         break in case autofs_ptype_expire_multi
3980 2003-08-22  Ion Badulescu  <ionut@moisil.badula.org>
3982         * conf/autofs/autofs_solaris_v1.h: undefine autofs support if
3983         autofs_args_t cannot be determined (hopefully fixes a reported
3984         IRIX 6.5.4 problem).
3986         * conf/autofs/autofs_solaris_v1.c: wrap entire file in #ifdef
3987         HAVE_FS_AUTOFS / #endif (see above)
3989         * conf/autofs/autofs_linux.h: undefine autofs support if the
3990         necessary header files are not found (fixes a reported RedHat 6.2
3991         Sparc problem).
3993         * conf/autofs/autofs_linux.c: wrap entire file in #ifdef
3994         HAVE_FS_AUTOFS / #endif (see above)
3996         * libamu/mount_fs.c (compute_nfs_args): only use MNT2_NFS_OPT_SOFT
3997         if autoconf detected it (fixes a reported RedHat 6.2 Alpha problem).
3999         * amd/map.c (unmount_mp, unmount_exported): move the code that
4000         changes the fattr from NFLNK to NFDIR from unmount_mp to
4001         unmount_exported, it was causing troubles (ESTALE) after failed
4002         unmounts. This is still very very unclean, but it's the same as the
4003         old 6.0 code.
4005 2003-08-22  Nick Williams <Nick.Williams@morganstanley.com>
4007         * amd/info_ldap.c (amu_ldap_init): don't try to pass a null
4008         pointer as a string to plog, Solaris (and other OS's) don't like
4009         it and will dump core.
4011 2003-08-13  Ion Badulescu  <ion@guppy.limebrokerage.com>
4013         * amd/amd.h: introduced two new types, wchan_t and opaque_t, as
4014         aliases of voidp. This makes reading the code easier on the eyes. :)
4016         * ALL: replace various instances of voidp with wchan_t and
4017         opaque_t, as appropriate
4019 2003-08-13  Ion Badulescu  <ionut@nicu.badula.org>
4021         * NEWS, configure.in: bumped version up to 6.1b4-pre
4023 2003-08-13  Ion Badulescu  <ionut@moisil.badula.org>
4025         * Released beta version 6.1b3
4027 2003-08-13  Ion Badulescu  <ion@guppy.limebrokerage.com>
4029         * conf/autofs/autofs_linux.c (autofs_mount_fs): HACK: always use
4030         symlinks for host mounts; assorted fixes for the symlink mode
4032 2003-08-05  Ion Badulescu  <ionut@moisil.badula.org>
4034         * conf/umount/umount_default.c (umount_fs): enable space hack
4035         handling for autofs v1
4037         * amd/map.c (get_first_exported_ap, get_next_exported_ap): new
4038         functions that facilitate iterating through the list of
4039         mountpoints
4041         * amd/amfs_union.c (amfs_union_mounted): use get_first_exported_ap
4042         and get_next_exported_ap
4044         * conf/autofs/autofs_solaris_v2_v3.c (autofs_unmount_2_req): ditto
4046 2003-08-04  Erez Zadok  <ezk@ulkesh.dyn.optonline.net>
4048         * configure.in: check if system stores mount tables in files
4049         (usually in /etc), and configure couldn't find a definition for
4050         either struct mntent or struct mnttab.  If so, abort configure
4051         because this could be a new/misconfigured system, or a bug in
4052         am-utils.
4054 2003-08-04  Ion Badulescu  <ionut@moisil.badula.org>
4056         * conf/autofs/autofs_solaris_v2_v3.c (autofs_umount_fs): fix
4057         compile warning
4059 2003-08-04  Ion Badulescu  <ionut@buggy.badula.org>
4061         * conf/autofs/autofs_linux.c (autofs_mount_fs): don't call
4062         ops->mount_fs() for an already mounted filesystem
4063         (autofs_umount_fs): only call ops->umount_fs() if we're holding
4064         the last reference to the filesystem
4066         * conf/autofs/autofs_solaris_v1.c (autofs_mount_fs): ditto
4067         (autofs_umount_fs): ditto
4069         * conf/autofs/autofs_solaris_v2_v3.c (autofs_mount_fs): ditto
4070         (autofs_umount_fs): ditto
4072         * amd/amfs_generic.c (amfs_lookup_mntfs): remove the shortcut for
4073         already-mounted filesystems
4074         (amfs_cont): only release the autofs_fh if the filesystem is not
4075         mounted; add another comment about the NFS_SCALEDOWN hack
4076         (amfs_bgmount): if the mntfs is already mounted, skip just the
4077         filesystem initialization, but do call mount_node()
4079         * amd/map.c (mount_node): always call autofs_mount_fs(), but only
4080         call ops->mount_fs() if the mntfs is not yet mounted
4081         (unmount_node): always call autofs_umount_fs(), but only call
4082         ops->umount_fs() if the refcount on the mntfs equals 1.
4084 2003-08-02  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
4086         * conf/nfs_prot/nfs_prot_openbsd.h: include <ufs/ufs/ufsmount.h>
4087         here with the proper workarounds for openbsd3.3 (define MAXQUOTAS,
4088         define dummy struct netexport, and include <ufs/ufs/extattr.h>
4089         wrapped in _KERNEL).
4091         * conf/nfs_prot/nfs_prot_freebsd3.h: include <ufs/ufs/ufsmount.h>
4092         here with the proper workarounds for freebsd5.1 (define dummy
4093         struct ufs_extattr_per_mount).
4095         * conf/nfs_prot/nfs_prot_bsdi2.h: include <ufs/ufs/ufsmount.h>
4096         here with the proper workarounds for bsdi2 (define MAXQUOTAS and
4097         dummy struct netexport).
4099         * include/mount_headers1.h: do not include <ufs/ufs/ufsmount.h>
4100         here, b/c every *BSD system has some sort of problem in including
4101         this header file, which includes ugly workarounds.  Inclusion of
4102         this header was already moved out of am_defs.h (used to compile
4103         amd), but we forgot to move it out of mount_headers1.h (used to
4104         configure).  The specific inclusion of ufsmount.h is now in the OS
4105         specific nfs_prot.h file.
4107         * configure.in: if configure could not find any definition for
4108         "struct nfs_args", abort configure with an explanatory message.
4109         There's no point in continuing, as this could be a system bug,
4110         buggy am-utils, or a new system to which am-utils wasn't ported to
4111         yet.
4113         * minor new port: i386-pc-solaris2.9
4115 2003-08-01  Ion Badulescu  <ionut@buggy.badula.org>
4117         * doc/am-utils.texi (NFS-Link Filesystem): make the documentation
4118         match the code (as well as basic logic operations: the negation of
4119         'a or b' is 'not a and not b', not 'not a or not b')
4121 2003-08-01  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
4123         * minor new port: i386-unknown-openbsd3.3.
4125         * m4/macros/check_libwrap_severity.m4: new macro to check if
4126         libwrap includes the integer variables deny_severity and
4127         allow_severity, since some libwrap implementations do and others
4128         don't.  The test tries to compile and run a simple empty main()
4129         program, then the same program while defining these two variables:
4130         comparing the results of the two tests, we can tell whether we
4131         should define NEED_LIBWRAP_SEVERITY_VARIABLES.
4133         * Makefile.am (EXTRA_DIST_M4): distribute new macro
4134         check_libwrap_severity.m4.
4136         * m4/macros/header_templates.m4: template for HAVE_LIBWRAP (which
4137         we must define explicitly since we've overridden the
4138         action-if-found in AC_CHECK_LIB(wrap).  Also template for
4139         NEED_LIBWRAP_SEVERITY_VARIABLES.
4141         * amd/amq_svc.c: if libwrap does not include the severity
4142         variables, then define and initialize them here.
4144         * amd/Makefile.am (LIBS): explicitly include @WRAPLIB@ only for
4145         Amd binary.  Other am-utils binaries don't need -lwrap.
4147         * configure.in: if libwrap is found, only define it in @WRAPLIB@,
4148         so we don't automatically link every am-utils binary with -lwrap.
4149         Run test for existence of severity variables in libwrap.
4151 2003-07-31  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
4153         * conf/nfs_prot/nfs_prot_openbsd.h: define struct fattr fields uid
4154         and gid.
4156         * configure.in: move check for AC_CHECK_LIB(libwrap) as far down
4157         as possible because on modern tcpwrapper systems such as openbsd,
4158         the caller must provide two symbols: deny_severity and
4159         allow_severity, which determine the logging level of rejected and
4160         requested requests, respectively.  If this check happens too
4161         early, then $LIBS includes -lwrap, which causes many subsequent
4162         tests that need to run a compiled program to fail with missing
4163         symbols.
4165         * m4/macros/header_templates.m4: fix typo in template for
4166         readdirplus.
4168         * configure.in: check for <ufs/ufs/extattr.h> (OpenBSD 3.3)
4170         * minor new port: i386-unknown-netbsdelf1.6.1.
4172         * configure.in: save state before system-specific tests are run.
4174         * m4/macros/check_gnu_getopt.m4: do NOT abort ./configure just
4175         because the compiled test program failed to run.
4177 2003-08-01  Ion Badulescu  <ionut@buggy.badula.org>
4179         * NEWS, README.autofs: updated
4181         * libamu/mount_fs.c (mount_fs): added support for the space hack
4183         * doc/am-utils.texi: mention than UFS/XFS/EFS/CacheFS filesystems
4184         are not expired by default; correct and expand the section
4185         describing the program filesystem
4187         * conf/autofs/autofs_solaris_v2_v3.h (AUTOFS_*_FS_FLAGS): add
4188         FS_ON_AUTOFS for supported filesystems
4190         * conf/autofs/autofs_solaris_v2_v3.c (autofs_mount_fs): call
4191         mf->mount_fs()
4192         (autofs_umount_fs): call mf->umount_fs()
4194         * conf/autofs/autofs_solaris_v1.h (autofs_strdup_space_hack): add
4195         prototype for malloc()
4196         (AUTOFS_*_FS_FLAGS): lose the FS_MKMNT flags, add FS_ON_AUTOFS for
4197         supported filesystems
4199         * conf/autofs/autofs_solaris_v1.c (autofs_mount_fs): add support
4200         for the space hack; call mf->mount_fs()
4201         (autofs_umount_fs): add support for the space hack; call
4202         mf->umount_fs()
4203         (autofs_mount_succeeded): add support for the space hack
4205         * conf/autofs/autofs_linux.h: lose the FS_MKMNT flags, add
4206         FS_ON_AUTOFS for supported filesystems
4208         * conf/autofs/autofs_linux.c (AUTOFS_MAX_VERSION): define to
4209         AUTOFS_MAX_PROTO_VERSION instead of hardcoding to 4
4210         (autofs_mounted): host mounts are now supported on all autofs
4211         versions, remove the hack to turn it off on v3
4212         (autofs_mount_fs): call mf->mount_fs(), create/remove mountpoints
4213         as needed
4214         (autofs_umount_fs): call mf->umount_fs(), remove mountpoints on
4215         success
4216         (ALL): use '#if AUTOFS_MAX_VERSION >= 4' instead of
4217         '#ifdef autofs_ptype_expire_multi'
4219         * amd/map.c (mount_node): autofs_mount_fs() now calls
4220         mf->mount_fs() internally
4221         (unmount_node): autofs_umount_fs() now calls mf->umount_fs()
4222         internally
4224         * amd/autil.c (am_mounted): minor cleanup
4226         * amd/amfs_program.c (amfs_program_ops): added FS_MKMNT to
4227         nfs_fs_flags
4229         * amd/amfs_generic.c (amfs_lookup_one_mntfs): use the FS_ON_AUTOFS
4230         flag instead of hardcoding filesystem types
4231         (amfs_bgmount): better mount_type logging
4233         * amd/amd.h (FS_ON_AUTOFS): new flag which tells the code that
4234         this filesystem can be mounted directly onto an autofs mountpoint
4236 2003-07-31  Ion Badulescu  <ionut@buggy.badula.org>
4238         * amd/amfs_nfsl.c (amfs_nfsl_umount): fix copy&paste error (was
4239         calling amfs_link_ops.umount_fs() for NFS filesystems)
4240         (amfs_nfsl_umounted): remove rmdirs() hack, it is now handled
4241         properly elsewhere
4242         (amfs_nfsl_ffserver): remove FS_MKMNT from mf_fsflags if we're
4243         using link (not NFS)
4245 2003-07-31  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4247         * README.autofs: Correct IRIX spelling.
4248         AutoFS support exists only on IRIX 6.
4249         Update IRIX 6 status.
4251         Allow AutoFS V1 support to compile on IRIX 6.
4252         * conf/autofs/autofs_solaris_v1.c (autofs_mount_1_req): Add
4253         SVCXPRT * arg.
4254         Remove superfluous \n from dlog messages.
4255         (autofs_unmount_1_req): Likewise.
4256         Switch to get_exported_ap.
4257         (autofs_program_1): Invoke handlers with additional transp arg.
4258         * conf/autofs/autofs_solaris_v1.h: Use autofs_args_t to define
4259         autofs_fh_t, struct auto_args doesn't exist on IRIX 6.
4261         * conf/mount/mount_irix6.c (mount_irix) [HAVE_FS_AUTOFS]: Support
4262         AutoFS mounts.
4263         [HAVE_FS_LOFS]: Likewise for lofs mounts.
4265         * conf/nfs_prot/nfs_prot_irix6.h (AUTOFS_CONFTYPE): Define.
4266         Don't disable AutoFS support any more.
4268         * conf/transp/transp_sockets.c [HAVE_FS_AUTOFS && AUTOFS_PROG]
4269         (register_autofs_service): Define autofs_xprt.
4271         * m4/macros/check_autofs_style.m4 (AMU_CHECK_AUTOFS_STYLE): Update
4272         Solaris 8+ comment to mention AutoFS V4.
4273         (irix6*): Enable AutoFS V1 support on IRIX 6.
4275 2003-07-30  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
4277         * NEWS, doc/am-utils.texi, scripts/amd.conf.5: revised explanation
4278         of autofs_use_lofs.
4280 2003-07-30  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4282         * amd/ops_efs.c (efs_mount): Replace on_autofs arg with
4283         MFF_ON_AUTOFS flag.
4284         (efs_umount): Likewise.
4286 2003-07-30  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
4288         * conf/umount/umount_bsd44.c (umount_fs): convert to new way of
4289         unmounting which takes autofs into account.
4291 2003-07-30  Ion Badulescu  <ionut@moisil.badula.org>
4293         * ALL: renamed MFF_AUTOFS to MFF_IS_AUTOFS; removed mf_real_mount
4294         hack; pass a new on_autofs argument to mount/umount function,
4295         based on the MFF_ON_AUTOFS mntfs flag
4297         * NEWS, README.autofs: updated
4299         * scripts/amd.conf.5: document new option autofs_use_lofs
4301         * scripts/amd.conf-sample (autofs_use_lofs): document new option
4303         * m4/macros/check_autofs_style.m4 (am_utils_link_files): symlink
4304         the autofs header as amu_autofs_prot.h instead of slurping it into
4305         aux_conf.h
4307         * libamu/mount_fs.c (mount_fs): removed old stub, renamed
4308         mount_fs2 to mount_fs, added new argument on_autofs
4310         * doc/am-utils.texi (Direct Automount Filesystem): document
4311         problems with nfs direct mounts on modern kernels, document good
4312         autofs support for direct mounts on Solaris
4313         (autofs_use_lofs Parameter): document this new option
4314         (browsable_dirs Parameter): note that mount storms are avoided
4315         when using autofs
4317         * conf/umount/umount_bsd44.c (umount_fs): removed old stub,
4318         renamed umount_fs2 to umount_fs
4320         * conf/umount/umount_osf.c (umount_fs): removed old stub,
4321         renamed umount_fs2 to umount_fs, added new argument on_autofs
4323         * conf/umount/umount_default.c (umount_fs): ditto as above; return
4324         an error on ENOENT instead of faking success
4326         * conf/autofs/autofs_solaris_v2_v3.c (autofs_lookup_2_req): much
4327         simplified, now only consults the map for existance of the key and
4328         returns success if key is found
4329         (autofs_mount_2_req): request symlinks if CFM_AUTOFS_USE_LOFS is
4330         not on;
4331         (autofs_mount_2_free): implemented
4332         (autofs_unmount_2_req): use get_exported_ap() instead of
4333         referencing export_ap directly
4334         (autofs_mount_succeeded): remove code for replying to lookup
4335         requests, now only mount requests can end up here
4336         (autofs_mount_failed): ditto
4338         * conf/autofs/autofs_solaris_v1.h (AUTOFS_HOST_FS_FLAGS): removed
4339         FS_AUTOFS
4340         (AUTOFS_DIRECT_FS_FLAGS): added FS_DIRECTORY
4342         * conf/autofs/autofs_solaris_v2_v3.h (AUTOFS_HOST_FS_FLAGS): removed
4343         FS_AUTOFS
4344         (AUTOFS_DIRECT_FS_FLAGS): added FS_DIRECTORY
4345         (AUTOFS_LINK_FS_FLAGS): added FS_MBACKGROUND
4347         * conf/autofs/autofs_linux.c (autofs_bind_umount): new function,
4348         factored out of autofs_umount_fs()
4349         (autofs_mount_fs): renamed from autofs_link_mount() and expanded
4350         to deal with filesystems mounted indirectly (via lofs/bind
4351         mounts) on autofs and to observe the new CFM_AUTOFS_USE_LOFS flag
4352         (autofs_umount_fs): ditto, from autofs_link_umount()
4354         * conf/autofs/autofs_solaris_v1.c (autofs_mount_fs): ditto
4355         * (autofs_umount_fs): ditto
4357         * conf/autofs/autofs_solaris_v2_v3.c (autofs_mount_fs): ditto
4358         * (autofs_umount_fs): ditto
4360         * amd/opts.c: made fs_static static
4362         * amd/ops_nfs.c: made nfs_init, nfs_match, nfs_mount, nfs_umount
4363         and nfs_umounted static
4364         (mount_nfs_fh): removed unnecessary arguments
4366         * amd/ops_cachefs.c (cachefs_ops): use amfs_generic_find_srvr for
4367         the ffserver method, because using NULL causes problems
4369         * amd/ops_cdfs.c (cdfs_ops): ditto
4371         * amd/ops_efs.c (efs_ops): ditto
4373         * amd/ops_lofs.c (lofs_ops): ditto
4375         * amd/ops_pcfs.c (pcfs_ops): ditto
4377         * amd/ops_ufs.c (ufs_ops): ditto
4379         * amd/ops_xfs.c (xfs_ops): ditto
4381         * amd/nfs_subr.c (fh_to_mp3, fh_to_mp, mp_to_fh): moved here from
4382         map.c
4384         * amd/nfs_start.c: use get_exported_ap() instead of referencing
4385         exported_ap directly
4387         * amd/mntfs.c (locate_mntfs): new function, factored out of
4388         find_mntfs
4389         (locate_mntfs): special-case FS_DIRECT filesystems: for direct
4390         mounts we will have two filesystems mounted on the same m/p
4391         (realloc_mntfs): removed the old EZK hack for failovers
4393         * amd/map.c (get_exported_ap): new function that returns an
4394         exported_ap member by its index
4395         (root_node,exported_ap,exported_ap_size,first_free_map,last_used_map):
4396         made static
4397         (fh_to_mp3, fh_to_mp, mp_to_fh): moved to nfs_subr.c
4398         (get_root_ap): removed unused second argument
4399         (unmount_mp): moved the mk_fattr(NFDIR) here from umount_exported
4400         to catch more cases
4401         (mount_node): call autofs_mount_fs after ops->mount_fs for autofs
4402         nodes
4403         (unmount_node): call autofs_umount_fs before ops->umount_fs for
4404         autofs nodes
4406         * amd/conf.c: new global option "autofs_use_lofs", takes yes/no
4407         values
4409         * amd/autil.c (amfs_mount): take an extra argument (mf)
4410         (amfs_mount): call autofs_compute_mount_flags() for mounts
4411         directly on autofs m/p
4412         (am_unmounted): document and avoid the race between am_umounted()
4413         at shutdown time and amfs_cont()
4415         * amd/amfs_union.c (amfs_union_mounted): use get_exported_ap()
4416         instead of referencing internal map variables directly
4418         * amd/amq_subr.c (amqproc_export_1_svc): ditto
4420         * amd/amfs_toplvl.c (amfs_toplvl_ops): removed FS_AUTOFS from
4421         nfs_fs_flags
4422         (amfs_toplvl_mount): pass extra argument (mf) to amfs_mount()
4423         (amfs_toplvl_umount): refuse to attempt the unmount if the
4424         mountpoint is not a directory
4426         * amd/amfs_nfsx.c (amfs_nfsx_init): propagate the MFF_ON_AUTOFS
4427         flag into the nfs f/s at the bottom of the stack
4429         * amd/amfs_nfsl.c: call nfs and link member functions through
4430         their respective am_ops structures, not directly
4432         * amd/amfs_linkx.c (amfs_linkx_umount): new static stub
4434         * amd/amfs_link.c: made amfs_link_mount() and amfs_link_umount()
4435         static functions
4436         (amfs_link_mount): removed call to autofs_link_mount()
4437         (amfs_link_umount): removed call to autofs_link_umount()
4439         * amd/amfs_host.c (amfs_host_ops): removed FS_AUTOFS from
4440         nfs_fs_flags
4441         (do_mount): removed superfluous function arguments
4443         * amd/amfs_direct.c (amfs_direct_ops): removed FS_AUTOFS from
4444         nfs_fs_flags
4446         * amd/amfs_auto.c (amfs_auto_ops): removed FS_AUTOFS from
4447         nfs_fs_flags
4448         (amfs_auto_mount): pass extra argument (mf) to amfs_mount
4450         * amd/amd.h (CFM_AUTOFS_USE_LOFS): new flag, tells amd whether to
4451         use lofs-mounts or symlinks when mounting on autofs
4452         (CFM_DEFAULT_FLAGS): added CFM_AUTOFS_USE_LOFS
4453         (VLOOK_LOOKUP): new flag, will merely check if a key exists
4454         (MFF_IS_AUTOFS): renamed from MFF_AUTOFS
4455         (MFF_ON_AUTOFS): new flag, tells amd if a f/s is mounted directly
4456         on an autofs m/p, or indirectly via a lofs mount/symlink
4457         (fh_to_mp2): macro expanded throughout the code and removed
4458         (mntfs): removed mf_real_mount hack
4459         (autofs_mount_fs): renamed from autofs_link_mount
4460         (autofs_umount_fs): renamed from autofs_link_umount
4461         (mount_lofs): exposed
4462         various other cleanups, functions/variables made static and removed
4464         * aux_conf.h.in: removed @am_utils_autofs_style@, it is now
4465         included directly as amu_autofs_prot.h
4467 2003-07-24  Erez Zadok  <ezk@whitestar.dyn.optonline.net>
4469         * doc/am-utils.texi, scripts/amd.conf.5: document that
4470         use_tcpwrappers is "yes" by default.
4472         * amd/amd.c (init_global_options): set default global options.
4474         * amd/amd.h (CFM_DEFAULT_FLAGS): define default options which
4475         are always on (plock and use_tcpwrappers).
4477         * scripts/amd.conf-sample: reorganize values per option so default
4478         one is listed first.
4480 2003-07-23  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
4482         * tasks: trim old stuff.  Discuss new parser.
4484         * amd/conf.c (set_conf_kv): initialize the very first map in conf
4485         file from global defaults.  Bug fix which was introduced after
4486         conf.c code restructuring.
4488 2003-07-18  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
4490         * m4/macros/header_templates.m4: template for
4491         HAVE_EXTERN_HOSTS_CTL.
4493         * include/am_defs.h: define extern for hosts_ctl() if needed.
4495         * configure.in (AMU_CHECK_EXTERNS): check for extern definition
4496         for libwrap's hosts_ctl() (FreeBSD 5.0 doesn't have it).
4498         * m4/macros/check_extern.m4: include tcpd.h if it and libwrap exist.
4500 2003-07-18  Erez Zadok  <ezk@cs.sunysb.edu>
4502         * hlfsd/hlfsd.h: redundant extern for mboxfile removed.
4504         * amd/amq_svc.c (amq_program_1): only check for tcpwrappers if
4505         amd.conf global option use_tcpwrappers=yes.
4507         * scripts/amd.conf.5, scripts/amd.conf-sample (use_tcpwrappers),
4508         doc/am-utils.texi (use_tcpwrappers Parameter): document new
4509         amd.conf global option.
4511         * amd/conf.c (gopt_use_tcpwrappers): define a new amd.conf global
4512         option called use_tcpwrappers ("no" by default).
4514         * amd/amq_svc.c (amqsvc_is_client_allowed): include tcpd/libwrap
4515         code only if both libwrap and tcpd.h exist.
4516         (amq_program_1): log warning when an Amq service client is denied,
4517         and a debug message when a client is allowed.
4519         * amd/amd.h (CFM_USE_TCPWRAPPERS): define [global] amd.conf flag.
4520         (AMD_SERVICE_NAME): define AMD_SERVICE_NAME for tcpd/libwrap.
4522         * include/am_defs.h: include tcpd.h if available and libwrap
4523         available.
4525         * configure.in: check for tcpd.h.
4527 2003-07-18  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
4529         * scripts/expn.1, amd/amd.8 amq/amq.8, fixmount/fixmount.8,
4530         hlfsd/hlfsd.8, scripts/expn.1: remove ".PD 0" nroff command
4531         because it removes useful spaces in between paragraphs.  Based on
4532         smaller patch from Philippe Troin <phil@fifi.org>.
4534 2003-07-17  Philippe Troin  <phil@fifi.org>
4536         * amq/amq.8: Document the libwrap/amd behavior.
4538         * amd/amq_svc.c (libwrap_check_client): New function to validate
4539         an amq connection with libwrap.
4540         (amq_program_1): Call libwrap_check_client() and close the
4541         connection if libwrap does not allow it.
4543         * configure.in: Check for the tcp wrappers library.
4545 2003-07-17  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
4547         * amd/amq_subr.c (amqproc_mnttree_1_svc, amqproc_stats_1_svc,
4548         amqproc_getmntfs_1_svc, xdr_amq_mount_tree), hlfsd/hlfsd.c
4549         (hlfsd_init): cast pointers to void* before casting them to
4550         another type, to avoid gcc-3.3 -Wall warnings.
4552         * fsinfo/*.[hc]: rename fsinfo function log() to fsi_log(), to
4553         avoid conflict with builtin function in gcc-3.3.
4555 2003-07-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4557         * scripts/amd.conf-sample: Remove obsolete comment.
4559 2003-07-16  Erez Zadok  <ezk@cs.sunysb.edu>
4561         * amd/info_file.c (read_line): check for errors from fgets().
4562         Although rare, they can occur upon disk or network failures.
4563         Patch from Nick Williams <Nick.Williams@morganstanley.com>.
4565 2003-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4567         * BUGS (Solaris 8): Update patch revisions, mention old autofs
4568         patches, fix filenames and rpcgen command.
4570 2003-07-15  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
4572         * doc/am-utils.texi (map_defaults Parameter): document new
4573         map_defaults option.
4575         * scripts/amd.conf.5: document new map_defaults option.
4577         * scripts/amd.conf-sample (map_type): show examples of new
4578         map_defaults option.
4580         * amd/mapc.c (mapc_create): initialize mnt_map->cfm field to NULL.
4582         * amd/get_args.c (get_args): call process_all_regular_maps().
4584         * amd/conf.c: keep head and tail of cfm list.
4585         (init_cf_map): reworked reset_cf_map.  This one doesn't reset a
4586         globaly reused cfm, but rather just inherits [global] options.
4587         (set_conf_kv): just store global/map options without actually
4588         creating any mnt_map's.  Essentially, we now parse the whole
4589         amd.conf file, and then try to process the maps one at a time.
4590         (process_one_regular_map): new function to process one map, just
4591         renamed from process_regular_map.
4592         (process_all_regular_maps): new exported function to process all
4593         maps.  No need for hacky process_last_map().
4594         (find_cf_map): new exported function to return a cf_map_t given a
4595         map's mount point (e.g., /home or /net).
4597         * amd/amfs_generic.c (amfs_parse_defaults): find if amd.conf
4598         specificed a map_defaults for a given map.  If so, use that
4599         instead of the /defaults that came from the map itself.  Also
4600         restructure code a bit so it's not one huge long "if" statement.
4602         HACK ALERT: there's no easy way to find out what the map mount
4603         point is at this point, so I am forced to initialize the
4604         mnt_map->cfm field here for the first time, upon the very first
4605         search for a /defaults entry in this map.  This initialization is
4606         much better done in mapc_create(), but it's impossible to do that
4607         there with the current code structure.
4609         * amd/amd.h: struct cf_map becomes linked list.  struct mnt_map
4610         includes pointer to cf_map_t, amd.conf defaults and options for a
4611         given map. extern cleanups.
4613 2003-07-15  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
4615         * amd/info_hesiod.c (hesiod_search): It's not possible to have a
4616         key such as ".access" in a hesiod map as that would imply a null
4617         node in the DNS tree.  So a lookup for such a key must clearly
4618         fail.  With the current info_hesiod.c it does (after calling
4619         hes{,iod}_resolve) but returns an error that confuses some
4620         programs - eg. apache.  This patch shortcuts the process and just
4621         returns ENOENT for any key starting with ".".  Patch submitted by
4622         by Mark Davies <mark@mcs.vuw.ac.nz>.
4624         * include/am_utils.h (CALLOC): redefine macro to use xzalloc, not
4625         fsinfo's own xcalloc.
4627         * fsinfo/fsi_util.c (xcalloc): remove redundant function.
4629 2003-07-14  Erez Zadok  <ezk@cs.sunysb.edu>
4631         * include/am_compat.h (MNTTAB_OPT_XLATECOOKIE): The NetBSD
4632         xlatecookie NFS option doesn't work as MNTTAB_OPT_XLATECOOKIE is
4633         never defined.  Define it as needed.  Patch from Mark Davies
4634         <mark@mcs.vuw.ac.nz>.
4636 2003-07-14  Ion Badulescu  <lionut@gonzales.badula.org>
4638         * BUGS (Note): document the Solaris 8 bug (the upgrade to autofs
4639         v4 without updating all the header files)
4641 2003-07-13  Ion Badulescu  <lionut@gonzales.badula.org>
4643         * NEWS, tasks: updated
4645         * amd/amfs_generic.c (free_continuation): free _all_ mntfs's in
4646         the am_mfarray, unconditionally
4647         (amfs_bgmount): call free_mntfs when we're done with a mntfs, call
4648         dup_mntfs when starting processing of a new one; make sure we
4649         always go through 'goto failed' for a failed mntfs; use the error
4650         code returned by autofs_get_fh()
4652         * conf/autofs/autofs_linux.c (autofs_get_fh): return proper error
4653         codes in case of problems
4655 2003-07-13  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
4657         * BUGS: Document buggy behavior of Solaris /usr/ccs/bin/lex.  In
4658         short, use flex.
4660 2003-07-13  Erez Zadok  <ezk@a-hpux11.fsl.cs.sunysb.edu>
4662         * fsinfo/fsi_lex.l, amd/conf_tok.l: allocate more output slots so
4663         lex scanners don't run out of mem.
4665 2003-07-13  Ion Badulescu  <lionut@gonzales.badula.org>
4667         * amd/amfs_generic.c (amfs_lookup_mntfs): ditto as below for the
4668         special provision
4670         * amd/mntfs.c (find_mntfs): compare the filesystem type
4671         (i.e. mf_ops) in addition to mf_info; the special provision
4672         mentioned below is really for any filesystem already mounted on
4673         our mount point, not just for inherited filesystems
4675 2003-07-13  Erez Zadok  <ezk@whitestar.dyn.optonline.net>
4677         * doc/Makefile.am (install-html): build per-chapter HTML manual,
4678         as well as manual in one big HTML file.
4680         * doc/am-utils.texi: Minor corrections.  Ack Ion's autofs work.
4681         Ack maintainers.  New section on How to get additionl info,
4682         including the Amd book.  Correct stale URLs and Emails.
4684         * amd/amd.8, amq/amq.8, amq/pawd.1, fixmount/fixmount.8,
4685         fsinfo/fsinfo.8, hlfsd/hlfsd.8, mk-amd-map/mk-amd-map.8,
4686         scripts/amd.conf.5, scripts/automount2amd.8,
4687         wire-test/wire-test.8: include references to info pages, proper
4688         authors, am-utils Web page, and amd book.
4690 2003-07-13  Ion Badulescu  <lionut@gonzales.badula.org>
4692         * amd/mntfs.c (find_mntfs): re-add the check for mf_info, but with
4693         a special provision for inherited filesystems. This unbreaks the
4694         handling of parallel mounts
4696         * amd/amfs_generic.c (amfs_lookup_mntfs): for restarted
4697         filesystems, there can be no alternative mntfs to try to mount
4699 2003-07-13  Erez Zadok  <ezk@cs.sunysb.edu>
4701         * amd/amd.8: reference am-utils info page in amd man page, as per
4702         Thomas Klausner <wiz@danbala.ifoer.tuwien.ac.at>.
4704         * fsinfo/fsinfo.h, fsinfo/fsinfo.c (fsi_get_args): don't use
4705         yywrap() if it doesn't exist.
4707         * amd/conf_parse.y, amd/conf_tok.l, fsinfo/fsi_gram.y,
4708         fsinfo/fsi_lex.l: fixes to support old flex 2.5.4, as well as the
4709         newer flex 2.5.31 (beta development).  These include resolving
4710         conflicts with yylineno, unput() vs. nounput(), etc.
4712 2003-07-13  Ion Badulescu  <lionut@gonzales.badula.org>
4714         * amd/amfs_generic.c (amfs_cont): check for (am_error > 0) before
4715         calling assign_error_mntfs()
4716         (amfs_generic_mount_child): ditto
4718         * amd/autil.c (assign_error_mntfs): move the check for
4719         (am_error > 0) up into the caller, it's less confusing that way
4721         * tasks: some updates
4723         * conf/transp/transp_tli.c (check_pmap_up): new function which
4724         detects if the remote portmapper is functional
4725         (amu_clnt_create_best_version): removed
4726         (get_nfs_version): use a much simplified version of the old
4727         amu_clnt_create_best_version(), based on clnt_create_vers() and
4728         its _timed() counterpart
4730         * conf/transp/transp_sockets.c (check_pmap_up): new function which
4731         detects if the remote portmapper is functional
4732         (pmap_ping): deleted
4733         (get_nfs_version): removed calls to pmap_ping, already done by
4734         caller
4736         * amd/srvr_nfs.c: call check_pmap_up() before continuing with
4737         get_nfs_version()
4739         * amd/amfs_generic.c: updated a couple of log messages
4741         * configure.in: detect clnt_create_vers and clnt_create_vers_timed;
4742         changed LIBTOOL versioning to 3:0:0
4744 2003-07-12  Ion Badulescu  <lionut@gonzales.badula.org>
4746         * conf/autofs/autofs_linux.h (AUTOFS_HOST_FS_FLAGS): removed
4747         FS_AUTOFS because the host mount cannot be a top level mount
4748         (AUTOFS_DIRECT_FS_FLAGS): removed FS_AUTOFS because Linux autofs
4749         doesn't support direct mounts
4751 2003-07-12  Erez Zadok  <ezk@whitestar.dyn.optonline.net>
4753         * amd/conf_parse.y, amd/conf_tok.l: pretty comments on # cpp
4754         macros.
4756 2003-07-10  Ion Badulescu  <ionut@buggy.badula.org>
4758         * include/am_utils.h (dlog): improved version for gcc, using
4759         vararg macros
4761         * amd/rpc_fwd.c (fwd_packet): unused variable when compiling
4762         without debugging
4764 2003-07-10  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
4766         * include/am_utils.h (dlog): change the #define of non-debugging
4767         dlog to "nothing" so that all that'll be left behind is a list of
4768         args in parenthesis (arg,arg,...).  GCC and other native C
4769         compilers seem OK with it, even if it doesn't optimize away the
4770         whole debugging line.
4772         * ltmain.sh: was from libtool 1.4.2.  updated to libtool 1.4.3,
4773         the latest on RH9 systems (but is not the latest libtool
4774         available).  Stay with stable version in preparation for 6.1
4775         release.
4777         * config.{guess,sub}, doc/texinfo.tex: update to latest off of
4778         ftp.gnu.org.
4780 2003-07-09  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
4782         * amd/amfs_inherit.c (amfs_inherit_inherit): don't use // C++
4783         style comments: breaks non-C++ compilers (like AIX xlC 6)
4785 2003-07-02  Ion Badulescu  <ionut@buggy.badula.org>
4787         * doc/am-utils.texi (opts Option): document ignore_portmapper option
4789         * conf/transp/transp_sockets.c (get_nfs_version): better
4790         protocol/version cycling while probing remote server; better log
4791         messages
4793         * amd/srvr_nfs.c (start_ping): improved log message
4794         (find_nfs_srvr): always use requested nfs_version/nfs_proto; make
4795         sure we have a valid NFS port; start the server as "valid, down" if
4796         the remote portmapper tells us the NFS service is not running;
4797         implement the "ignore_portmapper" pseudo-mount option
4799         * amd/rpc_fwd.c (fwd_packet): better debug messages
4801         * amd/ops_nfs.c (got_nfs_fh): log a messages if a root fh is
4802         denied; call wakeup even if mountd call fails
4804         * amd/amq_subr.c (xdr_amq_mount_info_qelem): use FSRV_ISUP/ISDOWN
4805         instead of checking the flags directly
4806         * amd/srvr_amfs_auto.c (free_srvr): ditto
4808         * amd/amfs_generic.c (amfs_bgmount): refined some error/debug
4809         messages
4811         * amd/amd.h (FSRV_ERROR): new macro
4812         (FSRV_ISDOWN, FSRV_ISUP): a server that doesn't exist (i.e. it's a
4813         local filesystem) is always up
4815 2003-06-30  Erez Zadok  <ezk@cs.sunysb.edu>
4817         * amd/autil.c (am_mounted): set AMF_NOTIMEOUT if either unmount or
4818         umount options are present.
4820         * doc/am-utils.texi (Program Filesystem): document alias options
4821         to unmount:=, umount:=.
4823         * amd/opts.c (expansions): initialize opt_umount.
4824         (to_free): initialize opt_umount.
4826         * amd/amfs_program.c (amfs_program_match): ensure that only one of
4827         umount:= or unmount:= options are specified, but that at least one
4828         of them is listed.
4830         * amd/amd.h: support unmount:=XXX as well as umount:=XXX (too
4831         annoying in type:program, when one forgets the 'n' in "unmount").
4832         They are two separate fields, so we can catch mistakes when
4833         someone tries to define both options.
4835         * doc/am-utils.texi (Program Filesystem): explain that both mount
4836         and unmount options must be specified.  Correct example to show
4837         both.
4839 2003-06-25  Erez Zadok  <ezk@cs.sunysb.edu>
4841         * XXX: beginning of new amd.conf option map_defaults: will parse
4842         the option and set remember it in the right places.  Need to
4843         document this and actually hook it up with the rest of the code.
4844         Any volunteers? :-)
4846         * scripts/amd.conf-sample (map_defaults): example of map_defaults
4847         amd.conf option.
4849         * amd/conf.c (reset_cf_map): initialize global and per-mount
4850         map_defaults.
4851         (gopt_map_defaults): parse global map_defaults.
4852         (process_regular_option,ropt_map_defaults): parse per-map
4853         map_defaults amd.conf option.
4855         * amd/amd.h: a place to store global and per-mount map_defaults.
4857         * BUGS: more notes about AIX 5.2 problems and how to overcome
4858         them.
4860 2003-06-10  Erez Zadok  <ezk@cs.sunysb.edu>
4862         * doc/Makefile.am: force version.texi to be rebuilt regardless of
4863         maintainer mode.  Silly Automake will not build version.texi if
4864         maintainer mode is off (this is hardcoded into the automake perl
4865         script!).  According to the Automake maintainers, users should
4866         always build in CVS trees with maintainer-mode on; but what if I
4867         don't want to?!  I don't want to distribute Makefiles with
4868         maintained rules in them to users.  The Automake maintainers also
4869         say that "make dist" will rebuild version.texi no matter what.  I
4870         find that not to be the case.  It failed to run a "make" before
4871         "make dist" because version.texi doesn't exist!  Chicken and Egg
4872         situation.  So, until Automake deals with version.texi in a more
4873         flexible and friendly manner, I adapted a rule to build
4874         version.texi and inserted it in this Makefile.am.
4876 2003-06-09  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
4878         * mk-amd-map/mk-amd-map.c (main): open temp db file using O_EXCL,
4879         next best thing to using mkstemp().  Patch from Hendrik Scholz
4880         <hscholz@raisdorf.net>.
4882 2003-05-08  Ion Badulescu  <ion@guppy.limebrokerage.com>
4884         * libamu/mount_fs.c (compute_automounter_mount_flags): use
4885         MNT2_GEN_OPT_AUTOMNTFS if available; minor cleanup
4887         * m4/macros/header_templates.m4: added template for
4888         MNT2_GEN_OPT_AUTOMOUNTED
4890 2003-05-01  Ion Badulescu  <ionut@nicu.badula.org>
4892         * amd/ops_xfs.c (mount_xfs): compile fix (s/genflags/flags/)
4894 2003-04-23  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
4896         * conf/transp/transp_sockets.c (create_amq_service): minor cpp
4897         directive indentation and commenting.
4899 2003-04-22  Ion Badulescu  <ionut@moisil.badula.org>
4901         * conf/transp/transp_sockets.c (create_amq_service): Ugly *BSD fix
4902         for an RPC library DoS issue (original patch from Martin Blapp,
4903         massaged into something more digestable by me)
4905 2003-04-14  Ion Badulescu  <ionut@moisil.badula.org>
4907         * conf/autofs/autofs_solaris_v2_v3.c: removed autofs_free_data(),
4908         left over from the recent cleanup
4910 2003-04-13  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
4912         * doc/Makefile.am (DVIPS): use proper options for dvips.
4914         * doc/am-utils.texi (opts Option): document new 'unmount' option,
4915         and better explain the 'nounmount' option.  Also some misc options
4916         for better generation of html manual.
4918         * doc/Makefile.am (install-html): support newer texi2html 4.0
4919         options, as older options were renamed or changed behavior.
4921         * amd/autil.c (am_mounted): support new 'unmount' option, to allow
4922         all file system mounts to timeout and thus expire.  This option is
4923         useful for removable local media such as CD-ROMs, USB drives,
4924         etc. so they can expire when not in use, and get unmounted (such
4925         drives can get work out when they keep spinning).  Patch from
4926         Christos Zoulas <christos@zoulas.com> (originally from Koji
4927         Imada).
4929 2003-04-10  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
4931         * configure.in: use AM_MAINTAINER_MODE, so maintainer-only rules
4932         do not get added to Makefiles by default (they are confusing to
4933         users who don't have autotools installed).
4935 2003-04-09  Ion Badulescu  <ion@guppy.limebrokerage.com>
4937         * amd/mntfs.c (find_mntfs): revert the "change of philosophy" (see
4938         the 2001-05-23 entry) back to the 6.0 code
4940 2003-04-04  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
4942         * libamu/xutil.c (switch_to_logfile): don't try to print logfile
4943         if it is null (strlen core dump on solaris).  Bug report from John
4944         P. Rouillard <rouilj@ieee.org>.
4946 2003-03-31  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
4948         * fsinfo/fsinfo.8: typo co-ordinate -> coordinate.  Typo report
4949         from Perry E. Metzger" <perry@piermont.com>.
4951 2003-03-25  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
4953         * include/am_defs.h: Don't include malloc.h if stdlib.h exists,
4954         because modern systems (e.g., BSD) complain if you use malloc.h
4955         instead of stdlib.h.  Let's hope there are no systems out
4956         there that need both.
4958 2003-03-20  Erez Zadok  <ezk@suse73.fsl.cs.sunysb.edu>
4960         * minor new port: sparc64-unknown-linux-suse7.3.
4962 2003-03-20  Erez Zadok  <ezk@a-freebsd5.fsl.cs.sunysb.edu>
4964         * minor new port: i386-unknown-freebsd5.0.
4966         * configure.in: detect nfsclient/nfsargs.h.
4968         * conf/nfs_prot/nfs_prot_freebsd3.h: include
4969         <nfsclient/nfsargs.h>, needed in FreeBSD 5.0.
4971 2003-03-15  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
4973         * amd/amd.8, amd/amd.8, fixmount/fixmount.8, hlfsd/hlfsd.8,
4974         scripts/amd.conf.5, scripts/expn.1: minor spell checking and
4975         extraneous space elimination.
4977 2003-03-07  Ion Badulescu  <ionut@buggy.badula.org>
4979         * conf/autofs/autofs_linux.c (autofs_get_fh): don't leak file
4980         descriptors if limit exceeded
4981         (autofs_mounted): call autofs_get_mp(); init am_autofs_ttl
4982         (autofs_release_fh): release pending_mounts and pending_umounts
4983         queues
4984         (autofs_timeout_mp): update am_autofs_ttl instead of am_ttl
4986         * amd/mntfs.c (init_mntfs): delete initialization of removed
4987         mf_autofs_fh
4988         (uninit_mntfs): delete call to autofs_release_fh()
4990         * amd/map.c (init_map): init autofs_fh to 0, delete initialization
4991         of removed autofs_data
4992         (free_map): release autofs_fh after unmounting map; delete call to
4993         autofs_free_data()
4994         (umount_exported): call autofs_release_mp() prior to unmounting
4995         autofs f/s
4996         (unmount_mp): ditto
4997         (free_map_if_success): call autofs_get_mp() if unmounting fails
4998         (timeout_mp): use the dedicated am_autofs_ttl timeout for f/s-wide
4999         timeouts instead of the per-mountpoint am_ttl
5001         * amd/autil.c (am_unmounted): release autofs_fh after unmounting
5002         autofs f/s
5004         * amd/amfs_generic.c (amfs_cont): release autofs_fh if mounting
5005         autofs f/s fails;
5006         (amfs_bgmount): ditto
5008         * amd/amd.h: moved autofs_fh from mntfs to am_node, since it's
5009         more related to the mount point than to the f/s mounted;
5010         added am_autofs_ttl to am_node, for running expirations on entire
5011         filesystems
5013         * conf/autofs/autofs_*: autofs_get_fh() returns int instead of
5014         autofs_fh_t *; autofs_release_fh() now takes an am_node * parameter
5015         instead of autofs_fh_t *, in an effort to not deal with
5016         autofs-specific data structures outside autofs code;
5017         new methods autofs_get_mp() and autofs_release_mp(), which
5018         acquire/release autofs resources to allow clean unmount attempts;
5019         nuke autofs_data_t, never used
5021         * amd/amd.h: prototypes for new and changed autofs functions
5023 2003-03-07  Ion Badulescu  <ion@guppy.limebrokerage.com>
5025         * amd/nfs_subr.c (do_readlink): eliminate third argument, never used
5026         (nfsproc_getattr_2_svc): reorganize the code a bit
5028         * amd/map.c (mk_fattr): take a nfsfattr * argument instead of an
5029         am_node * argument
5031         * amd/amd.h: changed prototype for mk_fattr()
5033         * amd/autil.c (am_unmounted): when remounting, use the parent
5034         node's lookup_child() and mount_child() operations, not the
5035         generic ones
5037         * amd/amfs_generic.c (amfs_cont): minor code optimization
5039 2003-03-06  Ion Badulescu  <ion@guppy.limebrokerage.com>
5041         * amd/amfs_auto.c: lots of renames and code moving:
5042         amfs_auto_match() -> amfs_generic_match(), moved to generic;
5043         amfs_auto_mkcacheref() -> amfs_mkcacheref(), moved to autil.c;
5044         amfs_auto_mounted() -> amfs_generic_mounted(), moved to generic;
5045         amfs_auto_umount() -> amfs_generic_umount(), moved to generic;
5046         free_continuation(): moved to generic, made static;
5047         assign_error_mntfs(): moved to autil.c;
5048         amfs_auto_cont() -> amfs_cont(), moved to generic, made static;
5049         amfs_auto_retry() -> amfs_retry(), moved to generic, made static;
5050         try_mount() + mount_node() -> mount_node(), moved to map.c
5051         amfs_auto_bgmount() -> amfs_bgmount(), moved to generic;
5052         amfs_parse_defaults(): moved to generic;
5053         amfs_auto_lookup_node() -> amfs_lookup_node(), moved to generic;
5054         amfs_auto_lookup_one_mntfs() -> amfs_lookup_one_mntfs(), in generic;
5055         amfs_auto_lookup_mntfs() -> amfs_lookup_mntfs(), moved to generic;
5056         amfs_auto_mount_child() -> amfs_generic_mount_child(), in generic;
5057         amfs_auto_lookup_child() -> amfs_generic_lookup_child(), in generic;
5058         next_nonerror_node(): moved to autil.c;
5059         amfs_auto_readdir() -> amfs_generic_readdir(), moved to readdir;
5060         amfs_auto_readdir_browsable() -> amfs_readdir_browsable(), in readdir;
5062         * amd/amfs_toplvl.c: mount_amfs_toplvl() renamed to amfs_mount()
5063         and moved to autil.c
5065         * amd/readdir.c, amd/amfs_generic.c: new files with stuff ripped
5066         out of amd/amfs_auto.c
5068         * amd/amd.h: struct continuation moved to generic.c; prototypes
5069         for the renamed functions; NumChild renamed to NumChildren
5071         * amd/map.c: collaped unmount_node_wrap() and unmount_node() into
5072         the latter
5074         * amd/mapc.c: key_already_in_chain(): moved to readdir.c;
5075         make_entry_chain(): moved to readdir.c;
5077         * amd/srvr_amfs_auto.c: find_amfs_auto_srvr() renamed to
5078         amfs_generic_find_srvr()
5080         * amd/amfs_*.c: adjustments for the renames above
5082         * amd/ops_*.c: low-level filesystems don't need a find_server()
5083         method
5085         * amd/Makefile.am: added amfs_generic.c and readdir.c
5087         * doc/am-utils.texi: minor clarification for auto maps
5089 2003-03-06  Ion Badulescu  <ion@guppy.limebrokerage.com>
5091         * amd/amd.h: moved lots and lots of amd-only stuff here, from
5092         include/am_utils.h; changed task_fun, cb_fun and fwd_fun typedefs
5093         to be function typedefs, not pointer to function typedefs
5095         * include/am_utils.h: see above
5097         * amd/ops_nfs.c, amd/rpc_fwd.c, amd/sched.c: adjustments for
5098         function typedef changes
5100 2003-03-05  Erez Zadok  <ezk@cs.sunysb.edu>
5102         * BUGS: record IBM's patch number for the AIX 5.2 NFS over IPv6
5103         bug.
5105 2003-02-02  Erez Zadok  <ezk@siamese.fsl.cs.sunysb.edu>
5107         * NEWS: minor new port: ia64-unknown-linux-rh2.1AS
5109 2003-01-31  Ion Badulescu  <ion@console.limebrokerage.com>
5111         * m4/macros/os_cflags.m4: rhapsody and darwin are the same
5113         * amd/autil.c (mount_node): vastly simplified, just a wrapper now
5115         * amd/amfs_inherit.c (amfs_inherit_mount): remove the am_mounted()
5116         hack, we now do it properly in the generic code
5118         * amd/amfs_auto.c (amfs_auto_bgmount): get the autofs_fh _before_
5119         forking the child; set and reset MFF_MOUNTING here, not in
5120         mount_node(), because the latter might be running in child
5121         context; call am_mounted() after a successful foreground mount
5123 2003-01-29  Ion Badulescu  <ionut@moisil.badula.org>
5125         * configure.in: new flag --with[out]-ndbm; don't pull in libldap
5126         if building --without-ldap; look for the gdbm/ndbm.h header; make
5127         explicit the dependency between the ndbm headers and libraries;
5128         define NEW_DBM_H as the ndbm header that should be used
5130         * include/am_defs.h: simply include NEW_DBM_H for ndbm stuff,
5131         instead of trying to second-guess configure
5133         * m4/macros/header_templates.m4: new template for NEW_DBM_H
5135         * m4/macros/check_map_funcs.m4:
5136         (ac_upcase_map_name): use the third argument correctly
5138         * ltmain.sh: working version from libtool-1.4.2-7
5140         * buildall: print the entire configure command, including extra
5141         arguments; pass each of the extra arguments separately, not
5142         commingled into one
5144 2003-01-28  Ion Badulescu  <ion@guppy.limebrokerage.com>
5146         * include/am_utils.h (DEBUG_MNTTAB): define outside of #ifdef
5147         DEBUG; it is not used without DEBUG, but it is referenced at
5148         compile time. Bug report from John Kilburg <john@physics.unlv.edu>.
5149         (D_ALL): don't include D_XDRTRACE, too verbose and normally
5150         unnecessary
5152 2003-01-28  Erez Zadok  <ezk@cs.sunysb.edu>
5154         * ltmain.sh, config.guess, config.sub, doc/texinfo.tex: updates
5155         from latest official GNU versions.
5157 2003-01-25  Erez Zadok  <ezk@cs.sunysb.edu>
5159         * BUGS (Note): document AIX-5.1 NFS-client side bug (hangs in
5160         vmount).
5162 2003-01-25  Ion Badulescu  <ionut@moisil.badula.org>
5164         * Released beta version 6.1b2
5166 2003-01-24  Ion Badulescu  <ionut@moisil.badula.org>
5168         * amd/autil.c (am_unmounted): reset MFF_MKMNT from mf_flags when
5169         calling rmdirs() on mountpoint
5171         * amd/amfs_auto.c (amfs_auto_bgmount): ditto
5173         * amd/amfs_nfsl.c (amfs_nfsl_umounted): ditto
5175         * doc/am-utils.texi (opts Option): "sftlookup" -> "softlookup"
5177         * NEWS: "sftlookup" -> "softlookup"
5179         * amd/ops_nfs.c (nfs_mount): "sftlookup" -> "softlookup", also
5180         check for "nosoftlookup" in combination with "soft"
5182 2003-01-23  Ion Badulescu  <ion@guppy.limebrokerage.com>
5184         * m4/macros/check_nfs_fh_dref.m4: darwin/rhapsody is another
5185         freebsd22 derivative
5187         * NEWS: updated for Darwin changes
5189         * .cvsignore: added A.i386-apple-darwin6.0
5191         * m4/macros/os_cflags.m4: add -D_P1003_1B_VISIBLE to cflags for
5192         Darwin
5194 2003-01-23  Erez Zadok  <ezk@cs.sunysb.edu>
5196         * conf/mount/mount_aix.c (mount_aix3): clean back this file from
5197         all the debugging cruft that is no longer needed (and really was
5198         never needed in the first place).
5200 2003-01-10  Erez Zadok  <ezk@cs.sunysb.edu>
5202         * scripts/test-amd.{misc,conf}: simple amd.conf and amd.misc
5203         (map) files for testing basic amd functionality such as whether it
5204         can mount its own mount NFS points.
5206 2002-12-28  Ion Badulescu  <ionut@moisil.badula.org>
5208         * amd/srvr_nfs.c (start_nfs_pings): don't set FSF_PINGING if
5209         pings are disabled
5211         * libamu/xdr_func.c (xdr_ftype): use a local enum_t variable
5212         instead of casting the pointer to (enum_t *)
5213         (xdr_mountstat3): ditto
5214         (xdr_nfsstat): ditto
5216         * libamu/misc_rpc.c (make_rpc_packet): fix make_rpc_packet() on
5217         64-bit big-endian platforms, bug report from Bill Fenner
5218         <fenner@research.att.com>
5220         * configure.in: increase library patchlevel
5222         * libamu/xutil.c (amu_release_controlling_tty): close and reopen
5223         file descriptors 0,1,2 before calling setsid()
5225 2002-12-27  Erez Zadok  <ezk@cs.sunysb.edu>
5227         * updated copyright year to 2003 on all files
5229 2002-12-10  Erez Zadok  <ezk@localhost.localdomain>
5231         * rename "aux/" subdir into "m4/" so as to avoid problems with
5232         MS-DOS systems (where "AUX" is a reserved name).  This required
5233         fixing numerous files.
5235 2002-12-10  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
5237         * configure.in: don't check for bad hasmntopt() function if
5238         hasmntopt() doesn't exist on the system, because we will replace
5239         it with our own version anyway.
5241         * conf/transp/transp_sockets.c (amu_get_myaddress): use "%lx" in
5242         dlog because htonl() returns a u_long.
5244 2002-12-10  Erez Zadok  <ezk@localhost.localdomain>
5246         * include/am_defs.h: use system's hasmntopt() only if it is found
5247         and it is not buggy.
5249         * libamu/hasmntopt.c (nextmntopt): isspace() takes an int, not a
5250         char.
5252         * amd/am_ops.c, amd/amfs_auto.c, amd/autil.c, amd/nfs_subr.c,
5253         amd/ops_cdfs.c, amd/ops_nfs.c, amd/srvr_nfs.c, libamu/hasmntopt.c,
5254         libamu/mount_fs.c, libamu/mtab.c: rename all uses of hasmntopt()
5255         to amu_hasmntopt().  Don't use hasmntopt() directly any more!
5257         * aux/macros/func_bad_hasmntopt.m4: new M4 macro to test for a bad
5258         hasmntopt() function, which incorrectly finds the option "soft" in
5259         a string "hard,softlookup,ro".
5261         * libamu/hasmntopt.c (hasmntopt): use 'const' on two args to
5262         hasmntopt(), to match what most systems use.
5264         * aux/macros/header_templates.m4: template for HAVE_BAD_HASMNTOPT.
5266         * configure.in: invoke test for bad hasmntopt()
5268         * NEWS: minor new port, i386-pc-linux-rh8.0.
5269         Mention autofs-v4 on solaris9 works.
5271         * bootstrap: remove any autom4te-*.cache directories, now that
5272         autoconf uses a version number for them.
5274 2002-12-09  Ion Badulescu  <ionut@moisil.badula.org>
5276         Patches from Christos Zoulas:
5278         -1- am_utils.h: add full prototypes
5279         -2- amfs_auto.c make functions static and add prototypes
5280         -3- map.c: kill double free
5281         -5- transp_sockets.c: add full prototypes
5283 2002-12-09  Ion Badulescu  <ionut@moisil.badula.org>
5285         * NEWS: updated
5287         * doc/am-utils.texi (opts Option): document sftlookup
5289         * conf/autofs/autofs_solaris_v2_v3.c: compile fixes
5291 2002-11-22  Erez Zadok  <ezk@filer.fsl.cs.sunysb.edu>
5293         * amd/info_ldap.c (amu_ldap_rebind): gopt.ldap_cache_seconds is
5294         %ld not %d.
5296 2002-11-21  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5298         * {amd,fsinfo}/Makefile.am: remove special rules for processing
5299         yacc/lex files, now that autoconf/automake properly handle them
5300         better (esp. now that bison 1.75 behaves differently than older
5301         bison versions).
5303 2002-11-21  Erez Zadok  <ezk@cs.sunysb.edu>
5305         * config.guess.long: updated script so it will properly find the
5306         version number of the new Itanium 2 machines running "Red Hat
5307         Linux Advanced Workstation release 2.1AW (Derry)".  The script now
5308         will report ia64-unknown-linux-rh2.1AW.
5310 2002-11-20  Ion Badulescu  <ionut@moisil.badula.org>
5312         * amfs_auto_bgmount(): almost complete rewrite
5314         * fixed amfs_inherit to do the right thing and not dereference
5315         freed mntfs'es
5317         * #if 0'ed bogus code in fh_to_mp3() -- it is now done properly in
5318         amfs_autofs_lookup_child()
5320         * release the autofs_fh only in one place
5322         * remove the mountpoint only if mf_refc == 1
5324         * print the mntfs type in free_mntfs()
5326         * new pseudo-mount option 'sftlookup' which causes lookups to
5327         mounted shares from downed servers to return EIO; the default
5328         depends on whether the mount is 'hard' or 'soft'
5330         * improved querying of supported NFS versions on the server --
5331         don't even try if it's known to be down
5333         * solaris autofs mount code moved to transp_{sockets,tli}.c
5335         * incipient (non-functional) AIX autofs support
5337 2002-11-11  Ion Badulescu  <ion@guppy.limebrokerage.com>
5339         * doc/am-utils.texi (Keep-alives): removed outdated info about not
5340         maintaining the state of TCP NFS servers
5342 2002-11-04  Ion Badulescu  <ion@guppy.limebrokerage.com>
5344         * include/am_utils.h: prototype for ops_search()
5346         * amd/am_ops.c (ops_search): new function for searching the right
5347         set of ops for a given filesystem type
5349         * amd/restart.c (restart): cleanup and split into two functions in
5350         preparation for handling the restart of amd's own mount points
5351         (restart_fake_mntfs): new function, factored out from restart()
5353 2002-11-04  Ion Badulescu  <ionut@buggy.badula.org>
5355         * amd/ops_cdfs.c (mount_cdfs): remove special code for loop device
5356         (cdfs_umount): ditto
5358         * conf/mount/mount_linux.c (mount_linux): factor it out to
5359         mount_linux_nfs() and mount_linux_nonfs()
5360         (mount_linux_nonfs): generalize loop device support to all
5361         filesystems (not just cdfs); make it automatic for anything that's
5362         a regular file
5363         (parse_opts): deprecate the explicit "loop" mount option
5364         (do_mount_linux): minor cleanup
5366         * conf/umount/umount_default.c (umount_fs2): release loop device
5367         on umount()
5369 2002-11-03  Erez Zadok  <ezk@cnm20>
5371         * include/am_defs.h: moved #include of net/if.h above net/route.h,
5372         because on AIX 5.2 if.h is needed for route.h (let's hope it
5373         doesn't break things on other systems).
5375         * include/am_defs.h: AIX 5.2 needs struct sigevent from signal.h
5376         to be defined, but I don't want to move the inclusion of signal.h
5377         this early into this file.  Luckily, amd doesn't need the size of
5378         this structure in any other structure that it uses.  So we
5379         sidestep it for now.
5381         * conf/nfs_prot/nfs_prot_aix5_2.h: AIX 5.2 wants 'struct pathcnf',
5382         but I couldn't find its definition anywhere.  Luckily, amd doesn't
5383         need the size of this structure in any other structure that it
5384         uses.  So we sidestep it for now.
5386 2002-11-02  Erez Zadok  <ezk@cs.sunysb.edu>
5388         * config.guess, config.sub, doc/texinfo.tex: updates from
5389         the latest GNU distributions (2002-09-05).
5391 2002-10-30  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5393         * conf/nfs_prot/nfs_prot_aix5_2.h: add more definitions from
5394         mount.h for NFSOPT_* and NFSMNT_*.
5395         Don't use typedefs that aren't found in system header files.
5397 2002-10-30  Erez Zadok  <ezk@cs.sunysb.edu>
5399         * Makefile.am (EXTRA_DIST_CONF): distribute nfs_prot_aix5_2.h.
5401         * conf/nfs_prot/nfs_prot_aix5_2.h: new file.
5403         * aux/macros/struct_nfs_args.m4 (ac_cv_have_struct_nfs_args): look
5404         for "struct aux52_nfs_args".
5406         * aux/macros/check_nfs_prot_headers.m4: define new header file for
5407         AIX 5.2.
5409 2002-10-21  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5411         * scripts/amd.conf.5 (ldap_proto_version): document in amd.conf
5412         man page.
5414         * scripts/amd.conf-sample (ldap_proto_version): show example of use
5416         * doc/am-utils.texi (ldap_proto_version Parameter): document new
5417         amd.conf option.
5419         * amd/conf.c (gopt_ldap_proto_version): new conf function to
5420         support ldap_proto_version amd.conf parameter.
5422         * amd/amd.h: field to hold LDAP protocol version.
5424         * amd/amd.c (init_global_options): set default for
5425         ldap_proto_version.  ldap_proto_version patch from George Ross
5426         <gdmr@dcs.ed.ac.uk> and Tim Colles <timc@inf.ed.ac.uk>.
5428         * amd/info_ldap.c (amu_ldap_unbind): ignore SIGPIPE errors while
5429         unbinding from an LDAP server that may have been restarted.  Fix
5430         from George Ross <gdmr@dcs.ed.ac.uk>.
5432 2002-09-17  Ion Badulescu  <ion@guppy.limebrokerage.com>
5434         * remove all autoconf stuff added for sys_nerr
5436         * amq/amq.c, libamu/xutil.c, hlfsd/hlfsd.c: always use strerror
5438         * libamu/strerror.c: more explicit text for unknown errno's
5440 2002-10-01  Erez Zadok  <ezk@cs.sunysb.edu>
5442         * include/am_defs.h: define "extern int sys_err" if needed.
5444         * aux/macros/header_templates.m4: template for
5445         HAVE_EXTERN_SYS_NERR.
5447         * hlfsd/hlfsd.h, libamu/xutil.c (expand_error), amq/amq.c
5448         (show_mi): remove "extern int sys_err"
5450         * configure.in: execute test for "extern int sys_err"
5452         * Makefile.am (EXTRA_DIST_AUX): distribute new extern_sys_err.m4 file.
5454         * aux/macros/extern_sys_nerr.m4: new test to check for existence
5455         of "extern int sys_nerr" definition in system headers.
5457 2002-09-17  Ion Badulescu  <ion@guppy.limebrokerage.com>
5459         * libamu/xutil.c (dbg_opt): bring comments in line with the code
5461         * hlfsd/hlfsd.c (main): use amuDebug() instead of touching
5462         debug_flags directly
5464         * amd/amd.c (main): don't init debug_flags, leave it as zero (no
5465         debugging by default)
5467 2002-09-11  Ion Badulescu  <ion@guppy.limebrokerage.com>
5469         Debug code sanitization:
5471         - amuDebug() becomes an expression, and explicit if() statements
5472         are added around it throughout the code
5473         - amuDebugNo() goes away (ugh!)
5474         - D_AMQ, D_DAEMON and D_FORK reverse their meaning
5475         - D_ALL contains only options that don't affect amd's functionality
5477 2002-09-04  Ion Badulescu  <ion@guppy.limebrokerage.com>
5479         * amd/amfs_auto.c (free_continuation): avoid double-free'ing the
5480         mntfs if there was an error/timeout
5482 2002-09-04  Ion Badulescu  <ion@guppy.limebrokerage.com>
5484         * amd/amfs_auto.c (amfs_auto_lookup_mntfs): use ereturn() instead
5485         of "return NULL" to signal an error to the upper layers
5486         (amfs_auto_mount): use strdup so the string can be free'd later on
5487         [Debian bug report from Matt Chapman <matthewc@cse.unsw.edu.au>]
5489 2002-09-03  Ion Badulescu  <ion@guppy.limebrokerage.com>
5491         Patches from George Ross <gdmr@dcs.ed.ac.uk>:
5493         * amd/amfs_auto.c (assign_error_mntfs): do not discard old mntfs,
5494         it will be done in free_continuation(); assorted debugging messages
5496         * amd/srvr_nfs.c (nfs_timed_out): allocate a new XID on server
5497         timeout to avoid problems with late ping replies
5499         * amd/mntfs.c (free_mntfs): sanity check for mf_refc; assorted
5500         debugging messages
5502         * amd/map.c (unmount_node): more verbose debug message
5504 2002-07-29  Ion Badulescu  <ion@guppy.limebrokerage.com>
5506         * amd/amfs_auto.c (amfs_auto_lookup_mntfs): prevent deferencing
5507         de-allocated memory in str3cat
5508         (amfs_auto_lookup_mntfs): check for buffer overflow
5510 2002-07-11  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5512         * scripts/expn.{1,in}: fixed typos as reported by Thomas Klausner
5513         <wiz@danbala.ifoer.tuwien.ac.at>.
5515 2002-06-26  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5517         * doc/Makefile.am (install-html): don't use locally hacked
5518         texi2html features.
5520         * conf/transp/transp_sockets.c (amu_get_myaddress): Most modern
5521         systems should use 127.0.0.1 as the localhost address over which
5522         you can do NFS mounts.  In the past we found that some NFS clients
5523         may not allow mounts from localhost.  So we used get_myaddress()
5524         and that seemed to work.  Alas, on some other systems,
5525         get_myaddress() may return one of the interface addresses at
5526         random, and thus use a less efficient IP address than 127.0.0.1.
5527         The solution is to hard-code 127.0.0.1, but still check if
5528         get_myaddress() returns a different value and warn about it.
5530         * doc/am-utils.texi: don't use ':' in @cindex entries.
5532 2002-06-25  Ion Badulescu  <ion@guppy.limebrokerage.com>
5534         * Released beta version 6.1b1
5536 2002-06-24  Ion Badulescu  <ionut@moisil.badula.org>
5538         * aux/macros/struct_nfs_args.m4: added test for aix51_nfs_args
5540         * conf/nfs_prot/nfs_prot_aix5_1.h: rename aix42_nfs_args to
5541         aix51_nfs_args, rename unknown fields to u<number>, add the
5542         unknown new field into the middle of the old 4.2 structure
5544 2002-06-24  Ion Badulescu  <ion@guppy.limebrokerage.com>
5546         * include/am_compat.h: better test for struct netconfig
5547         (!HAVE_NETCONFIG_H && !HAVE_SYS_NETCONFIG_H)
5549         * aux/macros/check_nfs_prot_headers.m4: added new header for aix5.1+
5551         * buildall: fix 'buildall -b' on hpux9 and aix5.1
5553 2002-06-24  Ion Badulescu  <ionut@buggy.badula.org>
5555         * INSTALL: updated
5557         * conf/autofs/autofs_solaris_v1.c (autofs_link_mount): compile fix
5558         (autofs_link_umount): ditto
5560         * amd/mntfs.c (init_mntfs): don't use autofs if !amd_use_autofs
5562 2002-06-23  Ion Badulescu  <ionut@moisil.badula.org>
5564         * conf/autofs/autofs_linux.c: compile fixes for autofs v3
5566 2002-06-23  Ion Badulescu  <ionut@moisil.badula.org>
5568         * conf/autofs/autofs_solaris_v2_v3.c (autofs_mounted): no
5569         expirations needed;
5570         (autofs_timeout_mp): likewise
5572         * conf/autofs/autofs_solaris_v1.c (autofs_mounted): no expirations
5573         needed;
5574         (autofs_timeout_mp): likewise
5576         * conf/autofs/autofs_linux.c (autofs_mounted): set the first
5577         expiration interval
5579         * amd/autil.c (am_mounted): call autofs_mounted here, instead of
5580         in mf_mounted()
5582         * amd/amd.h (NEVER): moved here from map.c
5583         (autofs_mounted): change argument from mntfs* to am_node*
5585 2002-06-23  Ion Badulescu  <lionut@gonzales.badula.org>
5587         * conf/autofs/autofs_linux.c (autofs_mounted): set the kernel
5588         timeout on the autofs mountpoint to cache_duration (gopt.am_timeo)
5589         (autofs_timeout_mp): don't update the ttl if we're going down
5591         * amd/map.c (timeout_mp): don't call autofs_timeout_mp unless the
5592         timeout on that particular am_node has expired
5594         * conf/autofs/autofs_linux.c (autofs_timeout_mp): really update
5595         the ttl, as per the comment (compilers are not very good at
5596         translating comments into code...)
5598         * amd/amfs_auto.c (amfs_auto_lookup_one_mntfs): strdup am_path
5599         instead of opt_rfs into opt_fs for autofs, thus avoiding conflicts
5600         between link mounts pointing to the same target
5602 2002-06-23  Ion Badulescu  <lionut@gonzales.badula.org>
5604         * conf/autofs/autofs_linux.c (send_fail, send_ready): new helper
5605         functions for sending messages back to the kernel
5606         (autofs_expire_one): initial implementation of the kernel-based
5607         expiration handler
5608         (autofs_handle_expire): call autofs_expire_one()
5609         (autofs_handle_expire_multi): ditto
5610         (autofs_umount_succeeded): search pending_umounts, send message
5611         back to the kernel
5612         (autofs_umount_failed): ditto
5613         (autofs_mount_succeeded): tell amd core not to expire autofs entries
5614         (autofs_timeout_mp): expiration function for autofs filesystems
5615         (autofs_timeout_mp_task): helper function for autofs_timeout_mp
5617         * conf/autofs/autofs_linux.h: new struct autofs_pending_umount for
5618         keeping tracking of pending umounts
5619         (autofs_fh_t) rename pending to pending_mounts, add pending_umounts
5621         * conf/autofs/autofs_solaris_v1.c (autofs_timeout_mp): stub
5623         * conf/autofs/autofs_solaris_v2_v3.c (autofs_timeout_mp): stub
5625         * amd/map.c (timeout_mp): call autofs_timeout_mp() for autofs
5626         filesystems
5628         * amd/autil.c (mf_mounted): move here the call autofs_mounted()
5629         from amfs_auto_mounted().
5631 2002-06-22  Erez Zadok  <ezk@whitestar.dyn.optonline.net>
5633         * amd/nfs_start.c (mount_automounter): Security fix.  if user sets
5634         -D noamq, don't even create listening socket.  Suggestion by Ed
5635         Ravin <eravin@panix.com>.
5637 2002-06-22  Ion Badulescu  <lionut@gonzales.badula.org>
5639         * hlfsd/homedir.c (homedir): use setgid() instead of setegid()
5641         * ALL: #ifdef cleanups, unify some TLI/socket function prototypes
5643 2002-06-22  Erez Zadok  <ezk@whitestar.dyn.optonline.net>
5645         * conf/nfs_prot/nfs_prot_netbsd1_4.h: minor port to support
5646         na_gid and na_uid.  NetBSD patch from Jun-ichiro itojun Hagino
5647         <itojun@iijlab.net>.
5649         * doc/am-utils.texi (Option): document xlatecookie mount option.
5651         * libamu/mount_fs.c (compute_nfs_args): support "xlatecookie"
5652         NFS mount option.  Patch from Matthias Scheler <tron@zhadum.de>
5653         for NetBSD.
5655 2002-06-22  Ion Badulescu  <ionut@edgar.badula.org>
5657         * conf/autofs/autofs_solaris_v1.h: add FS_MBACKGROUND to
5658         AUTOFS_LINK_FS_FLAGS
5660         * conf/autofs/autofs_solaris_v1.c: convert link mounts to lofs
5661         mounts in autofs_link_mount/umount
5663 2002-06-22  Ion Badulescu  <lionut@gonzales.badula.org>
5665         * configure.in: check for devid inside struct umntrequest
5667         * conf/autofs/autofs_solaris_v2_v3.c (xdr_umntrequest): handle the
5668         new umntrequest structure in v4.
5669         (autofs_unmount_2_req): ditto
5671         * README.autofs: updated for Solaris 2.5/2.5.1
5673 2002-06-22  Erez Zadok  <ezk@whitestar.dyn.optonline.net>
5675         * configure.in: only define LDAP/Hesiod if both the headers and
5676         the libraries exist, and the user didn't explicitly disable those
5677         maps.
5679 2002-06-22 Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5681         * doc/am-utils.texi: fix typos.  Can't use ":" in @cindex entries.
5683 2002-06-22  Erez Zadok  <ezk@whitestar.dyn.optonline.net>
5685         * doc/am-utils.texi, scripts/amd.conf.5, scripts/amd.conf-sample,
5686         amd/amd.8, amd/get_args.c (get_args): document amd -A option.
5688         * amd/get_args.c (get_args): support "amd -A arg" option to
5689         override the system's detected architecture.  Patch from George
5690         Ross <gdmr@dcs.ed.ac.uk>.
5692         * amd/info_ldap.c (amu_ldap_rebind): don't use ldap_enable_cache()
5693         if the system doesn't have it.
5695         * configure.in: detect existence of ldap_enable_cache function,
5696         because it doesn't exist on Solaris 9's latest ldap libraries.
5698         * amd/info_ldap.c: LDAP patches from George Ross
5699         <gdmr@dcs.ed.ac.uk>.  Rework of old code, support for wildcards in
5700         LDAP queries, and an FD leak fix.
5702 2002-06-22  Ion Badulescu  <lionut@gonzales.badula.org>
5704         * buildall: use ksh for configure on aix5.1; pass the extra
5705         arguments after "--" to configure, not to make
5707         * Makefile.am: added nfs_prot_aix4_3.h to EXTRA_DIST_CONF
5709         * conf/mount/mount_aix.c (mount_aix3): if the NFSv3 mount fails
5710         with EINVAL and we have MOUNT_TYPE_NFS3_BIS defined, retry the
5711         mount with the alternative nfs3_args structure
5713         * conf/nfs_prot/nfs_prot_aix4_3.h: added alternative nfs3_args
5714         structure, similar to that in aix5.1, for a hack that tries to
5715         compensate for IBM's brain fart
5717         * conf/nfs_prot/nfs_prot_aix5_1.h: new nfs_prot header for aix5.1+
5719         * aux/macros/check_nfs_prot_headers.m4: added new header for aix5.1+
5721         * BUGS: update for direct mounts on Linux; document the brokenness
5722         of /bin/sh on AIX 5.1 and HP-UX 9
5724         * NEWS: aix5.1 port, aix4.3 workaround
5726 2002-06-22 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu>
5728         * ltmain.sh: use libtool 1.4d, needed support for newer AIX.
5730 2002-06-21  Ion Badulescu  <ion@guppy.limebrokerage.com>
5732         * aux/macros/check_autofs_style.m4: enable autofs_v2_v3 for
5733         all solaris2.6+, not just for 2.[6-8]
5735         * conf/autofs/autofs_default.h: disable autofs if configure
5736         detects it
5738 2002-06-21  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5740         * aux/macros/with_addon.m4: correct M4 quoting.
5742         * aux/macros/cache_check_dynamic.m4: correct M4 quoting.
5744         * bootstrap: show version of autotools being used.  Helps
5745         maintainer debugging.
5747         * configure.in: new proper syntax for libtool and
5748         ansi2knr-filtering rules, required by autoconf 1.53 and higher.
5750 2002-06-21  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5752         * aux/GNUmakefile: new search paths for "update" target.
5754         * config.guess, config.sub, doc/texinfo.tex, ltmain: updates from
5755         the latest GNU distributions.
5757 2002-06-11  Ion Badulescu  <ion@guppy.limebrokerage.com>
5759         * amd/amfs_auto.c (amfs_auto_lookup_child): split part of this
5760         function into the new amfs_auto_lookup_one_child function; return
5761         null if all ivecs failed to match
5763 2002-05-30  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5765         * config.guess.long: support SuSE version names in long
5766         config.guess format.
5768 2002-05-01  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5770         * scripts/lostaltmail.in (vrfy_user): unlink temp files if too
5771         small.
5773 2002-04-07  Ion Badulescu  <ionut@moisil.badula.org>
5775         * hlfsd/hlfsd.c (main): compile fix for --enable-debug=no
5777 2002-03-29  Ion Badulescu  <ionut@moisil.badula.org>
5779         * README.autofs: solaris 2.5/2.5.1 info, other minor changes
5781         * doc/am-utils.texi (History): document solaris 2.5+ support
5783         * include/am_utils.h: new member in struct mntfs: mfs_real_mount;
5784         autofs_fs_flags becomes conditional of HAVE_AUTOFS_FS; new
5785         prototype for umount_fs2(); extra argument for UMOUNT_FS()
5787         * hlfsd/hlfsd.c: use the new mount_fs2() and UMOUNT_FS()
5789         * libamu/mount_fs.c (mount_fs): wrapper around the new mount_fs2()
5790         function; swap mntdir and real_mntdir as necessary for solaris 2.5
5791         autofs support
5793         * conf/umount/umount_default.c (umount_fs2): swap mntdir and
5794         real_mntdir as necessary for solaris 2.5 autofs support
5796         * conf/umount/umount_*.c (umount_fs): wrapper around the new
5797         umount_fs2() function
5798         (umount_fs2): new function which takes the real mountpoint as an
5799         extra argument
5801         * conf/nfs_prot/nfs_prot_sunos5_5.h: allow autofs support to be
5802         compiled in
5804         * conf/autofs/autofs_solaris_v1.h (autofs_strdup_space_hack): new
5805         function that appends a space at the end of a string (the famous
5806         "Autofs Space Protocol")
5808         * conf/autofs/autofs_solaris_v1.c: almost complete reimplementation
5810         * conf/autofs/autofs_*.h (AUTOFS_*_FS_FLAGS): add
5811         system-specific definitions for these macros
5813         * conf/autofs/autofs_linux.c (create_autofs_service): remove hacks
5814         which are now handled properly by more generic code
5815         (autofs_link_umount): complain if umount_fs() fails, rmdir the
5816         mountpoint on success
5817         (autofs_umount_succeeded): remove the rmdirs() code, now handled
5818         by generic code
5819         (autofs_mount_succeeded): ditto
5821         * amd/nfs_start.c (checkup): implement it as an emtpy stub if
5822         DEBUG is not defined
5823         (run_rpc): call autofs_add_fdset() after umount_exported() to
5824         avoid passing invalid file descriptors to select(); use plog()
5825         instead of perror()
5827         * amd/mntfs.c (init_mntfs): initialize mf_real_mount from mp
5828         (uninit_mntfs): free mf_real_mount
5830         * amd/autil.c (am_unmounted): don't remove the mount point if a
5831         remount is pending, also don't make the removal conditional on not
5832         being an autofs mount point
5834         * amd/amfs_nfsx.c (amfs_nfsx_remount): call mkdirs() on
5835         mf->mf_real_mount instead of mf->mf_mount
5837         * amd/amfs_nfsl.c, amd/amfs_nfsx.c: (amfs_nfsl_umounted): call
5838         rmdirs() on mf->mf_real_mount instead of mf->mf_mount
5840         * amd/amfs_host.c (make_mntpt): change the third argument to be
5841         the mountpoint, not the entire mntfs structure
5842         (do_mount): takes real_mntdir as an extra argument
5844         * amd/amfs_auto.c (amfs_auto_bgmount): move the creation of the
5845         mountpoint here from try_mount(), otherwise the change to mf_flags
5846         is lost for background mounts; remove the mountpoint if we created
5847         it and the mount fails
5848         (amfs_auto_lookup_mntfs): re-initialize mf->mf_real_mount using
5849         autofs_strdup_space_hack() if NEED_AUTOFS_SPACE_HACK is defined
5851         * amfs_*.c, ops_*.c: initialize autofs_fs_flags using the
5852         AUTOFS_*_FS_FLAGS macro defined in the system-specific autofs
5853         header; UMOUNT_FS() takes mf->mf_real_mount as an extra argument;
5854         mount_fs() becomes mount_fs2() and takes mf->mf_real_mount as an
5855         extra argument
5857         * amd/amd.h, amd/ops_nfs.c, amd/amfs_host.c: mount_nfs_fh takes
5858         the real mountpoint as an additional argument
5860 2002-03-28  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5862         * amd/ops_cdfs.c (mount_cdfs): correctly interpret error return
5863         values back from mount_fs().  Return correct error number from
5864         this function.
5866         * conf/mount/mount_linux.c (do_mount_linux): cleanup loop mount
5867         cruft from this function, moved elsewhere.
5868         (mount_linux): prepare for loop-device mounts of ISO images.
5870 2002-03-28  Ion Badulescu  <ionut@buggy.badula.org>
5872         * libamu/Makefile.am (EXTRA_DIST): added strerror.c
5874         * libamu/strerror.c: strerror() implementation for systems lacking it
5876         * doc/am-utils.texi (History): rewrote the history :) about autofs
5877         support
5879         * conf/autofs/autofs_solaris_v2_v3.c: updated copyright;
5880         (autofs_unmount_2_req): minor cleanup
5881         (create_autofs_service): print log message
5882         (destroy_autofs_service): ditto
5884         * conf/autofs/autofs_linux.c: updated copyright
5886         * amd/nfs_start.c (mount_automounter): move the debug message into
5887         create_autofs_service()
5889         * amd/amd.c (main): call destroy_autofs_service() before
5890         going_down(), not after
5892         * configure.in: added strerror to AC_CHECK_FUNCS(); disable ldap
5893         if the ldap headers are not found
5895 2002-03-28  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5897         * amd/info_ldap.c: patch from "Sebastien Bahloul"
5898         <sebastien.bahloul@medasys.org> to fix a simple initialization bug
5899         and change "HE" to HE_ENT so as to compile on HPUX.
5901 2002-02-26  Erez Zadok  <ezk@t3.fsl.cs.sunysb.edu>
5903         * conf/nfs_prot/nfs_prot_freebsd3.h (na_uid): freebsd4.5 uses nfs
5904         atttributes field named "uid".  So #define na_uid to it.
5906 2002-02-12  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5908         * scripts/lostaltmail.in: don't verify user if -noverify option
5909         was turned on.  fix comment typo.
5911 2002-02-11  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
5913         * amd/Makefile.am (TESTS): enable one test script, test1.sh.
5915         * amd/test1.sh: re-commit simple test script.
5917 2002-02-11  Ion Badulescu  <ion@guppy.limebrokerage.com>
5919         * Released snapshot 6.1a5
5921         * NEWS: Solaris autofs readdir() support, Linux autofs sublink fix
5923         * README: require newer auto-tools, update mailing list address
5925         * README.autofs: major update
5927         * configure.in: version changed to 6.1a5
5929 2002-02-11  Ion Badulescu  <ionut@moisil.badula.org>
5931         * conf/autofs/autofs_linux.c (autofs_link_mount): don't do a
5932         stat() on the am_link if called from the parent amd, to prevent
5933         deadlocks
5935         * amd/autil.c (am_unmounted): call amfs_link_ops.umount_fs if the
5936         fstype is not link but we have a sublink (Linux autofs needs this)
5937         (am_mounted): call amfs_link_ops.mount_fs if the fstype is not
5938         link but we have a sublink (Linux autofs needs this)
5940         * amd/amfs_auto.c (amfs_auto_bgmount): print the real mountpoint,
5941         not the amd entry point
5943 2002-02-09  Ion Badulescu  <ionut@moisil.badula.org>
5945         * conf/autofs/autofs_solaris_v2_v3.c (amd_rddirres): new custom
5946         structure for returning the results from readdir_2()
5947         (xdr_amd_putrddirres): renamed from xdr_autofs_putrddirres,
5948         changed to process our internal format (which is essentially the
5949         NFS readdir format)
5950         (xdr_autofs_getrddirres): not needed, deleted
5951         (xdr_amd_rddirres): renamed from xdr_autofs_rddirres, other
5952         changes to handle amd_rddirres instead of autofs_rddirres
5953         (autofs_lookup_2_req): return AUTOFS_NONE instead of
5954         AUTOFS_MOUNT_RQ, to prevent mount storms during ls -F
5955         (autofs_readdir_2_req): implemented
5956         (autofs_readdir_2_free): not needed, deleted
5957         (autofs_program_2): changes from autofs_rddirres to amd_rddirres
5958         (autofs_get_fh): changed initialization of the fh->map member, it
5959         now gets the mountpoint path because it makes it easier to
5960         implement readdir
5961         (autofs_release_fh): put #ifdef HAVE_AUTOFS_ARGS_T_ADDR around
5962         code touching fh->addr
5963         (destroy_autofs_service): new function, deregister the autofs
5964         service with the portmapper on exit
5966         * conf/autofs/autofs_linux.c (autofs_handle_missing): update
5967         statistics
5968         (destroy_autofs_service): new stub
5970         * amd/mapc.c (mapc_find): fixed indentation
5972         * amd/map.c (find_ap_recursive): renamed from find_ap2(), made
5973         static
5975         * amd/amd.h: removed prototype for find_ap2(), added prototype for
5976         destroy_autofs_service()
5978         * amd/amd.c (main): call destroy_autofs_service() before going
5979         down
5981 2002-02-07  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5983         * aux/macros/check_field.m4: need also a new version of
5984         AC_CHECK_MEMBERS (plural).
5986 2002-02-06  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
5988         * aux/macros/check_field.m4: include a fixed version of
5989         AC_CHECK_MEMBER.  g/cc will fail to check a member if the .member
5990         is itself a data structure, because you cannot compare, in C, a
5991         data structure against NULL; you can compare a native data type
5992         (int, char) or a pointer.  Solution: do what I did in my original
5993         member checking macro: try to take the address of the member.  You
5994         can always take the address of anything.
5996 2002-01-31  Erez Zadok  <ezk@localhost.localdomain>
5998         * remove old '%W%' SCCS IDs from all sources.
6000 2002-01-21  Ion Badulescu  <ionut@moisil.badula.org>
6002         * conf/mount/mount_linux.c (mount_linux): fix breakage introduced
6003         by the loop device mount support. Linux mount takes a real string
6004         as the last argument, unless the mount type is NFS, NCP, or SMB.
6006 2002-01-20  Erez Zadok  <ezk@localhost.localdomain>
6008         * hlfsd/hlfsd.h (HLFSD_VERSION): up version of hlfsd to 1.2,
6009         because we made some important changes.
6011 2002-01-20  Ion Badulescu  <lionut@gonzales.badula.org>
6013         * include/am_utils.h (D_ALL): do not include D_MTAB and D_HRTIME
6014         by default
6016         * NEWS: document latest changes
6018         * amd/map.c (unmount_mp): same fix as for hlfsd, update the
6019         seconds field in mtime because Linux ignores the useconds field
6021         * hlfsd/homedir.c: made some global vars static
6022         (plt_init): remove all trailing '/' chars from root's home;
6023         use root's home, not the username (silly bugfix)
6025 2002-01-20  Ion Badulescu  <lionut@gonzales.badula.org>
6027         * hlfsd/homedir.c (homedir): don't special case uid 0 as having /
6028         as home; instead use the root account's home
6029         (plt_init): properly initialize root_home from the root account's
6030         home directory, or as "" if root doesn't exist
6031         (plt_reset): free root_home
6033 2002-01-20  Erez Zadok  <ezk@localhost.localdomain>
6035         * hlfsd/stubs.c (nfsproc_{lookup,getattr}_2_svc): non-SYMTTL code.
6036         Increment seconds, not microseconds (which are ignored by NFS).
6037         Set symlink owner to euid.
6039         * hlfsd/homedir.c (homedir): pass gid to this function, so we can
6040         also change the effective GID of the process writing to the user's
6041         home dir, as well as the group of the hlfsd symlink.
6042         (homedir): run setegid in the right places.
6044 2002-01-15  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
6046         * scripts/redhat-ctl-amd.in: refer to @sbindir@ not
6047         ${prefix}/sbin.
6049         * scripts/ctl-{amd,hlfsd}.in: refer to @sysconfdir@ not
6050         ${prefix}/etc.  Bug report from "A Braunsdorf"
6051         <ab@eas.purdue.edu>.
6053 2002-01-13  Erez Zadok  <ezk@localhost.localdomain>
6055         * configure.in: only check for clock_gettime if --enable-debug was
6056         used.
6058         * aux/macros/opt_debug.m4: define a cache variable to record value
6059         of debug option used.
6061         * libamu/xutil.c (show_time_host_and_name): do not use
6062         clock_gettime unless debugging was compiled in.  This way, if
6063         debugging is not compiled, we don't bother linking with librt,
6064         libpthread, and a whole lot of other libraries that aren't that
6065         necessary (esp. on Linux).
6067 2002-01-12  Erez Zadok  <ezk@wavy.dyn.optonline.net>
6069         * doc/am-utils.texi (opts Option): document loop option.
6071         * include/am_utils.h: each mounted file system (mntfs) should
6072         optionally store the loop device used in the field mf_loopdev.
6074         * conf/nfs_prot/nfs_prot_linux.h: define HAVE_LOOP_DEVICE and some
6075         loop function extern definitions.  For now this code is here
6076         because we only support loop devices on Linux.
6078         * conf/mount/mount_linux.c: recognize "loop" as a valid iso9660
6079         mount option.
6080         (parse_opts): when skipping over unknown mount options, skip over
6081         "loop" (since it was given in amd map entry), but not over
6082         loop=/dev/loopX, because the latter will go into /etc/mtab.
6083         (do_mount_linux): override actual cdfs mounted  device name
6084         because with loop devices you don't mount the .iso file directly,
6085         but the /dev/loopX device that was setup for it.
6086         (show_loop, is_loop_device, find_unused_loop_device,
6087         setup_loop_device, delete_loop_device): support code for loop
6088         devices.
6090         * amd/ops_cdfs.c (mount_cdfs): pass loop device name to function.
6091         setup loop device before isofs mount, if "loop" option was given,
6092         before actual mount(2).
6093         (cdfs_mount): pass loopdev name to mount_cdfs().
6094         (cdfs_umount): delete/unset loop device after a successful
6095         unmount, if a loop device was used.
6097         * amd/mntfs.c (init_mntfs): initialize mf_loopdev to NULL.
6099         * include/am_compat.h: If loop device (header file) exists, define
6100         mount table option MNTTTAB_OPT_LOOP.
6102         * conf/nfs_prot/nfs_prot_linux.h: hack: define HAVE_LOOP_DEVICE
6103         here until we have a better way to detect /dev/loop devices.
6105         * include/am_defs.h: include <linux/loop.h> if it exists.  Define
6106         LARGEFILE support macros, possibly needed for loop devices.
6107         Redefine dev_t apropriately for loop devices.
6109         * configure.in: check for <linux/loop.h>.
6111 2002-01-10  Ion Badulescu  <ion@guppy.limebrokerage.com>
6113         * conf/mount/mount_linux.c (mount_linux): tcp _must_ have a timeo
6114         parameter 2 orders of magnitude larger than udp (patch from Trond
6115         Myklebust)
6117 2002-01-09  Erez Zadok  <ezk@localhost.localdomain>
6119         * aux/macros/linux_headers.m4: properly [quote] a long string in
6120         m4 and use AC_MSG_WARN.
6122         * ALL: put /* comments */ on #else/#endif lines everywhere.
6124         * configure.in, aux/macros/with_addon.m4: due to limitation of
6125         AC_HELP_STRING, pass 2nd arg to AMU_WITH_ADDON, listing name of
6126         package for help string.
6128         * doc/am-utils.texi (FSinfo): fixed various texinfo errors in the
6129         FSinfo section of the manual.
6130         (map_reload_interval Parameter): document new amd.conf global
6131         parameter.
6133         * scripts/amd.conf.5 document new global option
6134         map_reload_interval.  Sort entries for nfs_vers and nfs_proto
6135         alphabetically.
6137         * amd/nfs_start.c (do_select): increment do_mapc_reload's value by
6138         global map_reload_interval value, not by fixed ONE_HOUR.
6140         * amd/amd.c (main): increment do_mapc_reload's value by global
6141         map_reload_interval value, not by fixed ONE_HOUR.
6143         * scripts/amd.conf-sample (map_reload_interval): usage example
6145         * amd/amd.c (init_global_options): initialize map_reload_interval
6146         to 3600 seconds.
6148         * amd/conf.c (gopt_map_reload_interval): support a new global
6149         amd.conf option map_reload_interval, to determine how often (in
6150         seconds) Amd should check if the map source has changed and then
6151         reload it it.  This value was hard-coded to one hour, now it's the
6152         default if not otherwise specified.
6154         * doc/am-utils.texi (plock Parameter): document plock=yes option
6155         as using mlockall(2) if found.
6157         * scripts/amd.conf.5: document -S option as using mlockall(2) if
6158         found.
6160         * include/am_defs.h: include <sys/mman.h> if it exists.
6162         * configure.in: check for mlockall() function.  Check for
6163         sys/mman.h.
6165         * amd/amd.c (main): support mlockall() on systems that have it and
6166         don't have plock(3) for plock=yes.  On systems that have both,
6167         will try plock() first and then mlockall(), until one of them (if
6168         any) succeeds.
6170 2002-01-09  Erez Zadok  <ezk@whitestar.dyn.optonline.net>
6172         * aux/macros/opt_debug.m4, opt_cppflags.m4, opt_amu_cflags.m4,
6173         with_addon.m4 (ac_upcase): fix help string formatting using
6174         AC_HELP_STRING.
6176         * amd/test1.sh: simple test script for "make check".  Runs "amd
6177         -v".
6179         * amd/Makefile.am (TESTS): add one simple test script, running
6180         "amd -v" and checking its return value.  More tests can be added.
6182         * aux/macros/linux_headers.m4: use AC_MSG_WARN directly.
6184         * aux/macros/*.m4: avoid the cumbersome "changequote" M4 command.
6185         Instead, list bracketed regexp patterns in [[double brackets]].
6187         * aux/macros/header_templates.m4: remove all unnecessary
6188         HAVE_FIELD_* definitions, now that we're using autoconf's new
6189         AC_CHECK_MEMBERS.
6191         * aux/macros/field_mntent_t_mnt_time_string.m4: don't call
6193         * configure.in: use new syntax for AMU_CHECK_FIELD
6195         * aux/macros/check_field.m4: use new and simpler macro
6196         AC_CHECK_MEMBERS.  Change all sources to use HAVE_aggregate.member
6197         instead of HAVE_FIELD_aggregate.member.
6199         * aux/amdgrep: simple utility script to egrep the am-utils sources
6200         for any pattern.
6202         * aux/macros/{check_mnttab_style.m4, check_mount_style.m4,
6203         check_umount_style.m4, check_network_transport_type.m4}: use newer
6204         AC_LIBOBJ macros instead of modifying $LIBOBJS directly
6206         * aux/macros/func_bad_memcmp.m4: redefine to use native
6207         AC_FUNC_MEMCMP, and then define HAVE_BAD_MEMCMP as needed.
6209         * fsinfo/fsi_gram.y, amd/conf_parse.y: indent #pragma command so
6210         pre-ANSI C compilers will ignore it.
6212         * conf/autofs/autofs_linux.c (autofs_link_mount): call s/getpgrp()
6213         correctly depending on whether it takes a void or a 0.
6215         * configure.in: check if s/getpgrp() takes void or a 0.
6217 2002-01-08  Erez Zadok  <ezk@whitestar.dyn.optonline.net>
6219         * configure.in: use the newer AC_CONFIG_LINKS instead of
6220         AC_LINK_FILES.
6222         * aux/macros/check_autofs_style.m4, check_checkmount_style.m4,
6223         check_mnttab_style.m4, check_mount_style.m4,
6224         check_network_transport_type.m4, check_umount_style.m4,
6225         check_nfs_prot_headers.m4: removed backward compatible code for
6226         pre-autoconf-2.14.
6228 2002-01-07  Erez Zadok  <ezk@whitestar.dyn.optonline.net>
6230         * doc/Makefile.am: define @SET_MAKE@ for AC_PROG_MAKE_SET macro, since
6231         this Makefile could explicitly chdir to other directories and run
6232         make there.
6233         (install-ps): use ${MAKE} with ${MFLAGS}.
6235         * Makefile.am (EXTRA_DIST_AUX): distribute new package_*.m4 files.
6236         Define @SET_MAKE@ for AC_PROG_MAKE_SET macro, since this Makefile
6237         could explicitly chdir to other directories and run make there.
6238         (install-snapshot): use ${MAKE} ${MFLAGS}, not hardcoded "make".
6240         * configure.in: call AC_PROG_MAKE_SET to check if make program
6241         defines $MAKE variable.
6243         * amd/get_args.c (get_version_string): use new PACKAGE_* macros
6244         and also report the bug-reporting address.
6246         * aux/macros/package_{name,version}.m4, header_templates.m4: using
6247         new PACKAGE_{NAME,VERSION,BUGREPORT} macros.
6249         * aux/macros/name_bugreport.m4: simple macro to print out the
6250         bug-reporting address which was configured in AC_INIT.
6252         * bootstrap: remove new autoconf messages about misuse of
6253         m4_patsubst and m4_regexp (internal GNU M4 macros).
6255         * configure.in: remove old comment above AC_OUTPUT.
6256         Use AC_CONFIG_FILES and AC_OUTPUT separately.
6257         Fix AC_REVISION use.
6258         Add AC_COPYRIGHT.
6259         Use new style for AC_INIT, listing package name, version, and
6260         bug-reporting address.
6261         Call new AMU_PACKAGE_* macros.
6263         * updated copyright year to 2002 on all files
6265         * configure.in: using newly renamed am-utils macros (AMU_*)
6267         * aux/macros/*.m4: renamed ALL am-utils specific macros so they
6268         start with AMU_*, not AC_*.  That way it is easier to distinguish
6269         between macros that come with am-utils and those that are part of
6270         Autoconf or Automake.  It helps to identify those am-utils macros
6271         that can be removed once there is generic support for them in a
6272         future version of Autoconf.
6274         * bootstrap: run automake --copy
6275         remove autom4te.cache dir before rerunning autoconf
6277 2001-12-13  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
6279         * scripts/amd.conf.5: correct title to section 5, not 8.  Correct
6280         reversed meaning of nfs_proto and nfs_vers parameters.  Typos
6281         reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
6283 2001-12-02  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
6285         * scripts/ctl-amd.in: run "test" or "[" in front of -x/-f
6287         * scripts/ctl-hlfsd.in: run "test" or "[" in front of -x/-f
6289 2001-12-02  Ion Badulescu  <ionut@moisil.badula.org>
6291         * hlfsd/homedir.c (plt_print): fix typo (s/plot/plog/) in
6292         non-mkstemp code
6294         * scripts/ctl-amd.in: touch/remove /var/lock/subsys/amd to make RH
6295         happy
6297         * scripts/ctl-hlfsd.in: ditto (for hlfsd)
6299         * conf/mtab/mtab_file.c (rewrite_mtab): fchmod(644) the file we
6300         get from mkstemp(), otherwise samba becomes very unhappy (sigsegv)
6302         * conf/mtab/mtab_mach3.c (rewrite_mtab): ditto
6304 2001-11-29  Ion Badulescu  <ion@guppy.limebrokerage.com>
6306         * tasks: updated
6308         * NEWS: document the fixed autofs fd leak
6310         * amq/amq.8: better document the -f option
6312 2001-11-29  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
6314         * libamu/mount_fs.c (mnt_flags): same this as for nolock option
6315         handling, do for maxgrps.
6317 2001-11-29  Ion Badulescu  <ion@guppy.limebrokerage.com>
6319         * conf/autofs/autofs_linux.c (hash_init): determine the max number
6320         of fd's at runtime, use it to dynamically scale the hash and list
6321         arrays
6322         (autofs_get_fh): sanity check, don't allow a pipe() fd greater
6323         than autofs_max_fds
6324         (autofs_release_fh): close our end of the pipe here (no clue why
6325         or when it got commented out)
6326         (autofs_mounted): set kernelfd to -1 after closing it
6328 2001-11-28  Philippe Troin  <phil@fifi.org>
6330         * libamu/mount_fs.c (mnt_flags): Drop nolock from generic mount
6331         opts.
6332         (compute_nfs_args): Added nolock handling.
6333         Adapted from an original patch from Avery Pennarun <apenwarr@nit.ca>.
6335 2001-11-27  Erez Zadok  <ezk@a-hpux11i.fsl.cs.sunysb.edu>
6337         * ported to ia64-hp-hpux11.20 using HP's ANSI/C compiler.
6338         Couldn't use bison/flex because of 32-bit vs. 64-bit binaries
6339         issues.  Had to use HP's own yacc/lex.
6341 2001-11-26  Erez Zadok  <ezk@a-hpux11i.fsl.cs.sunysb.edu>
6343         * */Makefile.am: don't use $(OBJECTS) directly because it is no
6344         longer automatically defined now that Automake has automatic
6345         dependency tracking (which I turn off).  Instead, hard-code
6346         minimal dependencies on am-utils' header files to depend on
6347         PROG_OBJECTS (where PROG is the program name being built).  This
6348         was discovered by using HP's non-GNU make program.
6350         * amd/nfs_start.c (checkup): cast getpagesize() return val to
6351         long, to avoid conflicts in division of a long by an int (on
6352         hpux11i, with their ANSI/C compiler).
6354         * INSTALL, doc/am-utils.texi: port updates
6356         * minor new ports: ia64-hp-hpux11.20, i386-unknown-freebsd5.0,
6357         i386-unknown-freebsd4.4, i386-pc-linux-rh7.2,
6358         ia64-unknown-linux-rh7.1.
6360         * include/am_defs.h: actually declare extern definition for
6361         xdr_callmsg() if it doesn't already exist.
6363         * aux/macros/header_templates.m4: declare template for
6364         HAVE_EXTERN_XDR_CALLMSG.
6366         * configure.in: check for extern definition for xdr_callmsg()
6367         because hpux11 has that function but a bad <rpc/xdr.h> header file
6368         that doesn't define it in the right place.
6370         * libamu/mount_fs.c (print_nfs_args): cast ->rdev to u_long b/c
6371         on hpux11 its type is dev_t.
6373         * conf/nfs_prot/nfs_prot_hpux11.h: don't support autofs on hpux11
6374         yet.
6376 2001-11-16  Erez Zadok  <ezk@fsl-gw.fsl.cs.sunysb.edu>
6378         * buildall (Usage): separate $cnf_flags and $extra_cnf_flags due
6379         to /bin/sh limitations.
6381         * bootstrap (cmd): turn back on --ignore-deps (this Automake may
6382         have problems)
6384         * libamu/xutil.c: remove __attribute__ format_arg statement for
6385         expand_error() because this function, although taking a
6386         printf-like string, does not use it in a printf function; it only
6387         expands a non-printf amd-special syntax %m.
6389 2001-11-14  Erez Zadok  <ezk@fsl-gw.fsl.cs.sunysb.edu>
6391         * conf/nfs_prot/nfs_prot_linux.h: define KERNEL_VERSION macro
6392         before using it because older Linux systems don't define this
6393         (e.g., Red Hat 4.2)
6395 2001-11-13  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
6397         * configure.in: convert to using autoconfig 2.52.  Use new macros.
6398         AC_MSG_NOTICE for messages; AH_TOP and AH_BOTTOM to top and bottom
6399         parts of autogenerated config.h.in; increase autoconf
6400         pre-requisite to version 2.50; use AC_DISABLE_SHARED not
6401         AM_DISABLE_SHARED.
6403         * aux/macros/cache_check_dynamic.m4: finally I can use the new
6404         $ECHO_N syntax in macros instead of $ac_n, since I'm using a new
6405         autoconf.  Isn't it nice to be such forward looking and having
6406         placed a comment "XXX: use the next line for autoconf-2.14 and
6407         newer"... :-)
6409         * aux/macros/save_state.m4: highlight message with ***'s
6411         * aux/macros/host_macros.m4: use proper M4 quoting ([], not "")
6413         * config.{guess,sub}: upated from latest prep ftp distributions
6415         * depcomp, missing, mkinstalldirs: upated from latest Automake 1.5
6417         * ltmain.sh: updated from latest Libtool 1.4.2
6419         * bootstrap: finally, new autoconf doesn't print silly "AC_TRY_RUN
6420         called without default to allow cross compiling" warnings.  And,
6421         it only took like 3+ years to fix this.  But, now it has anoter,
6422         albeit less annoying warning (which the manual says to ignore):
6423         "AC_PROG_LEX invoked multiple times".
6424         When autoheader is run, don't treat the "all clear" message
6425         "config.h.in is update" as an error.
6427         * ltconfig: removed. not needed with latest version of libtool
6429         * aux/macros/header_templates.m4: replaces acconfig.h and defines
6430         all CPP macros we use in this package, including their
6431         accompanying C /* comments */.
6433         * acconfig.h: removed. replaced by new autoconf system to generate
6434         header templates using AH_TEMPLATE macros and such.
6436         * aux/macros/msg.m4: removed.  Replaced with new macro
6437         AC_MSG_NOTICE
6439         * Makefile.am (EXTRA_DIST_AUX): remove aux/macros/msg.m4.  Add
6440         aux/macros/header_templates.m4
6442         * configure.in: early, in host_macros.m4, I'm renaming silly linux
6443         $host_os names such as linux-gnu and lignux to plain "linux".
6444         Alas, RMS finally had his way and libtool will NOT recognize
6445         "linux" as a valid system, only "linux-gnu".  Sigh.  Rich, I know
6446         you're responsible to Linux's fame.  Kudos to you and your
6447         cohorts.  But please don't force the rest of us to use those ugly
6448         or long names.  Solution: temporarily name $host_os to "linux-gnu"
6449         before calling the AC_PROG_LIBTOOL macro, then name it back to
6450         "linux".  (That way I don't have to maintain my own version of
6451         ltmain.sh.
6453         * buildall: force running configure -C (to create and use a local
6454         config.cache file).  New default behavior for autoconf is NOT to
6455         use cache files.  Yeah, that's gonna fly real well with am-utils,
6456         with its 700+ automatic tests.
6458         * conf/mtab/mtab_mach3.c (rewrite_mtab): use mkstemp instead of
6459         mktemp, if the former is available.
6461         * conf/mtab/mtab_file.c (rewrite_mtab): use mkstemp instead of
6462         mktemp, if the former is available.
6464         * mk-amd-map/mk-amd-map.c (main): use mkstemp instead of mktemp,
6465         if the former is available.
6467         * aux/macros/check_nfs_socket_connection.m4: AC_DEFINE calls must
6468         be on a separate line, as per new Autoconf manual, to avoid some
6469         Bourne Shell syntactical bizarreness.
6471 2001-11-13  Erez Zadok  <ezk@a-rh71i.fsl.cs.suunysb.edu>
6473         * amd/amfs_auto.c (amfs_auto_readdir_browsable): cast to u_long,
6474         for IA64 Linux.
6476 2001-11-12  Ion Badulescu  <ionut@buggy.badula.org>
6478         * libamu/mtab.c (hasmntval): strtol can return a non-NULL pointer
6479         pointing to '\0' on success, so we need to allow for it. This
6480         fixes the problem with rejecting numerical mount options if they
6481         are the last option in the string.
6483         * configure.in: increased library patchlevel
6485         * NEWS: document the parsing bug
6487 2001-10-29  Ion Badulescu  <ionut@moisil.badula.org>
6489         * configure.in: bumped version up to 6.1a5-pre
6491         * NEWS: fixed speeling mistaike
6493 2001-10-29  Ion Badulescu  <ionut@moisil.badula.org>
6495         * released snapshot am-utils-6.1a4
6497 2001-10-26  Ion Badulescu  <ionut@moisil.badula.org>
6499         These changes fix autofs support for sublinks. While it is not
6500         perfect by any means and is hardly better than non-autofs, at
6501         least it works.
6503         * conf/autofs/autofs_solaris_v2_v3.c (autofs_lookup_2_req): don't
6504         reply if the mount is in progress
6505         (autofs_mount_succeeded): handle both delayed lookups and mounts
6506         (autofs_mount_failed): ditto
6508         * amd/amfs_auto.c (amfs_auto_lookup_mntfs): don't dispose of the
6509         original opt_fs if we have a sublink
6511 2001-10-23  Ion Badulescu  <ionut@moisil.badula.org>
6513         * amd/amfs_auto.c (amfs_auto_lookup_mntfs): fixed silly typo (mf
6514         instead of new_mf) which was causing null pointer error when
6515         sublinks were being used
6517 2001-10-22  Ion Badulescu  <ionut@moisil.badula.org>
6519         * README.autofs: updated
6521         * NEWS: updated
6523         * INSTALL: updated
6525         * AUTHORS: added myself
6527         * doc/am-utils.texi: updated
6529         * conf/autofs/autofs_solaris_v2_v3.c (xdr_autofs_rddirargs): use
6530         xdr_u_int() and cast things to (int) to appease Solaris 2.7 compile
6531         (autofs_readdir_2_req): cast req->rda_offset to (int), same as
6532         above
6534 2001-10-22  Ion Badulescu  <ionut@moisil.badula.org>
6536         Autofs direct mounts have been verified to work on Solaris2.[67].
6538         * conf/autofs/autofs_solaris_v2_v3.c (autofs_lookup_2_req):
6539         retrieve the uid and gid from the lookup request
6540         (autofs_mount_2_req): skip the first char in the name (it's a
6541         leading '/') if this is a direct mount
6543         * amd/amfs_direct.c (amfs_direct_ops): use amfs_auto_lookup_child
6544         and amfs_auto_mount_child for amfs_direct's methods
6546         * amd/amfs_auto.c (amfs_auto_lookup_child): don't leak an am_node
6547         if the mntfs lookup fails
6549 2001-10-21  Ion Badulescu  <ionut@moisil.badula.org>
6551         * include/am_utils.h (AMF_REMOUNT): new flag, marks the node as
6552         pending a remount
6553         (mntfs): new member mf_fsflags, holds a copy of the filesystem's
6554         fs_flags
6555         (am_ops): new member autofs_fs_flags, holds the filesystem's flags
6556         when mounted onto an autofs node; fs_flags renamed to nfs_fs_flags
6558         * conf/autofs/autofs_linux.c (create_autofs_service): turn on
6559         FS_MKMNT for amfs_auto and FS_MBACKGROUND for amfs_link
6560         (autofs_umount_succeeded): don't rmdir the mountpoint if a remount
6561         is needed [lest the access that triggered the remount will fail]
6563         * amd/mntfs.c (init_mntfs): copy the filesystem's nfs_fs_flags
6564         into mf_fsflags on initialization
6566         * amd/autil.c (am_unmounted): start the remounting right away if
6567         the node is marked as needing a remount [fixes the Linux autofs
6568         deadlock when mount/unmount collide]
6570         * amd/amfs_auto.c (amfs_auto_lookup_node): mark the node as
6571         needing a remount if a mount request comes in while we're
6572         unmounting it
6573         (amfs_auto_lookup_mntfs): copy the filesystem's autofs_fs_flags
6574         into mf_fsflags if this is an autofs node
6576         * amd/amfs_*.c, amd/ops_*.c: added initialization for the new
6577         autofs_fs_flags member of am_ops
6579 2001-10-20  Ion Badulescu  <ionut@moisil.badula.org>
6581         With these changes, Solaris 2.[67] autofs support is finally
6582         functional!
6584         * conf/autofs/autofs_solaris_v2_v3.c (autofs_readdir_2_req): stub
6585         (autofs_readdir_2_free, xdr_autofs_rddirargs, xdr_autofs_putrddirres,
6586         xdr_autofs_getrddirres, xdr_autofs_rddirres): new functions
6587         (autofs_lookup_2_req): do an actual lookup here, and tell the
6588         kernel to create a symlink if necessary
6589         (autofs_mount_2_req): no need to am_autofs_data
6590         (autofs_program_2): enable AUTOFS_READDIR
6591         (autofs_link_mount): no code needed here
6592         (autofs_link_umount): return success
6593         (autofs_mount_succeeded): lstat real mount points; don't mark
6594         symlinks as NOTIMEOUT
6596         * amd/mntfs.c (init_mntfs): mf_dev and mf_rdev don't exist anymore
6598         * amd/map.c (init_map): init am_dev and am_rdev to -1
6599         (free_map): free am_mfarray and all mntfs's listed
6601         * amd/autil.c (mf_mounted): move the lstat of the node to the
6602         autofs-specific code
6604         * amd/amfs_link.c (amfs_link_ops): don't background symlink creation
6606 2001-10-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6608         * aux/macros/os_cflags.m4 (irix6*): Enforce N32 ABI/mips3 ISA with cc.
6609         * BUGS: Explain this.
6611 2001-10-02  Erez Zadok  <ezk@agora.fsl.cs.sunysb.edu>
6613         * doc/am-utils.texi (redhat-ctl-amd): document new script.
6615         * scripts/Makefile.am: build redhat-ctl-amd but do not install it.
6617         * scripts/redhat-ctl-amd.in: new script, useful to correctly
6618         control Amd on Red Hat Linux systems.  Script adapted from ctl-amd
6619         and Red Hat's own rc.d script.
6621 2001-10-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6623         * conf/nfs_prot/nfs_prot_osf5.h: Renamed from nfs_prot_osf5_1.h.
6624         (MNT2_NFS_OPT_AUTO): Disable.
6625         * Makefile.am (EXTRA_DIST_CONF): Reflect new name.
6626         * aux/macros/check_nfs_prot_headers.m4: Use this file for all
6627         Tru64 UNIX V5 and up releases.
6629 2001-09-24  Ion Badulescu  <ionut@moisil.badula.org>
6631         * include/mount_headers1.h (MFS): define as 1 instead of nothing,
6632         to fix compile problems on OS X (patch from Ahmon Dancy)
6634         * aux/macros/try_compile_anyfs.m4 (MFS): ditto
6636 2001-08-13  Erez Zadok  <ezk@fsl-gw.fsl.cs.sunysb.edu>
6638         * doc/am-utils.texi (in_network Selector Variable): document
6639         expanded syntax
6641         * libamu/wire.c (is_network_member): support for network/netmask
6642         as well as network/bits syntax in in_network()
6644 2001-08-11  Erez Zadok  <ezk@a-linux64.fsl.cs.sunysb.edu>
6646         * amq/amq.c (show_mti): print full four digits for year, and print
6647         it in MM/DD/YYYY format, not in YY/MM/DD format.
6649 2001-08-11  Ion Badulescu  <lionut@gonzales.badula.org>
6651         * conf/autofs/autofs_solaris_v2_v3.c (autofs_lookup_2_req):
6652         initial attempt to do something useful -- but commented out for now
6653         (autofs_link_mount): create an action structure with a link
6654         request and pass it up
6655         (autofs_mount_2_req): pass the link request to the kernel
6656         (autofs_free_data): new helper function
6658         * conf/autofs/autofs_linux.h: added definition for autofs_data_t
6660         * conf/autofs/autofs_solaris_v2_v3.h: ditto
6662         * amd/map.c (init_map): initialize am_autofs_data
6663         (free_map): call the autofs cleanup function if necessary
6665         * include/am_utils.h (am_node): added private data and cleanup
6666         function for autofs
6668         * tasks: removed some obsolete entries
6670 2001-08-11  Erez Zadok  <ezk@a-solaris8.fsl.cs.sunysb.edu>
6672         * amd/map.c (free_map_if_success): run autofs_umount_failed() only
6673         if this mount node is of type autofs.
6675 2001-08-11  Ion Badulescu  <lionut@gonzales.badula.org>
6677         * amd/amd.h: removed mf_array from struct continuation (moved into
6678         am_node)
6680         * include/am_utils.h: removed VLOOK_LOOKUP; renamed vlookuppn to
6681         vlookup_child; added vmount_child; added mount_child to the fs_ops
6682         API; added prototypes for amfs_auto_mount_child and
6683         amfs_error_mount_child
6685         * amd/map.c (init_map): initialize am_mfarray to 0
6687         * amd/amfs_*, amd/ops_*: new API function mount_child, old API
6688         function lookuppn renamed to lookup_child
6690         * amd/amfs_auto.c: renamed amfs_auto_lookuppn1 to
6691         amfs_auto_lookup_node; renamed amfs_auto_lookuppn2 to
6692         amfs_auto_lookup_mntfs; renamed amfs_auto_lookuppn3 to
6693         amfs_auto_mount_child; moved the freeing of the error mntfs in the
6694         newly allocated am_node from lookup_mntfs to mount_child; make
6695         sure lookup_child returns a negative error if the node needs to be
6696         mounted; removed the call to lookuppn3 from lookup_child
6698         * amd/amfs_error.c: added stub implementations of
6699         amfs_error_lookup_child and amfs_error_mount_child
6701         * amd/amfs_direct.c, amd/amfs_union.c, amd/map.c, amd/nfs_subr.c,
6702         conf/autofs/autofs_linux.c, conf/autofs/autofs_solaris_v2_v3.c:
6703         call both lookup_child and mount_child, instead of the old
6704         lookuppn API method
6706 2001-07-19  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
6708         * amd/get_args.c (get_args): a better way to handle GNU and
6709         non-GNU getopts without strdup-ing the getopt string.
6711 2001-07-04  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
6713         * amd/info_ldap.c (amu_ldap_rebind): The first time you called
6714         amu_ldap_init, aldh->ldap is not set.  So when amu_ldap_rebind is
6715         called, this function is absolutely sure to return 0.  Then
6716         amu_ldap_init return 0 without having opened any LDAP connection.
6717         This is not the correct behavior.
6718         (get_ldap_timestamp, amu_ldap_search): error to free an object
6719         ("entry") that is automatically freed by the library.  Patch from
6720         Sebastien Bahloul <sebastien.bahloul@mangoosta.fr>.
6722 2001-07-19  Ion Badulescu  <ionut@moisil.badula.org>
6724         * AUTHORS (variables): added Philippe Troin
6726         * Makefile.am (EXTRA_DIST): added bootstrap
6728         * include/am_compat.h (xfs_args_t): define as u_int if the
6729         filesystem is supported but we can't autodetect the type for
6730         xfs_args_t. This allows Linux to mount xfs filesystems.
6732 2001-07-12  Philippe Troin  <phil@fifi.org>
6734         * doc/am-utils.texi: Added @dircategory Administration.
6736 2001-07-12  Philippe Troin  <phil@fifi.org>
6738         * aux/macros/with_addon.m4: Created. Wrapper around AC_ARG_WITH
6739         with only the `yes' and `no' as possible answers.
6741         * configure.in: Added support for disabling LDAP and HESIOD even
6742         if the supporting libraries are found.
6744         * Makefile.am (EXTRA_DIST_AUX): Added with_addon.m4 macro file.
6746 2001-07-12  Philippe Troin  <phil@fifi.org>
6748         * include/am_compat.h: Removed forced definition of MNTTAB_OPT_DEV
6749         if MNT2_GEN_OPT_NODEV was found. Actually, the dev= (SVR4) options
6750         and the linux nodev options are different beasts.
6752         * conf/mount/mount_linux.c (opt_map): Removed the MNTTAB_OPT_DEV
6753         entry (not really necessary on linux).
6755 2001-07-12  Philippe Troin  <phil@fifi.org>
6757         * amd/get_args.c (get_args): Prepend "+" to the getopt string if
6758         HAVE_GNU_GETOPT to avoid getting all options (even the ones after
6759         the first non-option argument) slurped in by GNU getopt.
6761         * aux/macros/check_gnu_getopt.m4: Created. Defines HAVE_GNU_GETOPT
6762         if GNU/glibc getopt implementation is detected.
6764         * configure.in: Added call to AC_CHECK_GNU_GETOPT.
6766         * acconfig.h: Document HAVE_GNU_GETOPT.
6768         * Makefile.am (EXTRA_DIST_AUX): Added check_gnu_getopt.m4 macro file.
6770 2001-06-25  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
6772         * LSM.am-utils, NEWS, README.y2k, ChangeLog: make sure all
6773         am-utils URL references use www.am-utils.org, not the columbia
6774         URL.
6776 2001-06-08  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
6778         * conf/transp/transp_sockets.c (create_nfs_service): cast to
6779         u_long to ensure clean compile on freebsd5 and bsdi2.
6781 2001-05-23  Ion Badulescu  <ionut@moisil.badula.org>
6783         WARNING: WORK IN PROGRESS
6785         It works for me on Linux (both autofs and nfs mounts), for nfs and
6786         link, but I won't make any guarantees outside those.
6788         * amd/mntfs.c (find_mntfs): reuse the mntfs only if both the mount
6789         point and the device/fileserver are the same. This is an important
6790         change of philosophy, watch out for memory leaks!
6792         * amd/map.c (get_ap_child): helper function for
6793         amfs_auto_lookuppn, creates a new am_node for key fname, inits it,
6794         and inserts it into all necessary structures
6796         * amd/amfs_auto.c (free_continuation): free unused mntfs's; don't
6797         free any of the removed fields
6798         (amfs_auto_lookuppn, amfs_auto_bgmount): split lookuppn into three
6799         subfunctions, including some code stolen from bgmount; lookuppn
6800         now generates an array of possible mntfs to try mounting, and
6801         bgmount will actually try to mount each of them.
6802         (amfs_auto_lookuppn[123]): the three new subfunctions for lookuppn
6803         (amfs_parse_defaults): new helper function for lookuppn
6805 2001-05-19  Erez Zadok  <ezk@kosh.dyn.optonline.net>
6807         * conf/mount/mount_linux.c: typo: added comma after '0' element.
6809 2001-05-19  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6811         * conf/autofs/autofs_linux.c (AUTOFS_MAX_VERSION): allow using
6812         autofs-v4 again
6813         (autofs_get_opts): don't pass pgrp, the kernel will get it
6814         automatically anyway, not to mention that we were passing bogus
6815         data if amd was not daemonized.
6817         * conf/mount/mount_linux.c (linux_nfs_error): don't special case
6818         the 0 result, just put it into the translation list
6820 2001-05-19  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6822         * conf/mount/mount_linux.c (linux_nfs_error): don't report success
6823         (0) as error (NE_IO)!
6825 2001-05-18  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6827         * amd/amfs_host.c (amfs_host_mount): don't fail the mount if at
6828         least one share is already mounted
6830 2001-05-17  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6832         * libamu/util.c (str3cat): updated comment
6834         * include/am_utils.h: added VLOOK_LOOKUP and FS_DIRECT
6836         * conf/autofs/autofs_linux.c (autofs_get_fh): removed obsolete comment
6837         (autofs_mounted): disable autofs support for host f/s if version < 4
6838         (create_autofs_service): turn on FS_MKMNT on auto f/s if using autofs
6839         (autofs_umount_succeeded): use rmdirs instead of rmdir
6840         (autofs_mount_failed): ditto
6842         * amd/opts.c (expand_op): align the debugging messages
6844         * amd/map.c (mount_auto_node): use am_node *mp instead of casting
6845         the void *arg; update the comment
6847         * amd/autil.c (am_mounted): check the FS_DIRECT flag instead of
6848         comparing to &amfs_direct_ops
6849         (mount_node): ifs_mount doesn't exist, make note of it in the
6850         comment
6852         * amd/amfs_direct.c (amfs_direct_ops): added FS_DIRECT to fs_flags
6854         * amd/amfs_auto.c (amfs_auto_mount): removed the autofs hack to
6855         create the mountpoint directory for auto f/s; it is now handled in
6856         autofs_linux.c
6857         (amfs_auto_bgmount): renamed the mpe parameter to mp_error;
6858         renamed dont_retry to retry and reverted its meaning as well;
6859         moved the mp variable up one scope and made use of it throughout
6860         the function;
6861         (amfs_auto_readdir): whitespace
6862         (amfs_auto_readdir_browsable): whitespace, also some debugging
6864         * amd/am_ops.c (vops): updated a comment
6866         * .cvsignore: added A.i386-pc-linux-rh7.[01]
6868 2001-05-01  Ion Badulescu  <ionut@gonzales.dev.hydraweb.com>
6870         * conf/mount/mount_linux.c: fixed stupid error in the linux
6871         nfs_errormap[], which was mapping ENOENT to success!!!
6873 2001-04-28  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6875         * BUGS: added info about the direct mount problems on Linux and
6876         about the kernel patches on www.am-utils.org.
6878         * conf/autofs/autofs_solaris_v2_v3.c (autofs_unmount_2_req):
6879         removed obsolete comment
6881         * amd/autil.c (forcibly_timeout_mp): always log a message when the
6882         forced unmount request is ignored
6883         (mf_mounted): don't lstat unless this is an autofs mount point,
6884         lest we deadlock
6886         * amd/amfs_auto.c (amfs_auto_bgmount): don't gratuitously add
6887         MFF_MKMNT to the flags, it causes deadlocks later on when
6888         unmounting
6890 2001-04-14  Erez Zadok  <ezk@whitestar.dyn.optonline.net>
6892         * COPYING: update copyright year
6894         * amd/amfs_auto.c, amd/amfs_host.c, amd/amfs_nfsx.c,
6895         amd/amfs_toplvl.c, amd/amfs_union.c, amd/conf.c, amd/info_nis.c,
6896         amd/info_nisplus.c, amd/mapc.c, amd/nfs_subr.c, amd/ops_nfs.c,
6897         amd/rpc_fwd.c, amd/srvr_amfs_auto.c, amd/srvr_nfs.c,
6898         conf/autofs/autofs_solaris_v1.c, conf/mtab/mtab_file.c,
6899         conf/mtab/mtab_isc3.c, conf/mtab/mtab_svr4.c,
6900         conf/transp/transp_sockets.c, conf/transp/transp_tli.c,
6901         libamu/mount_fs.c, libamu/mtab.c: rewritten various dlog/plog
6902         messages for clarity, to avoid duplication, to better recognize
6903         what the message means and where it ran, and to fix typos.
6905         * amd/nfs_subr.c (nfsproc_lookup_2_svc): moved trace message of
6906         function's name to the beginning of the function, before any other
6907         messages are logged.
6909 2001-04-14  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6911         * conf/mount/mount_linux.c (do_mount_linux): removed plog() of
6912         binary data
6914 2001-04-05  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6916         * include/am_defs.h: define NFSCLIENT, NFS, PCFS, LOFS, RFS,
6917         MSDOSFS, MFS and CD9660 to 1, so that both #if FOO and #ifdef FOO
6918         work (needed for MacOS X); removed duplicate definition of NFS.
6920 2001-03-29  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6922         * amd/amd.h, amd/amfs_auto.c, amd/conf.c,
6923         doc/am-utils.texi,
6924         scripts/amd.conf-sample, scripts/amd.conf.5:
6925         renamed selectors_on_default to selectors_in_defaults,
6926         kept the former as a deprecated option;
6927         renamed CFM_ENABLE_DEFAULT_SELECTORS to CFM_SELECTORS_IN_DEFAULTS;
6928         renamed gopt_selectors_on_default() to gopt_selectors_in_defaults()
6930 2001-03-19  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6932         * amd/amfs_toplvl.c, amd/amfs_auto.c, amd/srvr_nfs.c,
6933         include/am_utils.h: compile fixes for --enable-debug=no
6935 2001-03-15  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6937         * NEWS: updated
6939         * README.autofs: updated
6941         * conf/mount/mount_linux.c (linux_version_code): export the fn
6943         * conf/nfs_prot/nfs_prot_linux.h: ditto
6945         * conf/autofs/autofs_linux.c (create_autofs_service): verify the
6946         kernel version here, and turn off bind_works if the kernel is
6947         older than 2.4.0.
6948         (autofs_link_mount): don't touch bind_works here, it's useless
6949         b/c we're in a child process; remove the mountpoint directory if
6950         the bind mount fails
6952         * amd/opts.c (eval_fs_opts): changed some annoying debugging plogs
6953         into dlogs
6955         * conf/autofs/autofs_linux.c (autofs_link_mount): zero out the
6956         mntent struct before initializing it
6958 2001-03-14  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
6960         * conf/mount/mount_linux.c (parse_opts): added support for lofs
6961         (mount_linux): support lofs through bind mounts and/or FiST lofs
6963         * scripts/ctl-hlfsd.in: search for /var/spool/mail in addition to
6964         /var/mail and /usr/spool/mail
6966         * conf/nfs_prot/nfs_prot_linux.h (MS_BIND): add define for it, if
6967         kernel is newer than 2.4.0
6968         (MNTTYPE_LOFS): ditto
6970         * conf/autofs/autofs_solaris_v2_v3.c (autofs_link_umount): new stub
6971         (autofs_lookup_failed): removed stub
6973         * conf/autofs/autofs_linux.c (autofs_lookup_failed): moved up in
6974         the file, made static;
6975         (autofs_link_mount): activate MNT2_GEN_OPT_BIND code; use stat()
6976         and friends to determine if bind mounts can be used and to trigger
6977         further cascading mounts; return proper error codes
6978         (autofs_link_umount): distinguish between symlinks and bind mounts
6979         and handle both correctly
6980         (autofs_umount_succeeded): remove call to autofs_link_umount()
6982         * amd/map.c (umount_exported): try to unmount all mount points on
6983         an autofs filesystem; this isn't really needed and will be removed
6984         when we start handling restarting autofs mounts
6986         * amd/amfs_link.c (amfs_link_[u]mount): call autofs_link_[u]mount,
6987         if necessary
6989         * amd/amfs_auto.c (amfs_auto_bgmount): fixed a bug that was
6990         causing the wrong mntfs to be selected when using autofs; removed
6991         call to autofs_link_mount() (moved where it belongs, in
6992         amfs_link.c)
6994         * amd/amfs_link.c: added FS_MBACKGROUND to fs flags -- cleaner
6995         solution is needed, because background mounting is only necessary
6996         for linux autofs + bind mounts
6998         * amd/amd.h: removed prototype for autofs_lookup_failed (internal
6999         static function for linux autofs); added prototype for
7000         autofs_link_umount
7002         * configure.in: bump up library patchlevel
7004 2001-02-28  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7006         * aux/macros/check_mount_trap.m4,
7007         aux/macros/check_nfs_fh_dref.m4,
7008         aux/macros/check_nfs_prot_headers.m4,
7009         aux/macros/type_recvfrom_fromlen.m4,
7010         aux/macros/type_yp_order_outorder.m4:
7011         Fixed newer freebsd's fh type, expanded more aix3, osf2, hpux9 to
7012         aix[1-3], osf[1-3] and hpux[6-9].
7014 2001-02-28  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7016         * check_mount_style.m4, check_mount_trap.m4,
7017         check_network_transport_type.m4, check_nfs_fh_dref.m4,
7018         check_nfs_prot_headers.m4, check_nfs_sa_dref.m4,
7019         check_nfs_socket_connection.m4, os_cflags.m4,
7020         type_yp_order_outorder.m4: small fixes to Ion's cleanup, and more
7021         cleanup (use [[0-1]] instead of M4 changequote commands).
7023         * Makefile.am: removed unused conf/trap/trap_hpux11.h
7025 2001-02-27  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7027         * aux/macros/check_network_transport_type.m4,
7028         aux/macros/check_mount_style.m4,
7029         aux/macros/check_mount_trap.m4,
7030         aux/macros/check_network_transport_type.m4,
7031         aux/macros/check_nfs_fh_dref.m4,
7032         aux/macros/check_nfs_prot_headers.m4,
7033         aux/macros/check_nfs_sa_dref.m4,
7034         aux/macros/check_nfs_socket_connection.m4,
7035         aux/macros/os_cflags.m4,
7036         aux/macros/type_auth_create_gidlist.m4,
7037         aux/macros/type_recvfrom_fromlen.m4,
7038         aux/macros/type_yp_order_outorder.m4:
7039         Reworked the scripts, so that a new _unknown_ version of a known OS
7040         will use the option for the newest _known_ version of that OS. For
7041         example, when freebsd6 comes out, it will use the stuff for
7042         freebsd5, not the stuff for freebsd2. This makes configure more
7043         likely to succeed on new systems/versions.
7045         * Makefile.am (EXTRA_DIST_AUX): added check_autofs_style.m4 (grr)
7047 2001-02-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7049         * Makefile.am (install-snapshot): use a different symlink target
7050         for the experimental snapshots.
7052 2001-02-23  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7054         * Makefile.am (EXTRA_DIST_CONF): include nfs_prot_darwin.h in
7055         distributions.
7057 2001-02-22  Erez Zadok  <ezk@earth.cs.columbia.edu>
7059         * released snapshot am-utils-6.1a3
7061         * amd/Makefile.am (EXTRA_amd_SOURCES): don't forget to distribute
7062         get_args.c
7064 2001-02-21  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7066         * libamu/mtab.c: added the functions hasmnteq and haseq to
7067         ease checks for non-numeric values in opt=value strings.
7068         Recoded hasmntval to qualify input as numeric, allow hex and
7069         octal strings on rhs of =, and log when the value is missing
7070         or invalid.
7072         * conf/mount/mount_linux.c: revised mount_linux to use new
7073         hasmnteq function to extract type of non-nfs mounts, and added
7074         a log message to catch possible failure of strdup.
7076         * amd/am_ops.c: revised merge_ops to use new haseq function
7078         * amd/srvr_nfs.c: revised find_nfs_srvr to use hasmnteq to
7079         discover protocol setting.
7081         * include/am_utils.h: added function prototypes for hasmnteq
7082         and haseq
7084 2001-02-19  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7086         * include/mount_headers2.h (_LINUX_NFS3_H): define it, to avoid
7087         pulling in unwanted declarations from 2.2.19pre and 2.4.1ac
7089         * include/am_defs.h (_LINUX_NFS3_H): ditto
7091         * conf/nfs_prot/nfs_prot_linux.h: whitespace, comments
7093 2001-02-19  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7095         * aux/macros/check_fs_mntent.m4 (ac_safe): remove debugging "echo"
7096         command.
7098 2001-02-18  Erez Zadok  <ezk@earth.cs.columbia.edu>
7100         * aux/macros/mount_headers.m4, include/mount_headers[12].h: split
7101         mount_headers.h in two because one relative header (nfs_prot.h)
7102         file cannot be included inside another from the start directory of
7103         the first (it's relative to the directory of the first).
7105 2001-02-09  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7107         * AUTHORS: added Ahmon Dancy <dancy@franz.com>
7109         * (all): added Darwin/Rhapsody/Apple OS X support from Ahmon Dancy
7111         * aux/macros/mount_headers.m4: moved all the C code into a
7112         separate file, include/mount_headers.h; the effect is that
7113         configure goes down in size by a factor of 2.5!
7115         * include/mount_headers.h: new file, with C code from
7116         aux/macros/mount_headers.m4
7118 2001-02-01  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7120         * conf/mount/mount_linux.c: made linux_nfs_error() more robust.
7122 2001-02-01  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7124         * released snapshot am-utils-6.1a2
7126         * updated ltmain.sh and ltconfig from latest stable version of
7127         libtool-1.3.5
7129 2001-02-01  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7131         * conf/nfs_prot/nfs_prot_linux.h (nfs_error): moved the definition
7132         of nfs_error here, from mount_linux.c, so that it can actually be
7133         used.
7135         * conf/mount/mount_linux.c: added unused errno 41 to the
7136         nfs_errormap array, lest the following errno's get shifted up by
7137         one!
7139 Sat Jan 13 00:04:38 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7141         * amd/amd.h (autofs_lookuppn): Fixup whitespace.
7142         * amd/amfs_auto.c (amfs_auto_bgmount): Likewise.
7143         * amd/amfs_error.c: (amfs_error_match): Likewise.
7144         * amd/amfs_host.c (fetch_fhandle): Fixup whitespace.  Remove
7145         unnecessary temporary variable.
7146         * amd/info_file.c (read_line): Likewise.
7147         (search_or_reload_file): Likewise.
7148         * amd/info_ldap.c (get_ldap_timestamp): Likewise.
7149         * amd/map.c (get_root_ap): Likewise.
7150         * amd/nfs_prot_svc.c: Likewise.
7151         * amd/ops_TEMPLATE.c (foofs_match, foofs_lookuppn,
7152         foofs_readlink, foofs_ffserver): Likewise.
7153         * amd/ops_autofs.c (autofs_bgmount): Likewise.
7154         * amd/ops_lofs.c (lofs_match): Likewise.
7155         * amd/ops_nfs.c (got_nfs_fh): Fixup whitespace.
7156         * amd/ops_xfs.c (xfs_match): Likewise.
7157         * amd/srvr_amfs_auto.c (srvrlog): Line break.
7158         * amd/srvr_nfs.c (got_portmap, call_portmap, nfs_pinged,
7159         nfs_srvr_port): Fixup whitespace.
7160         * conf/nfs_prot/nfs_prot_bsdi2.h: Likewise.
7161         * conf/nfs_prot/nfs_prot_hpux.h: Likewise.
7162         * conf/nfs_prot/nfs_prot_hpux11.h: Likewise.
7163         * conf/nfs_prot/nfs_prot_irix5.h: Likewise.
7164         * conf/nfs_prot/nfs_prot_irix6.h: Likewise.
7165         * conf/nfs_prot/nfs_prot_nextstep.h: Likewise.
7166         * conf/nfs_prot/nfs_prot_osf2.h: Likewise.
7167         * conf/nfs_prot/nfs_prot_osf4.h: Likewise.
7168         * conf/nfs_prot/nfs_prot_osf5_1.h: Likewise.
7169         * conf/nfs_prot/nfs_prot_sunos3.h: Likewise.
7170         * conf/nfs_prot/nfs_prot_sunos4.h: Likewise.
7171         * conf/nfs_prot/nfs_prot_ultrix.h: Likewise.
7172         * conf/transp/transp_tli.c (get_mount_client): Likewise.
7173         * hlfsd/nfs_prot_svc.c: Likewise.
7174         * include/am_defs.h (sys_errlist): Likewise.
7175         * include/am_utils.h (am_get_progname, am_get_hostname,
7176         amq_program_1): Likewise.
7177         (nfsxprt): Moved declaration.
7179 Fri Jan 12 23:31:45 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7181         Removed support for amq -M.
7183         * acconfig.h (ENABLE_AMQ_MOUNT): Removed.
7184         * aux/macros/opt_amq_mount.m4: Removed.
7185         * Makefile.am (EXTRA_DIST_AUX): Don't distribute
7186         opt_amq_mount.m4.
7187         * configure.in (AC_OPT_AMQ_MOUNT): Removed invocation.
7189         * amd/amq_subr.c (ok_security, amqproc_mount_1_svc): Removed.
7190         * amd/amq_svc.c (amq_program_1): Removed amq -M support.
7191         * amq/amq.c (mount_map): Removed.
7192         (main): Removed -M option handling.
7193         Removed transport-type specific CLIENT creation.
7194         (get_secure_amd_client, amq_bind_resv_port, privsock): Removed.
7196         * amq/amq.8: Removed -M documentation.
7197         * doc/am-utils.texi (Top-level Filesystem): Removed amq -M
7198         reference, but retain comment on mount -t amd.
7199         (Controlling Amd): Likewise.
7201         * tasks: Removed this task.
7203 Fri Jan 12 23:18:26 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7205         * conf/autofs/autofs_*.c: Bump copyright year to 2001.
7206         * hlfsd/hlfsd.h (HLFSD_VERSION): Likewise.
7208         * aux/macros/check_autofs_style.m4: Renamed solaris[12] styles to
7209         solaris_v1, solaris_v2_v3 to reflect that these are AutoFS
7210         protocol version numbers, not solaris versions.
7211         * conf/autofs/autofs_solaris[12].[ch]: Renamed to
7212         autofs_solaris_{v1, 2_v3}.[ch] to reflect this.
7213         * Makefile.am (EXTRA_DIST_CONF): Likewise.
7215         * aux/macros/check_autofs_style.m4: Use solaris2 style for both
7216         versions 2 and 3 of the AutoFS protocol.
7218         Handle missing AUTOFS_POSTUNMOUNT, AUTOFS_POSTMOUNT (unnecessary
7219         with Solaris 8 mntfs).
7221         * conf/autofs/autofs_solaris2.c (xdr_postumntreq, xdr_postumntres,
7222         xdr_postmountreq, xdr_postmountres, autofs_postunmount_2_req,
7223         autofs_postmount_2_req ): Don't define for version 3.
7224         (autofs_program_2): Don't handle AUTOFS_POSTUNMOUNT,
7225         AUTOFS_POSTMOUNT if missing.
7227         * conf/nfs_prot/nfs_prot_sunos5_8.h: Enable AutoFS support.
7229         * aux/macros/check_autofs_style.m4: Use empty autofs_default.[ch]
7230         files on systems without existing autofs port.
7231         * conf/autofs/autofs_default.[ch]: New files, empty.
7232         * Makefile.am (EXTRA_DIST_CONF): Distribute them.
7233         * INSTALL: With this change, Solaris 8 and Tru64 5.1 compile and
7234         link.
7236 2001-01-12  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7238         * Makefile.am (EXTRA_DIST): distribute new LDAP files.
7240         * README.ldap, ldap-id.txt, ldap-id.ms: LDAP status information,
7241         proposed Schema, and internet draft.
7243 Fri Jan 12 22:27:07 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7245         * Support Tru64 UNIX V5.1:
7247         * conf/nfs_prot/nfs_prot_osf5_1.h: New file.
7249         * Makefile.am (EXTRA_DIST_CONF): Distribute it.
7251         * aux/macros/check_nfs_prot_headers.m4: Tru64 UNIX V5.1 has
7252         AutoFS, need to disable it until a port exists.
7254         * INSTALL, doc/am-utils.texi (Supported Platforms): Mention new
7255         minor port.
7257 2001-01-09  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7259         * ALL: bump copyright year to 2001.
7261 2001-01-05  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7263         * acconfig.h: correct comments for NODEV/NONDEV mount options
7265 Fri Jan  5 05:12:02 2001  Erez Zadok  <ezk@subzero.cs.columbia.edu>
7267         * libamu/xdr_func.c: removed ugly casts to "groups*", now that
7268         irix6's nfs_prot.h is fixed.
7270         * conf/nfs_prot/nfs_prot_irix6.h: copied relevant parts of
7271         <rpcsvc/mount.h> here so we don't have to include this header.
7273 2001-01-04  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7275         * conf/nfs_prot/nfs_prot_irix6.h: redefine "groups" typedef to
7276         struct groups, not the pointer to this struct.
7278         * include/am_xdr_func.h: prototype should take "groups *" as 2nd
7279         arg.
7281         * libamu/xdr_func.c (xdr_groupnode, xdr_exportnode): change
7282         casting of second arg of xdr_groups to "groups *".  It's only
7283         needed for irix6, due to problems with xdr_groups on that platform.
7284         (xdr_groups): prototype should take "groups *" as 2nd arg.
7286         * conf/nfs_prot/nfs_prot_aix*.h: correct xdr_groups extern
7287         definition.  Report from Ahmon Dancy <dancy@franz.com>.
7289 2000-12-06  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7291         * include/am_defs.h: force non-inclusion of <linux/fs.h> via
7292         <linux/auto_fs.h>
7294         * conf/autofs/autofs_linux.c (autofs_mounted): rename
7295         AUTOFS_MIN_PROTO_VERSION to AUTOFS_MIN_VERSION (leftover from
7296         previous commit)
7298         * configure.in: fixed libtool version
7300 2000-12-02  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7302         * doc/am-utils.texi (opts Option): document lock/nolock
7304 2000-12-02  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7306         * conf/autofs/autofs_linux.h: added struct autofs_pending_mount;
7307         modified autofs_fh_t to have a linked list of autofs_pending_mount;
7308         added some support for autofs4
7310         * conf/autofs/autofs_linux.c: use a linked list for pending
7311         request, to allow for handling multiple simultaneous request;
7312         incipient non-functional support for autofs4; incipient
7313         non-functional support for bind-mounting
7315         * amd/amd.c (main): print a warning if PROCLOCK is requested but
7316         the O/S doesn't support it
7318         * libamu/mount_fs.c (mnt_flags): allow the use of the "nolock"
7319         option
7321         * include/am_defs.h: don't include <linux/fs.h> on a glibc2
7322         system; include <linux/auto_fs4.h> if it exists, instead of
7323         <linux/auto_fs.h>
7325         * include/am_compat.h: define the "nolock" mnttab option if the
7326         NONLM NFS mount option is defined
7328         * acconfig.h: added MNT2_NFS_OPT_NONLM, MNT2_GEN_OPT_BIND
7330         * configure.in: added detection of the NONLM Linux NFS mount
7331         option; added a clarification for the library versioning rules and
7332         increased the minor level; added detection of <linux/auto_fs4.h>
7333         and the MS_BIND generic mount option
7335 2000-11-29  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7337         * Enabled Solaris 2.7 autofs support (tested, works)
7339         * Updated NEWS, README.autofs
7341         * Updated Makefile's, make dist is now fixed
7343         * Fixed potential memory leak in map.c
7345         * Fixed autofs style detection for solaris 2.[67]
7347         * Added a few casts in autofs_solaris2.c, needed on Solaris 2.7
7349 2000-11-28  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7351         More Solaris 2.[67] work in progress:
7353         * changed the API for the mount/umount methods: fmount/fumount are
7354         gone, and mount/umount now take two arguments (am_node and mntfs)
7356         * changed the semantics of the MFF_AUTOFS flag: MFF_AUTOFS now
7357         means the mntfs is a filesystem of type autofs, and AMF_AUTOFS
7358         means the am_node is a node on a filesystem of type autofs.
7360         * renamed nfs_program_2_transp to current_transp so it can be used
7361         with autofs
7363         * renamed quick_reply() to nfs_quick_reply()
7365         * added two more autofs methods: autofs_umount_failed() and
7366         autofs_compute_mount_flags() -- it turns out that on sol2.6 the
7367         autofs mounts MUST be overlay'ed
7369         * moved the autofs_mount_succeeded() into am_mounted()
7371         * made amd *not* timeout autofs mounts -- the kernel will do it
7372         for us
7374         * store dev and rdev of a mounted filesystem in the mntfs
7375         structure, to help autofs
7377         * moved the rmdirs() call from uninit_mntfs() to am_umounted(), to
7378         prevent deadlocking with autofs
7380         * amd/Makefile.am: shuffled things around to make
7381         update_build_version be the last thing that runs
7383 2000-11-27  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7385         * split amd/ops_autofs.c into conf/autofs/autofs_<system>.c files
7386         and made configure create a symlink to the appropriate one
7388         * moved the xdr autofs functions from libamu/xdr_func.c into the
7389         system-specific conf/autofs/autofs*.c
7391         * added some more experimental code to the sol2.6 autofs support,
7392         but it's by no means functional
7394 2000-11-27  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7396         * libamu/wire.c (getwire_lookup): truncate the hostname to
7397         MAXHOSTNAMELEN characters.
7399 2000-11-26  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7401         * include/am_utils.h (MAXHOSTNAMELEN): if not defined, set this to
7402         256 bytes, not 64.   Suggestion form Kris Kennaway
7403         <kris@FreeBSD.org>.
7405 2000-11-26  Erez Zadok  <ezk@dmath5.geometrie.tuwien.ac.at>
7407         * configure.in (AC_CHECK_MNT2_NFS_OPTS): check for NFS mount
7408         options kerb, rdirplus, readdirsize, and xlatecookie
7409         (NetBSD-1.5K).
7411         * acconfig.h: recognize NFS mount options rdirplus, readdirsize,
7412         and xlatecookie (NetBSD-1.5K)
7414 2000-11-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7416         * amd/srvr_nfs.c: comment on NFS proto search order.
7418         * libamu/xutil.c (real_plog): don't try to write the last byte of
7419         the fmt buf.  security suggtion from NetBSD: Thomas Klausner
7420         <wiz@danbala.ifoer.tuwien.ac.at>
7422 2000-11-22  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7424         * amd/amfs_auto.c (amfs_auto_bgmount): removed the initialization of
7425         fattr.na_fileid, it is now done in map.c when the map is initialized
7427         * amd/map.c (init_map): initialize fattr.na_fileid to am_gen, not
7428         to 0, to avoid cache aliasing problems on Linux (and to follow the
7429         NFS spec!)
7431 2000-11-22  Thomas Klausner <wiz@danbala.ifoer.tuwien.ac.at>
7433         * libamu/mount_fs.c (mount_fs): avoid using extra limited-size buf
7434         (security)
7436         * libamu/xutil.c, fsinfo/fsinfo.h, include/am_utils.h: use
7437         __attribute__, __format__, and __printf__ for GCC string auditing.
7439         * wire-test/wire-test.8: this is not a section 8L man page.
7441         * libamu/xutil.c (expand_error): don't use sys_nerr on systems
7442         that support strerror().
7443         (dplog): fmt is const
7444         (plog): fmt is const
7445         (real_plog): fmt is const.  use new expand_error function with its
7446         new return value. be more careful about running off the end of
7447         char[] fixed size buffers.
7449         * libamu/wire.c (getwire): fix alignment error on alpha using an
7450         extra automatic storage variable ifrpool.
7452         * hlfsd/hlfsd.c (fatal): use proper printf style to plog.
7454         * fsinfo/fsinfo.c (find_username): getlogin() returns a const.
7456         * fsinfo/fsi_util.c (error, lerror, lwarning, fatal, log): use
7457         vfprintf.
7459         * fsinfo/fsi_lex.l (yyerror): use vfprintf.
7461         * fixmount/fixmount.8: this is not a section 8L man page.
7463         * doc/am-utils.texi (Hesiod maps): fixed typo.
7465         * amd/sched.c (do_task_notify): typo in comment.
7467         * amd/opts.c (expand_op): expand_error[] is a const char *.
7469         * amd/amd.c (main): use proper printf style to plog.
7471 2000-11-22  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7473         * libamu/mount_fs.c (mnt_flags, compute_nfs_args): recognize
7474         proplist mnttab flag.  Bug fix from Wolfram Klaus
7475         <klaus@physik.fu-berlin.de>.
7477 2000-11-19  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7479         * updated config.guess, config.sub, and doc/texinfo.tex from
7480         mirrors
7482         * Makefile.am (update): proper updating of config.* and texinfo
7483         from mirrors.
7485         * aux/macros/check_nfs_prot_headers.m4: newer netbsd systems
7486         reports their system name as "netbsdelf" in config.guess.
7488 2000-11-13  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7490         * doc/am-utils.texi (opts Option): document new mount option
7491         "proplist"
7493         * include/am_compat.h: define amd mount option "proplist" if the
7494         system doesn't recognize it, but the NFS bit flag exists.
7496         * configure.in, acconfig.h: recognize/support "proplist" NFS mount
7497         option in Amd, useful under DU-4.0 to process ACLs over NFS
7498         mounts.
7500 2000-11-10  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7502         * conf/mount/mount_linux.c (mount_linux): removed unnecessary
7503         rsize/wsize defaults -- performance killers on 2.2.18+ and 2.4.0+
7505 2000-10-16  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7507         * scripts/am-eject.in: accept "cdrom" and "floppy" as arguments.
7509 2000-11-05  Ion Badulescu  <ionut@moisil.dev.hydraweb.com>
7511         Too many changes to list them here. Here's a high level
7512         description:
7514         * Forward-ported the Linux fixes from 6.0.5pre
7516         * Got rid of a mountain of #ifdef DEBUG, replaced with smart
7517         header-file #ifdef's
7519         * and, the grand finale: initial Solaris 2.6 autofs
7520         support. Compiles, mounts, gets requests; all the
7521         infrastructure is in place to actually implement the calls. Linux
7522         autofs might be a bit broken, but only compile-time so it'll be
7523         easy to fix.
7525 2000-11-01  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7527         * MIRRORS (Note): added a mirror at ufl.edu
7529 2000-10-11  Erez Zadok  <ezk@lorien.dev.hydraweb.com>
7531         * amq/amq.8: synchronize Amq's options with reality
7533         * amq/amq.c (main): synchronize Amq's usage() string with reality
7535 2000-10-10  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7537         * scripts/ctl-amd.in: add targets condrestart (redhat) and
7538         reload.
7540 2000-10-04  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7542         * scripts/lostaltmail.in (vrfy_user): ensure that MAILDIR is
7543         defined.
7545 2000-09-18  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7547         * amd/opts.c (backslash): Bell char (ASCII 007) should be \g, not
7548         \a.
7550 2000-09-17  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7552         * include/am_utils.h: removed unused field opt_autopref
7554         * amd/opts.c: removed unused variable $autopref
7556 2000-09-05  Erez Zadok  <ezk@aladdin.dev.hydraweb.com>
7558         * conf/mtab/mtab_svr4.c (lockfile): function not needed unless
7559         MOUNT_TABLE_ON_FILE is defined.
7560         mtlckname static var is onlyneeded if MOUNT_TABLE_ON_FILE.
7561         (update_mnttab_fields): only needed if MOUNT_TABLE_ON_FILE.
7563 2000-09-03  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7565         * buildall (Usage): typo in usage string
7567 2000-08-25  Erez Zadok  <ezk@lynn.soscorp.com>
7569         * conf/mount/mount_linux.c (mount_linux): MNT2_NFS_OPT_VER3 may
7570         is no defined on older Linux systems (kernel 2.0.36)
7572 2000-08-19  Erez Zadok  <ezk@earth.cs.columbia.edu>
7574         * scripts/amd.conf.5: correct swapped descriptions for ldap_base
7575         and ldap_hostports.
7577         * doc/am-utils.texi: correct swapped descriptions for ldap_base
7578         and ldap_hostports.
7580         * scripts/amd.conf-sample: swap examples for ldap_base and
7581         ldap_hostports.
7583 2000-08-13  Erez Zadok  <ezk@earth.cs.columbia.edu>
7585         * scripts/amd.conf-sample: -O is CLI equivalent to "os"
7586         amd.conf parameter
7588 2000-07-30  Erez Zadok  <ezk@earth.cs.columbia.edu>
7590         * scripts/amd.conf-sample (nfs_retransmit_counter): correct
7591         meaning and use of parameter
7593 2000-07-23  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7595         * doc/am-utils.texi: updated URLs to www.am-utils.org.
7597 2000-07-04  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7599         * doc/am-utils.texi (Supported Platforms): document osf4.0f
7601 2000-06-19  Erez Zadok  <ezk@vir.cs.columbia.edu>
7603         * doc/am-utils.texi (dollar Selector Variable): document
7604         ${dollar}.
7606         * amd/opts.c: special new variable ${dollar} which expands into a
7607         literal '$' sign.  Otherwise there is no way to include a literal
7608         dollar symbol in an amd map.
7610 2000-06-11  Ion Badulescu  <ib42@moisil.cs.columbia.edu>
7612         * amd/opts.c (eval_selectors): don't deref opt after it's been
7613         XFREE'd
7615 2000-06-11  Erez Zadok  <ezk@earth.cs.columbia.edu>
7617         * amd/opts.c: move mount_type expansion until later in the list,
7618         so common variable are "hit" first.
7620 2000-06-11  Ion Badulescu  <ib42@moisil.cs.columbia.edu>
7622         * amd/opts.c (split_opts, eval_selectors): split old function
7623         eval_opts into two, one that only splits non-selectors and
7624         assigns the values to fs_static, and one that only evaluates
7625         selectors; also simplified the rather obfuscated logic inside
7626         these functions
7627         (expand_op): made it take a char * instead of a structure from
7628         which it was using only one field (a char *). Also now returns a
7629         char * instead of modifying said structure in place
7630         (expand_opts): deal with the change above
7631         (expand_selectors): renamed from expand_key
7632         (expand_options): new function, expands non-selectors; it's the
7633         complement of expand_selectors, both of which are just wrappers
7634         around expand_op()
7635         (eval_fs_opts): use the new split_opts, eval_selectors to allow
7636         using options (like ${rhost}) in selectors
7638 2000-06-11  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
7640         * config.guess.long: munge config.guess' output so that intel
7641         linux appears as i386-pc-linux
7643 Fri Jun  9 16:06:56 2000  Erez Zadok  <ezk@defiant.dev.hydraweb.com>
7645         * conf/nfs_prot/nfs_prot_bsdi2.h: getifaddrs() on bsdi2 is broken.
7646         Don't use it.
7648 2000-06-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7650         * amd/mapc.c (maptypes): Change default allocation mode to
7651         MAPC_INC where reload support is missing to avoid warning in
7652         mapc_create().
7654 2000-06-09  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7656         * conf/nfs_prot/nfs_prot_sunos5_5.h: turn off autofs support for
7657         solaris 2.5 until a full port can be done.
7659 2000-06-07  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7661         * Makefile.am, aux/GNUmakefile: fix maintainer rules to update
7662         config.* and texinfo.tex files.
7664         * amd/nfs_subr.c (nfsproc_getattr_2_svc): Don't conditionalize the
7665         mtime update of the symlinks on the SYMTTL option, but rather
7666         delay unmount of what was looked up using am_timeo_w.  Patch from
7667         Nick Williams <Nick.Williams@msdw.com>.  As Nick says "Basically:
7668         during unmount, increment the parent dir's mtime (fixes
7669         people doing amq -u). During stat, increase the TTL (to fix bad-luck
7670         timeouts), but leave the mtime alone."
7672         (nfsproc_lookup_2_svc, nfsproc_readlink_2_svc, unlink_or_rmdir,
7673         nfsproc_readdir_2_svc): correctly update d_drops stats for amq -s.
7674         Patch from Nick Williams <Nick.Williams@msdw.com>.
7676         * amd/map.c (unmount_mp): update mtime of amd symlink to further
7677         reduce the chances of race conditions between unmounting and
7678         looking up an entry again.  Patch from Nick Williams
7679         <Nick.Williams@msdw.com>.
7681         * README: updated instructions
7683         * bootstrap: remove log file before existing
7685 2000-06-06  Erez Zadok  <ezk@aladdin.dev.hydraweb.com>
7687         * configure.in: no longer using aux/ subdir. don't force autoconf
7688         2.14. comment out (but leave explanation) everything that's needed
7689         for autoconf 2.14, so for now it works with autoconf-2.13, but the
7690         code is ready for 2.14 when it is released.  Similar changes to
7691         make code work with automake-1.4, until the next release comes
7692         out.
7694         * libamu/Makefile.am: include definitions that are required in
7695         automake 1.4, but won't be necessary when the next release of
7696         automake comes out (see XXX comments).
7698         * cache_check_dynamic.m4, check_checkmount_style.m4,
7699         check_mnttab_style.m4, check_mount_style.m4,
7700         check_network_transport_type.m4, check_nfs_prot_headers.m4,
7701         check_umount_style.m4: use symlink creation code that works for
7702         both autoconf 2.13 and 2.14 (when the latter comes out).
7704         * bootstrap: new script for maintainers to run to update autoconf,
7705         automake, and libtool related files.  Has the same effect as
7706         "buildall -K".
7708         * removed dependencies on CVS versions of autoconf, automake, and
7709         libtool, especially the modified automake I had.  This is so that
7710         maintainers could built the auto* files out of the latest released
7711         GNU autoconf, automake, and libtool.  However, without my nice
7712         patches to automake, many files that used to live in the aux/
7713         subdir now were moved to the top level source directory: acconfig.h,
7714         acinclude.m4, aclocal.m4, aux_conf.h.in, config.guess,
7715         config.guess.long, config.h.in, config.sub, configure.in, depcomp,
7716         install-sh, ltconfig, ltmain.sh, missing, and mkinstalldirs.  Also
7717         texinfo.tex and mdate-sh moved from aux/ dir to doc/ dir.
7719 2000-06-05  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7721         * cvs-server.txt: instructions for maintainers to access the CVS
7722         server for am-utils.
7724 2000-06-03  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
7726         * amd/restart.c (restart): grr.. passing around initialized
7727         structures is *really* bad habit. memset(mo, 0) so at least we can
7728         test for NULL pointers...
7730 2000-06-02  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7732         * amd/am_ops.c (ops_match): changed XLOG_USER messages about
7733         merging addopts options to the more appropriate XLOG_INFO.  Patch
7734         submitted by Tom Schmidt <tschmidt@micron.com>.
7736         * config.{guess,sub}: make sure chmod'ed a+rx.  Updated from
7737         latest GNU copies.
7739 2000-05-30  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
7741         * aux/configure.in: bump up the version to 6.1a2
7743 2000-05-29  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
7745         * released snapshot am-utils-6.1a1
7747 2000-05-29  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
7749         * amd/ops_autofs.c (autofs_mounted): retrieve the autofs protocol
7750         version and store it in the fh
7751         (autofs_get_opts): support protocol version 4
7753         * amd/mntfs.c (uninit_mntfs): clear the autofs fh pointer after
7754         releasing it
7756         * conf/transp/transp_sockets.c (amu_svc_getcaller): cast result of
7757         svc_getcaller() to sockaddr_in, to appease glibc 2.2
7759         * amd/amfs_auto.c (amfs_auto_bgmount): if the filesystem wants
7760         autofs handling and the parent is already handled by autofs,
7761         handle this filesystem as well
7762         (amfs_auto_mount): create the mountpoint for an autofs mount
7763         (amfs_auto_umount): do a real UMOUNT_FS() call for autofs mounts
7765         * include/am_utils.h (FS_AUTOFS): new flag signalling that the
7766         filesystem wants autofs handling; toplvl, auto, host and direct
7767         have this flag, at least for now
7769 2000-05-28  Erez Zadok  <ezk@mulberry.mcl.cs.columbia.edu>
7771         * doc/am-utils.texi (Network Filesystem Group): minor typos
7773 2000-05-28  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
7775         * amd/autil.c (am_unmounted): check mp->am_parent before dereferencing
7777         * amd/srvr_nfs.c (find_nfs_srvr): if NFS_SCALEDOWN, force
7778         version=2 and proto=udp and try again
7780         * amd/ops_nfs.c (prime_nfs_fhandle_cache): take an explicit mntfs
7781         instead of a voidp; handle the NFS_SCALEDOWN case by removing the
7782         cached server entry and re-querying the server
7784         * amd/amfs_toplvl.c (amfs_toplvl_mount): removed ugly if
7785         statement, assign mnttype from the fs-specific mf_ops->fs_type
7786         instead
7788         * amd/amfs_nfsx.c (amfs_nfsx_init): call fs_init() only if it's
7789         defined;
7790         (amfs_nfsx_remount): removed superfluous check for fmount_fs -- it
7791         always exists
7792         (amfs_nfsx_umount): removed the hacked am_node -- umounted() now
7793         takes an mntfs; call umounted() only if it's defined
7795         * amd/amfs_auto.c: removed amfs_auto_umounted and moved its
7796         functionality into am_umounted().
7797         (amfs_auto_cont): Linux hack: if we got an EINVAL, mark the mntfs
7798         as needing an "NFS scaledown" and retry the operation
7800         * amd/amfs_*.c: changed all fmount/fumount functions to
7801         mount/umount and made them take an am_node instead of an
7802         mntfs. This is a first step towards an amfs/ops API separation.
7804         * amd/{amfs,ops}_*.c: changed the umounted() function to take an
7805         mntfs instead of an am_node
7807 2000-05-28  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
7809         * amd/amfs_toplvl.c (mount_amfs_toplvl): init error to 0 to shut
7810         up gcc
7812         * aux/macros/check_hide_mount_type.m4: revert to the 6.0 version
7813         which always defines HIDE_MOUNT_TYPE
7815         * amd/ops_autofs.c (autofs_mounted): remove MFF_AUTOFS
7816         initialization -- now done in init_mntfs()
7818         * amd/mntfs.c (init_mntfs): init mf_flags to MFF_AUTOFS if we are
7819         mounting an autofs-style map
7821         * amd/*.c: use the MFF_AUTOFS flag instead of doing a costly STREQ
7823         * amd/amfs_toplvl.c (mount_amfs_toplvl): MTYPE_TYPE is not
7824         necessarily a string type, so handle the nfs/autofs separation
7825         differently
7827         * amd/amfs_auto.c (amfs_auto_bgmount): removed initialization of
7828         opt_mount_type (now done in ops_match())
7830         * amd/am_ops.c (ops_match): need to initialize opt_mount_type if
7831         it's not initialized yet
7833 2000-05-27  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7835         * libamu/wire.c (getwire_lookup): handle calling irs_gen_acc with
7836         one or two arguments (bsdi3 vs. bsdi4)
7838 2000-05-27  Ion Badulescu  <ib42@chestnut.mcl.cs.columbia.edu>
7840         * libamu/xutil.c (amu_release_controlling_tty): removed an unused
7841         variable from the previous patch
7843 2000-05-26  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
7845         * aux/macros/check_autofs_style.m4: fixed substitution for default
7846         case
7848         * libamu/xutil.c (amu_release_controlling_tty): close standard
7849         file descriptors, re-open them as /dev/null
7851         * include/am_defs.h: don't try to include both <ndbm.h> and
7852         <db1/ndbm.h>, it really doesn't work
7854 2000-05-16  Ion Badulescu  <ib42@earth.cs.columbia.edu>
7856         * hlfsd/stubs.c (nfsproc_lookup_2_svc): added code to update mtime
7857         on lookup if MNT2_NFS_OPT_SYMTTL is not defined (copied from
7858         getattr).  This fixes the problem introduced by the Linux nfsv3
7859         patches.
7861 2000-05-12  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
7863         * Makefile.am (EXTRA_DIST_CONF): added conf/autofs/autofs_linux.h
7865 2000-05-10  Ion Badulescu  <ib42@earth.cs.columbia.edu>
7867         * amd/ops_autofs.c (autofs_handle_fdset): call
7868         autofs_lookup_failed instead of autofs_mount_failed, if the name
7869         is not in the map
7870         (autofs_umount_{succeeded,failed}): pass the actual mount point,
7871         not its parent, as it's needed for clean-up;
7873         * amd/autil.c (am_unmounted): notify autofs that the umount
7874         succeeded
7876         * amd/amfs_link.c (amfs_link_[u]mount): autofs link notification
7877         moved elsewhere
7879 2000-05-09  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
7881         * amd/amfs_auto.c (amfs_auto_bgmount): initialize opt_mount_type
7882         if necessary;
7883         (amfs_auto_mounted): test if opt_mount_type is NULL first
7884         (amfs_auto_mount): revert earlier change
7886         * amd/ops_autofs.c (autofs_mount_failed): remove autofs directory
7887         if mount failed
7889 2000-05-09  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
7891         * amd/ops_autofs.c (autofs_link_mount): use am_link as target
7893         * amd/map.c (unmount_mp): release file handle for autofs f/s about
7894         to be unmounted; this leak was preventing the unmount altogether
7896         * amd/amfs_auto.c (amfs_auto_umount): removed autofs-specific
7897         code, was broken
7898         (amfs_auto_bgmount): nfs mounts + sublinks is a valid combination,
7899         handle it
7901 2000-05-07  Ion Badulescu  <ib42@moisil.cs.columbia.edu>
7903         * Merged changes from stable branch
7905 2000-04-30  Erez Zadok  <ezk@beetle.mcl.cs.columbia.edu>
7907         * include/am_defs.h, aux/macros/mount_headers.m4,
7908         aux/macros/try_compile_anyfs.m4: include linux/kdev_t.h and
7909         linux/list.h before including linux/fs.h, and define __KERNEL__
7910         for those two headers.  All of this to get a couple of definitions
7911         that are needed in the new struct vfsmount.
7913         * aux/configure.in: look for <linux/kdev_t.h> and <linux/list.h>.
7915         * include/am_defs.h, aux/macros/mount_headers.m4: avoid conflicts
7916         between linux/in.h. and netinet/in.h (linux-2.3.99-pre6), by
7917         defining _LINUX_IN_H so it doesn't get included.
7919 2000-04-03  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7921         * minor new ports: i686-pc-linux-gnu-rh6.2,
7922         i386-unknown-freebsdelf3.4, i586-pc-linux-gnu-rh6.2.
7924 2000-04-03  Erez Zadok  <ezk@vir.cs.columbia.edu>
7926         * aux/acconfig.h: move all #undef macros above @TOP@, so they can
7927         be recognized by pickier autoconf.
7929 2000-04-03  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7931         * aux/macros/cache_check_dynamic.m4 (ac_tmp): use correct echo -n
7932         or \c.
7934 2000-03-25  Erez Zadok  <ezk@beetle.mcl.cs.columbia.edu>
7936         * include/am_defs.h: ditto
7938         * aux/macros/{mount_headers,try_compile_anyfs}.m4: force
7939         non-inclusion of <linux/string.h>.  Breaks build on newer 2.3
7940         kernels.
7942 2000-02-26  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
7944         * doc/am-utils.texi (Amq -w option): document new amq -w option.
7946         * amq/amq.8: document new amq -w option.
7948         * amq/amq.c: disable last remains of insecure amq -M code.
7949         (main): add amq -H option to show usage.
7950         (main): new amq -w option, translates getpwd() into an amd path.
7952 2000-02-25  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
7954         * libamu/util.c (get_server_pid): new function
7956         * hlfsd/hlfsd.c (main): make use of HIDE_MOUNT_TYPE
7958         * conf/transp/transp_sockets.c: removed create_autofs_service
7960         * conf/mount/mount_linux.c: added autofs mount options; split
7961         mount_linux into two functions, itself and do_mount_linux
7963         * aux/macros/check_hide_mount_type.m4: better failover
7965         * aux/configure.in: changed version to 6.1a1; added
7966         AC_CHECK_AUTOFS_STYLE
7968         * aux/aux_conf.h.in: added @am_utils_autofs_style@
7970         * amd/opts.c: added "mount_type" option
7972         * amd/ops_autofs.c: ifdef-ed out solaris code; moved all autofs
7973         variables in here; split create_autofs_service into sun and linux
7974         specific functions
7976         * amd/nfs_start.c: removed autofs-specific variables
7978         * amd/map.c (get_root_nfs_fh): renamed root_fh to get_root_nfs_fh
7979         (get_root_ap): renamed root_ap to get_root_ap
7981         * amd/amfs_toplvl.c (amfs_toplvl_ops): replaced
7982         amfs_toplvl_mounted with amfs_auto_mounted
7983         (mount_amfs_toplvl): moved code around, added autofs handling
7984         (amfs_toplvl_mounted): removed
7986         * amd/amfs_nfsl.c (amfs_nfsl_ops): removed amfs_auto_fu?mount,
7987         replaced with amfs_nfsl_u?mount
7989         * amd/amfs_linkx.c (amfs_linkx_ops): removed amfs_auto_fumount,
7990         replaced with amfs_link_umount
7992         * amd/amfs_link.c (amfs_link_ops): removed amfs_auto_fu?mount,
7993         replaced with amfs_link_u?mount
7995         * amd/amfs_direct.c (amfs_direct_ops): changed "mounted" function
7996         from amfs_toplvl_mounted to amfs_auto_mounted
7998         * all: added autofs hooks throughout the code
8000         * amd/am_ops.c (vops): autofs_ops doesn't belong in here, removed
8002         * README.autofs: linux status update
8004 2000-02-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8006         * minor new port: alphaev6-dec-osf5.0
8008         * doc/am-utils.texi (Supported Platforms): hpux-11 supports NFSv3,
8009         but only for UDP.
8011         * released snapshot am-utils-6.0.4s3
8013         * conf/nfs_prot/nfs_prot_hpux11.h: support NFSv3 in hpux-11.  Note
8014         that hpux-11 NFSv3 supports UDP only, and trying TCP locks up the
8015         kernel!  Must set nfs_proto=udp in amd.conf [global].
8017         * aux/config.guess.long: set and export PATH separately.  DU5
8018         /bin/sh doesn't like setting it on the command line in a
8019         back-tick'ed `script`.
8021 2000-02-24  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
8023         * Makefile.am: removed struct_nfs_mount_data.m4
8025         * aux/macros/struct_nfs_mount_data.m4: deleted
8027         * aux/acconfig.h: removed definition for HAVE_NFS_MOUNT_DATA
8029         * aux/configure.in: removed check for struct nfs_mount_data
8031 2000-02-24  Ion Badulescu  <ib42@beetle.mcl.cs.columbia.edu>
8033         * amd/amfs_auto.c (amfs_auto_bgmount): changed log message to
8034         avoid having 'failed' in a message not indicating a failure
8035         (amfs_auto_lookuppn): ditto
8037         * amd/ops_autofs.c (autofs_bgmount): ditto
8038         (autofs_lookuppn): ditto
8040 2000-02-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8042         * added .cvsignore files into the CVS repository.
8044         * remove files which can be regenerated: .in, configure, some
8045         files in aux/, and more.
8047 2000-02-20  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8049         * doc/am-utils.texi (nfs_vers/nfs_proto): description of two
8050         parameters was reversed.  Reported by Paul Jenner
8051         <p.jenner@eim.surrey.ac.uk>.
8053 2000-02-16  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8055         * released snapshot am-utils-6.0.4s2
8057         * amd/mntfs.c (realloc_mntfs): don't fallback on certain ops such
8058         as inherit, error, and toplvl (failover code).
8060         * amd/conf.c (gopt_nfs_vers, gopt_nfs_proto): two new (documented)
8061         global options in amd.conf: one to set the NFS version globally
8062         (i.e., nfs_vers=2), and one to set the NFS protocol globally
8063         (i.e., nfs_proto=udp).
8065         * amd/mntfs.c (realloc_mntfs): attempt to fix the failover code,
8066         so when a matching mount entry failed, try the next one.
8068 2000-02-15  Erez Zadok  <ezk@moisil.cs.columbia.edu>
8070         * amd/amfs_auto.c: a new debug option "readdir" to trace the
8071         progress of the browsable_dirs code.
8073         * conf/mount/mount_linux.c (mount_linux): ensure that the new
8074         linux NFSv3 code works for v2-only machines.
8076 2000-02-14  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8078         * aux/configure.in: cleanup unused dnl entries.
8080         * conf/mount/mount_linux.c (parse_opts): typo: check for string
8081         equality, not string inequality for pcfs and cdfs.
8083         * aux/acconfig.h: look for MNT2_NFS_OPT_INTR as well.
8085         * libamu/mount_fs.c (compute_mount_flags): check for INTR and
8086         NOINTR options as well (intr was never passed to linux mount
8087         syscall).
8089 2000-02-10  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8091         * released snapshot am-utils-6.0.4s1
8093         * aux/GNUmakefile: buildall -k (for maintainers) temporarily now
8094         ignores autoconf warnings: "The macro `AC_OUTPUT_COMMANDS' is
8095         obsolete".  It is harmless but annoying, and will be fixed when
8096         autoconf and automake in their respective CVS trees are working
8097         and in sync again.
8099         * scripts/amd.conf.5: document -D hrtime,xdrtrace
8101         * all man pages: update copyright to 2000.
8103         * doc/am-utils.texi: update copyright to 2000.
8105 Wed Feb  9 14:22:31 2000  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8107         * include/am_utils.h (D_XDRTRACE): Define.
8108         (D_TEST): Disable here.
8110         * libamu/xutil.c (dbg_opt): Handle it.
8112         * doc/am-utils.texi (-D-Option): Document it.
8114         * libamu/xdr_func.c: Use it instead of D_TRACE.
8116         * include/am_utils.h (D_HRTIME): Define.
8118         * doc/am-utils.texi (-D-Option): Document it.
8120         * libamu/xutil.c (show_time_host_and_name): Print high-resolution
8121         timestamp if available and activated.
8123         * aux/configure.in (clock_gettime): Check for it in -lrt and
8124         -lposix4.
8126         * hlfsd/hlfsd.c (mnttab_file_name): Initialize to MNTTAB_FILE_NAME
8127         if defined, even for some systems with in kernel mount tables.
8129 2000-02-08  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
8131         * aux/macros/mount_headers.m4: remove #if 0 around linux/nfs.h to
8132         allow compiles against libc5
8134         * aux/macros/check_mnttab_type.m4: avoid detecting nfs3 under
8135         linux when the kernel doesn't support it
8137         * include/am_compat.h: add workaround for linux efs
8139 2000-02-08  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8141         * aux/configure.in: test for ANSI C compiler (before AC_C_CONST).
8142         Comment out unused AC_STRUCT_ST_RDEV (which is obsolete anyway).
8144 2000-02-07  Ion Badulescu  <ionut@moisil.cs.columbia.edu>
8146         * libamu/mount_fs.c (compute_nfs_args): turn on VER3 option for
8147         nfs (linux NFSv3).
8149         * include/am_defs.h: avoid reinclusion of some header files under
8150         linux.
8152         * conf/nfs_prot/nfs_prot_linux.h: support NFSv3.
8154         * conf/mount/mount_linux.c (mount_linux): support nfs mount
8155          (implementation) version 4 for NFSv3.
8157         * aux/macros/try_compile_nfs.m4: use AC_MOUNT_HEADERS.
8159         * aux/macros/mount_headers.m4: don't include <linux/fs.h> (may
8160         need to fix the code on other linux machines).
8162         * aux/macros/check_mnttab_type.m4 (ac_safe): ditto.
8164         * aux/macros/check_fs_mntent.m4 (ac_safe): check for nfs3 option
8165         under linux (depends on ac_cv variable, is that a good idea?)
8167         * added NFSv3 support for linux
8169         * aux/{configure.in,acconfig.h}: new option ver3
8171         * aux/macros/mount_headers.m4: commented out inclusion of
8172         linux/fs.h, it's not needed on rh61 (and actually generates
8173         conflicts), we should see if it's still needed on libc5 systems
8175         * aux/macros/try_compile_nfs.m4: use AC_MOUNT_HEADERS rather than
8176         try to have its own (out of date) list of headers and ifdef's and
8177         ...
8179 2000-02-07  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8181         *******************************************************************
8182         *** Released am-utils-6.0.3                                     ***
8183         *******************************************************************
8185 2000-02-06  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8187         * conf/mount/mount_default.c: dummy empty file to work around a
8188         limitation of automake (it looks for LIBBOBJS in aclocal.m4 and
8189         processes them even if they are optional, enclosed in if/else).
8191 2000-01-29  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8193         * released snapshot am-utils-6.0.3s5
8195 2000-01-25  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8197         * update to use latest version of autoconf, automake, and libtool.
8199         * aux/GNUmakefile (depcomp): "make update" should also update the
8200         depcomp script.
8202         * Makefile.am (EXTRA_DIST_AUX): include depcomp in distribution.
8204         * aux/configure.in: use renamed AC_CHECK_AMU_FS.
8206         * aux/macros/check_amu_fs.m4: renamed macro name and file name to
8207         say AMU_FS, not AM_FS.
8209         * aux/acconfig.h: renamed HAVE_AM_FS_* to HAVE_AMU_FS_* because
8210         latest version of autoconf doesn't handle it (bug in 2.14a)
8212         * aux/configure.in: require version 2.14 of autoconf.
8214         * amd/mapc.c (mapc_reload_map): more fixes from Nick Williams.
8216         * doc/am-utils.texi (Automount Filesystem): document type:=auto
8217         map browsability option.
8219         * amd/mapc.c (make_entry_chain): patch from Steven Danz
8220         <sdanz@awc.kc.noaa.gov> to allow browsable auto maps.
8222 2000-01-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8224         * released snapshot am-utils-6.0.3s4
8226         * amd/mapc.c (mapc_reload_map): fixes to sync maps even if they
8227         are set to mapcache:=sync.  Fix from Nick Williams
8228         <Nick.Williams@msdw.com>.
8230 2000-01-20  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8232         * released snapshot am-utils-6.0.3s3
8234         * minor port to i386-unknown-netbsd1.4.1
8236         * amd/nfs_subr.c (nfsproc_getattr_2_svc): patch from Nick Williams
8237         <Nick.Williams@msdw.com> to fix (or reduce the incidence of) stale
8238         file handles when doing rapid mounts and umounts in succession
8239         such as "ls /vol/foo ; amq -u /vol/foo ; ls /vol/foo"
8241 2000-01-18  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8243         * minor port to i386-pc-bsdi4.1.
8245 2000-01-13  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8247         * libamu/wire.c (getwire_lookup): pass NULL as conf_file (2nd)
8248         argument to irs_gen_acc(), which was changed in bsdi 4.1.
8250 2000-01-12  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8252         * amd/get_args.c (get_args): don't use MNTTAB_FILE_NAME for
8253         systems with in-kernel mount tables unless this macro is defined
8254         (Solaris 8).
8256 2000-01-01  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8258         * ALL: bump copyright year to 2000.
8260 1999-12-16  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8262         * conf/mount/mount_svr4.c (mount_svr4): optionstr exists on
8263         solaris 7, but should not be used unless MAX_MNTOPT_STR also
8264         exists (solaris 8).
8266         * doc/am-utils.texi (opts Option): document new mount option:
8267         optionstr.
8269 Fri Dec 10 01:31:53 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8271         * conf/trap/trap_svr4.h (MOUNT_TRAP): Pass mount option string to
8272         mount_svr4().
8273         (mount_svr4): Adapt prototype.
8274         * conf/mount/mount_svr4.c (mount_svr4): Pass them to kernel so
8275         they are evaluated and show up in Solaris 8 in-kernel mnttab.
8277         * aux/configure.in: Check for new Solaris 8 MS_OPTIONSTR mount(2)
8278         option.
8279         * aux/acconfig.h (MNT2_GEN_OPT_OPTIONSTR): Provide template.
8281 1999-12-10  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8283         * released snapshot am-utils-6.0.3s2
8285 1999-12-09  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8287         * doc/am-utils.texi (opts Option): document noexec and nomnttab
8288         (new to Solaris 8).
8290         * Makefile.am (EXTRA_DIST_CONF): include nfs_prot_sunos5_8.h in
8291         distribution.
8293         * applied fixes from Rainer Orth for Solaris 8.
8295         * libamu/wire.c (getwire): increment the cp pointer in the loop
8296         body, because the ioctl() inside the "for" loop will overwrite the
8297         ifr structure, thus not detecting all of the interfaces.  Bug
8298         reported and fixed by Amitha Perera <perera@cs.rpi.edu>.
8300 Thu Dec  9 19:09:38 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8302         * conf/mtab/mtab_svr4.c (unlockmnttab, lockmnttab): No-ops if
8303         MOUNT_TABLE_ON_FILE.
8305         * amd/get_args.c (get_args): Initialize mnttab_file_name even for
8306         in-kernel mount table.  conf/mtab/mtab_svr4.c (read_mtab) depends
8307         on a non-NULL value.
8309         * amd/info_ldap.c (get_ldap_timestamp): Don't peek into opaque
8310         LDAP structure to get error code, but use it directly.
8311         (amu_ldap_search): Likewise.
8313         * conf/nfs_prot/nfs_prot_sunos5_7.h: Rip superfluous and wrong
8314         ldap support.
8315         * conf/nfs_prot/nfs_prot_sunos5_8.h: Likewise.
8317         * conf/nfs_prot/nfs_prot_sunos5_8.h: New file, doesn't typedef
8318         nfsstat, already in <nfs/nfs.h>.
8319         * aux/macros/check_nfs_prot_headers.m4: Use it for all Solaris
8320         versions beyond 7.
8321         Allow for micro versions of SunOS 5.[67].
8323         * aux/configure.in: Check for new Solaris 8 Beta Refresh
8324         MS_NOMNTTAB mount(2) option.
8325         * aux/macros/check_mnttab_location.m4: Use it to test for
8326         mntfs-based in-kernel mnttab.
8328         * aux/macros/os_cflags.m4: Treat Solaris 8 and higher like 2.6/7.
8330         * aux/macros/check_fs_headers.m4: Revert test for duplicate
8331         objects.
8332         * aux/macros/check_fs_mntent.m4: Likewise
8334         * aux/macros/HEADER: Fixed typo.
8336         * include/am_defs.h: Likewise.
8338 1999-12-01  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8340         * aux/macros/*.m4: prepare for hpux-12 (assume same as hpux-11)
8342 1999-11-16  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8344         * BUGS: document glibc-2.1 nis file descriptor leak in yp_bind.
8346         * amd/info_ldap.c (string2he): updated function which does not
8347         corrupt strings when called more than once.  Patch from
8348         JOHANN.PFEFFERL.JP@germany.agfa.com.
8350 1999-11-15  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8352         * MIRRORS (Asia): two new mirrors in Japan.
8354 1999-11-10  Erez Zadok  <ezk@kosh.cs.columbia.edu>
8356         * doc/am-utils.texi: document new variables for ${uid} and ${gid}.
8358         * amd/nfs_subr.c (nfsproc_lookup_2_svc): find the uid/gid of the
8359         last lookup from the RPC credentials.
8361         * aux/configure.in: upped version-info to 4:0:2 because I've added
8362         a new interface to libamu.
8364         * libamu/misc_rpc.c (getcreds): moved function from hlfsd to here,
8365         so it can be used by amd.
8367         * amd/opts.c: new variables ${uid} and ${gid}.
8369 1999-10-15  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8371         * scripts/ctl-amd.in: add "status" command that tells you if amd
8372         is running on not (same output as RedHat scripts).
8373         Added start_msg and stop_msg targets as they are used on HPUX.
8374         reported by Jon Peatfield <J.S.Peatfield@damtp.cam.ac.uk>.
8376 1999-10-13  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8378         * released snapshot am-utils-6.0.3s1
8380 1999-10-12  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8382         * amd/amd.c (main): On AIX you must lower the stack size using
8383         ulimit() before calling plock.  Otherwise plock will reserve a lot
8384         of memory space based on your maximum stack size limit.  Since it
8385         is not easily possible to tell what should the limit be, I print a
8386         warning before calling plock(). See the manual pages for
8387         ulimit(1,3,4) on your AIX system.
8389         * include/am_defs.h: define default extern for vsnprintf()
8391         * aux/configure.in: check for extern definition for vsnprintf()
8393 1999-10-08  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8395         * amd/amfs_auto.c (amfs_auto_bgmount): patch from Nick Williams
8396         <njw@ms.com>.  SYMPTOMS: 'occasionally' sublinks do not point to
8397         the correct location, but to the top level of the mountpoint and
8398         an (error-hook) is seen being mounted in the log file. This causes
8399         things to Go Wrong(TM).
8400         CAUSE: When evaluating two locations which are requested
8401         'practically simultaneously', and the two locations resolve to the
8402         same NFS mountpoint (but different sublinks), the later request
8403         will be "deferred" and retried after wakeup when the first mount
8404         succeeds. To do this, it rewinds the options location string to
8405         re-evaluate the location when the mount is retried. However, it
8406         shouldn't rewind the options for two reasons: (a) the semantics of
8407         the map language say you shouldn't and (b) the NFS mount reference
8408         is not reset at the same time, meaning that on the retry it will
8409         have an options structure out-of-sync with the mount
8410         structure. The "shortcut" code when retrying the mount sees the
8411         mount structure is already filled in and does not fully evaluate
8412         the options structure.... so if the first location is not the one
8413         which ties in with the mountpoint (see ordering in the
8414         recreate-by), you're now well messed up.
8416         * BUGS: mention aix4.3 plock() bug (memory usage blows up and
8417         plock fails)
8419 1999-10-07  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8421         * aux/GNUmakefile: certain files should be copied if they are
8422         newer, not also if they are bigger: install-sh, ltconfig,
8423         ltmain.sh, mdate-sh, missing, mkinstalldirs, and texinfo.tex.
8425         * minor new port: i586-pc-linux-gnu-rh6.1 (RedHat Linux 6.1)
8427 1999-10-05  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8429         * aux/macros/check_nfs_prot_headers.m4: prepare for OSF-5.
8431         * aux/macros/check_nfs_fh_dref.m4: prepare for Tru64, aka OSF-5.
8433 1999-09-30  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8435         *******************************************************************
8436         *** Released am-utils-6.0.2                                     ***
8437         *******************************************************************
8439 1999-09-27  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8441         * conf/mount/mount_linux.c (mount_linux): print the updated mount
8442         flags.
8444         * doc/am-utils.texi: document $full_os and $vendor.
8446         * scripts/amd.conf-sample: examples of $full_os and $vendor.
8448         * scripts/amd.conf.5: document $full_os and $vendor.
8450         * amd/conf.c: add support for $full_os and $vendor.
8452 1999-09-26  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8454         * doc/am-utils.texi (netgrp Selector Function): don't give
8455         examples with old single '=' assignment variable.  Use foo:=bar.
8457         * amd/amfs_auto.c (amfs_auto_bgmount): corectly indent long
8458         comment describing this complex function.
8460         * doc/Makefile.am (alldocs): do install-ps last (because distiller
8461         is slow) and install-html next to last (because texi2html is also
8462         slow).
8464         * amd/amd.8: Major fixes to the description of the option -t
8465         timeout.retransmit.
8467         * doc/am-utils.texi: better description of "trace" debug option.
8468         amd -H (not -v) shows log_options and debug_options.  Major fixes
8469         to the description of amd -t timeout.retransmit, and the amd.conf
8470         parameters nfs_retransmit_counter and nfs_retry_interval.
8472         * scripts/amd.conf.5: better description of "trace" debug option.
8473         amd -H (not -v) shows log_options and debug_options.  Major fixes
8474         to the description of the parameters nfs_retransmit_counter and
8475         nfs_retry_interval.
8477 1999-09-25  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8479         * doc/am-utils.texi (Automount Filesystem): cache:= is not a mount
8480         option, but a mount map option.
8482         * libamu/xutil.c (switch_to_logfile): log the name of the log file
8483         we switched into, after the log file had been [re]opened.
8485 1999-09-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8487         * amd/mapc.c (mapc_reload_map): count and show the number of times
8488         a map was reloaded.  Only reload a map if its modify-time was
8489         updated.  But amq -f forced a reload no matter what.
8491         * amd/amd.h: new flag to struct mnt_map to count number of times a
8492         map was reloaded.
8494         * amd/mapc.c (mapc_reload_map): attempt to reload the map without
8495         losing current data by reloading into a temp copy, and switching
8496         the hashes round only if the reload was successful.  Patch from Jon
8497         Peatfield <J.S.Peatfield@damtp.cam.ac.uk>.
8498         (mapc_sync): mapc_reload_map() always succeeds.
8500 1999-09-22  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8502         * amd/info_ldap.c (amu_ldap_rebind): don't busy-loop trying to
8503         rebind to an LDAP server forever.  Try up to 10 times.
8505         * fsinfo/fsi_lex.l (yyerror): rework code that will never happen
8507         * released snapshot am-utils-6.0.2s2
8509         * aux/configure.in: bumped library version-info to 3:2:1, since
8510         some libamu code got changed.
8512         * libamu/xutil.c (real_plog): use vsnprintf, not vsprintf, which
8513         is better and more secure.  Fix from "David O'Brien"
8514         <obrien@NUXI.com>.
8516         * aux/configure.in: check for vsnprintf.
8518 1999-09-21  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8520         * aux/macros/linux_headers.m4: use AC_MSG_ERROR.
8522         * aux/macros/opt_{cppflags,ldflags,libs,amu_cflags}.m4: the ARG is
8523         not optional.  Make sure ARG is supplied else flag an error.
8525 1999-09-18  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8527         * minor port i386-unknown-freebsdelf3.3
8529         * released snapshot am-utils-6.0.2s1
8531 1999-09-17  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8533         * aux/configure.in (AC_CHECK_FUNCS): check for getitimer().
8535         * include/am_defs.h: extern definition for getitimer().
8537         * aux/configure.in: use AC_CHECK_EXTERNS.  Look for getitimer()
8538         extern.
8540         * aux/macros/check_extern.m4: define a simple AC_CHECK_EXTERNS
8541         that calls AC_CHECK_EXTERN in a loop.  This saves repeated code in
8542         configure.
8544         * aux/macros/type_auth_create_gidlist.m4: AIX 4.x systems use
8545         'int' as the 5th arg to authunix_create().
8547         * aux/macros/type_recvfrom_fromlen.m4: all AIX 4.x systems use a
8548         size_t for the 6th arg of recvfrom().
8550         * aux/macros/os_cflags.m4: define _XOPEN_EXTENDED_SOURCE for
8551         aix4.x systems.
8553         * libamu/mount_fs.c (print_nfs_args): cast some values to int, to
8554         avoid gcc -Wall errors.
8556         * scripts/expn.in: use sockaddr_in(), not pack() to correctly fill
8557         in a struct sockaddr_in.  On Solaris x86 hosts, using pack()
8558         results in byte-misaligned values.   Bug fix from Jeffrey C Honig
8559         <jch@BSDI.COM>.
8561         * libamu/mount_fs.c (compute_automounter_mount_flags): turn on
8562         automntfs (ignore on bsdi-4.1) flag.
8563         (compute_automounter_nfs_args): ditto.
8565         * aux/acconfig.h: add new flag for automntfs (ignore)
8567         * aux/configure.in: check for new automntfs flag (bsdi-4.1).
8569 1999-09-14  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8571         * MIRRORS: added new site in Germany.  Updated status of umn.edu
8572         and ferginc.com, who may no longer be mirroring am-utils.
8574 1999-09-08  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8576         *******************************************************************
8577         *** Released am-utils-6.0.1                                     ***
8578         *******************************************************************
8580 1999-09-08  Erez Zadok  <ezk@cs.columbia.edu>
8582         * aux/macros/mount_headers.m4: bsdi-2.1 needs MAXQUOTAS and struct
8583         netexport defined.
8585         * aux/macros/try_compile_anyfs.m4: bsdi-2.1 needs MAXQUOTAS and
8586         struct netexport defined.
8588 1999-09-07  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8590         * aux/macros/check_field.m4 (ac_upcase_var_name): include
8591         <ifaddrs.h> so we can detect fields within struct ifaddrs.
8593         * libamu/wire.c (getwire): bsdi-2.1 uses a second arg to
8594         getifaddrs() and struct ifaddrs has no ifa_next field.
8596         * aux/configure.in: check if 'struct ifaddrs' has a field
8597         ifa_next.
8599         * include/amq_defs.h (AMQ_STRLEN): double size of amq string
8600         length to 2048 bytes.
8602         * conf/nfs_prot/nfs_prot_netbsd1_4.h: include several more nfs
8603         header files and ufs/ufs/ufsmount.h.  Bug reported by <Christos
8604         Zoulas> christos@zoulas.com.
8606         * aux/macros/try_compile_anyfs.m4: include <ufs/ufs/ufsmount.h>.
8607         Bug reported by <Christos Zoulas> christos@zoulas.com.
8609         * aux/macros/mount_headers.m4: include <ufs/ufs/ufsmount.h>
8611 1999-09-06  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8613         * libamu/xutil.c (expand_error): use strerror if available instead
8614         of sys_errlist.  Bug reported by <Christos Zoulas>
8615         christos@zoulas.com.
8617         * hlfsd/hlfsd.c (fatal): use strerror if available instead of
8618         sys_errlist.
8620         * amq/amq.c (show_mi): use strerror if available instead of
8621         sys_errlist.
8623         * aux/macros/check_nfs_prot_headers.m4: make sure netbsd1.4
8624         nfs_prot header is used for any future (1.5 etc.) netbsd systems.
8626         * amq/pawd.c (find_mt): check for type nfsl as well.  Fix from
8627         "Andrew J. Korty" <ajk@purdue.edu>
8629 1999-08-29  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8631         * doc/am-utils.texi (Supported Platforms): updates for redhat
8632         systems.
8634         * INSTALL: updates for redhat systems.
8636         * libamu/wire.c (getwire_lookup): spell "succeeded" correctly
8638 1999-08-28  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8640         * scripts/ctl-amd.in: sleep 1 second between killing amd and
8641         restarting it, because amq may respond that amd is down, where in
8642         fact it is still trying to unmount itself after unmapping itself
8643         from the portmapper.
8645         * aux/config.guess.long: new script to print long version of
8646         config.guess output.
8648         * buildall (host_alias): use long version of config.guess.
8650 1999-08-27  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8652         * scripts/ctl-{amd,hlfsd}.in: update RH tags for start/stop
8653         scripts.
8655 1999-08-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8657         * released snapshot am-utils-6.0.1s11
8659         * libamu/xutil.c (expand_error): make sure expanding the string
8660         with textual version of errno doesn't overrun the 1024 bytes
8661         buffer.
8662         (real_plog): null terminate msg, just in case.
8664         * amq/amq.c (main): don't getopt -M option and don't process it
8665         unless ENABLE_AMQ_MOUNT is on.
8667         * amd/amq_svc.c (amq_program_1): all code that relates to amq -M
8668         is conditional on #ifdef ENABLE_AMQ_MOUNT.
8670         * amd/amq_subr.c: remove amqproc_mount_1_svc() function invoked
8671         when amq -M code is disabled.  Not taking any chances.
8673 1999-08-23  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8675         * released snapshot am-utils-6.0.1s10
8677 Sun Aug 22 16:18:59 1999  Erez Zadok  <ezk@subzero.cs.columbia.edu>
8679         * libamu/wire.c (getwire_lookup): if getnetbyaddr failed (e.g., on
8680         128.59.16.0), try to shift the network out of zeros (e.g.,
8681         128.59.16) and try again.  Irix 6.4 requires short network
8682         numbers.
8684 1999-08-22  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8686         * libamu/wire.c (getwire_lookup): correctly compute subnet using
8687         netmask.
8689         * libamu/mount_fs.c (compute_automounter_nfs_args): require that
8690         Amd's own NFS mounts use reserved ports (if possible).  IP packet
8691         security fix from Jeffrey C Honig <jch@BSDI.COM>.
8693         * conf/transp/transp_tli.c (create_autofs_service): use correct
8694         autofs_port.  IP packet security fix from Jeffrey C Honig
8695         <jch@BSDI.COM>.
8697         * conf/transp/transp_sockets.c (bindnfs_port): remove unnecessary
8698         function.  IP packet security fix from Jeffrey C Honig
8699         <jch@BSDI.COM>.
8700         (create_nfs_service): use bind_resv_port() directly.  ensure that
8701         privileged ports are used.  IP packet security fix from Jeffrey C
8702         Honig <jch@BSDI.COM>.
8704         * amd/nfs_prot_svc.c (nfs_program_2): verify that requests come
8705         from reserved ports and from a local IP address.  IP packet
8706         security fix from Jeffrey C Honig <jch@BSDI.COM>.
8708         * amd/amq_subr.c (ok_security): use IPPORT_RESERVED, instead of
8709         hard-coded 1024.  IP packet security fix from Jeffrey C Honig
8710         <jch@BSDI.COM>.
8711         (amqproc_mount_1_svc): provide information on the caller making an
8712         amq -M request.  IP packet security fix from Jeffrey C Honig
8713         <jch@BSDI.COM>.
8715         * amd/map.c (free_map_if_success): If the program doing an unmount
8716         of a program filesystem fails, amd tries to interpret the return
8717         code as an errno.  Fix from Jeffrey C Honig <jch@BSDI.COM>.
8719         * amd/info_nis.c (determine_nis_domain): don't always print
8720         warning about NIS domain name not being set, even if NIS is not in
8721         use.
8723 1999-08-21  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8725         * amd/info_ldap.c (get_ldap_timestamp): initialize variable err.
8726         (amu_ldap_search): initialize variable err.
8728 1999-08-16  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8730         * libamu/wire.c: written using getifaddrs() for BSD systems,
8731         contributed by BSDI, Jeffrey C Honig <jch@BSDI.COM>).
8733 1999-08-15  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8735         * include/am_utils.h (SALLOC): a simple macro to allocate N bytes.
8737         * aux/configure.in: check for irs.h and ifaddrs.h.
8738         Increase libamu.so --version-info to 3:1:1 since we've changed the
8739         source code for the library.
8740         Check for getifaddrs() function.
8742 1999-08-14  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8744         * libamu/mount_fs.c (print_nfs_args): print fields namlen and
8745         bsize if they exist.
8747         * conf/mount/mount_linux.c (mount_linux): set nfs_args_t->namlen
8748         and ->bsize fields correctly, if those fields exist.  This is a
8749         bug in that amd neglected to set these fields, but told the
8750         kernel it is mounting the nfs_args_t structure using mount version
8751         3 (which requires both bsize and namlen fields).
8753         * aux/configure.in: test for two new nfs_args_t fields (used on
8754         newer linux with mount versions 2 and 3): bsize and namlen.
8756         * doc/am-utils.texi (netgrpd Selector Function): document new
8757         selector function.
8759         * amd/opts.c (f_netgrpd): new amd map function netgrpd(ARG) to
8760         test if the current host (fully-qualified name) is in the ARG host
8761         netgroup.  The netgrp() function uses the short form of a host
8762         name.  Patch from Christophe Kalt <Christophe-Kalt@deshaw.com>.
8764         * doc/am-utils.texi (automount2amd): document new script.
8766         * scripts/Makefile.am: create, install, and distribute
8767         automount2amd perl script and its man page.
8769         * scripts/automount2amd.8: new man page for automount2amd.
8771         * scripts/automount2amd.in: new file, contributed a in 1993 by
8772         Mike Walker <mike@tab00.larc.nasa.gov>.  Fixed to use addopts for
8773         any automount map options specified.
8775 1999-08-09  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8777         * released snapshot am-utils-6.0.1s9
8779 1999-08-09  Erez Zadok  <ezk@beetle.mcl.cs.columbia.edu>
8781         * amd/amfs_auto.c (DOT_DOT_COOKIE): set the NFS cookie of '..' to
8782         1.
8783         (amfs_auto_readdir): use DOT_DOT_COOKIE instead of (u_int)~0.
8784         (amfs_auto_readdir_browsable): use DOT_DOT_COOKIE instead of
8785         (u_int)~0.
8787         * amd/mapc.c (make_entry_chain): NFS cookies should be
8788         monotonically increasing, because Linux 2.3 expects that, even
8789         though it is not in the spec (RFC-1094) for NFS V2.
8791 1999-08-06  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8793         * aux/macros/check_lib_funcs.m4: removed unused macro.
8795         * aux/macros/linux_headers.m4: new macro to ensure that linux
8796         kernel headers match running kernel version.
8798         * aux/acconfig.h: define HOST_HEADER_VERSION so we can check if
8799         amd is configured on linux hosts that run one kernel but have
8800         headers for a different version.
8802         * amd/info_nis.c (nis_isup, nis_search, nis_init): fixes for the
8803         logic which uses nis_isup and has_yp_order.  Make sure it is used
8804         correctly , esp. for NIS+ in NIS-compatibility mode.  Bug fix from
8805         Peter Breitenlohner <peb@mppmu.mpg.de>.
8807         * include/am_defs.h: fix conflicts on linux 2.2 systems with older
8808         libc5.  Bug fix from Peter Breitenlohner <peb@mppmu.mpg.de>.
8810         * scripts/lostaltmail.in: use sockaddr_in(), not pack() to
8811         correctly fill in a struct sockaddr_in.  On Solaris x86 hosts,
8812         using pack() results in byte-misaligned values.
8814 1999-08-02  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8816         * conf/mtab/mtab_aix.c (mnt_dup): add support for nfs3
8817         mounting, as per Dale Talcott <aeh@quest.cc.purdue.edu>.  Also use
8818         better macros for case statement.
8820         * conf/nfs_prot/nfs_prot_sunos5_7.h: don't include ldap structures
8821         unless ldap is actually available.
8823         * use updated config.guess and config.sub.  Use newer automake
8824         that fixes problems with distributing optional libamu files
8825         (clnt_sperrno.c, hasmntopt.c, strcasecmp.c, strdup.c, strstr.c,
8826         and ualarm.c)
8828 1999-07-19  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8830         * minor port i386-unknown-openbsd2.5
8832 1999-07-17  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8834         * minor ports to freebsdelf 3.[0-2] and 4.0 completed
8836         * aux/macros/check_nfs_prot_headers.m4: support freebsdelf
8838         * aux/macros/check_nfs_socket_connection.m4: support freebsdelf
8840 1999-06-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8842         * released snapshot am-utils-6.0.1s8
8844 1999-06-23  Erez Zadok  <ezk@beetle.mcl.cs.columbia.edu>
8846         * include/am_defs.h: avoid various header conflicts on
8847         RedHat/Linux 6.0 and kernels 2.2.10 or newer.
8849         * aux/configure.in: look for <db1/ndbm.h> (RedHat/Linux 6.0 and
8850         kernel 2.2.10)
8852         * amd/amfs_program.c (amfs_program_exec): make sure logfp is
8853         initialized dynamically to stderr if needed.
8855         * libamu/xutil.c (dplog): make sure logfp is initialized
8856         dynamically to stderr if needed.
8857         (plog): ditto.
8859         * amd/amfs_program.c (amfs_program_exec): set logfp to stderr if
8860         not initialized.
8862         * libamu/xutil.c: don't initialize logfp statically to stderr,
8863         because on RedHat/Linux 6.0 (kernel 2.2.10) stderr can no longer
8864         be manipulated like a variable.
8866         * include/am_defs.h: avoid more conflicts between <linux/fs.h> and
8867         <sys/mount.h> on 2.2 linux kernels.
8868         include <db1/ndbm.h> as needed (RedHat/Linux 6.0)
8870 1999-04-20  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8872         * all Makefile.am: use AMU_NFS_PROT_HEADER (not *_HEADERS)
8874         * aux/macros/check_nfs_prot_headers.m4 (AMU_NFS_PROT_HEADER):
8875         renamed AC_SUBST name from *_HEADERS to *_HEADER so that automake
8876         won't attempt to add it to the header files to distribute.
8878 1999-04-19  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8880         * aux/GNUmakefile: invoke aclocal with new --altdir flag.
8882 1999-04-16  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8884         * minor new port: i386-unknown-netbsd1.4 (ALPHA)
8886         * aux/macros/check_field.m4: no need to include <cdfs/cdfsmount.h>
8887         and <isofs/cd9660/cd9660_mount.h> because they are also included
8888         from MOUNT_HEADERS.  Causes multiple inclusion of unprotected
8889         headers on netbsd-1.4_ALPHA.
8891 1999-04-15  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8893         * aux/macros/extern_sys_errlist.m4 (pattern): netbsd-1.4_ALPHA's
8894         sys_errlist extern doesn't end with [].
8896         * aux/macros/check_nfs_prot_headers.m4: netbsd 1.4 support.
8898 1999-04-11  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8900         * newer automake wants texinfo.tex to be in aux/ not doc/
8902 1999-03-30  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8904         * amd/conf_parse.y: alloca support.
8906         * fsinfo/fsi_gram.y: alloca support.
8908         * libamu/Makefile.am (libamu_la_LIBADD): compile alloca.o if
8909         needed.
8911         * aux/configure.in: test for alloca support.  Needed because bison
8912         generates parsers that use alloca, and hpux9 does have alloca and
8913         its /bin/cc doesn't support it builtin (the way gcc does).
8915         * libamu/alloca.c: new file, needed on hpux9 with /bin/cc.  Taken
8916         verbatim from bison-1.25.
8918         * include/am_defs.h: fixed typo #errir -> #error
8920         * released snapshot am-utils-6.0.1s7
8922         * README.y2k: more information about am-utils' compatibility, from
8923         Paul Balyoz <pbalyoz@sedona.ch.intel.com>.
8925         * scripts/lostaltmail.in (Splice_in_resent_headers): ensure Y2K
8926         compliant format.  Patch from Paul Balyoz
8927         <pbalyoz@sedona.ch.intel.com>
8929         * doc/am-utils.texi (Supported Platforms): hpux10.20 could have
8930         nfs v.3 support (with some vendor patches), but it is turned off.
8932         * aux/macros/os_cflags.m4: use ansi compiler options on hpux.
8934         * conf/nfs_prot/nfs_prot_hpux.h: Turn off NFS V.3 support to avoid
8935         confusing am-utils.  10.20 with some patches has incomplete
8936         support.  Patch from Jon Peatfield
8937         <J.S.Peatfield@damtp.cam.ac.uk>.
8939 1999-03-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8941         * minor port i386-pc-bsdi4.0.1
8943 1999-03-20  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8945         * doc/am-utils.texi (Supported Platforms): add forgotten listing
8946         for powerpc-linux.
8948 1999-03-18  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8950         * scripts/amd.conf.5: fix typo.  From Jeffrey C Honig
8951         <jch@BSDI.COM>.
8953         * doc/am-utils.texi: document iso9660 options norrip, gens, and
8954         extatt.
8955         (opts Option): documented dumbtimr and noauto options.  From
8956         Jeffrey C Honig <jch@BSDI.COM>.
8958         * include/am_compat.h: define default strings for options norrip,
8959         gens, and extatt.
8961         * amd/ops_cdfs.c (mount_cdfs): support options norrip, gens, and
8962         extatt.
8964         * aux/macros/mount_headers.m4: also include
8965         <isofs/cd9660/cd9660_mount.h> as needed.
8967         * aux/configure.in: check for isofs mount options for bsdi4:
8968         norrip, gens, and extatt.  Reported by Jeffrey C Honig
8969         <jch@BSDI.COM>.
8971         * aux/macros/check_mnt2_cdfs_opt.m4: check for ISOFSMNT_* flags
8972         (bsdi4).
8974 1999-03-17  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8976         * conf/nfs_prot/nfs_prot_freebsd3.h: ditto.
8978         * conf/nfs_prot/nfs_prot_bsdi3.h: include <ufs/ufs/ufsmount.h>,
8979         for bsdi4, as per Jeffrey C Honig <jch@BSDI.COM>.
8981 1999-03-15  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
8983         * get latest copies of config.guess, config.sub, ltconfig, and
8984         ltmain.sh from libtool-1.2f.
8986         * all Makefile.am: don't use continuation lines (using \) for
8987         short lists of files.
8989         * libamu/Makefile.am (DISTCLEANFILES): make distclean should
8990         remove mountutil.c, mtabutil.c, transputil.c, and umount_fs.c.
8991         Reported by Jeffrey C Honig <jch@BSDI.COM>.
8993         * fixmount/Makefile.am (DISTCLEANFILES): make distclean should
8994         remove checkmount.c.  Reported by Jeffrey C Honig <jch@BSDI.COM>.
8996         * Makefile.am (DISTCLEANFILES): make distclean should remove
8997         amu_nfs_prot.h, config.cache.old, and dbgcf.h.  Reported by
8998         Jeffrey C Honig <jch@BSDI.COM>.
9000 1999-03-13  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9002         * released snapshot am-utils-6.0.1s6
9004 1999-03-12  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9006         * INSTALL: document freebsdelf.
9008         * doc/am-utils.texi (Supported Platforms): document freebsdelf.
9010 1999-03-08  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9012         * minor new ports: i386-unknown-freebsdelf3.1 and
9013         i386-unknown-freebsdelf4.0
9015         * aux/macros/check_nfs_prot_headers.m4: freebsd4 support.
9017         * aux/macros/check_nfs_socket_connection.m4: freebsd4 support.
9019         * aux/macros/check_nfs_fh_dref.m4: freebsd4 support.
9021         * amd/opts.c (eval_opts): changed log level of "executing
9022         negated..." message from USER to INFO, as per Guntram Wolski
9023         <gwolsk@sei.com>.
9025 1999-02-17  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9027         * */Makefile.am (LDADD): force linking against an installed
9028         libamu.{a,so}.
9030         * doc/am-utils.texi (addopts Option): document remopts interaction
9031         with addopts.
9033         * amd/am_ops.c (ops_match): if addopts are specified, apply them
9034         to the value of remopts as well as opts.
9036         * amd/ops_nfs.c (mount_nfs_fh): tell users when remopts are used.
9038 1999-02-05  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9040         * released snapshot am-utils-6.0.1s5
9042         * conf/mount/mount_linux.c (mount_linux): set default nfs_args
9043         options for ac{reg,dir}{min,man} as per the mount-2.8a package,
9044         but only if noac option was not used.
9046 1999-02-05  Erez Zadok  <ezk@retro.cs.columbia.edu>
9048         * conf/mount/mount_linux.c (mount_linux): print nfs_args again
9049         since it was updated.
9050         (mount_linux): use 4KB for NFS rsize/wsize on 2.1.0 linux kernels
9051         and newer.  Bug was found by Neil Conway
9052         <nconway.list@ukaea.org.uk>
9054 1999-02-04  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9056         * released snapshot am-utils-6.0.1s4
9058 1999-02-03  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9060         * amq/amq.c (main): don't list -M as a valid amq option unless
9061         configure'd with --enable-amq-mount.
9063 Wed Feb  3 18:11:18 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9065         * amd/nfs_start.c (amd_use_autofs): Define.
9066         (mount_automounter): Create autofs service listener only if
9067         necessary to avoid unnecessary clashes with e.g. automountd.
9069         * amd/amd.h (amd_use_autofs): Declare.
9071         * amd/conf.c (gopt_mount_type): Set amd_use_autofs.
9072         (ropt_mount_type): Likewise.
9074 1999-02-02  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9076         * aux/macros/check_mnt2_nfs_opt.m4:: ditto
9078         * aux/macros/check_mnt2_cdfs_opt.m4: ditto
9080         * aux/macros/check_mnt2_gen_opt.m4: ditto
9082         * aux/macros/check_mnttab_opt.m4: new macro in this file to loop
9083         over AC_CHECK_MNTTAB_OPT.  Reduces size of configure script a lot.
9085         * conf/nfs_prot/nfs_prot_netbsd1_3.h: include nfs/rpcv2.h,
9086         nfs/nfs.h and nfs/nfsmount.h if they exist.  Patch from
9087         christos@zoulas.com (Christos Zoulas).
9089         * amd/info_hesiod.c: some forward declarations.  Patch from
9090         christos@zoulas.com (Christos Zoulas).
9092 1999-01-28  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9094         * libamu/mount_fs.c (compute_nfs_args): don't turn on/off noconn
9095         option if it was already in that state.  Patch from David
9096         Wolfskill <dhw@whistle.com>.
9098 1999-01-20  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9100         * aux/configure.in: automake nowadays supports LTLIBOBJS (but not
9101         LTALLOCA yet).  Substitute value of LIBTOOL_DEPS for libtool
9102         rebuild make rules.
9104         * Makefile.am: new rules to remake libtool (maintainers only)
9106         * amd/amfs_toplvl.c (mount_amfs_toplvl): print generic mount flags
9107         if -D trace was used.
9109 1999-01-18  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9111         * buildall: all if statements should have an else clause because
9112         of Ultrix's /bin/sh.
9114 1999-01-15  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9116         * amq/amq.c: removed dummy variables.
9118         * amq/pawd.c: removed dummy variable.s
9120         * fixmount/fixmount.c (usage): removed dummy variables.
9122         * fsinfo/fsinfo.c: removed dummy variables.
9124         * hlfsd/hlfsd.c: removed dummy variables.
9126         * wire-test/wire-test.c: removed dummy variables.
9128         * mk-amd-map/mk-amd-map.c: removed dummy variables.
9130         * doc/texinfo.tex: updates from GNU mirror.
9132         * aux/GNUmakefile (../doc/texinfo.tex): new rule to update
9133         doc/texinfo.tex from GNU mirror.
9135         * released snapshot am-utils-6.0.1s3
9137         * Makefile.am (install-snapshot): better snapshot and new
9138         install-snapshot and test-snapshot rules (maintainer).
9140         * amd/info_ldap.c (amu_ldap_init): don't run STREQ if one of the
9141         args may be NULL.
9142         Some dlog() entries were not enclosed in #ifdef DEBUG.  Fix from
9143         Bill Paul <wpaul@ctr.columbia.edu>
9145 1999-01-13  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9147         * check for experimental generic 'ignore' mount flag on freebsd3.
9149         * Update library -version-info to 3:0:1 (will result in 2.1.0 .so
9150         version, which is backwards compatible with older versions.)  Only
9151         one new interface was added to libamu.
9153         * amd/amfs_toplvl.c (mount_amfs_toplvl): add generic mount flags
9154         that are specific to automounter mounts.
9156         * aux/configure.in: update libamu.so age and revision since a new
9157         interface was added to libamu/mount_fs.c
9158         (compute_automounter_mount_flags).
9160         * libamu/mount_fs.c (compute_automounter_mount_flags): new
9161         function to compute generic mount flags that are specific to mount
9162         points only.
9164         * aux/{configure.in,acconfig.h}: add support for generic mount
9165         entry ignore option.
9167         * released snapshot am-utils-6.0.1s2
9169         * amd/info_ldap.c (get_ldap_timestamp): dlog format fixes.
9171         * libamu/mount_fs.c (print_nfs_args): solaris 2.7 changed format
9172         of knc_semantics from u_long to u_int.
9174         * aux/macros/check_mount_style.m4: freebsd3 no longer needs a
9175         special mount helper.
9177 1999-01-12  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9179         * aux/macros/check_nfs_prot_headers.m4 (AMU_NFS_PROT_HEADERS):
9180         amu_nfs_conf.h should always be found in $top_builddir.
9182 Tue Jan 12 00:05:42 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9184         * conf/nfs_prot/nfs_prot_sunos5_7.h (MNTTAB_TYPE_AUTOFS): Undefine
9185         to avoid wrong reports from show_fstypes.
9187         * conf/nfs_prot/nfs_prot_irix5.h (MNTTAB_TYPE_XFS): Likewise.
9189         * conf/nfs_prot/nfs_prot_hpux11.h (MNTTAB_TYPE_NFS3): Likewise.
9191 Tue Jan 12 00:05:42 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9193         * BUGS (mips-dec-ultrix4.3): Update Ultrix caveats.
9195 Tue Jan 12 00:05:42 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9197         * hlfsd/homedir.c (delay): Cast child to long, adapt format.
9198         (hlfsd_getpwent): Likewise for pw_uid.
9200         * amd/info_nis.c (nis_init): Cast order to unsigned long, adapt
9201         format.
9203         * conf/transp/transp_tli.c (amu_clnt_create_best_vers): Cast
9204         tv_sec to int to match format.
9205         (get_nfs_version): Cast nfs_version, NFS_VERSION to int to match
9206         formats.
9208         * amd/amfs_program.c (amfs_program_exec): Cast ptr difference to
9209         long, adapt format.
9211         * include/am_defs.h: Handle __attribute__ if available.  From
9212         GNU fileutils 4.0 lib/errors.h.
9214 Mon Jan 11 13:46:44 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9216         * libamu/mount_fs.c (print_nfs_args): Cast sizeof() to int to
9217         match format.
9219         * hlfsd/stubs.c (nfsproc_getattr_2_svc): Cast uid, gid to long,
9220         adapt format.
9221         (nfsproc_lookup_2_svc): Likewise.
9222         (nfsproc_readlink_2_svc): Likewise for userid, groupid.
9224         * hlfsd/nfs_prot_svc.c (nfs_program_2): Cast args to int to match
9225         format.
9227         * hlfsd/homedir.c (homedir): Cast uid, child to long, adapt
9228         format.
9230         * amd/info_hesiod.c (hesiod_search): Cast m, pval, tp to unsigned
9231         long, adapt format.
9233         * amd/ops_nfs.c (find_nfs_fhandle_cache): Cast fh_wchan to
9234         unsigned long, adapt format.
9235         (got_nfs_fh): Likewise.
9236         (prime_nfs_fhandle_cache): Cast fh_nfs_version to int to match
9237         format.
9238         (call_mountd): Likewise, mnt_version also.
9239         (mount_nfs_fh): Likewise.
9241         * amd/ops_autofs.c (autofs_program_1): Cast args to int to match
9242         format.
9243         (autofs_unmount_1_svc): Cast ur->devid, ur_rdevid, ur->next to
9244         unsigned long, adapt formats.
9245         (autofs_bgmount): Cast opt_fs to unsigned to, adapt format.
9246         (autofs_bgmount): Use long format to match arg.
9247         (autofs_lookuppn): Removed superfluous arg.
9249         * amd/srvr_nfs.c (start_ping): Cast nfs_version to int to match
9250         format.
9251         (got_portmap): Likewise for port.
9252         (recompute_portmap): Likewise for fs->fs_version, mnt_version.
9253         (find_nfs_srvr): Likewise for nfs_version.
9255         * amd/sched.c (sched_task): Cast wchan to unsigned long, adapt
9256         format.
9258         * amd/nfs_start.c (checkup): Cast ptr difference to long, next_mem
9259         to unsigned long, adapt format.
9260         Cast tvv.tv_sec to int to match format.
9262         * amd/nfs_prot_svc.c (nfs_program_2): Cast args to int to match
9263         format.
9265         * amd/map.c (root_fh): Cast pid to long, adapt format.
9266         (timeout_mp): Cast time_t to long, adapt format.
9268         * amd/clock.c (reschedule_timeouts): Use long format, cast time_t
9269         arg.
9271         * amd/amfs_host.c (fetch_fhandle): Cast nfs_version to int to
9272         match format.
9273         (amfs_host_fmount): Likewise.
9274         (amfs_host_umounted): Likewise.  Removed superfluous arg.
9276         * amd/amfs_auto.c (amfs_auto_bgmount): Cast pointer to unsigned
9277         long, adapt format.
9278         (amfs_auto_bgmount): Use long format, cast time_t arg.
9279         (amfs_auto_lookuppn): Removed superfluous arg.
9281         * amd/amd.c (main): Cast geteuid() result to long, adapt format.
9283         * conf/transp/transp_sockets.c (get_nfs_version): Cast nfs_version
9284         to int to match format.
9286         * include/am_utils.h: Declare plog, dplog as printf-like.
9288         * conf/mount/mount_irix6.c (mount_irix): Print type as char *.
9290 Mon Jan 11 13:46:44 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9292         * amd/info_hesiod.c (hesiod_isup): New function.
9293         * amd/mapc.c (maptypes): Add it.
9295 1999-01-10  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9297         * released snapshot am-utils-6.0.1s1
9299 1999-01-09  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9301         * ALL: bump copyright year to 1999.
9303 Fri Jan  8 15:24:15 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9305         * aux/macros/check_mtype_type.m4: Ultrix uses an int mount type,
9306         too.
9308         * aux/macros/check_mtype_printf_type.m4: Adapt corresponding
9309         printf type.
9311 Fri Jan  8 15:24:15 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9313         * aux/acconfig.h: Removed HAVE_AM_FS_AUTOFS, unused.
9315         * conf/nfs_prot/nfs_prot_irix6.h: Likewise.
9317         * conf/nfs_prot/nfs_prot_sunos5_6.h: Likewise.
9319         * conf/nfs_prot/nfs_prot_sunos5_7.h: Likewise.
9321         * Makefile.am (EXTRA_DIST_DIRS): Removed, not needed by current
9322         automake.
9324 Thu Jan  7 02:55:18 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9326         * aux/configure.in (AM_PROG_YACC): Replaced by AC_PROG_YACC, not
9327         in current automake.
9329 Thu Jan  7 02:55:18 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9331         * doc/am-utils.texi: Added some missing inter-punctation after
9332         @xref, or use @pxref/@ref as appropriate.  Spotted by makeinfo
9333         from texinfo 3.12b.
9335 1999-01-07  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9337         * doc/texinfo.tex: updated off of latest GNU mirror.
9339 1999-01-04  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9341         * doc/am-utils.texi (Supported Platforms): update platforms that
9342         support NFS v.3.  Nicer postscript printing on double-sided pages.
9344         * amd/info_hesiod.c: add extern definition for hesiod_init()
9346 1999-01-01  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9348         *******************************************************************
9349         *** Released am-utils-6.0                                       ***
9350         *******************************************************************
9352 1998-12-28  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9354         * conf/nfs_prot/nfs_prot_sunos5_7.h: support ldap in solaris 2.7.
9356 1998-12-27  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9358         * conf/nfs_prot/nfs_prot_bsdi3.h: don't use reserved ports on
9359         bsdi4 for NFS V3/nfs mounts.
9361 1998-12-26  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9363         * using latest libtool (1.2e + patches), now supporting shared
9364         libraries on many more systems.  Also using latest autoconf and
9365         automake (unreleased GNU CVS'd versions.)
9367         * minor new ports: hppa2.0w-hp-hpux11.00,
9368         i386-unknown-netbsd1.3.3, mips-sgi-irix6.5.
9370         * fsinfo/fsinfo.h (yywrap): define it for systems (osf4) that
9371         have /usr/bin/flex but not libfl.
9373 1998-12-24  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9375         * lots of code cleanup, to make sure libamu.so does not use
9376         undefined symbols.  Some system's shared libraries cannot handle
9377         that.
9379 1998-12-23  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9381         * include/am_defs.h: only defined seteuid extern if function also
9382         exists and is not superceded by setresuid (hpux).
9384         * amd/ops_autofs.c (autofs_bgmount, autofs_lookuppn): put explicit
9385         braces to avoid confusion with nested if-then-else clauses.
9387         * aux/config.{sub,status}, aux/{ltmain.sh,ltconfig,mkinstalldirs:
9388         updated from latest versions.
9390 1998-12-22  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9392         * minor new port: i386-pc-bsdi4.0
9394         * conf/nfs_prot/nfs_prot_bsdi3.h: add missing hesiod header
9395         definitions for bsdi4.
9397         * {amd,fsinfo}/Makefile.am: force path to .y/.l files, because
9398         some make programs (bsdi4) do not support VPATH correctly.
9400 1998-12-16  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9402         * conf/mount/mount_aix.c: minor code cleanup
9404         * aux/configure.in: check for extern definition to xdr_groups.
9406 1998-12-15  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9408         * minor new port: powerpc-ibm-aix4.3.1.0
9410         * aux/macros/*.m4: updates for aix 4.3
9412 1998-12-14  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9414         * minor new port: i386-unknown-openbsd2.4
9416         * aux/configure.in: don't check for xfs on openbsd because
9417         openbsd-2.4 introduces a new file system named xfs, but different
9418         than Irix's XFS.  Sigh.
9420         * minor new port: i386-unknown-freebsd2.2.8
9422 1998-12-03  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9424         * amd/amfs_nfsl.c (amfs_nfsl_ffserver): use case insensitive host
9425         name match.  Bug fix from Douglas K. Rand" <rand@aero.und.edu>.
9427 1998-11-20  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9429         * scripts/ctl-amd.in: wait4amd2die runs in the stop action, to
9430         avoid race conditions when shutting down systems running amd.
9432         * Makefile.am: add a dist-hook to change modes of the directories
9433         in the tar file so they are not world writable.
9435         * conf/nfs_prot/nfs_prot_freebsd3.h: turned on NFSv3 support,
9436         since it is now finally defined in the header files and
9437         (hopefully) stable.
9439         * amd/srvr_nfs.c (find_nfs_srvr): allow overriding if nfsv2 option
9440         is specified in mount options.  freebsd patches from David
9441         O'Brien.
9443         * amq/amq.c (main), fixmount/fixmount.c (main), hlfsd/hlfsd.c
9444         (main), fsinfo/fsinfo.c (fsi_get_args), hlfsd/hlfsd.c (main),
9445         amd/get_args.c (get_args): posix: use -1 to check for return from
9446         getopt() (not EOF), as per posix.
9448         * amd/amq_subr.c (xdr_amq_mount_tree_node): patches from "David
9449         O'Brien" <obrien@NUXI.com>, from the FreeBSD source tree.  Use
9450         real variable whose pointer is on the stack for decoding a long
9451         int.
9453 1998-11-11  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9455         * scripts/ctl-{amd,hlfsd}.in: include comments useful for redhat's
9456         chkconfig utility.
9458 1998-11-10  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9460         * released snapshot am-utils-6.0b2s3
9462         * conf/transp/transp_sockets.c (create_nfs_service): remove C++
9463         style comments.
9465 1998-11-04  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9467         * released snapshot am-utils-6.0b2s2
9469         * created CVS package
9471         * amd/nfs_subr.c (nfsproc_lookup_2_svc): try to avoid a race
9472         condition between unmounting and re-mounting an entry, by
9473         increasing the ttl of a looked up entry before unmounting it.
9474         Patch from Mike Mitchell <mcm@unx.sas.com>.
9476         * All files: spell comments and strings.
9478 1998-11-03  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9480         * aux/configure.in: look for yp_all in libnsl only if yp_all not
9481         already found elsewhere (in libc or other default libraries).
9482         This is so RedHat 5.1 systems could find yp functions in libnsl,
9483         but also so AIX 4.2.1 will NOT include libnsl, because the latter
9484         has broken nis functionality that also exists and works ok in libc.
9486 1998-10-29  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9488         * amd/amd.c (main): bug fix: swapped arguments to kill(2).  Fix
9489         from Danny Rathjens <dkr@cs.fiu.edu>.
9491 1998-10-28  Erez Zadok  <ezk@spruce.mcl.cs.columbia.edu>
9493         * released snapshot am-utils-6.0b2s1
9495 1998-10-27  Erez Zadok  <ezk@spruce.mcl.cs.columbia.edu>
9497         * aux/macros/*.m4: support bsdi4 as bsdi3.
9499         * aux/macros/os_ldflags.m4: enable detection of LDAP on solaris
9500         2.7 (libraries located in /usr/lib/fn).  This is off until Sun
9501         includes LDAP header information.
9503 1998-10-20  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9505         *******************************************************************
9506         *** Released am-utils-6.0b1                                     ***
9507         *******************************************************************
9509 1998-10-18  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9511         * mk-amd-map/mk-amd-map.c (main): use perror not strerror.
9512         (main): set return type to int if no ndbm maps.
9514         * include/am_defs.h: avoid conflicts with <sys/mount.h> in 2.1
9515         kernels.
9517 1998-10-18  Erez Zadok  <ezk@london.mcl.cs.columbia.edu>
9519         * A.i386-unknown-netbsd1.3.2/amu_nfs_prot.h: trim down and cleanup
9520         for netbsd 1.3.2.
9522 1998-10-17  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9524         * aux/configure.in: check for yp_all in libnsl, b/c redhat 5.1
9525         systems put NIS functions there.
9527         * mk-amd-map/mk-amd-map.c: patch from "David O'Brien"
9528         <obrien@NUXI.com> merged in.  Use POSIX -1 return code from
9529         getopt(), not EOF.  Use .db extentions for systems that use it,
9530         instead of .{pag,dir}.
9532 1998-10-15  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9534         * wire-test/wire-test.c, hlfsd/hlfsd.c, fixmount/fixmount.c,
9535         amd/amd.c (main): avoid overrunning hostname buffer.  Bug fix from
9536         "David O'Brien" <obrien@NUXI.com>.
9538         * scripts/amd.conf.5: minor typo reported by "David O'Brien"
9539         <obrien@NUXI.com> in .TH section of man page.
9541         * amd/info_nis.c (am_yp_all): don't leak key-val entries.  Patch
9542         from Thomas Richter <richter@chemie.fu-berlin.de>.
9544 1998-10-12  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9546         * doc/am-utils.texi (Program Filesystem): minor typo fixed as per
9547         Andreas Stolcke <stolcke@speech.sri.com>.
9549         * minor new ports: sparc64-unknown-linux-gnu, i386-pc-solaris2.7,
9550         and sparc-sun-solaris2.7.
9552         * conf/mount/mount_freebsd3.c (mount_freebsd3): freebsd 3.0 is now
9553         a 4.4lite kernel, and somethings were removed, such as
9554         INITMOUNTNAMES.
9556         * amd/ops_autofs.c (autofs_lookuppn): don't leak memory while
9557         processing /defaults.  Free temporary opts.  Patch from
9558         dsr@mail.lns.cornell.edu (Daniel S. Riley)
9560         * amd/amfs_auto.c (amfs_auto_lookuppn): don't leak memory while
9561         processing /defaults.  Free temporary opts.  Patch from
9562         dsr@mail.lns.cornell.edu (Daniel S. Riley)
9564         * conf/mtab/mtab_osf.c (read_mtab): patch from
9565          dsr@mail.lns.cornell.edu (Daniel S. Riley) not to access
9566          uninitialized memory on Digital Unix.
9568 1998-10-09  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9570         * aux/macros/{check_mtype_type,check_mtype_printf_type}.m4: most
9571         systems now use "char *" as their mount type.
9573 1998-10-08  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9575         * amd/conf.c (gopt_map_type, ropt_map_type): check if map type
9576         exists.
9578         * amd/mapc.c (mapc_type_exists): function to test if a map of
9579         certain type exists.
9581 1998-10-08  Erez Zadok  <ezk@horatio.mcl.cs.columbia.edu>
9583         * aux/macros/{mount_headers,try_compile_anyfs,try_compile_nfs}.m4,
9584         include/am_defs.h: Avoid a conflict in definitions of ntohl/htonl
9585         in RH-5.1 sparc64 between <netinet/in.h> and
9586         <linux/byteorder/generic.h> (2.1 kernels).
9588 1998-09-28  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9590         * aux/macros/func_bad_yp_all.m4 (ac_cv_func_yp_all_clean): RedHat
9591         5.1 systems with glibc glibc-2.0.7-19 or below leak a UDP socket
9592         from yp_all().
9594 1998-09-25  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9596         * conf/mount/mount_linux.c (parse_opts): check for pcfs support
9597         only if autoconfigured.
9599 1998-09-18  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9601         * Makefile.am (EXTRA_DIST): distribute README.yk2 file.
9603         * README.y2k: explain y2k compliance status of am-utils.
9605 1998-09-16  Erez Zadok  <ezk@iguana.mcl.cs.columbia.edu>
9607         * amd/amfs_host.c (fetch_fhandle, amfs_host_fmount,
9608         amfs_host_umounted): clnt_sperrno() may return a const.
9610 Sat Aug  8 23:28:32 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9612         * aux/configure.in: check for <nfs/nfsmount.h>, as per Christos
9613         Zoulas. Turned on checking for mount options: async, synchronous,
9614         deadthresh, leasterm, nqnfs, and readahead.
9616         * amd/info_nis.c: patch from christos@zoulas.com (Christos Zoulas)
9617         to include prototype definition for nis_isup().
9619 Sun Jul 19 18:50:10 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9621         * hlfsd/stubs.c (getcreds): force sscanf arg to u_long.
9623 Tue Jul 14 20:34:25 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9625         * released snapshot am-utils-6.0a17s1
9627 Wed Jul  8 21:49:15 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9629         * aux/macros/host_macros.m4: all x86 hosts should have $arch be
9630         i386, not i[456]86.
9632 Tue Jul  7 18:55:09 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9634         * aux/macros/{mount_headers,try_compile_anyfs,try_compile_nfs}.m4,
9635         include/am_defs.h: include <linux/posix_types.h> before
9636         <linux/fs.h> because on redhat 5.1, there is a bug (misuse) of
9637         headers in <socketbits.h> (it defines _LINUX_TYPES_H instead of
9638         __KERNEL_STRICT_NAMES).
9640         * aux/configure.in: check for <linux/posix_types.h> because it is
9641         need for RedHat 5.1.
9643 Wed Jun 17 00:05:33 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9645         * scripts/Makefile.am (EXTRA_DIST): have fixrmtab generated from
9646         .in as well, so it doesn't get removed by make clean.
9648 Tue Jun 16 22:00:15 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9650         * aux/macros/{check_fs_mntent.m4, check_mnttab_type.m4,
9651         check_mount_type.m4}: redhat 5.1 puts some modules in
9652         /lib/modules/preferred/.
9654 Wed May 13 16:33:57 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9656         * amd/ops_autofs.c (mount_autofs): cast pid to long.
9658 Tue Apr 28 15:12:36 1998  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9660         * conf/nfs_prot/nfs_prot/nfs_prot_irix6.h,
9661         conf/nfs_prot/nfs_prot_sunos5_6.h: Undef MNTTAB_TYPE_AUTOFS too to
9662         avoid amd/am_ops.c (show_fstypes) from erroneously claiming
9663         support.
9665 Fri Apr 24 23:02:11 1998  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9667         * libamu/xutil.c (get_syslog_facility): Don't use LOG_DAEMON
9668         unconditionally, may be missing on Ultrix V4.3.
9670 Thu Apr 23 20:24:33 1998  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9672         * conf/nfs_prot/nfs_prot_sunos5_4.h (MNTTYPE_CACHEFS): Define,
9673         missing from <sys/mntent.h>.
9675         * conf/mtab/mtab_ultrix.c: Need separate inclusion of <sys/fs_types.h>
9676         without KERNEL defined here.
9678         * aux/macros/mount_headers.m4: Need to include <ufs/ufs_mount.h>,
9679         <cdfs/cdfs_mount.h>, <cdfs/cdfsmount.h> so autoconfiguration of
9680         ufs_args_t, cdfs_args_t fields and cdfs mount options can succeed.
9682         * amd/ops_ufs.c (mount_ufs): Removed obsolete comment.
9684         * ChangeLog: Fixed confusing linebreaks from ChangeLog imports.
9685         Removed purely local (and obsolete) entry.
9687 Thu Apr 23 00:22:17 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9689         *******************************************************************
9690         *** Released am-utils-6.0a16                                    ***
9691         *******************************************************************
9693 Wed Apr 22 01:20:39 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9695         * aux/macros/check_mount_style.m4: define freebsd3 mount style.
9697         * aux/macros/check_mount_trap.m4: new mount trap for freebsd3.
9699         * aux/macros/check_mtype_printf_type.m4,
9700         aux/macros/check_mtype_type.m4 (ac_cv_mtype_type,): freebsd3 (as
9701         of snapshot 3.0-980311-SNAP) uses char * types for mount(2), not
9702         integers, but I'll keep them as integers and do the mapping in
9703         conf/mount/mount_freebsd3.c
9705         * minor new port to i386-pc-bsdi3.1.
9707         * minor new port to i386-unknown-netbsd1.3.1.
9709         * amd/opts.c: new option addopts:=ARG, which smartly merges ARG
9710         options with whatever the /default ones for a key are.  This
9711         allows adding or overriding /default options individual keys.
9713         * amd/am_ops.c (ops_match): strdup/malloc string assigned to
9714         opt_opts because it'll get free()'d upon next use.
9715         (merge_opts): new function to merge two sets of options.
9716         (ops_match): if addopts option exist, append and merge it to the
9717         current default options.
9719 Tue Apr 21 12:54:59 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9721         * wire-test/wire-test.c (main): use dynamically allocated returned
9722         string with list of interfaces.
9724         * amd/get_args.c (get_version_string): allocate enough space for
9725         header version string and a list of network interfaces of any
9726         length.
9728         * libamu/wire.c (print_wires): return dynamically allocated string
9729         containing list of networks.  Must be dynamic because some sites
9730         had potentially dozens of network interfaces.  Patch from Matthew
9731         Crosby <mcrosby@ms.com> slightly modified.
9733 Mon Apr 20 00:37:20 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9735         * conf/nfs_prot/nfs_prot_irix5.h: underfine MNTTYPE_XFS because
9736         irix 5.3 does not have full header definitions for it.
9738         * fsinfo/fsi_lex.l (yywrap): define yywrap if needed, and
9739         undefined it when not needed (similar to amd/conf_tok.l)
9741         * hlfsd/hlfsd.h (ROOTID, SLINKID, INVALID): reduced maximum size
9742         of these to unsigned short (because uid_t on some linux systems is
9743         small).
9745         * released snapshot am-utils-6.0a16s10
9747         * doc/am-utils.texi (opts Option): documented resvport mount
9748         option.
9750 Sun Apr 19 18:17:03 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9752         * doc/am-utils.texi (-D-Option): document behavior of -D info and
9753         especially what it does to hesiod (turn on RES_DEBUG).
9755         * scripts/amd.conf.5: document info debugging option.
9757         * libamu/xutil.c (dbg_opt): parse info debugging option.
9759         * include/am_utils.h (D_INFO): define new trace option.
9761         * Makefile.am (EXTRA_DIST): include list of official mirrors in
9762         distribution.
9764         * libamu/wire.c (SIZE): in the simple case, just compute
9765         sizeof(struct ifreq).
9767 Sun Apr 19 16:30:35 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
9769         * amd/amd.c (daemon_mode): set a temporary secure umask(0022)
9770         before writing log file and restore it afterwards.  Patch from
9771         Donald Buczek <buczek@MPIMG-Berlin-Dahlem.MPG.DE>.
9773         * amd/get_args.c (get_args):
9775         * doc/am-utils.texi (-F Option), amd/amd.8: mention that amd.conf
9776         file specified by -F is always processed last.
9778         * amd/amd.c (daemon_mode): do not fclose(stdout) so that the fd
9779         won't be reused.  Allows startup script to redirect stdout.  Patch
9780         from Donald Buczek <buczek@MPIMG-Berlin-Dahlem.MPG.DE>.
9782         * libamu/xutil.c (switch_to_logfile): compare logfile name and
9783         syslog string with correct length.  Patch from Donald Buczek
9784         <buczek@MPIMG-Berlin-Dahlem.MPG.DE>.
9786         * amd/restart.c (restart): correctly inherit existing NFS V.3
9787         mounts upon restart.  Patch from Donald Buczek
9788         <buczek@MPIMG-Berlin-Dahlem.MPG.DE>.
9790 Sat Apr 18 19:01:19 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
9792         * using libtool 1.2 and automake 1.3 (with my patches).
9794         * aux/macros/opt_am_cflags.m4, */Makefile.in: rename AM_CFLAGS to
9795         AMU_CFLAGS to avoid conflicts with automake-1.3.
9797 Sun Apr  5 23:09:08 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9799         * converted to using libtool-1.2.
9801 Tue Mar 10 16:52:09 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9803         * fsinfo/fsi_analyze.c (fixup_required_mount_info): replaced silly
9804         for loop (ITER) which used to run only to initialize the variable
9805         dd once and then break; with a simple assignment.
9807         * hlfsd/hlfsd.h: cleanup so it compiles with Solaris
9808         /opt/SUNWspro/bin/cc, and use gid_t not int.
9810         * amd/mapc.c (mapc_sync): don't dereference pointer (so it
9811         compiles with Solaris /opt/SUNWspro/bin/cc)
9813 Sun Mar  8 15:54:22 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9815         * aux/config.{guess,sub}: used from gcc-2.8.1.
9817 Sat Mar  7 15:33:27 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9819         * released snapshot am-utils-6.0a16s9
9821         * INSTALL, doc/am-utils.texi (Supported Platforms): updated names
9822         based on new output of new config.guess.
9824         * aux/config.{sub,guess}: used newer versions from gcc-2.8.0.
9826         * amd/amd.8,doc/am-utils.texi: document correct usage of default
9827         /etc/amd.conf file.
9829         * fixmount/fixmount.c (inetresport,privsock): use some more
9830         portable code from amq/amq.c.
9832         * amd/get_args.c (get_args): use default /etc/amd.conf file only
9833         if no arguments had been passed to amd.
9835         * fixmount/fixmount.c (clnt_create_timeout): use tli/socket code
9836         ala amq/amq.c so that fixmount will work on both types of systems.
9838         * amq/amq.c (main): do no close tcp socket before running udp try,
9839         because we're not sure if it was opened at all.
9841         * mips-dec-ultrix* port merged in and cleaned up.
9843         * aux/configure.in: up minor shared library revision number, since
9844         it has changed enough.
9846         * hlfsd/hlfsd.c (main): don't check for overlay mount option here,
9847         as it is now done in compute_nfs_args().  Remove ultrix specific
9848         code also because it was moved to compute_nfs_args().
9850         * conf/mount/mount_svr4.c: removed DEBUG_MOUNT_SVR4 code, now that
9851         we have more generic code in print_nfs_args().
9853         * libamu/mount_fs.c (print_nfs_args): print maxlen of
9854         nfs_args.addr, and also syncaddr (which is mostly NULL).  Print
9855         struct knetconfig from nfs_args->knconf.
9857         * aux/macros/mount_headers.m4 (define): do not check for ufs/cdfs
9858         headers here, but in try_compile_anyfs.m4.
9860         * aux/macros/type_ufs_args.m4: move test for struct ufs_specific
9861         (for ultrix) here from its own macro.
9863         * aux/macros/type_cdfs_args.m4: move test for struct iso_specific
9864         (for ultrix) here from its own macro.
9866         * amd/ops_nfs.c (mount_nfs_fh): no need to run code again checking
9867         for overlay mount option.  Remove code which checks for overlay
9868         option, as it is now done in compute_nfs_args().
9870         * libamu/mount_fs.c (compute_mount_flags): move here code which
9871         checks for overlay mount option which was in amd/amfs_toplvl.c:
9872         mount_amfs_toplvl().
9874 Wed Feb  7 15:35:51 1998  Rainer Orth  <ro@xayide.TechFak.Uni-Bielefeld.DE>
9876         * The following are Rainer's ChangeLog entries for his ultrix
9877         port, added manually. -Erez.
9879         * merged Ultrix port with am-utils 6.0 a16s5: amd/ops_afs.c
9880         (mount_toplvl) -> amd/amfs_toplvl.c (mount_amfs_toplvl)
9882         * include/am_defs.h: include cdfs specific mount headers
9883         avoid duplication definition of gt_names[] in <sys/fs_types.h> (Ultrix)
9885         * include/am_compat.h: define several mount options corresponding
9886         to mount flags: pgthresh, hard (nfs), defperm, nodefperm,
9887         noversion, rrip (cdfs), nocache, quota, sync (generic) removed
9888         duplicate MNTTAB_OPT_RO definition
9890         * aux/macros/try_compile_anyfs.m4: include Ultrix specific
9891         ufs/cdfs mount headers
9893         * aux/macros/mount_headers.m4: include several Ultrix/Digital UNIX
9894         specific mount headers
9896         * aux/macros/check_{fs_mntent, mount_type}.m4: check for GT_*
9897         mount types in mount headers (Ultrix)
9899         * aux/configure.in: Ultrix/Digital UNIX specific checks: new
9900         headers, mount structures and fields, filesystem and mount types,
9901         mount flags
9903         * aux/acconfig.h: placeholders for new mount options: quota
9904         (generic), ro (nfs), defperm, nodefperm, noversion, rrip (cdfs)
9905         cdfs, nfs, ufs mount structure fields new ufs, cdfs mount
9906         structures
9908         * amd/ops_ufs.c (mount_ufs): Ultrix stores generic mount flags in
9909         ufs_args.ufs_flags and has ufs specific pgthresh option
9911         * amd/ops_cdfs.c (mount_cdfs): handle Ultrix/Digital UNIX specific
9912         CDFS mount flags and options
9914         * amd/ops_afs.c (mount_toplvl), amd/ops_nfs.c (mount_nfs_fh),
9915         hlfsd/hlfsd.c (main): store generic mount flags in
9916         nfs_args.gfs_flags, handle separate NFS ro flag
9918         * aux/macros/{check_mnt2_cdfs_opt, struct_iso_specific,
9919         struct_ufs_specific}.m4: new files; check for Ultrix specific
9920         mount structures
9922         * conf/trap/trap_ultrix.h: arg 3 to mount(2) is rwflag
9924         * aux/macros/type_auth_create_gidlist.m4 (ultrix*):
9925         AUTH_CREATE_GIDLIST_TYPE is int (not short == gid_t) from a
9926         comment in <rpc/auth.h>
9928         * include/am_defs.h: #define KERNEL to avoid definition of
9929         gt_names[] conf/mtab/mtab_ultrix.c: #include <sys/fs_types> before
9930         <config.h> to force single definition here
9932         * libamu/mount_fs.c (compute_nfs_args): Ultrix support for
9933         nfs_args.gfs_flags moved to callers store mount options in
9934         nap->optstr
9936         * include/am_defs.h: fix _am_mntent mnt_{type, opts} field
9937         descriptions
9939         * aux/macros/mount_headers.m4, aux/macros/try_compile_nfs.m4:
9940         include <rpc/rpc.h> before AMU_NFS_PROTOCOL_HEADER for svc_req
9941         definition in prototypes
9943         * aux/macros/mount_headers.m4: include <sys/errno.h> before
9944         AMU_NFS_PROTOCOL_HEADER: <nfs/nfs.h> needs it for NFSERR_*
9945         definitions
9947         * conf/nfs_prot/nfs_prot_ultrix.h: new file
9949         * aux/macros/check_nfs_prot_headers.m4: use nfs_prot_ultrix.h
9951         * aux/macros/mount_headers.m4, aux/macros/try_compile_nfs.m4,
9952         aux/macros/try_compile_rpc.m4, include/am_defs.h: avoid multiple
9953         inclusion of <rpc/xdr.h>
9955 Sat Mar  7 13:56:05 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9957         * aux/configure.in: save state of config.cache and confdefs.h
9958         (as dbgcf.h) at various points of the configure.
9960         * aux/macros/save_state.m4: new macro to save state of configure,
9961         esp. useful in long ones.  Saves confdefs.h and write $ac_cv_*
9962         cache variables that are known so far.
9964         * released snapshot am-utils-6.0a16s8
9966 1998-03-06  Erez Zadok  <ezk@mercer.psl.cs.columbia.edu>
9968         * fsinfo/fsi_lex.l,amd/conf_tok.l: define ECHO after undefining
9969         it, but only for flex.
9971 Fri Mar  6 17:23:17 1998  Erez Zadok  <ezk@chestnut.mcl.cs.columbia.edu>
9973         * hlfsd/homedir.c (plt_print): change pathname of hlfsd dump file
9974         to /usr/tmp/hlfsd.dump.XXXXXX, and use a safe method (if possible)
9975         to write the dump file.
9977         * doc/am-utils.texi,amd/opts.c: rename all references to nomadic
9978         functions to boolean functions, which is what they really are.
9980         * aux/configure.in: don't look for strcasecmp in libucb at all,
9981         but rather complete it from libamu/strcasecmp.c as needed.
9983 Fri Mar  6 03:29:20 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9985         * conf/nfs_prot/nfs_prot_osf4.h: avoid conflicts with Irix's EFS.
9987         * libamu/wire.c (getwire): fix for 0.0.0.0 loopback on SunOS 3.X
9988         which defines IFF_ROUTE instead of IFF_LOOPBACK.  Patch from Tom
9989         Schmidt <tschmidt@micron.com>.
9991         * released snapshot am-utils-6.0a16s7
9993         * conf/nfs_prot/nfs_prot_hpux11.h: a first working port of amd to
9994         hppa1.0-hp-hpux11.00.tgz.
9996 Thu Mar  5 21:59:03 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
9998         * converted all sources to use mntent field names, and map mnttab
9999         field names to mntent's.
10001         * include/am_defs.h (mnt_special): map struct mnttab field names
10002         to struct mntent field names.
10004         * aux/macros/check_mount_trap.m4: hpux11's mount trap style is
10005         identical to svr4/solaris2.
10007         * aux/macros/check_mount_style.m4: hpux11's mount style is
10008         identical to svr4/solaris2.
10010         * aux/macros/check_network_transport_type.m4: hpux11 is a TLI
10011         system!
10013         * aux/macros/check_nfs_sa_dref.m4: hpux11's NFS host address
10014         dereferencing style is same as svr4.
10016         * aux/macros/check_nfs_fh_dref.m4: hpux11's NFS file fh
10017         dereferencing style is same as svr4.
10019         * conf/transp/transp_tli.c (create_nfs_service): if failed to
10020         getnetconfigent() of ticlts, then try udp (hpux11).
10022         * conf/nfs_prot/nfs_prot_hpux11.h: added correct definitions for
10023         struct nfs_args, nfs_fh, and NFSMNT_* flags, taken from solaris
10024         2.5.1 (HP used them).
10026         * amd/rpc_fwd.c (fwd_init): don't use O_NDELAY for t_open()
10027         because hpux11 doesn't like it. if t_open failed, print error
10028         based on t_errlist, not sys_errlist.
10030 Wed Mar  4 22:01:55 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10032         * doc/am-utils.texi: lots of documentation fixes from Rainer Orth
10033         <ro@TechFak.Uni-Bielefeld.DE>.
10035 Sat Feb 28 22:16:35 1998  Erez Zadok  <ezk@kosh.cs.columbia.edu>
10037         * fsinfo/fsi_lex.l: undefine ECHO again, so it doesn't get used
10038         later.
10040         * include/am_defs.h: defined the extern for ualarm() if it isn't
10041         found, regardless if the function isn't found in standard
10042         libraries, because otherwise libamu will include it.
10044 1998-02-28  Erez Zadok (per Ron Snyder)  <ezk@short.cvo.roguewave.com>
10046         * initial port to hpux-11 completed.  Compiles cleanly, but
10047         probably does not work, because of missing NFS V.2/3 headers.
10049         * amd/conf_tok.l: cast yytext to char* when passed to strlen and
10050         strdup, for hpux-11's ansi-cc compiler.
10052         * include/am_utils.h: renamed all xfree() to XFREE() to avoid
10053         conflict with hpux-11's system headers.  Also move (voidp) cast
10054         from sources to inside the macro itself.
10056 Sat Feb 28 13:44:21 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10058         * released snapshot am-utils-6.0a16s6
10060         * amd/info_nis.c (nis_isup): new function to test if NIS is up
10061         without hanging amd.  Used to ensure that amd does not clear the
10062         maps when the expiration period arrived, if the service is down.
10063         Otherwise it would be left with empty maps.  It is better to stay
10064         with possibly old information than none at all.
10066         * amd/mapc.c (mapc_sync): check to see if map service is up.
10068 Tue Feb 24 02:19:42 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10070         * aux/macros/check_lib2.m4 (AC_CHECK_LIB2): fix macro so it
10071         includes auxiliary library only if needed.
10073 1998-02-22  Erez Zadok  <ezk@mercer.psl.cs.columbia.edu>
10075         * amd/conf_tok.l: undefine ECHO again, so it doesn't get used
10076         later.
10078 Sun Feb 22 01:41:08 1998  Erez Zadok  <ezk@zen.cs.columbia.edu>
10080         * conf/nfs_prot/nfs_prot_osf2.h: port to alpha-dec-osf2.1
10081         completed.
10083         * conf/mtab/mtab_osf.c (mnt_dup): not all OSF have NFS3.
10085 Sat Feb 21 19:45:48 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10087         * doc/am-utils.texi (Network Host Filesystem): correct example for
10088         type:=host map.
10090         * aux/macros/os_cflags.m4: only osf4 should compile with
10091         -D_SOCKADDR_LEN.
10093         * aux/macros/check_nfs_prot_headers.m4: distinguish between OSF2
10094         and OSF4.
10096         * BUGS: include a new file listing known bugs.
10098 Sat Feb 21 03:50:48 1998  Erez Zadok  <ezk@mercer.psl.cs.columbia.edu>
10100         * conf/nfs_prot/nfs_prot_linux.h: turn DES off on all linux
10101         versions.
10103         * aux/macros/type_recvfrom_fromlen.m4: linux alpha should use
10104         size_t for recvfrom fromlen arg.
10106 Sat Feb 21 03:33:59 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10108         * scripts/ctl-hlfsd.in: turn -D fork so primary process never
10109         hangs.
10111 Sat Feb 21 02:45:51 1998  Erez Zadok  <ezk@mercer.psl.cs.columbia.edu>
10113         * include/am_defs.h: don't include <sys/stat.h> and
10114         <linux/stat.h>, just remaining definitions in <statbuf.h>
10116 Thu Jan 29 00:44:28 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10118         * released snapshot am-utils-6.0a16s5
10120         * conf/mount/mount_irix6.c (mount_irix): pass {u,e,x}fs_args to
10121         mount(2).
10123         * check for <sys/fs/xfs_clnt.h> and include it when needed.
10125         * conf/mount/{mount_irix5.c,mount_irix6.c} (mount_irix): recognize
10126         efs and xfs separately from "ufs".
10128         * amd/{ops_xfs.c,ops_efs.c}: new support for irix xfs/efs.
10130         * aux/configure.in: look for irix efs and xfs file systems.
10132         * scripts/amd.conf.5: new unmount_on_exit option documented.
10134         * doc/am-utils.texi (unmount_on_exit): new option documented.
10136         * amd/conf.c (gopt_unmount_on_exit): new function to handle new
10137         amd.conf option.
10139         * amd/map.c (umount_exported): if global amd.conf flag
10140         unmount_on_exit is on, then try to unmount all mounted (or
10141         restartable) file systems.
10143         * amd/amd.c: if print_pid option is on, then normally print it to
10144         stdout.  If also pid_file is specified, then print the process ID
10145         into that file.
10147         * amd/get_args.c (get_args): print correct -l option depending if
10148         system supports syslog and/or syslog facilities.  Patch from
10149         Tom Schmidt <tschmidt@micron.com>.
10151         * doc/am-utils.texi (opts Option): updates for documentation for
10152         new cdfs options defperm, nodefperm, noversion, rrip.
10154         * amd/ops_cdfs.c (mount_cdfs): support cdfs options defperm,
10155         nodefperm, noversion, rrip.
10157         * conf/nfs_prot/nfs_prot_osf.h: need to look at <cdfs/cdfsmount.h>
10158         on osf.
10160         * aux/macros/{expand_cpp_hex.m4, expand_cpp_int.m4,
10161         expand_cpp_string.m4}: use #error to make failed compilations
10162         fail faster, rather than have the program fail during a run.
10164         * include/am_compat.h: added a few new cdfs options: rrip,
10165         noversion, defperm, and nodefperm (used in OSF).
10167 Wed Jan 28 20:24:09 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
10169         * released snapshot am-utils-6.0a16s4
10171         * doc/am-utils.texi (Global Parameters): update manual for new
10172         amd.conf global variable hesiod_base.
10174         * scripts/amd.conf.5: update man page for new amd.conf global
10175         variable hesiod_base.
10177         * amd/get_args.c (get_args): use /etc/amd.conf file if exists by
10178         default, else try command line options.  Patch from Randall
10179         S. Winchester <rsw@Glue.umd.edu>.
10181 Wed Jan 28 12:20:56 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10183         * amd/info_hesiod.c (hesiod_search), amd/conf.c
10184         (gopt_hesiod_base), amd/amd.h, amd/amd.c (init_global_options):
10185         included patch from Randall S. Winchester <rsw@Glue.umd.edu>, to
10186         support a hesiod base name in the amd.conf file.
10188         * doc/am-utils.texi (pid_file Parameter): document new global
10189         amd.conf parameter.
10191         * scripts/amd.conf.5: document new global option pid_file.
10193         * amd/amd.c (daemon_mode): if cannot open pid_file, continue to
10194         run, but print error message.
10196         * amd/conf.c (gopt_pid_file), amd/amd.h, amd/amd.c (daemon_mode,
10197         init_global_options): Included patch from Randall S. Winchester
10198         <rsw@Glue.umd.edu>, to support pid files in the amd.conf file.
10200         * amd/get_args.c (get_args): correct usage info on amd -t.
10202         * amd/*.c: massive file name and symbol name changes.  All amd
10203         file systems files and symbols are prefix with amfs_*.  Now using
10204         real name of file system: amfs_auto instead of afs, amfs_inherit
10205         instead of ifs, amfs_linkx instead of sfsx, etc.  This will enable
10206         clear distinction between amd file system and generic ones like
10207         nfs/ufs/pcfs/hsfs.  Also, now we can implement true afs (Andrew
10208         f/s) and DFS (Distributed f/s).
10210         * amd/amfs_union.c: unionfs for amd is always defined, no need to
10211         #ifdef it.
10213 Mon Jan 26 16:51:38 1998  Erez Zadok  <ezk@chestnut.mcl.cs.columbia.edu>
10215         * libamu/mount_fs.c (compute_nfs_args): set 'noconn' NFS option on
10216         or off, based on the particular quirks of the OS in question.
10218         * aux/macros/check_nfs_socket_connection.m4: new macro to set the
10219         correct wait of handling un/connected NFS sockets.
10221         * scripts/wait4amd.in: use rlogin instead of rsh.
10223         * amd/am_ops.c (ops_showfstypes): when showing F/S types in amd
10224         -v, always show "nfs3" for NFS V.3.
10226 1998-01-25  Erez Zadok  <ezk@snoopy.cs.columbia.edu>
10228         * lots of small fixes for solaris 2.6, since gcc 2.8.0 -Wall gets
10229         more picky than 2.7.2.3 did.
10231 1998-01-24  Erez Zadok  <ezk@snoopy.cs.columbia.edu>
10233         * include/am_utils.h (dlog): amuDebug macros reduced to shorter
10234         forms.
10236 Fri Jan 23 18:38:30 1998  Erez Zadok  <ezk@goat.mcl.cs.columbia.edu>
10238         * released snapshot am-utils-6.0a16s3
10240         * include/am_defs.h: on Solaris 2.6, <sys/varargs.h> is included
10241         in <sys/fs/autofs.h> but since stdargs.h is used, and varargs.h
10242         must not, fake a definition for varargs.
10244 Fri Jan 16 10:16:40 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10246         * README: show how to configure in additional support such as
10247         hesiod using various --enable-* flags.
10249 Wed Jan 14 15:13:02 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10251         * aux/configure.in: look for strcasecmp(), and replace it if not
10252         available.
10254         * amd/ops_nfsl.c (nfsl_match): host names should be compared using
10255         case insensitive.
10257         * amd/opts.c: for each map variable, define if the comparison
10258         needs to be done case insensitive.
10260         * include/am_utils.h (STRCEQ): a new macro to use strcasecmp().
10261         Patch from Thomas Richter <richter@chemie.fu-berlin.de>
10263 1998-01-14  Erez Zadok  <ezk@irt.cs.columbia.edu>
10265         * aux/configure.in: look for "isofs" as a possible mount type for
10266         cdfs (RedHat Linux).
10268 Wed Jan 14 02:07:05 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10270         * conf/mount/mount_linux.c (parse_opts): don't look for cdfs mount
10271         type if not defined.
10273         * conf/nfs_prot/nfs_prot_linux.h: don't define __FD_* macros if
10274         already defined.
10276         * aux/configure.in: look for ext2fs before ufs, b/c some linux
10277         have both.
10279 Mon Jan 12 15:43:20 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10281         * Makefile.am (snapshot): allow me to install snapshots into the
10282         ftp directory.
10284         * scripts/ctl-hlfsd.in: don't turn on -D mem by default.
10286         * amd/get_args.c (get_args): minor bug in output of amd -H.
10288 Mon Jan 12 03:05:06 1998  Erez Zadok  <ezk@chestnut.mcl.cs.columbia.edu>
10290         *******************************************************************
10291         *** Released am-utils-6.0a15                                    ***
10292         *******************************************************************
10294 Sun Jan 11 15:06:34 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10296         * amd/conf.c (*_browsable_dirs): allow specifying
10297         browsable_dirs=full, which will print *all* entries (other than
10298         /default), including  those with '*' and '/' characters.
10300         * amd/info_file.c (MAX_LINE_LEN): up maximum readdir chain length
10301         to 1500.
10303         * doc/am-utils.texi: fixed reversed documentation for NFS mount
10304         options vers and proto.
10306         * doc/Makefile.am (install-html): separate target just for
10307         installing html files.  Another new target "alldocs" is just for
10308         installing all files needed for the am-utils home page.
10310         * scripts/amd.conf-sample: updated example for log_file.
10312         * scripts/amd.conf.5: updated for new way to declare new syslog
10313         facility in the log_file option.
10315         * amd/amd.8: updated for new way to declare new syslog facility in
10316         the -l option.
10318         * libamu/xutil.c (get_syslog_facility): allow users to specify the
10319         syslog facility as an appended string to the log device.  Ex. amd
10320         -l syslog:local7 will use LOG_LOCAL7, while the older -l syslog
10321         will use the default LOG_DAEMON facility.
10323         * amd/get_args.c (get_args): updated new syntax for amd -l
10324         syslog:facility.
10326 Thu Jan  8 04:05:10 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10328         * aux/macros/host_macros.m4: don't confuse sun3 (sparc) with sun3
10329         (intel).
10331         * libamu/wire.c (print_wires): bug fix.  Nullify output buffer
10332         before appending to it, on systems with two or more network
10333         interfaces.
10335         * conf/nfs_prot/nfs_prot_sunos5_3.h: add missing definition for
10336         the mntent for cachefs.
10338         * include/am_defs.h: external definition for strstr() should use
10339         const for both arguments.
10341         * aux/configure.in: add extern definitions for getwd() if missing.
10343         * include/am_defs.h: define the extern for strdup() even if the
10344         function does not exist, for it will be filled in by
10345         libamu/strdup.c
10347         * amq/pawd.c (cluster_server): don't use getccent() if the extern
10348         for it isn't there.  On hpux 10.20, the function is in libc, but
10349         <cluster.h> and struct cct_entry do not exist.
10351         * aux/configure.in: check for an extern for getccent() b/c some
10352         hpux systems don't have it (hpux 10.20).
10354 Wed Jan  7 00:09:19 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
10356         * doc/am-utils.texi (Amq -T option): manual documentation updates
10357         for new amq options -T/-U.
10359         * amq/amq.8: updated man page for new amq options -T/-U.
10361         * amq/amq.c: two new switches to amq. -U will contact amd using
10362         UDP only.  -T will use TCP only.  Normally amq will try TCP and
10363         if that failed, will try UDP.
10365         * doc/am-utils.texi (pawd): manual documentation for pawd.
10367         * amq/pawd.1: new man page for pawd.
10369 Tue Jan  6 04:21:59 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
10371         * amq/pawd.c: a new program, Print Automounter Working Directory,
10372         to print the proper pathname of the cwd or any other pathname,
10373         adjusted for automounter paths, while avoiding mount points.
10375         * aux/macros/localconfig.m4: trivial support for am-utils
10376         maintainers to adjust some of the configuration of am-utils after
10377         it has been auto-configured by putting whatever definitions you
10378         wish in a file called localconfig.h, located in the top build
10379         directory (the same one where config.h is created for you).
10381         * doc/am-utils.texi (Caching Filesystem): updated documents for
10382         cachefs file system.
10384         * amd/ops_cachefs.c: initial cachefs support, for solaris.
10385         type:=cachefs, requires cachedir:=/cache/dir/name to be defined
10386         and initialized with cfsadmin -c.  $rfs is backdir to be cached
10387         from, and $fs is the local mount point of the cachefs.
10389         * conf/mount/mount_svr4.c (mount_svr4): support mounting of
10390         cachefs file systems.
10392         * amd/ops_cdfs.c: cdfs should be named 'cdfs', not whatever the
10393         mnttab type is.
10395 Mon Jan  5 23:22:49 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
10397         * amd/opts.c: added support for new variable $cachedir.
10399         * include/am_utils.h: added opt_cachedir field to struct am_opts.
10401 Sat Jan  3 01:43:57 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
10403         * amd/ops_nfsl.c (nfsl_ffserver, nfsl_match): also check if the
10404         local hostname does not match $rhost, and if so, also assume
10405         type:=nfs.
10407 Fri Jan  2 01:00:40 1998  Erez Zadok  <ezk@lorien.cs.columbia.edu>
10409         * updated all source files to add 1998 as a copyright year.
10411         * amd/ops_nfsl.c: new amd meta file system "type:=nfsl".  Behaves
10412         like type:=linkx if the pathname denoted by $fs exists, and like
10413         type:=nfs if it does not.  A convenient shortcut for the most
10414         popular amd map entry.
10416         * amd/amd.c (main): amd should chdir to / before starting, to
10417         avoid hanging on other NFS server if started elsewhere.
10419         * amd/ops_TEMPLATE.c: added an empty template file for developers
10420         who wish to write new amd pseudo file systems.
10422 Thu Jan  1 00:27:28 1998  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10424         * hlfsd/homedir.c (plt_init): make function exported, to save on
10425         the unnecessary init_homedir() function which was removed.
10426         (table_add): don't use xmalloc() when you can use strdup()
10427         instead.
10429 Thu Jan  1 00:15:58 1998  Erez Zadok  <ezk@chestnut.mcl.cs.columbia.edu>
10431         * hlfsd/homedir.c (hlfsd_endpwent): Don't actually run this
10432         because we will be making more passwd calls afterwards.  On
10433         Solaris 2.5.1, making getpwent() calls after calling endpwent()
10434         results in a memory leak! (and no, even Purify didn't detect
10435         it...)
10437 Tue Dec 23 18:23:47 1997  Erez Zadok  <ezk@chestnut.mcl.cs.columbia.edu>
10439         * hlfsd/hlfsd.c (main): Bug fix.  Don't try to free() an
10440         automatically allocated address.
10442         * amd/ops_afs.c (mount_toplvl): Bug fix.  Don't try to free() an
10443         automatically allocated address.
10445         * ALL SOURCES: change every direct call to free() to xfree(), so
10446         it can be mapped to the right debugging function as needed.
10448         * include/am_utils.h: new free() policy.  If debugging memory,
10449         call dxfree(), which will print the file name and line number
10450         where the free occurred and the pointer address.  if only regular
10451         debugging, then free() and reset  the pointer to NULL so it cannot
10452         be used afterwards inadvertently.  If not DEBUG at all, then just
10453         run free().  Three different #define macros set the right mapping.
10455         * libamu/xutil.c (dxfree): renamed function to dxfree(), so it can
10456         be called only when debugging the memory.
10458 Tue Dec 23 04:24:28 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10460         * wire-test/wire-test.c (main): use xmalloc() not malloc().
10462         * conf/transp/transp_tli.c (get_knetconfig): use xzalloc() not
10463         calloc().
10465         * conf/mtab/mtab_mach3.c (convert): use xzalloc() not calloc().
10467         * conf/mount/mount_linux.c (parse_opts): use xmalloc() not
10468         malloc().
10470         * amd/info_ldap.c: use xmalloc() not malloc().
10472         * libamu/xutil.c (xzalloc): new function to allocate memory and
10473         zero its bytes.
10475         * amq/amq.c: amq does not need its own definition of xfree().
10477         * aux/macros/opt_debug.m4: if used --enable-debug=mem, then also
10478         look for function malloc_verify() in libmapmalloc.a, and function
10479         mallinfo() in libmalloc.
10481         * libamu/xutil.c (checkup_mem): do not use mallinfo field
10482         uordbytes, because it does not always exist.  Rather, compute it
10483         from other fields..
10485         * include/am_utils.h: add external definition to xfree() function
10486         used when debugging memory references.
10488 Mon Dec 22 03:01:30 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10490         * amd/ops_afs.c (afs_readdir_browsable): reduce the number of
10491         bytes heuristically computed to be returned to the kernel.
10492         Otherwise browsable_dirs fails on OpenBSD 2.2.
10494         * amd/mntfs.c (uninit_mntfs): bug fix.  Moved freeing of
10495         mf_private field to AFTER it gets used.
10497 Sat Dec 20 00:51:21 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10499         * amd/ops_host.c (host_umounted): don't use clnt_spcreateerror()
10500         on systems that don't support it.
10502         * include/am_defs.h: add missing extern definition for free().
10504         * aux/configure.in: check for external definition for free().
10506         * libamu/Makefile.am: add to comment a mention of strstr as an
10507         optional function.
10509         * libamu/xutil.c (switch_to_logfile): use openlog() options only
10510         if they exist.
10512         * conf/transp/transp_sockets.c (get_nfs_version): don't use
10513         clnt_spcreateerror if it does not exist.
10515         * aux/configure.in: check for missing functions clnt_create and
10516         clnt_spcreateerror.  Check for missing strstr, and complete
10517         its code.  Check for missing external definition for strstr.
10519         * aux/macros/host_macros.m4: normalize sun3* names.
10521         * Makefile.am: updates for new sunos3 files distributed.
10523         * conf/nfs_prot/nfs_prot_sunos3.h: new file.
10525         * conf/fh_dref/fh_dref_sunos3.h: new file.
10527         * aux/macros/check_nfs_prot_headers.m4: added sunos3 case.
10529         * aux/macros/check_nfs_fh_dref.m4: added sunos3 case.
10531         * doc/am-utils.texi (wire Selector Variable): updated manual for
10532         adjusted variables wire, network, and netnumber, all using the
10533         in_network() function.
10535 Fri Dec 19 04:37:36 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10537         * amd/opts.c: allow options to be processed by executing arbitrary
10538         functions.  Converted wire, network, and netnumber all to use the
10539         nomadic function in_network.  So from now on they perform a match
10540         against all networks, not just primary.
10542         * initial port to alpha-unknown-linux-gnu, probably works, but
10543         untested yet.
10545         * conf/nfs_prot/nfs_prot_linux.h: add special definitions for
10546         __FD_* macros which for som strange reason do not get included
10547         from <selectbits.h> on redhat alpha linux.  Also turn off usage of
10548         <rpc/des_auth.h> because it is incomplete on the same systems.
10550         * hlfsd/homedir.c (table_add): cast uid field to int, for
10551         comparison.
10553         * include/am_defs.h: more coflicts with redhat alpha linux
10554         "resolved".
10556         * aux/macros/{mount_headers,try_compile_anyfs,try_compile_nfs}.m4:
10557         There's a conflict of definitions on redhat alpha linux between
10558         <netinet/in.h> and <linux/fs.h> which must be avoided.
10560         * aux/configure.in: check for <socketbits.h>, which is in use on
10561         redhat alpha linux.
10563         * doc/am-utils.texi (Selectors): added documentation to describe
10564         the new "!" (negated) nomadic functions.
10566         * amd/opts.c (f_in_network): print debugging info that is correct,
10567         rather than saying that any ARG is on a local network.
10568         (eval_opts): added support for negating nomadic functions, by
10569         prepending "!" to their name.  Example, !exists(/foo/bar).
10571 Thu Dec 18 20:57:19 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10573         * include/am_compat.h: ensure that all NFS3 systems have the mount
10574         table entries (and amd opts switches) "proto" and "vers".
10576         * hlfsd/homedir.c (table_add): added some debugging info to try
10577         and track down a serious memory leak in hlfsd.
10579 1997-12-18  Erez Zadok  <ezk@t-rex.mcl.cs.columbia.edu>
10581         * libamu/mount_fs.c (compute_nfs_args): OpenBSD 2.2 requires that
10582         you do NOT set the noconn option, and use connected sockets
10583         always.  So I'm now forced not to set it at all, and have the user
10584         specify it as "conn" or "noconn" in their /default entry.  Argh...
10585         Finally, it looks as if OpenBSD 2.2's NFS 3 implementation may be
10586         buggy (TCP hangs with "short receive" kernel errors).  I'd better
10587         wait until they get it working in their version of the automounter
10588         first.  So I'm putting the "noconn" option back.
10590 Thu Dec 18 02:39:39 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10592         * libamu/mount_fs.c (compute_nfs_args): use maxgrps option and set
10593         nfs_args field maxgrouplist accordingly.
10595         * include/am_compat.h (MNTTAB_OPT_MAXGROUPS): complete definition
10596         for mount table entry for maxgroups based on NFS mount option
10597         maxgrp.
10599         * aux/configure.in: put back testing for NFS mount option
10600         "maxgrps".  Added test for mount table entry "maxgroups".
10602         * libamu/mount_fs.c (compute_nfs_args): perform more careful tests
10603         on nfs_proto, because it could be NULL.
10605         * doc/am-utils.texi (Selectors): added example of in_network()
10606         selector.
10608         * aux/macros/check_hide_mount_type.m4: all hpux versions,
10609         including 9.x, should use "ignore" as the mount type to hide from
10610         amd.
10612 Wed Dec 17 13:09:21 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10614         * include/am_utils.h (NSTREQ): use new macro instead of strncmp()
10615         every where in the sources.
10617 Wed Dec 17 01:15:01 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
10619         * libamu/mount_fs.c (print_nfs_args): if -D trace is on, will
10620         print as much info that is given in struct nfs_args as possible.
10621         useful for detecting internal flags and options, as well as the
10622         file handle used.
10624         * scripts/ctl-amd.in: look for amd.conf file in ${prefix}/etc
10625         after /etc and before /etc/local.
10627 Tue Dec 16 18:51:36 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10629         * aux/configure.in, libamu/Makefile.am: added support for linking
10630         with specific versions of libamu.  Upped shared library version of
10631         libamu to 1 (libamu.so.1.0.0)
10633         * include/am_defs.h: added external definition for mkstemp() as
10634         needed.
10636         * minor new port to i386-unknown-netbsd1.3 (BETA version of
10637         netbsd).
10639         * aux/config.guess: don't leave a trailing '.' on the system name
10640         for NetBSD-1.3_BETA and similarly for OpenBSD.
10642         * conf/nfs_prot/nfs_prot_netbsd1_3.h: new header for the slight
10643         differences in ypall calling conventions.
10645         * mk-amd-map/mk-amd-map.c (main): use mkstemp() whenever possible
10646         in preference over mktemp(), b/c it is more secure.
10648         * aux/configure.in: check for mkstemp(), a more secure version of
10649         mktemp().
10651 Mon Dec 15 02:32:14 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10653         * amd/ops_nfs.c (mount_nfs_fh): Systems that include the mount
10654         table "vers" option generally do not set the mnttab entry to
10655         "nfs3", but to "nfs" and then they set "vers=3".  Setting it to
10656         "nfs3" works, but it may break some things like "df -t nfs" and
10657         the "quota" program (esp. on Solaris and Irix).  So on those
10658         systems, set it to "nfs".
10660 Sat Dec 13 01:36:27 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10662         * doc/am-utils.texi (Distrib): updates for new ports, location of
10663         am-utils' home page, and URL cross references (now supported by my
10664         version of texi2html).
10666         * aux/macros/check_mtype_type.m4: also use string type for file
10667         system mount types under nextstep for mount(2).
10669         * aux/macros/check_mtype_printf_type.m4}: nextstep can handle both
10670         integer and string types for file system mount types in mount(2),
10671         but it is better to use string types.
10673         * conf/nfs_prot/nfs_prot_nextstep.h: set emum nfsstat's NFS_OK to
10674         0, not 1!  Otherwise, all NFS calls (esp. mount) return errno 1
10675         (EPERM) instead of 0 (OK).  Fixes m68k-next-nextstep3 which now
10676         works.
10678         * conf/nfs_prot/nfs_prot_bsdi2.h: set emum nfsstat's NFS_OK to 0,
10679         not 1!  Otherwise, all NFS calls (esp. mount) return errno 1
10680         (EPERM) instead of 0 (OK).
10682         * libamu/xdr_func.c (xdr_*): add debugging calls that are optioned
10683         by -D trace (protocol trace).
10685 1997-12-11  Erez Zadok  <ezk@bach.cs.columbia.edu>
10687         * A.m68k-next-nextstep3/amu_nfs_prot.h: define missing S_ISDIR
10688         macro based on existence on others, and include <sys/stat.h>.
10690 Thu Dec 11 14:14:38 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10692         * aux/macros/try_compile_nfs.m4 (AC_TRY_COMPILE): turn off
10693         inclusion of <nfs/nfs_mount.h> which only affects nextstep3, on
10694         which this header is broken (it tries to include non-existing
10695         headers).
10697 Wed Dec 10 16:09:07 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10699         * libamu/mount_fs.c (mnt_flags): support either nfs or generic
10700         mount option for grpid.
10702         * aux/configure.in: turn back on NFS mount option grpid.
10704 Sat Dec  6 04:36:05 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10706         * doc/Makefile.am (install-ps): added target to install postscript
10707         file in the am-utils' home page, as well as a few other useful
10708         files for the new am-utils Web page.
10710 Mon Nov 17 05:22:56 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10712         *******************************************************************
10713         *** Released am-utils-6.0a14                                    ***
10714         *******************************************************************
10716 Sun Nov 16 21:56:16 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10718         * doc/am-utils.texi (Supported Platforms): updated table of new
10719         ports.
10721 Sat Nov 15 06:36:27 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10723         * libamu/mount_fs.c (compute_automounter_nfs_args): pass mnttab
10724         options so that they can be printed in logs as needed.
10726         * doc/am-utils.texi (osver Parameter): updated for the correct
10727         usage of the -o/-O options.
10729         * scripts/amd.conf.5: corrected info for -o/-O options.
10731         * amd/amd.8: updated man page for new -O op_sys_name option, and
10732         corrected the usage of the -o op_sys_ver option
10734         * amd/get_args.c (get_args): added new amd option -O to override
10735         OS name.
10736         (get_args): updated usage string.  Removed old -m option.  Added
10737         -o and -O options.
10739         * conf/nfs_prot/nfs_prot_irix5.h: add definition to FHSIZE in case
10740         it is not there.  Reportedly, irix 5.2 does not define it.
10742         * scripts/lostaltmail.in: removed references to unused $hack
10743         variable.
10745         * aux/macros/check_nfs_prot_headers.m4: Patch from Chris Metcalf
10746         <metcalf@cag.lcs.mit.edu> to correctly set the nfs_prot headers
10747         for solaris2.5.
10749         * doc/am-utils.texi (Distrib): typo in the subscription
10750         instructions to amd-dev.  Patch from Stefan Vogel
10751         <vogel@physik-rzu.unizh.ch>.
10753 1997-11-15  Erez Zadok  <ezk@amtrak.cs.columbia.edu>
10755         * NFS3 works on powerpc-ibm-aix4.2.1.0.
10757         * libamu/mount_fs.c (compute_nfs_args): set fh3 variable to
10758         static.  Some compilers (gcc from egcs  on aix 4.2.1) corrupt the
10759         stack of an automatic variable when pointer to it is passed around
10760         several times.
10762 Fri Nov 14 20:09:28 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10764         * libamu/xutil.c (real_plog): syslog like behavior for normal
10765         logging.  Will not print repeated strings, only a count "last
10766         message repeated N times", but will always print something if
10767         message is repeated more than 100 times.
10769         * scripts/lostaltmail.in: look for lostaltmail.conf files also in
10770         /etc/global, /etc/os, and /etc/local (in that order).
10772 Mon Nov 10 03:03:17 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
10774         * conf/mount/mount_aix.c (mount_aix3): add support for NFS V.3
10775         mounts.
10777         * aux/macros/struct_nfs_args.m4 (AC_TRY_COMPILE_NFS): test for
10778         aix42_nfs_args, specially set in conf/nfs_prot/nfs_prot_aix4_2.h
10780         * conf/sa_dref/sa_dref_*.h: from now on, the "dst" argument to the
10781         NFS_SA_DREF macro is a pointer to the structure that used to be
10782         passed to it before.  So now I have to dereference the pointer
10783         before accessing its values.
10785         * hlfsd/hlfsd.c (main): use the new and cleaner
10786         compute_nfs_args() and compute_automounter_nfs_args() functions.
10788         * amd/ops_nfs.c (mount_nfs_fh): use the new and cleaner
10789         compute_nfs_args() and compute_automounter_nfs_args() functions.
10791         * amd/ops_afs.c (mount_toplvl): MAJOR CODE REVISION.  Use the new
10792         and cleaner compute_nfs_args() and compute_automounter_nfs_args()
10793         functions.
10795         * libamu/mount_fs.c (compute_nfs_args): major code cleanup that
10796         relates for struct nfs_args.  A new function sets the numerous
10797         possible flags and fields of nfs_args_t in an orderly fashion.
10798         Code cleaned up, organized, and moved from amd/hlfsd into
10799         libamu.  This saves on overall size of code.
10800         (compute_automounter_nfs_args): A variant of compute_nfs_args()
10801         which sets special options/flags that need to be used when NFS
10802         mounting an automounter's mount point.  Used by hlfsd and amd.
10804         * amq/amq.c (get_secure_amd_client): don't print any more
10805         "get_secure_amd_client: using TCP, port 12345".  It's more
10806         annoying than useful a message, even when assumed to be compiled
10807         under DEBUG only.
10809 Thu Oct 30 14:33:38 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10811         * aux/macros/check_mnttab_type.m4: MAJOR BUG fixed for non-nfs
10812         mount table entries.  The code used to define the /etc/mnttab name
10813         for file systems based on physical media (disk, cdrom, floppy) to
10814         the generic name, rather than the OS specific name.  For example
10815         autoconf searches for all these types of mount table entries for a
10816         floppy based file system: vfat pcfs pc msdos msdosfs fat.  But if
10817         it found any, it hard-coded the mnttab name to "pcfs" rather than
10818         the actual name found!  Same for ufs, cdfs, pcfs, tmpfs, lofs,
10819         nullfs, unionfs, and umapfs.
10821         * aux/configure.in: also test for xfs (for newer Irix) when
10822         looking for mount type names, numbers, etc of a disk-based ufs.
10824 Sun Oct 26 19:32:57 1997  Erez Zadok  <ezk@defiant.soscorp.com>
10826         * amq/amq.c (main): use pmap_ping() to test if remote host is up.
10827         This works better on bsdi2 and bsdi3, because their portmapper
10828         does not appear to like forwarding operations (it is generaly
10829         insecure).
10831 Sat Oct 25 04:55:56 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10833         *******************************************************************
10834         *** Released am-utils-6.0a13                                    ***
10835         *******************************************************************
10837 Fri Oct 24 05:04:37 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10839         * conf/nfs_prot/nfs_prot_ncr2.h: added missing definition for
10840         struct datum typedef.
10842         * conf/nfs_prot/nfs_prot_netbsd.h: corrected typedef for
10843         ypall_callback_fxn_t for netbsd.
10845         * aux/macros/type_auth_create_gidlist.m4: hpux10.10 uses int for
10846         the 5th arg to authunix_create(), while before and after they used
10847         gid_t.
10849         * conf/transp/transp_tli.c (amu_clnt_create_best_vers): don't use
10850         clnt_create_timed() on older Solaris 2.3 systems that did not have
10851         it.
10853         * conf/nfs_prot/nfs_prot_bsdi2.h: <msdosfs/msdosfsmount.h> is for
10854         kernel only on bsdi2, so do not include it.
10856 Fri Oct 24 00:29:42 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
10858         * hlfsd/stubs.c (nfsproc_readlink_2_svc): avoid logging repeated
10859         messages about resolution of mailboxes based on uid/gid.
10861         * scripts/ctl-hlfsd.in: check for alternate password file in
10862         ${prefix}/etc/passwd and use it in hlfsd's startup.
10864 Thu Oct 23 22:48:50 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
10866         * hlfsd/homedir.c (hlfsd_getpwent): added support for -P
10867         passwdfile option.  If hlfsd is started with -P passwdfile, then
10868         the passwdfile is read and parsed just as a standard unix
10869         passwd(4) file.  Only the username, uid, and homedir fields are
10870         read and checked.  All the rest are ignored.  No NIS/netgroup
10871         support!
10873         * hlfsd/hlfsd.c (main): check if hlfsd is run as root after
10874         parsing command line options, so that usage() can be printed when
10875         -h is invoked.
10877 Wed Oct 22 00:16:39 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
10879         * amd/nfs_start.c (mount_automounter): if autofs service listener
10880         fails to initialize it is OK if using a test amd.
10882         * amd/opts.c (f_in_network): new nomadic function in_network(arg),
10883         which returns TRUE if 'arg' is any one of this host's networks.
10885         * libamu/wire.c (getwire): rewritten parts of function, to store
10886         all networks names and numbers in the order of the interface (not
10887         in reverse).
10889 Mon Oct 20 01:59:25 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10891         * aux/configure.in: don't add ops_ufs.o on AIX twice.  My code
10892         would have worked had it not been due to AIX's buggy /bin/sh.
10894         * doc/Makefile.am (EXTRA_DIST): include am-utils.dvi and
10895         am-utils.ps in the distribution sources.
10896         (html): generate html documentation for
10897         http://www.am-utils.org
10899 Sun Oct 19 12:35:49 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10901         * conf/nfs_prot/nfs_prot_netbsd.h: override the definition of
10902         ypall_callback_fxn_t.  The NetBSD team compiles all sources with
10903         gcc -Wall -Wmissing-prototypes -Wstrict-prototypes.
10905         * amd/info_nis.c: allow for override of ypall_callback_fxn_t
10906         function typedef.
10908         * libamu/xutil.c (amu_release_controlling_tty): new function to
10909         release the controlling tty in a clean and sane manner.  No longer
10910         using setpgid() b/c it may not work.  Uses setsid(),
10911         and ioctl() (in order).  This new function is used in amd/amd.c
10912         and hlfsd/hlfsd.c.  Also avoid setpgrp(), because it works on some
10913         systems, but on others it is the same as setpgid().
10915 Sat Oct 18 23:42:40 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10917         * aux/acconfig.h: check for nfs mount option 'fsname'.  Code for
10918         it was in amd/ops_afs.c, amd/ops_nfs.c, and hlfsd/hlfsd.c, but
10919         never used, because the configure test for fsname flag wasn't
10920         used.  This fixed a bug in HPUX 10, where syncer and manual mounts
10921         left blank lines in /etc/mnttab.
10923         * aux/configure.in: check for nfs mount option 'fsname'.
10925 Fri Oct 17 13:30:27 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10927         * amd/ops_afs.c (mount_toplvl): turn on 'ignore' option in nfs
10928         mount flags of toplvl mounts.  Important esp. for HPUX 10.  Now
10929         hpux-10 will mount amd's mounts points as 'ignore' (by df).
10931         * aux/configure.in: check for NFS mount option 'ignore', useful in
10932         HPUX 10.
10934 Thu Oct 16 03:28:33 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10936         * aux/macros/check_hide_mount_type.m4: hpux 10 should use "ignore"
10937         mount type and not NFS, for the amd mount points.
10939         * conf/transp/transp_tli.c (amu_clnt_create_best_vers): don't log
10940         an RPC timeout as an error, but just an info message.  From
10941         Andreas Stolcke <stolcke@speech.sri.com>
10943         * If the NFS server is down or does not support the portmapper
10944         call (such as certain Novell NFS servers) we mark it as version 2
10945         and we let the nfs code deal with the case that is down.  If when
10946         the server comes back up, it can support NFS V.3 and/or TCP, it
10947         will use those.  From christos@deshaw.com (Christos Zoulas).
10949         * hlfsd/homedir.c (plt_print): various compile time cleanups to
10950         printfs that take a long, but pass an int to print.  From
10951         christos@deshaw.com (Christos Zoulas).
10953         * aux/macros/func_bad_yp_all.m4 (ac_cv_func_yp_all_clean,): new
10954         macro to determine if the OS has a bad yp_all(), based on the host
10955         OS name.  So far only irix (all versions) have a bad yp_all, so
10956         they will use am_yp_all() instead (which is slower as it
10957         enumerates manually all of the map's entries).
10959 Thu Oct 16 03:14:37 1997  Erez Zadok  <ezk@subzero.cs.columbia.edu>
10961         * amd/info_nis.c (am_yp_all): code for a replacement yp_all that
10962         avoids using a file-descriptor leaking yp_all() on some systems
10963         like irix.
10965 Wed Oct 15 21:52:35 1997  Erez Zadok  <ezk>
10967         * fsinfo/fsinfo.h: avoid redefining yywrap incorrectly on DU-4.x
10968         systems using /usr/bin/flex.
10970         * amd/conf_tok.l (yywrap): avoid redefining yywrap for systems
10971         that have a modified GNU flex which does define yywrap (DU-4.x).
10973 Fri Sep 26 14:25:29 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10975         * conf/checkmount/checkmount_bsd44.c: include prototype.
10977 Fri Sep 26 01:26:24 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10979         *******************************************************************
10980         *** Released am-utils-6.0a12                                    ***
10981         *******************************************************************
10983 Fri Sep 26 00:13:48 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10985         * conf/nfs_prot/nfs_prot_irix6.h: completely turn off all autofs
10986         code in irix6 until it can be tested correctly
10988         * conf/transp/transp_tli.c (amu_clnt_create_best_vers): time out
10989         on clnt_create for 3 seconds, rather than wait for the much longer
10990         default.
10992         * conf/nfs_prot/nfs_prot_aix4_2.h: port to powerpc-ibm-aix4.2.1.0.
10993         Includes NFS3, untested.
10995 Thu Sep 25 11:03:11 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
10997         * amd/ops_pcfs.c (mount_pcfs): fill in uid/gid fields of
10998         pcfs_args_t if they exist.
11000         * amd/ops_cdfs.c (mount_cdfs): fill in ssector field of
11001         cdfs_args_t if it exists.
11003         * new minor ports hppa1.1-hp-hpux10.10, hppa1.1-hp-hpux9.05,
11004         hppa1.1-hp-hpux9.07, m68k-hp-hpux9.00, and sparc-sun-sunos4.1.4.
11006 Wed Sep 24 00:48:05 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11008         * doc/am-utils.texi (wire-test): updated documentation for the new
11009         option.
11011         * wire-test/wire-test.8: updated man page for new option.
11013         * wire-test/wire-test.c (main): added a test for various
11014         combinations of NFS proto/vers to a remote/local host.
11016         * aux/macros/try_compile_anyfs.m4 (AC_TRY_COMPILE): include
11017         <isofs/cd9660/cd9660_mount.h> and <msdosfs/msdosfsmount.h> so that
11018         freebsd will correctly set mount options for pcfs and cdfs.
11020         * amd/ops_pcfs.c (mount_pcfs): set mask field of pcfs_args to
11021         0777 (if field exists).
11023         * aux/macros/try_compile_anyfs.m4 (AC_TRY_COMPILE): include
11024         <msdosfs/msdosfsmount.h> if available.
11026         * minor new port: rs6000-ibm-aix4.1.4.0.
11028         * libamu/mount_fs.c (mount_fs): fixed bug that caused HPUX not to
11029         write the "time" field in /etc/mnttab.
11031         * conf/mtab/mtab_file.c (mnt_dup): fixed typo in macro names for
11032         detecting mnt_time field of mntent_t.
11034         * libamu/mtab.c (mnt_free): fixed typo in macro names for
11035         detecting mnt_time field of mntent_t.
11037 Tue Sep 23 15:30:03 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11039         * conf/mtab/mtab_file.c (lock): Use flock() in preference over
11040         fcntl() to lock the mtab file.
11042 Mon Sep 22 23:04:58 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11044         * conf/transp/transp_sockets.c (get_nfs_version): define
11045         the try_again goto label only for NFS3.
11046         (pmap_ping): assume timeout failure of clnt_stat.
11048         * libamu/xdr_func.c (xdr_groupnode, xdr_exportnode): cast to
11049         "groups *".
11051 Mon Sep 22 20:34:33 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11053         * conf/transp/transp_sockets.c (pmap_ping): patch from Dan Riley
11054         <dsr@mail.lns.cornell.edu> to make sure that amd works with more
11055         secure portmappers that do not allow forwarding of RPC messages to
11056         other services.
11058         * */Makefile.am: all source files should also depend on the new
11059         include/am_xdr_func.h header.
11061         * include/am_xdr_func.h: new file as part of the code cleanup from
11062         Christos Zoulas <christos@deshaw.com>.
11064         * Lots of fixes from Christos Zoulas <christos@deshaw.com> that
11065         involved missing prototypes, cleaned up ones, and removal of
11066         unused variables.
11068         * libamu/xdr_func.c (xdr_mountres3): some code cleanup.  A switch
11069         statement with only one case is unclean.
11071 Mon Sep 22 17:26:38 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11073         * amd/ops_<FOO>fs.c (mount_<FOO>fs): initialize mntent_t fields to
11074         0 so that all fields are initialized to zero at first.  This way
11075         SunOS 4.x and other systems don't get /etc/mtab entries with
11076         random integers for the fsck/freq fields. Patch from Andreas
11077         Stolcke <stolcke@speech.sri.com>.
11079 Mon Sep 22 00:34:19 1997  Erez Zadok  <ezk@americas.psl.cs.columbia.edu>
11081         * conf/nfs_prot/nfs_prot_sunos4.h: include <nfs/nfs_clnt.h> so
11082         that the important definition for HOSTNAMESZ will be found.
11084         * amd/ops_afs.c (mount_toplvl): limit hostname size to HOSTNAMESZ
11085         (inside the nfs_args structure) if the system uses that macro.
11086         Otherwise systems like SunOS refuse to NFS mount long pathnames
11087         and result in ENAMETOOLONG errno's.
11089 Wed Sep 17 04:56:11 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11091         * doc/am-utils.texi (Supported Platforms): specify new support for
11092         solaris 2.6, and hlfsd running on 2.5.1 too.
11094 Wed Sep 17 03:55:02 1997  Erez Zadok  <ezk@amsterdam.psl.cs.columbia.edu>
11096         * conf/mount/mount_svr4.c (mount_svr4): don't attemt an autofs
11097         mount if it is not supported or was turned off.
11099 Wed Sep 17 03:19:36 1997  Erez Zadok  <ezk@americas.psl.cs.columbia.edu>
11101         * conf/nfs_prot/nfs_prot_sunos4.h: fixed so that it will nfs mount
11102         again.  Apparently at some previous release SunOS 4 supported was
11103         broken and all nfs mounts resulted in ESTALE.
11105 Wed Sep 17 00:26:25 1997  Erez Zadok  <ezk@amsterdam.psl.cs.columbia.edu>
11107         * conf/nfs_prot/nfs_prot_sunos5_6.h: nfs protocol headers for
11108         solaris 2.6.
11110         * aux/macros/check_nfs_prot_headers.m4: added solaris 2.6 nfs
11111         protocol header selection.
11113 Sat Sep 13 14:31:51 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11115         * conf/transp/transp_tli.c (amu_clnt_create_best_vers): avoid
11116         infinite loop.
11118 Sun Sep  7 18:23:23 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11120         *******************************************************************
11121         *** Released am-utils-6.0a11                                    ***
11122         *******************************************************************
11124 Fri Sep  5 11:55:10 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11126         * amd/amd.c (main): if plock() succeeded, don't try to display
11127         errno message.   Patch from Chris Metcalf
11128         <metcalf@catfish.lcs.mit.edu.
11130 Thu Sep  4 19:17:58 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11132         * hlfsd/homedir.c (table_add): make sure duplicate passwd entries
11133         are ignored.   Only the first entry should ever be used, because
11134         that's how lookup in passwd database works.
11136         * conf/transp/transp_sockets.c (get_nfs_version): when determining
11137         if a remote host is up or down, use NFS v.2.  Fix suggested by
11138         Enami Tsugutomo <enami@cv.sony.co.jp>.
11140         * conf/transp/transp_tli.c (amu_clnt_create_best_vers): new
11141         function to get the best possible NFS version, but also timeout
11142         faster than normal defaults, so remote hosts which are down can be
11143         detected in a reasonable time.
11144         (get_nfs_version): use the new "best" function.
11146 Tue Sep  2 00:41:00 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11148         *******************************************************************
11149         *** Released am-utils-6.0a10                                    ***
11150         *******************************************************************
11152 Mon Sep  1 15:39:51 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11154         * conf/transp/transp_tli.c (get_nfs_version): don't use
11155         clnt_tp_create_timed() on systems that don'e have it (Solaris 2.4
11156         and earlier).
11158         * aux/configure.in: test for existence of clnt_tp_create_timed(),
11159         since Solaris 2.4 (and possibly earlier) do not have it.
11161 Mon Sep  1 15:23:18 1997  Erez Zadok  <ezk@felix.psl.cs.columbia.edu>
11163         * amd/ops_autofs.c (autofs_unmount_1_svc): only display rdevid
11164         field if it exists (solaris 2.4's autofs does not have it).
11166 Mon Sep  1 14:45:09 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11168         * aux/macros/type_auth_create_gidlist.m4: a new test to determine
11169         the correct type to the 5th argument of authunix_create().
11171 Mon Sep  1 03:44:32 1997  Erez Zadok  <ezk@felix.psl.cs.columbia.edu>
11173         * libamu/xdr_func.c (xdr_umntrequest): add test for autofs
11174         structure umntrequest, if it has the field rdevid.  Seems Solaris
11175         2.4 and earlier didn't have it.
11177 Mon Sep  1 01:10:53 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11179         * hlfsd/hlfsd.c (hlfsd_init): moved initialization upwards, so it
11180         can be done before primary process forks.
11181         (main): bug fix: wait a bit to give child a chance to initialize.
11182         Without this, hlfsd got into a busy infinite loop while, never
11183         completing the mount.
11185         * amd/info_nis.c: patch from Jason Thorpe <thorpej@nas.nasa.gov>
11186         to make amd works when talking to NIS+ servers in NIS
11187         compatibility mode.
11189 Mon Sep  1 00:46:56 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11191         * amd/mapc.c (MAX_CHAIN): increased maximum chain size to 1024.
11193 Sun Aug 31 20:20:40 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11195         * amd/conf.c (gopt_fully_qualified_hosts): a new function to
11196         process another new global variable.
11198         * amd/ops_nfs.c (make_nfs_auth): if a new global variable
11199         fully_qualified_hosts is on, use FQHN in RPC/NFS authentications.
11200         Patch from Chris Metcalf <metcalf@catfish.lcs.mit.edu>.
11202         * amd/conf.c (process_last_regular_map): If the amd.conf file only
11203         has a [global] section (pretty useless IMHO), do not try to
11204         process a map that does not exist.
11206         * scripts/amd.conf.5: fixed typos (repeated 'as' word).
11208         * doc/am-utils.texi: MAJOR DOCUMENTATION REVISION COMPLETED!!!
11210         * amd/conf.c (reset_cf_map): Bug fix.  Reset 'tag' field of cfm
11211         structure, so it does not carry over from map entry to another.
11213 Sat Aug 30 18:39:21 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11215         * amd/amd.c (main): fixed the meaning of the plock option.  A bug
11216         caused it to be reversed.
11218 Sat Aug 30 15:13:18 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11220         * hlfsd/stubs.c: don't initialize some statics here.  They are
11221         better initialized in hlfsd_init_filehandles().
11223 Fri Aug 22 14:47:16 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11225         * amd/conf.c (gopt_show_statfs_entries): new function and a global
11226         amd.conf key show_statfs_entries.  Defaults to 'no'.  If 'yes',
11227         then all maps flagged as browsable will also show a count of the
11228         number of entries (keys) in that map.
11230         * amd/nfs_subr.c (count_map_entries): new function to count number
11231         of entries in a map.  Now used if browsable is turned on in a map,
11232         to return a count of available keys in a given map.
11234         * hlfsd/stubs.c (eq_fh): use correct memcmp().  BUG fixed! hlfsd
11235         confused the file handles for ".", "..", and the symlink, causing
11236         mess.
11238         * aux/macros/func_bad_memcmp.m4: new test, based on autoconf 2.12,
11239         but also defines HAVE_BAD_MEMCMP, so I avoid linkage conflicts
11240         with bad memcmp() in libc's (nextstep3).
11242 Thu Aug 21 17:38:41 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11244         * aux/configure.in: check if autofs_args_t has a field named
11245         addr.  Solaris has it for specifying the address of the daemon,
11246         but Irix does not.  So how does irix tell the kernel the daemon's
11247         address?  I suspect that it is hardcoded to "localhost" using a
11248         "private well-known port" (#define AUTOFS_PORT 2048).
11250         * conf/nfs_prot/nfs_prot_linux.h: added missing autofs
11251         definitions.
11253         * README.autofs: new file listing autofs support notes
11255         * very preliminary autofs code working.  Call it pre-alpha
11256         quality.
11258 Sun Aug 17 02:25:09 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11260         * amd/conf.c (ropt_mount_type, gopt_mount_type): don't accept
11261         "autofs" if system does not support it.
11263         * amd/amd.c (main): log am-utils version string (same as amd -v)
11264         at start of run.
11266         * conf/transp/transp_sockets.c (get_nfs_version): in order to tell
11267         if a remote host is available, try to contact its portmapper and
11268         timeout if no answer is received in 3 seconds.
11270 Thu Aug 14 16:12:04 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11272         * aux/macros/check_extern.m4 (pattern): use a simpler pattern for
11273         match for external function definitions.  The function could span
11274         multiple lines, so only match the opening parenthesis, not the
11275         closing one too.
11277         * aux/macros/os_cpp-flags.m4 (ac_cv_os_cppflags,): do NOT turn on
11278         posix mode for nextstep3.  It is broken.
11280         * amd/amd.c (init_global_options): run uname() only if
11281         <sys/utsname.h> and uname(2) exist.
11283         * amd/rpc_fwd.c (fwd_packet): if remote host is down, the
11284         forwarding socket is null, so declare this an error.
11286         * include/am_utils.h (AM_ERRNO_HOST_DOWN): find best errno to set
11287         for when a remote host is down.  Try, in order, "host down", "host
11288         unreachable", "invalid argument".
11290         * amd/ops_nfs.c (discard_fh): don't dereference a null pointer
11291         (happens when remote host is down, and fp->fh_fs is NULL).
11292         (prime_nfs_fhandle_cache): ditto, and set fs flags to !FSF_VALID
11293         and FSF_DOWN.
11295         * amd/sched.c: nobody uses "union wait" any more, or so it
11296         appears, so clean up that code.
11298         * conf/transp/transp_tli.c (get_nfs_version): if remote host is
11299         down, time it out faster than default (3 seconds).
11300         (get_mount_client): free netconfig entry when done with it.
11302         * conf/nfs_prot/nfs_prot_nextstep.h: initial (and somewhat ugly)
11303         port to nextstep3 (m68k-next-nextstep3).
11305         * fsinfo/Makefile.am (LDADD): needs to link with libamu in case
11306         system does not have strdup().
11308         * include/am_defs.h: complete external definition for getlogin()
11309         if needed.
11311         * conf/transp/transp_tli.c (get_nfs_version): no need to keep
11312         static versout variable.
11314         * amd/rpc_fwd.c (fwd_packet): if fwdto packet is null, remote
11315         server is probably down.  Don't use sendto() in that case.
11317         * buildall (default): run gmake if found, before trying plain
11318         make.  GNU make is always preferable.
11320 Tue Aug 12 21:23:58 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11322         * aux/macros/host_macros.m4: cleanup of os_version and os
11323         overrides.  Solaris 2.5.1 for example will come up as solaris2 and
11324         2.5.1, rather than sunos5 and 5.5.1.  Both can be overridden in
11325         the amd.conf file.
11327 Fri Aug  8 14:37:30 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11329         *******************************************************************
11330         *** Released am-utils-6.0a9                                     ***
11331         *******************************************************************
11333 Thu Aug  7 00:52:14 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11335         * conf/nfs_prot/nfs_prot_ncr2.h: new file, for NCR2
11336         (i486-ncr-sysv4.3.03) headers.  Needed to complete missing stuff
11337         from <ndbm.h> and <sys/resource.h>.
11339         * scripts/amd.conf.5: new map page.
11341         * amd/info_hesiod.c: define extern for hesiod_resolve, since bsdi3
11342         does not.
11344         * amd/amd.8: updated man page.
11346         * amd/get_args.c (get_args): removed defunct -h option to amd.
11348         * amq/amq.8: updated man page.
11350         * amd/info_nisplus.c (nisplus_search): prototype fixes so Sun
11351         SparcCompiler CC won't complain.
11353         * amd/info_hesiod.c (hesiod_search): small fixes to compile with
11354         hesiod-1.3, as per Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
11356         * aux/macros/opt_ldflags.m4: new option added to configure
11357         --enable-ldflags, to specify -L option for configuring/compiling.
11358         The older one --enable-libs is now to be used only for -l options.
11360         * amd/ops_nfs.c (mount_nfs_fh): bug fixed.  Should initialize
11361         nc_protoname from nfs_proto if available for all TLI systems, not
11362         just those that have NFS V3.
11364         * amd/info_ldap.c: ldap patches from Leif Johansson
11365         <leifj@matematik.su.se>, adding two new amd.conf ldap variables:
11366         ldap_cache_seconds and ldap_cache_maxmem.
11368         * hlfsd/hlfsd.c (main): bug fixed. port number must be wrapped in
11369         htons().
11371 Sun Aug  3 17:20:05 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11373         * amd/nfs_start.c (mount_automounter): register amd with the rpc
11374         program number that may have been overridden by amd.conf.
11376         * libamu/xutil.c (set_amd_program_number, get_amd_program_number):
11377         allow storing and retrieving alternate amd program numbers.
11379         * amd/conf.c (gopt_portmap_program): new function to parse
11380         amd.conf entry portmap_program=1234.
11382         * amq/amq.c (main): allow specifying an alternate rpc program
11383         number for amd via -P prognum.
11385         * new amq RPC to get the process id of the running amd.  This is
11386         used in ctl-amd to quickly find the pid of the amd that is to be
11387         killed.
11389         * expanded shared libraries support.  Using GNU libtool-1.0,
11390         am-utils now builds shared libraries on many platforms that have
11391         support for it and proper compilers/linkers.  See "INSTALL" file
11392         for compatibility chart.
11394 Thu Jul 31 13:07:23 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11396         * fsinfo/fsi_lex.l: removed code that was in support of very old
11397         versions of flex.  No longer needed.
11399 Tue Jul 29 12:00:13 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11401         * amd/amd.c (init_global_options): find the kernel architecture
11402         from uname() if possible.
11404 Mon Jul 28 03:53:59 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11406         * new working port: i386-unknown-openbsd2.1
11408 Fri Jul 25 03:16:31 1997  Erez Zadok  <ezk@felix.psl.cs.columbia.edu>
11410         * working port: sparc-sun-solaris2.4.  Had to fix fhandle_t from
11411         structure to actual char[], because the structure was passed to
11412         xdr_fhandle as data and not a pointer.  Surprisingly, gcc
11413         -fpcc-struct-return did not help.
11415         * conf/nfs_prot/nfs_prot_sunos5_4.h: special nfs protocol
11416         definitions for solaris 2.4 have to be different from 2.3, and
11417         different from 2.5.
11419         * libamu/xdr_fhstatus.c (xdr_fhstatus): minor code cleanup.
11421 Thu Jul 24 16:22:39 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11423         * conf/mount/mount_svr4.c (mount_svr4): use STREQ to compare mount
11424         types, not ==.  Fix from Christos Zoulas <christos@deshaw.com>.
11426         * mk-amd-map/mk-amd-map.8: man page taken from bsd44.
11428 Thu Jul 24 00:01:55 1997  Erez Zadok  <ezk@moisil.cs.columbia.edu>
11430         * conf/mount/mount_linux.c: made the nfs error mapping code into a
11431         small function.
11433 Wed Jul 23 16:11:49 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11435         * conf/nfs_prot/nfs_prot_linux.h (NFS_ERROR_MAPPING): special
11436         error mappings from errno numbers to NFS errors.  From Debian
11437         Linux.
11439         * scripts/am-eject.in (fs): new script (taken from Debian Linux
11440         folks) to auto-unmount floppy/cd devices before ejecting them.
11442         * fsinfo/wr_exportfs.c (write_exportfs): from Debian folks, pass
11443         '5' as second arg to show_area_being_processed.  I'm not sure why.
11445         * fsinfo/wr_atab.c (write_atab): from Debian folks, pass '5' as
11446         second arg to show_area_being_processed.  I'm not sure why.
11448         * conf/mount/mount_linux.c (parse_opts): as per Debian Linux,
11449         ensure that you have a buffer in *xopts to strcat onto.
11450         (mount_linux): fixed from Debian folks to ensure that NFS mount
11451         sockets are connected only for kernels prior to 1.3.10 (avoids
11452         hangs for multi-homed hosts).
11454         * amd/mapc.c (make_entry_chain): from Debian folks: don't skip
11455         over amd map keys that have a prefix, and include the prefix in
11456         the returned readdir().
11458         * amd/info_passwd.c (passwd_init, passwd_search): format
11459         enhancements from the Debian Linux folks.  They added
11460         - var0:=pw-prefix:=anydir
11461         - var1:=pw-rhost:=dom3.dom2.dom1
11462         - var2:=pw-user:=user
11463         - var3:=pw-home:=/anydir/dom1/dom2/dom3/user
11465         * new ports: sparc-sun-solaris2.4 and sparc-sun-sunos4.1.1.
11467         * amd/ops_afs.c (afs_retry): patches from Debian Linux.  If
11468         afs_mount timed out, then explicitly forbid further retries after
11469         the timeout.  (afs_bgmount): bug fix from Debian Linux.  Timeout
11470         values (17 and 5) were mistakenly swapped.
11472 Wed Jul 23 15:53:25 1997  Erez Zadok  <ezk@felix.psl.cs.columbia.edu>
11474         * conf/nfs_prot/nfs_prot_sunos5_3.h: turn off non-existent NFS V.3
11475         support for Solaris 2.4 (the header files incorrectly define parts
11476         of the NFS V.3 protocol, but the kernel does not support it).
11478 Wed Jul 23 00:07:12 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11480         * amd/info_hesiod.c: minor cleanup to use hes_init and hesiod_init
11481         for determining if using old or new hesiod libraries,
11482         respectively.
11484         * amd/ops_nfs.c (mount_nfs_fh): If "noconn" option exists in NFS
11485         V.3 then use non-connected sockets (both TCP and UDP).  Otherwise
11486         they cause hangs of mounts from multi-homed hosts when the return
11487         route is not the same as the outgoing route (esp. on NetBSD
11488         1.2.1).  If "conn" option was supplied, then don't turn on the
11489         "noconn" mount option.  Otherwise default to "noconn" mount
11490         option.
11492         * aux/configure.in: better check for systems that need libgdbm and
11493         <ndbm.h>
11495 Tue Jul 22 04:02:05 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11497         * hlfsd/hlfsd.c (main), amd/ops_afs.c (mount_toplvl): ensure that
11498         mounts are hidden from df(1) on systems that keep mount tables in
11499         kernel, such as osf1.
11501 Tue Jul 22 02:26:55 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11503         *******************************************************************
11504         *** Released am-utils-6.0a8                                     ***
11505         *******************************************************************
11507 Mon Jul 21 21:33:19 1997  Erez Zadok  <ezk@stone.mcl.cs.columbia.edu>
11509         * hlfsd/hlfsd.c (main): bug fixed: forgot to set sin_family to
11510         AF_INET when hlfsd mounts itself, thus getting an errno "protocol
11511         family not supported".
11513 Mon Jul 21 20:46:59 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11515         * verified that amd on NetBSD 1.2.1 (i386) works, but the OS
11516         itself is flaky.
11518         * verified that amd AIX 3 works w/ the new readdir() code.
11520 Mon Jul 21 18:59:30 1997  Erez Zadok  <ezk@chestnut.mcl.cs.columbia.edu>
11522         * amd/mapc.c (maptypes): changed the default map caching type for
11523         nis and ndbm maps to "MAPC_ALL", so that all possible entries will
11524         be available to amd for browsable_dirs=yes.
11526 Mon Jul 21 18:04:16 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11528         * amd/ops_afs.c (afs_readdir, afs_readdir_browsable): split
11529         afs_readdir into a browsable version and a non-browsable one.
11530         Fixed bugs that resulted in an infinite nfs_readdir loop on the
11531         localhost for some operating systems.
11533 Sat Jul 19 19:38:38 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11535         * amd/ops_afs.c (afs_readdir): fixed up the browsable code to
11536         comply with nfs_readdir specs.  It was returning all entries at
11537         once, even if there was not enough space in the RPC packet.  Now,
11538         it sends a reasonably sized chunk, and sets static state to resume
11539         it for the next continuation RPC of readdir.
11541         * amd/conf.c (set_conf_kv): fixed bug that resulted in the first
11542         regular map not getting all of the [global] options defaulted from.
11544 Fri Jul 18 00:45:12 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11546         * amq/amq.c (main): fixed so that portmapper "ping" will only fail
11547         upon an RPC timeout
11549         * scripts/ctl-{amd,hlfsd}.in (killproc): better method to find the
11550         amd/hlfsd process to kill.
11552         * amd/ops_afs.c (mount_toplvl), hlfsd/hlfsd.c (main): code to
11553         determine how to avoid df from seeing amd's toplvl mounts.  Moved
11554         from libamu/mount_fs.c and include/am_utils.h.  Ensure that hlfsd
11555         is hidden from df.
11556         (mount_toplvl): fixed df types for irix.
11558 Thu Jul 17 21:59:45 1997  Erez Zadok  <ezk@americas.psl.cs.columbia.edu>
11560         * amq/amq.c (main): fixed bug that caused the 5 second timeout for
11561         TLI amq using udp to be ignored.
11562         (main): if amq cannot contact remote host's portmapper within 5
11563         seconds, timeout and fail faster than the default longer timeout
11564         (this is for non-TLI systems).
11566 Thu Jul 17 17:08:13 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11568         * amq/amq.c (get_secure_amd_client): if amq cannot contact
11569         remote host's portmapper within 5 seconds, timeout and fail faster
11570         than the default TLI timeout of over 4 minutes.
11572         * amd/am_ops.c (ops_showfstypes): added styles for new bsd44
11573         file systems nullfs, unionfs, and umapfs.
11574         (ops_show1): cleanup code and and reuse this function.
11575         (vops): empty placeholders for nullfs, unionfs, and umapfs.
11577         * amd/ops_{nullfs, unionfs, umapfs}.c: 3 new empty templates for
11578         bsd44 style file systems.
11580         * fsinfo/fsinfo.8: man page for fsinfo rewritten from bsd44
11581         sources.
11583         * amd/conf_tok.l, fsinof/fsi_lex.c: undefine ECHO to avoid
11584         conflict with systems that define it in <sys/ioctl.h> and also
11585         define a conflicting one via lex.  Newer versions of f/lex are ok.
11587 Wed Jul 16 00:17:45 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11589         * amd/ops_nfs.c (mount_nfs_fh): fill in nfs_args' fields
11590         acdirmin/max and acregmin/max only if they exist.
11592         * aux/configure.in: test for nfs_args fields acdirmin and
11593         acregmin.
11595 Tue Jul 15 17:24:09 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11597         * aux/configure.in: commented out checking for MNT2_GEN_OPT_* for
11598         "nondev" and commented back in checking for "nodev".  This was a
11599         typo.
11601         * include/am_compat.h: more compatibility options: define "ro"
11602         mnttab option all the time.  Define "overlay" as needed.  Added
11603         more fillers of mnttab options (as per Daniel S. Riley
11604         <dsr@mail.lns.cornell.edu>), for acdirmax, acdirmin, acregmax,
11605         acregmin, noac, grpid, nosuid, and actimo.
11607         * libamu/mount_fs.c (mnt_flags): fixed a typo in "ro" option as
11608         per dsr@mail.lns.cornell.edu (Daniel S. Riley).  Then cleaned up
11609         the same code for other options in struct opt_tab.
11611 Mon Jul 14 22:36:37 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11613         * amd/get_args.c (get_args): moved amd.conf file parsing to before
11614         the switching the default log/debug options.  Suggested by
11615         dsr@mail.lns.cornell.edu (Daniel S. Riley).
11617         * aux/update_build_version: new script to record the build version
11618         of amd, along with the rest of the info thet comes up with amd -v.
11620 Sun Jul 13 00:30:24 1997  Erez Zadok  <ezk@decca.damtp.cam.ac.uk>
11622         * aux/macros/os_cflags.m4: new macro, to add additional
11623         compilation options (also used during configuration), based on the
11624         OS and the compiler.  Used for solaris-2.6, osf, and irix6.
11626 Fri Jul 11 10:15:11 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11628         * amd/conf_tok.l, conf_parse.y: allow values of keys to include
11629         white spaces, if they are double-quoted (key="some value")
11631         * amd/info_hesiod.c (hesiod_search): cleanup and minor bug fixes
11632         of hesiod from Danny Braniss <danny@cs.huji.ac.il>.
11634 Fri Jul 11 02:16:06 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11636         *******************************************************************
11637         *** Released am-utils-6.0a7                                     ***
11638         *******************************************************************
11640 Thu Jul 10 12:19:25 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11642         * include/am_defs.h: fill in extern definition of innetgr() in
11643         case system headers don't.
11645         * aux/macros/path_prog_lex.m4 aux/configure.in: using macros that
11646         will show the full pathname to yacc/bison and f/lex.  Some systems
11647         have older or bad versions of those and this way the user will
11648         know for sure what is being invoked.
11650         * tasks: file populated with todo items.
11652         * scripts/amd2ldif.in: Script to convert amd maps to plain text
11653         LDAP object files.  Contributed by Leif Johansson
11654         <leifj@matematik.su.se>.
11656         * aux/config.guess: added recognition for sun3's running 4.2bsd,
11657         from Tom Schmidt <tschmidt@micron.com>.  Fixed one small typo.
11659         * amd/conf.c: several variables that were local to a map, were
11660         also added to [global], where they apply to all maps.  Each map
11661         can then individually override those defaults.  Flags
11662         affected: browsable_dirs and mount_type.  Options affected:
11663         map_type, map_options, and search_path.
11665         * amd/amd.h: eliminated several global flags each of which took an
11666         int, in favor of one global flags variable used as a bit field.
11668         * amd/amd.c (init_global_options): moved all global variables into
11669         a single struct amu_global_options, so it is easier to add new
11670         ones and/or identify existing ones.
11672         * amd/get_args.c (get_args): removed unused amd -m option.
11674         * amd/conf.c (gopt_cluster): added new amd.conf option for cluster
11675         name, same as amd -C.
11677         * amd/info_ldap.c: LDAP info map functions from Leif Johansson
11678         <leifj@matematik.su.se>.
11680         * amd/conf.c (gopt_ldap_base, gopt_ldap_hostports): put in global
11681         amd.conf options for ldap_base and ldap_hostports.
11683         * amd/opts.c (f_netgrp): new amd map function netgrp(ARG) to test
11684         if the current host is in the ARG host netgroup.
11686         * aux/configure.in: some systems replaced dbm in libc with GNU's
11687         libgdbm, so check for libgdbm, but only if dbm_open is not in
11688         libc already.  This was a recommendation from Tom Schmidt
11689         <tschmidt@micron.com>.
11691         * conf/nfs_prot/nfs_prot_sunos5_3.h: port to sparc-sun-solaris2.3
11692         completed.
11694 Wed Jul  9 18:14:59 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11696         * port to sparc-unknown-netbsd1.2E done, not tested.  Includes NFS
11697         V.3.
11699 Tue Jul  8 17:35:07 1997  Erez Zadok  <ezk@elk.mcl.cs.columbia.edu>
11701         * port to i386-unknown-freebsd3.0 done and working.  Includes NFS
11702         V.3.
11704         * aux/macros/check_nfs_fh_dref.m4: freebsd3 should use
11705         file handle dereferencing style similar to freebsd22.
11707         * include/am_defs.h: need to include <net/if_var.h> before
11708         <netinet/if_ether.h> on freebsd3.
11710         * conf/nfs_prot/nfs_prot_freebsd3.h: new protocol header additions
11711         for freeBSD 3.0.
11713 Tue Jul  8 16:53:41 1997  Erez Zadok  <ezk@moisil.cs.columbia.edu>
11715         * amd/info_nis.c (nis_reload): cast nis' callback function so
11716         picky compilers won't complain.
11718         * libamu/xdr_mountres3.c (xdr_mountres3): make sure this function
11719         gets compiled only if the system has NFS V3 and does not have
11720         xdr_mountres3.
11722 Tue Jul  8 12:42:03 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11724         * COPYING: put in some legal stuff in this file.
11726 Mon Jul  7 19:10:44 1997  Erez Zadok  <ezk@prometheus.soscorp.com>
11728         * NFS V3 now works under Irix5, thanks to patches from
11729         Andreas Stolcke <stolcke@speech.sri.com>.
11731         * conf/mount/mount_irix5.c: sparate mount_irix.c into an irix5
11732         version and an irix6 version, since irix5's NFS V3 code is broken
11733         and hacky.
11735         * amd/info_hesiod.c (hs_zone_transfer): minor fixes to buffer
11736         sizes for some hesiod queries.  Patch from Danny Braniss
11737         <danny@cs.huji.ac.il>.
11739 Mon Jul  7 19:04:14 1997  Erez Zadok  <ezk@glory.soscorp.com>
11741         * amd/ops_nfs.c (mount_nfs_fh): fixed NFS V.3 support for bsdi3.
11743 Sun Jul  6 14:22:24 1997  Erez Zadok  <ezk@glory.soscorp.com>
11745         * aux/{configure.in,acconfig.h}: added checks for struct
11746         nfs_args's fields proto and sotype (bsdi3).
11748         * amd/ops_nfs.c (mount_nfs_fh): added nfsv3 option to
11749         nfs_args.flags for bsdi3.  Set field proto to 0.  Set sotype field
11750         to SOCK_STREAM or SOCK_DGRAM.
11752         * aux/macros/check_mount_style.m4: add case for bsdi3.
11754         * amd/info_hesiod.c: got hesiod support for bsdi3.
11756 Sun Jul  6 11:14:47 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11758         * aux/configure.in: look for hesiod on libc (bsdi3)
11760         * amd/get_args.c (get_args): reformat usage so it fits in 80
11761         columns.
11763         * scripts/ctl-amd.in: changed directory name for optional tftpboot
11764         map to /tftpboot/.amd.
11766 Sat Jul  5 17:46:45 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11768         *******************************************************************
11769         *** Released am-utils-6.0a6                                     ***
11770         *******************************************************************
11772 Sat Jul  5 03:17:09 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11774         * scripts/ctl-amd.in: include -T tag for tftpboot.
11776         * new port: mips-sgi-irix5.3.  Compiled with gcc, but NFS V3 code
11777         is broken and needs work on the specific nfs_args that irix5 uses
11778         for V3 mounts.
11780 Sat Jul  5 01:44:25 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11782         * amd/get_args.c (get_args): new options amd -T tag.  A map with
11783         tag=foo matching the -T tag will be processed.  All untagged maps
11784         get processed all the time.
11786 Fri Jul  4 16:19:26 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11788         * aux/configure.in: need to check for strcasecmp in libucb (ncr2)
11790         * aux/macros/check_os_libs.m4: a new macro to set the usage of
11791         libnsl and libsocket based on the OS.
11793         * libamu/mount_fs.c (mnt_flags): used MNTTAB_OPT_GRPID if it is
11794         defined (problem on osf4).
11796         * conf/nfs_prot/nfs_prot_irix5.h: new file for irix5 headers.
11798         * include/am_defs.h, aux/macros/try_compile_nfs.m4,
11799         aux/macros/mount_headers.m4: do include <sys/proc.h> because it
11800         failes on irix5.  Rather, put in the individual
11801         conf/nfs_prot/nfs_prot_*.h headers.
11803         * amd/conf.c: AIX3 doesn't like strdup() being passed a constant
11804         char*, so cast all strdup()'s args to a non-const char*.
11806         * amd/mapc.c (root_newmap): don't try to strdup only a "const
11807         char *".
11809 Fri Jul  4 15:47:10 1997  Erez Zadok  <ezk@americas.psl.cs.columbia.edu>
11811         * conf/nfs_prot/nfs_prot_sunos4.h: added rpc/rpc.h and
11812         sys/errno.h.
11814 Thu Jul  3 17:49:00 1997  Erez Zadok  <ezk@prometheus.soscorp.com>
11816         * made sure am-utils compiles, links, and runs properly on Irix
11817         6.2 using "cc -32 -Wl,-woff,"
11819         * aux/macros/check_lib2.m4: a bug fix version to autoconf 2.12
11820         AC_CHECK_LIB.  If OTHER-LIBRARIES are defined and used, then add
11821         them to $LIBS.
11823         * aux/configure.in: some cleanup of which libraries are needed.
11824         Espectially ensure that libnsl is included only on Solaris, where
11825         so far it is the only system on which it is absolutely necessary.
11826         Also no longer need to include libc explicitly.
11828         * amd/amd.c,wire-test/wire-test.c (main): convert IP address to
11829         network-long order before printing it.
11831         * wire-test/wire-test.c (main): also check and report on the IP
11832         address of the local host, since some systems have bad versions of
11833         get_myaddress, or ones that conflict with other versions in
11834         multiple libraries (SunOS 4 and Irix especially).
11836 Wed Jul  2 18:19:02 1997  Erez Zadok  <ezk@starblazers.soscorp.com>
11838         * scripts/ctl-amd.in: don't use full pathname so killproc() works
11839         better.  Also run bsd44 and irix style ps programs.
11841         * aux/macros/check_lib_funcs.m4: bug fixed: used to define usage
11842         of library no matter if it was found or not.
11844 Wed Jul  2 02:11:48 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11846         * aux/macros/check_mnt2_gen_opt.m4: turned back on the checking
11847         for M_* macros, but ensure that <sys/stream.h> is not included at
11848         all so it won't conflict with other M_* macros.
11850 Tue Jul  1 21:16:51 1997  Erez Zadok  <ezk@mako.cs.columbia.edu>
11852         * conf/mount/mount_irix.c (mount_irix): first arg to mount(2) on
11853         irix should be "spec" (host:/path), not the dir of the mnt point.
11855         * amd/ops_afs.c (afs_lookuppn): bug in enable_default_selectors
11856         fixed.  If on, it essentially ignored the setting in a
11857         selector-controlled /defaults if there were 2 or more entries in it.
11859 Tue Jul  1 12:23:38 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11861         * scripts/ctl-{amd,hlfsd}.in (killproc): if failed to find process
11862         using BSD style ps, then try SVR4 style ps.
11864         * include/am_utils.h (amuDebug): renamed Debug macro to amuDebug
11865         etc., to avoid conflicts with similar named macros in <ldap.h>.
11867         * aux/configure.in, amd/info_ldap.c, etc.: put in all the autoconf
11868         support needed for LDAP.  Now the code has to be written mostly in
11869         amd/info_ldap.c.
11871         * Included additional patches from Andreas Stolcke
11872         <stolcke@speech.sri.com> to support using the best possible
11873         combination of NFS version (2,3) and protocol (udp,tcp) for any
11874         given host, since it appears that some Irix versions have NFS V3,
11875         but do not support TCP.
11877         * scripts/ctl-amd.in: updated amd control script to look for and
11878         use amd.conf file.
11880 Tue Jul  1 00:28:23 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11882         * amd/mapc.c (mapc_create): now, each map in the amd.conf can be
11883         initialized off of a different type, or default to cycling through
11884         all maps until one of them matches.
11886 Mon Jun 30 20:49:13 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11888         * amd/ops_afs.c (afs_readdir): per-map browsing (readdir) done.
11889         if browsable_dirs=yes is set in the map section in amd.conf, that
11890         map will return all entries back to a readdir(2).
11892 Sun Jun 29 16:22:11 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11894         * rudimentary amd.conf file support included.  You may even
11895         override things like os=sos5, to get "backwards" compatibility with
11896         upl102.
11898 Sat Jun 28 13:35:02 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11900         * amd/conf.c: new file to process amd.conf file.
11902         * amd/get_args.c (get_args): new options -H to print help.
11904         * moved enable_default_selectors to be amd.conf controlled, and
11905         not compiler controlled.
11907         * amd/get_args.c (get_args): new options -F <conf-file> to parse an
11908         amd configuration file.
11910 Wed Jun 25 23:15:42 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11912         * converted all files that used strcmp() == 0 or != 0  to using
11913         the STREQ() macro.
11915 Mon Jun 23 22:31:14 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11917         * aux/macros/check_lib_funcs.m4: new M4 macro that can be used to
11918         search for any number of functions in any given library.
11920 Mon Jun 23 01:04:23 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11922         * amd/mapc.c: Included patch from Leif Johansson
11923         <leifj@matematik.su.se> to ensure that systems without an RE
11924         library can compile.
11926         * libamu/mount_fs.c (mount_fs): Included patch from Andreas
11927         Stolcke <stolcke@speech.sri.com>, to ensure that mount options on
11928         table are properly delimited by a comma.
11930         * amd/ops_nfs.c (mount_nfs_fh): Included patch from Andreas
11931         Stolcke <stolcke@speech.sri.com>, to allow users to override the
11932         proto= and vers= mount options.
11934 Sun Jun 22 01:00:11 1997  Eric Dana  (edana@ncr2.bgs.com)
11936         * conf/nfs_prot/nfs_prot_svr4.h: port completed to
11937         i486-ncr-sysv4.3.03.  Assorted source cleanups done.
11939         * include/am_defs.h, aux/macros/mount_headers.m4: don't include
11940         mnttab.h if sys/mnttab.h was already included, because on ncr2,
11941         they contain conflicting entries for struct mnttab.
11943 Sat Jun 21 23:52:15 1997  Eric Dana  (edana@ncr2.bgs.com)
11945         * aux/macros/check_nfs_prot_headers.m4: added support for ncr2.
11947 Fri Jun 20 06:14:17 1997  Erez Zadok  <ezk>
11949         * amd/*.c: lots of 64-bit "ugly" ports like casts to long ints.
11951         * aux/macros/struct_nfs_fh.m4: check for "struct nfssvcfh" because
11952         on DU-4.0 it is better than the next one to be picked (nfsv2fh_t).
11954 Wed Jun 18 18:59:49 1997  Erez Zadok  <ezk@defiant.soscorp.com>
11956         * aux/macros/struct_nfs_fh.m4 (AC_TRY_COMPILE_NFS): check for
11957         nfsv2fh_t before fhandle_t becasue on bsdi2.1 the former is
11958         better.
11960 Tue Jun 10 17:06:58 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11962         * amd/rpc_fwd.c (fwd_packet): TLI bug fix. if fwdto socket is
11963         NULL, set the maxlen and len fields in netbuf to zero.
11965 Wed May 28 22:52:28 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11967         * scripts/fix-amd-map.in (name): replace all matching patterns on
11968         line.
11970 Sun May 25 19:33:41 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11972         *******************************************************************
11973         *** Released am-utils-6.0a5                                     ***
11974         *******************************************************************
11976 Sun May 25 13:37:24 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
11978         * amd/amq_subr.c (amqproc_getvers_1_svc): amq's RPC service
11979         procedure now returns the full string that amd -v returns.
11981         * amd/get_args.c (get_version_string): new function to return
11982         complete version/info string so it could be used more flexibly.
11984         * amd/am_ops.c (ops_showamfstypes, ops_showfstypes): put the list
11985         of Fs types into a string buffer, rather than a FILE*.
11987         * amd/mapc.c (mapc_showtypes): put the list of map types into a
11988         string buffer, rather than a FILE*.
11990 Sun May 25 01:25:36 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11992         * amd/get_args.c (get_args): amd -v also prints user who built
11993         amd, hostname built on, and date of configuration.
11995 Sat May 24 13:40:50 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
11997         * scripts/lostaltmail.conf-sample: sample lostaltmail
11998         configuration file.
12000         * scripts/lostaltmail.in: new script lostaltmail used to redeliver
12001         "lost" mail that hlfsd redirected to a temp location because the
12002         primary home file system of the user was full.
12004         * scripts/amd2sun.in: new script amd2sun. Used to convert Sub
12005         automount maps to amd maps.
12007         * scripts/ctl-hlfsd.in: new script ctl-hlfsd.  Used to start,
12008         stop, or restart hlfsd.
12010         * scripts/expn.1: man page for expn command.
12012         * scripts/ctl-amd.in: new script ctl-amd.  Used to start, stop, or
12013         restart amd.
12015         * scripts/expn.in: new script expn.  Actually taken from David
12016         Muir Sharnoff <muir@idiom.com>.  Used by hlfsd's mail re-delivery
12017         script.
12019         * scripts/wait4amd.in: new script wait4amd added.  Waits for amd
12020         to come up on a host, and then runs a command (rsh $hostname by
12021         default).
12023         * scripts/Makefile.am: new directory now holds all shell/perl
12024         scripts that belong to am-utils.
12026         * conf/mount/mount_linux.c (parse_opts): new parser for
12027         linux-specific mounts.  Handles fs-type specific mount-options
12028         correctly.  Currently implemented: msdos, iso9660.
12030         * amd/ops_pcfs.c (pcfs_ops): don't timeout pcfs mounts by default
12031         (fix for linux).
12033         * amd/ops_cdfs.c (cdfs_ops): don't timeout cdfs mounts by default
12034         (fix for linux).
12036         * amd/mapc.c (make_entry_chain): fixed bug that resulted in amd
12037         core dumps upon "ls" of a mount point; an invalid pointer was
12038         being returned and dereferenced.
12040         * port to Linux sparc working!
12042         * hlfsd/homedir.c (hlfsd_diskspace): close file descriptor if
12043         failed to write test file, or else the fd will leak.
12045 Sun May 18 00:42:41 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12047         * amd/info_hesiod.c (hs_strip_our_domain): use strcasecmp()
12048         instead of strcmp().
12050         * Port to Digital Unix 4.0 (OSF) done.
12052         * hlfsd/hlfsd.c: renamed dirname to dir_name to avoid conflicts
12053         with dirname() function in <string.h> on OSF systems.
12055         * fsinfo/fsi_util.c (set_ether_if): take out extern definition of
12056         inet_addr().  It should come from <arpa/inet.h> instead.
12058         * conf/mtab/mtab_osf.c: fixed macros and added NFS V3 specs.
12060         * include/am_utils.h: renamed FIRST/LAST to AM_FIRST/AM_LAST to
12061         avoid conflicts with DU 4.0 system header.
12063 Thu May 15 22:49:12 1997  Erez Zadok  <ezk@subzero.cs.columbia.edu>
12065         * libamu/mount_fs.c (mount_fs): pass along NFS version so I can
12066         determine if to include additional options in the mount table file
12067         entry (such as proto=tcp, and vers=3).
12069 Thu May 15 00:42:12 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12071         * libamu/mount_fs.c (mount_fs): include NFS version number in the
12072         mount table options, as well as proto={tcp,udp}.
12074 Wed May 14 14:30:19 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
12076         * NFS V3 code ported to most other systems, so it compiles for V2
12077         and V3 NFS systems.
12079         * NFS VERSION 3 support, first pass.  Working for Solaris and
12080         using TCP.
12082 Sun May 11 01:14:29 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
12084         * amq/amq.c: many newline characters were missing from various
12085         stderr printfs.
12087 Sat May 10 13:09:06 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
12089         * conf/nfs_prot/nfs_prot_sunos5.h: protocol defintions for
12090         Solaris, which include NFS V3 support.
12092         * conf/nfs_prot/nfs_prot_default.h: default NFS protocol headers.
12094         * conf/transp/transp_{tli,sockets}.c (get_mount_client): use NFS
12095         protocol version while getting a mount client.
12097         * amd/ops_nfs.c (mount_nfs_fh): set the mount types, mnttab types,
12098         file handle size, and proper file handle based on the correct NFS
12099         version number.
12101         * conf/mount/mount_svr4.c (mount_svr4): support NFS3 mounts under
12102         Solaris and other SVR4 systems.
12104         * amd/ops_nfs.c: store NFS file handle version and version
12105         specific handle in struct fh_cache.
12106         (got_nfs_fh): pick the correct RPC reply based on the NFS version
12107         of the server.
12108         (prime_nfs_fhandle_cache): figure out the right NFS file handle
12109         for a node, but now include NFS protocol version information.
12110         (call_mountd): set the correct version for the mount protocol,
12111         based on the NFS protocol version.
12112         (nfs_init): use the NFS protocol generic structure
12113         am_nfs_handle_t.
12115         * include/am_utils.h: new structure am_nfs_handle_t to contain all
12116         possible versions of NFS file handles.
12118         * amd/srvr_nfs.c (start_ping): ping program performs NFS version
12119         specific pings.
12120         (recompute_portmap): figure out the correct portmap version mount.
12121         (nfs_keepalive): call start_ping() with the correct NFS version.
12122         (find_nfs_srvr): if mount option "vers=" is given, use it.  Get
12123         the NFS server version and verify that it is up.
12125         * conf/transp/transp_{tli,sockets}.c (get_nfs_version): a new
12126         function to find the best NFS version for a particular host.
12128         * libamu/amu.h: determine what is the highest version of NFS we
12129         should try.
12131         * include/am_utils.h (NFS_VERSION3): added definition for NFS V3
12132         protocol number.
12133         Added field fs_version to struct fserver, so we can now store the
12134         server protocol version.
12136 Fri May  9 01:09:45 1997  Erez Zadok  <ezk@lorien.cs.columbia.edu>
12138         * aux/macros/check_field.m4 (AC_MOUNT_HEADERS): map '.' (dot) into
12139         underscores too, so I can test for sub-fields.
12141         * libamu/wire.c: use test that checks for sub-fields of struct
12142         ifreq.
12144 Sat May  6 10:20:17 2000  Erez Zadok  <ezk@glory.soscorp.com>
12146         * port to BSD/OS 3.0 completed!  Many xdr_ functions were broken
12147         into smaller files.  M4 macros fixed to test for existence of
12148         file systems using getvfsbyname().
12150         * amd/sched.c (sigchld): signal handler must waitpid() for all
12151         possible children.
12153         * hlfsd/homedir.c: signal handler must waitpid() for all possible
12154         children.
12156         * aux/macros/check_restartable_signals.m4: new macro to determine
12157         if need to reinstall signal handlers per OS is better than trying
12158         to figure these out based on system macros.
12160 Fri May  5 19:23:28 2000  Erez Zadok  <ezk@glory.soscorp.com>
12162         * amd/ops_nfs.c (mount_nfs_fh): set nfs_args_t version number.
12164         * amd/ops_afs.c (mount_toplvl): set nfs_args_t version number.
12166         * amd/ops_nfs.c (mount_nfs_fh): process nfs mount option resvport
12167         (must be supplied for bsdi 3.0)
12169         * libamu/wire.c: use HAVE_FIELD_STRUCT_IFREQ_IFR_ADDR (and
12170         associated new macro) for determining the right way to compute the
12171         size of the interface structure.
12173 Fri Apr 11 15:56:13 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12175         * aux/configure.in: need to include libc before libnsl if
12176         get_myaddress() is available because on irix libnsl has a buggy
12177         get_myaddress().
12179         * include/am_defs.h: make sure REINSTATE_SIGNAL_HANDLER is defined
12180         on Irix 6 (an SVR4 variant)
12182 Thu Mar 27 02:28:40 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12184         *******************************************************************
12185         *** Released am-utils-6.0a4                                     ***
12186         *******************************************************************
12188 Wed Mar 26 21:15:36 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12190         * amd/amq_subr.c (ok_security): turned off insecure code unless
12191         user explicitly runs configure --enable-amq-mount.
12193         * hlfsd/hlfsd.c (main): use new protoypes dor create_nfs_service().
12195         * amd/nfs_start.c (mount_automounter): use code that separately
12196         creates the NFS and the amq service.  Register tcp and udp
12197         services for amd.
12199         * conf/transp/transp_*.c (create_amq_service): new function to
12200         separately create the amq service for amd.  Simplified prototypes
12201         for create_nfs_service().
12203 Wed Mar 19 20:40:56 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12205         *******************************************************************
12206         *** Released am-utils-6.0a3                                     ***
12207         *******************************************************************
12209 Wed Mar 19 17:49:18 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12211         * new port: rs6000-ibm-aix3.2.5 and rs6000-ibm-aix4.1.5.0.  Lots
12212         of small changes to support these two.
12214 Wed Mar 19 14:33:30 1997  Erez Zadok  <ezk@grande.cs.columbia.edu>
12216         * conf/umount/umount_default.c (umount_fs): bug: unlock_mntlist()
12217         should run if MOUNT_TABLE_ON_FILE, not otherwise.
12219 Mon Mar 17 22:02:43 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12221         * hlfsd/hlfsd.c (main): fill in fhsize field if exists
12222         (freebsd-2.2).
12224         * amd/ops_{nfs,afs}.c (mount_toplvl): fill in fhsize field if
12225         exists (freebsd-2.2).
12227 Sat Mar 15 19:37:48 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12229         * new port: i386-unknown-freebsd2.2.  FreeBSD 2.2 and higher
12230         changed the filehandle type in struct nfs_args from nfsv2fh_t to
12231         u_char.
12233 Sat Mar 14 10:11:03 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12235         * SHARED LIBRARIES: too many changes to list individually.  Now,
12236         libamu can be built as a shared library, and other programs link
12237         with it.
12239 Tue Mar 11 22:24:09 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12241         * aux/macros/opt_shared.m4: new macro for setting options for
12242         building shared am-utils libraries.
12244 Sun Mar  9 19:17:46 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12246         * fixmount/fixrmtab: cleaned up the script.
12248         * fixmount/Makefile.am (EXTRA_DIST): adde $(sbin_SCRIPTS) so that
12249         fixrmtab gets distributed too.
12251         * conf/nfs_prot/nfs_prot_bsdi2.h: added support for MOUNTPROC_DUMP.
12252         Added extern for xdr_mountlist().
12254         * aux/configure.in: trimmed down many tests for MNT2_GEN_OPT,
12255         MNT2_NFS_OPT, and MNTTAB_OPT that were not referenced anywhere in
12256         the sources.
12258 Sat Mar  8 00:23:58 1997  Erez Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12260         * fixmount/hlfsd ported to bsd44, hpux, and linux systems.
12262         * aux/macros/check_fixmount_style.m4: add check for bsd44 systems.
12264         * conf/fixmount/fixmount_default.c: use lockf() if flock() is
12265         unavailable.
12267         * include/am_defs.h: include <string.h> even if don't have
12268         STDC_HEADERS defined (sunos4).
12269         (seteuid): define seteuid() to be setresuid() for systems that
12270         have but not the other (hpux).
12272         * aux/macros/check_extern.m4: test should include <strings.h>.
12274 Tue Mar  4 17:16:52 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12276         * lib/xutil.c (debug_option): moved from amd/getargs.c to this
12277         more proper file.
12279         * include/am_utils.h: put in structure for debug options, for all
12280         progams to use.
12282         * amd/get_args.c: moved structure for debug options out.
12284 Sun Mar  2 00:13:07 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12286         * ported fixmount.
12288         * lib/ualarm.c: replacement function for systems that don't have a
12289         ualarm().
12291         * ported fsinfo.
12293 Sun Mar  1 10:23:34 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12295         * ported mk-amd-map.
12297         * buildall: added -K option to buildall, to run mkconf.
12299 Fri Feb 28 01:10:25 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12301         *******************************************************************
12302         *** Released am-utils-6.0a2                                     ***
12303         *******************************************************************
12305 Thu Feb 27 13:58:59 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12307         * all *.[hcyl] files: add copyright line.
12309         * aux/macros/check_mount_type.m4: test for mount type for
12310         linux-like systems, by checking for loadable or statically linked
12311         kernel filesystem modules.
12313         * aux/macros/check_mnttab_type.m4: test for mount table entry
12314         for linux-like systems, by checking for loadable or statically
12315         linked kernel filesystem modules.
12317         * aux/configure.in: pcfs filesystems can use vfat type (linux)
12319         * aux/macros/check_fs_mntent.m4: test for filesystem existence for
12320         linux-like systems, by checking for loadable or statically linked
12321         kernel filesystem modules.
12323         * conf/trap/trap_hpux.h: ugly hack added because of stupide HPUX
12324         9.0 header files.  This should be removed when HPUX 9.0 is deemed
12325         defunct.
12327         * aux/acconfig.h: set an undefined variable for having an extern
12328         to clnt_sperrno().
12330         * include/am_defs.h: define extern for clnt_sperrno() if needed.
12332         * aux/configure.in: test for extern clnt_sperrno().
12334         * aux/macros/check_nfs_fh_dref.m4: HPUX's NFS fhandle dref is
12335         similar to irix.
12337         * aux/macros/check_mount_style.m4: use mount helper on HPUX.
12339         * aux/macros/check_mtype_type.m4: hpux's mount type is a char*,
12340         not integer (but may be mapped to one later).
12342         * conf/mount/mount_hpux.c (mount_hpux): HPUX has confusing header
12343         files.  They have mount(2) and vfsmount(2) which don't take same
12344         arguments, and they have string mount types MNTTYPE_* as well as
12345         integer types MOUNT_*.  So I need this new mount function to map
12346         from string types to integer types for the vfsmount() function.
12348         * conf/trap/trap_hpux.h (MOUNT_TRAP): instead of calling
12349         vfsmount(), call mount_hpux().
12351 Thu Feb 27 03:34:14 1997  Erez "HWank1" Zadok  <ezk@okeeffe.cs.columbia.edu>
12353         * lib/mount_fs.c (mnt_flags): make sure SYNC option is on only if
12354         both MNTTAB_OPT_SYNC and MNT2_GEN_OPT_SYNC are defined.
12356 Thu Feb 27 00:26:00 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12358         * conf/nfs_prot/nfs_prot_hpux.h: NFS protocol definitions for
12359         hpux.
12361         * include/am_defs.h: no need to include rpc/auth.h or rpc/clnt.h.
12363         * aux/configure.in: no need to test for rpc/auth.h and rpc/clnt.h.
12365         * buildall: added ability to configure using other shells than
12366         /bin/sh, on those systems where /bin/sh is buggy or limited
12367         (HPUX).
12369         * aux/macros/struct_nfs_fh.m4: reinstated the macro but have it
12370         defined am_nfs_fh, and also test for plain typedef "nfs_fh".
12372         * aux/acconfig.h: #undef am_nfs_fh, which is being defined by a
12373         reinstated macro.
12375         * aux/configure.in: check for <nfs/export.h>
12377         * include/am_defs.h: include <nfs/export.h> (HPUX) if exists.
12379         * aux/macros/try_compile_nfs.m4: include <nfs/export.h> (HPUX) if
12380         exists.
12382         * aux/macros/mount_headers.m4 (define): removed some non-working
12383         (on HPUX) code that attempts to recreate the fhandle_t rather than
12384         load it up from system headers.  Also added some NFS protocol
12385         header inclusion.  include <nfs/export.h> (HPUX) if exists.
12387 Wed Feb 26 00:32:35 1997  Erez "HWank1" Zadok  <ezk@okeeffe.cs.columbia.edu>
12389         * aux/macros/mount_headers.m4 (define): Use M4 changequote to
12390         ensure [] brackets are correctly used.
12392         * aux/macros/expand_cpp_{string,hex,int}.m4: encapsulate
12393         multi-line M4 inclusions in [].
12395 Tue Feb 25 22:19:44 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12397         * conf/mtab/mtab_bsd.c (mnt_dup): use statfs field f_fstypename if
12398         it exists.
12400         * aux/acconfig.h: HAVE_FIELD_STRUCT_STATFS_F_FSTYPENAME, new
12401         config.h macro for field f_fstypename of struct statfs.
12403         * aux/configure.in: testing for field f_fstypename field of struct
12404         statfs (NetBSD).
12406         * aux/acconfig.h: moved all of the "static" definitions out to a
12407         fixed file called include/am_defs.h.  Added to all */Makefile.am
12408         files a dependency on am_defs.h.  Created am_defs.h of course, and
12409         then added #include <amd_defs.h> to all of the source and header
12410         files that required it.
12412 Mon Feb 24 01:27:02 1997  Erez Zadok  <ezk@defiant.soscorp.com>
12414         * aux/acconfig.h: two more externals for xdr functions that may be
12415         implemented by libamu.
12417         * conf/nfs_prot/nfs_prot_bsdi2.h: added missing RPC and XDR
12418         definitions.
12420 Sun Feb 23 15:25:26 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12422         * buildall (default): added -D option for turning on even stricker
12423         developer options.
12425         * */Makefile.am: make sure @AMU_NFS_PROT_HEADERS@ is used to
12426         determine dependencies on optional NFS protocol headers.
12428         * aux/acconfig.h: define and use HAVE_NFS_PROT_HEADERS as needed.
12430         * aux/macros/check_nfs_prot_header.m4: new test to determine what
12431         NFS protocol headers to use.
12433         * conf/nfs_prot/nfs_prot_{irix6,sunos4,bsdi2}.h: new headers to
12434         complete missing system headers for NFS protocol definitions.
12436 Sun Feb 16 15:58:42 1997  Erez "HWank1" Zadok  <ezk@vir.cs.columbia.edu>
12438         * amd/ops_nfs.c (mount_nfs_fh): encapsulated some more code in
12439         #ifdef's as needed.
12441         * amd/ops_afs.c (mount_toplvl): make sure TIMEO/RETRANS code is
12442         suitable #ifdef'ed.
12444         * include/am_compat.h: a couple more mnttab options
12445         (timeo/retrans) setting just in case.
12447         * amd/autil.c (host_normalize): make sure hostent->h_name is
12448         passed a non-const char *.
12450         * conf/mount/mount_linux.c (mount_linux): cleaned up a block of code.
12452         * {lib,amq,amd}/*.c (many functions): cast xdr_entry to
12453         XDRPROC_T_TYPE.
12455         * lib/nfs_prot_svc.c (nfs_program_2): cast xdr_entry to
12456         XDRPROC_T_TYPE.
12458         * lib/nfs_prot_xdr.c (xdr_entry): cast xdr_entry to
12459         XDRPROC_T_TYPE.
12461         * lib/wire.c (getwire): Make sure safe assignment from const to
12462         none is done.
12464 Sat Feb 15 19:38:51 1997  Erez "HWank1" Zadok  <ezk@vir.cs.columbia.edu>
12466         * aux/macros/expand_cpp_int.m4: new macro for expanding integers.
12468         * aux/configure.in: added linux/fs.h support in configure and
12469         several M4 macros.
12471         * conf/mount/mount_linux.c (mount_linux): use macro instead of
12472         "ugly" fixed hex number for mount() arguments.
12474 Sat Feb 15 02:09:47 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12476         * amd/info_hesiod.c: removed macro HAVE_HS_ZONE_TRANSFER and
12477         turned all of its code always on.  That code always seems to
12478         compile, as long as you have hesiod and libresolv.
12480         * amd/mapc.c: removed macro HAVE_HS_ZONE_TRANSFER and turned all
12481         of its code always on.
12483         * aux/configure.in: removed superfluous test for hs_zone_transfer
12484         function (will never find it because it is an amd-internal
12485         function).
12487         * amd/mapc.c (maptypes): must used correct new name for am-utils'
12488         hesiod initialization function: hesiod_am_init.
12490         * amd/info_hesiod.c (hesiod_am_init): renamed hesiod_init to
12491         hesiod_am_init so as not to conflict with libhesiod's
12492         hesiod_init() function.
12494         * aux/configure.in: added test and explicit inclusion of
12495         libresolv.a for later resolution of library references with
12496         libhesiod.
12498         * aux/macros/opt_cppflags.m4: new file.  configure/compile C
12499         preprocessor flags.
12501         * aux/macros/opt_libs.m4: new file.  configure/compile library
12502         flags.
12504         * Makefile.am (EXTRA_DIST_AUX): include two new macros
12505         opt_cppflags.m4 and opt_libs.m4.
12507         * aux/configure.in: test for libhesiod needs to additional
12508         libresolv to link completely.  Additional configuration time
12509         options added for setting initial CPPFLAGS and LIBS.
12511 Tue Feb 10 02:15:40 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12513         *******************************************************************
12514         *** Released am-utils-6.0a1                                     ***
12515         *******************************************************************
12517 Thu Feb  6 02:55:19 1997  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12519         * amd/info_ndbm.c (ndbm_search,ndbm_init): fixed the code so that
12520         it works on freebsd, where they map dbm_pagfno a non-existing
12521         macro on purpose, to force you to port the code to Berkeley DB.
12523 Fri Jan 31 01:35:09 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12525         * amd/ops_afs.c (mount_toplvl): added a sleep(1) right before the
12526         actual mount_toplvl, to avoid some possible race conditions.
12528 Thu Jan 30 02:31:49 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12530         * amd/rpc_fwd.c: removed all TLI (HAVE_T_OPEN) code.
12532 Wed Jan 29 18:25:07 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12534         * lib/wire.c (getwire): removed HAVE_T_OPEN (TLI code)
12536         * amd/amd.c (main): fix local address using htonl(). Free up
12537         buffers allocated by netdir_*() functions.
12539 Wed Jan 22 23:53:24 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12541         * amd/fix-amd-map.in: new script that will convert old-style amd
12542         maps to new one.
12544 Tue Jan 21 01:18:16 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12546         * FIRST AMD IN AM-UTILS FINALLY WORKS (mounts itself as toplvl,
12547         and replies back to simple nfs/link type mount queries).
12549         * conf/mtab/mtab_svr4.c: reorganized the code in this file to be
12550         easier to read, and fixed a few bugs with un/setting the lock file
12551         descriptor.
12553 Wed Jan  8 15:27:49 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12555         * amd/sched.c: removed HAS_SVR3_SIGNALS code to handle older
12556         signals in Svr3 systems.  Only stellix ever used this.
12558         * amd/rpc_fwd.c (fwd_reply): removed all code that was triggered
12559         by DYNAMIC_BUFFERS, since it was not in use.
12561 Tue Jan  7 00:45:59 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12563         * amd/opts.c (eval_opts): removed AMD_COMPAT code.  Amd no longer
12564         takes '=' sign as old selector.  Fix your maps.
12565         (deslashify): removed APOLLO code that treated two '//' as one.
12567 Sun Jan  5 01:25:09 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12569         * amd/ops_nfsx.c (nfsx_init): removed HARD_NFSX_ERRORS, code which
12570         was not used.  It made any submount error fail the whole group.
12572         * amd/ops_nfs.c (make_nfs_auth): removed code dependent on
12573         HAS_NFS_QUALIFIED_NAMES.
12574         (mount_nfs_fh): removed macro for NFS_ARGS_NEEDS_PATH, assuming it
12575         is never on.  So code that was triggered by #ifndef
12576         NFS_ARGS_NEEDS_PATH (osf1, aix3, and bsd44 variants) may have to
12577         be fixed later.
12578         Removed all ULTRIX_HACK code.  Ultrix is DEAD!
12579         removed all PRESET_AC code, which was only on for Linux to preset
12580         the attribute cache values (otherwise they default to zero).
12581         (nfs_umounted): revobed KICK_KERNEL code (IRIX systems).  Will
12582         have to fixed up later.
12583         (mount_nfs_fh): removed code that was never included, which
12584         attempted to set the port on which amd's nfs mounts on.  This
12585         isn't supported by the ping algorithm yet.  In any case, it is all
12586         done in nfs_init().
12588         * amd/srvr_nfs.c (find_nfs_srvr), amd/ops_nfs.c (mount_nfs_fh):
12589         removed HAS_TCP_NFS code.  The whole use of NFS V.3 with TCP or
12590         specially hacked NFS V.2 that uses TCP (BSD 4.4 variants) will
12591         have to be addressed later.
12593         * amd/nfs_subr.c (nfsproc_getattr_2): removed all code dependent
12594         on PRECISE_SYMLINKS.
12596         * amd/mapc.c (mapc_meta_search): removed code that depended on
12597         HAS_DEPOT.  It is known buggy code.  The whole DEPOT support needs
12598         to be rethought.
12599         (mapc_add_kv): ported code to use standard regular expression
12600         (regexp) library.
12602         * amd/{map.c,ops_sfs.c,ops_ufs.c}: removed all code dependent on
12603         FLUSH_KERNEL_NAME_CACHE and the macro itself.
12605 Sat Jan  4 15:46:58 1997  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12607         * amd/map.c (exported_ap_alloc): removed all code triggered by
12608         SHRINK_EXPORTED_AP and the macro itself.
12610         * amd/info_nis.c: removed HAS_NIS_RELOAD macro, and left the code
12611         in all the time.  Assuming that there is always NIS realod
12612         available.
12613         (yp_all_fixed): removed code for BROKEN_YP_ALL.  If your yp_all()
12614         function is broken such that it does not release filedescriptors
12615         it created, then you are hosed.  Get a fix for yp_all from your
12616         vendor or switch operating systems.
12618 Tue Dec 31 15:34:36 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12620         * amd/info_hesiod.c: renamed macro HAS_HESIOD_RELOAD to
12621         HAVE_HS_ZONE_TRANSFER.
12623 Mon Dec 30 17:33:23 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12625         * amd/{nfs,host}_ops.cremoved INFORM_MOUNTD macro, so its code is
12626         always included.  We should always try to inform the remove mount
12627         daemon of mounts we performed.  If we want an option for this, it
12628         should be a run-time option.
12630         * amd/host_ops.c: removed all that optionally did not make the
12631         directory mount points for amd.
12633         * HOST_EXEC code removed from everywhere.  There is no indication
12634         that it was used anywhere.  If it needs to be used, then a
12635         run-time switch should control it.
12637 Thu Dec 26 00:06:52 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12639         * amd/*_ops.c: removed all references to mntent_t's fields
12640         mnt_freq and mnt_passno, since they are no longe rused (and never
12641         have been).
12643         * amd/am_ops.c: removed function sunos4_match, which was off
12644         anyway.  This was one of the places where an '=' sign was allowed
12645         as an assignment operator (which is now ':=').
12647         * amd/afs_ops.c (afs_bgmount): removed SUNOS4_COMPAT code which
12648         was off anyway.  This was one of the places where an '=' sign was
12649         allowed as an assignment operator (which is now ':=').
12651 Tue Dec 24 01:53:52 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12653         * amq/amq.c: ported to am-utils.  Working.
12655         * conf/mount/mount_svr4.c (mount_svr4): changed mount type on svr4
12656         to be string, as it should be (rather than a string mapped to int
12657         and back mapped to string).
12659 Sun Dec 22 13:26:05 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12661         * lib/mount_fs.c (mount_fs): removed MNTINFO_PREF code.
12663         * lib/umount_fs.c: split this into three files: default, osf, and
12664         bsd44, that are in conf/umount/umount_*.c.
12666 Thu Dec 19 17:33:46 1996  Erez "HWank1" Zadok  <ezk@lorien.cs.columbia.edu>
12668         * aux/configure.in, aux/aclocal.m4, aux/acconfig.h: added new
12669         macro to automatically figure out if an external definition for
12670         sys_errlist[] exists.
12672         * lib/xutil.c (xfree): removed "#undef free" because it's not
12673         needed there.  Any system that redefines free() needs help.
12675         * conf/mtab/mtab_file.c (REWRITE_MTAB_IN_PLACE): removed code that
12676         was dependent on REWRITE_MTAB_IN_PLACE.  It does not appear to be
12677         in active use anywhere.  If added later, it should be a run-time
12678         configuration option.
12680         * conf/mtab/mtab_mach3.c: removed code that was #ifdef'ed not to
12681         be MOUNT_TABLE_ON_FILE, since mach2 always stores its mount tables
12682         in a file in /etc.
12684         * lib/util.c (str3cat): removed _AIX code.  AIX should have a
12685         working realloc, or else find a cleaner solution to this.
12686         (mkdirs): removed SUNOS4_WORKAROUND code.  This was to do a sync()
12687         after immediately making directories so that fsck will be able to
12688         fix the filesystem in the event of an immediate crash.  This was
12689         because a bug in UFS which is fixed by now.
12691         * lib/hutil.c (domain_strip): removed PARTIAL_DOMAINS triggered
12692         code.  Does not appear to be on and used anywhere.
12693         (dofork): removed MACH3 code, b/c mach3 NFS bugs are fixed by now.
12695         * lib/resvport.c: split the binding of reserved ports code to a
12696         separate file.  A #define (HAVE_T_OPEN) separates the TLI (SVR4)
12697         from the BSD code.
12699 Thu Dec 19 02:08:35 1996  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12701         * lib/Makefile.am (amu_LIBADD): includs @LIBOBJS@ now, auto-filled
12702         in by automake and configure, for optional sources that need to be
12703         built as part of libamu.a.
12705         * aux/aclocal.m4: Make sure AC_CHECK_MOUNT_STYLE adds mountutil.o
12706         to LIBOBJS.
12708         * lib/memcmp.c (memcmp): new file added to replace a possible bad
12709         implementation of memcmp.
12711 Wed Dec 18 22:20:23 1996  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12713         * converted the sources to use memset/memmove/memcmp instead of
12714         bzero/bcopy/bcmp.
12716         * ran all sources through gnu Indent w/ options specified in
12717         aux/amindent.
12719 Wed Dec 11 22:19:29 1996  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12721         * At this point the initial generation of config.h via autoconf and
12722         some preliminary makefiles via automake is done.  I will not begin
12723         modifying sources, so it's a good time to document from here.
12725 Wed Dec 10 22:19:29 1996  Erez "HWank1" Zadok  <ezk@shekel.mcl.cs.columbia.edu>
12727         *******************************************************************
12728         *** Initial ChangeLog Entry                                     ***
12729         *******************************************************************