Home | History | Annotate | Line # | Download | only in dist
      1 2015-01-17  Christos Zoulas <christos (a] zoulas.com>
      2 
      3 	* Move libtool macro functions from m4/macros to m4 and delete
      4 	  the repository copies. Makes am-utils work with libtool-2.4.4
      5 	  and fixes the serial number warnings (raven at themaw.net)
      6 
      7 2014-10-28  Christos Zoulas <christos (a] zoulas.com>
      8 
      9 	*******************************************************************
     10 	*** Released am-utils-6.2					***
     11 	*******************************************************************
     12 
     13 	* add ylwrap.amd, sick and tired of patching broken ylwrap.
     14 
     15 2014-09-05  Christos Zoulas <christos (a] zoulas.com>
     16 
     17 	* factor out the size check for both readdir methods
     18 	  (raven at themaw.net)
     19 
     20 2014-09-03  Christos Zoulas <christos (a] zoulas.com>
     21 
     22 	* configure test for 64 bit xdr function (raven at themaw.net)
     23 
     24 2014-09-01  Christos Zoulas <christos (a] zoulas.com>
     25 
     26 	* bug fix from raven at themaw.net to prevent writing v3 handle
     27 	  to a v2 structure.
     28 
     29 2014-07-21  Christos Zoulas <christos (a] zoulas.com>
     30 
     31 	* fix permission problems with access
     32 	* auto_nfs_version = 3 now works for me.
     33 
     34 2014-07-20  Christos Zoulas <christos (a] zoulas.com>
     35 
     36 	* refresh some autoconf files
     37 	* force autoconf version since earlier versions don't work
     38 	* changes from raven at themaw.net to support NFSv3 for automounted
     39 	  toplevel filesystems presented to the list in May. A few bug fixes
     40 	  and integration changes by me. The code now works well enough to
     41 	  mount the filesystem with NFSv3 and automount children but readdir
     42 	  does not work yet (so no listing of automounted filesystems).
     43 	  The new code is not enabled by default. To enable use
     44 		auto_nfs_version = 3
     45 	  in your configuration file.
     46 
     47 2014-03-26  Christos Zoulas <christos (a] zoulas.com>
     48 
     49 	From Ian Kent <ikent (a] redhat.com>
     50 
     51 	* use mktemp in scripts/fixrmtab
     52 	* fix documentatio nits
     53 	* [linux] Add ext2, ext3, ext4 specific mount options
     54 	* fix tcpwrappers (hosts.{allow,deny} problems for specific host
     55 	  entries
     56 
     57 2014-03-20  Christos Zoulas <christos (a] zoulas.com>
     58 
     59 
     60 	* don't background autofs umount
     61 	* avoid fh NULL dereference on umount
     62 	* handle ENOENT umount return for autofs mounts
     63 	* fix error message in get_nfs_version
     64 	* fix debug log deadlock
     65 	* [linux] retry umount on EBUSY
     66 	* handle failed umount on exit
     67 
     68 2014-03-09  Christos Zoulas <christos (a] zoulas.com>
     69 
     70 	* Remove BSD advertising clause.
     71 	* Remove expn program which is not used by anything
     72 
     73 2013-12-05  Christos Zoulas <christos (a] zoulas.com>
     74 
     75 	* Change the way we handle multiple lex scanners and yacc parsers
     76 	  in a single program. Our old patch to ylwrap does not work anymore
     77 	  because the bison parsers need shared symbols that start with yy
     78 	  and we can't easily select which ones work. So now we use -P and
     79 	  -p to let lex and yacc do the work for us. This requires a patch
     80 	  to ylwrap, but it is smaller.
     81 
     82 
     83 2013-12-05  Christos Zoulas <christos (a] zoulas.com>
     84 
     85 	* Change the way we handle multiple lex scanners and yacc parsers
     86 	  in a single program. Our old patch to ylwrap does not work anymore
     87 	  because the bison parsers need shared symbols that start with yy
     88 	  and we can't easily select which ones work. So now we use -P and
     89 	  -p to let lex and yacc do the work for us. This requires a patch
     90 	  to ylwrap, but it is smaller.
     91 
     92 2013-05-14  Christos Zoulas <christos (a] zoulas.com>
     93 
     94 	* update to handle new autoconf and regen files
     95 
     96 2012-11-23  Christos Zoulas <christos (a] zoulas.com>
     97 
     98 	* recognize mountport=, noacl options
     99 	* simplify the bootstrap process, by forcing
    100 	  all the files to be rebuild with autoreconf -f - i
    101 
    102 2012-10-03  Christos Zoulas <christos (a] zoulas.com>
    103 
    104 	* add missing ops_nfs4.c to the Makefile.am
    105 
    106 2012-09-14  Christos Zoulas <christos (a] zoulas.com>
    107 
    108 	* add locking option handling for lustre
    109 	* fix noatime, nodiratime, mandlock for linux
    110 
    111 2012-07-25  Christos Zoulas <christos (a] zoulas.com>
    112 
    113 	* bug fixes for lustre rhost parsing
    114 
    115 2012-06-27  Christos Zoulas <christos (a] zoulas.com>
    116 
    117 	* Disable 1/2-baked sun map support to avoid SIGSEGV
    118 
    119 2012-06-16  Christos Zoulas <christos (a] zoulas.com>
    120 
    121 	*******************************************************************
    122 	*** Released am-utils-6.2-rc1					***
    123 	*******************************************************************
    124 
    125 	* Fix libtool.m4 to work with later versions of autoconf.
    126 	* In buildall, use eval so that quoted strings work
    127 	* Centralize nfs version checking function, and introduce
    128 	  new configuration variable nfs_vers_ping, which is the
    129 	  max version we ping for. This is not documented yet, because
    130 	  there might be a better way separate the max version we can
    131 	  use vs the max version we ping for.
    132 
    133 2012-06-09  Christos Zoulas <christos (a] zoulas.com>
    134 
    135 	* fix issue with parsing nfsv4 security option strings
    136 
    137 2012-05-01  Christos Zoulas <christos (a] zoulas.com>
    138 
    139 	* Handle EPERM return from v4 file handles
    140 	  in old linux kernels
    141 
    142 2012-03-09  Christos Zoulas <christos (a] zoulas.com>
    143 
    144 	* fix linux autofs detection
    145 	* fix wrong types in new amq mount xdr processing
    146 
    147 2012-01-25  Christos Zoulas <christos (a] zoulas.com>
    148 
    149 	* FreeBSD portability fixes
    150 
    151 2012-01-23  Christos Zoulas <christos (a] zoulas.com>
    152 
    153 	* Avoid type punned warnings
    154 
    155 2011-12-29  Christos Zoulas <christos (a] zoulas.com>
    156 
    157 	* fix bug I introduced in get_nfs_version that caused it to return 0
    158 	* add direct support for ext{2,3,4}
    159 
    160 2011-12-15  Christos Zoulas <christos (a] zoulas.com>
    161 
    162 	* Include <linux/fs.h> on linux, to grab extra mount flags
    163 	* Add support for lustre
    164 
    165 2011-11-28  Christos Zoulas <christos (a] zoulas.com>
    166 
    167 	* For nfsl mounts, match against either the short local
    168 	  host name or the fqdn name.
    169 
    170 2011-10-06  Christos Zoulas <christos (a] zoulas.com>
    171 
    172 	* Add NFSv4 support (loosely based on Ramya's code).
    173 	  Currently if the NFSv4 mount fails with ENOENT we fail
    174 	  back to NFSv3, unless -DNO_FALLBACK.
    175 	* Replace strdup with xstrdup. It is not nice to replace
    176 	  system functions with ones that behave differently.
    177 	* Add various consistency checks (caller function checks
    178 	  variable for NULL, but callee does not).
    179 	* Fix error handling in various paths.
    180 	* Don't check before using XFREE(). free(NULL) works.
    181 
    182 2011-09-15  Christos Zoulas <christos (a] zoulas.com>
    183 
    184 	* amq -i addition (prints info about the map files)
    185 
    186 2011-09-14  Christos Zoulas <christos (a] zoulas.com>
    187 
    188 	* Solaris OS and compiler fixes from:
    189 		Hofmann, Frank <Frank.Hofmann (a] morganstanley.com>
    190 		Sayle, Alex <Alex.Sayle (a] morganstanley.com>
    191 	  - (void)&var generates warnings, removed
    192 	  - __inline is invalid, changed with inline
    193 	  - <sys/socket.h> and other headers have extra dependendcies
    194 			`
    195 2011-08-11  Christos Zoulas <christos (a] zoulas.com>
    196 
    197 	* fix potential buffer overflow in expand_error()
    198 	  (Richard Kettlewell). Does not seem to be exploitable.
    199 
    200 	* simplify %option parsing to appease ancient flex.
    201 
    202 2011-06-21  Christos Zoulas <christos (a] zoulas.com>
    203 
    204 	* add support for linux autofs version 5 (untested)
    205 
    206 2011-06-18  Christos Zoulas <christos (a] zoulas.com>
    207 
    208 	* roll back to an older version of libtool that works
    209 
    210 	* newer versions of config.guess and config.sub
    211 
    212 	* minor fixes to buildall
    213 
    214 2011-05-19  Christos Zoulas <christos (a] zoulas.com>
    215 
    216 	* m4/macros/libtool.m4: for AIX AC_LANG_PROGRAM is incorrectly
    217 	  used and the latest autoconf gives an error. For now just
    218 	  quote it.
    219 
    220 	* configure.in: Fedora Core 15 and RedHat 6 now don't define
    221 	  af_family_t in <linux/socket.h>, but in <bits/sockaddr.h>.
    222 	  Include <sys/socket.h> so that we get <bits/sockaddr.h>
    223 	  indirectly. This caused the <linux/nfs_mount.h> detection
    224 	  test to fail.
    225 
    226 2010-11-24  Erez Zadok  <ezk (a] fsl.cs.sunysb.edu>
    227 
    228 	* m4/macros/os_cflags.m4: for linux, define _GNU_SOURCE (to get
    229 	definitions for O_LARGEFILE and more).
    230 
    231 2010-11-20  Christos Zoulas <christos (a] zoulas.com>
    232 
    233 	* Update news items, add release readme, mark as rc1
    234 
    235 	* Fix addopts code to work with options that are key=value
    236 	  when the built-in hasmntopt() code is not used. The problem
    237 	  was that the code passed "key=" to hasmntopt not "key".
    238 
    239 2009-12-10  Christos Zoulas <christos (a] zoulas.com>
    240 
    241 	* Copy all fields of the am_opts structure
    242 	  When we introduced am_loc we also added a function to
    243 	  create a duplicate of an am_opts structure. As it turns
    244 	  out, that only made a partial copy of the struct and some
    245 	  fields (e.g. opt_cache) was left blank in the new structure.
    246 	  Unfortunately any code that was checking the options
    247 	  through the mntfs structure was mislead by the partial
    248 	  copy: caching was disabled completely, for example, and
    249 	  since browsing relies on caching being enabled it wasn't
    250 	  working either.
    251 	  From: Krisztian Kovacs <Kris.Kovacs (a] morganstanley.com>
    252 
    253 	* Initialize RPC authentication flavor to AUTH_UNIX instead
    254 	  of zero. RHEL 5 uses version 6 of the mount_arg structure
    255 	  that includes the desired RPC authorization flavour.
    256 	  Unfortunately amd initializes that value to zero, meaning
    257 	  AUTH_NULL, resulting in all NFS servers denying operations.
    258 	  From: Krisztian Kovacs <Kris.Kovacs (a] morganstanley.com>
    259 
    260 	* Make sure to remove nodes in the proper order when going
    261 	  down. Depending on what order the nodes got created it's
    262 	  possible that the parent of a node has a bigger am_mapno
    263 	  (index in exported_ap[]) so that it gets freed before
    264 	  its child while the child's am_parent pointer is still
    265 	  pointing to the already freed block of memory.
    266 	  This change makes sure that umount_exported() cleans up
    267 	  all children of a node first before freeing the node.
    268 	  From: Krisztian Kovacs <Kris.Kovacs (a] morganstanley.com>
    269 
    270 	* Fix Linux-specific stuff in ops_tmpfs.c
    271 	  AUTOFS_TMPFS_FS_FLAGS is defined only in the Linux-specific
    272 	  conf_linux.c file, so it cannot be built on Solaris.
    273 	  From: Krisztian Kovacs <Kris.Kovacs (a] morganstanley.com>
    274 
    275         * Add missing parenthesis to fix defined(XXX
    276 	  From: Krisztian Kovacs <Kris.Kovacs (a] morganstanley.com>
    277 
    278 	* In the previous commit we've already made a change that
    279 	  makes this code unnecessary since the node is returned
    280 	  even if the backing file server is known to be down.
    281 	  Since the code path is unused it should be removed.
    282 	  From: Krisztian Kovacs <Kris.Kovacs (a] morganstanley.com>
    283 
    284 	* amfs_generic_lookup_child() tries to find an alternate
    285 	  file server if it detects that the current one is down.
    286 	  However, in the comparison used to decide if a possible
    287 	  mount is the same as the current one it compares the am_loc
    288 	  pointers instead of the actual mntfs pointers. Since
    289 	  amfs_lookup_one_location() creates a brand new am_loc
    290 	  structure for the returned mntfs structure the am_loc
    291 	  pointer will be different even if the mntfs it's pointing
    292 	  to is the same.
    293 	  This tricks amfs_generic_lookup_child() think it has
    294 	  found an alternate file server while it hasn't and thus
    295 	  starts multiple racing mounts for the very same node and
    296 	  mntfs.
    297 	  From: Krisztian Kovacs <Kris.Kovacs (a] morganstanley.com>
    298 
    299 	* In the new am_loc scheme mounted mntfs structures still
    300 	  have their mf_fo structure left intact. So when restart
    301 	  creates a fake mntfs for an already mounted filesystem it
    302 	  should not free mf_fo right away.
    303 	  From: Krisztian Kovacs <Kris.Kovacs (a] morganstanley.com>
    304 
    305 	* Setting the error flag of the mntfs for which the share
    306 	  is already mounted results in the mount point not being
    307 	  removed when it times out. (Amd considers it an error
    308 	  mntfs and thus umount becomse a no-op.)
    309 	  From: Krisztian Kovacs <Kris.Kovacs (a] morganstanley.com>
    310 
    311 	* Right now AMD sets all timeout values to their defaults
    312 	  even if you explicitly set them to zero. This patch
    313 	  introduces separate flags that store if the respective
    314 	  values have been set and the code path setting default
    315 	  values checks these flags instead of testing the values
    316 	  for zero. [Linux only]
    317 	  From: Krisztian Kovacs <Kris.Kovacs (a] morganstanley.com>
    318 
    319 	* Fix mntfs related lookup/(un)mount race conditions, by
    320 	  introducing a new structure linking an mntfs to a node.
    321 	  From: Krisztian Kovacs <Kris.Kovacs (a] morganstanley.com>
    322 
    323 	* We have to free the buffers allocated by the XDR routines when
    324 	  decoding the mount response after copying them to their final place.
    325 	  From: Krisztian Kovacs <Kris.Kovacs (a] morganstanley.com>
    326 
    327 2009-12-09  Christos Zoulas <christos (a] zoulas.com>
    328 
    329 	* Free continuation in amfs_retry() if we don't call amfs_bgmount()
    330 	  Normally it's amfs_bgmount() which frees the continuation. However, if
    331 	  the mount is already in progress and we're in amfs_retry() for another
    332 	  node we don't try mounting the filesystem once again. Still, we have
    333 	  to free the continuation as we won't get called again and thus would
    334 	  leak the continuation structure and our am_loc references.
    335 	  From: Krisztian Kovacs <Kris.Kovacs (a] morganstanley.com>
    336 
    337 	* Fix use-after-free and double free of mntfs private data
    338 	  ops_nfs.c(nfs_init) does not clear private data pointer after free().
    339 	  This leads to use-after-free and double free in case mount() fails.
    340 	  (found by valgrind)
    341 	  From: Krisztian Kovacs <Kris.Kovacs (a] morganstanley.com>
    342 
    343 2009-11-23  Christos Zoulas <christos (a] zoulas.com>
    344 
    345 	* The temporary filename buffer was leaked in lock_mtab().
    346 	  From: Krisztian Kovacs <Kris.Kovacs (a] morganstanley.com>
    347 
    348 2009-10-27  Christos Zoulas <christos (a] zoulas.com>
    349 
    350 	* Deal with errno.h->sys/errno.h better
    351 
    352 2009-10-26  Christos Zoulas <christos (a] zoulas.com>
    353 
    354 	* Fix issue with autoconf 2.63
    355 
    356 	* Fix compile warnings for gcc-4.4.x
    357 
    358 2009-04-15  Christos Zoulas <christos (a] zoulas.com>
    359 
    360 	* Share the LDAP connection between different maps to save resources
    361 	  on the LDAP server. (Olaf Flebbe <o.flebbe (a] science-computing.de>)
    362 
    363 2009-03-20  Christos Zoulas <christos (a] zoulas.com>
    364 
    365 	* Fix largefile re-definitions
    366 
    367 	* Fix compilation error caused in previous patch
    368 
    369 2009-02-19  Christos Zoulas <christos (a] zoulas.com>
    370 
    371 	* Add a synchronous unmount amq rpc that will wait for the remote
    372 	  filesystem to be unmounted, or return an error. Enabled by amq -uu
    373 
    374 2009-01-11  Erez Zadok  <ezk (a] fsl.cs.sunysb.edu>
    375 
    376 	* amd/ops_udf.c: don't define functions/variables which may not be
    377 	used.
    378 
    379 	* amd/ops_tmpfs.c (mount_tmpfs): force gcc not to complain about
    380 	unused variables.
    381 
    382 	* config.guess.long: properly support Fedora Core.
    383 
    384 2009-01-09  Christos Zoulas <christos (a] zoulas.com>
    385 
    386 	* Fix nfs mounts on linux 2.6.26 by explicitly initializing context.
    387 
    388 	* Treat an empty sublink as an unset sublink; this allows us to
    389 	  say sublink:=; in a spec to override the default. (This produces
    390 	  Bad selector error, but it works. XXX: We need to decide how to
    391 	  unset a selector. I proposed an unset keyword a while ago).
    392 
    393 2009-01-06  Christos Zoulas <christos (a] zoulas.com>
    394 
    395 	* re-renerate all generated files with newer versions of the
    396 	  auto-tools.
    397 
    398 	* move INSTALL to INSTALL.am-utils to avoid conflicts
    399 
    400 	* fix incompatibilities with new m4 and new autoconf.
    401 
    402 	* add UDF filesystem support.
    403 
    404 	* fix NetBSD nfs file handle detection.
    405 	
    406 2009-01-02  Christos Zoulas <christos (a] zoulas.com>
    407 
    408 	* add nocasetrans, nojoliet, rrcaseins for cd9660 filesystems
    409 
    410 2008-12-03  Christos Zoulas <christos (a] zoulas.com>
    411 
    412 	* allow ldap queries try a comma-separated list of servers given as:
    413 
    414 		ldap_hostports = host1:port1,host2,host3:port3
    415 
    416 	  original patch from Florian Geyer
    417 
    418 2008-09-19  Christos Zoulas <christos (a] zoulas.com>
    419 
    420 	* the auth_create gid on NetBSD is int
    421 
    422 	* deal with lossage from flex -P
    423 
    424 	* fix missing/incorrect prototypes
    425 
    426 2008-09-17  Christos Zoulas <christos (a] zoulas.com>
    427 
    428 	* fix manual page section issues (sorting, non-existant)
    429 
    430 	* add missing forward declarations
    431 
    432 	* avoid null pointer derefs (coverity)
    433 
    434 	* more portable endian detection support
    435 
    436 	* implement tmpfs support
    437 
    438 	* use sizeof var instead of constant
    439 
    440 	* fix yyerror declaration and definition
    441 
    442 	* fix yy function renaming, and correct some renaming issues.
    443 
    444 	* work around automake < 1.9 issue where ylwrap is not being run
    445 	  for a single yacc or lex file.
    446 
    447 	* NetBSD
    448 	  - handle headers that need other headers to compile
    449 	  - add exfs and tmpfs specific glue
    450 	  - add options log, noatime, nocoredump, nodevmtime, softdep,
    451 	    symperm, union
    452 	  - NetBSD's new mount system call needs the size of the opaque
    453 	    filesystem specific structure, but passing 0 for now works.
    454 	    We would need to change a lot more code to pass the size from
    455 	    the fs-specific calls, so for now punt.
    456 	  - recvfrom takes socklen_t * on NetBSD
    457 	  - handle newer NetBSD using statvfs
    458 	  - NetBSD calls its ufs ffs
    459 
    460 	* Linux
    461 	  - Most recent kernels have trouble with trying to parse the pid
    462 	    hostname and do locking. What before was a silent failure, now
    463 	    there is a warning printed and the mount is rejected. This is
    464 	    the simplest fix:
    465 	    (http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=479884)
    466 
    467 2007-04-13  Erez Zadok  <ezk (a] cs.sunysb.edu>
    468 
    469 	* amd/sun_map.c (sun_append_str): When translating '&' from Sun
    470 	automounter maps, replace it with "${key}" in the Amd map, not
    471 	with the value of the key at the time.  This way '*' maps work
    472 	too.
    473 
    474 	* config.guess.long: don't use -q option to grep because some
    475 	systems don't support it.  Bug fix for solaris.
    476 
    477 2007-03-11  Christos Zoulas  <christos (a] zoulas.com>
    478 
    479 	* amd/opts.c (expand_op): Don't call xstrlcpy() to truncate a
    480 	string.  It causes spurious xstrlcpy() syslog() errors.  Use
    481 	memcpy() and explicitly terminate the string.
    482 
    483 2007-01-20  Erez Zadok  <ezk (a] cs.sunysb.edu>
    484 
    485 	* updated copyright year to 2007 on all files.
    486 
    487 2006-12-27  Erez Zadok  <ezk (a] cs.sunysb.edu>
    488 
    489 	* minor new port: ia64-hp-hpux11.23
    490 
    491 	* m4/macros/check_libwrap_severity.m4 (LIBS): also test if caller
    492 	needs to define rfc931_timeout.
    493 
    494 	* amd/sun2amd.c: define rfc931_timeout and allow/deny_severity for
    495 	libwrap.
    496 
    497 	* amd/amq_svc.c: some versions of libwrap require the caller to
    498 	define rfc931_timeout in addition to allow/deny_severity.
    499 
    500 	* amd/amfs_toplvl.c (amfs_toplvl_init): properly detect when
    501 	forced unmount functionality exists for all systems.
    502 
    503 	* libamu/mount_fs.c (compute_nfs_args): reset nfs_args_t->pathconf
    504 	only if field exists.
    505 
    506 	* conf/nfs_prot/nfs_prot_hpux11.h: prevent HPUX 11.23 from
    507 	including <tiuser> or <sys/tiuser> (TLI definitions are already
    508 	included from elsewhere).
    509 
    510 	* configure.in: detect nfs_args_t->pathconf field.
    511 
    512 2006-11-27  Erez Zadok  <ezk (a] cs.sunysb.edu>
    513 
    514 	* doc/Makefile.am: properly publish html files using newer
    515 	text2html.
    516 
    517 2006-11-27  Erez Zadok  <ezk (a] shekel.local>
    518 
    519         * doc/Makefile.am: obfuscate emails in ChangeLog before it is
    520         published on web site.
    521 
    522 	* obfuscate many more emails in the distro, esp. of files which get
    523         posted on the am-utils web site.
    524 
    525 2006-11-26  Erez Zadok  <ezk (a] shekel.local>
    526 
    527 	* minor new port: i386-apple-darwin8.8.1.
    528 
    529         * doc/am-utils.texi: remove obvious URLs used by spammers, and
    530         replace them with links to the am-utils web site, which uses PNG
    531         images to obfuscate the actual email/mailman URLs.
    532 
    533 2006-10-30  Erez Zadok  <ezk (a] cs.sunysb.edu>
    534 
    535 	* doc/am-utils.texi (Password maps): minor typo reported by
    536 	Christoph P. Kukulies.
    537 
    538 2006-10-26  Erez Zadok  <ezk (a] cs.sunysb.edu>
    539 
    540 	* minor new port: i386-pc-linux-fc6.
    541 
    542 	* m4/macros/linux_headers.m4: handle newer Linux kernels which
    543 	removed UTS_RELEASE from <linux/version.h>.
    544 
    545 2006-10-25  Erez Zadok  <ezk (a] cs.sunysb.edu>
    546 
    547 	* minor new ports: i386-pc-linux-centos4.4 and
    548 	powerpc-apple-darwin8.7.0.
    549 
    550 	* config.guess.long: recognize CentOS Linux.
    551 
    552 2006-06-20  Erez Zadok  <ezk (a] cs.sunysb.edu>
    553 
    554 	* minor new port: i386-pc-solaris2.11-nexentaos (GNU/OpenSolaris).
    555 
    556 	* config.guess.long: recognize NexentaOS (GNU/OpenSolaris)
    557 
    558 	* config.guess, config.sub: updates from latest official GNU
    559 	distributions.
    560 
    561 2006-05-11  Erez Zadok  <ezk (a] cs.sunysb.edu>
    562 
    563 	* Minor new ports: i386-unknown-freebsd6.1 (RELEASE),
    564 	powerpc-apple-darwin8.6.0, and i386-unknown-openbsd3.9.
    565 
    566 2006-05-10  Erez Zadok  <ezk (a] cs.sunysb.edu>
    567 
    568 	* libamu/mount_fs.c (compute_nfs_attrcache_flags): fix signedness
    569 	problems on IRIX-6.5.
    570 
    571 	* conf/autofs/autofs_solaris_v1.c (xdr_umntrequest): fix
    572 	signedness problems on IRIX-6.5.
    573 
    574 2006-05-01  Erez Zadok  <ezk (a] cs.sunysb.edu>
    575 
    576 	* configure.in: check if libc already includes dbm functionality
    577 	(as in FreeBSD 6), then don't bother to check specific libraries
    578 	such as libdbm, gdbm, etc.
    579 
    580 2006-04-21  Erez Zadok  <ezk (a] cs.sunysb.edu>
    581 
    582 	* configure.in: detect G/DBM support via gdbm_compat library
    583 	(Debian 3.1).
    584 
    585 	* minor new port: powerpc-apple-darwin8.5.0
    586 
    587 2006-04-20  Erez Zadok  <ezk (a] cs.sunysb.edu>
    588 
    589 	* scripts/amd.conf-sample, scripts/amd.conf.5, doc/am-utils.texi,
    590 	NEWS: document new nfs_allow_any_interface parameter.
    591 
    592 	* include/am_compat.h (INADDR_LOOPBACK): define INADDR_LOOPBACK if
    593 	not defined, since some systems don't have it.
    594 
    595 2006-04-20  Nick Williams <Nick.Williams (a] morganstanley.com>
    596 
    597 	* libamu/wire.c (is_interface_local): new boolena function to
    598 	determine if address represents any of the local interfaces.
    599 	(getwire): more properly check if address equals INADDR_LOOPBACK,
    600 	not if IFF_LOOPBACK is not (the latter isn't as correct).
    601 
    602 	* include/am_utils.h: extern for new is_interface_local() function.
    603 
    604 	* conf/transp/transp_{sockets,tli}.c: don't define INADDR_LOOPBACK
    605 	here but in am_compat.h
    606 
    607 	* amd/nfs_prot_svc.c (nfs_program_2): if
    608 	nfs_allow_any_interface=yes, then allow NFS packets from any local
    609 	interface (not just 127.0.0.1).
    610 
    611 	* amd/conf.c (gopt_nfs_allow_any_interface): implement the new
    612 	amd.conf parameter nfs_allow_any_interface.
    613 
    614 	* amd/amd.h (CFM_NFS_ANY_INTERFACE): define new global flag when
    615 	al interfaces are acceptable for local NFS packets.
    616 
    617 2006-04-18  Christos Zoulas  <christos (a] zoulas.com>
    618 
    619 	* amd/opts.c: Add support for optionally specifying the hostname
    620 	to match against the netgroup in the netgrp and netgrpd selectors.
    621 
    622 2006-04-16  Erez Zadok  <ezk (a] cs.sunysb.edu>
    623 
    624 	* libamu/mtab.c (hasmntval): fix inverted meaning of error from
    625 	hasmntvalerr().
    626 
    627 2006-04-14  Erez Zadok  <ezk (a] cs.sunysb.edu>
    628 
    629 	* libamu/mount_fs.c (compute_nfs_attrcache_flags): use new
    630 	hasmntvalerr() function to set attribute cache values only if they
    631 	were set (regardless whether they were set to zero or a non-zero
    632 	value).  Before, we were unable to distinguish between an error to
    633 	parse an option, and a user who actually wanted to set an
    634 	attribute-cache value to 0.  This now fixes an important
    635 	performance bug that Amd was turning off the attribute caches even
    636 	for regular (non-automounter) NFS mounts.
    637 
    638 	* libamu/mtab.c (hasmntvalerr): new function to set the value of
    639 	an option into an integer, but ONLY if that options was set and
    640 	parsed correctly.  This function returns 1 on error, 0 on success
    641 	(instead of always setting the option value to 0).
    642 	(hasmntval): wrapper function around hasmntvalerr, which maintains
    643 	backwards compatibility (always sets option value to 0, even on
    644 	error to parse the option).
    645 
    646 	* amd/nfs_subr.c (fh_to_mp3): use long int printf format for
    647 	fhh_pid.
    648 
    649 2006-04-05  Christos Zoulas  <christos (a] zoulas.com>
    650 
    651 	* amd/amfs_generic.c (amfs_lookup_mntfs): fix use-after-free bug
    652 	(Coverity).
    653 
    654 2006-03-27  Erez Zadok  <ezk (a] cs.sunysb.edu>
    655 
    656 	* doc/am-utils.texi, scripts/{amd.conf.5,amd.conf-sample}:
    657 	document new nfs_retransmit_counter_toplvl and
    658 	nfs_retry_interval_toplvl global amd.conf parameters.
    659 
    660 	* amd/conf.c (gopt_nfs_retransmit_counter_toplvl,
    661 	(gopt_nfs_retry_interval_toplvl): parse amd.conf
    662 	nfs_retransmit_counter_toplvl and nfs_retry_interval_toplvl global
    663 	parameters.
    664 
    665 	* amd/amfs_toplvl.c (amfs_toplvl_mount): support setting toplvl
    666 	timeo/retrans parameters for Amd's toplvl mounts, separately from
    667 	all other UDP or NFS mounts.
    668 
    669 	* amd/amd.h: define a new timeo/retrans parameter for toplvl
    670 	mounts.
    671 
    672 2006-03-22  Erez Zadok  <ezk (a] cs.sunysb.edu>
    673 
    674 	* minor new port: i386-pc-linux-suse10.1 (beta 8).
    675 
    676 2006-03-21  Christos Zoulas  <christos (a] zoulas.com>
    677 
    678 	* amd/am_ops.c (merge_opts): Remove useless check found by
    679 	Coverity; xmalloc never returns NULL.
    680 
    681 2006-03-21  Erez Zadok  <ezk (a] cs.sunysb.edu>
    682 
    683 	* minor new ports: i386-pc-linux-fc5.
    684 
    685 	* amd/info_ldap.c: as of Linux Fedora Core 5 (which comes with
    686 	openldap-2.3.9), the ldap.h headers deprecate several functions
    687 	used in this file, such as ldap_unbind.  You get compile errors
    688 	about missing extern definitions.  Those externs are still in
    689 	<ldap.h>, but surrounded by an ifdef LDAP_DEPRECATED.  I am
    690 	turning on that ifdef at the top of info_ldap.c, under the
    691 	assumption that the functions may be deprecated, but they still
    692 	work for this (older?) version of the LDAP API.  It gets am-utils
    693 	to compile, but it is not clear if it will work perfectly.
    694 
    695 	* libamu/xdr_func.c (xdr_am_mountres3_ok), amq/amq_xdr.c
    696 	(xdr_amq_mount_tree, xdr_amq_mount_tree_p,
    697 	xdr_amq_mount_info_list, xdr_amq_mount_tree_list), amq/amq.c
    698 	(show_mti), amd/amq_subr.c (xdr_amq_setopt, xdr_amq_mount_subtree,
    699 	xdr_amq_mount_tree, xdr_amq_mount_tree_list, xdr_amq_mount_tree),
    700 	libamu/xdr_func.c (xdr_am_mountres3_ok): use casing magic to stop
    701 	GCC-4.1 from complaining about "dereferencing type-punned pointer
    702 	will break strict-aliasing rules" here (but not elsewhere).
    703 
    704 2006-03-20  Christos Zoulas  <christos (a] zoulas.com>
    705 
    706 	* libamu/wire.c: avoid potential dereferencing of a NULL pointer
    707 	(Coverity).
    708 
    709 	* hlfsd/homedir.c (delay): remove unnecessary check for NULL
    710 	pointer (Coverity).
    711 
    712 	* fsinfo/fsi_analyze.c (analyze_dkmounts, analyze_mounts,
    713 	analyze_mounts): avoid potential dereferencing of a NULL pointer
    714 	(Coverity).
    715 
    716 	* conf/transp/transp_sockets.c (create_amq_service): avoid
    717 	potential dereferencing of a NULL pointer (Coverity).
    718 
    719 	* amd/sched.c (sigchld): properly check for the end of the waiting
    720 	process list (Coverity).
    721 
    722 	* amd/mapc.c (mapc_create): initialize 'modify' to zero (Coverity).
    723 
    724 	* amd/autil.c (amfs_mkcacheref, am_unmounted): avoid potential
    725 	dereferencing of a NULL pointer (Coverity).
    726 
    727 	* amd/amfs_generic.c (amfs_lookup_mntfs): free def_opts before
    728 	reusing it (memory leak bug detected by Coverity).
    729 	(amfs_bgmount): avoid potential dereferencing of a NULL pointer
    730 	(Coverity).
    731 
    732 	* amd/am_ops.c (merge_opts): no need to check if newstr is NULL
    733 	(bug detected by Coverity).
    734 
    735 2006-03-08  Ion Badulescu  <ionut (a] moisil.badula.org>
    736 
    737 	* amd/nfs_subr.c (mp_to_fh): fixed old-style filehandles--the pid
    738 	comparison was failing.
    739 
    740 2006-03-08  Erez Zadok  <ezk (a] cs.sunysb.edu>
    741 
    742 	* configure.in: properly test for either <gdbm/ndbm.h> or
    743 	<gdbm-ndbm.h> (unfortunately, Autoconf will map both names to the
    744 	same $ac_cv_* variable name).  Some systems support one header or
    745 	another.  Patch inspired by work Debian did.
    746 
    747 2006-02-16  Daniel P. Ottavio  <ottavio (a] vm.fsl.cs.sunysb.edu>
    748 
    749 	* amd/sum_map_tok.l: Fixed a bug in a regular expression that
    750 	prevented dashes in hostnames.  This was posted in BZ by Thomas
    751 	A. Fine.
    752 
    753 	* README.sun2amd: Fixed a typo.  Sentence mentions use of autofs
    754 	type when it should be host type.
    755 
    756 2006-01-04  Erez Zadok  <ezk (a] cs.sunysb.edu>
    757 
    758 	* doc/am-utils.texi (auto_attrcache Parameter): revise discussion
    759 	to mention pros and cons of turning on/off this parameter,
    760 	including impact on Amd's performance, and ways to improve
    761 	performance while minimizing the window of vulnerability in which
    762 	kernel may return the wrong (cached) attributes.
    763 
    764 2006-01-02  Erez Zadok  <ezk (a] cs.sunysb.edu>
    765 
    766 	* updated copyright year to 2006 on all files.
    767 
    768 2005-12-20  Erez Zadok  <ezk (a] cs.sunysb.edu>
    769 
    770 	* include/am_utils.h, conf/transp/transp_tli.c (amu_svc_register,
    771 	register_autofs_service): use a consistent prototype for the
    772 	dispatch function of the autofs service de/registration functions.
    773 
    774 2005-12-03  Erez Zadok  <ezk (a] cs.sunysb.edu>
    775 
    776 	* minor new ports: i386-unknown-netbsdelf2.1,
    777 	i386-unknown-netbsdelf3.0 (RELEASE), and i386-unknown-openbsd3.8.
    778 
    779 2005-12-02  Erez Zadok  <ezk (a] cs.sunysb.edu>
    780 
    781 	* m4/macros/check_field.m4: remove double inclusion of msdosfs
    782 	headers, which are included in mount_header1.h (netbsd 2.1 doesn't
    783 	protect <msdosfs/msdosfsmount.h> which causes compile errors).
    784 
    785 2005-11-08  Erez Zadok  <ezk (a] cs.sunysb.edu>
    786 
    787 	* minor new port: i386-unknown-freebsd6.0 (RELEASE)
    788 
    789 2005-10-26  Erez Zadok  <ezk (a] cs.sunysb.edu>
    790 
    791 	* amd/amq_subr.c (amqproc_pawd_1_svc): repeatedly resolve path in
    792 	Amd, not in pawd (to avoid repeated network RPCs).
    793 
    794 	* amq/pawd.c (transform_dir): move repeated path resolution into Amd.
    795 
    796 2005-10-25  Erez Zadok  <ezk (a] cs.sunysb.edu>
    797 
    798 	* amq/pawd.c (transform_dir): resolve path repeatedly until
    799 	finished.  Bug fix from Jonathan Chen <jon+amd-at-spock.org>.
    800 	Added safety check to prevent infinite loops.
    801 
    802 2005-10-19  Erez Zadok  <ezk (a] cs.sunysb.edu>
    803 
    804 	* doc/am-utils.texi (opts Option): document new pcfs options
    805 	longname, nowin95, shortname, user=N, group=N, mask=N, and
    806 	dirmask=N.
    807 
    808 	* amd/ops_pcfs.c (mount_pcfs): process new pcfs options longname,
    809 	nowin95, shortname, user=N, group=N, mask=N, and dirmask=N.
    810 
    811 	* include/am_compat.h: provide compatibility mnttab string names,
    812 	if needed, for pcfs mount options longname, nowin95, shortname,
    813 	user=N, group=N, mask=N, and dirmask=N.
    814 
    815 	* include/am_utils.h: extern for hasmntstr().
    816 
    817 	* libamu/mtab.c (hasmntstr): new function to return the string
    818 	value following a mount option, up to the next comma-delimited
    819 	options.
    820 
    821 	* configure.in: check for mnttab and pcfs options longname,
    822 	nowin95, and shortname.
    823 
    824 	* Makefile.am (EXTRA_DIST_M4): distribute new macro
    825 	check_mnt2_pcfs_opt.m4.
    826 
    827 	* m4/macros/check_mnt2_pcfs_opt.m4: new macro to check for pcfs
    828 	mnttab and mount options.
    829 
    830 2005-10-18  Erez Zadok  <ezk (a] cs.sunysb.edu>
    831 
    832 	* libamu/mount_fs.c (print_nfs_args): print nfs_args->addr
    833 	correctly, depending if it's a pointer or not.
    834 
    835 	* conf/sa_dref/sa_dref_*.h: for each NFS_SA_DREF macro, also
    836 	#define NFS_ARGS_T_ADDR_IS_POINTER if nfs_args->addr is a pointer
    837 	or an embedded structure, so we can tell how to print it.
    838 
    839 	* libamu/mount_fs.c (print_nfs_args): print nfs_args->addrlen
    840 	field, if it exists.
    841 
    842 	* configure.in: check for nfs_args->addrlen field.
    843 
    844 	* wire-test/wire-test.c (main), libamu/mount_fs.c
    845 	(print_nfs_args), fixmount/fixmount.c (inetresport,
    846 	clnt_create_timeout), amq/pawd.c (transform_dir), amq/amq.c
    847 	(main), amd/srvr_nfs.c (find_nfs_srvr), amd/autil.c
    848 	(amfs_mount): document that as per POSIX, we don't need to set the
    849 	sa_len/sin_len fields in struct sockaddr/sockaddr_in.  The field
    850 	is used only internally in the kernel.  See
    851 	www.awprofessional.com/articles/article.asp?p=169505&seqNum=2&rl=1
    852 
    853 	* fixmount/fixmount.c (inetresport): initialize sockaddr_in
    854 	structure before filling in some fields.
    855 
    856 2005-10-11  Erez Zadok  <ezk (a] cs.sunysb.edu>
    857 
    858 	* doc/am-utils.texi (nfs_vers, nfs_proto parameters): clarify and
    859 	correct mistaken description of nfs_proto.
    860 
    861 2005-10-10  Erez Zadok  <ezk (a] cs.sunysb.edu>
    862 
    863 	*******************************************************************
    864 	*** Released am-utils-6.1a1					***
    865 	*******************************************************************
    866 
    867 	* README.sun2amd: revised.
    868 
    869 2005-10-09  Daniel P. Ottavio  <dottavio (a] ic.sunysb.edu>
    870 
    871 	* amd/info_nis.c (nis_search): Bug fix for bugzilla #428; make
    872 	sure that sun_entry2amd() is not called when yp_match() returns an
    873 	error, this is done by checking that 'res' is 0.  Bug fix (same
    874 	BZ#); free the output allocated by yp_match() instead of freeing
    875 	the return value of sun_entry2amd().
    876 
    877 	* amd/sun_map.c (sun_entry2amd): Fix a comment.
    878 
    879 	* README.sun2amd: Made a first pass at describing the status of
    880 	the sun2amd feature.
    881 	Moved the date.
    882 
    883 2005-10-09  Erez Zadok  <ezk (a] cs.sunysb.edu>
    884 
    885 	* README.sun2amd: place holder.
    886 
    887 	* Makefile.am (EXTRA_DIST): distribute new README.sun2amd file.
    888 
    889 2005-10-07  Erez Zadok  <ezk (a] cs.sunysb.edu>
    890 
    891 	* m4/macros/check_mnttab_type.m4: move the test for MOUNT_* to the
    892 	very end, after the test using getvfsbyname().
    893 
    894 	* m4/macros/expand_run_string.m4: if the string value returned is
    895 	empty, consider it invalid.
    896 
    897 	* m4/macros/check_varargs_macros.m4: rewrite macro so it'll
    898 	try and compile the varargs test, not just cpp it.  Some systems
    899 	pass the old cpp test, but not when you actually try to compile
    900 	the code (Tru64's cc).
    901 
    902 	* conf/autofs/autofs_solaris_v1.h: redefine
    903 	autofs_strdup_space_hack as a macro to str3cat(NULL,(s)," ","").
    904 	This works everywhere and we avoid linking problems, inline
    905 	functions, etc.
    906 
    907 	* conf/autofs/autofs_solaris_v1.c (autofs_mount_fs): remove
    908 	autofs_strdup_space_hack() function altogether.
    909 
    910 	* m4/macros/os_cflags.m4: remove hack that hardcodes pte_t=u_int.
    911 
    912 	* configure.in: test for <sys/immu.h> header.
    913 	Test for pte_t, but only on IRIX6 systems.
    914 
    915 	* Makefile.am (EXTRA_DIST_M4): distribute new type_pte_t.m4 file.
    916 
    917 	* m4/macros/type_pte_t.m4: new test for existence of pte_t
    918 	typedef, needed on some IRIX-6.5/gcc systems.
    919 
    920 	* m4/macros/header_templates.m4: add missing templates for
    921 	HAVE_EXTERN_GETDTABLESIZE, HAVE_EXTERN_GETWD, and
    922 	HAVE_EXTERN_UALARM.
    923 
    924 	* amd/info_exec.c (exec_map_open): break assignment from inside
    925 	conditional, to work around an IRIX-6.5 cc bug.
    926 
    927 	* amd/Makefile.am (amd_LDADD, sun2amd_LDADD): put libaminfo.a
    928 	before libamu.la.  Some linkers (e.g., IRIX-6.5) incorrectly
    929 	complain about undefined symbols.
    930 
    931 	* fsinfo/fsi_util.c (set_ether_if), amd/map.c (unmount_mp),
    932 	libamu/xutil.c (expand_error), libamu/strutil.c (xsnprintf): avoid
    933 	comparison between signed and unsigned integers.
    934 
    935 	* conf/autofs/autofs_solaris_v1.h, conf/autofs/autofs_solaris_v1.c
    936 	(autofs_strdup_space_hack): move "space_hack" function from static
    937 	inline in header, into the only source file that needs it.  This
    938 	is cleaner and also prevents linking problem with some compilers
    939 	that won't apply CPP macros inside static inline functions (for
    940 	the strl* functions).
    941 
    942 	* amq/pawd.c (find_mt, find_mlp): remove obsolete, inefficient
    943 	code.
    944 	(transform_dir): call the new, efficient amqproc_pawd_1() routine.
    945 
    946 	* amq/amq_clnt.c (amqproc_pawd_1): AMQPROC_PAWD wrapper routine.
    947 
    948 	* amq/amq.h (amqproc_pawd_1): extern for amq's AMQPROC_PAWD
    949 	wrapper routine.
    950 
    951 	* amd/amq_svc.c (amq_program_1): dispatch point for
    952 	amqproc_pawd_1_svc.
    953 
    954 	* amd/amq_subr.c (amqproc_pawd_1_svc): moved pawd's path-matching
    955 	functionality into Amd, where it can be done a lot more
    956 	efficiently.  We don't have to construct and ship a whole export
    957 	tree from Amd to pawd.  We just get a variable-length
    958 	xdr_wrapstring for the user's path, iterate over the entire export
    959 	list inside Amd, and return only a matched string if found
    960 	(otherwise we return "" to indicate that there was no match, and
    961 	let pawd printf the same string it sent over).
    962 
    963 	* amd/amd.h: extern for amqproc_pawd_1_svc, amd's service routine
    964 	the AMQPROC_PAWD RPC.
    965 
    966 2005-10-06  Erez Zadok  <ezk (a] cs.sunysb.edu>
    967 
    968 	* ltmain.sh, m4/macros/libtool.m4: update to libtool-1.5.20.
    969 	Fixes Tru64 bugs when using ksh.
    970 
    971 	* amd/amfs_toplvl.c (amfs_toplvl_mount): break complex ifdef macro
    972 	into two sections, to workaround a C99 varargs-macro bug in
    973 	gcc-3.2.2 (RH9).
    974 
    975 	* libamu/wire.c (print_wires): convert argument-less xsnprintf to
    976 	xstrlcpy.
    977 
    978 	* include/am_utils.h: use new HAVE_C99_VARARGS_MACROS or
    979 	HAVE_GCC_VARARGS_MACROS to pass file name and line number to
    980 	xsnprintf/xvsnprintf.
    981 
    982 	* libamu/strutil.c (xsnprintf, xvsnprintf): if debugging is on,
    983 	then also print the source file name and line number that called
    984 	xsnprintf/xvsnprintf with a buffer that wasn't large enough (most
    985 	likely an am-utils bug).
    986 
    987 	* Makefile.am (EXTRA_DIST_M4): distribute new
    988 	check_varargs_macros.m4 file.
    989 
    990 	* configure.in: execute new AMU_VARARGS_MACROS test.
    991 
    992 	* m4/macros/check_varargs_macros.m4: new test to check what style
    993 	of variable-length argument macros, if any, does the
    994 	compiler/pre-processor supports.
    995 
    996 	* conf/autofs/autofs_solaris_v2_v3.c (autofs_lookup_2_req)
    997 	conf/autofs/autofs_solaris_v1.c (autofs_mount_1_req), amd/opts.c,
    998 	amd/nfs_subr.c (nfsproc_lookup_2_svc), amd/nfs_start.c
    999 	(mount_automounter), amd/get_args.c (get_args), amd/amfs_toplvl.c,
   1000 	amd/amfs_auto.c (amfs_auto_mount), amd/amd.h, amd/amd.c (main):
   1001 	use sizeof() instead of fixed SIZEOF_* macros.
   1002 
   1003 	* libamu/strutil.c (xstrlcat, xstrlcpy), include/am_utils.h
   1004 	(DEBUG): if debugging is on, then also print the source file name
   1005 	and line number that called xstrl* with a buffer that wasn't large
   1006 	enough (most likely an am-utils bug)
   1007 
   1008 	* include/am_compat.h (INADDR_NONE): define in a common location,
   1009 	if OS doesn't have it, use 0xffffffffU which should work with any
   1010 	ANSI compiler.
   1011 
   1012 	* fixmount/fixmount.c, libamu/wire.c: remove local definition of
   1013 	INADDR_NONE.
   1014 
   1015 	* amd/amfs_toplvl.c (amfs_toplvl_mount), amd/amfs_auto.c
   1016 	(amfs_auto_mount): use common SIZEOF_OPTS in definition and call
   1017 	to autofs_get_opts.
   1018 
   1019 	* amd/amd.h (SIZEOF_OPTS): moved #define to common header.
   1020 
   1021 2005-10-06  Rainer Orth  <ro (a] TechFak.Uni-Bielefeld.DE>
   1022 
   1023 	* amd/opts.c (expand_op): Need to check BUFSPACE for env for
   1024 	vlen+1.  Likewise for cp and strlen(cp)+1.
   1025 
   1026 	* amd/amfs_toplvl.c (amfs_toplvl_mount) [HAVE_FS_AUTOFS]: Pass new
   1027 	size argument to autofs_get_opts.
   1028 
   1029 2005-10-05  Erez Zadok  <ezk (a] cs.sunysb.edu>
   1030 
   1031 	* amq/pawd.c (transform_dir): was using UDP only.  Now will also
   1032 	try TCP if UDP failed.  Destroy client after use to avoid leftover
   1033 	TCP sockets in the kernel.
   1034 
   1035 	* libamu/hasmntopt.c (amu_hasmntopt): increase size of MNTMAXSTR
   1036 	from 128 to to 256, because some users have really long option
   1037 	strings.  Suggestion from jon+amd-at-spock.org.
   1038 
   1039 	* amd/opts.c (expand_op): should check BUFSPACE for vlen+1, not
   1040 	just vlen.  Bug discovered when started using xstrlcpy().
   1041 
   1042 	* ALL: convert from using strcat to the safer xstrlcat, and from
   1043 	strcpy to safer xstrlcpy.
   1044 
   1045 2005-10-04  Erez Zadok  <ezk (a] cs.sunysb.edu>
   1046 
   1047 	* hlfsd/hlfsd.h: remove old fatalerror() and ERRM macros.
   1048 
   1049 	* hlfsd/hlfsd.c (fatalerror): new function instead of macro.
   1050 	Easier to use xstrlcat in this new function.
   1051 
   1052 	* amd/amd.h, include/am_utils.h, amd/amd.c: moved 'hostd' extern
   1053 	from am_utils.h to amd.h, and define its size as a macro that
   1054 	could be passed to xstrl*().
   1055 
   1056 	* ALL: convert from using sprintf to the safer xsnprintf.
   1057 
   1058 	* mk-amd-map/Makefile.am (LDADD): link with libamu to get
   1059 	xsnprintf().
   1060 
   1061 	* amd/amd.h, amd/amd.c, include/am_utils.h: moved pid_fsname
   1062 	extern from am_utils.h to amd.h, and define its size as a macro
   1063 	that could be passed to xsnprintf().
   1064 
   1065 2005-10-02  Erez Zadok  <ezk (a] cs.sunysb.edu>
   1066 
   1067 	* libamu/Makefile.am: use strutil.c, not util.c.
   1068 
   1069 	* libamu/strutil.c: rename from util.c to explain better purpose
   1070 	of file.  Move xvsnprintf and xsnprintf from xutil.c to this file.
   1071 
   1072 	* libamu/xutil.c: explain purpose of file.  Move mkdirs/rmdirs
   1073 	code from old util.c.
   1074 
   1075 2005-10-01  Erez Zadok  <ezk (a] cs.sunysb.edu>
   1076 
   1077 	* m4/macros/header_templates.m4: templates for FFS.
   1078 
   1079 	* m4/macros/check_mnttab_type.m4: on BSD44 systems, check for file
   1080 	system mount table name via the MOUNT_* mount(2) macros (because
   1081 	BSD44 keeps the mount table in the kernel).
   1082 
   1083 	* configure.in: synchronise order of searching for mnttab entries
   1084 	and mount names.  The new order is "ext3 ext2 ffs ufs 4.2 4.3 4.4
   1085 	efs xfs jfs ultrix" (which would prefer ffs on BSD44 instead of
   1086 	ufs, and ext3 instead of ext2 on Linux).
   1087 
   1088 	* include/am_defs.h: include <sys/statvfs.h> if it exists.
   1089 
   1090 	* conf/nfs_prot/nfs_prot_netbsd1_4.h: NetBSD 3 has both statfs()
   1091 	and statvfs(), but the latter is preferred, so #define to use
   1092 	statvfs.
   1093 
   1094 	* configure.in: check for statfs(), statvfs(), and
   1095 	<sys/statvfs.h>.
   1096 
   1097 	* config.guess.long: strip trailing '.' on "netbsdelf3.0."
   1098 	(Beta).  Workaround for bug in config.guess.
   1099 
   1100 	* config.{guess,sub}: update to latest versions.
   1101 
   1102 2005-09-30  Christos Zoulas  <christos (a] zoulas.com>
   1103 
   1104 	* fsinfo/fsi_util.c (set_ether_if): use INADDR_NONE instead of
   1105 	hard-coded value of -1.
   1106 
   1107 	* include/amq_defs.h (AMQ_STRLEN): increase default size from 2KB
   1108 	to 16KB.  We can afford it these days.
   1109 
   1110 	* libamu/strcasecmp.c (strcasecmp): use unsigned chars in
   1111 	tolower() to avoid sign/size promotion bugs.
   1112 
   1113 	* libamu/xutil.c (switch_to_logfile): don't output to LOG_CONS by
   1114 	default (it's unfriendly).  If user really wants to, they can set
   1115 	it in /etc/syslog.conf.
   1116 
   1117 2005-09-29  Erez Zadok  <ezk (a] cs.sunysb.edu>
   1118 
   1119 	* amq/pawd.c (find_mt): if the auto mount type is used, pawd could
   1120 	go into an infinite loop since the mt_directory and mt_mountpoint
   1121 	fields are the same for auto mounts.  Solution: ignore type auto
   1122 	mounts, similar to toplvl.  Bug fix from Jonathan Chen
   1123 	<jon+amd (a] spock.org>.
   1124 
   1125 	* README.attrcache: document test-attrcache script.
   1126 
   1127 	* scripts/Makefile.am (noinst_SCRIPTS): build test-attrcache
   1128 	script.
   1129 
   1130 	* configure.in: build scripts/test-attrcache script and chmod it
   1131 	so it can be executed in place.
   1132 
   1133 	* scripts/test-attrcache.in: script to test the NFS attribute
   1134 	cache using Amd.
   1135 
   1136 2005-09-26  Erez Zadok  <ezk (a] cs.sunysb.edu>
   1137 
   1138 	* hlfsd/stubs.c (nfsproc_getattr_2_svc, nfsproc_lookup_2_svc,
   1139 	nfsproc_readlink_2_svc, nfsproc_readdir_2_svc), hlfsd/hlfsd.c
   1140 	(hlfsd_init): use new clocktime() function.
   1141 
   1142 2005-09-18  Erez Zadok  <ezk (a] cs.sunysb.edu>
   1143 
   1144 	* README.attrcache: document netbsd's patchs to support noac.
   1145 
   1146 	* libamu/mount_fs.c (compute_nfs_attrcache_flags): cleanup the
   1147 	code that sets the ac{reg,dir}{min,max} fields so it also sets the
   1148 	appropriate nfs_args->flags such as MNT2_NFS_OPT_ACREGMIN.
   1149 
   1150 	* configure.in: check for nfs_args fields acregmax and acdirmax.
   1151 
   1152 	* README.attrcache: new file documenting in detail OS bugs
   1153 	relating to attribute caching, which can affect Amd's reliability
   1154 	under heavy load.
   1155 	Update status of freebsd and openbsd.
   1156 
   1157 	* doc/Makefile.am: install README.attrcache file as attrache.txt
   1158 	file on am-utils Web site.
   1159 
   1160 	* Makefile.am (EXTRA_DIST): include README.attrcache in distro.
   1161 
   1162 	* BUGS, NEWS, doc/am-utils.texi (auto_attrcache Parameter),
   1163 	scripts/amd.conf.5, scripts/amd.conf-sample: document attribute
   1164 	cache bugs on some OSs.
   1165 
   1166 2005-09-17  Erez Zadok  <ezk (a] cs.sunysb.edu>
   1167 
   1168 	* libamu/xutil.c (clocktime): newly implemented routine.  Uses
   1169 	gettimeofday() each time to return a high-resolution clock time,
   1170 	and does not "cache" the last time.  Returns time in seconds, just
   1171 	like the old implementation.  If passed a non-null argument, will
   1172 	fill it in with the current time in seconds+microseconds.
   1173 
   1174 	* libamu/xutil.c: remove actual declaration of clock_valid, and
   1175 	another never-used declaration for xclock_valid.
   1176 
   1177 	* include/am_utils.h: remove defunct definition of clocktime()
   1178 	macro and clock_valid variable.  Add extern for new definition.
   1179 
   1180 	* libamu/mount_fs.c (mount_fs), hlfsd/homedir.c (homedir,
   1181 	hlfsd_diskspace, hlfsd_getpwent, plt_reset, table_add),
   1182 	hlfsd/hlfsd.c (main, hlfsd_init, reload, cleanup),
   1183 	conf/mtab/mtab_mach3.c (open_locked_mtab), conf/mtab/mtab_file.c
   1184 	(open_locked_mtab), amd/nfs_start.c (do_select, run_rpc),
   1185 	amd/autil.c (host_normalize): remove defunct clock_valid.
   1186 
   1187 	* amd/nfs_subr.c (nfsproc_getattr_2_svc): Print microseconds for
   1188 	node's mtime.
   1189 	(fh_to_mp3): use new clocktime() to update mtime and get a better
   1190 	time resolution.
   1191 
   1192 	* amd/mapc.c (mapc_reload_map): change prototype from returning
   1193 	void to returning an int.  If reloading was needed and succeeded,
   1194 	return 1; else return 0.
   1195 	(mapc_sync): update mtime of parent node if needed.  This is a
   1196 	CRITICAL FIX, to ensure that the kernel flushes its DNLC/dcache
   1197 	when we run "amq -f" manually or when a map is reloaded.
   1198 
   1199 	* amd/map.c (new_ttl): update am_ttl and na_atime in one shot.
   1200 	(init_map): use new clocktime().
   1201 	(unmount_mp): if the OS doesn't support a "symttl" option, then
   1202 	update the mtime of the parent node using the clocktime(); but if
   1203 	the time hasn't gotten changed because of rapid Amd accesses on
   1204 	systems that don't have a micro-second NFS-client resolution, then
   1205 	increment mtime by one arbitrarily (this could, on some systems
   1206 	and under pathological cases, result in mtime's that are in the
   1207 	future).
   1208 
   1209 	* amd/autil.c (forcibly_timeout_mp): MAJOR BUG FIX: force mtime
   1210 	update of parent dir, to prevent DNLC/dcache from caching the old
   1211 	entry, which could result in ESTALE errors, bad symlinks, and
   1212 	more.
   1213 	(am_mounted): record mount time, and update am_stats at the same
   1214 	time, using the double-action redone clocktime() routine.
   1215 	(am_mounted): update parent's mtime from that of the child.
   1216 	(am_unmounted): when unmounting an entry, update mtime of parent
   1217 	node.
   1218 
   1219 	* amd/amfs_generic.c (amfs_bgmount): now that clocktime() doesn't
   1220 	remember it's last non-zero value, save it in a temporary variable
   1221 	to avoid a TOCTOU problem (between an "if" and a "dlog").
   1222 
   1223 	* libamu/xutil.c (show_time_host_and_name),
   1224 	conf/autofs/autofs_linux.c (autofs_mounted, autofs_timeout_mp),
   1225 	amd/srvr_nfs.c (nfs_keepalive_callback, nfs_keepalive_timeout)
   1226 	(find_nfs_srvr), amd/rpc_fwd.c (fwd_alloc), amd/nfs_subr.c
   1227 	(nfsproc_getattr_2_svc), amd/nfs_start.c (do_select, run_rpc),
   1228 	amd/mapc.c (root_init), amd/map.c(map_flush_srvr, timeout_mp),
   1229 	amd/info_ndbm.c (ndbm_init), amd/info_ldap.c (amu_ldap_rebind),
   1230 	amd/info_file.c (file_open), amd/info_exec.c (fgets_timed,
   1231 	exec_search), amd/clock.c (timeout, softclock), amd/autil.c
   1232 	(forcibly_timeout_mp), amd/amfs_generic.c (amfs_retry,
   1233 	amfs_bgmount, amfs_generic_mount_child), amd/amd.c (main): pass
   1234 	NULL to clocktime().
   1235 
   1236 2005-09-15  Erez Zadok  <ezk (a] cs.sunysb.edu>
   1237 
   1238 	* amd/nfs_subr.c (nfsproc_getattr_2_svc): initialize 'retry', just
   1239 	in case.
   1240 	(fh_to_mp3): increment amd_stats.d_stale counter only if we are
   1241 	actually returning ESTALE.
   1242 
   1243 	* amd/info_exec.c (exec_parse_qanswer), amd/info_file.c
   1244 	(file_search_or_reload), amd/info_hesiod.c (hesiod_search),
   1245 	amd/info_ldap.c (amu_ldap_search), amd/info_ndbm.c (search_ndbm),
   1246 	amd/info_nis.c (nis_search), amd/info_nisplus.c (nisplus_search,
   1247 	nisplus_search): don't dereference mnt_map->cfm which may be null
   1248 	if we're not using an amd.conf file.
   1249 
   1250 2005-09-14  Erez Zadok  <ezk (a] cs.sunysb.edu>
   1251 
   1252 	* libamu/xutil.c (unregister_amq): if failed to de-register Amd
   1253 	from portmapper, report it under dlog (debugging), not as an
   1254 	annoying plog that always shows up.
   1255 
   1256 2005-09-13  Erez Zadok  <ezk (a] cs.sunysb.edu>
   1257 
   1258 	* mk-amd-map/mk-amd-map.c (read_file_file), libamu/util.c
   1259 	(strsplit), libamu/hasmntopt.c (nextmntopt), amd/sun_map.c
   1260 	(sun_entry2amd), amd/sun2amd.c (sun2amd_convert_convert),
   1261 	amd/mapc.c (mapc_add_kv), amd/info_file.c (file_search_or_reload),
   1262 	amd/info_exec.c (exec_parse_qanswer): cast isspace() and isascii()
   1263 	arg to unsigned char, which is safer as per Christos.
   1264 
   1265 	* amd/sun_map.c (sun_entry2amd): isspace takes an int, not a char.
   1266 
   1267 	* configure.in: keep a dummy unused AM_PROG_LEX, because old
   1268 	Automake (1.6.3) looks for it if you refer to LEX in your
   1269 	Makefile.am files.  Silly thing, fixed in newer versions of
   1270 	Automake (1.9.2).
   1271 
   1272 2005-09-11  Erez Zadok  <ezk (a] cs.sunysb.edu>
   1273 
   1274 	* Makefile.am (EXTRA_DIST_M4): add prog_{lex,yacc}.m4 to distro.
   1275 
   1276 	* configure.in: use new macros AMU_PROG_YACC and AMU_PROG_LEX.
   1277 
   1278 	* m4/macros/prog_yacc.m4: new macro to check if bison/yacc/byacc
   1279 	exist, but exist with an error if none found.
   1280 
   1281 	* m4/macros/prog_lex.m4: new macro to check if f/lex exist, but
   1282 	exit with an error if not found (am-utils requires f/lex).
   1283 
   1284 2005-09-07  Erez Zadok  <ezk (a] cs.sunysb.edu>
   1285 
   1286 	* minor new port: powerpc-apple-darwin8.2.0.
   1287 
   1288 	* m4/macros/type_auth_create_gidlist.m4: Old macosx used "gid_t"
   1289 	but all newer ones (10.4+) use int.
   1290 
   1291 	* m4/macros/type_recvfrom_fromlen.m4: Old macosx used "int" for
   1292 	6th arg of recvfrom(), but all newer ones (10.4+) use socklen_t.
   1293 
   1294 	* minor new port: i386-pc-linux-deb3.1.
   1295 
   1296 2005-09-02  Erez Zadok  <ezk (a] cs.sunysb.edu>
   1297 
   1298 	* conf/mount/mount_linux.c: If autoconf didn't find any disk-based
   1299 	file system on this system (probably because /proc isn't mounted),
   1300 	then provide some default definition for this file to compile.
   1301 
   1302 2005-08-28  Daniel P. Ottavio  <dottavio (a] ic.sunysb.edu>
   1303 
   1304 	* amd/sun_map.c (sun_entry2amd) : Wipe out any trailing white
   1305 	spaces or '\n' before passing strings to the parser.
   1306 
   1307 	* amd/amd.h : oops, reverting bad changes
   1308 
   1309 	* amd/info_file.c : oops, reverting bad changes
   1310 
   1311 	* amd/mapc.c : oops, reverting bad changes
   1312 
   1313 	* amd/sun_map_parse.y : oops, reverting bad changes
   1314 
   1315 2005-08-27  Erez Zadok  <ezk (a] cs.sunysb.edu>
   1316 
   1317 	* libamu/xutil.c: amd_program_number is a u_long now.
   1318 	(unregister_amq): if pmap_unset failed to de-register Amd from the
   1319 	portmapper, print an error message.
   1320 	(get_amd_program_number): returns a u_long now.
   1321 	(set_amd_program_number): take a u_long now.
   1322 
   1323 	* include/am_utils.h: get_amd_program_number() returns u_long now.
   1324 	set_amd_program_number() takes a u_long now.
   1325 
   1326 	* amq/amq.c: amd_program_number is a u_long, not int.
   1327 
   1328 	* amd/nfs_start.c (mount_automounter): when registering Amd with
   1329 	the portmapper (for Amq service), don't fail if just one of TCP or
   1330 	UDP failed to register, but only if both transports failed.  That
   1331 	way Amq can still contact Amd using the transport that did
   1332 	register correctly.  However, now, if both transports failed to
   1333 	register, then set amd_state to "Done" so it would shutdown
   1334 	cleanly.
   1335 
   1336 	* conf/transp/transp_{sockets,tli{}.c (amu_svc_register): better
   1337 	comments.
   1338 
   1339 	* libamu/xutil.c: debug_flags should always be initialized to
   1340 	D_CONTROL (amq,daemon,fork).
   1341 	(debug_option): allow setting initial immutable debug_flags via
   1342 	amd.conf; afterward, prevent it (i.e., one tries it via "amq -D").
   1343 
   1344 	* Makefile.am (DISTCLEANFILES): also remove amu_autofs_prot.h,
   1345 	config.cache.old, and dbgcf.h on "make distclean".
   1346 	(CLEANFILES): remove dbgcf on plain "make clean".
   1347 
   1348 	* amd/Makefile.am (DISTCLEANFILES): also remove ops_autofs.c on
   1349 	"make distclean".
   1350 
   1351 2005-08-27  Daniel P. Ottavio  <dottavio (a] ic.sunysb.edu>
   1352 
   1353 	* amd/info_file.c (file_search_or_reload): Changed the key
   1354 	variable that is passed to the sun_entry2amd.
   1355 
   1356 	* amd/mapc.c (mapc_add_kv): Add support for multiple entries
   1357 	packed into one line.  This is a workaround for handling Sun style
   1358 	mounts that contains multiple entries on one line: "multi-mount
   1359 	entries".  The sun2amd conversion tools will convert such entries
   1360 	into type:=auto and pack each of the auto-entries into one line
   1361 	separated by '\n'.  The mapc_add_kv function will now recognize
   1362 	such entries and add then.
   1363 
   1364 	* amd/sun2amd.c (sun2amd_convert): Add print statement that
   1365 	includes the line number during a parser failure.
   1366 
   1367 	* sun_map.c: Fix the AMD_MAP_PREF_KW definition.  Fix spelling.
   1368 	(sun_mountpts2amd): removed this function
   1369 	(sun_hsfs2amd): added some more comments
   1370 	(sun_nfs2amd): moved support for multi-mount entries from this
   1371 	function to sun_multi2amd().
   1372 	(sun_multi2amd): New function to handle multi-mount entries.  This
   1373 	function will convert the Sun version to an Amd type:=auto.  Each
   1374 	extra auto entry will be appended to the same line separated by a
   1375 	'\n'.
   1376 	(sun_entry2amd): Fixed a bug if-statement.  This function now
   1377 	checks for multi-mount entries.
   1378 
   1379 	* amd/sun_map.h: Add a fstype member to the sun_mountpt struct.
   1380 
   1381 	* amd/sun_map_parse.y: Parser now supports fstype for multi-mount
   1382 	entries.
   1383 
   1384 	* amd/sun_map_tok.l: No longer print the line and column number
   1385 	when parsing.  This is because the parser is handed strings not
   1386 	files.  Therefore, the line number will always be 1.  It is now up
   1387 	to the higher level tools to echo line information during error
   1388 	when they feed the parser.
   1389 
   1390 2005-08-24  Erez Zadok  <ezk (a] cs.sunysb.edu>
   1391 
   1392 	* configure.in: wrap all LDAP and HESIOD tests in test whether
   1393 	--with-OPT was used.
   1394 
   1395 2005-08-20  Daniel P. Ottavio  <dottavio (a] ic.sunysb.edu>
   1396 
   1397 	* amd/sun_map.c: Clean up #defines
   1398 	(sun_entry2amd) : Verify that the key and entry values passed are
   1399 	not NULL.  Free the Sun entry struct when done.
   1400 
   1401 	* amd/sun_map.h: Add some "not implemented yet" comments to the
   1402 	map and mmap structures.
   1403 
   1404 	* amd/sun_map_parse.y: Removed automap include functionality, it
   1405 	will need to be re-implemented using a pre-processor.
   1406 	Clean up function calls.
   1407 
   1408 2005-08-16  Daniel P. Ottavio  <dottavio (a] ic.sunysb.edu>
   1409 
   1410 	* amd/sun2amd.c (sun2amd_convert): If the input line is too long
   1411 	don't return an error just null terminate and continue.  Fix bug:
   1412 	the map key was not written.
   1413 
   1414 	* amd/sun_map.c: Add a new Amd device, and cdfs constant.
   1415 	(sun_locations2amd): Write the NFS type keyword
   1416 	for each host of the mount entry.  Add a space between each mount
   1417 	location.
   1418 	(sun_hsfs2amd): New function to support hsfs to
   1419 	cdfs.
   1420 	(sun_nfs2amd): Don't write the nfs type here.  Fix
   1421 	comments.
   1422 	(sun_entry2amd): Change function parameter var for
   1423 	clarity.  Add support for hsfs.
   1424 
   1425 	* amd/sun_map_parse.y (sun_map_parse_read): Reset the entry list
   1426 	after it has been returned.
   1427 
   1428 2005-08-16  Erez Zadok  <ezk (a] cs.sunysb.edu>
   1429 
   1430 	* amd/get_args.c (get_args): initialize debug_flags if they've
   1431 	never been set.
   1432 
   1433 2005-08-15  Erez Zadok  <ezk (a] cs.sunysb.edu>
   1434 
   1435 	* amd/mapc.c (mapc_create): mapc find takes 4th arg, the mount
   1436 	point.  Now, we can properly initialize the cfm structure of the
   1437 	mnt_map, so we can have access to the flags (e.g., SUN_MAP_SYNTAX)
   1438 	inside each info_*.c file.
   1439 	(mapc_find): takes 4rd arg (mntpt) and passes it to calls to
   1440 	mapc_create.
   1441 	(root_newmap): pass NULL as 4th arg (mntpt).
   1442 
   1443 	* amd/amfs_generic.c (amfs_parse_defaults): remove ugly hack to
   1444 	initialize map cfm structure (including flags) so late.
   1445 
   1446 	* amd/autil.c (amfs_mkcacheref): pass mount point as 4th arg to
   1447 	mapc_find.
   1448 
   1449 	* amd/amfs_root.c (amfs_root_mount): pass NULL as new 4th arg to
   1450 	mapc_find.
   1451 
   1452 	* amd/amd.h: extern for mapc_find changed to pass the mount point.
   1453 
   1454 	* libamu/xutil.c: debug_flags should be unsigned.
   1455 	(dbg_opt): fix comments for updated debug_flags, add "defaults".
   1456 	(debug_option): Don't allow "immutable" (D_IMMUTABLE) flags to be
   1457 	changed, because they could mess Amd's state and only make sense
   1458 	to be set once when Amd starts.  Currently these immutable flags
   1459 	are "daemon," "fork," "amq," and "mtab."  If Amd not compiled with
   1460 	debugging, set default "control" options (daemon,fork,amq).
   1461 	(unregister_amq): proper use of D_AMQ.
   1462 
   1463 	* include/am_utils.h: define new D_BASIC, D_CONTROL, D_DEFAULT,
   1464 	D_IMMUTABLE, and D_MASK.  Updated definitions of D_ALL and D_TEST.
   1465 	debug_flags extern should be unsigned.
   1466 
   1467 	* scripts/amd.conf-sample (debug_options): mention new "defaults"
   1468 	option.
   1469 
   1470 	* scripts/amd.conf.5,doc/am-utils.texi: document new debug option
   1471 	"defaults" and properly explain the corrected meanings of
   1472 	"daemon," "fork," "amq," and their "no" inversions.  Better
   1473 	explain "all" and "test" too.  Correct default debug_mtab file to
   1474 	/tmp/mtab.
   1475 
   1476 	* hlfsd/stubs.c (nfsproc_readlink_2_svc): proper use of D_FORK.
   1477 
   1478 	* hlfsd/homedir.c (homedir): proper use of D_FORK.
   1479 
   1480 	* hlfsd/hlfsd.c (main, hlfsd_init, cleanup): proper use of
   1481 	D_DAEMON.
   1482 
   1483 	* amd/nfs_start.c (mount_automounter): proper use of D_AMQ.
   1484 
   1485 	* amd/amd.h (DEBUG_MNTTAB_FILE): change default to /tmp/mtab,
   1486 	which is more common on more systems (instead of /tmp/mnttab).
   1487 
   1488 	* amd/amd.c (main): properly use D_DAEMON.
   1489 
   1490 2005-08-14  Erez Zadok  <ezk (a] cs.sunysb.edu>
   1491 
   1492 	* libamu/xutil.c (xlog_opt): define new pseudo log_option named
   1493 	"defaults", which is an alias for "fatal,error,user,warning,info".
   1494 
   1495 	* scripts/amd.conf.5, doc/am-utils.texi, amd/amd.8: document new
   1496 	log_option "defaults".
   1497 
   1498 	* amq/amq.8: typo.  Arg name for -D is "debug_options" not
   1499 	"log_options".
   1500 
   1501 	* libamu/xutil.c: make xlog_level static, and initialize it to
   1502 	XLOG_DEFAULT.
   1503 	(cmdoption): take unsigned int as flags argument, and print any
   1504 	errors as XLOG_ERROR (which cannot be turned off).
   1505 	(switch_option): remove old code which disallowed you from turning
   1506 	off flags that were set when Amd started up.  Now, you can turn
   1507 	any log option on/off at start time or later on (via amq -x),
   1508 	other than the two mandatory options (fatal+error).
   1509 
   1510 	* include/am_utils.h (XLOG_*): remove unused XLOG_DEFSTR.  Define
   1511 	XLOG_MASK to mask out unused flag bits.  Define XLOG_DEFAULT to be
   1512 	what it was before (fatal + error + user + warning + info), but
   1513 	use the new mask.  Remove extern's for xlog_level and
   1514 	xlog_level_init.  Change extern for cmdoption() to take an
   1515 	unsigned flags argument.
   1516 
   1517 	* doc/am-utils.texi, amq/amq.8, scripts/amd.conf.5, amd/amd.8:
   1518 	document mandatory log options
   1519 	(fatal+error) which cannot be turned off and are always on by
   1520 	default.  They must be on so that Amd can report crucial errors,
   1521 	including those related to setting flags on/off.
   1522 
   1523 	* hlfsd/hlfsd.c (main): remove hack to initialize log_options.
   1524 
   1525 	* wire-test/wire-test.c: remove reference to unused xlog_level.
   1526 
   1527 	* amd/mapc.c (mapc_create): 'alloc' flags variable should be
   1528 	unsigned.
   1529 
   1530 	* amd/get_args.c (get_args): no need for hack using
   1531 	xlog_level_init.
   1532 
   1533 	* amd/Makefile.am: separate sources common to amd and sun2amd into
   1534 	a special, locally-built only, static library called libaminfo.a.
   1535 
   1536 	* libamu/xutil.c (real_plog, xsnprintf): call new xvsnprintf()
   1537 	wrapper function.
   1538 	(xvsnprintf): new function which already gets a va_list.  This was
   1539 	needed to avoid nesting va_list's (which apparently isn't
   1540 	allowed).
   1541 
   1542 	* include/am_utils.h: prototype for new xvsnprintf wrapper.
   1543 
   1544 	* configure.in: sinclude([vers.m4]) version number file.
   1545 
   1546 	* vers.m4: new file to separate version number out of
   1547 	configure.in, useful for nightly snapshot script to generate
   1548 	nightly version string.
   1549 
   1550 	* Makefile.am (EXTRA_DIST_M4): include vers.m4 in distro.
   1551 
   1552 2005-08-14  Daniel P. Ottavio  <dottavio (a] ic.sunysb.edu>
   1553 
   1554 	* amd/info_file.c: add key to sun_entry2amd()'s parameters
   1555 
   1556 	* amd/info_hesiod.c: add key to sun_entry2amd()'s parameters
   1557 
   1558 	* amd/info_ldap.c: add key to sun_entry2amd()'s parameters
   1559 
   1560 	* amd/info_ndbm.c: add key to sun_entry2amd()'s parameters
   1561 
   1562 	* amd/info_nis.c: add key to sun_entry2amd()'s parameters
   1563 
   1564 	* amd/info_nisplus.c: add key to sun_entry2amd()'s parameters
   1565 
   1566 	* amd/sun_map.c: New functions to support sun translation to amd.
   1567 	The function sun_entry2amd's parameters were expanded to include
   1568 	the key value.  sun_entry_2amd() now returns NULL on error.
   1569 
   1570 	* amd/sun_map.h: Expand sun_entry2amd's parameters to include key
   1571 	value.
   1572 
   1573 	* amd/sun_map_parse.y: Change how file system types are parsed out
   1574 	of the list of options for each entry.  The previous way was not
   1575 	working properly so now we just look for the 'fstype' keyword in
   1576 	each option.  If it exists we copy its key value.
   1577 	Added some comments to sun_map_parse_read().
   1578 
   1579 	* amd/amd.h: Added an extern from info_file.c called
   1580 	file_read_line().  Previously this function was static but is now
   1581 	used in sun2amd.c.
   1582 
   1583 	* amd/info_file.c: Changed the static function read_line() to a
   1584 	public function called file_read_line().  This function is now
   1585 	used in sun2amd.c
   1586 
   1587 	* amd/sun2amd.8: Filled in the contents of this man page.  This is
   1588 	a conversion utility that converts Sun maps to Amd maps.
   1589 
   1590 	* amd/sun2amd.c: Implemented a working version of this utility.
   1591 
   1592 2005-08-11  Erez Zadok  <ezk (a] cs.sunysb.edu>
   1593 
   1594 	* amd/sun_map_parse.y: instead of using a custom FOO_alloc()
   1595 	function, use Amd's CALLOC(struct FOO) macro.
   1596 
   1597 	* amd/sun_map.h: remove extern definitions to functions no longer
   1598 	needed.
   1599 
   1600 	* amd/sun_map.c: removed superfluous *_alloc() functions, some of
   1601 	which caused conflicts with same-named symbols in the parser
   1602 	(since we rename 'yyalloc' to 'sun_map_alloc').
   1603 
   1604 	* configure.in: keep AC_INIT on same line, for nightly snapshot
   1605 	build script.
   1606 
   1607 	* amd/Makefile.am: f/lex libraries are incompatible with multiple
   1608 	scanners, so don't link Amd with libl.a/libfl.a.
   1609 
   1610 2005-08-10  Daniel P. Ottavio  <dottavio (a] ic.sunysb.edu>
   1611 
   1612 	* amd/sun_map_tok.l: Clean up regular expression so HPUX stops
   1613 	whining.
   1614 
   1615 2005-08-09  Daniel P. Ottavio  <dottavio (a] ic.sunysb.edu>
   1616 
   1617 	* amd/sun_map_parse.y: Moved license below special yacc bracket to
   1618 	be portable with HPUX's yacc.  Clean up externs.
   1619 
   1620 	* amd/sun_map_tok.l: Moved license below special lex bracket to be
   1621 	portable with HPUX's lex.  Fixed definitions to allow for a
   1622 	non-flex lex to parse strings instead of files.  Added some casts
   1623 	to strlcpy usage to silence warnings.  Moved the % options because
   1624 	HPUX was complaining,
   1625 
   1626 2005-08-08  Daniel P. Ottavio  <dottavio (a] ic.sunysb.edu>
   1627 
   1628 	* amd/sun_map_tok.l: Applied some definition goop to handle the
   1629 	ECHO symbol that lex defines.  This symbol causes problems on
   1630 	RedHat-EL-powerPC platforms.  Replaced strncpy with strlcpy.
   1631 	Renamed the function sun_map_yyinput to sun_map_input.  This
   1632 	function is a utility function that is not generated by lex.
   1633 	Therefore, the 'yy' may cause confusion.
   1634 
   1635 2005-08-08  Erez Zadok  <ezk (a] cs.sunysb.edu>
   1636 
   1637 	* amd/sun_map_tok.l: allocate more output slots so lex scanners
   1638 	don't run out of memory.
   1639 
   1640 	* amd/sun_map_parse.y: declare extern for sun_map_parse().
   1641 
   1642 	* libamu/xutil.c (xsnprintf): ensure proper comparisons between
   1643 	signed and unsigned quantities.
   1644 
   1645 2005-08-06  Erez Zadok  <ezk (a] cs.sunysb.edu>
   1646 
   1647 	* libamu/util.c, amd/autil.c (strsplit): moved strsplit() function
   1648 	from Amd code to to libamu, so sun2amd could use it.
   1649 
   1650 	* amd/Makefile.am (sbin_PROGRAMS): build sun2amd binary and man
   1651 	page.
   1652 	(EXTRA_sun2amd_OBJECTS): sun2amd needs to link with all info_*.c files
   1653 
   1654 	* amd/sun2amd.8: placeholder for man page.
   1655 
   1656 	* amd/sun2amd.c: placeholder for C version of translator from Sun
   1657 	syntax maps to Amd maps.
   1658 
   1659 	* */*.[0-9]: include file name in nroff source comment.
   1660 
   1661 	* ALL: use '0' properly when assigning or passing it to functions.
   1662 	If in the context pointer, use NULL.  If in the context of a
   1663 	single char (say within a string), the use '\0'.  This is just to
   1664 	make the code clearer.
   1665 
   1666 	* m4/macros/header_templates.m4: template for HAVE_MAP_SUN.
   1667 
   1668 	* amd/mapc.c (maptypes): add placeholder for Sun-syntax map
   1669 	methods.
   1670 
   1671 	* amd/Makefile.am (EXTRA_amd_SOURCES): compile info_sun.c
   1672 
   1673 	* amd/info_sun.c: placeholder for meta info parser to get info
   1674 	from Sun automount-style /etc/auto_master, possibly following
   1675 	into multiple info services (via /etc/nsswitch.conf).
   1676 
   1677 	* libamu/xutil.c (xsnprintf): if vsnprintf truncated the output
   1678 	string to avoid an overflow, print an error.  Include some code to
   1679 	break out any possible infinite loop between plog() and
   1680 	xsnprintf().
   1681 	(real_plog): now we can use (carefully) xsnprintf() directly.
   1682 
   1683 	* amd/sun_map.[hc]: cleanup and formatting.
   1684 
   1685 	* amd/sun_map_parse.y: to match the literal string "fstype=" use
   1686 	double quotes, not single quotes.
   1687 
   1688 	* amd/get_args.c (get_args): call conf_parse() using conf_in.
   1689 
   1690 	* amd/amd.h: use renamed parser symbols (yyparse -> conf_parse;
   1691 	yyin -> conf_in).
   1692 
   1693 	* ylwrap: Enhance wrapper to avoid the #define hacks done by Gdb,
   1694 	and suggested by the Automake manual.  This enhanced parser will
   1695 	prefix each conflicting yacc/lex symbol with a unique name
   1696 	produced from INPUT.  For example, if INPUT is foo_parse.y, then
   1697 	yyparse() becomes foo_parse().  This requires that both your .l
   1698 	and corresponding .y files have the same prefix (e.g., foo_parse.y
   1699 	and foo_tok.l).
   1700 
   1701 	* amd/Makefile.am (BUILT_SOURCES): define which yacc/lex .h/.c
   1702 	source files are built automatically, and therefore should not be
   1703 	in the distro (IMHO), and should be cleaned upon "make clean".
   1704 	(amd_SOURCES): include new sun_map_parse.y and sun_map_tok.l files.
   1705 
   1706 	* ylwrap: new file needed because we have two parsers now.
   1707 
   1708 	* amd/sun_map_{parse.y,tok.l}: cleanup and formatting.
   1709 
   1710 2005-08-06  Daniel P. Ottavio  <dottavio (a] ic.sunysb.edu>
   1711 
   1712 	* amd/Makefile.am: Added new files sun_map.h, sun_map.c,
   1713 	sun_map_parse.y, and sun_map_tok.l.  These files add support for
   1714 	parsing Sun style maps.  The yacc/lex files needed custom rules so
   1715 	they don't cause symbol conflicts with each other.
   1716 
   1717 	* amd/amd.h: Added "#define INFO_MAX_LINE_LEN" that specifies the
   1718 	line limit for info services.
   1719 
   1720 	* amd/info_exec.c: Replaced MAX_LINE_LEN with INFO_MAX_LINE_LEN
   1721 
   1722 	* amd/info_file.c: Replaced MAX_LINE_LEN with INFO_MAX_LINE_LEN,
   1723 	added support for parsing Sun style maps.  The support for Sun
   1724 	maps is done using the sun_entry2amd() function.  This function is
   1725 	called for each entry line that is read only when Sun parsing is
   1726 	enabled.  For each entry line that is passed to the function a
   1727 	copy of the Amd equivalent is returned.
   1728 
   1729 	* amd/sun_map.h: new header file for Sun style map support
   1730 
   1731 	* amd/sun_map.c: new source file for Sun style map support, clean
   1732 	up comments, additional sun2amd conversion routines
   1733 
   1734 	* amd/sun_map_parse.y: new yacc file for parsing Sun style maps,
   1735 	fix copyright notice, put filename below license.
   1736 
   1737 	* amd/sun_map_tok.l: new lex file for parsing Sun style maps, fix
   1738 	copyright notice, put filename below license.
   1739 
   1740 	* amd/get_args.c: replace usage of strlcat with xstrlcat
   1741 
   1742 	* include/am_utils.h: added 'extern void xstrlcat()'
   1743 
   1744 	* libamu/util.c: Added a xstrlcat() function that wraps the
   1745 	syscall strlcat() so that string truncations can be logged.
   1746 
   1747 2005-08-06  Erez Zadok  <ezk (a] cs.sunysb.edu>
   1748 
   1749 	* amd/info_file.c (file_search, file_reload): pass mnt_map to
   1750 	file_search_or_reload.
   1751 	(file_search_or_reload): ensure that mnt_map is never NULL.
   1752 
   1753 	* amd/info_nis.c (nis_search): call sun_entry2amd() if
   1754 	sun_map_syntax=yes.
   1755 
   1756 	* amd/info_ldap.c (amu_ldap_search): call sun_entry2amd() if
   1757 	sun_map_syntax=yes.
   1758 
   1759 	* amd/info_hesiod.c (hesiod_search): call sun_entry2amd() if
   1760 	sun_map_syntax=yes.
   1761 
   1762 	* amd/info_ndbm.c (ndbm_search): pass mnt_map to search_ndbm.
   1763 	(search_ndbm): call sun_entry2amd() if sun_map_syntax=yes.
   1764 
   1765 	* amd/info_nisplus.c (nisplus_search): call sun_entry2amd() if
   1766 	sun_map_syntax=yes.
   1767 
   1768 	* amd/info_exec.c (exec_search): pass mnt_map to
   1769 	exec_parse_qanswer.
   1770 	(exec_parse_qanswer): call sun_entry2amd() if sun_map_syntax=yes.
   1771 
   1772 	* doc/am-utils.texi (sun_map_syntax Parameter): document new
   1773 	common parameter.
   1774 
   1775 	* scripts/amd.conf.5: selectors_in_defaults is a common parameter,
   1776 	not just [global].  Use consistent capitalization of Amd/Amq.
   1777 	Document new sun_map_syntax parameter.
   1778 
   1779 	* scripts/amd.conf-sample: properly list all of the parameters
   1780 	which are common to both the [global] and the per-map sections.
   1781 	(sun_map_syntax): example of new parameter.
   1782 
   1783 	* doc/am-utils.texi (Common Parameters): selectors_in_defaults is
   1784 	a common parameter, not just [global].
   1785 
   1786 	* scripts/amd.conf-sample (sun_map_syntax): example of new flag.
   1787 
   1788 	* amd/conf.c ({ropt,gopt}_sun_map_syntax): new function to parse
   1789 	sun_map_syntax flag (global or per map).
   1790 
   1791 	* amd/amd.h (CFM_SUN_MAP_SYNTAX): new flag for users to say if the
   1792 	map uses Sun automounter syntax.
   1793 
   1794 	* cvs-server.txt: update instructions after branching 6.1-stable.
   1795 
   1796 2005-08-02  Erez Zadok  <ezk (a] cs.sunysb.edu>
   1797 
   1798 	*******************************************************************
   1799 	*** Released am-utils-6.1.1					***
   1800 	*******************************************************************
   1801 
   1802 	* libamu/xutil.c (xsnprintf): "unsafe" alternative to vsnprintf is
   1803 	vsprintf, not sprintf.
   1804 
   1805 	* conf/umount/umount_osf.c (umount_fs): refer to proper formal
   1806 	parameter name.
   1807 	(umount2_fs): pass second arg to umount().
   1808 
   1809 	* ALL: remove CVS ID and put actual file name in source.
   1810 
   1811 	* conf/autofs/*.[hc]: proper copyright headers.
   1812 
   1813 	* whitespace reformatting.  Remove remaining '%W%' SCCS IDs.
   1814 
   1815 	* amd/mntfs.c (free_mntfs): don't discard the last reference to an
   1816 	mntfs that had been mounted already.  It won't have the
   1817 	MFF_RESTARTED flag on, as it gets turned off after the entry is
   1818 	mounted, but it will have the MFF_RSTKEEP flag on.
   1819 
   1820 	* amd/autil.c (mf_mounted), amd/restart.c (restart_fake_mntfs):
   1821 	show the mntfs's flags.
   1822 
   1823 2005-08-01  Erez Zadok  <ezk (a] cs.sunysb.edu>
   1824 
   1825 	* conf/mtab/mtab_linux.c: removed unused code.  Cleanup.
   1826 	(handler): removed this bad signal handler.
   1827 	(lock_mtab): Redhat's original code set a signal handler called
   1828 	"handler()" for all non-ALRM signals.  The handler called
   1829 	unlock_mntlist(), plog'ed the signal name, and then exit(1)!
   1830 	Never, ever, exit() from inside a utility function.  This messed
   1831 	up Amd's careful signal-handling code, and caused Amd to abort
   1832 	uncleanly only any other "innocent" signal
   1833 	(even simple SIGUSR1), leaving behind a hung Amd mnt point.  That
   1834 	code should have at least restored the signal handlers' states
   1835 	upon a successful mtab unlocking.  Anyway, that handler was
   1836 	unnecessary, because will call unlock_mntlist() properly anyway on
   1837 	exit.
   1838 
   1839 	* conf/mtab/mtab_{file,isc3,mach3,linux}.c (unlock_mntlist): dlog
   1840 	message that we're inside the unlock_mntlist function.
   1841 
   1842 	* amd/amd.c (main): use new setup_sighandler() for Amd's four main
   1843 	signals (INT, TERM, HUP, and CHLD).
   1844 	(main) Add SIGINT and SIGTERM to masked_sigs, used in
   1845 	nfs_start.c:do_select() for setjmp/longjmp code; the MASK was set
   1846 	to all four signals if !HAVE_SIGACTION, but only to HUP+CHLD if we
   1847 	HAVE_SIGACTION.  So this change makes Amd behave consistently.
   1848 
   1849 	* include/am_utils.h: extern for new setup_sighandler().
   1850 
   1851 	* libamu/xutil.c (setup_sighandler): new utility function to setup
   1852 	a single signal-handler regardless of what method is supported by
   1853 	this OS.
   1854 	(going_down): call unlock_mntlist() when exiting, to ensure that
   1855 	Amd will remove any leftover mtab lock files, if any.
   1856 
   1857 	* amd/restart.c (restart_automounter_nodes): cleanup function.
   1858 
   1859 	* minor new port: i386-pc-linuxoldld-deb3.1.
   1860 
   1861 	* configure.in: include <sys/types.h> before <linux/socket.h> to
   1862 	get the definition of size_t on Debian-3.1r0a.
   1863 
   1864 2005-07-29  Erez Zadok  <ezk (a] cs.sunysb.edu>
   1865 
   1866 	* amd/srvr_nfs.c (find_nfs_srvr): don't blindly copy the hostent
   1867 	IP address.  First check if it differs from the existing one of
   1868 	the fserver, and copy only if it changed.  If it did change, flush
   1869 	the fhandle cache to avoid a stale fhandle being reused.  This
   1870 	allows Amd to detect IP address changes even for an fserver that
   1871 	lost one or more NFS pings, but not enough to be declared totally
   1872 	down.  We handle the "totally down" fserver case in
   1873 	check_fs_addr_change().
   1874 
   1875 	* amd/ops_nfs.c (nfs_umount), amd/sched.c (sched_task),
   1876 	amd/nfs_subr.c (nfs_quick_reply): code clarity.
   1877 
   1878 	* conf/mount/mount_linux.c (linux_nfs_error): dlog mappings of
   1879 	errnos to NFS errors.
   1880 
   1881 	* conf/umount/umount_linux.c (umount2_fs): cleanup code.  Trying
   1882 	stat() seems doomed to hang at times, so don't try stat at all,
   1883 	because umount2() appears to be clever enough to never hang.
   1884 
   1885 2005-07-25  Erez Zadok  <ezk (a] cs.sunysb.edu>
   1886 
   1887 	* amd/amd.h (FSF_FORCE_UNMOUNT): new flag used to indicate that a
   1888 	particular fserver may need forced/lazy unmounts when it's mntfs's
   1889 	are unmounted.
   1890 
   1891 	* amd/ops_nfs.c (nfs_umount): a simple unmount returned EBUSY, and
   1892 	the user specified forced_unmounts=yes in amd.conf, and this
   1893 	fserver was flagged with FSF_FORCE_UNMOUNT, and the OS supports
   1894 	forced/lazy unmounts, then try forced/lazy unmounts.  This should
   1895 	allow a hung mount point to be removed.
   1896 
   1897 	* amd/srvr_nfs.c (find_nfs_srvr): move away IP-address change
   1898 	detection code to its own function.
   1899 	(check_fs_addr_change): new function to detect if the IP address
   1900 	of a downed host has changed, and do various cleanups and fixups
   1901 	to try and recover as best from that situation (e.g., flushing
   1902 	various caches).  Also set the FSF_FORCE_UNMOUNT flag for the
   1903 	fserver in question.
   1904 	(flush_srvr_nfs_cache): pass fserver as argument, so we can
   1905 	selectively flush the NFS cache for a single fserver (or all of
   1906 	them, if you pass NULL).
   1907 
   1908 	* libamu/xutil.c (switch_to_logfile): truncate a regular-file log
   1909 	file if user passed non-zero "truncate_log" flag.
   1910 
   1911 	* include/am_utils.h: switch_to_logfile() now takes a 3rd arg.
   1912 
   1913 	* amd/get_args.c (get_args): pass "truncate_log" flag as per
   1914 	amd.conf global settings.
   1915 
   1916 	* amd/conf.c (gopt_truncate_log): store global value of
   1917 	truncate_log flag.
   1918 
   1919 	* amd/amq_subr.c (amqproc_setopt_1_svc), hlfsd/hlfsd.c (main,
   1920 	reload): don't truncate log file when calling switch_to_logfile().
   1921 
   1922 	* amd/amd.h (CFM_TRUNCATE_LOG): new flag.  Fix comment typo.
   1923 
   1924 	* NEWS, doc/am-utils.texi (truncate_log Parameter),
   1925 	scripts/amd.conf.5, scripts/amd.conf-sample (log_file): document
   1926 	new truncate_log amd.conf parameter.
   1927 
   1928 	* amd/conf.c (gopt_forced_unmounts): check Linux kernel version
   1929 	and alert if your version may be too old for MNT_FORCE to work
   1930 	(before 2.4.0) or for MNT_DETACH to work (before 2.6.0).
   1931 	Otherwise it may be impossible to pin down the exact kernel
   1932 	version in which we should enable this feature.
   1933 
   1934 	* conf/umount/umount_linux.c (umount2_fs): if MNT_FORCE returned
   1935 	EBUSY, then don't try to stat(2) before MNT_DETACH because it
   1936 	could hang.
   1937 
   1938 2005-07-21  Erez Zadok  <ezk (a] cs.sunysb.edu>
   1939 
   1940 	* conf/umount/umount_linux.c (umount_fs): cleanup this function,
   1941 	breaking long "if" statements using "goto out".
   1942 
   1943 	* conf/umount/umount_{aix,bsd44,osf,default,linux}.c (umount_fs):
   1944 	call new utility function umount2_fs() as needed (EBUSY, EIO, or
   1945 	ESTALE).
   1946 
   1947 	* conf/umount/umount_{aix,bsd44,osf,default,linux}.c (umount2_fs):
   1948 	define a new utility function to invoke forcible/lazy unmounts
   1949 	without touching any mtab files.  This separate utility function
   1950 	is useful because it can be called from elsewhere.
   1951 
   1952 	* amd/amfs_toplvl.c (amfs_toplvl_init): new function, called
   1953 	before Amd mounts toplvl mounts, which gives us a hook for cleanup
   1954 	of a previously dead Amd.  In our case, if the user asked for
   1955 	forced_unmounts, and the OS supports it, then we try forced/lazy
   1956 	unmounts on any previous toplvl mounts.  This is useful if a
   1957 	previous Amd died and left behind toplvl mount points (this Amd
   1958 	will clean them up!).  WARNING: Don't use forced/lazy unmounts if
   1959 	you have another valid Amd running, because this code WILL force
   1960 	those valid toplvl mount points to be detached as well!
   1961 
   1962 	* amd/amfs_toplvl.c (amfs_toplvl_umount): don't unconditionally
   1963 	try forced/lazy unmounts because it will prevent a normal Amd from
   1964 	terminating and cleaning up properly (self-deadlocking: detached
   1965 	mounts hang the parent Amd on a stat).  Since we already do
   1966 	unmounts in the background, then try a safer policy: after trying
   1967 	the normal unmounts a few times (5 sec), escalate and try forced
   1968 	unmounts a few times (5 more seconds), and if even that failed,
   1969 	then try the ultimate -- detached unmounts (which always succeed).
   1970 	This allows Amd to first try and shutdown cleanly, and gradually
   1971 	try more forcible ways to shutdown.  On Linux, this procedure will
   1972 	cleanly shutdown Amd even if there are processes with their CWD on
   1973 	Amd's mount points (which normally result in EBUSY).
   1974 
   1975 2005-07-20  Erez Zadok  <ezk (a] cs.sunysb.edu>
   1976 
   1977 	* Makefile.am (EXTRA_DIST_CONF): add new umount_aix.c to distro.
   1978 
   1979 	* conf/umount/umount_aix.c: easier if AIX has its own unmount
   1980 	helper file.
   1981 
   1982 	* m4/macros/check_umount_style.m4: AIX needs its own unmount style
   1983 	file.
   1984 
   1985 	* doc/am-utils.texi (forced_unmounts Parameter): @xref -> @pxref.
   1986 
   1987 2005-07-19  Erez Zadok  <ezk (a] cs.sunysb.edu>
   1988 
   1989 	* conf/nfs_prot/nfs_prot_aix5_2.h: define compatible
   1990 	forced-unmount flag.
   1991 
   1992 	* conf/umount/umount_default.c (umount_fs): if regular umount got
   1993 	EBUSY, EIO, or ESTALE, then try forced unmount, if supported.  Try
   1994 	umount2 (Solaris) or uvmount (AIX).
   1995 
   1996 	* conf/umount/umount_{bsd44,osf}.c (umount_fs): if default
   1997 	umount() failed with EIO or ESTALE, also try forced unmount.
   1998 
   1999 2005-07-18  Erez Zadok  <ezk (a] cs.sunysb.edu>
   2000 
   2001 	* amd/autil.c (amfs_mount), amd/amfs_toplvl.c
   2002 	(amfs_toplvl_umount): enable forced/lazy unmounts only if user
   2003 	asked for it (and dlog it).
   2004 
   2005 	* scripts/amd.conf.5: document new force_unmount global parameter.
   2006 
   2007 	* doc/am-utils.texi (forced_unmounts Parameter): document new
   2008 	global parameter.
   2009 
   2010 	* amd/conf.c (gopt_forced_unmounts): process forced_unmounts
   2011 	option (default "no").  Exit with an error if user specified the
   2012 	option as "yes" but configure couldn't find support for either the
   2013 	MNT_FORCE or MNT_DETACH flags.
   2014 
   2015 	* scripts/amd.conf-sample (forced_unmounts): example usage of new
   2016 	option.
   2017 
   2018 	* amd/amd.h (CFM_FORCED_UNMOUNTS): new flag for forced_unmounts
   2019 	option.
   2020 
   2021 	* m4/macros/header_templates.m4: templates for _DETACH and _FORCE.
   2022 
   2023 	* configure.in: check for generic u/mount options "detach" and
   2024 	"force".
   2025 
   2026 	* include/am_utils.h (UMOUNT_FS, umount_fs): new prototypes.
   2027 	Define AMU_UMOUNT flags for force, detach, and autofs.
   2028 
   2029 	* amd/amfs_toplvl.c (amfs_toplvl_umount): pass _FORCE and _DETACH
   2030 	unmount flags unconditionally.  Pass them to UMOUNT_FS().
   2031 
   2032 	* conf/nfs_prot/nfs_prot_linux.h: define MNT_FORCE and MNT_DETACH
   2033 	if needed, because some Linux systems don't define them
   2034 	(presumably because it would be too dangerous to expose these
   2035 	flags to users).
   2036 
   2037 	* amd/autil.c (amfs_mount): if mount(2) failed with ESTALE or EIO,
   2038 	then assume that we're in trouble, possibly because a previous
   2039 	mount is hung.  So, first try to force a lazy unmount of the old
   2040 	mount.  If the forced unmount worked, then try again to mount the
   2041 	desired file system.  If the forced unmount failed, then don't
   2042 	retry: just return an error.
   2043 
   2044 	* amd/amfs_generic.c (amfs_generic_umount), amd/amfs_host.c
   2045 	(amfs_host_umount), amd/ops_cachefs.c (cachefs_umount),
   2046 	amd/ops_cdfs.c (cdfs_umount), amd/ops_efs.c (efs_umount),
   2047 	amd/ops_lofs.c (lofs_umount), amd/ops_nfs.c (nfs_umount),
   2048 	amd/ops_pcfs.c (pcfs_umount), amd/ops_ufs.c (ufs_umount),
   2049 	amd/ops_xfs.c (xfs_umount), conf/umount/umount_bsd44.c
   2050 	(umount_fs), conf/umount/umount_default.c (umount_fs),
   2051 	conf/umount/umount_linux.c (umount_fs), conf/umount/umount_osf.c
   2052 	(umount_fs): compute and use unmount specific flags.
   2053 
   2054 2005-07-16  Erez Zadok  <ezk (a] cs.sunysb.edu>
   2055 
   2056 	* configure.in: better help for users, if nfs_args can't be found.
   2057 
   2058 2005-07-15  Erez Zadok  <ezk (a] cs.sunysb.edu>
   2059 
   2060 	* BUGS: more details on AIX's need to install bos.net.nfs.adt
   2061 	before configuring am-utils (else configure cannot find struct
   2062 	nfs_args on AIX).
   2063 
   2064 2005-07-10  Erez Zadok  <ezk (a] cs.sunysb.edu>
   2065 
   2066 	* amd/srvr_nfs.c (find_nfs_srvr): flush NFS handle cache if the IP
   2067 	address of a down server had changed.
   2068 
   2069 	* amd/info_union.c (union_reload): use safer xsnprintf() routine.
   2070 
   2071 	* amd/srvr_nfs.c (find_nfs_srvr): check to see if the IP address
   2072 	of a named but down fserver changed (i.e., the previous IP address
   2073 	is no longer responding).  If so, then reset the fserver to the
   2074 	new IP address, and set the fserver's flags such that the function
   2075 	will fall through to doing the usual NFS version/proto checks and
   2076 	pinging.  (This should fix one case of bug #308.)
   2077 
   2078 	* conf/umount/umount_linux.c (umount_fs): warn if plain umount()
   2079 	failed, before we try to ignore any errors or try optional
   2080 	umount2(), possibly with forced/lazy unmount.
   2081 	(umount_fs): dlog when unmount succeeded.
   2082 
   2083 2005-07-08  Erez Zadok  <ezk (a] cs.sunysb.edu>
   2084 
   2085 	* conf/mount/mount_linux.c: add a couple more NFSv2 error codes
   2086 	that are compatible with NFSv3.
   2087 
   2088 2005-07-07  Erez Zadok  <ezk (a] cs.sunysb.edu>
   2089 
   2090 	* m4/macros/header_templates.m4: extern template for strlcat().
   2091 
   2092 	* amd/get_args.c (get_version_string): use safer strlcat (or
   2093 	replacement strlcat).  Use new wrapper xsnprintf() function, which
   2094 	will use the safer vsnprintf() if available, else default to plain
   2095 	sprintf.
   2096 
   2097 	* configure.in: check for existence of strlcat() and its extern,
   2098 	replacing with libamu/strlcat.c as needed.
   2099 
   2100 	* libamu/Makefile.am (EXTRA_DIST): add strlcat.c to distro.
   2101 
   2102 	* include/am_defs.h: optional strlcat() extern.
   2103 
   2104 	* include/am_utils.h: extern for new xvsnprintf().
   2105 
   2106 	* configure.in: overdue new major libtool shlib version.
   2107 	Check for snprintf function and extern.
   2108 
   2109 2005-07-06  Erez Zadok  <ezk (a] cs.sunysb.edu>
   2110 
   2111 	* conf/nfs_prot/nfs_prot_aix4_3.h: cleanup struct
   2112 	aix4_nfs_args_bis.
   2113 
   2114 	* Makefile.am (EXTRA_DIST_CONF): include mount_aix3.c in
   2115 	distribution.
   2116 
   2117 	* conf/mount/mount_aix.c: mount style for aix 5.x and newer.
   2118 
   2119 	* conf/mount/mount_aix3.c: mount styles for aix 3.x/4.x.
   2120 
   2121 	* m4/macros/check_mount_style.m4: split mount styles for
   2122 	aix3.x/4.x and the newer (and better) aix 5.x code.
   2123 
   2124 2005-07-05  Erez Zadok  <ezk (a] cs.sunysb.edu>
   2125 
   2126 	* amq/pawd.c (getawd): avoid buffer overflow.  Bug fix from Graeme
   2127 	Wilford <G.Wilford (a] surrey.ac.uk>.
   2128 
   2129 2005-06-30  Erez Zadok  <ezk (a] cs.sunysb.edu>
   2130 
   2131 	* amd/map.c (get_next_exported_ap): Avoid running off the end of
   2132 	the exported_ap[] array.  Patch from jon+amd-at-spock.org.  Fixed
   2133 	bug #301.
   2134 
   2135 2005-06-25  Erez Zadok  <ezk (a] cs.sunysb.edu>
   2136 
   2137 	* Makefile.am (EXTRA_DIST_CONF): distribute new mtab_linux.c.
   2138 
   2139 	* conf/mtab/mtab_linux.c (rewrite_mtab): variable declarations
   2140 	must come before C code.
   2141 
   2142 	* conf/mtab/mtab_linux.c: Linux-specific mount table hanlding
   2143 	that's safe (uses locks, handles symlinks to /proc/mounts, etc.).
   2144 	Patch from Red Hat, which they adapted from mtab_file.c.  Minor
   2145 	fixes to this file.
   2146 
   2147 	* m4/macros/check_mnttab_style.m4: Use Linux-specific mount table
   2148 	handling.
   2149 
   2150 2005-06-24  Erez Zadok  <ezk (a] cs.sunysb.edu>
   2151 
   2152 	* conf/mount/mount_aix.c (mount_aix3): minor cleanup of filehandle
   2153 	copying code.
   2154 
   2155 2005-06-23  Erez Zadok  <ezk (a] cs.sunysb.edu>
   2156 
   2157 	* conf/nfs_prot/nfs_prot_hpux.h: add extern for h_errno, which may
   2158 	be missing from older hpux10 systems.
   2159 
   2160 	* configure.in: update bug-reporting address to list
   2161 	https://bugzilla.am-utils.org/ as well as the mailing list.
   2162 
   2163 	* Makefile.am (EXTRA_DIST_M4): distribute new type_rpcvers_t.m4
   2164 	macro.
   2165 
   2166 	* conf/transp/transp_tli.c (get_nfs_version): always use
   2167 	rpcvers_t, now that it'll be automatically discovered.
   2168 
   2169 	* configure.in: check for rpcvers_t type.
   2170 
   2171 	* m4/macros/type_rpcvers_t.m4: new macro to check for type of
   2172 	rpcvers_t (Some Solaris versions need it).
   2173 
   2174 	* conf/nfs_prot/nfs_prot_sunos5_8.h: don't define INADDR_NONE
   2175 	here, but in the actual source files that may need it.
   2176 
   2177 	* libamu/wire.c (INADDR_NONE): define INADDR_NONE if not defined
   2178 	already.
   2179 
   2180 	* include/am_defs.h: define extern for sleep(3) if needed.
   2181 
   2182 	* m4/macros/header_templates.m4: template for sleep(3) extern.
   2183 
   2184 	* configure.in: check for extern for sleep(3), which is missing
   2185 	from some old (and buggy) versions of gcc's fixinc'ed headers.
   2186 
   2187 	* conf/nfs_prot/nfs_prot_aix4_3.h: update definition of struct
   2188 	nfs_args from actual system headers.
   2189 
   2190 	* conf/mount/mount_aix.c (mount_aix3): fix name of aix4 "bis"
   2191 	structure.
   2192 
   2193 2005-06-22  Erez Zadok  <ezk (a] cs.sunysb.edu>
   2194 
   2195 	* BUGS: update Solaris information about use of f/lex and
   2196 	yacc/bison.
   2197 
   2198 2005-06-20  Erez Zadok  <ezk (a] cs.sunysb.edu>
   2199 
   2200 	* minor new port: i386-pc-linux-suse9.3.
   2201 
   2202 2005-06-20  Rainer Orth  <ro (a] TechFak.Uni-Bielefeld.DE>
   2203 
   2204 	* configure.in (linux/nfs_mount.h): Move __KERNEL__ definition up
   2205 	so u32 is available for <linux/sunrpc/msg_prot.h>.
   2206 
   2207 2005-06-16  Erez Zadok  <ezk (a] cs.sunysb.edu>
   2208 
   2209 	* amd/mapc.c (maptypes): move MAP_EXEC after MAP_FILE, because
   2210 	exec maps will always match when users use amd with command line
   2211 	args (not amd.conf).  Using that legacy way, unfortunately, means
   2212 	that Amd will use it's hard-coded info-service search path, which
   2213 	doesn't work for everyone.  It's much better to use amd.conf and
   2214 	specify what you want exactly.
   2215 
   2216 2005-06-15  Erez Zadok  <ezk (a] cs.sunysb.edu>
   2217 
   2218 	* minor new port: i386-pc-linux-fc4 (gcc4 catches more bugs).
   2219 
   2220 	* m4/macros/type_recvfrom_fromlen.m4: linux systems use unsigned
   2221 	int as the type of recvfrom()'s 6th argument.
   2222 
   2223 	* m4/macros/type_yp_order_outorder.m4: linux systems use unsigned
   2224 	int as the type of yp_order()'s 3rd argument.
   2225 
   2226 2005-06-15  Erez Zadok  <ezk (a] cs.sunysb.edu>
   2227 
   2228 	* scripts/amd.conf-sample (map_type): typo, said mount_type
   2229 	instead of map_type for the 'exec' example.
   2230 
   2231 2005-06-11  Erez Zadok  <ezk (a] cs.sunysb.edu>
   2232 
   2233 	*******************************************************************
   2234 	*** Released am-utils-6.1					***
   2235 	*******************************************************************
   2236 
   2237 2005-06-04  Erez Zadok  <ezk (a] cs.sunysb.edu>
   2238 
   2239 	* amd/ops_nfs.c (mount_nfs_fh): set timeo/retrans mount options
   2240 	only if the user specified them in amd.conf or elsewhere.  If they
   2241 	were not specified, don't do anything, which would let the OS use
   2242 	its own defaults.
   2243 
   2244 	* amd/get_args.c (get_args): negative timeo/retrans are "good" in
   2245 	that they represent uninitialized values (meaning to let the OS
   2246 	use it's default values).  So only check if user specified a value
   2247 	equal to zero (invalid).
   2248 
   2249 	* amd/amd.h: define AMU_TYPE_NONE so we know when users didn't
   2250 	specify timeo/retrans at all.
   2251 
   2252 2005-06-03  Erez Zadok  <ezk (a] cs.sunysb.edu>
   2253 
   2254 	*******************************************************************
   2255 	*** Released am-utils-6.1-rc7					***
   2256 	*******************************************************************
   2257 
   2258 	* m4/macros/os_cflags.m4 (CFLAGS): use custom-OS C flags for
   2259 	configuring, not just for building.  That way the two phases
   2260 	(configure and compile) are in sync.  This fixes getwire() on
   2261 	OSF/1 systems.
   2262 
   2263 	* conf/nfs_prot/nfs_prot_sunos5_8.h: define INADDR_NONE if not
   2264 	defined in system headers.
   2265 
   2266 2005-06-01  Erez Zadok  <ezk (a] cs.sunysb.edu>
   2267 
   2268 	* libamu/Makefile.am (EXTRA_DIST): remove alloca.c as it's no
   2269 	longer needed.
   2270 
   2271 2005-05-28  Erez Zadok  <ezk (a] cs.sunysb.edu>
   2272 
   2273 	* completed set of fixes for irix6.5.
   2274 
   2275 	* Minor new ports alpha-unknown-linux-gentoo1.4.16
   2276 	alphaev56-dec-osf4.0f, mips-unknown-linux-gentoo1.4.16, and
   2277 	sparc64-unknown-linux-gentoo1.4.16, and mips-sgi-irix6.5.  Test
   2278 	those systems with both cc and gcc, where possible.
   2279 
   2280 	* include/am_xdr_func.h: remove trailing comma at end of enum
   2281 	list.
   2282 
   2283 	* m4/macros/os_cflags.m4: with gcc 3.4.3 on irix-6.5, we get pte_t
   2284 	undefined.  So give it a dummy value.
   2285 
   2286 	* libamu/alloca.c: remove file from distro.
   2287 
   2288 	* configure.in: don't call AC_FUNC_ALLOCA any more.
   2289 
   2290 	* include/am_defs.h: remove header fixups for <alloca.h>, now that
   2291 	we don't need it.
   2292 
   2293 	* amd/amq_svc.c (amqsvc_is_client_allowed): rewrite function to
   2294 	avoid only use of alloca() in am-utils, and to use strdup
   2295 	explicitly.  This way we can avoid using alloca, a feature that's
   2296 	not portable on various systems.
   2297 
   2298 	* amq/amq.c: remove unused lint/rcsid cruft.
   2299 
   2300 2005-05-27  Erez Zadok  <ezk (a] cs.sunysb.edu>
   2301 
   2302 	* conf/checkmount/checkmount_osf.c (fixmount_check_mount): add
   2303 	extra parentheses around assignments in "if" expressions (gcc
   2304 	complains).
   2305 
   2306 	* conf/nfs_prot/nfs_prot_osf4.h: add missing extern definitions
   2307 	for plock, hstrerror, getmntinfo, alloca, xdr_exportnode, and
   2308 	xdr_groups.
   2309 
   2310 	* configure.in: check for <linux/socket.h>, which, if found,
   2311 	appears to be preferable to <sys/socket.h>.  Use it to find
   2312 	<linux/nfs_mount.h>.  On some Linux systems
   2313 	(Gentoo), both exist but only one must be included, or else you
   2314 	get redefined structure errors.
   2315 
   2316 	* libamu/wire.c (is_network_member): check if masknum is
   2317 	INADDR_NONE, not "< 0" because it's an unsigned quantity.
   2318 
   2319 	* libamu/util.c (xstrlcpy): remove useless test for size_t < 0,
   2320 	because it's an unsigned quantity.
   2321 
   2322 2005-05-26  Erez Zadok  <ezk (a] cs.sunysb.edu>
   2323 
   2324 	*******************************************************************
   2325 	*** Released am-utils-6.1-rc6					***
   2326 	*******************************************************************
   2327 
   2328 2005-05-25  Erez Zadok  <ezk (a] cs.sunysb.edu>
   2329 
   2330 	* conf/nfs_prot/nfs_prot_aix5_2.h: AIX 5.3 complains about
   2331 	missing definition of struct thread_credentials in <sys/vfs.h>
   2332 	but trying to bring that definition in drags a whole lot of other
   2333 	messy stuff.  So just provide a dummy definition for this
   2334 	structure.
   2335 
   2336 2005-05-24  Erez Zadok  <ezk (a] cs.sunysb.edu>
   2337 
   2338 	* Makefile.am (EXTRA_DIST_M4): distribute m4/macros/libtool.m4.
   2339 
   2340 	* m4/macros/header_templates.m4: template for HAVE_EXTERN_MNTCTL.
   2341 
   2342 	* m4/macros/check_extern.m4: include <sys/vmount.h> on AIX
   2343 	systems, so we can find extern definition for mntctl().
   2344 
   2345 	* conf/mtab/mtab_aix.c, conf/checkmount/checkmount_aix.c: only
   2346 	define an extern for mntctl() if needed.
   2347 
   2348 	* amd/ops_nfs.c (prime_nfs_fhandle_cache): never, ever, use C++
   2349 	style comments in C code.  Some C compilers don't accept it.
   2350 
   2351 	* amd/info_ldap.c (amu_ldap_init, get_ldap_timestamp): force cast
   2352 	of "time_t *ts" to u_long, to avoid complaints on AIX 5.2 with
   2353 	xlC.
   2354 
   2355 	* amd/get_args.c: rename symbol conf_file to amu_conf_file to
   2356 	avoid conflict with libldap.a from openldap-2.0.21 on AIX 5.2.
   2357 	Oh, when will people who develop libraries learn to always prefix
   2358 	their exported symbols with a library-specific name?
   2359 
   2360 	* configure.in: check for mntctl() extern on AIX systems.
   2361 
   2362 	* ltmain.sh: update from latest libtool-1.5.18, so we can properly
   2363 	build on AIX 5.2/5.3 with cc and with gcc.
   2364 
   2365 	* m4/macros/libtool.m4: update from latest libtool-1.5.18.  This
   2366 	time, and from now on, we must include libtool.m4 from the libtool
   2367 	distribution itself.  That way we ensure that we use an ltmain.sh
   2368 	that matches the appropriate libtool M4 macros.  This makes
   2369 	am-utils no longer dependent on having libtool installed on a
   2370 	given system on which you run bootstrap.
   2371 
   2372 2005-05-23  Erez Zadok  <ezk (a] cs.sunysb.edu>
   2373 
   2374 	* minor new port: i386-pc-linux-deb3.0.
   2375 
   2376 2005-05-22  Erez Zadok  <ezk (a] cs.sunysb.edu>
   2377 
   2378 	* minor new ports: i386-unknown-netbsdelf2.0.2 and
   2379 	i386-unknown-openbsd3.7.
   2380 
   2381 2005-05-20  Erez Zadok  <ezk (a] cs.sunysb.edu>
   2382 
   2383 	* minor new ports: i386-pc-linux-gentoo1.4.16 and
   2384 	powerpc-unknown-linux-yellowdog2.3.
   2385 
   2386 	* include/{mount_headers2.h, am_defs.h}: safer setup before
   2387 	inclusion of <linux/nfs_mount.h>, which is broken on several
   2388 	systems.
   2389 
   2390 	* configure.in: test for <linux/nfs2.h>.  Separate special test
   2391 	for <linux/nfs_mount.h> because we need to define __KERNEL__ for
   2392 	that test, as well as optionally define struct nfs2_fh for some
   2393 	systems (gentoo with 2.4 kernel, yellowdog 2.3, and others).
   2394 
   2395 	* config.guess.long: support Gentoo and Yellow Dog Linux distros.
   2396 
   2397 2005-05-18  Erez Zadok  <ezk (a] cs.sunysb.edu>
   2398 
   2399 	* minor new ports: i386-pc-linux-suse9.2 and
   2400 	i386-unknown-freebsd5.4.
   2401 
   2402 	* amd/nfs_subr.c: use NFS_FHSIZE, not FHSIZE.
   2403 
   2404 2005-05-17  Erez Zadok  <ezk (a] cs.sunysb.edu>
   2405 
   2406 	*******************************************************************
   2407 	*** Released am-utils-6.1-rc5					***
   2408 	*******************************************************************
   2409 
   2410 	* amd/info_ldap.c (amu_ldap_init): change plog to dlog, to avoid
   2411 	sending annoying warning for a minor issue.
   2412 
   2413 2005-05-17  Ion Badulescu <ionut (a] moisil.badula.org>
   2414 
   2415 	* amd/nfs_subr.c: check for NULL pointer before dereferencing it.
   2416 
   2417 2005-05-16  Erez Zadok  <ezk (a] cs.sunysb.edu>
   2418 
   2419 	* minor new ports: powerpc-apple-darwin7.9.0.
   2420 
   2421 	* m4/macros/host_macros.m4: if a NetBSD system, remove 'elf' part
   2422 	from OS name because it's no longer relevant.  Also, don't include
   2423 	the major OS version number in the OS name because that's also
   2424 	unnecessary (and users can always use $osver in maps).
   2425 
   2426 	* amd/nfs_subr.c: use [1] for out-of-band pointer at the end of
   2427 	struct am_fh, because it's the most portable method.  Bug fix
   2428 	suggestion from Dan Riley <dsr at mail.lns.cornell.edu>.  Better
   2429 	fix from Ion Badulescu: use [FHSIZE-sizeof(u_int)] which is the
   2430 	actual size we use.
   2431 
   2432 	* amd/amfs_generic.c (amfs_lookup_mntfs): reset currently used
   2433 	def_opts to options given in -opts, appended with the /default
   2434 	options.  Bug fix suggestion from Dan Riley <dsr at
   2435 	mail.lns.cornell.edu>.
   2436 
   2437 2005-05-13  Erez Zadok  <ezk (a] cs.sunysb.edu>
   2438 
   2439 	*******************************************************************
   2440 	*** Released am-utils-6.1-rc4					***
   2441 	*******************************************************************
   2442 
   2443 2005-05-11  Daniel P. Ottavio  <dottavio (a] ic.sunysb.edu>
   2444 
   2445 	* amd/amd.c (main) : fixed memory leak detected by valgrind
   2446 
   2447 	* amd/info_ldap.c (amu_ldap_init) : fixed memory leak detected by
   2448 	valgrind
   2449 
   2450 2005-05-11  Erez Zadok  <ezk (a] cs.sunysb.edu>
   2451 
   2452 	* m4/macros/{check_checkmount_style.m4, check_mnttab_style.m4,
   2453 	check_nfs_fh_dref.m4, check_nfs_prot_headers.m4,
   2454 	check_nfs_sa_dref.m4, check_umount_style.m4, os_cflags.m4}: check
   2455 	for "macosx" as valid OS string, so we compile properly on Darwin
   2456 	systems.
   2457 
   2458 	*******************************************************************
   2459 	*** Released am-utils-6.1-rc3					***
   2460 	*******************************************************************
   2461 
   2462 	* rerun bootstrap to get a working configure script that actually
   2463 	checks for limits.h and dependent linux autofs/nfs headers.
   2464 
   2465 	* configure.in: remove redundant check for limits.h.
   2466 
   2467 2005-05-09  Erez Zadok  <ezk (a] cs.sunysb.edu>
   2468 
   2469 	*******************************************************************
   2470 	*** Released am-utils-6.1-rc2					***
   2471 	*******************************************************************
   2472 
   2473 2005-05-08  Erez Zadok  <ezk (a] cs.sunysb.edu>
   2474 
   2475 	* amd/amfs_generic.c (amfs_lookup_mntfs): removed redundant use of
   2476 	old_def_opts variable.
   2477 
   2478 2005-05-08  Daniel P. Ottavio  <dottavio (a] ic.sunysb.edu>
   2479 
   2480 	* amd/amfs_generic.c (amfs_lookup_mntfs) : Make sure when a map
   2481 	entry has a single dash '-', that the default options are reset.
   2482 	This functionality was somehow lost from earlier releases and
   2483 	reported by Dan Riley <dsr (a] mail.lns.cornell.edu>.
   2484 
   2485 2005-05-05  Erez Zadok  <ezk (a] cs.sunysb.edu>
   2486 
   2487 	* config.guess.long: detect SuSE Enterprise Server and call it
   2488 	"sles" not "suse".
   2489 
   2490 2005-05-02  Erez Zadok  <ezk (a] cs.sunysb.edu>
   2491 
   2492 	* doc/am-utils.texi (amd): document proper use of
   2493 	/etc/hosts.allow.  Don't spawn a new Amd process because Amd will
   2494 	get confused if someone else waitpid's on its children (which
   2495 	often do important un/mount work).  Issue reported by Francis
   2496 	Montagnac <Francis.Montagnac at sophia.inria.fr>.
   2497 
   2498 	* minor new ports: powerpc64-unknown-linux-rhel4, and
   2499 	powerpc64-unknown-linux-sles9.
   2500 
   2501 2005-05-01  Daniel P. Ottavio  <dottavio (a] ic.sunysb.edu>
   2502 
   2503 	* amd/amfs_host.c (amfs_host_umount): We do not want to pass
   2504 	ENOENT as an error because if the directory does not exists our
   2505 	work is done anyway.
   2506 
   2507 	* conf/umount/umount_linux.c (umount_fs): If we are successful or
   2508 	there was an ENOENT, remove the mount entry from the mtab file.
   2509 
   2510 2005-05-01  Ion Badulescu  <ionut (a] moisil.badula.org>
   2511 
   2512 	* amd/nfs_subr.c: am_fh definition moved here from amd.h;
   2513 	restructured to better reflect its duality (old/new filehandles)
   2514 	(fh_to_mp3): fhh_gen is always used, even for new style f/h
   2515 	(mp_to_fh): ditto
   2516 
   2517 	* amd/amd.h: moved am_fh definition to nfs_subr.c (which is the
   2518 	only place where it's used)
   2519 
   2520 2005-04-30  Erez Zadok  <ezk (a] cs.sunysb.edu>
   2521 
   2522 	* m4/macros/host_macros.m4: use sw_vers on Apple machines to find
   2523 	out more appropriate OS name (macosx) and OS version (10.3.x) than
   2524 	uname(3) reports.
   2525 
   2526 2005-04-29  Erez Zadok  <ezk (a] cs.sunysb.edu>
   2527 
   2528 	* config.guess, config.sub, doc/texinfo.tex: updates from latest
   2529 	official GNU distributions.
   2530 
   2531 	* m4/macros/host_macros.m4: for macosx, change architecture value
   2532 	from "Power Macintosh" to "powerpc".
   2533 
   2534 	* libamu/util.c (xstrlcpy): format 'len' parameter as u_long, not
   2535 	int (it's a size_t).
   2536 
   2537 2005-04-16  Erez Zadok  <ezk (a] cs.sunysb.edu>
   2538 
   2539 	* scripts/amd.conf.5, doc/am-utils.texi (normalize_slashes
   2540 	Parameter), scripts/amd.conf-sample: document new
   2541 	normalize_slashes global configuration parameter.
   2542 
   2543 	* amd/opts.c (deslashify, normalize_slash): don't touch trailing
   2544 	slashes, even if multiples of them, if user said
   2545 	normalize_slashes=no in amd.conf.
   2546 
   2547 	* amd/conf.c (gopt_normalize_slashes): new function to record if
   2548 	to normalize slashes or not.
   2549 
   2550 	* amd/amd.h (CFM_NORMALIZE_SLASHES): new flag to decide if to
   2551 	normalize double-slashes or not ("yes" by default).
   2552 
   2553 	* amd/autil.c (am_mounted): pass TRUE when calling mf_mounted.
   2554 	This is the parent mntfs which does the mf->mf_fo
   2555 	(am_opts type), and we're passing TRUE here to tell mf_mounted to
   2556 	actually free the am_opts.
   2557 
   2558 	* amd/autil.c (mf_mounted): Be careful when calling free_ops and
   2559 	XFREE here.  Some pseudo file systems like nfsx call this
   2560 	function, even though it would be called by the lower-level amd
   2561 	file system functions.  nfsx needs to call this function because
   2562 	of the other actions it takes.  So we pass a boolean from the
   2563 	caller (yes, not so clean workaround) to determine if we should
   2564 	free or not.  If we're not freeing (often because we're called
   2565 	from a callback function), then just to be sure, we'll zero out
   2566 	the am_opts structure and set the pointer to NULL.  The parent
   2567 	mntfs node owns this memory and is going to free it with a call to
   2568 	mf_mounted(mntfs,TRUE).
   2569 
   2570 	* amd/amd.h: pass flag to mf_mounted, to free or not to free the
   2571 	am_opts.
   2572 
   2573 	* amd/amfs_nfsx.c (amfs_nfsx_cont): call mf_mounted with FALSE to
   2574 	tell it not to free the am_opts, to avoid double free.
   2575 
   2576 	* include/am_defs.h: include limits.h if found.
   2577 
   2578 	* configure.in: check for limits.h.  Check for certain Linux
   2579 	headers such as auto_fs.h after checking for limits.h, and include
   2580 	the latter if it exists, because some Linux headers depend on
   2581 	limits.h.  This prevents warnings during configure time.
   2582 
   2583 2005-04-12  Erez Zadok  <ezk (a] cs.sunysb.edu>
   2584 
   2585 	* amd/amfs_toplvl.c (amfs_toplvl_mount): do NOT set retrans/timeo
   2586 	values from default global UDP settings, because it can cause
   2587 	unexpected timeouts in Amd on slow systems.  The default that each
   2588 	OS provides for these toplvl NFS mounts should be OK, or else you
   2589 	can use the map_options entry.
   2590 
   2591 2005-04-09  Daniel P. Ottavio  <dottavio (a] ic.sunysb.edu>
   2592 
   2593 	* amd/nfs_subr.c (mp_to_fh): Replace xstrlcpy with memcpy because the
   2594 	source buffer is treated more as a filehandle than a string.
   2595 
   2596 	* amd/nfs_subr.c (fh_to_mp3): Replace xstrlcpy with memcpy because the
   2597 	source buffer is treated more as a filehandle than a string.
   2598 
   2599 	* amd/opts.c (free_op): No longer need to assign pointer to NULL
   2600 	after XFREE.
   2601 
   2602 	* amd/opts.c (expand_op): Revert back to using strncpy() instead
   2603 	of xstrlcpy.  The code is correct and relies on the semantics of
   2604 	strncpy.
   2605 
   2606 	* libamu/mount_fs.c (compute_nfs_args): Leave XXX warning that use
   2607 	of xstrlcpy in NFS_HN_DREF may corrupt a struct nfs_args, or
   2608 	truncate our concocted "hostname:/path" string prematurely if the
   2609 	nap->hostname field is ever less than 64 bytes long
   2610 	(MAXHOSTNAMELEN).
   2611 
   2612 	* libamu/util.c (xstrlcpy): Return immediately if len is 0 to
   2613 	avoid unnecessary work.  Log an error and return if len is less
   2614 	than 0.
   2615 
   2616 2005-04-07  Erez Zadok  <ezk (a] cs.sunysb.edu>
   2617 
   2618 	* include/am_utils.h (XFREE): XFREE() should nullify the pointer
   2619 	even when compiling without debugging.  It's safer this way.
   2620 
   2621 	* libamu/xutil.c (am_set_hostname),
   2622 	hlfsd/stubs.c (nfsproc_lookup_2_svc),
   2623 	fsinfo/fsinfo.c (fsi_get_args),
   2624 	fixmount/fixmount.c (is_same_host, remove_mount, main),
   2625 	conf/mtab/mtab_isc3.c (mnt_dup, mtab_of),
   2626 	conf/mount/mount_svr4.c (mount_svr4),
   2627 	conf/mount/mount_linux.c (setup_loop_device),
   2628 	conf/hn_dref/hn_dref_linux.h (NFS_HN_DREF),
   2629 	conf/hn_dref/hn_dref_isc3.h (NFS_HN_DREF),
   2630 	amd/opts.c (expand_op),
   2631 	amd/ops_nfs.c (mount_nfs_fh),
   2632 	amd/nfs_subr.c (fh_to_mp3, mp_to_fh),
   2633 	amd/amfs_host.c (amfs_host_mount),
   2634 	amd/am_ops.c (merge_opts):
   2635 	use the new xstrlcpy instead of strncpy.
   2636 
   2637 	* conf/checkmount/checkmount_{default,svr4}.c
   2638 	(fixmount_check_mount): document why NOT to use xstrlcpy.
   2639 
   2640 	* libamu/xutil.c: am_hostname need not be MAXHOSTNAMELEN+1 any
   2641 	more, just MAXHOSTNAMELEN.
   2642 
   2643 	* libamu/xutil.c (real_plog): use strlcpy (not xstrlcpy to avoid
   2644 	recursion, since xstrlcpy may use plog).
   2645 
   2646 	* libamu/util.c (xstrlcpy): truncating a string is serious.  Use
   2647 	XLOG_ERROR not XLOG_WARNING.
   2648 
   2649 2005-04-06  Erez Zadok  <ezk (a] cs.sunysb.edu>
   2650 
   2651 	* include/am_utils.h: external definition for new xstrlcpy
   2652 	function.
   2653 
   2654 	* libamu/util.c (xstrlcpy): new function.  Similar to strncpy, but
   2655 	uses strlcpy to guarantee that the resulting string is null
   2656 	terminated, and also warn if the resulting string was truncated.
   2657 
   2658 	* libamu/xutil.c (get_server_pid): move this function from util.c
   2659 	which is for general-purpose utilities.
   2660 
   2661 	* m4/macros/header_templates.m4: template for HAVE_EXTERN_STRLCPY.
   2662 
   2663 	* include/am_defs.h: provide extern definition for strlcpy, if
   2664 	needed.
   2665 
   2666 	* libamu/Makefile.am (EXTRA_DIST): include strlcpy.c in distro.
   2667 
   2668 	* configure.in: search for strlcpy and its extern.
   2669 
   2670 	* amq/pawd.c (find_mt): It only handles *some* filesystem types,
   2671 	so it breaks on direct xfs mounts for example.  The fix (from
   2672 	Christos Zoulas) is simple: We need to exclude toplvl to avoid
   2673 	infinite recursion, but all other fs's are game.
   2674 
   2675 2005-03-31  Erez Zadok  <ezk (a] cs.sunysb.edu>
   2676 
   2677 	* amd/nfs_subr.c (fh_to_mp3): strncpy may not null terminate if
   2678 	copying exactly len bytes, so add null just to be safe.
   2679 
   2680 2005-03-30  Daniel P. Ottavio  <dottavio (a] ic.sunysb.edu>
   2681 
   2682 	* amd/nfs_subr.c (fh_to_mp3): Increased the n of strncpy()
   2683 	to make sure it null terminates.
   2684 
   2685 2005-03-29  Daniel P. Ottavio  <dottavio (a] ic.sunysb.edu>
   2686 
   2687 	* amd/nfs_subr.c (fh_to_mp3): Fix memset bug. In this case
   2688 	the memset can be removed because strncpy() should padd the
   2689 	buffer with NULLs anyway.
   2690 
   2691 2005-03-21  Rainer Orth  <ro (a] TechFak.Uni-Bielefeld.DE>
   2692 
   2693 	* include/am_defs.h: Clarify comment.
   2694 
   2695 2005-03-21  Erez Zadok  <ezk (a] cs.sunysb.edu>
   2696 
   2697 	* include/am_defs.h: undefine "GROUP" so Solaris 10 with gcc-2.96
   2698 	won't complain about a conflict for this definition between
   2699 	<rpcsvc/nis.h> and <sys/acl.h>.
   2700 
   2701 2005-03-20  Erez Zadok  <ezk (a] cs.sunysb.edu>
   2702 
   2703 	* amd/readdir.c (amfs_readdir_browsable): use %p, not %lx.
   2704 
   2705 	* libamu/mount_fs.c (print_nfs_args): print pointer with %p, not
   2706 	%lx.
   2707 
   2708 2005-03-18  Erez Zadok  <ezk (a] cs.sunysb.edu>
   2709 
   2710 	*******************************************************************
   2711 	*** Released am-utils-6.1-rc1					***
   2712 	*******************************************************************
   2713 
   2714 2005-03-18  Erez Zadok  <ezk (a] cs.sunysb.edu>
   2715 
   2716 	* conf/transp/transp_tli.c (get_nfs_version): use proper type for
   2717 	versout on Solaris (rpcvcers_t).
   2718 
   2719 	* amd/mapc.c (mapc_showtypes): if last map type to print, don't
   2720 	append newline or comma to it.
   2721 
   2722 	* libamu/mount_fs.c (print_nfs_args): cast struct netbuf pointer
   2723 	to %lx because on Solaris 10 sparc gcc-3.4.3 complains about
   2724 	casting it to an int (size is different).
   2725 
   2726 	* configure.in, NEWS: prepare for 6.1-rc1 release.
   2727 
   2728 2005-03-17  Erez Zadok  <ezk (a] cs.sunysb.edu>
   2729 
   2730 	* scripts/amd2ldif.in, ldap.schema: fixes by Adam Morley
   2731 	<adam-at-gmi-dot-com> to synchronize what amd2ldif does vs. what
   2732 	the ldap.schema expects.
   2733 
   2734 	* amd/map.c (exported_ap_free): We're using a free-list data
   2735 	structure and re-using malloc'ed objects.  So, to be safe, memset
   2736 	entire structure when it's freed, not just the pointer.
   2737 	(umount_exported): bug fix to on-exit code.  Don't run
   2738 	am_unmounted() unless unmount_mp() didn't run, since the latter
   2739 	already calls am_unmounted().  This way we avoid a double-free
   2740 	bug.
   2741 
   2742 2005-03-15  Erez Zadok  <ezk (a] cs.sunysb.edu>
   2743 
   2744 	* tasks: updates.  Executable maps is supported.  NFSv4 and
   2745 	FreeBSD autofs isn't.
   2746 
   2747 	* Makefile.am (EXTRA_DIST): include FAQ in distro.
   2748 
   2749 	* doc/Makefile.am (alldocs): install README.lda and README.osx.
   2750 
   2751 	* FAQ: new file, better late than never.
   2752 
   2753 2005-03-14  Erez Zadok  <ezk (a] cs.sunysb.edu>
   2754 
   2755 	* scripts/amd2ldif.in: patch to add the amdMapName attribute to
   2756 	the amdMapTimestamp object when amd2ldif converts it.  This is
   2757 	necessary if you are using type:=auto mounts and want those
   2758 	mountmaps looked up through LDAP.  Patch from Jim Zajkowski
   2759 	<jim.zajkowski (a] gmail.com>.
   2760 
   2761 2005-03-12  Erez Zadok  <ezk (a] cs.sunysb.edu>
   2762 
   2763 	* minor new ports: i386-pc-linux-rhel4.
   2764 
   2765 	* minor new ports: powerpc-apple-darwin7.8.0.
   2766 
   2767 2005-03-10  Erez Zadok  <ezk (a] cs.sunysb.edu>
   2768 
   2769 	* amd/ops_nfs.c (prime_nfs_fhandle_cache): rearrange code so it's
   2770 	cleaner.
   2771 
   2772 	* ltmain.sh: upgrade from libtool-1.5.6.
   2773 
   2774 	* m4/macros/check_{fs_mntent,mnttab_type,mount_type}.m4: check for
   2775 	Linux 2.6 kernel modules, which have a .ko extension, not .o.  Now
   2776 	we can properly detect which file systems exist on Linux 2.6 based
   2777 	systems (SLES9, RHEL4, Fedora, etc.).
   2778 
   2779 2005-03-09  Erez Zadok  <ezk (a] cs.sunysb.edu>
   2780 
   2781 	* m4/macros/host_macros.m4: find out what's the OS software
   2782 	distribution name, if any.
   2783 
   2784 	* m4/macros/header_templates.m4: template for DISTRO_NAME.
   2785 
   2786 	* amd/get_args.c (get_version_string): print again full_os, os,
   2787 	osver, and vendor (bug fix).
   2788 	(get_version_string): print distribution name, if known (e.g.,
   2789 	rh9, suse8, etc.).
   2790 
   2791 	* amd/mapc.c (mapc_showtypes): wrap around list of supported map.
   2792 
   2793 2005-03-08  Erez Zadok  <ezk (a] cs.sunysb.edu>
   2794 
   2795 	* amd/map.c (umount_exported): when unmounting file systems on
   2796 	exit (when amd.conf global unmount_on_exit=yes), use unmount_mp()
   2797 	instead of unmount_node() because the latter always unmounts in
   2798 	the foreground, whereas the former unmounts in the bg/fg as
   2799 	needed.  Unmounting always in the foreground has two problems: (1)
   2800 	if the unmount hangs, amd hangs, and (2) for type:=program, the
   2801 	unmount script is execve'd(!) thus replacing the main amd process,
   2802 	which never gets to finish up, leaving the amd mount points hung.
   2803 
   2804 	* NEWS: mention new feature of executable maps.
   2805 
   2806 	* AUTHORS: Acknowledge Erik Kline.
   2807 
   2808 	* scripts/amd.conf.5: document executable maps and
   2809 	exec_map_timeout parameter.
   2810 
   2811 	* scripts/amd.conf-sample: examples of an executable map and
   2812 	exec_map_timeout.
   2813 
   2814 	* m4/macros/header_templates.m4: template for HAVE_MAP_EXEC.
   2815 
   2816 	* doc/am-utils.texi: document Executable maps and exec_map_timeout
   2817 	parameter.
   2818 
   2819 	* amd/conf.c (gopt_exec_map_timeout): function to parse
   2820 	exec_map_timeout [global] parameter.
   2821 
   2822 	* amd/amd.h (AMFS_EXEC_MAP_TIMEOUT): define default executable map
   2823 	timeout to 10 seconds, and a global placeholder for the
   2824 	configurable value.
   2825 
   2826 	* amd/amd.c (init_global_options): initialize default executable
   2827 	map timeout.
   2828 
   2829 	* amd/Makefile.am (EXTRA_amd_SOURCES): include info_exec.c in
   2830 	tarball.
   2831 
   2832 	* configure.in: enable executable maps.
   2833 
   2834 	* amd/mapc.c: define executable map functions and behavior.
   2835 
   2836 	* amd/info_exec.c: executable map implementation from Erik Kline
   2837 	<ekline at ekline dot com>, modified, cleaned-up, and fixed.
   2838 
   2839 2005-03-07  Erez Zadok  <ezk (a] cs.sunysb.edu>
   2840 
   2841 	* amd/info_file.c (file_init_or_mtime): consolidate identical
   2842 	file_init and file_mtime into one function.
   2843 
   2844 2005-03-05  Erez Zadok  <ezk (a] cs.sunysb.edu>
   2845 
   2846 	* doc/am-utils.texi (Program Filesystem): if umount/unmount are
   2847 	not specified, Amd uses "umount ${fs}" by default.
   2848 
   2849 	* amd/amfs_program.c (amfs_program_match): if neither unmount nor
   2850 	umount parameters are specified, use the default userland umount
   2851 	program with "umount ${fs}".  This way type:=program doesn't have
   2852 	to specify the umount program for basic unmounting actions.
   2853 	(amfs_program_init): save unmount program string in mf_private
   2854 	only if it's NULL, not based on mf_refc.
   2855 
   2856 	* configure.in: auto-detect name of userland unmount program.
   2857 
   2858 	* aux_conf.h.in (UNMOUNT_PROGRAM): macro for default userland
   2859 	unmount program.
   2860 
   2861 	* amd/ops_cachefs.c (cachefs_init): save unmount program string in
   2862 	mf_private only if it's NULL, not based on mf_refc.
   2863 
   2864 	* configure.in: don't "discover" inheritance file system any more,
   2865 	since we don't have the .c file for it.
   2866 
   2867 	* amd/get_args.c (get_version_string): hack to still show that we
   2868 	support the inherit file system in output of amd -v.
   2869 
   2870 2005-03-05  Ion Badulescu  <ionut (a] moisil.badula.org>
   2871 
   2872 	* amd/amfs_inherit.c: removed, dead code
   2873 
   2874 	* amd/Makefile.am,
   2875 	amd/am_ops.c,
   2876 	amd/amd.h,
   2877 	conf/autofs/autofs_linux.h,
   2878 	conf/autofs/autofs_solaris_v1.h,
   2879 	conf/autofs/autofs_solaris_v2_v3.h,
   2880 	m4/macros/header_templates.m4: removed references to amfs_inherit.c
   2881 
   2882 2005-03-05  Erez Zadok  <ezk (a] cs.sunysb.edu>
   2883 
   2884 	* amd/autil.c (am_mounted): completely rewrite the unmount
   2885 	no/timeout code to (1) make more sense for odd conditions, and (2)
   2886 	allow utimeout=N mount options to override FS_NOTIMEOUT default
   2887 	flags for disk-based file systems such as ufs, pcfs, cdfs, etc.
   2888 
   2889 	* libamu/mount_fs.c (mount_fs): use safer XFREE() not free().
   2890 
   2891 	* conf/umount/umount_linux.c (umount_fs): strtok is destructive,
   2892 	so use strdup'ed string.
   2893 
   2894 	* conf/mount/mount_linux.c (parse_opts): strtok is destructive, so
   2895 	use strdup'ed string.
   2896 
   2897 2005-03-04  Erez Zadok  <ezk (a] cs.sunysb.edu>
   2898 
   2899 	* scripts/amd.conf.5, doc/am-utils.texi (cache_duration
   2900 	Parameter): clarify actual behavior: this Parameter affects
   2901 	initial mount timeout as well as the linear backoff what happens
   2902 	the initial failed EBUSY unmount.
   2903 
   2904 	* doc/am-utils.texi (opts Option): better explanation of
   2905 	utimeout=N mount pseudo-option.
   2906 
   2907 	* amd/amd.h (AM_TTL, AM_TTL_W): better comments, minor cleanup.
   2908 
   2909 2005-03-02  Daniel P. Ottavio  <dottavio (a] ic.sunysb.edu>
   2910 
   2911 	* AUTHORS: add Dan Ottavio.
   2912 
   2913 	* scripts/amd.conf.5: document new debug_mtab_file option.
   2914 
   2915 	* scripts/amd.conf-sample (debug_mtab_file): show example.
   2916 
   2917 	* doc/am-utils.texi (debug_mtab_file Parameter): document new
   2918 	option.
   2919 
   2920 	* conf/mtab/mtab_{file,mach3}.c (open_locked_mtab): if mtab file
   2921 	doesn't exist by the time Amd tries to exist, return a 0 rather
   2922 	than hang indefinitely.
   2923 
   2924 	* amd/conf.c (gopt_debug_mtab_file): new function to parse
   2925 	debug_mtab_file option.
   2926 
   2927 	* amd/amd.h: placeholder for debug_mtab_file string.
   2928 	Define default debug_mtab_file to "/tmp/mtab".
   2929 
   2930 	* NEWS: document new debug_mtab_file option.
   2931 
   2932 2005-03-02  Erez Zadok  <ezk (a] cs.sunysb.edu>
   2933 
   2934 	* conf/transp/transp_{sockets,tli}.c (amu_get_myaddress): when
   2935 	users want Amd's NFS service to bind to some arbitrary "localhost"
   2936 	address, show which address was actually resolved and bound to.
   2937 
   2938 2005-03-01  Erez Zadok  <ezk (a] cs.sunysb.edu>
   2939 
   2940 	* amd/srvr_nfs.c (start_nfs_pings): move code from elsewhere
   2941 	(update_nfs_pingval) that initializes the pinger, as well as turns
   2942 	it on/off as needed, and handles changing its value.  This is to
   2943 	avoid races and other infinite-loop conditions that could result
   2944 	in ping storms.
   2945 
   2946 	* amd/srvr_amfs_auto.c (amfs_generic_find_srvr): when creating a
   2947 	new file server structure, default the ping value to AM_PINGER
   2948 	(30sec) and set the FSF_PING_UNINIT flag.
   2949 
   2950 	* amd/amd.h (FSF_PING_UNINIT): new flag to tell whether the NFS
   2951 	pinger had been initialized for a given file server.
   2952 
   2953 	* scripts/ctl-amd.in (stop): no need to check if
   2954 	/var/lock/subsys/amd file exists if you do an rm -f afterward.
   2955 	Ensure that proper return value is returned from script.
   2956 
   2957 	* NEWS, doc/am-utils.texi (opts Option): update meaning of ping=N
   2958 	so that if N=-1, pings are off; if N=0, pings are set to the
   2959 	default value (currently 30 seconds).
   2960 
   2961 2005-02-28  Erez Zadok  <ezk (a] cs.sunysb.edu>
   2962 
   2963 	* amd/nfs_prot_svc.c (nfs_program_2): on TLI system, try to call
   2964 	__rpc_get_local_uid to verify if the RPC call through the
   2965 	local host interface came from UID 0.
   2966 
   2967 	* configure.in: look for internal libnsl function
   2968 	__rpc_get_local_uid (seems to be available on all known TLI
   2969 	systems, Solaris and HP-UX 11).
   2970 
   2971 	* conf/transp/transp_tli.c (amu_svc_getcaller): unnecessary
   2972 	function for TLI systems (and it violated a array's bounds,
   2973 	discovered with libumem.so).
   2974 	(bind_resv_port, bind_resv_port_only_udp, get_autofs_address):
   2975 	just to be on the safe side, set struct t_bind's qlen field to non
   2976 	zero (64 by default).  This value cannot be zero for TCP
   2977 	connections, and it's unclear if it's good to have it zero for UDP
   2978 	connections, so setting it to 64 is safer.
   2979 
   2980 2005-02-27  Erez Zadok  <ezk (a] cs.sunysb.edu>
   2981 
   2982 	* doc/am-utils.texi (opts Option, Keep-alives): update text on
   2983 	ping option.
   2984 
   2985 	* amd/srvr_nfs.c (update_nfs_pingval): new function to update NFS
   2986 	server ping values, turn them off, or re-enable them.
   2987 	(find_nfs_srvr): call update_nfs_pingval() as needed.
   2988 
   2989 	* hlfsd/hlfsd.c (reaper, cleanup): don't use exit(3) in a signal
   2990 	handler, but use _exit(2) instead.
   2991 
   2992 	* amd/amd.c (parent_exit): This signal handler is called during
   2993 	Amd initialization.  The parent forks a child to do all the hard
   2994 	automounting work, and waits for a SIGQUIT signal from the child.
   2995 	When the parent gets the signal it's supposed to call this handler
   2996 	and exit(3), thus completing the daemonizing process.  Alas, on
   2997 	some systems, especially Linux 2.4/2.6 with Glibc, exit(3) doesn't
   2998 	always terminate the parent process.  Worse, the parent process
   2999 	now refuses to accept any more SIGQUIT signals -- they are
   3000 	blocked.  What's really annoying is that this doesn't happen all
   3001 	the time, suggesting a race condition somewhere.
   3002 	(This happens even if I change the logic to use another signal.)
   3003 	I traced this to something which exit(3) does in addition to
   3004 	exiting the process, probably some atexit() stuff or other
   3005 	side-effects related to signal handling.  Either way, since at
   3006 	this stage the parent process just needs to terminate, I'm simply
   3007 	calling _exit(2).  Note also that the OpenGroup doesn't list
   3008 	exit(3) as a recommended "Base Interface" but they do list
   3009 	_exit(2) as one.  This fix seems to work reliably all the time.
   3010 
   3011 	* scripts/wait4amd2die.in: change default to recognize that amd is
   3012 	down more quickly (check every 3 seconds instead of 5).
   3013 
   3014 2005-02-26  Erez Zadok  <ezk (a] cs.sunysb.edu>
   3015 
   3016 	* libamu/xutil.c (amu_release_controlling_tty): warn if closing
   3017 	stdin/stdout/stderr failed.  No need for tempfd.
   3018 
   3019 	* scripts/ctl-{amd,hlfsd}.in: before running any real program in
   3020 	these shell scripts, chdir to "/" to avoid possible hangs with
   3021 	existing NFS mounts.  This was causing ctl-amd's forked
   3022 	grand-child amd process to hang if restartable_mounts=no.  Go
   3023 	figure.
   3024 
   3025 2005-02-25  Erez Zadok  <ezk (a] cs.sunysb.edu>
   3026 
   3027 	* minor new port ia64-unknown-linux-rhel4
   3028 
   3029 	* fsinfo/fsi_util.c (set_ether_if): avoid u_long casting to -1
   3030 	(RHEL4 gcc 3.4.3 ia64 compiler complains).
   3031 
   3032 2005-02-24  Erez Zadok  <ezk (a] cs.sunysb.edu>
   3033 
   3034 	* minor new port i386-unknown-freebsd6.0 (6.0-CURRENT-SNAP001).
   3035 
   3036 2005-02-23  Erez Zadok  <ezk (a] cs.sunysb.edu>
   3037 
   3038 	* minor new port: i386-pc-linux-rhel3.
   3039 
   3040 	* INSTALL: major update of the compatibility list.
   3041 
   3042 	* m4/macros/os_cflags.m4: set AMU_CFLAGS not AM_CFLAGS.
   3043 
   3044 2005-02-22  Erez Zadok  <ezk (a] cs.sunysb.edu>
   3045 
   3046 	* scripts/amd.conf.5, doc/am-utils.texi (preferred_amq_port):
   3047 	document new preferred_amq_port [global] option.
   3048 
   3049 	* scripts/amd.conf-sample (preferred_amq_port): example.
   3050 
   3051 	* include/am_utils.h: add preferred_amq_port to prototype.
   3052 
   3053 	* conf/transp/transp_tli.c (bind_preferred_amq_port): new function
   3054 	to bind the Amq RPC service for UDP and TCP to a preferred port
   3055 	(or to any port if preferred_amq_port==0).
   3056 	(create_amq_service): decide if to bind to RPC_ANYFD, or to a
   3057 	requested port.
   3058 
   3059 	* conf/transp/transp_sockets.c (create_amq_service): if
   3060 	preferred_amq_port is greater than 0, then bind to that port for
   3061 	both UDP and TCP.  If preferred_amq_port==0, then bind to any
   3062 	port.
   3063 
   3064 	* amd/nfs_start.c (mount_automounter): pass global
   3065 	preferred_amq_port value to create_amq_service().
   3066 
   3067 	* amd/conf.c (gopt_preferred_amq_port): new function to parse
   3068 	amd.conf value for preferred_amq_port.
   3069 
   3070 	* amd/amd.h: placeholder for preferred_amq_port.
   3071 
   3072 2005-02-21  Erez Zadok  <ezk (a] cs.sunysb.edu>
   3073 
   3074 	* conf/transp/transp_tli.c (bind_resv_port_only_udp): rename old
   3075 	bindnfs_port to a more proper name.  This function binds the NFS
   3076 	service to a specified port, and only for UDP.
   3077 
   3078 	* conf/transp/transp_tli.c: cleanup some code, rename some
   3079 	functions, in preparation for RPC amq port specification code.
   3080 
   3081 2005-02-19  Erez Zadok  <ezk (a] cs.sunysb.edu>
   3082 
   3083 	* */Makefile.am: don't redefine CFLAGS or LDFLAGS; they are
   3084 	reserved for users to pass them on the command line.  Instead, use
   3085 	autoconf's internal AM_CFLAGS and AM_LDFLAGS.
   3086 
   3087 	* depcomp, install-sh, missing, mkinstalldirs: update from latest
   3088 	versions of Automake 1.9.2.
   3089 
   3090 	* m4/macros/*.m4: properly quote AC_DEFUN'ed macro name, and fix
   3091 	regexp/patsubst M4 commands.  Newer versions of autoconf (e.g.,
   3092 	v2.59) complain about those.
   3093 
   3094 2005-02-17  Erez Zadok  <ezk (a] cs.sunysb.edu>
   3095 
   3096 	* amd/opts.c (f_xhost): if we don't have hstrerror, just print the
   3097 	value of h_errno.
   3098 
   3099 	* configure.in: include -lresolv if it defines the hstrerror()
   3100 	function and not already available in existing libraries.
   3101 
   3102 	* minor new port: powerpc-apple-darwin7.7.0.
   3103 
   3104 	* amd/nfs_subr.c (mp_to_fh): pathlen should be u_int because it is
   3105 	later compared against an unsigned quantity (complaint from gcc
   3106 	3.3 on SuSE 8.2)
   3107 
   3108 	* include/am_utils.h: remove unnecessary (and conflicting) extern
   3109 	for bind_resv_port2(), which is declared as static in
   3110 	transp_tli.c.
   3111 
   3112 	* doc/am-utils.texi, scripts/amd.conf.5, scripts/amd.conf-sample,
   3113 	NEWS: document four new amd.conf options: nfs_retry_interval_udp,
   3114 	nfs_retransmit_counter_udp nfs_retry_interval_tcp, and
   3115 	nfs_retransmit_counter_tcp.
   3116 
   3117 	* amd/ops_nfs.c (mount_nfs_fh): set timeo/retrans values based on
   3118 	wether nfs_proto was "udp" or "tcp".
   3119 
   3120 	* amd/amfs_toplvl.c (amfs_toplvl_mount): set retrans/timeo values
   3121 	from default UDP settings (because toplvl mounts are UDP for now).
   3122 
   3123 	* amd/get_args.c (get_args): use parameters to -t option to set
   3124 	both UDP and TCP timeo/retrans values.
   3125 
   3126 	* amd/conf.c: (gopt_nfs_retransmit_counter_udp,
   3127 	(gopt_nfs_retransmit_counter_tcp, gopt_nfs_retry_interval_udp
   3128 	(gopt_nfs_retry_interval_tcp): new functions to parse UDP and TCP
   3129 	retrans/timeo parameters separately.
   3130 	(gopt_nfs_retry_interval, gopt_nfs_retransmit_counter): if
   3131 	specified, use it to set defaults for both UDP and TCP.
   3132 
   3133 	* amd/amd.c (init_global_options): initialize default values of
   3134 	both UDP and TCP retrans/timeo values to -1.
   3135 
   3136 	* amd/amd.h (AMU_TYPE_{TCP,UDP,MAX}): define separate retrans and
   3137 	timeo values, one for udp mounts and another for tcp mounts.
   3138 
   3139 2005-02-16  Erez Zadok  <ezk (a] cs.sunysb.edu>
   3140 
   3141 	* README.osx: new file with some instructions for Mac OS-X users,
   3142 	courtesy Kevin Layer.
   3143 
   3144 	* amd/get_args.c (get_args): move call to switch_to_logfile()
   3145 	after processing -v, so we don't print "no logfile defined; using
   3146 	stderr" when we're about to print version info and exit anyway.
   3147 
   3148 	* minor new port: powerpc-ibm-aix5.3.0.0.
   3149 
   3150 	* hlfsd/hlfsd.c (main): rewrite code to avoid negative array
   3151 	references.
   3152 
   3153 	* conf/checkmount/checkmount_aix.c: remove extern definition for
   3154 	mntctl(), since AIX 5.3 has it in <sys/vmount.h>.
   3155 
   3156 	* amd/info_union.c (union_reload): rewrite code to avoid negative
   3157 	array references.
   3158 
   3159 	* amd/opts.c (split_opts, expand_op): rewrite code to avoid
   3160 	negative array references.
   3161 
   3162 	* conf/mtab/mtab_aix.c: remove extern definition for mntctl(),
   3163 	since AIX 5.3 has it in <sys/vmount.h>.
   3164 
   3165 	* libamu/xutil.c (real_plog): rewrite code to avoid negative array
   3166 	references.
   3167 
   3168 	* libamu/wire.c (is_network_member): rearrange code slightly to
   3169 	avoid negative array references (AIX 5.3 xlC 7.0 compiler
   3170 	complains about it).
   3171 
   3172 2005-01-26  Erez Zadok  <ezk (a] cs.sunysb.edu>
   3173 
   3174 	* doc/am-utils.texi (xhost Selector Function): document new
   3175 	selector function.
   3176 
   3177 	* amd/opts.c (f_xhost): new function for use when matching the
   3178 	"host" selector for the current host's name.  This function will
   3179 	now match the primary host name as well as all known aliases
   3180 	(CNAMES) that gethostbyname() returns.  This function now supports
   3181 	a new function selector called xhost(ARG); the old host==ARG
   3182 	selector is unharmed.
   3183 
   3184 2005-01-17  Ion Badulescu  <ionut (a] moisil.badula.org>
   3185 
   3186 	* NEWS: document the ability to restart old mount points
   3187 
   3188 	* amd/map.c (mount_auto_node): force the fileid of the
   3189 	root to be 1, so that it won't change between restarts; use the
   3190 	root filesystem's own methods instead of hard-coding the use of
   3191 	the default methods
   3192 
   3193 	* conf/transp/transp_tli.c (create_nfs_service): better cleanup on
   3194 	error conditions.
   3195 	(bind_resv_port2): allow the caller to request a certain port.
   3196 
   3197 	* conf/transp/transp_sockets.c (bind_resv_port): allow the caller
   3198 	to request a certain port.
   3199 	(create_nfs_service): better cleanup on error conditions.
   3200 
   3201 	* amd/restart.c (restart_automounter_nodes): new function, takes
   3202 	care of restarting automounter NFS mount points (autofs will come
   3203 	later).
   3204 	(restart): skip all automounter mount points.
   3205 
   3206 	* amd/nfs_subr.c (fh_to_mp3, mp_to_fh): new filehandle
   3207 	implementation: if the path to the node is shorter than sizeof(fh)
   3208 	chars (currently 32 chars for a NFSv2 fh), simply store it inside
   3209 	the fh. For longer paths, keep the old implementation.
   3210 
   3211 	* amd/nfs_start.c (mount_automounter): reorder things so that
   3212 	restarting the toplvl filesystems occurs before anything else (so
   3213 	that we can grab all the ports we need before we accidentally use
   3214 	them for something else).
   3215 
   3216 	* amd/mntfs.c (locate_mntfs): remove dead code; add special
   3217 	handling of restarted toplvl filesystems.
   3218 
   3219 	* amd/mapc.c (root_keyiter): fix up a comment.
   3220 
   3221 	* amd/map.c (path_to_exported_ap): new function, searches for and
   3222 	returns a node by the path to it.
   3223 	(get_root_nfs_fh): remove unnecessary fiddling with the root fh.
   3224 
   3225 	* config.guess.long: support Red Hat Enterprise Linux
   3226 
   3227 2005-01-17  Erez Zadok  <ezk (a] cs.sunysb.edu>
   3228 
   3229 	* libamu/util.c (rmdirs): prevent amd from logging 'Read-only
   3230 	filesystem' errors when the mount point has an ancestor (i.e. '/')
   3231 	that is mounted read-only.  Patch from David Rage <rage (a] ucl.ac.uk>.
   3232 
   3233 2005-01-17  Ion Badulescu  <ionut (a] moisil.badula.org>
   3234 
   3235 	* conf/umount/umount_linux.c (umount_fs): Linux doesn't need the
   3236 	autofs space hack
   3237 
   3238 	* conf/umount/umount_default.c (umount_fs): there is no need for
   3239 	HAVE_LOOP_DEV, now that Linux has its own dedicated umount_linux.c
   3240 
   3241 2005-01-17  Erez Zadok  <ezk (a] cs.sunysb.edu>
   3242 
   3243 	* doc/am-utils.texi (Automatic Unmounting): document new umount2()
   3244 	behavior on Linux.
   3245 
   3246 	* conf/umount/umount_linux.c (umount_fs): new file.  On Linux, if
   3247 	umount(2) failed with EIO or ESTALE, try umount2(2) with
   3248 	MNT_FORCE+MNT_DETACH.  Based on patch from Christos Zoulas
   3249 	<christos (a] zoulas.com>.
   3250 
   3251 	* m4/macros/check_umount_style.m4: pick new linux umount style.
   3252 
   3253 	* Makefile.am (EXTRA_DIST_CONF): distribute new umount_linux.c
   3254 	file.
   3255 
   3256 2005-01-16  Erez Zadok  <ezk (a] cs.sunysb.edu>
   3257 
   3258 	* conf/nfs_prot/nfs_prot_aix{4_2,4_3,5_1,5_2}.h,
   3259 	m4/macros/struct_nfs_args.m4: minor cleanups for quicker execution
   3260 	of "nfs_args" test.
   3261 
   3262 2005-01-13  Erez Zadok  <ezk (a] cs.sunysb.edu>
   3263 
   3264 	* amd/get_args.c (show_usage): separate function to print usage
   3265 	string.
   3266 	(get_args) Call show_usage() from get_args when needed, then exit.
   3267 
   3268 	* amd/get_args.c (get_version_string): print also domain, host,
   3269 	and hostd.
   3270 	(get_args): print version string at the very end, after all other
   3271 	values had been initialized.  Patch from Christos Zoulas
   3272 	<christos (a] zoulas.com>.
   3273 
   3274 	* conf/transp/transp_sockets.c (check_pmap_up, get_nfs_version),
   3275 	conf/transp/transp_tli.c (check_pmap_up): correct an inconsistency
   3276 	in timeouts in the RPC code between socket and TLI
   3277 	implementations.  The clntudp_create timeout has a different
   3278 	meaning than the clnt_call timeout.  Set the timeout of the create
   3279 	to 2 seconds which means retry if no answer in two seconds, and
   3280 	the timeout call to 6 seconds, which will give us consistently 2
   3281 	to 3 pings.  This is useful on occasional network UDP loss where a
   3282 	single packet loss would wrongfully mark a server down.  (The TLI
   3283 	code is the one that had the problem occurs.)  Patch from Christos
   3284 	Zoulas <christos (a] zoulas.com>.
   3285 
   3286 	* libamu/mount_fs.c (compute_nfs_attrcache_flags): make sure code
   3287 	compiles even for systems that don't have the nfs_args
   3288 	ac{reg,dir}{min,max} fields.
   3289 
   3290 	* amd/amfs_toplvl.c (set_auto_attrcache_timeout): just to be safe,
   3291 	add "noac" if amd.conf option auto_attrcache was set to 0.  This
   3292 	should hopefully make the compute_nfs_attrcache_flags patch even
   3293 	safer.
   3294 
   3295 	* libamu/mount_fs.c (compute_nfs_attrcache_flags): separate
   3296 	function to compute attribute-cache values.  This function now
   3297 	computes attribute-cache flags for BOTH Amd's automount points
   3298 	(NFS) as well as any normal NFS mount that Amd performs.
   3299 	(compute_nfs_args, compute_automounter_nfs_args): call
   3300 	compute_nfs_attrcache_flags to figure out attribute-cache related
   3301 	flags.  Patch from Christos Zoulas <christos (a] zoulas.com>.
   3302 
   3303 	* scripts/amd.conf-sample: show examples of new global options
   3304 	domain_strip and auto_attrcache.
   3305 
   3306 	* scripts/amd.conf.5: document new global options domain_strip and
   3307 	auto_attrcache.  Add warning to auto_attrcache use in case of
   3308 	ESTALE.
   3309 
   3310 	* doc/am-utils.texi: minor cleanups and document new global
   3311 	options domain_strip and auto_attrcache.  Add warning to
   3312 	auto_attrcache use in case of ESTALE.
   3313 
   3314 	* amd/conf.c (gopt_auto_attrcache): parse new global amd.conf
   3315 	option auto_attrcache.
   3316 	(gopt_domain_strip): parse new global amd.conf option
   3317 	domain_strip.  Part of a patch from Christos Zoulas
   3318 	<christos (a] zoulas.com>.
   3319 
   3320 	* amd/autil.c (host_normalize): don't call domain_strip()
   3321 	unconditionally, but depend on the new global amd.conf flag
   3322 	domain_strip.
   3323 
   3324 	* amd/amfs_toplvl.c (set_auto_attrcache_timeout): new function to
   3325 	set attribute cache timeout value given other configured global
   3326 	defaults.
   3327 	(amfs_toplvl_mount): set automount point attribute cache option
   3328 	value to "noac" if attrcache=0, else set it to whatever
   3329 	set_auto_attrcache_timeout() returns.
   3330 
   3331 	* amd/amd.h (CFM_DOMAIN_STRIP, CFM_DEFAULT_FLAGS): flag to decide
   3332 	if to strip the domain from the host name or not, default options
   3333 	set to strip the domain.
   3334 	Store global value of automount attribute cache timeout value.
   3335 
   3336 	* amd/amd.c (init_global_options): add flag to record automount
   3337 	point attribute cache value.
   3338 
   3339 	* amd/amd.c (do_memory_locking): new function to encapsulate all
   3340 	of the memory-locking functionality, which was in main() before.
   3341 	Also added a call to madvise(), just in case.
   3342 	(main): call do_memory_locking() to pin process memory if amd.conf
   3343 	asked for it, but do so after the main Amd process daemonizes,
   3344 	because mlock/mlockall is not inherited by fork() by default.
   3345 	Slightly restructured patch from Jonathan Chen
   3346 	<jon+amd (a] spock.org>.
   3347 
   3348 	* configure.in: check for madvise(2).
   3349 
   3350 	* config.guess, config.sub: updates for latest official GNU
   3351 	versions.
   3352 
   3353 	* m4/GNUmakefile: update paths to "make update"
   3354 
   3355 2005-01-12  Erez Zadok  <ezk (a] cs.sunysb.edu>
   3356 
   3357 	* conf/nfs_prot/nfs_prot_hpux11.h: define an nfs_fh3 structure
   3358 	that's compatible for HPUX11 as well as NFSv3.
   3359 
   3360 	* include/am_defs.h: On AIX 5.2, both <resolv.h> and
   3361 	<arpa/nameser_compat.h> define MAXDNAME, if compiling with gcc
   3362 	-D_USE_IRS (so that we get extern definitions for hstrerror() and
   3363 	others).  So undef MAXDNAME before it gets redefined.
   3364 
   3365 	* include/am_defs.h: Solaris 10 (build 72) defines GROUP_OBJ in
   3366 	<sys/acl.h>, which is included in many other header files.
   3367 	<rpcsvc/nis.h> uses GROUP_OBJ inside enum zotypes.  So if you're
   3368 	unlucky enough to include both headers, you get a compile error
   3369 	because the two symbols conflict.  Temp hack: undefine acl.h's
   3370 	GROUP_OBJ before including nis.h, because we don't need acl.h for
   3371 	am-utils.
   3372 
   3373 	* m4/macros/os_cflags.m4: turn -D_USE_IRS for AIX5+ so that
   3374 	certain extern definitions of resolver functions become available.
   3375 
   3376 	* amd/opts.c (expand_op): use #define for expand_error string
   3377 	because some compilers complain about the use of static const
   3378 	char[] inside a varargs function.
   3379 
   3380 	* minor new port i386-unknown-netbsdelf1.6.2.
   3381 
   3382 	* new port i386-unknown-netbsdelf2.0.
   3383 
   3384 	* minor port i386-unknown-freebsd5.3.
   3385 
   3386 	* libamu/mount_fs.c (compute_nfs_args): don't compare
   3387 	nap->maxgrouplist against NULL but against 0 directly, because on
   3388 	FreeBSD 4.3, NULL is defined is (void *)0 and gcc 3.4 complains
   3389 	about a type mismatch.
   3390 
   3391 	* minor port i386-pc-linux-fc3 (Fedora Core 3).
   3392 
   3393 2005-01-11  Erez Zadok  <ezk (a] cs.sunysb.edu>
   3394 
   3395 	* hlfsd/hlfsd.c (main): use sigsuspend() over sigpause(), because
   3396 	FC3 doesn't have proper extern definition for the defunct
   3397 	sigpause().
   3398 
   3399 	* configure.in: look for sigsuspend().
   3400 
   3401 2005-01-01  Erez Zadok  <ezk (a] cs.sunysb.edu>
   3402 
   3403 	* updated copyright year to 2005 on all files.
   3404 
   3405 2004-11-29  Erez Zadok  <ezk (a] cs.sunysb.edu>
   3406 
   3407 	* scripts/amd.conf.5: Small fixes to typos in man page, from
   3408 	Thomas Klausner <tk (a] giga.or.at>.
   3409 
   3410 2004-10-22  Erez Zadok  <ezk (a] cs.sunysb.edu>
   3411 
   3412 	* ldap.schema: add this file to distribution.
   3413 
   3414 2004-09-15  Erez Zadok  <ezk (a] cs.sunysb.edu>
   3415 
   3416 	* doc/am-utils.texi: fix old URLs.
   3417 
   3418 2004-09-01  Erez Zadok  <ezk (a] cs.sunysb.edu>
   3419 
   3420 	* conf/mtab/mtab_aix.c (read_mtab): avoid a race condition between
   3421 	multiple calls to mntctl().  Patch suggested by Michael van Elst
   3422 	<M.van.Elst (a] science-computing.de>.
   3423 
   3424 2004-08-07  Erez Zadok  <ezk (a] cs.sunysb.edu>
   3425 
   3426 	* doc/am-utils.texi (Program Filesystem): document how to get
   3427 	double slashes in Amd maps.
   3428 
   3429 	* amd/opts.c (normalize_slash): support escaped slashes, needed
   3430 	for SMB mounts.  Use '\\\/\\\/' in a string to get a double slash.
   3431 
   3432 2004-08-06  Erez Zadok  <ezk (a] cs.sunysb.edu>
   3433 
   3434 	* amd/amfs_program.c (amfs_program_match): bug fix.  Complain if
   3435 	both opt_unmount and opt_umount are missing, not when just one of
   3436 	them is missing.
   3437 
   3438 2004-08-03  Erez Zadok  <ezk (a] cs.sunysb.edu>
   3439 
   3440 	* amq/pawd.c (find_mt): recognize "linkx" type mounts.  Patch from
   3441 	Hauke Fath <hauke (a] Espresso.Rhein-Neckar.DE>.  Support "nfsx" while
   3442 	we're at it.
   3443 
   3444 	* doc/am-utils.texi: mention bugzilla.  Fix broken URL HREF's.
   3445 
   3446 2004-08-02  Erez Zadok  <ezk (a] cs.sunysb.edu>
   3447 
   3448 	* amq/pawd.c (find_mt): recognize "host" type mounts.  Patch from
   3449 	Dan Nelson <dnelson (a] allantgroup.com>.
   3450 
   3451 2004-07-30  Erez Zadok  <ezk (a] cs.sunysb.edu>
   3452 
   3453 	* doc/am-utils.texi, NEWS: minor typos fixed.
   3454 
   3455 2004-07-30  Erez Zadok  <ezk (a] play.cs.columbia.edu>
   3456 
   3457 	* include/am_xdr_func.h: cannot have field-less structure; put a
   3458 	dummy field in.
   3459 
   3460 	* conf/autofs/autofs_solaris_v2_v3.c (xdr_autofs_rddirargs): cast
   3461 	2nd arg of xdr_u_int to a u_int*, not int*.
   3462 	(autofs_mount_2_req): don't use C++ // comments.
   3463 
   3464 2004-07-30  Erez Zadok  <ezk (a] cs.sunysb.edu>
   3465 
   3466 	* m4/macros/{try_compile_anyfs,check_field}.m4: include
   3467 	<fs/msdosfs/msdosfsmount.h> if it exists.  Part of a set of
   3468 	FreeBSD 5 patches from Martin Blapp <mb (a] imp.ch>.
   3469 
   3470 	* include/am_defs.h: include <fs/msdosfs/msdosfsmount.h> if it
   3471 	exists.
   3472 
   3473 	* amd/ops_pcfs.c (mount_pcfs): set pcfs_args_t.dirmask field to
   3474 	0777 by default.
   3475 
   3476 	* configure.in: check for pcfs_args_t.dirmask field.  Check for
   3477 	existence of <fs/msdosfs/msdosfsmount.h>, new on FreeBSD 5.
   3478 
   3479 2004-07-29  Erez Zadok  <ezk (a] cs.sunysb.edu>
   3480 
   3481 	* minor new port: i386-pc-linux-fc2 (Fedora Core 2).
   3482 
   3483 	* amd/info_ldap.c (amu_ldap_rebind): don't use ldap_enable_cache()
   3484 	unless the function exists in libldap and the extern is in
   3485 	<ldap.h>.  Recently, openldap removed the extern from ldap.h, but
   3486 	left the function in libldap, for binary compatibility; however
   3487 	ldap_enable_cache and related functions have been deprecated (and
   3488 	no longer listed in the header files), and therefore should be
   3489 	avoided.
   3490 
   3491 	* m4/macros/check_extern_ldap.m4: new macro to check for
   3492 	LDAP-specific externs.  This is separate from check_extern.m4 so
   3493 	as to avoid breaking the general-purpose macro with LDAP-specific
   3494 	headers.
   3495 
   3496 	* m4/macros/header_templates.m4: extern template for new
   3497 	HAVE_EXTERN_LDAP_ENABLE_CACHE.
   3498 
   3499 	* configure.in: call new check_extern_ldap.m4 macro.
   3500 
   3501 	* Makefile.am (EXTRA_DIST_M4): distribute new check_extern_ldap.m4
   3502 	macro.
   3503 
   3504 	* config.guess.long: distinguish between redhat and fedora-core
   3505 	releases.
   3506 
   3507 2004-07-23  Erez Zadok  <ezk (a] cs.sunysb.edu>
   3508 
   3509 	* Minor new port i386-pc-linux-suse8.2: minor new port to SuSE
   3510 	8.2.  This systems' latest GCC (gcc version 3.3 20030226
   3511 	prerelease) correctly caught a lot of possibly bad comparisons
   3512 	between signed and unsigned quantities.
   3513 
   3514 	* hlfsd/homedir.c (table_add, plt_search): changed first arg of
   3515 	both functions to u_int.
   3516 
   3517 	* hlfsd/hlfsd.h, hlfsd/hlfsd.c: change 'cache_interval' to u_int.
   3518 	Changed proto for plt_search arg to u_int.
   3519 
   3520 	* amq/amq.c (show_mi, main): change 'i' to u_int.
   3521 
   3522 	* amq/pawd.c (find_mlp): change 'i' to u_int.
   3523 
   3524 	* amd/srvr_nfs.c (find_nfs_srvr): change proto_nfs_version to
   3525 	u_int.
   3526 
   3527 	* amd/amd.h: change prototype of vreaddir and amfs_error_readdir
   3528 	to use u_int count parameter.
   3529 
   3530 	* amd/ops_TEMPLATE.c (foofs_readdir), amd/amfs_error.c
   3531 	(amfs_error_readdir): change 'count' parameter in proto to u_int.
   3532 
   3533 	* amd/amd.h: change proto of amfs_generic_readdir() to use u_int
   3534 	count parameter.
   3535 
   3536 	* amd/readdir.c (make_entry_chain): preflen should be u_int.
   3537 	(amfs_readdir_browsable): change 'count' to u_int.
   3538 	(amfs_generic_readdir): change 'count' to u_int.
   3539 
   3540 	* amd/amd.h: amu_global_options's portmap_program field should be
   3541 	u_long, not int (to match RPC conventions).  Change am_fh's
   3542 	fhh_gen field to u_int, to match am_gen field in struct am_node.
   3543 
   3544 	* amd/conf.c (gopt_portmap_program): use atol() instead of atoi()
   3545 	to avoid size differences.
   3546 
   3547 	* conf/mount/mount_linux.c (find_unused_loop_device): cast to int
   3548 	to avoid comparison between chars and integers.
   3549 
   3550 	* libamu/mount_fs.c (get_hex_string): change 'i' to u_int to avoid
   3551 	comparisons between signed and unsigned integers.
   3552 
   3553 2004-07-13  Erez Zadok  <ezk (a] cs.sunysb.edu>
   3554 
   3555 	* minor new port: i386-pc-linux-suse9.1.
   3556 
   3557 	* include/am_defs.h: don't use __kernel_dev_t for dev_t on Linux,
   3558 	because SuSE wants __kernel_old_dev_t.  Instead, just define it
   3559 	directly to what they both use: an unsigned short.
   3560 
   3561 2004-05-27  Erez Zadok  <ezk (a] cs.sunysb.edu>
   3562 
   3563 	* minor new port: i386-unknown-freebsd4.10
   3564 
   3565 2004-04-29  Ion Badulescu  <ionut (a] moisil.badula.org>
   3566 
   3567 	* amd/amfs_generic.c (amfs_lookup_one_mntfs): fix the creation of
   3568 	mountpoints for autofs-based sublinks the right way
   3569 
   3570 2004-04-28  Ion Badulescu  <ionut (a] moisil.badula.org>
   3571 
   3572 	Fixes for various memory management problems discovered by
   3573 	Rainer's purify run:
   3574 
   3575 	* conf/transp/transp_tli.c (check_pmap_up): zero out struct
   3576 	timeval before using;
   3577 	(get_nfs_version): ditto
   3578 
   3579 	* amd/map.c (umount_exported): make sure we don't try to free the
   3580 	same am_node multiple times, by setting its corresponding
   3581 	exported_ap slot to null
   3582 
   3583 	* amd/get_args.c (get_version_string): a static pointer is pretty
   3584 	pointless, make it automatic
   3585 
   3586 	* amd/conf.c (gopt_debug_options): remove unnecessary strdup();
   3587 	(gopt_log_options): ditto
   3588 	(gopt_print_version): free version string after using it
   3589 
   3590 	* amd/autil.c (mf_mounted): free mntfs->mf_fo instead of leaking
   3591 	it
   3592 
   3593 	* amd/amfs_generic.c (amfs_lookup_one_mntfs): use the CALLOC macro
   3594 	(amfs_lookup_mntfs): free def_opts on return
   3595 
   3596 	* amd/amd.c (daemon_mode): zero out struct sigaction before using
   3597 	it;
   3598 	(main): ditto
   3599 
   3600 2004-04-27  Ion Badulescu  <ionut (a] moisil.badula.org>
   3601 
   3602 	* amd/amfs_generic.c (amfs_lookup_one_mntfs): force FS_MKMNT on
   3603 	the real mount of an autofs-based sublink
   3604 
   3605 2004-04-25  Ion Badulescu  <ionut (a] moisil.badula.org>
   3606 
   3607 	* amd/map.c (free_map_if_success): avoid dereferencing a pointer
   3608 	to potentially freed memory
   3609 
   3610 2004-02-26  Erez Zadok  <ezk (a] cs.sunysb.edu>
   3611 
   3612 	* minor new port: i386-unknown-freebsd5.2.1.
   3613 
   3614 2004-01-30  Ion Badulescu  <ion (a] guppy.limebrokerage.com>
   3615 
   3616 	* scripts/ctl-hlfsd.in: don't run hlfsd with -D fork
   3617 
   3618 2004-01-25  Erez Zadok  <ezk (a] cs.sunysb.edu>
   3619 
   3620 	* minor new port: sparc64-unknown-linux-deb3.0
   3621 
   3622 	* config.guess.long: recoognize Debian Linux.
   3623 
   3624 2004-01-22  Erez Zadok  <ezk (a] cs.sunysb.edu>
   3625 
   3626 	* conf/transp/transp_tli.c (amu_get_myaddress): use
   3627 	htonl(INADDR_LOOPBACK) and define INADDR_LOOPBACK if not already
   3628 	available.
   3629 
   3630 2004-01-21  Erez Zadok  <ezk (a] cs.sunysb.edu>
   3631 
   3632 	* wire-test/wire-test.c, hlfsd/hlfsd.c (main): pass NULL as second
   3633 	parameter to amu_get_myaddress().
   3634 
   3635 	* conf/transp/transp_tli.c (amu_get_myaddress): resolve value of
   3636 	localhost_address amd.conf parameter, if defined (else default to
   3637 	HOST_SELF_CONNECT).
   3638 	Removed htonl() around socket address copying (I think it was
   3639 	wrong) since plog("My IP address is...") in amd.c was printing
   3640 	addresses wrong on Solaris x86..
   3641 
   3642 	* conf/transp/transp_sockets.c (amu_get_myaddress): comment out
   3643 	old DEBUG code that warns if 127.0.0.1 isn't the same as what
   3644 	get_myaddress() reports.  Add code to resolve value of
   3645 	localhost_address amd.conf parameter, if defined (else default to
   3646 	127.0.0.1).
   3647 
   3648 	* amd/conf.c (gopt_localhost_address): new function to parse
   3649 	amd.conf parameter localhost_address.
   3650 
   3651 	* amd/amd.h: global field to store amd.conf localhost_address
   3652 	parameter.
   3653 
   3654 	* amd/amd.c (main): call amu_get_myaddress with global option,
   3655 	which could have been set in amd.conf.
   3656 
   3657 	* NEWS, doc/am-utils.texi, scripts/amd.conf-sample,
   3658 	scripts/amd.conf.5: document new option localhost_address.
   3659 
   3660 2004-01-20  Ion Badulescu  <ionut (a] moisil.badula.org>
   3661 
   3662 	* amd/conf.c (gopt_nfs_allow_insecure_port): support function for
   3663 	the new "nfs_allow_insecure_port" amd.conf directive
   3664 
   3665 	* amd/nfs_prot_svc.c (nfs_program_2): complain about the insecure
   3666 	port and drop the request only if the "nfs_allow_insecure_port"
   3667 	option is not set in amd.conf
   3668 
   3669 	* doc/am-utils.texi (Global Parameters): documented the new
   3670 	amd.conf directive "nfs_allow_insecure_port"
   3671 
   3672 	* scripts/amd.conf.5 (nfs_allow_insecure_port): ditto
   3673 
   3674 	* scripts/amd.conf-sample (nfs_allow_insecure_port): added the
   3675 	"nfs_allow_insecure_port" directive
   3676 
   3677 2004-01-20  Erez Zadok  <ezk (a] cs.sunysb.edu>
   3678 
   3679 	* doc/am-utils.texi: amd-workers is defunct.
   3680 
   3681 2004-01-19  Erez Zadok  <ezk (a] cs.sunysb.edu>
   3682 
   3683 	* cvs-server.txt: updated instructions
   3684 
   3685 2004-01-18  Erez Zadok  <ezk (a] cs.sunysb.edu>
   3686 
   3687 	* minor new port: i386-unknown-freebsd5.2.
   3688 
   3689 2004-01-05  Erez Zadok  <ezk (a] cs.sunysb.edu>
   3690 
   3691 	* MIRRORS.{txt,html}: verify each mirror site, update to new
   3692 	locations (if found), and remove stale mirrors URLs.
   3693 
   3694 	* updated copyright year to 2004 on all files.
   3695 
   3696 2004-01-03  Erez Zadok  <ezk (a] cs.sunysb.edu>
   3697 
   3698 	* MIRRORS.txt: track status.
   3699 
   3700 	* Makefile.am (install-snapshot): new directory to install
   3701 	snapshots (now that am-utils home page is moved).
   3702 
   3703 2004-01-02  Erez Zadok  <ezk (a] cs.sunysb.edu>
   3704 
   3705 	* INSTALL, README.autofs: remove forced text-mode.
   3706 
   3707 	* doc/am-utils.texi: fix Amd book URL.
   3708 
   3709 	* Makefile.am (EXTRA_DIST): include new mirror files in tarball.
   3710 
   3711 	* AUTHORS, BUGS, README, README.y2k, configure.in,
   3712 	doc/am-utils.texi: revisions to use newer URLs for Web site, FTP,
   3713 	and mailing lists.
   3714 
   3715 	* MIRRORS.{html,txt}: updates.
   3716 
   3717 	* doc/Makefile.am: install mirror lists officially.
   3718 
   3719 2004-01-01  Erez Zadok  <ezk (a] cs.sunysb.edu>
   3720 
   3721 	* tasks: things to do after migrating ftp/Web sites.
   3722 
   3723 2003-12-09  Erez Zadok  <ezk (a] cs.sunysb.edu>
   3724 
   3725 	* fsinfo/fsinfo.8: fixed typo (unbalanced []) in man page.  Bug
   3726 	report from Eric S. Raymond <esr (a] thyrsus.com>.
   3727 
   3728 2003-11-18  Erez Zadok  <ezk (a] cs.sunysb.edu>
   3729 
   3730 	* Makefile.am (EXTRA_DIST_M4): exclude removed file
   3731 	m4/macros/struct_nfs_fh3.m4 from distro.
   3732 
   3733 2003-10-24  Rainer Orth  <ro (a] TechFak.Uni-Bielefeld.DE>
   3734 
   3735 	* libamu/xdr_func.c (xdr_am_nfs_fh3): Use AM_FHSIZE3 instead of
   3736 	FHSIZE3 (may be undefined).
   3737 
   3738 2003-10-24  Ion Badulescu  <ion (a] guppy.limebrokerage.com>
   3739 
   3740 	Compile fix for Solaris7 with LDAP:
   3741 
   3742 	* include/am_defs.h: moved the ldap headers before am_nfs_prot.h
   3743 	to facilitate using ldap types in it
   3744 
   3745 	* conf/nfs_prot/nfs_prot_sunos5_7.h: add a couple of ldap
   3746 	definitions that Sun left out of their headers
   3747 
   3748 2003-10-24  Ion Badulescu  <ionut (a] moisil.badula.org>
   3749 
   3750 	* conf/nfs_prot/nfs_prot_*.h: remove all NFSv3-related
   3751 	definitions, they are now defined globally
   3752 
   3753 	* libamu/xdr_func.c: unconditionally define all xdr functions
   3754 	needed for NFSv3, but with an am_ prefix to prevent namespace
   3755 	collisions
   3756 
   3757 	* amd/amfs_host.c, amd/ops_nfs.c, amd/srvr_nfs.c,
   3758 	libamu/mount_fs.c: added the am_ prefix to all
   3759 	structures and functions having to do with NFSv3 to prevent
   3760 	namespace collisions
   3761 
   3762 	* include/am_utils.h: moved definition of am_nfs_handle to ...
   3763 
   3764 	* include/am_xdr_func.h: ... here. Also define AM_FHSIZE3,
   3765 	am_nfs_fh3, AM_NFSPROC3_LOOKUP, am_nfsstat3, am_fhandle3,
   3766 	am_mountstat3, am_mountres3_ok, am_mountres3, am_filename3,
   3767 	am_diropargs3, am_LOOKUP3args, am_LOOKUP3resok, am_LOOKUP3resfail,
   3768 	am_LOOKUP3res here; remove cross-platform compile helper macros
   3769 	AMU_LOOKUP3RES_*.
   3770 
   3771 	* include/am_defs.h: include am_xdr_func.h before am_utils.h to
   3772 	provide definitions for NFS filehandles
   3773 
   3774 	* amd/amd.h: removed declaration for xdr_mountres3
   3775 
   3776 	* doc/am-utils.text: minor warning fix
   3777 
   3778 	* BUGS: document the autoconf warnings when trying to compile
   3779 	system header files in isolation
   3780 
   3781 2003-10-23  Ion Badulescu  <ionut (a] moisil.badula.org>
   3782 
   3783 	* m4/macros/struct_nfs_fh3.m4: removed, not needed
   3784 
   3785 	* configure.in: check if struct mounta has the optptr field;
   3786 	removed all NFSv3-related checks, we implement everything
   3787 	internally now
   3788 
   3789 	* conf/autofs/autofs_solaris_v2_v3.c (autofs_mount_2_free): don't
   3790 	touch mnt->optptr unless HAVE_MOUNTA_OPTPTR is defined
   3791 
   3792 2003-10-22  Ion Badulescu  <ionut (a] moisil.badula.org>
   3793 
   3794 	* m4/macros/struct_nfs_fh3.m4: removed, not used anymore
   3795 
   3796 	* libamu/xdr_func.c (xdr_am_nfs_fh3): update xdr_am_nfs_fh3
   3797 	comments
   3798 
   3799 	* configure.in: don't check for xdr_nfs_fh3 and struct nfs_fh3, we
   3800 	always use our own
   3801 
   3802 2003-10-22  Ion Badulescu  <ion (a] guppy.limebrokerage.com>
   3803 
   3804 	* BUGS: document the limitations of bind mounts on Linux
   3805 
   3806 2003-10-21  Ion Badulescu  <ionut (a] moisil.badula.org>
   3807 
   3808 	* buildall: added support for -i (make install)
   3809 
   3810 2003-10-16  Rainer Orth  <ro (a] TechFak.Uni-Bielefeld.DE>
   3811 
   3812 	* NEWS: New minor port i386-pc-solaris2.10 (Solaris 10).
   3813 	* INSTALL: Mention its test status.
   3814 
   3815 2003-10-16  Erez Zadok  <ezk (a] cs.sunysb.edu>
   3816 
   3817 	* amd/ops_nfs.c (nfs_init): declare as static to match forward
   3818 	definition at top of file.
   3819 
   3820 	* conf/nfs_prot/nfs_prot_{hpux11, netbsd1_4,openbsd,aix5_2}.h:
   3821 	added missing definitions for LOOKUP3res, diropargs3, etc.
   3822 
   3823 2003-10-15  Erez Zadok  <ezk (a] cs.sunysb.edu>
   3824 
   3825 	* libamu/xdr_func.c (xdr_LOOKUP3res, xdr_am_nfs_fh3),
   3826 	libamu/mount_fs.c (compute_nfs_args), amd/ops_nfs.c
   3827 	(got_nfs_fh_mount, got_nfs_fh_webnfs, prime_nfs_fhandle_cache,
   3828 	webnfs_lookup), amd/amfs_host.c (fetch_fhandle): Attempt to
   3829 	cleanup some inconsistencies with how we treat NFSv3 file handles.
   3830 	Whenever we need to get data out of a filehandle given to us, we
   3831 	assume that it uses the OS's native fhandle structure
   3832 	(often struct nfs_fh3).  When we store the fhandle data for our
   3833 	own use, however, we store it in one of two ways.  The first, is
   3834 	that we use the system's default nfs_fh3 structure; the second is
   3835 	that we define out own struct am_nfs_fh3 in nfs_prot.h (and go
   3836 	through an elaborate autoconf song-and-dance to "discover" it as a
   3837 	native fh3 handle structure).  It appears that we do the latter,
   3838 	instead of using the system's default fhandle structure, simply to
   3839 	avoid extra malloc's and free's, because whereas nfsv2's fhandle
   3840 	structure is a simple 32-byte buffer, nfsv3's fhandle structures
   3841 	often just define a "char *" for the fhandle data, and the caller
   3842 	must malloc/free the space inside as needed.  Our code was never
   3843 	written with constructor/destructor callbacks for these nfsv3
   3844 	filehandles.  Moreover, we carefully wrote our own am_nfs_fh3
   3845 	structure so IT JUST SO HAPPENS to align with most (hopefully all)
   3846 	of the fhandle structures for v3: first four bytes are the length
   3847 	fields and the next four bytes are the fhandle data.  Sigh.
   3848 	Having this inconsistent use of v3 filehandles can be a real bear,
   3849 	because we simply cannot avoid using the system's default fhandle
   3850 	structure indirectly, through things like diropargs3 in
   3851 	xdr_diropargs3(), which has inside of it a reference to the
   3852 	system's default nfs_fh3 structure.  ANYWAY, the current fix I've
   3853 	come up with is to generalize the way we dereference field names
   3854 	within the nfs_fh3 structure (whether ours or the system's) and
   3855 	the same for the system's LOOKUP3res structure.  I'm not pleased
   3856 	with this fix; I'd rather we don't use our own am_nfs_fh3
   3857 	structure at all.
   3858 
   3859 	* libamu/xdr_func.c (xdr_am_nfs_fh3): always define this
   3860 	function if we have NFS3, because we often use our own,
   3861 	incompatible am_nfs_fh3 structure.
   3862 
   3863 	* include/am_xdr_func.h: We cannot use the native system's
   3864 	xdr_nfs_fh3 because we are defining our own incompatible
   3865 	am_hfs_fh3 structure for some systems.
   3866 
   3867 	* include/am_xdr_func.h: Define default values for field names of
   3868 	struct nfs_fh3 and LOOKUP3res.
   3869 
   3870 	* doc/am-utils.texi (debug_options Parameter): minor typo fixed.
   3871 
   3872 	* conf/nfs_prot/nfs_prot_freebsd3.h: FreeBSD uses different fields
   3873 	names for struct nfs_fh3 and LOOKUP3res, so override the default
   3874 	names here.
   3875 
   3876 	* configure.in: AMU_CHECK_FS_MNTENT(nfs3) test before
   3877 	AMU_STRUCT_NFS_FH3, because the latter depends on the former.
   3878 
   3879 	* amd/ops_nfs.c (prime_nfs_fhandle_cache): add {} to disambiguate
   3880 	and clarify if-the-else clauses.
   3881 
   3882 2003-10-13  Ion Badulescu  <ionut (a] moisil.badula.org>
   3883 
   3884 	* amd/get_args.c (get_version_string): change "Built by" to
   3885 	"Configured by", and add a new "Built by" line using the variables
   3886 	below
   3887 
   3888 	* m4/update_build_version (vers): add BUILD_USER, BUILD_HOST, and
   3889 	BUILD_DATE to build_version.h
   3890 
   3891 	* amd/mntfs.c (locate_mntfs): fix restarted filesystems: mf_fo
   3892 	must be initialized even for them, otherwise we lose opt_sublink
   3893 	(and perhaps other options as well). Report from Rainer Orth.
   3894 
   3895 	* amd/amfs_generic.c (amfs_bgmount): The fix for the mf_fo NULL
   3896 	pointer dereferencing was a bit too aggressive and could end up
   3897 	not processing the sublink option if the filesystem was already
   3898 	mounted.
   3899 
   3900 2003-10-11  Ion Badulescu  <ionut (a] moisil.badula.org>
   3901 
   3902 	Fix restarted filesystem by disabling the amfs_inherit filesystem
   3903 	and moving the restarting logic into the generic code. The old
   3904 	code is still there, will be removed sometime in the near future.
   3905 
   3906 	* amd/mntfs.c (locate_mntfs): disable amfs_inherit and simply
   3907 	return the pointer to the restarted filesystem
   3908 	(free_mntfs): check for the MFF_RESTART flag instead of the
   3909 	amfs_inherit ops
   3910 
   3911 	* amd/autil.c (mf_mounted): remove the MFF_RESTART flag once the
   3912 	filesystem is in use
   3913 
   3914 	* amd/amfs_nfsx.c (amfs_nfsx_init): only call fs_init() if the
   3915 	filesystem is not being restarted
   3916 	(amfs_nfsx_remount): if the filesystem is already mounted,
   3917 	short-circuit the code and just continue
   3918 
   3919 	* amd/amfs_generic.c (amfs_bgmount): only call fs_init() if the
   3920 	filesystem is not being restarted; remove hack that was used to
   3921 	work around an amfs_inherit problem
   3922 
   3923 2003-10-09  Rainer Orth  <ro (a] TechFak.Uni-Bielefeld.DE>
   3924 
   3925 	Use WebNFS to obtain file handles for mount(2).
   3926 
   3927 	* NEWS: Document WebNFS support.
   3928 
   3929 	* configure.in: Check for public mount option.
   3930 	* include/am_compat.h (MNTTAB_OPT_PUBLIC): Define if missing.
   3931 	* doc/am-utils.texi (opts Option): Renamed webnfs to public,
   3932 	update description.
   3933 
   3934 	* amd/amd.h (FSF_WEBNFS): New mntfs flag.
   3935 	* include/am_utils.h (RPC_XID_WEBNFS): New XID type.
   3936 
   3937 	* amd/amfs_host.c (amfs_host_mount, amfs_host_umounted): Reject
   3938 	WebNFS mount/umount attempts.
   3939 	* amd/ops_nfs.c (got_nfs_fh_mount): Renamed from got_nfs_fh.
   3940 	(got_nfs_fh_webnfs): New function.
   3941 	(flush_nfs_fhandle_cache): Don't invalidate port for WebNFS servers.
   3942 	(prime_nfs_fhandle_cache): Likewise.
   3943 	Remove unconditional return of public file handle for WebNFS, but
   3944 	get NFS file handles via mountd or WebNFS instead.
   3945 	(webnfs_lookup): New function.
   3946 	(nfs_umounted): Don't inform mountd if MFF_WEBNFS.
   3947 	* amd/rpc_fwd.c (fwd_packet, fwd_reply): Send/receive WebNFS
   3948 	packets.
   3949 	* amd/srvr_nfs.c (recompute_portmap): Don't contact portmap for
   3950 	WebNFS servers.
   3951 	Mention host in info message.
   3952 	(find_nfs_srvr): Handle public mount option.
   3953 	Prefer NFSv3/tcp if the client supports it.
   3954 	Allow port mount option to override default or result from portmap
   3955 	lookup.
   3956 
   3957 	* libamu/xdr_func.c (xdr_diropargs3, xdr_filename3,
   3958 	xdr_LOOKUP3args, xdr_LOOKUP3res, xdr_LOOKUP3resfail,
   3959 	xdr_LOOKUP3resok, xdr_nfs_fh3, xdr_nfsstat3): New functions.
   3960 	* include/am_xdr_func.h: Declare them.
   3961 	* configure.in: Check for them.
   3962 	* conf/nfs_prot/nfs_prot_linux.h: Provide missing NFSv3
   3963 	definitions and types.
   3964 
   3965 2003-10-09  Rainer Orth  <ro (a] TechFak.Uni-Bielefeld.DE>
   3966 
   3967 	Support IRIX 6 private mount option.
   3968 
   3969 	* configure.in (AC_CHECK_MNTTAB_OPTS): Check for private option
   3970 	name string.
   3971 	(AC_CHECK_MNT2_NFS_OPTS): Check for private NFS mount option (IRIX 6).
   3972 	* aux/macros/header_templates.m4 (MNTTAB_OPT_PRIVATE,
   3973 	MNT2_NFS_OPT_PRIVATE): Provide templates.
   3974 	* include/am_compat.h (MNTTAB_OPT_PRIVATE): Define if missing.
   3975 	* doc/am-utils.texi (opts Option): Document it.
   3976 
   3977 2003-10-09  Rainer Orth  <ro (a] TechFak.Uni-Bielefeld.DE>
   3978 
   3979 	* doc/am-utils.texi (opts Option): Fix Tru64 UNIX name in proplist
   3980 	mount option.
   3981 
   3982 2003-10-09  Rainer Orth  <ro (a] TechFak.Uni-Bielefeld.DE>
   3983 
   3984 	* libamu/mount_fs.c (compute_nfs_args) [HAVE_NFS_ARGS_T_FH_LEN]:
   3985 	Don't reference removed fh3.
   3986 
   3987 2003-10-09  Rainer Orth  <ro (a] TechFak.Uni-Bielefeld.DE>
   3988 
   3989 	* NEWS: New minor port sparc-sun-solaris2.10 (Solaris 10).
   3990 
   3991 	* INSTALL: Mention test status of various ports.
   3992 	Describe IRIX 6 autofs status.
   3993 
   3994 2003-10-09  Ion Badulescu  <ionut (a] moisil.badula.org>
   3995 
   3996 	* NEWS: updated
   3997 
   3998 	* amd/amfs_generic.c (amfs_bgmount): don't use mf_fo until after
   3999 	we've done all the tests and we know we have a valid and mountable
   4000 	mntfs. Otherwise we could end up dereferencing null pointers.
   4001 
   4002 	* amd/amd.h: fixed a copy&paste comment bug
   4003 
   4004 	* amd/am_ops.c (ops_match): minor code cleanup
   4005 
   4006 	* doc/am-utils.texi: fixed various typos; added warning about the
   4007 	racy nature of nfsx; removed duplicated listing of debug options;
   4008 	added paragraph about signals supported by hlfsd; removed the long
   4009 	list of (maybe) supported platforms since it duplicates the list
   4010 	in INSTALL.
   4011 
   4012 2003-10-02  Rainer Orth  <ro (a] TechFak.Uni-Bielefeld.DE>
   4013 
   4014 	Simplify FD_SET etc. use.
   4015 
   4016 	* include/am_defs.h (FD_SET, FD_ISSET, FD_CLR, FD_ZERO): Provide
   4017 	if missing.
   4018 	(rpc_pending_now, run_rpc): Use them.
   4019 	* configure.in: Check for fds_bits field in fd_set.
   4020 	* amd/nfs_start.c (run_rpc): Use it.
   4021 
   4022 2003-10-02  Rainer Orth  <ro (a] TechFak.Uni-Bielefeld.DE>
   4023 
   4024 	Improve RPC XID handling.
   4025 
   4026 	* amd/rpc_fwd.c (fwd_packet, fwd_reply): Always log xid.
   4027 	Convert xid to/from host/network byte order.
   4028 
   4029 2003-10-02  Rainer Orth  <ro (a] TechFak.Uni-Bielefeld.DE>
   4030 
   4031 	Use NFS V2/V3 file handles instead of mount results.
   4032 
   4033 	* include/am_utils.h (am_nfs_fhandle): Use NFS V2/V3 file handles
   4034 	only, not MOUNTPROC_MNT results.
   4035 	* amd/amfs_host.c (fetch_fhandle): Use local variables to store
   4036 	MOUNTPROC_MNT results.
   4037 	* amd/autil.c (amfs_mount): Use new am_nfs_fhandle_t.
   4038 	* amd/ops_nfs.c (struct fh_cache): New member fh_status.
   4039 	(got_nfs_fh): Use local variables to store MOUNTPROC_MNT results.
   4040 	Store MOUNTPROC_MNT errors in fh_status.
   4041 	(prime_nfs_fhandle_cache): Get fh_error from fh_status.
   4042 	* hlfsd/hlfsd.c (main): Use new am_nfs_fhandle_t.
   4043 	* libamu/mount_fs.c (compute_nfs_args): Copy NFS V2/V3 file
   4044 	handles straight from new am_nfs_fhandle_t.
   4045 
   4046 2003-10-02  Rainer Orth  <ro (a] TechFak.Uni-Bielefeld.DE>
   4047 
   4048 	* amd/clock.c (CID_ALLOC): Remove unused argument.
   4049 	(timeout): Likewise.
   4050 
   4051 	* amd/ops_nfs.c (FHID_ALLOC): Remove unused argument.
   4052 	(prime_nfs_fhandle_cache): Likewise.
   4053 	(call_mountd): Use UDPMSGSIZE instead of magic constant.
   4054 
   4055 	* amd/rpc_fwd.c (XID_ALLOC): Remove unused argument.
   4056 	(fwd_packet): Likewise.
   4057 	Handle TLOOK error from t_rcvudata().
   4058 
   4059 2003-09-30  Ion Badulescu  <ionut (a] moisil.badula.org>
   4060 
   4061 	* NEWS: updated
   4062 
   4063 	* libamu/mount_fs.c (mount_fs): don't try to recreate the mount
   4064 	point if the mount fails with ENOENT: in the best case we would be
   4065 	papering over a bug, and in the worst case we could cause a
   4066 	deadlock (with autofs). If there are races, they need to be
   4067 	exposed and fixed properly.
   4068 
   4069 	* conf/autofs/autofs_solaris_v1.h,
   4070 	  conf/autofs/autofs_solaris_v2_v3.h,
   4071 	  conf/autofs/autofs_linux.h: (AUTOFS_NFSX_FS_FLAGS): autofs
   4072 	semantics don't allow us to mount nfsx directly onto an autofs
   4073 	mountpoint, so disallow it
   4074 
   4075 	* amd/amfs_nfsx.c (amfs_nfsx_match): more restrictive sanity check
   4076 	to avoid trying to memmove(foo, bar, (unsigned)-1) due to invalid
   4077 	map entries...
   4078 	(amfs_nfsx_cont): amfs_retry does most of the cleanup work for us
   4079 	in the upper layer, so don't do anything else beside wakeup() on
   4080 	success
   4081 	(amfs_nfsx_remount): only create the mountpoints as we need them,
   4082 	avoids creating them on the wrong filesystem in the case of
   4083 	hierarchical mounts; fix crash-generating typo (m should really be
   4084 	mf and I swear I hate single-character variable names)
   4085 
   4086 	* amd/amfs_generic.c (amfs_cont): one more dlog
   4087 	(amfs_bgmount): amazingly enough, even foreground mounts can be
   4088 	backgrounded (in the case of nfsx), so account for this
   4089 	possibility and permit retries
   4090 
   4091 	* m4/macros/check_autofs_style.m4 (AMU_AUTOFS_PROT_HEADER): define
   4092 	and AC_SUBST it as ${top_builddir}/amu_autofs_prot.h
   4093 
   4094 	* amd/Makefile.am ($(amd_OBJECTS) $(EXTRA_amd_OBJECTS)): depend on
   4095 	@AMU_AUTOFS_PROT_HEADER@
   4096 
   4097 2003-09-29  Erez Zadok  <ezk (a] urd.fsl.cs.sunysb.edu>
   4098 
   4099 	* minor new port mipsel-unknown-linux-rhPS2 (Linux on Sony
   4100 	PlayStation 2)
   4101 
   4102 	* amd/srvr_nfs.c (find_nfs_srvr): don't run code that expects
   4103 	"char protocols[]" unless MNTTAB_OPT_PROTO is defined.
   4104 
   4105 2003-09-26  Rainer Orth  <ro (a] TechFak.Uni-Bielefeld.DE>
   4106 
   4107 	Consolidate alloca support.
   4108 
   4109 	* amd/amq_svc.c: Move alloca support ...
   4110 	* include/am_defs.h: ... here.
   4111 	* amd/conf_parse.y: Remove alloca support.
   4112 	* fsinfo/fsi_gram.y: Likewise.
   4113 
   4114 2003-09-25  Rainer Orth  <ro (a] TechFak.Uni-Bielefeld.DE>
   4115 
   4116 	Handle Solaris 10.
   4117 	* m4/macros/check_nfs_prot_headers.m4
   4118 	(AMU_CHECK_NFS_PROT_HEADERS): Don't use wildcards for
   4119 	sunos5.[0-3], solaris 2.[0-3], there were no micro releases.
   4120 	Explicitly match sunos5*, solaris2* for Solaris 8 and beyond.
   4121 
   4122 	* m4/macros/os_cflags.m4 (AMU_OS_CFLAGS): Dont use wildcards for
   4123 	solaris2.[0-5], sunos5.[0-5], but explicitly handle Solaris 2.5
   4124 	micro releases to cope with Solaris 2.5.1.
   4125 	Explicitly match solaris2*, sunos5*.
   4126 
   4127 2003-09-25  Rainer Orth  <ro (a] TechFak.Uni-Bielefeld.DE>
   4128 
   4129 	* amd/amq_svc.c: Provide alloca prerequisites.
   4130 
   4131 	* conf/transp/transp_tli.c (register_autofs_service): Fix typo.
   4132 
   4133 2003-09-23  Ion Badulescu  <ion (a] opteron.tower-research.com>
   4134 
   4135 	* minor new port: x86_64-unknown-linux-rh2.9.5AS. (Red Hat
   4136 	Enterprise Linux 3.0 beta running on a 64-bit AMD64 platform)
   4137 
   4138 2003-09-22  Ion Badulescu  <ionut (a] buggy.badula.org>
   4139 
   4140 	* conf/autofs/autofs_solaris_v1.c (autofs_mount_fs): compile fix
   4141 
   4142 2003-09-19  Ion Badulescu  <ionut (a] moisil.badula.org>
   4143 
   4144 	* amd/amfs_nfsl.c (amfs_nfsl_match): checking opt_fs is not always
   4145 	enough, we should lstat() the sublink if it's defined.
   4146 	(amfs_nfsl_ffserver): ditto
   4147 	(ALL): Removed some obsolete comments. The nfsl code is now little
   4148 	more than a very straight-forward switch between link and nfs.
   4149 
   4150 	* amd/amfs_link.c (amfs_link_match): more up-to-date explanation
   4151 	for the prepend-the-dot hack for type link; also, the sublink is
   4152 	already normalized and absolute, so take advantage of that
   4153 
   4154 	* amd/amfs_generic.c (amfs_lookup_one_mntfs): the sublink is
   4155 	already normalized and absolute, so take advantage of that
   4156 
   4157 	* amd/am_ops.c (ops_match): normalize the sublink here, early into
   4158 	the matching process
   4159 
   4160 	* amd/autil.c (am_mounted): be consistent and accept both
   4161 	"nounmount" and "noumount" as pseudo mount options (same as
   4162 	"unmount" and "umount" nearby)
   4163 
   4164 	* amd/Makefile.am (build_version.h): fixed dependencies (depends
   4165 	on amd_OBJECTS, not OBJECTS -- which doesn't even exist)
   4166 
   4167 2003-09-19  Erez Zadok  <ezk (a] dhcp8.fsl.cs.sunysb.edu>
   4168 
   4169 	* amd/amq_subr.c (amqproc_export_1_svc): force double casting to
   4170 	avoid gcc-3.3 complaints on Solaris 9 about "dereferencing
   4171 	type-punned pointer will break strict-aliasing rules".
   4172 
   4173 2003-09-16  Ion Badulescu  <ionut (a] moisil.badula.org>
   4174 
   4175 	* Released beta version 6.1b4
   4176 
   4177 2003-09-15  Ion Badulescu  <ionut (a] moisil.badula.org>
   4178 
   4179 	* doc/am-utils.texi (opts Option): removed documentation for old
   4180 	ignore_portmapper mount option, documented the new webnfs option
   4181 
   4182 	* NEWS: webnfs support
   4183 
   4184 	* amd/srvr_nfs.c (find_nfs_srvr): set MFF_WEBNFS if the "webnfs"
   4185 	(former "ignore_portmapper") mount option is present
   4186 
   4187 	* amd/ops_nfs.c (prime_nfs_fhandle_cache): generate a public
   4188 	filehandle (all zeros) if MFF_WEBNFS is set
   4189 	(nfs_umounted): don't talk to mountd if MFF_WEBNFS is set
   4190 
   4191 	* amd/amd.h (MFF_WEBNFS): new flag, obvious meaning
   4192 
   4193 2003-09-13  Ion Badulescu  <ionut (a] moisil.badula.org>
   4194 
   4195 	* amd/srvr_nfs.c: renamed np_xid to global_xid; sanitized the
   4196 	NPXID_ALLOC macro and renamed it to XID_ALLOC; renamed start_ping
   4197 	to create_ping_payload; renamed nfs_pinged to
   4198 	nfs_keepalive_callback; renamed nfs_timed_out to
   4199 	nfs_keepalive_timeout; renamed nfs_srvr_port to get_mountd_port;
   4200 	made ping_buf and ping_len arrays with one element for each
   4201 	supported nfs version
   4202 
   4203 	* amd/amd.h: renamed nfs_srvr_port() to get_mountd_port()
   4204 
   4205 	* amd/amfs_host.c (amfs_host_init): ditto
   4206 
   4207 	* amd/ops_nfs.c (call_mountd): ditto
   4208 
   4209 2003-09-03  Rainer Orth  <ro (a] TechFak.Uni-Bielefeld.DE>
   4210 
   4211 	* BUGS: Mention fix for broken Solaris 8 <rpcsvc/autofs_prot.h>
   4212 	patches.
   4213 
   4214 2003-08-31  Erez Zadok  <ezk (a] filer.fsl.cs.sunysb.edu>
   4215 
   4216 	* amd/autil.c (strealloc): don't call malloc_verify() unless it
   4217 	exists.
   4218 
   4219 	* configure.in: move "OPTION PROCESSING" section (opt_debug etc.)
   4220 	after we figure out PROG_CC and other compiler features, because
   4221 	some of the option processing macros need a compiler to function.
   4222 
   4223 	* libamu/xutil.c: don't define variables that won't be used unless
   4224 	mallinfo() and malloc_verify() exist.
   4225 	(real_plog): don't call checkup_mem unless
   4226 	mallocinfo() and malloc_verify() exist.
   4227 	(checkup_mem): don't define this function unless mallocinfo() and
   4228 	malloc_verify() exist.
   4229 
   4230 	* m4/macros/opt_debug.m4: check for functions malloc_verify and
   4231 	mallinfo in general libraries and then in libmapmalloc and
   4232 	libmalloc.  These seem to have disappeared in FreeBSD 5.x.
   4233 
   4234 	* libamu/xutil.c (dxfree): print pointer using %p
   4235 
   4236 2003-08-29  Erez Zadok  <ezk (a] a-opendarwin.fsl.cs.sunysb.edu>
   4237 
   4238 	* configure.in: start 6.1b4-pre officially (belated)
   4239 
   4240 	* minor new port: i686-apple-darwin6.6
   4241 
   4242 2003-08-27  Ion Badulescu  <ionut (a] moisil.badula.org>
   4243 
   4244 	* conf/autofs/autofs_solaris_v1.c: convert relative targets to
   4245 	absolute paths when using lofs mounts
   4246 
   4247 	* conf/autofs/autofs_solaris_v2_v3.c: ditto
   4248 
   4249 	* conf/autofs/autofs_linux.c: ditto
   4250 
   4251 2003-08-27  Ion Badulescu  <ionut (a] buggy.badula.org>
   4252 
   4253 	* README.autofs: added a paragraph about the resource consumption
   4254 	of auto maps over autofs
   4255 
   4256 	* amd/amfs_generic.c (amfs_lookup_one_mntfs): moved the setting of
   4257 	the MFF_IS_AUTOFS flag from init_mntfs() to
   4258 	amfs_lookup_one_mntfs(), where it belongs
   4259 
   4260 	* amd/mntfs.c (init_mntfs): ditto
   4261 
   4262 2003-08-27  Ion Badulescu  <ion (a] guppy.limebrokerage.com>
   4263 
   4264 	* amd/ops_nfs.c (got_nfs_fh): make the error EACCES if we are
   4265 	denied a filehandle by the server (used to be EIO)
   4266 
   4267 2003-08-27  Erez Zadok  <ezk (a] a-bsdi42.fsl.cs.sunysb.edu>
   4268 
   4269 	* conf/nfs_prot/nfs_prot_bsdi3.h: support na_uid and na_gid.
   4270 
   4271 2003-08-27  Ion Badulescu  <ionut (a] moisil.badula.org>
   4272 
   4273 	* conf/autofs/autofs_linux.c (autofs_mount_succeeded): force
   4274 	daemon-initiated timeouts on autofs filesystems, since apparently
   4275 	they appear as "always busy" to the kernel-based expiration routine
   4276 
   4277 2003-08-26  Ion Badulescu  <ionut (a] buggy.badula.org>
   4278 
   4279 	* NEWS: updated
   4280 
   4281 	* conf/autofs/autofs_linux.h (AUTOFS_LINK_FS_FLAGS): remove
   4282 	FS_ON_AUTOFS
   4283 	(AUTOFS_LINKX_FS_FLAGS): ditto
   4284 
   4285 	* conf/autofs/autofs_solaris_v1.h (AUTOFS_LINK_FS_FLAGS): remove
   4286 	FS_ON_AUTOFS
   4287 	(AUTOFS_LINKX_FS_FLAGS): ditto
   4288 
   4289 	* conf/autofs/autofs_solaris_v2_v3.h (AUTOFS_LINK_FS_FLAGS): remove
   4290 	FS_ON_AUTOFS
   4291 	(AUTOFS_LINKX_FS_FLAGS): ditto
   4292 
   4293 	* amd/amfs_generic.c (amfs_lookup_one_mntfs): don't modify the
   4294 	original opt_fs, instead store the new mount point for autofs in a
   4295 	temporary variable and pass it around. Fixes a problem with the
   4296 	link side of nfsl.
   4297 
   4298 2003-08-25  Ion Badulescu  <ionut (a] moisil.badula.org>
   4299 
   4300 	* NEWS: updated
   4301 
   4302 	* amd/ops_nfs.c (prime_nfs_fhandle_cache): use get_mntfs_wchan to
   4303 	initialize the fh_wchan member of the cache entry
   4304 	(prime_nfs_fhandle_cache): use get_mntfs_wchan for the wchan_t
   4305 	argument of call_mountd()
   4306 
   4307 	* amd/map.c (free_map_if_success): use get_mntfs_wchan for the
   4308 	wchan_t argument of wakeup()
   4309 
   4310 	* amd/amfs_nfsx.c (amfs_nfsx_cont): use get_mntfs_wchan for the
   4311 	wchan_t argument of wakeup_task() and wakeup()
   4312 
   4313 	* amd/amfs_host.c (amfs_host_init): use get_mntfs_wchan for the
   4314 	wchan_t argument of nfs_srvr_port()
   4315 
   4316 	* amd/amfs_generic.c (ALL): use get_mntfs_wchan for the wchan_t
   4317 	argument of sched_task() and wakeup()
   4318 	(amfs_retry): minor cleanup
   4319 	(amfs_bgmount): call nfs_quick_reply on failure
   4320 
   4321 	* amd/sched.c (get_mntfs_wchan): new function which calls the
   4322 	member function get_wchan if defined, otherwise returns the mntfs
   4323 	pointer itself
   4324 
   4325 	* amd/amfs_inherit.c (amfs_inherit_get_wchan): new function,
   4326 	calls get_mntfs_wchan() on the inherited filesystem
   4327 
   4328 	* amd/amfs_*.c, amd/ops_*.c: initialize the new get_wchan member
   4329 	of the ops to 0
   4330 
   4331 	* amd/amd.h: new function type vget_wchan
   4332 	(struct mntfs): new member get_wchan which returns the waiting
   4333 	channel associated with the mntfs (normally itself)
   4334 
   4335 2003-08-22  Ion Badulescu  <ion (a] guppy.limebrokerage.com>
   4336 
   4337 	* conf/mount/mount_linux.c (parse_opts): minor cleanup
   4338 
   4339 	* conf/autofs/autofs_linux.c (autofs_handle_fdset): added missing
   4340 	break in case autofs_ptype_expire_multi
   4341 
   4342 2003-08-22  Ion Badulescu  <ionut (a] moisil.badula.org>
   4343 
   4344 	* conf/autofs/autofs_solaris_v1.h: undefine autofs support if
   4345 	autofs_args_t cannot be determined (hopefully fixes a reported
   4346 	IRIX 6.5.4 problem).
   4347 
   4348 	* conf/autofs/autofs_solaris_v1.c: wrap entire file in #ifdef
   4349 	HAVE_FS_AUTOFS / #endif (see above)
   4350 
   4351 	* conf/autofs/autofs_linux.h: undefine autofs support if the
   4352 	necessary header files are not found (fixes a reported RedHat 6.2
   4353 	Sparc problem).
   4354 
   4355 	* conf/autofs/autofs_linux.c: wrap entire file in #ifdef
   4356 	HAVE_FS_AUTOFS / #endif (see above)
   4357 
   4358 	* libamu/mount_fs.c (compute_nfs_args): only use MNT2_NFS_OPT_SOFT
   4359 	if autoconf detected it (fixes a reported RedHat 6.2 Alpha problem).
   4360 
   4361 	* amd/map.c (unmount_mp, unmount_exported): move the code that
   4362 	changes the fattr from NFLNK to NFDIR from unmount_mp to
   4363 	unmount_exported, it was causing troubles (ESTALE) after failed
   4364 	unmounts. This is still very very unclean, but it's the same as the
   4365 	old 6.0 code.
   4366 
   4367 2003-08-22  Nick Williams <Nick.Williams (a] morganstanley.com>
   4368 
   4369 	* amd/info_ldap.c (amu_ldap_init): don't try to pass a null
   4370 	pointer as a string to plog, Solaris (and other OS's) don't like
   4371 	it and will dump core.
   4372 
   4373 2003-08-13  Ion Badulescu  <ion (a] guppy.limebrokerage.com>
   4374 
   4375 	* amd/amd.h: introduced two new types, wchan_t and opaque_t, as
   4376 	aliases of voidp. This makes reading the code easier on the eyes. :)
   4377 
   4378 	* ALL: replace various instances of voidp with wchan_t and
   4379 	opaque_t, as appropriate
   4380 
   4381 2003-08-13  Ion Badulescu  <ionut (a] nicu.badula.org>
   4382 
   4383 	* NEWS, configure.in: bumped version up to 6.1b4-pre
   4384 
   4385 2003-08-13  Ion Badulescu  <ionut (a] moisil.badula.org>
   4386 
   4387 	* Released beta version 6.1b3
   4388 
   4389 2003-08-13  Ion Badulescu  <ion (a] guppy.limebrokerage.com>
   4390 
   4391 	* conf/autofs/autofs_linux.c (autofs_mount_fs): HACK: always use
   4392 	symlinks for host mounts; assorted fixes for the symlink mode
   4393 
   4394 2003-08-05  Ion Badulescu  <ionut (a] moisil.badula.org>
   4395 
   4396 	* conf/umount/umount_default.c (umount_fs): enable space hack
   4397 	handling for autofs v1
   4398 
   4399 	* amd/map.c (get_first_exported_ap, get_next_exported_ap): new
   4400 	functions that facilitate iterating through the list of
   4401 	mountpoints
   4402 
   4403 	* amd/amfs_union.c (amfs_union_mounted): use get_first_exported_ap
   4404 	and get_next_exported_ap
   4405 
   4406 	* conf/autofs/autofs_solaris_v2_v3.c (autofs_unmount_2_req): ditto
   4407 
   4408 2003-08-04  Erez Zadok  <ezk (a] ulkesh.dyn.optonline.net>
   4409 
   4410 	* configure.in: check if system stores mount tables in files
   4411 	(usually in /etc), and configure couldn't find a definition for
   4412 	either struct mntent or struct mnttab.  If so, abort configure
   4413 	because this could be a new/misconfigured system, or a bug in
   4414 	am-utils.
   4415 
   4416 2003-08-04  Ion Badulescu  <ionut (a] moisil.badula.org>
   4417 
   4418 	* conf/autofs/autofs_solaris_v2_v3.c (autofs_umount_fs): fix
   4419 	compile warning
   4420 
   4421 2003-08-04  Ion Badulescu  <ionut (a] buggy.badula.org>
   4422 
   4423 	* conf/autofs/autofs_linux.c (autofs_mount_fs): don't call
   4424 	ops->mount_fs() for an already mounted filesystem
   4425 	(autofs_umount_fs): only call ops->umount_fs() if we're holding
   4426 	the last reference to the filesystem
   4427 
   4428 	* conf/autofs/autofs_solaris_v1.c (autofs_mount_fs): ditto
   4429 	(autofs_umount_fs): ditto
   4430 
   4431 	* conf/autofs/autofs_solaris_v2_v3.c (autofs_mount_fs): ditto
   4432 	(autofs_umount_fs): ditto
   4433 
   4434 	* amd/amfs_generic.c (amfs_lookup_mntfs): remove the shortcut for
   4435 	already-mounted filesystems
   4436 	(amfs_cont): only release the autofs_fh if the filesystem is not
   4437 	mounted; add another comment about the NFS_SCALEDOWN hack
   4438 	(amfs_bgmount): if the mntfs is already mounted, skip just the
   4439 	filesystem initialization, but do call mount_node()
   4440 
   4441 	* amd/map.c (mount_node): always call autofs_mount_fs(), but only
   4442 	call ops->mount_fs() if the mntfs is not yet mounted
   4443 	(unmount_node): always call autofs_umount_fs(), but only call
   4444 	ops->umount_fs() if the refcount on the mntfs equals 1.
   4445 
   4446 2003-08-02  Erez Zadok  <ezk (a] filer.fsl.cs.sunysb.edu>
   4447 
   4448 	* conf/nfs_prot/nfs_prot_openbsd.h: include <ufs/ufs/ufsmount.h>
   4449 	here with the proper workarounds for openbsd3.3 (define MAXQUOTAS,
   4450 	define dummy struct netexport, and include <ufs/ufs/extattr.h>
   4451 	wrapped in _KERNEL).
   4452 
   4453 	* conf/nfs_prot/nfs_prot_freebsd3.h: include <ufs/ufs/ufsmount.h>
   4454 	here with the proper workarounds for freebsd5.1 (define dummy
   4455 	struct ufs_extattr_per_mount).
   4456 
   4457 	* conf/nfs_prot/nfs_prot_bsdi2.h: include <ufs/ufs/ufsmount.h>
   4458 	here with the proper workarounds for bsdi2 (define MAXQUOTAS and
   4459 	dummy struct netexport).
   4460 
   4461 	* include/mount_headers1.h: do not include <ufs/ufs/ufsmount.h>
   4462 	here, b/c every *BSD system has some sort of problem in including
   4463 	this header file, which includes ugly workarounds.  Inclusion of
   4464 	this header was already moved out of am_defs.h (used to compile
   4465 	amd), but we forgot to move it out of mount_headers1.h (used to
   4466 	configure).  The specific inclusion of ufsmount.h is now in the OS
   4467 	specific nfs_prot.h file.
   4468 
   4469 	* configure.in: if configure could not find any definition for
   4470 	"struct nfs_args", abort configure with an explanatory message.
   4471 	There's no point in continuing, as this could be a system bug,
   4472 	buggy am-utils, or a new system to which am-utils wasn't ported to
   4473 	yet.
   4474 
   4475 	* minor new port: i386-pc-solaris2.9
   4476 
   4477 2003-08-01  Ion Badulescu  <ionut (a] buggy.badula.org>
   4478 
   4479 	* doc/am-utils.texi (NFS-Link Filesystem): make the documentation
   4480 	match the code (as well as basic logic operations: the negation of
   4481 	'a or b' is 'not a and not b', not 'not a or not b')
   4482 
   4483 2003-08-01  Erez Zadok  <ezk (a] filer.fsl.cs.sunysb.edu>
   4484 
   4485 	* minor new port: i386-unknown-openbsd3.3.
   4486 
   4487 	* m4/macros/check_libwrap_severity.m4: new macro to check if
   4488 	libwrap includes the integer variables deny_severity and
   4489 	allow_severity, since some libwrap implementations do and others
   4490 	don't.  The test tries to compile and run a simple empty main()
   4491 	program, then the same program while defining these two variables:
   4492 	comparing the results of the two tests, we can tell whether we
   4493 	should define NEED_LIBWRAP_SEVERITY_VARIABLES.
   4494 
   4495 	* Makefile.am (EXTRA_DIST_M4): distribute new macro
   4496 	check_libwrap_severity.m4.
   4497 
   4498 	* m4/macros/header_templates.m4: template for HAVE_LIBWRAP (which
   4499 	we must define explicitly since we've overridden the
   4500 	action-if-found in AC_CHECK_LIB(wrap).  Also template for
   4501 	NEED_LIBWRAP_SEVERITY_VARIABLES.
   4502 
   4503 	* amd/amq_svc.c: if libwrap does not include the severity
   4504 	variables, then define and initialize them here.
   4505 
   4506 	* amd/Makefile.am (LIBS): explicitly include @WRAPLIB@ only for
   4507 	Amd binary.  Other am-utils binaries don't need -lwrap.
   4508 
   4509 	* configure.in: if libwrap is found, only define it in @WRAPLIB@,
   4510 	so we don't automatically link every am-utils binary with -lwrap.
   4511 	Run test for existence of severity variables in libwrap.
   4512 
   4513 2003-07-31  Erez Zadok  <ezk (a] filer.fsl.cs.sunysb.edu>
   4514 
   4515 	* conf/nfs_prot/nfs_prot_openbsd.h: define struct fattr fields uid
   4516 	and gid.
   4517 
   4518 	* configure.in: move check for AC_CHECK_LIB(libwrap) as far down
   4519 	as possible because on modern tcpwrapper systems such as openbsd,
   4520 	the caller must provide two symbols: deny_severity and
   4521 	allow_severity, which determine the logging level of rejected and
   4522 	requested requests, respectively.  If this check happens too
   4523 	early, then $LIBS includes -lwrap, which causes many subsequent
   4524 	tests that need to run a compiled program to fail with missing
   4525 	symbols.
   4526 
   4527 	* m4/macros/header_templates.m4: fix typo in template for
   4528 	readdirplus.
   4529 
   4530 	* configure.in: check for <ufs/ufs/extattr.h> (OpenBSD 3.3)
   4531 
   4532 	* minor new port: i386-unknown-netbsdelf1.6.1.
   4533 
   4534 	* configure.in: save state before system-specific tests are run.
   4535 
   4536 	* m4/macros/check_gnu_getopt.m4: do NOT abort ./configure just
   4537 	because the compiled test program failed to run.
   4538 
   4539 2003-08-01  Ion Badulescu  <ionut (a] buggy.badula.org>
   4540 
   4541 	* NEWS, README.autofs: updated
   4542 
   4543 	* libamu/mount_fs.c (mount_fs): added support for the space hack
   4544 
   4545 	* doc/am-utils.texi: mention than UFS/XFS/EFS/CacheFS filesystems
   4546 	are not expired by default; correct and expand the section
   4547 	describing the program filesystem
   4548 
   4549 	* conf/autofs/autofs_solaris_v2_v3.h (AUTOFS_*_FS_FLAGS): add
   4550 	FS_ON_AUTOFS for supported filesystems
   4551 
   4552 	* conf/autofs/autofs_solaris_v2_v3.c (autofs_mount_fs): call
   4553 	mf->mount_fs()
   4554 	(autofs_umount_fs): call mf->umount_fs()
   4555 
   4556 	* conf/autofs/autofs_solaris_v1.h (autofs_strdup_space_hack): add
   4557 	prototype for malloc()
   4558 	(AUTOFS_*_FS_FLAGS): lose the FS_MKMNT flags, add FS_ON_AUTOFS for
   4559 	supported filesystems
   4560 
   4561 	* conf/autofs/autofs_solaris_v1.c (autofs_mount_fs): add support
   4562 	for the space hack; call mf->mount_fs()
   4563 	(autofs_umount_fs): add support for the space hack; call
   4564 	mf->umount_fs()
   4565 	(autofs_mount_succeeded): add support for the space hack
   4566 
   4567 	* conf/autofs/autofs_linux.h: lose the FS_MKMNT flags, add
   4568 	FS_ON_AUTOFS for supported filesystems
   4569 
   4570 	* conf/autofs/autofs_linux.c (AUTOFS_MAX_VERSION): define to
   4571 	AUTOFS_MAX_PROTO_VERSION instead of hardcoding to 4
   4572 	(autofs_mounted): host mounts are now supported on all autofs
   4573 	versions, remove the hack to turn it off on v3
   4574 	(autofs_mount_fs): call mf->mount_fs(), create/remove mountpoints
   4575 	as needed
   4576 	(autofs_umount_fs): call mf->umount_fs(), remove mountpoints on
   4577 	success
   4578 	(ALL): use '#if AUTOFS_MAX_VERSION >= 4' instead of
   4579 	'#ifdef autofs_ptype_expire_multi'
   4580 
   4581 	* amd/map.c (mount_node): autofs_mount_fs() now calls
   4582 	mf->mount_fs() internally
   4583 	(unmount_node): autofs_umount_fs() now calls mf->umount_fs()
   4584 	internally
   4585 
   4586 	* amd/autil.c (am_mounted): minor cleanup
   4587 
   4588 	* amd/amfs_program.c (amfs_program_ops): added FS_MKMNT to
   4589 	nfs_fs_flags
   4590 
   4591 	* amd/amfs_generic.c (amfs_lookup_one_mntfs): use the FS_ON_AUTOFS
   4592 	flag instead of hardcoding filesystem types
   4593 	(amfs_bgmount): better mount_type logging
   4594 
   4595 	* amd/amd.h (FS_ON_AUTOFS): new flag which tells the code that
   4596 	this filesystem can be mounted directly onto an autofs mountpoint
   4597 
   4598 2003-07-31  Ion Badulescu  <ionut (a] buggy.badula.org>
   4599 
   4600 	* amd/amfs_nfsl.c (amfs_nfsl_umount): fix copy&paste error (was
   4601 	calling amfs_link_ops.umount_fs() for NFS filesystems)
   4602 	(amfs_nfsl_umounted): remove rmdirs() hack, it is now handled
   4603 	properly elsewhere
   4604 	(amfs_nfsl_ffserver): remove FS_MKMNT from mf_fsflags if we're
   4605 	using link (not NFS)
   4606 
   4607 2003-07-31  Rainer Orth  <ro (a] TechFak.Uni-Bielefeld.DE>
   4608 
   4609 	* README.autofs: Correct IRIX spelling.
   4610 	AutoFS support exists only on IRIX 6.
   4611 	Update IRIX 6 status.
   4612 
   4613 	Allow AutoFS V1 support to compile on IRIX 6.
   4614 	* conf/autofs/autofs_solaris_v1.c (autofs_mount_1_req): Add
   4615 	SVCXPRT * arg.
   4616 	Remove superfluous \n from dlog messages.
   4617 	(autofs_unmount_1_req): Likewise.
   4618 	Switch to get_exported_ap.
   4619 	(autofs_program_1): Invoke handlers with additional transp arg.
   4620 	* conf/autofs/autofs_solaris_v1.h: Use autofs_args_t to define
   4621 	autofs_fh_t, struct auto_args doesn't exist on IRIX 6.
   4622 
   4623 	* conf/mount/mount_irix6.c (mount_irix) [HAVE_FS_AUTOFS]: Support
   4624 	AutoFS mounts.
   4625 	[HAVE_FS_LOFS]: Likewise for lofs mounts.
   4626 
   4627 	* conf/nfs_prot/nfs_prot_irix6.h (AUTOFS_CONFTYPE): Define.
   4628 	Don't disable AutoFS support any more.
   4629 
   4630 	* conf/transp/transp_sockets.c [HAVE_FS_AUTOFS && AUTOFS_PROG]
   4631 	(register_autofs_service): Define autofs_xprt.
   4632 
   4633 	* m4/macros/check_autofs_style.m4 (AMU_CHECK_AUTOFS_STYLE): Update
   4634 	Solaris 8+ comment to mention AutoFS V4.
   4635 	(irix6*): Enable AutoFS V1 support on IRIX 6.
   4636 
   4637 2003-07-30  Erez Zadok  <ezk (a] agora.fsl.cs.sunysb.edu>
   4638 
   4639 	* NEWS, doc/am-utils.texi, scripts/amd.conf.5: revised explanation
   4640 	of autofs_use_lofs.
   4641 
   4642 2003-07-30  Rainer Orth  <ro (a] TechFak.Uni-Bielefeld.DE>
   4643 
   4644 	* amd/ops_efs.c (efs_mount): Replace on_autofs arg with
   4645 	MFF_ON_AUTOFS flag.
   4646 	(efs_umount): Likewise.
   4647 
   4648 2003-07-30  Erez Zadok  <ezk (a] filer.fsl.cs.sunysb.edu>
   4649 
   4650 	* conf/umount/umount_bsd44.c (umount_fs): convert to new way of
   4651 	unmounting which takes autofs into account.
   4652 
   4653 2003-07-30  Ion Badulescu  <ionut (a] moisil.badula.org>
   4654 
   4655 	* ALL: renamed MFF_AUTOFS to MFF_IS_AUTOFS; removed mf_real_mount
   4656 	hack; pass a new on_autofs argument to mount/umount function,
   4657 	based on the MFF_ON_AUTOFS mntfs flag
   4658 
   4659 	* NEWS, README.autofs: updated
   4660 
   4661 	* scripts/amd.conf.5: document new option autofs_use_lofs
   4662 
   4663 	* scripts/amd.conf-sample (autofs_use_lofs): document new option
   4664 
   4665 	* m4/macros/check_autofs_style.m4 (am_utils_link_files): symlink
   4666 	the autofs header as amu_autofs_prot.h instead of slurping it into
   4667 	aux_conf.h
   4668 
   4669 	* libamu/mount_fs.c (mount_fs): removed old stub, renamed
   4670 	mount_fs2 to mount_fs, added new argument on_autofs
   4671 
   4672 	* doc/am-utils.texi (Direct Automount Filesystem): document
   4673 	problems with nfs direct mounts on modern kernels, document good
   4674 	autofs support for direct mounts on Solaris
   4675 	(autofs_use_lofs Parameter): document this new option
   4676 	(browsable_dirs Parameter): note that mount storms are avoided
   4677 	when using autofs
   4678 
   4679 	* conf/umount/umount_bsd44.c (umount_fs): removed old stub,
   4680 	renamed umount_fs2 to umount_fs
   4681 
   4682 	* conf/umount/umount_osf.c (umount_fs): removed old stub,
   4683 	renamed umount_fs2 to umount_fs, added new argument on_autofs
   4684 
   4685 	* conf/umount/umount_default.c (umount_fs): ditto as above; return
   4686 	an error on ENOENT instead of faking success
   4687 
   4688 	* conf/autofs/autofs_solaris_v2_v3.c (autofs_lookup_2_req): much
   4689 	simplified, now only consults the map for existance of the key and
   4690 	returns success if key is found
   4691 	(autofs_mount_2_req): request symlinks if CFM_AUTOFS_USE_LOFS is
   4692 	not on;
   4693 	(autofs_mount_2_free): implemented
   4694 	(autofs_unmount_2_req): use get_exported_ap() instead of
   4695 	referencing export_ap directly
   4696 	(autofs_mount_succeeded): remove code for replying to lookup
   4697 	requests, now only mount requests can end up here
   4698 	(autofs_mount_failed): ditto
   4699 
   4700 	* conf/autofs/autofs_solaris_v1.h (AUTOFS_HOST_FS_FLAGS): removed
   4701 	FS_AUTOFS
   4702 	(AUTOFS_DIRECT_FS_FLAGS): added FS_DIRECTORY
   4703 
   4704 	* conf/autofs/autofs_solaris_v2_v3.h (AUTOFS_HOST_FS_FLAGS): removed
   4705 	FS_AUTOFS
   4706 	(AUTOFS_DIRECT_FS_FLAGS): added FS_DIRECTORY
   4707 	(AUTOFS_LINK_FS_FLAGS): added FS_MBACKGROUND
   4708 
   4709 	* conf/autofs/autofs_linux.c (autofs_bind_umount): new function,
   4710 	factored out of autofs_umount_fs()
   4711 	(autofs_mount_fs): renamed from autofs_link_mount() and expanded
   4712 	to deal with filesystems mounted indirectly (via lofs/bind
   4713 	mounts) on autofs and to observe the new CFM_AUTOFS_USE_LOFS flag
   4714 	(autofs_umount_fs): ditto, from autofs_link_umount()
   4715 
   4716 	* conf/autofs/autofs_solaris_v1.c (autofs_mount_fs): ditto
   4717 	* (autofs_umount_fs): ditto
   4718 
   4719 	* conf/autofs/autofs_solaris_v2_v3.c (autofs_mount_fs): ditto
   4720 	* (autofs_umount_fs): ditto
   4721 
   4722 	* amd/opts.c: made fs_static static
   4723 
   4724 	* amd/ops_nfs.c: made nfs_init, nfs_match, nfs_mount, nfs_umount
   4725 	and nfs_umounted static
   4726 	(mount_nfs_fh): removed unnecessary arguments
   4727 
   4728 	* amd/ops_cachefs.c (cachefs_ops): use amfs_generic_find_srvr for
   4729 	the ffserver method, because using NULL causes problems
   4730 
   4731 	* amd/ops_cdfs.c (cdfs_ops): ditto
   4732 
   4733 	* amd/ops_efs.c (efs_ops): ditto
   4734 
   4735 	* amd/ops_lofs.c (lofs_ops): ditto
   4736 
   4737 	* amd/ops_pcfs.c (pcfs_ops): ditto
   4738 
   4739 	* amd/ops_ufs.c (ufs_ops): ditto
   4740 
   4741 	* amd/ops_xfs.c (xfs_ops): ditto
   4742 
   4743 	* amd/nfs_subr.c (fh_to_mp3, fh_to_mp, mp_to_fh): moved here from
   4744 	map.c
   4745 
   4746 	* amd/nfs_start.c: use get_exported_ap() instead of referencing
   4747 	exported_ap directly
   4748 
   4749 	* amd/mntfs.c (locate_mntfs): new function, factored out of
   4750 	find_mntfs
   4751 	(locate_mntfs): special-case FS_DIRECT filesystems: for direct
   4752 	mounts we will have two filesystems mounted on the same m/p
   4753 	(realloc_mntfs): removed the old EZK hack for failovers
   4754 
   4755 	* amd/map.c (get_exported_ap): new function that returns an
   4756 	exported_ap member by its index
   4757 	(root_node,exported_ap,exported_ap_size,first_free_map,last_used_map):
   4758 	made static
   4759 	(fh_to_mp3, fh_to_mp, mp_to_fh): moved to nfs_subr.c
   4760 	(get_root_ap): removed unused second argument
   4761 	(unmount_mp): moved the mk_fattr(NFDIR) here from umount_exported
   4762 	to catch more cases
   4763 	(mount_node): call autofs_mount_fs after ops->mount_fs for autofs
   4764 	nodes
   4765 	(unmount_node): call autofs_umount_fs before ops->umount_fs for
   4766 	autofs nodes
   4767 
   4768 	* amd/conf.c: new global option "autofs_use_lofs", takes yes/no
   4769 	values
   4770 
   4771 	* amd/autil.c (amfs_mount): take an extra argument (mf)
   4772 	(amfs_mount): call autofs_compute_mount_flags() for mounts
   4773 	directly on autofs m/p
   4774 	(am_unmounted): document and avoid the race between am_umounted()
   4775 	at shutdown time and amfs_cont()
   4776 
   4777 	* amd/amfs_union.c (amfs_union_mounted): use get_exported_ap()
   4778 	instead of referencing internal map variables directly
   4779 
   4780 	* amd/amq_subr.c (amqproc_export_1_svc): ditto
   4781 
   4782 	* amd/amfs_toplvl.c (amfs_toplvl_ops): removed FS_AUTOFS from
   4783 	nfs_fs_flags
   4784 	(amfs_toplvl_mount): pass extra argument (mf) to amfs_mount()
   4785 	(amfs_toplvl_umount): refuse to attempt the unmount if the
   4786 	mountpoint is not a directory
   4787 
   4788 	* amd/amfs_nfsx.c (amfs_nfsx_init): propagate the MFF_ON_AUTOFS
   4789 	flag into the nfs f/s at the bottom of the stack
   4790 
   4791 	* amd/amfs_nfsl.c: call nfs and link member functions through
   4792 	their respective am_ops structures, not directly
   4793 
   4794 	* amd/amfs_linkx.c (amfs_linkx_umount): new static stub
   4795 
   4796 	* amd/amfs_link.c: made amfs_link_mount() and amfs_link_umount()
   4797 	static functions
   4798 	(amfs_link_mount): removed call to autofs_link_mount()
   4799 	(amfs_link_umount): removed call to autofs_link_umount()
   4800 
   4801 	* amd/amfs_host.c (amfs_host_ops): removed FS_AUTOFS from
   4802 	nfs_fs_flags
   4803 	(do_mount): removed superfluous function arguments
   4804 
   4805 	* amd/amfs_direct.c (amfs_direct_ops): removed FS_AUTOFS from
   4806 	nfs_fs_flags
   4807 
   4808 	* amd/amfs_auto.c (amfs_auto_ops): removed FS_AUTOFS from
   4809 	nfs_fs_flags
   4810 	(amfs_auto_mount): pass extra argument (mf) to amfs_mount
   4811 
   4812 	* amd/amd.h (CFM_AUTOFS_USE_LOFS): new flag, tells amd whether to
   4813 	use lofs-mounts or symlinks when mounting on autofs
   4814 	(CFM_DEFAULT_FLAGS): added CFM_AUTOFS_USE_LOFS
   4815 	(VLOOK_LOOKUP): new flag, will merely check if a key exists
   4816 	(MFF_IS_AUTOFS): renamed from MFF_AUTOFS
   4817 	(MFF_ON_AUTOFS): new flag, tells amd if a f/s is mounted directly
   4818 	on an autofs m/p, or indirectly via a lofs mount/symlink
   4819 	(fh_to_mp2): macro expanded throughout the code and removed
   4820 	(mntfs): removed mf_real_mount hack
   4821 	(autofs_mount_fs): renamed from autofs_link_mount
   4822 	(autofs_umount_fs): renamed from autofs_link_umount
   4823 	(mount_lofs): exposed
   4824 	various other cleanups, functions/variables made static and removed
   4825 
   4826 	* aux_conf.h.in: removed @am_utils_autofs_style@, it is now
   4827 	included directly as amu_autofs_prot.h
   4828 
   4829 2003-07-24  Erez Zadok  <ezk (a] whitestar.dyn.optonline.net>
   4830 
   4831 	* doc/am-utils.texi, scripts/amd.conf.5: document that
   4832 	use_tcpwrappers is "yes" by default.
   4833 
   4834 	* amd/amd.c (init_global_options): set default global options.
   4835 
   4836 	* amd/amd.h (CFM_DEFAULT_FLAGS): define default options which
   4837 	are always on (plock and use_tcpwrappers).
   4838 
   4839 	* scripts/amd.conf-sample: reorganize values per option so default
   4840 	one is listed first.
   4841 
   4842 2003-07-23  Erez Zadok  <ezk (a] filer.fsl.cs.sunysb.edu>
   4843 
   4844 	* tasks: trim old stuff.  Discuss new parser.
   4845 
   4846 	* amd/conf.c (set_conf_kv): initialize the very first map in conf
   4847 	file from global defaults.  Bug fix which was introduced after
   4848 	conf.c code restructuring.
   4849 
   4850 2003-07-18  Erez Zadok  <ezk (a] filer.fsl.cs.sunysb.edu>
   4851 
   4852 	* m4/macros/header_templates.m4: template for
   4853 	HAVE_EXTERN_HOSTS_CTL.
   4854 
   4855 	* include/am_defs.h: define extern for hosts_ctl() if needed.
   4856 
   4857 	* configure.in (AMU_CHECK_EXTERNS): check for extern definition
   4858 	for libwrap's hosts_ctl() (FreeBSD 5.0 doesn't have it).
   4859 
   4860 	* m4/macros/check_extern.m4: include tcpd.h if it and libwrap exist.
   4861 
   4862 2003-07-18  Erez Zadok  <ezk (a] cs.sunysb.edu>
   4863 
   4864 	* hlfsd/hlfsd.h: redundant extern for mboxfile removed.
   4865 
   4866 	* amd/amq_svc.c (amq_program_1): only check for tcpwrappers if
   4867 	amd.conf global option use_tcpwrappers=yes.
   4868 
   4869 	* scripts/amd.conf.5, scripts/amd.conf-sample (use_tcpwrappers),
   4870 	doc/am-utils.texi (use_tcpwrappers Parameter): document new
   4871 	amd.conf global option.
   4872 
   4873 	* amd/conf.c (gopt_use_tcpwrappers): define a new amd.conf global
   4874 	option called use_tcpwrappers ("no" by default).
   4875 
   4876 	* amd/amq_svc.c (amqsvc_is_client_allowed): include tcpd/libwrap
   4877 	code only if both libwrap and tcpd.h exist.
   4878 	(amq_program_1): log warning when an Amq service client is denied,
   4879 	and a debug message when a client is allowed.
   4880 
   4881 	* amd/amd.h (CFM_USE_TCPWRAPPERS): define [global] amd.conf flag.
   4882 	(AMD_SERVICE_NAME): define AMD_SERVICE_NAME for tcpd/libwrap.
   4883 
   4884 	* include/am_defs.h: include tcpd.h if available and libwrap
   4885 	available.
   4886 
   4887 	* configure.in: check for tcpd.h.
   4888 
   4889 2003-07-18  Erez Zadok  <ezk (a] filer.fsl.cs.sunysb.edu>
   4890 
   4891 	* scripts/expn.1, amd/amd.8 amq/amq.8, fixmount/fixmount.8,
   4892 	hlfsd/hlfsd.8, scripts/expn.1: remove ".PD 0" nroff command
   4893 	because it removes useful spaces in between paragraphs.  Based on
   4894 	smaller patch from Philippe Troin <phil (a] fifi.org>.
   4895 
   4896 2003-07-17  Philippe Troin  <phil (a] fifi.org>
   4897 
   4898 	* amq/amq.8: Document the libwrap/amd behavior.
   4899 
   4900 	* amd/amq_svc.c (libwrap_check_client): New function to validate
   4901 	an amq connection with libwrap.
   4902 	(amq_program_1): Call libwrap_check_client() and close the
   4903 	connection if libwrap does not allow it.
   4904 
   4905 	* configure.in: Check for the tcp wrappers library.
   4906 
   4907 2003-07-17  Erez Zadok  <ezk (a] filer.fsl.cs.sunysb.edu>
   4908 
   4909 	* amd/amq_subr.c (amqproc_mnttree_1_svc, amqproc_stats_1_svc,
   4910 	amqproc_getmntfs_1_svc, xdr_amq_mount_tree), hlfsd/hlfsd.c
   4911 	(hlfsd_init): cast pointers to void* before casting them to
   4912 	another type, to avoid gcc-3.3 -Wall warnings.
   4913 
   4914 	* fsinfo/*.[hc]: rename fsinfo function log() to fsi_log(), to
   4915 	avoid conflict with builtin function in gcc-3.3.
   4916 
   4917 2003-07-17  Rainer Orth  <ro (a] TechFak.Uni-Bielefeld.DE>
   4918 
   4919 	* scripts/amd.conf-sample: Remove obsolete comment.
   4920 
   4921 2003-07-16  Erez Zadok  <ezk (a] cs.sunysb.edu>
   4922 
   4923 	* amd/info_file.c (read_line): check for errors from fgets().
   4924 	Although rare, they can occur upon disk or network failures.
   4925 	Patch from Nick Williams <Nick.Williams (a] morganstanley.com>.
   4926 
   4927 2003-07-16  Rainer Orth  <ro (a] TechFak.Uni-Bielefeld.DE>
   4928 
   4929 	* BUGS (Solaris 8): Update patch revisions, mention old autofs
   4930 	patches, fix filenames and rpcgen command.
   4931 
   4932 2003-07-15  Erez Zadok  <ezk (a] agora.fsl.cs.sunysb.edu>
   4933 
   4934 	* doc/am-utils.texi (map_defaults Parameter): document new
   4935 	map_defaults option.
   4936 
   4937 	* scripts/amd.conf.5: document new map_defaults option.
   4938 
   4939 	* scripts/amd.conf-sample (map_type): show examples of new
   4940 	map_defaults option.
   4941 
   4942 	* amd/mapc.c (mapc_create): initialize mnt_map->cfm field to NULL.
   4943 
   4944 	* amd/get_args.c (get_args): call process_all_regular_maps().
   4945 
   4946 	* amd/conf.c: keep head and tail of cfm list.
   4947 	(init_cf_map): reworked reset_cf_map.  This one doesn't reset a
   4948 	globaly reused cfm, but rather just inherits [global] options.
   4949 	(set_conf_kv): just store global/map options without actually
   4950 	creating any mnt_map's.  Essentially, we now parse the whole
   4951 	amd.conf file, and then try to process the maps one at a time.
   4952 	(process_one_regular_map): new function to process one map, just
   4953 	renamed from process_regular_map.
   4954 	(process_all_regular_maps): new exported function to process all
   4955 	maps.  No need for hacky process_last_map().
   4956 	(find_cf_map): new exported function to return a cf_map_t given a
   4957 	map's mount point (e.g., /home or /net).
   4958 
   4959 	* amd/amfs_generic.c (amfs_parse_defaults): find if amd.conf
   4960 	specificed a map_defaults for a given map.  If so, use that
   4961 	instead of the /defaults that came from the map itself.  Also
   4962 	restructure code a bit so it's not one huge long "if" statement.
   4963 
   4964 	HACK ALERT: there's no easy way to find out what the map mount
   4965 	point is at this point, so I am forced to initialize the
   4966 	mnt_map->cfm field here for the first time, upon the very first
   4967 	search for a /defaults entry in this map.  This initialization is
   4968 	much better done in mapc_create(), but it's impossible to do that
   4969 	there with the current code structure.
   4970 
   4971 	* amd/amd.h: struct cf_map becomes linked list.  struct mnt_map
   4972 	includes pointer to cf_map_t, amd.conf defaults and options for a
   4973 	given map. extern cleanups.
   4974 
   4975 2003-07-15  Erez Zadok  <ezk (a] filer.fsl.cs.sunysb.edu>
   4976 
   4977 	* amd/info_hesiod.c (hesiod_search): It's not possible to have a
   4978 	key such as ".access" in a hesiod map as that would imply a null
   4979 	node in the DNS tree.  So a lookup for such a key must clearly
   4980 	fail.  With the current info_hesiod.c it does (after calling
   4981 	hes{,iod}_resolve) but returns an error that confuses some
   4982 	programs - eg. apache.  This patch shortcuts the process and just
   4983 	returns ENOENT for any key starting with ".".  Patch submitted by
   4984 	by Mark Davies <mark (a] mcs.vuw.ac.nz>.
   4985 
   4986 	* include/am_utils.h (CALLOC): redefine macro to use xzalloc, not
   4987 	fsinfo's own xcalloc.
   4988 
   4989 	* fsinfo/fsi_util.c (xcalloc): remove redundant function.
   4990 
   4991 2003-07-14  Erez Zadok  <ezk (a] cs.sunysb.edu>
   4992 
   4993 	* include/am_compat.h (MNTTAB_OPT_XLATECOOKIE): The NetBSD
   4994 	xlatecookie NFS option doesn't work as MNTTAB_OPT_XLATECOOKIE is
   4995 	never defined.  Define it as needed.  Patch from Mark Davies
   4996 	<mark (a] mcs.vuw.ac.nz>.
   4997 
   4998 2003-07-14  Ion Badulescu  <lionut (a] gonzales.badula.org>
   4999 
   5000 	* BUGS (Note): document the Solaris 8 bug (the upgrade to autofs
   5001 	v4 without updating all the header files)
   5002 
   5003 2003-07-13  Ion Badulescu  <lionut (a] gonzales.badula.org>
   5004 
   5005 	* NEWS, tasks: updated
   5006 
   5007 	* amd/amfs_generic.c (free_continuation): free _all_ mntfs's in
   5008 	the am_mfarray, unconditionally
   5009 	(amfs_bgmount): call free_mntfs when we're done with a mntfs, call
   5010 	dup_mntfs when starting processing of a new one; make sure we
   5011 	always go through 'goto failed' for a failed mntfs; use the error
   5012 	code returned by autofs_get_fh()
   5013 
   5014 	* conf/autofs/autofs_linux.c (autofs_get_fh): return proper error
   5015 	codes in case of problems
   5016 
   5017 2003-07-13  Erez Zadok  <ezk (a] filer.fsl.cs.sunysb.edu>
   5018 
   5019 	* BUGS: Document buggy behavior of Solaris /usr/ccs/bin/lex.  In
   5020 	short, use flex.
   5021 
   5022 2003-07-13  Erez Zadok  <ezk (a] a-hpux11.fsl.cs.sunysb.edu>
   5023 
   5024 	* fsinfo/fsi_lex.l, amd/conf_tok.l: allocate more output slots so
   5025 	lex scanners don't run out of mem.
   5026 
   5027 2003-07-13  Ion Badulescu  <lionut (a] gonzales.badula.org>
   5028 
   5029 	* amd/amfs_generic.c (amfs_lookup_mntfs): ditto as below for the
   5030 	special provision
   5031 
   5032 	* amd/mntfs.c (find_mntfs): compare the filesystem type
   5033 	(i.e. mf_ops) in addition to mf_info; the special provision
   5034 	mentioned below is really for any filesystem already mounted on
   5035 	our mount point, not just for inherited filesystems
   5036 
   5037 2003-07-13  Erez Zadok  <ezk (a] whitestar.dyn.optonline.net>
   5038 
   5039 	* doc/Makefile.am (install-html): build per-chapter HTML manual,
   5040 	as well as manual in one big HTML file.
   5041 
   5042 	* doc/am-utils.texi: Minor corrections.  Ack Ion's autofs work.
   5043 	Ack maintainers.  New section on How to get additionl info,
   5044 	including the Amd book.  Correct stale URLs and Emails.
   5045 
   5046 	* amd/amd.8, amq/amq.8, amq/pawd.1, fixmount/fixmount.8,
   5047 	fsinfo/fsinfo.8, hlfsd/hlfsd.8, mk-amd-map/mk-amd-map.8,
   5048 	scripts/amd.conf.5, scripts/automount2amd.8,
   5049 	wire-test/wire-test.8: include references to info pages, proper
   5050 	authors, am-utils Web page, and amd book.
   5051 
   5052 2003-07-13  Ion Badulescu  <lionut (a] gonzales.badula.org>
   5053 
   5054 	* amd/mntfs.c (find_mntfs): re-add the check for mf_info, but with
   5055 	a special provision for inherited filesystems. This unbreaks the
   5056 	handling of parallel mounts
   5057 
   5058 	* amd/amfs_generic.c (amfs_lookup_mntfs): for restarted
   5059 	filesystems, there can be no alternative mntfs to try to mount
   5060 
   5061 2003-07-13  Erez Zadok  <ezk (a] cs.sunysb.edu>
   5062 
   5063 	* amd/amd.8: reference am-utils info page in amd man page, as per
   5064 	Thomas Klausner <wiz (a] danbala.ifoer.tuwien.ac.at>.
   5065 
   5066 	* fsinfo/fsinfo.h, fsinfo/fsinfo.c (fsi_get_args): don't use
   5067 	yywrap() if it doesn't exist.
   5068 
   5069 	* amd/conf_parse.y, amd/conf_tok.l, fsinfo/fsi_gram.y,
   5070 	fsinfo/fsi_lex.l: fixes to support old flex 2.5.4, as well as the
   5071 	newer flex 2.5.31 (beta development).  These include resolving
   5072 	conflicts with yylineno, unput() vs. nounput(), etc.
   5073 
   5074 2003-07-13  Ion Badulescu  <lionut (a] gonzales.badula.org>
   5075 
   5076 	* amd/amfs_generic.c (amfs_cont): check for (am_error > 0) before
   5077 	calling assign_error_mntfs()
   5078 	(amfs_generic_mount_child): ditto
   5079 
   5080 	* amd/autil.c (assign_error_mntfs): move the check for
   5081 	(am_error > 0) up into the caller, it's less confusing that way
   5082 
   5083 	* tasks: some updates
   5084 
   5085 	* conf/transp/transp_tli.c (check_pmap_up): new function which
   5086 	detects if the remote portmapper is functional
   5087 	(amu_clnt_create_best_version): removed
   5088 	(get_nfs_version): use a much simplified version of the old
   5089 	amu_clnt_create_best_version(), based on clnt_create_vers() and
   5090 	its _timed() counterpart
   5091 
   5092 	* conf/transp/transp_sockets.c (check_pmap_up): new function which
   5093 	detects if the remote portmapper is functional
   5094 	(pmap_ping): deleted
   5095 	(get_nfs_version): removed calls to pmap_ping, already done by
   5096 	caller
   5097 
   5098 	* amd/srvr_nfs.c: call check_pmap_up() before continuing with
   5099 	get_nfs_version()
   5100 
   5101 	* amd/amfs_generic.c: updated a couple of log messages
   5102 
   5103 	* configure.in: detect clnt_create_vers and clnt_create_vers_timed;
   5104 	changed LIBTOOL versioning to 3:0:0
   5105 
   5106 2003-07-12  Ion Badulescu  <lionut (a] gonzales.badula.org>
   5107 
   5108 	* conf/autofs/autofs_linux.h (AUTOFS_HOST_FS_FLAGS): removed
   5109 	FS_AUTOFS because the host mount cannot be a top level mount
   5110 	(AUTOFS_DIRECT_FS_FLAGS): removed FS_AUTOFS because Linux autofs
   5111 	doesn't support direct mounts
   5112 
   5113 2003-07-12  Erez Zadok  <ezk (a] whitestar.dyn.optonline.net>
   5114 
   5115 	* amd/conf_parse.y, amd/conf_tok.l: pretty comments on # cpp
   5116 	macros.
   5117 
   5118 2003-07-10  Ion Badulescu  <ionut (a] buggy.badula.org>
   5119 
   5120 	* include/am_utils.h (dlog): improved version for gcc, using
   5121 	vararg macros
   5122 
   5123 	* amd/rpc_fwd.c (fwd_packet): unused variable when compiling
   5124 	without debugging
   5125 
   5126 2003-07-10  Erez Zadok  <ezk (a] filer.fsl.cs.sunysb.edu>
   5127 
   5128 	* include/am_utils.h (dlog): change the #define of non-debugging
   5129 	dlog to "nothing" so that all that'll be left behind is a list of
   5130 	args in parenthesis (arg,arg,...).  GCC and other native C
   5131 	compilers seem OK with it, even if it doesn't optimize away the
   5132 	whole debugging line.
   5133 
   5134 	* ltmain.sh: was from libtool 1.4.2.  updated to libtool 1.4.3,
   5135 	the latest on RH9 systems (but is not the latest libtool
   5136 	available).  Stay with stable version in preparation for 6.1
   5137 	release.
   5138 
   5139 	* config.{guess,sub}, doc/texinfo.tex: update to latest off of
   5140 	ftp.gnu.org.
   5141 
   5142 2003-07-09  Erez Zadok  <ezk (a] filer.fsl.cs.sunysb.edu>
   5143 
   5144 	* amd/amfs_inherit.c (amfs_inherit_inherit): don't use // C++
   5145 	style comments: breaks non-C++ compilers (like AIX xlC 6)
   5146 
   5147 2003-07-02  Ion Badulescu  <ionut (a] buggy.badula.org>
   5148 
   5149 	* doc/am-utils.texi (opts Option): document ignore_portmapper option
   5150 
   5151 	* conf/transp/transp_sockets.c (get_nfs_version): better
   5152 	protocol/version cycling while probing remote server; better log
   5153 	messages
   5154 
   5155 	* amd/srvr_nfs.c (start_ping): improved log message
   5156 	(find_nfs_srvr): always use requested nfs_version/nfs_proto; make
   5157 	sure we have a valid NFS port; start the server as "valid, down" if
   5158 	the remote portmapper tells us the NFS service is not running;
   5159 	implement the "ignore_portmapper" pseudo-mount option
   5160 
   5161 	* amd/rpc_fwd.c (fwd_packet): better debug messages
   5162 
   5163 	* amd/ops_nfs.c (got_nfs_fh): log a messages if a root fh is
   5164 	denied; call wakeup even if mountd call fails
   5165 
   5166 	* amd/amq_subr.c (xdr_amq_mount_info_qelem): use FSRV_ISUP/ISDOWN
   5167 	instead of checking the flags directly
   5168 	* amd/srvr_amfs_auto.c (free_srvr): ditto
   5169 
   5170 	* amd/amfs_generic.c (amfs_bgmount): refined some error/debug
   5171 	messages
   5172 
   5173 	* amd/amd.h (FSRV_ERROR): new macro
   5174 	(FSRV_ISDOWN, FSRV_ISUP): a server that doesn't exist (i.e. it's a
   5175 	local filesystem) is always up
   5176 
   5177 2003-06-30  Erez Zadok  <ezk (a] cs.sunysb.edu>
   5178 
   5179 	* amd/autil.c (am_mounted): set AMF_NOTIMEOUT if either unmount or
   5180 	umount options are present.
   5181 
   5182 	* doc/am-utils.texi (Program Filesystem): document alias options
   5183 	to unmount:=, umount:=.
   5184 
   5185 	* amd/opts.c (expansions): initialize opt_umount.
   5186 	(to_free): initialize opt_umount.
   5187 
   5188 	* amd/amfs_program.c (amfs_program_match): ensure that only one of
   5189 	umount:= or unmount:= options are specified, but that at least one
   5190 	of them is listed.
   5191 
   5192 	* amd/amd.h: support unmount:=XXX as well as umount:=XXX (too
   5193 	annoying in type:program, when one forgets the 'n' in "unmount").
   5194 	They are two separate fields, so we can catch mistakes when
   5195 	someone tries to define both options.
   5196 
   5197 	* doc/am-utils.texi (Program Filesystem): explain that both mount
   5198 	and unmount options must be specified.  Correct example to show
   5199 	both.
   5200 
   5201 2003-06-25  Erez Zadok  <ezk (a] cs.sunysb.edu>
   5202 
   5203 	* XXX: beginning of new amd.conf option map_defaults: will parse
   5204 	the option and set remember it in the right places.  Need to
   5205 	document this and actually hook it up with the rest of the code.
   5206 	Any volunteers? :-)
   5207 
   5208 	* scripts/amd.conf-sample (map_defaults): example of map_defaults
   5209 	amd.conf option.
   5210 
   5211 	* amd/conf.c (reset_cf_map): initialize global and per-mount
   5212 	map_defaults.
   5213 	(gopt_map_defaults): parse global map_defaults.
   5214 	(process_regular_option,ropt_map_defaults): parse per-map
   5215 	map_defaults amd.conf option.
   5216 
   5217 	* amd/amd.h: a place to store global and per-mount map_defaults.
   5218 
   5219 	* BUGS: more notes about AIX 5.2 problems and how to overcome
   5220 	them.
   5221 
   5222 2003-06-10  Erez Zadok  <ezk (a] cs.sunysb.edu>
   5223 
   5224 	* doc/Makefile.am: force version.texi to be rebuilt regardless of
   5225 	maintainer mode.  Silly Automake will not build version.texi if
   5226 	maintainer mode is off (this is hardcoded into the automake perl
   5227 	script!).  According to the Automake maintainers, users should
   5228 	always build in CVS trees with maintainer-mode on; but what if I
   5229 	don't want to?!  I don't want to distribute Makefiles with
   5230 	maintained rules in them to users.  The Automake maintainers also
   5231 	say that "make dist" will rebuild version.texi no matter what.  I
   5232 	find that not to be the case.  It failed to run a "make" before
   5233 	"make dist" because version.texi doesn't exist!  Chicken and Egg
   5234 	situation.  So, until Automake deals with version.texi in a more
   5235 	flexible and friendly manner, I adapted a rule to build
   5236 	version.texi and inserted it in this Makefile.am.
   5237 
   5238 2003-06-09  Erez Zadok  <ezk (a] agora.fsl.cs.sunysb.edu>
   5239 
   5240 	* mk-amd-map/mk-amd-map.c (main): open temp db file using O_EXCL,
   5241 	next best thing to using mkstemp().  Patch from Hendrik Scholz
   5242 	<hscholz (a] raisdorf.net>.
   5243 
   5244 2003-05-08  Ion Badulescu  <ion (a] guppy.limebrokerage.com>
   5245 
   5246 	* libamu/mount_fs.c (compute_automounter_mount_flags): use
   5247 	MNT2_GEN_OPT_AUTOMNTFS if available; minor cleanup
   5248 
   5249 	* m4/macros/header_templates.m4: added template for
   5250 	MNT2_GEN_OPT_AUTOMOUNTED
   5251 
   5252 2003-05-01  Ion Badulescu  <ionut (a] nicu.badula.org>
   5253 
   5254 	* amd/ops_xfs.c (mount_xfs): compile fix (s/genflags/flags/)
   5255 
   5256 2003-04-23  Erez Zadok  <ezk (a] agora.fsl.cs.sunysb.edu>
   5257 
   5258 	* conf/transp/transp_sockets.c (create_amq_service): minor cpp
   5259 	directive indentation and commenting.
   5260 
   5261 2003-04-22  Ion Badulescu  <ionut (a] moisil.badula.org>
   5262 
   5263 	* conf/transp/transp_sockets.c (create_amq_service): Ugly *BSD fix
   5264 	for an RPC library DoS issue (original patch from Martin Blapp,
   5265 	massaged into something more digestable by me)
   5266 
   5267 2003-04-14  Ion Badulescu  <ionut (a] moisil.badula.org>
   5268 
   5269 	* conf/autofs/autofs_solaris_v2_v3.c: removed autofs_free_data(),
   5270 	left over from the recent cleanup
   5271 
   5272 2003-04-13  Erez Zadok  <ezk (a] agora.fsl.cs.sunysb.edu>
   5273 
   5274 	* doc/Makefile.am (DVIPS): use proper options for dvips.
   5275 
   5276 	* doc/am-utils.texi (opts Option): document new 'unmount' option,
   5277 	and better explain the 'nounmount' option.  Also some misc options
   5278 	for better generation of html manual.
   5279 
   5280 	* doc/Makefile.am (install-html): support newer texi2html 4.0
   5281 	options, as older options were renamed or changed behavior.
   5282 
   5283 	* amd/autil.c (am_mounted): support new 'unmount' option, to allow
   5284 	all file system mounts to timeout and thus expire.  This option is
   5285 	useful for removable local media such as CD-ROMs, USB drives,
   5286 	etc. so they can expire when not in use, and get unmounted (such
   5287 	drives can get work out when they keep spinning).  Patch from
   5288 	Christos Zoulas <christos (a] zoulas.com> (originally from Koji
   5289 	Imada).
   5290 
   5291 2003-04-10  Erez Zadok  <ezk (a] agora.fsl.cs.sunysb.edu>
   5292 
   5293 	* configure.in: use AM_MAINTAINER_MODE, so maintainer-only rules
   5294 	do not get added to Makefiles by default (they are confusing to
   5295 	users who don't have autotools installed).
   5296 
   5297 2003-04-09  Ion Badulescu  <ion (a] guppy.limebrokerage.com>
   5298 
   5299 	* amd/mntfs.c (find_mntfs): revert the "change of philosophy" (see
   5300 	the 2001-05-23 entry) back to the 6.0 code
   5301 
   5302 2003-04-04  Erez Zadok  <ezk (a] agora.fsl.cs.sunysb.edu>
   5303 
   5304 	* libamu/xutil.c (switch_to_logfile): don't try to print logfile
   5305 	if it is null (strlen core dump on solaris).  Bug report from John
   5306 	P. Rouillard <rouilj (a] ieee.org>.
   5307 
   5308 2003-03-31  Erez Zadok  <ezk (a] agora.fsl.cs.sunysb.edu>
   5309 
   5310 	* fsinfo/fsinfo.8: typo co-ordinate -> coordinate.  Typo report
   5311 	from Perry E. Metzger" <perry (a] piermont.com>.
   5312 
   5313 2003-03-25  Erez Zadok  <ezk (a] filer.fsl.cs.sunysb.edu>
   5314 
   5315 	* include/am_defs.h: Don't include malloc.h if stdlib.h exists,
   5316 	because modern systems (e.g., BSD) complain if you use malloc.h
   5317 	instead of stdlib.h.  Let's hope there are no systems out
   5318 	there that need both.
   5319 
   5320 2003-03-20  Erez Zadok  <ezk (a] suse73.fsl.cs.sunysb.edu>
   5321 
   5322 	* minor new port: sparc64-unknown-linux-suse7.3.
   5323 
   5324 2003-03-20  Erez Zadok  <ezk (a] a-freebsd5.fsl.cs.sunysb.edu>
   5325 
   5326 	* minor new port: i386-unknown-freebsd5.0.
   5327 
   5328 	* configure.in: detect nfsclient/nfsargs.h.
   5329 
   5330 	* conf/nfs_prot/nfs_prot_freebsd3.h: include
   5331 	<nfsclient/nfsargs.h>, needed in FreeBSD 5.0.
   5332 
   5333 2003-03-15  Erez Zadok  <ezk (a] agora.fsl.cs.sunysb.edu>
   5334 
   5335 	* amd/amd.8, amd/amd.8, fixmount/fixmount.8, hlfsd/hlfsd.8,
   5336 	scripts/amd.conf.5, scripts/expn.1: minor spell checking and
   5337 	extraneous space elimination.
   5338 
   5339 2003-03-07  Ion Badulescu  <ionut (a] buggy.badula.org>
   5340 
   5341 	* conf/autofs/autofs_linux.c (autofs_get_fh): don't leak file
   5342 	descriptors if limit exceeded
   5343 	(autofs_mounted): call autofs_get_mp(); init am_autofs_ttl
   5344 	(autofs_release_fh): release pending_mounts and pending_umounts
   5345 	queues
   5346 	(autofs_timeout_mp): update am_autofs_ttl instead of am_ttl
   5347 
   5348 	* amd/mntfs.c (init_mntfs): delete initialization of removed
   5349 	mf_autofs_fh
   5350 	(uninit_mntfs): delete call to autofs_release_fh()
   5351 
   5352 	* amd/map.c (init_map): init autofs_fh to 0, delete initialization
   5353 	of removed autofs_data
   5354 	(free_map): release autofs_fh after unmounting map; delete call to
   5355 	autofs_free_data()
   5356 	(umount_exported): call autofs_release_mp() prior to unmounting
   5357 	autofs f/s
   5358 	(unmount_mp): ditto
   5359 	(free_map_if_success): call autofs_get_mp() if unmounting fails
   5360 	(timeout_mp): use the dedicated am_autofs_ttl timeout for f/s-wide
   5361 	timeouts instead of the per-mountpoint am_ttl
   5362 
   5363 	* amd/autil.c (am_unmounted): release autofs_fh after unmounting
   5364 	autofs f/s
   5365 
   5366 	* amd/amfs_generic.c (amfs_cont): release autofs_fh if mounting
   5367 	autofs f/s fails;
   5368 	(amfs_bgmount): ditto
   5369 
   5370 	* amd/amd.h: moved autofs_fh from mntfs to am_node, since it's
   5371 	more related to the mount point than to the f/s mounted;
   5372 	added am_autofs_ttl to am_node, for running expirations on entire
   5373 	filesystems
   5374 
   5375 	* conf/autofs/autofs_*: autofs_get_fh() returns int instead of
   5376 	autofs_fh_t *; autofs_release_fh() now takes an am_node * parameter
   5377 	instead of autofs_fh_t *, in an effort to not deal with
   5378 	autofs-specific data structures outside autofs code;
   5379 	new methods autofs_get_mp() and autofs_release_mp(), which
   5380 	acquire/release autofs resources to allow clean unmount attempts;
   5381 	nuke autofs_data_t, never used
   5382 
   5383 	* amd/amd.h: prototypes for new and changed autofs functions
   5384 
   5385 2003-03-07  Ion Badulescu  <ion (a] guppy.limebrokerage.com>
   5386 
   5387 	* amd/nfs_subr.c (do_readlink): eliminate third argument, never used
   5388 	(nfsproc_getattr_2_svc): reorganize the code a bit
   5389 
   5390 	* amd/map.c (mk_fattr): take a nfsfattr * argument instead of an
   5391 	am_node * argument
   5392 
   5393 	* amd/amd.h: changed prototype for mk_fattr()
   5394 
   5395 	* amd/autil.c (am_unmounted): when remounting, use the parent
   5396 	node's lookup_child() and mount_child() operations, not the
   5397 	generic ones
   5398 
   5399 	* amd/amfs_generic.c (amfs_cont): minor code optimization
   5400 
   5401 2003-03-06  Ion Badulescu  <ion (a] guppy.limebrokerage.com>
   5402 
   5403 	* amd/amfs_auto.c: lots of renames and code moving:
   5404 	amfs_auto_match() -> amfs_generic_match(), moved to generic;
   5405 	amfs_auto_mkcacheref() -> amfs_mkcacheref(), moved to autil.c;
   5406 	amfs_auto_mounted() -> amfs_generic_mounted(), moved to generic;
   5407 	amfs_auto_umount() -> amfs_generic_umount(), moved to generic;
   5408 	free_continuation(): moved to generic, made static;
   5409 	assign_error_mntfs(): moved to autil.c;
   5410 	amfs_auto_cont() -> amfs_cont(), moved to generic, made static;
   5411 	amfs_auto_retry() -> amfs_retry(), moved to generic, made static;
   5412 	try_mount() + mount_node() -> mount_node(), moved to map.c
   5413 	amfs_auto_bgmount() -> amfs_bgmount(), moved to generic;
   5414 	amfs_parse_defaults(): moved to generic;
   5415 	amfs_auto_lookup_node() -> amfs_lookup_node(), moved to generic;
   5416 	amfs_auto_lookup_one_mntfs() -> amfs_lookup_one_mntfs(), in generic;
   5417 	amfs_auto_lookup_mntfs() -> amfs_lookup_mntfs(), moved to generic;
   5418 	amfs_auto_mount_child() -> amfs_generic_mount_child(), in generic;
   5419 	amfs_auto_lookup_child() -> amfs_generic_lookup_child(), in generic;
   5420 	next_nonerror_node(): moved to autil.c;
   5421 	amfs_auto_readdir() -> amfs_generic_readdir(), moved to readdir;
   5422 	amfs_auto_readdir_browsable() -> amfs_readdir_browsable(), in readdir;
   5423 
   5424 	* amd/amfs_toplvl.c: mount_amfs_toplvl() renamed to amfs_mount()
   5425 	and moved to autil.c
   5426 
   5427 	* amd/readdir.c, amd/amfs_generic.c: new files with stuff ripped
   5428 	out of amd/amfs_auto.c
   5429 
   5430 	* amd/amd.h: struct continuation moved to generic.c; prototypes
   5431 	for the renamed functions; NumChild renamed to NumChildren
   5432 
   5433 	* amd/map.c: collaped unmount_node_wrap() and unmount_node() into
   5434 	the latter
   5435 
   5436 	* amd/mapc.c: key_already_in_chain(): moved to readdir.c;
   5437 	make_entry_chain(): moved to readdir.c;
   5438 
   5439 	* amd/srvr_amfs_auto.c: find_amfs_auto_srvr() renamed to
   5440 	amfs_generic_find_srvr()
   5441 
   5442 	* amd/amfs_*.c: adjustments for the renames above
   5443 
   5444 	* amd/ops_*.c: low-level filesystems don't need a find_server()
   5445 	method
   5446 
   5447 	* amd/Makefile.am: added amfs_generic.c and readdir.c
   5448 
   5449 	* doc/am-utils.texi: minor clarification for auto maps
   5450 
   5451 2003-03-06  Ion Badulescu  <ion (a] guppy.limebrokerage.com>
   5452 
   5453 	* amd/amd.h: moved lots and lots of amd-only stuff here, from
   5454 	include/am_utils.h; changed task_fun, cb_fun and fwd_fun typedefs
   5455 	to be function typedefs, not pointer to function typedefs
   5456 
   5457 	* include/am_utils.h: see above
   5458 
   5459 	* amd/ops_nfs.c, amd/rpc_fwd.c, amd/sched.c: adjustments for
   5460 	function typedef changes
   5461 
   5462 2003-03-05  Erez Zadok  <ezk (a] cs.sunysb.edu>
   5463 
   5464 	* BUGS: record IBM's patch number for the AIX 5.2 NFS over IPv6
   5465 	bug.
   5466 
   5467 2003-02-02  Erez Zadok  <ezk (a] siamese.fsl.cs.sunysb.edu>
   5468 
   5469 	* NEWS: minor new port: ia64-unknown-linux-rh2.1AS
   5470 
   5471 2003-01-31  Ion Badulescu  <ion (a] console.limebrokerage.com>
   5472 
   5473 	* m4/macros/os_cflags.m4: rhapsody and darwin are the same
   5474 
   5475 	* amd/autil.c (mount_node): vastly simplified, just a wrapper now
   5476 
   5477 	* amd/amfs_inherit.c (amfs_inherit_mount): remove the am_mounted()
   5478 	hack, we now do it properly in the generic code
   5479 
   5480 	* amd/amfs_auto.c (amfs_auto_bgmount): get the autofs_fh _before_
   5481 	forking the child; set and reset MFF_MOUNTING here, not in
   5482 	mount_node(), because the latter might be running in child
   5483 	context; call am_mounted() after a successful foreground mount
   5484 
   5485 2003-01-29  Ion Badulescu  <ionut (a] moisil.badula.org>
   5486 
   5487 	* configure.in: new flag --with[out]-ndbm; don't pull in libldap
   5488 	if building --without-ldap; look for the gdbm/ndbm.h header; make
   5489 	explicit the dependency between the ndbm headers and libraries;
   5490 	define NEW_DBM_H as the ndbm header that should be used
   5491 
   5492 	* include/am_defs.h: simply include NEW_DBM_H for ndbm stuff,
   5493 	instead of trying to second-guess configure
   5494 
   5495 	* m4/macros/header_templates.m4: new template for NEW_DBM_H
   5496 
   5497 	* m4/macros/check_map_funcs.m4:
   5498 	(ac_upcase_map_name): use the third argument correctly
   5499 
   5500 	* ltmain.sh: working version from libtool-1.4.2-7
   5501 
   5502 	* buildall: print the entire configure command, including extra
   5503 	arguments; pass each of the extra arguments separately, not
   5504 	commingled into one
   5505 
   5506 2003-01-28  Ion Badulescu  <ion (a] guppy.limebrokerage.com>
   5507 
   5508 	* include/am_utils.h (DEBUG_MNTTAB): define outside of #ifdef
   5509 	DEBUG; it is not used without DEBUG, but it is referenced at
   5510 	compile time. Bug report from John Kilburg <john (a] physics.unlv.edu>.
   5511 	(D_ALL): don't include D_XDRTRACE, too verbose and normally
   5512 	unnecessary
   5513 
   5514 2003-01-28  Erez Zadok  <ezk (a] cs.sunysb.edu>
   5515 
   5516 	* ltmain.sh, config.guess, config.sub, doc/texinfo.tex: updates
   5517 	from latest official GNU versions.
   5518 
   5519 2003-01-25  Erez Zadok  <ezk (a] cs.sunysb.edu>
   5520 
   5521 	* BUGS (Note): document AIX-5.1 NFS-client side bug (hangs in
   5522 	vmount).
   5523 
   5524 2003-01-25  Ion Badulescu  <ionut (a] moisil.badula.org>
   5525 
   5526 	* Released beta version 6.1b2
   5527 
   5528 2003-01-24  Ion Badulescu  <ionut (a] moisil.badula.org>
   5529 
   5530 	* amd/autil.c (am_unmounted): reset MFF_MKMNT from mf_flags when
   5531 	calling rmdirs() on mountpoint
   5532 
   5533 	* amd/amfs_auto.c (amfs_auto_bgmount): ditto
   5534 
   5535 	* amd/amfs_nfsl.c (amfs_nfsl_umounted): ditto
   5536 
   5537 	* doc/am-utils.texi (opts Option): "sftlookup" -> "softlookup"
   5538 
   5539 	* NEWS: "sftlookup" -> "softlookup"
   5540 
   5541 	* amd/ops_nfs.c (nfs_mount): "sftlookup" -> "softlookup", also
   5542 	check for "nosoftlookup" in combination with "soft"
   5543 
   5544 2003-01-23  Ion Badulescu  <ion (a] guppy.limebrokerage.com>
   5545 
   5546 	* m4/macros/check_nfs_fh_dref.m4: darwin/rhapsody is another
   5547 	freebsd22 derivative
   5548 
   5549 	* NEWS: updated for Darwin changes
   5550 
   5551 	* .cvsignore: added A.i386-apple-darwin6.0
   5552 
   5553 	* m4/macros/os_cflags.m4: add -D_P1003_1B_VISIBLE to cflags for
   5554 	Darwin
   5555 
   5556 2003-01-23  Erez Zadok  <ezk (a] cs.sunysb.edu>
   5557 
   5558 	* conf/mount/mount_aix.c (mount_aix3): clean back this file from
   5559 	all the debugging cruft that is no longer needed (and really was
   5560 	never needed in the first place).
   5561 
   5562 2003-01-10  Erez Zadok  <ezk (a] cs.sunysb.edu>
   5563 
   5564 	* scripts/test-amd.{misc,conf}: simple amd.conf and amd.misc
   5565 	(map) files for testing basic amd functionality such as whether it
   5566 	can mount its own mount NFS points.
   5567 
   5568 2002-12-28  Ion Badulescu  <ionut (a] moisil.badula.org>
   5569 
   5570 	* amd/srvr_nfs.c (start_nfs_pings): don't set FSF_PINGING if
   5571 	pings are disabled
   5572 
   5573 	* libamu/xdr_func.c (xdr_ftype): use a local enum_t variable
   5574 	instead of casting the pointer to (enum_t *)
   5575 	(xdr_mountstat3): ditto
   5576 	(xdr_nfsstat): ditto
   5577 
   5578 	* libamu/misc_rpc.c (make_rpc_packet): fix make_rpc_packet() on
   5579 	64-bit big-endian platforms, bug report from Bill Fenner
   5580 	<fenner (a] research.att.com>
   5581 
   5582 	* configure.in: increase library patchlevel
   5583 
   5584 	* libamu/xutil.c (amu_release_controlling_tty): close and reopen
   5585 	file descriptors 0,1,2 before calling setsid()
   5586 
   5587 2002-12-27  Erez Zadok  <ezk (a] cs.sunysb.edu>
   5588 
   5589 	* updated copyright year to 2003 on all files
   5590 
   5591 2002-12-10  Erez Zadok  <ezk (a] localhost.localdomain>
   5592 
   5593 	* rename "aux/" subdir into "m4/" so as to avoid problems with
   5594 	MS-DOS systems (where "AUX" is a reserved name).  This required
   5595 	fixing numerous files.
   5596 
   5597 2002-12-10  Erez Zadok  <ezk (a] filer.fsl.cs.sunysb.edu>
   5598 
   5599 	* configure.in: don't check for bad hasmntopt() function if
   5600 	hasmntopt() doesn't exist on the system, because we will replace
   5601 	it with our own version anyway.
   5602 
   5603 	* conf/transp/transp_sockets.c (amu_get_myaddress): use "%lx" in
   5604 	dlog because htonl() returns a u_long.
   5605 
   5606 2002-12-10  Erez Zadok  <ezk (a] localhost.localdomain>
   5607 
   5608 	* include/am_defs.h: use system's hasmntopt() only if it is found
   5609 	and it is not buggy.
   5610 
   5611 	* libamu/hasmntopt.c (nextmntopt): isspace() takes an int, not a
   5612 	char.
   5613 
   5614 	* amd/am_ops.c, amd/amfs_auto.c, amd/autil.c, amd/nfs_subr.c,
   5615 	amd/ops_cdfs.c, amd/ops_nfs.c, amd/srvr_nfs.c, libamu/hasmntopt.c,
   5616 	libamu/mount_fs.c, libamu/mtab.c: rename all uses of hasmntopt()
   5617 	to amu_hasmntopt().  Don't use hasmntopt() directly any more!
   5618 
   5619 	* aux/macros/func_bad_hasmntopt.m4: new M4 macro to test for a bad
   5620 	hasmntopt() function, which incorrectly finds the option "soft" in
   5621 	a string "hard,softlookup,ro".
   5622 
   5623 	* libamu/hasmntopt.c (hasmntopt): use 'const' on two args to
   5624 	hasmntopt(), to match what most systems use.
   5625 
   5626 	* aux/macros/header_templates.m4: template for HAVE_BAD_HASMNTOPT.
   5627 
   5628 	* configure.in: invoke test for bad hasmntopt()
   5629 
   5630 	* NEWS: minor new port, i386-pc-linux-rh8.0.
   5631 	Mention autofs-v4 on solaris9 works.
   5632 
   5633 	* bootstrap: remove any autom4te-*.cache directories, now that
   5634 	autoconf uses a version number for them.
   5635 
   5636 2002-12-09  Ion Badulescu  <ionut (a] moisil.badula.org>
   5637 
   5638 	Patches from Christos Zoulas:
   5639 
   5640 	-1- am_utils.h: add full prototypes
   5641 	-2- amfs_auto.c make functions static and add prototypes
   5642 	-3- map.c: kill double free
   5643 	-5- transp_sockets.c: add full prototypes
   5644 
   5645 2002-12-09  Ion Badulescu  <ionut (a] moisil.badula.org>
   5646 
   5647 	* NEWS: updated
   5648 
   5649 	* doc/am-utils.texi (opts Option): document sftlookup
   5650 
   5651 	* conf/autofs/autofs_solaris_v2_v3.c: compile fixes
   5652 
   5653 2002-11-22  Erez Zadok  <ezk (a] filer.fsl.cs.sunysb.edu>
   5654 
   5655 	* amd/info_ldap.c (amu_ldap_rebind): gopt.ldap_cache_seconds is
   5656 	%ld not %d.
   5657 
   5658 2002-11-21  Erez Zadok  <ezk (a] agora.fsl.cs.sunysb.edu>
   5659 
   5660 	* {amd,fsinfo}/Makefile.am: remove special rules for processing
   5661 	yacc/lex files, now that autoconf/automake properly handle them
   5662 	better (esp. now that bison 1.75 behaves differently than older
   5663 	bison versions).
   5664 
   5665 2002-11-21  Erez Zadok  <ezk (a] cs.sunysb.edu>
   5666 
   5667 	* config.guess.long: updated script so it will properly find the
   5668 	version number of the new Itanium 2 machines running "Red Hat
   5669 	Linux Advanced Workstation release 2.1AW (Derry)".  The script now
   5670 	will report ia64-unknown-linux-rh2.1AW.
   5671 
   5672 2002-11-20  Ion Badulescu  <ionut (a] moisil.badula.org>
   5673 
   5674 	* amfs_auto_bgmount(): almost complete rewrite
   5675 
   5676 	* fixed amfs_inherit to do the right thing and not dereference
   5677 	freed mntfs'es
   5678 
   5679 	* #if 0'ed bogus code in fh_to_mp3() -- it is now done properly in
   5680 	amfs_autofs_lookup_child()
   5681 
   5682 	* release the autofs_fh only in one place
   5683 
   5684 	* remove the mountpoint only if mf_refc == 1
   5685 
   5686 	* print the mntfs type in free_mntfs()
   5687 
   5688 	* new pseudo-mount option 'sftlookup' which causes lookups to
   5689 	mounted shares from downed servers to return EIO; the default
   5690 	depends on whether the mount is 'hard' or 'soft'
   5691 
   5692 	* improved querying of supported NFS versions on the server --
   5693 	don't even try if it's known to be down
   5694 
   5695 	* solaris autofs mount code moved to transp_{sockets,tli}.c
   5696 
   5697 	* incipient (non-functional) AIX autofs support
   5698 
   5699 2002-11-11  Ion Badulescu  <ion (a] guppy.limebrokerage.com>
   5700 
   5701 	* doc/am-utils.texi (Keep-alives): removed outdated info about not
   5702 	maintaining the state of TCP NFS servers
   5703 
   5704 2002-11-04  Ion Badulescu  <ion (a] guppy.limebrokerage.com>
   5705 
   5706 	* include/am_utils.h: prototype for ops_search()
   5707 
   5708 	* amd/am_ops.c (ops_search): new function for searching the right
   5709 	set of ops for a given filesystem type
   5710 
   5711 	* amd/restart.c (restart): cleanup and split into two functions in
   5712 	preparation for handling the restart of amd's own mount points
   5713 	(restart_fake_mntfs): new function, factored out from restart()
   5714 
   5715 2002-11-04  Ion Badulescu  <ionut (a] buggy.badula.org>
   5716 
   5717 	* amd/ops_cdfs.c (mount_cdfs): remove special code for loop device
   5718 	(cdfs_umount): ditto
   5719 
   5720 	* conf/mount/mount_linux.c (mount_linux): factor it out to
   5721 	mount_linux_nfs() and mount_linux_nonfs()
   5722 	(mount_linux_nonfs): generalize loop device support to all
   5723 	filesystems (not just cdfs); make it automatic for anything that's
   5724 	a regular file
   5725 	(parse_opts): deprecate the explicit "loop" mount option
   5726 	(do_mount_linux): minor cleanup
   5727 
   5728 	* conf/umount/umount_default.c (umount_fs2): release loop device
   5729 	on umount()
   5730 
   5731 2002-11-03  Erez Zadok  <ezk@cnm20>
   5732 
   5733 	* include/am_defs.h: moved #include of net/if.h above net/route.h,
   5734 	because on AIX 5.2 if.h is needed for route.h (let's hope it
   5735 	doesn't break things on other systems).
   5736 
   5737 	* include/am_defs.h: AIX 5.2 needs struct sigevent from signal.h
   5738 	to be defined, but I don't want to move the inclusion of signal.h
   5739 	this early into this file.  Luckily, amd doesn't need the size of
   5740 	this structure in any other structure that it uses.  So we
   5741 	sidestep it for now.
   5742 
   5743 	* conf/nfs_prot/nfs_prot_aix5_2.h: AIX 5.2 wants 'struct pathcnf',
   5744 	but I couldn't find its definition anywhere.  Luckily, amd doesn't
   5745 	need the size of this structure in any other structure that it
   5746 	uses.  So we sidestep it for now.
   5747 
   5748 2002-11-02  Erez Zadok  <ezk (a] cs.sunysb.edu>
   5749 
   5750 	* config.guess, config.sub, doc/texinfo.tex: updates from
   5751 	the latest GNU distributions (2002-09-05).
   5752 
   5753 2002-10-30  Erez Zadok  <ezk (a] agora.fsl.cs.sunysb.edu>
   5754 
   5755 	* conf/nfs_prot/nfs_prot_aix5_2.h: add more definitions from
   5756 	mount.h for NFSOPT_* and NFSMNT_*.
   5757 	Don't use typedefs that aren't found in system header files.
   5758 
   5759 2002-10-30  Erez Zadok  <ezk (a] cs.sunysb.edu>
   5760 
   5761 	* Makefile.am (EXTRA_DIST_CONF): distribute nfs_prot_aix5_2.h.
   5762 
   5763 	* conf/nfs_prot/nfs_prot_aix5_2.h: new file.
   5764 
   5765 	* aux/macros/struct_nfs_args.m4 (ac_cv_have_struct_nfs_args): look
   5766 	for "struct aux52_nfs_args".
   5767 
   5768 	* aux/macros/check_nfs_prot_headers.m4: define new header file for
   5769 	AIX 5.2.
   5770 
   5771 2002-10-21  Erez Zadok  <ezk (a] agora.fsl.cs.sunysb.edu>
   5772 
   5773 	* scripts/amd.conf.5 (ldap_proto_version): document in amd.conf
   5774 	man page.
   5775 
   5776 	* scripts/amd.conf-sample (ldap_proto_version): show example of use
   5777 
   5778 	* doc/am-utils.texi (ldap_proto_version Parameter): document new
   5779 	amd.conf option.
   5780 
   5781 	* amd/conf.c (gopt_ldap_proto_version): new conf function to
   5782 	support ldap_proto_version amd.conf parameter.
   5783 
   5784 	* amd/amd.h: field to hold LDAP protocol version.
   5785 
   5786 	* amd/amd.c (init_global_options): set default for
   5787 	ldap_proto_version.  ldap_proto_version patch from George Ross
   5788 	<gdmr (a] dcs.ed.ac.uk> and Tim Colles <timc (a] inf.ed.ac.uk>.
   5789 
   5790 	* amd/info_ldap.c (amu_ldap_unbind): ignore SIGPIPE errors while
   5791 	unbinding from an LDAP server that may have been restarted.  Fix
   5792 	from George Ross <gdmr (a] dcs.ed.ac.uk>.
   5793 
   5794 2002-09-17  Ion Badulescu  <ion (a] guppy.limebrokerage.com>
   5795 
   5796 	* remove all autoconf stuff added for sys_nerr
   5797 
   5798 	* amq/amq.c, libamu/xutil.c, hlfsd/hlfsd.c: always use strerror
   5799 
   5800 	* libamu/strerror.c: more explicit text for unknown errno's
   5801 
   5802 2002-10-01  Erez Zadok  <ezk (a] cs.sunysb.edu>
   5803 
   5804 	* include/am_defs.h: define "extern int sys_err" if needed.
   5805 
   5806 	* aux/macros/header_templates.m4: template for
   5807 	HAVE_EXTERN_SYS_NERR.
   5808 
   5809 	* hlfsd/hlfsd.h, libamu/xutil.c (expand_error), amq/amq.c
   5810 	(show_mi): remove "extern int sys_err"
   5811 
   5812 	* configure.in: execute test for "extern int sys_err"
   5813 
   5814 	* Makefile.am (EXTRA_DIST_AUX): distribute new extern_sys_err.m4 file.
   5815 
   5816 	* aux/macros/extern_sys_nerr.m4: new test to check for existence
   5817 	of "extern int sys_nerr" definition in system headers.
   5818 
   5819 2002-09-17  Ion Badulescu  <ion (a] guppy.limebrokerage.com>
   5820 
   5821 	* libamu/xutil.c (dbg_opt): bring comments in line with the code
   5822 
   5823 	* hlfsd/hlfsd.c (main): use amuDebug() instead of touching
   5824 	debug_flags directly
   5825 
   5826 	* amd/amd.c (main): don't init debug_flags, leave it as zero (no
   5827 	debugging by default)
   5828 
   5829 2002-09-11  Ion Badulescu  <ion (a] guppy.limebrokerage.com>
   5830 
   5831 	Debug code sanitization:
   5832 
   5833 	- amuDebug() becomes an expression, and explicit if() statements
   5834 	are added around it throughout the code
   5835 	- amuDebugNo() goes away (ugh!)
   5836 	- D_AMQ, D_DAEMON and D_FORK reverse their meaning
   5837 	- D_ALL contains only options that don't affect amd's functionality
   5838 
   5839 2002-09-04  Ion Badulescu  <ion (a] guppy.limebrokerage.com>
   5840 
   5841 	* amd/amfs_auto.c (free_continuation): avoid double-free'ing the
   5842 	mntfs if there was an error/timeout
   5843 
   5844 2002-09-04  Ion Badulescu  <ion (a] guppy.limebrokerage.com>
   5845 
   5846 	* amd/amfs_auto.c (amfs_auto_lookup_mntfs): use ereturn() instead
   5847 	of "return NULL" to signal an error to the upper layers
   5848 	(amfs_auto_mount): use strdup so the string can be free'd later on
   5849 	[Debian bug report from Matt Chapman <matthewc (a] cse.unsw.edu.au>]
   5850 
   5851 2002-09-03  Ion Badulescu  <ion (a] guppy.limebrokerage.com>
   5852 
   5853 	Patches from George Ross <gdmr (a] dcs.ed.ac.uk>:
   5854 
   5855 	* amd/amfs_auto.c (assign_error_mntfs): do not discard old mntfs,
   5856 	it will be done in free_continuation(); assorted debugging messages
   5857 
   5858 	* amd/srvr_nfs.c (nfs_timed_out): allocate a new XID on server
   5859 	timeout to avoid problems with late ping replies
   5860 
   5861 	* amd/mntfs.c (free_mntfs): sanity check for mf_refc; assorted
   5862 	debugging messages
   5863 
   5864 	* amd/map.c (unmount_node): more verbose debug message
   5865 
   5866 2002-07-29  Ion Badulescu  <ion (a] guppy.limebrokerage.com>
   5867 
   5868 	* amd/amfs_auto.c (amfs_auto_lookup_mntfs): prevent deferencing
   5869 	de-allocated memory in str3cat
   5870 	(amfs_auto_lookup_mntfs): check for buffer overflow
   5871 
   5872 2002-07-11  Erez Zadok  <ezk (a] agora.fsl.cs.sunysb.edu>
   5873 
   5874 	* scripts/expn.{1,in}: fixed typos as reported by Thomas Klausner
   5875 	<wiz (a] danbala.ifoer.tuwien.ac.at>.
   5876 
   5877 2002-06-26  Erez Zadok  <ezk (a] agora.fsl.cs.sunysb.edu>
   5878 
   5879 	* doc/Makefile.am (install-html): don't use locally hacked
   5880 	texi2html features.
   5881 
   5882 	* conf/transp/transp_sockets.c (amu_get_myaddress): Most modern
   5883 	systems should use 127.0.0.1 as the localhost address over which
   5884 	you can do NFS mounts.  In the past we found that some NFS clients
   5885 	may not allow mounts from localhost.  So we used get_myaddress()
   5886 	and that seemed to work.  Alas, on some other systems,
   5887 	get_myaddress() may return one of the interface addresses at
   5888 	random, and thus use a less efficient IP address than 127.0.0.1.
   5889 	The solution is to hard-code 127.0.0.1, but still check if
   5890 	get_myaddress() returns a different value and warn about it.
   5891 
   5892 	* doc/am-utils.texi: don't use ':' in @cindex entries.
   5893 
   5894 2002-06-25  Ion Badulescu  <ion (a] guppy.limebrokerage.com>
   5895 
   5896 	* Released beta version 6.1b1
   5897 
   5898 2002-06-24  Ion Badulescu  <ionut (a] moisil.badula.org>
   5899 
   5900 	* aux/macros/struct_nfs_args.m4: added test for aix51_nfs_args
   5901 
   5902 	* conf/nfs_prot/nfs_prot_aix5_1.h: rename aix42_nfs_args to
   5903 	aix51_nfs_args, rename unknown fields to u<number>, add the
   5904 	unknown new field into the middle of the old 4.2 structure
   5905 
   5906 2002-06-24  Ion Badulescu  <ion (a] guppy.limebrokerage.com>
   5907 
   5908 	* include/am_compat.h: better test for struct netconfig
   5909 	(!HAVE_NETCONFIG_H && !HAVE_SYS_NETCONFIG_H)
   5910 
   5911 	* aux/macros/check_nfs_prot_headers.m4: added new header for aix5.1+
   5912 
   5913 	* buildall: fix 'buildall -b' on hpux9 and aix5.1
   5914 
   5915 2002-06-24  Ion Badulescu  <ionut (a] buggy.badula.org>
   5916 
   5917 	* INSTALL: updated
   5918 
   5919 	* conf/autofs/autofs_solaris_v1.c (autofs_link_mount): compile fix
   5920 	(autofs_link_umount): ditto
   5921 
   5922 	* amd/mntfs.c (init_mntfs): don't use autofs if !amd_use_autofs
   5923 
   5924 2002-06-23  Ion Badulescu  <ionut (a] moisil.badula.org>
   5925 
   5926 	* conf/autofs/autofs_linux.c: compile fixes for autofs v3
   5927 
   5928 2002-06-23  Ion Badulescu  <ionut (a] moisil.badula.org>
   5929 
   5930 	* conf/autofs/autofs_solaris_v2_v3.c (autofs_mounted): no
   5931 	expirations needed;
   5932 	(autofs_timeout_mp): likewise
   5933 
   5934 	* conf/autofs/autofs_solaris_v1.c (autofs_mounted): no expirations
   5935 	needed;
   5936 	(autofs_timeout_mp): likewise
   5937 
   5938 	* conf/autofs/autofs_linux.c (autofs_mounted): set the first
   5939 	expiration interval
   5940 
   5941 	* amd/autil.c (am_mounted): call autofs_mounted here, instead of
   5942 	in mf_mounted()
   5943 
   5944 	* amd/amd.h (NEVER): moved here from map.c
   5945 	(autofs_mounted): change argument from mntfs* to am_node*
   5946 
   5947 2002-06-23  Ion Badulescu  <lionut (a] gonzales.badula.org>
   5948 
   5949 	* conf/autofs/autofs_linux.c (autofs_mounted): set the kernel
   5950 	timeout on the autofs mountpoint to cache_duration (gopt.am_timeo)
   5951 	(autofs_timeout_mp): don't update the ttl if we're going down
   5952 
   5953 	* amd/map.c (timeout_mp): don't call autofs_timeout_mp unless the
   5954 	timeout on that particular am_node has expired
   5955 
   5956 	* conf/autofs/autofs_linux.c (autofs_timeout_mp): really update
   5957 	the ttl, as per the comment (compilers are not very good at
   5958 	translating comments into code...)
   5959 
   5960 	* amd/amfs_auto.c (amfs_auto_lookup_one_mntfs): strdup am_path
   5961 	instead of opt_rfs into opt_fs for autofs, thus avoiding conflicts
   5962 	between link mounts pointing to the same target
   5963 
   5964 2002-06-23  Ion Badulescu  <lionut (a] gonzales.badula.org>
   5965 
   5966 	* conf/autofs/autofs_linux.c (send_fail, send_ready): new helper
   5967 	functions for sending messages back to the kernel
   5968 	(autofs_expire_one): initial implementation of the kernel-based
   5969 	expiration handler
   5970 	(autofs_handle_expire): call autofs_expire_one()
   5971 	(autofs_handle_expire_multi): ditto
   5972 	(autofs_umount_succeeded): search pending_umounts, send message
   5973 	back to the kernel
   5974 	(autofs_umount_failed): ditto
   5975 	(autofs_mount_succeeded): tell amd core not to expire autofs entries
   5976 	(autofs_timeout_mp): expiration function for autofs filesystems
   5977 	(autofs_timeout_mp_task): helper function for autofs_timeout_mp
   5978 
   5979 	* conf/autofs/autofs_linux.h: new struct autofs_pending_umount for
   5980 	keeping tracking of pending umounts
   5981 	(autofs_fh_t) rename pending to pending_mounts, add pending_umounts
   5982 
   5983 	* conf/autofs/autofs_solaris_v1.c (autofs_timeout_mp): stub
   5984 
   5985 	* conf/autofs/autofs_solaris_v2_v3.c (autofs_timeout_mp): stub
   5986 
   5987 	* amd/map.c (timeout_mp): call autofs_timeout_mp() for autofs
   5988 	filesystems
   5989 
   5990 	* amd/autil.c (mf_mounted): move here the call autofs_mounted()
   5991 	from amfs_auto_mounted().
   5992 
   5993 2002-06-22  Erez Zadok  <ezk (a] whitestar.dyn.optonline.net>
   5994 
   5995 	* amd/nfs_start.c (mount_automounter): Security fix.  if user sets
   5996 	-D noamq, don't even create listening socket.  Suggestion by Ed
   5997 	Ravin <eravin (a] panix.com>.
   5998 
   5999 2002-06-22  Ion Badulescu  <lionut (a] gonzales.badula.org>
   6000 
   6001 	* hlfsd/homedir.c (homedir): use setgid() instead of setegid()
   6002 
   6003 	* ALL: #ifdef cleanups, unify some TLI/socket function prototypes
   6004 
   6005 2002-06-22  Erez Zadok  <ezk (a] whitestar.dyn.optonline.net>
   6006 
   6007 	* conf/nfs_prot/nfs_prot_netbsd1_4.h: minor port to support
   6008 	na_gid and na_uid.  NetBSD patch from Jun-ichiro itojun Hagino
   6009 	<itojun (a] iijlab.net>.
   6010 
   6011 	* doc/am-utils.texi (Option): document xlatecookie mount option.
   6012 
   6013 	* libamu/mount_fs.c (compute_nfs_args): support "xlatecookie"
   6014 	NFS mount option.  Patch from Matthias Scheler <tron (a] zhadum.de>
   6015 	for NetBSD.
   6016 
   6017 2002-06-22  Ion Badulescu  <ionut (a] edgar.badula.org>
   6018 
   6019 	* conf/autofs/autofs_solaris_v1.h: add FS_MBACKGROUND to
   6020 	AUTOFS_LINK_FS_FLAGS
   6021 
   6022 	* conf/autofs/autofs_solaris_v1.c: convert link mounts to lofs
   6023 	mounts in autofs_link_mount/umount
   6024 
   6025 2002-06-22  Ion Badulescu  <lionut (a] gonzales.badula.org>
   6026 
   6027 	* configure.in: check for devid inside struct umntrequest
   6028 
   6029 	* conf/autofs/autofs_solaris_v2_v3.c (xdr_umntrequest): handle the
   6030 	new umntrequest structure in v4.
   6031 	(autofs_unmount_2_req): ditto
   6032 
   6033 	* README.autofs: updated for Solaris 2.5/2.5.1
   6034 
   6035 2002-06-22  Erez Zadok  <ezk (a] whitestar.dyn.optonline.net>
   6036 
   6037 	* configure.in: only define LDAP/Hesiod if both the headers and
   6038 	the libraries exist, and the user didn't explicitly disable those
   6039 	maps.
   6040 
   6041 2002-06-22 Erez Zadok  <ezk (a] agora.fsl.cs.sunysb.edu>
   6042 
   6043 	* doc/am-utils.texi: fix typos.  Can't use ":" in @cindex entries.
   6044 
   6045 2002-06-22  Erez Zadok  <ezk (a] whitestar.dyn.optonline.net>
   6046 
   6047 	* doc/am-utils.texi, scripts/amd.conf.5, scripts/amd.conf-sample,
   6048 	amd/amd.8, amd/get_args.c (get_args): document amd -A option.
   6049 
   6050 	* amd/get_args.c (get_args): support "amd -A arg" option to
   6051 	override the system's detected architecture.  Patch from George
   6052 	Ross <gdmr (a] dcs.ed.ac.uk>.
   6053 
   6054 	* amd/info_ldap.c (amu_ldap_rebind): don't use ldap_enable_cache()
   6055 	if the system doesn't have it.
   6056 
   6057 	* configure.in: detect existence of ldap_enable_cache function,
   6058 	because it doesn't exist on Solaris 9's latest ldap libraries.
   6059 
   6060 	* amd/info_ldap.c: LDAP patches from George Ross
   6061 	<gdmr (a] dcs.ed.ac.uk>.  Rework of old code, support for wildcards in
   6062 	LDAP queries, and an FD leak fix.
   6063 
   6064 2002-06-22  Ion Badulescu  <lionut (a] gonzales.badula.org>
   6065 
   6066 	* buildall: use ksh for configure on aix5.1; pass the extra
   6067 	arguments after "--" to configure, not to make
   6068 
   6069 	* Makefile.am: added nfs_prot_aix4_3.h to EXTRA_DIST_CONF
   6070 
   6071 	* conf/mount/mount_aix.c (mount_aix3): if the NFSv3 mount fails
   6072 	with EINVAL and we have MOUNT_TYPE_NFS3_BIS defined, retry the
   6073 	mount with the alternative nfs3_args structure
   6074 
   6075 	* conf/nfs_prot/nfs_prot_aix4_3.h: added alternative nfs3_args
   6076 	structure, similar to that in aix5.1, for a hack that tries to
   6077 	compensate for IBM's brain fart
   6078 
   6079 	* conf/nfs_prot/nfs_prot_aix5_1.h: new nfs_prot header for aix5.1+
   6080 
   6081 	* aux/macros/check_nfs_prot_headers.m4: added new header for aix5.1+
   6082 
   6083 	* BUGS: update for direct mounts on Linux; document the brokenness
   6084 	of /bin/sh on AIX 5.1 and HP-UX 9
   6085 
   6086 	* NEWS: aix5.1 port, aix4.3 workaround
   6087 
   6088 2002-06-22 Erez Zadok <ezk (a] agora.fsl.cs.sunysb.edu>
   6089 
   6090 	* ltmain.sh: use libtool 1.4d, needed support for newer AIX.
   6091 
   6092 2002-06-21  Ion Badulescu  <ion (a] guppy.limebrokerage.com>
   6093 
   6094 	* aux/macros/check_autofs_style.m4: enable autofs_v2_v3 for
   6095 	all solaris2.6+, not just for 2.[6-8]
   6096 
   6097 	* conf/autofs/autofs_default.h: disable autofs if configure
   6098 	detects it
   6099 
   6100 2002-06-21  Erez Zadok  <ezk (a] agora.fsl.cs.sunysb.edu>
   6101 
   6102 	* aux/macros/with_addon.m4: correct M4 quoting.
   6103 
   6104 	* aux/macros/cache_check_dynamic.m4: correct M4 quoting.
   6105 
   6106 	* bootstrap: show version of autotools being used.  Helps
   6107 	maintainer debugging.
   6108 
   6109 	* configure.in: new proper syntax for libtool and
   6110 	ansi2knr-filtering rules, required by autoconf 1.53 and higher.
   6111 
   6112 2002-06-21  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   6113 
   6114 	* aux/GNUmakefile: new search paths for "update" target.
   6115 
   6116 	* config.guess, config.sub, doc/texinfo.tex, ltmain: updates from
   6117 	the latest GNU distributions.
   6118 
   6119 2002-06-11  Ion Badulescu  <ion (a] guppy.limebrokerage.com>
   6120 
   6121 	* amd/amfs_auto.c (amfs_auto_lookup_child): split part of this
   6122 	function into the new amfs_auto_lookup_one_child function; return
   6123 	null if all ivecs failed to match
   6124 
   6125 2002-05-30  Erez Zadok  <ezk (a] agora.fsl.cs.sunysb.edu>
   6126 
   6127 	* config.guess.long: support SuSE version names in long
   6128 	config.guess format.
   6129 
   6130 2002-05-01  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   6131 
   6132 	* scripts/lostaltmail.in (vrfy_user): unlink temp files if too
   6133 	small.
   6134 
   6135 2002-04-07  Ion Badulescu  <ionut (a] moisil.badula.org>
   6136 
   6137 	* hlfsd/hlfsd.c (main): compile fix for --enable-debug=no
   6138 
   6139 2002-03-29  Ion Badulescu  <ionut (a] moisil.badula.org>
   6140 
   6141 	* README.autofs: solaris 2.5/2.5.1 info, other minor changes
   6142 
   6143 	* doc/am-utils.texi (History): document solaris 2.5+ support
   6144 
   6145 	* include/am_utils.h: new member in struct mntfs: mfs_real_mount;
   6146 	autofs_fs_flags becomes conditional of HAVE_AUTOFS_FS; new
   6147 	prototype for umount_fs2(); extra argument for UMOUNT_FS()
   6148 
   6149 	* hlfsd/hlfsd.c: use the new mount_fs2() and UMOUNT_FS()
   6150 
   6151 	* libamu/mount_fs.c (mount_fs): wrapper around the new mount_fs2()
   6152 	function; swap mntdir and real_mntdir as necessary for solaris 2.5
   6153 	autofs support
   6154 
   6155 	* conf/umount/umount_default.c (umount_fs2): swap mntdir and
   6156 	real_mntdir as necessary for solaris 2.5 autofs support
   6157 
   6158 	* conf/umount/umount_*.c (umount_fs): wrapper around the new
   6159 	umount_fs2() function
   6160 	(umount_fs2): new function which takes the real mountpoint as an
   6161 	extra argument
   6162 
   6163 	* conf/nfs_prot/nfs_prot_sunos5_5.h: allow autofs support to be
   6164 	compiled in
   6165 
   6166 	* conf/autofs/autofs_solaris_v1.h (autofs_strdup_space_hack): new
   6167 	function that appends a space at the end of a string (the famous
   6168 	"Autofs Space Protocol")
   6169 
   6170 	* conf/autofs/autofs_solaris_v1.c: almost complete reimplementation
   6171 
   6172 	* conf/autofs/autofs_*.h (AUTOFS_*_FS_FLAGS): add
   6173 	system-specific definitions for these macros
   6174 
   6175 	* conf/autofs/autofs_linux.c (create_autofs_service): remove hacks
   6176 	which are now handled properly by more generic code
   6177 	(autofs_link_umount): complain if umount_fs() fails, rmdir the
   6178 	mountpoint on success
   6179 	(autofs_umount_succeeded): remove the rmdirs() code, now handled
   6180 	by generic code
   6181 	(autofs_mount_succeeded): ditto
   6182 
   6183 	* amd/nfs_start.c (checkup): implement it as an emtpy stub if
   6184 	DEBUG is not defined
   6185 	(run_rpc): call autofs_add_fdset() after umount_exported() to
   6186 	avoid passing invalid file descriptors to select(); use plog()
   6187 	instead of perror()
   6188 
   6189 	* amd/mntfs.c (init_mntfs): initialize mf_real_mount from mp
   6190 	(uninit_mntfs): free mf_real_mount
   6191 
   6192 	* amd/autil.c (am_unmounted): don't remove the mount point if a
   6193 	remount is pending, also don't make the removal conditional on not
   6194 	being an autofs mount point
   6195 
   6196 	* amd/amfs_nfsx.c (amfs_nfsx_remount): call mkdirs() on
   6197 	mf->mf_real_mount instead of mf->mf_mount
   6198 
   6199 	* amd/amfs_nfsl.c, amd/amfs_nfsx.c: (amfs_nfsl_umounted): call
   6200 	rmdirs() on mf->mf_real_mount instead of mf->mf_mount
   6201 
   6202 	* amd/amfs_host.c (make_mntpt): change the third argument to be
   6203 	the mountpoint, not the entire mntfs structure
   6204 	(do_mount): takes real_mntdir as an extra argument
   6205 
   6206 	* amd/amfs_auto.c (amfs_auto_bgmount): move the creation of the
   6207 	mountpoint here from try_mount(), otherwise the change to mf_flags
   6208 	is lost for background mounts; remove the mountpoint if we created
   6209 	it and the mount fails
   6210 	(amfs_auto_lookup_mntfs): re-initialize mf->mf_real_mount using
   6211 	autofs_strdup_space_hack() if NEED_AUTOFS_SPACE_HACK is defined
   6212 
   6213 	* amfs_*.c, ops_*.c: initialize autofs_fs_flags using the
   6214 	AUTOFS_*_FS_FLAGS macro defined in the system-specific autofs
   6215 	header; UMOUNT_FS() takes mf->mf_real_mount as an extra argument;
   6216 	mount_fs() becomes mount_fs2() and takes mf->mf_real_mount as an
   6217 	extra argument
   6218 
   6219 	* amd/amd.h, amd/ops_nfs.c, amd/amfs_host.c: mount_nfs_fh takes
   6220 	the real mountpoint as an additional argument
   6221 
   6222 2002-03-28  Erez Zadok  <ezk (a] agora.fsl.cs.sunysb.edu>
   6223 
   6224 	* amd/ops_cdfs.c (mount_cdfs): correctly interpret error return
   6225 	values back from mount_fs().  Return correct error number from
   6226 	this function.
   6227 
   6228 	* conf/mount/mount_linux.c (do_mount_linux): cleanup loop mount
   6229 	cruft from this function, moved elsewhere.
   6230 	(mount_linux): prepare for loop-device mounts of ISO images.
   6231 
   6232 2002-03-28  Ion Badulescu  <ionut (a] buggy.badula.org>
   6233 
   6234 	* libamu/Makefile.am (EXTRA_DIST): added strerror.c
   6235 
   6236 	* libamu/strerror.c: strerror() implementation for systems lacking it
   6237 
   6238 	* doc/am-utils.texi (History): rewrote the history :) about autofs
   6239 	support
   6240 
   6241 	* conf/autofs/autofs_solaris_v2_v3.c: updated copyright;
   6242 	(autofs_unmount_2_req): minor cleanup
   6243 	(create_autofs_service): print log message
   6244 	(destroy_autofs_service): ditto
   6245 
   6246 	* conf/autofs/autofs_linux.c: updated copyright
   6247 
   6248 	* amd/nfs_start.c (mount_automounter): move the debug message into
   6249 	create_autofs_service()
   6250 
   6251 	* amd/amd.c (main): call destroy_autofs_service() before
   6252 	going_down(), not after
   6253 
   6254 	* configure.in: added strerror to AC_CHECK_FUNCS(); disable ldap
   6255 	if the ldap headers are not found
   6256 
   6257 2002-03-28  Erez Zadok  <ezk (a] agora.fsl.cs.sunysb.edu>
   6258 
   6259 	* amd/info_ldap.c: patch from "Sebastien Bahloul"
   6260 	<sebastien.bahloul (a] medasys.org> to fix a simple initialization bug
   6261 	and change "HE" to HE_ENT so as to compile on HPUX.
   6262 
   6263 2002-02-26  Erez Zadok  <ezk (a] t3.fsl.cs.sunysb.edu>
   6264 
   6265 	* conf/nfs_prot/nfs_prot_freebsd3.h (na_uid): freebsd4.5 uses nfs
   6266 	atttributes field named "uid".  So #define na_uid to it.
   6267 
   6268 2002-02-12  Erez Zadok  <ezk (a] agora.fsl.cs.sunysb.edu>
   6269 
   6270 	* scripts/lostaltmail.in: don't verify user if -noverify option
   6271 	was turned on.  fix comment typo.
   6272 
   6273 2002-02-11  Erez Zadok  <ezk (a] agora.fsl.cs.sunysb.edu>
   6274 
   6275 	* amd/Makefile.am (TESTS): enable one test script, test1.sh.
   6276 
   6277 	* amd/test1.sh: re-commit simple test script.
   6278 
   6279 2002-02-11  Ion Badulescu  <ion (a] guppy.limebrokerage.com>
   6280 
   6281 	* Released snapshot 6.1a5
   6282 
   6283 	* NEWS: Solaris autofs readdir() support, Linux autofs sublink fix
   6284 
   6285 	* README: require newer auto-tools, update mailing list address
   6286 
   6287 	* README.autofs: major update
   6288 
   6289 	* configure.in: version changed to 6.1a5
   6290 
   6291 2002-02-11  Ion Badulescu  <ionut (a] moisil.badula.org>
   6292 
   6293 	* conf/autofs/autofs_linux.c (autofs_link_mount): don't do a
   6294 	stat() on the am_link if called from the parent amd, to prevent
   6295 	deadlocks
   6296 
   6297 	* amd/autil.c (am_unmounted): call amfs_link_ops.umount_fs if the
   6298 	fstype is not link but we have a sublink (Linux autofs needs this)
   6299 	(am_mounted): call amfs_link_ops.mount_fs if the fstype is not
   6300 	link but we have a sublink (Linux autofs needs this)
   6301 
   6302 	* amd/amfs_auto.c (amfs_auto_bgmount): print the real mountpoint,
   6303 	not the amd entry point
   6304 
   6305 2002-02-09  Ion Badulescu  <ionut (a] moisil.badula.org>
   6306 
   6307 	* conf/autofs/autofs_solaris_v2_v3.c (amd_rddirres): new custom
   6308 	structure for returning the results from readdir_2()
   6309 	(xdr_amd_putrddirres): renamed from xdr_autofs_putrddirres,
   6310 	changed to process our internal format (which is essentially the
   6311 	NFS readdir format)
   6312 	(xdr_autofs_getrddirres): not needed, deleted
   6313 	(xdr_amd_rddirres): renamed from xdr_autofs_rddirres, other
   6314 	changes to handle amd_rddirres instead of autofs_rddirres
   6315 	(autofs_lookup_2_req): return AUTOFS_NONE instead of
   6316 	AUTOFS_MOUNT_RQ, to prevent mount storms during ls -F
   6317 	(autofs_readdir_2_req): implemented
   6318 	(autofs_readdir_2_free): not needed, deleted
   6319 	(autofs_program_2): changes from autofs_rddirres to amd_rddirres
   6320 	(autofs_get_fh): changed initialization of the fh->map member, it
   6321 	now gets the mountpoint path because it makes it easier to
   6322 	implement readdir
   6323 	(autofs_release_fh): put #ifdef HAVE_AUTOFS_ARGS_T_ADDR around
   6324 	code touching fh->addr
   6325 	(destroy_autofs_service): new function, deregister the autofs
   6326 	service with the portmapper on exit
   6327 
   6328 	* conf/autofs/autofs_linux.c (autofs_handle_missing): update
   6329 	statistics
   6330 	(destroy_autofs_service): new stub
   6331 
   6332 	* amd/mapc.c (mapc_find): fixed indentation
   6333 
   6334 	* amd/map.c (find_ap_recursive): renamed from find_ap2(), made
   6335 	static
   6336 
   6337 	* amd/amd.h: removed prototype for find_ap2(), added prototype for
   6338 	destroy_autofs_service()
   6339 
   6340 	* amd/amd.c (main): call destroy_autofs_service() before going
   6341 	down
   6342 
   6343 2002-02-07  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   6344 
   6345 	* aux/macros/check_field.m4: need also a new version of
   6346 	AC_CHECK_MEMBERS (plural).
   6347 
   6348 2002-02-06  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   6349 
   6350 	* aux/macros/check_field.m4: include a fixed version of
   6351 	AC_CHECK_MEMBER.  g/cc will fail to check a member if the .member
   6352 	is itself a data structure, because you cannot compare, in C, a
   6353 	data structure against NULL; you can compare a native data type
   6354 	(int, char) or a pointer.  Solution: do what I did in my original
   6355 	member checking macro: try to take the address of the member.  You
   6356 	can always take the address of anything.
   6357 
   6358 2002-01-31  Erez Zadok  <ezk (a] localhost.localdomain>
   6359 
   6360 	* remove old '%W%' SCCS IDs from all sources.
   6361 
   6362 2002-01-21  Ion Badulescu  <ionut (a] moisil.badula.org>
   6363 
   6364 	* conf/mount/mount_linux.c (mount_linux): fix breakage introduced
   6365 	by the loop device mount support. Linux mount takes a real string
   6366 	as the last argument, unless the mount type is NFS, NCP, or SMB.
   6367 
   6368 2002-01-20  Erez Zadok  <ezk (a] localhost.localdomain>
   6369 
   6370 	* hlfsd/hlfsd.h (HLFSD_VERSION): up version of hlfsd to 1.2,
   6371 	because we made some important changes.
   6372 
   6373 2002-01-20  Ion Badulescu  <lionut (a] gonzales.badula.org>
   6374 
   6375 	* include/am_utils.h (D_ALL): do not include D_MTAB and D_HRTIME
   6376 	by default
   6377 
   6378 	* NEWS: document latest changes
   6379 
   6380 	* amd/map.c (unmount_mp): same fix as for hlfsd, update the
   6381 	seconds field in mtime because Linux ignores the useconds field
   6382 
   6383 	* hlfsd/homedir.c: made some global vars static
   6384 	(plt_init): remove all trailing '/' chars from root's home;
   6385 	use root's home, not the username (silly bugfix)
   6386 
   6387 2002-01-20  Ion Badulescu  <lionut (a] gonzales.badula.org>
   6388 
   6389 	* hlfsd/homedir.c (homedir): don't special case uid 0 as having /
   6390 	as home; instead use the root account's home
   6391 	(plt_init): properly initialize root_home from the root account's
   6392 	home directory, or as "" if root doesn't exist
   6393 	(plt_reset): free root_home
   6394 
   6395 2002-01-20  Erez Zadok  <ezk (a] localhost.localdomain>
   6396 
   6397 	* hlfsd/stubs.c (nfsproc_{lookup,getattr}_2_svc): non-SYMTTL code.
   6398 	Increment seconds, not microseconds (which are ignored by NFS).
   6399 	Set symlink owner to euid.
   6400 
   6401 	* hlfsd/homedir.c (homedir): pass gid to this function, so we can
   6402 	also change the effective GID of the process writing to the user's
   6403 	home dir, as well as the group of the hlfsd symlink.
   6404 	(homedir): run setegid in the right places.
   6405 
   6406 2002-01-15  Erez Zadok  <ezk (a] agora.fsl.cs.sunysb.edu>
   6407 
   6408 	* scripts/redhat-ctl-amd.in: refer to @sbindir@ not
   6409 	${prefix}/sbin.
   6410 
   6411 	* scripts/ctl-{amd,hlfsd}.in: refer to @sysconfdir@ not
   6412 	${prefix}/etc.  Bug report from "A Braunsdorf"
   6413 	<ab (a] eas.purdue.edu>.
   6414 
   6415 2002-01-13  Erez Zadok  <ezk (a] localhost.localdomain>
   6416 
   6417 	* configure.in: only check for clock_gettime if --enable-debug was
   6418 	used.
   6419 
   6420 	* aux/macros/opt_debug.m4: define a cache variable to record value
   6421 	of debug option used.
   6422 
   6423 	* libamu/xutil.c (show_time_host_and_name): do not use
   6424 	clock_gettime unless debugging was compiled in.  This way, if
   6425 	debugging is not compiled, we don't bother linking with librt,
   6426 	libpthread, and a whole lot of other libraries that aren't that
   6427 	necessary (esp. on Linux).
   6428 
   6429 2002-01-12  Erez Zadok  <ezk (a] wavy.dyn.optonline.net>
   6430 
   6431 	* doc/am-utils.texi (opts Option): document loop option.
   6432 
   6433 	* include/am_utils.h: each mounted file system (mntfs) should
   6434 	optionally store the loop device used in the field mf_loopdev.
   6435 
   6436 	* conf/nfs_prot/nfs_prot_linux.h: define HAVE_LOOP_DEVICE and some
   6437 	loop function extern definitions.  For now this code is here
   6438 	because we only support loop devices on Linux.
   6439 
   6440 	* conf/mount/mount_linux.c: recognize "loop" as a valid iso9660
   6441 	mount option.
   6442 	(parse_opts): when skipping over unknown mount options, skip over
   6443 	"loop" (since it was given in amd map entry), but not over
   6444 	loop=/dev/loopX, because the latter will go into /etc/mtab.
   6445 	(do_mount_linux): override actual cdfs mounted  device name
   6446 	because with loop devices you don't mount the .iso file directly,
   6447 	but the /dev/loopX device that was setup for it.
   6448 	(show_loop, is_loop_device, find_unused_loop_device,
   6449 	setup_loop_device, delete_loop_device): support code for loop
   6450 	devices.
   6451 
   6452 	* amd/ops_cdfs.c (mount_cdfs): pass loop device name to function.
   6453 	setup loop device before isofs mount, if "loop" option was given,
   6454 	before actual mount(2).
   6455 	(cdfs_mount): pass loopdev name to mount_cdfs().
   6456 	(cdfs_umount): delete/unset loop device after a successful
   6457 	unmount, if a loop device was used.
   6458 
   6459 	* amd/mntfs.c (init_mntfs): initialize mf_loopdev to NULL.
   6460 
   6461 	* include/am_compat.h: If loop device (header file) exists, define
   6462 	mount table option MNTTTAB_OPT_LOOP.
   6463 
   6464 	* conf/nfs_prot/nfs_prot_linux.h: hack: define HAVE_LOOP_DEVICE
   6465 	here until we have a better way to detect /dev/loop devices.
   6466 
   6467 	* include/am_defs.h: include <linux/loop.h> if it exists.  Define
   6468 	LARGEFILE support macros, possibly needed for loop devices.
   6469 	Redefine dev_t apropriately for loop devices.
   6470 
   6471 	* configure.in: check for <linux/loop.h>.
   6472 
   6473 2002-01-10  Ion Badulescu  <ion (a] guppy.limebrokerage.com>
   6474 
   6475 	* conf/mount/mount_linux.c (mount_linux): tcp _must_ have a timeo
   6476 	parameter 2 orders of magnitude larger than udp (patch from Trond
   6477 	Myklebust)
   6478 
   6479 2002-01-09  Erez Zadok  <ezk (a] localhost.localdomain>
   6480 
   6481 	* aux/macros/linux_headers.m4: properly [quote] a long string in
   6482 	m4 and use AC_MSG_WARN.
   6483 
   6484 	* ALL: put /* comments */ on #else/#endif lines everywhere.
   6485 
   6486 	* configure.in, aux/macros/with_addon.m4: due to limitation of
   6487 	AC_HELP_STRING, pass 2nd arg to AMU_WITH_ADDON, listing name of
   6488 	package for help string.
   6489 
   6490 	* doc/am-utils.texi (FSinfo): fixed various texinfo errors in the
   6491 	FSinfo section of the manual.
   6492 	(map_reload_interval Parameter): document new amd.conf global
   6493 	parameter.
   6494 
   6495 	* scripts/amd.conf.5 document new global option
   6496 	map_reload_interval.  Sort entries for nfs_vers and nfs_proto
   6497 	alphabetically.
   6498 
   6499 	* amd/nfs_start.c (do_select): increment do_mapc_reload's value by
   6500 	global map_reload_interval value, not by fixed ONE_HOUR.
   6501 
   6502 	* amd/amd.c (main): increment do_mapc_reload's value by global
   6503 	map_reload_interval value, not by fixed ONE_HOUR.
   6504 
   6505 	* scripts/amd.conf-sample (map_reload_interval): usage example
   6506 
   6507 	* amd/amd.c (init_global_options): initialize map_reload_interval
   6508 	to 3600 seconds.
   6509 
   6510 	* amd/conf.c (gopt_map_reload_interval): support a new global
   6511 	amd.conf option map_reload_interval, to determine how often (in
   6512 	seconds) Amd should check if the map source has changed and then
   6513 	reload it it.  This value was hard-coded to one hour, now it's the
   6514 	default if not otherwise specified.
   6515 
   6516 	* doc/am-utils.texi (plock Parameter): document plock=yes option
   6517 	as using mlockall(2) if found.
   6518 
   6519 	* scripts/amd.conf.5: document -S option as using mlockall(2) if
   6520 	found.
   6521 
   6522 	* include/am_defs.h: include <sys/mman.h> if it exists.
   6523 
   6524 	* configure.in: check for mlockall() function.  Check for
   6525 	sys/mman.h.
   6526 
   6527 	* amd/amd.c (main): support mlockall() on systems that have it and
   6528 	don't have plock(3) for plock=yes.  On systems that have both,
   6529 	will try plock() first and then mlockall(), until one of them (if
   6530 	any) succeeds.
   6531 
   6532 2002-01-09  Erez Zadok  <ezk (a] whitestar.dyn.optonline.net>
   6533 
   6534 	* aux/macros/opt_debug.m4, opt_cppflags.m4, opt_amu_cflags.m4,
   6535 	with_addon.m4 (ac_upcase): fix help string formatting using
   6536 	AC_HELP_STRING.
   6537 
   6538 	* amd/test1.sh: simple test script for "make check".  Runs "amd
   6539 	-v".
   6540 
   6541 	* amd/Makefile.am (TESTS): add one simple test script, running
   6542 	"amd -v" and checking its return value.  More tests can be added.
   6543 
   6544 	* aux/macros/linux_headers.m4: use AC_MSG_WARN directly.
   6545 
   6546 	* aux/macros/*.m4: avoid the cumbersome "changequote" M4 command.
   6547 	Instead, list bracketed regexp patterns in [[double brackets]].
   6548 
   6549 	* aux/macros/header_templates.m4: remove all unnecessary
   6550 	HAVE_FIELD_* definitions, now that we're using autoconf's new
   6551 	AC_CHECK_MEMBERS.
   6552 
   6553 	* aux/macros/field_mntent_t_mnt_time_string.m4: don't call
   6554 
   6555 	* configure.in: use new syntax for AMU_CHECK_FIELD
   6556 
   6557 	* aux/macros/check_field.m4: use new and simpler macro
   6558 	AC_CHECK_MEMBERS.  Change all sources to use HAVE_aggregate.member
   6559 	instead of HAVE_FIELD_aggregate.member.
   6560 
   6561 	* aux/amdgrep: simple utility script to egrep the am-utils sources
   6562 	for any pattern.
   6563 
   6564 	* aux/macros/{check_mnttab_style.m4, check_mount_style.m4,
   6565 	check_umount_style.m4, check_network_transport_type.m4}: use newer
   6566 	AC_LIBOBJ macros instead of modifying $LIBOBJS directly
   6567 
   6568 	* aux/macros/func_bad_memcmp.m4: redefine to use native
   6569 	AC_FUNC_MEMCMP, and then define HAVE_BAD_MEMCMP as needed.
   6570 
   6571 	* fsinfo/fsi_gram.y, amd/conf_parse.y: indent #pragma command so
   6572 	pre-ANSI C compilers will ignore it.
   6573 
   6574 	* conf/autofs/autofs_linux.c (autofs_link_mount): call s/getpgrp()
   6575 	correctly depending on whether it takes a void or a 0.
   6576 
   6577 	* configure.in: check if s/getpgrp() takes void or a 0.
   6578 
   6579 2002-01-08  Erez Zadok  <ezk (a] whitestar.dyn.optonline.net>
   6580 
   6581 	* configure.in: use the newer AC_CONFIG_LINKS instead of
   6582 	AC_LINK_FILES.
   6583 
   6584 	* aux/macros/check_autofs_style.m4, check_checkmount_style.m4,
   6585 	check_mnttab_style.m4, check_mount_style.m4,
   6586 	check_network_transport_type.m4, check_umount_style.m4,
   6587 	check_nfs_prot_headers.m4: removed backward compatible code for
   6588 	pre-autoconf-2.14.
   6589 
   6590 2002-01-07  Erez Zadok  <ezk (a] whitestar.dyn.optonline.net>
   6591 
   6592 	* doc/Makefile.am: define @SET_MAKE@ for AC_PROG_MAKE_SET macro, since
   6593 	this Makefile could explicitly chdir to other directories and run
   6594 	make there.
   6595 	(install-ps): use ${MAKE} with ${MFLAGS}.
   6596 
   6597 	* Makefile.am (EXTRA_DIST_AUX): distribute new package_*.m4 files.
   6598 	Define @SET_MAKE@ for AC_PROG_MAKE_SET macro, since this Makefile
   6599 	could explicitly chdir to other directories and run make there.
   6600 	(install-snapshot): use ${MAKE} ${MFLAGS}, not hardcoded "make".
   6601 
   6602 	* configure.in: call AC_PROG_MAKE_SET to check if make program
   6603 	defines $MAKE variable.
   6604 
   6605 	* amd/get_args.c (get_version_string): use new PACKAGE_* macros
   6606 	and also report the bug-reporting address.
   6607 
   6608 	* aux/macros/package_{name,version}.m4, header_templates.m4: using
   6609 	new PACKAGE_{NAME,VERSION,BUGREPORT} macros.
   6610 
   6611 	* aux/macros/name_bugreport.m4: simple macro to print out the
   6612 	bug-reporting address which was configured in AC_INIT.
   6613 
   6614 	* bootstrap: remove new autoconf messages about misuse of
   6615 	m4_patsubst and m4_regexp (internal GNU M4 macros).
   6616 
   6617 	* configure.in: remove old comment above AC_OUTPUT.
   6618 	Use AC_CONFIG_FILES and AC_OUTPUT separately.
   6619 	Fix AC_REVISION use.
   6620 	Add AC_COPYRIGHT.
   6621 	Use new style for AC_INIT, listing package name, version, and
   6622 	bug-reporting address.
   6623 	Call new AMU_PACKAGE_* macros.
   6624 
   6625 	* updated copyright year to 2002 on all files
   6626 
   6627 	* configure.in: using newly renamed am-utils macros (AMU_*)
   6628 
   6629 	* aux/macros/*.m4: renamed ALL am-utils specific macros so they
   6630 	start with AMU_*, not AC_*.  That way it is easier to distinguish
   6631 	between macros that come with am-utils and those that are part of
   6632 	Autoconf or Automake.  It helps to identify those am-utils macros
   6633 	that can be removed once there is generic support for them in a
   6634 	future version of Autoconf.
   6635 
   6636 	* bootstrap: run automake --copy
   6637 	remove autom4te.cache dir before rerunning autoconf
   6638 
   6639 2001-12-13  Erez Zadok  <ezk (a] agora.fsl.cs.sunysb.edu>
   6640 
   6641 	* scripts/amd.conf.5: correct title to section 5, not 8.  Correct
   6642 	reversed meaning of nfs_proto and nfs_vers parameters.  Typos
   6643 	reported by Peter Breitenlohner <peb (a] mppmu.mpg.de>.
   6644 
   6645 2001-12-02  Erez Zadok  <ezk (a] agora.fsl.cs.sunysb.edu>
   6646 
   6647 	* scripts/ctl-amd.in: run "test" or "[" in front of -x/-f
   6648 
   6649 	* scripts/ctl-hlfsd.in: run "test" or "[" in front of -x/-f
   6650 
   6651 2001-12-02  Ion Badulescu  <ionut (a] moisil.badula.org>
   6652 
   6653 	* hlfsd/homedir.c (plt_print): fix typo (s/plot/plog/) in
   6654 	non-mkstemp code
   6655 
   6656 	* scripts/ctl-amd.in: touch/remove /var/lock/subsys/amd to make RH
   6657 	happy
   6658 
   6659 	* scripts/ctl-hlfsd.in: ditto (for hlfsd)
   6660 
   6661 	* conf/mtab/mtab_file.c (rewrite_mtab): fchmod(644) the file we
   6662 	get from mkstemp(), otherwise samba becomes very unhappy (sigsegv)
   6663 
   6664 	* conf/mtab/mtab_mach3.c (rewrite_mtab): ditto
   6665 
   6666 2001-11-29  Ion Badulescu  <ion (a] guppy.limebrokerage.com>
   6667 
   6668 	* tasks: updated
   6669 
   6670 	* NEWS: document the fixed autofs fd leak
   6671 
   6672 	* amq/amq.8: better document the -f option
   6673 
   6674 2001-11-29  Erez Zadok  <ezk (a] agora.fsl.cs.sunysb.edu>
   6675 
   6676 	* libamu/mount_fs.c (mnt_flags): same this as for nolock option
   6677 	handling, do for maxgrps.
   6678 
   6679 2001-11-29  Ion Badulescu  <ion (a] guppy.limebrokerage.com>
   6680 
   6681 	* conf/autofs/autofs_linux.c (hash_init): determine the max number
   6682 	of fd's at runtime, use it to dynamically scale the hash and list
   6683 	arrays
   6684 	(autofs_get_fh): sanity check, don't allow a pipe() fd greater
   6685 	than autofs_max_fds
   6686 	(autofs_release_fh): close our end of the pipe here (no clue why
   6687 	or when it got commented out)
   6688 	(autofs_mounted): set kernelfd to -1 after closing it
   6689 
   6690 2001-11-28  Philippe Troin  <phil (a] fifi.org>
   6691 
   6692 	* libamu/mount_fs.c (mnt_flags): Drop nolock from generic mount
   6693 	opts.
   6694 	(compute_nfs_args): Added nolock handling.
   6695 	Adapted from an original patch from Avery Pennarun <apenwarr (a] nit.ca>.
   6696 
   6697 2001-11-27  Erez Zadok  <ezk (a] a-hpux11i.fsl.cs.sunysb.edu>
   6698 
   6699 	* ported to ia64-hp-hpux11.20 using HP's ANSI/C compiler.
   6700 	Couldn't use bison/flex because of 32-bit vs. 64-bit binaries
   6701 	issues.  Had to use HP's own yacc/lex.
   6702 
   6703 2001-11-26  Erez Zadok  <ezk (a] a-hpux11i.fsl.cs.sunysb.edu>
   6704 
   6705 	* */Makefile.am: don't use $(OBJECTS) directly because it is no
   6706 	longer automatically defined now that Automake has automatic
   6707 	dependency tracking (which I turn off).  Instead, hard-code
   6708 	minimal dependencies on am-utils' header files to depend on
   6709 	PROG_OBJECTS (where PROG is the program name being built).  This
   6710 	was discovered by using HP's non-GNU make program.
   6711 
   6712 	* amd/nfs_start.c (checkup): cast getpagesize() return val to
   6713 	long, to avoid conflicts in division of a long by an int (on
   6714 	hpux11i, with their ANSI/C compiler).
   6715 
   6716  	* INSTALL, doc/am-utils.texi: port updates
   6717 
   6718 	* minor new ports: ia64-hp-hpux11.20, i386-unknown-freebsd5.0,
   6719 	i386-unknown-freebsd4.4, i386-pc-linux-rh7.2,
   6720 	ia64-unknown-linux-rh7.1.
   6721 
   6722 	* include/am_defs.h: actually declare extern definition for
   6723 	xdr_callmsg() if it doesn't already exist.
   6724 
   6725 	* aux/macros/header_templates.m4: declare template for
   6726 	HAVE_EXTERN_XDR_CALLMSG.
   6727 
   6728 	* configure.in: check for extern definition for xdr_callmsg()
   6729 	because hpux11 has that function but a bad <rpc/xdr.h> header file
   6730 	that doesn't define it in the right place.
   6731 
   6732 	* libamu/mount_fs.c (print_nfs_args): cast ->rdev to u_long b/c
   6733 	on hpux11 its type is dev_t.
   6734 
   6735 	* conf/nfs_prot/nfs_prot_hpux11.h: don't support autofs on hpux11
   6736 	yet.
   6737 
   6738 2001-11-16  Erez Zadok  <ezk (a] fsl-gw.fsl.cs.sunysb.edu>
   6739 
   6740 	* buildall (Usage): separate $cnf_flags and $extra_cnf_flags due
   6741 	to /bin/sh limitations.
   6742 
   6743 	* bootstrap (cmd): turn back on --ignore-deps (this Automake may
   6744 	have problems)
   6745 
   6746 	* libamu/xutil.c: remove __attribute__ format_arg statement for
   6747 	expand_error() because this function, although taking a
   6748 	printf-like string, does not use it in a printf function; it only
   6749 	expands a non-printf amd-special syntax %m.
   6750 
   6751 2001-11-14  Erez Zadok  <ezk (a] fsl-gw.fsl.cs.sunysb.edu>
   6752 
   6753 	* conf/nfs_prot/nfs_prot_linux.h: define KERNEL_VERSION macro
   6754 	before using it because older Linux systems don't define this
   6755 	(e.g., Red Hat 4.2)
   6756 
   6757 2001-11-13  Erez Zadok  <ezk (a] agora.fsl.cs.sunysb.edu>
   6758 
   6759 	* configure.in: convert to using autoconfig 2.52.  Use new macros.
   6760 	AC_MSG_NOTICE for messages; AH_TOP and AH_BOTTOM to top and bottom
   6761 	parts of autogenerated config.h.in; increase autoconf
   6762 	pre-requisite to version 2.50; use AC_DISABLE_SHARED not
   6763 	AM_DISABLE_SHARED.
   6764 
   6765 	* aux/macros/cache_check_dynamic.m4: finally I can use the new
   6766 	$ECHO_N syntax in macros instead of $ac_n, since I'm using a new
   6767 	autoconf.  Isn't it nice to be such forward looking and having
   6768 	placed a comment "XXX: use the next line for autoconf-2.14 and
   6769 	newer"... :-)
   6770 
   6771 	* aux/macros/save_state.m4: highlight message with ***'s
   6772 
   6773 	* aux/macros/host_macros.m4: use proper M4 quoting ([], not "")
   6774 
   6775 	* config.{guess,sub}: upated from latest prep ftp distributions
   6776 
   6777 	* depcomp, missing, mkinstalldirs: upated from latest Automake 1.5
   6778 
   6779 	* ltmain.sh: updated from latest Libtool 1.4.2
   6780 
   6781 	* bootstrap: finally, new autoconf doesn't print silly "AC_TRY_RUN
   6782 	called without default to allow cross compiling" warnings.  And,
   6783 	it only took like 3+ years to fix this.  But, now it has anoter,
   6784 	albeit less annoying warning (which the manual says to ignore):
   6785 	"AC_PROG_LEX invoked multiple times".
   6786 	When autoheader is run, don't treat the "all clear" message
   6787 	"config.h.in is update" as an error.
   6788 
   6789 	* ltconfig: removed. not needed with latest version of libtool
   6790 
   6791 	* aux/macros/header_templates.m4: replaces acconfig.h and defines
   6792 	all CPP macros we use in this package, including their
   6793 	accompanying C /* comments */.
   6794 
   6795 	* acconfig.h: removed. replaced by new autoconf system to generate
   6796 	header templates using AH_TEMPLATE macros and such.
   6797 
   6798 	* aux/macros/msg.m4: removed.  Replaced with new macro
   6799 	AC_MSG_NOTICE
   6800 
   6801 	* Makefile.am (EXTRA_DIST_AUX): remove aux/macros/msg.m4.  Add
   6802 	aux/macros/header_templates.m4
   6803 
   6804 	* configure.in: early, in host_macros.m4, I'm renaming silly linux
   6805 	$host_os names such as linux-gnu and lignux to plain "linux".
   6806 	Alas, RMS finally had his way and libtool will NOT recognize
   6807 	"linux" as a valid system, only "linux-gnu".  Sigh.  Rich, I know
   6808 	you're responsible to Linux's fame.  Kudos to you and your
   6809 	cohorts.  But please don't force the rest of us to use those ugly
   6810 	or long names.  Solution: temporarily name $host_os to "linux-gnu"
   6811 	before calling the AC_PROG_LIBTOOL macro, then name it back to
   6812 	"linux".  (That way I don't have to maintain my own version of
   6813 	ltmain.sh.
   6814 
   6815 	* buildall: force running configure -C (to create and use a local
   6816 	config.cache file).  New default behavior for autoconf is NOT to
   6817 	use cache files.  Yeah, that's gonna fly real well with am-utils,
   6818 	with its 700+ automatic tests.
   6819 
   6820 	* conf/mtab/mtab_mach3.c (rewrite_mtab): use mkstemp instead of
   6821 	mktemp, if the former is available.
   6822 
   6823 	* conf/mtab/mtab_file.c (rewrite_mtab): use mkstemp instead of
   6824 	mktemp, if the former is available.
   6825 
   6826 	* mk-amd-map/mk-amd-map.c (main): use mkstemp instead of mktemp,
   6827 	if the former is available.
   6828 
   6829 	* aux/macros/check_nfs_socket_connection.m4: AC_DEFINE calls must
   6830 	be on a separate line, as per new Autoconf manual, to avoid some
   6831 	Bourne Shell syntactical bizarreness.
   6832 
   6833 2001-11-13  Erez Zadok  <ezk (a] a-rh71i.fsl.cs.suunysb.edu>
   6834 
   6835 	* amd/amfs_auto.c (amfs_auto_readdir_browsable): cast to u_long,
   6836 	for IA64 Linux.
   6837 
   6838 2001-11-12  Ion Badulescu  <ionut (a] buggy.badula.org>
   6839 
   6840 	* libamu/mtab.c (hasmntval): strtol can return a non-NULL pointer
   6841 	pointing to '\0' on success, so we need to allow for it. This
   6842 	fixes the problem with rejecting numerical mount options if they
   6843 	are the last option in the string.
   6844 
   6845 	* configure.in: increased library patchlevel
   6846 
   6847 	* NEWS: document the parsing bug
   6848 
   6849 2001-10-29  Ion Badulescu  <ionut (a] moisil.badula.org>
   6850 
   6851 	* configure.in: bumped version up to 6.1a5-pre
   6852 
   6853 	* NEWS: fixed speeling mistaike
   6854 
   6855 2001-10-29  Ion Badulescu  <ionut (a] moisil.badula.org>
   6856 
   6857 	* released snapshot am-utils-6.1a4
   6858 
   6859 2001-10-26  Ion Badulescu  <ionut (a] moisil.badula.org>
   6860 
   6861 	These changes fix autofs support for sublinks. While it is not
   6862 	perfect by any means and is hardly better than non-autofs, at
   6863 	least it works.
   6864 
   6865 	* conf/autofs/autofs_solaris_v2_v3.c (autofs_lookup_2_req): don't
   6866 	reply if the mount is in progress
   6867 	(autofs_mount_succeeded): handle both delayed lookups and mounts
   6868 	(autofs_mount_failed): ditto
   6869 
   6870 	* amd/amfs_auto.c (amfs_auto_lookup_mntfs): don't dispose of the
   6871 	original opt_fs if we have a sublink
   6872 
   6873 2001-10-23  Ion Badulescu  <ionut (a] moisil.badula.org>
   6874 
   6875 	* amd/amfs_auto.c (amfs_auto_lookup_mntfs): fixed silly typo (mf
   6876 	instead of new_mf) which was causing null pointer error when
   6877 	sublinks were being used
   6878 
   6879 2001-10-22  Ion Badulescu  <ionut (a] moisil.badula.org>
   6880 
   6881 	* README.autofs: updated
   6882 
   6883 	* NEWS: updated
   6884 
   6885 	* INSTALL: updated
   6886 
   6887 	* AUTHORS: added myself
   6888 
   6889 	* doc/am-utils.texi: updated
   6890 
   6891 	* conf/autofs/autofs_solaris_v2_v3.c (xdr_autofs_rddirargs): use
   6892 	xdr_u_int() and cast things to (int) to appease Solaris 2.7 compile
   6893 	(autofs_readdir_2_req): cast req->rda_offset to (int), same as
   6894 	above
   6895 
   6896 2001-10-22  Ion Badulescu  <ionut (a] moisil.badula.org>
   6897 
   6898 	Autofs direct mounts have been verified to work on Solaris2.[67].
   6899 
   6900 	* conf/autofs/autofs_solaris_v2_v3.c (autofs_lookup_2_req):
   6901 	retrieve the uid and gid from the lookup request
   6902 	(autofs_mount_2_req): skip the first char in the name (it's a
   6903 	leading '/') if this is a direct mount
   6904 
   6905 	* amd/amfs_direct.c (amfs_direct_ops): use amfs_auto_lookup_child
   6906 	and amfs_auto_mount_child for amfs_direct's methods
   6907 
   6908 	* amd/amfs_auto.c (amfs_auto_lookup_child): don't leak an am_node
   6909 	if the mntfs lookup fails
   6910 
   6911 2001-10-21  Ion Badulescu  <ionut (a] moisil.badula.org>
   6912 
   6913 	* include/am_utils.h (AMF_REMOUNT): new flag, marks the node as
   6914 	pending a remount
   6915 	(mntfs): new member mf_fsflags, holds a copy of the filesystem's
   6916 	fs_flags
   6917 	(am_ops): new member autofs_fs_flags, holds the filesystem's flags
   6918 	when mounted onto an autofs node; fs_flags renamed to nfs_fs_flags
   6919 
   6920 	* conf/autofs/autofs_linux.c (create_autofs_service): turn on
   6921 	FS_MKMNT for amfs_auto and FS_MBACKGROUND for amfs_link
   6922 	(autofs_umount_succeeded): don't rmdir the mountpoint if a remount
   6923 	is needed [lest the access that triggered the remount will fail]
   6924 
   6925 	* amd/mntfs.c (init_mntfs): copy the filesystem's nfs_fs_flags
   6926 	into mf_fsflags on initialization
   6927 
   6928 	* amd/autil.c (am_unmounted): start the remounting right away if
   6929 	the node is marked as needing a remount [fixes the Linux autofs
   6930 	deadlock when mount/unmount collide]
   6931 
   6932 	* amd/amfs_auto.c (amfs_auto_lookup_node): mark the node as
   6933 	needing a remount if a mount request comes in while we're
   6934 	unmounting it
   6935 	(amfs_auto_lookup_mntfs): copy the filesystem's autofs_fs_flags
   6936 	into mf_fsflags if this is an autofs node
   6937 
   6938 	* amd/amfs_*.c, amd/ops_*.c: added initialization for the new
   6939 	autofs_fs_flags member of am_ops
   6940 
   6941 2001-10-20  Ion Badulescu  <ionut (a] moisil.badula.org>
   6942 
   6943 	With these changes, Solaris 2.[67] autofs support is finally
   6944 	functional!
   6945 
   6946 	* conf/autofs/autofs_solaris_v2_v3.c (autofs_readdir_2_req): stub
   6947 	(autofs_readdir_2_free, xdr_autofs_rddirargs, xdr_autofs_putrddirres,
   6948 	xdr_autofs_getrddirres, xdr_autofs_rddirres): new functions
   6949 	(autofs_lookup_2_req): do an actual lookup here, and tell the
   6950 	kernel to create a symlink if necessary
   6951 	(autofs_mount_2_req): no need to am_autofs_data
   6952 	(autofs_program_2): enable AUTOFS_READDIR
   6953 	(autofs_link_mount): no code needed here
   6954 	(autofs_link_umount): return success
   6955 	(autofs_mount_succeeded): lstat real mount points; don't mark
   6956 	symlinks as NOTIMEOUT
   6957 
   6958 	* amd/mntfs.c (init_mntfs): mf_dev and mf_rdev don't exist anymore
   6959 
   6960 	* amd/map.c (init_map): init am_dev and am_rdev to -1
   6961 	(free_map): free am_mfarray and all mntfs's listed
   6962 
   6963 	* amd/autil.c (mf_mounted): move the lstat of the node to the
   6964 	autofs-specific code
   6965 
   6966 	* amd/amfs_link.c (amfs_link_ops): don't background symlink creation
   6967 
   6968 2001-10-18  Rainer Orth  <ro (a] TechFak.Uni-Bielefeld.DE>
   6969 
   6970 	* aux/macros/os_cflags.m4 (irix6*): Enforce N32 ABI/mips3 ISA with cc.
   6971 	* BUGS: Explain this.
   6972 
   6973 2001-10-02  Erez Zadok  <ezk (a] agora.fsl.cs.sunysb.edu>
   6974 
   6975 	* doc/am-utils.texi (redhat-ctl-amd): document new script.
   6976 
   6977 	* scripts/Makefile.am: build redhat-ctl-amd but do not install it.
   6978 
   6979 	* scripts/redhat-ctl-amd.in: new script, useful to correctly
   6980 	control Amd on Red Hat Linux systems.  Script adapted from ctl-amd
   6981 	and Red Hat's own rc.d script.
   6982 
   6983 2001-10-02  Rainer Orth  <ro (a] TechFak.Uni-Bielefeld.DE>
   6984 
   6985 	* conf/nfs_prot/nfs_prot_osf5.h: Renamed from nfs_prot_osf5_1.h.
   6986 	(MNT2_NFS_OPT_AUTO): Disable.
   6987 	* Makefile.am (EXTRA_DIST_CONF): Reflect new name.
   6988 	* aux/macros/check_nfs_prot_headers.m4: Use this file for all
   6989 	Tru64 UNIX V5 and up releases.
   6990 
   6991 2001-09-24  Ion Badulescu  <ionut (a] moisil.badula.org>
   6992 
   6993 	* include/mount_headers1.h (MFS): define as 1 instead of nothing,
   6994 	to fix compile problems on OS X (patch from Ahmon Dancy)
   6995 
   6996 	* aux/macros/try_compile_anyfs.m4 (MFS): ditto
   6997 
   6998 2001-08-13  Erez Zadok  <ezk (a] fsl-gw.fsl.cs.sunysb.edu>
   6999 
   7000 	* doc/am-utils.texi (in_network Selector Variable): document
   7001 	expanded syntax
   7002 
   7003 	* libamu/wire.c (is_network_member): support for network/netmask
   7004 	as well as network/bits syntax in in_network()
   7005 
   7006 2001-08-11  Erez Zadok  <ezk (a] a-linux64.fsl.cs.sunysb.edu>
   7007 
   7008 	* amq/amq.c (show_mti): print full four digits for year, and print
   7009 	it in MM/DD/YYYY format, not in YY/MM/DD format.
   7010 
   7011 2001-08-11  Ion Badulescu  <lionut (a] gonzales.badula.org>
   7012 
   7013 	* conf/autofs/autofs_solaris_v2_v3.c (autofs_lookup_2_req):
   7014 	initial attempt to do something useful -- but commented out for now
   7015 	(autofs_link_mount): create an action structure with a link
   7016 	request and pass it up
   7017 	(autofs_mount_2_req): pass the link request to the kernel
   7018 	(autofs_free_data): new helper function
   7019 
   7020 	* conf/autofs/autofs_linux.h: added definition for autofs_data_t
   7021 
   7022 	* conf/autofs/autofs_solaris_v2_v3.h: ditto
   7023 
   7024 	* amd/map.c (init_map): initialize am_autofs_data
   7025 	(free_map): call the autofs cleanup function if necessary
   7026 
   7027 	* include/am_utils.h (am_node): added private data and cleanup
   7028 	function for autofs
   7029 
   7030 	* tasks: removed some obsolete entries
   7031 
   7032 2001-08-11  Erez Zadok  <ezk (a] a-solaris8.fsl.cs.sunysb.edu>
   7033 
   7034 	* amd/map.c (free_map_if_success): run autofs_umount_failed() only
   7035 	if this mount node is of type autofs.
   7036 
   7037 2001-08-11  Ion Badulescu  <lionut (a] gonzales.badula.org>
   7038 
   7039 	* amd/amd.h: removed mf_array from struct continuation (moved into
   7040 	am_node)
   7041 
   7042 	* include/am_utils.h: removed VLOOK_LOOKUP; renamed vlookuppn to
   7043 	vlookup_child; added vmount_child; added mount_child to the fs_ops
   7044 	API; added prototypes for amfs_auto_mount_child and
   7045 	amfs_error_mount_child
   7046 
   7047 	* amd/map.c (init_map): initialize am_mfarray to 0
   7048 
   7049 	* amd/amfs_*, amd/ops_*: new API function mount_child, old API
   7050 	function lookuppn renamed to lookup_child
   7051 
   7052 	* amd/amfs_auto.c: renamed amfs_auto_lookuppn1 to
   7053 	amfs_auto_lookup_node; renamed amfs_auto_lookuppn2 to
   7054 	amfs_auto_lookup_mntfs; renamed amfs_auto_lookuppn3 to
   7055 	amfs_auto_mount_child; moved the freeing of the error mntfs in the
   7056 	newly allocated am_node from lookup_mntfs to mount_child; make
   7057 	sure lookup_child returns a negative error if the node needs to be
   7058 	mounted; removed the call to lookuppn3 from lookup_child
   7059 
   7060 	* amd/amfs_error.c: added stub implementations of
   7061 	amfs_error_lookup_child and amfs_error_mount_child
   7062 
   7063 	* amd/amfs_direct.c, amd/amfs_union.c, amd/map.c, amd/nfs_subr.c,
   7064 	conf/autofs/autofs_linux.c, conf/autofs/autofs_solaris_v2_v3.c:
   7065 	call both lookup_child and mount_child, instead of the old
   7066 	lookuppn API method
   7067 
   7068 2001-07-19  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   7069 
   7070 	* amd/get_args.c (get_args): a better way to handle GNU and
   7071 	non-GNU getopts without strdup-ing the getopt string.
   7072 
   7073 2001-07-04  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   7074 
   7075 	* amd/info_ldap.c (amu_ldap_rebind): The first time you called
   7076 	amu_ldap_init, aldh->ldap is not set.  So when amu_ldap_rebind is
   7077 	called, this function is absolutely sure to return 0.  Then
   7078 	amu_ldap_init return 0 without having opened any LDAP connection.
   7079 	This is not the correct behavior.
   7080 	(get_ldap_timestamp, amu_ldap_search): error to free an object
   7081 	("entry") that is automatically freed by the library.  Patch from
   7082 	Sebastien Bahloul <sebastien.bahloul (a] mangoosta.fr>.
   7083 
   7084 2001-07-19  Ion Badulescu  <ionut (a] moisil.badula.org>
   7085 
   7086 	* AUTHORS (variables): added Philippe Troin
   7087 
   7088 	* Makefile.am (EXTRA_DIST): added bootstrap
   7089 
   7090 	* include/am_compat.h (xfs_args_t): define as u_int if the
   7091 	filesystem is supported but we can't autodetect the type for
   7092 	xfs_args_t. This allows Linux to mount xfs filesystems.
   7093 
   7094 2001-07-12  Philippe Troin  <phil (a] fifi.org>
   7095 
   7096 	* doc/am-utils.texi: Added @dircategory Administration.
   7097 
   7098 2001-07-12  Philippe Troin  <phil (a] fifi.org>
   7099 
   7100 	* aux/macros/with_addon.m4: Created. Wrapper around AC_ARG_WITH
   7101 	with only the `yes' and `no' as possible answers.
   7102 
   7103 	* configure.in: Added support for disabling LDAP and HESIOD even
   7104 	if the supporting libraries are found.
   7105 
   7106 	* Makefile.am (EXTRA_DIST_AUX): Added with_addon.m4 macro file.
   7107 
   7108 2001-07-12  Philippe Troin  <phil (a] fifi.org>
   7109 
   7110 	* include/am_compat.h: Removed forced definition of MNTTAB_OPT_DEV
   7111 	if MNT2_GEN_OPT_NODEV was found. Actually, the dev= (SVR4) options
   7112 	and the linux nodev options are different beasts.
   7113 
   7114 	* conf/mount/mount_linux.c (opt_map): Removed the MNTTAB_OPT_DEV
   7115 	entry (not really necessary on linux).
   7116 
   7117 2001-07-12  Philippe Troin  <phil (a] fifi.org>
   7118 
   7119 	* amd/get_args.c (get_args): Prepend "+" to the getopt string if
   7120 	HAVE_GNU_GETOPT to avoid getting all options (even the ones after
   7121 	the first non-option argument) slurped in by GNU getopt.
   7122 
   7123 	* aux/macros/check_gnu_getopt.m4: Created. Defines HAVE_GNU_GETOPT
   7124 	if GNU/glibc getopt implementation is detected.
   7125 
   7126 	* configure.in: Added call to AC_CHECK_GNU_GETOPT.
   7127 
   7128 	* acconfig.h: Document HAVE_GNU_GETOPT.
   7129 
   7130 	* Makefile.am (EXTRA_DIST_AUX): Added check_gnu_getopt.m4 macro file.
   7131 
   7132 2001-06-25  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   7133 
   7134 	* LSM.am-utils, NEWS, README.y2k, ChangeLog: make sure all
   7135 	am-utils URL references use www.am-utils.org, not the columbia
   7136 	URL.
   7137 
   7138 2001-06-08  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   7139 
   7140 	* conf/transp/transp_sockets.c (create_nfs_service): cast to
   7141 	u_long to ensure clean compile on freebsd5 and bsdi2.
   7142 
   7143 2001-05-23  Ion Badulescu  <ionut (a] moisil.badula.org>
   7144 
   7145 	WARNING: WORK IN PROGRESS
   7146 
   7147 	It works for me on Linux (both autofs and nfs mounts), for nfs and
   7148 	link, but I won't make any guarantees outside those.
   7149 
   7150 	* amd/mntfs.c (find_mntfs): reuse the mntfs only if both the mount
   7151 	point and the device/fileserver are the same. This is an important
   7152 	change of philosophy, watch out for memory leaks!
   7153 
   7154 	* amd/map.c (get_ap_child): helper function for
   7155 	amfs_auto_lookuppn, creates a new am_node for key fname, inits it,
   7156 	and inserts it into all necessary structures
   7157 
   7158 	* amd/amfs_auto.c (free_continuation): free unused mntfs's; don't
   7159 	free any of the removed fields
   7160 	(amfs_auto_lookuppn, amfs_auto_bgmount): split lookuppn into three
   7161 	subfunctions, including some code stolen from bgmount; lookuppn
   7162 	now generates an array of possible mntfs to try mounting, and
   7163 	bgmount will actually try to mount each of them.
   7164 	(amfs_auto_lookuppn[123]): the three new subfunctions for lookuppn
   7165 	(amfs_parse_defaults): new helper function for lookuppn
   7166 
   7167 2001-05-19  Erez Zadok  <ezk (a] kosh.dyn.optonline.net>
   7168 
   7169 	* conf/mount/mount_linux.c: typo: added comma after '0' element.
   7170 
   7171 2001-05-19  Ion Badulescu  <ionut (a] moisil.dev.hydraweb.com>
   7172 
   7173 	* conf/autofs/autofs_linux.c (AUTOFS_MAX_VERSION): allow using
   7174 	autofs-v4 again
   7175 	(autofs_get_opts): don't pass pgrp, the kernel will get it
   7176 	automatically anyway, not to mention that we were passing bogus
   7177 	data if amd was not daemonized.
   7178 
   7179 	* conf/mount/mount_linux.c (linux_nfs_error): don't special case
   7180 	the 0 result, just put it into the translation list
   7181 
   7182 2001-05-19  Ion Badulescu  <ionut (a] moisil.dev.hydraweb.com>
   7183 
   7184 	* conf/mount/mount_linux.c (linux_nfs_error): don't report success
   7185 	(0) as error (NE_IO)!
   7186 
   7187 2001-05-18  Ion Badulescu  <ionut (a] moisil.dev.hydraweb.com>
   7188 
   7189 	* amd/amfs_host.c (amfs_host_mount): don't fail the mount if at
   7190 	least one share is already mounted
   7191 
   7192 2001-05-17  Ion Badulescu  <ionut (a] moisil.dev.hydraweb.com>
   7193 
   7194 	* libamu/util.c (str3cat): updated comment
   7195 
   7196 	* include/am_utils.h: added VLOOK_LOOKUP and FS_DIRECT
   7197 
   7198 	* conf/autofs/autofs_linux.c (autofs_get_fh): removed obsolete comment
   7199 	(autofs_mounted): disable autofs support for host f/s if version < 4
   7200 	(create_autofs_service): turn on FS_MKMNT on auto f/s if using autofs
   7201 	(autofs_umount_succeeded): use rmdirs instead of rmdir
   7202 	(autofs_mount_failed): ditto
   7203 
   7204 	* amd/opts.c (expand_op): align the debugging messages
   7205 
   7206 	* amd/map.c (mount_auto_node): use am_node *mp instead of casting
   7207 	the void *arg; update the comment
   7208 
   7209 	* amd/autil.c (am_mounted): check the FS_DIRECT flag instead of
   7210 	comparing to &amfs_direct_ops
   7211 	(mount_node): ifs_mount doesn't exist, make note of it in the
   7212 	comment
   7213 
   7214 	* amd/amfs_direct.c (amfs_direct_ops): added FS_DIRECT to fs_flags
   7215 
   7216 	* amd/amfs_auto.c (amfs_auto_mount): removed the autofs hack to
   7217 	create the mountpoint directory for auto f/s; it is now handled in
   7218 	autofs_linux.c
   7219 	(amfs_auto_bgmount): renamed the mpe parameter to mp_error;
   7220 	renamed dont_retry to retry and reverted its meaning as well;
   7221 	moved the mp variable up one scope and made use of it throughout
   7222 	the function;
   7223 	(amfs_auto_readdir): whitespace
   7224 	(amfs_auto_readdir_browsable): whitespace, also some debugging
   7225 
   7226 	* amd/am_ops.c (vops): updated a comment
   7227 
   7228 	* .cvsignore: added A.i386-pc-linux-rh7.[01]
   7229 
   7230 2001-05-01  Ion Badulescu  <ionut (a] gonzales.dev.hydraweb.com>
   7231 
   7232 	* conf/mount/mount_linux.c: fixed stupid error in the linux
   7233 	nfs_errormap[], which was mapping ENOENT to success!!!
   7234 
   7235 2001-04-28  Ion Badulescu  <ionut (a] moisil.dev.hydraweb.com>
   7236 
   7237 	* BUGS: added info about the direct mount problems on Linux and
   7238 	about the kernel patches on www.am-utils.org.
   7239 
   7240 	* conf/autofs/autofs_solaris_v2_v3.c (autofs_unmount_2_req):
   7241 	removed obsolete comment
   7242 
   7243 	* amd/autil.c (forcibly_timeout_mp): always log a message when the
   7244 	forced unmount request is ignored
   7245 	(mf_mounted): don't lstat unless this is an autofs mount point,
   7246 	lest we deadlock
   7247 
   7248 	* amd/amfs_auto.c (amfs_auto_bgmount): don't gratuitously add
   7249 	MFF_MKMNT to the flags, it causes deadlocks later on when
   7250 	unmounting
   7251 
   7252 2001-04-14  Erez Zadok  <ezk (a] whitestar.dyn.optonline.net>
   7253 
   7254 	* COPYING: update copyright year
   7255 
   7256 	* amd/amfs_auto.c, amd/amfs_host.c, amd/amfs_nfsx.c,
   7257 	amd/amfs_toplvl.c, amd/amfs_union.c, amd/conf.c, amd/info_nis.c,
   7258 	amd/info_nisplus.c, amd/mapc.c, amd/nfs_subr.c, amd/ops_nfs.c,
   7259 	amd/rpc_fwd.c, amd/srvr_amfs_auto.c, amd/srvr_nfs.c,
   7260 	conf/autofs/autofs_solaris_v1.c, conf/mtab/mtab_file.c,
   7261 	conf/mtab/mtab_isc3.c, conf/mtab/mtab_svr4.c,
   7262 	conf/transp/transp_sockets.c, conf/transp/transp_tli.c,
   7263 	libamu/mount_fs.c, libamu/mtab.c: rewritten various dlog/plog
   7264 	messages for clarity, to avoid duplication, to better recognize
   7265 	what the message means and where it ran, and to fix typos.
   7266 
   7267 	* amd/nfs_subr.c (nfsproc_lookup_2_svc): moved trace message of
   7268 	function's name to the beginning of the function, before any other
   7269 	messages are logged.
   7270 
   7271 2001-04-14  Ion Badulescu  <ionut (a] moisil.dev.hydraweb.com>
   7272 
   7273 	* conf/mount/mount_linux.c (do_mount_linux): removed plog() of
   7274 	binary data
   7275 
   7276 2001-04-05  Ion Badulescu  <ionut (a] moisil.dev.hydraweb.com>
   7277 
   7278 	* include/am_defs.h: define NFSCLIENT, NFS, PCFS, LOFS, RFS,
   7279 	MSDOSFS, MFS and CD9660 to 1, so that both #if FOO and #ifdef FOO
   7280 	work (needed for MacOS X); removed duplicate definition of NFS.
   7281 
   7282 2001-03-29  Ion Badulescu  <ionut (a] moisil.dev.hydraweb.com>
   7283 
   7284 	* amd/amd.h, amd/amfs_auto.c, amd/conf.c,
   7285 	doc/am-utils.texi,
   7286 	scripts/amd.conf-sample, scripts/amd.conf.5:
   7287 	renamed selectors_on_default to selectors_in_defaults,
   7288 	kept the former as a deprecated option;
   7289 	renamed CFM_ENABLE_DEFAULT_SELECTORS to CFM_SELECTORS_IN_DEFAULTS;
   7290 	renamed gopt_selectors_on_default() to gopt_selectors_in_defaults()
   7291 
   7292 2001-03-19  Ion Badulescu  <ionut (a] moisil.dev.hydraweb.com>
   7293 
   7294 	* amd/amfs_toplvl.c, amd/amfs_auto.c, amd/srvr_nfs.c,
   7295 	include/am_utils.h: compile fixes for --enable-debug=no
   7296 
   7297 2001-03-15  Ion Badulescu  <ionut (a] moisil.dev.hydraweb.com>
   7298 
   7299 	* NEWS: updated
   7300 
   7301 	* README.autofs: updated
   7302 
   7303 	* conf/mount/mount_linux.c (linux_version_code): export the fn
   7304 
   7305 	* conf/nfs_prot/nfs_prot_linux.h: ditto
   7306 
   7307 	* conf/autofs/autofs_linux.c (create_autofs_service): verify the
   7308 	kernel version here, and turn off bind_works if the kernel is
   7309 	older than 2.4.0.
   7310 	(autofs_link_mount): don't touch bind_works here, it's useless
   7311 	b/c we're in a child process; remove the mountpoint directory if
   7312 	the bind mount fails
   7313 
   7314 	* amd/opts.c (eval_fs_opts): changed some annoying debugging plogs
   7315 	into dlogs
   7316 
   7317 	* conf/autofs/autofs_linux.c (autofs_link_mount): zero out the
   7318 	mntent struct before initializing it
   7319 
   7320 2001-03-14  Ion Badulescu  <ionut (a] moisil.dev.hydraweb.com>
   7321 
   7322 	* conf/mount/mount_linux.c (parse_opts): added support for lofs
   7323 	(mount_linux): support lofs through bind mounts and/or FiST lofs
   7324 
   7325 	* scripts/ctl-hlfsd.in: search for /var/spool/mail in addition to
   7326 	/var/mail and /usr/spool/mail
   7327 
   7328 	* conf/nfs_prot/nfs_prot_linux.h (MS_BIND): add define for it, if
   7329 	kernel is newer than 2.4.0
   7330 	(MNTTYPE_LOFS): ditto
   7331 
   7332 	* conf/autofs/autofs_solaris_v2_v3.c (autofs_link_umount): new stub
   7333 	(autofs_lookup_failed): removed stub
   7334 
   7335 	* conf/autofs/autofs_linux.c (autofs_lookup_failed): moved up in
   7336 	the file, made static;
   7337 	(autofs_link_mount): activate MNT2_GEN_OPT_BIND code; use stat()
   7338 	and friends to determine if bind mounts can be used and to trigger
   7339 	further cascading mounts; return proper error codes
   7340 	(autofs_link_umount): distinguish between symlinks and bind mounts
   7341 	and handle both correctly
   7342 	(autofs_umount_succeeded): remove call to autofs_link_umount()
   7343 
   7344 	* amd/map.c (umount_exported): try to unmount all mount points on
   7345 	an autofs filesystem; this isn't really needed and will be removed
   7346 	when we start handling restarting autofs mounts
   7347 
   7348 	* amd/amfs_link.c (amfs_link_[u]mount): call autofs_link_[u]mount,
   7349 	if necessary
   7350 
   7351 	* amd/amfs_auto.c (amfs_auto_bgmount): fixed a bug that was
   7352 	causing the wrong mntfs to be selected when using autofs; removed
   7353 	call to autofs_link_mount() (moved where it belongs, in
   7354 	amfs_link.c)
   7355 
   7356 	* amd/amfs_link.c: added FS_MBACKGROUND to fs flags -- cleaner
   7357 	solution is needed, because background mounting is only necessary
   7358 	for linux autofs + bind mounts
   7359 
   7360 	* amd/amd.h: removed prototype for autofs_lookup_failed (internal
   7361 	static function for linux autofs); added prototype for
   7362 	autofs_link_umount
   7363 
   7364 	* configure.in: bump up library patchlevel
   7365 
   7366 2001-02-28  Ion Badulescu  <ionut (a] moisil.dev.hydraweb.com>
   7367 
   7368 	* aux/macros/check_mount_trap.m4,
   7369 	aux/macros/check_nfs_fh_dref.m4,
   7370 	aux/macros/check_nfs_prot_headers.m4,
   7371 	aux/macros/type_recvfrom_fromlen.m4,
   7372 	aux/macros/type_yp_order_outorder.m4:
   7373 	Fixed newer freebsd's fh type, expanded more aix3, osf2, hpux9 to
   7374 	aix[1-3], osf[1-3] and hpux[6-9].
   7375 
   7376 2001-02-28  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   7377 
   7378 	* check_mount_style.m4, check_mount_trap.m4,
   7379 	check_network_transport_type.m4, check_nfs_fh_dref.m4,
   7380 	check_nfs_prot_headers.m4, check_nfs_sa_dref.m4,
   7381 	check_nfs_socket_connection.m4, os_cflags.m4,
   7382 	type_yp_order_outorder.m4: small fixes to Ion's cleanup, and more
   7383 	cleanup (use [[0-1]] instead of M4 changequote commands).
   7384 
   7385 	* Makefile.am: removed unused conf/trap/trap_hpux11.h
   7386 
   7387 2001-02-27  Ion Badulescu  <ionut (a] moisil.dev.hydraweb.com>
   7388 
   7389 	* aux/macros/check_network_transport_type.m4,
   7390 	aux/macros/check_mount_style.m4,
   7391 	aux/macros/check_mount_trap.m4,
   7392 	aux/macros/check_network_transport_type.m4,
   7393 	aux/macros/check_nfs_fh_dref.m4,
   7394 	aux/macros/check_nfs_prot_headers.m4,
   7395 	aux/macros/check_nfs_sa_dref.m4,
   7396 	aux/macros/check_nfs_socket_connection.m4,
   7397 	aux/macros/os_cflags.m4,
   7398 	aux/macros/type_auth_create_gidlist.m4,
   7399 	aux/macros/type_recvfrom_fromlen.m4,
   7400 	aux/macros/type_yp_order_outorder.m4:
   7401 	Reworked the scripts, so that a new _unknown_ version of a known OS
   7402 	will use the option for the newest _known_ version of that OS. For
   7403 	example, when freebsd6 comes out, it will use the stuff for
   7404 	freebsd5, not the stuff for freebsd2. This makes configure more
   7405 	likely to succeed on new systems/versions.
   7406 
   7407 	* Makefile.am (EXTRA_DIST_AUX): added check_autofs_style.m4 (grr)
   7408 
   7409 2001-02-24  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   7410 
   7411 	* Makefile.am (install-snapshot): use a different symlink target
   7412 	for the experimental snapshots.
   7413 
   7414 2001-02-23  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   7415 
   7416 	* Makefile.am (EXTRA_DIST_CONF): include nfs_prot_darwin.h in
   7417 	distributions.
   7418 
   7419 2001-02-22  Erez Zadok  <ezk (a] earth.cs.columbia.edu>
   7420 
   7421 	* released snapshot am-utils-6.1a3
   7422 
   7423 	* amd/Makefile.am (EXTRA_amd_SOURCES): don't forget to distribute
   7424 	get_args.c
   7425 
   7426 2001-02-21  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   7427 
   7428 	* libamu/mtab.c: added the functions hasmnteq and haseq to
   7429 	ease checks for non-numeric values in opt=value strings.
   7430 	Recoded hasmntval to qualify input as numeric, allow hex and
   7431 	octal strings on rhs of =, and log when the value is missing
   7432 	or invalid.
   7433 
   7434 	* conf/mount/mount_linux.c: revised mount_linux to use new
   7435 	hasmnteq function to extract type of non-nfs mounts, and added
   7436 	a log message to catch possible failure of strdup.
   7437 
   7438 	* amd/am_ops.c: revised merge_ops to use new haseq function
   7439 
   7440 	* amd/srvr_nfs.c: revised find_nfs_srvr to use hasmnteq to
   7441 	discover protocol setting.
   7442 
   7443 	* include/am_utils.h: added function prototypes for hasmnteq
   7444 	and haseq
   7445 
   7446 2001-02-19  Ion Badulescu  <ionut (a] moisil.dev.hydraweb.com>
   7447 
   7448 	* include/mount_headers2.h (_LINUX_NFS3_H): define it, to avoid
   7449 	pulling in unwanted declarations from 2.2.19pre and 2.4.1ac
   7450 
   7451 	* include/am_defs.h (_LINUX_NFS3_H): ditto
   7452 
   7453 	* conf/nfs_prot/nfs_prot_linux.h: whitespace, comments
   7454 
   7455 2001-02-19  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   7456 
   7457 	* aux/macros/check_fs_mntent.m4 (ac_safe): remove debugging "echo"
   7458 	command.
   7459 
   7460 2001-02-18  Erez Zadok  <ezk (a] earth.cs.columbia.edu>
   7461 
   7462 	* aux/macros/mount_headers.m4, include/mount_headers[12].h: split
   7463 	mount_headers.h in two because one relative header (nfs_prot.h)
   7464 	file cannot be included inside another from the start directory of
   7465 	the first (it's relative to the directory of the first).
   7466 
   7467 2001-02-09  Ion Badulescu  <ionut (a] moisil.dev.hydraweb.com>
   7468 
   7469 	* AUTHORS: added Ahmon Dancy <dancy (a] franz.com>
   7470 
   7471 	* (all): added Darwin/Rhapsody/Apple OS X support from Ahmon Dancy
   7472 
   7473 	* aux/macros/mount_headers.m4: moved all the C code into a
   7474 	separate file, include/mount_headers.h; the effect is that
   7475 	configure goes down in size by a factor of 2.5!
   7476 
   7477 	* include/mount_headers.h: new file, with C code from
   7478 	aux/macros/mount_headers.m4
   7479 
   7480 2001-02-01  Ion Badulescu  <ionut (a] moisil.dev.hydraweb.com>
   7481 
   7482 	* conf/mount/mount_linux.c: made linux_nfs_error() more robust.
   7483 
   7484 2001-02-01  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   7485 
   7486 	* released snapshot am-utils-6.1a2
   7487 
   7488 	* updated ltmain.sh and ltconfig from latest stable version of
   7489 	libtool-1.3.5
   7490 
   7491 2001-02-01  Ion Badulescu  <ionut (a] moisil.dev.hydraweb.com>
   7492 
   7493 	* conf/nfs_prot/nfs_prot_linux.h (nfs_error): moved the definition
   7494 	of nfs_error here, from mount_linux.c, so that it can actually be
   7495 	used.
   7496 
   7497 	* conf/mount/mount_linux.c: added unused errno 41 to the
   7498 	nfs_errormap array, lest the following errno's get shifted up by
   7499 	one!
   7500 
   7501 Sat Jan 13 00:04:38 2001  Rainer Orth  <ro (a] TechFak.Uni-Bielefeld.DE>
   7502 
   7503 	* amd/amd.h (autofs_lookuppn): Fixup whitespace.
   7504 	* amd/amfs_auto.c (amfs_auto_bgmount): Likewise.
   7505 	* amd/amfs_error.c: (amfs_error_match): Likewise.
   7506 	* amd/amfs_host.c (fetch_fhandle): Fixup whitespace.  Remove
   7507 	unnecessary temporary variable.
   7508 	* amd/info_file.c (read_line): Likewise.
   7509 	(search_or_reload_file): Likewise.
   7510 	* amd/info_ldap.c (get_ldap_timestamp): Likewise.
   7511 	* amd/map.c (get_root_ap): Likewise.
   7512 	* amd/nfs_prot_svc.c: Likewise.
   7513 	* amd/ops_TEMPLATE.c (foofs_match, foofs_lookuppn,
   7514 	foofs_readlink, foofs_ffserver): Likewise.
   7515 	* amd/ops_autofs.c (autofs_bgmount): Likewise.
   7516 	* amd/ops_lofs.c (lofs_match): Likewise.
   7517 	* amd/ops_nfs.c (got_nfs_fh): Fixup whitespace.
   7518 	* amd/ops_xfs.c (xfs_match): Likewise.
   7519 	* amd/srvr_amfs_auto.c (srvrlog): Line break.
   7520 	* amd/srvr_nfs.c (got_portmap, call_portmap, nfs_pinged,
   7521 	nfs_srvr_port): Fixup whitespace.
   7522 	* conf/nfs_prot/nfs_prot_bsdi2.h: Likewise.
   7523 	* conf/nfs_prot/nfs_prot_hpux.h: Likewise.
   7524 	* conf/nfs_prot/nfs_prot_hpux11.h: Likewise.
   7525 	* conf/nfs_prot/nfs_prot_irix5.h: Likewise.
   7526 	* conf/nfs_prot/nfs_prot_irix6.h: Likewise.
   7527 	* conf/nfs_prot/nfs_prot_nextstep.h: Likewise.
   7528 	* conf/nfs_prot/nfs_prot_osf2.h: Likewise.
   7529 	* conf/nfs_prot/nfs_prot_osf4.h: Likewise.
   7530 	* conf/nfs_prot/nfs_prot_osf5_1.h: Likewise.
   7531 	* conf/nfs_prot/nfs_prot_sunos3.h: Likewise.
   7532 	* conf/nfs_prot/nfs_prot_sunos4.h: Likewise.
   7533 	* conf/nfs_prot/nfs_prot_ultrix.h: Likewise.
   7534 	* conf/transp/transp_tli.c (get_mount_client): Likewise.
   7535 	* hlfsd/nfs_prot_svc.c: Likewise.
   7536 	* include/am_defs.h (sys_errlist): Likewise.
   7537 	* include/am_utils.h (am_get_progname, am_get_hostname,
   7538 	amq_program_1): Likewise.
   7539 	(nfsxprt): Moved declaration.
   7540 
   7541 Fri Jan 12 23:31:45 2001  Rainer Orth  <ro (a] TechFak.Uni-Bielefeld.DE>
   7542 
   7543 	Removed support for amq -M.
   7544 
   7545 	* acconfig.h (ENABLE_AMQ_MOUNT): Removed.
   7546 	* aux/macros/opt_amq_mount.m4: Removed.
   7547 	* Makefile.am (EXTRA_DIST_AUX): Don't distribute
   7548 	opt_amq_mount.m4.
   7549 	* configure.in (AC_OPT_AMQ_MOUNT): Removed invocation.
   7550 
   7551 	* amd/amq_subr.c (ok_security, amqproc_mount_1_svc): Removed.
   7552 	* amd/amq_svc.c (amq_program_1): Removed amq -M support.
   7553 	* amq/amq.c (mount_map): Removed.
   7554 	(main): Removed -M option handling.
   7555 	Removed transport-type specific CLIENT creation.
   7556 	(get_secure_amd_client, amq_bind_resv_port, privsock): Removed.
   7557 
   7558 	* amq/amq.8: Removed -M documentation.
   7559 	* doc/am-utils.texi (Top-level Filesystem): Removed amq -M
   7560 	reference, but retain comment on mount -t amd.
   7561 	(Controlling Amd): Likewise.
   7562 
   7563 	* tasks: Removed this task.
   7564 
   7565 Fri Jan 12 23:18:26 2001  Rainer Orth  <ro (a] TechFak.Uni-Bielefeld.DE>
   7566 
   7567 	* conf/autofs/autofs_*.c: Bump copyright year to 2001.
   7568 	* hlfsd/hlfsd.h (HLFSD_VERSION): Likewise.
   7569 
   7570 	* aux/macros/check_autofs_style.m4: Renamed solaris[12] styles to
   7571 	solaris_v1, solaris_v2_v3 to reflect that these are AutoFS
   7572 	protocol version numbers, not solaris versions.
   7573 	* conf/autofs/autofs_solaris[12].[ch]: Renamed to
   7574 	autofs_solaris_{v1, 2_v3}.[ch] to reflect this.
   7575 	* Makefile.am (EXTRA_DIST_CONF): Likewise.
   7576 
   7577 	* aux/macros/check_autofs_style.m4: Use solaris2 style for both
   7578 	versions 2 and 3 of the AutoFS protocol.
   7579 
   7580 	Handle missing AUTOFS_POSTUNMOUNT, AUTOFS_POSTMOUNT (unnecessary
   7581 	with Solaris 8 mntfs).
   7582 
   7583 	* conf/autofs/autofs_solaris2.c (xdr_postumntreq, xdr_postumntres,
   7584 	xdr_postmountreq, xdr_postmountres, autofs_postunmount_2_req,
   7585 	autofs_postmount_2_req ): Don't define for version 3.
   7586 	(autofs_program_2): Don't handle AUTOFS_POSTUNMOUNT,
   7587 	AUTOFS_POSTMOUNT if missing.
   7588 
   7589 	* conf/nfs_prot/nfs_prot_sunos5_8.h: Enable AutoFS support.
   7590 
   7591 	* aux/macros/check_autofs_style.m4: Use empty autofs_default.[ch]
   7592 	files on systems without existing autofs port.
   7593 	* conf/autofs/autofs_default.[ch]: New files, empty.
   7594 	* Makefile.am (EXTRA_DIST_CONF): Distribute them.
   7595 	* INSTALL: With this change, Solaris 8 and Tru64 5.1 compile and
   7596 	link.
   7597 
   7598 2001-01-12  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   7599 
   7600 	* Makefile.am (EXTRA_DIST): distribute new LDAP files.
   7601 
   7602 	* README.ldap, ldap-id.txt, ldap-id.ms: LDAP status information,
   7603 	proposed Schema, and internet draft.
   7604 
   7605 Fri Jan 12 22:27:07 2001  Rainer Orth  <ro (a] TechFak.Uni-Bielefeld.DE>
   7606 
   7607 	* Support Tru64 UNIX V5.1:
   7608 
   7609 	* conf/nfs_prot/nfs_prot_osf5_1.h: New file.
   7610 
   7611 	* Makefile.am (EXTRA_DIST_CONF): Distribute it.
   7612 
   7613 	* aux/macros/check_nfs_prot_headers.m4: Tru64 UNIX V5.1 has
   7614 	AutoFS, need to disable it until a port exists.
   7615 
   7616 	* INSTALL, doc/am-utils.texi (Supported Platforms): Mention new
   7617 	minor port.
   7618 
   7619 2001-01-09  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   7620 
   7621 	* ALL: bump copyright year to 2001.
   7622 
   7623 2001-01-05  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   7624 
   7625 	* acconfig.h: correct comments for NODEV/NONDEV mount options
   7626 
   7627 Fri Jan  5 05:12:02 2001  Erez Zadok  <ezk (a] subzero.cs.columbia.edu>
   7628 
   7629 	* libamu/xdr_func.c: removed ugly casts to "groups*", now that
   7630 	irix6's nfs_prot.h is fixed.
   7631 
   7632 	* conf/nfs_prot/nfs_prot_irix6.h: copied relevant parts of
   7633 	<rpcsvc/mount.h> here so we don't have to include this header.
   7634 
   7635 2001-01-04  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   7636 
   7637 	* conf/nfs_prot/nfs_prot_irix6.h: redefine "groups" typedef to
   7638 	struct groups, not the pointer to this struct.
   7639 
   7640 	* include/am_xdr_func.h: prototype should take "groups *" as 2nd
   7641 	arg.
   7642 
   7643 	* libamu/xdr_func.c (xdr_groupnode, xdr_exportnode): change
   7644 	casting of second arg of xdr_groups to "groups *".  It's only
   7645 	needed for irix6, due to problems with xdr_groups on that platform.
   7646 	(xdr_groups): prototype should take "groups *" as 2nd arg.
   7647 
   7648 	* conf/nfs_prot/nfs_prot_aix*.h: correct xdr_groups extern
   7649 	definition.  Report from Ahmon Dancy <dancy (a] franz.com>.
   7650 
   7651 2000-12-06  Ion Badulescu  <ionut (a] moisil.dev.hydraweb.com>
   7652 
   7653 	* include/am_defs.h: force non-inclusion of <linux/fs.h> via
   7654 	<linux/auto_fs.h>
   7655 
   7656 	* conf/autofs/autofs_linux.c (autofs_mounted): rename
   7657 	AUTOFS_MIN_PROTO_VERSION to AUTOFS_MIN_VERSION (leftover from
   7658 	previous commit)
   7659 
   7660 	* configure.in: fixed libtool version
   7661 
   7662 2000-12-02  Ion Badulescu  <ionut (a] moisil.dev.hydraweb.com>
   7663 
   7664 	* doc/am-utils.texi (opts Option): document lock/nolock
   7665 
   7666 2000-12-02  Ion Badulescu  <ionut (a] moisil.dev.hydraweb.com>
   7667 
   7668 	* conf/autofs/autofs_linux.h: added struct autofs_pending_mount;
   7669 	modified autofs_fh_t to have a linked list of autofs_pending_mount;
   7670 	added some support for autofs4
   7671 
   7672 	* conf/autofs/autofs_linux.c: use a linked list for pending
   7673 	request, to allow for handling multiple simultaneous request;
   7674 	incipient non-functional support for autofs4; incipient
   7675 	non-functional support for bind-mounting
   7676 
   7677 	* amd/amd.c (main): print a warning if PROCLOCK is requested but
   7678 	the O/S doesn't support it
   7679 
   7680 	* libamu/mount_fs.c (mnt_flags): allow the use of the "nolock"
   7681 	option
   7682 
   7683 	* include/am_defs.h: don't include <linux/fs.h> on a glibc2
   7684 	system; include <linux/auto_fs4.h> if it exists, instead of
   7685 	<linux/auto_fs.h>
   7686 
   7687 	* include/am_compat.h: define the "nolock" mnttab option if the
   7688 	NONLM NFS mount option is defined
   7689 
   7690 	* acconfig.h: added MNT2_NFS_OPT_NONLM, MNT2_GEN_OPT_BIND
   7691 
   7692 	* configure.in: added detection of the NONLM Linux NFS mount
   7693 	option; added a clarification for the library versioning rules and
   7694 	increased the minor level; added detection of <linux/auto_fs4.h>
   7695 	and the MS_BIND generic mount option
   7696 
   7697 2000-11-29  Ion Badulescu  <ionut (a] moisil.dev.hydraweb.com>
   7698 
   7699 	* Enabled Solaris 2.7 autofs support (tested, works)
   7700 
   7701 	* Updated NEWS, README.autofs
   7702 
   7703 	* Updated Makefile's, make dist is now fixed
   7704 
   7705 	* Fixed potential memory leak in map.c
   7706 
   7707 	* Fixed autofs style detection for solaris 2.[67]
   7708 
   7709 	* Added a few casts in autofs_solaris2.c, needed on Solaris 2.7
   7710 
   7711 2000-11-28  Ion Badulescu  <ionut (a] moisil.dev.hydraweb.com>
   7712 
   7713 	More Solaris 2.[67] work in progress:
   7714 
   7715 	* changed the API for the mount/umount methods: fmount/fumount are
   7716 	gone, and mount/umount now take two arguments (am_node and mntfs)
   7717 
   7718 	* changed the semantics of the MFF_AUTOFS flag: MFF_AUTOFS now
   7719 	means the mntfs is a filesystem of type autofs, and AMF_AUTOFS
   7720 	means the am_node is a node on a filesystem of type autofs.
   7721 
   7722 	* renamed nfs_program_2_transp to current_transp so it can be used
   7723 	with autofs
   7724 
   7725 	* renamed quick_reply() to nfs_quick_reply()
   7726 
   7727 	* added two more autofs methods: autofs_umount_failed() and
   7728 	autofs_compute_mount_flags() -- it turns out that on sol2.6 the
   7729 	autofs mounts MUST be overlay'ed
   7730 
   7731 	* moved the autofs_mount_succeeded() into am_mounted()
   7732 
   7733 	* made amd *not* timeout autofs mounts -- the kernel will do it
   7734 	for us
   7735 
   7736 	* store dev and rdev of a mounted filesystem in the mntfs
   7737 	structure, to help autofs
   7738 
   7739 	* moved the rmdirs() call from uninit_mntfs() to am_umounted(), to
   7740 	prevent deadlocking with autofs
   7741 
   7742 	* amd/Makefile.am: shuffled things around to make
   7743 	update_build_version be the last thing that runs
   7744 
   7745 2000-11-27  Ion Badulescu  <ionut (a] moisil.dev.hydraweb.com>
   7746 
   7747 	* split amd/ops_autofs.c into conf/autofs/autofs_<system>.c files
   7748 	and made configure create a symlink to the appropriate one
   7749 
   7750 	* moved the xdr autofs functions from libamu/xdr_func.c into the
   7751 	system-specific conf/autofs/autofs*.c
   7752 
   7753 	* added some more experimental code to the sol2.6 autofs support,
   7754 	but it's by no means functional
   7755 
   7756 2000-11-27  Ion Badulescu  <ionut (a] moisil.dev.hydraweb.com>
   7757 
   7758 	* libamu/wire.c (getwire_lookup): truncate the hostname to
   7759 	MAXHOSTNAMELEN characters.
   7760 
   7761 2000-11-26  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   7762 
   7763 	* include/am_utils.h (MAXHOSTNAMELEN): if not defined, set this to
   7764 	256 bytes, not 64.   Suggestion form Kris Kennaway
   7765 	<kris (a] FreeBSD.org>.
   7766 
   7767 2000-11-26  Erez Zadok  <ezk (a] dmath5.geometrie.tuwien.ac.at>
   7768 
   7769 	* configure.in (AC_CHECK_MNT2_NFS_OPTS): check for NFS mount
   7770 	options kerb, rdirplus, readdirsize, and xlatecookie
   7771 	(NetBSD-1.5K).
   7772 
   7773 	* acconfig.h: recognize NFS mount options rdirplus, readdirsize,
   7774 	and xlatecookie (NetBSD-1.5K)
   7775 
   7776 2000-11-24  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   7777 
   7778 	* amd/srvr_nfs.c: comment on NFS proto search order.
   7779 
   7780 	* libamu/xutil.c (real_plog): don't try to write the last byte of
   7781 	the fmt buf.  security suggtion from NetBSD: Thomas Klausner
   7782 	<wiz (a] danbala.ifoer.tuwien.ac.at>
   7783 
   7784 2000-11-22  Ion Badulescu  <ionut (a] moisil.dev.hydraweb.com>
   7785 
   7786 	* amd/amfs_auto.c (amfs_auto_bgmount): removed the initialization of
   7787 	fattr.na_fileid, it is now done in map.c when the map is initialized
   7788 
   7789 	* amd/map.c (init_map): initialize fattr.na_fileid to am_gen, not
   7790 	to 0, to avoid cache aliasing problems on Linux (and to follow the
   7791 	NFS spec!)
   7792 
   7793 2000-11-22  Thomas Klausner <wiz (a] danbala.ifoer.tuwien.ac.at>
   7794 
   7795 	* libamu/mount_fs.c (mount_fs): avoid using extra limited-size buf
   7796 	(security)
   7797 
   7798 	* libamu/xutil.c, fsinfo/fsinfo.h, include/am_utils.h: use
   7799 	__attribute__, __format__, and __printf__ for GCC string auditing.
   7800 
   7801 	* wire-test/wire-test.8: this is not a section 8L man page.
   7802 
   7803 	* libamu/xutil.c (expand_error): don't use sys_nerr on systems
   7804 	that support strerror().
   7805 	(dplog): fmt is const
   7806 	(plog): fmt is const
   7807 	(real_plog): fmt is const.  use new expand_error function with its
   7808 	new return value. be more careful about running off the end of
   7809 	char[] fixed size buffers.
   7810 
   7811 	* libamu/wire.c (getwire): fix alignment error on alpha using an
   7812 	extra automatic storage variable ifrpool.
   7813 
   7814 	* hlfsd/hlfsd.c (fatal): use proper printf style to plog.
   7815 
   7816 	* fsinfo/fsinfo.c (find_username): getlogin() returns a const.
   7817 
   7818 	* fsinfo/fsi_util.c (error, lerror, lwarning, fatal, log): use
   7819 	vfprintf.
   7820 
   7821 	* fsinfo/fsi_lex.l (yyerror): use vfprintf.
   7822 
   7823 	* fixmount/fixmount.8: this is not a section 8L man page.
   7824 
   7825 	* doc/am-utils.texi (Hesiod maps): fixed typo.
   7826 
   7827 	* amd/sched.c (do_task_notify): typo in comment.
   7828 
   7829 	* amd/opts.c (expand_op): expand_error[] is a const char *.
   7830 
   7831 	* amd/amd.c (main): use proper printf style to plog.
   7832 
   7833 2000-11-22  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   7834 
   7835 	* libamu/mount_fs.c (mnt_flags, compute_nfs_args): recognize
   7836 	proplist mnttab flag.  Bug fix from Wolfram Klaus
   7837 	<klaus (a] physik.fu-berlin.de>.
   7838 
   7839 2000-11-19  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   7840 
   7841 	* updated config.guess, config.sub, and doc/texinfo.tex from
   7842 	mirrors
   7843 
   7844 	* Makefile.am (update): proper updating of config.* and texinfo
   7845 	from mirrors.
   7846 
   7847 	* aux/macros/check_nfs_prot_headers.m4: newer netbsd systems
   7848 	reports their system name as "netbsdelf" in config.guess.
   7849 
   7850 2000-11-13  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   7851 
   7852 	* doc/am-utils.texi (opts Option): document new mount option
   7853 	"proplist"
   7854 
   7855 	* include/am_compat.h: define amd mount option "proplist" if the
   7856 	system doesn't recognize it, but the NFS bit flag exists.
   7857 
   7858 	* configure.in, acconfig.h: recognize/support "proplist" NFS mount
   7859 	option in Amd, useful under DU-4.0 to process ACLs over NFS
   7860 	mounts.
   7861 
   7862 2000-11-10  Ion Badulescu  <ionut (a] moisil.dev.hydraweb.com>
   7863 
   7864 	* conf/mount/mount_linux.c (mount_linux): removed unnecessary
   7865 	rsize/wsize defaults -- performance killers on 2.2.18+ and 2.4.0+
   7866 
   7867 2000-10-16  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   7868 
   7869 	* scripts/am-eject.in: accept "cdrom" and "floppy" as arguments.
   7870 
   7871 2000-11-05  Ion Badulescu  <ionut (a] moisil.dev.hydraweb.com>
   7872 
   7873 	Too many changes to list them here. Here's a high level
   7874 	description:
   7875 
   7876 	* Forward-ported the Linux fixes from 6.0.5pre
   7877 
   7878 	* Got rid of a mountain of #ifdef DEBUG, replaced with smart
   7879 	header-file #ifdef's
   7880 
   7881 	* and, the grand finale: initial Solaris 2.6 autofs
   7882 	support. Compiles, mounts, gets requests; all the
   7883 	infrastructure is in place to actually implement the calls. Linux
   7884 	autofs might be a bit broken, but only compile-time so it'll be
   7885 	easy to fix.
   7886 
   7887 2000-11-01  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   7888 
   7889 	* MIRRORS (Note): added a mirror at ufl.edu
   7890 
   7891 2000-10-11  Erez Zadok  <ezk (a] lorien.dev.hydraweb.com>
   7892 
   7893 	* amq/amq.8: synchronize Amq's options with reality
   7894 
   7895 	* amq/amq.c (main): synchronize Amq's usage() string with reality
   7896 
   7897 2000-10-10  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   7898 
   7899 	* scripts/ctl-amd.in: add targets condrestart (redhat) and
   7900 	reload.
   7901 
   7902 2000-10-04  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   7903 
   7904 	* scripts/lostaltmail.in (vrfy_user): ensure that MAILDIR is
   7905 	defined.
   7906 
   7907 2000-09-18  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   7908 
   7909 	* amd/opts.c (backslash): Bell char (ASCII 007) should be \g, not
   7910 	\a.
   7911 
   7912 2000-09-17  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   7913 
   7914 	* include/am_utils.h: removed unused field opt_autopref
   7915 
   7916 	* amd/opts.c: removed unused variable $autopref
   7917 
   7918 2000-09-05  Erez Zadok  <ezk (a] aladdin.dev.hydraweb.com>
   7919 
   7920 	* conf/mtab/mtab_svr4.c (lockfile): function not needed unless
   7921 	MOUNT_TABLE_ON_FILE is defined.
   7922 	mtlckname static var is onlyneeded if MOUNT_TABLE_ON_FILE.
   7923 	(update_mnttab_fields): only needed if MOUNT_TABLE_ON_FILE.
   7924 
   7925 2000-09-03  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   7926 
   7927 	* buildall (Usage): typo in usage string
   7928 
   7929 2000-08-25  Erez Zadok  <ezk (a] lynn.soscorp.com>
   7930 
   7931 	* conf/mount/mount_linux.c (mount_linux): MNT2_NFS_OPT_VER3 may
   7932 	is no defined on older Linux systems (kernel 2.0.36)
   7933 
   7934 2000-08-19  Erez Zadok  <ezk (a] earth.cs.columbia.edu>
   7935 
   7936 	* scripts/amd.conf.5: correct swapped descriptions for ldap_base
   7937 	and ldap_hostports.
   7938 
   7939 	* doc/am-utils.texi: correct swapped descriptions for ldap_base
   7940 	and ldap_hostports.
   7941 
   7942 	* scripts/amd.conf-sample: swap examples for ldap_base and
   7943 	ldap_hostports.
   7944 
   7945 2000-08-13  Erez Zadok  <ezk (a] earth.cs.columbia.edu>
   7946 
   7947 	* scripts/amd.conf-sample: -O is CLI equivalent to "os"
   7948 	amd.conf parameter
   7949 
   7950 2000-07-30  Erez Zadok  <ezk (a] earth.cs.columbia.edu>
   7951 
   7952 	* scripts/amd.conf-sample (nfs_retransmit_counter): correct
   7953 	meaning and use of parameter
   7954 
   7955 2000-07-23  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   7956 
   7957 	* doc/am-utils.texi: updated URLs to www.am-utils.org.
   7958 
   7959 2000-07-04  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   7960 
   7961 	* doc/am-utils.texi (Supported Platforms): document osf4.0f
   7962 
   7963 2000-06-19  Erez Zadok  <ezk (a] vir.cs.columbia.edu>
   7964 
   7965 	* doc/am-utils.texi (dollar Selector Variable): document
   7966 	${dollar}.
   7967 
   7968 	* amd/opts.c: special new variable ${dollar} which expands into a
   7969 	literal '$' sign.  Otherwise there is no way to include a literal
   7970 	dollar symbol in an amd map.
   7971 
   7972 2000-06-11  Ion Badulescu  <ib42 (a] moisil.cs.columbia.edu>
   7973 
   7974 	* amd/opts.c (eval_selectors): don't deref opt after it's been
   7975 	XFREE'd
   7976 
   7977 2000-06-11  Erez Zadok  <ezk (a] earth.cs.columbia.edu>
   7978 
   7979 	* amd/opts.c: move mount_type expansion until later in the list,
   7980 	so common variable are "hit" first.
   7981 
   7982 2000-06-11  Ion Badulescu  <ib42 (a] moisil.cs.columbia.edu>
   7983 
   7984 	* amd/opts.c (split_opts, eval_selectors): split old function
   7985 	eval_opts into two, one that only splits non-selectors and
   7986 	assigns the values to fs_static, and one that only evaluates
   7987 	selectors; also simplified the rather obfuscated logic inside
   7988 	these functions
   7989 	(expand_op): made it take a char * instead of a structure from
   7990 	which it was using only one field (a char *). Also now returns a
   7991 	char * instead of modifying said structure in place
   7992 	(expand_opts): deal with the change above
   7993 	(expand_selectors): renamed from expand_key
   7994 	(expand_options): new function, expands non-selectors; it's the
   7995 	complement of expand_selectors, both of which are just wrappers
   7996 	around expand_op()
   7997 	(eval_fs_opts): use the new split_opts, eval_selectors to allow
   7998 	using options (like ${rhost}) in selectors
   7999 
   8000 2000-06-11  Ion Badulescu  <ionut (a] moisil.cs.columbia.edu>
   8001 
   8002 	* config.guess.long: munge config.guess' output so that intel
   8003 	linux appears as i386-pc-linux
   8004 
   8005 Fri Jun  9 16:06:56 2000  Erez Zadok  <ezk (a] defiant.dev.hydraweb.com>
   8006 
   8007 	* conf/nfs_prot/nfs_prot_bsdi2.h: getifaddrs() on bsdi2 is broken.
   8008 	Don't use it.
   8009 
   8010 2000-06-09  Rainer Orth  <ro (a] TechFak.Uni-Bielefeld.DE>
   8011 
   8012 	* amd/mapc.c (maptypes): Change default allocation mode to
   8013 	MAPC_INC where reload support is missing to avoid warning in
   8014 	mapc_create().
   8015 
   8016 2000-06-09  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   8017 
   8018 	* conf/nfs_prot/nfs_prot_sunos5_5.h: turn off autofs support for
   8019 	solaris 2.5 until a full port can be done.
   8020 
   8021 2000-06-07  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   8022 
   8023 	* Makefile.am, aux/GNUmakefile: fix maintainer rules to update
   8024 	config.* and texinfo.tex files.
   8025 
   8026 	* amd/nfs_subr.c (nfsproc_getattr_2_svc): Don't conditionalize the
   8027 	mtime update of the symlinks on the SYMTTL option, but rather
   8028 	delay unmount of what was looked up using am_timeo_w.  Patch from
   8029 	Nick Williams <Nick.Williams (a] msdw.com>.  As Nick says "Basically:
   8030 	during unmount, increment the parent dir's mtime (fixes
   8031 	people doing amq -u). During stat, increase the TTL (to fix bad-luck
   8032 	timeouts), but leave the mtime alone."
   8033 
   8034 	(nfsproc_lookup_2_svc, nfsproc_readlink_2_svc, unlink_or_rmdir,
   8035 	nfsproc_readdir_2_svc): correctly update d_drops stats for amq -s.
   8036 	Patch from Nick Williams <Nick.Williams (a] msdw.com>.
   8037 
   8038 	* amd/map.c (unmount_mp): update mtime of amd symlink to further
   8039 	reduce the chances of race conditions between unmounting and
   8040 	looking up an entry again.  Patch from Nick Williams
   8041 	<Nick.Williams (a] msdw.com>.
   8042 
   8043 	* README: updated instructions
   8044 
   8045 	* bootstrap: remove log file before existing
   8046 
   8047 2000-06-06  Erez Zadok  <ezk (a] aladdin.dev.hydraweb.com>
   8048 
   8049 	* configure.in: no longer using aux/ subdir. don't force autoconf
   8050 	2.14. comment out (but leave explanation) everything that's needed
   8051 	for autoconf 2.14, so for now it works with autoconf-2.13, but the
   8052 	code is ready for 2.14 when it is released.  Similar changes to
   8053 	make code work with automake-1.4, until the next release comes
   8054 	out.
   8055 
   8056 	* libamu/Makefile.am: include definitions that are required in
   8057 	automake 1.4, but won't be necessary when the next release of
   8058 	automake comes out (see XXX comments).
   8059 
   8060 	* cache_check_dynamic.m4, check_checkmount_style.m4,
   8061 	check_mnttab_style.m4, check_mount_style.m4,
   8062 	check_network_transport_type.m4, check_nfs_prot_headers.m4,
   8063 	check_umount_style.m4: use symlink creation code that works for
   8064 	both autoconf 2.13 and 2.14 (when the latter comes out).
   8065 
   8066 	* bootstrap: new script for maintainers to run to update autoconf,
   8067 	automake, and libtool related files.  Has the same effect as
   8068 	"buildall -K".
   8069 
   8070 	* removed dependencies on CVS versions of autoconf, automake, and
   8071 	libtool, especially the modified automake I had.  This is so that
   8072 	maintainers could built the auto* files out of the latest released
   8073 	GNU autoconf, automake, and libtool.  However, without my nice
   8074 	patches to automake, many files that used to live in the aux/
   8075 	subdir now were moved to the top level source directory: acconfig.h,
   8076 	acinclude.m4, aclocal.m4, aux_conf.h.in, config.guess,
   8077 	config.guess.long, config.h.in, config.sub, configure.in, depcomp,
   8078 	install-sh, ltconfig, ltmain.sh, missing, and mkinstalldirs.  Also
   8079 	texinfo.tex and mdate-sh moved from aux/ dir to doc/ dir.
   8080 
   8081 2000-06-05  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   8082 
   8083 	* cvs-server.txt: instructions for maintainers to access the CVS
   8084 	server for am-utils.
   8085 
   8086 2000-06-03  Ion Badulescu  <ionut (a] moisil.cs.columbia.edu>
   8087 
   8088 	* amd/restart.c (restart): grr.. passing around initialized
   8089 	structures is *really* bad habit. memset(mo, 0) so at least we can
   8090 	test for NULL pointers...
   8091 
   8092 2000-06-02  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   8093 
   8094 	* amd/am_ops.c (ops_match): changed XLOG_USER messages about
   8095 	merging addopts options to the more appropriate XLOG_INFO.  Patch
   8096 	submitted by Tom Schmidt <tschmidt (a] micron.com>.
   8097 
   8098 	* config.{guess,sub}: make sure chmod'ed a+rx.  Updated from
   8099 	latest GNU copies.
   8100 
   8101 2000-05-30  Ion Badulescu  <ionut (a] moisil.cs.columbia.edu>
   8102 
   8103 	* aux/configure.in: bump up the version to 6.1a2
   8104 
   8105 2000-05-29  Ion Badulescu  <ionut (a] moisil.cs.columbia.edu>
   8106 
   8107 	* released snapshot am-utils-6.1a1
   8108 
   8109 2000-05-29  Ion Badulescu  <ionut (a] moisil.cs.columbia.edu>
   8110 
   8111 	* amd/ops_autofs.c (autofs_mounted): retrieve the autofs protocol
   8112 	version and store it in the fh
   8113 	(autofs_get_opts): support protocol version 4
   8114 
   8115 	* amd/mntfs.c (uninit_mntfs): clear the autofs fh pointer after
   8116 	releasing it
   8117 
   8118 	* conf/transp/transp_sockets.c (amu_svc_getcaller): cast result of
   8119 	svc_getcaller() to sockaddr_in, to appease glibc 2.2
   8120 
   8121 	* amd/amfs_auto.c (amfs_auto_bgmount): if the filesystem wants
   8122 	autofs handling and the parent is already handled by autofs,
   8123 	handle this filesystem as well
   8124 	(amfs_auto_mount): create the mountpoint for an autofs mount
   8125 	(amfs_auto_umount): do a real UMOUNT_FS() call for autofs mounts
   8126 
   8127 	* include/am_utils.h (FS_AUTOFS): new flag signalling that the
   8128 	filesystem wants autofs handling; toplvl, auto, host and direct
   8129 	have this flag, at least for now
   8130 
   8131 2000-05-28  Erez Zadok  <ezk (a] mulberry.mcl.cs.columbia.edu>
   8132 
   8133 	* doc/am-utils.texi (Network Filesystem Group): minor typos
   8134 
   8135 2000-05-28  Ion Badulescu  <ionut (a] moisil.cs.columbia.edu>
   8136 
   8137 	* amd/autil.c (am_unmounted): check mp->am_parent before dereferencing
   8138 
   8139 	* amd/srvr_nfs.c (find_nfs_srvr): if NFS_SCALEDOWN, force
   8140 	version=2 and proto=udp and try again
   8141 
   8142 	* amd/ops_nfs.c (prime_nfs_fhandle_cache): take an explicit mntfs
   8143 	instead of a voidp; handle the NFS_SCALEDOWN case by removing the
   8144 	cached server entry and re-querying the server
   8145 
   8146 	* amd/amfs_toplvl.c (amfs_toplvl_mount): removed ugly if
   8147 	statement, assign mnttype from the fs-specific mf_ops->fs_type
   8148 	instead
   8149 
   8150 	* amd/amfs_nfsx.c (amfs_nfsx_init): call fs_init() only if it's
   8151 	defined;
   8152 	(amfs_nfsx_remount): removed superfluous check for fmount_fs -- it
   8153 	always exists
   8154 	(amfs_nfsx_umount): removed the hacked am_node -- umounted() now
   8155 	takes an mntfs; call umounted() only if it's defined
   8156 
   8157 	* amd/amfs_auto.c: removed amfs_auto_umounted and moved its
   8158 	functionality into am_umounted().
   8159 	(amfs_auto_cont): Linux hack: if we got an EINVAL, mark the mntfs
   8160 	as needing an "NFS scaledown" and retry the operation
   8161 
   8162 	* amd/amfs_*.c: changed all fmount/fumount functions to
   8163 	mount/umount and made them take an am_node instead of an
   8164 	mntfs. This is a first step towards an amfs/ops API separation.
   8165 
   8166 	* amd/{amfs,ops}_*.c: changed the umounted() function to take an
   8167 	mntfs instead of an am_node
   8168 
   8169 2000-05-28  Ion Badulescu  <ionut (a] moisil.cs.columbia.edu>
   8170 
   8171 	* amd/amfs_toplvl.c (mount_amfs_toplvl): init error to 0 to shut
   8172 	up gcc
   8173 
   8174 	* aux/macros/check_hide_mount_type.m4: revert to the 6.0 version
   8175 	which always defines HIDE_MOUNT_TYPE
   8176 
   8177 	* amd/ops_autofs.c (autofs_mounted): remove MFF_AUTOFS
   8178 	initialization -- now done in init_mntfs()
   8179 
   8180 	* amd/mntfs.c (init_mntfs): init mf_flags to MFF_AUTOFS if we are
   8181 	mounting an autofs-style map
   8182 
   8183 	* amd/*.c: use the MFF_AUTOFS flag instead of doing a costly STREQ
   8184 
   8185 	* amd/amfs_toplvl.c (mount_amfs_toplvl): MTYPE_TYPE is not
   8186 	necessarily a string type, so handle the nfs/autofs separation
   8187 	differently
   8188 
   8189 	* amd/amfs_auto.c (amfs_auto_bgmount): removed initialization of
   8190 	opt_mount_type (now done in ops_match())
   8191 
   8192 	* amd/am_ops.c (ops_match): need to initialize opt_mount_type if
   8193 	it's not initialized yet
   8194 
   8195 2000-05-27  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   8196 
   8197 	* libamu/wire.c (getwire_lookup): handle calling irs_gen_acc with
   8198 	one or two arguments (bsdi3 vs. bsdi4)
   8199 
   8200 2000-05-27  Ion Badulescu  <ib42 (a] chestnut.mcl.cs.columbia.edu>
   8201 
   8202 	* libamu/xutil.c (amu_release_controlling_tty): removed an unused
   8203 	variable from the previous patch
   8204 
   8205 2000-05-26  Ion Badulescu  <ionut (a] moisil.cs.columbia.edu>
   8206 
   8207 	* aux/macros/check_autofs_style.m4: fixed substitution for default
   8208 	case
   8209 
   8210 	* libamu/xutil.c (amu_release_controlling_tty): close standard
   8211 	file descriptors, re-open them as /dev/null
   8212 
   8213 	* include/am_defs.h: don't try to include both <ndbm.h> and
   8214 	<db1/ndbm.h>, it really doesn't work
   8215 
   8216 2000-05-16  Ion Badulescu  <ib42 (a] earth.cs.columbia.edu>
   8217 
   8218 	* hlfsd/stubs.c (nfsproc_lookup_2_svc): added code to update mtime
   8219 	on lookup if MNT2_NFS_OPT_SYMTTL is not defined (copied from
   8220 	getattr).  This fixes the problem introduced by the Linux nfsv3
   8221 	patches.
   8222 
   8223 2000-05-12  Ion Badulescu  <ionut (a] moisil.cs.columbia.edu>
   8224 
   8225 	* Makefile.am (EXTRA_DIST_CONF): added conf/autofs/autofs_linux.h
   8226 
   8227 2000-05-10  Ion Badulescu  <ib42 (a] earth.cs.columbia.edu>
   8228 
   8229 	* amd/ops_autofs.c (autofs_handle_fdset): call
   8230 	autofs_lookup_failed instead of autofs_mount_failed, if the name
   8231 	is not in the map
   8232 	(autofs_umount_{succeeded,failed}): pass the actual mount point,
   8233 	not its parent, as it's needed for clean-up;
   8234 
   8235 	* amd/autil.c (am_unmounted): notify autofs that the umount
   8236 	succeeded
   8237 
   8238 	* amd/amfs_link.c (amfs_link_[u]mount): autofs link notification
   8239 	moved elsewhere
   8240 
   8241 2000-05-09  Ion Badulescu  <ionut (a] moisil.cs.columbia.edu>
   8242 
   8243 	* amd/amfs_auto.c (amfs_auto_bgmount): initialize opt_mount_type
   8244 	if necessary;
   8245 	(amfs_auto_mounted): test if opt_mount_type is NULL first
   8246 	(amfs_auto_mount): revert earlier change
   8247 
   8248 	* amd/ops_autofs.c (autofs_mount_failed): remove autofs directory
   8249 	if mount failed
   8250 
   8251 2000-05-09  Ion Badulescu  <ionut (a] moisil.cs.columbia.edu>
   8252 
   8253 	* amd/ops_autofs.c (autofs_link_mount): use am_link as target
   8254 
   8255 	* amd/map.c (unmount_mp): release file handle for autofs f/s about
   8256 	to be unmounted; this leak was preventing the unmount altogether
   8257 
   8258 	* amd/amfs_auto.c (amfs_auto_umount): removed autofs-specific
   8259 	code, was broken
   8260 	(amfs_auto_bgmount): nfs mounts + sublinks is a valid combination,
   8261 	handle it
   8262 
   8263 2000-05-07  Ion Badulescu  <ib42 (a] moisil.cs.columbia.edu>
   8264 
   8265 	* Merged changes from stable branch
   8266 
   8267 2000-04-30  Erez Zadok  <ezk (a] beetle.mcl.cs.columbia.edu>
   8268 
   8269 	* include/am_defs.h, aux/macros/mount_headers.m4,
   8270 	aux/macros/try_compile_anyfs.m4: include linux/kdev_t.h and
   8271 	linux/list.h before including linux/fs.h, and define __KERNEL__
   8272 	for those two headers.  All of this to get a couple of definitions
   8273 	that are needed in the new struct vfsmount.
   8274 
   8275 	* aux/configure.in: look for <linux/kdev_t.h> and <linux/list.h>.
   8276 
   8277 	* include/am_defs.h, aux/macros/mount_headers.m4: avoid conflicts
   8278 	between linux/in.h. and netinet/in.h (linux-2.3.99-pre6), by
   8279 	defining _LINUX_IN_H so it doesn't get included.
   8280 
   8281 2000-04-03  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   8282 
   8283 	* minor new ports: i686-pc-linux-gnu-rh6.2,
   8284 	i386-unknown-freebsdelf3.4, i586-pc-linux-gnu-rh6.2.
   8285 
   8286 2000-04-03  Erez Zadok  <ezk (a] vir.cs.columbia.edu>
   8287 
   8288 	* aux/acconfig.h: move all #undef macros above @TOP@, so they can
   8289 	be recognized by pickier autoconf.
   8290 
   8291 2000-04-03  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   8292 
   8293 	* aux/macros/cache_check_dynamic.m4 (ac_tmp): use correct echo -n
   8294 	or \c.
   8295 
   8296 2000-03-25  Erez Zadok  <ezk (a] beetle.mcl.cs.columbia.edu>
   8297 
   8298 	* include/am_defs.h: ditto
   8299 
   8300 	* aux/macros/{mount_headers,try_compile_anyfs}.m4: force
   8301 	non-inclusion of <linux/string.h>.  Breaks build on newer 2.3
   8302 	kernels.
   8303 
   8304 2000-02-26  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   8305 
   8306 	* doc/am-utils.texi (Amq -w option): document new amq -w option.
   8307 
   8308 	* amq/amq.8: document new amq -w option.
   8309 
   8310 	* amq/amq.c: disable last remains of insecure amq -M code.
   8311 	(main): add amq -H option to show usage.
   8312 	(main): new amq -w option, translates getpwd() into an amd path.
   8313 
   8314 2000-02-25  Ion Badulescu  <ionut (a] moisil.cs.columbia.edu>
   8315 
   8316 	* libamu/util.c (get_server_pid): new function
   8317 
   8318 	* hlfsd/hlfsd.c (main): make use of HIDE_MOUNT_TYPE
   8319 
   8320 	* conf/transp/transp_sockets.c: removed create_autofs_service
   8321 
   8322 	* conf/mount/mount_linux.c: added autofs mount options; split
   8323 	mount_linux into two functions, itself and do_mount_linux
   8324 
   8325 	* aux/macros/check_hide_mount_type.m4: better failover
   8326 
   8327 	* aux/configure.in: changed version to 6.1a1; added
   8328 	AC_CHECK_AUTOFS_STYLE
   8329 
   8330 	* aux/aux_conf.h.in: added @am_utils_autofs_style@
   8331 
   8332 	* amd/opts.c: added "mount_type" option
   8333 
   8334 	* amd/ops_autofs.c: ifdef-ed out solaris code; moved all autofs
   8335 	variables in here; split create_autofs_service into sun and linux
   8336 	specific functions
   8337 
   8338 	* amd/nfs_start.c: removed autofs-specific variables
   8339 
   8340 	* amd/map.c (get_root_nfs_fh): renamed root_fh to get_root_nfs_fh
   8341 	(get_root_ap): renamed root_ap to get_root_ap
   8342 
   8343 	* amd/amfs_toplvl.c (amfs_toplvl_ops): replaced
   8344 	amfs_toplvl_mounted with amfs_auto_mounted
   8345 	(mount_amfs_toplvl): moved code around, added autofs handling
   8346 	(amfs_toplvl_mounted): removed
   8347 
   8348 	* amd/amfs_nfsl.c (amfs_nfsl_ops): removed amfs_auto_fu?mount,
   8349 	replaced with amfs_nfsl_u?mount
   8350 
   8351 	* amd/amfs_linkx.c (amfs_linkx_ops): removed amfs_auto_fumount,
   8352 	replaced with amfs_link_umount
   8353 
   8354 	* amd/amfs_link.c (amfs_link_ops): removed amfs_auto_fu?mount,
   8355 	replaced with amfs_link_u?mount
   8356 
   8357 	* amd/amfs_direct.c (amfs_direct_ops): changed "mounted" function
   8358 	from amfs_toplvl_mounted to amfs_auto_mounted
   8359 
   8360 	* all: added autofs hooks throughout the code
   8361 
   8362 	* amd/am_ops.c (vops): autofs_ops doesn't belong in here, removed
   8363 
   8364 	* README.autofs: linux status update
   8365 
   8366 2000-02-24  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   8367 
   8368 	* minor new port: alphaev6-dec-osf5.0
   8369 
   8370 	* doc/am-utils.texi (Supported Platforms): hpux-11 supports NFSv3,
   8371 	but only for UDP.
   8372 
   8373 	* released snapshot am-utils-6.0.4s3
   8374 
   8375 	* conf/nfs_prot/nfs_prot_hpux11.h: support NFSv3 in hpux-11.  Note
   8376 	that hpux-11 NFSv3 supports UDP only, and trying TCP locks up the
   8377 	kernel!  Must set nfs_proto=udp in amd.conf [global].
   8378 
   8379 	* aux/config.guess.long: set and export PATH separately.  DU5
   8380 	/bin/sh doesn't like setting it on the command line in a
   8381 	back-tick'ed `script`.
   8382 
   8383 2000-02-24  Ion Badulescu  <ionut (a] moisil.cs.columbia.edu>
   8384 
   8385 	* Makefile.am: removed struct_nfs_mount_data.m4
   8386 
   8387 	* aux/macros/struct_nfs_mount_data.m4: deleted
   8388 
   8389 	* aux/acconfig.h: removed definition for HAVE_NFS_MOUNT_DATA
   8390 
   8391 	* aux/configure.in: removed check for struct nfs_mount_data
   8392 
   8393 2000-02-24  Ion Badulescu  <ib42 (a] beetle.mcl.cs.columbia.edu>
   8394 
   8395 	* amd/amfs_auto.c (amfs_auto_bgmount): changed log message to
   8396 	avoid having 'failed' in a message not indicating a failure
   8397 	(amfs_auto_lookuppn): ditto
   8398 
   8399 	* amd/ops_autofs.c (autofs_bgmount): ditto
   8400 	(autofs_lookuppn): ditto
   8401 
   8402 2000-02-24  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   8403 
   8404 	* added .cvsignore files into the CVS repository.
   8405 
   8406 	* remove files which can be regenerated: .in, configure, some
   8407 	files in aux/, and more.
   8408 
   8409 2000-02-20  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   8410 
   8411 	* doc/am-utils.texi (nfs_vers/nfs_proto): description of two
   8412 	parameters was reversed.  Reported by Paul Jenner
   8413 	<p.jenner (a] eim.surrey.ac.uk>.
   8414 
   8415 2000-02-16  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   8416 
   8417 	* released snapshot am-utils-6.0.4s2
   8418 
   8419 	* amd/mntfs.c (realloc_mntfs): don't fallback on certain ops such
   8420 	as inherit, error, and toplvl (failover code).
   8421 
   8422 	* amd/conf.c (gopt_nfs_vers, gopt_nfs_proto): two new (documented)
   8423 	global options in amd.conf: one to set the NFS version globally
   8424 	(i.e., nfs_vers=2), and one to set the NFS protocol globally
   8425 	(i.e., nfs_proto=udp).
   8426 
   8427 	* amd/mntfs.c (realloc_mntfs): attempt to fix the failover code,
   8428 	so when a matching mount entry failed, try the next one.
   8429 
   8430 2000-02-15  Erez Zadok  <ezk (a] moisil.cs.columbia.edu>
   8431 
   8432 	* amd/amfs_auto.c: a new debug option "readdir" to trace the
   8433 	progress of the browsable_dirs code.
   8434 
   8435 	* conf/mount/mount_linux.c (mount_linux): ensure that the new
   8436 	linux NFSv3 code works for v2-only machines.
   8437 
   8438 2000-02-14  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   8439 
   8440 	* aux/configure.in: cleanup unused dnl entries.
   8441 
   8442 	* conf/mount/mount_linux.c (parse_opts): typo: check for string
   8443 	equality, not string inequality for pcfs and cdfs.
   8444 
   8445 	* aux/acconfig.h: look for MNT2_NFS_OPT_INTR as well.
   8446 
   8447 	* libamu/mount_fs.c (compute_mount_flags): check for INTR and
   8448 	NOINTR options as well (intr was never passed to linux mount
   8449 	syscall).
   8450 
   8451 2000-02-10  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   8452 
   8453 	* released snapshot am-utils-6.0.4s1
   8454 
   8455 	* aux/GNUmakefile: buildall -k (for maintainers) temporarily now
   8456 	ignores autoconf warnings: "The macro `AC_OUTPUT_COMMANDS' is
   8457 	obsolete".  It is harmless but annoying, and will be fixed when
   8458 	autoconf and automake in their respective CVS trees are working
   8459 	and in sync again.
   8460 
   8461 	* scripts/amd.conf.5: document -D hrtime,xdrtrace
   8462 
   8463 	* all man pages: update copyright to 2000.
   8464 
   8465 	* doc/am-utils.texi: update copyright to 2000.
   8466 
   8467 Wed Feb  9 14:22:31 2000  Rainer Orth  <ro (a] TechFak.Uni-Bielefeld.DE>
   8468 
   8469 	* include/am_utils.h (D_XDRTRACE): Define.
   8470 	(D_TEST): Disable here.
   8471 
   8472 	* libamu/xutil.c (dbg_opt): Handle it.
   8473 
   8474 	* doc/am-utils.texi (-D-Option): Document it.
   8475 
   8476 	* libamu/xdr_func.c: Use it instead of D_TRACE.
   8477 
   8478 	* include/am_utils.h (D_HRTIME): Define.
   8479 
   8480 	* doc/am-utils.texi (-D-Option): Document it.
   8481 
   8482 	* libamu/xutil.c (show_time_host_and_name): Print high-resolution
   8483 	timestamp if available and activated.
   8484 
   8485 	* aux/configure.in (clock_gettime): Check for it in -lrt and
   8486 	-lposix4.
   8487 
   8488 	* hlfsd/hlfsd.c (mnttab_file_name): Initialize to MNTTAB_FILE_NAME
   8489 	if defined, even for some systems with in kernel mount tables.
   8490 
   8491 2000-02-08  Ion Badulescu  <ionut (a] moisil.cs.columbia.edu>
   8492 
   8493 	* aux/macros/mount_headers.m4: remove #if 0 around linux/nfs.h to
   8494 	allow compiles against libc5
   8495 
   8496 	* aux/macros/check_mnttab_type.m4: avoid detecting nfs3 under
   8497 	linux when the kernel doesn't support it
   8498 
   8499 	* include/am_compat.h: add workaround for linux efs
   8500 
   8501 2000-02-08  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   8502 
   8503 	* aux/configure.in: test for ANSI C compiler (before AC_C_CONST).
   8504 	Comment out unused AC_STRUCT_ST_RDEV (which is obsolete anyway).
   8505 
   8506 2000-02-07  Ion Badulescu  <ionut (a] moisil.cs.columbia.edu>
   8507 
   8508 	* libamu/mount_fs.c (compute_nfs_args): turn on VER3 option for
   8509 	nfs (linux NFSv3).
   8510 
   8511 	* include/am_defs.h: avoid reinclusion of some header files under
   8512 	linux.
   8513 
   8514 	* conf/nfs_prot/nfs_prot_linux.h: support NFSv3.
   8515 
   8516 	* conf/mount/mount_linux.c (mount_linux): support nfs mount
   8517 	 (implementation) version 4 for NFSv3.
   8518 
   8519 	* aux/macros/try_compile_nfs.m4: use AC_MOUNT_HEADERS.
   8520 
   8521 	* aux/macros/mount_headers.m4: don't include <linux/fs.h> (may
   8522 	need to fix the code on other linux machines).
   8523 
   8524 	* aux/macros/check_mnttab_type.m4 (ac_safe): ditto.
   8525 
   8526 	* aux/macros/check_fs_mntent.m4 (ac_safe): check for nfs3 option
   8527 	under linux (depends on ac_cv variable, is that a good idea?)
   8528 
   8529 	* added NFSv3 support for linux
   8530 
   8531 	* aux/{configure.in,acconfig.h}: new option ver3
   8532 
   8533 	* aux/macros/mount_headers.m4: commented out inclusion of
   8534 	linux/fs.h, it's not needed on rh61 (and actually generates
   8535 	conflicts), we should see if it's still needed on libc5 systems
   8536 
   8537 	* aux/macros/try_compile_nfs.m4: use AC_MOUNT_HEADERS rather than
   8538 	try to have its own (out of date) list of headers and ifdef's and
   8539 	...
   8540 
   8541 2000-02-07  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   8542 
   8543 	*******************************************************************
   8544 	*** Released am-utils-6.0.3					***
   8545 	*******************************************************************
   8546 
   8547 2000-02-06  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   8548 
   8549 	* conf/mount/mount_default.c: dummy empty file to work around a
   8550 	limitation of automake (it looks for LIBBOBJS in aclocal.m4 and
   8551 	processes them even if they are optional, enclosed in if/else).
   8552 
   8553 2000-01-29  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   8554 
   8555 	* released snapshot am-utils-6.0.3s5
   8556 
   8557 2000-01-25  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   8558 
   8559 	* update to use latest version of autoconf, automake, and libtool.
   8560 
   8561 	* aux/GNUmakefile (depcomp): "make update" should also update the
   8562 	depcomp script.
   8563 
   8564 	* Makefile.am (EXTRA_DIST_AUX): include depcomp in distribution.
   8565 
   8566 	* aux/configure.in: use renamed AC_CHECK_AMU_FS.
   8567 
   8568 	* aux/macros/check_amu_fs.m4: renamed macro name and file name to
   8569 	say AMU_FS, not AM_FS.
   8570 
   8571 	* aux/acconfig.h: renamed HAVE_AM_FS_* to HAVE_AMU_FS_* because
   8572 	latest version of autoconf doesn't handle it (bug in 2.14a)
   8573 
   8574 	* aux/configure.in: require version 2.14 of autoconf.
   8575 
   8576 	* amd/mapc.c (mapc_reload_map): more fixes from Nick Williams.
   8577 
   8578 	* doc/am-utils.texi (Automount Filesystem): document type:=auto
   8579 	map browsability option.
   8580 
   8581 	* amd/mapc.c (make_entry_chain): patch from Steven Danz
   8582 	<sdanz (a] awc.kc.noaa.gov> to allow browsable auto maps.
   8583 
   8584 2000-01-24  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   8585 
   8586 	* released snapshot am-utils-6.0.3s4
   8587 
   8588 	* amd/mapc.c (mapc_reload_map): fixes to sync maps even if they
   8589 	are set to mapcache:=sync.  Fix from Nick Williams
   8590 	<Nick.Williams (a] msdw.com>.
   8591 
   8592 2000-01-20  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   8593 
   8594 	* released snapshot am-utils-6.0.3s3
   8595 
   8596 	* minor port to i386-unknown-netbsd1.4.1
   8597 
   8598 	* amd/nfs_subr.c (nfsproc_getattr_2_svc): patch from Nick Williams
   8599 	<Nick.Williams (a] msdw.com> to fix (or reduce the incidence of) stale
   8600 	file handles when doing rapid mounts and umounts in succession
   8601 	such as "ls /vol/foo ; amq -u /vol/foo ; ls /vol/foo"
   8602 
   8603 2000-01-18  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   8604 
   8605 	* minor port to i386-pc-bsdi4.1.
   8606 
   8607 2000-01-13  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   8608 
   8609 	* libamu/wire.c (getwire_lookup): pass NULL as conf_file (2nd)
   8610 	argument to irs_gen_acc(), which was changed in bsdi 4.1.
   8611 
   8612 2000-01-12  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   8613 
   8614 	* amd/get_args.c (get_args): don't use MNTTAB_FILE_NAME for
   8615 	systems with in-kernel mount tables unless this macro is defined
   8616 	(Solaris 8).
   8617 
   8618 2000-01-01  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   8619 
   8620 	* ALL: bump copyright year to 2000.
   8621 
   8622 1999-12-16  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   8623 
   8624 	* conf/mount/mount_svr4.c (mount_svr4): optionstr exists on
   8625 	solaris 7, but should not be used unless MAX_MNTOPT_STR also
   8626 	exists (solaris 8).
   8627 
   8628 	* doc/am-utils.texi (opts Option): document new mount option:
   8629 	optionstr.
   8630 
   8631 Fri Dec 10 01:31:53 1999  Rainer Orth  <ro (a] TechFak.Uni-Bielefeld.DE>
   8632 
   8633 	* conf/trap/trap_svr4.h (MOUNT_TRAP): Pass mount option string to
   8634 	mount_svr4().
   8635 	(mount_svr4): Adapt prototype.
   8636 	* conf/mount/mount_svr4.c (mount_svr4): Pass them to kernel so
   8637 	they are evaluated and show up in Solaris 8 in-kernel mnttab.
   8638 
   8639 	* aux/configure.in: Check for new Solaris 8 MS_OPTIONSTR mount(2)
   8640 	option.
   8641 	* aux/acconfig.h (MNT2_GEN_OPT_OPTIONSTR): Provide template.
   8642 
   8643 1999-12-10  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   8644 
   8645 	* released snapshot am-utils-6.0.3s2
   8646 
   8647 1999-12-09  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   8648 
   8649 	* doc/am-utils.texi (opts Option): document noexec and nomnttab
   8650 	(new to Solaris 8).
   8651 
   8652 	* Makefile.am (EXTRA_DIST_CONF): include nfs_prot_sunos5_8.h in
   8653 	distribution.
   8654 
   8655 	* applied fixes from Rainer Orth for Solaris 8.
   8656 
   8657 	* libamu/wire.c (getwire): increment the cp pointer in the loop
   8658 	body, because the ioctl() inside the "for" loop will overwrite the
   8659 	ifr structure, thus not detecting all of the interfaces.  Bug
   8660 	reported and fixed by Amitha Perera <perera (a] cs.rpi.edu>.
   8661 
   8662 Thu Dec  9 19:09:38 1999  Rainer Orth  <ro (a] TechFak.Uni-Bielefeld.DE>
   8663 
   8664 	* conf/mtab/mtab_svr4.c (unlockmnttab, lockmnttab): No-ops if
   8665 	MOUNT_TABLE_ON_FILE.
   8666 
   8667 	* amd/get_args.c (get_args): Initialize mnttab_file_name even for
   8668 	in-kernel mount table.  conf/mtab/mtab_svr4.c (read_mtab) depends
   8669 	on a non-NULL value.
   8670 
   8671 	* amd/info_ldap.c (get_ldap_timestamp): Don't peek into opaque
   8672 	LDAP structure to get error code, but use it directly.
   8673 	(amu_ldap_search): Likewise.
   8674 
   8675 	* conf/nfs_prot/nfs_prot_sunos5_7.h: Rip superfluous and wrong
   8676 	ldap support.
   8677 	* conf/nfs_prot/nfs_prot_sunos5_8.h: Likewise.
   8678 
   8679 	* conf/nfs_prot/nfs_prot_sunos5_8.h: New file, doesn't typedef
   8680 	nfsstat, already in <nfs/nfs.h>.
   8681 	* aux/macros/check_nfs_prot_headers.m4: Use it for all Solaris
   8682 	versions beyond 7.
   8683 	Allow for micro versions of SunOS 5.[67].
   8684 
   8685 	* aux/configure.in: Check for new Solaris 8 Beta Refresh
   8686 	MS_NOMNTTAB mount(2) option.
   8687 	* aux/macros/check_mnttab_location.m4: Use it to test for
   8688 	mntfs-based in-kernel mnttab.
   8689 
   8690 	* aux/macros/os_cflags.m4: Treat Solaris 8 and higher like 2.6/7.
   8691 
   8692 	* aux/macros/check_fs_headers.m4: Revert test for duplicate
   8693 	objects.
   8694 	* aux/macros/check_fs_mntent.m4: Likewise
   8695 
   8696 	* aux/macros/HEADER: Fixed typo.
   8697 
   8698 	* include/am_defs.h: Likewise.
   8699 
   8700 1999-12-01  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   8701 
   8702 	* aux/macros/*.m4: prepare for hpux-12 (assume same as hpux-11)
   8703 
   8704 1999-11-16  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   8705 
   8706 	* BUGS: document glibc-2.1 nis file descriptor leak in yp_bind.
   8707 
   8708 	* amd/info_ldap.c (string2he): updated function which does not
   8709 	corrupt strings when called more than once.  Patch from
   8710 	JOHANN.PFEFFERL.JP (a] germany.agfa.com.
   8711 
   8712 1999-11-15  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   8713 
   8714 	* MIRRORS (Asia): two new mirrors in Japan.
   8715 
   8716 1999-11-10  Erez Zadok  <ezk (a] kosh.cs.columbia.edu>
   8717 
   8718 	* doc/am-utils.texi: document new variables for ${uid} and ${gid}.
   8719 
   8720 	* amd/nfs_subr.c (nfsproc_lookup_2_svc): find the uid/gid of the
   8721 	last lookup from the RPC credentials.
   8722 
   8723 	* aux/configure.in: upped version-info to 4:0:2 because I've added
   8724 	a new interface to libamu.
   8725 
   8726 	* libamu/misc_rpc.c (getcreds): moved function from hlfsd to here,
   8727 	so it can be used by amd.
   8728 
   8729 	* amd/opts.c: new variables ${uid} and ${gid}.
   8730 
   8731 1999-10-15  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   8732 
   8733 	* scripts/ctl-amd.in: add "status" command that tells you if amd
   8734 	is running on not (same output as RedHat scripts).
   8735 	Added start_msg and stop_msg targets as they are used on HPUX.
   8736 	reported by Jon Peatfield <J.S.Peatfield (a] damtp.cam.ac.uk>.
   8737 
   8738 1999-10-13  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   8739 
   8740 	* released snapshot am-utils-6.0.3s1
   8741 
   8742 1999-10-12  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   8743 
   8744 	* amd/amd.c (main): On AIX you must lower the stack size using
   8745 	ulimit() before calling plock.  Otherwise plock will reserve a lot
   8746 	of memory space based on your maximum stack size limit.  Since it
   8747 	is not easily possible to tell what should the limit be, I print a
   8748 	warning before calling plock(). See the manual pages for
   8749 	ulimit(1,3,4) on your AIX system.
   8750 
   8751 	* include/am_defs.h: define default extern for vsnprintf()
   8752 
   8753 	* aux/configure.in: check for extern definition for vsnprintf()
   8754 
   8755 1999-10-08  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   8756 
   8757 	* amd/amfs_auto.c (amfs_auto_bgmount): patch from Nick Williams
   8758 	<njw (a] ms.com>.  SYMPTOMS: 'occasionally' sublinks do not point to
   8759 	the correct location, but to the top level of the mountpoint and
   8760 	an (error-hook) is seen being mounted in the log file. This causes
   8761 	things to Go Wrong(TM).
   8762 	CAUSE: When evaluating two locations which are requested
   8763 	'practically simultaneously', and the two locations resolve to the
   8764 	same NFS mountpoint (but different sublinks), the later request
   8765 	will be "deferred" and retried after wakeup when the first mount
   8766 	succeeds. To do this, it rewinds the options location string to
   8767 	re-evaluate the location when the mount is retried. However, it
   8768 	shouldn't rewind the options for two reasons: (a) the semantics of
   8769 	the map language say you shouldn't and (b) the NFS mount reference
   8770 	is not reset at the same time, meaning that on the retry it will
   8771 	have an options structure out-of-sync with the mount
   8772 	structure. The "shortcut" code when retrying the mount sees the
   8773 	mount structure is already filled in and does not fully evaluate
   8774 	the options structure.... so if the first location is not the one
   8775 	which ties in with the mountpoint (see ordering in the
   8776 	recreate-by), you're now well messed up.
   8777 
   8778 	* BUGS: mention aix4.3 plock() bug (memory usage blows up and
   8779 	plock fails)
   8780 
   8781 1999-10-07  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   8782 
   8783 	* aux/GNUmakefile: certain files should be copied if they are
   8784 	newer, not also if they are bigger: install-sh, ltconfig,
   8785 	ltmain.sh, mdate-sh, missing, mkinstalldirs, and texinfo.tex.
   8786 
   8787 	* minor new port: i586-pc-linux-gnu-rh6.1 (RedHat Linux 6.1)
   8788 
   8789 1999-10-05  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   8790 
   8791 	* aux/macros/check_nfs_prot_headers.m4: prepare for OSF-5.
   8792 
   8793 	* aux/macros/check_nfs_fh_dref.m4: prepare for Tru64, aka OSF-5.
   8794 
   8795 1999-09-30  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   8796 
   8797 	*******************************************************************
   8798 	*** Released am-utils-6.0.2					***
   8799 	*******************************************************************
   8800 
   8801 1999-09-27  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   8802 
   8803 	* conf/mount/mount_linux.c (mount_linux): print the updated mount
   8804 	flags.
   8805 
   8806 	* doc/am-utils.texi: document $full_os and $vendor.
   8807 
   8808 	* scripts/amd.conf-sample: examples of $full_os and $vendor.
   8809 
   8810 	* scripts/amd.conf.5: document $full_os and $vendor.
   8811 
   8812 	* amd/conf.c: add support for $full_os and $vendor.
   8813 
   8814 1999-09-26  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   8815 
   8816 	* doc/am-utils.texi (netgrp Selector Function): don't give
   8817 	examples with old single '=' assignment variable.  Use foo:=bar.
   8818 
   8819 	* amd/amfs_auto.c (amfs_auto_bgmount): corectly indent long
   8820 	comment describing this complex function.
   8821 
   8822 	* doc/Makefile.am (alldocs): do install-ps last (because distiller
   8823 	is slow) and install-html next to last (because texi2html is also
   8824 	slow).
   8825 
   8826 	* amd/amd.8: Major fixes to the description of the option -t
   8827 	timeout.retransmit.
   8828 
   8829 	* doc/am-utils.texi: better description of "trace" debug option.
   8830 	amd -H (not -v) shows log_options and debug_options.  Major fixes
   8831 	to the description of amd -t timeout.retransmit, and the amd.conf
   8832 	parameters nfs_retransmit_counter and nfs_retry_interval.
   8833 
   8834 	* scripts/amd.conf.5: better description of "trace" debug option.
   8835 	amd -H (not -v) shows log_options and debug_options.  Major fixes
   8836 	to the description of the parameters nfs_retransmit_counter and
   8837 	nfs_retry_interval.
   8838 
   8839 1999-09-25  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   8840 
   8841 	* doc/am-utils.texi (Automount Filesystem): cache:= is not a mount
   8842 	option, but a mount map option.
   8843 
   8844 	* libamu/xutil.c (switch_to_logfile): log the name of the log file
   8845 	we switched into, after the log file had been [re]opened.
   8846 
   8847 1999-09-24  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   8848 
   8849 	* amd/mapc.c (mapc_reload_map): count and show the number of times
   8850 	a map was reloaded.  Only reload a map if its modify-time was
   8851 	updated.  But amq -f forced a reload no matter what.
   8852 
   8853 	* amd/amd.h: new flag to struct mnt_map to count number of times a
   8854 	map was reloaded.
   8855 
   8856 	* amd/mapc.c (mapc_reload_map): attempt to reload the map without
   8857 	losing current data by reloading into a temp copy, and switching
   8858 	the hashes round only if the reload was successful.  Patch from Jon
   8859 	Peatfield <J.S.Peatfield (a] damtp.cam.ac.uk>.
   8860 	(mapc_sync): mapc_reload_map() always succeeds.
   8861 
   8862 1999-09-22  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   8863 
   8864 	* amd/info_ldap.c (amu_ldap_rebind): don't busy-loop trying to
   8865 	rebind to an LDAP server forever.  Try up to 10 times.
   8866 
   8867 	* fsinfo/fsi_lex.l (yyerror): rework code that will never happen
   8868 
   8869 	* released snapshot am-utils-6.0.2s2
   8870 
   8871 	* aux/configure.in: bumped library version-info to 3:2:1, since
   8872 	some libamu code got changed.
   8873 
   8874 	* libamu/xutil.c (real_plog): use vsnprintf, not vsprintf, which
   8875 	is better and more secure.  Fix from "David O'Brien"
   8876 	<obrien (a] NUXI.com>.
   8877 
   8878 	* aux/configure.in: check for vsnprintf.
   8879 
   8880 1999-09-21  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   8881 
   8882 	* aux/macros/linux_headers.m4: use AC_MSG_ERROR.
   8883 
   8884 	* aux/macros/opt_{cppflags,ldflags,libs,amu_cflags}.m4: the ARG is
   8885 	not optional.  Make sure ARG is supplied else flag an error.
   8886 
   8887 1999-09-18  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   8888 
   8889 	* minor port i386-unknown-freebsdelf3.3
   8890 
   8891 	* released snapshot am-utils-6.0.2s1
   8892 
   8893 1999-09-17  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   8894 
   8895 	* aux/configure.in (AC_CHECK_FUNCS): check for getitimer().
   8896 
   8897 	* include/am_defs.h: extern definition for getitimer().
   8898 
   8899 	* aux/configure.in: use AC_CHECK_EXTERNS.  Look for getitimer()
   8900 	extern.
   8901 
   8902 	* aux/macros/check_extern.m4: define a simple AC_CHECK_EXTERNS
   8903 	that calls AC_CHECK_EXTERN in a loop.  This saves repeated code in
   8904 	configure.
   8905 
   8906 	* aux/macros/type_auth_create_gidlist.m4: AIX 4.x systems use
   8907 	'int' as the 5th arg to authunix_create().
   8908 
   8909 	* aux/macros/type_recvfrom_fromlen.m4: all AIX 4.x systems use a
   8910 	size_t for the 6th arg of recvfrom().
   8911 
   8912 	* aux/macros/os_cflags.m4: define _XOPEN_EXTENDED_SOURCE for
   8913 	aix4.x systems.
   8914 
   8915 	* libamu/mount_fs.c (print_nfs_args): cast some values to int, to
   8916 	avoid gcc -Wall errors.
   8917 
   8918 	* scripts/expn.in: use sockaddr_in(), not pack() to correctly fill
   8919 	in a struct sockaddr_in.  On Solaris x86 hosts, using pack()
   8920 	results in byte-misaligned values.   Bug fix from Jeffrey C Honig
   8921 	<jch (a] BSDI.COM>.
   8922 
   8923 	* libamu/mount_fs.c (compute_automounter_mount_flags): turn on
   8924 	automntfs (ignore on bsdi-4.1) flag.
   8925 	(compute_automounter_nfs_args): ditto.
   8926 
   8927 	* aux/acconfig.h: add new flag for automntfs (ignore)
   8928 
   8929 	* aux/configure.in: check for new automntfs flag (bsdi-4.1).
   8930 
   8931 1999-09-14  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   8932 
   8933 	* MIRRORS: added new site in Germany.  Updated status of umn.edu
   8934 	and ferginc.com, who may no longer be mirroring am-utils.
   8935 
   8936 1999-09-08  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   8937 
   8938 	*******************************************************************
   8939 	*** Released am-utils-6.0.1					***
   8940 	*******************************************************************
   8941 
   8942 1999-09-08  Erez Zadok  <ezk (a] cs.columbia.edu>
   8943 
   8944 	* aux/macros/mount_headers.m4: bsdi-2.1 needs MAXQUOTAS and struct
   8945 	netexport defined.
   8946 
   8947 	* aux/macros/try_compile_anyfs.m4: bsdi-2.1 needs MAXQUOTAS and
   8948 	struct netexport defined.
   8949 
   8950 1999-09-07  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   8951 
   8952 	* aux/macros/check_field.m4 (ac_upcase_var_name): include
   8953 	<ifaddrs.h> so we can detect fields within struct ifaddrs.
   8954 
   8955 	* libamu/wire.c (getwire): bsdi-2.1 uses a second arg to
   8956 	getifaddrs() and struct ifaddrs has no ifa_next field.
   8957 
   8958 	* aux/configure.in: check if 'struct ifaddrs' has a field
   8959 	ifa_next.
   8960 
   8961 	* include/amq_defs.h (AMQ_STRLEN): double size of amq string
   8962 	length to 2048 bytes.
   8963 
   8964 	* conf/nfs_prot/nfs_prot_netbsd1_4.h: include several more nfs
   8965 	header files and ufs/ufs/ufsmount.h.  Bug reported by <Christos
   8966 	Zoulas> christos (a] zoulas.com.
   8967 
   8968 	* aux/macros/try_compile_anyfs.m4: include <ufs/ufs/ufsmount.h>.
   8969 	Bug reported by <Christos Zoulas> christos (a] zoulas.com.
   8970 
   8971 	* aux/macros/mount_headers.m4: include <ufs/ufs/ufsmount.h>
   8972 
   8973 1999-09-06  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   8974 
   8975 	* libamu/xutil.c (expand_error): use strerror if available instead
   8976 	of sys_errlist.  Bug reported by <Christos Zoulas>
   8977 	christos (a] zoulas.com.
   8978 
   8979 	* hlfsd/hlfsd.c (fatal): use strerror if available instead of
   8980 	sys_errlist.
   8981 
   8982 	* amq/amq.c (show_mi): use strerror if available instead of
   8983 	sys_errlist.
   8984 
   8985 	* aux/macros/check_nfs_prot_headers.m4: make sure netbsd1.4
   8986 	nfs_prot header is used for any future (1.5 etc.) netbsd systems.
   8987 
   8988 	* amq/pawd.c (find_mt): check for type nfsl as well.  Fix from
   8989 	"Andrew J. Korty" <ajk (a] purdue.edu>
   8990 
   8991 1999-08-29  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   8992 
   8993 	* doc/am-utils.texi (Supported Platforms): updates for redhat
   8994 	systems.
   8995 
   8996 	* INSTALL: updates for redhat systems.
   8997 
   8998 	* libamu/wire.c (getwire_lookup): spell "succeeded" correctly
   8999 
   9000 1999-08-28  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   9001 
   9002 	* scripts/ctl-amd.in: sleep 1 second between killing amd and
   9003 	restarting it, because amq may respond that amd is down, where in
   9004 	fact it is still trying to unmount itself after unmapping itself
   9005 	from the portmapper.
   9006 
   9007 	* aux/config.guess.long: new script to print long version of
   9008 	config.guess output.
   9009 
   9010 	* buildall (host_alias): use long version of config.guess.
   9011 
   9012 1999-08-27  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   9013 
   9014 	* scripts/ctl-{amd,hlfsd}.in: update RH tags for start/stop
   9015 	scripts.
   9016 
   9017 1999-08-24  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   9018 
   9019 	* released snapshot am-utils-6.0.1s11
   9020 
   9021 	* libamu/xutil.c (expand_error): make sure expanding the string
   9022 	with textual version of errno doesn't overrun the 1024 bytes
   9023 	buffer.
   9024 	(real_plog): null terminate msg, just in case.
   9025 
   9026 	* amq/amq.c (main): don't getopt -M option and don't process it
   9027 	unless ENABLE_AMQ_MOUNT is on.
   9028 
   9029 	* amd/amq_svc.c (amq_program_1): all code that relates to amq -M
   9030 	is conditional on #ifdef ENABLE_AMQ_MOUNT.
   9031 
   9032 	* amd/amq_subr.c: remove amqproc_mount_1_svc() function invoked
   9033 	when amq -M code is disabled.  Not taking any chances.
   9034 
   9035 1999-08-23  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   9036 
   9037 	* released snapshot am-utils-6.0.1s10
   9038 
   9039 Sun Aug 22 16:18:59 1999  Erez Zadok  <ezk (a] subzero.cs.columbia.edu>
   9040 
   9041 	* libamu/wire.c (getwire_lookup): if getnetbyaddr failed (e.g., on
   9042 	128.59.16.0), try to shift the network out of zeros (e.g.,
   9043 	128.59.16) and try again.  Irix 6.4 requires short network
   9044 	numbers.
   9045 
   9046 1999-08-22  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   9047 
   9048 	* libamu/wire.c (getwire_lookup): correctly compute subnet using
   9049 	netmask.
   9050 
   9051 	* libamu/mount_fs.c (compute_automounter_nfs_args): require that
   9052 	Amd's own NFS mounts use reserved ports (if possible).  IP packet
   9053 	security fix from Jeffrey C Honig <jch (a] BSDI.COM>.
   9054 
   9055 	* conf/transp/transp_tli.c (create_autofs_service): use correct
   9056 	autofs_port.  IP packet security fix from Jeffrey C Honig
   9057 	<jch (a] BSDI.COM>.
   9058 
   9059 	* conf/transp/transp_sockets.c (bindnfs_port): remove unnecessary
   9060 	function.  IP packet security fix from Jeffrey C Honig
   9061 	<jch (a] BSDI.COM>.
   9062 	(create_nfs_service): use bind_resv_port() directly.  ensure that
   9063 	privileged ports are used.  IP packet security fix from Jeffrey C
   9064 	Honig <jch (a] BSDI.COM>.
   9065 
   9066 	* amd/nfs_prot_svc.c (nfs_program_2): verify that requests come
   9067 	from reserved ports and from a local IP address.  IP packet
   9068 	security fix from Jeffrey C Honig <jch (a] BSDI.COM>.
   9069 
   9070 	* amd/amq_subr.c (ok_security): use IPPORT_RESERVED, instead of
   9071 	hard-coded 1024.  IP packet security fix from Jeffrey C Honig
   9072 	<jch (a] BSDI.COM>.
   9073 	(amqproc_mount_1_svc): provide information on the caller making an
   9074 	amq -M request.  IP packet security fix from Jeffrey C Honig
   9075 	<jch (a] BSDI.COM>.
   9076 
   9077 	* amd/map.c (free_map_if_success): If the program doing an unmount
   9078 	of a program filesystem fails, amd tries to interpret the return
   9079 	code as an errno.  Fix from Jeffrey C Honig <jch (a] BSDI.COM>.
   9080 
   9081 	* amd/info_nis.c (determine_nis_domain): don't always print
   9082 	warning about NIS domain name not being set, even if NIS is not in
   9083 	use.
   9084 
   9085 1999-08-21  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   9086 
   9087 	* amd/info_ldap.c (get_ldap_timestamp): initialize variable err.
   9088 	(amu_ldap_search): initialize variable err.
   9089 
   9090 1999-08-16  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   9091 
   9092 	* libamu/wire.c: written using getifaddrs() for BSD systems,
   9093 	contributed by BSDI, Jeffrey C Honig <jch (a] BSDI.COM>).
   9094 
   9095 1999-08-15  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   9096 
   9097 	* include/am_utils.h (SALLOC): a simple macro to allocate N bytes.
   9098 
   9099 	* aux/configure.in: check for irs.h and ifaddrs.h.
   9100 	Increase libamu.so --version-info to 3:1:1 since we've changed the
   9101 	source code for the library.
   9102 	Check for getifaddrs() function.
   9103 
   9104 1999-08-14  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   9105 
   9106 	* libamu/mount_fs.c (print_nfs_args): print fields namlen and
   9107 	bsize if they exist.
   9108 
   9109 	* conf/mount/mount_linux.c (mount_linux): set nfs_args_t->namlen
   9110 	and ->bsize fields correctly, if those fields exist.  This is a
   9111 	bug in that amd neglected to set these fields, but told the
   9112 	kernel it is mounting the nfs_args_t structure using mount version
   9113 	3 (which requires both bsize and namlen fields).
   9114 
   9115 	* aux/configure.in: test for two new nfs_args_t fields (used on
   9116 	newer linux with mount versions 2 and 3): bsize and namlen.
   9117 
   9118 	* doc/am-utils.texi (netgrpd Selector Function): document new
   9119 	selector function.
   9120 
   9121 	* amd/opts.c (f_netgrpd): new amd map function netgrpd(ARG) to
   9122 	test if the current host (fully-qualified name) is in the ARG host
   9123 	netgroup.  The netgrp() function uses the short form of a host
   9124 	name.  Patch from Christophe Kalt <Christophe-Kalt (a] deshaw.com>.
   9125 
   9126 	* doc/am-utils.texi (automount2amd): document new script.
   9127 
   9128 	* scripts/Makefile.am: create, install, and distribute
   9129 	automount2amd perl script and its man page.
   9130 
   9131 	* scripts/automount2amd.8: new man page for automount2amd.
   9132 
   9133 	* scripts/automount2amd.in: new file, contributed a in 1993 by
   9134 	Mike Walker <mike (a] tab00.larc.nasa.gov>.  Fixed to use addopts for
   9135 	any automount map options specified.
   9136 
   9137 1999-08-09  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   9138 
   9139 	* released snapshot am-utils-6.0.1s9
   9140 
   9141 1999-08-09  Erez Zadok  <ezk (a] beetle.mcl.cs.columbia.edu>
   9142 
   9143 	* amd/amfs_auto.c (DOT_DOT_COOKIE): set the NFS cookie of '..' to
   9144 	1.
   9145 	(amfs_auto_readdir): use DOT_DOT_COOKIE instead of (u_int)~0.
   9146 	(amfs_auto_readdir_browsable): use DOT_DOT_COOKIE instead of
   9147 	(u_int)~0.
   9148 
   9149 	* amd/mapc.c (make_entry_chain): NFS cookies should be
   9150 	monotonically increasing, because Linux 2.3 expects that, even
   9151 	though it is not in the spec (RFC-1094) for NFS V2.
   9152 
   9153 1999-08-06  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   9154 
   9155 	* aux/macros/check_lib_funcs.m4: removed unused macro.
   9156 
   9157 	* aux/macros/linux_headers.m4: new macro to ensure that linux
   9158 	kernel headers match running kernel version.
   9159 
   9160 	* aux/acconfig.h: define HOST_HEADER_VERSION so we can check if
   9161 	amd is configured on linux hosts that run one kernel but have
   9162 	headers for a different version.
   9163 
   9164 	* amd/info_nis.c (nis_isup, nis_search, nis_init): fixes for the
   9165 	logic which uses nis_isup and has_yp_order.  Make sure it is used
   9166 	correctly , esp. for NIS+ in NIS-compatibility mode.  Bug fix from
   9167 	Peter Breitenlohner <peb (a] mppmu.mpg.de>.
   9168 
   9169 	* include/am_defs.h: fix conflicts on linux 2.2 systems with older
   9170 	libc5.  Bug fix from Peter Breitenlohner <peb (a] mppmu.mpg.de>.
   9171 
   9172 	* scripts/lostaltmail.in: use sockaddr_in(), not pack() to
   9173 	correctly fill in a struct sockaddr_in.  On Solaris x86 hosts,
   9174 	using pack() results in byte-misaligned values.
   9175 
   9176 1999-08-02  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   9177 
   9178 	* conf/mtab/mtab_aix.c (mnt_dup): add support for nfs3
   9179 	mounting, as per Dale Talcott <aeh (a] quest.cc.purdue.edu>.  Also use
   9180 	better macros for case statement.
   9181 
   9182 	* conf/nfs_prot/nfs_prot_sunos5_7.h: don't include ldap structures
   9183 	unless ldap is actually available.
   9184 
   9185 	* use updated config.guess and config.sub.  Use newer automake
   9186 	that fixes problems with distributing optional libamu files
   9187 	(clnt_sperrno.c, hasmntopt.c, strcasecmp.c, strdup.c, strstr.c,
   9188 	and ualarm.c)
   9189 
   9190 1999-07-19  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   9191 
   9192 	* minor port i386-unknown-openbsd2.5
   9193 
   9194 1999-07-17  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   9195 
   9196 	* minor ports to freebsdelf 3.[0-2] and 4.0 completed
   9197 
   9198 	* aux/macros/check_nfs_prot_headers.m4: support freebsdelf
   9199 
   9200 	* aux/macros/check_nfs_socket_connection.m4: support freebsdelf
   9201 
   9202 1999-06-24  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   9203 
   9204 	* released snapshot am-utils-6.0.1s8
   9205 
   9206 1999-06-23  Erez Zadok  <ezk (a] beetle.mcl.cs.columbia.edu>
   9207 
   9208 	* include/am_defs.h: avoid various header conflicts on
   9209 	RedHat/Linux 6.0 and kernels 2.2.10 or newer.
   9210 
   9211 	* aux/configure.in: look for <db1/ndbm.h> (RedHat/Linux 6.0 and
   9212 	kernel 2.2.10)
   9213 
   9214 	* amd/amfs_program.c (amfs_program_exec): make sure logfp is
   9215 	initialized dynamically to stderr if needed.
   9216 
   9217 	* libamu/xutil.c (dplog): make sure logfp is initialized
   9218 	dynamically to stderr if needed.
   9219 	(plog): ditto.
   9220 
   9221 	* amd/amfs_program.c (amfs_program_exec): set logfp to stderr if
   9222 	not initialized.
   9223 
   9224 	* libamu/xutil.c: don't initialize logfp statically to stderr,
   9225 	because on RedHat/Linux 6.0 (kernel 2.2.10) stderr can no longer
   9226 	be manipulated like a variable.
   9227 
   9228 	* include/am_defs.h: avoid more conflicts between <linux/fs.h> and
   9229 	<sys/mount.h> on 2.2 linux kernels.
   9230 	include <db1/ndbm.h> as needed (RedHat/Linux 6.0)
   9231 
   9232 1999-04-20  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   9233 
   9234 	* all Makefile.am: use AMU_NFS_PROT_HEADER (not *_HEADERS)
   9235 
   9236 	* aux/macros/check_nfs_prot_headers.m4 (AMU_NFS_PROT_HEADER):
   9237 	renamed AC_SUBST name from *_HEADERS to *_HEADER so that automake
   9238 	won't attempt to add it to the header files to distribute.
   9239 
   9240 1999-04-19  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   9241 
   9242 	* aux/GNUmakefile: invoke aclocal with new --altdir flag.
   9243 
   9244 1999-04-16  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   9245 
   9246 	* minor new port: i386-unknown-netbsd1.4 (ALPHA)
   9247 
   9248 	* aux/macros/check_field.m4: no need to include <cdfs/cdfsmount.h>
   9249 	and <isofs/cd9660/cd9660_mount.h> because they are also included
   9250 	from MOUNT_HEADERS.  Causes multiple inclusion of unprotected
   9251 	headers on netbsd-1.4_ALPHA.
   9252 
   9253 1999-04-15  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   9254 
   9255 	* aux/macros/extern_sys_errlist.m4 (pattern): netbsd-1.4_ALPHA's
   9256 	sys_errlist extern doesn't end with [].
   9257 
   9258 	* aux/macros/check_nfs_prot_headers.m4: netbsd 1.4 support.
   9259 
   9260 1999-04-11  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   9261 
   9262 	* newer automake wants texinfo.tex to be in aux/ not doc/
   9263 
   9264 1999-03-30  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   9265 
   9266 	* amd/conf_parse.y: alloca support.
   9267 
   9268 	* fsinfo/fsi_gram.y: alloca support.
   9269 
   9270 	* libamu/Makefile.am (libamu_la_LIBADD): compile alloca.o if
   9271 	needed.
   9272 
   9273 	* aux/configure.in: test for alloca support.  Needed because bison
   9274 	generates parsers that use alloca, and hpux9 does have alloca and
   9275 	its /bin/cc doesn't support it builtin (the way gcc does).
   9276 
   9277 	* libamu/alloca.c: new file, needed on hpux9 with /bin/cc.  Taken
   9278 	verbatim from bison-1.25.
   9279 
   9280 	* include/am_defs.h: fixed typo #errir -> #error
   9281 
   9282 	* released snapshot am-utils-6.0.1s7
   9283 
   9284 	* README.y2k: more information about am-utils' compatibility, from
   9285 	Paul Balyoz <pbalyoz (a] sedona.ch.intel.com>.
   9286 
   9287 	* scripts/lostaltmail.in (Splice_in_resent_headers): ensure Y2K
   9288 	compliant format.  Patch from Paul Balyoz
   9289 	<pbalyoz (a] sedona.ch.intel.com>
   9290 
   9291 	* doc/am-utils.texi (Supported Platforms): hpux10.20 could have
   9292 	nfs v.3 support (with some vendor patches), but it is turned off.
   9293 
   9294 	* aux/macros/os_cflags.m4: use ansi compiler options on hpux.
   9295 
   9296 	* conf/nfs_prot/nfs_prot_hpux.h: Turn off NFS V.3 support to avoid
   9297 	confusing am-utils.  10.20 with some patches has incomplete
   9298 	support.  Patch from Jon Peatfield
   9299 	<J.S.Peatfield (a] damtp.cam.ac.uk>.
   9300 
   9301 1999-03-24  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   9302 
   9303 	* minor port i386-pc-bsdi4.0.1
   9304 
   9305 1999-03-20  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   9306 
   9307 	* doc/am-utils.texi (Supported Platforms): add forgotten listing
   9308 	for powerpc-linux.
   9309 
   9310 1999-03-18  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   9311 
   9312 	* scripts/amd.conf.5: fix typo.  From Jeffrey C Honig
   9313 	<jch (a] BSDI.COM>.
   9314 
   9315 	* doc/am-utils.texi: document iso9660 options norrip, gens, and
   9316 	extatt.
   9317 	(opts Option): documented dumbtimr and noauto options.  From
   9318 	Jeffrey C Honig <jch (a] BSDI.COM>.
   9319 
   9320 	* include/am_compat.h: define default strings for options norrip,
   9321 	gens, and extatt.
   9322 
   9323 	* amd/ops_cdfs.c (mount_cdfs): support options norrip, gens, and
   9324 	extatt.
   9325 
   9326 	* aux/macros/mount_headers.m4: also include
   9327 	<isofs/cd9660/cd9660_mount.h> as needed.
   9328 
   9329 	* aux/configure.in: check for isofs mount options for bsdi4:
   9330 	norrip, gens, and extatt.  Reported by Jeffrey C Honig
   9331 	<jch (a] BSDI.COM>.
   9332 
   9333 	* aux/macros/check_mnt2_cdfs_opt.m4: check for ISOFSMNT_* flags
   9334 	(bsdi4).
   9335 
   9336 1999-03-17  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   9337 
   9338 	* conf/nfs_prot/nfs_prot_freebsd3.h: ditto.
   9339 
   9340 	* conf/nfs_prot/nfs_prot_bsdi3.h: include <ufs/ufs/ufsmount.h>,
   9341 	for bsdi4, as per Jeffrey C Honig <jch (a] BSDI.COM>.
   9342 
   9343 1999-03-15  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   9344 
   9345 	* get latest copies of config.guess, config.sub, ltconfig, and
   9346 	ltmain.sh from libtool-1.2f.
   9347 
   9348 	* all Makefile.am: don't use continuation lines (using \) for
   9349 	short lists of files.
   9350 
   9351 	* libamu/Makefile.am (DISTCLEANFILES): make distclean should
   9352 	remove mountutil.c, mtabutil.c, transputil.c, and umount_fs.c.
   9353 	Reported by Jeffrey C Honig <jch (a] BSDI.COM>.
   9354 
   9355 	* fixmount/Makefile.am (DISTCLEANFILES): make distclean should
   9356 	remove checkmount.c.  Reported by Jeffrey C Honig <jch (a] BSDI.COM>.
   9357 
   9358 	* Makefile.am (DISTCLEANFILES): make distclean should remove
   9359 	amu_nfs_prot.h, config.cache.old, and dbgcf.h.  Reported by
   9360 	Jeffrey C Honig <jch (a] BSDI.COM>.
   9361 
   9362 1999-03-13  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   9363 
   9364 	* released snapshot am-utils-6.0.1s6
   9365 
   9366 1999-03-12  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   9367 
   9368 	* INSTALL: document freebsdelf.
   9369 
   9370 	* doc/am-utils.texi (Supported Platforms): document freebsdelf.
   9371 
   9372 1999-03-08  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   9373 
   9374 	* minor new ports: i386-unknown-freebsdelf3.1 and
   9375 	i386-unknown-freebsdelf4.0
   9376 
   9377 	* aux/macros/check_nfs_prot_headers.m4: freebsd4 support.
   9378 
   9379 	* aux/macros/check_nfs_socket_connection.m4: freebsd4 support.
   9380 
   9381 	* aux/macros/check_nfs_fh_dref.m4: freebsd4 support.
   9382 
   9383 	* amd/opts.c (eval_opts): changed log level of "executing
   9384 	negated..." message from USER to INFO, as per Guntram Wolski
   9385 	<gwolsk (a] sei.com>.
   9386 
   9387 1999-02-17  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   9388 
   9389 	* */Makefile.am (LDADD): force linking against an installed
   9390 	libamu.{a,so}.
   9391 
   9392 	* doc/am-utils.texi (addopts Option): document remopts interaction
   9393 	with addopts.
   9394 
   9395 	* amd/am_ops.c (ops_match): if addopts are specified, apply them
   9396 	to the value of remopts as well as opts.
   9397 
   9398 	* amd/ops_nfs.c (mount_nfs_fh): tell users when remopts are used.
   9399 
   9400 1999-02-05  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   9401 
   9402 	* released snapshot am-utils-6.0.1s5
   9403 
   9404 	* conf/mount/mount_linux.c (mount_linux): set default nfs_args
   9405 	options for ac{reg,dir}{min,man} as per the mount-2.8a package,
   9406 	but only if noac option was not used.
   9407 
   9408 1999-02-05  Erez Zadok  <ezk (a] retro.cs.columbia.edu>
   9409 
   9410 	* conf/mount/mount_linux.c (mount_linux): print nfs_args again
   9411 	since it was updated.
   9412 	(mount_linux): use 4KB for NFS rsize/wsize on 2.1.0 linux kernels
   9413 	and newer.  Bug was found by Neil Conway
   9414 	<nconway.list (a] ukaea.org.uk>
   9415 
   9416 1999-02-04  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   9417 
   9418 	* released snapshot am-utils-6.0.1s4
   9419 
   9420 1999-02-03  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   9421 
   9422 	* amq/amq.c (main): don't list -M as a valid amq option unless
   9423 	configure'd with --enable-amq-mount.
   9424 
   9425 Wed Feb  3 18:11:18 1999  Rainer Orth  <ro (a] TechFak.Uni-Bielefeld.DE>
   9426 
   9427 	* amd/nfs_start.c (amd_use_autofs): Define.
   9428 	(mount_automounter): Create autofs service listener only if
   9429 	necessary to avoid unnecessary clashes with e.g. automountd.
   9430 
   9431 	* amd/amd.h (amd_use_autofs): Declare.
   9432 
   9433 	* amd/conf.c (gopt_mount_type): Set amd_use_autofs.
   9434 	(ropt_mount_type): Likewise.
   9435 
   9436 1999-02-02  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   9437 
   9438 	* aux/macros/check_mnt2_nfs_opt.m4:: ditto
   9439 
   9440 	* aux/macros/check_mnt2_cdfs_opt.m4: ditto
   9441 
   9442 	* aux/macros/check_mnt2_gen_opt.m4: ditto
   9443 
   9444 	* aux/macros/check_mnttab_opt.m4: new macro in this file to loop
   9445 	over AC_CHECK_MNTTAB_OPT.  Reduces size of configure script a lot.
   9446 
   9447 	* conf/nfs_prot/nfs_prot_netbsd1_3.h: include nfs/rpcv2.h,
   9448 	nfs/nfs.h and nfs/nfsmount.h if they exist.  Patch from
   9449 	christos (a] zoulas.com (Christos Zoulas).
   9450 
   9451 	* amd/info_hesiod.c: some forward declarations.  Patch from
   9452 	christos (a] zoulas.com (Christos Zoulas).
   9453 
   9454 1999-01-28  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   9455 
   9456 	* libamu/mount_fs.c (compute_nfs_args): don't turn on/off noconn
   9457 	option if it was already in that state.  Patch from David
   9458 	Wolfskill <dhw (a] whistle.com>.
   9459 
   9460 1999-01-20  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   9461 
   9462 	* aux/configure.in: automake nowadays supports LTLIBOBJS (but not
   9463 	LTALLOCA yet).  Substitute value of LIBTOOL_DEPS for libtool
   9464 	rebuild make rules.
   9465 
   9466 	* Makefile.am: new rules to remake libtool (maintainers only)
   9467 
   9468 	* amd/amfs_toplvl.c (mount_amfs_toplvl): print generic mount flags
   9469 	if -D trace was used.
   9470 
   9471 1999-01-18  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   9472 
   9473 	* buildall: all if statements should have an else clause because
   9474 	of Ultrix's /bin/sh.
   9475 
   9476 1999-01-15  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   9477 
   9478 	* amq/amq.c: removed dummy variables.
   9479 
   9480 	* amq/pawd.c: removed dummy variable.s
   9481 
   9482 	* fixmount/fixmount.c (usage): removed dummy variables.
   9483 
   9484 	* fsinfo/fsinfo.c: removed dummy variables.
   9485 
   9486 	* hlfsd/hlfsd.c: removed dummy variables.
   9487 
   9488 	* wire-test/wire-test.c: removed dummy variables.
   9489 
   9490 	* mk-amd-map/mk-amd-map.c: removed dummy variables.
   9491 
   9492 	* doc/texinfo.tex: updates from GNU mirror.
   9493 
   9494 	* aux/GNUmakefile (../doc/texinfo.tex): new rule to update
   9495 	doc/texinfo.tex from GNU mirror.
   9496 
   9497 	* released snapshot am-utils-6.0.1s3
   9498 
   9499 	* Makefile.am (install-snapshot): better snapshot and new
   9500 	install-snapshot and test-snapshot rules (maintainer).
   9501 
   9502 	* amd/info_ldap.c (amu_ldap_init): don't run STREQ if one of the
   9503 	args may be NULL.
   9504 	Some dlog() entries were not enclosed in #ifdef DEBUG.  Fix from
   9505 	Bill Paul <wpaul (a] ctr.columbia.edu>
   9506 
   9507 1999-01-13  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   9508 
   9509 	* check for experimental generic 'ignore' mount flag on freebsd3.
   9510 
   9511 	* Update library -version-info to 3:0:1 (will result in 2.1.0 .so
   9512 	version, which is backwards compatible with older versions.)  Only
   9513 	one new interface was added to libamu.
   9514 
   9515 	* amd/amfs_toplvl.c (mount_amfs_toplvl): add generic mount flags
   9516 	that are specific to automounter mounts.
   9517 
   9518 	* aux/configure.in: update libamu.so age and revision since a new
   9519 	interface was added to libamu/mount_fs.c
   9520 	(compute_automounter_mount_flags).
   9521 
   9522 	* libamu/mount_fs.c (compute_automounter_mount_flags): new
   9523 	function to compute generic mount flags that are specific to mount
   9524 	points only.
   9525 
   9526 	* aux/{configure.in,acconfig.h}: add support for generic mount
   9527 	entry ignore option.
   9528 
   9529 	* released snapshot am-utils-6.0.1s2
   9530 
   9531 	* amd/info_ldap.c (get_ldap_timestamp): dlog format fixes.
   9532 
   9533 	* libamu/mount_fs.c (print_nfs_args): solaris 2.7 changed format
   9534 	of knc_semantics from u_long to u_int.
   9535 
   9536 	* aux/macros/check_mount_style.m4: freebsd3 no longer needs a
   9537 	special mount helper.
   9538 
   9539 1999-01-12  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   9540 
   9541 	* aux/macros/check_nfs_prot_headers.m4 (AMU_NFS_PROT_HEADERS):
   9542 	amu_nfs_conf.h should always be found in $top_builddir.
   9543 
   9544 Tue Jan 12 00:05:42 1999  Rainer Orth  <ro (a] TechFak.Uni-Bielefeld.DE>
   9545 
   9546 	* conf/nfs_prot/nfs_prot_sunos5_7.h (MNTTAB_TYPE_AUTOFS): Undefine
   9547 	to avoid wrong reports from show_fstypes.
   9548 
   9549 	* conf/nfs_prot/nfs_prot_irix5.h (MNTTAB_TYPE_XFS): Likewise.
   9550 
   9551 	* conf/nfs_prot/nfs_prot_hpux11.h (MNTTAB_TYPE_NFS3): Likewise.
   9552 
   9553 Tue Jan 12 00:05:42 1999  Rainer Orth  <ro (a] TechFak.Uni-Bielefeld.DE>
   9554 
   9555 	* BUGS (mips-dec-ultrix4.3): Update Ultrix caveats.
   9556 
   9557 Tue Jan 12 00:05:42 1999  Rainer Orth  <ro (a] TechFak.Uni-Bielefeld.DE>
   9558 
   9559 	* hlfsd/homedir.c (delay): Cast child to long, adapt format.
   9560 	(hlfsd_getpwent): Likewise for pw_uid.
   9561 
   9562 	* amd/info_nis.c (nis_init): Cast order to unsigned long, adapt
   9563 	format.
   9564 
   9565 	* conf/transp/transp_tli.c (amu_clnt_create_best_vers): Cast
   9566 	tv_sec to int to match format.
   9567 	(get_nfs_version): Cast nfs_version, NFS_VERSION to int to match
   9568 	formats.
   9569 
   9570 	* amd/amfs_program.c (amfs_program_exec): Cast ptr difference to
   9571 	long, adapt format.
   9572 
   9573 	* include/am_defs.h: Handle __attribute__ if available.  From
   9574 	GNU fileutils 4.0 lib/errors.h.
   9575 
   9576 Mon Jan 11 13:46:44 1999  Rainer Orth  <ro (a] TechFak.Uni-Bielefeld.DE>
   9577 
   9578 	* libamu/mount_fs.c (print_nfs_args): Cast sizeof() to int to
   9579 	match format.
   9580 
   9581 	* hlfsd/stubs.c (nfsproc_getattr_2_svc): Cast uid, gid to long,
   9582 	adapt format.
   9583 	(nfsproc_lookup_2_svc): Likewise.
   9584 	(nfsproc_readlink_2_svc): Likewise for userid, groupid.
   9585 
   9586 	* hlfsd/nfs_prot_svc.c (nfs_program_2): Cast args to int to match
   9587 	format.
   9588 
   9589 	* hlfsd/homedir.c (homedir): Cast uid, child to long, adapt
   9590 	format.
   9591 
   9592 	* amd/info_hesiod.c (hesiod_search): Cast m, pval, tp to unsigned
   9593 	long, adapt format.
   9594 
   9595 	* amd/ops_nfs.c (find_nfs_fhandle_cache): Cast fh_wchan to
   9596 	unsigned long, adapt format.
   9597 	(got_nfs_fh): Likewise.
   9598 	(prime_nfs_fhandle_cache): Cast fh_nfs_version to int to match
   9599 	format.
   9600 	(call_mountd): Likewise, mnt_version also.
   9601 	(mount_nfs_fh): Likewise.
   9602 
   9603 	* amd/ops_autofs.c (autofs_program_1): Cast args to int to match
   9604 	format.
   9605 	(autofs_unmount_1_svc): Cast ur->devid, ur_rdevid, ur->next to
   9606 	unsigned long, adapt formats.
   9607 	(autofs_bgmount): Cast opt_fs to unsigned to, adapt format.
   9608 	(autofs_bgmount): Use long format to match arg.
   9609 	(autofs_lookuppn): Removed superfluous arg.
   9610 
   9611 	* amd/srvr_nfs.c (start_ping): Cast nfs_version to int to match
   9612 	format.
   9613 	(got_portmap): Likewise for port.
   9614 	(recompute_portmap): Likewise for fs->fs_version, mnt_version.
   9615 	(find_nfs_srvr): Likewise for nfs_version.
   9616 
   9617 	* amd/sched.c (sched_task): Cast wchan to unsigned long, adapt
   9618 	format.
   9619 
   9620 	* amd/nfs_start.c (checkup): Cast ptr difference to long, next_mem
   9621 	to unsigned long, adapt format.
   9622 	Cast tvv.tv_sec to int to match format.
   9623 
   9624 	* amd/nfs_prot_svc.c (nfs_program_2): Cast args to int to match
   9625 	format.
   9626 
   9627 	* amd/map.c (root_fh): Cast pid to long, adapt format.
   9628 	(timeout_mp): Cast time_t to long, adapt format.
   9629 
   9630 	* amd/clock.c (reschedule_timeouts): Use long format, cast time_t
   9631 	arg.
   9632 
   9633 	* amd/amfs_host.c (fetch_fhandle): Cast nfs_version to int to
   9634 	match format.
   9635 	(amfs_host_fmount): Likewise.
   9636 	(amfs_host_umounted): Likewise.  Removed superfluous arg.
   9637 
   9638 	* amd/amfs_auto.c (amfs_auto_bgmount): Cast pointer to unsigned
   9639 	long, adapt format.
   9640 	(amfs_auto_bgmount): Use long format, cast time_t arg.
   9641 	(amfs_auto_lookuppn): Removed superfluous arg.
   9642 
   9643 	* amd/amd.c (main): Cast geteuid() result to long, adapt format.
   9644 
   9645 	* conf/transp/transp_sockets.c (get_nfs_version): Cast nfs_version
   9646 	to int to match format.
   9647 
   9648 	* include/am_utils.h: Declare plog, dplog as printf-like.
   9649 
   9650 	* conf/mount/mount_irix6.c (mount_irix): Print type as char *.
   9651 
   9652 Mon Jan 11 13:46:44 1999  Rainer Orth  <ro (a] TechFak.Uni-Bielefeld.DE>
   9653 
   9654 	* amd/info_hesiod.c (hesiod_isup): New function.
   9655 	* amd/mapc.c (maptypes): Add it.
   9656 
   9657 1999-01-10  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   9658 
   9659 	* released snapshot am-utils-6.0.1s1
   9660 
   9661 1999-01-09  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   9662 
   9663 	* ALL: bump copyright year to 1999.
   9664 
   9665 Fri Jan  8 15:24:15 1999  Rainer Orth  <ro (a] TechFak.Uni-Bielefeld.DE>
   9666 
   9667 	* aux/macros/check_mtype_type.m4: Ultrix uses an int mount type,
   9668 	too.
   9669 
   9670 	* aux/macros/check_mtype_printf_type.m4: Adapt corresponding
   9671 	printf type.
   9672 
   9673 Fri Jan  8 15:24:15 1999  Rainer Orth  <ro (a] TechFak.Uni-Bielefeld.DE>
   9674 
   9675 	* aux/acconfig.h: Removed HAVE_AM_FS_AUTOFS, unused.
   9676 
   9677 	* conf/nfs_prot/nfs_prot_irix6.h: Likewise.
   9678 
   9679 	* conf/nfs_prot/nfs_prot_sunos5_6.h: Likewise.
   9680 
   9681 	* conf/nfs_prot/nfs_prot_sunos5_7.h: Likewise.
   9682 
   9683 	* Makefile.am (EXTRA_DIST_DIRS): Removed, not needed by current
   9684 	automake.
   9685 
   9686 Thu Jan  7 02:55:18 1999  Rainer Orth  <ro (a] TechFak.Uni-Bielefeld.DE>
   9687 
   9688 	* aux/configure.in (AM_PROG_YACC): Replaced by AC_PROG_YACC, not
   9689 	in current automake.
   9690 
   9691 Thu Jan  7 02:55:18 1999  Rainer Orth  <ro (a] TechFak.Uni-Bielefeld.DE>
   9692 
   9693 	* doc/am-utils.texi: Added some missing inter-punctation after
   9694 	@xref, or use @pxref/@ref as appropriate.  Spotted by makeinfo
   9695 	from texinfo 3.12b.
   9696 
   9697 1999-01-07  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   9698 
   9699 	* doc/texinfo.tex: updated off of latest GNU mirror.
   9700 
   9701 1999-01-04  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   9702 
   9703 	* doc/am-utils.texi (Supported Platforms): update platforms that
   9704 	support NFS v.3.  Nicer postscript printing on double-sided pages.
   9705 
   9706 	* amd/info_hesiod.c: add extern definition for hesiod_init()
   9707 
   9708 1999-01-01  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   9709 
   9710 	*******************************************************************
   9711 	*** Released am-utils-6.0					***
   9712 	*******************************************************************
   9713 
   9714 1998-12-28  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   9715 
   9716 	* conf/nfs_prot/nfs_prot_sunos5_7.h: support ldap in solaris 2.7.
   9717 
   9718 1998-12-27  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   9719 
   9720 	* conf/nfs_prot/nfs_prot_bsdi3.h: don't use reserved ports on
   9721 	bsdi4 for NFS V3/nfs mounts.
   9722 
   9723 1998-12-26  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   9724 
   9725 	* using latest libtool (1.2e + patches), now supporting shared
   9726 	libraries on many more systems.  Also using latest autoconf and
   9727 	automake (unreleased GNU CVS'd versions.)
   9728 
   9729 	* minor new ports: hppa2.0w-hp-hpux11.00,
   9730 	i386-unknown-netbsd1.3.3, mips-sgi-irix6.5.
   9731 
   9732 	* fsinfo/fsinfo.h (yywrap): define it for systems (osf4) that
   9733 	have /usr/bin/flex but not libfl.
   9734 
   9735 1998-12-24  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   9736 
   9737 	* lots of code cleanup, to make sure libamu.so does not use
   9738 	undefined symbols.  Some system's shared libraries cannot handle
   9739 	that.
   9740 
   9741 1998-12-23  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   9742 
   9743 	* include/am_defs.h: only defined seteuid extern if function also
   9744 	exists and is not superceded by setresuid (hpux).
   9745 
   9746 	* amd/ops_autofs.c (autofs_bgmount, autofs_lookuppn): put explicit
   9747 	braces to avoid confusion with nested if-then-else clauses.
   9748 
   9749 	* aux/config.{sub,status}, aux/{ltmain.sh,ltconfig,mkinstalldirs:
   9750 	updated from latest versions.
   9751 
   9752 1998-12-22  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   9753 
   9754 	* minor new port: i386-pc-bsdi4.0
   9755 
   9756 	* conf/nfs_prot/nfs_prot_bsdi3.h: add missing hesiod header
   9757 	definitions for bsdi4.
   9758 
   9759 	* {amd,fsinfo}/Makefile.am: force path to .y/.l files, because
   9760 	some make programs (bsdi4) do not support VPATH correctly.
   9761 
   9762 1998-12-16  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   9763 
   9764 	* conf/mount/mount_aix.c: minor code cleanup
   9765 
   9766 	* aux/configure.in: check for extern definition to xdr_groups.
   9767 
   9768 1998-12-15  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   9769 
   9770 	* minor new port: powerpc-ibm-aix4.3.1.0
   9771 
   9772 	* aux/macros/*.m4: updates for aix 4.3
   9773 
   9774 1998-12-14  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   9775 
   9776 	* minor new port: i386-unknown-openbsd2.4
   9777 
   9778 	* aux/configure.in: don't check for xfs on openbsd because
   9779 	openbsd-2.4 introduces a new file system named xfs, but different
   9780 	than Irix's XFS.  Sigh.
   9781 
   9782 	* minor new port: i386-unknown-freebsd2.2.8
   9783 
   9784 1998-12-03  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   9785 
   9786 	* amd/amfs_nfsl.c (amfs_nfsl_ffserver): use case insensitive host
   9787 	name match.  Bug fix from Douglas K. Rand" <rand (a] aero.und.edu>.
   9788 
   9789 1998-11-20  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   9790 
   9791 	* scripts/ctl-amd.in: wait4amd2die runs in the stop action, to
   9792 	avoid race conditions when shutting down systems running amd.
   9793 
   9794 	* Makefile.am: add a dist-hook to change modes of the directories
   9795 	in the tar file so they are not world writable.
   9796 
   9797 	* conf/nfs_prot/nfs_prot_freebsd3.h: turned on NFSv3 support,
   9798 	since it is now finally defined in the header files and
   9799 	(hopefully) stable.
   9800 
   9801 	* amd/srvr_nfs.c (find_nfs_srvr): allow overriding if nfsv2 option
   9802 	is specified in mount options.  freebsd patches from David
   9803 	O'Brien.
   9804 
   9805 	* amq/amq.c (main), fixmount/fixmount.c (main), hlfsd/hlfsd.c
   9806 	(main), fsinfo/fsinfo.c (fsi_get_args), hlfsd/hlfsd.c (main),
   9807 	amd/get_args.c (get_args): posix: use -1 to check for return from
   9808 	getopt() (not EOF), as per posix.
   9809 
   9810 	* amd/amq_subr.c (xdr_amq_mount_tree_node): patches from "David
   9811 	O'Brien" <obrien (a] NUXI.com>, from the FreeBSD source tree.  Use
   9812 	real variable whose pointer is on the stack for decoding a long
   9813 	int.
   9814 
   9815 1998-11-11  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   9816 
   9817 	* scripts/ctl-{amd,hlfsd}.in: include comments useful for redhat's
   9818 	chkconfig utility.
   9819 
   9820 1998-11-10  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   9821 
   9822 	* released snapshot am-utils-6.0b2s3
   9823 
   9824 	* conf/transp/transp_sockets.c (create_nfs_service): remove C++
   9825 	style comments.
   9826 
   9827 1998-11-04  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   9828 
   9829 	* released snapshot am-utils-6.0b2s2
   9830 
   9831 	* created CVS package
   9832 
   9833 	* amd/nfs_subr.c (nfsproc_lookup_2_svc): try to avoid a race
   9834 	condition between unmounting and re-mounting an entry, by
   9835 	increasing the ttl of a looked up entry before unmounting it.
   9836 	Patch from Mike Mitchell <mcm (a] unx.sas.com>.
   9837 
   9838 	* All files: spell comments and strings.
   9839 
   9840 1998-11-03  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   9841 
   9842 	* aux/configure.in: look for yp_all in libnsl only if yp_all not
   9843 	already found elsewhere (in libc or other default libraries).
   9844 	This is so RedHat 5.1 systems could find yp functions in libnsl,
   9845 	but also so AIX 4.2.1 will NOT include libnsl, because the latter
   9846 	has broken nis functionality that also exists and works ok in libc.
   9847 
   9848 1998-10-29  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   9849 
   9850 	* amd/amd.c (main): bug fix: swapped arguments to kill(2).  Fix
   9851 	from Danny Rathjens <dkr (a] cs.fiu.edu>.
   9852 
   9853 1998-10-28  Erez Zadok  <ezk (a] spruce.mcl.cs.columbia.edu>
   9854 
   9855 	* released snapshot am-utils-6.0b2s1
   9856 
   9857 1998-10-27  Erez Zadok  <ezk (a] spruce.mcl.cs.columbia.edu>
   9858 
   9859 	* aux/macros/*.m4: support bsdi4 as bsdi3.
   9860 
   9861 	* aux/macros/os_ldflags.m4: enable detection of LDAP on solaris
   9862 	2.7 (libraries located in /usr/lib/fn).  This is off until Sun
   9863 	includes LDAP header information.
   9864 
   9865 1998-10-20  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   9866 
   9867 	*******************************************************************
   9868 	*** Released am-utils-6.0b1					***
   9869 	*******************************************************************
   9870 
   9871 1998-10-18  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   9872 
   9873 	* mk-amd-map/mk-amd-map.c (main): use perror not strerror.
   9874 	(main): set return type to int if no ndbm maps.
   9875 
   9876 	* include/am_defs.h: avoid conflicts with <sys/mount.h> in 2.1
   9877 	kernels.
   9878 
   9879 1998-10-18  Erez Zadok  <ezk (a] london.mcl.cs.columbia.edu>
   9880 
   9881 	* A.i386-unknown-netbsd1.3.2/amu_nfs_prot.h: trim down and cleanup
   9882 	for netbsd 1.3.2.
   9883 
   9884 1998-10-17  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   9885 
   9886 	* aux/configure.in: check for yp_all in libnsl, b/c redhat 5.1
   9887 	systems put NIS functions there.
   9888 
   9889 	* mk-amd-map/mk-amd-map.c: patch from "David O'Brien"
   9890 	<obrien (a] NUXI.com> merged in.  Use POSIX -1 return code from
   9891 	getopt(), not EOF.  Use .db extentions for systems that use it,
   9892 	instead of .{pag,dir}.
   9893 
   9894 1998-10-15  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   9895 
   9896 	* wire-test/wire-test.c, hlfsd/hlfsd.c, fixmount/fixmount.c,
   9897 	amd/amd.c (main): avoid overrunning hostname buffer.  Bug fix from
   9898 	"David O'Brien" <obrien (a] NUXI.com>.
   9899 
   9900 	* scripts/amd.conf.5: minor typo reported by "David O'Brien"
   9901 	<obrien (a] NUXI.com> in .TH section of man page.
   9902 
   9903 	* amd/info_nis.c (am_yp_all): don't leak key-val entries.  Patch
   9904 	from Thomas Richter <richter (a] chemie.fu-berlin.de>.
   9905 
   9906 1998-10-12  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   9907 
   9908 	* doc/am-utils.texi (Program Filesystem): minor typo fixed as per
   9909 	Andreas Stolcke <stolcke (a] speech.sri.com>.
   9910 
   9911 	* minor new ports: sparc64-unknown-linux-gnu, i386-pc-solaris2.7,
   9912 	and sparc-sun-solaris2.7.
   9913 
   9914 	* conf/mount/mount_freebsd3.c (mount_freebsd3): freebsd 3.0 is now
   9915 	a 4.4lite kernel, and somethings were removed, such as
   9916 	INITMOUNTNAMES.
   9917 
   9918 	* amd/ops_autofs.c (autofs_lookuppn): don't leak memory while
   9919 	processing /defaults.  Free temporary opts.  Patch from
   9920 	dsr (a] mail.lns.cornell.edu (Daniel S. Riley)
   9921 
   9922 	* amd/amfs_auto.c (amfs_auto_lookuppn): don't leak memory while
   9923 	processing /defaults.  Free temporary opts.  Patch from
   9924 	dsr (a] mail.lns.cornell.edu (Daniel S. Riley)
   9925 
   9926 	* conf/mtab/mtab_osf.c (read_mtab): patch from
   9927 	 dsr (a] mail.lns.cornell.edu (Daniel S. Riley) not to access
   9928 	 uninitialized memory on Digital Unix.
   9929 
   9930 1998-10-09  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   9931 
   9932 	* aux/macros/{check_mtype_type,check_mtype_printf_type}.m4: most
   9933 	systems now use "char *" as their mount type.
   9934 
   9935 1998-10-08  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   9936 
   9937 	* amd/conf.c (gopt_map_type, ropt_map_type): check if map type
   9938 	exists.
   9939 
   9940 	* amd/mapc.c (mapc_type_exists): function to test if a map of
   9941 	certain type exists.
   9942 
   9943 1998-10-08  Erez Zadok  <ezk (a] horatio.mcl.cs.columbia.edu>
   9944 
   9945 	* aux/macros/{mount_headers,try_compile_anyfs,try_compile_nfs}.m4,
   9946 	include/am_defs.h: Avoid a conflict in definitions of ntohl/htonl
   9947 	in RH-5.1 sparc64 between <netinet/in.h> and
   9948 	<linux/byteorder/generic.h> (2.1 kernels).
   9949 
   9950 1998-09-28  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   9951 
   9952 	* aux/macros/func_bad_yp_all.m4 (ac_cv_func_yp_all_clean): RedHat
   9953 	5.1 systems with glibc glibc-2.0.7-19 or below leak a UDP socket
   9954 	from yp_all().
   9955 
   9956 1998-09-25  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   9957 
   9958 	* conf/mount/mount_linux.c (parse_opts): check for pcfs support
   9959 	only if autoconfigured.
   9960 
   9961 1998-09-18  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   9962 
   9963 	* Makefile.am (EXTRA_DIST): distribute README.yk2 file.
   9964 
   9965 	* README.y2k: explain y2k compliance status of am-utils.
   9966 
   9967 1998-09-16  Erez Zadok  <ezk (a] iguana.mcl.cs.columbia.edu>
   9968 
   9969 	* amd/amfs_host.c (fetch_fhandle, amfs_host_fmount,
   9970 	amfs_host_umounted): clnt_sperrno() may return a const.
   9971 
   9972 Sat Aug  8 23:28:32 1998  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   9973 
   9974 	* aux/configure.in: check for <nfs/nfsmount.h>, as per Christos
   9975 	Zoulas. Turned on checking for mount options: async, synchronous,
   9976 	deadthresh, leasterm, nqnfs, and readahead.
   9977 
   9978 	* amd/info_nis.c: patch from christos (a] zoulas.com (Christos Zoulas)
   9979 	to include prototype definition for nis_isup().
   9980 
   9981 Sun Jul 19 18:50:10 1998  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   9982 
   9983 	* hlfsd/stubs.c (getcreds): force sscanf arg to u_long.
   9984 
   9985 Tue Jul 14 20:34:25 1998  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   9986 
   9987 	* released snapshot am-utils-6.0a17s1
   9988 
   9989 Wed Jul  8 21:49:15 1998  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   9990 
   9991 	* aux/macros/host_macros.m4: all x86 hosts should have $arch be
   9992 	i386, not i[456]86.
   9993 
   9994 Tue Jul  7 18:55:09 1998  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   9995 
   9996 	* aux/macros/{mount_headers,try_compile_anyfs,try_compile_nfs}.m4,
   9997 	include/am_defs.h: include <linux/posix_types.h> before
   9998 	<linux/fs.h> because on redhat 5.1, there is a bug (misuse) of
   9999 	headers in <socketbits.h> (it defines _LINUX_TYPES_H instead of
   10000 	__KERNEL_STRICT_NAMES).
   10001 
   10002 	* aux/configure.in: check for <linux/posix_types.h> because it is
   10003 	need for RedHat 5.1.
   10004 
   10005 Wed Jun 17 00:05:33 1998  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   10006 
   10007 	* scripts/Makefile.am (EXTRA_DIST): have fixrmtab generated from
   10008 	.in as well, so it doesn't get removed by make clean.
   10009 
   10010 Tue Jun 16 22:00:15 1998  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   10011 
   10012 	* aux/macros/{check_fs_mntent.m4, check_mnttab_type.m4,
   10013 	check_mount_type.m4}: redhat 5.1 puts some modules in
   10014 	/lib/modules/preferred/.
   10015 
   10016 Wed May 13 16:33:57 1998  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   10017 
   10018 	* amd/ops_autofs.c (mount_autofs): cast pid to long.
   10019 
   10020 Tue Apr 28 15:12:36 1998  Rainer Orth  <ro (a] TechFak.Uni-Bielefeld.DE>
   10021 
   10022 	* conf/nfs_prot/nfs_prot/nfs_prot_irix6.h,
   10023 	conf/nfs_prot/nfs_prot_sunos5_6.h: Undef MNTTAB_TYPE_AUTOFS too to
   10024 	avoid amd/am_ops.c (show_fstypes) from erroneously claiming
   10025 	support.
   10026 
   10027 Fri Apr 24 23:02:11 1998  Rainer Orth  <ro (a] TechFak.Uni-Bielefeld.DE>
   10028 
   10029 	* libamu/xutil.c (get_syslog_facility): Don't use LOG_DAEMON
   10030 	unconditionally, may be missing on Ultrix V4.3.
   10031 
   10032 Thu Apr 23 20:24:33 1998  Rainer Orth  <ro (a] TechFak.Uni-Bielefeld.DE>
   10033 
   10034 	* conf/nfs_prot/nfs_prot_sunos5_4.h (MNTTYPE_CACHEFS): Define,
   10035 	missing from <sys/mntent.h>.
   10036 
   10037 	* conf/mtab/mtab_ultrix.c: Need separate inclusion of <sys/fs_types.h>
   10038 	without KERNEL defined here.
   10039 
   10040 	* aux/macros/mount_headers.m4: Need to include <ufs/ufs_mount.h>,
   10041 	<cdfs/cdfs_mount.h>, <cdfs/cdfsmount.h> so autoconfiguration of
   10042 	ufs_args_t, cdfs_args_t fields and cdfs mount options can succeed.
   10043 
   10044 	* amd/ops_ufs.c (mount_ufs): Removed obsolete comment.
   10045 
   10046 	* ChangeLog: Fixed confusing linebreaks from ChangeLog imports.
   10047 	Removed purely local (and obsolete) entry.
   10048 
   10049 Thu Apr 23 00:22:17 1998  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   10050 
   10051 	*******************************************************************
   10052 	*** Released am-utils-6.0a16					***
   10053 	*******************************************************************
   10054 
   10055 Wed Apr 22 01:20:39 1998  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   10056 
   10057 	* aux/macros/check_mount_style.m4: define freebsd3 mount style.
   10058 
   10059 	* aux/macros/check_mount_trap.m4: new mount trap for freebsd3.
   10060 
   10061 	* aux/macros/check_mtype_printf_type.m4,
   10062 	aux/macros/check_mtype_type.m4 (ac_cv_mtype_type,): freebsd3 (as
   10063 	of snapshot 3.0-980311-SNAP) uses char * types for mount(2), not
   10064 	integers, but I'll keep them as integers and do the mapping in
   10065 	conf/mount/mount_freebsd3.c
   10066 
   10067 	* minor new port to i386-pc-bsdi3.1.
   10068 
   10069 	* minor new port to i386-unknown-netbsd1.3.1.
   10070 
   10071 	* amd/opts.c: new option addopts:=ARG, which smartly merges ARG
   10072 	options with whatever the /default ones for a key are.  This
   10073 	allows adding or overriding /default options individual keys.
   10074 
   10075 	* amd/am_ops.c (ops_match): strdup/malloc string assigned to
   10076 	opt_opts because it'll get free()'d upon next use.
   10077 	(merge_opts): new function to merge two sets of options.
   10078 	(ops_match): if addopts option exist, append and merge it to the
   10079 	current default options.
   10080 
   10081 Tue Apr 21 12:54:59 1998  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   10082 
   10083 	* wire-test/wire-test.c (main): use dynamically allocated returned
   10084 	string with list of interfaces.
   10085 
   10086 	* amd/get_args.c (get_version_string): allocate enough space for
   10087 	header version string and a list of network interfaces of any
   10088 	length.
   10089 
   10090 	* libamu/wire.c (print_wires): return dynamically allocated string
   10091 	containing list of networks.  Must be dynamic because some sites
   10092 	had potentially dozens of network interfaces.  Patch from Matthew
   10093 	Crosby <mcrosby (a] ms.com> slightly modified.
   10094 
   10095 Mon Apr 20 00:37:20 1998  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   10096 
   10097 	* conf/nfs_prot/nfs_prot_irix5.h: underfine MNTTYPE_XFS because
   10098 	irix 5.3 does not have full header definitions for it.
   10099 
   10100 	* fsinfo/fsi_lex.l (yywrap): define yywrap if needed, and
   10101 	undefined it when not needed (similar to amd/conf_tok.l)
   10102 
   10103 	* hlfsd/hlfsd.h (ROOTID, SLINKID, INVALID): reduced maximum size
   10104 	of these to unsigned short (because uid_t on some linux systems is
   10105 	small).
   10106 
   10107 	* released snapshot am-utils-6.0a16s10
   10108 
   10109 	* doc/am-utils.texi (opts Option): documented resvport mount
   10110 	option.
   10111 
   10112 Sun Apr 19 18:17:03 1998  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   10113 
   10114 	* doc/am-utils.texi (-D-Option): document behavior of -D info and
   10115 	especially what it does to hesiod (turn on RES_DEBUG).
   10116 
   10117 	* scripts/amd.conf.5: document info debugging option.
   10118 
   10119 	* libamu/xutil.c (dbg_opt): parse info debugging option.
   10120 
   10121 	* include/am_utils.h (D_INFO): define new trace option.
   10122 
   10123 	* Makefile.am (EXTRA_DIST): include list of official mirrors in
   10124 	distribution.
   10125 
   10126 	* libamu/wire.c (SIZE): in the simple case, just compute
   10127 	sizeof(struct ifreq).
   10128 
   10129 Sun Apr 19 16:30:35 1998  Erez Zadok  <ezk (a] lorien.cs.columbia.edu>
   10130 
   10131 	* amd/amd.c (daemon_mode): set a temporary secure umask(0022)
   10132 	before writing log file and restore it afterwards.  Patch from
   10133 	Donald Buczek <buczek (a] MPIMG-Berlin-Dahlem.MPG.DE>.
   10134 
   10135 	* amd/get_args.c (get_args):
   10136 
   10137 	* doc/am-utils.texi (-F Option), amd/amd.8: mention that amd.conf
   10138 	file specified by -F is always processed last.
   10139 
   10140 	* amd/amd.c (daemon_mode): do not fclose(stdout) so that the fd
   10141 	won't be reused.  Allows startup script to redirect stdout.  Patch
   10142 	from Donald Buczek <buczek (a] MPIMG-Berlin-Dahlem.MPG.DE>.
   10143 
   10144 	* libamu/xutil.c (switch_to_logfile): compare logfile name and
   10145 	syslog string with correct length.  Patch from Donald Buczek
   10146 	<buczek (a] MPIMG-Berlin-Dahlem.MPG.DE>.
   10147 
   10148 	* amd/restart.c (restart): correctly inherit existing NFS V.3
   10149 	mounts upon restart.  Patch from Donald Buczek
   10150 	<buczek (a] MPIMG-Berlin-Dahlem.MPG.DE>.
   10151 
   10152 Sat Apr 18 19:01:19 1998  Erez Zadok  <ezk (a] lorien.cs.columbia.edu>
   10153 
   10154 	* using libtool 1.2 and automake 1.3 (with my patches).
   10155 
   10156 	* aux/macros/opt_am_cflags.m4, */Makefile.in: rename AM_CFLAGS to
   10157 	AMU_CFLAGS to avoid conflicts with automake-1.3.
   10158 
   10159 Sun Apr  5 23:09:08 1998  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   10160 
   10161 	* converted to using libtool-1.2.
   10162 
   10163 Tue Mar 10 16:52:09 1998  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   10164 
   10165 	* fsinfo/fsi_analyze.c (fixup_required_mount_info): replaced silly
   10166 	for loop (ITER) which used to run only to initialize the variable
   10167 	dd once and then break; with a simple assignment.
   10168 
   10169 	* hlfsd/hlfsd.h: cleanup so it compiles with Solaris
   10170 	/opt/SUNWspro/bin/cc, and use gid_t not int.
   10171 
   10172 	* amd/mapc.c (mapc_sync): don't dereference pointer (so it
   10173 	compiles with Solaris /opt/SUNWspro/bin/cc)
   10174 
   10175 Sun Mar  8 15:54:22 1998  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   10176 
   10177 	* aux/config.{guess,sub}: used from gcc-2.8.1.
   10178 
   10179 Sat Mar  7 15:33:27 1998  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   10180 
   10181 	* released snapshot am-utils-6.0a16s9
   10182 
   10183 	* INSTALL, doc/am-utils.texi (Supported Platforms): updated names
   10184 	based on new output of new config.guess.
   10185 
   10186 	* aux/config.{sub,guess}: used newer versions from gcc-2.8.0.
   10187 
   10188 	* amd/amd.8,doc/am-utils.texi: document correct usage of default
   10189 	/etc/amd.conf file.
   10190 
   10191 	* fixmount/fixmount.c (inetresport,privsock): use some more
   10192 	portable code from amq/amq.c.
   10193 
   10194 	* amd/get_args.c (get_args): use default /etc/amd.conf file only
   10195 	if no arguments had been passed to amd.
   10196 
   10197 	* fixmount/fixmount.c (clnt_create_timeout): use tli/socket code
   10198 	ala amq/amq.c so that fixmount will work on both types of systems.
   10199 
   10200 	* amq/amq.c (main): do no close tcp socket before running udp try,
   10201 	because we're not sure if it was opened at all.
   10202 
   10203 	* mips-dec-ultrix* port merged in and cleaned up.
   10204 
   10205 	* aux/configure.in: up minor shared library revision number, since
   10206 	it has changed enough.
   10207 
   10208 	* hlfsd/hlfsd.c (main): don't check for overlay mount option here,
   10209 	as it is now done in compute_nfs_args().  Remove ultrix specific
   10210 	code also because it was moved to compute_nfs_args().
   10211 
   10212 	* conf/mount/mount_svr4.c: removed DEBUG_MOUNT_SVR4 code, now that
   10213 	we have more generic code in print_nfs_args().
   10214 
   10215 	* libamu/mount_fs.c (print_nfs_args): print maxlen of
   10216 	nfs_args.addr, and also syncaddr (which is mostly NULL).  Print
   10217 	struct knetconfig from nfs_args->knconf.
   10218 
   10219 	* aux/macros/mount_headers.m4 (define): do not check for ufs/cdfs
   10220 	headers here, but in try_compile_anyfs.m4.
   10221 
   10222 	* aux/macros/type_ufs_args.m4: move test for struct ufs_specific
   10223 	(for ultrix) here from its own macro.
   10224 
   10225 	* aux/macros/type_cdfs_args.m4: move test for struct iso_specific
   10226 	(for ultrix) here from its own macro.
   10227 
   10228 	* amd/ops_nfs.c (mount_nfs_fh): no need to run code again checking
   10229 	for overlay mount option.  Remove code which checks for overlay
   10230 	option, as it is now done in compute_nfs_args().
   10231 
   10232 	* libamu/mount_fs.c (compute_mount_flags): move here code which
   10233 	checks for overlay mount option which was in amd/amfs_toplvl.c:
   10234 	mount_amfs_toplvl().
   10235 
   10236 Wed Feb  7 15:35:51 1998  Rainer Orth  <ro (a] xayide.TechFak.Uni-Bielefeld.DE>
   10237 
   10238 	* The following are Rainer's ChangeLog entries for his ultrix
   10239 	port, added manually. -Erez.
   10240 
   10241 	* merged Ultrix port with am-utils 6.0 a16s5: amd/ops_afs.c
   10242 	(mount_toplvl) -> amd/amfs_toplvl.c (mount_amfs_toplvl)
   10243 
   10244 	* include/am_defs.h: include cdfs specific mount headers
   10245 	avoid duplication definition of gt_names[] in <sys/fs_types.h> (Ultrix)
   10246 
   10247 	* include/am_compat.h: define several mount options corresponding
   10248 	to mount flags: pgthresh, hard (nfs), defperm, nodefperm,
   10249 	noversion, rrip (cdfs), nocache, quota, sync (generic) removed
   10250 	duplicate MNTTAB_OPT_RO definition
   10251 
   10252 	* aux/macros/try_compile_anyfs.m4: include Ultrix specific
   10253 	ufs/cdfs mount headers
   10254 
   10255 	* aux/macros/mount_headers.m4: include several Ultrix/Digital UNIX
   10256 	specific mount headers
   10257 
   10258 	* aux/macros/check_{fs_mntent, mount_type}.m4: check for GT_*
   10259 	mount types in mount headers (Ultrix)
   10260 
   10261 	* aux/configure.in: Ultrix/Digital UNIX specific checks: new
   10262 	headers, mount structures and fields, filesystem and mount types,
   10263 	mount flags
   10264 
   10265 	* aux/acconfig.h: placeholders for new mount options: quota
   10266 	(generic), ro (nfs), defperm, nodefperm, noversion, rrip (cdfs)
   10267 	cdfs, nfs, ufs mount structure fields new ufs, cdfs mount
   10268 	structures
   10269 
   10270 	* amd/ops_ufs.c (mount_ufs): Ultrix stores generic mount flags in
   10271 	ufs_args.ufs_flags and has ufs specific pgthresh option
   10272 
   10273 	* amd/ops_cdfs.c (mount_cdfs): handle Ultrix/Digital UNIX specific
   10274 	CDFS mount flags and options
   10275 
   10276 	* amd/ops_afs.c (mount_toplvl), amd/ops_nfs.c (mount_nfs_fh),
   10277 	hlfsd/hlfsd.c (main): store generic mount flags in
   10278 	nfs_args.gfs_flags, handle separate NFS ro flag
   10279 
   10280 	* aux/macros/{check_mnt2_cdfs_opt, struct_iso_specific,
   10281 	struct_ufs_specific}.m4: new files; check for Ultrix specific
   10282 	mount structures
   10283 
   10284 	* conf/trap/trap_ultrix.h: arg 3 to mount(2) is rwflag
   10285 
   10286 	* aux/macros/type_auth_create_gidlist.m4 (ultrix*):
   10287 	AUTH_CREATE_GIDLIST_TYPE is int (not short == gid_t) from a
   10288 	comment in <rpc/auth.h>
   10289 
   10290 	* include/am_defs.h: #define KERNEL to avoid definition of
   10291 	gt_names[] conf/mtab/mtab_ultrix.c: #include <sys/fs_types> before
   10292 	<config.h> to force single definition here
   10293 
   10294 	* libamu/mount_fs.c (compute_nfs_args): Ultrix support for
   10295 	nfs_args.gfs_flags moved to callers store mount options in
   10296 	nap->optstr
   10297 
   10298 	* include/am_defs.h: fix _am_mntent mnt_{type, opts} field
   10299 	descriptions
   10300 
   10301 	* aux/macros/mount_headers.m4, aux/macros/try_compile_nfs.m4:
   10302 	include <rpc/rpc.h> before AMU_NFS_PROTOCOL_HEADER for svc_req
   10303 	definition in prototypes
   10304 
   10305 	* aux/macros/mount_headers.m4: include <sys/errno.h> before
   10306 	AMU_NFS_PROTOCOL_HEADER: <nfs/nfs.h> needs it for NFSERR_*
   10307 	definitions
   10308 
   10309 	* conf/nfs_prot/nfs_prot_ultrix.h: new file
   10310 
   10311 	* aux/macros/check_nfs_prot_headers.m4: use nfs_prot_ultrix.h
   10312 
   10313 	* aux/macros/mount_headers.m4, aux/macros/try_compile_nfs.m4,
   10314 	aux/macros/try_compile_rpc.m4, include/am_defs.h: avoid multiple
   10315 	inclusion of <rpc/xdr.h>
   10316 
   10317 Sat Mar  7 13:56:05 1998  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   10318 
   10319 	* aux/configure.in: save state of config.cache and confdefs.h
   10320 	(as dbgcf.h) at various points of the configure.
   10321 
   10322 	* aux/macros/save_state.m4: new macro to save state of configure,
   10323 	esp. useful in long ones.  Saves confdefs.h and write $ac_cv_*
   10324 	cache variables that are known so far.
   10325 
   10326 	* released snapshot am-utils-6.0a16s8
   10327 
   10328 1998-03-06  Erez Zadok  <ezk (a] mercer.psl.cs.columbia.edu>
   10329 
   10330 	* fsinfo/fsi_lex.l,amd/conf_tok.l: define ECHO after undefining
   10331 	it, but only for flex.
   10332 
   10333 Fri Mar  6 17:23:17 1998  Erez Zadok  <ezk (a] chestnut.mcl.cs.columbia.edu>
   10334 
   10335 	* hlfsd/homedir.c (plt_print): change pathname of hlfsd dump file
   10336 	to /usr/tmp/hlfsd.dump.XXXXXX, and use a safe method (if possible)
   10337 	to write the dump file.
   10338 
   10339 	* doc/am-utils.texi,amd/opts.c: rename all references to nomadic
   10340 	functions to boolean functions, which is what they really are.
   10341 
   10342 	* aux/configure.in: don't look for strcasecmp in libucb at all,
   10343 	but rather complete it from libamu/strcasecmp.c as needed.
   10344 
   10345 Fri Mar  6 03:29:20 1998  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   10346 
   10347 	* conf/nfs_prot/nfs_prot_osf4.h: avoid conflicts with Irix's EFS.
   10348 
   10349 	* libamu/wire.c (getwire): fix for 0.0.0.0 loopback on SunOS 3.X
   10350 	which defines IFF_ROUTE instead of IFF_LOOPBACK.  Patch from Tom
   10351 	Schmidt <tschmidt (a] micron.com>.
   10352 
   10353 	* released snapshot am-utils-6.0a16s7
   10354 
   10355 	* conf/nfs_prot/nfs_prot_hpux11.h: a first working port of amd to
   10356 	hppa1.0-hp-hpux11.00.tgz.
   10357 
   10358 Thu Mar  5 21:59:03 1998  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   10359 
   10360 	* converted all sources to use mntent field names, and map mnttab
   10361 	field names to mntent's.
   10362 
   10363 	* include/am_defs.h (mnt_special): map struct mnttab field names
   10364 	to struct mntent field names.
   10365 
   10366 	* aux/macros/check_mount_trap.m4: hpux11's mount trap style is
   10367 	identical to svr4/solaris2.
   10368 
   10369 	* aux/macros/check_mount_style.m4: hpux11's mount style is
   10370 	identical to svr4/solaris2.
   10371 
   10372 	* aux/macros/check_network_transport_type.m4: hpux11 is a TLI
   10373 	system!
   10374 
   10375 	* aux/macros/check_nfs_sa_dref.m4: hpux11's NFS host address
   10376 	dereferencing style is same as svr4.
   10377 
   10378 	* aux/macros/check_nfs_fh_dref.m4: hpux11's NFS file fh
   10379 	dereferencing style is same as svr4.
   10380 
   10381 	* conf/transp/transp_tli.c (create_nfs_service): if failed to
   10382 	getnetconfigent() of ticlts, then try udp (hpux11).
   10383 
   10384 	* conf/nfs_prot/nfs_prot_hpux11.h: added correct definitions for
   10385 	struct nfs_args, nfs_fh, and NFSMNT_* flags, taken from solaris
   10386 	2.5.1 (HP used them).
   10387 
   10388 	* amd/rpc_fwd.c (fwd_init): don't use O_NDELAY for t_open()
   10389 	because hpux11 doesn't like it. if t_open failed, print error
   10390 	based on t_errlist, not sys_errlist.
   10391 
   10392 Wed Mar  4 22:01:55 1998  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   10393 
   10394 	* doc/am-utils.texi: lots of documentation fixes from Rainer Orth
   10395 	<ro (a] TechFak.Uni-Bielefeld.DE>.
   10396 
   10397 Sat Feb 28 22:16:35 1998  Erez Zadok  <ezk (a] kosh.cs.columbia.edu>
   10398 
   10399 	* fsinfo/fsi_lex.l: undefine ECHO again, so it doesn't get used
   10400 	later.
   10401 
   10402 	* include/am_defs.h: defined the extern for ualarm() if it isn't
   10403 	found, regardless if the function isn't found in standard
   10404 	libraries, because otherwise libamu will include it.
   10405 
   10406 1998-02-28  Erez Zadok (per Ron Snyder)  <ezk (a] short.cvo.roguewave.com>
   10407 
   10408 	* initial port to hpux-11 completed.  Compiles cleanly, but
   10409 	probably does not work, because of missing NFS V.2/3 headers.
   10410 
   10411 	* amd/conf_tok.l: cast yytext to char* when passed to strlen and
   10412 	strdup, for hpux-11's ansi-cc compiler.
   10413 
   10414 	* include/am_utils.h: renamed all xfree() to XFREE() to avoid
   10415 	conflict with hpux-11's system headers.  Also move (voidp) cast
   10416 	from sources to inside the macro itself.
   10417 
   10418 Sat Feb 28 13:44:21 1998  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   10419 
   10420 	* released snapshot am-utils-6.0a16s6
   10421 
   10422 	* amd/info_nis.c (nis_isup): new function to test if NIS is up
   10423 	without hanging amd.  Used to ensure that amd does not clear the
   10424 	maps when the expiration period arrived, if the service is down.
   10425 	Otherwise it would be left with empty maps.  It is better to stay
   10426 	with possibly old information than none at all.
   10427 
   10428 	* amd/mapc.c (mapc_sync): check to see if map service is up.
   10429 
   10430 Tue Feb 24 02:19:42 1998  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   10431 
   10432 	* aux/macros/check_lib2.m4 (AC_CHECK_LIB2): fix macro so it
   10433 	includes auxiliary library only if needed.
   10434 
   10435 1998-02-22  Erez Zadok  <ezk (a] mercer.psl.cs.columbia.edu>
   10436 
   10437 	* amd/conf_tok.l: undefine ECHO again, so it doesn't get used
   10438 	later.
   10439 
   10440 Sun Feb 22 01:41:08 1998  Erez Zadok  <ezk (a] zen.cs.columbia.edu>
   10441 
   10442 	* conf/nfs_prot/nfs_prot_osf2.h: port to alpha-dec-osf2.1
   10443 	completed.
   10444 
   10445 	* conf/mtab/mtab_osf.c (mnt_dup): not all OSF have NFS3.
   10446 
   10447 Sat Feb 21 19:45:48 1998  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   10448 
   10449 	* doc/am-utils.texi (Network Host Filesystem): correct example for
   10450 	type:=host map.
   10451 
   10452 	* aux/macros/os_cflags.m4: only osf4 should compile with
   10453 	-D_SOCKADDR_LEN.
   10454 
   10455 	* aux/macros/check_nfs_prot_headers.m4: distinguish between OSF2
   10456 	and OSF4.
   10457 
   10458 	* BUGS: include a new file listing known bugs.
   10459 
   10460 Sat Feb 21 03:50:48 1998  Erez Zadok  <ezk (a] mercer.psl.cs.columbia.edu>
   10461 
   10462 	* conf/nfs_prot/nfs_prot_linux.h: turn DES off on all linux
   10463 	versions.
   10464 
   10465 	* aux/macros/type_recvfrom_fromlen.m4: linux alpha should use
   10466 	size_t for recvfrom fromlen arg.
   10467 
   10468 Sat Feb 21 03:33:59 1998  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   10469 
   10470 	* scripts/ctl-hlfsd.in: turn -D fork so primary process never
   10471 	hangs.
   10472 
   10473 Sat Feb 21 02:45:51 1998  Erez Zadok  <ezk (a] mercer.psl.cs.columbia.edu>
   10474 
   10475 	* include/am_defs.h: don't include <sys/stat.h> and
   10476 	<linux/stat.h>, just remaining definitions in <statbuf.h>
   10477 
   10478 Thu Jan 29 00:44:28 1998  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   10479 
   10480 	* released snapshot am-utils-6.0a16s5
   10481 
   10482 	* conf/mount/mount_irix6.c (mount_irix): pass {u,e,x}fs_args to
   10483 	mount(2).
   10484 
   10485 	* check for <sys/fs/xfs_clnt.h> and include it when needed.
   10486 
   10487 	* conf/mount/{mount_irix5.c,mount_irix6.c} (mount_irix): recognize
   10488 	efs and xfs separately from "ufs".
   10489 
   10490 	* amd/{ops_xfs.c,ops_efs.c}: new support for irix xfs/efs.
   10491 
   10492 	* aux/configure.in: look for irix efs and xfs file systems.
   10493 
   10494 	* scripts/amd.conf.5: new unmount_on_exit option documented.
   10495 
   10496 	* doc/am-utils.texi (unmount_on_exit): new option documented.
   10497 
   10498 	* amd/conf.c (gopt_unmount_on_exit): new function to handle new
   10499 	amd.conf option.
   10500 
   10501 	* amd/map.c (umount_exported): if global amd.conf flag
   10502 	unmount_on_exit is on, then try to unmount all mounted (or
   10503 	restartable) file systems.
   10504 
   10505 	* amd/amd.c: if print_pid option is on, then normally print it to
   10506 	stdout.  If also pid_file is specified, then print the process ID
   10507 	into that file.
   10508 
   10509 	* amd/get_args.c (get_args): print correct -l option depending if
   10510 	system supports syslog and/or syslog facilities.  Patch from
   10511 	Tom Schmidt <tschmidt (a] micron.com>.
   10512 
   10513 	* doc/am-utils.texi (opts Option): updates for documentation for
   10514 	new cdfs options defperm, nodefperm, noversion, rrip.
   10515 
   10516 	* amd/ops_cdfs.c (mount_cdfs): support cdfs options defperm,
   10517 	nodefperm, noversion, rrip.
   10518 
   10519 	* conf/nfs_prot/nfs_prot_osf.h: need to look at <cdfs/cdfsmount.h>
   10520 	on osf.
   10521 
   10522 	* aux/macros/{expand_cpp_hex.m4, expand_cpp_int.m4,
   10523 	expand_cpp_string.m4}: use #error to make failed compilations
   10524 	fail faster, rather than have the program fail during a run.
   10525 
   10526 	* include/am_compat.h: added a few new cdfs options: rrip,
   10527 	noversion, defperm, and nodefperm (used in OSF).
   10528 
   10529 Wed Jan 28 20:24:09 1998  Erez Zadok  <ezk (a] lorien.cs.columbia.edu>
   10530 
   10531 	* released snapshot am-utils-6.0a16s4
   10532 
   10533 	* doc/am-utils.texi (Global Parameters): update manual for new
   10534 	amd.conf global variable hesiod_base.
   10535 
   10536 	* scripts/amd.conf.5: update man page for new amd.conf global
   10537 	variable hesiod_base.
   10538 
   10539 	* amd/get_args.c (get_args): use /etc/amd.conf file if exists by
   10540 	default, else try command line options.  Patch from Randall
   10541 	S. Winchester <rsw (a] Glue.umd.edu>.
   10542 
   10543 Wed Jan 28 12:20:56 1998  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   10544 
   10545 	* amd/info_hesiod.c (hesiod_search), amd/conf.c
   10546 	(gopt_hesiod_base), amd/amd.h, amd/amd.c (init_global_options):
   10547 	included patch from Randall S. Winchester <rsw (a] Glue.umd.edu>, to
   10548 	support a hesiod base name in the amd.conf file.
   10549 
   10550 	* doc/am-utils.texi (pid_file Parameter): document new global
   10551 	amd.conf parameter.
   10552 
   10553 	* scripts/amd.conf.5: document new global option pid_file.
   10554 
   10555 	* amd/amd.c (daemon_mode): if cannot open pid_file, continue to
   10556 	run, but print error message.
   10557 
   10558 	* amd/conf.c (gopt_pid_file), amd/amd.h, amd/amd.c (daemon_mode,
   10559 	init_global_options): Included patch from Randall S. Winchester
   10560 	<rsw (a] Glue.umd.edu>, to support pid files in the amd.conf file.
   10561 
   10562 	* amd/get_args.c (get_args): correct usage info on amd -t.
   10563 
   10564 	* amd/*.c: massive file name and symbol name changes.  All amd
   10565 	file systems files and symbols are prefix with amfs_*.  Now using
   10566 	real name of file system: amfs_auto instead of afs, amfs_inherit
   10567 	instead of ifs, amfs_linkx instead of sfsx, etc.  This will enable
   10568 	clear distinction between amd file system and generic ones like
   10569 	nfs/ufs/pcfs/hsfs.  Also, now we can implement true afs (Andrew
   10570 	f/s) and DFS (Distributed f/s).
   10571 
   10572 	* amd/amfs_union.c: unionfs for amd is always defined, no need to
   10573 	#ifdef it.
   10574 
   10575 Mon Jan 26 16:51:38 1998  Erez Zadok  <ezk (a] chestnut.mcl.cs.columbia.edu>
   10576 
   10577 	* libamu/mount_fs.c (compute_nfs_args): set 'noconn' NFS option on
   10578 	or off, based on the particular quirks of the OS in question.
   10579 
   10580 	* aux/macros/check_nfs_socket_connection.m4: new macro to set the
   10581 	correct wait of handling un/connected NFS sockets.
   10582 
   10583 	* scripts/wait4amd.in: use rlogin instead of rsh.
   10584 
   10585 	* amd/am_ops.c (ops_showfstypes): when showing F/S types in amd
   10586 	-v, always show "nfs3" for NFS V.3.
   10587 
   10588 1998-01-25  Erez Zadok  <ezk (a] snoopy.cs.columbia.edu>
   10589 
   10590 	* lots of small fixes for solaris 2.6, since gcc 2.8.0 -Wall gets
   10591 	more picky than 2.7.2.3 did.
   10592 
   10593 1998-01-24  Erez Zadok  <ezk (a] snoopy.cs.columbia.edu>
   10594 
   10595 	* include/am_utils.h (dlog): amuDebug macros reduced to shorter
   10596 	forms.
   10597 
   10598 Fri Jan 23 18:38:30 1998  Erez Zadok  <ezk (a] goat.mcl.cs.columbia.edu>
   10599 
   10600 	* released snapshot am-utils-6.0a16s3
   10601 
   10602 	* include/am_defs.h: on Solaris 2.6, <sys/varargs.h> is included
   10603 	in <sys/fs/autofs.h> but since stdargs.h is used, and varargs.h
   10604 	must not, fake a definition for varargs.
   10605 
   10606 Fri Jan 16 10:16:40 1998  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   10607 
   10608 	* README: show how to configure in additional support such as
   10609 	hesiod using various --enable-* flags.
   10610 
   10611 Wed Jan 14 15:13:02 1998  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   10612 
   10613 	* aux/configure.in: look for strcasecmp(), and replace it if not
   10614 	available.
   10615 
   10616 	* amd/ops_nfsl.c (nfsl_match): host names should be compared using
   10617 	case insensitive.
   10618 
   10619 	* amd/opts.c: for each map variable, define if the comparison
   10620 	needs to be done case insensitive.
   10621 
   10622 	* include/am_utils.h (STRCEQ): a new macro to use strcasecmp().
   10623 	Patch from Thomas Richter <richter (a] chemie.fu-berlin.de>
   10624 
   10625 1998-01-14  Erez Zadok  <ezk (a] irt.cs.columbia.edu>
   10626 
   10627 	* aux/configure.in: look for "isofs" as a possible mount type for
   10628 	cdfs (RedHat Linux).
   10629 
   10630 Wed Jan 14 02:07:05 1998  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   10631 
   10632 	* conf/mount/mount_linux.c (parse_opts): don't look for cdfs mount
   10633 	type if not defined.
   10634 
   10635 	* conf/nfs_prot/nfs_prot_linux.h: don't define __FD_* macros if
   10636 	already defined.
   10637 
   10638 	* aux/configure.in: look for ext2fs before ufs, b/c some linux
   10639 	have both.
   10640 
   10641 Mon Jan 12 15:43:20 1998  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   10642 
   10643 	* Makefile.am (snapshot): allow me to install snapshots into the
   10644 	ftp directory.
   10645 
   10646 	* scripts/ctl-hlfsd.in: don't turn on -D mem by default.
   10647 
   10648 	* amd/get_args.c (get_args): minor bug in output of amd -H.
   10649 
   10650 Mon Jan 12 03:05:06 1998  Erez Zadok  <ezk (a] chestnut.mcl.cs.columbia.edu>
   10651 
   10652 	*******************************************************************
   10653 	*** Released am-utils-6.0a15					***
   10654 	*******************************************************************
   10655 
   10656 Sun Jan 11 15:06:34 1998  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   10657 
   10658 	* amd/conf.c (*_browsable_dirs): allow specifying
   10659 	browsable_dirs=full, which will print *all* entries (other than
   10660 	/default), including  those with '*' and '/' characters.
   10661 
   10662 	* amd/info_file.c (MAX_LINE_LEN): up maximum readdir chain length
   10663 	to 1500.
   10664 
   10665 	* doc/am-utils.texi: fixed reversed documentation for NFS mount
   10666 	options vers and proto.
   10667 
   10668 	* doc/Makefile.am (install-html): separate target just for
   10669 	installing html files.  Another new target "alldocs" is just for
   10670 	installing all files needed for the am-utils home page.
   10671 
   10672 	* scripts/amd.conf-sample: updated example for log_file.
   10673 
   10674 	* scripts/amd.conf.5: updated for new way to declare new syslog
   10675 	facility in the log_file option.
   10676 
   10677 	* amd/amd.8: updated for new way to declare new syslog facility in
   10678 	the -l option.
   10679 
   10680 	* libamu/xutil.c (get_syslog_facility): allow users to specify the
   10681 	syslog facility as an appended string to the log device.  Ex. amd
   10682 	-l syslog:local7 will use LOG_LOCAL7, while the older -l syslog
   10683 	will use the default LOG_DAEMON facility.
   10684 
   10685 	* amd/get_args.c (get_args): updated new syntax for amd -l
   10686 	syslog:facility.
   10687 
   10688 Thu Jan  8 04:05:10 1998  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   10689 
   10690 	* aux/macros/host_macros.m4: don't confuse sun3 (sparc) with sun3
   10691 	(intel).
   10692 
   10693 	* libamu/wire.c (print_wires): bug fix.  Nullify output buffer
   10694 	before appending to it, on systems with two or more network
   10695 	interfaces.
   10696 
   10697 	* conf/nfs_prot/nfs_prot_sunos5_3.h: add missing definition for
   10698 	the mntent for cachefs.
   10699 
   10700 	* include/am_defs.h: external definition for strstr() should use
   10701 	const for both arguments.
   10702 
   10703 	* aux/configure.in: add extern definitions for getwd() if missing.
   10704 
   10705 	* include/am_defs.h: define the extern for strdup() even if the
   10706 	function does not exist, for it will be filled in by
   10707 	libamu/strdup.c
   10708 
   10709 	* amq/pawd.c (cluster_server): don't use getccent() if the extern
   10710 	for it isn't there.  On hpux 10.20, the function is in libc, but
   10711 	<cluster.h> and struct cct_entry do not exist.
   10712 
   10713 	* aux/configure.in: check for an extern for getccent() b/c some
   10714 	hpux systems don't have it (hpux 10.20).
   10715 
   10716 Wed Jan  7 00:09:19 1998  Erez Zadok  <ezk (a] lorien.cs.columbia.edu>
   10717 
   10718 	* doc/am-utils.texi (Amq -T option): manual documentation updates
   10719 	for new amq options -T/-U.
   10720 
   10721 	* amq/amq.8: updated man page for new amq options -T/-U.
   10722 
   10723 	* amq/amq.c: two new switches to amq. -U will contact amd using
   10724 	UDP only.  -T will use TCP only.  Normally amq will try TCP and
   10725 	if that failed, will try UDP.
   10726 
   10727 	* doc/am-utils.texi (pawd): manual documentation for pawd.
   10728 
   10729 	* amq/pawd.1: new man page for pawd.
   10730 
   10731 Tue Jan  6 04:21:59 1998  Erez Zadok  <ezk (a] lorien.cs.columbia.edu>
   10732 
   10733 	* amq/pawd.c: a new program, Print Automounter Working Directory,
   10734 	to print the proper pathname of the cwd or any other pathname,
   10735 	adjusted for automounter paths, while avoiding mount points.
   10736 
   10737 	* aux/macros/localconfig.m4: trivial support for am-utils
   10738 	maintainers to adjust some of the configuration of am-utils after
   10739 	it has been auto-configured by putting whatever definitions you
   10740 	wish in a file called localconfig.h, located in the top build
   10741 	directory (the same one where config.h is created for you).
   10742 
   10743 	* doc/am-utils.texi (Caching Filesystem): updated documents for
   10744 	cachefs file system.
   10745 
   10746 	* amd/ops_cachefs.c: initial cachefs support, for solaris.
   10747 	type:=cachefs, requires cachedir:=/cache/dir/name to be defined
   10748 	and initialized with cfsadmin -c.  $rfs is backdir to be cached
   10749 	from, and $fs is the local mount point of the cachefs.
   10750 
   10751 	* conf/mount/mount_svr4.c (mount_svr4): support mounting of
   10752 	cachefs file systems.
   10753 
   10754 	* amd/ops_cdfs.c: cdfs should be named 'cdfs', not whatever the
   10755 	mnttab type is.
   10756 
   10757 Mon Jan  5 23:22:49 1998  Erez Zadok  <ezk (a] lorien.cs.columbia.edu>
   10758 
   10759 	* amd/opts.c: added support for new variable $cachedir.
   10760 
   10761 	* include/am_utils.h: added opt_cachedir field to struct am_opts.
   10762 
   10763 Sat Jan  3 01:43:57 1998  Erez Zadok  <ezk (a] lorien.cs.columbia.edu>
   10764 
   10765 	* amd/ops_nfsl.c (nfsl_ffserver, nfsl_match): also check if the
   10766 	local hostname does not match $rhost, and if so, also assume
   10767 	type:=nfs.
   10768 
   10769 Fri Jan  2 01:00:40 1998  Erez Zadok  <ezk (a] lorien.cs.columbia.edu>
   10770 
   10771 	* updated all source files to add 1998 as a copyright year.
   10772 
   10773 	* amd/ops_nfsl.c: new amd meta file system "type:=nfsl".  Behaves
   10774 	like type:=linkx if the pathname denoted by $fs exists, and like
   10775 	type:=nfs if it does not.  A convenient shortcut for the most
   10776 	popular amd map entry.
   10777 
   10778 	* amd/amd.c (main): amd should chdir to / before starting, to
   10779 	avoid hanging on other NFS server if started elsewhere.
   10780 
   10781 	* amd/ops_TEMPLATE.c: added an empty template file for developers
   10782 	who wish to write new amd pseudo file systems.
   10783 
   10784 Thu Jan  1 00:27:28 1998  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   10785 
   10786 	* hlfsd/homedir.c (plt_init): make function exported, to save on
   10787 	the unnecessary init_homedir() function which was removed.
   10788 	(table_add): don't use xmalloc() when you can use strdup()
   10789 	instead.
   10790 
   10791 Thu Jan  1 00:15:58 1998  Erez Zadok  <ezk (a] chestnut.mcl.cs.columbia.edu>
   10792 
   10793 	* hlfsd/homedir.c (hlfsd_endpwent): Don't actually run this
   10794 	because we will be making more passwd calls afterwards.  On
   10795 	Solaris 2.5.1, making getpwent() calls after calling endpwent()
   10796 	results in a memory leak! (and no, even Purify didn't detect
   10797 	it...)
   10798 
   10799 Tue Dec 23 18:23:47 1997  Erez Zadok  <ezk (a] chestnut.mcl.cs.columbia.edu>
   10800 
   10801 	* hlfsd/hlfsd.c (main): Bug fix.  Don't try to free() an
   10802 	automatically allocated address.
   10803 
   10804 	* amd/ops_afs.c (mount_toplvl): Bug fix.  Don't try to free() an
   10805 	automatically allocated address.
   10806 
   10807 	* ALL SOURCES: change every direct call to free() to xfree(), so
   10808 	it can be mapped to the right debugging function as needed.
   10809 
   10810 	* include/am_utils.h: new free() policy.  If debugging memory,
   10811 	call dxfree(), which will print the file name and line number
   10812 	where the free occurred and the pointer address.  if only regular
   10813 	debugging, then free() and reset  the pointer to NULL so it cannot
   10814 	be used afterwards inadvertently.  If not DEBUG at all, then just
   10815 	run free().  Three different #define macros set the right mapping.
   10816 
   10817 	* libamu/xutil.c (dxfree): renamed function to dxfree(), so it can
   10818 	be called only when debugging the memory.
   10819 
   10820 Tue Dec 23 04:24:28 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   10821 
   10822 	* wire-test/wire-test.c (main): use xmalloc() not malloc().
   10823 
   10824 	* conf/transp/transp_tli.c (get_knetconfig): use xzalloc() not
   10825 	calloc().
   10826 
   10827 	* conf/mtab/mtab_mach3.c (convert): use xzalloc() not calloc().
   10828 
   10829 	* conf/mount/mount_linux.c (parse_opts): use xmalloc() not
   10830 	malloc().
   10831 
   10832 	* amd/info_ldap.c: use xmalloc() not malloc().
   10833 
   10834 	* libamu/xutil.c (xzalloc): new function to allocate memory and
   10835 	zero its bytes.
   10836 
   10837 	* amq/amq.c: amq does not need its own definition of xfree().
   10838 
   10839 	* aux/macros/opt_debug.m4: if used --enable-debug=mem, then also
   10840 	look for function malloc_verify() in libmapmalloc.a, and function
   10841 	mallinfo() in libmalloc.
   10842 
   10843 	* libamu/xutil.c (checkup_mem): do not use mallinfo field
   10844 	uordbytes, because it does not always exist.  Rather, compute it
   10845 	from other fields..
   10846 
   10847 	* include/am_utils.h: add external definition to xfree() function
   10848 	used when debugging memory references.
   10849 
   10850 Mon Dec 22 03:01:30 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   10851 
   10852 	* amd/ops_afs.c (afs_readdir_browsable): reduce the number of
   10853 	bytes heuristically computed to be returned to the kernel.
   10854 	Otherwise browsable_dirs fails on OpenBSD 2.2.
   10855 
   10856 	* amd/mntfs.c (uninit_mntfs): bug fix.  Moved freeing of
   10857 	mf_private field to AFTER it gets used.
   10858 
   10859 Sat Dec 20 00:51:21 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   10860 
   10861 	* amd/ops_host.c (host_umounted): don't use clnt_spcreateerror()
   10862 	on systems that don't support it.
   10863 
   10864 	* include/am_defs.h: add missing extern definition for free().
   10865 
   10866 	* aux/configure.in: check for external definition for free().
   10867 
   10868 	* libamu/Makefile.am: add to comment a mention of strstr as an
   10869 	optional function.
   10870 
   10871 	* libamu/xutil.c (switch_to_logfile): use openlog() options only
   10872 	if they exist.
   10873 
   10874 	* conf/transp/transp_sockets.c (get_nfs_version): don't use
   10875 	clnt_spcreateerror if it does not exist.
   10876 
   10877 	* aux/configure.in: check for missing functions clnt_create and
   10878 	clnt_spcreateerror.  Check for missing strstr, and complete
   10879 	its code.  Check for missing external definition for strstr.
   10880 
   10881 	* aux/macros/host_macros.m4: normalize sun3* names.
   10882 
   10883 	* Makefile.am: updates for new sunos3 files distributed.
   10884 
   10885 	* conf/nfs_prot/nfs_prot_sunos3.h: new file.
   10886 
   10887 	* conf/fh_dref/fh_dref_sunos3.h: new file.
   10888 
   10889 	* aux/macros/check_nfs_prot_headers.m4: added sunos3 case.
   10890 
   10891 	* aux/macros/check_nfs_fh_dref.m4: added sunos3 case.
   10892 
   10893 	* doc/am-utils.texi (wire Selector Variable): updated manual for
   10894 	adjusted variables wire, network, and netnumber, all using the
   10895 	in_network() function.
   10896 
   10897 Fri Dec 19 04:37:36 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   10898 
   10899 	* amd/opts.c: allow options to be processed by executing arbitrary
   10900 	functions.  Converted wire, network, and netnumber all to use the
   10901 	nomadic function in_network.  So from now on they perform a match
   10902 	against all networks, not just primary.
   10903 
   10904 	* initial port to alpha-unknown-linux-gnu, probably works, but
   10905 	untested yet.
   10906 
   10907 	* conf/nfs_prot/nfs_prot_linux.h: add special definitions for
   10908 	__FD_* macros which for som strange reason do not get included
   10909 	from <selectbits.h> on redhat alpha linux.  Also turn off usage of
   10910 	<rpc/des_auth.h> because it is incomplete on the same systems.
   10911 
   10912 	* hlfsd/homedir.c (table_add): cast uid field to int, for
   10913 	comparison.
   10914 
   10915 	* include/am_defs.h: more coflicts with redhat alpha linux
   10916 	"resolved".
   10917 
   10918 	* aux/macros/{mount_headers,try_compile_anyfs,try_compile_nfs}.m4:
   10919 	There's a conflict of definitions on redhat alpha linux between
   10920 	<netinet/in.h> and <linux/fs.h> which must be avoided.
   10921 
   10922 	* aux/configure.in: check for <socketbits.h>, which is in use on
   10923 	redhat alpha linux.
   10924 
   10925 	* doc/am-utils.texi (Selectors): added documentation to describe
   10926 	the new "!" (negated) nomadic functions.
   10927 
   10928 	* amd/opts.c (f_in_network): print debugging info that is correct,
   10929 	rather than saying that any ARG is on a local network.
   10930 	(eval_opts): added support for negating nomadic functions, by
   10931 	prepending "!" to their name.  Example, !exists(/foo/bar).
   10932 
   10933 Thu Dec 18 20:57:19 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   10934 
   10935 	* include/am_compat.h: ensure that all NFS3 systems have the mount
   10936 	table entries (and amd opts switches) "proto" and "vers".
   10937 
   10938 	* hlfsd/homedir.c (table_add): added some debugging info to try
   10939 	and track down a serious memory leak in hlfsd.
   10940 
   10941 1997-12-18  Erez Zadok  <ezk (a] t-rex.mcl.cs.columbia.edu>
   10942 
   10943 	* libamu/mount_fs.c (compute_nfs_args): OpenBSD 2.2 requires that
   10944 	you do NOT set the noconn option, and use connected sockets
   10945 	always.  So I'm now forced not to set it at all, and have the user
   10946 	specify it as "conn" or "noconn" in their /default entry.  Argh...
   10947 	Finally, it looks as if OpenBSD 2.2's NFS 3 implementation may be
   10948 	buggy (TCP hangs with "short receive" kernel errors).  I'd better
   10949 	wait until they get it working in their version of the automounter
   10950 	first.  So I'm putting the "noconn" option back.
   10951 
   10952 Thu Dec 18 02:39:39 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   10953 
   10954 	* libamu/mount_fs.c (compute_nfs_args): use maxgrps option and set
   10955 	nfs_args field maxgrouplist accordingly.
   10956 
   10957 	* include/am_compat.h (MNTTAB_OPT_MAXGROUPS): complete definition
   10958 	for mount table entry for maxgroups based on NFS mount option
   10959 	maxgrp.
   10960 
   10961 	* aux/configure.in: put back testing for NFS mount option
   10962 	"maxgrps".  Added test for mount table entry "maxgroups".
   10963 
   10964 	* libamu/mount_fs.c (compute_nfs_args): perform more careful tests
   10965 	on nfs_proto, because it could be NULL.
   10966 
   10967 	* doc/am-utils.texi (Selectors): added example of in_network()
   10968 	selector.
   10969 
   10970 	* aux/macros/check_hide_mount_type.m4: all hpux versions,
   10971 	including 9.x, should use "ignore" as the mount type to hide from
   10972 	amd.
   10973 
   10974 Wed Dec 17 13:09:21 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   10975 
   10976 	* include/am_utils.h (NSTREQ): use new macro instead of strncmp()
   10977 	every where in the sources.
   10978 
   10979 Wed Dec 17 01:15:01 1997  Erez Zadok  <ezk (a] lorien.cs.columbia.edu>
   10980 
   10981 	* libamu/mount_fs.c (print_nfs_args): if -D trace is on, will
   10982 	print as much info that is given in struct nfs_args as possible.
   10983 	useful for detecting internal flags and options, as well as the
   10984 	file handle used.
   10985 
   10986 	* scripts/ctl-amd.in: look for amd.conf file in ${prefix}/etc
   10987 	after /etc and before /etc/local.
   10988 
   10989 Tue Dec 16 18:51:36 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   10990 
   10991 	* aux/configure.in, libamu/Makefile.am: added support for linking
   10992 	with specific versions of libamu.  Upped shared library version of
   10993 	libamu to 1 (libamu.so.1.0.0)
   10994 
   10995 	* include/am_defs.h: added external definition for mkstemp() as
   10996 	needed.
   10997 
   10998 	* minor new port to i386-unknown-netbsd1.3 (BETA version of
   10999 	netbsd).
   11000 
   11001 	* aux/config.guess: don't leave a trailing '.' on the system name
   11002 	for NetBSD-1.3_BETA and similarly for OpenBSD.
   11003 
   11004 	* conf/nfs_prot/nfs_prot_netbsd1_3.h: new header for the slight
   11005 	differences in ypall calling conventions.
   11006 
   11007 	* mk-amd-map/mk-amd-map.c (main): use mkstemp() whenever possible
   11008 	in preference over mktemp(), b/c it is more secure.
   11009 
   11010 	* aux/configure.in: check for mkstemp(), a more secure version of
   11011 	mktemp().
   11012 
   11013 Mon Dec 15 02:32:14 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   11014 
   11015 	* amd/ops_nfs.c (mount_nfs_fh): Systems that include the mount
   11016 	table "vers" option generally do not set the mnttab entry to
   11017 	"nfs3", but to "nfs" and then they set "vers=3".  Setting it to
   11018 	"nfs3" works, but it may break some things like "df -t nfs" and
   11019 	the "quota" program (esp. on Solaris and Irix).  So on those
   11020 	systems, set it to "nfs".
   11021 
   11022 Sat Dec 13 01:36:27 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   11023 
   11024 	* doc/am-utils.texi (Distrib): updates for new ports, location of
   11025 	am-utils' home page, and URL cross references (now supported by my
   11026 	version of texi2html).
   11027 
   11028 	* aux/macros/check_mtype_type.m4: also use string type for file
   11029 	system mount types under nextstep for mount(2).
   11030 
   11031 	* aux/macros/check_mtype_printf_type.m4}: nextstep can handle both
   11032 	integer and string types for file system mount types in mount(2),
   11033 	but it is better to use string types.
   11034 
   11035 	* conf/nfs_prot/nfs_prot_nextstep.h: set emum nfsstat's NFS_OK to
   11036 	0, not 1!  Otherwise, all NFS calls (esp. mount) return errno 1
   11037 	(EPERM) instead of 0 (OK).  Fixes m68k-next-nextstep3 which now
   11038 	works.
   11039 
   11040 	* conf/nfs_prot/nfs_prot_bsdi2.h: set emum nfsstat's NFS_OK to 0,
   11041 	not 1!  Otherwise, all NFS calls (esp. mount) return errno 1
   11042 	(EPERM) instead of 0 (OK).
   11043 
   11044 	* libamu/xdr_func.c (xdr_*): add debugging calls that are optioned
   11045 	by -D trace (protocol trace).
   11046 
   11047 1997-12-11  Erez Zadok  <ezk (a] bach.cs.columbia.edu>
   11048 
   11049 	* A.m68k-next-nextstep3/amu_nfs_prot.h: define missing S_ISDIR
   11050 	macro based on existence on others, and include <sys/stat.h>.
   11051 
   11052 Thu Dec 11 14:14:38 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   11053 
   11054 	* aux/macros/try_compile_nfs.m4 (AC_TRY_COMPILE): turn off
   11055 	inclusion of <nfs/nfs_mount.h> which only affects nextstep3, on
   11056 	which this header is broken (it tries to include non-existing
   11057 	headers).
   11058 
   11059 Wed Dec 10 16:09:07 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   11060 
   11061 	* libamu/mount_fs.c (mnt_flags): support either nfs or generic
   11062 	mount option for grpid.
   11063 
   11064 	* aux/configure.in: turn back on NFS mount option grpid.
   11065 
   11066 Sat Dec  6 04:36:05 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   11067 
   11068 	* doc/Makefile.am (install-ps): added target to install postscript
   11069 	file in the am-utils' home page, as well as a few other useful
   11070 	files for the new am-utils Web page.
   11071 
   11072 Mon Nov 17 05:22:56 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   11073 
   11074 	*******************************************************************
   11075 	*** Released am-utils-6.0a14					***
   11076 	*******************************************************************
   11077 
   11078 Sun Nov 16 21:56:16 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   11079 
   11080 	* doc/am-utils.texi (Supported Platforms): updated table of new
   11081 	ports.
   11082 
   11083 Sat Nov 15 06:36:27 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   11084 
   11085 	* libamu/mount_fs.c (compute_automounter_nfs_args): pass mnttab
   11086 	options so that they can be printed in logs as needed.
   11087 
   11088 	* doc/am-utils.texi (osver Parameter): updated for the correct
   11089 	usage of the -o/-O options.
   11090 
   11091 	* scripts/amd.conf.5: corrected info for -o/-O options.
   11092 
   11093 	* amd/amd.8: updated man page for new -O op_sys_name option, and
   11094 	corrected the usage of the -o op_sys_ver option
   11095 
   11096 	* amd/get_args.c (get_args): added new amd option -O to override
   11097 	OS name.
   11098 	(get_args): updated usage string.  Removed old -m option.  Added
   11099 	-o and -O options.
   11100 
   11101 	* conf/nfs_prot/nfs_prot_irix5.h: add definition to FHSIZE in case
   11102 	it is not there.  Reportedly, irix 5.2 does not define it.
   11103 
   11104 	* scripts/lostaltmail.in: removed references to unused $hack
   11105 	variable.
   11106 
   11107 	* aux/macros/check_nfs_prot_headers.m4: Patch from Chris Metcalf
   11108 	<metcalf (a] cag.lcs.mit.edu> to correctly set the nfs_prot headers
   11109 	for solaris2.5.
   11110 
   11111 	* doc/am-utils.texi (Distrib): typo in the subscription
   11112 	instructions to amd-dev.  Patch from Stefan Vogel
   11113 	<vogel (a] physik-rzu.unizh.ch>.
   11114 
   11115 1997-11-15  Erez Zadok  <ezk (a] amtrak.cs.columbia.edu>
   11116 
   11117 	* NFS3 works on powerpc-ibm-aix4.2.1.0.
   11118 
   11119 	* libamu/mount_fs.c (compute_nfs_args): set fh3 variable to
   11120 	static.  Some compilers (gcc from egcs  on aix 4.2.1) corrupt the
   11121 	stack of an automatic variable when pointer to it is passed around
   11122 	several times.
   11123 
   11124 Fri Nov 14 20:09:28 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   11125 
   11126 	* libamu/xutil.c (real_plog): syslog like behavior for normal
   11127 	logging.  Will not print repeated strings, only a count "last
   11128 	message repeated N times", but will always print something if
   11129 	message is repeated more than 100 times.
   11130 
   11131 	* scripts/lostaltmail.in: look for lostaltmail.conf files also in
   11132 	/etc/global, /etc/os, and /etc/local (in that order).
   11133 
   11134 Mon Nov 10 03:03:17 1997  Erez Zadok  <ezk (a] lorien.cs.columbia.edu>
   11135 
   11136 	* conf/mount/mount_aix.c (mount_aix3): add support for NFS V.3
   11137 	mounts.
   11138 
   11139 	* aux/macros/struct_nfs_args.m4 (AC_TRY_COMPILE_NFS): test for
   11140 	aix42_nfs_args, specially set in conf/nfs_prot/nfs_prot_aix4_2.h
   11141 
   11142 	* conf/sa_dref/sa_dref_*.h: from now on, the "dst" argument to the
   11143 	NFS_SA_DREF macro is a pointer to the structure that used to be
   11144 	passed to it before.  So now I have to dereference the pointer
   11145 	before accessing its values.
   11146 
   11147 	* hlfsd/hlfsd.c (main): use the new and cleaner
   11148 	compute_nfs_args() and compute_automounter_nfs_args() functions.
   11149 
   11150 	* amd/ops_nfs.c (mount_nfs_fh): use the new and cleaner
   11151 	compute_nfs_args() and compute_automounter_nfs_args() functions.
   11152 
   11153 	* amd/ops_afs.c (mount_toplvl): MAJOR CODE REVISION.  Use the new
   11154 	and cleaner compute_nfs_args() and compute_automounter_nfs_args()
   11155 	functions.
   11156 
   11157 	* libamu/mount_fs.c (compute_nfs_args): major code cleanup that
   11158 	relates for struct nfs_args.  A new function sets the numerous
   11159 	possible flags and fields of nfs_args_t in an orderly fashion.
   11160 	Code cleaned up, organized, and moved from amd/hlfsd into
   11161 	libamu.  This saves on overall size of code.
   11162 	(compute_automounter_nfs_args): A variant of compute_nfs_args()
   11163 	which sets special options/flags that need to be used when NFS
   11164 	mounting an automounter's mount point.  Used by hlfsd and amd.
   11165 
   11166 	* amq/amq.c (get_secure_amd_client): don't print any more
   11167 	"get_secure_amd_client: using TCP, port 12345".  It's more
   11168 	annoying than useful a message, even when assumed to be compiled
   11169 	under DEBUG only.
   11170 
   11171 Thu Oct 30 14:33:38 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   11172 
   11173 	* aux/macros/check_mnttab_type.m4: MAJOR BUG fixed for non-nfs
   11174 	mount table entries.  The code used to define the /etc/mnttab name
   11175 	for file systems based on physical media (disk, cdrom, floppy) to
   11176 	the generic name, rather than the OS specific name.  For example
   11177 	autoconf searches for all these types of mount table entries for a
   11178 	floppy based file system: vfat pcfs pc msdos msdosfs fat.  But if
   11179 	it found any, it hard-coded the mnttab name to "pcfs" rather than
   11180 	the actual name found!  Same for ufs, cdfs, pcfs, tmpfs, lofs,
   11181 	nullfs, unionfs, and umapfs.
   11182 
   11183 	* aux/configure.in: also test for xfs (for newer Irix) when
   11184 	looking for mount type names, numbers, etc of a disk-based ufs.
   11185 
   11186 Sun Oct 26 19:32:57 1997  Erez Zadok  <ezk (a] defiant.soscorp.com>
   11187 
   11188 	* amq/amq.c (main): use pmap_ping() to test if remote host is up.
   11189 	This works better on bsdi2 and bsdi3, because their portmapper
   11190 	does not appear to like forwarding operations (it is generaly
   11191 	insecure).
   11192 
   11193 Sat Oct 25 04:55:56 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   11194 
   11195 	*******************************************************************
   11196 	*** Released am-utils-6.0a13					***
   11197 	*******************************************************************
   11198 
   11199 Fri Oct 24 05:04:37 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   11200 
   11201 	* conf/nfs_prot/nfs_prot_ncr2.h: added missing definition for
   11202 	struct datum typedef.
   11203 
   11204 	* conf/nfs_prot/nfs_prot_netbsd.h: corrected typedef for
   11205 	ypall_callback_fxn_t for netbsd.
   11206 
   11207 	* aux/macros/type_auth_create_gidlist.m4: hpux10.10 uses int for
   11208 	the 5th arg to authunix_create(), while before and after they used
   11209 	gid_t.
   11210 
   11211 	* conf/transp/transp_tli.c (amu_clnt_create_best_vers): don't use
   11212 	clnt_create_timed() on older Solaris 2.3 systems that did not have
   11213 	it.
   11214 
   11215 	* conf/nfs_prot/nfs_prot_bsdi2.h: <msdosfs/msdosfsmount.h> is for
   11216 	kernel only on bsdi2, so do not include it.
   11217 
   11218 Fri Oct 24 00:29:42 1997  Erez Zadok  <ezk (a] lorien.cs.columbia.edu>
   11219 
   11220 	* hlfsd/stubs.c (nfsproc_readlink_2_svc): avoid logging repeated
   11221 	messages about resolution of mailboxes based on uid/gid.
   11222 
   11223 	* scripts/ctl-hlfsd.in: check for alternate password file in
   11224 	${prefix}/etc/passwd and use it in hlfsd's startup.
   11225 
   11226 Thu Oct 23 22:48:50 1997  Erez Zadok  <ezk (a] lorien.cs.columbia.edu>
   11227 
   11228 	* hlfsd/homedir.c (hlfsd_getpwent): added support for -P
   11229 	passwdfile option.  If hlfsd is started with -P passwdfile, then
   11230 	the passwdfile is read and parsed just as a standard unix
   11231 	passwd(4) file.  Only the username, uid, and homedir fields are
   11232 	read and checked.  All the rest are ignored.  No NIS/netgroup
   11233 	support!
   11234 
   11235 	* hlfsd/hlfsd.c (main): check if hlfsd is run as root after
   11236 	parsing command line options, so that usage() can be printed when
   11237 	-h is invoked.
   11238 
   11239 Wed Oct 22 00:16:39 1997  Erez Zadok  <ezk (a] lorien.cs.columbia.edu>
   11240 
   11241 	* amd/nfs_start.c (mount_automounter): if autofs service listener
   11242 	fails to initialize it is OK if using a test amd.
   11243 
   11244 	* amd/opts.c (f_in_network): new nomadic function in_network(arg),
   11245 	which returns TRUE if 'arg' is any one of this host's networks.
   11246 
   11247 	* libamu/wire.c (getwire): rewritten parts of function, to store
   11248 	all networks names and numbers in the order of the interface (not
   11249 	in reverse).
   11250 
   11251 Mon Oct 20 01:59:25 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   11252 
   11253 	* aux/configure.in: don't add ops_ufs.o on AIX twice.  My code
   11254 	would have worked had it not been due to AIX's buggy /bin/sh.
   11255 
   11256 	* doc/Makefile.am (EXTRA_DIST): include am-utils.dvi and
   11257 	am-utils.ps in the distribution sources.
   11258 	(html): generate html documentation for
   11259 	http://www.am-utils.org
   11260 
   11261 Sun Oct 19 12:35:49 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   11262 
   11263 	* conf/nfs_prot/nfs_prot_netbsd.h: override the definition of
   11264 	ypall_callback_fxn_t.  The NetBSD team compiles all sources with
   11265 	gcc -Wall -Wmissing-prototypes -Wstrict-prototypes.
   11266 
   11267 	* amd/info_nis.c: allow for override of ypall_callback_fxn_t
   11268 	function typedef.
   11269 
   11270 	* libamu/xutil.c (amu_release_controlling_tty): new function to
   11271 	release the controlling tty in a clean and sane manner.  No longer
   11272 	using setpgid() b/c it may not work.  Uses setsid(),
   11273 	and ioctl() (in order).  This new function is used in amd/amd.c
   11274 	and hlfsd/hlfsd.c.  Also avoid setpgrp(), because it works on some
   11275 	systems, but on others it is the same as setpgid().
   11276 
   11277 Sat Oct 18 23:42:40 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   11278 
   11279 	* aux/acconfig.h: check for nfs mount option 'fsname'.  Code for
   11280 	it was in amd/ops_afs.c, amd/ops_nfs.c, and hlfsd/hlfsd.c, but
   11281 	never used, because the configure test for fsname flag wasn't
   11282 	used.  This fixed a bug in HPUX 10, where syncer and manual mounts
   11283 	left blank lines in /etc/mnttab.
   11284 
   11285 	* aux/configure.in: check for nfs mount option 'fsname'.
   11286 
   11287 Fri Oct 17 13:30:27 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   11288 
   11289 	* amd/ops_afs.c (mount_toplvl): turn on 'ignore' option in nfs
   11290 	mount flags of toplvl mounts.  Important esp. for HPUX 10.  Now
   11291 	hpux-10 will mount amd's mounts points as 'ignore' (by df).
   11292 
   11293 	* aux/configure.in: check for NFS mount option 'ignore', useful in
   11294 	HPUX 10.
   11295 
   11296 Thu Oct 16 03:28:33 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   11297 
   11298 	* aux/macros/check_hide_mount_type.m4: hpux 10 should use "ignore"
   11299 	mount type and not NFS, for the amd mount points.
   11300 
   11301 	* conf/transp/transp_tli.c (amu_clnt_create_best_vers): don't log
   11302 	an RPC timeout as an error, but just an info message.  From
   11303 	Andreas Stolcke <stolcke (a] speech.sri.com>
   11304 
   11305 	* If the NFS server is down or does not support the portmapper
   11306 	call (such as certain Novell NFS servers) we mark it as version 2
   11307 	and we let the nfs code deal with the case that is down.  If when
   11308 	the server comes back up, it can support NFS V.3 and/or TCP, it
   11309 	will use those.  From christos (a] deshaw.com (Christos Zoulas).
   11310 
   11311 	* hlfsd/homedir.c (plt_print): various compile time cleanups to
   11312 	printfs that take a long, but pass an int to print.  From
   11313 	christos (a] deshaw.com (Christos Zoulas).
   11314 
   11315 	* aux/macros/func_bad_yp_all.m4 (ac_cv_func_yp_all_clean,): new
   11316 	macro to determine if the OS has a bad yp_all(), based on the host
   11317 	OS name.  So far only irix (all versions) have a bad yp_all, so
   11318 	they will use am_yp_all() instead (which is slower as it
   11319 	enumerates manually all of the map's entries).
   11320 
   11321 Thu Oct 16 03:14:37 1997  Erez Zadok  <ezk (a] subzero.cs.columbia.edu>
   11322 
   11323 	* amd/info_nis.c (am_yp_all): code for a replacement yp_all that
   11324 	avoids using a file-descriptor leaking yp_all() on some systems
   11325 	like irix.
   11326 
   11327 Wed Oct 15 21:52:35 1997  Erez Zadok  <ezk>
   11328 
   11329 	* fsinfo/fsinfo.h: avoid redefining yywrap incorrectly on DU-4.x
   11330 	systems using /usr/bin/flex.
   11331 
   11332 	* amd/conf_tok.l (yywrap): avoid redefining yywrap for systems
   11333 	that have a modified GNU flex which does define yywrap (DU-4.x).
   11334 
   11335 Fri Sep 26 14:25:29 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   11336 
   11337 	* conf/checkmount/checkmount_bsd44.c: include prototype.
   11338 
   11339 Fri Sep 26 01:26:24 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   11340 
   11341 	*******************************************************************
   11342 	*** Released am-utils-6.0a12					***
   11343 	*******************************************************************
   11344 
   11345 Fri Sep 26 00:13:48 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   11346 
   11347 	* conf/nfs_prot/nfs_prot_irix6.h: completely turn off all autofs
   11348 	code in irix6 until it can be tested correctly
   11349 
   11350 	* conf/transp/transp_tli.c (amu_clnt_create_best_vers): time out
   11351 	on clnt_create for 3 seconds, rather than wait for the much longer
   11352 	default.
   11353 
   11354 	* conf/nfs_prot/nfs_prot_aix4_2.h: port to powerpc-ibm-aix4.2.1.0.
   11355 	Includes NFS3, untested.
   11356 
   11357 Thu Sep 25 11:03:11 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   11358 
   11359 	* amd/ops_pcfs.c (mount_pcfs): fill in uid/gid fields of
   11360 	pcfs_args_t if they exist.
   11361 
   11362 	* amd/ops_cdfs.c (mount_cdfs): fill in ssector field of
   11363 	cdfs_args_t if it exists.
   11364 
   11365 	* new minor ports hppa1.1-hp-hpux10.10, hppa1.1-hp-hpux9.05,
   11366 	hppa1.1-hp-hpux9.07, m68k-hp-hpux9.00, and sparc-sun-sunos4.1.4.
   11367 
   11368 Wed Sep 24 00:48:05 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   11369 
   11370 	* doc/am-utils.texi (wire-test): updated documentation for the new
   11371 	option.
   11372 
   11373 	* wire-test/wire-test.8: updated man page for new option.
   11374 
   11375 	* wire-test/wire-test.c (main): added a test for various
   11376 	combinations of NFS proto/vers to a remote/local host.
   11377 
   11378 	* aux/macros/try_compile_anyfs.m4 (AC_TRY_COMPILE): include
   11379 	<isofs/cd9660/cd9660_mount.h> and <msdosfs/msdosfsmount.h> so that
   11380 	freebsd will correctly set mount options for pcfs and cdfs.
   11381 
   11382 	* amd/ops_pcfs.c (mount_pcfs): set mask field of pcfs_args to
   11383 	0777 (if field exists).
   11384 
   11385 	* aux/macros/try_compile_anyfs.m4 (AC_TRY_COMPILE): include
   11386 	<msdosfs/msdosfsmount.h> if available.
   11387 
   11388 	* minor new port: rs6000-ibm-aix4.1.4.0.
   11389 
   11390 	* libamu/mount_fs.c (mount_fs): fixed bug that caused HPUX not to
   11391 	write the "time" field in /etc/mnttab.
   11392 
   11393 	* conf/mtab/mtab_file.c (mnt_dup): fixed typo in macro names for
   11394 	detecting mnt_time field of mntent_t.
   11395 
   11396 	* libamu/mtab.c (mnt_free): fixed typo in macro names for
   11397 	detecting mnt_time field of mntent_t.
   11398 
   11399 Tue Sep 23 15:30:03 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   11400 
   11401 	* conf/mtab/mtab_file.c (lock): Use flock() in preference over
   11402 	fcntl() to lock the mtab file.
   11403 
   11404 Mon Sep 22 23:04:58 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   11405 
   11406 	* conf/transp/transp_sockets.c (get_nfs_version): define
   11407 	the try_again goto label only for NFS3.
   11408 	(pmap_ping): assume timeout failure of clnt_stat.
   11409 
   11410 	* libamu/xdr_func.c (xdr_groupnode, xdr_exportnode): cast to
   11411 	"groups *".
   11412 
   11413 Mon Sep 22 20:34:33 1997  Erez Zadok  <ezk (a] lorien.cs.columbia.edu>
   11414 
   11415 	* conf/transp/transp_sockets.c (pmap_ping): patch from Dan Riley
   11416 	<dsr (a] mail.lns.cornell.edu> to make sure that amd works with more
   11417 	secure portmappers that do not allow forwarding of RPC messages to
   11418 	other services.
   11419 
   11420 	* */Makefile.am: all source files should also depend on the new
   11421 	include/am_xdr_func.h header.
   11422 
   11423 	* include/am_xdr_func.h: new file as part of the code cleanup from
   11424 	Christos Zoulas <christos (a] deshaw.com>.
   11425 
   11426 	* Lots of fixes from Christos Zoulas <christos (a] deshaw.com> that
   11427 	involved missing prototypes, cleaned up ones, and removal of
   11428 	unused variables.
   11429 
   11430 	* libamu/xdr_func.c (xdr_mountres3): some code cleanup.  A switch
   11431 	statement with only one case is unclean.
   11432 
   11433 Mon Sep 22 17:26:38 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   11434 
   11435 	* amd/ops_<FOO>fs.c (mount_<FOO>fs): initialize mntent_t fields to
   11436 	0 so that all fields are initialized to zero at first.  This way
   11437 	SunOS 4.x and other systems don't get /etc/mtab entries with
   11438 	random integers for the fsck/freq fields. Patch from Andreas
   11439 	Stolcke <stolcke (a] speech.sri.com>.
   11440 
   11441 Mon Sep 22 00:34:19 1997  Erez Zadok  <ezk (a] americas.psl.cs.columbia.edu>
   11442 
   11443 	* conf/nfs_prot/nfs_prot_sunos4.h: include <nfs/nfs_clnt.h> so
   11444 	that the important definition for HOSTNAMESZ will be found.
   11445 
   11446 	* amd/ops_afs.c (mount_toplvl): limit hostname size to HOSTNAMESZ
   11447 	(inside the nfs_args structure) if the system uses that macro.
   11448 	Otherwise systems like SunOS refuse to NFS mount long pathnames
   11449 	and result in ENAMETOOLONG errno's.
   11450 
   11451 Wed Sep 17 04:56:11 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   11452 
   11453 	* doc/am-utils.texi (Supported Platforms): specify new support for
   11454 	solaris 2.6, and hlfsd running on 2.5.1 too.
   11455 
   11456 Wed Sep 17 03:55:02 1997  Erez Zadok  <ezk (a] amsterdam.psl.cs.columbia.edu>
   11457 
   11458 	* conf/mount/mount_svr4.c (mount_svr4): don't attemt an autofs
   11459 	mount if it is not supported or was turned off.
   11460 
   11461 Wed Sep 17 03:19:36 1997  Erez Zadok  <ezk (a] americas.psl.cs.columbia.edu>
   11462 
   11463 	* conf/nfs_prot/nfs_prot_sunos4.h: fixed so that it will nfs mount
   11464 	again.  Apparently at some previous release SunOS 4 supported was
   11465 	broken and all nfs mounts resulted in ESTALE.
   11466 
   11467 Wed Sep 17 00:26:25 1997  Erez Zadok  <ezk (a] amsterdam.psl.cs.columbia.edu>
   11468 
   11469 	* conf/nfs_prot/nfs_prot_sunos5_6.h: nfs protocol headers for
   11470 	solaris 2.6.
   11471 
   11472 	* aux/macros/check_nfs_prot_headers.m4: added solaris 2.6 nfs
   11473 	protocol header selection.
   11474 
   11475 Sat Sep 13 14:31:51 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   11476 
   11477 	* conf/transp/transp_tli.c (amu_clnt_create_best_vers): avoid
   11478 	infinite loop.
   11479 
   11480 Sun Sep  7 18:23:23 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   11481 
   11482 	*******************************************************************
   11483 	*** Released am-utils-6.0a11					***
   11484 	*******************************************************************
   11485 
   11486 Fri Sep  5 11:55:10 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   11487 
   11488 	* amd/amd.c (main): if plock() succeeded, don't try to display
   11489 	errno message.   Patch from Chris Metcalf
   11490 	<metcalf (a] catfish.lcs.mit.edu.
   11491 
   11492 Thu Sep  4 19:17:58 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   11493 
   11494 	* hlfsd/homedir.c (table_add): make sure duplicate passwd entries
   11495 	are ignored.   Only the first entry should ever be used, because
   11496 	that's how lookup in passwd database works.
   11497 
   11498 	* conf/transp/transp_sockets.c (get_nfs_version): when determining
   11499 	if a remote host is up or down, use NFS v.2.  Fix suggested by
   11500 	Enami Tsugutomo <enami (a] cv.sony.co.jp>.
   11501 
   11502 	* conf/transp/transp_tli.c (amu_clnt_create_best_vers): new
   11503 	function to get the best possible NFS version, but also timeout
   11504 	faster than normal defaults, so remote hosts which are down can be
   11505 	detected in a reasonable time.
   11506 	(get_nfs_version): use the new "best" function.
   11507 
   11508 Tue Sep  2 00:41:00 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   11509 
   11510 	*******************************************************************
   11511 	*** Released am-utils-6.0a10					***
   11512 	*******************************************************************
   11513 
   11514 Mon Sep  1 15:39:51 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   11515 
   11516 	* conf/transp/transp_tli.c (get_nfs_version): don't use
   11517 	clnt_tp_create_timed() on systems that don'e have it (Solaris 2.4
   11518 	and earlier).
   11519 
   11520 	* aux/configure.in: test for existence of clnt_tp_create_timed(),
   11521 	since Solaris 2.4 (and possibly earlier) do not have it.
   11522 
   11523 Mon Sep  1 15:23:18 1997  Erez Zadok  <ezk (a] felix.psl.cs.columbia.edu>
   11524 
   11525 	* amd/ops_autofs.c (autofs_unmount_1_svc): only display rdevid
   11526 	field if it exists (solaris 2.4's autofs does not have it).
   11527 
   11528 Mon Sep  1 14:45:09 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   11529 
   11530 	* aux/macros/type_auth_create_gidlist.m4: a new test to determine
   11531 	the correct type to the 5th argument of authunix_create().
   11532 
   11533 Mon Sep  1 03:44:32 1997  Erez Zadok  <ezk (a] felix.psl.cs.columbia.edu>
   11534 
   11535 	* libamu/xdr_func.c (xdr_umntrequest): add test for autofs
   11536 	structure umntrequest, if it has the field rdevid.  Seems Solaris
   11537 	2.4 and earlier didn't have it.
   11538 
   11539 Mon Sep  1 01:10:53 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   11540 
   11541 	* hlfsd/hlfsd.c (hlfsd_init): moved initialization upwards, so it
   11542 	can be done before primary process forks.
   11543 	(main): bug fix: wait a bit to give child a chance to initialize.
   11544 	Without this, hlfsd got into a busy infinite loop while, never
   11545 	completing the mount.
   11546 
   11547 	* amd/info_nis.c: patch from Jason Thorpe <thorpej (a] nas.nasa.gov>
   11548 	to make amd works when talking to NIS+ servers in NIS
   11549 	compatibility mode.
   11550 
   11551 Mon Sep  1 00:46:56 1997  Erez Zadok  <ezk (a] lorien.cs.columbia.edu>
   11552 
   11553 	* amd/mapc.c (MAX_CHAIN): increased maximum chain size to 1024.
   11554 
   11555 Sun Aug 31 20:20:40 1997  Erez Zadok  <ezk (a] lorien.cs.columbia.edu>
   11556 
   11557 	* amd/conf.c (gopt_fully_qualified_hosts): a new function to
   11558 	process another new global variable.
   11559 
   11560 	* amd/ops_nfs.c (make_nfs_auth): if a new global variable
   11561 	fully_qualified_hosts is on, use FQHN in RPC/NFS authentications.
   11562 	Patch from Chris Metcalf <metcalf (a] catfish.lcs.mit.edu>.
   11563 
   11564 	* amd/conf.c (process_last_regular_map): If the amd.conf file only
   11565 	has a [global] section (pretty useless IMHO), do not try to
   11566 	process a map that does not exist.
   11567 
   11568 	* scripts/amd.conf.5: fixed typos (repeated 'as' word).
   11569 
   11570 	* doc/am-utils.texi: MAJOR DOCUMENTATION REVISION COMPLETED!!!
   11571 
   11572 	* amd/conf.c (reset_cf_map): Bug fix.  Reset 'tag' field of cfm
   11573 	structure, so it does not carry over from map entry to another.
   11574 
   11575 Sat Aug 30 18:39:21 1997  Erez Zadok  <ezk (a] lorien.cs.columbia.edu>
   11576 
   11577 	* amd/amd.c (main): fixed the meaning of the plock option.  A bug
   11578 	caused it to be reversed.
   11579 
   11580 Sat Aug 30 15:13:18 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   11581 
   11582 	* hlfsd/stubs.c: don't initialize some statics here.  They are
   11583 	better initialized in hlfsd_init_filehandles().
   11584 
   11585 Fri Aug 22 14:47:16 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   11586 
   11587 	* amd/conf.c (gopt_show_statfs_entries): new function and a global
   11588 	amd.conf key show_statfs_entries.  Defaults to 'no'.  If 'yes',
   11589 	then all maps flagged as browsable will also show a count of the
   11590 	number of entries (keys) in that map.
   11591 
   11592 	* amd/nfs_subr.c (count_map_entries): new function to count number
   11593 	of entries in a map.  Now used if browsable is turned on in a map,
   11594 	to return a count of available keys in a given map.
   11595 
   11596 	* hlfsd/stubs.c (eq_fh): use correct memcmp().  BUG fixed! hlfsd
   11597 	confused the file handles for ".", "..", and the symlink, causing
   11598 	mess.
   11599 
   11600 	* aux/macros/func_bad_memcmp.m4: new test, based on autoconf 2.12,
   11601 	but also defines HAVE_BAD_MEMCMP, so I avoid linkage conflicts
   11602 	with bad memcmp() in libc's (nextstep3).
   11603 
   11604 Thu Aug 21 17:38:41 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   11605 
   11606 	* aux/configure.in: check if autofs_args_t has a field named
   11607 	addr.  Solaris has it for specifying the address of the daemon,
   11608 	but Irix does not.  So how does irix tell the kernel the daemon's
   11609 	address?  I suspect that it is hardcoded to "localhost" using a
   11610 	"private well-known port" (#define AUTOFS_PORT 2048).
   11611 
   11612 	* conf/nfs_prot/nfs_prot_linux.h: added missing autofs
   11613 	definitions.
   11614 
   11615 	* README.autofs: new file listing autofs support notes
   11616 
   11617 	* very preliminary autofs code working.  Call it pre-alpha
   11618 	quality.
   11619 
   11620 Sun Aug 17 02:25:09 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   11621 
   11622 	* amd/conf.c (ropt_mount_type, gopt_mount_type): don't accept
   11623 	"autofs" if system does not support it.
   11624 
   11625 	* amd/amd.c (main): log am-utils version string (same as amd -v)
   11626 	at start of run.
   11627 
   11628 	* conf/transp/transp_sockets.c (get_nfs_version): in order to tell
   11629 	if a remote host is available, try to contact its portmapper and
   11630 	timeout if no answer is received in 3 seconds.
   11631 
   11632 Thu Aug 14 16:12:04 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   11633 
   11634 	* aux/macros/check_extern.m4 (pattern): use a simpler pattern for
   11635 	match for external function definitions.  The function could span
   11636 	multiple lines, so only match the opening parenthesis, not the
   11637 	closing one too.
   11638 
   11639 	* aux/macros/os_cpp-flags.m4 (ac_cv_os_cppflags,): do NOT turn on
   11640 	posix mode for nextstep3.  It is broken.
   11641 
   11642 	* amd/amd.c (init_global_options): run uname() only if
   11643 	<sys/utsname.h> and uname(2) exist.
   11644 
   11645 	* amd/rpc_fwd.c (fwd_packet): if remote host is down, the
   11646 	forwarding socket is null, so declare this an error.
   11647 
   11648 	* include/am_utils.h (AM_ERRNO_HOST_DOWN): find best errno to set
   11649 	for when a remote host is down.  Try, in order, "host down", "host
   11650 	unreachable", "invalid argument".
   11651 
   11652 	* amd/ops_nfs.c (discard_fh): don't dereference a null pointer
   11653 	(happens when remote host is down, and fp->fh_fs is NULL).
   11654 	(prime_nfs_fhandle_cache): ditto, and set fs flags to !FSF_VALID
   11655 	and FSF_DOWN.
   11656 
   11657 	* amd/sched.c: nobody uses "union wait" any more, or so it
   11658 	appears, so clean up that code.
   11659 
   11660 	* conf/transp/transp_tli.c (get_nfs_version): if remote host is
   11661 	down, time it out faster than default (3 seconds).
   11662 	(get_mount_client): free netconfig entry when done with it.
   11663 
   11664 	* conf/nfs_prot/nfs_prot_nextstep.h: initial (and somewhat ugly)
   11665 	port to nextstep3 (m68k-next-nextstep3).
   11666 
   11667 	* fsinfo/Makefile.am (LDADD): needs to link with libamu in case
   11668 	system does not have strdup().
   11669 
   11670 	* include/am_defs.h: complete external definition for getlogin()
   11671 	if needed.
   11672 
   11673 	* conf/transp/transp_tli.c (get_nfs_version): no need to keep
   11674 	static versout variable.
   11675 
   11676 	* amd/rpc_fwd.c (fwd_packet): if fwdto packet is null, remote
   11677 	server is probably down.  Don't use sendto() in that case.
   11678 
   11679 	* buildall (default): run gmake if found, before trying plain
   11680 	make.  GNU make is always preferable.
   11681 
   11682 Tue Aug 12 21:23:58 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   11683 
   11684 	* aux/macros/host_macros.m4: cleanup of os_version and os
   11685 	overrides.  Solaris 2.5.1 for example will come up as solaris2 and
   11686 	2.5.1, rather than sunos5 and 5.5.1.  Both can be overridden in
   11687 	the amd.conf file.
   11688 
   11689 Fri Aug  8 14:37:30 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   11690 
   11691 	*******************************************************************
   11692 	*** Released am-utils-6.0a9					***
   11693 	*******************************************************************
   11694 
   11695 Thu Aug  7 00:52:14 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   11696 
   11697 	* conf/nfs_prot/nfs_prot_ncr2.h: new file, for NCR2
   11698 	(i486-ncr-sysv4.3.03) headers.  Needed to complete missing stuff
   11699 	from <ndbm.h> and <sys/resource.h>.
   11700 
   11701 	* scripts/amd.conf.5: new map page.
   11702 
   11703 	* amd/info_hesiod.c: define extern for hesiod_resolve, since bsdi3
   11704 	does not.
   11705 
   11706 	* amd/amd.8: updated man page.
   11707 
   11708 	* amd/get_args.c (get_args): removed defunct -h option to amd.
   11709 
   11710 	* amq/amq.8: updated man page.
   11711 
   11712 	* amd/info_nisplus.c (nisplus_search): prototype fixes so Sun
   11713 	SparcCompiler CC won't complain.
   11714 
   11715 	* amd/info_hesiod.c (hesiod_search): small fixes to compile with
   11716 	hesiod-1.3, as per Rainer Orth <ro (a] TechFak.Uni-Bielefeld.DE>.
   11717 
   11718 	* aux/macros/opt_ldflags.m4: new option added to configure
   11719 	--enable-ldflags, to specify -L option for configuring/compiling.
   11720 	The older one --enable-libs is now to be used only for -l options.
   11721 
   11722 	* amd/ops_nfs.c (mount_nfs_fh): bug fixed.  Should initialize
   11723 	nc_protoname from nfs_proto if available for all TLI systems, not
   11724 	just those that have NFS V3.
   11725 
   11726 	* amd/info_ldap.c: ldap patches from Leif Johansson
   11727 	<leifj (a] matematik.su.se>, adding two new amd.conf ldap variables:
   11728 	ldap_cache_seconds and ldap_cache_maxmem.
   11729 
   11730 	* hlfsd/hlfsd.c (main): bug fixed. port number must be wrapped in
   11731 	htons().
   11732 
   11733 Sun Aug  3 17:20:05 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   11734 
   11735 	* amd/nfs_start.c (mount_automounter): register amd with the rpc
   11736 	program number that may have been overridden by amd.conf.
   11737 
   11738 	* libamu/xutil.c (set_amd_program_number, get_amd_program_number):
   11739 	allow storing and retrieving alternate amd program numbers.
   11740 
   11741 	* amd/conf.c (gopt_portmap_program): new function to parse
   11742 	amd.conf entry portmap_program=1234.
   11743 
   11744 	* amq/amq.c (main): allow specifying an alternate rpc program
   11745 	number for amd via -P prognum.
   11746 
   11747 	* new amq RPC to get the process id of the running amd.  This is
   11748 	used in ctl-amd to quickly find the pid of the amd that is to be
   11749 	killed.
   11750 
   11751 	* expanded shared libraries support.  Using GNU libtool-1.0,
   11752 	am-utils now builds shared libraries on many platforms that have
   11753 	support for it and proper compilers/linkers.  See "INSTALL" file
   11754 	for compatibility chart.
   11755 
   11756 Thu Jul 31 13:07:23 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   11757 
   11758 	* fsinfo/fsi_lex.l: removed code that was in support of very old
   11759 	versions of flex.  No longer needed.
   11760 
   11761 Tue Jul 29 12:00:13 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   11762 
   11763 	* amd/amd.c (init_global_options): find the kernel architecture
   11764 	from uname() if possible.
   11765 
   11766 Mon Jul 28 03:53:59 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   11767 
   11768 	* new working port: i386-unknown-openbsd2.1
   11769 
   11770 Fri Jul 25 03:16:31 1997  Erez Zadok  <ezk (a] felix.psl.cs.columbia.edu>
   11771 
   11772 	* working port: sparc-sun-solaris2.4.  Had to fix fhandle_t from
   11773 	structure to actual char[], because the structure was passed to
   11774 	xdr_fhandle as data and not a pointer.  Surprisingly, gcc
   11775 	-fpcc-struct-return did not help.
   11776 
   11777 	* conf/nfs_prot/nfs_prot_sunos5_4.h: special nfs protocol
   11778 	definitions for solaris 2.4 have to be different from 2.3, and
   11779 	different from 2.5.
   11780 
   11781 	* libamu/xdr_fhstatus.c (xdr_fhstatus): minor code cleanup.
   11782 
   11783 Thu Jul 24 16:22:39 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   11784 
   11785 	* conf/mount/mount_svr4.c (mount_svr4): use STREQ to compare mount
   11786 	types, not ==.  Fix from Christos Zoulas <christos (a] deshaw.com>.
   11787 
   11788 	* mk-amd-map/mk-amd-map.8: man page taken from bsd44.
   11789 
   11790 Thu Jul 24 00:01:55 1997  Erez Zadok  <ezk (a] moisil.cs.columbia.edu>
   11791 
   11792 	* conf/mount/mount_linux.c: made the nfs error mapping code into a
   11793 	small function.
   11794 
   11795 Wed Jul 23 16:11:49 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   11796 
   11797 	* conf/nfs_prot/nfs_prot_linux.h (NFS_ERROR_MAPPING): special
   11798 	error mappings from errno numbers to NFS errors.  From Debian
   11799 	Linux.
   11800 
   11801 	* scripts/am-eject.in (fs): new script (taken from Debian Linux
   11802 	folks) to auto-unmount floppy/cd devices before ejecting them.
   11803 
   11804 	* fsinfo/wr_exportfs.c (write_exportfs): from Debian folks, pass
   11805 	'5' as second arg to show_area_being_processed.  I'm not sure why.
   11806 
   11807 	* fsinfo/wr_atab.c (write_atab): from Debian folks, pass '5' as
   11808 	second arg to show_area_being_processed.  I'm not sure why.
   11809 
   11810 	* conf/mount/mount_linux.c (parse_opts): as per Debian Linux,
   11811 	ensure that you have a buffer in *xopts to strcat onto.
   11812 	(mount_linux): fixed from Debian folks to ensure that NFS mount
   11813 	sockets are connected only for kernels prior to 1.3.10 (avoids
   11814 	hangs for multi-homed hosts).
   11815 
   11816 	* amd/mapc.c (make_entry_chain): from Debian folks: don't skip
   11817 	over amd map keys that have a prefix, and include the prefix in
   11818 	the returned readdir().
   11819 
   11820 	* amd/info_passwd.c (passwd_init, passwd_search): format
   11821 	enhancements from the Debian Linux folks.  They added
   11822 	- var0:=pw-prefix:=anydir
   11823 	- var1:=pw-rhost:=dom3.dom2.dom1
   11824 	- var2:=pw-user:=user
   11825 	- var3:=pw-home:=/anydir/dom1/dom2/dom3/user
   11826 
   11827 	* new ports: sparc-sun-solaris2.4 and sparc-sun-sunos4.1.1.
   11828 
   11829 	* amd/ops_afs.c (afs_retry): patches from Debian Linux.  If
   11830 	afs_mount timed out, then explicitly forbid further retries after
   11831 	the timeout.  (afs_bgmount): bug fix from Debian Linux.  Timeout
   11832 	values (17 and 5) were mistakenly swapped.
   11833 
   11834 Wed Jul 23 15:53:25 1997  Erez Zadok  <ezk (a] felix.psl.cs.columbia.edu>
   11835 
   11836 	* conf/nfs_prot/nfs_prot_sunos5_3.h: turn off non-existent NFS V.3
   11837 	support for Solaris 2.4 (the header files incorrectly define parts
   11838 	of the NFS V.3 protocol, but the kernel does not support it).
   11839 
   11840 Wed Jul 23 00:07:12 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   11841 
   11842 	* amd/info_hesiod.c: minor cleanup to use hes_init and hesiod_init
   11843 	for determining if using old or new hesiod libraries,
   11844 	respectively.
   11845 
   11846 	* amd/ops_nfs.c (mount_nfs_fh): If "noconn" option exists in NFS
   11847 	V.3 then use non-connected sockets (both TCP and UDP).  Otherwise
   11848 	they cause hangs of mounts from multi-homed hosts when the return
   11849 	route is not the same as the outgoing route (esp. on NetBSD
   11850 	1.2.1).  If "conn" option was supplied, then don't turn on the
   11851 	"noconn" mount option.  Otherwise default to "noconn" mount
   11852 	option.
   11853 
   11854 	* aux/configure.in: better check for systems that need libgdbm and
   11855 	<ndbm.h>
   11856 
   11857 Tue Jul 22 04:02:05 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   11858 
   11859 	* hlfsd/hlfsd.c (main), amd/ops_afs.c (mount_toplvl): ensure that
   11860 	mounts are hidden from df(1) on systems that keep mount tables in
   11861 	kernel, such as osf1.
   11862 
   11863 Tue Jul 22 02:26:55 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   11864 
   11865 	*******************************************************************
   11866 	*** Released am-utils-6.0a8					***
   11867 	*******************************************************************
   11868 
   11869 Mon Jul 21 21:33:19 1997  Erez Zadok  <ezk (a] stone.mcl.cs.columbia.edu>
   11870 
   11871 	* hlfsd/hlfsd.c (main): bug fixed: forgot to set sin_family to
   11872 	AF_INET when hlfsd mounts itself, thus getting an errno "protocol
   11873 	family not supported".
   11874 
   11875 Mon Jul 21 20:46:59 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   11876 
   11877 	* verified that amd on NetBSD 1.2.1 (i386) works, but the OS
   11878 	itself is flaky.
   11879 
   11880 	* verified that amd AIX 3 works w/ the new readdir() code.
   11881 
   11882 Mon Jul 21 18:59:30 1997  Erez Zadok  <ezk (a] chestnut.mcl.cs.columbia.edu>
   11883 
   11884 	* amd/mapc.c (maptypes): changed the default map caching type for
   11885 	nis and ndbm maps to "MAPC_ALL", so that all possible entries will
   11886 	be available to amd for browsable_dirs=yes.
   11887 
   11888 Mon Jul 21 18:04:16 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   11889 
   11890 	* amd/ops_afs.c (afs_readdir, afs_readdir_browsable): split
   11891 	afs_readdir into a browsable version and a non-browsable one.
   11892 	Fixed bugs that resulted in an infinite nfs_readdir loop on the
   11893 	localhost for some operating systems.
   11894 
   11895 Sat Jul 19 19:38:38 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   11896 
   11897 	* amd/ops_afs.c (afs_readdir): fixed up the browsable code to
   11898 	comply with nfs_readdir specs.  It was returning all entries at
   11899 	once, even if there was not enough space in the RPC packet.  Now,
   11900 	it sends a reasonably sized chunk, and sets static state to resume
   11901 	it for the next continuation RPC of readdir.
   11902 
   11903 	* amd/conf.c (set_conf_kv): fixed bug that resulted in the first
   11904 	regular map not getting all of the [global] options defaulted from.
   11905 
   11906 Fri Jul 18 00:45:12 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   11907 
   11908 	* amq/amq.c (main): fixed so that portmapper "ping" will only fail
   11909 	upon an RPC timeout
   11910 
   11911 	* scripts/ctl-{amd,hlfsd}.in (killproc): better method to find the
   11912 	amd/hlfsd process to kill.
   11913 
   11914 	* amd/ops_afs.c (mount_toplvl), hlfsd/hlfsd.c (main): code to
   11915 	determine how to avoid df from seeing amd's toplvl mounts.  Moved
   11916 	from libamu/mount_fs.c and include/am_utils.h.  Ensure that hlfsd
   11917 	is hidden from df.
   11918 	(mount_toplvl): fixed df types for irix.
   11919 
   11920 Thu Jul 17 21:59:45 1997  Erez Zadok  <ezk (a] americas.psl.cs.columbia.edu>
   11921 
   11922 	* amq/amq.c (main): fixed bug that caused the 5 second timeout for
   11923 	TLI amq using udp to be ignored.
   11924 	(main): if amq cannot contact remote host's portmapper within 5
   11925 	seconds, timeout and fail faster than the default longer timeout
   11926 	(this is for non-TLI systems).
   11927 
   11928 Thu Jul 17 17:08:13 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   11929 
   11930 	* amq/amq.c (get_secure_amd_client): if amq cannot contact
   11931 	remote host's portmapper within 5 seconds, timeout and fail faster
   11932 	than the default TLI timeout of over 4 minutes.
   11933 
   11934 	* amd/am_ops.c (ops_showfstypes): added styles for new bsd44
   11935 	file systems nullfs, unionfs, and umapfs.
   11936 	(ops_show1): cleanup code and and reuse this function.
   11937 	(vops): empty placeholders for nullfs, unionfs, and umapfs.
   11938 
   11939 	* amd/ops_{nullfs, unionfs, umapfs}.c: 3 new empty templates for
   11940 	bsd44 style file systems.
   11941 
   11942 	* fsinfo/fsinfo.8: man page for fsinfo rewritten from bsd44
   11943 	sources.
   11944 
   11945 	* amd/conf_tok.l, fsinof/fsi_lex.c: undefine ECHO to avoid
   11946 	conflict with systems that define it in <sys/ioctl.h> and also
   11947 	define a conflicting one via lex.  Newer versions of f/lex are ok.
   11948 
   11949 Wed Jul 16 00:17:45 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   11950 
   11951 	* amd/ops_nfs.c (mount_nfs_fh): fill in nfs_args' fields
   11952 	acdirmin/max and acregmin/max only if they exist.
   11953 
   11954 	* aux/configure.in: test for nfs_args fields acdirmin and
   11955 	acregmin.
   11956 
   11957 Tue Jul 15 17:24:09 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   11958 
   11959 	* aux/configure.in: commented out checking for MNT2_GEN_OPT_* for
   11960 	"nondev" and commented back in checking for "nodev".  This was a
   11961 	typo.
   11962 
   11963 	* include/am_compat.h: more compatibility options: define "ro"
   11964 	mnttab option all the time.  Define "overlay" as needed.  Added
   11965 	more fillers of mnttab options (as per Daniel S. Riley
   11966 	<dsr (a] mail.lns.cornell.edu>), for acdirmax, acdirmin, acregmax,
   11967 	acregmin, noac, grpid, nosuid, and actimo.
   11968 
   11969 	* libamu/mount_fs.c (mnt_flags): fixed a typo in "ro" option as
   11970 	per dsr (a] mail.lns.cornell.edu (Daniel S. Riley).  Then cleaned up
   11971 	the same code for other options in struct opt_tab.
   11972 
   11973 Mon Jul 14 22:36:37 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   11974 
   11975 	* amd/get_args.c (get_args): moved amd.conf file parsing to before
   11976 	the switching the default log/debug options.  Suggested by
   11977 	dsr (a] mail.lns.cornell.edu (Daniel S. Riley).
   11978 
   11979 	* aux/update_build_version: new script to record the build version
   11980 	of amd, along with the rest of the info thet comes up with amd -v.
   11981 
   11982 Sun Jul 13 00:30:24 1997  Erez Zadok  <ezk (a] decca.damtp.cam.ac.uk>
   11983 
   11984 	* aux/macros/os_cflags.m4: new macro, to add additional
   11985 	compilation options (also used during configuration), based on the
   11986 	OS and the compiler.  Used for solaris-2.6, osf, and irix6.
   11987 
   11988 Fri Jul 11 10:15:11 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   11989 
   11990 	* amd/conf_tok.l, conf_parse.y: allow values of keys to include
   11991 	white spaces, if they are double-quoted (key="some value")
   11992 
   11993 	* amd/info_hesiod.c (hesiod_search): cleanup and minor bug fixes
   11994 	of hesiod from Danny Braniss <danny (a] cs.huji.ac.il>.
   11995 
   11996 Fri Jul 11 02:16:06 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   11997 
   11998 	*******************************************************************
   11999 	*** Released am-utils-6.0a7					***
   12000 	*******************************************************************
   12001 
   12002 Thu Jul 10 12:19:25 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   12003 
   12004 	* include/am_defs.h: fill in extern definition of innetgr() in
   12005 	case system headers don't.
   12006 
   12007 	* aux/macros/path_prog_lex.m4 aux/configure.in: using macros that
   12008 	will show the full pathname to yacc/bison and f/lex.  Some systems
   12009 	have older or bad versions of those and this way the user will
   12010 	know for sure what is being invoked.
   12011 
   12012 	* tasks: file populated with todo items.
   12013 
   12014 	* scripts/amd2ldif.in: Script to convert amd maps to plain text
   12015 	LDAP object files.  Contributed by Leif Johansson
   12016 	<leifj (a] matematik.su.se>.
   12017 
   12018 	* aux/config.guess: added recognition for sun3's running 4.2bsd,
   12019 	from Tom Schmidt <tschmidt (a] micron.com>.  Fixed one small typo.
   12020 
   12021 	* amd/conf.c: several variables that were local to a map, were
   12022 	also added to [global], where they apply to all maps.  Each map
   12023 	can then individually override those defaults.  Flags
   12024 	affected: browsable_dirs and mount_type.  Options affected:
   12025 	map_type, map_options, and search_path.
   12026 
   12027 	* amd/amd.h: eliminated several global flags each of which took an
   12028 	int, in favor of one global flags variable used as a bit field.
   12029 
   12030 	* amd/amd.c (init_global_options): moved all global variables into
   12031 	a single struct amu_global_options, so it is easier to add new
   12032 	ones and/or identify existing ones.
   12033 
   12034 	* amd/get_args.c (get_args): removed unused amd -m option.
   12035 
   12036 	* amd/conf.c (gopt_cluster): added new amd.conf option for cluster
   12037 	name, same as amd -C.
   12038 
   12039 	* amd/info_ldap.c: LDAP info map functions from Leif Johansson
   12040 	<leifj (a] matematik.su.se>.
   12041 
   12042 	* amd/conf.c (gopt_ldap_base, gopt_ldap_hostports): put in global
   12043 	amd.conf options for ldap_base and ldap_hostports.
   12044 
   12045 	* amd/opts.c (f_netgrp): new amd map function netgrp(ARG) to test
   12046 	if the current host is in the ARG host netgroup.
   12047 
   12048 	* aux/configure.in: some systems replaced dbm in libc with GNU's
   12049 	libgdbm, so check for libgdbm, but only if dbm_open is not in
   12050 	libc already.  This was a recommendation from Tom Schmidt
   12051 	<tschmidt (a] micron.com>.
   12052 
   12053 	* conf/nfs_prot/nfs_prot_sunos5_3.h: port to sparc-sun-solaris2.3
   12054 	completed.
   12055 
   12056 Wed Jul  9 18:14:59 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   12057 
   12058 	* port to sparc-unknown-netbsd1.2E done, not tested.  Includes NFS
   12059 	V.3.
   12060 
   12061 Tue Jul  8 17:35:07 1997  Erez Zadok  <ezk (a] elk.mcl.cs.columbia.edu>
   12062 
   12063 	* port to i386-unknown-freebsd3.0 done and working.  Includes NFS
   12064 	V.3.
   12065 
   12066 	* aux/macros/check_nfs_fh_dref.m4: freebsd3 should use
   12067 	file handle dereferencing style similar to freebsd22.
   12068 
   12069 	* include/am_defs.h: need to include <net/if_var.h> before
   12070 	<netinet/if_ether.h> on freebsd3.
   12071 
   12072 	* conf/nfs_prot/nfs_prot_freebsd3.h: new protocol header additions
   12073 	for freeBSD 3.0.
   12074 
   12075 Tue Jul  8 16:53:41 1997  Erez Zadok  <ezk (a] moisil.cs.columbia.edu>
   12076 
   12077 	* amd/info_nis.c (nis_reload): cast nis' callback function so
   12078 	picky compilers won't complain.
   12079 
   12080 	* libamu/xdr_mountres3.c (xdr_mountres3): make sure this function
   12081 	gets compiled only if the system has NFS V3 and does not have
   12082 	xdr_mountres3.
   12083 
   12084 Tue Jul  8 12:42:03 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   12085 
   12086 	* COPYING: put in some legal stuff in this file.
   12087 
   12088 Mon Jul  7 19:10:44 1997  Erez Zadok  <ezk (a] prometheus.soscorp.com>
   12089 
   12090 	* NFS V3 now works under Irix5, thanks to patches from
   12091 	Andreas Stolcke <stolcke (a] speech.sri.com>.
   12092 
   12093 	* conf/mount/mount_irix5.c: sparate mount_irix.c into an irix5
   12094 	version and an irix6 version, since irix5's NFS V3 code is broken
   12095 	and hacky.
   12096 
   12097 	* amd/info_hesiod.c (hs_zone_transfer): minor fixes to buffer
   12098 	sizes for some hesiod queries.  Patch from Danny Braniss
   12099 	<danny (a] cs.huji.ac.il>.
   12100 
   12101 Mon Jul  7 19:04:14 1997  Erez Zadok  <ezk (a] glory.soscorp.com>
   12102 
   12103 	* amd/ops_nfs.c (mount_nfs_fh): fixed NFS V.3 support for bsdi3.
   12104 
   12105 Sun Jul  6 14:22:24 1997  Erez Zadok  <ezk (a] glory.soscorp.com>
   12106 
   12107 	* aux/{configure.in,acconfig.h}: added checks for struct
   12108 	nfs_args's fields proto and sotype (bsdi3).
   12109 
   12110 	* amd/ops_nfs.c (mount_nfs_fh): added nfsv3 option to
   12111 	nfs_args.flags for bsdi3.  Set field proto to 0.  Set sotype field
   12112 	to SOCK_STREAM or SOCK_DGRAM.
   12113 
   12114 	* aux/macros/check_mount_style.m4: add case for bsdi3.
   12115 
   12116 	* amd/info_hesiod.c: got hesiod support for bsdi3.
   12117 
   12118 Sun Jul  6 11:14:47 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   12119 
   12120 	* aux/configure.in: look for hesiod on libc (bsdi3)
   12121 
   12122 	* amd/get_args.c (get_args): reformat usage so it fits in 80
   12123 	columns.
   12124 
   12125 	* scripts/ctl-amd.in: changed directory name for optional tftpboot
   12126 	map to /tftpboot/.amd.
   12127 
   12128 Sat Jul  5 17:46:45 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   12129 
   12130 	*******************************************************************
   12131 	*** Released am-utils-6.0a6					***
   12132 	*******************************************************************
   12133 
   12134 Sat Jul  5 03:17:09 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   12135 
   12136 	* scripts/ctl-amd.in: include -T tag for tftpboot.
   12137 
   12138 	* new port: mips-sgi-irix5.3.  Compiled with gcc, but NFS V3 code
   12139 	is broken and needs work on the specific nfs_args that irix5 uses
   12140 	for V3 mounts.
   12141 
   12142 Sat Jul  5 01:44:25 1997  Erez Zadok  <ezk (a] lorien.cs.columbia.edu>
   12143 
   12144 	* amd/get_args.c (get_args): new options amd -T tag.  A map with
   12145 	tag=foo matching the -T tag will be processed.  All untagged maps
   12146 	get processed all the time.
   12147 
   12148 Fri Jul  4 16:19:26 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   12149 
   12150 	* aux/configure.in: need to check for strcasecmp in libucb (ncr2)
   12151 
   12152 	* aux/macros/check_os_libs.m4: a new macro to set the usage of
   12153 	libnsl and libsocket based on the OS.
   12154 
   12155 	* libamu/mount_fs.c (mnt_flags): used MNTTAB_OPT_GRPID if it is
   12156 	defined (problem on osf4).
   12157 
   12158 	* conf/nfs_prot/nfs_prot_irix5.h: new file for irix5 headers.
   12159 
   12160 	* include/am_defs.h, aux/macros/try_compile_nfs.m4,
   12161 	aux/macros/mount_headers.m4: do include <sys/proc.h> because it
   12162 	failes on irix5.  Rather, put in the individual
   12163 	conf/nfs_prot/nfs_prot_*.h headers.
   12164 
   12165 	* amd/conf.c: AIX3 doesn't like strdup() being passed a constant
   12166 	char*, so cast all strdup()'s args to a non-const char*.
   12167 
   12168 	* amd/mapc.c (root_newmap): don't try to strdup only a "const
   12169 	char *".
   12170 
   12171 Fri Jul  4 15:47:10 1997  Erez Zadok  <ezk (a] americas.psl.cs.columbia.edu>
   12172 
   12173 	* conf/nfs_prot/nfs_prot_sunos4.h: added rpc/rpc.h and
   12174 	sys/errno.h.
   12175 
   12176 Thu Jul  3 17:49:00 1997  Erez Zadok  <ezk (a] prometheus.soscorp.com>
   12177 
   12178 	* made sure am-utils compiles, links, and runs properly on Irix
   12179 	6.2 using "cc -32 -Wl,-woff,"
   12180 
   12181 	* aux/macros/check_lib2.m4: a bug fix version to autoconf 2.12
   12182 	AC_CHECK_LIB.  If OTHER-LIBRARIES are defined and used, then add
   12183 	them to $LIBS.
   12184 
   12185 	* aux/configure.in: some cleanup of which libraries are needed.
   12186 	Espectially ensure that libnsl is included only on Solaris, where
   12187 	so far it is the only system on which it is absolutely necessary.
   12188 	Also no longer need to include libc explicitly.
   12189 
   12190 	* amd/amd.c,wire-test/wire-test.c (main): convert IP address to
   12191 	network-long order before printing it.
   12192 
   12193 	* wire-test/wire-test.c (main): also check and report on the IP
   12194 	address of the local host, since some systems have bad versions of
   12195 	get_myaddress, or ones that conflict with other versions in
   12196 	multiple libraries (SunOS 4 and Irix especially).
   12197 
   12198 Wed Jul  2 18:19:02 1997  Erez Zadok  <ezk (a] starblazers.soscorp.com>
   12199 
   12200 	* scripts/ctl-amd.in: don't use full pathname so killproc() works
   12201 	better.  Also run bsd44 and irix style ps programs.
   12202 
   12203 	* aux/macros/check_lib_funcs.m4: bug fixed: used to define usage
   12204 	of library no matter if it was found or not.
   12205 
   12206 Wed Jul  2 02:11:48 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   12207 
   12208 	* aux/macros/check_mnt2_gen_opt.m4: turned back on the checking
   12209 	for M_* macros, but ensure that <sys/stream.h> is not included at
   12210 	all so it won't conflict with other M_* macros.
   12211 
   12212 Tue Jul  1 21:16:51 1997  Erez Zadok  <ezk (a] mako.cs.columbia.edu>
   12213 
   12214 	* conf/mount/mount_irix.c (mount_irix): first arg to mount(2) on
   12215 	irix should be "spec" (host:/path), not the dir of the mnt point.
   12216 
   12217 	* amd/ops_afs.c (afs_lookuppn): bug in enable_default_selectors
   12218 	fixed.  If on, it essentially ignored the setting in a
   12219 	selector-controlled /defaults if there were 2 or more entries in it.
   12220 
   12221 Tue Jul  1 12:23:38 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   12222 
   12223 	* scripts/ctl-{amd,hlfsd}.in (killproc): if failed to find process
   12224 	using BSD style ps, then try SVR4 style ps.
   12225 
   12226 	* include/am_utils.h (amuDebug): renamed Debug macro to amuDebug
   12227 	etc., to avoid conflicts with similar named macros in <ldap.h>.
   12228 
   12229 	* aux/configure.in, amd/info_ldap.c, etc.: put in all the autoconf
   12230 	support needed for LDAP.  Now the code has to be written mostly in
   12231 	amd/info_ldap.c.
   12232 
   12233 	* Included additional patches from Andreas Stolcke
   12234 	<stolcke (a] speech.sri.com> to support using the best possible
   12235 	combination of NFS version (2,3) and protocol (udp,tcp) for any
   12236 	given host, since it appears that some Irix versions have NFS V3,
   12237 	but do not support TCP.
   12238 
   12239 	* scripts/ctl-amd.in: updated amd control script to look for and
   12240 	use amd.conf file.
   12241 
   12242 Tue Jul  1 00:28:23 1997  Erez Zadok  <ezk (a] lorien.cs.columbia.edu>
   12243 
   12244 	* amd/mapc.c (mapc_create): now, each map in the amd.conf can be
   12245 	initialized off of a different type, or default to cycling through
   12246 	all maps until one of them matches.
   12247 
   12248 Mon Jun 30 20:49:13 1997  Erez Zadok  <ezk (a] lorien.cs.columbia.edu>
   12249 
   12250 	* amd/ops_afs.c (afs_readdir): per-map browsing (readdir) done.
   12251 	if browsable_dirs=yes is set in the map section in amd.conf, that
   12252 	map will return all entries back to a readdir(2).
   12253 
   12254 Sun Jun 29 16:22:11 1997  Erez Zadok  <ezk (a] lorien.cs.columbia.edu>
   12255 
   12256 	* rudimentary amd.conf file support included.  You may even
   12257 	override things like os=sos5, to get "backwards" compatibility with
   12258 	upl102.
   12259 
   12260 Sat Jun 28 13:35:02 1997  Erez Zadok  <ezk (a] lorien.cs.columbia.edu>
   12261 
   12262 	* amd/conf.c: new file to process amd.conf file.
   12263 
   12264 	* amd/get_args.c (get_args): new options -H to print help.
   12265 
   12266 	* moved enable_default_selectors to be amd.conf controlled, and
   12267 	not compiler controlled.
   12268 
   12269 	* amd/get_args.c (get_args): new options -F <conf-file> to parse an
   12270 	amd configuration file.
   12271 
   12272 Wed Jun 25 23:15:42 1997  Erez Zadok  <ezk (a] lorien.cs.columbia.edu>
   12273 
   12274 	* converted all files that used strcmp() == 0 or != 0  to using
   12275 	the STREQ() macro.
   12276 
   12277 Mon Jun 23 22:31:14 1997  Erez Zadok  <ezk (a] lorien.cs.columbia.edu>
   12278 
   12279 	* aux/macros/check_lib_funcs.m4: new M4 macro that can be used to
   12280 	search for any number of functions in any given library.
   12281 
   12282 Mon Jun 23 01:04:23 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   12283 
   12284 	* amd/mapc.c: Included patch from Leif Johansson
   12285 	<leifj (a] matematik.su.se> to ensure that systems without an RE
   12286 	library can compile.
   12287 
   12288 	* libamu/mount_fs.c (mount_fs): Included patch from Andreas
   12289 	Stolcke <stolcke (a] speech.sri.com>, to ensure that mount options on
   12290 	table are properly delimited by a comma.
   12291 
   12292 	* amd/ops_nfs.c (mount_nfs_fh): Included patch from Andreas
   12293 	Stolcke <stolcke (a] speech.sri.com>, to allow users to override the
   12294 	proto= and vers= mount options.
   12295 
   12296 Sun Jun 22 01:00:11 1997  Eric Dana  (edana (a] ncr2.bgs.com)
   12297 
   12298 	* conf/nfs_prot/nfs_prot_svr4.h: port completed to
   12299 	i486-ncr-sysv4.3.03.  Assorted source cleanups done.
   12300 
   12301 	* include/am_defs.h, aux/macros/mount_headers.m4: don't include
   12302 	mnttab.h if sys/mnttab.h was already included, because on ncr2,
   12303 	they contain conflicting entries for struct mnttab.
   12304 
   12305 Sat Jun 21 23:52:15 1997  Eric Dana  (edana (a] ncr2.bgs.com)
   12306 
   12307 	* aux/macros/check_nfs_prot_headers.m4: added support for ncr2.
   12308 
   12309 Fri Jun 20 06:14:17 1997  Erez Zadok  <ezk>
   12310 
   12311 	* amd/*.c: lots of 64-bit "ugly" ports like casts to long ints.
   12312 
   12313 	* aux/macros/struct_nfs_fh.m4: check for "struct nfssvcfh" because
   12314 	on DU-4.0 it is better than the next one to be picked (nfsv2fh_t).
   12315 
   12316 Wed Jun 18 18:59:49 1997  Erez Zadok  <ezk (a] defiant.soscorp.com>
   12317 
   12318 	* aux/macros/struct_nfs_fh.m4 (AC_TRY_COMPILE_NFS): check for
   12319 	nfsv2fh_t before fhandle_t becasue on bsdi2.1 the former is
   12320 	better.
   12321 
   12322 Tue Jun 10 17:06:58 1997  Erez Zadok  <ezk (a] lorien.cs.columbia.edu>
   12323 
   12324 	* amd/rpc_fwd.c (fwd_packet): TLI bug fix. if fwdto socket is
   12325 	NULL, set the maxlen and len fields in netbuf to zero.
   12326 
   12327 Wed May 28 22:52:28 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   12328 
   12329 	* scripts/fix-amd-map.in (name): replace all matching patterns on
   12330 	line.
   12331 
   12332 Sun May 25 19:33:41 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   12333 
   12334 	*******************************************************************
   12335 	*** Released am-utils-6.0a5					***
   12336 	*******************************************************************
   12337 
   12338 Sun May 25 13:37:24 1997  Erez Zadok  <ezk (a] lorien.cs.columbia.edu>
   12339 
   12340 	* amd/amq_subr.c (amqproc_getvers_1_svc): amq's RPC service
   12341 	procedure now returns the full string that amd -v returns.
   12342 
   12343 	* amd/get_args.c (get_version_string): new function to return
   12344 	complete version/info string so it could be used more flexibly.
   12345 
   12346 	* amd/am_ops.c (ops_showamfstypes, ops_showfstypes): put the list
   12347 	of Fs types into a string buffer, rather than a FILE*.
   12348 
   12349 	* amd/mapc.c (mapc_showtypes): put the list of map types into a
   12350 	string buffer, rather than a FILE*.
   12351 
   12352 Sun May 25 01:25:36 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   12353 
   12354 	* amd/get_args.c (get_args): amd -v also prints user who built
   12355 	amd, hostname built on, and date of configuration.
   12356 
   12357 Sat May 24 13:40:50 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   12358 
   12359 	* scripts/lostaltmail.conf-sample: sample lostaltmail
   12360 	configuration file.
   12361 
   12362 	* scripts/lostaltmail.in: new script lostaltmail used to redeliver
   12363 	"lost" mail that hlfsd redirected to a temp location because the
   12364 	primary home file system of the user was full.
   12365 
   12366 	* scripts/amd2sun.in: new script amd2sun. Used to convert Sub
   12367 	automount maps to amd maps.
   12368 
   12369 	* scripts/ctl-hlfsd.in: new script ctl-hlfsd.  Used to start,
   12370 	stop, or restart hlfsd.
   12371 
   12372 	* scripts/expn.1: man page for expn command.
   12373 
   12374 	* scripts/ctl-amd.in: new script ctl-amd.  Used to start, stop, or
   12375 	restart amd.
   12376 
   12377 	* scripts/expn.in: new script expn.  Actually taken from David
   12378 	Muir Sharnoff <muir (a] idiom.com>.  Used by hlfsd's mail re-delivery
   12379 	script.
   12380 
   12381 	* scripts/wait4amd.in: new script wait4amd added.  Waits for amd
   12382 	to come up on a host, and then runs a command (rsh $hostname by
   12383 	default).
   12384 
   12385 	* scripts/Makefile.am: new directory now holds all shell/perl
   12386 	scripts that belong to am-utils.
   12387 
   12388 	* conf/mount/mount_linux.c (parse_opts): new parser for
   12389 	linux-specific mounts.  Handles fs-type specific mount-options
   12390 	correctly.  Currently implemented: msdos, iso9660.
   12391 
   12392 	* amd/ops_pcfs.c (pcfs_ops): don't timeout pcfs mounts by default
   12393 	(fix for linux).
   12394 
   12395 	* amd/ops_cdfs.c (cdfs_ops): don't timeout cdfs mounts by default
   12396 	(fix for linux).
   12397 
   12398 	* amd/mapc.c (make_entry_chain): fixed bug that resulted in amd
   12399 	core dumps upon "ls" of a mount point; an invalid pointer was
   12400 	being returned and dereferenced.
   12401 
   12402 	* port to Linux sparc working!
   12403 
   12404 	* hlfsd/homedir.c (hlfsd_diskspace): close file descriptor if
   12405 	failed to write test file, or else the fd will leak.
   12406 
   12407 Sun May 18 00:42:41 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   12408 
   12409 	* amd/info_hesiod.c (hs_strip_our_domain): use strcasecmp()
   12410 	instead of strcmp().
   12411 
   12412 	* Port to Digital Unix 4.0 (OSF) done.
   12413 
   12414 	* hlfsd/hlfsd.c: renamed dirname to dir_name to avoid conflicts
   12415 	with dirname() function in <string.h> on OSF systems.
   12416 
   12417 	* fsinfo/fsi_util.c (set_ether_if): take out extern definition of
   12418 	inet_addr().  It should come from <arpa/inet.h> instead.
   12419 
   12420 	* conf/mtab/mtab_osf.c: fixed macros and added NFS V3 specs.
   12421 
   12422 	* include/am_utils.h: renamed FIRST/LAST to AM_FIRST/AM_LAST to
   12423 	avoid conflicts with DU 4.0 system header.
   12424 
   12425 Thu May 15 22:49:12 1997  Erez Zadok  <ezk (a] subzero.cs.columbia.edu>
   12426 
   12427 	* libamu/mount_fs.c (mount_fs): pass along NFS version so I can
   12428 	determine if to include additional options in the mount table file
   12429 	entry (such as proto=tcp, and vers=3).
   12430 
   12431 Thu May 15 00:42:12 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   12432 
   12433 	* libamu/mount_fs.c (mount_fs): include NFS version number in the
   12434 	mount table options, as well as proto={tcp,udp}.
   12435 
   12436 Wed May 14 14:30:19 1997  Erez Zadok  <ezk (a] lorien.cs.columbia.edu>
   12437 
   12438 	* NFS V3 code ported to most other systems, so it compiles for V2
   12439 	and V3 NFS systems.
   12440 
   12441 	* NFS VERSION 3 support, first pass.  Working for Solaris and
   12442 	using TCP.
   12443 
   12444 Sun May 11 01:14:29 1997  Erez Zadok  <ezk (a] lorien.cs.columbia.edu>
   12445 
   12446 	* amq/amq.c: many newline characters were missing from various
   12447 	stderr printfs.
   12448 
   12449 Sat May 10 13:09:06 1997  Erez Zadok  <ezk (a] lorien.cs.columbia.edu>
   12450 
   12451 	* conf/nfs_prot/nfs_prot_sunos5.h: protocol defintions for
   12452 	Solaris, which include NFS V3 support.
   12453 
   12454 	* conf/nfs_prot/nfs_prot_default.h: default NFS protocol headers.
   12455 
   12456 	* conf/transp/transp_{tli,sockets}.c (get_mount_client): use NFS
   12457 	protocol version while getting a mount client.
   12458 
   12459 	* amd/ops_nfs.c (mount_nfs_fh): set the mount types, mnttab types,
   12460 	file handle size, and proper file handle based on the correct NFS
   12461 	version number.
   12462 
   12463 	* conf/mount/mount_svr4.c (mount_svr4): support NFS3 mounts under
   12464 	Solaris and other SVR4 systems.
   12465 
   12466 	* amd/ops_nfs.c: store NFS file handle version and version
   12467 	specific handle in struct fh_cache.
   12468 	(got_nfs_fh): pick the correct RPC reply based on the NFS version
   12469 	of the server.
   12470 	(prime_nfs_fhandle_cache): figure out the right NFS file handle
   12471 	for a node, but now include NFS protocol version information.
   12472 	(call_mountd): set the correct version for the mount protocol,
   12473 	based on the NFS protocol version.
   12474 	(nfs_init): use the NFS protocol generic structure
   12475 	am_nfs_handle_t.
   12476 
   12477 	* include/am_utils.h: new structure am_nfs_handle_t to contain all
   12478 	possible versions of NFS file handles.
   12479 
   12480 	* amd/srvr_nfs.c (start_ping): ping program performs NFS version
   12481 	specific pings.
   12482 	(recompute_portmap): figure out the correct portmap version mount.
   12483 	(nfs_keepalive): call start_ping() with the correct NFS version.
   12484 	(find_nfs_srvr): if mount option "vers=" is given, use it.  Get
   12485 	the NFS server version and verify that it is up.
   12486 
   12487 	* conf/transp/transp_{tli,sockets}.c (get_nfs_version): a new
   12488 	function to find the best NFS version for a particular host.
   12489 
   12490 	* libamu/amu.h: determine what is the highest version of NFS we
   12491 	should try.
   12492 
   12493 	* include/am_utils.h (NFS_VERSION3): added definition for NFS V3
   12494 	protocol number.
   12495 	Added field fs_version to struct fserver, so we can now store the
   12496 	server protocol version.
   12497 
   12498 Fri May  9 01:09:45 1997  Erez Zadok  <ezk (a] lorien.cs.columbia.edu>
   12499 
   12500 	* aux/macros/check_field.m4 (AC_MOUNT_HEADERS): map '.' (dot) into
   12501 	underscores too, so I can test for sub-fields.
   12502 
   12503 	* libamu/wire.c: use test that checks for sub-fields of struct
   12504 	ifreq.
   12505 
   12506 Sat May  6 10:20:17 2000  Erez Zadok  <ezk (a] glory.soscorp.com>
   12507 
   12508 	* port to BSD/OS 3.0 completed!  Many xdr_ functions were broken
   12509 	into smaller files.  M4 macros fixed to test for existence of
   12510 	file systems using getvfsbyname().
   12511 
   12512 	* amd/sched.c (sigchld): signal handler must waitpid() for all
   12513 	possible children.
   12514 
   12515 	* hlfsd/homedir.c: signal handler must waitpid() for all possible
   12516 	children.
   12517 
   12518 	* aux/macros/check_restartable_signals.m4: new macro to determine
   12519 	if need to reinstall signal handlers per OS is better than trying
   12520 	to figure these out based on system macros.
   12521 
   12522 Fri May  5 19:23:28 2000  Erez Zadok  <ezk (a] glory.soscorp.com>
   12523 
   12524 	* amd/ops_nfs.c (mount_nfs_fh): set nfs_args_t version number.
   12525 
   12526 	* amd/ops_afs.c (mount_toplvl): set nfs_args_t version number.
   12527 
   12528 	* amd/ops_nfs.c (mount_nfs_fh): process nfs mount option resvport
   12529 	(must be supplied for bsdi 3.0)
   12530 
   12531 	* libamu/wire.c: use HAVE_FIELD_STRUCT_IFREQ_IFR_ADDR (and
   12532 	associated new macro) for determining the right way to compute the
   12533 	size of the interface structure.
   12534 
   12535 Fri Apr 11 15:56:13 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   12536 
   12537 	* aux/configure.in: need to include libc before libnsl if
   12538 	get_myaddress() is available because on irix libnsl has a buggy
   12539 	get_myaddress().
   12540 
   12541 	* include/am_defs.h: make sure REINSTATE_SIGNAL_HANDLER is defined
   12542 	on Irix 6 (an SVR4 variant)
   12543 
   12544 Thu Mar 27 02:28:40 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   12545 
   12546 	*******************************************************************
   12547 	*** Released am-utils-6.0a4					***
   12548 	*******************************************************************
   12549 
   12550 Wed Mar 26 21:15:36 1997  Erez "HWank1" Zadok  <ezk (a] lorien.cs.columbia.edu>
   12551 
   12552 	* amd/amq_subr.c (ok_security): turned off insecure code unless
   12553 	user explicitly runs configure --enable-amq-mount.
   12554 
   12555 	* hlfsd/hlfsd.c (main): use new protoypes dor create_nfs_service().
   12556 
   12557 	* amd/nfs_start.c (mount_automounter): use code that separately
   12558 	creates the NFS and the amq service.  Register tcp and udp
   12559 	services for amd.
   12560 
   12561 	* conf/transp/transp_*.c (create_amq_service): new function to
   12562 	separately create the amq service for amd.  Simplified prototypes
   12563 	for create_nfs_service().
   12564 
   12565 Wed Mar 19 20:40:56 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   12566 
   12567 	*******************************************************************
   12568 	*** Released am-utils-6.0a3					***
   12569 	*******************************************************************
   12570 
   12571 Wed Mar 19 17:49:18 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   12572 
   12573 	* new port: rs6000-ibm-aix3.2.5 and rs6000-ibm-aix4.1.5.0.  Lots
   12574 	of small changes to support these two.
   12575 
   12576 Wed Mar 19 14:33:30 1997  Erez Zadok  <ezk (a] grande.cs.columbia.edu>
   12577 
   12578 	* conf/umount/umount_default.c (umount_fs): bug: unlock_mntlist()
   12579 	should run if MOUNT_TABLE_ON_FILE, not otherwise.
   12580 
   12581 Mon Mar 17 22:02:43 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   12582 
   12583 	* hlfsd/hlfsd.c (main): fill in fhsize field if exists
   12584 	(freebsd-2.2).
   12585 
   12586 	* amd/ops_{nfs,afs}.c (mount_toplvl): fill in fhsize field if
   12587 	exists (freebsd-2.2).
   12588 
   12589 Sat Mar 15 19:37:48 1997  Erez "HWank1" Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   12590 
   12591 	* new port: i386-unknown-freebsd2.2.  FreeBSD 2.2 and higher
   12592 	changed the filehandle type in struct nfs_args from nfsv2fh_t to
   12593 	u_char.
   12594 
   12595 Sat Mar 14 10:11:03 1997  Erez "HWank1" Zadok  <ezk (a] lorien.cs.columbia.edu>
   12596 
   12597 	* SHARED LIBRARIES: too many changes to list individually.  Now,
   12598 	libamu can be built as a shared library, and other programs link
   12599 	with it.
   12600 
   12601 Tue Mar 11 22:24:09 1997  Erez "HWank1" Zadok  <ezk (a] lorien.cs.columbia.edu>
   12602 
   12603 	* aux/macros/opt_shared.m4: new macro for setting options for
   12604 	building shared am-utils libraries.
   12605 
   12606 Sun Mar  9 19:17:46 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   12607 
   12608 	* fixmount/fixrmtab: cleaned up the script.
   12609 
   12610 	* fixmount/Makefile.am (EXTRA_DIST): adde $(sbin_SCRIPTS) so that
   12611 	fixrmtab gets distributed too.
   12612 
   12613 	* conf/nfs_prot/nfs_prot_bsdi2.h: added support for MOUNTPROC_DUMP.
   12614 	Added extern for xdr_mountlist().
   12615 
   12616 	* aux/configure.in: trimmed down many tests for MNT2_GEN_OPT,
   12617 	MNT2_NFS_OPT, and MNTTAB_OPT that were not referenced anywhere in
   12618 	the sources.
   12619 
   12620 Sat Mar  8 00:23:58 1997  Erez Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   12621 
   12622 	* fixmount/hlfsd ported to bsd44, hpux, and linux systems.
   12623 
   12624 	* aux/macros/check_fixmount_style.m4: add check for bsd44 systems.
   12625 
   12626 	* conf/fixmount/fixmount_default.c: use lockf() if flock() is
   12627 	unavailable.
   12628 
   12629 	* include/am_defs.h: include <string.h> even if don't have
   12630 	STDC_HEADERS defined (sunos4).
   12631 	(seteuid): define seteuid() to be setresuid() for systems that
   12632 	have but not the other (hpux).
   12633 
   12634 	* aux/macros/check_extern.m4: test should include <strings.h>.
   12635 
   12636 Tue Mar  4 17:16:52 1997  Erez "HWank1" Zadok  <ezk (a] lorien.cs.columbia.edu>
   12637 
   12638 	* lib/xutil.c (debug_option): moved from amd/getargs.c to this
   12639 	more proper file.
   12640 
   12641 	* include/am_utils.h: put in structure for debug options, for all
   12642 	progams to use.
   12643 
   12644 	* amd/get_args.c: moved structure for debug options out.
   12645 
   12646 Sun Mar  2 00:13:07 1997  Erez "HWank1" Zadok  <ezk (a] lorien.cs.columbia.edu>
   12647 
   12648 	* ported fixmount.
   12649 
   12650 	* lib/ualarm.c: replacement function for systems that don't have a
   12651 	ualarm().
   12652 
   12653 	* ported fsinfo.
   12654 
   12655 Sun Mar  1 10:23:34 1997  Erez "HWank1" Zadok  <ezk (a] lorien.cs.columbia.edu>
   12656 
   12657 	* ported mk-amd-map.
   12658 
   12659 	* buildall: added -K option to buildall, to run mkconf.
   12660 
   12661 Fri Feb 28 01:10:25 1997  Erez "HWank1" Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   12662 
   12663 	*******************************************************************
   12664 	*** Released am-utils-6.0a2					***
   12665 	*******************************************************************
   12666 
   12667 Thu Feb 27 13:58:59 1997  Erez "HWank1" Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   12668 
   12669 	* all *.[hcyl] files: add copyright line.
   12670 
   12671 	* aux/macros/check_mount_type.m4: test for mount type for
   12672 	linux-like systems, by checking for loadable or statically linked
   12673 	kernel filesystem modules.
   12674 
   12675 	* aux/macros/check_mnttab_type.m4: test for mount table entry
   12676 	for linux-like systems, by checking for loadable or statically
   12677 	linked kernel filesystem modules.
   12678 
   12679 	* aux/configure.in: pcfs filesystems can use vfat type (linux)
   12680 
   12681 	* aux/macros/check_fs_mntent.m4: test for filesystem existence for
   12682 	linux-like systems, by checking for loadable or statically linked
   12683 	kernel filesystem modules.
   12684 
   12685 	* conf/trap/trap_hpux.h: ugly hack added because of stupide HPUX
   12686 	9.0 header files.  This should be removed when HPUX 9.0 is deemed
   12687 	defunct.
   12688 
   12689 	* aux/acconfig.h: set an undefined variable for having an extern
   12690 	to clnt_sperrno().
   12691 
   12692 	* include/am_defs.h: define extern for clnt_sperrno() if needed.
   12693 
   12694 	* aux/configure.in: test for extern clnt_sperrno().
   12695 
   12696 	* aux/macros/check_nfs_fh_dref.m4: HPUX's NFS fhandle dref is
   12697 	similar to irix.
   12698 
   12699 	* aux/macros/check_mount_style.m4: use mount helper on HPUX.
   12700 
   12701 	* aux/macros/check_mtype_type.m4: hpux's mount type is a char*,
   12702 	not integer (but may be mapped to one later).
   12703 
   12704 	* conf/mount/mount_hpux.c (mount_hpux): HPUX has confusing header
   12705 	files.  They have mount(2) and vfsmount(2) which don't take same
   12706 	arguments, and they have string mount types MNTTYPE_* as well as
   12707 	integer types MOUNT_*.  So I need this new mount function to map
   12708 	from string types to integer types for the vfsmount() function.
   12709 
   12710 	* conf/trap/trap_hpux.h (MOUNT_TRAP): instead of calling
   12711 	vfsmount(), call mount_hpux().
   12712 
   12713 Thu Feb 27 03:34:14 1997  Erez "HWank1" Zadok  <ezk (a] okeeffe.cs.columbia.edu>
   12714 
   12715 	* lib/mount_fs.c (mnt_flags): make sure SYNC option is on only if
   12716 	both MNTTAB_OPT_SYNC and MNT2_GEN_OPT_SYNC are defined.
   12717 
   12718 Thu Feb 27 00:26:00 1997  Erez "HWank1" Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   12719 
   12720 	* conf/nfs_prot/nfs_prot_hpux.h: NFS protocol definitions for
   12721 	hpux.
   12722 
   12723 	* include/am_defs.h: no need to include rpc/auth.h or rpc/clnt.h.
   12724 
   12725 	* aux/configure.in: no need to test for rpc/auth.h and rpc/clnt.h.
   12726 
   12727 	* buildall: added ability to configure using other shells than
   12728 	/bin/sh, on those systems where /bin/sh is buggy or limited
   12729 	(HPUX).
   12730 
   12731 	* aux/macros/struct_nfs_fh.m4: reinstated the macro but have it
   12732 	defined am_nfs_fh, and also test for plain typedef "nfs_fh".
   12733 
   12734 	* aux/acconfig.h: #undef am_nfs_fh, which is being defined by a
   12735 	reinstated macro.
   12736 
   12737 	* aux/configure.in: check for <nfs/export.h>
   12738 
   12739 	* include/am_defs.h: include <nfs/export.h> (HPUX) if exists.
   12740 
   12741 	* aux/macros/try_compile_nfs.m4: include <nfs/export.h> (HPUX) if
   12742 	exists.
   12743 
   12744 	* aux/macros/mount_headers.m4 (define): removed some non-working
   12745 	(on HPUX) code that attempts to recreate the fhandle_t rather than
   12746 	load it up from system headers.  Also added some NFS protocol
   12747 	header inclusion.  include <nfs/export.h> (HPUX) if exists.
   12748 
   12749 Wed Feb 26 00:32:35 1997  Erez "HWank1" Zadok  <ezk (a] okeeffe.cs.columbia.edu>
   12750 
   12751 	* aux/macros/mount_headers.m4 (define): Use M4 changequote to
   12752 	ensure [] brackets are correctly used.
   12753 
   12754 	* aux/macros/expand_cpp_{string,hex,int}.m4: encapsulate
   12755 	multi-line M4 inclusions in [].
   12756 
   12757 Tue Feb 25 22:19:44 1997  Erez "HWank1" Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   12758 
   12759 	* conf/mtab/mtab_bsd.c (mnt_dup): use statfs field f_fstypename if
   12760 	it exists.
   12761 
   12762 	* aux/acconfig.h: HAVE_FIELD_STRUCT_STATFS_F_FSTYPENAME, new
   12763 	config.h macro for field f_fstypename of struct statfs.
   12764 
   12765 	* aux/configure.in: testing for field f_fstypename field of struct
   12766 	statfs (NetBSD).
   12767 
   12768 	* aux/acconfig.h: moved all of the "static" definitions out to a
   12769 	fixed file called include/am_defs.h.  Added to all */Makefile.am
   12770 	files a dependency on am_defs.h.  Created am_defs.h of course, and
   12771 	then added #include <amd_defs.h> to all of the source and header
   12772 	files that required it.
   12773 
   12774 Mon Feb 24 01:27:02 1997  Erez Zadok  <ezk (a] defiant.soscorp.com>
   12775 
   12776 	* aux/acconfig.h: two more externals for xdr functions that may be
   12777 	implemented by libamu.
   12778 
   12779 	* conf/nfs_prot/nfs_prot_bsdi2.h: added missing RPC and XDR
   12780 	definitions.
   12781 
   12782 Sun Feb 23 15:25:26 1997  Erez "HWank1" Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   12783 
   12784 	* buildall (default): added -D option for turning on even stricker
   12785 	developer options.
   12786 
   12787 	* */Makefile.am: make sure @AMU_NFS_PROT_HEADERS@ is used to
   12788 	determine dependencies on optional NFS protocol headers.
   12789 
   12790 	* aux/acconfig.h: define and use HAVE_NFS_PROT_HEADERS as needed.
   12791 
   12792 	* aux/macros/check_nfs_prot_header.m4: new test to determine what
   12793 	NFS protocol headers to use.
   12794 
   12795 	* conf/nfs_prot/nfs_prot_{irix6,sunos4,bsdi2}.h: new headers to
   12796 	complete missing system headers for NFS protocol definitions.
   12797 
   12798 Sun Feb 16 15:58:42 1997  Erez "HWank1" Zadok  <ezk (a] vir.cs.columbia.edu>
   12799 
   12800 	* amd/ops_nfs.c (mount_nfs_fh): encapsulated some more code in
   12801 	#ifdef's as needed.
   12802 
   12803 	* amd/ops_afs.c (mount_toplvl): make sure TIMEO/RETRANS code is
   12804 	suitable #ifdef'ed.
   12805 
   12806 	* include/am_compat.h: a couple more mnttab options
   12807 	(timeo/retrans) setting just in case.
   12808 
   12809 	* amd/autil.c (host_normalize): make sure hostent->h_name is
   12810 	passed a non-const char *.
   12811 
   12812 	* conf/mount/mount_linux.c (mount_linux): cleaned up a block of code.
   12813 
   12814 	* {lib,amq,amd}/*.c (many functions): cast xdr_entry to
   12815 	XDRPROC_T_TYPE.
   12816 
   12817 	* lib/nfs_prot_svc.c (nfs_program_2): cast xdr_entry to
   12818 	XDRPROC_T_TYPE.
   12819 
   12820 	* lib/nfs_prot_xdr.c (xdr_entry): cast xdr_entry to
   12821 	XDRPROC_T_TYPE.
   12822 
   12823 	* lib/wire.c (getwire): Make sure safe assignment from const to
   12824 	none is done.
   12825 
   12826 Sat Feb 15 19:38:51 1997  Erez "HWank1" Zadok  <ezk (a] vir.cs.columbia.edu>
   12827 
   12828 	* aux/macros/expand_cpp_int.m4: new macro for expanding integers.
   12829 
   12830 	* aux/configure.in: added linux/fs.h support in configure and
   12831 	several M4 macros.
   12832 
   12833 	* conf/mount/mount_linux.c (mount_linux): use macro instead of
   12834 	"ugly" fixed hex number for mount() arguments.
   12835 
   12836 Sat Feb 15 02:09:47 1997  Erez "HWank1" Zadok  <ezk (a] lorien.cs.columbia.edu>
   12837 
   12838 	* amd/info_hesiod.c: removed macro HAVE_HS_ZONE_TRANSFER and
   12839 	turned all of its code always on.  That code always seems to
   12840 	compile, as long as you have hesiod and libresolv.
   12841 
   12842 	* amd/mapc.c: removed macro HAVE_HS_ZONE_TRANSFER and turned all
   12843 	of its code always on.
   12844 
   12845 	* aux/configure.in: removed superfluous test for hs_zone_transfer
   12846 	function (will never find it because it is an amd-internal
   12847 	function).
   12848 
   12849 	* amd/mapc.c (maptypes): must used correct new name for am-utils'
   12850 	hesiod initialization function: hesiod_am_init.
   12851 
   12852 	* amd/info_hesiod.c (hesiod_am_init): renamed hesiod_init to
   12853 	hesiod_am_init so as not to conflict with libhesiod's
   12854 	hesiod_init() function.
   12855 
   12856 	* aux/configure.in: added test and explicit inclusion of
   12857 	libresolv.a for later resolution of library references with
   12858 	libhesiod.
   12859 
   12860 	* aux/macros/opt_cppflags.m4: new file.  configure/compile C
   12861 	preprocessor flags.
   12862 
   12863 	* aux/macros/opt_libs.m4: new file.  configure/compile library
   12864 	flags.
   12865 
   12866 	* Makefile.am (EXTRA_DIST_AUX): include two new macros
   12867 	opt_cppflags.m4 and opt_libs.m4.
   12868 
   12869 	* aux/configure.in: test for libhesiod needs to additional
   12870 	libresolv to link completely.  Additional configuration time
   12871 	options added for setting initial CPPFLAGS and LIBS.
   12872 
   12873 Tue Feb 10 02:15:40 1997  Erez "HWank1" Zadok  <ezk (a] lorien.cs.columbia.edu>
   12874 
   12875 	*******************************************************************
   12876 	*** Released am-utils-6.0a1					***
   12877 	*******************************************************************
   12878 
   12879 Thu Feb  6 02:55:19 1997  Erez "HWank1" Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   12880 
   12881 	* amd/info_ndbm.c (ndbm_search,ndbm_init): fixed the code so that
   12882 	it works on freebsd, where they map dbm_pagfno a non-existing
   12883 	macro on purpose, to force you to port the code to Berkeley DB.
   12884 
   12885 Fri Jan 31 01:35:09 1997  Erez "HWank1" Zadok  <ezk (a] lorien.cs.columbia.edu>
   12886 
   12887 	* amd/ops_afs.c (mount_toplvl): added a sleep(1) right before the
   12888 	actual mount_toplvl, to avoid some possible race conditions.
   12889 
   12890 Thu Jan 30 02:31:49 1997  Erez "HWank1" Zadok  <ezk (a] lorien.cs.columbia.edu>
   12891 
   12892 	* amd/rpc_fwd.c: removed all TLI (HAVE_T_OPEN) code.
   12893 
   12894 Wed Jan 29 18:25:07 1997  Erez "HWank1" Zadok  <ezk (a] lorien.cs.columbia.edu>
   12895 
   12896 	* lib/wire.c (getwire): removed HAVE_T_OPEN (TLI code)
   12897 
   12898 	* amd/amd.c (main): fix local address using htonl(). Free up
   12899 	buffers allocated by netdir_*() functions.
   12900 
   12901 Wed Jan 22 23:53:24 1997  Erez "HWank1" Zadok  <ezk (a] lorien.cs.columbia.edu>
   12902 
   12903 	* amd/fix-amd-map.in: new script that will convert old-style amd
   12904 	maps to new one.
   12905 
   12906 Tue Jan 21 01:18:16 1997  Erez "HWank1" Zadok  <ezk (a] lorien.cs.columbia.edu>
   12907 
   12908 	* FIRST AMD IN AM-UTILS FINALLY WORKS (mounts itself as toplvl,
   12909 	and replies back to simple nfs/link type mount queries).
   12910 
   12911 	* conf/mtab/mtab_svr4.c: reorganized the code in this file to be
   12912 	easier to read, and fixed a few bugs with un/setting the lock file
   12913 	descriptor.
   12914 
   12915 Wed Jan  8 15:27:49 1997  Erez "HWank1" Zadok  <ezk (a] lorien.cs.columbia.edu>
   12916 
   12917 	* amd/sched.c: removed HAS_SVR3_SIGNALS code to handle older
   12918 	signals in Svr3 systems.  Only stellix ever used this.
   12919 
   12920 	* amd/rpc_fwd.c (fwd_reply): removed all code that was triggered
   12921 	by DYNAMIC_BUFFERS, since it was not in use.
   12922 
   12923 Tue Jan  7 00:45:59 1997  Erez "HWank1" Zadok  <ezk (a] lorien.cs.columbia.edu>
   12924 
   12925 	* amd/opts.c (eval_opts): removed AMD_COMPAT code.  Amd no longer
   12926 	takes '=' sign as old selector.  Fix your maps.
   12927 	(deslashify): removed APOLLO code that treated two '//' as one.
   12928 
   12929 Sun Jan  5 01:25:09 1997  Erez "HWank1" Zadok  <ezk (a] lorien.cs.columbia.edu>
   12930 
   12931 	* amd/ops_nfsx.c (nfsx_init): removed HARD_NFSX_ERRORS, code which
   12932 	was not used.  It made any submount error fail the whole group.
   12933 
   12934 	* amd/ops_nfs.c (make_nfs_auth): removed code dependent on
   12935 	HAS_NFS_QUALIFIED_NAMES.
   12936 	(mount_nfs_fh): removed macro for NFS_ARGS_NEEDS_PATH, assuming it
   12937 	is never on.  So code that was triggered by #ifndef
   12938 	NFS_ARGS_NEEDS_PATH (osf1, aix3, and bsd44 variants) may have to
   12939 	be fixed later.
   12940 	Removed all ULTRIX_HACK code.  Ultrix is DEAD!
   12941 	removed all PRESET_AC code, which was only on for Linux to preset
   12942 	the attribute cache values (otherwise they default to zero).
   12943 	(nfs_umounted): revobed KICK_KERNEL code (IRIX systems).  Will
   12944 	have to fixed up later.
   12945 	(mount_nfs_fh): removed code that was never included, which
   12946 	attempted to set the port on which amd's nfs mounts on.  This
   12947 	isn't supported by the ping algorithm yet.  In any case, it is all
   12948 	done in nfs_init().
   12949 
   12950 	* amd/srvr_nfs.c (find_nfs_srvr), amd/ops_nfs.c (mount_nfs_fh):
   12951 	removed HAS_TCP_NFS code.  The whole use of NFS V.3 with TCP or
   12952 	specially hacked NFS V.2 that uses TCP (BSD 4.4 variants) will
   12953 	have to be addressed later.
   12954 
   12955 	* amd/nfs_subr.c (nfsproc_getattr_2): removed all code dependent
   12956 	on PRECISE_SYMLINKS.
   12957 
   12958 	* amd/mapc.c (mapc_meta_search): removed code that depended on
   12959 	HAS_DEPOT.  It is known buggy code.  The whole DEPOT support needs
   12960 	to be rethought.
   12961 	(mapc_add_kv): ported code to use standard regular expression
   12962 	(regexp) library.
   12963 
   12964 	* amd/{map.c,ops_sfs.c,ops_ufs.c}: removed all code dependent on
   12965 	FLUSH_KERNEL_NAME_CACHE and the macro itself.
   12966 
   12967 Sat Jan  4 15:46:58 1997  Erez "HWank1" Zadok  <ezk (a] lorien.cs.columbia.edu>
   12968 
   12969 	* amd/map.c (exported_ap_alloc): removed all code triggered by
   12970 	SHRINK_EXPORTED_AP and the macro itself.
   12971 
   12972 	* amd/info_nis.c: removed HAS_NIS_RELOAD macro, and left the code
   12973 	in all the time.  Assuming that there is always NIS realod
   12974 	available.
   12975 	(yp_all_fixed): removed code for BROKEN_YP_ALL.  If your yp_all()
   12976 	function is broken such that it does not release filedescriptors
   12977 	it created, then you are hosed.  Get a fix for yp_all from your
   12978 	vendor or switch operating systems.
   12979 
   12980 Tue Dec 31 15:34:36 1996  Erez "HWank1" Zadok  <ezk (a] lorien.cs.columbia.edu>
   12981 
   12982 	* amd/info_hesiod.c: renamed macro HAS_HESIOD_RELOAD to
   12983 	HAVE_HS_ZONE_TRANSFER.
   12984 
   12985 Mon Dec 30 17:33:23 1996  Erez "HWank1" Zadok  <ezk (a] lorien.cs.columbia.edu>
   12986 
   12987 	* amd/{nfs,host}_ops.cremoved INFORM_MOUNTD macro, so its code is
   12988 	always included.  We should always try to inform the remove mount
   12989 	daemon of mounts we performed.  If we want an option for this, it
   12990 	should be a run-time option.
   12991 
   12992 	* amd/host_ops.c: removed all that optionally did not make the
   12993 	directory mount points for amd.
   12994 
   12995 	* HOST_EXEC code removed from everywhere.  There is no indication
   12996 	that it was used anywhere.  If it needs to be used, then a
   12997 	run-time switch should control it.
   12998 
   12999 Thu Dec 26 00:06:52 1996  Erez "HWank1" Zadok  <ezk (a] lorien.cs.columbia.edu>
   13000 
   13001 	* amd/*_ops.c: removed all references to mntent_t's fields
   13002 	mnt_freq and mnt_passno, since they are no longe rused (and never
   13003 	have been).
   13004 
   13005 	* amd/am_ops.c: removed function sunos4_match, which was off
   13006 	anyway.  This was one of the places where an '=' sign was allowed
   13007 	as an assignment operator (which is now ':=').
   13008 
   13009 	* amd/afs_ops.c (afs_bgmount): removed SUNOS4_COMPAT code which
   13010 	was off anyway.  This was one of the places where an '=' sign was
   13011 	allowed as an assignment operator (which is now ':=').
   13012 
   13013 Tue Dec 24 01:53:52 1996  Erez "HWank1" Zadok  <ezk (a] lorien.cs.columbia.edu>
   13014 
   13015 	* amq/amq.c: ported to am-utils.  Working.
   13016 
   13017 	* conf/mount/mount_svr4.c (mount_svr4): changed mount type on svr4
   13018 	to be string, as it should be (rather than a string mapped to int
   13019 	and back mapped to string).
   13020 
   13021 Sun Dec 22 13:26:05 1996  Erez "HWank1" Zadok  <ezk (a] lorien.cs.columbia.edu>
   13022 
   13023 	* lib/mount_fs.c (mount_fs): removed MNTINFO_PREF code.
   13024 
   13025 	* lib/umount_fs.c: split this into three files: default, osf, and
   13026 	bsd44, that are in conf/umount/umount_*.c.
   13027 
   13028 Thu Dec 19 17:33:46 1996  Erez "HWank1" Zadok  <ezk (a] lorien.cs.columbia.edu>
   13029 
   13030 	* aux/configure.in, aux/aclocal.m4, aux/acconfig.h: added new
   13031 	macro to automatically figure out if an external definition for
   13032 	sys_errlist[] exists.
   13033 
   13034 	* lib/xutil.c (xfree): removed "#undef free" because it's not
   13035 	needed there.  Any system that redefines free() needs help.
   13036 
   13037 	* conf/mtab/mtab_file.c (REWRITE_MTAB_IN_PLACE): removed code that
   13038 	was dependent on REWRITE_MTAB_IN_PLACE.  It does not appear to be
   13039 	in active use anywhere.  If added later, it should be a run-time
   13040 	configuration option.
   13041 
   13042 	* conf/mtab/mtab_mach3.c: removed code that was #ifdef'ed not to
   13043 	be MOUNT_TABLE_ON_FILE, since mach2 always stores its mount tables
   13044 	in a file in /etc.
   13045 
   13046 	* lib/util.c (str3cat): removed _AIX code.  AIX should have a
   13047 	working realloc, or else find a cleaner solution to this.
   13048 	(mkdirs): removed SUNOS4_WORKAROUND code.  This was to do a sync()
   13049 	after immediately making directories so that fsck will be able to
   13050 	fix the filesystem in the event of an immediate crash.  This was
   13051 	because a bug in UFS which is fixed by now.
   13052 
   13053 	* lib/hutil.c (domain_strip): removed PARTIAL_DOMAINS triggered
   13054 	code.  Does not appear to be on and used anywhere.
   13055 	(dofork): removed MACH3 code, b/c mach3 NFS bugs are fixed by now.
   13056 
   13057 	* lib/resvport.c: split the binding of reserved ports code to a
   13058 	separate file.  A #define (HAVE_T_OPEN) separates the TLI (SVR4)
   13059 	from the BSD code.
   13060 
   13061 Thu Dec 19 02:08:35 1996  Erez "HWank1" Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   13062 
   13063 	* lib/Makefile.am (amu_LIBADD): includs @LIBOBJS@ now, auto-filled
   13064 	in by automake and configure, for optional sources that need to be
   13065 	built as part of libamu.a.
   13066 
   13067 	* aux/aclocal.m4: Make sure AC_CHECK_MOUNT_STYLE adds mountutil.o
   13068 	to LIBOBJS.
   13069 
   13070 	* lib/memcmp.c (memcmp): new file added to replace a possible bad
   13071 	implementation of memcmp.
   13072 
   13073 Wed Dec 18 22:20:23 1996  Erez "HWank1" Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   13074 
   13075 	* converted the sources to use memset/memmove/memcmp instead of
   13076 	bzero/bcopy/bcmp.
   13077 
   13078 	* ran all sources through gnu Indent w/ options specified in
   13079 	aux/amindent.
   13080 
   13081 Wed Dec 11 22:19:29 1996  Erez "HWank1" Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   13082 
   13083 	* At this point the initial generation of config.h via autoconf and
   13084 	some preliminary makefiles via automake is done.  I will not begin
   13085 	modifying sources, so it's a good time to document from here.
   13086 
   13087 Wed Dec 10 22:19:29 1996  Erez "HWank1" Zadok  <ezk (a] shekel.mcl.cs.columbia.edu>
   13088 
   13089 	*******************************************************************
   13090 	*** Initial ChangeLog Entry					***
   13091 	*******************************************************************
   13092