1310490Scy*** Notes specific to am-utils version 6.2 251292Sobrien 3310490Scy - Removed license advertising clause 4310490Scy - Removed expn program 5310490Scy 6310490Scy*** Notes specific to am-utils version 6.2-rc1 7310490Scy 8310490ScyFilesystem Support: 9310490Scy - Add support for NFSv4 10310490Scy - Add support for Lustre 11310490Scy - Add support for ext{2,3,4} 12310490Scy - Add support for linux autofs version 5 13310490Scy - Add support for TMPFS and UDF 14310490ScyNew features: 15310490Scy - Add amq -i (prints information about maps) 16310490Scy - Add synchronous unmount code for amq -uu 17310490Scy - Allow a comma-separated list of LDAP servers for failover 18310490ScyChanges in behavior: 19310490Scy - Empty variable assignments, now unset the variable value. 20310490Scy - Share LDAP connections between different maps to save resources 21310490ScyPortability fixes: 22310490Scy - Changes to work with Linux-2.6.x, Linux-3.x and NetBSD-5.x, NetBSD-6.x, 23310490Scy FreeBSD 7.x, Solaris 24310490ScyBug fixes: 25310490Scy - Many bug fixes, see ChangeLog 26310490Scy 27310490Scy*** Notes specific to am-utils version 6.2a3 28310490Scy 29310490Scy- minor new ports: 30310490Scy i386-apple-darwin8.8.1 31310490Scy i386-pc-linux-centos4.4 (RHEL4 clone) 32310490Scy i386-pc-linux-fc6 (Fedora Core 6) 33310490Scy i386-pc-solaris2.11-nexentaos (GNU/OpenSolaris) 34310490Scy ia64-hp-hpux11.23 (gcc and cc) 35310490Scy powerpc-apple-darwin8.7.0 36310490Scy 37310490Scy- Bugs fixed: 38310490Scy * reduce annoying warnings from xstrlcpy when expanding options. 39310490Scy * translate '*' Sun maps correctly with "${key}" 40310490Scy 41310490Scy*** Notes specific to am-utils version 6.2a2 42310490Scy 43174294SobrienNew amd.conf global parameter: nfs_allow_any_interface. By default it is 44174294Sobrienset to 'no' which means that Amd accepts local NFS packets only from 45174294Sobrien127.0.0.1. If set to 'yes' then Amd will accept local NFS packets from any 46174294Sobrienlocal interface; this is useful on hosts that may have multiple interfaces 47174294Sobrienwhere the system is forced to send all outgoing packets (even those bound to 48174294Sobrienthe same host) via an address other than 127.0.0.1. 49174294Sobrien 50174294SobrienAdd support for specifying the host to match in the mount selectors netgrp 51174294Sobrienand netgrpd. Now one can use either netgrp(<group-name>) or 52174294Sobriennetgrp(<group-name>,<host-name>). 53174294Sobrien 54174294SobrienSupport new mount options for type:=pcfs mounts: longname, nowin95, 55174294Sobrienshortname, user=N, group=N, mask=N, and dirmask=N. 56174294Sobrien 57174294SobrienTwo new amd.conf [global] parameters: nfs_retry_interval_toplvl and 58174294Sobriennfs_retransmit_counter_toplvl. They are similar to nfs_retry_interval and 59174294Sobriennfs_retransmit_counter, and allow you to set the "timeo" and "retrans" NFS 60174294Sobrienmount parameters, respectively, but ONLY for Amd's top-level mounts (which 61174294Sobrienare NFSv2/UDP currently). This is useful because on some systems you may 62174294Sobrienwish to set these parameters differently than the OS default, so as to 63174294Sobrienbetter tune Amd's responsiveness under heavy scheduler loads. 64174294Sobrien 65174294Sobrien- minor new ports: 66174294Sobrien i386-pc-linux-fc5 (Fedora Core 5) 67174294Sobrien i386-pc-linux-suse10.1 (beta 8) 68174294Sobrien i386-unknown-freebsd6.0 (RELEASE) 69310490Scy i386-unknown-freebsd6.1 (RELEASE) 70174294Sobrien i386-unknown-netbsdelf2.1 71174294Sobrien i386-unknown-netbsdelf3.0 (RELEASE) 72174294Sobrien i386-unknown-openbsd3.8 73310490Scy i386-unknown-openbsd3.9 74174294Sobrien powerpc-apple-darwin8.5.0 75310490Scy powerpc-apple-darwin8.6.0 76174294Sobrien 77174294Sobrien- Bugs fixed: 78174294Sobrien * one serious memory leak in amfs_generic (caught by Coverity) 79174294Sobrien * assorted potential (but rare) NULL pointer dereferences (Coverity) 80174294Sobrien * correctly print nfs_args->addr info (sin_family/port/addr) 81174294Sobrien * pawd should resolve path repeatedly until no more to do 82310490Scy * handle old-style filehandles correctly (for mount points longer 83310490Scy than 28 chars) 84174294Sobrien * use-after-free bug in amfs_lookup_mntfs (Coverity) 85310490Scy * don't turn off attribute cache for regular NFS mounts (improves 86310490Scy performance) 87310490Scy * detect G/DBM support via gdbm_compat library (Debian) 88310490Scy * detect NDBM support in libc (FreeBSD 6) 89174294Sobrien 90310490Scy*** Notes specific to am-utils version 6.2a1 91174294Sobrien 92174294SobrienMAJOR BUG FIXES: Synchronize Amd's view of its file systems with the 93174294Sobrienkernel's NFS client-side DNLC/dcache. Amd changes its view when it reloads 94174294Sobrienmaps (automatically or via "amq -f") because new map entries could be added, 95174294Sobrienold one removed, or existing ones changed. Amd also changes its view when a 96174294Sobriensimple entry has expired and was flushed, or was forced out via "amq -u". 97174294SobrienAmd was not updating the mtime of its parent directory (often the amd 98174294Sobrienautomount point): this resulted in the kernel re-using cached entries, which 99174294Sobrienare now possibly stale. Many users had seen this problem in the form of 100174294Sobrienoccasional ESTALE errors, or dangling/broken automounted symlinks, 101174294Sobrienespecially on systems under heavy use. To tell the kernel to ignore (flush) 102174294Sobrienits old entries for an directory, the mtime of the directory must be updated 103174294Sobrien(monotonically incremented). Amd was indeed doing so in several places, but 104174294Sobrienunfortunately it was using time(2) which only provides a one-second 105174294Sobrienresolution clock: this was fine a decade ago, but not good enough on today's 106174294Sobrienfast systems; using only a one-second resolution clock meant that on busy 107174294Sobriensystems that invoke Amd many times a second, some rapidly changing entries 108174294Sobriendo not get flushed from the kernel, and the kernel thus uses stale entries. 109174294SobrienThe solution to all of these was to rework the whole clock timer updates to 110174294Sobrienuse gettimeofday(), using a micro-second resolution timer, and to use that 111174294Sobrientime whenever Amd needs to update an mtime/atime/ctime of any node. 112174294SobrienFinally, we now update the mtime in places that were never updated before 113174294Sobrien(when a whole map is flushed or a single entry times out). 114174294Sobrien 115174294SobrienWarning: some OSs, we discovered, are incapable of turning off their 116174294SobrienNFS attribute cache entirely. This means that Amd cannot work fully 117174294Sobrienreliability on these systems, not under heavy load. This is documented in 118174294Sobriendetail in the README.attrcache file included with this distribution. 119174294Sobrien 120174294SobrienInclude test-attrcache script to test the NFS attribute cache behavior using 121174294SobrienAmd. 122174294Sobrien 123174294SobrienTell syslog not to log automatically to /dev/console; it's unfriendly. If 124174294Sobrienuser really wants to, they can set it in /etc/syslog.conf. 125174294Sobrien 126310490ScyMoved pawd's path-matching functionality into Amd, where it can be done a 127310490Scylot more efficiently (we no longer need to construct and send the whole 128310490Scymounted tree, only to match small parts of it). This will lessen the CPU 129310490Scyand network load on systems that use pawd heavily, and also minimize the 130310490Scychance that we exceed default or hard-coded UDP/TCP RPC packet sizes. 131310490Scy 132310490ScyChanged slightly how Amd behaves when you try to change log_options after 133310490ScyAmd started (options can be turned on/off via "amq -x ARG"). It used to be 134310490Scythat Amd won't let you turn off options which were on when Amd started. 135310490ScyThat limited users' ability to reduce Amd's logging levels to a minimum. 136310490ScyNow, Amd will allow you to turn on/off any option, other than the two 137310490Scyoptions "fatal" and "error." Both are on by default and considered 138310490Scymandatory. These two don't produce a lot of log messages, so your logs will 139310490Scyremain small, but they are important to keep on, so Amd can report serious 140310490Scyproblems (including errors relating to incorrectly setting other log 141310490Scyoptions). 142310490Scy 143310490ScyAmd now understands a new log_option called "defaults" which is synonymous 144310490Scywith "fatal,error,user,warning,info" (and is also what logging happens by 145310490Scydefault). 146310490Scy 147310490ScyAmd now understands a new debug_option called "defaults" which is synonymous 148310490Scywith "all,nohrtime,nomtab,noxdrtrace". 149310490Scy 150310490ScyChanged the misleading inverted logic of certain debug_options: 151310490Scy 152310490Scy1. "xdrtrace" is included in "all" because "all" (as the name implies), 153310490Scy should be *all* options, not just a subset. If you want the old behavior 154310490Scy of "all" then use "defaults" (all only adds "xdrtrace" which can be 155310490Scy chatty on some systems). 156310490Scy 157310490Scy2. Certain debug options are hereby declared immutable: they may not be 158310490Scy changed by "amq -D" after Amd starts, because it doesn't make much sense 159310490Scy to change them after Amd starts, and it could really mess up Amd. These 160310490Scy immutable flags are currently "daemon," "fork," "amq," and "mtab." 161310490Scy 162310490Scy3. the debug option "daemon" *will* cause Amd to daemonize. Before, it was 163310490Scy causing Amd NOT to daemonize. This was greatly confusing, especially 164310490Scy since the code, documentation, and comments often conflicted with each 165310490Scy other. If you don't want Amd to daemonize, which is useful for debugging 166310490Scy it, then use the debug option "nodaemon" -- it makes a lot more sense. 167310490Scy 168310490Scy4. Similarly, the "fork" option *will* cause Hlfsd to fork. Use "nofork" if 169310490Scy you don't want Hlfsd to fork. This option is only applicable to Hlfsd. 170310490Scy 171310490Scy5. Similarly, the "amq" option, which is now on by default, will cause Amd 172310490Scy to register itself with the RPC portmapper (for Amq), as is done 173310490Scy normally. If you don't want Amd to register with the portmapper, use 174310490Scy "noamq" -- this naming convention makes more sense. This was also 175310490Scy confusingly documented and coded in places. 176310490Scy 177310490Scy Note: unfortunately, these changes to the "daemon," "fork," and "amq" 178310490Scy debug options may be incompatible with people's previous use of Amd. 179310490Scy Some of you may have to update your amd.conf slightly or your startup 180310490Scy options (if they're hard-coded in your amd startup script). Sorry, but 181310490Scy we have to fix those old problems sooner or later. However, if you never 182310490Scy set any debug_options, or you used to "all," then you won't be affected 183310490Scy by the change in meaning of these three flags. 184310490Scy 185174294Sobrien- minor new ports: 186174294Sobrien i386-pc-linux-deb3.1 187310490Scy i386-unknown-netbsdelf3.0 (BETA) 188174294Sobrien powerpc-apple-darwin8.2.0 189174294Sobrien 190310490Scy- Bugs fixed: 191310490Scy * abort with an error if yacc/lex programs not found 192310490Scy * properly turn off the attrcache in freebsd and openbsd 193310490Scy * can turn off attrcache on netbsd, but need kernel patch, see 194310490Scy README.attrcache 195310490Scy * pawd goes into an infinite loop on type:=auto 196310490Scy * consistent search for file system mnttab/mount names 197310490Scy * convert all sprintf to safer xsnprintf 198310490Scy * convert all strcat to safer xstrlcat 199310490Scy * convert all strcpy to safer xstrlcpy 200310490Scy * fix three buffer overruns in expand_op (amd/opts.c) 201310490Scy * pawd was trying UDP only, now try TCP if UDP failed 202174294Sobrien 203174294Sobrien*** Notes specific to am-utils version 6.1.1 204174294Sobrien 205174294SobrienNew amd.conf global parameter: forced_unmounts (default to "no"). If set to 206174294Sobrien"yes," and the client OS supports forced or lazy unmounts, then Amd will 207174294Sobrienattempt to use them if it gets any of three serious error conditions when 208174294Sobrientrying to unmount an existing mount point or mount on top of one: EIO, 209174294SobrienESTALE, or EBUSY. This could be useful to recover from serious conditions 210174294Sobriensuch as hardware failure of mounted disks, or NFS servers which are down 211174294Sobrienpermanently, were migrated, or changed their IP address. Only 212174294Sobrien"type:=toplvl" mounts hung with EBUSY are forcibly unmounted using this 213174294Sobrienoption: this is useful to ensure that a new Amd can mount itself even if a 214174294Sobrienprevious Amd died and left its mount points hung, or to force Amd to 215174294Sobrienshutdown cleanly, even if some processes (i.e., user shells) have their CWD 216174294Sobrienon Amd's own mount point. This functionality is available for Linux, BSD44 217174294Sobriensystems, Solaris, OSF/1, and partially for AIX. 218174294Sobrien 219174294SobrienNew amd.conf global parameter: truncate_log (default to "no"). If set to 220174294Sobrien"yes", then Amd will truncate the log file (if it's a regular file) on 221174294Sobrienstartup. This could be useful when conducting extensive testing on Amd maps 222174294Sobrien(or Amd itself) and you don't want to see log data from a previous run in 223174294Sobrienthe same file. 224174294Sobrien 225174294Sobrien- minor new ports: 226174294Sobrien i386-pc-linux-fc4 227174294Sobrien i386-pc-linux-suse9.3 228174294Sobrien i386-pc-linuxoldld-deb3.1 229174294Sobrien 230174294Sobrien- bugs fixed: 231174294Sobrien * safer mtab handling for Linux (locks + handles /proc/mounts) 232174294Sobrien * small compile problems on Solaris 6 (rpcvers_t) 233174294Sobrien * small compile problems on HPUX 10 (h_errno) 234174294Sobrien * possibly missing definition of INADDR_NONE in wire.c 235174294Sobrien * extern for sleep(3) may be missing on older gcc systems 236174294Sobrien * updated nfs_args structure on aix4. 237174294Sobrien * possible running off end of exported_ap[] array. 238174294Sobrien * buffer overflow in pawd. 239174294Sobrien * aix4 clean build. 240174294Sobrien * use strlcat/snprintf in a few places for safety. 241174294Sobrien * recover from IP address change of a down NFS server 242174294Sobrien * don't discard restarted mntfs that was used. 243174294Sobrien 244174294Sobrien*** Notes specific to am-utils version 6.1 245174294Sobrien 246174294Sobrien- bugs fixed: 247174294Sobrien * set timeo/retrans for type:=nfs only if user asked 248174294Sobrien 249174294SobrienAlso, if you want to know what's new in 6.1 compared to 6.0.x, it's 250174294SobrienEVERYTHING below this line, up to "6.0.4." Yes, that's a lot of stuff. 251174294Sobrien 252174294Sobrien*** Notes specific to am-utils version 6.1-rc7 253174294Sobrien 254174294SobrienRemove alloca from am-utils, and rewrite code that used it. 255174294Sobrien 256174294SobrienAssorted minor code cleanups. 257174294Sobrien 258174294Sobrien- minor new ports: 259174294Sobrien alpha-unknown-linux-gentoo1.4.16 260174294Sobrien alphaev56-dec-osf4.0f (using both cc and gcc) 261174294Sobrien mips-sgi-irix6.5 (using both cc and gcc) 262174294Sobrien mips-unknown-linux-gentoo1.4.16 263174294Sobrien sparc64-unknown-linux-gentoo1.4.16 264174294Sobrien 265174294Sobrien- bugs fixed: 266174294Sobrien * getwire() detects networks correctly on OSF/1 267174294Sobrien 268174294Sobrien*** Notes specific to am-utils version 6.1-rc6 269174294Sobrien 270174294Sobrien- minor new ports: 271174294Sobrien i386-pc-linux-deb3.0 272174294Sobrien i386-pc-linux-gentoo1.4.16 273174294Sobrien i386-pc-linux-suse9.2 274174294Sobrien i386-unknown-freebsd5.4 275174294Sobrien i386-unknown-netbsdelf2.0.2 276174294Sobrien i386-unknown-openbsd3.7 277174294Sobrien powerpc-unknown-linux-yellowdog2.3 278174294Sobrien 279174294Sobrien- bugs fixed: 280174294Sobrien * minor compile error of nfs_subr.c on some systems. 281174294Sobrien * AIX 5.2/5.3 PPC compile fixes. 282174294Sobrien 283174294Sobrien*** Notes specific to am-utils version 6.1-rc5 284174294Sobrien 285174294SobrienFor NetBSD systems, $os used to say "netbsdelf1" or "netbsdelf2." Now it 286174294Sobrienjust says "netbsd." 287174294Sobrien 288174294Sobrien- minor new ports: 289174294Sobrien powerpc-apple-darwin7.9.0 290174294Sobrien 291174294Sobrien- bugs fixed: 292174294Sobrien * silly (but nasty) null pointer dereferencing 293174294Sobrien * improved fix for '-opts' syntax for resetting map options 294174294Sobrien 295174294Sobrien*** Notes specific to am-utils version 6.1-rc4 296174294Sobrien 297174294Sobrien- bugs fixed: 298174294Sobrien * check for "macosx" in M4 macros properly 299174294Sobrien * minor memory leaks (thanks to Valgrind) 300174294Sobrien 301174294Sobrien*** Notes specific to am-utils version 6.1-rc3 302174294Sobrien 303174294SobrienMinor fix to configure.in. Reran bootstrap to get a working configure 304174294Sobrienscript that indeed checks for certain Linux nfs/autofs headers. 305174294Sobrien 306174294Sobrien*** Notes specific to am-utils version 6.1-rc2 307174294Sobrien 308174294SobrienNew amd.conf global parameter: normalize_slashes (default to "yes"). If set 309174294Sobriento "no," then Amd will not condense repeated slashes or remove trailing ones 310174294Sobrienfrom strings representing pathnames. This is sometimes useful with SMB 311174294Sobrienmounts, which often require multiple slash characters in pathnames. 312174294Sobrien 313174294SobrienUsing a custom version of strlcpy instead of strncpy (but only where it 314174294Sobrienmakes sense), to minimize string overflow changes. Audited all use of 315174294Sobrienstrncpy/strlcpy to ensure safety. 316174294Sobrien 317174294SobrienOn Apple machines, use "powerpc" for $arch, instead of "Power Macintosh". 318174294SobrienAlso, use sw_vers to find out more appropriate OS name (macosx) and OS 319174294Sobrienversion (10.3.x) than uname(3) reports. 320174294Sobrien 321174294Sobrien- minor new ports: 322174294Sobrien powerpc64-unknown-linux-rhel4 323174294Sobrien powerpc64-unknown-linux-sles9 324174294Sobrien 325174294Sobrien- bugs fixed: 326174294Sobrien * pawd handles all file systems 327174294Sobrien * fix double-free in type:=nfsx 328174294Sobrien * timeo and retrans shouldn't be set for type:=toplvl 329174294Sobrien * fix inconsistency in handling filehandle generation number 330174294Sobrien * document proper use of hosts.allow (don't spawn) 331174294Sobrien * single dash '-' map entry now resets the defaults 332174294Sobrien 333174294Sobrien*** Notes specific to am-utils version 6.1-rc1 334174294Sobrien 335174294Sobrien- minor new ports: 336174294Sobrien i386-pc-linux-fc2 (Fedora Core 2). 337174294Sobrien i386-pc-linux-fc3 (Fedora Core 3). 338174294Sobrien i386-pc-linux-rhel3 339174294Sobrien i386-pc-linux-rhel4 340174294Sobrien i386-pc-linux-suse8.2 341174294Sobrien i386-pc-linux-suse9.1 342174294Sobrien i386-pc-solaris2.10 343174294Sobrien i386-unknown-freebsd4.8 344131702Smbr i386-unknown-freebsd4.9 345174294Sobrien i386-unknown-freebsd4.10 346174294Sobrien i386-unknown-freebsd4.11 347174294Sobrien i386-unknown-freebsd5.1 (5.1-RELEASE) 348131702Smbr i386-unknown-freebsd5.2 (5.2-RELEASE) 349174294Sobrien i386-unknown-freebsd5.2.1 (5.2.1-RELEASE) 350174294Sobrien i386-unknown-freebsd5.3 (5.3-RELEASE) 351174294Sobrien i386-unknown-freebsd6.0 (6.0-CURRENT-SNAP001) 352174294Sobrien i386-unknown-netbsdelf1.6.1 353174294Sobrien i386-unknown-netbsdelf2.0 354174294Sobrien i386-unknown-openbsd3.6 355174294Sobrien ia64-hp-hpux11.20 356174294Sobrien ia64-unknown-linux-rhel4 357174294Sobrien mipsel-unknown-linux-rhPS2 (Linux on Sony PlayStation 2) 358174294Sobrien powerpc-apple-darwin7.6.0 359174294Sobrien powerpc-apple-darwin7.7.0 360174294Sobrien powerpc-apple-darwin7.8.0 361174294Sobrien powerpc-ibm-aix5.2.0.0 362174294Sobrien powerpc-ibm-aix5.3.0.0 363174294Sobrien sparc-sun-solaris2.10 364174294Sobrien sparc64-unknown-linux-deb3.0 365174294Sobrien x86_64-unknown-linux-rh2.9.5AS 366119679Smbr 367174294Sobrien- support for executable maps ala Sun automounter. Set map_type=exec in 368174294Sobrien amd.conf, and map_name to a program/script that takes a key as argv[1], 369174294Sobrien and returns key-value pair on stdout. See also exec_map_timeout [global] 370174294Sobrien parameter which defines how many seconds (default 10 sec) Amd will wait 371174294Sobrien for an executable map program to return output before timing out. See 372174294Sobrien am-utils manual for full details. 373174294Sobrien 374174294Sobrien- new amd.conf parameter "nfs_allow_insecure_port". Used to work around 375131702Smbr bugs in certain kernels, which cause them to try and talk to amd from 376131702Smbr unprivileged ports. 377131702Smbr 378174294Sobrien- new amd.conf parameter: localhost_address. Used to override the localhost 379174294Sobrien (often 127.0.0.1) address Amd uses to connect to for the local NFS server 380174294Sobrien and RPC server. 381119679Smbr 382174294Sobrien- new amd.conf [global] parameter: domain_strip (default "yes"). If set to 383174294Sobrien "no," Amd won't strip domain names from host names, which is useful if 384174294Sobrien your Amd maps are served by multiple domains and you want to tell from the 385174294Sobrien logs which exact host did what. 386119679Smbr 387174294Sobrien- new amd.conf [global] parameter: auto_attrcache (default to 0). Sets 388174294Sobrien Amd's own NFS attribute-cache timeout in seconds. A value of 0 turns off 389174294Sobrien attribute caching, meaning that Amd will be consulted via a kernel-RPC 390174294Sobrien each time someone stat's the mount point (which could be abused as a 391174294Sobrien denial-of-service attack). If you're concerned, set this to something 392174294Sobrien greater than zero (a value of 1 second is currently recommended). 393174294Sobrien Warning: if you set this option to any non-zero value, especially a large 394174294Sobrien value, and you get ESTALE errors on your particular OS, then set this 395174294Sobrien value back to 0 seconds. 396174294Sobrien 397174294Sobrien- four new amd.conf [global] parameters, similar to nfs_retry_interval and 398174294Sobrien nfs_retransmit_counter, which allow you to set the "timeo" and "retrans" 399174294Sobrien NFS mount parameters, respectively. Now you can set those parameters 400174294Sobrien globally and separately for UDP vs. TCP, using any of these: 401174294Sobrien nfs_retry_interval_udp, nfs_retransmit_counter_udp nfs_retry_interval_tcp, 402174294Sobrien and nfs_retransmit_counter_tcp. 403174294Sobrien 404174294Sobrien- new amd.conf [global] parameter: preferred_amq_port. Allows you to select 405174294Sobrien the UDP+TCP port that Amd's amq service will use with the RPC portmapper. 406174294Sobrien Useful with firewalls and NAT'ed environments. 407174294Sobrien 408174294Sobrien- new amd.conf option "debug_mtab_file". Allows user to define the mtab 409310490Scy file during debug-mtab mode. The default path is "/tmp/mtab". 410174294Sobrien 411174294Sobrien- new function selector xhost(ARG) which will match ARG against the current 412174294Sobrien host name. This works even if ARG is a CNAME (unlike the host==ARG 413174294Sobrien selector). 414174294Sobrien 415174294Sobrien- support restarting the automounter's own mount points (only over NFS, 416174294Sobrien for now). 417174294Sobrien 418174294Sobrien- fully support WebNFS as per RFC 2054. It now tries v3/TCP first, falling 419174294Sobrien back to v2/UDP if this doesn't work. The "webnfs" pseudo-mount options 420174294Sobrien has been renamed (again) to "public" to match Solaris 2. 421174294Sobrien 422174294Sobrien- restructured the restarting of already-mounted filesystems, in the process 423174294Sobrien also fixing a problem with restarting nfsx components. 424174294Sobrien 425174294Sobrien- support escaped slashes, needed for SMB mounts. Use '\\\/\\\/' in a 426174294Sobrien string to get a double slash. 427174294Sobrien 428174294Sobrien- amd -v now prints domain, host, and hostd values: foo, example.com, and 429174294Sobrien foo.example.com, respectively. 430174294Sobrien 431174294Sobrien- On Linux, if umount(2) failed with EIO or ESTALE, try the new umount2(2) 432174294Sobrien system call with MNT_FORCE+MNT_DETACH. This could be quite helpful to 433174294Sobrien unmounting hung mount points that otherwise cannot be fixed without a 434174294Sobrien reboot. 435174294Sobrien 436174294Sobrien- The ping=N mount option now works. N defaults to 30 seconds for all NFS 437174294Sobrien servers. It can now be set to any value for each server separately. 438174294Sobrien Setting it to a large value can reduce the amount of NFS_NULL chatter on 439174294Sobrien your network considerably, especially in large sites. Setting this to -1 440174294Sobrien will turn off pings for that server (useful in NFS-HA setups). Setting N 441174294Sobrien to 0 will pick the default ping value in Amd (currently 30 seconds). Note 442174294Sobrien that if you have multiple Amd entries using the same file server, and each 443174294Sobrien entry sets a different value of N, then each time Amd mounts a new entry, 444174294Sobrien the ping value will be re-evaluated (and updated, turned off, or turned 445174294Sobrien back on as needed). Note that NFS_NULL pings are sent for both UDP and 446174294Sobrien TCP mounts, because even a hung TCP mount can cause user processes to 447174294Sobrien hang. 448174294Sobrien 449174294Sobrien- file system inheritance code restructured, so it's no longer a pseudo file 450174294Sobrien system, but actually integrated into Amd (as it should have been). 451174294Sobrien 452174294Sobrien- for type:=program, the "umount" program doesn't have to be defined; it'll 453174294Sobrien default to "unmount ${fs}". 454174294Sobrien 455174294Sobrien- "amd -v" now prints the distribution name if it's known (e.g., rh9, fc3, 456174294Sobrien suse8, etc.). 457174294Sobrien 458174294Sobrien- bugs fixed: 459174294Sobrien * various memory management problems (leaks, etc) 460174294Sobrien * fixed nfsx support 461174294Sobrien * fixed a race involving late replies to network queries which 462174294Sobrien arrive after the file system has already been mounted 463174294Sobrien * recognize pcfs_args_t fields in FreeBSD 5 464174294Sobrien * recognize other mount types in pawd: host, linkx, and nfsx 465174294Sobrien * allow exactly one of umount and unmount in type:=program 466174294Sobrien * race condition between calls to mntctl() on AIX 467174294Sobrien * plock/mlockall wasn't inherited by fork(); moved after 468174294Sobrien daemonizing. 469174294Sobrien * fix inconsistency between Socket and TLI RPC timeouts. 470174294Sobrien * don't warn when couldn't rmdir a dir with a readonly ancestor. 471174294Sobrien * avoid hangs of amd in ctl-amd (must chdir to /) 472174294Sobrien * workaround occasional daemonizing problems (parent won't die) 473174294Sobrien * don't hang on exit if debug_options=mtab was used 474174294Sobrien * utimeout=N mount option works with non-nfs types (ufs, pcfs, etc.) 475174294Sobrien * SEGV (null pointer deref) in type:=program and type:=cachefs 476174294Sobrien * unmount_on_exit of type:=program caused amd to hang 477174294Sobrien * match amd2ldif output with ldap.schema 478174294Sobrien 479174294Sobrien*** Notes specific to am-utils version 6.1b4 480174294Sobrien 481174294Sobrien- minor new ports: 482174294Sobrien i686-apple-darwin6.6 483174294Sobrien 484174294Sobrien- speed up the recovery of inherited (restarted) filesystems by using the 485174294Sobrien proper waiting channels 486174294Sobrien 487174294Sobrien- added support for mounting webnfs filesystems, see entry below. It doesn't 488174294Sobrien do any probing currently, so it will default to v2/UDP unless another 489174294Sobrien version and/or protocol are explicitly specified. 490174294Sobrien 491174294Sobrien- pseudo-mount option "ignore_portmapper" renamed to "webnfs" 492174294Sobrien 493174294Sobrien- bugs fixed: 494174294Sobrien * properly time out autofs filesystems on Linux 495174294Sobrien * link mounts with relative targets weren't working on autofs 496174294Sobrien * the link side of the nfsl file system wasn't working on autofs 497174294Sobrien * umount code was accidentally turning all symlinks into directories 498174294Sobrien during attempted umounts, causing stale filehandles 499174294Sobrien * various minor build fixes for "impossible" configurations 500174294Sobrien * prevent ldap code from dereferencing a null pointer 501174294Sobrien 502174294Sobrien*** Notes specific to am-utils version 6.1b3 503174294Sobrien 504174294Sobrien- new amd.conf option autofs_use_lofs, set by default to "yes". "yes" means 505174294Sobrien using in-place mounts (lofs, bind mounts, etc.), thus utilizing one of 506174294Sobrien Autofs's main advantages. "no" means using symlinks instead, which has 507174294Sobrien the "/bin/pwd" problem and certain efficiency issues on Solaris 2.6+ and 508174294Sobrien is also not supported on Solaris Autofs v1 and derivatives; however, the 509174294Sobrien autofs code that uses symlinks is simpler and more thoroughly tested. 510174294Sobrien 511174294Sobrien- new amd.conf option map_default (can be used in [global] and overwritten 512174294Sobrien in the per-map section). This will overwrite the /defaults entry of the 513174294Sobrien map itself, to allow people to set defaults in amd.conf (useful when you 514174294Sobrien cannot control your amd maps, or you'd rather not modify them globally). 515174294Sobrien 516174294Sobrien- for type:=program, you can use either unmount:=XXX or umount:=XXX (but not 517174294Sobrien both). This new 'unmount' name is an alias for convenience. 518174294Sobrien 519174294Sobrien- fixed the "multiple matching sub-entries in a map entry" semantics to try 520174294Sobrien mounting those sub-entries one by one, until either one succeeds or all 521174294Sobrien fail. The old semantics of trying to mount everything in parallel and use 522174294Sobrien the one that mounted fastest hasn't worked in a long time; in fact, 6.0 523174294Sobrien currently simply ignores all but the first matching sub-entry. 524174294Sobrien 525174294Sobrien- made amd fail much faster (instantly, in fact) if the remote server 526174294Sobrien doesn't have a functional portmapper or NFS service. Also reduced the 527174294Sobrien total timeout to 3 seconds for a completely downed server. 528174294Sobrien 529174294Sobrien- new pseudo-mount option "ignore_portmapper"; not very useful currently, 530174294Sobrien will make more sense when we also accept hard-coded ports for mountd and 531174294Sobrien nfsd. 532174294Sobrien 533174294Sobrien- amd will no longer query the portmapper for all possible NFS versions and 534174294Sobrien protocols if the user requested to use specific ones. 535174294Sobrien 536174294Sobrien- increased the major number for the library, so that 6.0 and 6.1 can't 537174294Sobrien share libraries anymore. 538174294Sobrien 539174294Sobrien- support tcpd/libwrap tcpwrappers. If your system supports libwrap, then 540174294Sobrien you can use /etc/hosts.allow and /etc/hosts.deny to control remote Amq 541174294Sobrien access to Amd. The new amd.conf parameter use_tcpwrappers is set to "yes" 542174294Sobrien by default. 543174294Sobrien 544174294Sobrien- support NULL entries in Hesiod maps, if they start with a ".". 545174294Sobrien 546174294Sobrien- code reorganization 547174294Sobrien 548174294Sobrien- documentation cleanup, corrections, and general updates. Better 549174294Sobrien references to all man pages. Support newer texi2html. Proper building of 550174294Sobrien DVI and PSI files. Allow building of am-utils manual in one long Web 551174294Sobrien page. 552174294Sobrien 553174294Sobrien- minor new ports: 554174294Sobrien 555174294Sobrien ia64-unknown-linux-rh2.1AS (Red Hat Itanium Advanced Server) 556174294Sobrien i386-unknown-freebsd5.0 (5.0-RELEASE) 557174294Sobrien sparc64-unknown-linux-suse7.3 558174294Sobrien i386-unknown-netbsdelf1.6.1 559174294Sobrien i386-unknown-openbsd3.3 560174294Sobrien i386-pc-solaris2.9 561174294Sobrien 562174294Sobrien- bugs fixed: 563174294Sobrien 564174294Sobrien * autofs mode on Linux was segfaulting on a silly error (and noone 565174294Sobrien complained, which proves that I'm probably the only one testing 566174294Sobrien these beta releases, tsk tsk). 567174294Sobrien * fixed handling of host entries over autofs. 568174294Sobrien * fixed handling of nfsl entries over autofs. 569174294Sobrien * the matching in find_mntfs() was causing problems for inherited 570174294Sobrien filesystems, so make an exception for them. Tighten the 571174294Sobrien matching even more, to take into account the f/s type as well. 572174294Sobrien * recognize xlatecookie mnttab option on netbsd 573174294Sobrien * document Solaris lex bug (use flex) 574174294Sobrien * document AIX 5.x NFS bug (need patch) 575174294Sobrien * document Solaris 8 autofs version change (need to fix system 576174294Sobrien header file) 577174294Sobrien * ensure lex doesn't run out of output slots 578174294Sobrien * support GNU flex-2.5.31+ 579174294Sobrien * force version.texi to be rebuilt unconditionally 580174294Sobrien * mk-amd-map open db file exclusively (security) 581174294Sobrien * turn off maintainer-only rules in distros 582174294Sobrien * don't core dump if log_file is NULL (Solaris) 583174294Sobrien * don't include malloc.h if stdlib.h exists 584174294Sobrien * recognize file system failures (EIO) upon reading file maps 585174294Sobrien 586174294Sobrien*** Notes specific to am-utils version 6.1b2 587174294Sobrien 588174294Sobrien- new mount flag "softlookup", which determines how amd will respond to 589174294Sobrien lookups of NFS shares already mounted (return a valid symlink or return 590174294Sobrien EIO). The default, if "softlookup" is not specified, depends on whether the 591174294Sobrien mount is "soft" or "hard". 592174294Sobrien 593174294Sobrien- return EIO instead of ENOENT if amd thinks the server is down; this allows 594174294Sobrien well-written applications to sleep and retry the operation. 595174294Sobrien 596174294Sobrien- minor new ports: 597174294Sobrien 598119679Smbr i386-apple-darwin6.0 599174294Sobrien i386-pc-linux-rh8.0 600174294Sobrien ia64-unknown-linux-rh2.1AW 601119679Smbr sparc-sun-solaris2.9 602119679Smbr 603174294Sobrien- automatic support for loop mounts on Linux (deprecates the "loop" mount 604174294Sobrien option) 605174294Sobrien 606174294Sobrien- new amd.conf parameter ldap_proto_version (default 2) for setting the LDAP 607174294Sobrien protocol version to use. 608174294Sobrien 609119679Smbr- bugs fixed: 610119679Smbr 611174294Sobrien * redundancy mode (multiple servers for the same share) wasn't working 612174294Sobrien * non-autofs mode had some rather nasty hangs on downed file servers 613174294Sobrien * double-free'ing problem in assign_error_mntfs and free_continuation 614174294Sobrien * free'ing non-malloc'ed memory in amfs_auto_mount 615174294Sobrien * late server ping replies were not ignored 616174294Sobrien * amfs_auto_lookup_mntfs wasn't propagating errors up to callers 617174294Sobrien * autofs-v4 on Solaris 9 works 618119679Smbr * handle std{in,out,err} correctly when releasing controlling tty 619119679Smbr (for real this time) 620119679Smbr * don't cast pointers between enum_t and u_long, it doesn't work on 621119679Smbr 64-bit big-endian platforms 622174294Sobrien * fix compile problem with mlockall() on Darwin 623119679Smbr 624174294Sobrien*** Notes specific to am-utils version 6.1b1 625119679Smbr 626174294Sobrien- Major Autofs work 627174294Sobrien Partial support for Sun Autofs v1 628174294Sobrien Documented known problems with Sun Autofs v1 (possible deadlocks) 629174294Sobrien Fixes for Sun Autofs v2/v3 630174294Sobrien Preliminary support for Sun Autofs v4 (Solaris 9) 631174294Sobrien Kernel-based expirations for Linux Autofs 632174294Sobrien 633119679Smbr- Minor new ports: 634119679Smbr powerpc-ibm-aix5.1.0.0 635174294Sobrien i386-unknown-netbsd1.6A 636119679Smbr 637119679Smbr- Work around IBM's NFSv3 ABI change in aix4.3 638119679Smbr 639174294Sobrien- trivial regression test suite started: run "make check" on a built 640174294Sobrien am-utils to execute tests. Currently only one test which checks to see if 641174294Sobrien "amd -v" executes correctly. 642119679Smbr 643174294Sobrien- new command line option "amd -A arch" to overwrite the value of $arch. 644119679Smbr 645174294Sobrien- bugs fixed: 646119679Smbr 647174294Sobrien * Linux loop mounts of ISO images 648174294Sobrien * assorted LDAP fixes 649174294Sobrien * strerror not found on some systems 650174294Sobrien * small fixes for hpux9 and aix43 651174294Sobrien * exclude ldap/hesiod support unless both libraries+headers exist 652174294Sobrien * fully support "xlatecookie" mount option 653174294Sobrien * security: if -D noamq option, don't listen on socket. 654119679Smbr 655174294Sobrien*** Notes specific to am-utils version 6.1a5: 656119679Smbr 657174294Sobrien- browsable_dirs support for Solaris autofs, *without* mount storms! 658174294Sobrien 659174294Sobrien- new amd.conf global parameter: map_reload_interval (default 1 hour). 660174294Sobrien Determines how often Amd checks to see if maps have changed at the source 661174294Sobrien (and then reloading only those that have changed). 662174294Sobrien 663174294Sobrien- "amd -v" now lists bug-reporting address. 664174294Sobrien 665174294Sobrien- assorted code cleanups and porting to use latest versions of GNU 666174294Sobrien Autotools. 667174294Sobrien 668174294Sobrien- opts:=loop works for type:=cdfs, for mounting ISO-9660 files on Linux. 669174294Sobrien 670119679Smbr- bugs fixed: 671119679Smbr 672174294Sobrien * fixed sublink support in Linux autofs (broken in a4) 673119679Smbr * hlfsd takes uid 0's home from root's passwd entry instead of 674119679Smbr defaulting to '/' 675119679Smbr * (not really our bug) Linux ignores the microseconds field in 676119679Smbr mtime, so hlfsd and amd need to increment the seconds field all 677119679Smbr the time to prevent symlink caching 678174294Sobrien * generic map parsing bug which was rejecting a numerical mount 679174294Sobrien option if it was the last option in the string. 680174294Sobrien * file descriptor leak in Linux autofs. 681174294Sobrien * "nolock" is an NFS mount option, not a generic one. 682174294Sobrien * use mlockall(2) on systems that have it, for plock=yes. Now 683174294Sobrien pinning Amd's pages in memory works on Linux. 684174294Sobrien * ctl-amd/ctl-hlfsd correctly refer to @sysconfdir@ for alternate 685174294Sobrien location of configuration files. 686119679Smbr 687174294Sobrien*** Notes specific to am-utils version 6.1a4: 68882794Sobrien 689174294Sobrien- full autofs support for Solaris 2.[67], including symlinks, sublinks and 690174294Sobrien direct mounts 69182794Sobrien 692174294Sobrien- fixed mount/umount deadlock in Linux autofs 69382794Sobrien 694174294Sobrien- fixed sublinks in Linux autofs 69582794Sobrien 696174294Sobrien- support for network/netmask pairs in the in_network() selector 69782794Sobrien 698174294Sobrien- support disabling LDAP and Hesiod support using configure 69982794Sobrien 700174294Sobrien- forward-ported all the fixes from the stable branch (MacOS X support, 701174294Sobrien minor Linux fixes) 70282794Sobrien 703174294Sobrien- bind-mount support for type==link and type==lofs with Linux 2.4+ 70482794Sobrien 705174294Sobrien- FiST lofs support under Linux (also in 6.0.6s2) 70682794Sobrien 707174294Sobrien*** Notes specific to am-utils version 6.1a3: 70882794Sobrien 709174294Sobrien- various things from the 6.0 branch: 710174294Sobrien compile fixes for Linux 2.4-ac and 2.2.19pre+ 711174294Sobrien Darwin/Rhapsody/OS X support 712174294Sobrien much reduced configure script (works around a bug in Darwin's cpp) 71382794Sobrien 714174294Sobrien*** Notes specific to am-utils version 6.1a2: 71582794Sobrien 716174294Sobrien- working autofs support for Solaris 2.[67], but incomplete 71782794Sobrien 718174294Sobrien- forward-ported all the changes up to 6.0.5s2 71982794Sobrien 720174294Sobrien- removed support for amq -M 72182794Sobrien 722174294Sobrien- known bugs 723174294Sobrien nfsx support is broken 724174294Sobrien linux NFS codes fixes 725174294Sobrien NFS cache aliasing fixes 726174294Sobrien lots of stuff ported from 6.0 branch 72782794Sobrien 728174294Sobrien*** Notes specific to am-utils version 6.1a1: 72982794Sobrien 730174294Sobrien- working autofs (v3 and v4) support for Linux! 73182794Sobrien 732174294Sobrien- forward-ported all the changes in 6.0.4s4 73382794Sobrien 734174294Sobrien- bugs fixed 735174294Sobrien client-side fail-over to NFSv2/UDP 73682794Sobrien 737174294Sobrien- known bugs 738174294Sobrien autofs v3 will probably break with host maps 739174294Sobrien 74082794Sobrien*** Notes specific to am-utils version 6.0.4: 74182794Sobrien 74282794Sobrien- NFSv3 support for Linux and HPUX-11 74382794Sobrien 74482794Sobrien- new amd.conf [global] options: 74582794Sobrien nfs_vers: force all NFS mounts to version 2 or 3 74682794Sobrien nfs_proto: force all NFS mounts to udp or tcp 74782794Sobrien 74882794Sobrien- new debug_options (amd -D): 74982794Sobrien hrtime: turns on high-resolution timer if available 75082794Sobrien readdir: traces browsable_dirs code 75182794Sobrien xdrtrace: traces XDR routines 75282794Sobrien (trace: only traces NFS and RPC) 75382794Sobrien 75482794Sobrien- new amq options: 75582794Sobrien -H: shows usage 75682794Sobrien -w: translate getpwd() into an Amd path 75782794Sobrien 75882794Sobrien- new map syntax: 75982794Sobrien ${dollar}: to include a literal '$' in assignments 76082794Sobrien 76182794Sobrien- new "opts:=" options: 76282794Sobrien ver3: turns on NFS version 3 on some systems (linux) 76382794Sobrien 76482794Sobrien- updated or minor new ports: 76582794Sobrien alpha-dec-osf4.0f 76682794Sobrien alphaev6-dec-osf5.0 76782794Sobrien i386-pc-linux-rh6.2 76882794Sobrien i386-unknown-freebsd3.4 76982794Sobrien 77082794Sobrien- bugs fixed: 77182794Sobrien symlink mtime fixes to avoid u/mount race conditions 77282794Sobrien update amq -s failed umounts count correctly 77382794Sobrien linux compiles even if efs is available 77482794Sobrien linux works with mount(2) option "intr" 77582794Sobrien linux works with pcfs and cdfs 77682794Sobrien handle std{in,out,err} correctly when releasing controlling tty 77782794Sobrien browsable_readdir works on 64-bit kernel architectures 77882794Sobrien irs/wire routines compile for bsdi{2,3,4} 77982794Sobrien 78082794Sobrien*** Notes specific to am-utils version 6.0.3: 78182794Sobrien 78282794Sobrien- updated or minor new ports: 78382794Sobrien hppa1.0-hp-hpux11.00 78482794Sobrien i386-pc-bsdi4.1 78582794Sobrien i386-unknown-netbsd1.4.1 78682794Sobrien sparc-sun-solaris2.8 78782794Sobrien i*86-pc-linux-gnu-rh6.1 78882794Sobrien (some preparations for Compaq Tru64) 78982794Sobrien 79082794Sobrien- new variables ${uid} and ${gid}, return the numeric UID/GID of the user 79182794Sobrien (not root) who invokes an amd pathname. Similar to what hlfsd does. 79282794Sobrien 79382794Sobrien- automake now uses automatic dependency tracking 79482794Sobrien 79582794Sobrien- new mount options: optionstr, noexec, nomnttab 79682794Sobrien 79782794Sobrien- maps of type:=auto are now browsable (using map option "browsable") 79882794Sobrien 79982794Sobrien- ctl-amd has "status" argument (same as RedHat) 80082794Sobrien 80182794Sobrien- bugs fixed: 80282794Sobrien document buggy AIX 4.3 plock() behavior 80382794Sobrien fixes to stale file handle on symlinks 80482794Sobrien reduce race conditions upon rapid umount/mount sequences 80582794Sobrien use vsnprintf, more secure than vsprintf 80682794Sobrien more assorted and smaller bugs 80782794Sobrien 80852894Sobrien*** Notes specific to am-utils version 6.0.2: 80952894Sobrien 81052894Sobrien- safe map reloads: when a map needs to be reloaded, it is reloaded into a 81152894Sobrien temporary copy first. Only if the reload was completely successful, Amd 81252894Sobrien discards the old map and uses the new one. Otherwise Amd continues to use 81352894Sobrien the old maps. This should help a lot with transient NIS problems. 81452894Sobrien 81552894Sobrien- amq -f now also forces a (safe) map reload, but only if the timestamp on 81652894Sobrien the maps was updated. 81752894Sobrien 81852894Sobrien- two new selector variables: ${vendor} and ${full_os}, which are the same 81952894Sobrien as the output seen in "amd -v". 82052894Sobrien 82152894Sobrien- documentation fixes and updates 82252894Sobrien 82352894Sobrien- updated or minor new ports: 82452894Sobrien i386-unknown-freebsdelf3.3 82552894Sobrien 82652894Sobrien- support 'ignore' flags (automntfs) in bsdi-4.1 82752894Sobrien 82852894Sobrien- bugs fixed: 82952894Sobrien expn.pl uses correct sockaddr_in() not, pack() 83052894Sobrien make sure configure --enable-*args take an argument 83152894Sobrien don't busy-loop trying to rebind to ldap servers 83252894Sobrien use vsnprintf, not vsprintf (security) 83352894Sobrien 83451292Sobrien*** Notes specific to am-utils version 6.0.1: 83551292Sobrien 83651292Sobrien- updated or minor new ports: 83751292Sobrien i386-pc-bsdi4.0.1 83851292Sobrien i386-unknown-freebsdelf3.0 83951292Sobrien i386-unknown-freebsdelf3.1 84051292Sobrien i386-unknown-freebsdelf3.2 84151292Sobrien i386-unknown-freebsdelf4.0 84251292Sobrien i386-unknown-netbsd1.4 84351292Sobrien i386-unknown-openbsd2.5 84451292Sobrien powerpc-unknown-linux-gnu 84551292Sobrien 84651292Sobrien- automount2amd added, a new script to convert Sun automount maps to Amd maps 84751292Sobrien 84851292Sobrien- new map function netgrpd(ARG), same as netgrp() but matches FQHN 84951292Sobrien 85051292Sobrien- 'ignore' is a generic mount option 85151292Sobrien 85251292Sobrien- hesiod info service isup() function to check if service is up 85351292Sobrien 85451292Sobrien- more Y2K fixes (see README.y2k for the full story) 85551292Sobrien 85651292Sobrien- using alloca.c on systems that don't have it (hpux9 with /bin/cc) 85751292Sobrien 85851292Sobrien- configure script reduced in size by using M4/sh loops instead of repeated 85951292Sobrien entries 86051292Sobrien 86151292Sobrien- documentation updates 86251292Sobrien 86351292Sobrien- too many bugs fixed to list here: 86451292Sobrien 'addopts' option works with 'remopts' as well as 'opts' 86551292Sobrien AIX can perform NFS V.3 mounts explicitly 86651292Sobrien NIS is_up fixed, especially for NIS+ running in compatibility mode 86751292Sobrien amd -v incorrectly listing file systems that don't really work 86851292Sobrien amd's own mounts use reserved ports if possible 86951292Sobrien browsable directories works for Linux 2.3 (NFS cookies) 87051292Sobrien bsd44 systems check for isofs flags 87151292Sobrien bsd44 systems check for new options: norrio, gens, and extatt 87251292Sobrien buildall works better on Ultrix's /bin/sh 87351292Sobrien compile and build on Linux kernels 2.2 and newer 87451292Sobrien compile and build on RedHat Linux 6.0 (glibc 2.1) 87551292Sobrien compile and build on Solaris 7 (with or without vendor LDAP) 87651292Sobrien completely eliminate all of amd's amq -M code, when not enabled 87751292Sobrien correctly interpret failure code of unmount of type:=program 87851292Sobrien don't create autofs listener service unless used 87951292Sobrien don't list or process amq's -M option unless feature was turned on 88051292Sobrien don't turn on/off noconn option if it was already in that state 88151292Sobrien ldap info service: don't strcmp null strings 88251292Sobrien lostaltmail correctly sets struct sockaddr_in 88351292Sobrien make sure Linux systems have configured kernel headers 88451292Sobrien test for bsize/namlen fields in nfs_args (linux mount versions 2/3) 88551292Sobrien turn off broken NFS V.3 support for HPUX 88651292Sobrien use getifaddrs() on bsd44 systems makes wire.c more reliable 88751292Sobrien use matching NFS rsize/wsize on Linux 2.0 and 2.[123] kernels. 88851292Sobrien verify that RPC requests come from reserved, privileged local ports 88951292Sobrien warn when Linux kernel headers mismatch with running kernel 89051292Sobrien pawd works for type:=nfsl too 89151292Sobrien 89242629Sobrien*** Notes specific to am-utils version 6.0: 89342629Sobrien 89442629Sobrien- updated or minor new ports: 89542629Sobrien hppa2.0w-hp-hpux11.00, 89642629Sobrien i386-pc-bsdi4.0 89742629Sobrien i386-unknown-freebsd2.2.8 89842629Sobrien i386-unknown-netbsd1.3.3 89942629Sobrien i386-unknown-openbsd2.4 90042629Sobrien mips-sgi-irix6.5 90142629Sobrien powerpc-ibm-aix4.3.1.0 90242629Sobrien i386-unknown-freebsd3.0 now supports nfs v.3 90342629Sobrien 90442629Sobrien- ctl-amd and ctl-hlfsd now compatible with RedHat's chkconfig utility 90542629Sobrien 90642629Sobrien- ctl-amd stop will now wait until amd is down 90742629Sobrien 90842629Sobrien- libamu.so completely self contained --- does not export any symbols which 90942629Sobrien must be defined by the process linking with it. This is so shared 91042629Sobrien libraries could be supported on systems that have restrictive shared 91142629Sobrien libraries. 91242629Sobrien 91342629Sobrien- use latest autoconf, automake, and libtool (off of cygnus' CVS server) to 91442629Sobrien support shared libraries on many more platforms. 91542629Sobrien 91642629Sobrien- posix code cleanups 91742629Sobrien 91842629Sobrien- bugs fixed: 91942629Sobrien case insensitive host match in type:=nfsl 92042629Sobrien correct swapped args to kill(2) 92142629Sobrien try to avoid a race condition b/t mounting and unmounting 92242629Sobrien yp_all support is found in libnsl in RH-5.1 systems 92342629Sobrien 92441142Sobrien*** Notes specific to am-utils version 6.0b1: 92541142Sobrien 92641142Sobrien- updated or minor new ports: 92741142Sobrien - *-pc-linux-gnu (glibc2 systems such as RedHat 5.1) 92841142Sobrien - sparc-sun-solaris2.7 92941142Sobrien - i386-pc-solaris2.7 93041142Sobrien - i386-unknown-freebsd3.0 (official release, post 4.4lite port) 93141142Sobrien - sparc64-unknown-linux-gnu (RH 5.1 on Sun Sparc Ultra) 93241142Sobrien 93341142Sobrien- bugs fixed: 93441142Sobrien - major memory leak in processing of /defaults 93541142Sobrien - core dump if map_type given in amd.conf doesn't exist 93641142Sobrien - memory leak in replacement yp_all 93741142Sobrien - don't access uninitialized memory in DU 4.0 93841142Sobrien - other smaller bugs, see ChangeLog 93941142Sobrien 94038494Sobrien*** Notes specific to am-utils version 6.0a16: 94138494Sobrien 94238494Sobrien- new ports: 94338494Sobrien hppa1.0-hp-hpux11.00 (works, not NFS V.3 due to missing headers) 94438494Sobrien mips-dec-ultrix4.3 (working, unverified) 94538494Sobrien 94638494Sobrien- new minor ports: 94738494Sobrien i386-pc-bsdi3.1 94838494Sobrien i386-unknown-netbsd1.3.1 94938494Sobrien alpha-dec-osf2.1 95038494Sobrien 95138494Sobrien- new options addopt:=ARG will "smartly" add and override options specified 95238494Sobrienin opts:= 95338494Sobrien 95438494Sobrien- new amd.conf options: 95538494Sobrien pid_file: specifies the file to store the PID 95638494Sobrien hesiod_base: specifies the base for the Hesiod service 95738494Sobrien unmount_on_exit: if 'yes' will attempt to unmount all file systems 95838494Sobrien when amd exits. 95938494Sobrien 96038494Sobrien- amd.conf file is parsed after all other command line options. If no 96138494Sobrienoptions specified at all, then use /etc/amd.conf by default. 96238494Sobrien 96338494Sobrien- some variables' values are now compared case-insensitive as per specs, 96438494Sobriensuch as host names, domain names, and more. 96538494Sobrien 96638494Sobrien- NIS service uses a new isup() function to detect if the service is up 96738494Sobrienbefore using it. Used to ensure amd doesn't clear the existing maps before 96838494Sobrienreloading them, unless the remote info service is working. 96938494Sobrien 97038494Sobrien- new cdfs mount options: rrip, noversion, defperm, nodefperm (OSF) 97138494Sobrien 97238494Sobrien- support efs/xfs separately on irix 97338494Sobrien 97438494Sobrien- new -D info trace option to turn on info specific debugging, such as 97538494SobrienRES_DEBUG for hesiod services. 97638494Sobrien 97738494Sobrien- document updates and fixes 97838494Sobrien 97938494Sobrien- new file MIRRORS lists official mirror sites (also in am-utils home page) 98038494Sobrien 98138494Sobrien- new file BUGS lists known amd/OS bugs 98238494Sobrien 98338494Sobrien- source restructuring: rename all Amd file-systems' sources to amfs_ARG.c 98438494Sobriensuch that it matches the type:=ARG as well. Free names afs/dfs for Andrew 98538494SobrienF/S and Distributed F/S. 98638494Sobrien 98738494Sobrien- checkpoint config.guess several times during the long configure, so that 98838494Sobrienif it is aborted midway, the bulk of the features discovered will be re-read 98938494Sobrienfrom the config.cache file. 99038494Sobrien 99138494Sobrien- more systems support shared libraries (libtool 1.2) 99238494Sobrien 99338494Sobrien- using automake 1.3 + more fixes 99438494Sobrien 99538494Sobrien- bugs fixed: 99638494Sobrien use dynamic buffer for list of interfaces, not fixed size 99738494Sobrien output of amd -H duplicated if >2 interfaces 99838494Sobrien -D mem for hlfsd not on by default (so it will daemonize) 99938494Sobrien linux looks for ext2fs before ufs 100038494Sobrien CDFS looks for 'isofs' mount type as well 100138494Sobrien compile on Solaris 2.6 with /opt/SUNWspro/bin/cc 100238494Sobrien various additional fixes which gcc 2.8.x reported 100338494Sobrien print syslog help string based on what's supported 100438494Sobrien correctly ignore loopback interface on SunOS 3.x 100538494Sobrien don't use -lucb for strcasecmp 100638494Sobrien hlfsd's dump file securely written in /usr/tmp/hlfsd.dump.XXXXXX 100738494Sobrien inherit NFS V.3 mounts correctly 100838494Sobrien write pid file securely 100938494Sobrien 101038494Sobrien*** Notes specific to am-utils version 6.0a15: 101138494Sobrien 101238494Sobrien- new ports: 101338494Sobrien alpha-unknown-linux-gnu: works 101438494Sobrien i386-unknown-netbsd1.3: fully working 101538494Sobrien *-sun-sunos3: compiles, not tested 101638494Sobrien 101738494Sobrien- updated ports: 101838494Sobrien m68k-next-nextstep3: cleaner compile, works. 101938494Sobrien 102038494Sobrien- new file system type nfsl (NFS Link). Uses nfs if file system is remote, 102138494Sobrienand link if it is local (based on if $rhost equals the host name). 102238494Sobrien 102338494Sobrien- support for Solaris cachefs. Requires setting fs, rfs, and a new variable 102438494Sobriencachedir. See documentation for explanation, examples, and caveats. 102538494Sobrien 102638494Sobrien- support negated selector functions such as !exists(/foo/bar) 102738494Sobrien 102838494Sobrien- wire, network, netnumber, in_network() selectors now match against all 102938494Sobrienlocally attached networks (by either name or number), not just the first two 103038494Sobrieninterfaces. 103138494Sobrien 103238494Sobrien- new program pawd (and man page for it) --- Print Automounter Working 103338494SobrienDirectory, to print the proper pathname of the cwd or any other pathname, 103438494Sobrienadjusted for automounter paths, while avoiding mount points. 103538494Sobrien 103638494Sobrien- two new switches to amq: -U will force using UDP only; -T will force using 103738494Sobrienonly TCP to communicate with amd. If neither (or both) are specified, amq 103838494Sobrienwill try TCP first, and if that failed, will try UDP. 103938494Sobrien 104038494Sobrien- support syslog facilities, using "amd -l syslog:facility". Old behavior 104138494Sobrienwhen using only -l syslog is to use the LOG_DAEMON facility. 104238494Sobrien 104338494Sobrien- you may specify browsable_dirs=full, to get a listing of all entries 104438494Sobrien(other than /default), including those with '*' wildcard and '/' 104538494Sobriencharacters. 104638494Sobrien 104738494Sobrien- amd -D trace now also includes as much of struct nfs_args as can be 104838494Sobriendisplayed. Useful in figuring out what the kernel really gets during a 104938494Sobrienmount(2), as opposed to what the /etc/mnttab file says. -D trace also 105038494Sobrientraces the xdr_* functions. 105138494Sobrien 105238494Sobrien- support for versions of shared libamu version. upped version from 0.0.0 105338494Sobriento 1.0.0. each am-utils release that will change the library will also 105438494Sobrienupdate its version. 105538494Sobrien 105638494Sobrien- amd/ops_TEMPLATE.c: a new template file for those brave enough to try and 105738494Sobrienimplement a new amd file system. Includes comments and other info useful 105838494Sobrienfor developers. 105938494Sobrien 106038494Sobrien- if localconfig.h exists in the current directory during the run of 106138494Sobrienconfigure, it is included in all am-utils sources. This allows courageous 106238494Sobriendevelopers to make certain modifications during compilations, and especially 106338494Sobrienturn off undesired features (not very recommended). 106438494Sobrien 106538494Sobrien- documentation types and updates for all new features, ports, etc. 106638494Sobrien 106738494Sobrien- bugs fixed: 106838494Sobrien support NFS mount options grpid and maxgrps 106938494Sobrien nextstep: set NFS success code to 0 (NFS_OK), not 1 (EPERM) 107038494Sobrien bsdi2: set NFS success code to 0 (NFS_OK), not 1 (EPERM) 107138494Sobrien set NFS V.3 mount table names to "nfs" if vers/proto exist 107238494Sobrien use mkstemp() if possible (more secure) 107338494Sobrien ctl-amd looks for amd.conf in ${prefix}/etc after /etc 107438494Sobrien hpux: use "ignore" mount table type 107538494Sobrien openbsd2.2: turn off "noconn" mount option, so only connected used 107638494Sobrien fixed memory leak in hlfsd (don't setpwent after endpwent) 107738494Sobrien all NFS3 systems should have proto/vers mount/amd options 107838494Sobrien DEBUG_MEM compiles and prints something more useful 107938494Sobrien uninit_mntfs(): free() mf_private *after* it is used 108038494Sobrien browsable_readdir: fewer bytes sent back to kernel for each chunk 108138494Sobrien mount_toplvl: don't free() an automatic variable! 108238494Sobrien amd should chdir() to / before daemonzing (for core dumps etc) 108338494Sobrien cdfs should be called 'cdfs' not whatever the mnttab type is 108438494Sobrien amd -v: don't print "FS:" list twice when >=2 net interfaces 108538494Sobrien 108638494Sobrien*** Notes specific to am-utils version 6.0a14: 108738494Sobrien 108838494Sobrien- updated ports: 108938494Sobrien powerpc-ibm-aix4.2.1.0: NFS V.3 works 109038494Sobrien 109138494Sobrien- minor new ports: 109238494Sobrien sparc-sun-sunos4.1.3C 109338494Sobrien m68k-sun-sunos4.1.1 (sun3) 109438494Sobrien mips-sgi-irix5.2 109538494Sobrien 109638494Sobrien- new option to amd, -O ARG, will override the operating systems *name* with 109738494SobrienARG. Corrected documentation for amd -o ARG --- it overrides the operating 109838494Sobriensystem *version* and not the name as the docs incorrectly stated. 109938494Sobrien 110038494Sobrien- logging now behave more like syslog: will not print repeated strings, but 110138494Sobrienrather a count such as "last message repeated N times". (N will not exceed 110238494Sobrien100.) 110338494Sobrien 110438494Sobrien- restructured the code which deals with the numerous possible fields and 110538494Sobrienflags that are set in struct nfs_args. That code was moved to libamu as 110638494Sobrienthe functions compute_nfs_args() and compute_automounter_nfs_args(). 110738494Sobrien 110838494Sobrien- bugs fixed: 110938494Sobrien mnttab name ufs/cdfs/pcfs/etc filesystems corrected 111038494Sobrien use pmap_ping for amq (a must for secure portmappers, bsdi2/3) 1111174294Sobrien test for xfs (irix) as a disk-based file system 111238494Sobrien set correct nfs_prot headers for Solaris 2.5 111338494Sobrien removed stale code from lostaltmail.in 111438494Sobrien lostaltmail will look for conf file in multiple locations 111538494Sobrien assorted documentation corrections 111638494Sobrien amq does not print "get_secure_amd_client" if run as root 111738494Sobrien 111838494Sobrien*** Notes specific to am-utils version 6.0a13: 111938494Sobrien 112038494Sobrien- new in_network(ARG) nomadic selector, true if ARG is the name (or number) 112138494Sobrienof any of this host's network interfaces. 112238494Sobrien 112338494Sobrien- removed variables primnetname, primnetnum, subsnetname, and subsnetnum. 112438494Sobrien(Kept "wire" and its alias "network", and "netnumber".) 112538494Sobrien 112638494Sobrien- include am-utils.dvi and am-utils.ps in distribution. 112738494Sobrien 112838494Sobrien- hlfsd supports new option -P ARG, for reading password map off of file 112938494SobrienARG. Allows you to use the hlfs redirector using paths other than user's 113038494Sobrienhome directories. 113138494Sobrien 113238494Sobrien- use a replacement yp_all for some systems (irix) known to have a broken 113338494Sobrienone which leaks a file descriptor each time called. 113438494Sobrien 113538494Sobrien- if remote NFS server is down or does not support portmap, downgrade 113638494Sobrienmachine to NFS V.2 and retry again later. 113738494Sobrien 113838494Sobrien- bugs: 113938494Sobrien don't redefine yywrap on systems using a modified flex 114038494Sobrien use correct "ignore" mnttab/mount option on hpux for df(1) 114138494Sobrien use nfs_args' fsname field (hpux) to avoid syncer/mount(1) problems 114238494Sobrien don't add ops_ufs.o twice to Makefile's $(OBJS) 114338494Sobrien don't fail if autofs listener fails to initialize 114438494Sobrien hlfsd should test if run as root after usage() and getopt 114538494Sobrien 114638494Sobrien- minor code cleanups for netbsd 114738494Sobrien 114882794Sobrien- html docs now in http://www.am-utils.org 114938494Sobrien 115038494Sobrien- added README file in binaries ftp directory 115138494Sobrien 115238494Sobrien*** Notes specific to am-utils version 6.0a12: 115338494Sobrien 115438494Sobrien- minor or updated/broken ports fixed: 115538494Sobrien hppa1.1-hp-hpux10.10: compiles, untested (probably works). 115638494Sobrien hppa1.1-hp-hpux9.05: compiles, untested (probably works). 115738494Sobrien hppa1.1-hp-hpux9.07: compiles, untested (probably works). 115838494Sobrien m68k-hp-hpux9.00: compiles, untested (probably works). 115938494Sobrien rs6000-ibm-aix4.1.4.0: compiles, untested. 116038494Sobrien sparc-sun-solaris2.6: works w/ NFS V.3. 116138494Sobrien sparc-sun-sunos4.1.4: compiles, untested (probably works). 116238494Sobrien 116338494Sobrien- new ports: 116438494Sobrien powerpc-ibm-aix4.2.1.0: compiles w/ NFS V.3, untested. 116538494Sobrien 116638494Sobrien- wire-test also checks for combinations of NFS protocol/version from the 116738494Sobrienclient to a remote (or local) host. 116838494Sobrien 116938494Sobrien- conf/mtab/mtab_file.c: use flock() to lock the file, and fcntl() if 117038494Sobrienflock() is not available. (Used to prefer fcntl() over flock().) 117138494Sobrien 117238494Sobrien- bug fixes: 117338494Sobrien tli get_nfs_version() gets into an infinite loop 117438494Sobrien tli get_nfs_version() should time out faster 117538494Sobrien sockets get_nfs_version() should work w/ secure portmappers 117638494Sobrien ESTALE returned for NFS mounts for SunOS 4.x fixed 117738494Sobrien do not exceed HOSTNAMESZ for nfs_args.hostname (get ENAMETOOLONG) 117838494Sobrien properly initialize some mntent_t fields (fsck, freq, mnt_time) 117938494Sobrien properly initialize some pcfs_args fields (mask, uid, gid) 118038494Sobrien properly initialize some cdfs_args fields (ssector) 118138494Sobrien 118238494Sobrien*** Notes specific to am-utils version 6.0a11: 118338494Sobrien 118438494Sobrien- bug fixes: 118538494Sobrien amd could not NFS mount v.2 servers from v.3 clients 118638494Sobrien hlfsd will only use first occurrence of home dir for same uid 118738494Sobrien 118838494Sobrien*** Notes specific to am-utils version 6.0a10: 118938494Sobrien 119038494Sobrien- MAJOR DOCUMENTATION UPDATE! (first time in 6 years) 119138494Sobrien 119238494Sobrien- new ports: 119338494Sobrien m68k-next-nextstep3: configures, compiles, not tested. 119438494Sobrien 119538494Sobrien- preliminary autofs support. See README.autofs for details. 119638494Sobrien 119738494Sobrien- new amd.conf [global] yes/no keywords: 119838494Sobrien show_statfs_entries: shows number of entries for df(1) 119938494Sobrien fully_qualified_hosts: use FQHN for NFS/RPC authentication 120038494Sobrien 120138494Sobrien- detect down remote hosts faster 120238494Sobrien 120338494Sobrien- log output of "amd -v" at startup 120438494Sobrien 120538494Sobrien- removed $osver override for solaris: now it is 2.5.1, not 5.5.1 120638494Sobrien 120738494Sobrien- buildall will use gmake first if available 120838494Sobrien 120938494Sobrien- bugs fixed: 121038494Sobrien amd core dumped when remote host was down 121138494Sobrien allow up to 1024 entries back from readdir() 121238494Sobrien amd.conf works even if only [global] option defined 121338494Sobrien avoid using bad memcmp() implementations 121438494Sobrien fixed meaning of plock [global] option (was reversed) 121538494Sobrien hlfsd infinite loop unless compiled with --enable-debug 121638494Sobrien NIS code works with NIS+ servers in NIS compatibility mode 121738494Sobrien reset tag fields in amd.conf so they don't carry to other entries 121838494Sobrien 121938494Sobrien*** Notes specific to am-utils version 6.0a9: 122038494Sobrien 122138494Sobrien- new ports: 122238494Sobrien sparc-sun-solaris2.4: 122338494Sobrien configures/compiles, and runs (no NFS V3) 122438494Sobrien i386-unknown-openbsd2.1: 122538494Sobrien configures/compiles, runs (NFS V3) 122638494Sobrien 122738494Sobrien- updated ports: 122838494Sobrien i486-ncr-sysv4.3.03: configures/compiles, not tested 122938494Sobrien 123038494Sobrien- Multiple amd support: new amd.conf [global] key "portmap_program" can be 123138494Sobrienused to specify an alternate RPC program number for amd to un/register. 123238494SobrienAllowed numbers range from 300019 to 300029. A matching new option for amq: 123338494Sobrien-P prognum, will use an alternate program number to contact. 123438494Sobrien 123538494Sobrien- man pages: 123638494Sobrien amd.conf.5 new 123738494Sobrien mk-amd-map.8 new 123838494Sobrien amd.8 updated 123938494Sobrien amq.8 updated 124038494Sobrien (other man pages required minor updates) 124138494Sobrien 124238494Sobrien- shared libraries support expanded. Using GNU libtool-1.0. You can build 124338494Sobriena shared version of libamu, and link with it accordingly, by specifying 124438494Sobrien--enable-shared to configure. Default is --enable-static --disable-shared, 124538494Sobrienand you can mix and match. See "INSTALL" file for listing of systems on 124638494Sobrienwhich shared libraries seem to build and work fine. 124738494Sobrien 124838494Sobrien- new option: amq -p, will return the PID of the running amd (local or 124938494Sobrienremote). Uses a new RPC message. Useful especially in "ctl-amd stop". 125038494Sobrien 125138494Sobrien- new configure script options --enable-ldflags, for specifying -L flags. 125238494SobrienThe older --enable-libs is to be used only for -l options. 125338494Sobrien 125438494Sobrien- two new LDAP map options for amd.conf: ldap_cache_seconds and 125538494Sobrienldap_cache_maxmem. 125638494Sobrien 125738494Sobrien- new script, am-eject from Debian linux's version of amd-upl102. 125838494Sobrien 125938494Sobrien- additional passwd map support using var[0-3], from Debian folks. 126038494Sobrien 126138494Sobrien- hesiod code cleanup. works for hesiod 1.3 as well as 3.0. 126238494Sobrien 126338494Sobrien- removed defunct -h option from amd. 126438494Sobrien 126538494Sobrien- started using automake-1.2. This fixed several bugs that caused some 126638494Sobrienversions of yacc/lex and non-GNU make to fail. 126738494Sobrien 126838494Sobrien- bug fixes: 126938494Sobrien amd/hlfsd mounts should be hidden from df(1) 127038494Sobrien use "noconn" option for nfs mounts (multi-homed hosts) 127138494Sobrien don't use connected sockets on linux before 1.3.10 (from Debian) 127238494Sobrien better checks for [gn]dbm 127338494Sobrien forbid excessive retries after timeouts (from Debian) 127438494Sobrien readdir(): don't skip over map entries with prefix, and include it 127538494Sobrien more assorted linux fixes from Debian folks 127638494Sobrien lofs mount on svr4 was broken 127738494Sobrien find default value of $karch from uname() not $arch 127838494Sobrien hlfsd failed to mount itself on some little-endians 127938494Sobrien 128038494Sobrien 128138494Sobrien*** Notes specific to am-utils version 6.0a8: 128238494Sobrien 128338494Sobrien- new ports: 128438494Sobrien i386-unknown-netbsd1.2.1: configures/compiles (with NFS V.3), works, 128538494Sobrien but some OS stability problems exist. 128638494Sobrien 128738494Sobrien- updated ports: 128838494Sobrien hppa1.1-hp-hpux9.01: 128938494Sobrien now tested and working 129038494Sobrien rs6000-ibm-aix3.2 and rs6000-ibm-aix3.2.5: 129138494Sobrien now tested and working 129238494Sobrien 129338494Sobrien- fixed browsable directories (readdir) code. 129438494Sobrien 129538494Sobrien- better methods to find amd/hlfsd pid to kill in ctl-{amd,hlfsd} 129638494Sobrien 129738494Sobrien- "ignore/auto" mount types fixed for irix, sunos, and others, so "df" does not 129838494Sobrienshow amd mounts by default (but GNU df -a does). 129938494Sobrien 130038494Sobrien- each time amd is built, a new "build" version is incremented. See amd -v. 130138494Sobrien 130238494Sobrien- man page for fsinfo added 130338494Sobrien 130438494Sobrien- empty fillers for new file (bsd44) systems: nullfs, unionfs, umapfs. 130538494Sobrien 130638494Sobrien- when amd is not running, or portmapper is down, make amq timeout faster (5 130738494Sobriensec) than system default, usually 4-5 minutes. 130838494Sobrien 130938494Sobrien- bug fixes: 131038494Sobrien hlfsd mount got "protocol not supported" 131138494Sobrien first regular map in amd.conf didn't inherit global options 131238494Sobrien make "bad" versions of lex still work with amd/conf_parse.l 131338494Sobrien check for 'nodev' option, not 'nondev' 131438494Sobrien typo in "ro" option, and fillers to ac{reg,dir}{min,max} and others 131538494Sobrien amd.conf parsing done before switching default log/debug options 131638494Sobrien allow doubly-quoted values in amd.conf 131738494Sobrien hesiod-reload code cleanup 131838494Sobrien 131938494Sobrien- assorted code cleanup 132038494Sobrien 132138494Sobrien 132238494Sobrien*** Notes specific to am-utils version 6.0a7: 132338494Sobrien 132438494Sobrien- new ports: 132538494Sobrien i386-unknown-freebsd3.0: 132638494Sobrien fully functional with NFS V.3 132738494Sobrien sparc-sun-solaris2.3: 132838494Sobrien fully functional (should work for 2.4) 132938494Sobrien sparc-unknown-netbsd1.2E: 133038494Sobrien configures/compiles (with NFS V.3), untested 133138494Sobrien 133238494Sobrien- updated ports: 133338494Sobrien i386-pc-bsdi3.0: 133438494Sobrien NFS V.3 works 133538494Sobrien look for hesiod in libc 133638494Sobrien mips-sgi-irix5.3: 133738494Sobrien fully functional with NFS V.3 133838494Sobrien 133938494Sobrien- LDAP support! New [global] amd.conf options ldap_base and ldap_hostports. 134038494SobrienAlso includes a new script amd2ldif to convert amd maps into plain text LDAP 134138494Sobrienobject files. 134238494Sobrien 134338494Sobrien- the following amd.conf variables: browsable_dirs, map_options, map_type, 134438494Sobrienmount_type, and search_path --- can now be specified in [global] as well as 134538494Sobrienthe map entry itself. That way you can declare them only once in [global], 134638494Sobrienand override them as needed per map. 134738494Sobrien 134838494Sobrien- option "cluster" added to [global] (HPUX clusters ala "amd -C"). 134938494Sobrien 135038494Sobrien- assorted info_hesiod map fixes and cleanup. removed HESIOD_RELOAD code. 135138494Sobrien 135238494Sobrien- added netgrp(name) function to amd map syntax to see if current host is in 135338494Sobrienthe <name> netgroup. 135438494Sobrien 135538494Sobrien- removed unused option "amd -m". 135638494Sobrien 135738494Sobrien- filled in "tasks" file with todo items. 135838494Sobrien 135938494Sobrien- filled "COPYING" file with legal stuff. 136038494Sobrien 136138494Sobrien- cleanup: all global variables are now in one big structure (struct 136238494Sobrienamu_global_options) that's easy to identify and enhance. Also migrated 136338494Sobrienseveral flags that used be an integer each into one unsigned integer that's 136438494Sobrienused as a bit-flag. 136538494Sobrien 136638494Sobrien- big fixes: 136738494Sobrien xdr_mountres3 should compile only if has NFS V3 136838494Sobrien lex/yacc macros show full pathname (to tell if correct one runs) 136938494Sobrien misc fixes/cleanup 137038494Sobrien 137138494Sobrien 137238494Sobrien*** Notes specific to am-utils version 6.0a6: 137338494Sobrien 137438494Sobrien- amd configuration file! 137538494Sobrien 137638494SobrienSee scripts/amd.conf-sample for help and some explanation. This new conf 137738494Sobrienfile allows for the following new features: 137838494Sobrien 137938494Sobrien default selectors can be turned on/off globally. 138038494Sobrien browsable_dirs/readdir() support can be turned on per map. 138138494Sobrien search paths for file type maps. 138238494Sobrien can force the map type to file, nis, ndbm, etc. rather than default 138338494Sobrien to looking at all of them. 138438494Sobrien tag each map for "amd -T tag", useful for grouping maps. 138538494Sobrien can override $os and others (so if you don't like "sunos5" default 138638494Sobrien naming, set os=sos5 and it will work with your old maps). 138738494Sobrien and more goodies... 138838494Sobrien 138938494Sobrien- enable-default-selectors: No longer turned on by the configure script or 139038494Sobrienoptionally compiled. Code made dynamic and can be turned on or off from the 139138494Sobrienamd.conf file. This code is off by default, and must be turned on by 139238494Sobrienamd.conf's [global] section. 139338494Sobrien 139438494Sobrien- new ports: 139538494Sobrien mips-sgi-irix5.3: configure/compile, not tested 139638494Sobrien i486-ncr-sysv4.3.03: configure/compile, not tested 139738494Sobrien 139838494Sobrien- updated ports: 139938494Sobrien alpha-dec-osf4.0: major code redone 140038494Sobrien sparc-sun-sunos4.1.3: fixed and working 140138494Sobrien mips-sgi-irix6.2: tested with gcc and "cc -32 -Wl,-woff,84" 140238494Sobrien mips-sgi-irix6.4: tested with gcc and "cc -32 -Wl,-woff,84" 140338494Sobrien 140438494Sobrien- better NFS3 port, including more support for proto= and vers=, and 140538494Sobrienautomatic determination of proto/vers combination. 140638494Sobrien 140738494Sobrien- conf/nfs_prot/nfs_prot_*.h: all of the NFS protocol header files had to be 140838494Sobrienredone, because of the osf4 port. OSF used very different names for these, 140938494Sobrienand they conflicted with am-utils'. The only solution was to more or less 141038494Sobrienconform to OSF4's naming, and change all the others. 141138494Sobrien 141238494Sobrien- ctl-amd script: 141338494Sobrien improved to look for amd.conf in $prefix/etc and /etc 141438494Sobrien better methods for finding the pid of amd to kill 141538494Sobrien 141638494Sobrien- autoconf support for LDAP. amd/info_ldap.c needs to be written. 141738494Sobrien 141838494Sobrien- wire-test also reports the local IP address. Some systems have multiple, 141938494Sobrienbuggy version of get_myaddress(), esp. SunOS and Irix. Note that Solaris 142038494Sobrienx86 has a buggy htonl(). 142138494Sobrien 142238494Sobrien- amd -H prints usage. 142338494Sobrien 142438494Sobrien- bugs fixed: 142538494Sobrien minor TLI problem in fwd_socket 142638494Sobrien mount options properly comma delimited 142738494Sobrien LIBS is set only to the right set of libraries to include 142838494Sobrien selectors-on-default code ignored last selector ent in /defaults 142938494Sobrien assorted code cleanups 143038494Sobrien 143138494Sobrien 143238494Sobrien*** Notes specific to am-utils version 6.0a5: 143338494Sobrien 143438494Sobrien- NFS Version 3 support!!! 143538494Sobrien 143638494Sobrien Works on Solaris 2.5.1. 143738494Sobrien Minimal testing done on Irix 6. 143838494Sobrien Compiles cleanly on DU-4.0 but no tests performed. 143938494Sobrien 144038494SobrienWill fall back to V2 mounts when V3 is not available. Will also use TCP if 144138494Sobrienpossible, UDP otherwise. 144238494Sobrien 144338494Sobrien- Ports to new platforms: 144438494Sobrien 144538494Sobrien alpha-dec-osf4.0 (not tested) 144638494Sobrien i386-pc-bsdi3.0 (tested and working) 144738494Sobrien i386-unknown-freebsd2.2.1 (tested and working) 144838494Sobrien sparc-unknown-linux-gnu (tested and working) 144938494Sobrien 145038494Sobrien- New scripts added: 145138494Sobrien 145238494Sobrien amd2sun: convert amd maps to Sun automount maps 145338494Sobrien ctl-amd: script to start/stop/restart amd 145438494Sobrien ctl-hlfsd: script to start/stop/restart hlfsd 145538494Sobrien expn: expand mail alias (used by hlfsd) 145638494Sobrien lostaltmail: redeliver "lost" mail redirected by hlfsd 145738494Sobrien lostaltmail.conf-sample: sample conf file for lostaltmail 145838494Sobrien wait4amd: run a command once amd is up on a host 145938494Sobrien wait4amd2die: wait for an amd process to die before returning 146038494Sobrien 146138494Sobrien- "amd -v" now includes more info and "amq -v" lists all of it. 146238494Sobrien 146338494Sobrien- new parser for linux specific mount options. 146438494Sobrien 146538494Sobrien- Main bugs fixed: 146638494Sobrien 146738494Sobrien "new toplvl readdir" bug caused amd to dump core 146838494Sobrien handler for SIGCHLD didn't check for all possible children 146938494Sobrien hlfsd leaking file descriptors when home file system was full 147038494Sobrien cdfs/pcfs mounts should not timeout by default 147138494Sobrien hesiod domain names should be compared in case-insensitive manner 147238494Sobrien several printfs in amq were missing \n 147338494Sobrien 147438494Sobrien 147538494Sobrien*** Notes specific to am-utils version 6.0a4: 147638494Sobrien 147738494Sobrien- amd services both TCP and UDP amq requests. This will help because of the 147838494Sobrienlimited UDP message size. 147938494Sobrien 148038494Sobrien- "amq -M" code is disabled by default because it is insecure. It is 148138494Sobrienrarely used. Users who wish to use it should run 148238494Sobrien"configure --enable-amq-mount". 148338494Sobrien 148438494Sobrien 148538494Sobrien*** Notes specific to am-utils version 6.0a3: 148638494Sobrien 148738494Sobrien- New tested ports (configures, compiles, and runs): 148838494Sobrien 148938494Sobrien i386-unknown-freebsd2.2 149038494Sobrien 149138494Sobrien- New ports (configures and compiles correctly, not tested): 149238494Sobrien 149338494Sobrien rs6000-ibm-aix3.2.5 149438494Sobrien rs6000-ibm-aix4.1.5.0 149538494Sobrien 149638494Sobrien- More am-utils programs ported to all existing platforms: hlfsd, fsinfo, 149738494Sobrienmk-amd-map, and fixmount. 149838494Sobrien 149938494Sobrien- Shared libraries: a new configure option --enable-shared will build a 150038494Sobrienshared libamu.so, link applications with it, and use it. Reduces binary 150138494Sobriensizes by 20-30%. This is the first step towards loadable modules, as many 150238494Sobrienchanges had to be done to be able to compile and use PIC code. This is code 150338494Sobrienthat obviously needs to be generalized to be able to build shared libraries 150438494Sobrienon many other platforms. It was only tested on Solaris 5.5.1. 150538494Sobrien 150638494Sobrien- the file INSTALL contains the latest compatibility table of which 150738494Sobrienplatforms am-utils configures, compiles and runs on. 150838494Sobrien 150938494Sobrien- Trimmed down the size of the configure script. Some tests that are not 151038494Sobrienused anywhere were removed. 151138494Sobrien 151238494Sobrien 151338494Sobrien*** Notes specific to am-utils version 6.0a2: 151438494Sobrien 151538494Sobrien- New ports (configures and compiles correctly, not tested): 151638494Sobrien 151738494Sobrien i386-pc-bsdi2.1 151838494Sobrien hppa1.1-hp-hpux9.01 151938494Sobrien hppa1.1-hp-hpux10.20 152038494Sobrien 152138494Sobrien- new configure options: 152238494Sobrien 152338494Sobrien --enable-cppflags[=ARG] 152438494Sobrien configure/compile with ARG (-I) preprocessor flags 152538494Sobrien --enable-libs[=ARG] 152638494Sobrien configure/compile with ARG (-L/-l) library flags 152738494Sobrien 1528174294Sobrien- file system, mount table entries, and mount type tests can now look in 152938494Sobrien/lib/modules and /proc/filesystems for statically/dyadically loadable kernel 153038494Sobrienmodules (linux) 153138494Sobrien 1532174294Sobrien- prefer vfat over msdos/pc/etc file system for PCFS. 153338494Sobrien 153438494Sobrien- moved all fixed headers to include/am_defs. Left only #define/#undef 153538494Sobrienentries in aux/acconfig.h. 153638494Sobrien 153738494Sobrien- make more sense of systems that have full, partial, or no NFS protocol 153838494Sobrienheaders. 153938494Sobrien 154038494Sobrien- minor fixes for NetBSD (untested platform). 154138494Sobrien 154238494Sobrien- hesiod map fixed. 154338494Sobrien 154438494Sobrien- buildall -D: new option to run even stricter developer options. 154538494Sobrien 154638494Sobrien- lots of other bugs fixed (see ChangeLog). 154738494Sobrien 154838494Sobrien 154938494Sobrien*** Notes specific to am-utils version 6.0a1: 155038494Sobrien 155138494SobrienI have it configure and build correctly for the following systems: 155238494Sobrien 155338494Sobrien i386-pc-solaris2.5.1 155438494Sobrien i386-unknown-freebsd2.1.0 155538494Sobrien mips-sgi-irix6.2 155638494Sobrien sparc-sun-solaris2.5.1 155738494Sobrien sparc-sun-sunos4.1.3 155838494Sobrien 155938494SobrienAmq, wire-test, and "amd -v" work on all of the above. A real running amd 156038494Sobrienwas only tested and confirmed working on 156138494Sobrien 156238494Sobrien i386-pc-solaris2.5.1 156338494Sobrien sparc-sun-solaris2.5.1 156438494Sobrien 156538494SobrienMany things are still missing: options, features, etc. But for now, let's 156638494Sobrienconcentrate on getting the basic functionality working on the more popular 156738494Sobriensystems. 1568