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