1*** Notes specific to am-utils version 6.1.5 2 3New amd.conf global parameter: nfs_allow_any_interface. By default it is 4set to 'no' which means that Amd accepts local NFS packets only from 5127.0.0.1. If set to 'yes' then Amd will accept local NFS packets from any 6local interface; this is useful on hosts that may have multiple interfaces 7where the system is forced to send all outgoing packets (even those bound to 8the same host) via an address other than 127.0.0.1. 9 10Add support for specifying the host to match in the mount selectors netgrp 11and netgrpd. Now one can use either netgrp(<group-name>) or 12netgrp(<group-name>,<host-name>). 13 14- Bugs fixed: 15 * handle old-style filehandles correctly (for mount points longer 16 than 28 chars) 17 * don't turn off attribute cache for regular NFS mounts (improves 18 performance) 19 * detect G/DBM support via gdbm_compat library (Debian) 20 * detect NDBM support in libc (FreeBSD 6) 21 22- minor new ports: 23 i386-unknown-freebsd6.1 (RELEASE) 24 i386-unknown-openbsd3.9 25 powerpc-apple-darwin8.6.0 26 27*** Notes specific to am-utils version 6.1.4 28 29Support new mount options for type:=pcfs mounts: longname, nowin95, 30shortname, user=N, group=N, mask=N, and dirmask=N. 31 32Two new amd.conf [global] parameters: nfs_retry_interval_toplvl and 33nfs_retransmit_counter_toplvl. They are similar to nfs_retry_interval and 34nfs_retransmit_counter, and allow you to set the "timeo" and "retrans" NFS 35mount parameters, respectively, but ONLY for Amd's top-level mounts (which 36are NFSv2/UDP currently). This is useful because on some systems you may 37wish to set these parameters differently than the OS default, so as to 38better tune Amd's responsiveness under heavy scheduler loads. 39 40- minor new ports: 41 i386-pc-linux-fc5 (Fedora Core 5) 42 i386-pc-linux-suse10.1 (beta 8) 43 i386-unknown-freebsd6.0 (RELEASE) 44 i386-unknown-netbsdelf2.1 45 i386-unknown-netbsdelf3.0 (RELEASE) 46 i386-unknown-openbsd3.8 47 powerpc-apple-darwin8.5.0 48 49- Bugs fixed: 50 * one serious memory leak in amfs_generic (caught by Coverity) 51 * assorted potential (but rare) NULL pointer dereferences (Coverity) 52 * correctly print nfs_args->addr info (sin_family/port/addr) 53 * pawd should resolve path repeatedly until no more to do 54 * use-after-free bug in amfs_lookup_mntfs (Coverity) 55 56*** Notes specific to am-utils version 6.1.3 57 58- Bugs fixed: 59 * amq should de-register properly on exit 60 * convert all sprintf to safer xsnprintf 61 * convert all strcat to safer xstrlcat 62 * convert all strcpy to safer xstrlcpy 63 * fix three buffer overruns in expand_op (amd/opts.c) 64 * pawd was trying UDP only, now try TCP if UDP failed 65 66Moved pawd's path-matching functionality into Amd, where it can be done a 67lot more efficiently (we no longer need to construct and send the whole 68mounted tree, only to match small parts of it). This will lessen the CPU 69and network load on systems that use pawd heavily, and also minimize the 70chance that we exceed default or hard-coded UDP/TCP RPC packet sizes. 71 72*** Notes specific to am-utils version 6.1.2.1 73 74- Bugs fixed: 75 * properly turn off the attrcache in freebsd and openbsd 76 * can turn off attrcache on netbsd, but need kernel patch, see 77 README.attrcache 78 * pawd goes into an infinite loop on type:=auto 79 * consistent search for file system mnttab/mount names 80 81*** Notes specific to am-utils version 6.1.2 82 83MAJOR BUG FIXES: Synchronize Amd's view of its file systems with the 84kernel's NFS client-side DNLC/dcache. Amd changes its view when it reloads 85maps (automatically or via "amq -f") because new map entries could be added, 86old one removed, or existing ones changed. Amd also changes its view when a 87simple entry has expired and was flushed, or was forced out via "amq -u". 88Amd was not updating the mtime of its parent directory (often the amd 89automount point): this resulted in the kernel re-using cached entries, which 90are now possibly stale. Many users had seen this problem in the form of 91occasional ESTALE errors, or dangling/broken automounted symlinks, 92especially on systems under heavy use. To tell the kernel to ignore (flush) 93its old entries for an directory, the mtime of the directory must be updated 94(monotonically incremented). Amd was indeed doing so in several places, but 95unfortunately it was using time(2) which only provides a one-second 96resolution clock: this was fine a decade ago, but not good enough on today's 97fast systems; using only a one-second resolution clock meant that on busy 98systems that invoke Amd many times a second, some rapidly changing entries 99do not get flushed from the kernel, and the kernel thus uses stale entries. 100The solution to all of these was to rework the whole clock timer updates to 101use gettimeofday(), using a micro-second resolution timer, and to use that 102time whenever Amd needs to update an mtime/atime/ctime of any node. 103Finally, we now update the mtime in places that were never updated before 104(when a whole map is flushed or a single entry times out). 105 106Warning: some OSs, we discovered, are incapable of turning off their 107NFS attribute cache entirely. This means that Amd cannot work fully 108reliability on these systems, not under heavy load. This is documented in 109detail in the README.attrcache file included with this distribution. 110 111Include test-attrcache script to test the NFS attribute cache behavior using 112Amd. 113 114Tell syslog not to log automatically to /dev/console; it's unfriendly. If 115user really wants to, they can set it in /etc/syslog.conf. 116 117- minor new ports: 118 i386-pc-linux-deb3.1 119 i386-unknown-netbsdelf3.0 120 powerpc-apple-darwin8.2.0 121 122- bugs fixed: 123 * minor documentation corrections 124 125*** Notes specific to am-utils version 6.1.1 126 127New amd.conf global parameter: forced_unmounts (default to "no"). If set to 128"yes," and the client OS supports forced or lazy unmounts, then Amd will 129attempt to use them if it gets any of three serious error conditions when 130trying to unmount an existing mount point or mount on top of one: EIO, 131ESTALE, or EBUSY. This could be useful to recover from serious conditions 132such as hardware failure of mounted disks, or NFS servers which are down 133permanently, were migrated, or changed their IP address. Only 134"type:=toplvl" mounts hung with EBUSY are forcibly unmounted using this 135option: this is useful to ensure that a new Amd can mount itself even if a 136previous Amd died and left its mount points hung, or to force Amd to 137shutdown cleanly, even if some processes (i.e., user shells) have their CWD 138on Amd's own mount point. This functionality is available for Linux, BSD44 139systems, Solaris, OSF/1, and partially for AIX. 140 141New amd.conf global parameter: truncate_log (default to "no"). If set to 142"yes", then Amd will truncate the log file (if it's a regular file) on 143startup. This could be useful when conducting extensive testing on Amd maps 144(or Amd itself) and you don't want to see log data from a previous run in 145the same file. 146 147- minor new ports: 148 i386-pc-linux-fc4 149 i386-pc-linux-suse9.3 150 i386-pc-linuxoldld-deb3.1 151 152- bugs fixed: 153 * safer mtab handling for Linux (locks + handles /proc/mounts) 154 * small compile problems on Solaris 6 (rpcvers_t) 155 * small compile problems on HPUX 10 (h_errno) 156 * possibly missing definition of INADDR_NONE in wire.c 157 * extern for sleep(3) may be missing on older gcc systems 158 * updated nfs_args structure on aix4. 159 * possible running off end of exported_ap[] array. 160 * buffer overflow in pawd. 161 * aix4 clean build. 162 * use strlcat/snprintf in a few places for safety. 163 * recover from IP address change of a down NFS server 164 * don't discard restarted mntfs that was used. 165 166*** Notes specific to am-utils version 6.1 167 168- bugs fixed: 169 * set timeo/retrans for type:=nfs only if user asked 170 171Also, if you want to know what's new in 6.1 compared to 6.0.x, it's 172EVERYTHING below this line, up to "6.0.4." Yes, that's a lot of stuff. 173 174*** Notes specific to am-utils version 6.1-rc7 175 176Remove alloca from am-utils, and rewrite code that used it. 177 178Assorted minor code cleanups. 179 180- minor new ports: 181 alpha-unknown-linux-gentoo1.4.16 182 alphaev56-dec-osf4.0f (using both cc and gcc) 183 mips-sgi-irix6.5 (using both cc and gcc) 184 mips-unknown-linux-gentoo1.4.16 185 sparc64-unknown-linux-gentoo1.4.16 186 187- bugs fixed: 188 * getwire() detects networks correctly on OSF/1 189 190*** Notes specific to am-utils version 6.1-rc6 191 192- minor new ports: 193 i386-pc-linux-deb3.0 194 i386-pc-linux-gentoo1.4.16 195 i386-pc-linux-suse9.2 196 i386-unknown-freebsd5.4 197 i386-unknown-netbsdelf2.0.2 198 i386-unknown-openbsd3.7 199 powerpc-unknown-linux-yellowdog2.3 200 201- bugs fixed: 202 * minor compile error of nfs_subr.c on some systems. 203 * AIX 5.2/5.3 PPC compile fixes. 204 205*** Notes specific to am-utils version 6.1-rc5 206 207For NetBSD systems, $os used to say "netbsdelf1" or "netbsdelf2." Now it 208just says "netbsd." 209 210- minor new ports: 211 powerpc-apple-darwin7.9.0 212 213- bugs fixed: 214 * silly (but nasty) null pointer dereferencing 215 * improved fix for '-opts' syntax for resetting map options 216 217*** Notes specific to am-utils version 6.1-rc4 218 219- bugs fixed: 220 * check for "macosx" in M4 macros properly 221 * minor memory leaks (thanks to Valgrind) 222 223*** Notes specific to am-utils version 6.1-rc3 224 225Minor fix to configure.in. Reran bootstrap to get a working configure 226script that indeed checks for certain Linux nfs/autofs headers. 227 228*** Notes specific to am-utils version 6.1-rc2 229 230New amd.conf global parameter: normalize_slashes (default to "yes"). If set 231to "no," then Amd will not condense repeated slashes or remove trailing ones 232from strings representing pathnames. This is sometimes useful with SMB 233mounts, which often require multiple slash characters in pathnames. 234 235Using a custom version of strlcpy instead of strncpy (but only where it 236makes sense), to minimize string overflow changes. Audited all use of 237strncpy/strlcpy to ensure safety. 238 239On Apple machines, use "powerpc" for $arch, instead of "Power Macintosh". 240Also, use sw_vers to find out more appropriate OS name (macosx) and OS 241version (10.3.x) than uname(3) reports. 242 243- minor new ports: 244 powerpc64-unknown-linux-rhel4 245 powerpc64-unknown-linux-sles9 246 247- bugs fixed: 248 * pawd handles all file systems 249 * fix double-free in type:=nfsx 250 * timeo and retrans shouldn't be set for type:=toplvl 251 * fix inconsistency in handling filehandle generation number 252 * document proper use of hosts.allow (don't spawn) 253 * single dash '-' map entry now resets the defaults 254 255*** Notes specific to am-utils version 6.1-rc1 256 257- minor new ports: 258 i386-pc-linux-fc2 (Fedora Core 2). 259 i386-pc-linux-fc3 (Fedora Core 3). 260 i386-pc-linux-rhel3 261 i386-pc-linux-rhel4 262 i386-pc-linux-suse8.2 263 i386-pc-linux-suse9.1 264 i386-pc-solaris2.10 265 i386-unknown-freebsd4.8 266 i386-unknown-freebsd4.9 267 i386-unknown-freebsd4.10 268 i386-unknown-freebsd4.11 269 i386-unknown-freebsd5.1 (5.1-RELEASE) 270 i386-unknown-freebsd5.2 (5.2-RELEASE) 271 i386-unknown-freebsd5.2.1 (5.2.1-RELEASE) 272 i386-unknown-freebsd5.3 (5.3-RELEASE) 273 i386-unknown-freebsd6.0 (6.0-CURRENT-SNAP001) 274 i386-unknown-netbsdelf1.6.1 275 i386-unknown-netbsdelf2.0 276 i386-unknown-openbsd3.6 277 ia64-hp-hpux11.20 278 ia64-unknown-linux-rhel4 279 mipsel-unknown-linux-rhPS2 (Linux on Sony PlayStation 2) 280 powerpc-apple-darwin7.6.0 281 powerpc-apple-darwin7.7.0 282 powerpc-apple-darwin7.8.0 283 powerpc-ibm-aix5.2.0.0 284 powerpc-ibm-aix5.3.0.0 285 sparc-sun-solaris2.10 286 sparc64-unknown-linux-deb3.0 287 x86_64-unknown-linux-rh2.9.5AS 288 289- support for executable maps ala Sun automounter. Set map_type=exec in 290 amd.conf, and map_name to a program/script that takes a key as argv[1], 291 and returns key-value pair on stdout. See also exec_map_timeout [global] 292 parameter which defines how many seconds (default 10 sec) Amd will wait 293 for an executable map program to return output before timing out. See 294 am-utils manual for full details. 295 296- new amd.conf parameter "nfs_allow_insecure_port". Used to work around 297 bugs in certain kernels, which cause them to try and talk to amd from 298 unprivileged ports. 299 300- new amd.conf parameter: localhost_address. Used to override the localhost 301 (often 127.0.0.1) address Amd uses to connect to for the local NFS server 302 and RPC server. 303 304- new amd.conf [global] parameter: domain_strip (default "yes"). If set to 305 "no," Amd won't strip domain names from host names, which is useful if 306 your Amd maps are served by multiple domains and you want to tell from the 307 logs which exact host did what. 308 309- new amd.conf [global] parameter: auto_attrcache (default to 0). Sets 310 Amd's own NFS attribute-cache timeout in seconds. A value of 0 turns off 311 attribute caching, meaning that Amd will be consulted via a kernel-RPC 312 each time someone stat's the mount point (which could be abused as a 313 denial-of-service attack). If you're concerned, set this to something 314 greater than zero (a value of 1 second is currently recommended). 315 Warning: if you set this option to any non-zero value, especially a large 316 value, and you get ESTALE errors on your particular OS, then set this 317 value back to 0 seconds. 318 319- four new amd.conf [global] parameters, similar to nfs_retry_interval and 320 nfs_retransmit_counter, which allow you to set the "timeo" and "retrans" 321 NFS mount parameters, respectively. Now you can set those parameters 322 globally and separately for UDP vs. TCP, using any of these: 323 nfs_retry_interval_udp, nfs_retransmit_counter_udp nfs_retry_interval_tcp, 324 and nfs_retransmit_counter_tcp. 325 326- new amd.conf [global] parameter: preferred_amq_port. Allows you to select 327 the UDP+TCP port that Amd's amq service will use with the RPC portmapper. 328 Useful with firewalls and NAT'ed environments. 329 330- new amd.conf option "debug_mtab_file". Allows user to define the mtab 331 file during debug-mtab mode. The default path is "/tmp/mnttab". 332 333- new function selector xhost(ARG) which will match ARG against the current 334 host name. This works even if ARG is a CNAME (unlike the host==ARG 335 selector). 336 337- support restarting the automounter's own mount points (only over NFS, 338 for now). 339 340- fully support WebNFS as per RFC 2054. It now tries v3/TCP first, falling 341 back to v2/UDP if this doesn't work. The "webnfs" pseudo-mount options 342 has been renamed (again) to "public" to match Solaris 2. 343 344- restructured the restarting of already-mounted filesystems, in the process 345 also fixing a problem with restarting nfsx components. 346 347- support escaped slashes, needed for SMB mounts. Use '\\\/\\\/' in a 348 string to get a double slash. 349 350- amd -v now prints domain, host, and hostd values: foo, example.com, and 351 foo.example.com, respectively. 352 353- On Linux, if umount(2) failed with EIO or ESTALE, try the new umount2(2) 354 system call with MNT_FORCE+MNT_DETACH. This could be quite helpful to 355 unmounting hung mount points that otherwise cannot be fixed without a 356 reboot. 357 358- The ping=N mount option now works. N defaults to 30 seconds for all NFS 359 servers. It can now be set to any value for each server separately. 360 Setting it to a large value can reduce the amount of NFS_NULL chatter on 361 your network considerably, especially in large sites. Setting this to -1 362 will turn off pings for that server (useful in NFS-HA setups). Setting N 363 to 0 will pick the default ping value in Amd (currently 30 seconds). Note 364 that if you have multiple Amd entries using the same file server, and each 365 entry sets a different value of N, then each time Amd mounts a new entry, 366 the ping value will be re-evaluated (and updated, turned off, or turned 367 back on as needed). Note that NFS_NULL pings are sent for both UDP and 368 TCP mounts, because even a hung TCP mount can cause user processes to 369 hang. 370 371- file system inheritance code restructured, so it's no longer a pseudo file 372 system, but actually integrated into Amd (as it should have been). 373 374- for type:=program, the "umount" program doesn't have to be defined; it'll 375 default to "unmount ${fs}". 376 377- "amd -v" now prints the distribution name if it's known (e.g., rh9, fc3, 378 suse8, etc.). 379 380- bugs fixed: 381 * various memory management problems (leaks, etc) 382 * fixed nfsx support 383 * fixed a race involving late replies to network queries which 384 arrive after the file system has already been mounted 385 * recognize pcfs_args_t fields in FreeBSD 5 386 * recognize other mount types in pawd: host, linkx, and nfsx 387 * allow exactly one of umount and unmount in type:=program 388 * race condition between calls to mntctl() on AIX 389 * plock/mlockall wasn't inherited by fork(); moved after 390 daemonizing. 391 * fix inconsistency between Socket and TLI RPC timeouts. 392 * don't warn when couldn't rmdir a dir with a readonly ancestor. 393 * avoid hangs of amd in ctl-amd (must chdir to /) 394 * workaround occasional daemonizing problems (parent won't die) 395 * don't hang on exit if debug_options=mtab was used 396 * utimeout=N mount option works with non-nfs types (ufs, pcfs, etc.) 397 * SEGV (null pointer deref) in type:=program and type:=cachefs 398 * unmount_on_exit of type:=program caused amd to hang 399 * match amd2ldif output with ldap.schema 400 401*** Notes specific to am-utils version 6.1b4 402 403- minor new ports: 404 i686-apple-darwin6.6 405 406- speed up the recovery of inherited (restarted) filesystems by using the 407 proper waiting channels 408 409- added support for mounting webnfs filesystems, see entry below. It doesn't 410 do any probing currently, so it will default to v2/UDP unless another 411 version and/or protocol are explicitly specified. 412 413- pseudo-mount option "ignore_portmapper" renamed to "webnfs" 414 415- bugs fixed: 416 * properly time out autofs filesystems on Linux 417 * link mounts with relative targets weren't working on autofs 418 * the link side of the nfsl file system wasn't working on autofs 419 * umount code was accidentally turning all symlinks into directories 420 during attempted umounts, causing stale filehandles 421 * various minor build fixes for "impossible" configurations 422 * prevent ldap code from dereferencing a null pointer 423 424*** Notes specific to am-utils version 6.1b3 425 426- new amd.conf option autofs_use_lofs, set by default to "yes". "yes" means 427 using in-place mounts (lofs, bind mounts, etc.), thus utilizing one of 428 Autofs's main advantages. "no" means using symlinks instead, which has 429 the "/bin/pwd" problem and certain efficiency issues on Solaris 2.6+ and 430 is also not supported on Solaris Autofs v1 and derivatives; however, the 431 autofs code that uses symlinks is simpler and more thoroughly tested. 432 433- new amd.conf option map_default (can be used in [global] and overwritten 434 in the per-map section). This will overwrite the /defaults entry of the 435 map itself, to allow people to set defaults in amd.conf (useful when you 436 cannot control your amd maps, or you'd rather not modify them globally). 437 438- for type:=program, you can use either unmount:=XXX or umount:=XXX (but not 439 both). This new 'unmount' name is an alias for convenience. 440 441- fixed the "multiple matching sub-entries in a map entry" semantics to try 442 mounting those sub-entries one by one, until either one succeeds or all 443 fail. The old semantics of trying to mount everything in parallel and use 444 the one that mounted fastest hasn't worked in a long time; in fact, 6.0 445 currently simply ignores all but the first matching sub-entry. 446 447- made amd fail much faster (instantly, in fact) if the remote server 448 doesn't have a functional portmapper or NFS service. Also reduced the 449 total timeout to 3 seconds for a completely downed server. 450 451- new pseudo-mount option "ignore_portmapper"; not very useful currently, 452 will make more sense when we also accept hard-coded ports for mountd and 453 nfsd. 454 455- amd will no longer query the portmapper for all possible NFS versions and 456 protocols if the user requested to use specific ones. 457 458- increased the major number for the library, so that 6.0 and 6.1 can't 459 share libraries anymore. 460 461- support tcpd/libwrap tcpwrappers. If your system supports libwrap, then 462 you can use /etc/hosts.allow and /etc/hosts.deny to control remote Amq 463 access to Amd. The new amd.conf parameter use_tcpwrappers is set to "yes" 464 by default. 465 466- support NULL entries in Hesiod maps, if they start with a ".". 467 468- code reorganization 469 470- documentation cleanup, corrections, and general updates. Better 471 references to all man pages. Support newer texi2html. Proper building of 472 DVI and PSI files. Allow building of am-utils manual in one long Web 473 page. 474 475- minor new ports: 476 477 ia64-unknown-linux-rh2.1AS (Red Hat Itanium Advanced Server) 478 i386-unknown-freebsd5.0 (5.0-RELEASE) 479 sparc64-unknown-linux-suse7.3 480 i386-unknown-netbsdelf1.6.1 481 i386-unknown-openbsd3.3 482 i386-pc-solaris2.9 483 484- bugs fixed: 485 486 * autofs mode on Linux was segfaulting on a silly error (and noone 487 complained, which proves that I'm probably the only one testing 488 these beta releases, tsk tsk). 489 * fixed handling of host entries over autofs. 490 * fixed handling of nfsl entries over autofs. 491 * the matching in find_mntfs() was causing problems for inherited 492 filesystems, so make an exception for them. Tighten the 493 matching even more, to take into account the f/s type as well. 494 * recognize xlatecookie mnttab option on netbsd 495 * document Solaris lex bug (use flex) 496 * document AIX 5.x NFS bug (need patch) 497 * document Solaris 8 autofs version change (need to fix system 498 header file) 499 * ensure lex doesn't run out of output slots 500 * support GNU flex-2.5.31+ 501 * force version.texi to be rebuilt unconditionally 502 * mk-amd-map open db file exclusively (security) 503 * turn off maintainer-only rules in distros 504 * don't core dump if log_file is NULL (Solaris) 505 * don't include malloc.h if stdlib.h exists 506 * recognize file system failures (EIO) upon reading file maps 507 508*** Notes specific to am-utils version 6.1b2 509 510- new mount flag "softlookup", which determines how amd will respond to 511 lookups of NFS shares already mounted (return a valid symlink or return 512 EIO). The default, if "softlookup" is not specified, depends on whether the 513 mount is "soft" or "hard". 514 515- return EIO instead of ENOENT if amd thinks the server is down; this allows 516 well-written applications to sleep and retry the operation. 517 518- minor new ports: 519 520 i386-apple-darwin6.0 521 i386-pc-linux-rh8.0 522 ia64-unknown-linux-rh2.1AW 523 sparc-sun-solaris2.9 524 525- automatic support for loop mounts on Linux (deprecates the "loop" mount 526 option) 527 528- new amd.conf parameter ldap_proto_version (default 2) for setting the LDAP 529 protocol version to use. 530 531- bugs fixed: 532 533 * redundancy mode (multiple servers for the same share) wasn't working 534 * non-autofs mode had some rather nasty hangs on downed file servers 535 * double-free'ing problem in assign_error_mntfs and free_continuation 536 * free'ing non-malloc'ed memory in amfs_auto_mount 537 * late server ping replies were not ignored 538 * amfs_auto_lookup_mntfs wasn't propagating errors up to callers 539 * autofs-v4 on Solaris 9 works 540 * handle std{in,out,err} correctly when releasing controlling tty 541 (for real this time) 542 * don't cast pointers between enum_t and u_long, it doesn't work on 543 64-bit big-endian platforms 544 * fix compile problem with mlockall() on Darwin 545 546*** Notes specific to am-utils version 6.1b1 547 548- Major Autofs work 549 Partial support for Sun Autofs v1 550 Documented known problems with Sun Autofs v1 (possible deadlocks) 551 Fixes for Sun Autofs v2/v3 552 Preliminary support for Sun Autofs v4 (Solaris 9) 553 Kernel-based expirations for Linux Autofs 554 555- Minor new ports: 556 powerpc-ibm-aix5.1.0.0 557 i386-unknown-netbsd1.6A 558 559- Work around IBM's NFSv3 ABI change in aix4.3 560 561- trivial regression test suite started: run "make check" on a built 562 am-utils to execute tests. Currently only one test which checks to see if 563 "amd -v" executes correctly. 564 565- new command line option "amd -A arch" to overwrite the value of $arch. 566 567- bugs fixed: 568 569 * Linux loop mounts of ISO images 570 * assorted LDAP fixes 571 * strerror not found on some systems 572 * small fixes for hpux9 and aix43 573 * exclude ldap/hesiod support unless both libraries+headers exist 574 * fully support "xlatecookie" mount option 575 * security: if -D noamq option, don't listen on socket. 576 577*** Notes specific to am-utils version 6.1a5: 578 579- browsable_dirs support for Solaris autofs, *without* mount storms! 580 581- new amd.conf global parameter: map_reload_interval (default 1 hour). 582 Determines how often Amd checks to see if maps have changed at the source 583 (and then reloading only those that have changed). 584 585- "amd -v" now lists bug-reporting address. 586 587- assorted code cleanups and porting to use latest versions of GNU 588 Autotools. 589 590- opts:=loop works for type:=cdfs, for mounting ISO-9660 files on Linux. 591 592- bugs fixed: 593 594 * fixed sublink support in Linux autofs (broken in a4) 595 * hlfsd takes uid 0's home from root's passwd entry instead of 596 defaulting to '/' 597 * (not really our bug) Linux ignores the microseconds field in 598 mtime, so hlfsd and amd need to increment the seconds field all 599 the time to prevent symlink caching 600 * generic map parsing bug which was rejecting a numerical mount 601 option if it was the last option in the string. 602 * file descriptor leak in Linux autofs. 603 * "nolock" is an NFS mount option, not a generic one. 604 * use mlockall(2) on systems that have it, for plock=yes. Now 605 pinning Amd's pages in memory works on Linux. 606 * ctl-amd/ctl-hlfsd correctly refer to @sysconfdir@ for alternate 607 location of configuration files. 608 609*** Notes specific to am-utils version 6.1a4: 610 611- full autofs support for Solaris 2.[67], including symlinks, sublinks and 612 direct mounts 613 614- fixed mount/umount deadlock in Linux autofs 615 616- fixed sublinks in Linux autofs 617 618- support for network/netmask pairs in the in_network() selector 619 620- support disabling LDAP and Hesiod support using configure 621 622- forward-ported all the fixes from the stable branch (MacOS X support, 623 minor Linux fixes) 624 625- bind-mount support for type==link and type==lofs with Linux 2.4+ 626 627- FiST lofs support under Linux (also in 6.0.6s2) 628 629*** Notes specific to am-utils version 6.1a3: 630 631- various things from the 6.0 branch: 632 compile fixes for Linux 2.4-ac and 2.2.19pre+ 633 Darwin/Rhapsody/OS X support 634 much reduced configure script (works around a bug in Darwin's cpp) 635 636*** Notes specific to am-utils version 6.1a2: 637 638- working autofs support for Solaris 2.[67], but incomplete 639 640- forward-ported all the changes up to 6.0.5s2 641 642- removed support for amq -M 643 644- known bugs 645 nfsx support is broken 646 linux NFS codes fixes 647 NFS cache aliasing fixes 648 lots of stuff ported from 6.0 branch 649 650*** Notes specific to am-utils version 6.1a1: 651 652- working autofs (v3 and v4) support for Linux! 653 654- forward-ported all the changes in 6.0.4s4 655 656- bugs fixed 657 client-side fail-over to NFSv2/UDP 658 659- known bugs 660 autofs v3 will probably break with host maps 661 662*** Notes specific to am-utils version 6.0.4: 663 664- NFSv3 support for Linux and HPUX-11 665 666- new amd.conf [global] options: 667 nfs_vers: force all NFS mounts to version 2 or 3 668 nfs_proto: force all NFS mounts to udp or tcp 669 670- new debug_options (amd -D): 671 hrtime: turns on high-resolution timer if available 672 readdir: traces browsable_dirs code 673 xdrtrace: traces XDR routines 674 (trace: only traces NFS and RPC) 675 676- new amq options: 677 -H: shows usage 678 -w: translate getpwd() into an Amd path 679 680- new map syntax: 681 ${dollar}: to include a literal '$' in assignments 682 683- new "opts:=" options: 684 ver3: turns on NFS version 3 on some systems (linux) 685 686- updated or minor new ports: 687 alpha-dec-osf4.0f 688 alphaev6-dec-osf5.0 689 i386-pc-linux-rh6.2 690 i386-unknown-freebsd3.4 691 692- bugs fixed: 693 symlink mtime fixes to avoid u/mount race conditions 694 update amq -s failed umounts count correctly 695 linux compiles even if efs is available 696 linux works with mount(2) option "intr" 697 linux works with pcfs and cdfs 698 handle std{in,out,err} correctly when releasing controlling tty 699 browsable_readdir works on 64-bit kernel architectures 700 irs/wire routines compile for bsdi{2,3,4} 701 702*** Notes specific to am-utils version 6.0.3: 703 704- updated or minor new ports: 705 hppa1.0-hp-hpux11.00 706 i386-pc-bsdi4.1 707 i386-unknown-netbsd1.4.1 708 sparc-sun-solaris2.8 709 i*86-pc-linux-gnu-rh6.1 710 (some preparations for Compaq Tru64) 711 712- new variables ${uid} and ${gid}, return the numeric UID/GID of the user 713 (not root) who invokes an amd pathname. Similar to what hlfsd does. 714 715- automake now uses automatic dependency tracking 716 717- new mount options: optionstr, noexec, nomnttab 718 719- maps of type:=auto are now browsable (using map option "browsable") 720 721- ctl-amd has "status" argument (same as RedHat) 722 723- bugs fixed: 724 document buggy AIX 4.3 plock() behavior 725 fixes to stale file handle on symlinks 726 reduce race conditions upon rapid umount/mount sequences 727 use vsnprintf, more secure than vsprintf 728 more assorted and smaller bugs 729 730*** Notes specific to am-utils version 6.0.2: 731 732- safe map reloads: when a map needs to be reloaded, it is reloaded into a 733 temporary copy first. Only if the reload was completely successful, Amd 734 discards the old map and uses the new one. Otherwise Amd continues to use 735 the old maps. This should help a lot with transient NIS problems. 736 737- amq -f now also forces a (safe) map reload, but only if the timestamp on 738 the maps was updated. 739 740- two new selector variables: ${vendor} and ${full_os}, which are the same 741 as the output seen in "amd -v". 742 743- documentation fixes and updates 744 745- updated or minor new ports: 746 i386-unknown-freebsdelf3.3 747 748- support 'ignore' flags (automntfs) in bsdi-4.1 749 750- bugs fixed: 751 expn.pl uses correct sockaddr_in() not, pack() 752 make sure configure --enable-*args take an argument 753 don't busy-loop trying to rebind to ldap servers 754 use vsnprintf, not vsprintf (security) 755 756*** Notes specific to am-utils version 6.0.1: 757 758- updated or minor new ports: 759 i386-pc-bsdi4.0.1 760 i386-unknown-freebsdelf3.0 761 i386-unknown-freebsdelf3.1 762 i386-unknown-freebsdelf3.2 763 i386-unknown-freebsdelf4.0 764 i386-unknown-netbsd1.4 765 i386-unknown-openbsd2.5 766 powerpc-unknown-linux-gnu 767 768- automount2amd added, a new script to convert Sun automount maps to Amd maps 769 770- new map function netgrpd(ARG), same as netgrp() but matches FQHN 771 772- 'ignore' is a generic mount option 773 774- hesiod info service isup() function to check if service is up 775 776- more Y2K fixes (see README.y2k for the full story) 777 778- using alloca.c on systems that don't have it (hpux9 with /bin/cc) 779 780- configure script reduced in size by using M4/sh loops instead of repeated 781 entries 782 783- documentation updates 784 785- too many bugs fixed to list here: 786 'addopts' option works with 'remopts' as well as 'opts' 787 AIX can perform NFS V.3 mounts explicitly 788 NIS is_up fixed, especially for NIS+ running in compatibility mode 789 amd -v incorrectly listing file systems that don't really work 790 amd's own mounts use reserved ports if possible 791 browsable directories works for Linux 2.3 (NFS cookies) 792 bsd44 systems check for isofs flags 793 bsd44 systems check for new options: norrio, gens, and extatt 794 buildall works better on Ultrix's /bin/sh 795 compile and build on Linux kernels 2.2 and newer 796 compile and build on RedHat Linux 6.0 (glibc 2.1) 797 compile and build on Solaris 7 (with or without vendor LDAP) 798 completely eliminate all of amd's amq -M code, when not enabled 799 correctly interpret failure code of unmount of type:=program 800 don't create autofs listener service unless used 801 don't list or process amq's -M option unless feature was turned on 802 don't turn on/off noconn option if it was already in that state 803 ldap info service: don't strcmp null strings 804 lostaltmail correctly sets struct sockaddr_in 805 make sure Linux systems have configured kernel headers 806 test for bsize/namlen fields in nfs_args (linux mount versions 2/3) 807 turn off broken NFS V.3 support for HPUX 808 use getifaddrs() on bsd44 systems makes wire.c more reliable 809 use matching NFS rsize/wsize on Linux 2.0 and 2.[123] kernels. 810 verify that RPC requests come from reserved, privileged local ports 811 warn when Linux kernel headers mismatch with running kernel 812 pawd works for type:=nfsl too 813 814*** Notes specific to am-utils version 6.0: 815 816- updated or minor new ports: 817 hppa2.0w-hp-hpux11.00, 818 i386-pc-bsdi4.0 819 i386-unknown-freebsd2.2.8 820 i386-unknown-netbsd1.3.3 821 i386-unknown-openbsd2.4 822 mips-sgi-irix6.5 823 powerpc-ibm-aix4.3.1.0 824 i386-unknown-freebsd3.0 now supports nfs v.3 825 826- ctl-amd and ctl-hlfsd now compatible with RedHat's chkconfig utility 827 828- ctl-amd stop will now wait until amd is down 829 830- libamu.so completely self contained --- does not export any symbols which 831 must be defined by the process linking with it. This is so shared 832 libraries could be supported on systems that have restrictive shared 833 libraries. 834 835- use latest autoconf, automake, and libtool (off of cygnus' CVS server) to 836 support shared libraries on many more platforms. 837 838- posix code cleanups 839 840- bugs fixed: 841 case insensitive host match in type:=nfsl 842 correct swapped args to kill(2) 843 try to avoid a race condition b/t mounting and unmounting 844 yp_all support is found in libnsl in RH-5.1 systems 845 846*** Notes specific to am-utils version 6.0b1: 847 848- updated or minor new ports: 849 - *-pc-linux-gnu (glibc2 systems such as RedHat 5.1) 850 - sparc-sun-solaris2.7 851 - i386-pc-solaris2.7 852 - i386-unknown-freebsd3.0 (official release, post 4.4lite port) 853 - sparc64-unknown-linux-gnu (RH 5.1 on Sun Sparc Ultra) 854 855- bugs fixed: 856 - major memory leak in processing of /defaults 857 - core dump if map_type given in amd.conf doesn't exist 858 - memory leak in replacement yp_all 859 - don't access uninitialized memory in DU 4.0 860 - other smaller bugs, see ChangeLog 861 862*** Notes specific to am-utils version 6.0a16: 863 864- new ports: 865 hppa1.0-hp-hpux11.00 (works, not NFS V.3 due to missing headers) 866 mips-dec-ultrix4.3 (working, unverified) 867 868- new minor ports: 869 i386-pc-bsdi3.1 870 i386-unknown-netbsd1.3.1 871 alpha-dec-osf2.1 872 873- new options addopt:=ARG will "smartly" add and override options specified 874in opts:= 875 876- new amd.conf options: 877 pid_file: specifies the file to store the PID 878 hesiod_base: specifies the base for the Hesiod service 879 unmount_on_exit: if 'yes' will attempt to unmount all file systems 880 when amd exits. 881 882- amd.conf file is parsed after all other command line options. If no 883options specified at all, then use /etc/amd.conf by default. 884 885- some variables' values are now compared case-insensitive as per specs, 886such as host names, domain names, and more. 887 888- NIS service uses a new isup() function to detect if the service is up 889before using it. Used to ensure amd doesn't clear the existing maps before 890reloading them, unless the remote info service is working. 891 892- new cdfs mount options: rrip, noversion, defperm, nodefperm (OSF) 893 894- support efs/xfs separately on irix 895 896- new -D info trace option to turn on info specific debugging, such as 897RES_DEBUG for hesiod services. 898 899- document updates and fixes 900 901- new file MIRRORS lists official mirror sites (also in am-utils home page) 902 903- new file BUGS lists known amd/OS bugs 904 905- source restructuring: rename all Amd file-systems' sources to amfs_ARG.c 906such that it matches the type:=ARG as well. Free names afs/dfs for Andrew 907F/S and Distributed F/S. 908 909- checkpoint config.guess several times during the long configure, so that 910if it is aborted midway, the bulk of the features discovered will be re-read 911from the config.cache file. 912 913- more systems support shared libraries (libtool 1.2) 914 915- using automake 1.3 + more fixes 916 917- bugs fixed: 918 use dynamic buffer for list of interfaces, not fixed size 919 output of amd -H duplicated if >2 interfaces 920 -D mem for hlfsd not on by default (so it will daemonize) 921 linux looks for ext2fs before ufs 922 CDFS looks for 'isofs' mount type as well 923 compile on Solaris 2.6 with /opt/SUNWspro/bin/cc 924 various additional fixes which gcc 2.8.x reported 925 print syslog help string based on what's supported 926 correctly ignore loopback interface on SunOS 3.x 927 don't use -lucb for strcasecmp 928 hlfsd's dump file securely written in /usr/tmp/hlfsd.dump.XXXXXX 929 inherit NFS V.3 mounts correctly 930 write pid file securely 931 932*** Notes specific to am-utils version 6.0a15: 933 934- new ports: 935 alpha-unknown-linux-gnu: works 936 i386-unknown-netbsd1.3: fully working 937 *-sun-sunos3: compiles, not tested 938 939- updated ports: 940 m68k-next-nextstep3: cleaner compile, works. 941 942- new file system type nfsl (NFS Link). Uses nfs if file system is remote, 943and link if it is local (based on if $rhost equals the host name). 944 945- support for Solaris cachefs. Requires setting fs, rfs, and a new variable 946cachedir. See documentation for explanation, examples, and caveats. 947 948- support negated selector functions such as !exists(/foo/bar) 949 950- wire, network, netnumber, in_network() selectors now match against all 951locally attached networks (by either name or number), not just the first two 952interfaces. 953 954- new program pawd (and man page for it) --- Print Automounter Working 955Directory, to print the proper pathname of the cwd or any other pathname, 956adjusted for automounter paths, while avoiding mount points. 957 958- two new switches to amq: -U will force using UDP only; -T will force using 959only TCP to communicate with amd. If neither (or both) are specified, amq 960will try TCP first, and if that failed, will try UDP. 961 962- support syslog facilities, using "amd -l syslog:facility". Old behavior 963when using only -l syslog is to use the LOG_DAEMON facility. 964 965- you may specify browsable_dirs=full, to get a listing of all entries 966(other than /default), including those with '*' wildcard and '/' 967characters. 968 969- amd -D trace now also includes as much of struct nfs_args as can be 970displayed. Useful in figuring out what the kernel really gets during a 971mount(2), as opposed to what the /etc/mnttab file says. -D trace also 972traces the xdr_* functions. 973 974- support for versions of shared libamu version. upped version from 0.0.0 975to 1.0.0. each am-utils release that will change the library will also 976update its version. 977 978- amd/ops_TEMPLATE.c: a new template file for those brave enough to try and 979implement a new amd file system. Includes comments and other info useful 980for developers. 981 982- if localconfig.h exists in the current directory during the run of 983configure, it is included in all am-utils sources. This allows courageous 984developers to make certain modifications during compilations, and especially 985turn off undesired features (not very recommended). 986 987- documentation types and updates for all new features, ports, etc. 988 989- bugs fixed: 990 support NFS mount options grpid and maxgrps 991 nextstep: set NFS success code to 0 (NFS_OK), not 1 (EPERM) 992 bsdi2: set NFS success code to 0 (NFS_OK), not 1 (EPERM) 993 set NFS V.3 mount table names to "nfs" if vers/proto exist 994 use mkstemp() if possible (more secure) 995 ctl-amd looks for amd.conf in ${prefix}/etc after /etc 996 hpux: use "ignore" mount table type 997 openbsd2.2: turn off "noconn" mount option, so only connected used 998 fixed memory leak in hlfsd (don't setpwent after endpwent) 999 all NFS3 systems should have proto/vers mount/amd options 1000 DEBUG_MEM compiles and prints something more useful 1001 uninit_mntfs(): free() mf_private *after* it is used 1002 browsable_readdir: fewer bytes sent back to kernel for each chunk 1003 mount_toplvl: don't free() an automatic variable! 1004 amd should chdir() to / before daemonzing (for core dumps etc) 1005 cdfs should be called 'cdfs' not whatever the mnttab type is 1006 amd -v: don't print "FS:" list twice when >=2 net interfaces 1007 1008*** Notes specific to am-utils version 6.0a14: 1009 1010- updated ports: 1011 powerpc-ibm-aix4.2.1.0: NFS V.3 works 1012 1013- minor new ports: 1014 sparc-sun-sunos4.1.3C 1015 m68k-sun-sunos4.1.1 (sun3) 1016 mips-sgi-irix5.2 1017 1018- new option to amd, -O ARG, will override the operating systems *name* with 1019ARG. Corrected documentation for amd -o ARG --- it overrides the operating 1020system *version* and not the name as the docs incorrectly stated. 1021 1022- logging now behave more like syslog: will not print repeated strings, but 1023rather a count such as "last message repeated N times". (N will not exceed 1024100.) 1025 1026- restructured the code which deals with the numerous possible fields and 1027flags that are set in struct nfs_args. That code was moved to libamu as 1028the functions compute_nfs_args() and compute_automounter_nfs_args(). 1029 1030- bugs fixed: 1031 mnttab name ufs/cdfs/pcfs/etc filesystems corrected 1032 use pmap_ping for amq (a must for secure portmappers, bsdi2/3) 1033 test for xfs (irix) as a disk-based file system 1034 set correct nfs_prot headers for Solaris 2.5 1035 removed stale code from lostaltmail.in 1036 lostaltmail will look for conf file in multiple locations 1037 assorted documentation corrections 1038 amq does not print "get_secure_amd_client" if run as root 1039 1040*** Notes specific to am-utils version 6.0a13: 1041 1042- new in_network(ARG) nomadic selector, true if ARG is the name (or number) 1043of any of this host's network interfaces. 1044 1045- removed variables primnetname, primnetnum, subsnetname, and subsnetnum. 1046(Kept "wire" and its alias "network", and "netnumber".) 1047 1048- include am-utils.dvi and am-utils.ps in distribution. 1049 1050- hlfsd supports new option -P ARG, for reading password map off of file 1051ARG. Allows you to use the hlfs redirector using paths other than user's 1052home directories. 1053 1054- use a replacement yp_all for some systems (irix) known to have a broken 1055one which leaks a file descriptor each time called. 1056 1057- if remote NFS server is down or does not support portmap, downgrade 1058machine to NFS V.2 and retry again later. 1059 1060- bugs: 1061 don't redefine yywrap on systems using a modified flex 1062 use correct "ignore" mnttab/mount option on hpux for df(1) 1063 use nfs_args' fsname field (hpux) to avoid syncer/mount(1) problems 1064 don't add ops_ufs.o twice to Makefile's $(OBJS) 1065 don't fail if autofs listener fails to initialize 1066 hlfsd should test if run as root after usage() and getopt 1067 1068- minor code cleanups for netbsd 1069 1070- html docs now in http://www.am-utils.org 1071 1072- added README file in binaries ftp directory 1073 1074*** Notes specific to am-utils version 6.0a12: 1075 1076- minor or updated/broken ports fixed: 1077 hppa1.1-hp-hpux10.10: compiles, untested (probably works). 1078 hppa1.1-hp-hpux9.05: compiles, untested (probably works). 1079 hppa1.1-hp-hpux9.07: compiles, untested (probably works). 1080 m68k-hp-hpux9.00: compiles, untested (probably works). 1081 rs6000-ibm-aix4.1.4.0: compiles, untested. 1082 sparc-sun-solaris2.6: works w/ NFS V.3. 1083 sparc-sun-sunos4.1.4: compiles, untested (probably works). 1084 1085- new ports: 1086 powerpc-ibm-aix4.2.1.0: compiles w/ NFS V.3, untested. 1087 1088- wire-test also checks for combinations of NFS protocol/version from the 1089client to a remote (or local) host. 1090 1091- conf/mtab/mtab_file.c: use flock() to lock the file, and fcntl() if 1092flock() is not available. (Used to prefer fcntl() over flock().) 1093 1094- bug fixes: 1095 tli get_nfs_version() gets into an infinite loop 1096 tli get_nfs_version() should time out faster 1097 sockets get_nfs_version() should work w/ secure portmappers 1098 ESTALE returned for NFS mounts for SunOS 4.x fixed 1099 do not exceed HOSTNAMESZ for nfs_args.hostname (get ENAMETOOLONG) 1100 properly initialize some mntent_t fields (fsck, freq, mnt_time) 1101 properly initialize some pcfs_args fields (mask, uid, gid) 1102 properly initialize some cdfs_args fields (ssector) 1103 1104*** Notes specific to am-utils version 6.0a11: 1105 1106- bug fixes: 1107 amd could not NFS mount v.2 servers from v.3 clients 1108 hlfsd will only use first occurrence of home dir for same uid 1109 1110*** Notes specific to am-utils version 6.0a10: 1111 1112- MAJOR DOCUMENTATION UPDATE! (first time in 6 years) 1113 1114- new ports: 1115 m68k-next-nextstep3: configures, compiles, not tested. 1116 1117- preliminary autofs support. See README.autofs for details. 1118 1119- new amd.conf [global] yes/no keywords: 1120 show_statfs_entries: shows number of entries for df(1) 1121 fully_qualified_hosts: use FQHN for NFS/RPC authentication 1122 1123- detect down remote hosts faster 1124 1125- log output of "amd -v" at startup 1126 1127- removed $osver override for solaris: now it is 2.5.1, not 5.5.1 1128 1129- buildall will use gmake first if available 1130 1131- bugs fixed: 1132 amd core dumped when remote host was down 1133 allow up to 1024 entries back from readdir() 1134 amd.conf works even if only [global] option defined 1135 avoid using bad memcmp() implementations 1136 fixed meaning of plock [global] option (was reversed) 1137 hlfsd infinite loop unless compiled with --enable-debug 1138 NIS code works with NIS+ servers in NIS compatibility mode 1139 reset tag fields in amd.conf so they don't carry to other entries 1140 1141*** Notes specific to am-utils version 6.0a9: 1142 1143- new ports: 1144 sparc-sun-solaris2.4: 1145 configures/compiles, and runs (no NFS V3) 1146 i386-unknown-openbsd2.1: 1147 configures/compiles, runs (NFS V3) 1148 1149- updated ports: 1150 i486-ncr-sysv4.3.03: configures/compiles, not tested 1151 1152- Multiple amd support: new amd.conf [global] key "portmap_program" can be 1153used to specify an alternate RPC program number for amd to un/register. 1154Allowed numbers range from 300019 to 300029. A matching new option for amq: 1155-P prognum, will use an alternate program number to contact. 1156 1157- man pages: 1158 amd.conf.5 new 1159 mk-amd-map.8 new 1160 amd.8 updated 1161 amq.8 updated 1162 (other man pages required minor updates) 1163 1164- shared libraries support expanded. Using GNU libtool-1.0. You can build 1165a shared version of libamu, and link with it accordingly, by specifying 1166--enable-shared to configure. Default is --enable-static --disable-shared, 1167and you can mix and match. See "INSTALL" file for listing of systems on 1168which shared libraries seem to build and work fine. 1169 1170- new option: amq -p, will return the PID of the running amd (local or 1171remote). Uses a new RPC message. Useful especially in "ctl-amd stop". 1172 1173- new configure script options --enable-ldflags, for specifying -L flags. 1174The older --enable-libs is to be used only for -l options. 1175 1176- two new LDAP map options for amd.conf: ldap_cache_seconds and 1177ldap_cache_maxmem. 1178 1179- new script, am-eject from Debian linux's version of amd-upl102. 1180 1181- additional passwd map support using var[0-3], from Debian folks. 1182 1183- hesiod code cleanup. works for hesiod 1.3 as well as 3.0. 1184 1185- removed defunct -h option from amd. 1186 1187- started using automake-1.2. This fixed several bugs that caused some 1188versions of yacc/lex and non-GNU make to fail. 1189 1190- bug fixes: 1191 amd/hlfsd mounts should be hidden from df(1) 1192 use "noconn" option for nfs mounts (multi-homed hosts) 1193 don't use connected sockets on linux before 1.3.10 (from Debian) 1194 better checks for [gn]dbm 1195 forbid excessive retries after timeouts (from Debian) 1196 readdir(): don't skip over map entries with prefix, and include it 1197 more assorted linux fixes from Debian folks 1198 lofs mount on svr4 was broken 1199 find default value of $karch from uname() not $arch 1200 hlfsd failed to mount itself on some little-endians 1201 1202 1203*** Notes specific to am-utils version 6.0a8: 1204 1205- new ports: 1206 i386-unknown-netbsd1.2.1: configures/compiles (with NFS V.3), works, 1207 but some OS stability problems exist. 1208 1209- updated ports: 1210 hppa1.1-hp-hpux9.01: 1211 now tested and working 1212 rs6000-ibm-aix3.2 and rs6000-ibm-aix3.2.5: 1213 now tested and working 1214 1215- fixed browsable directories (readdir) code. 1216 1217- better methods to find amd/hlfsd pid to kill in ctl-{amd,hlfsd} 1218 1219- "ignore/auto" mount types fixed for irix, sunos, and others, so "df" does not 1220show amd mounts by default (but GNU df -a does). 1221 1222- each time amd is built, a new "build" version is incremented. See amd -v. 1223 1224- man page for fsinfo added 1225 1226- empty fillers for new file (bsd44) systems: nullfs, unionfs, umapfs. 1227 1228- when amd is not running, or portmapper is down, make amq timeout faster (5 1229sec) than system default, usually 4-5 minutes. 1230 1231- bug fixes: 1232 hlfsd mount got "protocol not supported" 1233 first regular map in amd.conf didn't inherit global options 1234 make "bad" versions of lex still work with amd/conf_parse.l 1235 check for 'nodev' option, not 'nondev' 1236 typo in "ro" option, and fillers to ac{reg,dir}{min,max} and others 1237 amd.conf parsing done before switching default log/debug options 1238 allow doubly-quoted values in amd.conf 1239 hesiod-reload code cleanup 1240 1241- assorted code cleanup 1242 1243 1244*** Notes specific to am-utils version 6.0a7: 1245 1246- new ports: 1247 i386-unknown-freebsd3.0: 1248 fully functional with NFS V.3 1249 sparc-sun-solaris2.3: 1250 fully functional (should work for 2.4) 1251 sparc-unknown-netbsd1.2E: 1252 configures/compiles (with NFS V.3), untested 1253 1254- updated ports: 1255 i386-pc-bsdi3.0: 1256 NFS V.3 works 1257 look for hesiod in libc 1258 mips-sgi-irix5.3: 1259 fully functional with NFS V.3 1260 1261- LDAP support! New [global] amd.conf options ldap_base and ldap_hostports. 1262Also includes a new script amd2ldif to convert amd maps into plain text LDAP 1263object files. 1264 1265- the following amd.conf variables: browsable_dirs, map_options, map_type, 1266mount_type, and search_path --- can now be specified in [global] as well as 1267the map entry itself. That way you can declare them only once in [global], 1268and override them as needed per map. 1269 1270- option "cluster" added to [global] (HPUX clusters ala "amd -C"). 1271 1272- assorted info_hesiod map fixes and cleanup. removed HESIOD_RELOAD code. 1273 1274- added netgrp(name) function to amd map syntax to see if current host is in 1275the <name> netgroup. 1276 1277- removed unused option "amd -m". 1278 1279- filled in "tasks" file with todo items. 1280 1281- filled "COPYING" file with legal stuff. 1282 1283- cleanup: all global variables are now in one big structure (struct 1284amu_global_options) that's easy to identify and enhance. Also migrated 1285several flags that used be an integer each into one unsigned integer that's 1286used as a bit-flag. 1287 1288- big fixes: 1289 xdr_mountres3 should compile only if has NFS V3 1290 lex/yacc macros show full pathname (to tell if correct one runs) 1291 misc fixes/cleanup 1292 1293 1294*** Notes specific to am-utils version 6.0a6: 1295 1296- amd configuration file! 1297 1298See scripts/amd.conf-sample for help and some explanation. This new conf 1299file allows for the following new features: 1300 1301 default selectors can be turned on/off globally. 1302 browsable_dirs/readdir() support can be turned on per map. 1303 search paths for file type maps. 1304 can force the map type to file, nis, ndbm, etc. rather than default 1305 to looking at all of them. 1306 tag each map for "amd -T tag", useful for grouping maps. 1307 can override $os and others (so if you don't like "sunos5" default 1308 naming, set os=sos5 and it will work with your old maps). 1309 and more goodies... 1310 1311- enable-default-selectors: No longer turned on by the configure script or 1312optionally compiled. Code made dynamic and can be turned on or off from the 1313amd.conf file. This code is off by default, and must be turned on by 1314amd.conf's [global] section. 1315 1316- new ports: 1317 mips-sgi-irix5.3: configure/compile, not tested 1318 i486-ncr-sysv4.3.03: configure/compile, not tested 1319 1320- updated ports: 1321 alpha-dec-osf4.0: major code redone 1322 sparc-sun-sunos4.1.3: fixed and working 1323 mips-sgi-irix6.2: tested with gcc and "cc -32 -Wl,-woff,84" 1324 mips-sgi-irix6.4: tested with gcc and "cc -32 -Wl,-woff,84" 1325 1326- better NFS3 port, including more support for proto= and vers=, and 1327automatic determination of proto/vers combination. 1328 1329- conf/nfs_prot/nfs_prot_*.h: all of the NFS protocol header files had to be 1330redone, because of the osf4 port. OSF used very different names for these, 1331and they conflicted with am-utils'. The only solution was to more or less 1332conform to OSF4's naming, and change all the others. 1333 1334- ctl-amd script: 1335 improved to look for amd.conf in $prefix/etc and /etc 1336 better methods for finding the pid of amd to kill 1337 1338- autoconf support for LDAP. amd/info_ldap.c needs to be written. 1339 1340- wire-test also reports the local IP address. Some systems have multiple, 1341buggy version of get_myaddress(), esp. SunOS and Irix. Note that Solaris 1342x86 has a buggy htonl(). 1343 1344- amd -H prints usage. 1345 1346- bugs fixed: 1347 minor TLI problem in fwd_socket 1348 mount options properly comma delimited 1349 LIBS is set only to the right set of libraries to include 1350 selectors-on-default code ignored last selector ent in /defaults 1351 assorted code cleanups 1352 1353 1354*** Notes specific to am-utils version 6.0a5: 1355 1356- NFS Version 3 support!!! 1357 1358 Works on Solaris 2.5.1. 1359 Minimal testing done on Irix 6. 1360 Compiles cleanly on DU-4.0 but no tests performed. 1361 1362Will fall back to V2 mounts when V3 is not available. Will also use TCP if 1363possible, UDP otherwise. 1364 1365- Ports to new platforms: 1366 1367 alpha-dec-osf4.0 (not tested) 1368 i386-pc-bsdi3.0 (tested and working) 1369 i386-unknown-freebsd2.2.1 (tested and working) 1370 sparc-unknown-linux-gnu (tested and working) 1371 1372- New scripts added: 1373 1374 amd2sun: convert amd maps to Sun automount maps 1375 ctl-amd: script to start/stop/restart amd 1376 ctl-hlfsd: script to start/stop/restart hlfsd 1377 expn: expand mail alias (used by hlfsd) 1378 lostaltmail: redeliver "lost" mail redirected by hlfsd 1379 lostaltmail.conf-sample: sample conf file for lostaltmail 1380 wait4amd: run a command once amd is up on a host 1381 wait4amd2die: wait for an amd process to die before returning 1382 1383- "amd -v" now includes more info and "amq -v" lists all of it. 1384 1385- new parser for linux specific mount options. 1386 1387- Main bugs fixed: 1388 1389 "new toplvl readdir" bug caused amd to dump core 1390 handler for SIGCHLD didn't check for all possible children 1391 hlfsd leaking file descriptors when home file system was full 1392 cdfs/pcfs mounts should not timeout by default 1393 hesiod domain names should be compared in case-insensitive manner 1394 several printfs in amq were missing \n 1395 1396 1397*** Notes specific to am-utils version 6.0a4: 1398 1399- amd services both TCP and UDP amq requests. This will help because of the 1400limited UDP message size. 1401 1402- "amq -M" code is disabled by default because it is insecure. It is 1403rarely used. Users who wish to use it should run 1404"configure --enable-amq-mount". 1405 1406 1407*** Notes specific to am-utils version 6.0a3: 1408 1409- New tested ports (configures, compiles, and runs): 1410 1411 i386-unknown-freebsd2.2 1412 1413- New ports (configures and compiles correctly, not tested): 1414 1415 rs6000-ibm-aix3.2.5 1416 rs6000-ibm-aix4.1.5.0 1417 1418- More am-utils programs ported to all existing platforms: hlfsd, fsinfo, 1419mk-amd-map, and fixmount. 1420 1421- Shared libraries: a new configure option --enable-shared will build a 1422shared libamu.so, link applications with it, and use it. Reduces binary 1423sizes by 20-30%. This is the first step towards loadable modules, as many 1424changes had to be done to be able to compile and use PIC code. This is code 1425that obviously needs to be generalized to be able to build shared libraries 1426on many other platforms. It was only tested on Solaris 5.5.1. 1427 1428- the file INSTALL contains the latest compatibility table of which 1429platforms am-utils configures, compiles and runs on. 1430 1431- Trimmed down the size of the configure script. Some tests that are not 1432used anywhere were removed. 1433 1434 1435*** Notes specific to am-utils version 6.0a2: 1436 1437- New ports (configures and compiles correctly, not tested): 1438 1439 i386-pc-bsdi2.1 1440 hppa1.1-hp-hpux9.01 1441 hppa1.1-hp-hpux10.20 1442 1443- new configure options: 1444 1445 --enable-cppflags[=ARG] 1446 configure/compile with ARG (-I) preprocessor flags 1447 --enable-libs[=ARG] 1448 configure/compile with ARG (-L/-l) library flags 1449 1450- file system, mount table entries, and mount type tests can now look in 1451/lib/modules and /proc/filesystems for statically/dyadically loadable kernel 1452modules (linux) 1453 1454- prefer vfat over msdos/pc/etc file system for PCFS. 1455 1456- moved all fixed headers to include/am_defs. Left only #define/#undef 1457entries in aux/acconfig.h. 1458 1459- make more sense of systems that have full, partial, or no NFS protocol 1460headers. 1461 1462- minor fixes for NetBSD (untested platform). 1463 1464- hesiod map fixed. 1465 1466- buildall -D: new option to run even stricter developer options. 1467 1468- lots of other bugs fixed (see ChangeLog). 1469 1470 1471*** Notes specific to am-utils version 6.0a1: 1472 1473I have it configure and build correctly for the following systems: 1474 1475 i386-pc-solaris2.5.1 1476 i386-unknown-freebsd2.1.0 1477 mips-sgi-irix6.2 1478 sparc-sun-solaris2.5.1 1479 sparc-sun-sunos4.1.3 1480 1481Amq, wire-test, and "amd -v" work on all of the above. A real running amd 1482was only tested and confirmed working on 1483 1484 i386-pc-solaris2.5.1 1485 sparc-sun-solaris2.5.1 1486 1487Many things are still missing: options, features, etc. But for now, let's 1488concentrate on getting the basic functionality working on the more popular 1489systems. 1490