NEWS revision 38494
1*** Notes specific to am-utils version 6.0a16: 2 3- new ports: 4 hppa1.0-hp-hpux11.00 (works, not NFS V.3 due to missing headers) 5 mips-dec-ultrix4.3 (working, unverified) 6 7- new minor ports: 8 i386-pc-bsdi3.1 9 i386-unknown-netbsd1.3.1 10 alpha-dec-osf2.1 11 12- new options addopt:=ARG will "smartly" add and override options specified 13in opts:= 14 15- new amd.conf options: 16 pid_file: specifies the file to store the PID 17 hesiod_base: specifies the base for the Hesiod service 18 unmount_on_exit: if 'yes' will attempt to unmount all file systems 19 when amd exits. 20 21- amd.conf file is parsed after all other command line options. If no 22options specified at all, then use /etc/amd.conf by default. 23 24- some variables' values are now compared case-insensitive as per specs, 25such as host names, domain names, and more. 26 27- NIS service uses a new isup() function to detect if the service is up 28before using it. Used to ensure amd doesn't clear the existing maps before 29reloading them, unless the remote info service is working. 30 31- new cdfs mount options: rrip, noversion, defperm, nodefperm (OSF) 32 33- support efs/xfs separately on irix 34 35- new -D info trace option to turn on info specific debugging, such as 36RES_DEBUG for hesiod services. 37 38- document updates and fixes 39 40- new file MIRRORS lists official mirror sites (also in am-utils home page) 41 42- new file BUGS lists known amd/OS bugs 43 44- source restructuring: rename all Amd file-systems' sources to amfs_ARG.c 45such that it matches the type:=ARG as well. Free names afs/dfs for Andrew 46F/S and Distributed F/S. 47 48- checkpoint config.guess several times during the long configure, so that 49if it is aborted midway, the bulk of the features discovered will be re-read 50from the config.cache file. 51 52- more systems support shared libraries (libtool 1.2) 53 54- using automake 1.3 + more fixes 55 56- bugs fixed: 57 use dynamic buffer for list of interfaces, not fixed size 58 output of amd -H duplicated if >2 interfaces 59 -D mem for hlfsd not on by default (so it will daemonize) 60 linux looks for ext2fs before ufs 61 CDFS looks for 'isofs' mount type as well 62 compile on Solaris 2.6 with /opt/SUNWspro/bin/cc 63 various additional fixes which gcc 2.8.x reported 64 print syslog help string based on what's supported 65 correctly ignore loopback interface on SunOS 3.x 66 don't use -lucb for strcasecmp 67 hlfsd's dump file securely written in /usr/tmp/hlfsd.dump.XXXXXX 68 inherit NFS V.3 mounts correctly 69 write pid file securely 70 71*** Notes specific to am-utils version 6.0a15: 72 73- new ports: 74 alpha-unknown-linux-gnu: works 75 i386-unknown-netbsd1.3: fully working 76 *-sun-sunos3: compiles, not tested 77 78- updated ports: 79 m68k-next-nextstep3: cleaner compile, works. 80 81- new file system type nfsl (NFS Link). Uses nfs if file system is remote, 82and link if it is local (based on if $rhost equals the host name). 83 84- support for Solaris cachefs. Requires setting fs, rfs, and a new variable 85cachedir. See documentation for explanation, examples, and caveats. 86 87- support negated selector functions such as !exists(/foo/bar) 88 89- wire, network, netnumber, in_network() selectors now match against all 90locally attached networks (by either name or number), not just the first two 91interfaces. 92 93- new program pawd (and man page for it) --- Print Automounter Working 94Directory, to print the proper pathname of the cwd or any other pathname, 95adjusted for automounter paths, while avoiding mount points. 96 97- two new switches to amq: -U will force using UDP only; -T will force using 98only TCP to communicate with amd. If neither (or both) are specified, amq 99will try TCP first, and if that failed, will try UDP. 100 101- support syslog facilities, using "amd -l syslog:facility". Old behavior 102when using only -l syslog is to use the LOG_DAEMON facility. 103 104- you may specify browsable_dirs=full, to get a listing of all entries 105(other than /default), including those with '*' wildcard and '/' 106characters. 107 108- amd -D trace now also includes as much of struct nfs_args as can be 109displayed. Useful in figuring out what the kernel really gets during a 110mount(2), as opposed to what the /etc/mnttab file says. -D trace also 111traces the xdr_* functions. 112 113- support for versions of shared libamu version. upped version from 0.0.0 114to 1.0.0. each am-utils release that will change the library will also 115update its version. 116 117- amd/ops_TEMPLATE.c: a new template file for those brave enough to try and 118implement a new amd file system. Includes comments and other info useful 119for developers. 120 121- if localconfig.h exists in the current directory during the run of 122configure, it is included in all am-utils sources. This allows courageous 123developers to make certain modifications during compilations, and especially 124turn off undesired features (not very recommended). 125 126- documentation types and updates for all new features, ports, etc. 127 128- bugs fixed: 129 support NFS mount options grpid and maxgrps 130 nextstep: set NFS success code to 0 (NFS_OK), not 1 (EPERM) 131 bsdi2: set NFS success code to 0 (NFS_OK), not 1 (EPERM) 132 set NFS V.3 mount table names to "nfs" if vers/proto exist 133 use mkstemp() if possible (more secure) 134 ctl-amd looks for amd.conf in ${prefix}/etc after /etc 135 hpux: use "ignore" mount table type 136 openbsd2.2: turn off "noconn" mount option, so only connected used 137 fixed memory leak in hlfsd (don't setpwent after endpwent) 138 all NFS3 systems should have proto/vers mount/amd options 139 DEBUG_MEM compiles and prints something more useful 140 uninit_mntfs(): free() mf_private *after* it is used 141 browsable_readdir: fewer bytes sent back to kernel for each chunk 142 mount_toplvl: don't free() an automatic variable! 143 amd should chdir() to / before daemonzing (for core dumps etc) 144 cdfs should be called 'cdfs' not whatever the mnttab type is 145 amd -v: don't print "FS:" list twice when >=2 net interfaces 146 147*** Notes specific to am-utils version 6.0a14: 148 149- updated ports: 150 powerpc-ibm-aix4.2.1.0: NFS V.3 works 151 152- minor new ports: 153 sparc-sun-sunos4.1.3C 154 m68k-sun-sunos4.1.1 (sun3) 155 mips-sgi-irix5.2 156 157- new option to amd, -O ARG, will override the operating systems *name* with 158ARG. Corrected documentation for amd -o ARG --- it overrides the operating 159system *version* and not the name as the docs incorrectly stated. 160 161- logging now behave more like syslog: will not print repeated strings, but 162rather a count such as "last message repeated N times". (N will not exceed 163100.) 164 165- restructured the code which deals with the numerous possible fields and 166flags that are set in struct nfs_args. That code was moved to libamu as 167the functions compute_nfs_args() and compute_automounter_nfs_args(). 168 169- bugs fixed: 170 mnttab name ufs/cdfs/pcfs/etc filesystems corrected 171 use pmap_ping for amq (a must for secure portmappers, bsdi2/3) 172 test for xfs (irix) as a disk-based filesystem 173 set correct nfs_prot headers for Solaris 2.5 174 removed stale code from lostaltmail.in 175 lostaltmail will look for conf file in multiple locations 176 assorted documentation corrections 177 amq does not print "get_secure_amd_client" if run as root 178 179*** Notes specific to am-utils version 6.0a13: 180 181- new in_network(ARG) nomadic selector, true if ARG is the name (or number) 182of any of this host's network interfaces. 183 184- removed variables primnetname, primnetnum, subsnetname, and subsnetnum. 185(Kept "wire" and its alias "network", and "netnumber".) 186 187- include am-utils.dvi and am-utils.ps in distribution. 188 189- hlfsd supports new option -P ARG, for reading password map off of file 190ARG. Allows you to use the hlfs redirector using paths other than user's 191home directories. 192 193- use a replacement yp_all for some systems (irix) known to have a broken 194one which leaks a file descriptor each time called. 195 196- if remote NFS server is down or does not support portmap, downgrade 197machine to NFS V.2 and retry again later. 198 199- bugs: 200 don't redefine yywrap on systems using a modified flex 201 use correct "ignore" mnttab/mount option on hpux for df(1) 202 use nfs_args' fsname field (hpux) to avoid syncer/mount(1) problems 203 don't add ops_ufs.o twice to Makefile's $(OBJS) 204 don't fail if autofs listener fails to initialize 205 hlfsd should test if run as root after usage() and getopt 206 207- minor code cleanups for netbsd 208 209- html docs now in http://www.cs.columbia.edu/~ezk/am-utils/ 210 211- added README file in binaries ftp directory 212 213*** Notes specific to am-utils version 6.0a12: 214 215- minor or updated/broken ports fixed: 216 hppa1.1-hp-hpux10.10: compiles, untested (probably works). 217 hppa1.1-hp-hpux9.05: compiles, untested (probably works). 218 hppa1.1-hp-hpux9.07: compiles, untested (probably works). 219 m68k-hp-hpux9.00: compiles, untested (probably works). 220 rs6000-ibm-aix4.1.4.0: compiles, untested. 221 sparc-sun-solaris2.6: works w/ NFS V.3. 222 sparc-sun-sunos4.1.4: compiles, untested (probably works). 223 224- new ports: 225 powerpc-ibm-aix4.2.1.0: compiles w/ NFS V.3, untested. 226 227- wire-test also checks for combinations of NFS protocol/version from the 228client to a remote (or local) host. 229 230- conf/mtab/mtab_file.c: use flock() to lock the file, and fcntl() if 231flock() is not available. (Used to prefer fcntl() over flock().) 232 233- bug fixes: 234 tli get_nfs_version() gets into an infinite loop 235 tli get_nfs_version() should time out faster 236 sockets get_nfs_version() should work w/ secure portmappers 237 ESTALE returned for NFS mounts for SunOS 4.x fixed 238 do not exceed HOSTNAMESZ for nfs_args.hostname (get ENAMETOOLONG) 239 properly initialize some mntent_t fields (fsck, freq, mnt_time) 240 properly initialize some pcfs_args fields (mask, uid, gid) 241 properly initialize some cdfs_args fields (ssector) 242 243*** Notes specific to am-utils version 6.0a11: 244 245- bug fixes: 246 amd could not NFS mount v.2 servers from v.3 clients 247 hlfsd will only use first occurrence of home dir for same uid 248 249*** Notes specific to am-utils version 6.0a10: 250 251- MAJOR DOCUMENTATION UPDATE! (first time in 6 years) 252 253- new ports: 254 m68k-next-nextstep3: configures, compiles, not tested. 255 256- preliminary autofs support. See README.autofs for details. 257 258- new amd.conf [global] yes/no keywords: 259 show_statfs_entries: shows number of entries for df(1) 260 fully_qualified_hosts: use FQHN for NFS/RPC authentication 261 262- detect down remote hosts faster 263 264- log output of "amd -v" at startup 265 266- removed $osver override for solaris: now it is 2.5.1, not 5.5.1 267 268- buildall will use gmake first if available 269 270- bugs fixed: 271 amd core dumped when remote host was down 272 allow up to 1024 entries back from readdir() 273 amd.conf works even if only [global] option defined 274 avoid using bad memcmp() implementations 275 fixed meaning of plock [global] option (was reversed) 276 hlfsd infinite loop unless compiled with --enable-debug 277 NIS code works with NIS+ servers in NIS compatibility mode 278 reset tag fields in amd.conf so they don't carry to other entries 279 280*** Notes specific to am-utils version 6.0a9: 281 282- new ports: 283 sparc-sun-solaris2.4: 284 configures/compiles, and runs (no NFS V3) 285 i386-unknown-openbsd2.1: 286 configures/compiles, runs (NFS V3) 287 288- updated ports: 289 i486-ncr-sysv4.3.03: configures/compiles, not tested 290 291- Multiple amd support: new amd.conf [global] key "portmap_program" can be 292used to specify an alternate RPC program number for amd to un/register. 293Allowed numbers range from 300019 to 300029. A matching new option for amq: 294-P prognum, will use an alternate program number to contact. 295 296- man pages: 297 amd.conf.5 new 298 mk-amd-map.8 new 299 amd.8 updated 300 amq.8 updated 301 (other man pages required minor updates) 302 303- shared libraries support expanded. Using GNU libtool-1.0. You can build 304a shared version of libamu, and link with it accordingly, by specifying 305--enable-shared to configure. Default is --enable-static --disable-shared, 306and you can mix and match. See "INSTALL" file for listing of systems on 307which shared libraries seem to build and work fine. 308 309- new option: amq -p, will return the PID of the running amd (local or 310remote). Uses a new RPC message. Useful especially in "ctl-amd stop". 311 312- new configure script options --enable-ldflags, for specifying -L flags. 313The older --enable-libs is to be used only for -l options. 314 315- two new LDAP map options for amd.conf: ldap_cache_seconds and 316ldap_cache_maxmem. 317 318- new script, am-eject from Debian linux's version of amd-upl102. 319 320- additional passwd map support using var[0-3], from Debian folks. 321 322- hesiod code cleanup. works for hesiod 1.3 as well as 3.0. 323 324- removed defunct -h option from amd. 325 326- started using automake-1.2. This fixed several bugs that caused some 327versions of yacc/lex and non-GNU make to fail. 328 329- bug fixes: 330 amd/hlfsd mounts should be hidden from df(1) 331 use "noconn" option for nfs mounts (multi-homed hosts) 332 don't use connected sockets on linux before 1.3.10 (from Debian) 333 better checks for [gn]dbm 334 forbid excessive retries after timeouts (from Debian) 335 readdir(): don't skip over map entries with prefix, and include it 336 more assorted linux fixes from Debian folks 337 lofs mount on svr4 was broken 338 find default value of $karch from uname() not $arch 339 hlfsd failed to mount itself on some little-endians 340 341 342*** Notes specific to am-utils version 6.0a8: 343 344- new ports: 345 i386-unknown-netbsd1.2.1: configures/compiles (with NFS V.3), works, 346 but some OS stability problems exist. 347 348- updated ports: 349 hppa1.1-hp-hpux9.01: 350 now tested and working 351 rs6000-ibm-aix3.2 and rs6000-ibm-aix3.2.5: 352 now tested and working 353 354- fixed browsable directories (readdir) code. 355 356- better methods to find amd/hlfsd pid to kill in ctl-{amd,hlfsd} 357 358- "ignore/auto" mount types fixed for irix, sunos, and others, so "df" does not 359show amd mounts by default (but GNU df -a does). 360 361- each time amd is built, a new "build" version is incremented. See amd -v. 362 363- man page for fsinfo added 364 365- empty fillers for new file (bsd44) systems: nullfs, unionfs, umapfs. 366 367- when amd is not running, or portmapper is down, make amq timeout faster (5 368sec) than system default, usually 4-5 minutes. 369 370- bug fixes: 371 hlfsd mount got "protocol not supported" 372 first regular map in amd.conf didn't inherit global options 373 make "bad" versions of lex still work with amd/conf_parse.l 374 check for 'nodev' option, not 'nondev' 375 typo in "ro" option, and fillers to ac{reg,dir}{min,max} and others 376 amd.conf parsing done before switching default log/debug options 377 allow doubly-quoted values in amd.conf 378 hesiod-reload code cleanup 379 380- assorted code cleanup 381 382 383*** Notes specific to am-utils version 6.0a7: 384 385- new ports: 386 i386-unknown-freebsd3.0: 387 fully functional with NFS V.3 388 sparc-sun-solaris2.3: 389 fully functional (should work for 2.4) 390 sparc-unknown-netbsd1.2E: 391 configures/compiles (with NFS V.3), untested 392 393- updated ports: 394 i386-pc-bsdi3.0: 395 NFS V.3 works 396 look for hesiod in libc 397 mips-sgi-irix5.3: 398 fully functional with NFS V.3 399 400- LDAP support! New [global] amd.conf options ldap_base and ldap_hostports. 401Also includes a new script amd2ldif to convert amd maps into plain text LDAP 402object files. 403 404- the following amd.conf variables: browsable_dirs, map_options, map_type, 405mount_type, and search_path --- can now be specified in [global] as well as 406the map entry itself. That way you can declare them only once in [global], 407and override them as needed per map. 408 409- option "cluster" added to [global] (HPUX clusters ala "amd -C"). 410 411- assorted info_hesiod map fixes and cleanup. removed HESIOD_RELOAD code. 412 413- added netgrp(name) function to amd map syntax to see if current host is in 414the <name> netgroup. 415 416- removed unused option "amd -m". 417 418- filled in "tasks" file with todo items. 419 420- filled "COPYING" file with legal stuff. 421 422- cleanup: all global variables are now in one big structure (struct 423amu_global_options) that's easy to identify and enhance. Also migrated 424several flags that used be an integer each into one unsigned integer that's 425used as a bit-flag. 426 427- big fixes: 428 xdr_mountres3 should compile only if has NFS V3 429 lex/yacc macros show full pathname (to tell if correct one runs) 430 misc fixes/cleanup 431 432 433*** Notes specific to am-utils version 6.0a6: 434 435- amd configuration file! 436 437See scripts/amd.conf-sample for help and some explanation. This new conf 438file allows for the following new features: 439 440 default selectors can be turned on/off globally. 441 browsable_dirs/readdir() support can be turned on per map. 442 search paths for file type maps. 443 can force the map type to file, nis, ndbm, etc. rather than default 444 to looking at all of them. 445 tag each map for "amd -T tag", useful for grouping maps. 446 can override $os and others (so if you don't like "sunos5" default 447 naming, set os=sos5 and it will work with your old maps). 448 and more goodies... 449 450- enable-default-selectors: No longer turned on by the configure script or 451optionally compiled. Code made dynamic and can be turned on or off from the 452amd.conf file. This code is off by default, and must be turned on by 453amd.conf's [global] section. 454 455- new ports: 456 mips-sgi-irix5.3: configure/compile, not tested 457 i486-ncr-sysv4.3.03: configure/compile, not tested 458 459- updated ports: 460 alpha-dec-osf4.0: major code redone 461 sparc-sun-sunos4.1.3: fixed and working 462 mips-sgi-irix6.2: tested with gcc and "cc -32 -Wl,-woff,84" 463 mips-sgi-irix6.4: tested with gcc and "cc -32 -Wl,-woff,84" 464 465- better NFS3 port, including more support for proto= and vers=, and 466automatic determination of proto/vers combination. 467 468- conf/nfs_prot/nfs_prot_*.h: all of the NFS protocol header files had to be 469redone, because of the osf4 port. OSF used very different names for these, 470and they conflicted with am-utils'. The only solution was to more or less 471conform to OSF4's naming, and change all the others. 472 473- ctl-amd script: 474 improved to look for amd.conf in $prefix/etc and /etc 475 better methods for finding the pid of amd to kill 476 477- autoconf support for LDAP. amd/info_ldap.c needs to be written. 478 479- wire-test also reports the local IP address. Some systems have multiple, 480buggy version of get_myaddress(), esp. SunOS and Irix. Note that Solaris 481x86 has a buggy htonl(). 482 483- amd -H prints usage. 484 485- bugs fixed: 486 minor TLI problem in fwd_socket 487 mount options properly comma delimited 488 LIBS is set only to the right set of libraries to include 489 selectors-on-default code ignored last selector ent in /defaults 490 assorted code cleanups 491 492 493*** Notes specific to am-utils version 6.0a5: 494 495- NFS Version 3 support!!! 496 497 Works on Solaris 2.5.1. 498 Minimal testing done on Irix 6. 499 Compiles cleanly on DU-4.0 but no tests performed. 500 501Will fall back to V2 mounts when V3 is not available. Will also use TCP if 502possible, UDP otherwise. 503 504- Ports to new platforms: 505 506 alpha-dec-osf4.0 (not tested) 507 i386-pc-bsdi3.0 (tested and working) 508 i386-unknown-freebsd2.2.1 (tested and working) 509 sparc-unknown-linux-gnu (tested and working) 510 511- New scripts added: 512 513 amd2sun: convert amd maps to Sun automount maps 514 ctl-amd: script to start/stop/restart amd 515 ctl-hlfsd: script to start/stop/restart hlfsd 516 expn: expand mail alias (used by hlfsd) 517 lostaltmail: redeliver "lost" mail redirected by hlfsd 518 lostaltmail.conf-sample: sample conf file for lostaltmail 519 wait4amd: run a command once amd is up on a host 520 wait4amd2die: wait for an amd process to die before returning 521 522- "amd -v" now includes more info and "amq -v" lists all of it. 523 524- new parser for linux specific mount options. 525 526- Main bugs fixed: 527 528 "new toplvl readdir" bug caused amd to dump core 529 handler for SIGCHLD didn't check for all possible children 530 hlfsd leaking file descriptors when home file system was full 531 cdfs/pcfs mounts should not timeout by default 532 hesiod domain names should be compared in case-insensitive manner 533 several printfs in amq were missing \n 534 535 536*** Notes specific to am-utils version 6.0a4: 537 538- amd services both TCP and UDP amq requests. This will help because of the 539limited UDP message size. 540 541- "amq -M" code is disabled by default because it is insecure. It is 542rarely used. Users who wish to use it should run 543"configure --enable-amq-mount". 544 545 546*** Notes specific to am-utils version 6.0a3: 547 548- New tested ports (configures, compiles, and runs): 549 550 i386-unknown-freebsd2.2 551 552- New ports (configures and compiles correctly, not tested): 553 554 rs6000-ibm-aix3.2.5 555 rs6000-ibm-aix4.1.5.0 556 557- More am-utils programs ported to all existing platforms: hlfsd, fsinfo, 558mk-amd-map, and fixmount. 559 560- Shared libraries: a new configure option --enable-shared will build a 561shared libamu.so, link applications with it, and use it. Reduces binary 562sizes by 20-30%. This is the first step towards loadable modules, as many 563changes had to be done to be able to compile and use PIC code. This is code 564that obviously needs to be generalized to be able to build shared libraries 565on many other platforms. It was only tested on Solaris 5.5.1. 566 567- the file INSTALL contains the latest compatibility table of which 568platforms am-utils configures, compiles and runs on. 569 570- Trimmed down the size of the configure script. Some tests that are not 571used anywhere were removed. 572 573 574*** Notes specific to am-utils version 6.0a2: 575 576- New ports (configures and compiles correctly, not tested): 577 578 i386-pc-bsdi2.1 579 hppa1.1-hp-hpux9.01 580 hppa1.1-hp-hpux10.20 581 582- new configure options: 583 584 --enable-cppflags[=ARG] 585 configure/compile with ARG (-I) preprocessor flags 586 --enable-libs[=ARG] 587 configure/compile with ARG (-L/-l) library flags 588 589- filesystem, mount table entries, and mount type tests can now look in 590/lib/modules and /proc/filesystems for statically/dyadically loadable kernel 591modules (linux) 592 593- prefer vfat over msdos/pc/etc filesystem for PCFS. 594 595- moved all fixed headers to include/am_defs. Left only #define/#undef 596entries in aux/acconfig.h. 597 598- make more sense of systems that have full, partial, or no NFS protocol 599headers. 600 601- minor fixes for NetBSD (untested platform). 602 603- hesiod map fixed. 604 605- buildall -D: new option to run even stricter developer options. 606 607- lots of other bugs fixed (see ChangeLog). 608 609 610*** Notes specific to am-utils version 6.0a1: 611 612I have it configure and build correctly for the following systems: 613 614 i386-pc-solaris2.5.1 615 i386-unknown-freebsd2.1.0 616 mips-sgi-irix6.2 617 sparc-sun-solaris2.5.1 618 sparc-sun-sunos4.1.3 619 620Amq, wire-test, and "amd -v" work on all of the above. A real running amd 621was only tested and confirmed working on 622 623 i386-pc-solaris2.5.1 624 sparc-sun-solaris2.5.1 625 626Many things are still missing: options, features, etc. But for now, let's 627concentrate on getting the basic functionality working on the more popular 628systems. 629