12015-01-17 Christos Zoulas <christos@zoulas.com> 2 3 * Move libtool macro functions from m4/macros to m4 and delete 4 the repository copies. Makes am-utils work with libtool-2.4.4 5 and fixes the serial number warnings (raven at themaw.net) 6 72014-10-28 Christos Zoulas <christos@zoulas.com> 8 9 ******************************************************************* 10 *** Released am-utils-6.2 *** 11 ******************************************************************* 12 13 * add ylwrap.amd, sick and tired of patching broken ylwrap. 14 152014-09-05 Christos Zoulas <christos@zoulas.com> 16 17 * factor out the size check for both readdir methods 18 (raven at themaw.net) 19 202014-09-03 Christos Zoulas <christos@zoulas.com> 21 22 * configure test for 64 bit xdr function (raven at themaw.net) 23 242014-09-01 Christos Zoulas <christos@zoulas.com> 25 26 * bug fix from raven at themaw.net to prevent writing v3 handle 27 to a v2 structure. 28 292014-07-21 Christos Zoulas <christos@zoulas.com> 30 31 * fix permission problems with access 32 * auto_nfs_version = 3 now works for me. 33 342014-07-20 Christos Zoulas <christos@zoulas.com> 35 36 * refresh some autoconf files 37 * force autoconf version since earlier versions don't work 38 * changes from raven at themaw.net to support NFSv3 for automounted 39 toplevel filesystems presented to the list in May. A few bug fixes 40 and integration changes by me. The code now works well enough to 41 mount the filesystem with NFSv3 and automount children but readdir 42 does not work yet (so no listing of automounted filesystems). 43 The new code is not enabled by default. To enable use 44 auto_nfs_version = 3 45 in your configuration file. 46 472014-03-26 Christos Zoulas <christos@zoulas.com> 48 49 From Ian Kent <ikent@redhat.com> 50 51 * use mktemp in scripts/fixrmtab 52 * fix documentatio nits 53 * [linux] Add ext2, ext3, ext4 specific mount options 54 * fix tcpwrappers (hosts.{allow,deny} problems for specific host 55 entries 56 572014-03-20 Christos Zoulas <christos@zoulas.com> 58 59 60 * don't background autofs umount 61 * avoid fh NULL dereference on umount 62 * handle ENOENT umount return for autofs mounts 63 * fix error message in get_nfs_version 64 * fix debug log deadlock 65 * [linux] retry umount on EBUSY 66 * handle failed umount on exit 67 682014-03-09 Christos Zoulas <christos@zoulas.com> 69 70 * Remove BSD advertising clause. 71 * Remove expn program which is not used by anything 72 732013-12-05 Christos Zoulas <christos@zoulas.com> 74 75 * Change the way we handle multiple lex scanners and yacc parsers 76 in a single program. Our old patch to ylwrap does not work anymore 77 because the bison parsers need shared symbols that start with yy 78 and we can't easily select which ones work. So now we use -P and 79 -p to let lex and yacc do the work for us. This requires a patch 80 to ylwrap, but it is smaller. 81 82 832013-12-05 Christos Zoulas <christos@zoulas.com> 84 85 * Change the way we handle multiple lex scanners and yacc parsers 86 in a single program. Our old patch to ylwrap does not work anymore 87 because the bison parsers need shared symbols that start with yy 88 and we can't easily select which ones work. So now we use -P and 89 -p to let lex and yacc do the work for us. This requires a patch 90 to ylwrap, but it is smaller. 91 922013-05-14 Christos Zoulas <christos@zoulas.com> 93 94 * update to handle new autoconf and regen files 95 962012-11-23 Christos Zoulas <christos@zoulas.com> 97 98 * recognize mountport=, noacl options 99 * simplify the bootstrap process, by forcing 100 all the files to be rebuild with autoreconf -f - i 101 1022012-10-03 Christos Zoulas <christos@zoulas.com> 103 104 * add missing ops_nfs4.c to the Makefile.am 105 1062012-09-14 Christos Zoulas <christos@zoulas.com> 107 108 * add locking option handling for lustre 109 * fix noatime, nodiratime, mandlock for linux 110 1112012-07-25 Christos Zoulas <christos@zoulas.com> 112 113 * bug fixes for lustre rhost parsing 114 1152012-06-27 Christos Zoulas <christos@zoulas.com> 116 117 * Disable 1/2-baked sun map support to avoid SIGSEGV 118 1192012-06-16 Christos Zoulas <christos@zoulas.com> 120 121 ******************************************************************* 122 *** Released am-utils-6.2-rc1 *** 123 ******************************************************************* 124 125 * Fix libtool.m4 to work with later versions of autoconf. 126 * In buildall, use eval so that quoted strings work 127 * Centralize nfs version checking function, and introduce 128 new configuration variable nfs_vers_ping, which is the 129 max version we ping for. This is not documented yet, because 130 there might be a better way separate the max version we can 131 use vs the max version we ping for. 132 1332012-06-09 Christos Zoulas <christos@zoulas.com> 134 135 * fix issue with parsing nfsv4 security option strings 136 1372012-05-01 Christos Zoulas <christos@zoulas.com> 138 139 * Handle EPERM return from v4 file handles 140 in old linux kernels 141 1422012-03-09 Christos Zoulas <christos@zoulas.com> 143 144 * fix linux autofs detection 145 * fix wrong types in new amq mount xdr processing 146 1472012-01-25 Christos Zoulas <christos@zoulas.com> 148 149 * FreeBSD portability fixes 150 1512012-01-23 Christos Zoulas <christos@zoulas.com> 152 153 * Avoid type punned warnings 154 1552011-12-29 Christos Zoulas <christos@zoulas.com> 156 157 * fix bug I introduced in get_nfs_version that caused it to return 0 158 * add direct support for ext{2,3,4} 159 1602011-12-15 Christos Zoulas <christos@zoulas.com> 161 162 * Include <linux/fs.h> on linux, to grab extra mount flags 163 * Add support for lustre 164 1652011-11-28 Christos Zoulas <christos@zoulas.com> 166 167 * For nfsl mounts, match against either the short local 168 host name or the fqdn name. 169 1702011-10-06 Christos Zoulas <christos@zoulas.com> 171 172 * Add NFSv4 support (loosely based on Ramya's code). 173 Currently if the NFSv4 mount fails with ENOENT we fail 174 back to NFSv3, unless -DNO_FALLBACK. 175 * Replace strdup with xstrdup. It is not nice to replace 176 system functions with ones that behave differently. 177 * Add various consistency checks (caller function checks 178 variable for NULL, but callee does not). 179 * Fix error handling in various paths. 180 * Don't check before using XFREE(). free(NULL) works. 181 1822011-09-15 Christos Zoulas <christos@zoulas.com> 183 184 * amq -i addition (prints info about the map files) 185 1862011-09-14 Christos Zoulas <christos@zoulas.com> 187 188 * Solaris OS and compiler fixes from: 189 Hofmann, Frank <Frank.Hofmann@morganstanley.com> 190 Sayle, Alex <Alex.Sayle@morganstanley.com> 191 - (void)&var generates warnings, removed 192 - __inline is invalid, changed with inline 193 - <sys/socket.h> and other headers have extra dependendcies 194 ` 1952011-08-11 Christos Zoulas <christos@zoulas.com> 196 197 * fix potential buffer overflow in expand_error() 198 (Richard Kettlewell). Does not seem to be exploitable. 199 200 * simplify %option parsing to appease ancient flex. 201 2022011-06-21 Christos Zoulas <christos@zoulas.com> 203 204 * add support for linux autofs version 5 (untested) 205 2062011-06-18 Christos Zoulas <christos@zoulas.com> 207 208 * roll back to an older version of libtool that works 209 210 * newer versions of config.guess and config.sub 211 212 * minor fixes to buildall 213 2142011-05-19 Christos Zoulas <christos@zoulas.com> 215 216 * m4/macros/libtool.m4: for AIX AC_LANG_PROGRAM is incorrectly 217 used and the latest autoconf gives an error. For now just 218 quote it. 219 220 * configure.in: Fedora Core 15 and RedHat 6 now don't define 221 af_family_t in <linux/socket.h>, but in <bits/sockaddr.h>. 222 Include <sys/socket.h> so that we get <bits/sockaddr.h> 223 indirectly. This caused the <linux/nfs_mount.h> detection 224 test to fail. 225 2262010-11-24 Erez Zadok <ezk@fsl.cs.sunysb.edu> 227 228 * m4/macros/os_cflags.m4: for linux, define _GNU_SOURCE (to get 229 definitions for O_LARGEFILE and more). 230 2312010-11-20 Christos Zoulas <christos@zoulas.com> 232 233 * Update news items, add release readme, mark as rc1 234 235 * Fix addopts code to work with options that are key=value 236 when the built-in hasmntopt() code is not used. The problem 237 was that the code passed "key=" to hasmntopt not "key". 238 2392009-12-10 Christos Zoulas <christos@zoulas.com> 240 241 * Copy all fields of the am_opts structure 242 When we introduced am_loc we also added a function to 243 create a duplicate of an am_opts structure. As it turns 244 out, that only made a partial copy of the struct and some 245 fields (e.g. opt_cache) was left blank in the new structure. 246 Unfortunately any code that was checking the options 247 through the mntfs structure was mislead by the partial 248 copy: caching was disabled completely, for example, and 249 since browsing relies on caching being enabled it wasn't 250 working either. 251 From: Krisztian Kovacs <Kris.Kovacs@morganstanley.com> 252 253 * Initialize RPC authentication flavor to AUTH_UNIX instead 254 of zero. RHEL 5 uses version 6 of the mount_arg structure 255 that includes the desired RPC authorization flavour. 256 Unfortunately amd initializes that value to zero, meaning 257 AUTH_NULL, resulting in all NFS servers denying operations. 258 From: Krisztian Kovacs <Kris.Kovacs@morganstanley.com> 259 260 * Make sure to remove nodes in the proper order when going 261 down. Depending on what order the nodes got created it's 262 possible that the parent of a node has a bigger am_mapno 263 (index in exported_ap[]) so that it gets freed before 264 its child while the child's am_parent pointer is still 265 pointing to the already freed block of memory. 266 This change makes sure that umount_exported() cleans up 267 all children of a node first before freeing the node. 268 From: Krisztian Kovacs <Kris.Kovacs@morganstanley.com> 269 270 * Fix Linux-specific stuff in ops_tmpfs.c 271 AUTOFS_TMPFS_FS_FLAGS is defined only in the Linux-specific 272 conf_linux.c file, so it cannot be built on Solaris. 273 From: Krisztian Kovacs <Kris.Kovacs@morganstanley.com> 274 275 * Add missing parenthesis to fix defined(XXX 276 From: Krisztian Kovacs <Kris.Kovacs@morganstanley.com> 277 278 * In the previous commit we've already made a change that 279 makes this code unnecessary since the node is returned 280 even if the backing file server is known to be down. 281 Since the code path is unused it should be removed. 282 From: Krisztian Kovacs <Kris.Kovacs@morganstanley.com> 283 284 * amfs_generic_lookup_child() tries to find an alternate 285 file server if it detects that the current one is down. 286 However, in the comparison used to decide if a possible 287 mount is the same as the current one it compares the am_loc 288 pointers instead of the actual mntfs pointers. Since 289 amfs_lookup_one_location() creates a brand new am_loc 290 structure for the returned mntfs structure the am_loc 291 pointer will be different even if the mntfs it's pointing 292 to is the same. 293 This tricks amfs_generic_lookup_child() think it has 294 found an alternate file server while it hasn't and thus 295 starts multiple racing mounts for the very same node and 296 mntfs. 297 From: Krisztian Kovacs <Kris.Kovacs@morganstanley.com> 298 299 * In the new am_loc scheme mounted mntfs structures still 300 have their mf_fo structure left intact. So when restart 301 creates a fake mntfs for an already mounted filesystem it 302 should not free mf_fo right away. 303 From: Krisztian Kovacs <Kris.Kovacs@morganstanley.com> 304 305 * Setting the error flag of the mntfs for which the share 306 is already mounted results in the mount point not being 307 removed when it times out. (Amd considers it an error 308 mntfs and thus umount becomse a no-op.) 309 From: Krisztian Kovacs <Kris.Kovacs@morganstanley.com> 310 311 * Right now AMD sets all timeout values to their defaults 312 even if you explicitly set them to zero. This patch 313 introduces separate flags that store if the respective 314 values have been set and the code path setting default 315 values checks these flags instead of testing the values 316 for zero. [Linux only] 317 From: Krisztian Kovacs <Kris.Kovacs@morganstanley.com> 318 319 * Fix mntfs related lookup/(un)mount race conditions, by 320 introducing a new structure linking an mntfs to a node. 321 From: Krisztian Kovacs <Kris.Kovacs@morganstanley.com> 322 323 * We have to free the buffers allocated by the XDR routines when 324 decoding the mount response after copying them to their final place. 325 From: Krisztian Kovacs <Kris.Kovacs@morganstanley.com> 326 3272009-12-09 Christos Zoulas <christos@zoulas.com> 328 329 * Free continuation in amfs_retry() if we don't call amfs_bgmount() 330 Normally it's amfs_bgmount() which frees the continuation. However, if 331 the mount is already in progress and we're in amfs_retry() for another 332 node we don't try mounting the filesystem once again. Still, we have 333 to free the continuation as we won't get called again and thus would 334 leak the continuation structure and our am_loc references. 335 From: Krisztian Kovacs <Kris.Kovacs@morganstanley.com> 336 337 * Fix use-after-free and double free of mntfs private data 338 ops_nfs.c(nfs_init) does not clear private data pointer after free(). 339 This leads to use-after-free and double free in case mount() fails. 340 (found by valgrind) 341 From: Krisztian Kovacs <Kris.Kovacs@morganstanley.com> 342 3432009-11-23 Christos Zoulas <christos@zoulas.com> 344 345 * The temporary filename buffer was leaked in lock_mtab(). 346 From: Krisztian Kovacs <Kris.Kovacs@morganstanley.com> 347 3482009-10-27 Christos Zoulas <christos@zoulas.com> 349 350 * Deal with errno.h->sys/errno.h better 351 3522009-10-26 Christos Zoulas <christos@zoulas.com> 353 354 * Fix issue with autoconf 2.63 355 356 * Fix compile warnings for gcc-4.4.x 357 3582009-04-15 Christos Zoulas <christos@zoulas.com> 359 360 * Share the LDAP connection between different maps to save resources 361 on the LDAP server. (Olaf Flebbe <o.flebbe@science-computing.de>) 362 3632009-03-20 Christos Zoulas <christos@zoulas.com> 364 365 * Fix largefile re-definitions 366 367 * Fix compilation error caused in previous patch 368 3692009-02-19 Christos Zoulas <christos@zoulas.com> 370 371 * Add a synchronous unmount amq rpc that will wait for the remote 372 filesystem to be unmounted, or return an error. Enabled by amq -uu 373 3742009-01-11 Erez Zadok <ezk@fsl.cs.sunysb.edu> 375 376 * amd/ops_udf.c: don't define functions/variables which may not be 377 used. 378 379 * amd/ops_tmpfs.c (mount_tmpfs): force gcc not to complain about 380 unused variables. 381 382 * config.guess.long: properly support Fedora Core. 383 3842009-01-09 Christos Zoulas <christos@zoulas.com> 385 386 * Fix nfs mounts on linux 2.6.26 by explicitly initializing context. 387 388 * Treat an empty sublink as an unset sublink; this allows us to 389 say sublink:=; in a spec to override the default. (This produces 390 Bad selector error, but it works. XXX: We need to decide how to 391 unset a selector. I proposed an unset keyword a while ago). 392 3932009-01-06 Christos Zoulas <christos@zoulas.com> 394 395 * re-renerate all generated files with newer versions of the 396 auto-tools. 397 398 * move INSTALL to INSTALL.am-utils to avoid conflicts 399 400 * fix incompatibilities with new m4 and new autoconf. 401 402 * add UDF filesystem support. 403 404 * fix NetBSD nfs file handle detection. 405 4062009-01-02 Christos Zoulas <christos@zoulas.com> 407 408 * add nocasetrans, nojoliet, rrcaseins for cd9660 filesystems 409 4102008-12-03 Christos Zoulas <christos@zoulas.com> 411 412 * allow ldap queries try a comma-separated list of servers given as: 413 414 ldap_hostports = host1:port1,host2,host3:port3 415 416 original patch from Florian Geyer 417 4182008-09-19 Christos Zoulas <christos@zoulas.com> 419 420 * the auth_create gid on NetBSD is int 421 422 * deal with lossage from flex -P 423 424 * fix missing/incorrect prototypes 425 4262008-09-17 Christos Zoulas <christos@zoulas.com> 427 428 * fix manual page section issues (sorting, non-existant) 429 430 * add missing forward declarations 431 432 * avoid null pointer derefs (coverity) 433 434 * more portable endian detection support 435 436 * implement tmpfs support 437 438 * use sizeof var instead of constant 439 440 * fix yyerror declaration and definition 441 442 * fix yy function renaming, and correct some renaming issues. 443 444 * work around automake < 1.9 issue where ylwrap is not being run 445 for a single yacc or lex file. 446 447 * NetBSD 448 - handle headers that need other headers to compile 449 - add exfs and tmpfs specific glue 450 - add options log, noatime, nocoredump, nodevmtime, softdep, 451 symperm, union 452 - NetBSD's new mount system call needs the size of the opaque 453 filesystem specific structure, but passing 0 for now works. 454 We would need to change a lot more code to pass the size from 455 the fs-specific calls, so for now punt. 456 - recvfrom takes socklen_t * on NetBSD 457 - handle newer NetBSD using statvfs 458 - NetBSD calls its ufs ffs 459 460 * Linux 461 - Most recent kernels have trouble with trying to parse the pid 462 hostname and do locking. What before was a silent failure, now 463 there is a warning printed and the mount is rejected. This is 464 the simplest fix: 465 (http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=479884) 466 4672007-04-13 Erez Zadok <ezk@cs.sunysb.edu> 468 469 * amd/sun_map.c (sun_append_str): When translating '&' from Sun 470 automounter maps, replace it with "${key}" in the Amd map, not 471 with the value of the key at the time. This way '*' maps work 472 too. 473 474 * config.guess.long: don't use -q option to grep because some 475 systems don't support it. Bug fix for solaris. 476 4772007-03-11 Christos Zoulas <christos@zoulas.com> 478 479 * amd/opts.c (expand_op): Don't call xstrlcpy() to truncate a 480 string. It causes spurious xstrlcpy() syslog() errors. Use 481 memcpy() and explicitly terminate the string. 482 4832007-01-20 Erez Zadok <ezk@cs.sunysb.edu> 484 485 * updated copyright year to 2007 on all files. 486 4872006-12-27 Erez Zadok <ezk@cs.sunysb.edu> 488 489 * minor new port: ia64-hp-hpux11.23 490 491 * m4/macros/check_libwrap_severity.m4 (LIBS): also test if caller 492 needs to define rfc931_timeout. 493 494 * amd/sun2amd.c: define rfc931_timeout and allow/deny_severity for 495 libwrap. 496 497 * amd/amq_svc.c: some versions of libwrap require the caller to 498 define rfc931_timeout in addition to allow/deny_severity. 499 500 * amd/amfs_toplvl.c (amfs_toplvl_init): properly detect when 501 forced unmount functionality exists for all systems. 502 503 * libamu/mount_fs.c (compute_nfs_args): reset nfs_args_t->pathconf 504 only if field exists. 505 506 * conf/nfs_prot/nfs_prot_hpux11.h: prevent HPUX 11.23 from 507 including <tiuser> or <sys/tiuser> (TLI definitions are already 508 included from elsewhere). 509 510 * configure.in: detect nfs_args_t->pathconf field. 511 5122006-11-27 Erez Zadok <ezk@cs.sunysb.edu> 513 514 * doc/Makefile.am: properly publish html files using newer 515 text2html. 516 5172006-11-27 Erez Zadok <ezk@shekel.local> 518 519 * doc/Makefile.am: obfuscate emails in ChangeLog before it is 520 published on web site. 521 522 * obfuscate many more emails in the distro, esp. of files which get 523 posted on the am-utils web site. 524 5252006-11-26 Erez Zadok <ezk@shekel.local> 526 527 * minor new port: i386-apple-darwin8.8.1. 528 529 * doc/am-utils.texi: remove obvious URLs used by spammers, and 530 replace them with links to the am-utils web site, which uses PNG 531 images to obfuscate the actual email/mailman URLs. 532 5332006-10-30 Erez Zadok <ezk@cs.sunysb.edu> 534 535 * doc/am-utils.texi (Password maps): minor typo reported by 536 Christoph P. Kukulies. 537 5382006-10-26 Erez Zadok <ezk@cs.sunysb.edu> 539 540 * minor new port: i386-pc-linux-fc6. 541 542 * m4/macros/linux_headers.m4: handle newer Linux kernels which 543 removed UTS_RELEASE from <linux/version.h>. 544 5452006-10-25 Erez Zadok <ezk@cs.sunysb.edu> 546 547 * minor new ports: i386-pc-linux-centos4.4 and 548 powerpc-apple-darwin8.7.0. 549 550 * config.guess.long: recognize CentOS Linux. 551 5522006-06-20 Erez Zadok <ezk@cs.sunysb.edu> 553 554 * minor new port: i386-pc-solaris2.11-nexentaos (GNU/OpenSolaris). 555 556 * config.guess.long: recognize NexentaOS (GNU/OpenSolaris) 557 558 * config.guess, config.sub: updates from latest official GNU 559 distributions. 560 5612006-05-11 Erez Zadok <ezk@cs.sunysb.edu> 562 563 * Minor new ports: i386-unknown-freebsd6.1 (RELEASE), 564 powerpc-apple-darwin8.6.0, and i386-unknown-openbsd3.9. 565 5662006-05-10 Erez Zadok <ezk@cs.sunysb.edu> 567 568 * libamu/mount_fs.c (compute_nfs_attrcache_flags): fix signedness 569 problems on IRIX-6.5. 570 571 * conf/autofs/autofs_solaris_v1.c (xdr_umntrequest): fix 572 signedness problems on IRIX-6.5. 573 5742006-05-01 Erez Zadok <ezk@cs.sunysb.edu> 575 576 * configure.in: check if libc already includes dbm functionality 577 (as in FreeBSD 6), then don't bother to check specific libraries 578 such as libdbm, gdbm, etc. 579 5802006-04-21 Erez Zadok <ezk@cs.sunysb.edu> 581 582 * configure.in: detect G/DBM support via gdbm_compat library 583 (Debian 3.1). 584 585 * minor new port: powerpc-apple-darwin8.5.0 586 5872006-04-20 Erez Zadok <ezk@cs.sunysb.edu> 588 589 * scripts/amd.conf-sample, scripts/amd.conf.5, doc/am-utils.texi, 590 NEWS: document new nfs_allow_any_interface parameter. 591 592 * include/am_compat.h (INADDR_LOOPBACK): define INADDR_LOOPBACK if 593 not defined, since some systems don't have it. 594 5952006-04-20 Nick Williams <Nick.Williams@morganstanley.com> 596 597 * libamu/wire.c (is_interface_local): new boolena function to 598 determine if address represents any of the local interfaces. 599 (getwire): more properly check if address equals INADDR_LOOPBACK, 600 not if IFF_LOOPBACK is not (the latter isn't as correct). 601 602 * include/am_utils.h: extern for new is_interface_local() function. 603 604 * conf/transp/transp_{sockets,tli}.c: don't define INADDR_LOOPBACK 605 here but in am_compat.h 606 607 * amd/nfs_prot_svc.c (nfs_program_2): if 608 nfs_allow_any_interface=yes, then allow NFS packets from any local 609 interface (not just 127.0.0.1). 610 611 * amd/conf.c (gopt_nfs_allow_any_interface): implement the new 612 amd.conf parameter nfs_allow_any_interface. 613 614 * amd/amd.h (CFM_NFS_ANY_INTERFACE): define new global flag when 615 al interfaces are acceptable for local NFS packets. 616 6172006-04-18 Christos Zoulas <christos@zoulas.com> 618 619 * amd/opts.c: Add support for optionally specifying the hostname 620 to match against the netgroup in the netgrp and netgrpd selectors. 621 6222006-04-16 Erez Zadok <ezk@cs.sunysb.edu> 623 624 * libamu/mtab.c (hasmntval): fix inverted meaning of error from 625 hasmntvalerr(). 626 6272006-04-14 Erez Zadok <ezk@cs.sunysb.edu> 628 629 * libamu/mount_fs.c (compute_nfs_attrcache_flags): use new 630 hasmntvalerr() function to set attribute cache values only if they 631 were set (regardless whether they were set to zero or a non-zero 632 value). Before, we were unable to distinguish between an error to 633 parse an option, and a user who actually wanted to set an 634 attribute-cache value to 0. This now fixes an important 635 performance bug that Amd was turning off the attribute caches even 636 for regular (non-automounter) NFS mounts. 637 638 * libamu/mtab.c (hasmntvalerr): new function to set the value of 639 an option into an integer, but ONLY if that options was set and 640 parsed correctly. This function returns 1 on error, 0 on success 641 (instead of always setting the option value to 0). 642 (hasmntval): wrapper function around hasmntvalerr, which maintains 643 backwards compatibility (always sets option value to 0, even on 644 error to parse the option). 645 646 * amd/nfs_subr.c (fh_to_mp3): use long int printf format for 647 fhh_pid. 648 6492006-04-05 Christos Zoulas <christos@zoulas.com> 650 651 * amd/amfs_generic.c (amfs_lookup_mntfs): fix use-after-free bug 652 (Coverity). 653 6542006-03-27 Erez Zadok <ezk@cs.sunysb.edu> 655 656 * doc/am-utils.texi, scripts/{amd.conf.5,amd.conf-sample}: 657 document new nfs_retransmit_counter_toplvl and 658 nfs_retry_interval_toplvl global amd.conf parameters. 659 660 * amd/conf.c (gopt_nfs_retransmit_counter_toplvl, 661 (gopt_nfs_retry_interval_toplvl): parse amd.conf 662 nfs_retransmit_counter_toplvl and nfs_retry_interval_toplvl global 663 parameters. 664 665 * amd/amfs_toplvl.c (amfs_toplvl_mount): support setting toplvl 666 timeo/retrans parameters for Amd's toplvl mounts, separately from 667 all other UDP or NFS mounts. 668 669 * amd/amd.h: define a new timeo/retrans parameter for toplvl 670 mounts. 671 6722006-03-22 Erez Zadok <ezk@cs.sunysb.edu> 673 674 * minor new port: i386-pc-linux-suse10.1 (beta 8). 675 6762006-03-21 Christos Zoulas <christos@zoulas.com> 677 678 * amd/am_ops.c (merge_opts): Remove useless check found by 679 Coverity; xmalloc never returns NULL. 680 6812006-03-21 Erez Zadok <ezk@cs.sunysb.edu> 682 683 * minor new ports: i386-pc-linux-fc5. 684 685 * amd/info_ldap.c: as of Linux Fedora Core 5 (which comes with 686 openldap-2.3.9), the ldap.h headers deprecate several functions 687 used in this file, such as ldap_unbind. You get compile errors 688 about missing extern definitions. Those externs are still in 689 <ldap.h>, but surrounded by an ifdef LDAP_DEPRECATED. I am 690 turning on that ifdef at the top of info_ldap.c, under the 691 assumption that the functions may be deprecated, but they still 692 work for this (older?) version of the LDAP API. It gets am-utils 693 to compile, but it is not clear if it will work perfectly. 694 695 * libamu/xdr_func.c (xdr_am_mountres3_ok), amq/amq_xdr.c 696 (xdr_amq_mount_tree, xdr_amq_mount_tree_p, 697 xdr_amq_mount_info_list, xdr_amq_mount_tree_list), amq/amq.c 698 (show_mti), amd/amq_subr.c (xdr_amq_setopt, xdr_amq_mount_subtree, 699 xdr_amq_mount_tree, xdr_amq_mount_tree_list, xdr_amq_mount_tree), 700 libamu/xdr_func.c (xdr_am_mountres3_ok): use casing magic to stop 701 GCC-4.1 from complaining about "dereferencing type-punned pointer 702 will break strict-aliasing rules" here (but not elsewhere). 703 7042006-03-20 Christos Zoulas <christos@zoulas.com> 705 706 * libamu/wire.c: avoid potential dereferencing of a NULL pointer 707 (Coverity). 708 709 * hlfsd/homedir.c (delay): remove unnecessary check for NULL 710 pointer (Coverity). 711 712 * fsinfo/fsi_analyze.c (analyze_dkmounts, analyze_mounts, 713 analyze_mounts): avoid potential dereferencing of a NULL pointer 714 (Coverity). 715 716 * conf/transp/transp_sockets.c (create_amq_service): avoid 717 potential dereferencing of a NULL pointer (Coverity). 718 719 * amd/sched.c (sigchld): properly check for the end of the waiting 720 process list (Coverity). 721 722 * amd/mapc.c (mapc_create): initialize 'modify' to zero (Coverity). 723 724 * amd/autil.c (amfs_mkcacheref, am_unmounted): avoid potential 725 dereferencing of a NULL pointer (Coverity). 726 727 * amd/amfs_generic.c (amfs_lookup_mntfs): free def_opts before 728 reusing it (memory leak bug detected by Coverity). 729 (amfs_bgmount): avoid potential dereferencing of a NULL pointer 730 (Coverity). 731 732 * amd/am_ops.c (merge_opts): no need to check if newstr is NULL 733 (bug detected by Coverity). 734 7352006-03-08 Ion Badulescu <ionut@moisil.badula.org> 736 737 * amd/nfs_subr.c (mp_to_fh): fixed old-style filehandles--the pid 738 comparison was failing. 739 7402006-03-08 Erez Zadok <ezk@cs.sunysb.edu> 741 742 * configure.in: properly test for either <gdbm/ndbm.h> or 743 <gdbm-ndbm.h> (unfortunately, Autoconf will map both names to the 744 same $ac_cv_* variable name). Some systems support one header or 745 another. Patch inspired by work Debian did. 746 7472006-02-16 Daniel P. Ottavio <ottavio@vm.fsl.cs.sunysb.edu> 748 749 * amd/sum_map_tok.l: Fixed a bug in a regular expression that 750 prevented dashes in hostnames. This was posted in BZ by Thomas 751 A. Fine. 752 753 * README.sun2amd: Fixed a typo. Sentence mentions use of autofs 754 type when it should be host type. 755 7562006-01-04 Erez Zadok <ezk@cs.sunysb.edu> 757 758 * doc/am-utils.texi (auto_attrcache Parameter): revise discussion 759 to mention pros and cons of turning on/off this parameter, 760 including impact on Amd's performance, and ways to improve 761 performance while minimizing the window of vulnerability in which 762 kernel may return the wrong (cached) attributes. 763 7642006-01-02 Erez Zadok <ezk@cs.sunysb.edu> 765 766 * updated copyright year to 2006 on all files. 767 7682005-12-20 Erez Zadok <ezk@cs.sunysb.edu> 769 770 * include/am_utils.h, conf/transp/transp_tli.c (amu_svc_register, 771 register_autofs_service): use a consistent prototype for the 772 dispatch function of the autofs service de/registration functions. 773 7742005-12-03 Erez Zadok <ezk@cs.sunysb.edu> 775 776 * minor new ports: i386-unknown-netbsdelf2.1, 777 i386-unknown-netbsdelf3.0 (RELEASE), and i386-unknown-openbsd3.8. 778 7792005-12-02 Erez Zadok <ezk@cs.sunysb.edu> 780 781 * m4/macros/check_field.m4: remove double inclusion of msdosfs 782 headers, which are included in mount_header1.h (netbsd 2.1 doesn't 783 protect <msdosfs/msdosfsmount.h> which causes compile errors). 784 7852005-11-08 Erez Zadok <ezk@cs.sunysb.edu> 786 787 * minor new port: i386-unknown-freebsd6.0 (RELEASE) 788 7892005-10-26 Erez Zadok <ezk@cs.sunysb.edu> 790 791 * amd/amq_subr.c (amqproc_pawd_1_svc): repeatedly resolve path in 792 Amd, not in pawd (to avoid repeated network RPCs). 793 794 * amq/pawd.c (transform_dir): move repeated path resolution into Amd. 795 7962005-10-25 Erez Zadok <ezk@cs.sunysb.edu> 797 798 * amq/pawd.c (transform_dir): resolve path repeatedly until 799 finished. Bug fix from Jonathan Chen <jon+amd-at-spock.org>. 800 Added safety check to prevent infinite loops. 801 8022005-10-19 Erez Zadok <ezk@cs.sunysb.edu> 803 804 * doc/am-utils.texi (opts Option): document new pcfs options 805 longname, nowin95, shortname, user=N, group=N, mask=N, and 806 dirmask=N. 807 808 * amd/ops_pcfs.c (mount_pcfs): process new pcfs options longname, 809 nowin95, shortname, user=N, group=N, mask=N, and dirmask=N. 810 811 * include/am_compat.h: provide compatibility mnttab string names, 812 if needed, for pcfs mount options longname, nowin95, shortname, 813 user=N, group=N, mask=N, and dirmask=N. 814 815 * include/am_utils.h: extern for hasmntstr(). 816 817 * libamu/mtab.c (hasmntstr): new function to return the string 818 value following a mount option, up to the next comma-delimited 819 options. 820 821 * configure.in: check for mnttab and pcfs options longname, 822 nowin95, and shortname. 823 824 * Makefile.am (EXTRA_DIST_M4): distribute new macro 825 check_mnt2_pcfs_opt.m4. 826 827 * m4/macros/check_mnt2_pcfs_opt.m4: new macro to check for pcfs 828 mnttab and mount options. 829 8302005-10-18 Erez Zadok <ezk@cs.sunysb.edu> 831 832 * libamu/mount_fs.c (print_nfs_args): print nfs_args->addr 833 correctly, depending if it's a pointer or not. 834 835 * conf/sa_dref/sa_dref_*.h: for each NFS_SA_DREF macro, also 836 #define NFS_ARGS_T_ADDR_IS_POINTER if nfs_args->addr is a pointer 837 or an embedded structure, so we can tell how to print it. 838 839 * libamu/mount_fs.c (print_nfs_args): print nfs_args->addrlen 840 field, if it exists. 841 842 * configure.in: check for nfs_args->addrlen field. 843 844 * wire-test/wire-test.c (main), libamu/mount_fs.c 845 (print_nfs_args), fixmount/fixmount.c (inetresport, 846 clnt_create_timeout), amq/pawd.c (transform_dir), amq/amq.c 847 (main), amd/srvr_nfs.c (find_nfs_srvr), amd/autil.c 848 (amfs_mount): document that as per POSIX, we don't need to set the 849 sa_len/sin_len fields in struct sockaddr/sockaddr_in. The field 850 is used only internally in the kernel. See 851 www.awprofessional.com/articles/article.asp?p=169505&seqNum=2&rl=1 852 853 * fixmount/fixmount.c (inetresport): initialize sockaddr_in 854 structure before filling in some fields. 855 8562005-10-11 Erez Zadok <ezk@cs.sunysb.edu> 857 858 * doc/am-utils.texi (nfs_vers, nfs_proto parameters): clarify and 859 correct mistaken description of nfs_proto. 860 8612005-10-10 Erez Zadok <ezk@cs.sunysb.edu> 862 863 ******************************************************************* 864 *** Released am-utils-6.1a1 *** 865 ******************************************************************* 866 867 * README.sun2amd: revised. 868 8692005-10-09 Daniel P. Ottavio <dottavio@ic.sunysb.edu> 870 871 * amd/info_nis.c (nis_search): Bug fix for bugzilla #428; make 872 sure that sun_entry2amd() is not called when yp_match() returns an 873 error, this is done by checking that 'res' is 0. Bug fix (same 874 BZ#); free the output allocated by yp_match() instead of freeing 875 the return value of sun_entry2amd(). 876 877 * amd/sun_map.c (sun_entry2amd): Fix a comment. 878 879 * README.sun2amd: Made a first pass at describing the status of 880 the sun2amd feature. 881 Moved the date. 882 8832005-10-09 Erez Zadok <ezk@cs.sunysb.edu> 884 885 * README.sun2amd: place holder. 886 887 * Makefile.am (EXTRA_DIST): distribute new README.sun2amd file. 888 8892005-10-07 Erez Zadok <ezk@cs.sunysb.edu> 890 891 * m4/macros/check_mnttab_type.m4: move the test for MOUNT_* to the 892 very end, after the test using getvfsbyname(). 893 894 * m4/macros/expand_run_string.m4: if the string value returned is 895 empty, consider it invalid. 896 897 * m4/macros/check_varargs_macros.m4: rewrite macro so it'll 898 try and compile the varargs test, not just cpp it. Some systems 899 pass the old cpp test, but not when you actually try to compile 900 the code (Tru64's cc). 901 902 * conf/autofs/autofs_solaris_v1.h: redefine 903 autofs_strdup_space_hack as a macro to str3cat(NULL,(s)," ",""). 904 This works everywhere and we avoid linking problems, inline 905 functions, etc. 906 907 * conf/autofs/autofs_solaris_v1.c (autofs_mount_fs): remove 908 autofs_strdup_space_hack() function altogether. 909 910 * m4/macros/os_cflags.m4: remove hack that hardcodes pte_t=u_int. 911 912 * configure.in: test for <sys/immu.h> header. 913 Test for pte_t, but only on IRIX6 systems. 914 915 * Makefile.am (EXTRA_DIST_M4): distribute new type_pte_t.m4 file. 916 917 * m4/macros/type_pte_t.m4: new test for existence of pte_t 918 typedef, needed on some IRIX-6.5/gcc systems. 919 920 * m4/macros/header_templates.m4: add missing templates for 921 HAVE_EXTERN_GETDTABLESIZE, HAVE_EXTERN_GETWD, and 922 HAVE_EXTERN_UALARM. 923 924 * amd/info_exec.c (exec_map_open): break assignment from inside 925 conditional, to work around an IRIX-6.5 cc bug. 926 927 * amd/Makefile.am (amd_LDADD, sun2amd_LDADD): put libaminfo.a 928 before libamu.la. Some linkers (e.g., IRIX-6.5) incorrectly 929 complain about undefined symbols. 930 931 * fsinfo/fsi_util.c (set_ether_if), amd/map.c (unmount_mp), 932 libamu/xutil.c (expand_error), libamu/strutil.c (xsnprintf): avoid 933 comparison between signed and unsigned integers. 934 935 * conf/autofs/autofs_solaris_v1.h, conf/autofs/autofs_solaris_v1.c 936 (autofs_strdup_space_hack): move "space_hack" function from static 937 inline in header, into the only source file that needs it. This 938 is cleaner and also prevents linking problem with some compilers 939 that won't apply CPP macros inside static inline functions (for 940 the strl* functions). 941 942 * amq/pawd.c (find_mt, find_mlp): remove obsolete, inefficient 943 code. 944 (transform_dir): call the new, efficient amqproc_pawd_1() routine. 945 946 * amq/amq_clnt.c (amqproc_pawd_1): AMQPROC_PAWD wrapper routine. 947 948 * amq/amq.h (amqproc_pawd_1): extern for amq's AMQPROC_PAWD 949 wrapper routine. 950 951 * amd/amq_svc.c (amq_program_1): dispatch point for 952 amqproc_pawd_1_svc. 953 954 * amd/amq_subr.c (amqproc_pawd_1_svc): moved pawd's path-matching 955 functionality into Amd, where it can be done a lot more 956 efficiently. We don't have to construct and ship a whole export 957 tree from Amd to pawd. We just get a variable-length 958 xdr_wrapstring for the user's path, iterate over the entire export 959 list inside Amd, and return only a matched string if found 960 (otherwise we return "" to indicate that there was no match, and 961 let pawd printf the same string it sent over). 962 963 * amd/amd.h: extern for amqproc_pawd_1_svc, amd's service routine 964 the AMQPROC_PAWD RPC. 965 9662005-10-06 Erez Zadok <ezk@cs.sunysb.edu> 967 968 * ltmain.sh, m4/macros/libtool.m4: update to libtool-1.5.20. 969 Fixes Tru64 bugs when using ksh. 970 971 * amd/amfs_toplvl.c (amfs_toplvl_mount): break complex ifdef macro 972 into two sections, to workaround a C99 varargs-macro bug in 973 gcc-3.2.2 (RH9). 974 975 * libamu/wire.c (print_wires): convert argument-less xsnprintf to 976 xstrlcpy. 977 978 * include/am_utils.h: use new HAVE_C99_VARARGS_MACROS or 979 HAVE_GCC_VARARGS_MACROS to pass file name and line number to 980 xsnprintf/xvsnprintf. 981 982 * libamu/strutil.c (xsnprintf, xvsnprintf): if debugging is on, 983 then also print the source file name and line number that called 984 xsnprintf/xvsnprintf with a buffer that wasn't large enough (most 985 likely an am-utils bug). 986 987 * Makefile.am (EXTRA_DIST_M4): distribute new 988 check_varargs_macros.m4 file. 989 990 * configure.in: execute new AMU_VARARGS_MACROS test. 991 992 * m4/macros/check_varargs_macros.m4: new test to check what style 993 of variable-length argument macros, if any, does the 994 compiler/pre-processor supports. 995 996 * conf/autofs/autofs_solaris_v2_v3.c (autofs_lookup_2_req) 997 conf/autofs/autofs_solaris_v1.c (autofs_mount_1_req), amd/opts.c, 998 amd/nfs_subr.c (nfsproc_lookup_2_svc), amd/nfs_start.c 999 (mount_automounter), amd/get_args.c (get_args), amd/amfs_toplvl.c, 1000 amd/amfs_auto.c (amfs_auto_mount), amd/amd.h, amd/amd.c (main): 1001 use sizeof() instead of fixed SIZEOF_* macros. 1002 1003 * libamu/strutil.c (xstrlcat, xstrlcpy), include/am_utils.h 1004 (DEBUG): if debugging is on, then also print the source file name 1005 and line number that called xstrl* with a buffer that wasn't large 1006 enough (most likely an am-utils bug) 1007 1008 * include/am_compat.h (INADDR_NONE): define in a common location, 1009 if OS doesn't have it, use 0xffffffffU which should work with any 1010 ANSI compiler. 1011 1012 * fixmount/fixmount.c, libamu/wire.c: remove local definition of 1013 INADDR_NONE. 1014 1015 * amd/amfs_toplvl.c (amfs_toplvl_mount), amd/amfs_auto.c 1016 (amfs_auto_mount): use common SIZEOF_OPTS in definition and call 1017 to autofs_get_opts. 1018 1019 * amd/amd.h (SIZEOF_OPTS): moved #define to common header. 1020 10212005-10-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 1022 1023 * amd/opts.c (expand_op): Need to check BUFSPACE for env for 1024 vlen+1. Likewise for cp and strlen(cp)+1. 1025 1026 * amd/amfs_toplvl.c (amfs_toplvl_mount) [HAVE_FS_AUTOFS]: Pass new 1027 size argument to autofs_get_opts. 1028 10292005-10-05 Erez Zadok <ezk@cs.sunysb.edu> 1030 1031 * amq/pawd.c (transform_dir): was using UDP only. Now will also 1032 try TCP if UDP failed. Destroy client after use to avoid leftover 1033 TCP sockets in the kernel. 1034 1035 * libamu/hasmntopt.c (amu_hasmntopt): increase size of MNTMAXSTR 1036 from 128 to to 256, because some users have really long option 1037 strings. Suggestion from jon+amd-at-spock.org. 1038 1039 * amd/opts.c (expand_op): should check BUFSPACE for vlen+1, not 1040 just vlen. Bug discovered when started using xstrlcpy(). 1041 1042 * ALL: convert from using strcat to the safer xstrlcat, and from 1043 strcpy to safer xstrlcpy. 1044 10452005-10-04 Erez Zadok <ezk@cs.sunysb.edu> 1046 1047 * hlfsd/hlfsd.h: remove old fatalerror() and ERRM macros. 1048 1049 * hlfsd/hlfsd.c (fatalerror): new function instead of macro. 1050 Easier to use xstrlcat in this new function. 1051 1052 * amd/amd.h, include/am_utils.h, amd/amd.c: moved 'hostd' extern 1053 from am_utils.h to amd.h, and define its size as a macro that 1054 could be passed to xstrl*(). 1055 1056 * ALL: convert from using sprintf to the safer xsnprintf. 1057 1058 * mk-amd-map/Makefile.am (LDADD): link with libamu to get 1059 xsnprintf(). 1060 1061 * amd/amd.h, amd/amd.c, include/am_utils.h: moved pid_fsname 1062 extern from am_utils.h to amd.h, and define its size as a macro 1063 that could be passed to xsnprintf(). 1064 10652005-10-02 Erez Zadok <ezk@cs.sunysb.edu> 1066 1067 * libamu/Makefile.am: use strutil.c, not util.c. 1068 1069 * libamu/strutil.c: rename from util.c to explain better purpose 1070 of file. Move xvsnprintf and xsnprintf from xutil.c to this file. 1071 1072 * libamu/xutil.c: explain purpose of file. Move mkdirs/rmdirs 1073 code from old util.c. 1074 10752005-10-01 Erez Zadok <ezk@cs.sunysb.edu> 1076 1077 * m4/macros/header_templates.m4: templates for FFS. 1078 1079 * m4/macros/check_mnttab_type.m4: on BSD44 systems, check for file 1080 system mount table name via the MOUNT_* mount(2) macros (because 1081 BSD44 keeps the mount table in the kernel). 1082 1083 * configure.in: synchronise order of searching for mnttab entries 1084 and mount names. The new order is "ext3 ext2 ffs ufs 4.2 4.3 4.4 1085 efs xfs jfs ultrix" (which would prefer ffs on BSD44 instead of 1086 ufs, and ext3 instead of ext2 on Linux). 1087 1088 * include/am_defs.h: include <sys/statvfs.h> if it exists. 1089 1090 * conf/nfs_prot/nfs_prot_netbsd1_4.h: NetBSD 3 has both statfs() 1091 and statvfs(), but the latter is preferred, so #define to use 1092 statvfs. 1093 1094 * configure.in: check for statfs(), statvfs(), and 1095 <sys/statvfs.h>. 1096 1097 * config.guess.long: strip trailing '.' on "netbsdelf3.0." 1098 (Beta). Workaround for bug in config.guess. 1099 1100 * config.{guess,sub}: update to latest versions. 1101 11022005-09-30 Christos Zoulas <christos@zoulas.com> 1103 1104 * fsinfo/fsi_util.c (set_ether_if): use INADDR_NONE instead of 1105 hard-coded value of -1. 1106 1107 * include/amq_defs.h (AMQ_STRLEN): increase default size from 2KB 1108 to 16KB. We can afford it these days. 1109 1110 * libamu/strcasecmp.c (strcasecmp): use unsigned chars in 1111 tolower() to avoid sign/size promotion bugs. 1112 1113 * libamu/xutil.c (switch_to_logfile): don't output to LOG_CONS by 1114 default (it's unfriendly). If user really wants to, they can set 1115 it in /etc/syslog.conf. 1116 11172005-09-29 Erez Zadok <ezk@cs.sunysb.edu> 1118 1119 * amq/pawd.c (find_mt): if the auto mount type is used, pawd could 1120 go into an infinite loop since the mt_directory and mt_mountpoint 1121 fields are the same for auto mounts. Solution: ignore type auto 1122 mounts, similar to toplvl. Bug fix from Jonathan Chen 1123 <jon+amd@spock.org>. 1124 1125 * README.attrcache: document test-attrcache script. 1126 1127 * scripts/Makefile.am (noinst_SCRIPTS): build test-attrcache 1128 script. 1129 1130 * configure.in: build scripts/test-attrcache script and chmod it 1131 so it can be executed in place. 1132 1133 * scripts/test-attrcache.in: script to test the NFS attribute 1134 cache using Amd. 1135 11362005-09-26 Erez Zadok <ezk@cs.sunysb.edu> 1137 1138 * hlfsd/stubs.c (nfsproc_getattr_2_svc, nfsproc_lookup_2_svc, 1139 nfsproc_readlink_2_svc, nfsproc_readdir_2_svc), hlfsd/hlfsd.c 1140 (hlfsd_init): use new clocktime() function. 1141 11422005-09-18 Erez Zadok <ezk@cs.sunysb.edu> 1143 1144 * README.attrcache: document netbsd's patchs to support noac. 1145 1146 * libamu/mount_fs.c (compute_nfs_attrcache_flags): cleanup the 1147 code that sets the ac{reg,dir}{min,max} fields so it also sets the 1148 appropriate nfs_args->flags such as MNT2_NFS_OPT_ACREGMIN. 1149 1150 * configure.in: check for nfs_args fields acregmax and acdirmax. 1151 1152 * README.attrcache: new file documenting in detail OS bugs 1153 relating to attribute caching, which can affect Amd's reliability 1154 under heavy load. 1155 Update status of freebsd and openbsd. 1156 1157 * doc/Makefile.am: install README.attrcache file as attrache.txt 1158 file on am-utils Web site. 1159 1160 * Makefile.am (EXTRA_DIST): include README.attrcache in distro. 1161 1162 * BUGS, NEWS, doc/am-utils.texi (auto_attrcache Parameter), 1163 scripts/amd.conf.5, scripts/amd.conf-sample: document attribute 1164 cache bugs on some OSs. 1165 11662005-09-17 Erez Zadok <ezk@cs.sunysb.edu> 1167 1168 * libamu/xutil.c (clocktime): newly implemented routine. Uses 1169 gettimeofday() each time to return a high-resolution clock time, 1170 and does not "cache" the last time. Returns time in seconds, just 1171 like the old implementation. If passed a non-null argument, will 1172 fill it in with the current time in seconds+microseconds. 1173 1174 * libamu/xutil.c: remove actual declaration of clock_valid, and 1175 another never-used declaration for xclock_valid. 1176 1177 * include/am_utils.h: remove defunct definition of clocktime() 1178 macro and clock_valid variable. Add extern for new definition. 1179 1180 * libamu/mount_fs.c (mount_fs), hlfsd/homedir.c (homedir, 1181 hlfsd_diskspace, hlfsd_getpwent, plt_reset, table_add), 1182 hlfsd/hlfsd.c (main, hlfsd_init, reload, cleanup), 1183 conf/mtab/mtab_mach3.c (open_locked_mtab), conf/mtab/mtab_file.c 1184 (open_locked_mtab), amd/nfs_start.c (do_select, run_rpc), 1185 amd/autil.c (host_normalize): remove defunct clock_valid. 1186 1187 * amd/nfs_subr.c (nfsproc_getattr_2_svc): Print microseconds for 1188 node's mtime. 1189 (fh_to_mp3): use new clocktime() to update mtime and get a better 1190 time resolution. 1191 1192 * amd/mapc.c (mapc_reload_map): change prototype from returning 1193 void to returning an int. If reloading was needed and succeeded, 1194 return 1; else return 0. 1195 (mapc_sync): update mtime of parent node if needed. This is a 1196 CRITICAL FIX, to ensure that the kernel flushes its DNLC/dcache 1197 when we run "amq -f" manually or when a map is reloaded. 1198 1199 * amd/map.c (new_ttl): update am_ttl and na_atime in one shot. 1200 (init_map): use new clocktime(). 1201 (unmount_mp): if the OS doesn't support a "symttl" option, then 1202 update the mtime of the parent node using the clocktime(); but if 1203 the time hasn't gotten changed because of rapid Amd accesses on 1204 systems that don't have a micro-second NFS-client resolution, then 1205 increment mtime by one arbitrarily (this could, on some systems 1206 and under pathological cases, result in mtime's that are in the 1207 future). 1208 1209 * amd/autil.c (forcibly_timeout_mp): MAJOR BUG FIX: force mtime 1210 update of parent dir, to prevent DNLC/dcache from caching the old 1211 entry, which could result in ESTALE errors, bad symlinks, and 1212 more. 1213 (am_mounted): record mount time, and update am_stats at the same 1214 time, using the double-action redone clocktime() routine. 1215 (am_mounted): update parent's mtime from that of the child. 1216 (am_unmounted): when unmounting an entry, update mtime of parent 1217 node. 1218 1219 * amd/amfs_generic.c (amfs_bgmount): now that clocktime() doesn't 1220 remember it's last non-zero value, save it in a temporary variable 1221 to avoid a TOCTOU problem (between an "if" and a "dlog"). 1222 1223 * libamu/xutil.c (show_time_host_and_name), 1224 conf/autofs/autofs_linux.c (autofs_mounted, autofs_timeout_mp), 1225 amd/srvr_nfs.c (nfs_keepalive_callback, nfs_keepalive_timeout) 1226 (find_nfs_srvr), amd/rpc_fwd.c (fwd_alloc), amd/nfs_subr.c 1227 (nfsproc_getattr_2_svc), amd/nfs_start.c (do_select, run_rpc), 1228 amd/mapc.c (root_init), amd/map.c(map_flush_srvr, timeout_mp), 1229 amd/info_ndbm.c (ndbm_init), amd/info_ldap.c (amu_ldap_rebind), 1230 amd/info_file.c (file_open), amd/info_exec.c (fgets_timed, 1231 exec_search), amd/clock.c (timeout, softclock), amd/autil.c 1232 (forcibly_timeout_mp), amd/amfs_generic.c (amfs_retry, 1233 amfs_bgmount, amfs_generic_mount_child), amd/amd.c (main): pass 1234 NULL to clocktime(). 1235 12362005-09-15 Erez Zadok <ezk@cs.sunysb.edu> 1237 1238 * amd/nfs_subr.c (nfsproc_getattr_2_svc): initialize 'retry', just 1239 in case. 1240 (fh_to_mp3): increment amd_stats.d_stale counter only if we are 1241 actually returning ESTALE. 1242 1243 * amd/info_exec.c (exec_parse_qanswer), amd/info_file.c 1244 (file_search_or_reload), amd/info_hesiod.c (hesiod_search), 1245 amd/info_ldap.c (amu_ldap_search), amd/info_ndbm.c (search_ndbm), 1246 amd/info_nis.c (nis_search), amd/info_nisplus.c (nisplus_search, 1247 nisplus_search): don't dereference mnt_map->cfm which may be null 1248 if we're not using an amd.conf file. 1249 12502005-09-14 Erez Zadok <ezk@cs.sunysb.edu> 1251 1252 * libamu/xutil.c (unregister_amq): if failed to de-register Amd 1253 from portmapper, report it under dlog (debugging), not as an 1254 annoying plog that always shows up. 1255 12562005-09-13 Erez Zadok <ezk@cs.sunysb.edu> 1257 1258 * mk-amd-map/mk-amd-map.c (read_file_file), libamu/util.c 1259 (strsplit), libamu/hasmntopt.c (nextmntopt), amd/sun_map.c 1260 (sun_entry2amd), amd/sun2amd.c (sun2amd_convert_convert), 1261 amd/mapc.c (mapc_add_kv), amd/info_file.c (file_search_or_reload), 1262 amd/info_exec.c (exec_parse_qanswer): cast isspace() and isascii() 1263 arg to unsigned char, which is safer as per Christos. 1264 1265 * amd/sun_map.c (sun_entry2amd): isspace takes an int, not a char. 1266 1267 * configure.in: keep a dummy unused AM_PROG_LEX, because old 1268 Automake (1.6.3) looks for it if you refer to LEX in your 1269 Makefile.am files. Silly thing, fixed in newer versions of 1270 Automake (1.9.2). 1271 12722005-09-11 Erez Zadok <ezk@cs.sunysb.edu> 1273 1274 * Makefile.am (EXTRA_DIST_M4): add prog_{lex,yacc}.m4 to distro. 1275 1276 * configure.in: use new macros AMU_PROG_YACC and AMU_PROG_LEX. 1277 1278 * m4/macros/prog_yacc.m4: new macro to check if bison/yacc/byacc 1279 exist, but exist with an error if none found. 1280 1281 * m4/macros/prog_lex.m4: new macro to check if f/lex exist, but 1282 exit with an error if not found (am-utils requires f/lex). 1283 12842005-09-07 Erez Zadok <ezk@cs.sunysb.edu> 1285 1286 * minor new port: powerpc-apple-darwin8.2.0. 1287 1288 * m4/macros/type_auth_create_gidlist.m4: Old macosx used "gid_t" 1289 but all newer ones (10.4+) use int. 1290 1291 * m4/macros/type_recvfrom_fromlen.m4: Old macosx used "int" for 1292 6th arg of recvfrom(), but all newer ones (10.4+) use socklen_t. 1293 1294 * minor new port: i386-pc-linux-deb3.1. 1295 12962005-09-02 Erez Zadok <ezk@cs.sunysb.edu> 1297 1298 * conf/mount/mount_linux.c: If autoconf didn't find any disk-based 1299 file system on this system (probably because /proc isn't mounted), 1300 then provide some default definition for this file to compile. 1301 13022005-08-28 Daniel P. Ottavio <dottavio@ic.sunysb.edu> 1303 1304 * amd/sun_map.c (sun_entry2amd) : Wipe out any trailing white 1305 spaces or '\n' before passing strings to the parser. 1306 1307 * amd/amd.h : oops, reverting bad changes 1308 1309 * amd/info_file.c : oops, reverting bad changes 1310 1311 * amd/mapc.c : oops, reverting bad changes 1312 1313 * amd/sun_map_parse.y : oops, reverting bad changes 1314 13152005-08-27 Erez Zadok <ezk@cs.sunysb.edu> 1316 1317 * libamu/xutil.c: amd_program_number is a u_long now. 1318 (unregister_amq): if pmap_unset failed to de-register Amd from the 1319 portmapper, print an error message. 1320 (get_amd_program_number): returns a u_long now. 1321 (set_amd_program_number): take a u_long now. 1322 1323 * include/am_utils.h: get_amd_program_number() returns u_long now. 1324 set_amd_program_number() takes a u_long now. 1325 1326 * amq/amq.c: amd_program_number is a u_long, not int. 1327 1328 * amd/nfs_start.c (mount_automounter): when registering Amd with 1329 the portmapper (for Amq service), don't fail if just one of TCP or 1330 UDP failed to register, but only if both transports failed. That 1331 way Amq can still contact Amd using the transport that did 1332 register correctly. However, now, if both transports failed to 1333 register, then set amd_state to "Done" so it would shutdown 1334 cleanly. 1335 1336 * conf/transp/transp_{sockets,tli{}.c (amu_svc_register): better 1337 comments. 1338 1339 * libamu/xutil.c: debug_flags should always be initialized to 1340 D_CONTROL (amq,daemon,fork). 1341 (debug_option): allow setting initial immutable debug_flags via 1342 amd.conf; afterward, prevent it (i.e., one tries it via "amq -D"). 1343 1344 * Makefile.am (DISTCLEANFILES): also remove amu_autofs_prot.h, 1345 config.cache.old, and dbgcf.h on "make distclean". 1346 (CLEANFILES): remove dbgcf on plain "make clean". 1347 1348 * amd/Makefile.am (DISTCLEANFILES): also remove ops_autofs.c on 1349 "make distclean". 1350 13512005-08-27 Daniel P. Ottavio <dottavio@ic.sunysb.edu> 1352 1353 * amd/info_file.c (file_search_or_reload): Changed the key 1354 variable that is passed to the sun_entry2amd. 1355 1356 * amd/mapc.c (mapc_add_kv): Add support for multiple entries 1357 packed into one line. This is a workaround for handling Sun style 1358 mounts that contains multiple entries on one line: "multi-mount 1359 entries". The sun2amd conversion tools will convert such entries 1360 into type:=auto and pack each of the auto-entries into one line 1361 separated by '\n'. The mapc_add_kv function will now recognize 1362 such entries and add then. 1363 1364 * amd/sun2amd.c (sun2amd_convert): Add print statement that 1365 includes the line number during a parser failure. 1366 1367 * sun_map.c: Fix the AMD_MAP_PREF_KW definition. Fix spelling. 1368 (sun_mountpts2amd): removed this function 1369 (sun_hsfs2amd): added some more comments 1370 (sun_nfs2amd): moved support for multi-mount entries from this 1371 function to sun_multi2amd(). 1372 (sun_multi2amd): New function to handle multi-mount entries. This 1373 function will convert the Sun version to an Amd type:=auto. Each 1374 extra auto entry will be appended to the same line separated by a 1375 '\n'. 1376 (sun_entry2amd): Fixed a bug if-statement. This function now 1377 checks for multi-mount entries. 1378 1379 * amd/sun_map.h: Add a fstype member to the sun_mountpt struct. 1380 1381 * amd/sun_map_parse.y: Parser now supports fstype for multi-mount 1382 entries. 1383 1384 * amd/sun_map_tok.l: No longer print the line and column number 1385 when parsing. This is because the parser is handed strings not 1386 files. Therefore, the line number will always be 1. It is now up 1387 to the higher level tools to echo line information during error 1388 when they feed the parser. 1389 13902005-08-24 Erez Zadok <ezk@cs.sunysb.edu> 1391 1392 * configure.in: wrap all LDAP and HESIOD tests in test whether 1393 --with-OPT was used. 1394 13952005-08-20 Daniel P. Ottavio <dottavio@ic.sunysb.edu> 1396 1397 * amd/sun_map.c: Clean up #defines 1398 (sun_entry2amd) : Verify that the key and entry values passed are 1399 not NULL. Free the Sun entry struct when done. 1400 1401 * amd/sun_map.h: Add some "not implemented yet" comments to the 1402 map and mmap structures. 1403 1404 * amd/sun_map_parse.y: Removed automap include functionality, it 1405 will need to be re-implemented using a pre-processor. 1406 Clean up function calls. 1407 14082005-08-16 Daniel P. Ottavio <dottavio@ic.sunysb.edu> 1409 1410 * amd/sun2amd.c (sun2amd_convert): If the input line is too long 1411 don't return an error just null terminate and continue. Fix bug: 1412 the map key was not written. 1413 1414 * amd/sun_map.c: Add a new Amd device, and cdfs constant. 1415 (sun_locations2amd): Write the NFS type keyword 1416 for each host of the mount entry. Add a space between each mount 1417 location. 1418 (sun_hsfs2amd): New function to support hsfs to 1419 cdfs. 1420 (sun_nfs2amd): Don't write the nfs type here. Fix 1421 comments. 1422 (sun_entry2amd): Change function parameter var for 1423 clarity. Add support for hsfs. 1424 1425 * amd/sun_map_parse.y (sun_map_parse_read): Reset the entry list 1426 after it has been returned. 1427 14282005-08-16 Erez Zadok <ezk@cs.sunysb.edu> 1429 1430 * amd/get_args.c (get_args): initialize debug_flags if they've 1431 never been set. 1432 14332005-08-15 Erez Zadok <ezk@cs.sunysb.edu> 1434 1435 * amd/mapc.c (mapc_create): mapc find takes 4th arg, the mount 1436 point. Now, we can properly initialize the cfm structure of the 1437 mnt_map, so we can have access to the flags (e.g., SUN_MAP_SYNTAX) 1438 inside each info_*.c file. 1439 (mapc_find): takes 4rd arg (mntpt) and passes it to calls to 1440 mapc_create. 1441 (root_newmap): pass NULL as 4th arg (mntpt). 1442 1443 * amd/amfs_generic.c (amfs_parse_defaults): remove ugly hack to 1444 initialize map cfm structure (including flags) so late. 1445 1446 * amd/autil.c (amfs_mkcacheref): pass mount point as 4th arg to 1447 mapc_find. 1448 1449 * amd/amfs_root.c (amfs_root_mount): pass NULL as new 4th arg to 1450 mapc_find. 1451 1452 * amd/amd.h: extern for mapc_find changed to pass the mount point. 1453 1454 * libamu/xutil.c: debug_flags should be unsigned. 1455 (dbg_opt): fix comments for updated debug_flags, add "defaults". 1456 (debug_option): Don't allow "immutable" (D_IMMUTABLE) flags to be 1457 changed, because they could mess Amd's state and only make sense 1458 to be set once when Amd starts. Currently these immutable flags 1459 are "daemon," "fork," "amq," and "mtab." If Amd not compiled with 1460 debugging, set default "control" options (daemon,fork,amq). 1461 (unregister_amq): proper use of D_AMQ. 1462 1463 * include/am_utils.h: define new D_BASIC, D_CONTROL, D_DEFAULT, 1464 D_IMMUTABLE, and D_MASK. Updated definitions of D_ALL and D_TEST. 1465 debug_flags extern should be unsigned. 1466 1467 * scripts/amd.conf-sample (debug_options): mention new "defaults" 1468 option. 1469 1470 * scripts/amd.conf.5,doc/am-utils.texi: document new debug option 1471 "defaults" and properly explain the corrected meanings of 1472 "daemon," "fork," "amq," and their "no" inversions. Better 1473 explain "all" and "test" too. Correct default debug_mtab file to 1474 /tmp/mtab. 1475 1476 * hlfsd/stubs.c (nfsproc_readlink_2_svc): proper use of D_FORK. 1477 1478 * hlfsd/homedir.c (homedir): proper use of D_FORK. 1479 1480 * hlfsd/hlfsd.c (main, hlfsd_init, cleanup): proper use of 1481 D_DAEMON. 1482 1483 * amd/nfs_start.c (mount_automounter): proper use of D_AMQ. 1484 1485 * amd/amd.h (DEBUG_MNTTAB_FILE): change default to /tmp/mtab, 1486 which is more common on more systems (instead of /tmp/mnttab). 1487 1488 * amd/amd.c (main): properly use D_DAEMON. 1489 14902005-08-14 Erez Zadok <ezk@cs.sunysb.edu> 1491 1492 * libamu/xutil.c (xlog_opt): define new pseudo log_option named 1493 "defaults", which is an alias for "fatal,error,user,warning,info". 1494 1495 * scripts/amd.conf.5, doc/am-utils.texi, amd/amd.8: document new 1496 log_option "defaults". 1497 1498 * amq/amq.8: typo. Arg name for -D is "debug_options" not 1499 "log_options". 1500 1501 * libamu/xutil.c: make xlog_level static, and initialize it to 1502 XLOG_DEFAULT. 1503 (cmdoption): take unsigned int as flags argument, and print any 1504 errors as XLOG_ERROR (which cannot be turned off). 1505 (switch_option): remove old code which disallowed you from turning 1506 off flags that were set when Amd started up. Now, you can turn 1507 any log option on/off at start time or later on (via amq -x), 1508 other than the two mandatory options (fatal+error). 1509 1510 * include/am_utils.h (XLOG_*): remove unused XLOG_DEFSTR. Define 1511 XLOG_MASK to mask out unused flag bits. Define XLOG_DEFAULT to be 1512 what it was before (fatal + error + user + warning + info), but 1513 use the new mask. Remove extern's for xlog_level and 1514 xlog_level_init. Change extern for cmdoption() to take an 1515 unsigned flags argument. 1516 1517 * doc/am-utils.texi, amq/amq.8, scripts/amd.conf.5, amd/amd.8: 1518 document mandatory log options 1519 (fatal+error) which cannot be turned off and are always on by 1520 default. They must be on so that Amd can report crucial errors, 1521 including those related to setting flags on/off. 1522 1523 * hlfsd/hlfsd.c (main): remove hack to initialize log_options. 1524 1525 * wire-test/wire-test.c: remove reference to unused xlog_level. 1526 1527 * amd/mapc.c (mapc_create): 'alloc' flags variable should be 1528 unsigned. 1529 1530 * amd/get_args.c (get_args): no need for hack using 1531 xlog_level_init. 1532 1533 * amd/Makefile.am: separate sources common to amd and sun2amd into 1534 a special, locally-built only, static library called libaminfo.a. 1535 1536 * libamu/xutil.c (real_plog, xsnprintf): call new xvsnprintf() 1537 wrapper function. 1538 (xvsnprintf): new function which already gets a va_list. This was 1539 needed to avoid nesting va_list's (which apparently isn't 1540 allowed). 1541 1542 * include/am_utils.h: prototype for new xvsnprintf wrapper. 1543 1544 * configure.in: sinclude([vers.m4]) version number file. 1545 1546 * vers.m4: new file to separate version number out of 1547 configure.in, useful for nightly snapshot script to generate 1548 nightly version string. 1549 1550 * Makefile.am (EXTRA_DIST_M4): include vers.m4 in distro. 1551 15522005-08-14 Daniel P. Ottavio <dottavio@ic.sunysb.edu> 1553 1554 * amd/info_file.c: add key to sun_entry2amd()'s parameters 1555 1556 * amd/info_hesiod.c: add key to sun_entry2amd()'s parameters 1557 1558 * amd/info_ldap.c: add key to sun_entry2amd()'s parameters 1559 1560 * amd/info_ndbm.c: add key to sun_entry2amd()'s parameters 1561 1562 * amd/info_nis.c: add key to sun_entry2amd()'s parameters 1563 1564 * amd/info_nisplus.c: add key to sun_entry2amd()'s parameters 1565 1566 * amd/sun_map.c: New functions to support sun translation to amd. 1567 The function sun_entry2amd's parameters were expanded to include 1568 the key value. sun_entry_2amd() now returns NULL on error. 1569 1570 * amd/sun_map.h: Expand sun_entry2amd's parameters to include key 1571 value. 1572 1573 * amd/sun_map_parse.y: Change how file system types are parsed out 1574 of the list of options for each entry. The previous way was not 1575 working properly so now we just look for the 'fstype' keyword in 1576 each option. If it exists we copy its key value. 1577 Added some comments to sun_map_parse_read(). 1578 1579 * amd/amd.h: Added an extern from info_file.c called 1580 file_read_line(). Previously this function was static but is now 1581 used in sun2amd.c. 1582 1583 * amd/info_file.c: Changed the static function read_line() to a 1584 public function called file_read_line(). This function is now 1585 used in sun2amd.c 1586 1587 * amd/sun2amd.8: Filled in the contents of this man page. This is 1588 a conversion utility that converts Sun maps to Amd maps. 1589 1590 * amd/sun2amd.c: Implemented a working version of this utility. 1591 15922005-08-11 Erez Zadok <ezk@cs.sunysb.edu> 1593 1594 * amd/sun_map_parse.y: instead of using a custom FOO_alloc() 1595 function, use Amd's CALLOC(struct FOO) macro. 1596 1597 * amd/sun_map.h: remove extern definitions to functions no longer 1598 needed. 1599 1600 * amd/sun_map.c: removed superfluous *_alloc() functions, some of 1601 which caused conflicts with same-named symbols in the parser 1602 (since we rename 'yyalloc' to 'sun_map_alloc'). 1603 1604 * configure.in: keep AC_INIT on same line, for nightly snapshot 1605 build script. 1606 1607 * amd/Makefile.am: f/lex libraries are incompatible with multiple 1608 scanners, so don't link Amd with libl.a/libfl.a. 1609 16102005-08-10 Daniel P. Ottavio <dottavio@ic.sunysb.edu> 1611 1612 * amd/sun_map_tok.l: Clean up regular expression so HPUX stops 1613 whining. 1614 16152005-08-09 Daniel P. Ottavio <dottavio@ic.sunysb.edu> 1616 1617 * amd/sun_map_parse.y: Moved license below special yacc bracket to 1618 be portable with HPUX's yacc. Clean up externs. 1619 1620 * amd/sun_map_tok.l: Moved license below special lex bracket to be 1621 portable with HPUX's lex. Fixed definitions to allow for a 1622 non-flex lex to parse strings instead of files. Added some casts 1623 to strlcpy usage to silence warnings. Moved the % options because 1624 HPUX was complaining, 1625 16262005-08-08 Daniel P. Ottavio <dottavio@ic.sunysb.edu> 1627 1628 * amd/sun_map_tok.l: Applied some definition goop to handle the 1629 ECHO symbol that lex defines. This symbol causes problems on 1630 RedHat-EL-powerPC platforms. Replaced strncpy with strlcpy. 1631 Renamed the function sun_map_yyinput to sun_map_input. This 1632 function is a utility function that is not generated by lex. 1633 Therefore, the 'yy' may cause confusion. 1634 16352005-08-08 Erez Zadok <ezk@cs.sunysb.edu> 1636 1637 * amd/sun_map_tok.l: allocate more output slots so lex scanners 1638 don't run out of memory. 1639 1640 * amd/sun_map_parse.y: declare extern for sun_map_parse(). 1641 1642 * libamu/xutil.c (xsnprintf): ensure proper comparisons between 1643 signed and unsigned quantities. 1644 16452005-08-06 Erez Zadok <ezk@cs.sunysb.edu> 1646 1647 * libamu/util.c, amd/autil.c (strsplit): moved strsplit() function 1648 from Amd code to to libamu, so sun2amd could use it. 1649 1650 * amd/Makefile.am (sbin_PROGRAMS): build sun2amd binary and man 1651 page. 1652 (EXTRA_sun2amd_OBJECTS): sun2amd needs to link with all info_*.c files 1653 1654 * amd/sun2amd.8: placeholder for man page. 1655 1656 * amd/sun2amd.c: placeholder for C version of translator from Sun 1657 syntax maps to Amd maps. 1658 1659 * */*.[0-9]: include file name in nroff source comment. 1660 1661 * ALL: use '0' properly when assigning or passing it to functions. 1662 If in the context pointer, use NULL. If in the context of a 1663 single char (say within a string), the use '\0'. This is just to 1664 make the code clearer. 1665 1666 * m4/macros/header_templates.m4: template for HAVE_MAP_SUN. 1667 1668 * amd/mapc.c (maptypes): add placeholder for Sun-syntax map 1669 methods. 1670 1671 * amd/Makefile.am (EXTRA_amd_SOURCES): compile info_sun.c 1672 1673 * amd/info_sun.c: placeholder for meta info parser to get info 1674 from Sun automount-style /etc/auto_master, possibly following 1675 into multiple info services (via /etc/nsswitch.conf). 1676 1677 * libamu/xutil.c (xsnprintf): if vsnprintf truncated the output 1678 string to avoid an overflow, print an error. Include some code to 1679 break out any possible infinite loop between plog() and 1680 xsnprintf(). 1681 (real_plog): now we can use (carefully) xsnprintf() directly. 1682 1683 * amd/sun_map.[hc]: cleanup and formatting. 1684 1685 * amd/sun_map_parse.y: to match the literal string "fstype=" use 1686 double quotes, not single quotes. 1687 1688 * amd/get_args.c (get_args): call conf_parse() using conf_in. 1689 1690 * amd/amd.h: use renamed parser symbols (yyparse -> conf_parse; 1691 yyin -> conf_in). 1692 1693 * ylwrap: Enhance wrapper to avoid the #define hacks done by Gdb, 1694 and suggested by the Automake manual. This enhanced parser will 1695 prefix each conflicting yacc/lex symbol with a unique name 1696 produced from INPUT. For example, if INPUT is foo_parse.y, then 1697 yyparse() becomes foo_parse(). This requires that both your .l 1698 and corresponding .y files have the same prefix (e.g., foo_parse.y 1699 and foo_tok.l). 1700 1701 * amd/Makefile.am (BUILT_SOURCES): define which yacc/lex .h/.c 1702 source files are built automatically, and therefore should not be 1703 in the distro (IMHO), and should be cleaned upon "make clean". 1704 (amd_SOURCES): include new sun_map_parse.y and sun_map_tok.l files. 1705 1706 * ylwrap: new file needed because we have two parsers now. 1707 1708 * amd/sun_map_{parse.y,tok.l}: cleanup and formatting. 1709 17102005-08-06 Daniel P. Ottavio <dottavio@ic.sunysb.edu> 1711 1712 * amd/Makefile.am: Added new files sun_map.h, sun_map.c, 1713 sun_map_parse.y, and sun_map_tok.l. These files add support for 1714 parsing Sun style maps. The yacc/lex files needed custom rules so 1715 they don't cause symbol conflicts with each other. 1716 1717 * amd/amd.h: Added "#define INFO_MAX_LINE_LEN" that specifies the 1718 line limit for info services. 1719 1720 * amd/info_exec.c: Replaced MAX_LINE_LEN with INFO_MAX_LINE_LEN 1721 1722 * amd/info_file.c: Replaced MAX_LINE_LEN with INFO_MAX_LINE_LEN, 1723 added support for parsing Sun style maps. The support for Sun 1724 maps is done using the sun_entry2amd() function. This function is 1725 called for each entry line that is read only when Sun parsing is 1726 enabled. For each entry line that is passed to the function a 1727 copy of the Amd equivalent is returned. 1728 1729 * amd/sun_map.h: new header file for Sun style map support 1730 1731 * amd/sun_map.c: new source file for Sun style map support, clean 1732 up comments, additional sun2amd conversion routines 1733 1734 * amd/sun_map_parse.y: new yacc file for parsing Sun style maps, 1735 fix copyright notice, put filename below license. 1736 1737 * amd/sun_map_tok.l: new lex file for parsing Sun style maps, fix 1738 copyright notice, put filename below license. 1739 1740 * amd/get_args.c: replace usage of strlcat with xstrlcat 1741 1742 * include/am_utils.h: added 'extern void xstrlcat()' 1743 1744 * libamu/util.c: Added a xstrlcat() function that wraps the 1745 syscall strlcat() so that string truncations can be logged. 1746 17472005-08-06 Erez Zadok <ezk@cs.sunysb.edu> 1748 1749 * amd/info_file.c (file_search, file_reload): pass mnt_map to 1750 file_search_or_reload. 1751 (file_search_or_reload): ensure that mnt_map is never NULL. 1752 1753 * amd/info_nis.c (nis_search): call sun_entry2amd() if 1754 sun_map_syntax=yes. 1755 1756 * amd/info_ldap.c (amu_ldap_search): call sun_entry2amd() if 1757 sun_map_syntax=yes. 1758 1759 * amd/info_hesiod.c (hesiod_search): call sun_entry2amd() if 1760 sun_map_syntax=yes. 1761 1762 * amd/info_ndbm.c (ndbm_search): pass mnt_map to search_ndbm. 1763 (search_ndbm): call sun_entry2amd() if sun_map_syntax=yes. 1764 1765 * amd/info_nisplus.c (nisplus_search): call sun_entry2amd() if 1766 sun_map_syntax=yes. 1767 1768 * amd/info_exec.c (exec_search): pass mnt_map to 1769 exec_parse_qanswer. 1770 (exec_parse_qanswer): call sun_entry2amd() if sun_map_syntax=yes. 1771 1772 * doc/am-utils.texi (sun_map_syntax Parameter): document new 1773 common parameter. 1774 1775 * scripts/amd.conf.5: selectors_in_defaults is a common parameter, 1776 not just [global]. Use consistent capitalization of Amd/Amq. 1777 Document new sun_map_syntax parameter. 1778 1779 * scripts/amd.conf-sample: properly list all of the parameters 1780 which are common to both the [global] and the per-map sections. 1781 (sun_map_syntax): example of new parameter. 1782 1783 * doc/am-utils.texi (Common Parameters): selectors_in_defaults is 1784 a common parameter, not just [global]. 1785 1786 * scripts/amd.conf-sample (sun_map_syntax): example of new flag. 1787 1788 * amd/conf.c ({ropt,gopt}_sun_map_syntax): new function to parse 1789 sun_map_syntax flag (global or per map). 1790 1791 * amd/amd.h (CFM_SUN_MAP_SYNTAX): new flag for users to say if the 1792 map uses Sun automounter syntax. 1793 1794 * cvs-server.txt: update instructions after branching 6.1-stable. 1795 17962005-08-02 Erez Zadok <ezk@cs.sunysb.edu> 1797 1798 ******************************************************************* 1799 *** Released am-utils-6.1.1 *** 1800 ******************************************************************* 1801 1802 * libamu/xutil.c (xsnprintf): "unsafe" alternative to vsnprintf is 1803 vsprintf, not sprintf. 1804 1805 * conf/umount/umount_osf.c (umount_fs): refer to proper formal 1806 parameter name. 1807 (umount2_fs): pass second arg to umount(). 1808 1809 * ALL: remove CVS ID and put actual file name in source. 1810 1811 * conf/autofs/*.[hc]: proper copyright headers. 1812 1813 * whitespace reformatting. Remove remaining '%W%' SCCS IDs. 1814 1815 * amd/mntfs.c (free_mntfs): don't discard the last reference to an 1816 mntfs that had been mounted already. It won't have the 1817 MFF_RESTARTED flag on, as it gets turned off after the entry is 1818 mounted, but it will have the MFF_RSTKEEP flag on. 1819 1820 * amd/autil.c (mf_mounted), amd/restart.c (restart_fake_mntfs): 1821 show the mntfs's flags. 1822 18232005-08-01 Erez Zadok <ezk@cs.sunysb.edu> 1824 1825 * conf/mtab/mtab_linux.c: removed unused code. Cleanup. 1826 (handler): removed this bad signal handler. 1827 (lock_mtab): Redhat's original code set a signal handler called 1828 "handler()" for all non-ALRM signals. The handler called 1829 unlock_mntlist(), plog'ed the signal name, and then exit(1)! 1830 Never, ever, exit() from inside a utility function. This messed 1831 up Amd's careful signal-handling code, and caused Amd to abort 1832 uncleanly only any other "innocent" signal 1833 (even simple SIGUSR1), leaving behind a hung Amd mnt point. That 1834 code should have at least restored the signal handlers' states 1835 upon a successful mtab unlocking. Anyway, that handler was 1836 unnecessary, because will call unlock_mntlist() properly anyway on 1837 exit. 1838 1839 * conf/mtab/mtab_{file,isc3,mach3,linux}.c (unlock_mntlist): dlog 1840 message that we're inside the unlock_mntlist function. 1841 1842 * amd/amd.c (main): use new setup_sighandler() for Amd's four main 1843 signals (INT, TERM, HUP, and CHLD). 1844 (main) Add SIGINT and SIGTERM to masked_sigs, used in 1845 nfs_start.c:do_select() for setjmp/longjmp code; the MASK was set 1846 to all four signals if !HAVE_SIGACTION, but only to HUP+CHLD if we 1847 HAVE_SIGACTION. So this change makes Amd behave consistently. 1848 1849 * include/am_utils.h: extern for new setup_sighandler(). 1850 1851 * libamu/xutil.c (setup_sighandler): new utility function to setup 1852 a single signal-handler regardless of what method is supported by 1853 this OS. 1854 (going_down): call unlock_mntlist() when exiting, to ensure that 1855 Amd will remove any leftover mtab lock files, if any. 1856 1857 * amd/restart.c (restart_automounter_nodes): cleanup function. 1858 1859 * minor new port: i386-pc-linuxoldld-deb3.1. 1860 1861 * configure.in: include <sys/types.h> before <linux/socket.h> to 1862 get the definition of size_t on Debian-3.1r0a. 1863 18642005-07-29 Erez Zadok <ezk@cs.sunysb.edu> 1865 1866 * amd/srvr_nfs.c (find_nfs_srvr): don't blindly copy the hostent 1867 IP address. First check if it differs from the existing one of 1868 the fserver, and copy only if it changed. If it did change, flush 1869 the fhandle cache to avoid a stale fhandle being reused. This 1870 allows Amd to detect IP address changes even for an fserver that 1871 lost one or more NFS pings, but not enough to be declared totally 1872 down. We handle the "totally down" fserver case in 1873 check_fs_addr_change(). 1874 1875 * amd/ops_nfs.c (nfs_umount), amd/sched.c (sched_task), 1876 amd/nfs_subr.c (nfs_quick_reply): code clarity. 1877 1878 * conf/mount/mount_linux.c (linux_nfs_error): dlog mappings of 1879 errnos to NFS errors. 1880 1881 * conf/umount/umount_linux.c (umount2_fs): cleanup code. Trying 1882 stat() seems doomed to hang at times, so don't try stat at all, 1883 because umount2() appears to be clever enough to never hang. 1884 18852005-07-25 Erez Zadok <ezk@cs.sunysb.edu> 1886 1887 * amd/amd.h (FSF_FORCE_UNMOUNT): new flag used to indicate that a 1888 particular fserver may need forced/lazy unmounts when it's mntfs's 1889 are unmounted. 1890 1891 * amd/ops_nfs.c (nfs_umount): a simple unmount returned EBUSY, and 1892 the user specified forced_unmounts=yes in amd.conf, and this 1893 fserver was flagged with FSF_FORCE_UNMOUNT, and the OS supports 1894 forced/lazy unmounts, then try forced/lazy unmounts. This should 1895 allow a hung mount point to be removed. 1896 1897 * amd/srvr_nfs.c (find_nfs_srvr): move away IP-address change 1898 detection code to its own function. 1899 (check_fs_addr_change): new function to detect if the IP address 1900 of a downed host has changed, and do various cleanups and fixups 1901 to try and recover as best from that situation (e.g., flushing 1902 various caches). Also set the FSF_FORCE_UNMOUNT flag for the 1903 fserver in question. 1904 (flush_srvr_nfs_cache): pass fserver as argument, so we can 1905 selectively flush the NFS cache for a single fserver (or all of 1906 them, if you pass NULL). 1907 1908 * libamu/xutil.c (switch_to_logfile): truncate a regular-file log 1909 file if user passed non-zero "truncate_log" flag. 1910 1911 * include/am_utils.h: switch_to_logfile() now takes a 3rd arg. 1912 1913 * amd/get_args.c (get_args): pass "truncate_log" flag as per 1914 amd.conf global settings. 1915 1916 * amd/conf.c (gopt_truncate_log): store global value of 1917 truncate_log flag. 1918 1919 * amd/amq_subr.c (amqproc_setopt_1_svc), hlfsd/hlfsd.c (main, 1920 reload): don't truncate log file when calling switch_to_logfile(). 1921 1922 * amd/amd.h (CFM_TRUNCATE_LOG): new flag. Fix comment typo. 1923 1924 * NEWS, doc/am-utils.texi (truncate_log Parameter), 1925 scripts/amd.conf.5, scripts/amd.conf-sample (log_file): document 1926 new truncate_log amd.conf parameter. 1927 1928 * amd/conf.c (gopt_forced_unmounts): check Linux kernel version 1929 and alert if your version may be too old for MNT_FORCE to work 1930 (before 2.4.0) or for MNT_DETACH to work (before 2.6.0). 1931 Otherwise it may be impossible to pin down the exact kernel 1932 version in which we should enable this feature. 1933 1934 * conf/umount/umount_linux.c (umount2_fs): if MNT_FORCE returned 1935 EBUSY, then don't try to stat(2) before MNT_DETACH because it 1936 could hang. 1937 19382005-07-21 Erez Zadok <ezk@cs.sunysb.edu> 1939 1940 * conf/umount/umount_linux.c (umount_fs): cleanup this function, 1941 breaking long "if" statements using "goto out". 1942 1943 * conf/umount/umount_{aix,bsd44,osf,default,linux}.c (umount_fs): 1944 call new utility function umount2_fs() as needed (EBUSY, EIO, or 1945 ESTALE). 1946 1947 * conf/umount/umount_{aix,bsd44,osf,default,linux}.c (umount2_fs): 1948 define a new utility function to invoke forcible/lazy unmounts 1949 without touching any mtab files. This separate utility function 1950 is useful because it can be called from elsewhere. 1951 1952 * amd/amfs_toplvl.c (amfs_toplvl_init): new function, called 1953 before Amd mounts toplvl mounts, which gives us a hook for cleanup 1954 of a previously dead Amd. In our case, if the user asked for 1955 forced_unmounts, and the OS supports it, then we try forced/lazy 1956 unmounts on any previous toplvl mounts. This is useful if a 1957 previous Amd died and left behind toplvl mount points (this Amd 1958 will clean them up!). WARNING: Don't use forced/lazy unmounts if 1959 you have another valid Amd running, because this code WILL force 1960 those valid toplvl mount points to be detached as well! 1961 1962 * amd/amfs_toplvl.c (amfs_toplvl_umount): don't unconditionally 1963 try forced/lazy unmounts because it will prevent a normal Amd from 1964 terminating and cleaning up properly (self-deadlocking: detached 1965 mounts hang the parent Amd on a stat). Since we already do 1966 unmounts in the background, then try a safer policy: after trying 1967 the normal unmounts a few times (5 sec), escalate and try forced 1968 unmounts a few times (5 more seconds), and if even that failed, 1969 then try the ultimate -- detached unmounts (which always succeed). 1970 This allows Amd to first try and shutdown cleanly, and gradually 1971 try more forcible ways to shutdown. On Linux, this procedure will 1972 cleanly shutdown Amd even if there are processes with their CWD on 1973 Amd's mount points (which normally result in EBUSY). 1974 19752005-07-20 Erez Zadok <ezk@cs.sunysb.edu> 1976 1977 * Makefile.am (EXTRA_DIST_CONF): add new umount_aix.c to distro. 1978 1979 * conf/umount/umount_aix.c: easier if AIX has its own unmount 1980 helper file. 1981 1982 * m4/macros/check_umount_style.m4: AIX needs its own unmount style 1983 file. 1984 1985 * doc/am-utils.texi (forced_unmounts Parameter): @xref -> @pxref. 1986 19872005-07-19 Erez Zadok <ezk@cs.sunysb.edu> 1988 1989 * conf/nfs_prot/nfs_prot_aix5_2.h: define compatible 1990 forced-unmount flag. 1991 1992 * conf/umount/umount_default.c (umount_fs): if regular umount got 1993 EBUSY, EIO, or ESTALE, then try forced unmount, if supported. Try 1994 umount2 (Solaris) or uvmount (AIX). 1995 1996 * conf/umount/umount_{bsd44,osf}.c (umount_fs): if default 1997 umount() failed with EIO or ESTALE, also try forced unmount. 1998 19992005-07-18 Erez Zadok <ezk@cs.sunysb.edu> 2000 2001 * amd/autil.c (amfs_mount), amd/amfs_toplvl.c 2002 (amfs_toplvl_umount): enable forced/lazy unmounts only if user 2003 asked for it (and dlog it). 2004 2005 * scripts/amd.conf.5: document new force_unmount global parameter. 2006 2007 * doc/am-utils.texi (forced_unmounts Parameter): document new 2008 global parameter. 2009 2010 * amd/conf.c (gopt_forced_unmounts): process forced_unmounts 2011 option (default "no"). Exit with an error if user specified the 2012 option as "yes" but configure couldn't find support for either the 2013 MNT_FORCE or MNT_DETACH flags. 2014 2015 * scripts/amd.conf-sample (forced_unmounts): example usage of new 2016 option. 2017 2018 * amd/amd.h (CFM_FORCED_UNMOUNTS): new flag for forced_unmounts 2019 option. 2020 2021 * m4/macros/header_templates.m4: templates for _DETACH and _FORCE. 2022 2023 * configure.in: check for generic u/mount options "detach" and 2024 "force". 2025 2026 * include/am_utils.h (UMOUNT_FS, umount_fs): new prototypes. 2027 Define AMU_UMOUNT flags for force, detach, and autofs. 2028 2029 * amd/amfs_toplvl.c (amfs_toplvl_umount): pass _FORCE and _DETACH 2030 unmount flags unconditionally. Pass them to UMOUNT_FS(). 2031 2032 * conf/nfs_prot/nfs_prot_linux.h: define MNT_FORCE and MNT_DETACH 2033 if needed, because some Linux systems don't define them 2034 (presumably because it would be too dangerous to expose these 2035 flags to users). 2036 2037 * amd/autil.c (amfs_mount): if mount(2) failed with ESTALE or EIO, 2038 then assume that we're in trouble, possibly because a previous 2039 mount is hung. So, first try to force a lazy unmount of the old 2040 mount. If the forced unmount worked, then try again to mount the 2041 desired file system. If the forced unmount failed, then don't 2042 retry: just return an error. 2043 2044 * amd/amfs_generic.c (amfs_generic_umount), amd/amfs_host.c 2045 (amfs_host_umount), amd/ops_cachefs.c (cachefs_umount), 2046 amd/ops_cdfs.c (cdfs_umount), amd/ops_efs.c (efs_umount), 2047 amd/ops_lofs.c (lofs_umount), amd/ops_nfs.c (nfs_umount), 2048 amd/ops_pcfs.c (pcfs_umount), amd/ops_ufs.c (ufs_umount), 2049 amd/ops_xfs.c (xfs_umount), conf/umount/umount_bsd44.c 2050 (umount_fs), conf/umount/umount_default.c (umount_fs), 2051 conf/umount/umount_linux.c (umount_fs), conf/umount/umount_osf.c 2052 (umount_fs): compute and use unmount specific flags. 2053 20542005-07-16 Erez Zadok <ezk@cs.sunysb.edu> 2055 2056 * configure.in: better help for users, if nfs_args can't be found. 2057 20582005-07-15 Erez Zadok <ezk@cs.sunysb.edu> 2059 2060 * BUGS: more details on AIX's need to install bos.net.nfs.adt 2061 before configuring am-utils (else configure cannot find struct 2062 nfs_args on AIX). 2063 20642005-07-10 Erez Zadok <ezk@cs.sunysb.edu> 2065 2066 * amd/srvr_nfs.c (find_nfs_srvr): flush NFS handle cache if the IP 2067 address of a down server had changed. 2068 2069 * amd/info_union.c (union_reload): use safer xsnprintf() routine. 2070 2071 * amd/srvr_nfs.c (find_nfs_srvr): check to see if the IP address 2072 of a named but down fserver changed (i.e., the previous IP address 2073 is no longer responding). If so, then reset the fserver to the 2074 new IP address, and set the fserver's flags such that the function 2075 will fall through to doing the usual NFS version/proto checks and 2076 pinging. (This should fix one case of bug #308.) 2077 2078 * conf/umount/umount_linux.c (umount_fs): warn if plain umount() 2079 failed, before we try to ignore any errors or try optional 2080 umount2(), possibly with forced/lazy unmount. 2081 (umount_fs): dlog when unmount succeeded. 2082 20832005-07-08 Erez Zadok <ezk@cs.sunysb.edu> 2084 2085 * conf/mount/mount_linux.c: add a couple more NFSv2 error codes 2086 that are compatible with NFSv3. 2087 20882005-07-07 Erez Zadok <ezk@cs.sunysb.edu> 2089 2090 * m4/macros/header_templates.m4: extern template for strlcat(). 2091 2092 * amd/get_args.c (get_version_string): use safer strlcat (or 2093 replacement strlcat). Use new wrapper xsnprintf() function, which 2094 will use the safer vsnprintf() if available, else default to plain 2095 sprintf. 2096 2097 * configure.in: check for existence of strlcat() and its extern, 2098 replacing with libamu/strlcat.c as needed. 2099 2100 * libamu/Makefile.am (EXTRA_DIST): add strlcat.c to distro. 2101 2102 * include/am_defs.h: optional strlcat() extern. 2103 2104 * include/am_utils.h: extern for new xvsnprintf(). 2105 2106 * configure.in: overdue new major libtool shlib version. 2107 Check for snprintf function and extern. 2108 21092005-07-06 Erez Zadok <ezk@cs.sunysb.edu> 2110 2111 * conf/nfs_prot/nfs_prot_aix4_3.h: cleanup struct 2112 aix4_nfs_args_bis. 2113 2114 * Makefile.am (EXTRA_DIST_CONF): include mount_aix3.c in 2115 distribution. 2116 2117 * conf/mount/mount_aix.c: mount style for aix 5.x and newer. 2118 2119 * conf/mount/mount_aix3.c: mount styles for aix 3.x/4.x. 2120 2121 * m4/macros/check_mount_style.m4: split mount styles for 2122 aix3.x/4.x and the newer (and better) aix 5.x code. 2123 21242005-07-05 Erez Zadok <ezk@cs.sunysb.edu> 2125 2126 * amq/pawd.c (getawd): avoid buffer overflow. Bug fix from Graeme 2127 Wilford <G.Wilford@surrey.ac.uk>. 2128 21292005-06-30 Erez Zadok <ezk@cs.sunysb.edu> 2130 2131 * amd/map.c (get_next_exported_ap): Avoid running off the end of 2132 the exported_ap[] array. Patch from jon+amd-at-spock.org. Fixed 2133 bug #301. 2134 21352005-06-25 Erez Zadok <ezk@cs.sunysb.edu> 2136 2137 * Makefile.am (EXTRA_DIST_CONF): distribute new mtab_linux.c. 2138 2139 * conf/mtab/mtab_linux.c (rewrite_mtab): variable declarations 2140 must come before C code. 2141 2142 * conf/mtab/mtab_linux.c: Linux-specific mount table hanlding 2143 that's safe (uses locks, handles symlinks to /proc/mounts, etc.). 2144 Patch from Red Hat, which they adapted from mtab_file.c. Minor 2145 fixes to this file. 2146 2147 * m4/macros/check_mnttab_style.m4: Use Linux-specific mount table 2148 handling. 2149 21502005-06-24 Erez Zadok <ezk@cs.sunysb.edu> 2151 2152 * conf/mount/mount_aix.c (mount_aix3): minor cleanup of filehandle 2153 copying code. 2154 21552005-06-23 Erez Zadok <ezk@cs.sunysb.edu> 2156 2157 * conf/nfs_prot/nfs_prot_hpux.h: add extern for h_errno, which may 2158 be missing from older hpux10 systems. 2159 2160 * configure.in: update bug-reporting address to list 2161 https://bugzilla.am-utils.org/ as well as the mailing list. 2162 2163 * Makefile.am (EXTRA_DIST_M4): distribute new type_rpcvers_t.m4 2164 macro. 2165 2166 * conf/transp/transp_tli.c (get_nfs_version): always use 2167 rpcvers_t, now that it'll be automatically discovered. 2168 2169 * configure.in: check for rpcvers_t type. 2170 2171 * m4/macros/type_rpcvers_t.m4: new macro to check for type of 2172 rpcvers_t (Some Solaris versions need it). 2173 2174 * conf/nfs_prot/nfs_prot_sunos5_8.h: don't define INADDR_NONE 2175 here, but in the actual source files that may need it. 2176 2177 * libamu/wire.c (INADDR_NONE): define INADDR_NONE if not defined 2178 already. 2179 2180 * include/am_defs.h: define extern for sleep(3) if needed. 2181 2182 * m4/macros/header_templates.m4: template for sleep(3) extern. 2183 2184 * configure.in: check for extern for sleep(3), which is missing 2185 from some old (and buggy) versions of gcc's fixinc'ed headers. 2186 2187 * conf/nfs_prot/nfs_prot_aix4_3.h: update definition of struct 2188 nfs_args from actual system headers. 2189 2190 * conf/mount/mount_aix.c (mount_aix3): fix name of aix4 "bis" 2191 structure. 2192 21932005-06-22 Erez Zadok <ezk@cs.sunysb.edu> 2194 2195 * BUGS: update Solaris information about use of f/lex and 2196 yacc/bison. 2197 21982005-06-20 Erez Zadok <ezk@cs.sunysb.edu> 2199 2200 * minor new port: i386-pc-linux-suse9.3. 2201 22022005-06-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 2203 2204 * configure.in (linux/nfs_mount.h): Move __KERNEL__ definition up 2205 so u32 is available for <linux/sunrpc/msg_prot.h>. 2206 22072005-06-16 Erez Zadok <ezk@cs.sunysb.edu> 2208 2209 * amd/mapc.c (maptypes): move MAP_EXEC after MAP_FILE, because 2210 exec maps will always match when users use amd with command line 2211 args (not amd.conf). Using that legacy way, unfortunately, means 2212 that Amd will use it's hard-coded info-service search path, which 2213 doesn't work for everyone. It's much better to use amd.conf and 2214 specify what you want exactly. 2215 22162005-06-15 Erez Zadok <ezk@cs.sunysb.edu> 2217 2218 * minor new port: i386-pc-linux-fc4 (gcc4 catches more bugs). 2219 2220 * m4/macros/type_recvfrom_fromlen.m4: linux systems use unsigned 2221 int as the type of recvfrom()'s 6th argument. 2222 2223 * m4/macros/type_yp_order_outorder.m4: linux systems use unsigned 2224 int as the type of yp_order()'s 3rd argument. 2225 22262005-06-15 Erez Zadok <ezk@cs.sunysb.edu> 2227 2228 * scripts/amd.conf-sample (map_type): typo, said mount_type 2229 instead of map_type for the 'exec' example. 2230 22312005-06-11 Erez Zadok <ezk@cs.sunysb.edu> 2232 2233 ******************************************************************* 2234 *** Released am-utils-6.1 *** 2235 ******************************************************************* 2236 22372005-06-04 Erez Zadok <ezk@cs.sunysb.edu> 2238 2239 * amd/ops_nfs.c (mount_nfs_fh): set timeo/retrans mount options 2240 only if the user specified them in amd.conf or elsewhere. If they 2241 were not specified, don't do anything, which would let the OS use 2242 its own defaults. 2243 2244 * amd/get_args.c (get_args): negative timeo/retrans are "good" in 2245 that they represent uninitialized values (meaning to let the OS 2246 use it's default values). So only check if user specified a value 2247 equal to zero (invalid). 2248 2249 * amd/amd.h: define AMU_TYPE_NONE so we know when users didn't 2250 specify timeo/retrans at all. 2251 22522005-06-03 Erez Zadok <ezk@cs.sunysb.edu> 2253 2254 ******************************************************************* 2255 *** Released am-utils-6.1-rc7 *** 2256 ******************************************************************* 2257 2258 * m4/macros/os_cflags.m4 (CFLAGS): use custom-OS C flags for 2259 configuring, not just for building. That way the two phases 2260 (configure and compile) are in sync. This fixes getwire() on 2261 OSF/1 systems. 2262 2263 * conf/nfs_prot/nfs_prot_sunos5_8.h: define INADDR_NONE if not 2264 defined in system headers. 2265 22662005-06-01 Erez Zadok <ezk@cs.sunysb.edu> 2267 2268 * libamu/Makefile.am (EXTRA_DIST): remove alloca.c as it's no 2269 longer needed. 2270 22712005-05-28 Erez Zadok <ezk@cs.sunysb.edu> 2272 2273 * completed set of fixes for irix6.5. 2274 2275 * Minor new ports alpha-unknown-linux-gentoo1.4.16 2276 alphaev56-dec-osf4.0f, mips-unknown-linux-gentoo1.4.16, and 2277 sparc64-unknown-linux-gentoo1.4.16, and mips-sgi-irix6.5. Test 2278 those systems with both cc and gcc, where possible. 2279 2280 * include/am_xdr_func.h: remove trailing comma at end of enum 2281 list. 2282 2283 * m4/macros/os_cflags.m4: with gcc 3.4.3 on irix-6.5, we get pte_t 2284 undefined. So give it a dummy value. 2285 2286 * libamu/alloca.c: remove file from distro. 2287 2288 * configure.in: don't call AC_FUNC_ALLOCA any more. 2289 2290 * include/am_defs.h: remove header fixups for <alloca.h>, now that 2291 we don't need it. 2292 2293 * amd/amq_svc.c (amqsvc_is_client_allowed): rewrite function to 2294 avoid only use of alloca() in am-utils, and to use strdup 2295 explicitly. This way we can avoid using alloca, a feature that's 2296 not portable on various systems. 2297 2298 * amq/amq.c: remove unused lint/rcsid cruft. 2299 23002005-05-27 Erez Zadok <ezk@cs.sunysb.edu> 2301 2302 * conf/checkmount/checkmount_osf.c (fixmount_check_mount): add 2303 extra parentheses around assignments in "if" expressions (gcc 2304 complains). 2305 2306 * conf/nfs_prot/nfs_prot_osf4.h: add missing extern definitions 2307 for plock, hstrerror, getmntinfo, alloca, xdr_exportnode, and 2308 xdr_groups. 2309 2310 * configure.in: check for <linux/socket.h>, which, if found, 2311 appears to be preferable to <sys/socket.h>. Use it to find 2312 <linux/nfs_mount.h>. On some Linux systems 2313 (Gentoo), both exist but only one must be included, or else you 2314 get redefined structure errors. 2315 2316 * libamu/wire.c (is_network_member): check if masknum is 2317 INADDR_NONE, not "< 0" because it's an unsigned quantity. 2318 2319 * libamu/util.c (xstrlcpy): remove useless test for size_t < 0, 2320 because it's an unsigned quantity. 2321 23222005-05-26 Erez Zadok <ezk@cs.sunysb.edu> 2323 2324 ******************************************************************* 2325 *** Released am-utils-6.1-rc6 *** 2326 ******************************************************************* 2327 23282005-05-25 Erez Zadok <ezk@cs.sunysb.edu> 2329 2330 * conf/nfs_prot/nfs_prot_aix5_2.h: AIX 5.3 complains about 2331 missing definition of struct thread_credentials in <sys/vfs.h> 2332 but trying to bring that definition in drags a whole lot of other 2333 messy stuff. So just provide a dummy definition for this 2334 structure. 2335 23362005-05-24 Erez Zadok <ezk@cs.sunysb.edu> 2337 2338 * Makefile.am (EXTRA_DIST_M4): distribute m4/macros/libtool.m4. 2339 2340 * m4/macros/header_templates.m4: template for HAVE_EXTERN_MNTCTL. 2341 2342 * m4/macros/check_extern.m4: include <sys/vmount.h> on AIX 2343 systems, so we can find extern definition for mntctl(). 2344 2345 * conf/mtab/mtab_aix.c, conf/checkmount/checkmount_aix.c: only 2346 define an extern for mntctl() if needed. 2347 2348 * amd/ops_nfs.c (prime_nfs_fhandle_cache): never, ever, use C++ 2349 style comments in C code. Some C compilers don't accept it. 2350 2351 * amd/info_ldap.c (amu_ldap_init, get_ldap_timestamp): force cast 2352 of "time_t *ts" to u_long, to avoid complaints on AIX 5.2 with 2353 xlC. 2354 2355 * amd/get_args.c: rename symbol conf_file to amu_conf_file to 2356 avoid conflict with libldap.a from openldap-2.0.21 on AIX 5.2. 2357 Oh, when will people who develop libraries learn to always prefix 2358 their exported symbols with a library-specific name? 2359 2360 * configure.in: check for mntctl() extern on AIX systems. 2361 2362 * ltmain.sh: update from latest libtool-1.5.18, so we can properly 2363 build on AIX 5.2/5.3 with cc and with gcc. 2364 2365 * m4/macros/libtool.m4: update from latest libtool-1.5.18. This 2366 time, and from now on, we must include libtool.m4 from the libtool 2367 distribution itself. That way we ensure that we use an ltmain.sh 2368 that matches the appropriate libtool M4 macros. This makes 2369 am-utils no longer dependent on having libtool installed on a 2370 given system on which you run bootstrap. 2371 23722005-05-23 Erez Zadok <ezk@cs.sunysb.edu> 2373 2374 * minor new port: i386-pc-linux-deb3.0. 2375 23762005-05-22 Erez Zadok <ezk@cs.sunysb.edu> 2377 2378 * minor new ports: i386-unknown-netbsdelf2.0.2 and 2379 i386-unknown-openbsd3.7. 2380 23812005-05-20 Erez Zadok <ezk@cs.sunysb.edu> 2382 2383 * minor new ports: i386-pc-linux-gentoo1.4.16 and 2384 powerpc-unknown-linux-yellowdog2.3. 2385 2386 * include/{mount_headers2.h, am_defs.h}: safer setup before 2387 inclusion of <linux/nfs_mount.h>, which is broken on several 2388 systems. 2389 2390 * configure.in: test for <linux/nfs2.h>. Separate special test 2391 for <linux/nfs_mount.h> because we need to define __KERNEL__ for 2392 that test, as well as optionally define struct nfs2_fh for some 2393 systems (gentoo with 2.4 kernel, yellowdog 2.3, and others). 2394 2395 * config.guess.long: support Gentoo and Yellow Dog Linux distros. 2396 23972005-05-18 Erez Zadok <ezk@cs.sunysb.edu> 2398 2399 * minor new ports: i386-pc-linux-suse9.2 and 2400 i386-unknown-freebsd5.4. 2401 2402 * amd/nfs_subr.c: use NFS_FHSIZE, not FHSIZE. 2403 24042005-05-17 Erez Zadok <ezk@cs.sunysb.edu> 2405 2406 ******************************************************************* 2407 *** Released am-utils-6.1-rc5 *** 2408 ******************************************************************* 2409 2410 * amd/info_ldap.c (amu_ldap_init): change plog to dlog, to avoid 2411 sending annoying warning for a minor issue. 2412 24132005-05-17 Ion Badulescu <ionut@moisil.badula.org> 2414 2415 * amd/nfs_subr.c: check for NULL pointer before dereferencing it. 2416 24172005-05-16 Erez Zadok <ezk@cs.sunysb.edu> 2418 2419 * minor new ports: powerpc-apple-darwin7.9.0. 2420 2421 * m4/macros/host_macros.m4: if a NetBSD system, remove 'elf' part 2422 from OS name because it's no longer relevant. Also, don't include 2423 the major OS version number in the OS name because that's also 2424 unnecessary (and users can always use $osver in maps). 2425 2426 * amd/nfs_subr.c: use [1] for out-of-band pointer at the end of 2427 struct am_fh, because it's the most portable method. Bug fix 2428 suggestion from Dan Riley <dsr at mail.lns.cornell.edu>. Better 2429 fix from Ion Badulescu: use [FHSIZE-sizeof(u_int)] which is the 2430 actual size we use. 2431 2432 * amd/amfs_generic.c (amfs_lookup_mntfs): reset currently used 2433 def_opts to options given in -opts, appended with the /default 2434 options. Bug fix suggestion from Dan Riley <dsr at 2435 mail.lns.cornell.edu>. 2436 24372005-05-13 Erez Zadok <ezk@cs.sunysb.edu> 2438 2439 ******************************************************************* 2440 *** Released am-utils-6.1-rc4 *** 2441 ******************************************************************* 2442 24432005-05-11 Daniel P. Ottavio <dottavio@ic.sunysb.edu> 2444 2445 * amd/amd.c (main) : fixed memory leak detected by valgrind 2446 2447 * amd/info_ldap.c (amu_ldap_init) : fixed memory leak detected by 2448 valgrind 2449 24502005-05-11 Erez Zadok <ezk@cs.sunysb.edu> 2451 2452 * m4/macros/{check_checkmount_style.m4, check_mnttab_style.m4, 2453 check_nfs_fh_dref.m4, check_nfs_prot_headers.m4, 2454 check_nfs_sa_dref.m4, check_umount_style.m4, os_cflags.m4}: check 2455 for "macosx" as valid OS string, so we compile properly on Darwin 2456 systems. 2457 2458 ******************************************************************* 2459 *** Released am-utils-6.1-rc3 *** 2460 ******************************************************************* 2461 2462 * rerun bootstrap to get a working configure script that actually 2463 checks for limits.h and dependent linux autofs/nfs headers. 2464 2465 * configure.in: remove redundant check for limits.h. 2466 24672005-05-09 Erez Zadok <ezk@cs.sunysb.edu> 2468 2469 ******************************************************************* 2470 *** Released am-utils-6.1-rc2 *** 2471 ******************************************************************* 2472 24732005-05-08 Erez Zadok <ezk@cs.sunysb.edu> 2474 2475 * amd/amfs_generic.c (amfs_lookup_mntfs): removed redundant use of 2476 old_def_opts variable. 2477 24782005-05-08 Daniel P. Ottavio <dottavio@ic.sunysb.edu> 2479 2480 * amd/amfs_generic.c (amfs_lookup_mntfs) : Make sure when a map 2481 entry has a single dash '-', that the default options are reset. 2482 This functionality was somehow lost from earlier releases and 2483 reported by Dan Riley <dsr@mail.lns.cornell.edu>. 2484 24852005-05-05 Erez Zadok <ezk@cs.sunysb.edu> 2486 2487 * config.guess.long: detect SuSE Enterprise Server and call it 2488 "sles" not "suse". 2489 24902005-05-02 Erez Zadok <ezk@cs.sunysb.edu> 2491 2492 * doc/am-utils.texi (amd): document proper use of 2493 /etc/hosts.allow. Don't spawn a new Amd process because Amd will 2494 get confused if someone else waitpid's on its children (which 2495 often do important un/mount work). Issue reported by Francis 2496 Montagnac <Francis.Montagnac at sophia.inria.fr>. 2497 2498 * minor new ports: powerpc64-unknown-linux-rhel4, and 2499 powerpc64-unknown-linux-sles9. 2500 25012005-05-01 Daniel P. Ottavio <dottavio@ic.sunysb.edu> 2502 2503 * amd/amfs_host.c (amfs_host_umount): We do not want to pass 2504 ENOENT as an error because if the directory does not exists our 2505 work is done anyway. 2506 2507 * conf/umount/umount_linux.c (umount_fs): If we are successful or 2508 there was an ENOENT, remove the mount entry from the mtab file. 2509 25102005-05-01 Ion Badulescu <ionut@moisil.badula.org> 2511 2512 * amd/nfs_subr.c: am_fh definition moved here from amd.h; 2513 restructured to better reflect its duality (old/new filehandles) 2514 (fh_to_mp3): fhh_gen is always used, even for new style f/h 2515 (mp_to_fh): ditto 2516 2517 * amd/amd.h: moved am_fh definition to nfs_subr.c (which is the 2518 only place where it's used) 2519 25202005-04-30 Erez Zadok <ezk@cs.sunysb.edu> 2521 2522 * m4/macros/host_macros.m4: use sw_vers on Apple machines to find 2523 out more appropriate OS name (macosx) and OS version (10.3.x) than 2524 uname(3) reports. 2525 25262005-04-29 Erez Zadok <ezk@cs.sunysb.edu> 2527 2528 * config.guess, config.sub, doc/texinfo.tex: updates from latest 2529 official GNU distributions. 2530 2531 * m4/macros/host_macros.m4: for macosx, change architecture value 2532 from "Power Macintosh" to "powerpc". 2533 2534 * libamu/util.c (xstrlcpy): format 'len' parameter as u_long, not 2535 int (it's a size_t). 2536 25372005-04-16 Erez Zadok <ezk@cs.sunysb.edu> 2538 2539 * scripts/amd.conf.5, doc/am-utils.texi (normalize_slashes 2540 Parameter), scripts/amd.conf-sample: document new 2541 normalize_slashes global configuration parameter. 2542 2543 * amd/opts.c (deslashify, normalize_slash): don't touch trailing 2544 slashes, even if multiples of them, if user said 2545 normalize_slashes=no in amd.conf. 2546 2547 * amd/conf.c (gopt_normalize_slashes): new function to record if 2548 to normalize slashes or not. 2549 2550 * amd/amd.h (CFM_NORMALIZE_SLASHES): new flag to decide if to 2551 normalize double-slashes or not ("yes" by default). 2552 2553 * amd/autil.c (am_mounted): pass TRUE when calling mf_mounted. 2554 This is the parent mntfs which does the mf->mf_fo 2555 (am_opts type), and we're passing TRUE here to tell mf_mounted to 2556 actually free the am_opts. 2557 2558 * amd/autil.c (mf_mounted): Be careful when calling free_ops and 2559 XFREE here. Some pseudo file systems like nfsx call this 2560 function, even though it would be called by the lower-level amd 2561 file system functions. nfsx needs to call this function because 2562 of the other actions it takes. So we pass a boolean from the 2563 caller (yes, not so clean workaround) to determine if we should 2564 free or not. If we're not freeing (often because we're called 2565 from a callback function), then just to be sure, we'll zero out 2566 the am_opts structure and set the pointer to NULL. The parent 2567 mntfs node owns this memory and is going to free it with a call to 2568 mf_mounted(mntfs,TRUE). 2569 2570 * amd/amd.h: pass flag to mf_mounted, to free or not to free the 2571 am_opts. 2572 2573 * amd/amfs_nfsx.c (amfs_nfsx_cont): call mf_mounted with FALSE to 2574 tell it not to free the am_opts, to avoid double free. 2575 2576 * include/am_defs.h: include limits.h if found. 2577 2578 * configure.in: check for limits.h. Check for certain Linux 2579 headers such as auto_fs.h after checking for limits.h, and include 2580 the latter if it exists, because some Linux headers depend on 2581 limits.h. This prevents warnings during configure time. 2582 25832005-04-12 Erez Zadok <ezk@cs.sunysb.edu> 2584 2585 * amd/amfs_toplvl.c (amfs_toplvl_mount): do NOT set retrans/timeo 2586 values from default global UDP settings, because it can cause 2587 unexpected timeouts in Amd on slow systems. The default that each 2588 OS provides for these toplvl NFS mounts should be OK, or else you 2589 can use the map_options entry. 2590 25912005-04-09 Daniel P. Ottavio <dottavio@ic.sunysb.edu> 2592 2593 * amd/nfs_subr.c (mp_to_fh): Replace xstrlcpy with memcpy because the 2594 source buffer is treated more as a filehandle than a string. 2595 2596 * amd/nfs_subr.c (fh_to_mp3): Replace xstrlcpy with memcpy because the 2597 source buffer is treated more as a filehandle than a string. 2598 2599 * amd/opts.c (free_op): No longer need to assign pointer to NULL 2600 after XFREE. 2601 2602 * amd/opts.c (expand_op): Revert back to using strncpy() instead 2603 of xstrlcpy. The code is correct and relies on the semantics of 2604 strncpy. 2605 2606 * libamu/mount_fs.c (compute_nfs_args): Leave XXX warning that use 2607 of xstrlcpy in NFS_HN_DREF may corrupt a struct nfs_args, or 2608 truncate our concocted "hostname:/path" string prematurely if the 2609 nap->hostname field is ever less than 64 bytes long 2610 (MAXHOSTNAMELEN). 2611 2612 * libamu/util.c (xstrlcpy): Return immediately if len is 0 to 2613 avoid unnecessary work. Log an error and return if len is less 2614 than 0. 2615 26162005-04-07 Erez Zadok <ezk@cs.sunysb.edu> 2617 2618 * include/am_utils.h (XFREE): XFREE() should nullify the pointer 2619 even when compiling without debugging. It's safer this way. 2620 2621 * libamu/xutil.c (am_set_hostname), 2622 hlfsd/stubs.c (nfsproc_lookup_2_svc), 2623 fsinfo/fsinfo.c (fsi_get_args), 2624 fixmount/fixmount.c (is_same_host, remove_mount, main), 2625 conf/mtab/mtab_isc3.c (mnt_dup, mtab_of), 2626 conf/mount/mount_svr4.c (mount_svr4), 2627 conf/mount/mount_linux.c (setup_loop_device), 2628 conf/hn_dref/hn_dref_linux.h (NFS_HN_DREF), 2629 conf/hn_dref/hn_dref_isc3.h (NFS_HN_DREF), 2630 amd/opts.c (expand_op), 2631 amd/ops_nfs.c (mount_nfs_fh), 2632 amd/nfs_subr.c (fh_to_mp3, mp_to_fh), 2633 amd/amfs_host.c (amfs_host_mount), 2634 amd/am_ops.c (merge_opts): 2635 use the new xstrlcpy instead of strncpy. 2636 2637 * conf/checkmount/checkmount_{default,svr4}.c 2638 (fixmount_check_mount): document why NOT to use xstrlcpy. 2639 2640 * libamu/xutil.c: am_hostname need not be MAXHOSTNAMELEN+1 any 2641 more, just MAXHOSTNAMELEN. 2642 2643 * libamu/xutil.c (real_plog): use strlcpy (not xstrlcpy to avoid 2644 recursion, since xstrlcpy may use plog). 2645 2646 * libamu/util.c (xstrlcpy): truncating a string is serious. Use 2647 XLOG_ERROR not XLOG_WARNING. 2648 26492005-04-06 Erez Zadok <ezk@cs.sunysb.edu> 2650 2651 * include/am_utils.h: external definition for new xstrlcpy 2652 function. 2653 2654 * libamu/util.c (xstrlcpy): new function. Similar to strncpy, but 2655 uses strlcpy to guarantee that the resulting string is null 2656 terminated, and also warn if the resulting string was truncated. 2657 2658 * libamu/xutil.c (get_server_pid): move this function from util.c 2659 which is for general-purpose utilities. 2660 2661 * m4/macros/header_templates.m4: template for HAVE_EXTERN_STRLCPY. 2662 2663 * include/am_defs.h: provide extern definition for strlcpy, if 2664 needed. 2665 2666 * libamu/Makefile.am (EXTRA_DIST): include strlcpy.c in distro. 2667 2668 * configure.in: search for strlcpy and its extern. 2669 2670 * amq/pawd.c (find_mt): It only handles *some* filesystem types, 2671 so it breaks on direct xfs mounts for example. The fix (from 2672 Christos Zoulas) is simple: We need to exclude toplvl to avoid 2673 infinite recursion, but all other fs's are game. 2674 26752005-03-31 Erez Zadok <ezk@cs.sunysb.edu> 2676 2677 * amd/nfs_subr.c (fh_to_mp3): strncpy may not null terminate if 2678 copying exactly len bytes, so add null just to be safe. 2679 26802005-03-30 Daniel P. Ottavio <dottavio@ic.sunysb.edu> 2681 2682 * amd/nfs_subr.c (fh_to_mp3): Increased the n of strncpy() 2683 to make sure it null terminates. 2684 26852005-03-29 Daniel P. Ottavio <dottavio@ic.sunysb.edu> 2686 2687 * amd/nfs_subr.c (fh_to_mp3): Fix memset bug. In this case 2688 the memset can be removed because strncpy() should padd the 2689 buffer with NULLs anyway. 2690 26912005-03-21 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 2692 2693 * include/am_defs.h: Clarify comment. 2694 26952005-03-21 Erez Zadok <ezk@cs.sunysb.edu> 2696 2697 * include/am_defs.h: undefine "GROUP" so Solaris 10 with gcc-2.96 2698 won't complain about a conflict for this definition between 2699 <rpcsvc/nis.h> and <sys/acl.h>. 2700 27012005-03-20 Erez Zadok <ezk@cs.sunysb.edu> 2702 2703 * amd/readdir.c (amfs_readdir_browsable): use %p, not %lx. 2704 2705 * libamu/mount_fs.c (print_nfs_args): print pointer with %p, not 2706 %lx. 2707 27082005-03-18 Erez Zadok <ezk@cs.sunysb.edu> 2709 2710 ******************************************************************* 2711 *** Released am-utils-6.1-rc1 *** 2712 ******************************************************************* 2713 27142005-03-18 Erez Zadok <ezk@cs.sunysb.edu> 2715 2716 * conf/transp/transp_tli.c (get_nfs_version): use proper type for 2717 versout on Solaris (rpcvcers_t). 2718 2719 * amd/mapc.c (mapc_showtypes): if last map type to print, don't 2720 append newline or comma to it. 2721 2722 * libamu/mount_fs.c (print_nfs_args): cast struct netbuf pointer 2723 to %lx because on Solaris 10 sparc gcc-3.4.3 complains about 2724 casting it to an int (size is different). 2725 2726 * configure.in, NEWS: prepare for 6.1-rc1 release. 2727 27282005-03-17 Erez Zadok <ezk@cs.sunysb.edu> 2729 2730 * scripts/amd2ldif.in, ldap.schema: fixes by Adam Morley 2731 <adam-at-gmi-dot-com> to synchronize what amd2ldif does vs. what 2732 the ldap.schema expects. 2733 2734 * amd/map.c (exported_ap_free): We're using a free-list data 2735 structure and re-using malloc'ed objects. So, to be safe, memset 2736 entire structure when it's freed, not just the pointer. 2737 (umount_exported): bug fix to on-exit code. Don't run 2738 am_unmounted() unless unmount_mp() didn't run, since the latter 2739 already calls am_unmounted(). This way we avoid a double-free 2740 bug. 2741 27422005-03-15 Erez Zadok <ezk@cs.sunysb.edu> 2743 2744 * tasks: updates. Executable maps is supported. NFSv4 and 2745 FreeBSD autofs isn't. 2746 2747 * Makefile.am (EXTRA_DIST): include FAQ in distro. 2748 2749 * doc/Makefile.am (alldocs): install README.lda and README.osx. 2750 2751 * FAQ: new file, better late than never. 2752 27532005-03-14 Erez Zadok <ezk@cs.sunysb.edu> 2754 2755 * scripts/amd2ldif.in: patch to add the amdMapName attribute to 2756 the amdMapTimestamp object when amd2ldif converts it. This is 2757 necessary if you are using type:=auto mounts and want those 2758 mountmaps looked up through LDAP. Patch from Jim Zajkowski 2759 <jim.zajkowski@gmail.com>. 2760 27612005-03-12 Erez Zadok <ezk@cs.sunysb.edu> 2762 2763 * minor new ports: i386-pc-linux-rhel4. 2764 2765 * minor new ports: powerpc-apple-darwin7.8.0. 2766 27672005-03-10 Erez Zadok <ezk@cs.sunysb.edu> 2768 2769 * amd/ops_nfs.c (prime_nfs_fhandle_cache): rearrange code so it's 2770 cleaner. 2771 2772 * ltmain.sh: upgrade from libtool-1.5.6. 2773 2774 * m4/macros/check_{fs_mntent,mnttab_type,mount_type}.m4: check for 2775 Linux 2.6 kernel modules, which have a .ko extension, not .o. Now 2776 we can properly detect which file systems exist on Linux 2.6 based 2777 systems (SLES9, RHEL4, Fedora, etc.). 2778 27792005-03-09 Erez Zadok <ezk@cs.sunysb.edu> 2780 2781 * m4/macros/host_macros.m4: find out what's the OS software 2782 distribution name, if any. 2783 2784 * m4/macros/header_templates.m4: template for DISTRO_NAME. 2785 2786 * amd/get_args.c (get_version_string): print again full_os, os, 2787 osver, and vendor (bug fix). 2788 (get_version_string): print distribution name, if known (e.g., 2789 rh9, suse8, etc.). 2790 2791 * amd/mapc.c (mapc_showtypes): wrap around list of supported map. 2792 27932005-03-08 Erez Zadok <ezk@cs.sunysb.edu> 2794 2795 * amd/map.c (umount_exported): when unmounting file systems on 2796 exit (when amd.conf global unmount_on_exit=yes), use unmount_mp() 2797 instead of unmount_node() because the latter always unmounts in 2798 the foreground, whereas the former unmounts in the bg/fg as 2799 needed. Unmounting always in the foreground has two problems: (1) 2800 if the unmount hangs, amd hangs, and (2) for type:=program, the 2801 unmount script is execve'd(!) thus replacing the main amd process, 2802 which never gets to finish up, leaving the amd mount points hung. 2803 2804 * NEWS: mention new feature of executable maps. 2805 2806 * AUTHORS: Acknowledge Erik Kline. 2807 2808 * scripts/amd.conf.5: document executable maps and 2809 exec_map_timeout parameter. 2810 2811 * scripts/amd.conf-sample: examples of an executable map and 2812 exec_map_timeout. 2813 2814 * m4/macros/header_templates.m4: template for HAVE_MAP_EXEC. 2815 2816 * doc/am-utils.texi: document Executable maps and exec_map_timeout 2817 parameter. 2818 2819 * amd/conf.c (gopt_exec_map_timeout): function to parse 2820 exec_map_timeout [global] parameter. 2821 2822 * amd/amd.h (AMFS_EXEC_MAP_TIMEOUT): define default executable map 2823 timeout to 10 seconds, and a global placeholder for the 2824 configurable value. 2825 2826 * amd/amd.c (init_global_options): initialize default executable 2827 map timeout. 2828 2829 * amd/Makefile.am (EXTRA_amd_SOURCES): include info_exec.c in 2830 tarball. 2831 2832 * configure.in: enable executable maps. 2833 2834 * amd/mapc.c: define executable map functions and behavior. 2835 2836 * amd/info_exec.c: executable map implementation from Erik Kline 2837 <ekline at ekline dot com>, modified, cleaned-up, and fixed. 2838 28392005-03-07 Erez Zadok <ezk@cs.sunysb.edu> 2840 2841 * amd/info_file.c (file_init_or_mtime): consolidate identical 2842 file_init and file_mtime into one function. 2843 28442005-03-05 Erez Zadok <ezk@cs.sunysb.edu> 2845 2846 * doc/am-utils.texi (Program Filesystem): if umount/unmount are 2847 not specified, Amd uses "umount ${fs}" by default. 2848 2849 * amd/amfs_program.c (amfs_program_match): if neither unmount nor 2850 umount parameters are specified, use the default userland umount 2851 program with "umount ${fs}". This way type:=program doesn't have 2852 to specify the umount program for basic unmounting actions. 2853 (amfs_program_init): save unmount program string in mf_private 2854 only if it's NULL, not based on mf_refc. 2855 2856 * configure.in: auto-detect name of userland unmount program. 2857 2858 * aux_conf.h.in (UNMOUNT_PROGRAM): macro for default userland 2859 unmount program. 2860 2861 * amd/ops_cachefs.c (cachefs_init): save unmount program string in 2862 mf_private only if it's NULL, not based on mf_refc. 2863 2864 * configure.in: don't "discover" inheritance file system any more, 2865 since we don't have the .c file for it. 2866 2867 * amd/get_args.c (get_version_string): hack to still show that we 2868 support the inherit file system in output of amd -v. 2869 28702005-03-05 Ion Badulescu <ionut@moisil.badula.org> 2871 2872 * amd/amfs_inherit.c: removed, dead code 2873 2874 * amd/Makefile.am, 2875 amd/am_ops.c, 2876 amd/amd.h, 2877 conf/autofs/autofs_linux.h, 2878 conf/autofs/autofs_solaris_v1.h, 2879 conf/autofs/autofs_solaris_v2_v3.h, 2880 m4/macros/header_templates.m4: removed references to amfs_inherit.c 2881 28822005-03-05 Erez Zadok <ezk@cs.sunysb.edu> 2883 2884 * amd/autil.c (am_mounted): completely rewrite the unmount 2885 no/timeout code to (1) make more sense for odd conditions, and (2) 2886 allow utimeout=N mount options to override FS_NOTIMEOUT default 2887 flags for disk-based file systems such as ufs, pcfs, cdfs, etc. 2888 2889 * libamu/mount_fs.c (mount_fs): use safer XFREE() not free(). 2890 2891 * conf/umount/umount_linux.c (umount_fs): strtok is destructive, 2892 so use strdup'ed string. 2893 2894 * conf/mount/mount_linux.c (parse_opts): strtok is destructive, so 2895 use strdup'ed string. 2896 28972005-03-04 Erez Zadok <ezk@cs.sunysb.edu> 2898 2899 * scripts/amd.conf.5, doc/am-utils.texi (cache_duration 2900 Parameter): clarify actual behavior: this Parameter affects 2901 initial mount timeout as well as the linear backoff what happens 2902 the initial failed EBUSY unmount. 2903 2904 * doc/am-utils.texi (opts Option): better explanation of 2905 utimeout=N mount pseudo-option. 2906 2907 * amd/amd.h (AM_TTL, AM_TTL_W): better comments, minor cleanup. 2908 29092005-03-02 Daniel P. Ottavio <dottavio@ic.sunysb.edu> 2910 2911 * AUTHORS: add Dan Ottavio. 2912 2913 * scripts/amd.conf.5: document new debug_mtab_file option. 2914 2915 * scripts/amd.conf-sample (debug_mtab_file): show example. 2916 2917 * doc/am-utils.texi (debug_mtab_file Parameter): document new 2918 option. 2919 2920 * conf/mtab/mtab_{file,mach3}.c (open_locked_mtab): if mtab file 2921 doesn't exist by the time Amd tries to exist, return a 0 rather 2922 than hang indefinitely. 2923 2924 * amd/conf.c (gopt_debug_mtab_file): new function to parse 2925 debug_mtab_file option. 2926 2927 * amd/amd.h: placeholder for debug_mtab_file string. 2928 Define default debug_mtab_file to "/tmp/mtab". 2929 2930 * NEWS: document new debug_mtab_file option. 2931 29322005-03-02 Erez Zadok <ezk@cs.sunysb.edu> 2933 2934 * conf/transp/transp_{sockets,tli}.c (amu_get_myaddress): when 2935 users want Amd's NFS service to bind to some arbitrary "localhost" 2936 address, show which address was actually resolved and bound to. 2937 29382005-03-01 Erez Zadok <ezk@cs.sunysb.edu> 2939 2940 * amd/srvr_nfs.c (start_nfs_pings): move code from elsewhere 2941 (update_nfs_pingval) that initializes the pinger, as well as turns 2942 it on/off as needed, and handles changing its value. This is to 2943 avoid races and other infinite-loop conditions that could result 2944 in ping storms. 2945 2946 * amd/srvr_amfs_auto.c (amfs_generic_find_srvr): when creating a 2947 new file server structure, default the ping value to AM_PINGER 2948 (30sec) and set the FSF_PING_UNINIT flag. 2949 2950 * amd/amd.h (FSF_PING_UNINIT): new flag to tell whether the NFS 2951 pinger had been initialized for a given file server. 2952 2953 * scripts/ctl-amd.in (stop): no need to check if 2954 /var/lock/subsys/amd file exists if you do an rm -f afterward. 2955 Ensure that proper return value is returned from script. 2956 2957 * NEWS, doc/am-utils.texi (opts Option): update meaning of ping=N 2958 so that if N=-1, pings are off; if N=0, pings are set to the 2959 default value (currently 30 seconds). 2960 29612005-02-28 Erez Zadok <ezk@cs.sunysb.edu> 2962 2963 * amd/nfs_prot_svc.c (nfs_program_2): on TLI system, try to call 2964 __rpc_get_local_uid to verify if the RPC call through the 2965 local host interface came from UID 0. 2966 2967 * configure.in: look for internal libnsl function 2968 __rpc_get_local_uid (seems to be available on all known TLI 2969 systems, Solaris and HP-UX 11). 2970 2971 * conf/transp/transp_tli.c (amu_svc_getcaller): unnecessary 2972 function for TLI systems (and it violated a array's bounds, 2973 discovered with libumem.so). 2974 (bind_resv_port, bind_resv_port_only_udp, get_autofs_address): 2975 just to be on the safe side, set struct t_bind's qlen field to non 2976 zero (64 by default). This value cannot be zero for TCP 2977 connections, and it's unclear if it's good to have it zero for UDP 2978 connections, so setting it to 64 is safer. 2979 29802005-02-27 Erez Zadok <ezk@cs.sunysb.edu> 2981 2982 * doc/am-utils.texi (opts Option, Keep-alives): update text on 2983 ping option. 2984 2985 * amd/srvr_nfs.c (update_nfs_pingval): new function to update NFS 2986 server ping values, turn them off, or re-enable them. 2987 (find_nfs_srvr): call update_nfs_pingval() as needed. 2988 2989 * hlfsd/hlfsd.c (reaper, cleanup): don't use exit(3) in a signal 2990 handler, but use _exit(2) instead. 2991 2992 * amd/amd.c (parent_exit): This signal handler is called during 2993 Amd initialization. The parent forks a child to do all the hard 2994 automounting work, and waits for a SIGQUIT signal from the child. 2995 When the parent gets the signal it's supposed to call this handler 2996 and exit(3), thus completing the daemonizing process. Alas, on 2997 some systems, especially Linux 2.4/2.6 with Glibc, exit(3) doesn't 2998 always terminate the parent process. Worse, the parent process 2999 now refuses to accept any more SIGQUIT signals -- they are 3000 blocked. What's really annoying is that this doesn't happen all 3001 the time, suggesting a race condition somewhere. 3002 (This happens even if I change the logic to use another signal.) 3003 I traced this to something which exit(3) does in addition to 3004 exiting the process, probably some atexit() stuff or other 3005 side-effects related to signal handling. Either way, since at 3006 this stage the parent process just needs to terminate, I'm simply 3007 calling _exit(2). Note also that the OpenGroup doesn't list 3008 exit(3) as a recommended "Base Interface" but they do list 3009 _exit(2) as one. This fix seems to work reliably all the time. 3010 3011 * scripts/wait4amd2die.in: change default to recognize that amd is 3012 down more quickly (check every 3 seconds instead of 5). 3013 30142005-02-26 Erez Zadok <ezk@cs.sunysb.edu> 3015 3016 * libamu/xutil.c (amu_release_controlling_tty): warn if closing 3017 stdin/stdout/stderr failed. No need for tempfd. 3018 3019 * scripts/ctl-{amd,hlfsd}.in: before running any real program in 3020 these shell scripts, chdir to "/" to avoid possible hangs with 3021 existing NFS mounts. This was causing ctl-amd's forked 3022 grand-child amd process to hang if restartable_mounts=no. Go 3023 figure. 3024 30252005-02-25 Erez Zadok <ezk@cs.sunysb.edu> 3026 3027 * minor new port ia64-unknown-linux-rhel4 3028 3029 * fsinfo/fsi_util.c (set_ether_if): avoid u_long casting to -1 3030 (RHEL4 gcc 3.4.3 ia64 compiler complains). 3031 30322005-02-24 Erez Zadok <ezk@cs.sunysb.edu> 3033 3034 * minor new port i386-unknown-freebsd6.0 (6.0-CURRENT-SNAP001). 3035 30362005-02-23 Erez Zadok <ezk@cs.sunysb.edu> 3037 3038 * minor new port: i386-pc-linux-rhel3. 3039 3040 * INSTALL: major update of the compatibility list. 3041 3042 * m4/macros/os_cflags.m4: set AMU_CFLAGS not AM_CFLAGS. 3043 30442005-02-22 Erez Zadok <ezk@cs.sunysb.edu> 3045 3046 * scripts/amd.conf.5, doc/am-utils.texi (preferred_amq_port): 3047 document new preferred_amq_port [global] option. 3048 3049 * scripts/amd.conf-sample (preferred_amq_port): example. 3050 3051 * include/am_utils.h: add preferred_amq_port to prototype. 3052 3053 * conf/transp/transp_tli.c (bind_preferred_amq_port): new function 3054 to bind the Amq RPC service for UDP and TCP to a preferred port 3055 (or to any port if preferred_amq_port==0). 3056 (create_amq_service): decide if to bind to RPC_ANYFD, or to a 3057 requested port. 3058 3059 * conf/transp/transp_sockets.c (create_amq_service): if 3060 preferred_amq_port is greater than 0, then bind to that port for 3061 both UDP and TCP. If preferred_amq_port==0, then bind to any 3062 port. 3063 3064 * amd/nfs_start.c (mount_automounter): pass global 3065 preferred_amq_port value to create_amq_service(). 3066 3067 * amd/conf.c (gopt_preferred_amq_port): new function to parse 3068 amd.conf value for preferred_amq_port. 3069 3070 * amd/amd.h: placeholder for preferred_amq_port. 3071 30722005-02-21 Erez Zadok <ezk@cs.sunysb.edu> 3073 3074 * conf/transp/transp_tli.c (bind_resv_port_only_udp): rename old 3075 bindnfs_port to a more proper name. This function binds the NFS 3076 service to a specified port, and only for UDP. 3077 3078 * conf/transp/transp_tli.c: cleanup some code, rename some 3079 functions, in preparation for RPC amq port specification code. 3080 30812005-02-19 Erez Zadok <ezk@cs.sunysb.edu> 3082 3083 * */Makefile.am: don't redefine CFLAGS or LDFLAGS; they are 3084 reserved for users to pass them on the command line. Instead, use 3085 autoconf's internal AM_CFLAGS and AM_LDFLAGS. 3086 3087 * depcomp, install-sh, missing, mkinstalldirs: update from latest 3088 versions of Automake 1.9.2. 3089 3090 * m4/macros/*.m4: properly quote AC_DEFUN'ed macro name, and fix 3091 regexp/patsubst M4 commands. Newer versions of autoconf (e.g., 3092 v2.59) complain about those. 3093 30942005-02-17 Erez Zadok <ezk@cs.sunysb.edu> 3095 3096 * amd/opts.c (f_xhost): if we don't have hstrerror, just print the 3097 value of h_errno. 3098 3099 * configure.in: include -lresolv if it defines the hstrerror() 3100 function and not already available in existing libraries. 3101 3102 * minor new port: powerpc-apple-darwin7.7.0. 3103 3104 * amd/nfs_subr.c (mp_to_fh): pathlen should be u_int because it is 3105 later compared against an unsigned quantity (complaint from gcc 3106 3.3 on SuSE 8.2) 3107 3108 * include/am_utils.h: remove unnecessary (and conflicting) extern 3109 for bind_resv_port2(), which is declared as static in 3110 transp_tli.c. 3111 3112 * doc/am-utils.texi, scripts/amd.conf.5, scripts/amd.conf-sample, 3113 NEWS: document four new amd.conf options: nfs_retry_interval_udp, 3114 nfs_retransmit_counter_udp nfs_retry_interval_tcp, and 3115 nfs_retransmit_counter_tcp. 3116 3117 * amd/ops_nfs.c (mount_nfs_fh): set timeo/retrans values based on 3118 wether nfs_proto was "udp" or "tcp". 3119 3120 * amd/amfs_toplvl.c (amfs_toplvl_mount): set retrans/timeo values 3121 from default UDP settings (because toplvl mounts are UDP for now). 3122 3123 * amd/get_args.c (get_args): use parameters to -t option to set 3124 both UDP and TCP timeo/retrans values. 3125 3126 * amd/conf.c: (gopt_nfs_retransmit_counter_udp, 3127 (gopt_nfs_retransmit_counter_tcp, gopt_nfs_retry_interval_udp 3128 (gopt_nfs_retry_interval_tcp): new functions to parse UDP and TCP 3129 retrans/timeo parameters separately. 3130 (gopt_nfs_retry_interval, gopt_nfs_retransmit_counter): if 3131 specified, use it to set defaults for both UDP and TCP. 3132 3133 * amd/amd.c (init_global_options): initialize default values of 3134 both UDP and TCP retrans/timeo values to -1. 3135 3136 * amd/amd.h (AMU_TYPE_{TCP,UDP,MAX}): define separate retrans and 3137 timeo values, one for udp mounts and another for tcp mounts. 3138 31392005-02-16 Erez Zadok <ezk@cs.sunysb.edu> 3140 3141 * README.osx: new file with some instructions for Mac OS-X users, 3142 courtesy Kevin Layer. 3143 3144 * amd/get_args.c (get_args): move call to switch_to_logfile() 3145 after processing -v, so we don't print "no logfile defined; using 3146 stderr" when we're about to print version info and exit anyway. 3147 3148 * minor new port: powerpc-ibm-aix5.3.0.0. 3149 3150 * hlfsd/hlfsd.c (main): rewrite code to avoid negative array 3151 references. 3152 3153 * conf/checkmount/checkmount_aix.c: remove extern definition for 3154 mntctl(), since AIX 5.3 has it in <sys/vmount.h>. 3155 3156 * amd/info_union.c (union_reload): rewrite code to avoid negative 3157 array references. 3158 3159 * amd/opts.c (split_opts, expand_op): rewrite code to avoid 3160 negative array references. 3161 3162 * conf/mtab/mtab_aix.c: remove extern definition for mntctl(), 3163 since AIX 5.3 has it in <sys/vmount.h>. 3164 3165 * libamu/xutil.c (real_plog): rewrite code to avoid negative array 3166 references. 3167 3168 * libamu/wire.c (is_network_member): rearrange code slightly to 3169 avoid negative array references (AIX 5.3 xlC 7.0 compiler 3170 complains about it). 3171 31722005-01-26 Erez Zadok <ezk@cs.sunysb.edu> 3173 3174 * doc/am-utils.texi (xhost Selector Function): document new 3175 selector function. 3176 3177 * amd/opts.c (f_xhost): new function for use when matching the 3178 "host" selector for the current host's name. This function will 3179 now match the primary host name as well as all known aliases 3180 (CNAMES) that gethostbyname() returns. This function now supports 3181 a new function selector called xhost(ARG); the old host==ARG 3182 selector is unharmed. 3183 31842005-01-17 Ion Badulescu <ionut@moisil.badula.org> 3185 3186 * NEWS: document the ability to restart old mount points 3187 3188 * amd/map.c (mount_auto_node): force the fileid of the 3189 root to be 1, so that it won't change between restarts; use the 3190 root filesystem's own methods instead of hard-coding the use of 3191 the default methods 3192 3193 * conf/transp/transp_tli.c (create_nfs_service): better cleanup on 3194 error conditions. 3195 (bind_resv_port2): allow the caller to request a certain port. 3196 3197 * conf/transp/transp_sockets.c (bind_resv_port): allow the caller 3198 to request a certain port. 3199 (create_nfs_service): better cleanup on error conditions. 3200 3201 * amd/restart.c (restart_automounter_nodes): new function, takes 3202 care of restarting automounter NFS mount points (autofs will come 3203 later). 3204 (restart): skip all automounter mount points. 3205 3206 * amd/nfs_subr.c (fh_to_mp3, mp_to_fh): new filehandle 3207 implementation: if the path to the node is shorter than sizeof(fh) 3208 chars (currently 32 chars for a NFSv2 fh), simply store it inside 3209 the fh. For longer paths, keep the old implementation. 3210 3211 * amd/nfs_start.c (mount_automounter): reorder things so that 3212 restarting the toplvl filesystems occurs before anything else (so 3213 that we can grab all the ports we need before we accidentally use 3214 them for something else). 3215 3216 * amd/mntfs.c (locate_mntfs): remove dead code; add special 3217 handling of restarted toplvl filesystems. 3218 3219 * amd/mapc.c (root_keyiter): fix up a comment. 3220 3221 * amd/map.c (path_to_exported_ap): new function, searches for and 3222 returns a node by the path to it. 3223 (get_root_nfs_fh): remove unnecessary fiddling with the root fh. 3224 3225 * config.guess.long: support Red Hat Enterprise Linux 3226 32272005-01-17 Erez Zadok <ezk@cs.sunysb.edu> 3228 3229 * libamu/util.c (rmdirs): prevent amd from logging 'Read-only 3230 filesystem' errors when the mount point has an ancestor (i.e. '/') 3231 that is mounted read-only. Patch from David Rage <rage@ucl.ac.uk>. 3232 32332005-01-17 Ion Badulescu <ionut@moisil.badula.org> 3234 3235 * conf/umount/umount_linux.c (umount_fs): Linux doesn't need the 3236 autofs space hack 3237 3238 * conf/umount/umount_default.c (umount_fs): there is no need for 3239 HAVE_LOOP_DEV, now that Linux has its own dedicated umount_linux.c 3240 32412005-01-17 Erez Zadok <ezk@cs.sunysb.edu> 3242 3243 * doc/am-utils.texi (Automatic Unmounting): document new umount2() 3244 behavior on Linux. 3245 3246 * conf/umount/umount_linux.c (umount_fs): new file. On Linux, if 3247 umount(2) failed with EIO or ESTALE, try umount2(2) with 3248 MNT_FORCE+MNT_DETACH. Based on patch from Christos Zoulas 3249 <christos@zoulas.com>. 3250 3251 * m4/macros/check_umount_style.m4: pick new linux umount style. 3252 3253 * Makefile.am (EXTRA_DIST_CONF): distribute new umount_linux.c 3254 file. 3255 32562005-01-16 Erez Zadok <ezk@cs.sunysb.edu> 3257 3258 * conf/nfs_prot/nfs_prot_aix{4_2,4_3,5_1,5_2}.h, 3259 m4/macros/struct_nfs_args.m4: minor cleanups for quicker execution 3260 of "nfs_args" test. 3261 32622005-01-13 Erez Zadok <ezk@cs.sunysb.edu> 3263 3264 * amd/get_args.c (show_usage): separate function to print usage 3265 string. 3266 (get_args) Call show_usage() from get_args when needed, then exit. 3267 3268 * amd/get_args.c (get_version_string): print also domain, host, 3269 and hostd. 3270 (get_args): print version string at the very end, after all other 3271 values had been initialized. Patch from Christos Zoulas 3272 <christos@zoulas.com>. 3273 3274 * conf/transp/transp_sockets.c (check_pmap_up, get_nfs_version), 3275 conf/transp/transp_tli.c (check_pmap_up): correct an inconsistency 3276 in timeouts in the RPC code between socket and TLI 3277 implementations. The clntudp_create timeout has a different 3278 meaning than the clnt_call timeout. Set the timeout of the create 3279 to 2 seconds which means retry if no answer in two seconds, and 3280 the timeout call to 6 seconds, which will give us consistently 2 3281 to 3 pings. This is useful on occasional network UDP loss where a 3282 single packet loss would wrongfully mark a server down. (The TLI 3283 code is the one that had the problem occurs.) Patch from Christos 3284 Zoulas <christos@zoulas.com>. 3285 3286 * libamu/mount_fs.c (compute_nfs_attrcache_flags): make sure code 3287 compiles even for systems that don't have the nfs_args 3288 ac{reg,dir}{min,max} fields. 3289 3290 * amd/amfs_toplvl.c (set_auto_attrcache_timeout): just to be safe, 3291 add "noac" if amd.conf option auto_attrcache was set to 0. This 3292 should hopefully make the compute_nfs_attrcache_flags patch even 3293 safer. 3294 3295 * libamu/mount_fs.c (compute_nfs_attrcache_flags): separate 3296 function to compute attribute-cache values. This function now 3297 computes attribute-cache flags for BOTH Amd's automount points 3298 (NFS) as well as any normal NFS mount that Amd performs. 3299 (compute_nfs_args, compute_automounter_nfs_args): call 3300 compute_nfs_attrcache_flags to figure out attribute-cache related 3301 flags. Patch from Christos Zoulas <christos@zoulas.com>. 3302 3303 * scripts/amd.conf-sample: show examples of new global options 3304 domain_strip and auto_attrcache. 3305 3306 * scripts/amd.conf.5: document new global options domain_strip and 3307 auto_attrcache. Add warning to auto_attrcache use in case of 3308 ESTALE. 3309 3310 * doc/am-utils.texi: minor cleanups and document new global 3311 options domain_strip and auto_attrcache. Add warning to 3312 auto_attrcache use in case of ESTALE. 3313 3314 * amd/conf.c (gopt_auto_attrcache): parse new global amd.conf 3315 option auto_attrcache. 3316 (gopt_domain_strip): parse new global amd.conf option 3317 domain_strip. Part of a patch from Christos Zoulas 3318 <christos@zoulas.com>. 3319 3320 * amd/autil.c (host_normalize): don't call domain_strip() 3321 unconditionally, but depend on the new global amd.conf flag 3322 domain_strip. 3323 3324 * amd/amfs_toplvl.c (set_auto_attrcache_timeout): new function to 3325 set attribute cache timeout value given other configured global 3326 defaults. 3327 (amfs_toplvl_mount): set automount point attribute cache option 3328 value to "noac" if attrcache=0, else set it to whatever 3329 set_auto_attrcache_timeout() returns. 3330 3331 * amd/amd.h (CFM_DOMAIN_STRIP, CFM_DEFAULT_FLAGS): flag to decide 3332 if to strip the domain from the host name or not, default options 3333 set to strip the domain. 3334 Store global value of automount attribute cache timeout value. 3335 3336 * amd/amd.c (init_global_options): add flag to record automount 3337 point attribute cache value. 3338 3339 * amd/amd.c (do_memory_locking): new function to encapsulate all 3340 of the memory-locking functionality, which was in main() before. 3341 Also added a call to madvise(), just in case. 3342 (main): call do_memory_locking() to pin process memory if amd.conf 3343 asked for it, but do so after the main Amd process daemonizes, 3344 because mlock/mlockall is not inherited by fork() by default. 3345 Slightly restructured patch from Jonathan Chen 3346 <jon+amd@spock.org>. 3347 3348 * configure.in: check for madvise(2). 3349 3350 * config.guess, config.sub: updates for latest official GNU 3351 versions. 3352 3353 * m4/GNUmakefile: update paths to "make update" 3354 33552005-01-12 Erez Zadok <ezk@cs.sunysb.edu> 3356 3357 * conf/nfs_prot/nfs_prot_hpux11.h: define an nfs_fh3 structure 3358 that's compatible for HPUX11 as well as NFSv3. 3359 3360 * include/am_defs.h: On AIX 5.2, both <resolv.h> and 3361 <arpa/nameser_compat.h> define MAXDNAME, if compiling with gcc 3362 -D_USE_IRS (so that we get extern definitions for hstrerror() and 3363 others). So undef MAXDNAME before it gets redefined. 3364 3365 * include/am_defs.h: Solaris 10 (build 72) defines GROUP_OBJ in 3366 <sys/acl.h>, which is included in many other header files. 3367 <rpcsvc/nis.h> uses GROUP_OBJ inside enum zotypes. So if you're 3368 unlucky enough to include both headers, you get a compile error 3369 because the two symbols conflict. Temp hack: undefine acl.h's 3370 GROUP_OBJ before including nis.h, because we don't need acl.h for 3371 am-utils. 3372 3373 * m4/macros/os_cflags.m4: turn -D_USE_IRS for AIX5+ so that 3374 certain extern definitions of resolver functions become available. 3375 3376 * amd/opts.c (expand_op): use #define for expand_error string 3377 because some compilers complain about the use of static const 3378 char[] inside a varargs function. 3379 3380 * minor new port i386-unknown-netbsdelf1.6.2. 3381 3382 * new port i386-unknown-netbsdelf2.0. 3383 3384 * minor port i386-unknown-freebsd5.3. 3385 3386 * libamu/mount_fs.c (compute_nfs_args): don't compare 3387 nap->maxgrouplist against NULL but against 0 directly, because on 3388 FreeBSD 4.3, NULL is defined is (void *)0 and gcc 3.4 complains 3389 about a type mismatch. 3390 3391 * minor port i386-pc-linux-fc3 (Fedora Core 3). 3392 33932005-01-11 Erez Zadok <ezk@cs.sunysb.edu> 3394 3395 * hlfsd/hlfsd.c (main): use sigsuspend() over sigpause(), because 3396 FC3 doesn't have proper extern definition for the defunct 3397 sigpause(). 3398 3399 * configure.in: look for sigsuspend(). 3400 34012005-01-01 Erez Zadok <ezk@cs.sunysb.edu> 3402 3403 * updated copyright year to 2005 on all files. 3404 34052004-11-29 Erez Zadok <ezk@cs.sunysb.edu> 3406 3407 * scripts/amd.conf.5: Small fixes to typos in man page, from 3408 Thomas Klausner <tk@giga.or.at>. 3409 34102004-10-22 Erez Zadok <ezk@cs.sunysb.edu> 3411 3412 * ldap.schema: add this file to distribution. 3413 34142004-09-15 Erez Zadok <ezk@cs.sunysb.edu> 3415 3416 * doc/am-utils.texi: fix old URLs. 3417 34182004-09-01 Erez Zadok <ezk@cs.sunysb.edu> 3419 3420 * conf/mtab/mtab_aix.c (read_mtab): avoid a race condition between 3421 multiple calls to mntctl(). Patch suggested by Michael van Elst 3422 <M.van.Elst@science-computing.de>. 3423 34242004-08-07 Erez Zadok <ezk@cs.sunysb.edu> 3425 3426 * doc/am-utils.texi (Program Filesystem): document how to get 3427 double slashes in Amd maps. 3428 3429 * amd/opts.c (normalize_slash): support escaped slashes, needed 3430 for SMB mounts. Use '\\\/\\\/' in a string to get a double slash. 3431 34322004-08-06 Erez Zadok <ezk@cs.sunysb.edu> 3433 3434 * amd/amfs_program.c (amfs_program_match): bug fix. Complain if 3435 both opt_unmount and opt_umount are missing, not when just one of 3436 them is missing. 3437 34382004-08-03 Erez Zadok <ezk@cs.sunysb.edu> 3439 3440 * amq/pawd.c (find_mt): recognize "linkx" type mounts. Patch from 3441 Hauke Fath <hauke@Espresso.Rhein-Neckar.DE>. Support "nfsx" while 3442 we're at it. 3443 3444 * doc/am-utils.texi: mention bugzilla. Fix broken URL HREF's. 3445 34462004-08-02 Erez Zadok <ezk@cs.sunysb.edu> 3447 3448 * amq/pawd.c (find_mt): recognize "host" type mounts. Patch from 3449 Dan Nelson <dnelson@allantgroup.com>. 3450 34512004-07-30 Erez Zadok <ezk@cs.sunysb.edu> 3452 3453 * doc/am-utils.texi, NEWS: minor typos fixed. 3454 34552004-07-30 Erez Zadok <ezk@play.cs.columbia.edu> 3456 3457 * include/am_xdr_func.h: cannot have field-less structure; put a 3458 dummy field in. 3459 3460 * conf/autofs/autofs_solaris_v2_v3.c (xdr_autofs_rddirargs): cast 3461 2nd arg of xdr_u_int to a u_int*, not int*. 3462 (autofs_mount_2_req): don't use C++ // comments. 3463 34642004-07-30 Erez Zadok <ezk@cs.sunysb.edu> 3465 3466 * m4/macros/{try_compile_anyfs,check_field}.m4: include 3467 <fs/msdosfs/msdosfsmount.h> if it exists. Part of a set of 3468 FreeBSD 5 patches from Martin Blapp <mb@imp.ch>. 3469 3470 * include/am_defs.h: include <fs/msdosfs/msdosfsmount.h> if it 3471 exists. 3472 3473 * amd/ops_pcfs.c (mount_pcfs): set pcfs_args_t.dirmask field to 3474 0777 by default. 3475 3476 * configure.in: check for pcfs_args_t.dirmask field. Check for 3477 existence of <fs/msdosfs/msdosfsmount.h>, new on FreeBSD 5. 3478 34792004-07-29 Erez Zadok <ezk@cs.sunysb.edu> 3480 3481 * minor new port: i386-pc-linux-fc2 (Fedora Core 2). 3482 3483 * amd/info_ldap.c (amu_ldap_rebind): don't use ldap_enable_cache() 3484 unless the function exists in libldap and the extern is in 3485 <ldap.h>. Recently, openldap removed the extern from ldap.h, but 3486 left the function in libldap, for binary compatibility; however 3487 ldap_enable_cache and related functions have been deprecated (and 3488 no longer listed in the header files), and therefore should be 3489 avoided. 3490 3491 * m4/macros/check_extern_ldap.m4: new macro to check for 3492 LDAP-specific externs. This is separate from check_extern.m4 so 3493 as to avoid breaking the general-purpose macro with LDAP-specific 3494 headers. 3495 3496 * m4/macros/header_templates.m4: extern template for new 3497 HAVE_EXTERN_LDAP_ENABLE_CACHE. 3498 3499 * configure.in: call new check_extern_ldap.m4 macro. 3500 3501 * Makefile.am (EXTRA_DIST_M4): distribute new check_extern_ldap.m4 3502 macro. 3503 3504 * config.guess.long: distinguish between redhat and fedora-core 3505 releases. 3506 35072004-07-23 Erez Zadok <ezk@cs.sunysb.edu> 3508 3509 * Minor new port i386-pc-linux-suse8.2: minor new port to SuSE 3510 8.2. This systems' latest GCC (gcc version 3.3 20030226 3511 prerelease) correctly caught a lot of possibly bad comparisons 3512 between signed and unsigned quantities. 3513 3514 * hlfsd/homedir.c (table_add, plt_search): changed first arg of 3515 both functions to u_int. 3516 3517 * hlfsd/hlfsd.h, hlfsd/hlfsd.c: change 'cache_interval' to u_int. 3518 Changed proto for plt_search arg to u_int. 3519 3520 * amq/amq.c (show_mi, main): change 'i' to u_int. 3521 3522 * amq/pawd.c (find_mlp): change 'i' to u_int. 3523 3524 * amd/srvr_nfs.c (find_nfs_srvr): change proto_nfs_version to 3525 u_int. 3526 3527 * amd/amd.h: change prototype of vreaddir and amfs_error_readdir 3528 to use u_int count parameter. 3529 3530 * amd/ops_TEMPLATE.c (foofs_readdir), amd/amfs_error.c 3531 (amfs_error_readdir): change 'count' parameter in proto to u_int. 3532 3533 * amd/amd.h: change proto of amfs_generic_readdir() to use u_int 3534 count parameter. 3535 3536 * amd/readdir.c (make_entry_chain): preflen should be u_int. 3537 (amfs_readdir_browsable): change 'count' to u_int. 3538 (amfs_generic_readdir): change 'count' to u_int. 3539 3540 * amd/amd.h: amu_global_options's portmap_program field should be 3541 u_long, not int (to match RPC conventions). Change am_fh's 3542 fhh_gen field to u_int, to match am_gen field in struct am_node. 3543 3544 * amd/conf.c (gopt_portmap_program): use atol() instead of atoi() 3545 to avoid size differences. 3546 3547 * conf/mount/mount_linux.c (find_unused_loop_device): cast to int 3548 to avoid comparison between chars and integers. 3549 3550 * libamu/mount_fs.c (get_hex_string): change 'i' to u_int to avoid 3551 comparisons between signed and unsigned integers. 3552 35532004-07-13 Erez Zadok <ezk@cs.sunysb.edu> 3554 3555 * minor new port: i386-pc-linux-suse9.1. 3556 3557 * include/am_defs.h: don't use __kernel_dev_t for dev_t on Linux, 3558 because SuSE wants __kernel_old_dev_t. Instead, just define it 3559 directly to what they both use: an unsigned short. 3560 35612004-05-27 Erez Zadok <ezk@cs.sunysb.edu> 3562 3563 * minor new port: i386-unknown-freebsd4.10 3564 35652004-04-29 Ion Badulescu <ionut@moisil.badula.org> 3566 3567 * amd/amfs_generic.c (amfs_lookup_one_mntfs): fix the creation of 3568 mountpoints for autofs-based sublinks the right way 3569 35702004-04-28 Ion Badulescu <ionut@moisil.badula.org> 3571 3572 Fixes for various memory management problems discovered by 3573 Rainer's purify run: 3574 3575 * conf/transp/transp_tli.c (check_pmap_up): zero out struct 3576 timeval before using; 3577 (get_nfs_version): ditto 3578 3579 * amd/map.c (umount_exported): make sure we don't try to free the 3580 same am_node multiple times, by setting its corresponding 3581 exported_ap slot to null 3582 3583 * amd/get_args.c (get_version_string): a static pointer is pretty 3584 pointless, make it automatic 3585 3586 * amd/conf.c (gopt_debug_options): remove unnecessary strdup(); 3587 (gopt_log_options): ditto 3588 (gopt_print_version): free version string after using it 3589 3590 * amd/autil.c (mf_mounted): free mntfs->mf_fo instead of leaking 3591 it 3592 3593 * amd/amfs_generic.c (amfs_lookup_one_mntfs): use the CALLOC macro 3594 (amfs_lookup_mntfs): free def_opts on return 3595 3596 * amd/amd.c (daemon_mode): zero out struct sigaction before using 3597 it; 3598 (main): ditto 3599 36002004-04-27 Ion Badulescu <ionut@moisil.badula.org> 3601 3602 * amd/amfs_generic.c (amfs_lookup_one_mntfs): force FS_MKMNT on 3603 the real mount of an autofs-based sublink 3604 36052004-04-25 Ion Badulescu <ionut@moisil.badula.org> 3606 3607 * amd/map.c (free_map_if_success): avoid dereferencing a pointer 3608 to potentially freed memory 3609 36102004-02-26 Erez Zadok <ezk@cs.sunysb.edu> 3611 3612 * minor new port: i386-unknown-freebsd5.2.1. 3613 36142004-01-30 Ion Badulescu <ion@guppy.limebrokerage.com> 3615 3616 * scripts/ctl-hlfsd.in: don't run hlfsd with -D fork 3617 36182004-01-25 Erez Zadok <ezk@cs.sunysb.edu> 3619 3620 * minor new port: sparc64-unknown-linux-deb3.0 3621 3622 * config.guess.long: recoognize Debian Linux. 3623 36242004-01-22 Erez Zadok <ezk@cs.sunysb.edu> 3625 3626 * conf/transp/transp_tli.c (amu_get_myaddress): use 3627 htonl(INADDR_LOOPBACK) and define INADDR_LOOPBACK if not already 3628 available. 3629 36302004-01-21 Erez Zadok <ezk@cs.sunysb.edu> 3631 3632 * wire-test/wire-test.c, hlfsd/hlfsd.c (main): pass NULL as second 3633 parameter to amu_get_myaddress(). 3634 3635 * conf/transp/transp_tli.c (amu_get_myaddress): resolve value of 3636 localhost_address amd.conf parameter, if defined (else default to 3637 HOST_SELF_CONNECT). 3638 Removed htonl() around socket address copying (I think it was 3639 wrong) since plog("My IP address is...") in amd.c was printing 3640 addresses wrong on Solaris x86.. 3641 3642 * conf/transp/transp_sockets.c (amu_get_myaddress): comment out 3643 old DEBUG code that warns if 127.0.0.1 isn't the same as what 3644 get_myaddress() reports. Add code to resolve value of 3645 localhost_address amd.conf parameter, if defined (else default to 3646 127.0.0.1). 3647 3648 * amd/conf.c (gopt_localhost_address): new function to parse 3649 amd.conf parameter localhost_address. 3650 3651 * amd/amd.h: global field to store amd.conf localhost_address 3652 parameter. 3653 3654 * amd/amd.c (main): call amu_get_myaddress with global option, 3655 which could have been set in amd.conf. 3656 3657 * NEWS, doc/am-utils.texi, scripts/amd.conf-sample, 3658 scripts/amd.conf.5: document new option localhost_address. 3659 36602004-01-20 Ion Badulescu <ionut@moisil.badula.org> 3661 3662 * amd/conf.c (gopt_nfs_allow_insecure_port): support function for 3663 the new "nfs_allow_insecure_port" amd.conf directive 3664 3665 * amd/nfs_prot_svc.c (nfs_program_2): complain about the insecure 3666 port and drop the request only if the "nfs_allow_insecure_port" 3667 option is not set in amd.conf 3668 3669 * doc/am-utils.texi (Global Parameters): documented the new 3670 amd.conf directive "nfs_allow_insecure_port" 3671 3672 * scripts/amd.conf.5 (nfs_allow_insecure_port): ditto 3673 3674 * scripts/amd.conf-sample (nfs_allow_insecure_port): added the 3675 "nfs_allow_insecure_port" directive 3676 36772004-01-20 Erez Zadok <ezk@cs.sunysb.edu> 3678 3679 * doc/am-utils.texi: amd-workers is defunct. 3680 36812004-01-19 Erez Zadok <ezk@cs.sunysb.edu> 3682 3683 * cvs-server.txt: updated instructions 3684 36852004-01-18 Erez Zadok <ezk@cs.sunysb.edu> 3686 3687 * minor new port: i386-unknown-freebsd5.2. 3688 36892004-01-05 Erez Zadok <ezk@cs.sunysb.edu> 3690 3691 * MIRRORS.{txt,html}: verify each mirror site, update to new 3692 locations (if found), and remove stale mirrors URLs. 3693 3694 * updated copyright year to 2004 on all files. 3695 36962004-01-03 Erez Zadok <ezk@cs.sunysb.edu> 3697 3698 * MIRRORS.txt: track status. 3699 3700 * Makefile.am (install-snapshot): new directory to install 3701 snapshots (now that am-utils home page is moved). 3702 37032004-01-02 Erez Zadok <ezk@cs.sunysb.edu> 3704 3705 * INSTALL, README.autofs: remove forced text-mode. 3706 3707 * doc/am-utils.texi: fix Amd book URL. 3708 3709 * Makefile.am (EXTRA_DIST): include new mirror files in tarball. 3710 3711 * AUTHORS, BUGS, README, README.y2k, configure.in, 3712 doc/am-utils.texi: revisions to use newer URLs for Web site, FTP, 3713 and mailing lists. 3714 3715 * MIRRORS.{html,txt}: updates. 3716 3717 * doc/Makefile.am: install mirror lists officially. 3718 37192004-01-01 Erez Zadok <ezk@cs.sunysb.edu> 3720 3721 * tasks: things to do after migrating ftp/Web sites. 3722 37232003-12-09 Erez Zadok <ezk@cs.sunysb.edu> 3724 3725 * fsinfo/fsinfo.8: fixed typo (unbalanced []) in man page. Bug 3726 report from Eric S. Raymond <esr@thyrsus.com>. 3727 37282003-11-18 Erez Zadok <ezk@cs.sunysb.edu> 3729 3730 * Makefile.am (EXTRA_DIST_M4): exclude removed file 3731 m4/macros/struct_nfs_fh3.m4 from distro. 3732 37332003-10-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 3734 3735 * libamu/xdr_func.c (xdr_am_nfs_fh3): Use AM_FHSIZE3 instead of 3736 FHSIZE3 (may be undefined). 3737 37382003-10-24 Ion Badulescu <ion@guppy.limebrokerage.com> 3739 3740 Compile fix for Solaris7 with LDAP: 3741 3742 * include/am_defs.h: moved the ldap headers before am_nfs_prot.h 3743 to facilitate using ldap types in it 3744 3745 * conf/nfs_prot/nfs_prot_sunos5_7.h: add a couple of ldap 3746 definitions that Sun left out of their headers 3747 37482003-10-24 Ion Badulescu <ionut@moisil.badula.org> 3749 3750 * conf/nfs_prot/nfs_prot_*.h: remove all NFSv3-related 3751 definitions, they are now defined globally 3752 3753 * libamu/xdr_func.c: unconditionally define all xdr functions 3754 needed for NFSv3, but with an am_ prefix to prevent namespace 3755 collisions 3756 3757 * amd/amfs_host.c, amd/ops_nfs.c, amd/srvr_nfs.c, 3758 libamu/mount_fs.c: added the am_ prefix to all 3759 structures and functions having to do with NFSv3 to prevent 3760 namespace collisions 3761 3762 * include/am_utils.h: moved definition of am_nfs_handle to ... 3763 3764 * include/am_xdr_func.h: ... here. Also define AM_FHSIZE3, 3765 am_nfs_fh3, AM_NFSPROC3_LOOKUP, am_nfsstat3, am_fhandle3, 3766 am_mountstat3, am_mountres3_ok, am_mountres3, am_filename3, 3767 am_diropargs3, am_LOOKUP3args, am_LOOKUP3resok, am_LOOKUP3resfail, 3768 am_LOOKUP3res here; remove cross-platform compile helper macros 3769 AMU_LOOKUP3RES_*. 3770 3771 * include/am_defs.h: include am_xdr_func.h before am_utils.h to 3772 provide definitions for NFS filehandles 3773 3774 * amd/amd.h: removed declaration for xdr_mountres3 3775 3776 * doc/am-utils.text: minor warning fix 3777 3778 * BUGS: document the autoconf warnings when trying to compile 3779 system header files in isolation 3780 37812003-10-23 Ion Badulescu <ionut@moisil.badula.org> 3782 3783 * m4/macros/struct_nfs_fh3.m4: removed, not needed 3784 3785 * configure.in: check if struct mounta has the optptr field; 3786 removed all NFSv3-related checks, we implement everything 3787 internally now 3788 3789 * conf/autofs/autofs_solaris_v2_v3.c (autofs_mount_2_free): don't 3790 touch mnt->optptr unless HAVE_MOUNTA_OPTPTR is defined 3791 37922003-10-22 Ion Badulescu <ionut@moisil.badula.org> 3793 3794 * m4/macros/struct_nfs_fh3.m4: removed, not used anymore 3795 3796 * libamu/xdr_func.c (xdr_am_nfs_fh3): update xdr_am_nfs_fh3 3797 comments 3798 3799 * configure.in: don't check for xdr_nfs_fh3 and struct nfs_fh3, we 3800 always use our own 3801 38022003-10-22 Ion Badulescu <ion@guppy.limebrokerage.com> 3803 3804 * BUGS: document the limitations of bind mounts on Linux 3805 38062003-10-21 Ion Badulescu <ionut@moisil.badula.org> 3807 3808 * buildall: added support for -i (make install) 3809 38102003-10-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 3811 3812 * NEWS: New minor port i386-pc-solaris2.10 (Solaris 10). 3813 * INSTALL: Mention its test status. 3814 38152003-10-16 Erez Zadok <ezk@cs.sunysb.edu> 3816 3817 * amd/ops_nfs.c (nfs_init): declare as static to match forward 3818 definition at top of file. 3819 3820 * conf/nfs_prot/nfs_prot_{hpux11, netbsd1_4,openbsd,aix5_2}.h: 3821 added missing definitions for LOOKUP3res, diropargs3, etc. 3822 38232003-10-15 Erez Zadok <ezk@cs.sunysb.edu> 3824 3825 * libamu/xdr_func.c (xdr_LOOKUP3res, xdr_am_nfs_fh3), 3826 libamu/mount_fs.c (compute_nfs_args), amd/ops_nfs.c 3827 (got_nfs_fh_mount, got_nfs_fh_webnfs, prime_nfs_fhandle_cache, 3828 webnfs_lookup), amd/amfs_host.c (fetch_fhandle): Attempt to 3829 cleanup some inconsistencies with how we treat NFSv3 file handles. 3830 Whenever we need to get data out of a filehandle given to us, we 3831 assume that it uses the OS's native fhandle structure 3832 (often struct nfs_fh3). When we store the fhandle data for our 3833 own use, however, we store it in one of two ways. The first, is 3834 that we use the system's default nfs_fh3 structure; the second is 3835 that we define out own struct am_nfs_fh3 in nfs_prot.h (and go 3836 through an elaborate autoconf song-and-dance to "discover" it as a 3837 native fh3 handle structure). It appears that we do the latter, 3838 instead of using the system's default fhandle structure, simply to 3839 avoid extra malloc's and free's, because whereas nfsv2's fhandle 3840 structure is a simple 32-byte buffer, nfsv3's fhandle structures 3841 often just define a "char *" for the fhandle data, and the caller 3842 must malloc/free the space inside as needed. Our code was never 3843 written with constructor/destructor callbacks for these nfsv3 3844 filehandles. Moreover, we carefully wrote our own am_nfs_fh3 3845 structure so IT JUST SO HAPPENS to align with most (hopefully all) 3846 of the fhandle structures for v3: first four bytes are the length 3847 fields and the next four bytes are the fhandle data. Sigh. 3848 Having this inconsistent use of v3 filehandles can be a real bear, 3849 because we simply cannot avoid using the system's default fhandle 3850 structure indirectly, through things like diropargs3 in 3851 xdr_diropargs3(), which has inside of it a reference to the 3852 system's default nfs_fh3 structure. ANYWAY, the current fix I've 3853 come up with is to generalize the way we dereference field names 3854 within the nfs_fh3 structure (whether ours or the system's) and 3855 the same for the system's LOOKUP3res structure. I'm not pleased 3856 with this fix; I'd rather we don't use our own am_nfs_fh3 3857 structure at all. 3858 3859 * libamu/xdr_func.c (xdr_am_nfs_fh3): always define this 3860 function if we have NFS3, because we often use our own, 3861 incompatible am_nfs_fh3 structure. 3862 3863 * include/am_xdr_func.h: We cannot use the native system's 3864 xdr_nfs_fh3 because we are defining our own incompatible 3865 am_hfs_fh3 structure for some systems. 3866 3867 * include/am_xdr_func.h: Define default values for field names of 3868 struct nfs_fh3 and LOOKUP3res. 3869 3870 * doc/am-utils.texi (debug_options Parameter): minor typo fixed. 3871 3872 * conf/nfs_prot/nfs_prot_freebsd3.h: FreeBSD uses different fields 3873 names for struct nfs_fh3 and LOOKUP3res, so override the default 3874 names here. 3875 3876 * configure.in: AMU_CHECK_FS_MNTENT(nfs3) test before 3877 AMU_STRUCT_NFS_FH3, because the latter depends on the former. 3878 3879 * amd/ops_nfs.c (prime_nfs_fhandle_cache): add {} to disambiguate 3880 and clarify if-the-else clauses. 3881 38822003-10-13 Ion Badulescu <ionut@moisil.badula.org> 3883 3884 * amd/get_args.c (get_version_string): change "Built by" to 3885 "Configured by", and add a new "Built by" line using the variables 3886 below 3887 3888 * m4/update_build_version (vers): add BUILD_USER, BUILD_HOST, and 3889 BUILD_DATE to build_version.h 3890 3891 * amd/mntfs.c (locate_mntfs): fix restarted filesystems: mf_fo 3892 must be initialized even for them, otherwise we lose opt_sublink 3893 (and perhaps other options as well). Report from Rainer Orth. 3894 3895 * amd/amfs_generic.c (amfs_bgmount): The fix for the mf_fo NULL 3896 pointer dereferencing was a bit too aggressive and could end up 3897 not processing the sublink option if the filesystem was already 3898 mounted. 3899 39002003-10-11 Ion Badulescu <ionut@moisil.badula.org> 3901 3902 Fix restarted filesystem by disabling the amfs_inherit filesystem 3903 and moving the restarting logic into the generic code. The old 3904 code is still there, will be removed sometime in the near future. 3905 3906 * amd/mntfs.c (locate_mntfs): disable amfs_inherit and simply 3907 return the pointer to the restarted filesystem 3908 (free_mntfs): check for the MFF_RESTART flag instead of the 3909 amfs_inherit ops 3910 3911 * amd/autil.c (mf_mounted): remove the MFF_RESTART flag once the 3912 filesystem is in use 3913 3914 * amd/amfs_nfsx.c (amfs_nfsx_init): only call fs_init() if the 3915 filesystem is not being restarted 3916 (amfs_nfsx_remount): if the filesystem is already mounted, 3917 short-circuit the code and just continue 3918 3919 * amd/amfs_generic.c (amfs_bgmount): only call fs_init() if the 3920 filesystem is not being restarted; remove hack that was used to 3921 work around an amfs_inherit problem 3922 39232003-10-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 3924 3925 Use WebNFS to obtain file handles for mount(2). 3926 3927 * NEWS: Document WebNFS support. 3928 3929 * configure.in: Check for public mount option. 3930 * include/am_compat.h (MNTTAB_OPT_PUBLIC): Define if missing. 3931 * doc/am-utils.texi (opts Option): Renamed webnfs to public, 3932 update description. 3933 3934 * amd/amd.h (FSF_WEBNFS): New mntfs flag. 3935 * include/am_utils.h (RPC_XID_WEBNFS): New XID type. 3936 3937 * amd/amfs_host.c (amfs_host_mount, amfs_host_umounted): Reject 3938 WebNFS mount/umount attempts. 3939 * amd/ops_nfs.c (got_nfs_fh_mount): Renamed from got_nfs_fh. 3940 (got_nfs_fh_webnfs): New function. 3941 (flush_nfs_fhandle_cache): Don't invalidate port for WebNFS servers. 3942 (prime_nfs_fhandle_cache): Likewise. 3943 Remove unconditional return of public file handle for WebNFS, but 3944 get NFS file handles via mountd or WebNFS instead. 3945 (webnfs_lookup): New function. 3946 (nfs_umounted): Don't inform mountd if MFF_WEBNFS. 3947 * amd/rpc_fwd.c (fwd_packet, fwd_reply): Send/receive WebNFS 3948 packets. 3949 * amd/srvr_nfs.c (recompute_portmap): Don't contact portmap for 3950 WebNFS servers. 3951 Mention host in info message. 3952 (find_nfs_srvr): Handle public mount option. 3953 Prefer NFSv3/tcp if the client supports it. 3954 Allow port mount option to override default or result from portmap 3955 lookup. 3956 3957 * libamu/xdr_func.c (xdr_diropargs3, xdr_filename3, 3958 xdr_LOOKUP3args, xdr_LOOKUP3res, xdr_LOOKUP3resfail, 3959 xdr_LOOKUP3resok, xdr_nfs_fh3, xdr_nfsstat3): New functions. 3960 * include/am_xdr_func.h: Declare them. 3961 * configure.in: Check for them. 3962 * conf/nfs_prot/nfs_prot_linux.h: Provide missing NFSv3 3963 definitions and types. 3964 39652003-10-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 3966 3967 Support IRIX 6 private mount option. 3968 3969 * configure.in (AC_CHECK_MNTTAB_OPTS): Check for private option 3970 name string. 3971 (AC_CHECK_MNT2_NFS_OPTS): Check for private NFS mount option (IRIX 6). 3972 * aux/macros/header_templates.m4 (MNTTAB_OPT_PRIVATE, 3973 MNT2_NFS_OPT_PRIVATE): Provide templates. 3974 * include/am_compat.h (MNTTAB_OPT_PRIVATE): Define if missing. 3975 * doc/am-utils.texi (opts Option): Document it. 3976 39772003-10-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 3978 3979 * doc/am-utils.texi (opts Option): Fix Tru64 UNIX name in proplist 3980 mount option. 3981 39822003-10-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 3983 3984 * libamu/mount_fs.c (compute_nfs_args) [HAVE_NFS_ARGS_T_FH_LEN]: 3985 Don't reference removed fh3. 3986 39872003-10-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 3988 3989 * NEWS: New minor port sparc-sun-solaris2.10 (Solaris 10). 3990 3991 * INSTALL: Mention test status of various ports. 3992 Describe IRIX 6 autofs status. 3993 39942003-10-09 Ion Badulescu <ionut@moisil.badula.org> 3995 3996 * NEWS: updated 3997 3998 * amd/amfs_generic.c (amfs_bgmount): don't use mf_fo until after 3999 we've done all the tests and we know we have a valid and mountable 4000 mntfs. Otherwise we could end up dereferencing null pointers. 4001 4002 * amd/amd.h: fixed a copy&paste comment bug 4003 4004 * amd/am_ops.c (ops_match): minor code cleanup 4005 4006 * doc/am-utils.texi: fixed various typos; added warning about the 4007 racy nature of nfsx; removed duplicated listing of debug options; 4008 added paragraph about signals supported by hlfsd; removed the long 4009 list of (maybe) supported platforms since it duplicates the list 4010 in INSTALL. 4011 40122003-10-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 4013 4014 Simplify FD_SET etc. use. 4015 4016 * include/am_defs.h (FD_SET, FD_ISSET, FD_CLR, FD_ZERO): Provide 4017 if missing. 4018 (rpc_pending_now, run_rpc): Use them. 4019 * configure.in: Check for fds_bits field in fd_set. 4020 * amd/nfs_start.c (run_rpc): Use it. 4021 40222003-10-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 4023 4024 Improve RPC XID handling. 4025 4026 * amd/rpc_fwd.c (fwd_packet, fwd_reply): Always log xid. 4027 Convert xid to/from host/network byte order. 4028 40292003-10-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 4030 4031 Use NFS V2/V3 file handles instead of mount results. 4032 4033 * include/am_utils.h (am_nfs_fhandle): Use NFS V2/V3 file handles 4034 only, not MOUNTPROC_MNT results. 4035 * amd/amfs_host.c (fetch_fhandle): Use local variables to store 4036 MOUNTPROC_MNT results. 4037 * amd/autil.c (amfs_mount): Use new am_nfs_fhandle_t. 4038 * amd/ops_nfs.c (struct fh_cache): New member fh_status. 4039 (got_nfs_fh): Use local variables to store MOUNTPROC_MNT results. 4040 Store MOUNTPROC_MNT errors in fh_status. 4041 (prime_nfs_fhandle_cache): Get fh_error from fh_status. 4042 * hlfsd/hlfsd.c (main): Use new am_nfs_fhandle_t. 4043 * libamu/mount_fs.c (compute_nfs_args): Copy NFS V2/V3 file 4044 handles straight from new am_nfs_fhandle_t. 4045 40462003-10-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 4047 4048 * amd/clock.c (CID_ALLOC): Remove unused argument. 4049 (timeout): Likewise. 4050 4051 * amd/ops_nfs.c (FHID_ALLOC): Remove unused argument. 4052 (prime_nfs_fhandle_cache): Likewise. 4053 (call_mountd): Use UDPMSGSIZE instead of magic constant. 4054 4055 * amd/rpc_fwd.c (XID_ALLOC): Remove unused argument. 4056 (fwd_packet): Likewise. 4057 Handle TLOOK error from t_rcvudata(). 4058 40592003-09-30 Ion Badulescu <ionut@moisil.badula.org> 4060 4061 * NEWS: updated 4062 4063 * libamu/mount_fs.c (mount_fs): don't try to recreate the mount 4064 point if the mount fails with ENOENT: in the best case we would be 4065 papering over a bug, and in the worst case we could cause a 4066 deadlock (with autofs). If there are races, they need to be 4067 exposed and fixed properly. 4068 4069 * conf/autofs/autofs_solaris_v1.h, 4070 conf/autofs/autofs_solaris_v2_v3.h, 4071 conf/autofs/autofs_linux.h: (AUTOFS_NFSX_FS_FLAGS): autofs 4072 semantics don't allow us to mount nfsx directly onto an autofs 4073 mountpoint, so disallow it 4074 4075 * amd/amfs_nfsx.c (amfs_nfsx_match): more restrictive sanity check 4076 to avoid trying to memmove(foo, bar, (unsigned)-1) due to invalid 4077 map entries... 4078 (amfs_nfsx_cont): amfs_retry does most of the cleanup work for us 4079 in the upper layer, so don't do anything else beside wakeup() on 4080 success 4081 (amfs_nfsx_remount): only create the mountpoints as we need them, 4082 avoids creating them on the wrong filesystem in the case of 4083 hierarchical mounts; fix crash-generating typo (m should really be 4084 mf and I swear I hate single-character variable names) 4085 4086 * amd/amfs_generic.c (amfs_cont): one more dlog 4087 (amfs_bgmount): amazingly enough, even foreground mounts can be 4088 backgrounded (in the case of nfsx), so account for this 4089 possibility and permit retries 4090 4091 * m4/macros/check_autofs_style.m4 (AMU_AUTOFS_PROT_HEADER): define 4092 and AC_SUBST it as ${top_builddir}/amu_autofs_prot.h 4093 4094 * amd/Makefile.am ($(amd_OBJECTS) $(EXTRA_amd_OBJECTS)): depend on 4095 @AMU_AUTOFS_PROT_HEADER@ 4096 40972003-09-29 Erez Zadok <ezk@urd.fsl.cs.sunysb.edu> 4098 4099 * minor new port mipsel-unknown-linux-rhPS2 (Linux on Sony 4100 PlayStation 2) 4101 4102 * amd/srvr_nfs.c (find_nfs_srvr): don't run code that expects 4103 "char protocols[]" unless MNTTAB_OPT_PROTO is defined. 4104 41052003-09-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 4106 4107 Consolidate alloca support. 4108 4109 * amd/amq_svc.c: Move alloca support ... 4110 * include/am_defs.h: ... here. 4111 * amd/conf_parse.y: Remove alloca support. 4112 * fsinfo/fsi_gram.y: Likewise. 4113 41142003-09-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 4115 4116 Handle Solaris 10. 4117 * m4/macros/check_nfs_prot_headers.m4 4118 (AMU_CHECK_NFS_PROT_HEADERS): Don't use wildcards for 4119 sunos5.[0-3], solaris 2.[0-3], there were no micro releases. 4120 Explicitly match sunos5*, solaris2* for Solaris 8 and beyond. 4121 4122 * m4/macros/os_cflags.m4 (AMU_OS_CFLAGS): Dont use wildcards for 4123 solaris2.[0-5], sunos5.[0-5], but explicitly handle Solaris 2.5 4124 micro releases to cope with Solaris 2.5.1. 4125 Explicitly match solaris2*, sunos5*. 4126 41272003-09-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 4128 4129 * amd/amq_svc.c: Provide alloca prerequisites. 4130 4131 * conf/transp/transp_tli.c (register_autofs_service): Fix typo. 4132 41332003-09-23 Ion Badulescu <ion@opteron.tower-research.com> 4134 4135 * minor new port: x86_64-unknown-linux-rh2.9.5AS. (Red Hat 4136 Enterprise Linux 3.0 beta running on a 64-bit AMD64 platform) 4137 41382003-09-22 Ion Badulescu <ionut@buggy.badula.org> 4139 4140 * conf/autofs/autofs_solaris_v1.c (autofs_mount_fs): compile fix 4141 41422003-09-19 Ion Badulescu <ionut@moisil.badula.org> 4143 4144 * amd/amfs_nfsl.c (amfs_nfsl_match): checking opt_fs is not always 4145 enough, we should lstat() the sublink if it's defined. 4146 (amfs_nfsl_ffserver): ditto 4147 (ALL): Removed some obsolete comments. The nfsl code is now little 4148 more than a very straight-forward switch between link and nfs. 4149 4150 * amd/amfs_link.c (amfs_link_match): more up-to-date explanation 4151 for the prepend-the-dot hack for type link; also, the sublink is 4152 already normalized and absolute, so take advantage of that 4153 4154 * amd/amfs_generic.c (amfs_lookup_one_mntfs): the sublink is 4155 already normalized and absolute, so take advantage of that 4156 4157 * amd/am_ops.c (ops_match): normalize the sublink here, early into 4158 the matching process 4159 4160 * amd/autil.c (am_mounted): be consistent and accept both 4161 "nounmount" and "noumount" as pseudo mount options (same as 4162 "unmount" and "umount" nearby) 4163 4164 * amd/Makefile.am (build_version.h): fixed dependencies (depends 4165 on amd_OBJECTS, not OBJECTS -- which doesn't even exist) 4166 41672003-09-19 Erez Zadok <ezk@dhcp8.fsl.cs.sunysb.edu> 4168 4169 * amd/amq_subr.c (amqproc_export_1_svc): force double casting to 4170 avoid gcc-3.3 complaints on Solaris 9 about "dereferencing 4171 type-punned pointer will break strict-aliasing rules". 4172 41732003-09-16 Ion Badulescu <ionut@moisil.badula.org> 4174 4175 * Released beta version 6.1b4 4176 41772003-09-15 Ion Badulescu <ionut@moisil.badula.org> 4178 4179 * doc/am-utils.texi (opts Option): removed documentation for old 4180 ignore_portmapper mount option, documented the new webnfs option 4181 4182 * NEWS: webnfs support 4183 4184 * amd/srvr_nfs.c (find_nfs_srvr): set MFF_WEBNFS if the "webnfs" 4185 (former "ignore_portmapper") mount option is present 4186 4187 * amd/ops_nfs.c (prime_nfs_fhandle_cache): generate a public 4188 filehandle (all zeros) if MFF_WEBNFS is set 4189 (nfs_umounted): don't talk to mountd if MFF_WEBNFS is set 4190 4191 * amd/amd.h (MFF_WEBNFS): new flag, obvious meaning 4192 41932003-09-13 Ion Badulescu <ionut@moisil.badula.org> 4194 4195 * amd/srvr_nfs.c: renamed np_xid to global_xid; sanitized the 4196 NPXID_ALLOC macro and renamed it to XID_ALLOC; renamed start_ping 4197 to create_ping_payload; renamed nfs_pinged to 4198 nfs_keepalive_callback; renamed nfs_timed_out to 4199 nfs_keepalive_timeout; renamed nfs_srvr_port to get_mountd_port; 4200 made ping_buf and ping_len arrays with one element for each 4201 supported nfs version 4202 4203 * amd/amd.h: renamed nfs_srvr_port() to get_mountd_port() 4204 4205 * amd/amfs_host.c (amfs_host_init): ditto 4206 4207 * amd/ops_nfs.c (call_mountd): ditto 4208 42092003-09-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 4210 4211 * BUGS: Mention fix for broken Solaris 8 <rpcsvc/autofs_prot.h> 4212 patches. 4213 42142003-08-31 Erez Zadok <ezk@filer.fsl.cs.sunysb.edu> 4215 4216 * amd/autil.c (strealloc): don't call malloc_verify() unless it 4217 exists. 4218 4219 * configure.in: move "OPTION PROCESSING" section (opt_debug etc.) 4220 after we figure out PROG_CC and other compiler features, because 4221 some of the option processing macros need a compiler to function. 4222 4223 * libamu/xutil.c: don't define variables that won't be used unless 4224 mallinfo() and malloc_verify() exist. 4225 (real_plog): don't call checkup_mem unless 4226 mallocinfo() and malloc_verify() exist. 4227 (checkup_mem): don't define this function unless mallocinfo() and 4228 malloc_verify() exist. 4229 4230 * m4/macros/opt_debug.m4: check for functions malloc_verify and 4231 mallinfo in general libraries and then in libmapmalloc and 4232 libmalloc. These seem to have disappeared in FreeBSD 5.x. 4233 4234 * libamu/xutil.c (dxfree): print pointer using %p 4235 42362003-08-29 Erez Zadok <ezk@a-opendarwin.fsl.cs.sunysb.edu> 4237 4238 * configure.in: start 6.1b4-pre officially (belated) 4239 4240 * minor new port: i686-apple-darwin6.6 4241 42422003-08-27 Ion Badulescu <ionut@moisil.badula.org> 4243 4244 * conf/autofs/autofs_solaris_v1.c: convert relative targets to 4245 absolute paths when using lofs mounts 4246 4247 * conf/autofs/autofs_solaris_v2_v3.c: ditto 4248 4249 * conf/autofs/autofs_linux.c: ditto 4250 42512003-08-27 Ion Badulescu <ionut@buggy.badula.org> 4252 4253 * README.autofs: added a paragraph about the resource consumption 4254 of auto maps over autofs 4255 4256 * amd/amfs_generic.c (amfs_lookup_one_mntfs): moved the setting of 4257 the MFF_IS_AUTOFS flag from init_mntfs() to 4258 amfs_lookup_one_mntfs(), where it belongs 4259 4260 * amd/mntfs.c (init_mntfs): ditto 4261 42622003-08-27 Ion Badulescu <ion@guppy.limebrokerage.com> 4263 4264 * amd/ops_nfs.c (got_nfs_fh): make the error EACCES if we are 4265 denied a filehandle by the server (used to be EIO) 4266 42672003-08-27 Erez Zadok <ezk@a-bsdi42.fsl.cs.sunysb.edu> 4268 4269 * conf/nfs_prot/nfs_prot_bsdi3.h: support na_uid and na_gid. 4270 42712003-08-27 Ion Badulescu <ionut@moisil.badula.org> 4272 4273 * conf/autofs/autofs_linux.c (autofs_mount_succeeded): force 4274 daemon-initiated timeouts on autofs filesystems, since apparently 4275 they appear as "always busy" to the kernel-based expiration routine 4276 42772003-08-26 Ion Badulescu <ionut@buggy.badula.org> 4278 4279 * NEWS: updated 4280 4281 * conf/autofs/autofs_linux.h (AUTOFS_LINK_FS_FLAGS): remove 4282 FS_ON_AUTOFS 4283 (AUTOFS_LINKX_FS_FLAGS): ditto 4284 4285 * conf/autofs/autofs_solaris_v1.h (AUTOFS_LINK_FS_FLAGS): remove 4286 FS_ON_AUTOFS 4287 (AUTOFS_LINKX_FS_FLAGS): ditto 4288 4289 * conf/autofs/autofs_solaris_v2_v3.h (AUTOFS_LINK_FS_FLAGS): remove 4290 FS_ON_AUTOFS 4291 (AUTOFS_LINKX_FS_FLAGS): ditto 4292 4293 * amd/amfs_generic.c (amfs_lookup_one_mntfs): don't modify the 4294 original opt_fs, instead store the new mount point for autofs in a 4295 temporary variable and pass it around. Fixes a problem with the 4296 link side of nfsl. 4297 42982003-08-25 Ion Badulescu <ionut@moisil.badula.org> 4299 4300 * NEWS: updated 4301 4302 * amd/ops_nfs.c (prime_nfs_fhandle_cache): use get_mntfs_wchan to 4303 initialize the fh_wchan member of the cache entry 4304 (prime_nfs_fhandle_cache): use get_mntfs_wchan for the wchan_t 4305 argument of call_mountd() 4306 4307 * amd/map.c (free_map_if_success): use get_mntfs_wchan for the 4308 wchan_t argument of wakeup() 4309 4310 * amd/amfs_nfsx.c (amfs_nfsx_cont): use get_mntfs_wchan for the 4311 wchan_t argument of wakeup_task() and wakeup() 4312 4313 * amd/amfs_host.c (amfs_host_init): use get_mntfs_wchan for the 4314 wchan_t argument of nfs_srvr_port() 4315 4316 * amd/amfs_generic.c (ALL): use get_mntfs_wchan for the wchan_t 4317 argument of sched_task() and wakeup() 4318 (amfs_retry): minor cleanup 4319 (amfs_bgmount): call nfs_quick_reply on failure 4320 4321 * amd/sched.c (get_mntfs_wchan): new function which calls the 4322 member function get_wchan if defined, otherwise returns the mntfs 4323 pointer itself 4324 4325 * amd/amfs_inherit.c (amfs_inherit_get_wchan): new function, 4326 calls get_mntfs_wchan() on the inherited filesystem 4327 4328 * amd/amfs_*.c, amd/ops_*.c: initialize the new get_wchan member 4329 of the ops to 0 4330 4331 * amd/amd.h: new function type vget_wchan 4332 (struct mntfs): new member get_wchan which returns the waiting 4333 channel associated with the mntfs (normally itself) 4334 43352003-08-22 Ion Badulescu <ion@guppy.limebrokerage.com> 4336 4337 * conf/mount/mount_linux.c (parse_opts): minor cleanup 4338 4339 * conf/autofs/autofs_linux.c (autofs_handle_fdset): added missing 4340 break in case autofs_ptype_expire_multi 4341 43422003-08-22 Ion Badulescu <ionut@moisil.badula.org> 4343 4344 * conf/autofs/autofs_solaris_v1.h: undefine autofs support if 4345 autofs_args_t cannot be determined (hopefully fixes a reported 4346 IRIX 6.5.4 problem). 4347 4348 * conf/autofs/autofs_solaris_v1.c: wrap entire file in #ifdef 4349 HAVE_FS_AUTOFS / #endif (see above) 4350 4351 * conf/autofs/autofs_linux.h: undefine autofs support if the 4352 necessary header files are not found (fixes a reported RedHat 6.2 4353 Sparc problem). 4354 4355 * conf/autofs/autofs_linux.c: wrap entire file in #ifdef 4356 HAVE_FS_AUTOFS / #endif (see above) 4357 4358 * libamu/mount_fs.c (compute_nfs_args): only use MNT2_NFS_OPT_SOFT 4359 if autoconf detected it (fixes a reported RedHat 6.2 Alpha problem). 4360 4361 * amd/map.c (unmount_mp, unmount_exported): move the code that 4362 changes the fattr from NFLNK to NFDIR from unmount_mp to 4363 unmount_exported, it was causing troubles (ESTALE) after failed 4364 unmounts. This is still very very unclean, but it's the same as the 4365 old 6.0 code. 4366 43672003-08-22 Nick Williams <Nick.Williams@morganstanley.com> 4368 4369 * amd/info_ldap.c (amu_ldap_init): don't try to pass a null 4370 pointer as a string to plog, Solaris (and other OS's) don't like 4371 it and will dump core. 4372 43732003-08-13 Ion Badulescu <ion@guppy.limebrokerage.com> 4374 4375 * amd/amd.h: introduced two new types, wchan_t and opaque_t, as 4376 aliases of voidp. This makes reading the code easier on the eyes. :) 4377 4378 * ALL: replace various instances of voidp with wchan_t and 4379 opaque_t, as appropriate 4380 43812003-08-13 Ion Badulescu <ionut@nicu.badula.org> 4382 4383 * NEWS, configure.in: bumped version up to 6.1b4-pre 4384 43852003-08-13 Ion Badulescu <ionut@moisil.badula.org> 4386 4387 * Released beta version 6.1b3 4388 43892003-08-13 Ion Badulescu <ion@guppy.limebrokerage.com> 4390 4391 * conf/autofs/autofs_linux.c (autofs_mount_fs): HACK: always use 4392 symlinks for host mounts; assorted fixes for the symlink mode 4393 43942003-08-05 Ion Badulescu <ionut@moisil.badula.org> 4395 4396 * conf/umount/umount_default.c (umount_fs): enable space hack 4397 handling for autofs v1 4398 4399 * amd/map.c (get_first_exported_ap, get_next_exported_ap): new 4400 functions that facilitate iterating through the list of 4401 mountpoints 4402 4403 * amd/amfs_union.c (amfs_union_mounted): use get_first_exported_ap 4404 and get_next_exported_ap 4405 4406 * conf/autofs/autofs_solaris_v2_v3.c (autofs_unmount_2_req): ditto 4407 44082003-08-04 Erez Zadok <ezk@ulkesh.dyn.optonline.net> 4409 4410 * configure.in: check if system stores mount tables in files 4411 (usually in /etc), and configure couldn't find a definition for 4412 either struct mntent or struct mnttab. If so, abort configure 4413 because this could be a new/misconfigured system, or a bug in 4414 am-utils. 4415 44162003-08-04 Ion Badulescu <ionut@moisil.badula.org> 4417 4418 * conf/autofs/autofs_solaris_v2_v3.c (autofs_umount_fs): fix 4419 compile warning 4420 44212003-08-04 Ion Badulescu <ionut@buggy.badula.org> 4422 4423 * conf/autofs/autofs_linux.c (autofs_mount_fs): don't call 4424 ops->mount_fs() for an already mounted filesystem 4425 (autofs_umount_fs): only call ops->umount_fs() if we're holding 4426 the last reference to the filesystem 4427 4428 * conf/autofs/autofs_solaris_v1.c (autofs_mount_fs): ditto 4429 (autofs_umount_fs): ditto 4430 4431 * conf/autofs/autofs_solaris_v2_v3.c (autofs_mount_fs): ditto 4432 (autofs_umount_fs): ditto 4433 4434 * amd/amfs_generic.c (amfs_lookup_mntfs): remove the shortcut for 4435 already-mounted filesystems 4436 (amfs_cont): only release the autofs_fh if the filesystem is not 4437 mounted; add another comment about the NFS_SCALEDOWN hack 4438 (amfs_bgmount): if the mntfs is already mounted, skip just the 4439 filesystem initialization, but do call mount_node() 4440 4441 * amd/map.c (mount_node): always call autofs_mount_fs(), but only 4442 call ops->mount_fs() if the mntfs is not yet mounted 4443 (unmount_node): always call autofs_umount_fs(), but only call 4444 ops->umount_fs() if the refcount on the mntfs equals 1. 4445 44462003-08-02 Erez Zadok <ezk@filer.fsl.cs.sunysb.edu> 4447 4448 * conf/nfs_prot/nfs_prot_openbsd.h: include <ufs/ufs/ufsmount.h> 4449 here with the proper workarounds for openbsd3.3 (define MAXQUOTAS, 4450 define dummy struct netexport, and include <ufs/ufs/extattr.h> 4451 wrapped in _KERNEL). 4452 4453 * conf/nfs_prot/nfs_prot_freebsd3.h: include <ufs/ufs/ufsmount.h> 4454 here with the proper workarounds for freebsd5.1 (define dummy 4455 struct ufs_extattr_per_mount). 4456 4457 * conf/nfs_prot/nfs_prot_bsdi2.h: include <ufs/ufs/ufsmount.h> 4458 here with the proper workarounds for bsdi2 (define MAXQUOTAS and 4459 dummy struct netexport). 4460 4461 * include/mount_headers1.h: do not include <ufs/ufs/ufsmount.h> 4462 here, b/c every *BSD system has some sort of problem in including 4463 this header file, which includes ugly workarounds. Inclusion of 4464 this header was already moved out of am_defs.h (used to compile 4465 amd), but we forgot to move it out of mount_headers1.h (used to 4466 configure). The specific inclusion of ufsmount.h is now in the OS 4467 specific nfs_prot.h file. 4468 4469 * configure.in: if configure could not find any definition for 4470 "struct nfs_args", abort configure with an explanatory message. 4471 There's no point in continuing, as this could be a system bug, 4472 buggy am-utils, or a new system to which am-utils wasn't ported to 4473 yet. 4474 4475 * minor new port: i386-pc-solaris2.9 4476 44772003-08-01 Ion Badulescu <ionut@buggy.badula.org> 4478 4479 * doc/am-utils.texi (NFS-Link Filesystem): make the documentation 4480 match the code (as well as basic logic operations: the negation of 4481 'a or b' is 'not a and not b', not 'not a or not b') 4482 44832003-08-01 Erez Zadok <ezk@filer.fsl.cs.sunysb.edu> 4484 4485 * minor new port: i386-unknown-openbsd3.3. 4486 4487 * m4/macros/check_libwrap_severity.m4: new macro to check if 4488 libwrap includes the integer variables deny_severity and 4489 allow_severity, since some libwrap implementations do and others 4490 don't. The test tries to compile and run a simple empty main() 4491 program, then the same program while defining these two variables: 4492 comparing the results of the two tests, we can tell whether we 4493 should define NEED_LIBWRAP_SEVERITY_VARIABLES. 4494 4495 * Makefile.am (EXTRA_DIST_M4): distribute new macro 4496 check_libwrap_severity.m4. 4497 4498 * m4/macros/header_templates.m4: template for HAVE_LIBWRAP (which 4499 we must define explicitly since we've overridden the 4500 action-if-found in AC_CHECK_LIB(wrap). Also template for 4501 NEED_LIBWRAP_SEVERITY_VARIABLES. 4502 4503 * amd/amq_svc.c: if libwrap does not include the severity 4504 variables, then define and initialize them here. 4505 4506 * amd/Makefile.am (LIBS): explicitly include @WRAPLIB@ only for 4507 Amd binary. Other am-utils binaries don't need -lwrap. 4508 4509 * configure.in: if libwrap is found, only define it in @WRAPLIB@, 4510 so we don't automatically link every am-utils binary with -lwrap. 4511 Run test for existence of severity variables in libwrap. 4512 45132003-07-31 Erez Zadok <ezk@filer.fsl.cs.sunysb.edu> 4514 4515 * conf/nfs_prot/nfs_prot_openbsd.h: define struct fattr fields uid 4516 and gid. 4517 4518 * configure.in: move check for AC_CHECK_LIB(libwrap) as far down 4519 as possible because on modern tcpwrapper systems such as openbsd, 4520 the caller must provide two symbols: deny_severity and 4521 allow_severity, which determine the logging level of rejected and 4522 requested requests, respectively. If this check happens too 4523 early, then $LIBS includes -lwrap, which causes many subsequent 4524 tests that need to run a compiled program to fail with missing 4525 symbols. 4526 4527 * m4/macros/header_templates.m4: fix typo in template for 4528 readdirplus. 4529 4530 * configure.in: check for <ufs/ufs/extattr.h> (OpenBSD 3.3) 4531 4532 * minor new port: i386-unknown-netbsdelf1.6.1. 4533 4534 * configure.in: save state before system-specific tests are run. 4535 4536 * m4/macros/check_gnu_getopt.m4: do NOT abort ./configure just 4537 because the compiled test program failed to run. 4538 45392003-08-01 Ion Badulescu <ionut@buggy.badula.org> 4540 4541 * NEWS, README.autofs: updated 4542 4543 * libamu/mount_fs.c (mount_fs): added support for the space hack 4544 4545 * doc/am-utils.texi: mention than UFS/XFS/EFS/CacheFS filesystems 4546 are not expired by default; correct and expand the section 4547 describing the program filesystem 4548 4549 * conf/autofs/autofs_solaris_v2_v3.h (AUTOFS_*_FS_FLAGS): add 4550 FS_ON_AUTOFS for supported filesystems 4551 4552 * conf/autofs/autofs_solaris_v2_v3.c (autofs_mount_fs): call 4553 mf->mount_fs() 4554 (autofs_umount_fs): call mf->umount_fs() 4555 4556 * conf/autofs/autofs_solaris_v1.h (autofs_strdup_space_hack): add 4557 prototype for malloc() 4558 (AUTOFS_*_FS_FLAGS): lose the FS_MKMNT flags, add FS_ON_AUTOFS for 4559 supported filesystems 4560 4561 * conf/autofs/autofs_solaris_v1.c (autofs_mount_fs): add support 4562 for the space hack; call mf->mount_fs() 4563 (autofs_umount_fs): add support for the space hack; call 4564 mf->umount_fs() 4565 (autofs_mount_succeeded): add support for the space hack 4566 4567 * conf/autofs/autofs_linux.h: lose the FS_MKMNT flags, add 4568 FS_ON_AUTOFS for supported filesystems 4569 4570 * conf/autofs/autofs_linux.c (AUTOFS_MAX_VERSION): define to 4571 AUTOFS_MAX_PROTO_VERSION instead of hardcoding to 4 4572 (autofs_mounted): host mounts are now supported on all autofs 4573 versions, remove the hack to turn it off on v3 4574 (autofs_mount_fs): call mf->mount_fs(), create/remove mountpoints 4575 as needed 4576 (autofs_umount_fs): call mf->umount_fs(), remove mountpoints on 4577 success 4578 (ALL): use '#if AUTOFS_MAX_VERSION >= 4' instead of 4579 '#ifdef autofs_ptype_expire_multi' 4580 4581 * amd/map.c (mount_node): autofs_mount_fs() now calls 4582 mf->mount_fs() internally 4583 (unmount_node): autofs_umount_fs() now calls mf->umount_fs() 4584 internally 4585 4586 * amd/autil.c (am_mounted): minor cleanup 4587 4588 * amd/amfs_program.c (amfs_program_ops): added FS_MKMNT to 4589 nfs_fs_flags 4590 4591 * amd/amfs_generic.c (amfs_lookup_one_mntfs): use the FS_ON_AUTOFS 4592 flag instead of hardcoding filesystem types 4593 (amfs_bgmount): better mount_type logging 4594 4595 * amd/amd.h (FS_ON_AUTOFS): new flag which tells the code that 4596 this filesystem can be mounted directly onto an autofs mountpoint 4597 45982003-07-31 Ion Badulescu <ionut@buggy.badula.org> 4599 4600 * amd/amfs_nfsl.c (amfs_nfsl_umount): fix copy&paste error (was 4601 calling amfs_link_ops.umount_fs() for NFS filesystems) 4602 (amfs_nfsl_umounted): remove rmdirs() hack, it is now handled 4603 properly elsewhere 4604 (amfs_nfsl_ffserver): remove FS_MKMNT from mf_fsflags if we're 4605 using link (not NFS) 4606 46072003-07-31 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 4608 4609 * README.autofs: Correct IRIX spelling. 4610 AutoFS support exists only on IRIX 6. 4611 Update IRIX 6 status. 4612 4613 Allow AutoFS V1 support to compile on IRIX 6. 4614 * conf/autofs/autofs_solaris_v1.c (autofs_mount_1_req): Add 4615 SVCXPRT * arg. 4616 Remove superfluous \n from dlog messages. 4617 (autofs_unmount_1_req): Likewise. 4618 Switch to get_exported_ap. 4619 (autofs_program_1): Invoke handlers with additional transp arg. 4620 * conf/autofs/autofs_solaris_v1.h: Use autofs_args_t to define 4621 autofs_fh_t, struct auto_args doesn't exist on IRIX 6. 4622 4623 * conf/mount/mount_irix6.c (mount_irix) [HAVE_FS_AUTOFS]: Support 4624 AutoFS mounts. 4625 [HAVE_FS_LOFS]: Likewise for lofs mounts. 4626 4627 * conf/nfs_prot/nfs_prot_irix6.h (AUTOFS_CONFTYPE): Define. 4628 Don't disable AutoFS support any more. 4629 4630 * conf/transp/transp_sockets.c [HAVE_FS_AUTOFS && AUTOFS_PROG] 4631 (register_autofs_service): Define autofs_xprt. 4632 4633 * m4/macros/check_autofs_style.m4 (AMU_CHECK_AUTOFS_STYLE): Update 4634 Solaris 8+ comment to mention AutoFS V4. 4635 (irix6*): Enable AutoFS V1 support on IRIX 6. 4636 46372003-07-30 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu> 4638 4639 * NEWS, doc/am-utils.texi, scripts/amd.conf.5: revised explanation 4640 of autofs_use_lofs. 4641 46422003-07-30 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 4643 4644 * amd/ops_efs.c (efs_mount): Replace on_autofs arg with 4645 MFF_ON_AUTOFS flag. 4646 (efs_umount): Likewise. 4647 46482003-07-30 Erez Zadok <ezk@filer.fsl.cs.sunysb.edu> 4649 4650 * conf/umount/umount_bsd44.c (umount_fs): convert to new way of 4651 unmounting which takes autofs into account. 4652 46532003-07-30 Ion Badulescu <ionut@moisil.badula.org> 4654 4655 * ALL: renamed MFF_AUTOFS to MFF_IS_AUTOFS; removed mf_real_mount 4656 hack; pass a new on_autofs argument to mount/umount function, 4657 based on the MFF_ON_AUTOFS mntfs flag 4658 4659 * NEWS, README.autofs: updated 4660 4661 * scripts/amd.conf.5: document new option autofs_use_lofs 4662 4663 * scripts/amd.conf-sample (autofs_use_lofs): document new option 4664 4665 * m4/macros/check_autofs_style.m4 (am_utils_link_files): symlink 4666 the autofs header as amu_autofs_prot.h instead of slurping it into 4667 aux_conf.h 4668 4669 * libamu/mount_fs.c (mount_fs): removed old stub, renamed 4670 mount_fs2 to mount_fs, added new argument on_autofs 4671 4672 * doc/am-utils.texi (Direct Automount Filesystem): document 4673 problems with nfs direct mounts on modern kernels, document good 4674 autofs support for direct mounts on Solaris 4675 (autofs_use_lofs Parameter): document this new option 4676 (browsable_dirs Parameter): note that mount storms are avoided 4677 when using autofs 4678 4679 * conf/umount/umount_bsd44.c (umount_fs): removed old stub, 4680 renamed umount_fs2 to umount_fs 4681 4682 * conf/umount/umount_osf.c (umount_fs): removed old stub, 4683 renamed umount_fs2 to umount_fs, added new argument on_autofs 4684 4685 * conf/umount/umount_default.c (umount_fs): ditto as above; return 4686 an error on ENOENT instead of faking success 4687 4688 * conf/autofs/autofs_solaris_v2_v3.c (autofs_lookup_2_req): much 4689 simplified, now only consults the map for existance of the key and 4690 returns success if key is found 4691 (autofs_mount_2_req): request symlinks if CFM_AUTOFS_USE_LOFS is 4692 not on; 4693 (autofs_mount_2_free): implemented 4694 (autofs_unmount_2_req): use get_exported_ap() instead of 4695 referencing export_ap directly 4696 (autofs_mount_succeeded): remove code for replying to lookup 4697 requests, now only mount requests can end up here 4698 (autofs_mount_failed): ditto 4699 4700 * conf/autofs/autofs_solaris_v1.h (AUTOFS_HOST_FS_FLAGS): removed 4701 FS_AUTOFS 4702 (AUTOFS_DIRECT_FS_FLAGS): added FS_DIRECTORY 4703 4704 * conf/autofs/autofs_solaris_v2_v3.h (AUTOFS_HOST_FS_FLAGS): removed 4705 FS_AUTOFS 4706 (AUTOFS_DIRECT_FS_FLAGS): added FS_DIRECTORY 4707 (AUTOFS_LINK_FS_FLAGS): added FS_MBACKGROUND 4708 4709 * conf/autofs/autofs_linux.c (autofs_bind_umount): new function, 4710 factored out of autofs_umount_fs() 4711 (autofs_mount_fs): renamed from autofs_link_mount() and expanded 4712 to deal with filesystems mounted indirectly (via lofs/bind 4713 mounts) on autofs and to observe the new CFM_AUTOFS_USE_LOFS flag 4714 (autofs_umount_fs): ditto, from autofs_link_umount() 4715 4716 * conf/autofs/autofs_solaris_v1.c (autofs_mount_fs): ditto 4717 * (autofs_umount_fs): ditto 4718 4719 * conf/autofs/autofs_solaris_v2_v3.c (autofs_mount_fs): ditto 4720 * (autofs_umount_fs): ditto 4721 4722 * amd/opts.c: made fs_static static 4723 4724 * amd/ops_nfs.c: made nfs_init, nfs_match, nfs_mount, nfs_umount 4725 and nfs_umounted static 4726 (mount_nfs_fh): removed unnecessary arguments 4727 4728 * amd/ops_cachefs.c (cachefs_ops): use amfs_generic_find_srvr for 4729 the ffserver method, because using NULL causes problems 4730 4731 * amd/ops_cdfs.c (cdfs_ops): ditto 4732 4733 * amd/ops_efs.c (efs_ops): ditto 4734 4735 * amd/ops_lofs.c (lofs_ops): ditto 4736 4737 * amd/ops_pcfs.c (pcfs_ops): ditto 4738 4739 * amd/ops_ufs.c (ufs_ops): ditto 4740 4741 * amd/ops_xfs.c (xfs_ops): ditto 4742 4743 * amd/nfs_subr.c (fh_to_mp3, fh_to_mp, mp_to_fh): moved here from 4744 map.c 4745 4746 * amd/nfs_start.c: use get_exported_ap() instead of referencing 4747 exported_ap directly 4748 4749 * amd/mntfs.c (locate_mntfs): new function, factored out of 4750 find_mntfs 4751 (locate_mntfs): special-case FS_DIRECT filesystems: for direct 4752 mounts we will have two filesystems mounted on the same m/p 4753 (realloc_mntfs): removed the old EZK hack for failovers 4754 4755 * amd/map.c (get_exported_ap): new function that returns an 4756 exported_ap member by its index 4757 (root_node,exported_ap,exported_ap_size,first_free_map,last_used_map): 4758 made static 4759 (fh_to_mp3, fh_to_mp, mp_to_fh): moved to nfs_subr.c 4760 (get_root_ap): removed unused second argument 4761 (unmount_mp): moved the mk_fattr(NFDIR) here from umount_exported 4762 to catch more cases 4763 (mount_node): call autofs_mount_fs after ops->mount_fs for autofs 4764 nodes 4765 (unmount_node): call autofs_umount_fs before ops->umount_fs for 4766 autofs nodes 4767 4768 * amd/conf.c: new global option "autofs_use_lofs", takes yes/no 4769 values 4770 4771 * amd/autil.c (amfs_mount): take an extra argument (mf) 4772 (amfs_mount): call autofs_compute_mount_flags() for mounts 4773 directly on autofs m/p 4774 (am_unmounted): document and avoid the race between am_umounted() 4775 at shutdown time and amfs_cont() 4776 4777 * amd/amfs_union.c (amfs_union_mounted): use get_exported_ap() 4778 instead of referencing internal map variables directly 4779 4780 * amd/amq_subr.c (amqproc_export_1_svc): ditto 4781 4782 * amd/amfs_toplvl.c (amfs_toplvl_ops): removed FS_AUTOFS from 4783 nfs_fs_flags 4784 (amfs_toplvl_mount): pass extra argument (mf) to amfs_mount() 4785 (amfs_toplvl_umount): refuse to attempt the unmount if the 4786 mountpoint is not a directory 4787 4788 * amd/amfs_nfsx.c (amfs_nfsx_init): propagate the MFF_ON_AUTOFS 4789 flag into the nfs f/s at the bottom of the stack 4790 4791 * amd/amfs_nfsl.c: call nfs and link member functions through 4792 their respective am_ops structures, not directly 4793 4794 * amd/amfs_linkx.c (amfs_linkx_umount): new static stub 4795 4796 * amd/amfs_link.c: made amfs_link_mount() and amfs_link_umount() 4797 static functions 4798 (amfs_link_mount): removed call to autofs_link_mount() 4799 (amfs_link_umount): removed call to autofs_link_umount() 4800 4801 * amd/amfs_host.c (amfs_host_ops): removed FS_AUTOFS from 4802 nfs_fs_flags 4803 (do_mount): removed superfluous function arguments 4804 4805 * amd/amfs_direct.c (amfs_direct_ops): removed FS_AUTOFS from 4806 nfs_fs_flags 4807 4808 * amd/amfs_auto.c (amfs_auto_ops): removed FS_AUTOFS from 4809 nfs_fs_flags 4810 (amfs_auto_mount): pass extra argument (mf) to amfs_mount 4811 4812 * amd/amd.h (CFM_AUTOFS_USE_LOFS): new flag, tells amd whether to 4813 use lofs-mounts or symlinks when mounting on autofs 4814 (CFM_DEFAULT_FLAGS): added CFM_AUTOFS_USE_LOFS 4815 (VLOOK_LOOKUP): new flag, will merely check if a key exists 4816 (MFF_IS_AUTOFS): renamed from MFF_AUTOFS 4817 (MFF_ON_AUTOFS): new flag, tells amd if a f/s is mounted directly 4818 on an autofs m/p, or indirectly via a lofs mount/symlink 4819 (fh_to_mp2): macro expanded throughout the code and removed 4820 (mntfs): removed mf_real_mount hack 4821 (autofs_mount_fs): renamed from autofs_link_mount 4822 (autofs_umount_fs): renamed from autofs_link_umount 4823 (mount_lofs): exposed 4824 various other cleanups, functions/variables made static and removed 4825 4826 * aux_conf.h.in: removed @am_utils_autofs_style@, it is now 4827 included directly as amu_autofs_prot.h 4828 48292003-07-24 Erez Zadok <ezk@whitestar.dyn.optonline.net> 4830 4831 * doc/am-utils.texi, scripts/amd.conf.5: document that 4832 use_tcpwrappers is "yes" by default. 4833 4834 * amd/amd.c (init_global_options): set default global options. 4835 4836 * amd/amd.h (CFM_DEFAULT_FLAGS): define default options which 4837 are always on (plock and use_tcpwrappers). 4838 4839 * scripts/amd.conf-sample: reorganize values per option so default 4840 one is listed first. 4841 48422003-07-23 Erez Zadok <ezk@filer.fsl.cs.sunysb.edu> 4843 4844 * tasks: trim old stuff. Discuss new parser. 4845 4846 * amd/conf.c (set_conf_kv): initialize the very first map in conf 4847 file from global defaults. Bug fix which was introduced after 4848 conf.c code restructuring. 4849 48502003-07-18 Erez Zadok <ezk@filer.fsl.cs.sunysb.edu> 4851 4852 * m4/macros/header_templates.m4: template for 4853 HAVE_EXTERN_HOSTS_CTL. 4854 4855 * include/am_defs.h: define extern for hosts_ctl() if needed. 4856 4857 * configure.in (AMU_CHECK_EXTERNS): check for extern definition 4858 for libwrap's hosts_ctl() (FreeBSD 5.0 doesn't have it). 4859 4860 * m4/macros/check_extern.m4: include tcpd.h if it and libwrap exist. 4861 48622003-07-18 Erez Zadok <ezk@cs.sunysb.edu> 4863 4864 * hlfsd/hlfsd.h: redundant extern for mboxfile removed. 4865 4866 * amd/amq_svc.c (amq_program_1): only check for tcpwrappers if 4867 amd.conf global option use_tcpwrappers=yes. 4868 4869 * scripts/amd.conf.5, scripts/amd.conf-sample (use_tcpwrappers), 4870 doc/am-utils.texi (use_tcpwrappers Parameter): document new 4871 amd.conf global option. 4872 4873 * amd/conf.c (gopt_use_tcpwrappers): define a new amd.conf global 4874 option called use_tcpwrappers ("no" by default). 4875 4876 * amd/amq_svc.c (amqsvc_is_client_allowed): include tcpd/libwrap 4877 code only if both libwrap and tcpd.h exist. 4878 (amq_program_1): log warning when an Amq service client is denied, 4879 and a debug message when a client is allowed. 4880 4881 * amd/amd.h (CFM_USE_TCPWRAPPERS): define [global] amd.conf flag. 4882 (AMD_SERVICE_NAME): define AMD_SERVICE_NAME for tcpd/libwrap. 4883 4884 * include/am_defs.h: include tcpd.h if available and libwrap 4885 available. 4886 4887 * configure.in: check for tcpd.h. 4888 48892003-07-18 Erez Zadok <ezk@filer.fsl.cs.sunysb.edu> 4890 4891 * scripts/expn.1, amd/amd.8 amq/amq.8, fixmount/fixmount.8, 4892 hlfsd/hlfsd.8, scripts/expn.1: remove ".PD 0" nroff command 4893 because it removes useful spaces in between paragraphs. Based on 4894 smaller patch from Philippe Troin <phil@fifi.org>. 4895 48962003-07-17 Philippe Troin <phil@fifi.org> 4897 4898 * amq/amq.8: Document the libwrap/amd behavior. 4899 4900 * amd/amq_svc.c (libwrap_check_client): New function to validate 4901 an amq connection with libwrap. 4902 (amq_program_1): Call libwrap_check_client() and close the 4903 connection if libwrap does not allow it. 4904 4905 * configure.in: Check for the tcp wrappers library. 4906 49072003-07-17 Erez Zadok <ezk@filer.fsl.cs.sunysb.edu> 4908 4909 * amd/amq_subr.c (amqproc_mnttree_1_svc, amqproc_stats_1_svc, 4910 amqproc_getmntfs_1_svc, xdr_amq_mount_tree), hlfsd/hlfsd.c 4911 (hlfsd_init): cast pointers to void* before casting them to 4912 another type, to avoid gcc-3.3 -Wall warnings. 4913 4914 * fsinfo/*.[hc]: rename fsinfo function log() to fsi_log(), to 4915 avoid conflict with builtin function in gcc-3.3. 4916 49172003-07-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 4918 4919 * scripts/amd.conf-sample: Remove obsolete comment. 4920 49212003-07-16 Erez Zadok <ezk@cs.sunysb.edu> 4922 4923 * amd/info_file.c (read_line): check for errors from fgets(). 4924 Although rare, they can occur upon disk or network failures. 4925 Patch from Nick Williams <Nick.Williams@morganstanley.com>. 4926 49272003-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 4928 4929 * BUGS (Solaris 8): Update patch revisions, mention old autofs 4930 patches, fix filenames and rpcgen command. 4931 49322003-07-15 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu> 4933 4934 * doc/am-utils.texi (map_defaults Parameter): document new 4935 map_defaults option. 4936 4937 * scripts/amd.conf.5: document new map_defaults option. 4938 4939 * scripts/amd.conf-sample (map_type): show examples of new 4940 map_defaults option. 4941 4942 * amd/mapc.c (mapc_create): initialize mnt_map->cfm field to NULL. 4943 4944 * amd/get_args.c (get_args): call process_all_regular_maps(). 4945 4946 * amd/conf.c: keep head and tail of cfm list. 4947 (init_cf_map): reworked reset_cf_map. This one doesn't reset a 4948 globaly reused cfm, but rather just inherits [global] options. 4949 (set_conf_kv): just store global/map options without actually 4950 creating any mnt_map's. Essentially, we now parse the whole 4951 amd.conf file, and then try to process the maps one at a time. 4952 (process_one_regular_map): new function to process one map, just 4953 renamed from process_regular_map. 4954 (process_all_regular_maps): new exported function to process all 4955 maps. No need for hacky process_last_map(). 4956 (find_cf_map): new exported function to return a cf_map_t given a 4957 map's mount point (e.g., /home or /net). 4958 4959 * amd/amfs_generic.c (amfs_parse_defaults): find if amd.conf 4960 specificed a map_defaults for a given map. If so, use that 4961 instead of the /defaults that came from the map itself. Also 4962 restructure code a bit so it's not one huge long "if" statement. 4963 4964 HACK ALERT: there's no easy way to find out what the map mount 4965 point is at this point, so I am forced to initialize the 4966 mnt_map->cfm field here for the first time, upon the very first 4967 search for a /defaults entry in this map. This initialization is 4968 much better done in mapc_create(), but it's impossible to do that 4969 there with the current code structure. 4970 4971 * amd/amd.h: struct cf_map becomes linked list. struct mnt_map 4972 includes pointer to cf_map_t, amd.conf defaults and options for a 4973 given map. extern cleanups. 4974 49752003-07-15 Erez Zadok <ezk@filer.fsl.cs.sunysb.edu> 4976 4977 * amd/info_hesiod.c (hesiod_search): It's not possible to have a 4978 key such as ".access" in a hesiod map as that would imply a null 4979 node in the DNS tree. So a lookup for such a key must clearly 4980 fail. With the current info_hesiod.c it does (after calling 4981 hes{,iod}_resolve) but returns an error that confuses some 4982 programs - eg. apache. This patch shortcuts the process and just 4983 returns ENOENT for any key starting with ".". Patch submitted by 4984 by Mark Davies <mark@mcs.vuw.ac.nz>. 4985 4986 * include/am_utils.h (CALLOC): redefine macro to use xzalloc, not 4987 fsinfo's own xcalloc. 4988 4989 * fsinfo/fsi_util.c (xcalloc): remove redundant function. 4990 49912003-07-14 Erez Zadok <ezk@cs.sunysb.edu> 4992 4993 * include/am_compat.h (MNTTAB_OPT_XLATECOOKIE): The NetBSD 4994 xlatecookie NFS option doesn't work as MNTTAB_OPT_XLATECOOKIE is 4995 never defined. Define it as needed. Patch from Mark Davies 4996 <mark@mcs.vuw.ac.nz>. 4997 49982003-07-14 Ion Badulescu <lionut@gonzales.badula.org> 4999 5000 * BUGS (Note): document the Solaris 8 bug (the upgrade to autofs 5001 v4 without updating all the header files) 5002 50032003-07-13 Ion Badulescu <lionut@gonzales.badula.org> 5004 5005 * NEWS, tasks: updated 5006 5007 * amd/amfs_generic.c (free_continuation): free _all_ mntfs's in 5008 the am_mfarray, unconditionally 5009 (amfs_bgmount): call free_mntfs when we're done with a mntfs, call 5010 dup_mntfs when starting processing of a new one; make sure we 5011 always go through 'goto failed' for a failed mntfs; use the error 5012 code returned by autofs_get_fh() 5013 5014 * conf/autofs/autofs_linux.c (autofs_get_fh): return proper error 5015 codes in case of problems 5016 50172003-07-13 Erez Zadok <ezk@filer.fsl.cs.sunysb.edu> 5018 5019 * BUGS: Document buggy behavior of Solaris /usr/ccs/bin/lex. In 5020 short, use flex. 5021 50222003-07-13 Erez Zadok <ezk@a-hpux11.fsl.cs.sunysb.edu> 5023 5024 * fsinfo/fsi_lex.l, amd/conf_tok.l: allocate more output slots so 5025 lex scanners don't run out of mem. 5026 50272003-07-13 Ion Badulescu <lionut@gonzales.badula.org> 5028 5029 * amd/amfs_generic.c (amfs_lookup_mntfs): ditto as below for the 5030 special provision 5031 5032 * amd/mntfs.c (find_mntfs): compare the filesystem type 5033 (i.e. mf_ops) in addition to mf_info; the special provision 5034 mentioned below is really for any filesystem already mounted on 5035 our mount point, not just for inherited filesystems 5036 50372003-07-13 Erez Zadok <ezk@whitestar.dyn.optonline.net> 5038 5039 * doc/Makefile.am (install-html): build per-chapter HTML manual, 5040 as well as manual in one big HTML file. 5041 5042 * doc/am-utils.texi: Minor corrections. Ack Ion's autofs work. 5043 Ack maintainers. New section on How to get additionl info, 5044 including the Amd book. Correct stale URLs and Emails. 5045 5046 * amd/amd.8, amq/amq.8, amq/pawd.1, fixmount/fixmount.8, 5047 fsinfo/fsinfo.8, hlfsd/hlfsd.8, mk-amd-map/mk-amd-map.8, 5048 scripts/amd.conf.5, scripts/automount2amd.8, 5049 wire-test/wire-test.8: include references to info pages, proper 5050 authors, am-utils Web page, and amd book. 5051 50522003-07-13 Ion Badulescu <lionut@gonzales.badula.org> 5053 5054 * amd/mntfs.c (find_mntfs): re-add the check for mf_info, but with 5055 a special provision for inherited filesystems. This unbreaks the 5056 handling of parallel mounts 5057 5058 * amd/amfs_generic.c (amfs_lookup_mntfs): for restarted 5059 filesystems, there can be no alternative mntfs to try to mount 5060 50612003-07-13 Erez Zadok <ezk@cs.sunysb.edu> 5062 5063 * amd/amd.8: reference am-utils info page in amd man page, as per 5064 Thomas Klausner <wiz@danbala.ifoer.tuwien.ac.at>. 5065 5066 * fsinfo/fsinfo.h, fsinfo/fsinfo.c (fsi_get_args): don't use 5067 yywrap() if it doesn't exist. 5068 5069 * amd/conf_parse.y, amd/conf_tok.l, fsinfo/fsi_gram.y, 5070 fsinfo/fsi_lex.l: fixes to support old flex 2.5.4, as well as the 5071 newer flex 2.5.31 (beta development). These include resolving 5072 conflicts with yylineno, unput() vs. nounput(), etc. 5073 50742003-07-13 Ion Badulescu <lionut@gonzales.badula.org> 5075 5076 * amd/amfs_generic.c (amfs_cont): check for (am_error > 0) before 5077 calling assign_error_mntfs() 5078 (amfs_generic_mount_child): ditto 5079 5080 * amd/autil.c (assign_error_mntfs): move the check for 5081 (am_error > 0) up into the caller, it's less confusing that way 5082 5083 * tasks: some updates 5084 5085 * conf/transp/transp_tli.c (check_pmap_up): new function which 5086 detects if the remote portmapper is functional 5087 (amu_clnt_create_best_version): removed 5088 (get_nfs_version): use a much simplified version of the old 5089 amu_clnt_create_best_version(), based on clnt_create_vers() and 5090 its _timed() counterpart 5091 5092 * conf/transp/transp_sockets.c (check_pmap_up): new function which 5093 detects if the remote portmapper is functional 5094 (pmap_ping): deleted 5095 (get_nfs_version): removed calls to pmap_ping, already done by 5096 caller 5097 5098 * amd/srvr_nfs.c: call check_pmap_up() before continuing with 5099 get_nfs_version() 5100 5101 * amd/amfs_generic.c: updated a couple of log messages 5102 5103 * configure.in: detect clnt_create_vers and clnt_create_vers_timed; 5104 changed LIBTOOL versioning to 3:0:0 5105 51062003-07-12 Ion Badulescu <lionut@gonzales.badula.org> 5107 5108 * conf/autofs/autofs_linux.h (AUTOFS_HOST_FS_FLAGS): removed 5109 FS_AUTOFS because the host mount cannot be a top level mount 5110 (AUTOFS_DIRECT_FS_FLAGS): removed FS_AUTOFS because Linux autofs 5111 doesn't support direct mounts 5112 51132003-07-12 Erez Zadok <ezk@whitestar.dyn.optonline.net> 5114 5115 * amd/conf_parse.y, amd/conf_tok.l: pretty comments on # cpp 5116 macros. 5117 51182003-07-10 Ion Badulescu <ionut@buggy.badula.org> 5119 5120 * include/am_utils.h (dlog): improved version for gcc, using 5121 vararg macros 5122 5123 * amd/rpc_fwd.c (fwd_packet): unused variable when compiling 5124 without debugging 5125 51262003-07-10 Erez Zadok <ezk@filer.fsl.cs.sunysb.edu> 5127 5128 * include/am_utils.h (dlog): change the #define of non-debugging 5129 dlog to "nothing" so that all that'll be left behind is a list of 5130 args in parenthesis (arg,arg,...). GCC and other native C 5131 compilers seem OK with it, even if it doesn't optimize away the 5132 whole debugging line. 5133 5134 * ltmain.sh: was from libtool 1.4.2. updated to libtool 1.4.3, 5135 the latest on RH9 systems (but is not the latest libtool 5136 available). Stay with stable version in preparation for 6.1 5137 release. 5138 5139 * config.{guess,sub}, doc/texinfo.tex: update to latest off of 5140 ftp.gnu.org. 5141 51422003-07-09 Erez Zadok <ezk@filer.fsl.cs.sunysb.edu> 5143 5144 * amd/amfs_inherit.c (amfs_inherit_inherit): don't use // C++ 5145 style comments: breaks non-C++ compilers (like AIX xlC 6) 5146 51472003-07-02 Ion Badulescu <ionut@buggy.badula.org> 5148 5149 * doc/am-utils.texi (opts Option): document ignore_portmapper option 5150 5151 * conf/transp/transp_sockets.c (get_nfs_version): better 5152 protocol/version cycling while probing remote server; better log 5153 messages 5154 5155 * amd/srvr_nfs.c (start_ping): improved log message 5156 (find_nfs_srvr): always use requested nfs_version/nfs_proto; make 5157 sure we have a valid NFS port; start the server as "valid, down" if 5158 the remote portmapper tells us the NFS service is not running; 5159 implement the "ignore_portmapper" pseudo-mount option 5160 5161 * amd/rpc_fwd.c (fwd_packet): better debug messages 5162 5163 * amd/ops_nfs.c (got_nfs_fh): log a messages if a root fh is 5164 denied; call wakeup even if mountd call fails 5165 5166 * amd/amq_subr.c (xdr_amq_mount_info_qelem): use FSRV_ISUP/ISDOWN 5167 instead of checking the flags directly 5168 * amd/srvr_amfs_auto.c (free_srvr): ditto 5169 5170 * amd/amfs_generic.c (amfs_bgmount): refined some error/debug 5171 messages 5172 5173 * amd/amd.h (FSRV_ERROR): new macro 5174 (FSRV_ISDOWN, FSRV_ISUP): a server that doesn't exist (i.e. it's a 5175 local filesystem) is always up 5176 51772003-06-30 Erez Zadok <ezk@cs.sunysb.edu> 5178 5179 * amd/autil.c (am_mounted): set AMF_NOTIMEOUT if either unmount or 5180 umount options are present. 5181 5182 * doc/am-utils.texi (Program Filesystem): document alias options 5183 to unmount:=, umount:=. 5184 5185 * amd/opts.c (expansions): initialize opt_umount. 5186 (to_free): initialize opt_umount. 5187 5188 * amd/amfs_program.c (amfs_program_match): ensure that only one of 5189 umount:= or unmount:= options are specified, but that at least one 5190 of them is listed. 5191 5192 * amd/amd.h: support unmount:=XXX as well as umount:=XXX (too 5193 annoying in type:program, when one forgets the 'n' in "unmount"). 5194 They are two separate fields, so we can catch mistakes when 5195 someone tries to define both options. 5196 5197 * doc/am-utils.texi (Program Filesystem): explain that both mount 5198 and unmount options must be specified. Correct example to show 5199 both. 5200 52012003-06-25 Erez Zadok <ezk@cs.sunysb.edu> 5202 5203 * XXX: beginning of new amd.conf option map_defaults: will parse 5204 the option and set remember it in the right places. Need to 5205 document this and actually hook it up with the rest of the code. 5206 Any volunteers? :-) 5207 5208 * scripts/amd.conf-sample (map_defaults): example of map_defaults 5209 amd.conf option. 5210 5211 * amd/conf.c (reset_cf_map): initialize global and per-mount 5212 map_defaults. 5213 (gopt_map_defaults): parse global map_defaults. 5214 (process_regular_option,ropt_map_defaults): parse per-map 5215 map_defaults amd.conf option. 5216 5217 * amd/amd.h: a place to store global and per-mount map_defaults. 5218 5219 * BUGS: more notes about AIX 5.2 problems and how to overcome 5220 them. 5221 52222003-06-10 Erez Zadok <ezk@cs.sunysb.edu> 5223 5224 * doc/Makefile.am: force version.texi to be rebuilt regardless of 5225 maintainer mode. Silly Automake will not build version.texi if 5226 maintainer mode is off (this is hardcoded into the automake perl 5227 script!). According to the Automake maintainers, users should 5228 always build in CVS trees with maintainer-mode on; but what if I 5229 don't want to?! I don't want to distribute Makefiles with 5230 maintained rules in them to users. The Automake maintainers also 5231 say that "make dist" will rebuild version.texi no matter what. I 5232 find that not to be the case. It failed to run a "make" before 5233 "make dist" because version.texi doesn't exist! Chicken and Egg 5234 situation. So, until Automake deals with version.texi in a more 5235 flexible and friendly manner, I adapted a rule to build 5236 version.texi and inserted it in this Makefile.am. 5237 52382003-06-09 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu> 5239 5240 * mk-amd-map/mk-amd-map.c (main): open temp db file using O_EXCL, 5241 next best thing to using mkstemp(). Patch from Hendrik Scholz 5242 <hscholz@raisdorf.net>. 5243 52442003-05-08 Ion Badulescu <ion@guppy.limebrokerage.com> 5245 5246 * libamu/mount_fs.c (compute_automounter_mount_flags): use 5247 MNT2_GEN_OPT_AUTOMNTFS if available; minor cleanup 5248 5249 * m4/macros/header_templates.m4: added template for 5250 MNT2_GEN_OPT_AUTOMOUNTED 5251 52522003-05-01 Ion Badulescu <ionut@nicu.badula.org> 5253 5254 * amd/ops_xfs.c (mount_xfs): compile fix (s/genflags/flags/) 5255 52562003-04-23 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu> 5257 5258 * conf/transp/transp_sockets.c (create_amq_service): minor cpp 5259 directive indentation and commenting. 5260 52612003-04-22 Ion Badulescu <ionut@moisil.badula.org> 5262 5263 * conf/transp/transp_sockets.c (create_amq_service): Ugly *BSD fix 5264 for an RPC library DoS issue (original patch from Martin Blapp, 5265 massaged into something more digestable by me) 5266 52672003-04-14 Ion Badulescu <ionut@moisil.badula.org> 5268 5269 * conf/autofs/autofs_solaris_v2_v3.c: removed autofs_free_data(), 5270 left over from the recent cleanup 5271 52722003-04-13 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu> 5273 5274 * doc/Makefile.am (DVIPS): use proper options for dvips. 5275 5276 * doc/am-utils.texi (opts Option): document new 'unmount' option, 5277 and better explain the 'nounmount' option. Also some misc options 5278 for better generation of html manual. 5279 5280 * doc/Makefile.am (install-html): support newer texi2html 4.0 5281 options, as older options were renamed or changed behavior. 5282 5283 * amd/autil.c (am_mounted): support new 'unmount' option, to allow 5284 all file system mounts to timeout and thus expire. This option is 5285 useful for removable local media such as CD-ROMs, USB drives, 5286 etc. so they can expire when not in use, and get unmounted (such 5287 drives can get work out when they keep spinning). Patch from 5288 Christos Zoulas <christos@zoulas.com> (originally from Koji 5289 Imada). 5290 52912003-04-10 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu> 5292 5293 * configure.in: use AM_MAINTAINER_MODE, so maintainer-only rules 5294 do not get added to Makefiles by default (they are confusing to 5295 users who don't have autotools installed). 5296 52972003-04-09 Ion Badulescu <ion@guppy.limebrokerage.com> 5298 5299 * amd/mntfs.c (find_mntfs): revert the "change of philosophy" (see 5300 the 2001-05-23 entry) back to the 6.0 code 5301 53022003-04-04 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu> 5303 5304 * libamu/xutil.c (switch_to_logfile): don't try to print logfile 5305 if it is null (strlen core dump on solaris). Bug report from John 5306 P. Rouillard <rouilj@ieee.org>. 5307 53082003-03-31 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu> 5309 5310 * fsinfo/fsinfo.8: typo co-ordinate -> coordinate. Typo report 5311 from Perry E. Metzger" <perry@piermont.com>. 5312 53132003-03-25 Erez Zadok <ezk@filer.fsl.cs.sunysb.edu> 5314 5315 * include/am_defs.h: Don't include malloc.h if stdlib.h exists, 5316 because modern systems (e.g., BSD) complain if you use malloc.h 5317 instead of stdlib.h. Let's hope there are no systems out 5318 there that need both. 5319 53202003-03-20 Erez Zadok <ezk@suse73.fsl.cs.sunysb.edu> 5321 5322 * minor new port: sparc64-unknown-linux-suse7.3. 5323 53242003-03-20 Erez Zadok <ezk@a-freebsd5.fsl.cs.sunysb.edu> 5325 5326 * minor new port: i386-unknown-freebsd5.0. 5327 5328 * configure.in: detect nfsclient/nfsargs.h. 5329 5330 * conf/nfs_prot/nfs_prot_freebsd3.h: include 5331 <nfsclient/nfsargs.h>, needed in FreeBSD 5.0. 5332 53332003-03-15 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu> 5334 5335 * amd/amd.8, amd/amd.8, fixmount/fixmount.8, hlfsd/hlfsd.8, 5336 scripts/amd.conf.5, scripts/expn.1: minor spell checking and 5337 extraneous space elimination. 5338 53392003-03-07 Ion Badulescu <ionut@buggy.badula.org> 5340 5341 * conf/autofs/autofs_linux.c (autofs_get_fh): don't leak file 5342 descriptors if limit exceeded 5343 (autofs_mounted): call autofs_get_mp(); init am_autofs_ttl 5344 (autofs_release_fh): release pending_mounts and pending_umounts 5345 queues 5346 (autofs_timeout_mp): update am_autofs_ttl instead of am_ttl 5347 5348 * amd/mntfs.c (init_mntfs): delete initialization of removed 5349 mf_autofs_fh 5350 (uninit_mntfs): delete call to autofs_release_fh() 5351 5352 * amd/map.c (init_map): init autofs_fh to 0, delete initialization 5353 of removed autofs_data 5354 (free_map): release autofs_fh after unmounting map; delete call to 5355 autofs_free_data() 5356 (umount_exported): call autofs_release_mp() prior to unmounting 5357 autofs f/s 5358 (unmount_mp): ditto 5359 (free_map_if_success): call autofs_get_mp() if unmounting fails 5360 (timeout_mp): use the dedicated am_autofs_ttl timeout for f/s-wide 5361 timeouts instead of the per-mountpoint am_ttl 5362 5363 * amd/autil.c (am_unmounted): release autofs_fh after unmounting 5364 autofs f/s 5365 5366 * amd/amfs_generic.c (amfs_cont): release autofs_fh if mounting 5367 autofs f/s fails; 5368 (amfs_bgmount): ditto 5369 5370 * amd/amd.h: moved autofs_fh from mntfs to am_node, since it's 5371 more related to the mount point than to the f/s mounted; 5372 added am_autofs_ttl to am_node, for running expirations on entire 5373 filesystems 5374 5375 * conf/autofs/autofs_*: autofs_get_fh() returns int instead of 5376 autofs_fh_t *; autofs_release_fh() now takes an am_node * parameter 5377 instead of autofs_fh_t *, in an effort to not deal with 5378 autofs-specific data structures outside autofs code; 5379 new methods autofs_get_mp() and autofs_release_mp(), which 5380 acquire/release autofs resources to allow clean unmount attempts; 5381 nuke autofs_data_t, never used 5382 5383 * amd/amd.h: prototypes for new and changed autofs functions 5384 53852003-03-07 Ion Badulescu <ion@guppy.limebrokerage.com> 5386 5387 * amd/nfs_subr.c (do_readlink): eliminate third argument, never used 5388 (nfsproc_getattr_2_svc): reorganize the code a bit 5389 5390 * amd/map.c (mk_fattr): take a nfsfattr * argument instead of an 5391 am_node * argument 5392 5393 * amd/amd.h: changed prototype for mk_fattr() 5394 5395 * amd/autil.c (am_unmounted): when remounting, use the parent 5396 node's lookup_child() and mount_child() operations, not the 5397 generic ones 5398 5399 * amd/amfs_generic.c (amfs_cont): minor code optimization 5400 54012003-03-06 Ion Badulescu <ion@guppy.limebrokerage.com> 5402 5403 * amd/amfs_auto.c: lots of renames and code moving: 5404 amfs_auto_match() -> amfs_generic_match(), moved to generic; 5405 amfs_auto_mkcacheref() -> amfs_mkcacheref(), moved to autil.c; 5406 amfs_auto_mounted() -> amfs_generic_mounted(), moved to generic; 5407 amfs_auto_umount() -> amfs_generic_umount(), moved to generic; 5408 free_continuation(): moved to generic, made static; 5409 assign_error_mntfs(): moved to autil.c; 5410 amfs_auto_cont() -> amfs_cont(), moved to generic, made static; 5411 amfs_auto_retry() -> amfs_retry(), moved to generic, made static; 5412 try_mount() + mount_node() -> mount_node(), moved to map.c 5413 amfs_auto_bgmount() -> amfs_bgmount(), moved to generic; 5414 amfs_parse_defaults(): moved to generic; 5415 amfs_auto_lookup_node() -> amfs_lookup_node(), moved to generic; 5416 amfs_auto_lookup_one_mntfs() -> amfs_lookup_one_mntfs(), in generic; 5417 amfs_auto_lookup_mntfs() -> amfs_lookup_mntfs(), moved to generic; 5418 amfs_auto_mount_child() -> amfs_generic_mount_child(), in generic; 5419 amfs_auto_lookup_child() -> amfs_generic_lookup_child(), in generic; 5420 next_nonerror_node(): moved to autil.c; 5421 amfs_auto_readdir() -> amfs_generic_readdir(), moved to readdir; 5422 amfs_auto_readdir_browsable() -> amfs_readdir_browsable(), in readdir; 5423 5424 * amd/amfs_toplvl.c: mount_amfs_toplvl() renamed to amfs_mount() 5425 and moved to autil.c 5426 5427 * amd/readdir.c, amd/amfs_generic.c: new files with stuff ripped 5428 out of amd/amfs_auto.c 5429 5430 * amd/amd.h: struct continuation moved to generic.c; prototypes 5431 for the renamed functions; NumChild renamed to NumChildren 5432 5433 * amd/map.c: collaped unmount_node_wrap() and unmount_node() into 5434 the latter 5435 5436 * amd/mapc.c: key_already_in_chain(): moved to readdir.c; 5437 make_entry_chain(): moved to readdir.c; 5438 5439 * amd/srvr_amfs_auto.c: find_amfs_auto_srvr() renamed to 5440 amfs_generic_find_srvr() 5441 5442 * amd/amfs_*.c: adjustments for the renames above 5443 5444 * amd/ops_*.c: low-level filesystems don't need a find_server() 5445 method 5446 5447 * amd/Makefile.am: added amfs_generic.c and readdir.c 5448 5449 * doc/am-utils.texi: minor clarification for auto maps 5450 54512003-03-06 Ion Badulescu <ion@guppy.limebrokerage.com> 5452 5453 * amd/amd.h: moved lots and lots of amd-only stuff here, from 5454 include/am_utils.h; changed task_fun, cb_fun and fwd_fun typedefs 5455 to be function typedefs, not pointer to function typedefs 5456 5457 * include/am_utils.h: see above 5458 5459 * amd/ops_nfs.c, amd/rpc_fwd.c, amd/sched.c: adjustments for 5460 function typedef changes 5461 54622003-03-05 Erez Zadok <ezk@cs.sunysb.edu> 5463 5464 * BUGS: record IBM's patch number for the AIX 5.2 NFS over IPv6 5465 bug. 5466 54672003-02-02 Erez Zadok <ezk@siamese.fsl.cs.sunysb.edu> 5468 5469 * NEWS: minor new port: ia64-unknown-linux-rh2.1AS 5470 54712003-01-31 Ion Badulescu <ion@console.limebrokerage.com> 5472 5473 * m4/macros/os_cflags.m4: rhapsody and darwin are the same 5474 5475 * amd/autil.c (mount_node): vastly simplified, just a wrapper now 5476 5477 * amd/amfs_inherit.c (amfs_inherit_mount): remove the am_mounted() 5478 hack, we now do it properly in the generic code 5479 5480 * amd/amfs_auto.c (amfs_auto_bgmount): get the autofs_fh _before_ 5481 forking the child; set and reset MFF_MOUNTING here, not in 5482 mount_node(), because the latter might be running in child 5483 context; call am_mounted() after a successful foreground mount 5484 54852003-01-29 Ion Badulescu <ionut@moisil.badula.org> 5486 5487 * configure.in: new flag --with[out]-ndbm; don't pull in libldap 5488 if building --without-ldap; look for the gdbm/ndbm.h header; make 5489 explicit the dependency between the ndbm headers and libraries; 5490 define NEW_DBM_H as the ndbm header that should be used 5491 5492 * include/am_defs.h: simply include NEW_DBM_H for ndbm stuff, 5493 instead of trying to second-guess configure 5494 5495 * m4/macros/header_templates.m4: new template for NEW_DBM_H 5496 5497 * m4/macros/check_map_funcs.m4: 5498 (ac_upcase_map_name): use the third argument correctly 5499 5500 * ltmain.sh: working version from libtool-1.4.2-7 5501 5502 * buildall: print the entire configure command, including extra 5503 arguments; pass each of the extra arguments separately, not 5504 commingled into one 5505 55062003-01-28 Ion Badulescu <ion@guppy.limebrokerage.com> 5507 5508 * include/am_utils.h (DEBUG_MNTTAB): define outside of #ifdef 5509 DEBUG; it is not used without DEBUG, but it is referenced at 5510 compile time. Bug report from John Kilburg <john@physics.unlv.edu>. 5511 (D_ALL): don't include D_XDRTRACE, too verbose and normally 5512 unnecessary 5513 55142003-01-28 Erez Zadok <ezk@cs.sunysb.edu> 5515 5516 * ltmain.sh, config.guess, config.sub, doc/texinfo.tex: updates 5517 from latest official GNU versions. 5518 55192003-01-25 Erez Zadok <ezk@cs.sunysb.edu> 5520 5521 * BUGS (Note): document AIX-5.1 NFS-client side bug (hangs in 5522 vmount). 5523 55242003-01-25 Ion Badulescu <ionut@moisil.badula.org> 5525 5526 * Released beta version 6.1b2 5527 55282003-01-24 Ion Badulescu <ionut@moisil.badula.org> 5529 5530 * amd/autil.c (am_unmounted): reset MFF_MKMNT from mf_flags when 5531 calling rmdirs() on mountpoint 5532 5533 * amd/amfs_auto.c (amfs_auto_bgmount): ditto 5534 5535 * amd/amfs_nfsl.c (amfs_nfsl_umounted): ditto 5536 5537 * doc/am-utils.texi (opts Option): "sftlookup" -> "softlookup" 5538 5539 * NEWS: "sftlookup" -> "softlookup" 5540 5541 * amd/ops_nfs.c (nfs_mount): "sftlookup" -> "softlookup", also 5542 check for "nosoftlookup" in combination with "soft" 5543 55442003-01-23 Ion Badulescu <ion@guppy.limebrokerage.com> 5545 5546 * m4/macros/check_nfs_fh_dref.m4: darwin/rhapsody is another 5547 freebsd22 derivative 5548 5549 * NEWS: updated for Darwin changes 5550 5551 * .cvsignore: added A.i386-apple-darwin6.0 5552 5553 * m4/macros/os_cflags.m4: add -D_P1003_1B_VISIBLE to cflags for 5554 Darwin 5555 55562003-01-23 Erez Zadok <ezk@cs.sunysb.edu> 5557 5558 * conf/mount/mount_aix.c (mount_aix3): clean back this file from 5559 all the debugging cruft that is no longer needed (and really was 5560 never needed in the first place). 5561 55622003-01-10 Erez Zadok <ezk@cs.sunysb.edu> 5563 5564 * scripts/test-amd.{misc,conf}: simple amd.conf and amd.misc 5565 (map) files for testing basic amd functionality such as whether it 5566 can mount its own mount NFS points. 5567 55682002-12-28 Ion Badulescu <ionut@moisil.badula.org> 5569 5570 * amd/srvr_nfs.c (start_nfs_pings): don't set FSF_PINGING if 5571 pings are disabled 5572 5573 * libamu/xdr_func.c (xdr_ftype): use a local enum_t variable 5574 instead of casting the pointer to (enum_t *) 5575 (xdr_mountstat3): ditto 5576 (xdr_nfsstat): ditto 5577 5578 * libamu/misc_rpc.c (make_rpc_packet): fix make_rpc_packet() on 5579 64-bit big-endian platforms, bug report from Bill Fenner 5580 <fenner@research.att.com> 5581 5582 * configure.in: increase library patchlevel 5583 5584 * libamu/xutil.c (amu_release_controlling_tty): close and reopen 5585 file descriptors 0,1,2 before calling setsid() 5586 55872002-12-27 Erez Zadok <ezk@cs.sunysb.edu> 5588 5589 * updated copyright year to 2003 on all files 5590 55912002-12-10 Erez Zadok <ezk@localhost.localdomain> 5592 5593 * rename "aux/" subdir into "m4/" so as to avoid problems with 5594 MS-DOS systems (where "AUX" is a reserved name). This required 5595 fixing numerous files. 5596 55972002-12-10 Erez Zadok <ezk@filer.fsl.cs.sunysb.edu> 5598 5599 * configure.in: don't check for bad hasmntopt() function if 5600 hasmntopt() doesn't exist on the system, because we will replace 5601 it with our own version anyway. 5602 5603 * conf/transp/transp_sockets.c (amu_get_myaddress): use "%lx" in 5604 dlog because htonl() returns a u_long. 5605 56062002-12-10 Erez Zadok <ezk@localhost.localdomain> 5607 5608 * include/am_defs.h: use system's hasmntopt() only if it is found 5609 and it is not buggy. 5610 5611 * libamu/hasmntopt.c (nextmntopt): isspace() takes an int, not a 5612 char. 5613 5614 * amd/am_ops.c, amd/amfs_auto.c, amd/autil.c, amd/nfs_subr.c, 5615 amd/ops_cdfs.c, amd/ops_nfs.c, amd/srvr_nfs.c, libamu/hasmntopt.c, 5616 libamu/mount_fs.c, libamu/mtab.c: rename all uses of hasmntopt() 5617 to amu_hasmntopt(). Don't use hasmntopt() directly any more! 5618 5619 * aux/macros/func_bad_hasmntopt.m4: new M4 macro to test for a bad 5620 hasmntopt() function, which incorrectly finds the option "soft" in 5621 a string "hard,softlookup,ro". 5622 5623 * libamu/hasmntopt.c (hasmntopt): use 'const' on two args to 5624 hasmntopt(), to match what most systems use. 5625 5626 * aux/macros/header_templates.m4: template for HAVE_BAD_HASMNTOPT. 5627 5628 * configure.in: invoke test for bad hasmntopt() 5629 5630 * NEWS: minor new port, i386-pc-linux-rh8.0. 5631 Mention autofs-v4 on solaris9 works. 5632 5633 * bootstrap: remove any autom4te-*.cache directories, now that 5634 autoconf uses a version number for them. 5635 56362002-12-09 Ion Badulescu <ionut@moisil.badula.org> 5637 5638 Patches from Christos Zoulas: 5639 5640 -1- am_utils.h: add full prototypes 5641 -2- amfs_auto.c make functions static and add prototypes 5642 -3- map.c: kill double free 5643 -5- transp_sockets.c: add full prototypes 5644 56452002-12-09 Ion Badulescu <ionut@moisil.badula.org> 5646 5647 * NEWS: updated 5648 5649 * doc/am-utils.texi (opts Option): document sftlookup 5650 5651 * conf/autofs/autofs_solaris_v2_v3.c: compile fixes 5652 56532002-11-22 Erez Zadok <ezk@filer.fsl.cs.sunysb.edu> 5654 5655 * amd/info_ldap.c (amu_ldap_rebind): gopt.ldap_cache_seconds is 5656 %ld not %d. 5657 56582002-11-21 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu> 5659 5660 * {amd,fsinfo}/Makefile.am: remove special rules for processing 5661 yacc/lex files, now that autoconf/automake properly handle them 5662 better (esp. now that bison 1.75 behaves differently than older 5663 bison versions). 5664 56652002-11-21 Erez Zadok <ezk@cs.sunysb.edu> 5666 5667 * config.guess.long: updated script so it will properly find the 5668 version number of the new Itanium 2 machines running "Red Hat 5669 Linux Advanced Workstation release 2.1AW (Derry)". The script now 5670 will report ia64-unknown-linux-rh2.1AW. 5671 56722002-11-20 Ion Badulescu <ionut@moisil.badula.org> 5673 5674 * amfs_auto_bgmount(): almost complete rewrite 5675 5676 * fixed amfs_inherit to do the right thing and not dereference 5677 freed mntfs'es 5678 5679 * #if 0'ed bogus code in fh_to_mp3() -- it is now done properly in 5680 amfs_autofs_lookup_child() 5681 5682 * release the autofs_fh only in one place 5683 5684 * remove the mountpoint only if mf_refc == 1 5685 5686 * print the mntfs type in free_mntfs() 5687 5688 * new pseudo-mount option 'sftlookup' which causes lookups to 5689 mounted shares from downed servers to return EIO; the default 5690 depends on whether the mount is 'hard' or 'soft' 5691 5692 * improved querying of supported NFS versions on the server -- 5693 don't even try if it's known to be down 5694 5695 * solaris autofs mount code moved to transp_{sockets,tli}.c 5696 5697 * incipient (non-functional) AIX autofs support 5698 56992002-11-11 Ion Badulescu <ion@guppy.limebrokerage.com> 5700 5701 * doc/am-utils.texi (Keep-alives): removed outdated info about not 5702 maintaining the state of TCP NFS servers 5703 57042002-11-04 Ion Badulescu <ion@guppy.limebrokerage.com> 5705 5706 * include/am_utils.h: prototype for ops_search() 5707 5708 * amd/am_ops.c (ops_search): new function for searching the right 5709 set of ops for a given filesystem type 5710 5711 * amd/restart.c (restart): cleanup and split into two functions in 5712 preparation for handling the restart of amd's own mount points 5713 (restart_fake_mntfs): new function, factored out from restart() 5714 57152002-11-04 Ion Badulescu <ionut@buggy.badula.org> 5716 5717 * amd/ops_cdfs.c (mount_cdfs): remove special code for loop device 5718 (cdfs_umount): ditto 5719 5720 * conf/mount/mount_linux.c (mount_linux): factor it out to 5721 mount_linux_nfs() and mount_linux_nonfs() 5722 (mount_linux_nonfs): generalize loop device support to all 5723 filesystems (not just cdfs); make it automatic for anything that's 5724 a regular file 5725 (parse_opts): deprecate the explicit "loop" mount option 5726 (do_mount_linux): minor cleanup 5727 5728 * conf/umount/umount_default.c (umount_fs2): release loop device 5729 on umount() 5730 57312002-11-03 Erez Zadok <ezk@cnm20> 5732 5733 * include/am_defs.h: moved #include of net/if.h above net/route.h, 5734 because on AIX 5.2 if.h is needed for route.h (let's hope it 5735 doesn't break things on other systems). 5736 5737 * include/am_defs.h: AIX 5.2 needs struct sigevent from signal.h 5738 to be defined, but I don't want to move the inclusion of signal.h 5739 this early into this file. Luckily, amd doesn't need the size of 5740 this structure in any other structure that it uses. So we 5741 sidestep it for now. 5742 5743 * conf/nfs_prot/nfs_prot_aix5_2.h: AIX 5.2 wants 'struct pathcnf', 5744 but I couldn't find its definition anywhere. Luckily, amd doesn't 5745 need the size of this structure in any other structure that it 5746 uses. So we sidestep it for now. 5747 57482002-11-02 Erez Zadok <ezk@cs.sunysb.edu> 5749 5750 * config.guess, config.sub, doc/texinfo.tex: updates from 5751 the latest GNU distributions (2002-09-05). 5752 57532002-10-30 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu> 5754 5755 * conf/nfs_prot/nfs_prot_aix5_2.h: add more definitions from 5756 mount.h for NFSOPT_* and NFSMNT_*. 5757 Don't use typedefs that aren't found in system header files. 5758 57592002-10-30 Erez Zadok <ezk@cs.sunysb.edu> 5760 5761 * Makefile.am (EXTRA_DIST_CONF): distribute nfs_prot_aix5_2.h. 5762 5763 * conf/nfs_prot/nfs_prot_aix5_2.h: new file. 5764 5765 * aux/macros/struct_nfs_args.m4 (ac_cv_have_struct_nfs_args): look 5766 for "struct aux52_nfs_args". 5767 5768 * aux/macros/check_nfs_prot_headers.m4: define new header file for 5769 AIX 5.2. 5770 57712002-10-21 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu> 5772 5773 * scripts/amd.conf.5 (ldap_proto_version): document in amd.conf 5774 man page. 5775 5776 * scripts/amd.conf-sample (ldap_proto_version): show example of use 5777 5778 * doc/am-utils.texi (ldap_proto_version Parameter): document new 5779 amd.conf option. 5780 5781 * amd/conf.c (gopt_ldap_proto_version): new conf function to 5782 support ldap_proto_version amd.conf parameter. 5783 5784 * amd/amd.h: field to hold LDAP protocol version. 5785 5786 * amd/amd.c (init_global_options): set default for 5787 ldap_proto_version. ldap_proto_version patch from George Ross 5788 <gdmr@dcs.ed.ac.uk> and Tim Colles <timc@inf.ed.ac.uk>. 5789 5790 * amd/info_ldap.c (amu_ldap_unbind): ignore SIGPIPE errors while 5791 unbinding from an LDAP server that may have been restarted. Fix 5792 from George Ross <gdmr@dcs.ed.ac.uk>. 5793 57942002-09-17 Ion Badulescu <ion@guppy.limebrokerage.com> 5795 5796 * remove all autoconf stuff added for sys_nerr 5797 5798 * amq/amq.c, libamu/xutil.c, hlfsd/hlfsd.c: always use strerror 5799 5800 * libamu/strerror.c: more explicit text for unknown errno's 5801 58022002-10-01 Erez Zadok <ezk@cs.sunysb.edu> 5803 5804 * include/am_defs.h: define "extern int sys_err" if needed. 5805 5806 * aux/macros/header_templates.m4: template for 5807 HAVE_EXTERN_SYS_NERR. 5808 5809 * hlfsd/hlfsd.h, libamu/xutil.c (expand_error), amq/amq.c 5810 (show_mi): remove "extern int sys_err" 5811 5812 * configure.in: execute test for "extern int sys_err" 5813 5814 * Makefile.am (EXTRA_DIST_AUX): distribute new extern_sys_err.m4 file. 5815 5816 * aux/macros/extern_sys_nerr.m4: new test to check for existence 5817 of "extern int sys_nerr" definition in system headers. 5818 58192002-09-17 Ion Badulescu <ion@guppy.limebrokerage.com> 5820 5821 * libamu/xutil.c (dbg_opt): bring comments in line with the code 5822 5823 * hlfsd/hlfsd.c (main): use amuDebug() instead of touching 5824 debug_flags directly 5825 5826 * amd/amd.c (main): don't init debug_flags, leave it as zero (no 5827 debugging by default) 5828 58292002-09-11 Ion Badulescu <ion@guppy.limebrokerage.com> 5830 5831 Debug code sanitization: 5832 5833 - amuDebug() becomes an expression, and explicit if() statements 5834 are added around it throughout the code 5835 - amuDebugNo() goes away (ugh!) 5836 - D_AMQ, D_DAEMON and D_FORK reverse their meaning 5837 - D_ALL contains only options that don't affect amd's functionality 5838 58392002-09-04 Ion Badulescu <ion@guppy.limebrokerage.com> 5840 5841 * amd/amfs_auto.c (free_continuation): avoid double-free'ing the 5842 mntfs if there was an error/timeout 5843 58442002-09-04 Ion Badulescu <ion@guppy.limebrokerage.com> 5845 5846 * amd/amfs_auto.c (amfs_auto_lookup_mntfs): use ereturn() instead 5847 of "return NULL" to signal an error to the upper layers 5848 (amfs_auto_mount): use strdup so the string can be free'd later on 5849 [Debian bug report from Matt Chapman <matthewc@cse.unsw.edu.au>] 5850 58512002-09-03 Ion Badulescu <ion@guppy.limebrokerage.com> 5852 5853 Patches from George Ross <gdmr@dcs.ed.ac.uk>: 5854 5855 * amd/amfs_auto.c (assign_error_mntfs): do not discard old mntfs, 5856 it will be done in free_continuation(); assorted debugging messages 5857 5858 * amd/srvr_nfs.c (nfs_timed_out): allocate a new XID on server 5859 timeout to avoid problems with late ping replies 5860 5861 * amd/mntfs.c (free_mntfs): sanity check for mf_refc; assorted 5862 debugging messages 5863 5864 * amd/map.c (unmount_node): more verbose debug message 5865 58662002-07-29 Ion Badulescu <ion@guppy.limebrokerage.com> 5867 5868 * amd/amfs_auto.c (amfs_auto_lookup_mntfs): prevent deferencing 5869 de-allocated memory in str3cat 5870 (amfs_auto_lookup_mntfs): check for buffer overflow 5871 58722002-07-11 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu> 5873 5874 * scripts/expn.{1,in}: fixed typos as reported by Thomas Klausner 5875 <wiz@danbala.ifoer.tuwien.ac.at>. 5876 58772002-06-26 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu> 5878 5879 * doc/Makefile.am (install-html): don't use locally hacked 5880 texi2html features. 5881 5882 * conf/transp/transp_sockets.c (amu_get_myaddress): Most modern 5883 systems should use 127.0.0.1 as the localhost address over which 5884 you can do NFS mounts. In the past we found that some NFS clients 5885 may not allow mounts from localhost. So we used get_myaddress() 5886 and that seemed to work. Alas, on some other systems, 5887 get_myaddress() may return one of the interface addresses at 5888 random, and thus use a less efficient IP address than 127.0.0.1. 5889 The solution is to hard-code 127.0.0.1, but still check if 5890 get_myaddress() returns a different value and warn about it. 5891 5892 * doc/am-utils.texi: don't use ':' in @cindex entries. 5893 58942002-06-25 Ion Badulescu <ion@guppy.limebrokerage.com> 5895 5896 * Released beta version 6.1b1 5897 58982002-06-24 Ion Badulescu <ionut@moisil.badula.org> 5899 5900 * aux/macros/struct_nfs_args.m4: added test for aix51_nfs_args 5901 5902 * conf/nfs_prot/nfs_prot_aix5_1.h: rename aix42_nfs_args to 5903 aix51_nfs_args, rename unknown fields to u<number>, add the 5904 unknown new field into the middle of the old 4.2 structure 5905 59062002-06-24 Ion Badulescu <ion@guppy.limebrokerage.com> 5907 5908 * include/am_compat.h: better test for struct netconfig 5909 (!HAVE_NETCONFIG_H && !HAVE_SYS_NETCONFIG_H) 5910 5911 * aux/macros/check_nfs_prot_headers.m4: added new header for aix5.1+ 5912 5913 * buildall: fix 'buildall -b' on hpux9 and aix5.1 5914 59152002-06-24 Ion Badulescu <ionut@buggy.badula.org> 5916 5917 * INSTALL: updated 5918 5919 * conf/autofs/autofs_solaris_v1.c (autofs_link_mount): compile fix 5920 (autofs_link_umount): ditto 5921 5922 * amd/mntfs.c (init_mntfs): don't use autofs if !amd_use_autofs 5923 59242002-06-23 Ion Badulescu <ionut@moisil.badula.org> 5925 5926 * conf/autofs/autofs_linux.c: compile fixes for autofs v3 5927 59282002-06-23 Ion Badulescu <ionut@moisil.badula.org> 5929 5930 * conf/autofs/autofs_solaris_v2_v3.c (autofs_mounted): no 5931 expirations needed; 5932 (autofs_timeout_mp): likewise 5933 5934 * conf/autofs/autofs_solaris_v1.c (autofs_mounted): no expirations 5935 needed; 5936 (autofs_timeout_mp): likewise 5937 5938 * conf/autofs/autofs_linux.c (autofs_mounted): set the first 5939 expiration interval 5940 5941 * amd/autil.c (am_mounted): call autofs_mounted here, instead of 5942 in mf_mounted() 5943 5944 * amd/amd.h (NEVER): moved here from map.c 5945 (autofs_mounted): change argument from mntfs* to am_node* 5946 59472002-06-23 Ion Badulescu <lionut@gonzales.badula.org> 5948 5949 * conf/autofs/autofs_linux.c (autofs_mounted): set the kernel 5950 timeout on the autofs mountpoint to cache_duration (gopt.am_timeo) 5951 (autofs_timeout_mp): don't update the ttl if we're going down 5952 5953 * amd/map.c (timeout_mp): don't call autofs_timeout_mp unless the 5954 timeout on that particular am_node has expired 5955 5956 * conf/autofs/autofs_linux.c (autofs_timeout_mp): really update 5957 the ttl, as per the comment (compilers are not very good at 5958 translating comments into code...) 5959 5960 * amd/amfs_auto.c (amfs_auto_lookup_one_mntfs): strdup am_path 5961 instead of opt_rfs into opt_fs for autofs, thus avoiding conflicts 5962 between link mounts pointing to the same target 5963 59642002-06-23 Ion Badulescu <lionut@gonzales.badula.org> 5965 5966 * conf/autofs/autofs_linux.c (send_fail, send_ready): new helper 5967 functions for sending messages back to the kernel 5968 (autofs_expire_one): initial implementation of the kernel-based 5969 expiration handler 5970 (autofs_handle_expire): call autofs_expire_one() 5971 (autofs_handle_expire_multi): ditto 5972 (autofs_umount_succeeded): search pending_umounts, send message 5973 back to the kernel 5974 (autofs_umount_failed): ditto 5975 (autofs_mount_succeeded): tell amd core not to expire autofs entries 5976 (autofs_timeout_mp): expiration function for autofs filesystems 5977 (autofs_timeout_mp_task): helper function for autofs_timeout_mp 5978 5979 * conf/autofs/autofs_linux.h: new struct autofs_pending_umount for 5980 keeping tracking of pending umounts 5981 (autofs_fh_t) rename pending to pending_mounts, add pending_umounts 5982 5983 * conf/autofs/autofs_solaris_v1.c (autofs_timeout_mp): stub 5984 5985 * conf/autofs/autofs_solaris_v2_v3.c (autofs_timeout_mp): stub 5986 5987 * amd/map.c (timeout_mp): call autofs_timeout_mp() for autofs 5988 filesystems 5989 5990 * amd/autil.c (mf_mounted): move here the call autofs_mounted() 5991 from amfs_auto_mounted(). 5992 59932002-06-22 Erez Zadok <ezk@whitestar.dyn.optonline.net> 5994 5995 * amd/nfs_start.c (mount_automounter): Security fix. if user sets 5996 -D noamq, don't even create listening socket. Suggestion by Ed 5997 Ravin <eravin@panix.com>. 5998 59992002-06-22 Ion Badulescu <lionut@gonzales.badula.org> 6000 6001 * hlfsd/homedir.c (homedir): use setgid() instead of setegid() 6002 6003 * ALL: #ifdef cleanups, unify some TLI/socket function prototypes 6004 60052002-06-22 Erez Zadok <ezk@whitestar.dyn.optonline.net> 6006 6007 * conf/nfs_prot/nfs_prot_netbsd1_4.h: minor port to support 6008 na_gid and na_uid. NetBSD patch from Jun-ichiro itojun Hagino 6009 <itojun@iijlab.net>. 6010 6011 * doc/am-utils.texi (Option): document xlatecookie mount option. 6012 6013 * libamu/mount_fs.c (compute_nfs_args): support "xlatecookie" 6014 NFS mount option. Patch from Matthias Scheler <tron@zhadum.de> 6015 for NetBSD. 6016 60172002-06-22 Ion Badulescu <ionut@edgar.badula.org> 6018 6019 * conf/autofs/autofs_solaris_v1.h: add FS_MBACKGROUND to 6020 AUTOFS_LINK_FS_FLAGS 6021 6022 * conf/autofs/autofs_solaris_v1.c: convert link mounts to lofs 6023 mounts in autofs_link_mount/umount 6024 60252002-06-22 Ion Badulescu <lionut@gonzales.badula.org> 6026 6027 * configure.in: check for devid inside struct umntrequest 6028 6029 * conf/autofs/autofs_solaris_v2_v3.c (xdr_umntrequest): handle the 6030 new umntrequest structure in v4. 6031 (autofs_unmount_2_req): ditto 6032 6033 * README.autofs: updated for Solaris 2.5/2.5.1 6034 60352002-06-22 Erez Zadok <ezk@whitestar.dyn.optonline.net> 6036 6037 * configure.in: only define LDAP/Hesiod if both the headers and 6038 the libraries exist, and the user didn't explicitly disable those 6039 maps. 6040 60412002-06-22 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu> 6042 6043 * doc/am-utils.texi: fix typos. Can't use ":" in @cindex entries. 6044 60452002-06-22 Erez Zadok <ezk@whitestar.dyn.optonline.net> 6046 6047 * doc/am-utils.texi, scripts/amd.conf.5, scripts/amd.conf-sample, 6048 amd/amd.8, amd/get_args.c (get_args): document amd -A option. 6049 6050 * amd/get_args.c (get_args): support "amd -A arg" option to 6051 override the system's detected architecture. Patch from George 6052 Ross <gdmr@dcs.ed.ac.uk>. 6053 6054 * amd/info_ldap.c (amu_ldap_rebind): don't use ldap_enable_cache() 6055 if the system doesn't have it. 6056 6057 * configure.in: detect existence of ldap_enable_cache function, 6058 because it doesn't exist on Solaris 9's latest ldap libraries. 6059 6060 * amd/info_ldap.c: LDAP patches from George Ross 6061 <gdmr@dcs.ed.ac.uk>. Rework of old code, support for wildcards in 6062 LDAP queries, and an FD leak fix. 6063 60642002-06-22 Ion Badulescu <lionut@gonzales.badula.org> 6065 6066 * buildall: use ksh for configure on aix5.1; pass the extra 6067 arguments after "--" to configure, not to make 6068 6069 * Makefile.am: added nfs_prot_aix4_3.h to EXTRA_DIST_CONF 6070 6071 * conf/mount/mount_aix.c (mount_aix3): if the NFSv3 mount fails 6072 with EINVAL and we have MOUNT_TYPE_NFS3_BIS defined, retry the 6073 mount with the alternative nfs3_args structure 6074 6075 * conf/nfs_prot/nfs_prot_aix4_3.h: added alternative nfs3_args 6076 structure, similar to that in aix5.1, for a hack that tries to 6077 compensate for IBM's brain fart 6078 6079 * conf/nfs_prot/nfs_prot_aix5_1.h: new nfs_prot header for aix5.1+ 6080 6081 * aux/macros/check_nfs_prot_headers.m4: added new header for aix5.1+ 6082 6083 * BUGS: update for direct mounts on Linux; document the brokenness 6084 of /bin/sh on AIX 5.1 and HP-UX 9 6085 6086 * NEWS: aix5.1 port, aix4.3 workaround 6087 60882002-06-22 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu> 6089 6090 * ltmain.sh: use libtool 1.4d, needed support for newer AIX. 6091 60922002-06-21 Ion Badulescu <ion@guppy.limebrokerage.com> 6093 6094 * aux/macros/check_autofs_style.m4: enable autofs_v2_v3 for 6095 all solaris2.6+, not just for 2.[6-8] 6096 6097 * conf/autofs/autofs_default.h: disable autofs if configure 6098 detects it 6099 61002002-06-21 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu> 6101 6102 * aux/macros/with_addon.m4: correct M4 quoting. 6103 6104 * aux/macros/cache_check_dynamic.m4: correct M4 quoting. 6105 6106 * bootstrap: show version of autotools being used. Helps 6107 maintainer debugging. 6108 6109 * configure.in: new proper syntax for libtool and 6110 ansi2knr-filtering rules, required by autoconf 1.53 and higher. 6111 61122002-06-21 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 6113 6114 * aux/GNUmakefile: new search paths for "update" target. 6115 6116 * config.guess, config.sub, doc/texinfo.tex, ltmain: updates from 6117 the latest GNU distributions. 6118 61192002-06-11 Ion Badulescu <ion@guppy.limebrokerage.com> 6120 6121 * amd/amfs_auto.c (amfs_auto_lookup_child): split part of this 6122 function into the new amfs_auto_lookup_one_child function; return 6123 null if all ivecs failed to match 6124 61252002-05-30 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu> 6126 6127 * config.guess.long: support SuSE version names in long 6128 config.guess format. 6129 61302002-05-01 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 6131 6132 * scripts/lostaltmail.in (vrfy_user): unlink temp files if too 6133 small. 6134 61352002-04-07 Ion Badulescu <ionut@moisil.badula.org> 6136 6137 * hlfsd/hlfsd.c (main): compile fix for --enable-debug=no 6138 61392002-03-29 Ion Badulescu <ionut@moisil.badula.org> 6140 6141 * README.autofs: solaris 2.5/2.5.1 info, other minor changes 6142 6143 * doc/am-utils.texi (History): document solaris 2.5+ support 6144 6145 * include/am_utils.h: new member in struct mntfs: mfs_real_mount; 6146 autofs_fs_flags becomes conditional of HAVE_AUTOFS_FS; new 6147 prototype for umount_fs2(); extra argument for UMOUNT_FS() 6148 6149 * hlfsd/hlfsd.c: use the new mount_fs2() and UMOUNT_FS() 6150 6151 * libamu/mount_fs.c (mount_fs): wrapper around the new mount_fs2() 6152 function; swap mntdir and real_mntdir as necessary for solaris 2.5 6153 autofs support 6154 6155 * conf/umount/umount_default.c (umount_fs2): swap mntdir and 6156 real_mntdir as necessary for solaris 2.5 autofs support 6157 6158 * conf/umount/umount_*.c (umount_fs): wrapper around the new 6159 umount_fs2() function 6160 (umount_fs2): new function which takes the real mountpoint as an 6161 extra argument 6162 6163 * conf/nfs_prot/nfs_prot_sunos5_5.h: allow autofs support to be 6164 compiled in 6165 6166 * conf/autofs/autofs_solaris_v1.h (autofs_strdup_space_hack): new 6167 function that appends a space at the end of a string (the famous 6168 "Autofs Space Protocol") 6169 6170 * conf/autofs/autofs_solaris_v1.c: almost complete reimplementation 6171 6172 * conf/autofs/autofs_*.h (AUTOFS_*_FS_FLAGS): add 6173 system-specific definitions for these macros 6174 6175 * conf/autofs/autofs_linux.c (create_autofs_service): remove hacks 6176 which are now handled properly by more generic code 6177 (autofs_link_umount): complain if umount_fs() fails, rmdir the 6178 mountpoint on success 6179 (autofs_umount_succeeded): remove the rmdirs() code, now handled 6180 by generic code 6181 (autofs_mount_succeeded): ditto 6182 6183 * amd/nfs_start.c (checkup): implement it as an emtpy stub if 6184 DEBUG is not defined 6185 (run_rpc): call autofs_add_fdset() after umount_exported() to 6186 avoid passing invalid file descriptors to select(); use plog() 6187 instead of perror() 6188 6189 * amd/mntfs.c (init_mntfs): initialize mf_real_mount from mp 6190 (uninit_mntfs): free mf_real_mount 6191 6192 * amd/autil.c (am_unmounted): don't remove the mount point if a 6193 remount is pending, also don't make the removal conditional on not 6194 being an autofs mount point 6195 6196 * amd/amfs_nfsx.c (amfs_nfsx_remount): call mkdirs() on 6197 mf->mf_real_mount instead of mf->mf_mount 6198 6199 * amd/amfs_nfsl.c, amd/amfs_nfsx.c: (amfs_nfsl_umounted): call 6200 rmdirs() on mf->mf_real_mount instead of mf->mf_mount 6201 6202 * amd/amfs_host.c (make_mntpt): change the third argument to be 6203 the mountpoint, not the entire mntfs structure 6204 (do_mount): takes real_mntdir as an extra argument 6205 6206 * amd/amfs_auto.c (amfs_auto_bgmount): move the creation of the 6207 mountpoint here from try_mount(), otherwise the change to mf_flags 6208 is lost for background mounts; remove the mountpoint if we created 6209 it and the mount fails 6210 (amfs_auto_lookup_mntfs): re-initialize mf->mf_real_mount using 6211 autofs_strdup_space_hack() if NEED_AUTOFS_SPACE_HACK is defined 6212 6213 * amfs_*.c, ops_*.c: initialize autofs_fs_flags using the 6214 AUTOFS_*_FS_FLAGS macro defined in the system-specific autofs 6215 header; UMOUNT_FS() takes mf->mf_real_mount as an extra argument; 6216 mount_fs() becomes mount_fs2() and takes mf->mf_real_mount as an 6217 extra argument 6218 6219 * amd/amd.h, amd/ops_nfs.c, amd/amfs_host.c: mount_nfs_fh takes 6220 the real mountpoint as an additional argument 6221 62222002-03-28 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu> 6223 6224 * amd/ops_cdfs.c (mount_cdfs): correctly interpret error return 6225 values back from mount_fs(). Return correct error number from 6226 this function. 6227 6228 * conf/mount/mount_linux.c (do_mount_linux): cleanup loop mount 6229 cruft from this function, moved elsewhere. 6230 (mount_linux): prepare for loop-device mounts of ISO images. 6231 62322002-03-28 Ion Badulescu <ionut@buggy.badula.org> 6233 6234 * libamu/Makefile.am (EXTRA_DIST): added strerror.c 6235 6236 * libamu/strerror.c: strerror() implementation for systems lacking it 6237 6238 * doc/am-utils.texi (History): rewrote the history :) about autofs 6239 support 6240 6241 * conf/autofs/autofs_solaris_v2_v3.c: updated copyright; 6242 (autofs_unmount_2_req): minor cleanup 6243 (create_autofs_service): print log message 6244 (destroy_autofs_service): ditto 6245 6246 * conf/autofs/autofs_linux.c: updated copyright 6247 6248 * amd/nfs_start.c (mount_automounter): move the debug message into 6249 create_autofs_service() 6250 6251 * amd/amd.c (main): call destroy_autofs_service() before 6252 going_down(), not after 6253 6254 * configure.in: added strerror to AC_CHECK_FUNCS(); disable ldap 6255 if the ldap headers are not found 6256 62572002-03-28 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu> 6258 6259 * amd/info_ldap.c: patch from "Sebastien Bahloul" 6260 <sebastien.bahloul@medasys.org> to fix a simple initialization bug 6261 and change "HE" to HE_ENT so as to compile on HPUX. 6262 62632002-02-26 Erez Zadok <ezk@t3.fsl.cs.sunysb.edu> 6264 6265 * conf/nfs_prot/nfs_prot_freebsd3.h (na_uid): freebsd4.5 uses nfs 6266 atttributes field named "uid". So #define na_uid to it. 6267 62682002-02-12 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu> 6269 6270 * scripts/lostaltmail.in: don't verify user if -noverify option 6271 was turned on. fix comment typo. 6272 62732002-02-11 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu> 6274 6275 * amd/Makefile.am (TESTS): enable one test script, test1.sh. 6276 6277 * amd/test1.sh: re-commit simple test script. 6278 62792002-02-11 Ion Badulescu <ion@guppy.limebrokerage.com> 6280 6281 * Released snapshot 6.1a5 6282 6283 * NEWS: Solaris autofs readdir() support, Linux autofs sublink fix 6284 6285 * README: require newer auto-tools, update mailing list address 6286 6287 * README.autofs: major update 6288 6289 * configure.in: version changed to 6.1a5 6290 62912002-02-11 Ion Badulescu <ionut@moisil.badula.org> 6292 6293 * conf/autofs/autofs_linux.c (autofs_link_mount): don't do a 6294 stat() on the am_link if called from the parent amd, to prevent 6295 deadlocks 6296 6297 * amd/autil.c (am_unmounted): call amfs_link_ops.umount_fs if the 6298 fstype is not link but we have a sublink (Linux autofs needs this) 6299 (am_mounted): call amfs_link_ops.mount_fs if the fstype is not 6300 link but we have a sublink (Linux autofs needs this) 6301 6302 * amd/amfs_auto.c (amfs_auto_bgmount): print the real mountpoint, 6303 not the amd entry point 6304 63052002-02-09 Ion Badulescu <ionut@moisil.badula.org> 6306 6307 * conf/autofs/autofs_solaris_v2_v3.c (amd_rddirres): new custom 6308 structure for returning the results from readdir_2() 6309 (xdr_amd_putrddirres): renamed from xdr_autofs_putrddirres, 6310 changed to process our internal format (which is essentially the 6311 NFS readdir format) 6312 (xdr_autofs_getrddirres): not needed, deleted 6313 (xdr_amd_rddirres): renamed from xdr_autofs_rddirres, other 6314 changes to handle amd_rddirres instead of autofs_rddirres 6315 (autofs_lookup_2_req): return AUTOFS_NONE instead of 6316 AUTOFS_MOUNT_RQ, to prevent mount storms during ls -F 6317 (autofs_readdir_2_req): implemented 6318 (autofs_readdir_2_free): not needed, deleted 6319 (autofs_program_2): changes from autofs_rddirres to amd_rddirres 6320 (autofs_get_fh): changed initialization of the fh->map member, it 6321 now gets the mountpoint path because it makes it easier to 6322 implement readdir 6323 (autofs_release_fh): put #ifdef HAVE_AUTOFS_ARGS_T_ADDR around 6324 code touching fh->addr 6325 (destroy_autofs_service): new function, deregister the autofs 6326 service with the portmapper on exit 6327 6328 * conf/autofs/autofs_linux.c (autofs_handle_missing): update 6329 statistics 6330 (destroy_autofs_service): new stub 6331 6332 * amd/mapc.c (mapc_find): fixed indentation 6333 6334 * amd/map.c (find_ap_recursive): renamed from find_ap2(), made 6335 static 6336 6337 * amd/amd.h: removed prototype for find_ap2(), added prototype for 6338 destroy_autofs_service() 6339 6340 * amd/amd.c (main): call destroy_autofs_service() before going 6341 down 6342 63432002-02-07 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 6344 6345 * aux/macros/check_field.m4: need also a new version of 6346 AC_CHECK_MEMBERS (plural). 6347 63482002-02-06 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 6349 6350 * aux/macros/check_field.m4: include a fixed version of 6351 AC_CHECK_MEMBER. g/cc will fail to check a member if the .member 6352 is itself a data structure, because you cannot compare, in C, a 6353 data structure against NULL; you can compare a native data type 6354 (int, char) or a pointer. Solution: do what I did in my original 6355 member checking macro: try to take the address of the member. You 6356 can always take the address of anything. 6357 63582002-01-31 Erez Zadok <ezk@localhost.localdomain> 6359 6360 * remove old '%W%' SCCS IDs from all sources. 6361 63622002-01-21 Ion Badulescu <ionut@moisil.badula.org> 6363 6364 * conf/mount/mount_linux.c (mount_linux): fix breakage introduced 6365 by the loop device mount support. Linux mount takes a real string 6366 as the last argument, unless the mount type is NFS, NCP, or SMB. 6367 63682002-01-20 Erez Zadok <ezk@localhost.localdomain> 6369 6370 * hlfsd/hlfsd.h (HLFSD_VERSION): up version of hlfsd to 1.2, 6371 because we made some important changes. 6372 63732002-01-20 Ion Badulescu <lionut@gonzales.badula.org> 6374 6375 * include/am_utils.h (D_ALL): do not include D_MTAB and D_HRTIME 6376 by default 6377 6378 * NEWS: document latest changes 6379 6380 * amd/map.c (unmount_mp): same fix as for hlfsd, update the 6381 seconds field in mtime because Linux ignores the useconds field 6382 6383 * hlfsd/homedir.c: made some global vars static 6384 (plt_init): remove all trailing '/' chars from root's home; 6385 use root's home, not the username (silly bugfix) 6386 63872002-01-20 Ion Badulescu <lionut@gonzales.badula.org> 6388 6389 * hlfsd/homedir.c (homedir): don't special case uid 0 as having / 6390 as home; instead use the root account's home 6391 (plt_init): properly initialize root_home from the root account's 6392 home directory, or as "" if root doesn't exist 6393 (plt_reset): free root_home 6394 63952002-01-20 Erez Zadok <ezk@localhost.localdomain> 6396 6397 * hlfsd/stubs.c (nfsproc_{lookup,getattr}_2_svc): non-SYMTTL code. 6398 Increment seconds, not microseconds (which are ignored by NFS). 6399 Set symlink owner to euid. 6400 6401 * hlfsd/homedir.c (homedir): pass gid to this function, so we can 6402 also change the effective GID of the process writing to the user's 6403 home dir, as well as the group of the hlfsd symlink. 6404 (homedir): run setegid in the right places. 6405 64062002-01-15 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu> 6407 6408 * scripts/redhat-ctl-amd.in: refer to @sbindir@ not 6409 ${prefix}/sbin. 6410 6411 * scripts/ctl-{amd,hlfsd}.in: refer to @sysconfdir@ not 6412 ${prefix}/etc. Bug report from "A Braunsdorf" 6413 <ab@eas.purdue.edu>. 6414 64152002-01-13 Erez Zadok <ezk@localhost.localdomain> 6416 6417 * configure.in: only check for clock_gettime if --enable-debug was 6418 used. 6419 6420 * aux/macros/opt_debug.m4: define a cache variable to record value 6421 of debug option used. 6422 6423 * libamu/xutil.c (show_time_host_and_name): do not use 6424 clock_gettime unless debugging was compiled in. This way, if 6425 debugging is not compiled, we don't bother linking with librt, 6426 libpthread, and a whole lot of other libraries that aren't that 6427 necessary (esp. on Linux). 6428 64292002-01-12 Erez Zadok <ezk@wavy.dyn.optonline.net> 6430 6431 * doc/am-utils.texi (opts Option): document loop option. 6432 6433 * include/am_utils.h: each mounted file system (mntfs) should 6434 optionally store the loop device used in the field mf_loopdev. 6435 6436 * conf/nfs_prot/nfs_prot_linux.h: define HAVE_LOOP_DEVICE and some 6437 loop function extern definitions. For now this code is here 6438 because we only support loop devices on Linux. 6439 6440 * conf/mount/mount_linux.c: recognize "loop" as a valid iso9660 6441 mount option. 6442 (parse_opts): when skipping over unknown mount options, skip over 6443 "loop" (since it was given in amd map entry), but not over 6444 loop=/dev/loopX, because the latter will go into /etc/mtab. 6445 (do_mount_linux): override actual cdfs mounted device name 6446 because with loop devices you don't mount the .iso file directly, 6447 but the /dev/loopX device that was setup for it. 6448 (show_loop, is_loop_device, find_unused_loop_device, 6449 setup_loop_device, delete_loop_device): support code for loop 6450 devices. 6451 6452 * amd/ops_cdfs.c (mount_cdfs): pass loop device name to function. 6453 setup loop device before isofs mount, if "loop" option was given, 6454 before actual mount(2). 6455 (cdfs_mount): pass loopdev name to mount_cdfs(). 6456 (cdfs_umount): delete/unset loop device after a successful 6457 unmount, if a loop device was used. 6458 6459 * amd/mntfs.c (init_mntfs): initialize mf_loopdev to NULL. 6460 6461 * include/am_compat.h: If loop device (header file) exists, define 6462 mount table option MNTTTAB_OPT_LOOP. 6463 6464 * conf/nfs_prot/nfs_prot_linux.h: hack: define HAVE_LOOP_DEVICE 6465 here until we have a better way to detect /dev/loop devices. 6466 6467 * include/am_defs.h: include <linux/loop.h> if it exists. Define 6468 LARGEFILE support macros, possibly needed for loop devices. 6469 Redefine dev_t apropriately for loop devices. 6470 6471 * configure.in: check for <linux/loop.h>. 6472 64732002-01-10 Ion Badulescu <ion@guppy.limebrokerage.com> 6474 6475 * conf/mount/mount_linux.c (mount_linux): tcp _must_ have a timeo 6476 parameter 2 orders of magnitude larger than udp (patch from Trond 6477 Myklebust) 6478 64792002-01-09 Erez Zadok <ezk@localhost.localdomain> 6480 6481 * aux/macros/linux_headers.m4: properly [quote] a long string in 6482 m4 and use AC_MSG_WARN. 6483 6484 * ALL: put /* comments */ on #else/#endif lines everywhere. 6485 6486 * configure.in, aux/macros/with_addon.m4: due to limitation of 6487 AC_HELP_STRING, pass 2nd arg to AMU_WITH_ADDON, listing name of 6488 package for help string. 6489 6490 * doc/am-utils.texi (FSinfo): fixed various texinfo errors in the 6491 FSinfo section of the manual. 6492 (map_reload_interval Parameter): document new amd.conf global 6493 parameter. 6494 6495 * scripts/amd.conf.5 document new global option 6496 map_reload_interval. Sort entries for nfs_vers and nfs_proto 6497 alphabetically. 6498 6499 * amd/nfs_start.c (do_select): increment do_mapc_reload's value by 6500 global map_reload_interval value, not by fixed ONE_HOUR. 6501 6502 * amd/amd.c (main): increment do_mapc_reload's value by global 6503 map_reload_interval value, not by fixed ONE_HOUR. 6504 6505 * scripts/amd.conf-sample (map_reload_interval): usage example 6506 6507 * amd/amd.c (init_global_options): initialize map_reload_interval 6508 to 3600 seconds. 6509 6510 * amd/conf.c (gopt_map_reload_interval): support a new global 6511 amd.conf option map_reload_interval, to determine how often (in 6512 seconds) Amd should check if the map source has changed and then 6513 reload it it. This value was hard-coded to one hour, now it's the 6514 default if not otherwise specified. 6515 6516 * doc/am-utils.texi (plock Parameter): document plock=yes option 6517 as using mlockall(2) if found. 6518 6519 * scripts/amd.conf.5: document -S option as using mlockall(2) if 6520 found. 6521 6522 * include/am_defs.h: include <sys/mman.h> if it exists. 6523 6524 * configure.in: check for mlockall() function. Check for 6525 sys/mman.h. 6526 6527 * amd/amd.c (main): support mlockall() on systems that have it and 6528 don't have plock(3) for plock=yes. On systems that have both, 6529 will try plock() first and then mlockall(), until one of them (if 6530 any) succeeds. 6531 65322002-01-09 Erez Zadok <ezk@whitestar.dyn.optonline.net> 6533 6534 * aux/macros/opt_debug.m4, opt_cppflags.m4, opt_amu_cflags.m4, 6535 with_addon.m4 (ac_upcase): fix help string formatting using 6536 AC_HELP_STRING. 6537 6538 * amd/test1.sh: simple test script for "make check". Runs "amd 6539 -v". 6540 6541 * amd/Makefile.am (TESTS): add one simple test script, running 6542 "amd -v" and checking its return value. More tests can be added. 6543 6544 * aux/macros/linux_headers.m4: use AC_MSG_WARN directly. 6545 6546 * aux/macros/*.m4: avoid the cumbersome "changequote" M4 command. 6547 Instead, list bracketed regexp patterns in [[double brackets]]. 6548 6549 * aux/macros/header_templates.m4: remove all unnecessary 6550 HAVE_FIELD_* definitions, now that we're using autoconf's new 6551 AC_CHECK_MEMBERS. 6552 6553 * aux/macros/field_mntent_t_mnt_time_string.m4: don't call 6554 6555 * configure.in: use new syntax for AMU_CHECK_FIELD 6556 6557 * aux/macros/check_field.m4: use new and simpler macro 6558 AC_CHECK_MEMBERS. Change all sources to use HAVE_aggregate.member 6559 instead of HAVE_FIELD_aggregate.member. 6560 6561 * aux/amdgrep: simple utility script to egrep the am-utils sources 6562 for any pattern. 6563 6564 * aux/macros/{check_mnttab_style.m4, check_mount_style.m4, 6565 check_umount_style.m4, check_network_transport_type.m4}: use newer 6566 AC_LIBOBJ macros instead of modifying $LIBOBJS directly 6567 6568 * aux/macros/func_bad_memcmp.m4: redefine to use native 6569 AC_FUNC_MEMCMP, and then define HAVE_BAD_MEMCMP as needed. 6570 6571 * fsinfo/fsi_gram.y, amd/conf_parse.y: indent #pragma command so 6572 pre-ANSI C compilers will ignore it. 6573 6574 * conf/autofs/autofs_linux.c (autofs_link_mount): call s/getpgrp() 6575 correctly depending on whether it takes a void or a 0. 6576 6577 * configure.in: check if s/getpgrp() takes void or a 0. 6578 65792002-01-08 Erez Zadok <ezk@whitestar.dyn.optonline.net> 6580 6581 * configure.in: use the newer AC_CONFIG_LINKS instead of 6582 AC_LINK_FILES. 6583 6584 * aux/macros/check_autofs_style.m4, check_checkmount_style.m4, 6585 check_mnttab_style.m4, check_mount_style.m4, 6586 check_network_transport_type.m4, check_umount_style.m4, 6587 check_nfs_prot_headers.m4: removed backward compatible code for 6588 pre-autoconf-2.14. 6589 65902002-01-07 Erez Zadok <ezk@whitestar.dyn.optonline.net> 6591 6592 * doc/Makefile.am: define @SET_MAKE@ for AC_PROG_MAKE_SET macro, since 6593 this Makefile could explicitly chdir to other directories and run 6594 make there. 6595 (install-ps): use ${MAKE} with ${MFLAGS}. 6596 6597 * Makefile.am (EXTRA_DIST_AUX): distribute new package_*.m4 files. 6598 Define @SET_MAKE@ for AC_PROG_MAKE_SET macro, since this Makefile 6599 could explicitly chdir to other directories and run make there. 6600 (install-snapshot): use ${MAKE} ${MFLAGS}, not hardcoded "make". 6601 6602 * configure.in: call AC_PROG_MAKE_SET to check if make program 6603 defines $MAKE variable. 6604 6605 * amd/get_args.c (get_version_string): use new PACKAGE_* macros 6606 and also report the bug-reporting address. 6607 6608 * aux/macros/package_{name,version}.m4, header_templates.m4: using 6609 new PACKAGE_{NAME,VERSION,BUGREPORT} macros. 6610 6611 * aux/macros/name_bugreport.m4: simple macro to print out the 6612 bug-reporting address which was configured in AC_INIT. 6613 6614 * bootstrap: remove new autoconf messages about misuse of 6615 m4_patsubst and m4_regexp (internal GNU M4 macros). 6616 6617 * configure.in: remove old comment above AC_OUTPUT. 6618 Use AC_CONFIG_FILES and AC_OUTPUT separately. 6619 Fix AC_REVISION use. 6620 Add AC_COPYRIGHT. 6621 Use new style for AC_INIT, listing package name, version, and 6622 bug-reporting address. 6623 Call new AMU_PACKAGE_* macros. 6624 6625 * updated copyright year to 2002 on all files 6626 6627 * configure.in: using newly renamed am-utils macros (AMU_*) 6628 6629 * aux/macros/*.m4: renamed ALL am-utils specific macros so they 6630 start with AMU_*, not AC_*. That way it is easier to distinguish 6631 between macros that come with am-utils and those that are part of 6632 Autoconf or Automake. It helps to identify those am-utils macros 6633 that can be removed once there is generic support for them in a 6634 future version of Autoconf. 6635 6636 * bootstrap: run automake --copy 6637 remove autom4te.cache dir before rerunning autoconf 6638 66392001-12-13 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu> 6640 6641 * scripts/amd.conf.5: correct title to section 5, not 8. Correct 6642 reversed meaning of nfs_proto and nfs_vers parameters. Typos 6643 reported by Peter Breitenlohner <peb@mppmu.mpg.de>. 6644 66452001-12-02 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu> 6646 6647 * scripts/ctl-amd.in: run "test" or "[" in front of -x/-f 6648 6649 * scripts/ctl-hlfsd.in: run "test" or "[" in front of -x/-f 6650 66512001-12-02 Ion Badulescu <ionut@moisil.badula.org> 6652 6653 * hlfsd/homedir.c (plt_print): fix typo (s/plot/plog/) in 6654 non-mkstemp code 6655 6656 * scripts/ctl-amd.in: touch/remove /var/lock/subsys/amd to make RH 6657 happy 6658 6659 * scripts/ctl-hlfsd.in: ditto (for hlfsd) 6660 6661 * conf/mtab/mtab_file.c (rewrite_mtab): fchmod(644) the file we 6662 get from mkstemp(), otherwise samba becomes very unhappy (sigsegv) 6663 6664 * conf/mtab/mtab_mach3.c (rewrite_mtab): ditto 6665 66662001-11-29 Ion Badulescu <ion@guppy.limebrokerage.com> 6667 6668 * tasks: updated 6669 6670 * NEWS: document the fixed autofs fd leak 6671 6672 * amq/amq.8: better document the -f option 6673 66742001-11-29 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu> 6675 6676 * libamu/mount_fs.c (mnt_flags): same this as for nolock option 6677 handling, do for maxgrps. 6678 66792001-11-29 Ion Badulescu <ion@guppy.limebrokerage.com> 6680 6681 * conf/autofs/autofs_linux.c (hash_init): determine the max number 6682 of fd's at runtime, use it to dynamically scale the hash and list 6683 arrays 6684 (autofs_get_fh): sanity check, don't allow a pipe() fd greater 6685 than autofs_max_fds 6686 (autofs_release_fh): close our end of the pipe here (no clue why 6687 or when it got commented out) 6688 (autofs_mounted): set kernelfd to -1 after closing it 6689 66902001-11-28 Philippe Troin <phil@fifi.org> 6691 6692 * libamu/mount_fs.c (mnt_flags): Drop nolock from generic mount 6693 opts. 6694 (compute_nfs_args): Added nolock handling. 6695 Adapted from an original patch from Avery Pennarun <apenwarr@nit.ca>. 6696 66972001-11-27 Erez Zadok <ezk@a-hpux11i.fsl.cs.sunysb.edu> 6698 6699 * ported to ia64-hp-hpux11.20 using HP's ANSI/C compiler. 6700 Couldn't use bison/flex because of 32-bit vs. 64-bit binaries 6701 issues. Had to use HP's own yacc/lex. 6702 67032001-11-26 Erez Zadok <ezk@a-hpux11i.fsl.cs.sunysb.edu> 6704 6705 * */Makefile.am: don't use $(OBJECTS) directly because it is no 6706 longer automatically defined now that Automake has automatic 6707 dependency tracking (which I turn off). Instead, hard-code 6708 minimal dependencies on am-utils' header files to depend on 6709 PROG_OBJECTS (where PROG is the program name being built). This 6710 was discovered by using HP's non-GNU make program. 6711 6712 * amd/nfs_start.c (checkup): cast getpagesize() return val to 6713 long, to avoid conflicts in division of a long by an int (on 6714 hpux11i, with their ANSI/C compiler). 6715 6716 * INSTALL, doc/am-utils.texi: port updates 6717 6718 * minor new ports: ia64-hp-hpux11.20, i386-unknown-freebsd5.0, 6719 i386-unknown-freebsd4.4, i386-pc-linux-rh7.2, 6720 ia64-unknown-linux-rh7.1. 6721 6722 * include/am_defs.h: actually declare extern definition for 6723 xdr_callmsg() if it doesn't already exist. 6724 6725 * aux/macros/header_templates.m4: declare template for 6726 HAVE_EXTERN_XDR_CALLMSG. 6727 6728 * configure.in: check for extern definition for xdr_callmsg() 6729 because hpux11 has that function but a bad <rpc/xdr.h> header file 6730 that doesn't define it in the right place. 6731 6732 * libamu/mount_fs.c (print_nfs_args): cast ->rdev to u_long b/c 6733 on hpux11 its type is dev_t. 6734 6735 * conf/nfs_prot/nfs_prot_hpux11.h: don't support autofs on hpux11 6736 yet. 6737 67382001-11-16 Erez Zadok <ezk@fsl-gw.fsl.cs.sunysb.edu> 6739 6740 * buildall (Usage): separate $cnf_flags and $extra_cnf_flags due 6741 to /bin/sh limitations. 6742 6743 * bootstrap (cmd): turn back on --ignore-deps (this Automake may 6744 have problems) 6745 6746 * libamu/xutil.c: remove __attribute__ format_arg statement for 6747 expand_error() because this function, although taking a 6748 printf-like string, does not use it in a printf function; it only 6749 expands a non-printf amd-special syntax %m. 6750 67512001-11-14 Erez Zadok <ezk@fsl-gw.fsl.cs.sunysb.edu> 6752 6753 * conf/nfs_prot/nfs_prot_linux.h: define KERNEL_VERSION macro 6754 before using it because older Linux systems don't define this 6755 (e.g., Red Hat 4.2) 6756 67572001-11-13 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu> 6758 6759 * configure.in: convert to using autoconfig 2.52. Use new macros. 6760 AC_MSG_NOTICE for messages; AH_TOP and AH_BOTTOM to top and bottom 6761 parts of autogenerated config.h.in; increase autoconf 6762 pre-requisite to version 2.50; use AC_DISABLE_SHARED not 6763 AM_DISABLE_SHARED. 6764 6765 * aux/macros/cache_check_dynamic.m4: finally I can use the new 6766 $ECHO_N syntax in macros instead of $ac_n, since I'm using a new 6767 autoconf. Isn't it nice to be such forward looking and having 6768 placed a comment "XXX: use the next line for autoconf-2.14 and 6769 newer"... :-) 6770 6771 * aux/macros/save_state.m4: highlight message with ***'s 6772 6773 * aux/macros/host_macros.m4: use proper M4 quoting ([], not "") 6774 6775 * config.{guess,sub}: upated from latest prep ftp distributions 6776 6777 * depcomp, missing, mkinstalldirs: upated from latest Automake 1.5 6778 6779 * ltmain.sh: updated from latest Libtool 1.4.2 6780 6781 * bootstrap: finally, new autoconf doesn't print silly "AC_TRY_RUN 6782 called without default to allow cross compiling" warnings. And, 6783 it only took like 3+ years to fix this. But, now it has anoter, 6784 albeit less annoying warning (which the manual says to ignore): 6785 "AC_PROG_LEX invoked multiple times". 6786 When autoheader is run, don't treat the "all clear" message 6787 "config.h.in is update" as an error. 6788 6789 * ltconfig: removed. not needed with latest version of libtool 6790 6791 * aux/macros/header_templates.m4: replaces acconfig.h and defines 6792 all CPP macros we use in this package, including their 6793 accompanying C /* comments */. 6794 6795 * acconfig.h: removed. replaced by new autoconf system to generate 6796 header templates using AH_TEMPLATE macros and such. 6797 6798 * aux/macros/msg.m4: removed. Replaced with new macro 6799 AC_MSG_NOTICE 6800 6801 * Makefile.am (EXTRA_DIST_AUX): remove aux/macros/msg.m4. Add 6802 aux/macros/header_templates.m4 6803 6804 * configure.in: early, in host_macros.m4, I'm renaming silly linux 6805 $host_os names such as linux-gnu and lignux to plain "linux". 6806 Alas, RMS finally had his way and libtool will NOT recognize 6807 "linux" as a valid system, only "linux-gnu". Sigh. Rich, I know 6808 you're responsible to Linux's fame. Kudos to you and your 6809 cohorts. But please don't force the rest of us to use those ugly 6810 or long names. Solution: temporarily name $host_os to "linux-gnu" 6811 before calling the AC_PROG_LIBTOOL macro, then name it back to 6812 "linux". (That way I don't have to maintain my own version of 6813 ltmain.sh. 6814 6815 * buildall: force running configure -C (to create and use a local 6816 config.cache file). New default behavior for autoconf is NOT to 6817 use cache files. Yeah, that's gonna fly real well with am-utils, 6818 with its 700+ automatic tests. 6819 6820 * conf/mtab/mtab_mach3.c (rewrite_mtab): use mkstemp instead of 6821 mktemp, if the former is available. 6822 6823 * conf/mtab/mtab_file.c (rewrite_mtab): use mkstemp instead of 6824 mktemp, if the former is available. 6825 6826 * mk-amd-map/mk-amd-map.c (main): use mkstemp instead of mktemp, 6827 if the former is available. 6828 6829 * aux/macros/check_nfs_socket_connection.m4: AC_DEFINE calls must 6830 be on a separate line, as per new Autoconf manual, to avoid some 6831 Bourne Shell syntactical bizarreness. 6832 68332001-11-13 Erez Zadok <ezk@a-rh71i.fsl.cs.suunysb.edu> 6834 6835 * amd/amfs_auto.c (amfs_auto_readdir_browsable): cast to u_long, 6836 for IA64 Linux. 6837 68382001-11-12 Ion Badulescu <ionut@buggy.badula.org> 6839 6840 * libamu/mtab.c (hasmntval): strtol can return a non-NULL pointer 6841 pointing to '\0' on success, so we need to allow for it. This 6842 fixes the problem with rejecting numerical mount options if they 6843 are the last option in the string. 6844 6845 * configure.in: increased library patchlevel 6846 6847 * NEWS: document the parsing bug 6848 68492001-10-29 Ion Badulescu <ionut@moisil.badula.org> 6850 6851 * configure.in: bumped version up to 6.1a5-pre 6852 6853 * NEWS: fixed speeling mistaike 6854 68552001-10-29 Ion Badulescu <ionut@moisil.badula.org> 6856 6857 * released snapshot am-utils-6.1a4 6858 68592001-10-26 Ion Badulescu <ionut@moisil.badula.org> 6860 6861 These changes fix autofs support for sublinks. While it is not 6862 perfect by any means and is hardly better than non-autofs, at 6863 least it works. 6864 6865 * conf/autofs/autofs_solaris_v2_v3.c (autofs_lookup_2_req): don't 6866 reply if the mount is in progress 6867 (autofs_mount_succeeded): handle both delayed lookups and mounts 6868 (autofs_mount_failed): ditto 6869 6870 * amd/amfs_auto.c (amfs_auto_lookup_mntfs): don't dispose of the 6871 original opt_fs if we have a sublink 6872 68732001-10-23 Ion Badulescu <ionut@moisil.badula.org> 6874 6875 * amd/amfs_auto.c (amfs_auto_lookup_mntfs): fixed silly typo (mf 6876 instead of new_mf) which was causing null pointer error when 6877 sublinks were being used 6878 68792001-10-22 Ion Badulescu <ionut@moisil.badula.org> 6880 6881 * README.autofs: updated 6882 6883 * NEWS: updated 6884 6885 * INSTALL: updated 6886 6887 * AUTHORS: added myself 6888 6889 * doc/am-utils.texi: updated 6890 6891 * conf/autofs/autofs_solaris_v2_v3.c (xdr_autofs_rddirargs): use 6892 xdr_u_int() and cast things to (int) to appease Solaris 2.7 compile 6893 (autofs_readdir_2_req): cast req->rda_offset to (int), same as 6894 above 6895 68962001-10-22 Ion Badulescu <ionut@moisil.badula.org> 6897 6898 Autofs direct mounts have been verified to work on Solaris2.[67]. 6899 6900 * conf/autofs/autofs_solaris_v2_v3.c (autofs_lookup_2_req): 6901 retrieve the uid and gid from the lookup request 6902 (autofs_mount_2_req): skip the first char in the name (it's a 6903 leading '/') if this is a direct mount 6904 6905 * amd/amfs_direct.c (amfs_direct_ops): use amfs_auto_lookup_child 6906 and amfs_auto_mount_child for amfs_direct's methods 6907 6908 * amd/amfs_auto.c (amfs_auto_lookup_child): don't leak an am_node 6909 if the mntfs lookup fails 6910 69112001-10-21 Ion Badulescu <ionut@moisil.badula.org> 6912 6913 * include/am_utils.h (AMF_REMOUNT): new flag, marks the node as 6914 pending a remount 6915 (mntfs): new member mf_fsflags, holds a copy of the filesystem's 6916 fs_flags 6917 (am_ops): new member autofs_fs_flags, holds the filesystem's flags 6918 when mounted onto an autofs node; fs_flags renamed to nfs_fs_flags 6919 6920 * conf/autofs/autofs_linux.c (create_autofs_service): turn on 6921 FS_MKMNT for amfs_auto and FS_MBACKGROUND for amfs_link 6922 (autofs_umount_succeeded): don't rmdir the mountpoint if a remount 6923 is needed [lest the access that triggered the remount will fail] 6924 6925 * amd/mntfs.c (init_mntfs): copy the filesystem's nfs_fs_flags 6926 into mf_fsflags on initialization 6927 6928 * amd/autil.c (am_unmounted): start the remounting right away if 6929 the node is marked as needing a remount [fixes the Linux autofs 6930 deadlock when mount/unmount collide] 6931 6932 * amd/amfs_auto.c (amfs_auto_lookup_node): mark the node as 6933 needing a remount if a mount request comes in while we're 6934 unmounting it 6935 (amfs_auto_lookup_mntfs): copy the filesystem's autofs_fs_flags 6936 into mf_fsflags if this is an autofs node 6937 6938 * amd/amfs_*.c, amd/ops_*.c: added initialization for the new 6939 autofs_fs_flags member of am_ops 6940 69412001-10-20 Ion Badulescu <ionut@moisil.badula.org> 6942 6943 With these changes, Solaris 2.[67] autofs support is finally 6944 functional! 6945 6946 * conf/autofs/autofs_solaris_v2_v3.c (autofs_readdir_2_req): stub 6947 (autofs_readdir_2_free, xdr_autofs_rddirargs, xdr_autofs_putrddirres, 6948 xdr_autofs_getrddirres, xdr_autofs_rddirres): new functions 6949 (autofs_lookup_2_req): do an actual lookup here, and tell the 6950 kernel to create a symlink if necessary 6951 (autofs_mount_2_req): no need to am_autofs_data 6952 (autofs_program_2): enable AUTOFS_READDIR 6953 (autofs_link_mount): no code needed here 6954 (autofs_link_umount): return success 6955 (autofs_mount_succeeded): lstat real mount points; don't mark 6956 symlinks as NOTIMEOUT 6957 6958 * amd/mntfs.c (init_mntfs): mf_dev and mf_rdev don't exist anymore 6959 6960 * amd/map.c (init_map): init am_dev and am_rdev to -1 6961 (free_map): free am_mfarray and all mntfs's listed 6962 6963 * amd/autil.c (mf_mounted): move the lstat of the node to the 6964 autofs-specific code 6965 6966 * amd/amfs_link.c (amfs_link_ops): don't background symlink creation 6967 69682001-10-18 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 6969 6970 * aux/macros/os_cflags.m4 (irix6*): Enforce N32 ABI/mips3 ISA with cc. 6971 * BUGS: Explain this. 6972 69732001-10-02 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu> 6974 6975 * doc/am-utils.texi (redhat-ctl-amd): document new script. 6976 6977 * scripts/Makefile.am: build redhat-ctl-amd but do not install it. 6978 6979 * scripts/redhat-ctl-amd.in: new script, useful to correctly 6980 control Amd on Red Hat Linux systems. Script adapted from ctl-amd 6981 and Red Hat's own rc.d script. 6982 69832001-10-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 6984 6985 * conf/nfs_prot/nfs_prot_osf5.h: Renamed from nfs_prot_osf5_1.h. 6986 (MNT2_NFS_OPT_AUTO): Disable. 6987 * Makefile.am (EXTRA_DIST_CONF): Reflect new name. 6988 * aux/macros/check_nfs_prot_headers.m4: Use this file for all 6989 Tru64 UNIX V5 and up releases. 6990 69912001-09-24 Ion Badulescu <ionut@moisil.badula.org> 6992 6993 * include/mount_headers1.h (MFS): define as 1 instead of nothing, 6994 to fix compile problems on OS X (patch from Ahmon Dancy) 6995 6996 * aux/macros/try_compile_anyfs.m4 (MFS): ditto 6997 69982001-08-13 Erez Zadok <ezk@fsl-gw.fsl.cs.sunysb.edu> 6999 7000 * doc/am-utils.texi (in_network Selector Variable): document 7001 expanded syntax 7002 7003 * libamu/wire.c (is_network_member): support for network/netmask 7004 as well as network/bits syntax in in_network() 7005 70062001-08-11 Erez Zadok <ezk@a-linux64.fsl.cs.sunysb.edu> 7007 7008 * amq/amq.c (show_mti): print full four digits for year, and print 7009 it in MM/DD/YYYY format, not in YY/MM/DD format. 7010 70112001-08-11 Ion Badulescu <lionut@gonzales.badula.org> 7012 7013 * conf/autofs/autofs_solaris_v2_v3.c (autofs_lookup_2_req): 7014 initial attempt to do something useful -- but commented out for now 7015 (autofs_link_mount): create an action structure with a link 7016 request and pass it up 7017 (autofs_mount_2_req): pass the link request to the kernel 7018 (autofs_free_data): new helper function 7019 7020 * conf/autofs/autofs_linux.h: added definition for autofs_data_t 7021 7022 * conf/autofs/autofs_solaris_v2_v3.h: ditto 7023 7024 * amd/map.c (init_map): initialize am_autofs_data 7025 (free_map): call the autofs cleanup function if necessary 7026 7027 * include/am_utils.h (am_node): added private data and cleanup 7028 function for autofs 7029 7030 * tasks: removed some obsolete entries 7031 70322001-08-11 Erez Zadok <ezk@a-solaris8.fsl.cs.sunysb.edu> 7033 7034 * amd/map.c (free_map_if_success): run autofs_umount_failed() only 7035 if this mount node is of type autofs. 7036 70372001-08-11 Ion Badulescu <lionut@gonzales.badula.org> 7038 7039 * amd/amd.h: removed mf_array from struct continuation (moved into 7040 am_node) 7041 7042 * include/am_utils.h: removed VLOOK_LOOKUP; renamed vlookuppn to 7043 vlookup_child; added vmount_child; added mount_child to the fs_ops 7044 API; added prototypes for amfs_auto_mount_child and 7045 amfs_error_mount_child 7046 7047 * amd/map.c (init_map): initialize am_mfarray to 0 7048 7049 * amd/amfs_*, amd/ops_*: new API function mount_child, old API 7050 function lookuppn renamed to lookup_child 7051 7052 * amd/amfs_auto.c: renamed amfs_auto_lookuppn1 to 7053 amfs_auto_lookup_node; renamed amfs_auto_lookuppn2 to 7054 amfs_auto_lookup_mntfs; renamed amfs_auto_lookuppn3 to 7055 amfs_auto_mount_child; moved the freeing of the error mntfs in the 7056 newly allocated am_node from lookup_mntfs to mount_child; make 7057 sure lookup_child returns a negative error if the node needs to be 7058 mounted; removed the call to lookuppn3 from lookup_child 7059 7060 * amd/amfs_error.c: added stub implementations of 7061 amfs_error_lookup_child and amfs_error_mount_child 7062 7063 * amd/amfs_direct.c, amd/amfs_union.c, amd/map.c, amd/nfs_subr.c, 7064 conf/autofs/autofs_linux.c, conf/autofs/autofs_solaris_v2_v3.c: 7065 call both lookup_child and mount_child, instead of the old 7066 lookuppn API method 7067 70682001-07-19 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 7069 7070 * amd/get_args.c (get_args): a better way to handle GNU and 7071 non-GNU getopts without strdup-ing the getopt string. 7072 70732001-07-04 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 7074 7075 * amd/info_ldap.c (amu_ldap_rebind): The first time you called 7076 amu_ldap_init, aldh->ldap is not set. So when amu_ldap_rebind is 7077 called, this function is absolutely sure to return 0. Then 7078 amu_ldap_init return 0 without having opened any LDAP connection. 7079 This is not the correct behavior. 7080 (get_ldap_timestamp, amu_ldap_search): error to free an object 7081 ("entry") that is automatically freed by the library. Patch from 7082 Sebastien Bahloul <sebastien.bahloul@mangoosta.fr>. 7083 70842001-07-19 Ion Badulescu <ionut@moisil.badula.org> 7085 7086 * AUTHORS (variables): added Philippe Troin 7087 7088 * Makefile.am (EXTRA_DIST): added bootstrap 7089 7090 * include/am_compat.h (xfs_args_t): define as u_int if the 7091 filesystem is supported but we can't autodetect the type for 7092 xfs_args_t. This allows Linux to mount xfs filesystems. 7093 70942001-07-12 Philippe Troin <phil@fifi.org> 7095 7096 * doc/am-utils.texi: Added @dircategory Administration. 7097 70982001-07-12 Philippe Troin <phil@fifi.org> 7099 7100 * aux/macros/with_addon.m4: Created. Wrapper around AC_ARG_WITH 7101 with only the `yes' and `no' as possible answers. 7102 7103 * configure.in: Added support for disabling LDAP and HESIOD even 7104 if the supporting libraries are found. 7105 7106 * Makefile.am (EXTRA_DIST_AUX): Added with_addon.m4 macro file. 7107 71082001-07-12 Philippe Troin <phil@fifi.org> 7109 7110 * include/am_compat.h: Removed forced definition of MNTTAB_OPT_DEV 7111 if MNT2_GEN_OPT_NODEV was found. Actually, the dev= (SVR4) options 7112 and the linux nodev options are different beasts. 7113 7114 * conf/mount/mount_linux.c (opt_map): Removed the MNTTAB_OPT_DEV 7115 entry (not really necessary on linux). 7116 71172001-07-12 Philippe Troin <phil@fifi.org> 7118 7119 * amd/get_args.c (get_args): Prepend "+" to the getopt string if 7120 HAVE_GNU_GETOPT to avoid getting all options (even the ones after 7121 the first non-option argument) slurped in by GNU getopt. 7122 7123 * aux/macros/check_gnu_getopt.m4: Created. Defines HAVE_GNU_GETOPT 7124 if GNU/glibc getopt implementation is detected. 7125 7126 * configure.in: Added call to AC_CHECK_GNU_GETOPT. 7127 7128 * acconfig.h: Document HAVE_GNU_GETOPT. 7129 7130 * Makefile.am (EXTRA_DIST_AUX): Added check_gnu_getopt.m4 macro file. 7131 71322001-06-25 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 7133 7134 * LSM.am-utils, NEWS, README.y2k, ChangeLog: make sure all 7135 am-utils URL references use www.am-utils.org, not the columbia 7136 URL. 7137 71382001-06-08 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 7139 7140 * conf/transp/transp_sockets.c (create_nfs_service): cast to 7141 u_long to ensure clean compile on freebsd5 and bsdi2. 7142 71432001-05-23 Ion Badulescu <ionut@moisil.badula.org> 7144 7145 WARNING: WORK IN PROGRESS 7146 7147 It works for me on Linux (both autofs and nfs mounts), for nfs and 7148 link, but I won't make any guarantees outside those. 7149 7150 * amd/mntfs.c (find_mntfs): reuse the mntfs only if both the mount 7151 point and the device/fileserver are the same. This is an important 7152 change of philosophy, watch out for memory leaks! 7153 7154 * amd/map.c (get_ap_child): helper function for 7155 amfs_auto_lookuppn, creates a new am_node for key fname, inits it, 7156 and inserts it into all necessary structures 7157 7158 * amd/amfs_auto.c (free_continuation): free unused mntfs's; don't 7159 free any of the removed fields 7160 (amfs_auto_lookuppn, amfs_auto_bgmount): split lookuppn into three 7161 subfunctions, including some code stolen from bgmount; lookuppn 7162 now generates an array of possible mntfs to try mounting, and 7163 bgmount will actually try to mount each of them. 7164 (amfs_auto_lookuppn[123]): the three new subfunctions for lookuppn 7165 (amfs_parse_defaults): new helper function for lookuppn 7166 71672001-05-19 Erez Zadok <ezk@kosh.dyn.optonline.net> 7168 7169 * conf/mount/mount_linux.c: typo: added comma after '0' element. 7170 71712001-05-19 Ion Badulescu <ionut@moisil.dev.hydraweb.com> 7172 7173 * conf/autofs/autofs_linux.c (AUTOFS_MAX_VERSION): allow using 7174 autofs-v4 again 7175 (autofs_get_opts): don't pass pgrp, the kernel will get it 7176 automatically anyway, not to mention that we were passing bogus 7177 data if amd was not daemonized. 7178 7179 * conf/mount/mount_linux.c (linux_nfs_error): don't special case 7180 the 0 result, just put it into the translation list 7181 71822001-05-19 Ion Badulescu <ionut@moisil.dev.hydraweb.com> 7183 7184 * conf/mount/mount_linux.c (linux_nfs_error): don't report success 7185 (0) as error (NE_IO)! 7186 71872001-05-18 Ion Badulescu <ionut@moisil.dev.hydraweb.com> 7188 7189 * amd/amfs_host.c (amfs_host_mount): don't fail the mount if at 7190 least one share is already mounted 7191 71922001-05-17 Ion Badulescu <ionut@moisil.dev.hydraweb.com> 7193 7194 * libamu/util.c (str3cat): updated comment 7195 7196 * include/am_utils.h: added VLOOK_LOOKUP and FS_DIRECT 7197 7198 * conf/autofs/autofs_linux.c (autofs_get_fh): removed obsolete comment 7199 (autofs_mounted): disable autofs support for host f/s if version < 4 7200 (create_autofs_service): turn on FS_MKMNT on auto f/s if using autofs 7201 (autofs_umount_succeeded): use rmdirs instead of rmdir 7202 (autofs_mount_failed): ditto 7203 7204 * amd/opts.c (expand_op): align the debugging messages 7205 7206 * amd/map.c (mount_auto_node): use am_node *mp instead of casting 7207 the void *arg; update the comment 7208 7209 * amd/autil.c (am_mounted): check the FS_DIRECT flag instead of 7210 comparing to &amfs_direct_ops 7211 (mount_node): ifs_mount doesn't exist, make note of it in the 7212 comment 7213 7214 * amd/amfs_direct.c (amfs_direct_ops): added FS_DIRECT to fs_flags 7215 7216 * amd/amfs_auto.c (amfs_auto_mount): removed the autofs hack to 7217 create the mountpoint directory for auto f/s; it is now handled in 7218 autofs_linux.c 7219 (amfs_auto_bgmount): renamed the mpe parameter to mp_error; 7220 renamed dont_retry to retry and reverted its meaning as well; 7221 moved the mp variable up one scope and made use of it throughout 7222 the function; 7223 (amfs_auto_readdir): whitespace 7224 (amfs_auto_readdir_browsable): whitespace, also some debugging 7225 7226 * amd/am_ops.c (vops): updated a comment 7227 7228 * .cvsignore: added A.i386-pc-linux-rh7.[01] 7229 72302001-05-01 Ion Badulescu <ionut@gonzales.dev.hydraweb.com> 7231 7232 * conf/mount/mount_linux.c: fixed stupid error in the linux 7233 nfs_errormap[], which was mapping ENOENT to success!!! 7234 72352001-04-28 Ion Badulescu <ionut@moisil.dev.hydraweb.com> 7236 7237 * BUGS: added info about the direct mount problems on Linux and 7238 about the kernel patches on www.am-utils.org. 7239 7240 * conf/autofs/autofs_solaris_v2_v3.c (autofs_unmount_2_req): 7241 removed obsolete comment 7242 7243 * amd/autil.c (forcibly_timeout_mp): always log a message when the 7244 forced unmount request is ignored 7245 (mf_mounted): don't lstat unless this is an autofs mount point, 7246 lest we deadlock 7247 7248 * amd/amfs_auto.c (amfs_auto_bgmount): don't gratuitously add 7249 MFF_MKMNT to the flags, it causes deadlocks later on when 7250 unmounting 7251 72522001-04-14 Erez Zadok <ezk@whitestar.dyn.optonline.net> 7253 7254 * COPYING: update copyright year 7255 7256 * amd/amfs_auto.c, amd/amfs_host.c, amd/amfs_nfsx.c, 7257 amd/amfs_toplvl.c, amd/amfs_union.c, amd/conf.c, amd/info_nis.c, 7258 amd/info_nisplus.c, amd/mapc.c, amd/nfs_subr.c, amd/ops_nfs.c, 7259 amd/rpc_fwd.c, amd/srvr_amfs_auto.c, amd/srvr_nfs.c, 7260 conf/autofs/autofs_solaris_v1.c, conf/mtab/mtab_file.c, 7261 conf/mtab/mtab_isc3.c, conf/mtab/mtab_svr4.c, 7262 conf/transp/transp_sockets.c, conf/transp/transp_tli.c, 7263 libamu/mount_fs.c, libamu/mtab.c: rewritten various dlog/plog 7264 messages for clarity, to avoid duplication, to better recognize 7265 what the message means and where it ran, and to fix typos. 7266 7267 * amd/nfs_subr.c (nfsproc_lookup_2_svc): moved trace message of 7268 function's name to the beginning of the function, before any other 7269 messages are logged. 7270 72712001-04-14 Ion Badulescu <ionut@moisil.dev.hydraweb.com> 7272 7273 * conf/mount/mount_linux.c (do_mount_linux): removed plog() of 7274 binary data 7275 72762001-04-05 Ion Badulescu <ionut@moisil.dev.hydraweb.com> 7277 7278 * include/am_defs.h: define NFSCLIENT, NFS, PCFS, LOFS, RFS, 7279 MSDOSFS, MFS and CD9660 to 1, so that both #if FOO and #ifdef FOO 7280 work (needed for MacOS X); removed duplicate definition of NFS. 7281 72822001-03-29 Ion Badulescu <ionut@moisil.dev.hydraweb.com> 7283 7284 * amd/amd.h, amd/amfs_auto.c, amd/conf.c, 7285 doc/am-utils.texi, 7286 scripts/amd.conf-sample, scripts/amd.conf.5: 7287 renamed selectors_on_default to selectors_in_defaults, 7288 kept the former as a deprecated option; 7289 renamed CFM_ENABLE_DEFAULT_SELECTORS to CFM_SELECTORS_IN_DEFAULTS; 7290 renamed gopt_selectors_on_default() to gopt_selectors_in_defaults() 7291 72922001-03-19 Ion Badulescu <ionut@moisil.dev.hydraweb.com> 7293 7294 * amd/amfs_toplvl.c, amd/amfs_auto.c, amd/srvr_nfs.c, 7295 include/am_utils.h: compile fixes for --enable-debug=no 7296 72972001-03-15 Ion Badulescu <ionut@moisil.dev.hydraweb.com> 7298 7299 * NEWS: updated 7300 7301 * README.autofs: updated 7302 7303 * conf/mount/mount_linux.c (linux_version_code): export the fn 7304 7305 * conf/nfs_prot/nfs_prot_linux.h: ditto 7306 7307 * conf/autofs/autofs_linux.c (create_autofs_service): verify the 7308 kernel version here, and turn off bind_works if the kernel is 7309 older than 2.4.0. 7310 (autofs_link_mount): don't touch bind_works here, it's useless 7311 b/c we're in a child process; remove the mountpoint directory if 7312 the bind mount fails 7313 7314 * amd/opts.c (eval_fs_opts): changed some annoying debugging plogs 7315 into dlogs 7316 7317 * conf/autofs/autofs_linux.c (autofs_link_mount): zero out the 7318 mntent struct before initializing it 7319 73202001-03-14 Ion Badulescu <ionut@moisil.dev.hydraweb.com> 7321 7322 * conf/mount/mount_linux.c (parse_opts): added support for lofs 7323 (mount_linux): support lofs through bind mounts and/or FiST lofs 7324 7325 * scripts/ctl-hlfsd.in: search for /var/spool/mail in addition to 7326 /var/mail and /usr/spool/mail 7327 7328 * conf/nfs_prot/nfs_prot_linux.h (MS_BIND): add define for it, if 7329 kernel is newer than 2.4.0 7330 (MNTTYPE_LOFS): ditto 7331 7332 * conf/autofs/autofs_solaris_v2_v3.c (autofs_link_umount): new stub 7333 (autofs_lookup_failed): removed stub 7334 7335 * conf/autofs/autofs_linux.c (autofs_lookup_failed): moved up in 7336 the file, made static; 7337 (autofs_link_mount): activate MNT2_GEN_OPT_BIND code; use stat() 7338 and friends to determine if bind mounts can be used and to trigger 7339 further cascading mounts; return proper error codes 7340 (autofs_link_umount): distinguish between symlinks and bind mounts 7341 and handle both correctly 7342 (autofs_umount_succeeded): remove call to autofs_link_umount() 7343 7344 * amd/map.c (umount_exported): try to unmount all mount points on 7345 an autofs filesystem; this isn't really needed and will be removed 7346 when we start handling restarting autofs mounts 7347 7348 * amd/amfs_link.c (amfs_link_[u]mount): call autofs_link_[u]mount, 7349 if necessary 7350 7351 * amd/amfs_auto.c (amfs_auto_bgmount): fixed a bug that was 7352 causing the wrong mntfs to be selected when using autofs; removed 7353 call to autofs_link_mount() (moved where it belongs, in 7354 amfs_link.c) 7355 7356 * amd/amfs_link.c: added FS_MBACKGROUND to fs flags -- cleaner 7357 solution is needed, because background mounting is only necessary 7358 for linux autofs + bind mounts 7359 7360 * amd/amd.h: removed prototype for autofs_lookup_failed (internal 7361 static function for linux autofs); added prototype for 7362 autofs_link_umount 7363 7364 * configure.in: bump up library patchlevel 7365 73662001-02-28 Ion Badulescu <ionut@moisil.dev.hydraweb.com> 7367 7368 * aux/macros/check_mount_trap.m4, 7369 aux/macros/check_nfs_fh_dref.m4, 7370 aux/macros/check_nfs_prot_headers.m4, 7371 aux/macros/type_recvfrom_fromlen.m4, 7372 aux/macros/type_yp_order_outorder.m4: 7373 Fixed newer freebsd's fh type, expanded more aix3, osf2, hpux9 to 7374 aix[1-3], osf[1-3] and hpux[6-9]. 7375 73762001-02-28 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 7377 7378 * check_mount_style.m4, check_mount_trap.m4, 7379 check_network_transport_type.m4, check_nfs_fh_dref.m4, 7380 check_nfs_prot_headers.m4, check_nfs_sa_dref.m4, 7381 check_nfs_socket_connection.m4, os_cflags.m4, 7382 type_yp_order_outorder.m4: small fixes to Ion's cleanup, and more 7383 cleanup (use [[0-1]] instead of M4 changequote commands). 7384 7385 * Makefile.am: removed unused conf/trap/trap_hpux11.h 7386 73872001-02-27 Ion Badulescu <ionut@moisil.dev.hydraweb.com> 7388 7389 * aux/macros/check_network_transport_type.m4, 7390 aux/macros/check_mount_style.m4, 7391 aux/macros/check_mount_trap.m4, 7392 aux/macros/check_network_transport_type.m4, 7393 aux/macros/check_nfs_fh_dref.m4, 7394 aux/macros/check_nfs_prot_headers.m4, 7395 aux/macros/check_nfs_sa_dref.m4, 7396 aux/macros/check_nfs_socket_connection.m4, 7397 aux/macros/os_cflags.m4, 7398 aux/macros/type_auth_create_gidlist.m4, 7399 aux/macros/type_recvfrom_fromlen.m4, 7400 aux/macros/type_yp_order_outorder.m4: 7401 Reworked the scripts, so that a new _unknown_ version of a known OS 7402 will use the option for the newest _known_ version of that OS. For 7403 example, when freebsd6 comes out, it will use the stuff for 7404 freebsd5, not the stuff for freebsd2. This makes configure more 7405 likely to succeed on new systems/versions. 7406 7407 * Makefile.am (EXTRA_DIST_AUX): added check_autofs_style.m4 (grr) 7408 74092001-02-24 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 7410 7411 * Makefile.am (install-snapshot): use a different symlink target 7412 for the experimental snapshots. 7413 74142001-02-23 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 7415 7416 * Makefile.am (EXTRA_DIST_CONF): include nfs_prot_darwin.h in 7417 distributions. 7418 74192001-02-22 Erez Zadok <ezk@earth.cs.columbia.edu> 7420 7421 * released snapshot am-utils-6.1a3 7422 7423 * amd/Makefile.am (EXTRA_amd_SOURCES): don't forget to distribute 7424 get_args.c 7425 74262001-02-21 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 7427 7428 * libamu/mtab.c: added the functions hasmnteq and haseq to 7429 ease checks for non-numeric values in opt=value strings. 7430 Recoded hasmntval to qualify input as numeric, allow hex and 7431 octal strings on rhs of =, and log when the value is missing 7432 or invalid. 7433 7434 * conf/mount/mount_linux.c: revised mount_linux to use new 7435 hasmnteq function to extract type of non-nfs mounts, and added 7436 a log message to catch possible failure of strdup. 7437 7438 * amd/am_ops.c: revised merge_ops to use new haseq function 7439 7440 * amd/srvr_nfs.c: revised find_nfs_srvr to use hasmnteq to 7441 discover protocol setting. 7442 7443 * include/am_utils.h: added function prototypes for hasmnteq 7444 and haseq 7445 74462001-02-19 Ion Badulescu <ionut@moisil.dev.hydraweb.com> 7447 7448 * include/mount_headers2.h (_LINUX_NFS3_H): define it, to avoid 7449 pulling in unwanted declarations from 2.2.19pre and 2.4.1ac 7450 7451 * include/am_defs.h (_LINUX_NFS3_H): ditto 7452 7453 * conf/nfs_prot/nfs_prot_linux.h: whitespace, comments 7454 74552001-02-19 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 7456 7457 * aux/macros/check_fs_mntent.m4 (ac_safe): remove debugging "echo" 7458 command. 7459 74602001-02-18 Erez Zadok <ezk@earth.cs.columbia.edu> 7461 7462 * aux/macros/mount_headers.m4, include/mount_headers[12].h: split 7463 mount_headers.h in two because one relative header (nfs_prot.h) 7464 file cannot be included inside another from the start directory of 7465 the first (it's relative to the directory of the first). 7466 74672001-02-09 Ion Badulescu <ionut@moisil.dev.hydraweb.com> 7468 7469 * AUTHORS: added Ahmon Dancy <dancy@franz.com> 7470 7471 * (all): added Darwin/Rhapsody/Apple OS X support from Ahmon Dancy 7472 7473 * aux/macros/mount_headers.m4: moved all the C code into a 7474 separate file, include/mount_headers.h; the effect is that 7475 configure goes down in size by a factor of 2.5! 7476 7477 * include/mount_headers.h: new file, with C code from 7478 aux/macros/mount_headers.m4 7479 74802001-02-01 Ion Badulescu <ionut@moisil.dev.hydraweb.com> 7481 7482 * conf/mount/mount_linux.c: made linux_nfs_error() more robust. 7483 74842001-02-01 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 7485 7486 * released snapshot am-utils-6.1a2 7487 7488 * updated ltmain.sh and ltconfig from latest stable version of 7489 libtool-1.3.5 7490 74912001-02-01 Ion Badulescu <ionut@moisil.dev.hydraweb.com> 7492 7493 * conf/nfs_prot/nfs_prot_linux.h (nfs_error): moved the definition 7494 of nfs_error here, from mount_linux.c, so that it can actually be 7495 used. 7496 7497 * conf/mount/mount_linux.c: added unused errno 41 to the 7498 nfs_errormap array, lest the following errno's get shifted up by 7499 one! 7500 7501Sat Jan 13 00:04:38 2001 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 7502 7503 * amd/amd.h (autofs_lookuppn): Fixup whitespace. 7504 * amd/amfs_auto.c (amfs_auto_bgmount): Likewise. 7505 * amd/amfs_error.c: (amfs_error_match): Likewise. 7506 * amd/amfs_host.c (fetch_fhandle): Fixup whitespace. Remove 7507 unnecessary temporary variable. 7508 * amd/info_file.c (read_line): Likewise. 7509 (search_or_reload_file): Likewise. 7510 * amd/info_ldap.c (get_ldap_timestamp): Likewise. 7511 * amd/map.c (get_root_ap): Likewise. 7512 * amd/nfs_prot_svc.c: Likewise. 7513 * amd/ops_TEMPLATE.c (foofs_match, foofs_lookuppn, 7514 foofs_readlink, foofs_ffserver): Likewise. 7515 * amd/ops_autofs.c (autofs_bgmount): Likewise. 7516 * amd/ops_lofs.c (lofs_match): Likewise. 7517 * amd/ops_nfs.c (got_nfs_fh): Fixup whitespace. 7518 * amd/ops_xfs.c (xfs_match): Likewise. 7519 * amd/srvr_amfs_auto.c (srvrlog): Line break. 7520 * amd/srvr_nfs.c (got_portmap, call_portmap, nfs_pinged, 7521 nfs_srvr_port): Fixup whitespace. 7522 * conf/nfs_prot/nfs_prot_bsdi2.h: Likewise. 7523 * conf/nfs_prot/nfs_prot_hpux.h: Likewise. 7524 * conf/nfs_prot/nfs_prot_hpux11.h: Likewise. 7525 * conf/nfs_prot/nfs_prot_irix5.h: Likewise. 7526 * conf/nfs_prot/nfs_prot_irix6.h: Likewise. 7527 * conf/nfs_prot/nfs_prot_nextstep.h: Likewise. 7528 * conf/nfs_prot/nfs_prot_osf2.h: Likewise. 7529 * conf/nfs_prot/nfs_prot_osf4.h: Likewise. 7530 * conf/nfs_prot/nfs_prot_osf5_1.h: Likewise. 7531 * conf/nfs_prot/nfs_prot_sunos3.h: Likewise. 7532 * conf/nfs_prot/nfs_prot_sunos4.h: Likewise. 7533 * conf/nfs_prot/nfs_prot_ultrix.h: Likewise. 7534 * conf/transp/transp_tli.c (get_mount_client): Likewise. 7535 * hlfsd/nfs_prot_svc.c: Likewise. 7536 * include/am_defs.h (sys_errlist): Likewise. 7537 * include/am_utils.h (am_get_progname, am_get_hostname, 7538 amq_program_1): Likewise. 7539 (nfsxprt): Moved declaration. 7540 7541Fri Jan 12 23:31:45 2001 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 7542 7543 Removed support for amq -M. 7544 7545 * acconfig.h (ENABLE_AMQ_MOUNT): Removed. 7546 * aux/macros/opt_amq_mount.m4: Removed. 7547 * Makefile.am (EXTRA_DIST_AUX): Don't distribute 7548 opt_amq_mount.m4. 7549 * configure.in (AC_OPT_AMQ_MOUNT): Removed invocation. 7550 7551 * amd/amq_subr.c (ok_security, amqproc_mount_1_svc): Removed. 7552 * amd/amq_svc.c (amq_program_1): Removed amq -M support. 7553 * amq/amq.c (mount_map): Removed. 7554 (main): Removed -M option handling. 7555 Removed transport-type specific CLIENT creation. 7556 (get_secure_amd_client, amq_bind_resv_port, privsock): Removed. 7557 7558 * amq/amq.8: Removed -M documentation. 7559 * doc/am-utils.texi (Top-level Filesystem): Removed amq -M 7560 reference, but retain comment on mount -t amd. 7561 (Controlling Amd): Likewise. 7562 7563 * tasks: Removed this task. 7564 7565Fri Jan 12 23:18:26 2001 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 7566 7567 * conf/autofs/autofs_*.c: Bump copyright year to 2001. 7568 * hlfsd/hlfsd.h (HLFSD_VERSION): Likewise. 7569 7570 * aux/macros/check_autofs_style.m4: Renamed solaris[12] styles to 7571 solaris_v1, solaris_v2_v3 to reflect that these are AutoFS 7572 protocol version numbers, not solaris versions. 7573 * conf/autofs/autofs_solaris[12].[ch]: Renamed to 7574 autofs_solaris_{v1, 2_v3}.[ch] to reflect this. 7575 * Makefile.am (EXTRA_DIST_CONF): Likewise. 7576 7577 * aux/macros/check_autofs_style.m4: Use solaris2 style for both 7578 versions 2 and 3 of the AutoFS protocol. 7579 7580 Handle missing AUTOFS_POSTUNMOUNT, AUTOFS_POSTMOUNT (unnecessary 7581 with Solaris 8 mntfs). 7582 7583 * conf/autofs/autofs_solaris2.c (xdr_postumntreq, xdr_postumntres, 7584 xdr_postmountreq, xdr_postmountres, autofs_postunmount_2_req, 7585 autofs_postmount_2_req ): Don't define for version 3. 7586 (autofs_program_2): Don't handle AUTOFS_POSTUNMOUNT, 7587 AUTOFS_POSTMOUNT if missing. 7588 7589 * conf/nfs_prot/nfs_prot_sunos5_8.h: Enable AutoFS support. 7590 7591 * aux/macros/check_autofs_style.m4: Use empty autofs_default.[ch] 7592 files on systems without existing autofs port. 7593 * conf/autofs/autofs_default.[ch]: New files, empty. 7594 * Makefile.am (EXTRA_DIST_CONF): Distribute them. 7595 * INSTALL: With this change, Solaris 8 and Tru64 5.1 compile and 7596 link. 7597 75982001-01-12 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 7599 7600 * Makefile.am (EXTRA_DIST): distribute new LDAP files. 7601 7602 * README.ldap, ldap-id.txt, ldap-id.ms: LDAP status information, 7603 proposed Schema, and internet draft. 7604 7605Fri Jan 12 22:27:07 2001 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 7606 7607 * Support Tru64 UNIX V5.1: 7608 7609 * conf/nfs_prot/nfs_prot_osf5_1.h: New file. 7610 7611 * Makefile.am (EXTRA_DIST_CONF): Distribute it. 7612 7613 * aux/macros/check_nfs_prot_headers.m4: Tru64 UNIX V5.1 has 7614 AutoFS, need to disable it until a port exists. 7615 7616 * INSTALL, doc/am-utils.texi (Supported Platforms): Mention new 7617 minor port. 7618 76192001-01-09 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 7620 7621 * ALL: bump copyright year to 2001. 7622 76232001-01-05 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 7624 7625 * acconfig.h: correct comments for NODEV/NONDEV mount options 7626 7627Fri Jan 5 05:12:02 2001 Erez Zadok <ezk@subzero.cs.columbia.edu> 7628 7629 * libamu/xdr_func.c: removed ugly casts to "groups*", now that 7630 irix6's nfs_prot.h is fixed. 7631 7632 * conf/nfs_prot/nfs_prot_irix6.h: copied relevant parts of 7633 <rpcsvc/mount.h> here so we don't have to include this header. 7634 76352001-01-04 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 7636 7637 * conf/nfs_prot/nfs_prot_irix6.h: redefine "groups" typedef to 7638 struct groups, not the pointer to this struct. 7639 7640 * include/am_xdr_func.h: prototype should take "groups *" as 2nd 7641 arg. 7642 7643 * libamu/xdr_func.c (xdr_groupnode, xdr_exportnode): change 7644 casting of second arg of xdr_groups to "groups *". It's only 7645 needed for irix6, due to problems with xdr_groups on that platform. 7646 (xdr_groups): prototype should take "groups *" as 2nd arg. 7647 7648 * conf/nfs_prot/nfs_prot_aix*.h: correct xdr_groups extern 7649 definition. Report from Ahmon Dancy <dancy@franz.com>. 7650 76512000-12-06 Ion Badulescu <ionut@moisil.dev.hydraweb.com> 7652 7653 * include/am_defs.h: force non-inclusion of <linux/fs.h> via 7654 <linux/auto_fs.h> 7655 7656 * conf/autofs/autofs_linux.c (autofs_mounted): rename 7657 AUTOFS_MIN_PROTO_VERSION to AUTOFS_MIN_VERSION (leftover from 7658 previous commit) 7659 7660 * configure.in: fixed libtool version 7661 76622000-12-02 Ion Badulescu <ionut@moisil.dev.hydraweb.com> 7663 7664 * doc/am-utils.texi (opts Option): document lock/nolock 7665 76662000-12-02 Ion Badulescu <ionut@moisil.dev.hydraweb.com> 7667 7668 * conf/autofs/autofs_linux.h: added struct autofs_pending_mount; 7669 modified autofs_fh_t to have a linked list of autofs_pending_mount; 7670 added some support for autofs4 7671 7672 * conf/autofs/autofs_linux.c: use a linked list for pending 7673 request, to allow for handling multiple simultaneous request; 7674 incipient non-functional support for autofs4; incipient 7675 non-functional support for bind-mounting 7676 7677 * amd/amd.c (main): print a warning if PROCLOCK is requested but 7678 the O/S doesn't support it 7679 7680 * libamu/mount_fs.c (mnt_flags): allow the use of the "nolock" 7681 option 7682 7683 * include/am_defs.h: don't include <linux/fs.h> on a glibc2 7684 system; include <linux/auto_fs4.h> if it exists, instead of 7685 <linux/auto_fs.h> 7686 7687 * include/am_compat.h: define the "nolock" mnttab option if the 7688 NONLM NFS mount option is defined 7689 7690 * acconfig.h: added MNT2_NFS_OPT_NONLM, MNT2_GEN_OPT_BIND 7691 7692 * configure.in: added detection of the NONLM Linux NFS mount 7693 option; added a clarification for the library versioning rules and 7694 increased the minor level; added detection of <linux/auto_fs4.h> 7695 and the MS_BIND generic mount option 7696 76972000-11-29 Ion Badulescu <ionut@moisil.dev.hydraweb.com> 7698 7699 * Enabled Solaris 2.7 autofs support (tested, works) 7700 7701 * Updated NEWS, README.autofs 7702 7703 * Updated Makefile's, make dist is now fixed 7704 7705 * Fixed potential memory leak in map.c 7706 7707 * Fixed autofs style detection for solaris 2.[67] 7708 7709 * Added a few casts in autofs_solaris2.c, needed on Solaris 2.7 7710 77112000-11-28 Ion Badulescu <ionut@moisil.dev.hydraweb.com> 7712 7713 More Solaris 2.[67] work in progress: 7714 7715 * changed the API for the mount/umount methods: fmount/fumount are 7716 gone, and mount/umount now take two arguments (am_node and mntfs) 7717 7718 * changed the semantics of the MFF_AUTOFS flag: MFF_AUTOFS now 7719 means the mntfs is a filesystem of type autofs, and AMF_AUTOFS 7720 means the am_node is a node on a filesystem of type autofs. 7721 7722 * renamed nfs_program_2_transp to current_transp so it can be used 7723 with autofs 7724 7725 * renamed quick_reply() to nfs_quick_reply() 7726 7727 * added two more autofs methods: autofs_umount_failed() and 7728 autofs_compute_mount_flags() -- it turns out that on sol2.6 the 7729 autofs mounts MUST be overlay'ed 7730 7731 * moved the autofs_mount_succeeded() into am_mounted() 7732 7733 * made amd *not* timeout autofs mounts -- the kernel will do it 7734 for us 7735 7736 * store dev and rdev of a mounted filesystem in the mntfs 7737 structure, to help autofs 7738 7739 * moved the rmdirs() call from uninit_mntfs() to am_umounted(), to 7740 prevent deadlocking with autofs 7741 7742 * amd/Makefile.am: shuffled things around to make 7743 update_build_version be the last thing that runs 7744 77452000-11-27 Ion Badulescu <ionut@moisil.dev.hydraweb.com> 7746 7747 * split amd/ops_autofs.c into conf/autofs/autofs_<system>.c files 7748 and made configure create a symlink to the appropriate one 7749 7750 * moved the xdr autofs functions from libamu/xdr_func.c into the 7751 system-specific conf/autofs/autofs*.c 7752 7753 * added some more experimental code to the sol2.6 autofs support, 7754 but it's by no means functional 7755 77562000-11-27 Ion Badulescu <ionut@moisil.dev.hydraweb.com> 7757 7758 * libamu/wire.c (getwire_lookup): truncate the hostname to 7759 MAXHOSTNAMELEN characters. 7760 77612000-11-26 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 7762 7763 * include/am_utils.h (MAXHOSTNAMELEN): if not defined, set this to 7764 256 bytes, not 64. Suggestion form Kris Kennaway 7765 <kris@FreeBSD.org>. 7766 77672000-11-26 Erez Zadok <ezk@dmath5.geometrie.tuwien.ac.at> 7768 7769 * configure.in (AC_CHECK_MNT2_NFS_OPTS): check for NFS mount 7770 options kerb, rdirplus, readdirsize, and xlatecookie 7771 (NetBSD-1.5K). 7772 7773 * acconfig.h: recognize NFS mount options rdirplus, readdirsize, 7774 and xlatecookie (NetBSD-1.5K) 7775 77762000-11-24 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 7777 7778 * amd/srvr_nfs.c: comment on NFS proto search order. 7779 7780 * libamu/xutil.c (real_plog): don't try to write the last byte of 7781 the fmt buf. security suggtion from NetBSD: Thomas Klausner 7782 <wiz@danbala.ifoer.tuwien.ac.at> 7783 77842000-11-22 Ion Badulescu <ionut@moisil.dev.hydraweb.com> 7785 7786 * amd/amfs_auto.c (amfs_auto_bgmount): removed the initialization of 7787 fattr.na_fileid, it is now done in map.c when the map is initialized 7788 7789 * amd/map.c (init_map): initialize fattr.na_fileid to am_gen, not 7790 to 0, to avoid cache aliasing problems on Linux (and to follow the 7791 NFS spec!) 7792 77932000-11-22 Thomas Klausner <wiz@danbala.ifoer.tuwien.ac.at> 7794 7795 * libamu/mount_fs.c (mount_fs): avoid using extra limited-size buf 7796 (security) 7797 7798 * libamu/xutil.c, fsinfo/fsinfo.h, include/am_utils.h: use 7799 __attribute__, __format__, and __printf__ for GCC string auditing. 7800 7801 * wire-test/wire-test.8: this is not a section 8L man page. 7802 7803 * libamu/xutil.c (expand_error): don't use sys_nerr on systems 7804 that support strerror(). 7805 (dplog): fmt is const 7806 (plog): fmt is const 7807 (real_plog): fmt is const. use new expand_error function with its 7808 new return value. be more careful about running off the end of 7809 char[] fixed size buffers. 7810 7811 * libamu/wire.c (getwire): fix alignment error on alpha using an 7812 extra automatic storage variable ifrpool. 7813 7814 * hlfsd/hlfsd.c (fatal): use proper printf style to plog. 7815 7816 * fsinfo/fsinfo.c (find_username): getlogin() returns a const. 7817 7818 * fsinfo/fsi_util.c (error, lerror, lwarning, fatal, log): use 7819 vfprintf. 7820 7821 * fsinfo/fsi_lex.l (yyerror): use vfprintf. 7822 7823 * fixmount/fixmount.8: this is not a section 8L man page. 7824 7825 * doc/am-utils.texi (Hesiod maps): fixed typo. 7826 7827 * amd/sched.c (do_task_notify): typo in comment. 7828 7829 * amd/opts.c (expand_op): expand_error[] is a const char *. 7830 7831 * amd/amd.c (main): use proper printf style to plog. 7832 78332000-11-22 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 7834 7835 * libamu/mount_fs.c (mnt_flags, compute_nfs_args): recognize 7836 proplist mnttab flag. Bug fix from Wolfram Klaus 7837 <klaus@physik.fu-berlin.de>. 7838 78392000-11-19 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 7840 7841 * updated config.guess, config.sub, and doc/texinfo.tex from 7842 mirrors 7843 7844 * Makefile.am (update): proper updating of config.* and texinfo 7845 from mirrors. 7846 7847 * aux/macros/check_nfs_prot_headers.m4: newer netbsd systems 7848 reports their system name as "netbsdelf" in config.guess. 7849 78502000-11-13 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 7851 7852 * doc/am-utils.texi (opts Option): document new mount option 7853 "proplist" 7854 7855 * include/am_compat.h: define amd mount option "proplist" if the 7856 system doesn't recognize it, but the NFS bit flag exists. 7857 7858 * configure.in, acconfig.h: recognize/support "proplist" NFS mount 7859 option in Amd, useful under DU-4.0 to process ACLs over NFS 7860 mounts. 7861 78622000-11-10 Ion Badulescu <ionut@moisil.dev.hydraweb.com> 7863 7864 * conf/mount/mount_linux.c (mount_linux): removed unnecessary 7865 rsize/wsize defaults -- performance killers on 2.2.18+ and 2.4.0+ 7866 78672000-10-16 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 7868 7869 * scripts/am-eject.in: accept "cdrom" and "floppy" as arguments. 7870 78712000-11-05 Ion Badulescu <ionut@moisil.dev.hydraweb.com> 7872 7873 Too many changes to list them here. Here's a high level 7874 description: 7875 7876 * Forward-ported the Linux fixes from 6.0.5pre 7877 7878 * Got rid of a mountain of #ifdef DEBUG, replaced with smart 7879 header-file #ifdef's 7880 7881 * and, the grand finale: initial Solaris 2.6 autofs 7882 support. Compiles, mounts, gets requests; all the 7883 infrastructure is in place to actually implement the calls. Linux 7884 autofs might be a bit broken, but only compile-time so it'll be 7885 easy to fix. 7886 78872000-11-01 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 7888 7889 * MIRRORS (Note): added a mirror at ufl.edu 7890 78912000-10-11 Erez Zadok <ezk@lorien.dev.hydraweb.com> 7892 7893 * amq/amq.8: synchronize Amq's options with reality 7894 7895 * amq/amq.c (main): synchronize Amq's usage() string with reality 7896 78972000-10-10 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 7898 7899 * scripts/ctl-amd.in: add targets condrestart (redhat) and 7900 reload. 7901 79022000-10-04 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 7903 7904 * scripts/lostaltmail.in (vrfy_user): ensure that MAILDIR is 7905 defined. 7906 79072000-09-18 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 7908 7909 * amd/opts.c (backslash): Bell char (ASCII 007) should be \g, not 7910 \a. 7911 79122000-09-17 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 7913 7914 * include/am_utils.h: removed unused field opt_autopref 7915 7916 * amd/opts.c: removed unused variable $autopref 7917 79182000-09-05 Erez Zadok <ezk@aladdin.dev.hydraweb.com> 7919 7920 * conf/mtab/mtab_svr4.c (lockfile): function not needed unless 7921 MOUNT_TABLE_ON_FILE is defined. 7922 mtlckname static var is onlyneeded if MOUNT_TABLE_ON_FILE. 7923 (update_mnttab_fields): only needed if MOUNT_TABLE_ON_FILE. 7924 79252000-09-03 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 7926 7927 * buildall (Usage): typo in usage string 7928 79292000-08-25 Erez Zadok <ezk@lynn.soscorp.com> 7930 7931 * conf/mount/mount_linux.c (mount_linux): MNT2_NFS_OPT_VER3 may 7932 is no defined on older Linux systems (kernel 2.0.36) 7933 79342000-08-19 Erez Zadok <ezk@earth.cs.columbia.edu> 7935 7936 * scripts/amd.conf.5: correct swapped descriptions for ldap_base 7937 and ldap_hostports. 7938 7939 * doc/am-utils.texi: correct swapped descriptions for ldap_base 7940 and ldap_hostports. 7941 7942 * scripts/amd.conf-sample: swap examples for ldap_base and 7943 ldap_hostports. 7944 79452000-08-13 Erez Zadok <ezk@earth.cs.columbia.edu> 7946 7947 * scripts/amd.conf-sample: -O is CLI equivalent to "os" 7948 amd.conf parameter 7949 79502000-07-30 Erez Zadok <ezk@earth.cs.columbia.edu> 7951 7952 * scripts/amd.conf-sample (nfs_retransmit_counter): correct 7953 meaning and use of parameter 7954 79552000-07-23 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 7956 7957 * doc/am-utils.texi: updated URLs to www.am-utils.org. 7958 79592000-07-04 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 7960 7961 * doc/am-utils.texi (Supported Platforms): document osf4.0f 7962 79632000-06-19 Erez Zadok <ezk@vir.cs.columbia.edu> 7964 7965 * doc/am-utils.texi (dollar Selector Variable): document 7966 ${dollar}. 7967 7968 * amd/opts.c: special new variable ${dollar} which expands into a 7969 literal '$' sign. Otherwise there is no way to include a literal 7970 dollar symbol in an amd map. 7971 79722000-06-11 Ion Badulescu <ib42@moisil.cs.columbia.edu> 7973 7974 * amd/opts.c (eval_selectors): don't deref opt after it's been 7975 XFREE'd 7976 79772000-06-11 Erez Zadok <ezk@earth.cs.columbia.edu> 7978 7979 * amd/opts.c: move mount_type expansion until later in the list, 7980 so common variable are "hit" first. 7981 79822000-06-11 Ion Badulescu <ib42@moisil.cs.columbia.edu> 7983 7984 * amd/opts.c (split_opts, eval_selectors): split old function 7985 eval_opts into two, one that only splits non-selectors and 7986 assigns the values to fs_static, and one that only evaluates 7987 selectors; also simplified the rather obfuscated logic inside 7988 these functions 7989 (expand_op): made it take a char * instead of a structure from 7990 which it was using only one field (a char *). Also now returns a 7991 char * instead of modifying said structure in place 7992 (expand_opts): deal with the change above 7993 (expand_selectors): renamed from expand_key 7994 (expand_options): new function, expands non-selectors; it's the 7995 complement of expand_selectors, both of which are just wrappers 7996 around expand_op() 7997 (eval_fs_opts): use the new split_opts, eval_selectors to allow 7998 using options (like ${rhost}) in selectors 7999 80002000-06-11 Ion Badulescu <ionut@moisil.cs.columbia.edu> 8001 8002 * config.guess.long: munge config.guess' output so that intel 8003 linux appears as i386-pc-linux 8004 8005Fri Jun 9 16:06:56 2000 Erez Zadok <ezk@defiant.dev.hydraweb.com> 8006 8007 * conf/nfs_prot/nfs_prot_bsdi2.h: getifaddrs() on bsdi2 is broken. 8008 Don't use it. 8009 80102000-06-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 8011 8012 * amd/mapc.c (maptypes): Change default allocation mode to 8013 MAPC_INC where reload support is missing to avoid warning in 8014 mapc_create(). 8015 80162000-06-09 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8017 8018 * conf/nfs_prot/nfs_prot_sunos5_5.h: turn off autofs support for 8019 solaris 2.5 until a full port can be done. 8020 80212000-06-07 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8022 8023 * Makefile.am, aux/GNUmakefile: fix maintainer rules to update 8024 config.* and texinfo.tex files. 8025 8026 * amd/nfs_subr.c (nfsproc_getattr_2_svc): Don't conditionalize the 8027 mtime update of the symlinks on the SYMTTL option, but rather 8028 delay unmount of what was looked up using am_timeo_w. Patch from 8029 Nick Williams <Nick.Williams@msdw.com>. As Nick says "Basically: 8030 during unmount, increment the parent dir's mtime (fixes 8031 people doing amq -u). During stat, increase the TTL (to fix bad-luck 8032 timeouts), but leave the mtime alone." 8033 8034 (nfsproc_lookup_2_svc, nfsproc_readlink_2_svc, unlink_or_rmdir, 8035 nfsproc_readdir_2_svc): correctly update d_drops stats for amq -s. 8036 Patch from Nick Williams <Nick.Williams@msdw.com>. 8037 8038 * amd/map.c (unmount_mp): update mtime of amd symlink to further 8039 reduce the chances of race conditions between unmounting and 8040 looking up an entry again. Patch from Nick Williams 8041 <Nick.Williams@msdw.com>. 8042 8043 * README: updated instructions 8044 8045 * bootstrap: remove log file before existing 8046 80472000-06-06 Erez Zadok <ezk@aladdin.dev.hydraweb.com> 8048 8049 * configure.in: no longer using aux/ subdir. don't force autoconf 8050 2.14. comment out (but leave explanation) everything that's needed 8051 for autoconf 2.14, so for now it works with autoconf-2.13, but the 8052 code is ready for 2.14 when it is released. Similar changes to 8053 make code work with automake-1.4, until the next release comes 8054 out. 8055 8056 * libamu/Makefile.am: include definitions that are required in 8057 automake 1.4, but won't be necessary when the next release of 8058 automake comes out (see XXX comments). 8059 8060 * cache_check_dynamic.m4, check_checkmount_style.m4, 8061 check_mnttab_style.m4, check_mount_style.m4, 8062 check_network_transport_type.m4, check_nfs_prot_headers.m4, 8063 check_umount_style.m4: use symlink creation code that works for 8064 both autoconf 2.13 and 2.14 (when the latter comes out). 8065 8066 * bootstrap: new script for maintainers to run to update autoconf, 8067 automake, and libtool related files. Has the same effect as 8068 "buildall -K". 8069 8070 * removed dependencies on CVS versions of autoconf, automake, and 8071 libtool, especially the modified automake I had. This is so that 8072 maintainers could built the auto* files out of the latest released 8073 GNU autoconf, automake, and libtool. However, without my nice 8074 patches to automake, many files that used to live in the aux/ 8075 subdir now were moved to the top level source directory: acconfig.h, 8076 acinclude.m4, aclocal.m4, aux_conf.h.in, config.guess, 8077 config.guess.long, config.h.in, config.sub, configure.in, depcomp, 8078 install-sh, ltconfig, ltmain.sh, missing, and mkinstalldirs. Also 8079 texinfo.tex and mdate-sh moved from aux/ dir to doc/ dir. 8080 80812000-06-05 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8082 8083 * cvs-server.txt: instructions for maintainers to access the CVS 8084 server for am-utils. 8085 80862000-06-03 Ion Badulescu <ionut@moisil.cs.columbia.edu> 8087 8088 * amd/restart.c (restart): grr.. passing around initialized 8089 structures is *really* bad habit. memset(mo, 0) so at least we can 8090 test for NULL pointers... 8091 80922000-06-02 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8093 8094 * amd/am_ops.c (ops_match): changed XLOG_USER messages about 8095 merging addopts options to the more appropriate XLOG_INFO. Patch 8096 submitted by Tom Schmidt <tschmidt@micron.com>. 8097 8098 * config.{guess,sub}: make sure chmod'ed a+rx. Updated from 8099 latest GNU copies. 8100 81012000-05-30 Ion Badulescu <ionut@moisil.cs.columbia.edu> 8102 8103 * aux/configure.in: bump up the version to 6.1a2 8104 81052000-05-29 Ion Badulescu <ionut@moisil.cs.columbia.edu> 8106 8107 * released snapshot am-utils-6.1a1 8108 81092000-05-29 Ion Badulescu <ionut@moisil.cs.columbia.edu> 8110 8111 * amd/ops_autofs.c (autofs_mounted): retrieve the autofs protocol 8112 version and store it in the fh 8113 (autofs_get_opts): support protocol version 4 8114 8115 * amd/mntfs.c (uninit_mntfs): clear the autofs fh pointer after 8116 releasing it 8117 8118 * conf/transp/transp_sockets.c (amu_svc_getcaller): cast result of 8119 svc_getcaller() to sockaddr_in, to appease glibc 2.2 8120 8121 * amd/amfs_auto.c (amfs_auto_bgmount): if the filesystem wants 8122 autofs handling and the parent is already handled by autofs, 8123 handle this filesystem as well 8124 (amfs_auto_mount): create the mountpoint for an autofs mount 8125 (amfs_auto_umount): do a real UMOUNT_FS() call for autofs mounts 8126 8127 * include/am_utils.h (FS_AUTOFS): new flag signalling that the 8128 filesystem wants autofs handling; toplvl, auto, host and direct 8129 have this flag, at least for now 8130 81312000-05-28 Erez Zadok <ezk@mulberry.mcl.cs.columbia.edu> 8132 8133 * doc/am-utils.texi (Network Filesystem Group): minor typos 8134 81352000-05-28 Ion Badulescu <ionut@moisil.cs.columbia.edu> 8136 8137 * amd/autil.c (am_unmounted): check mp->am_parent before dereferencing 8138 8139 * amd/srvr_nfs.c (find_nfs_srvr): if NFS_SCALEDOWN, force 8140 version=2 and proto=udp and try again 8141 8142 * amd/ops_nfs.c (prime_nfs_fhandle_cache): take an explicit mntfs 8143 instead of a voidp; handle the NFS_SCALEDOWN case by removing the 8144 cached server entry and re-querying the server 8145 8146 * amd/amfs_toplvl.c (amfs_toplvl_mount): removed ugly if 8147 statement, assign mnttype from the fs-specific mf_ops->fs_type 8148 instead 8149 8150 * amd/amfs_nfsx.c (amfs_nfsx_init): call fs_init() only if it's 8151 defined; 8152 (amfs_nfsx_remount): removed superfluous check for fmount_fs -- it 8153 always exists 8154 (amfs_nfsx_umount): removed the hacked am_node -- umounted() now 8155 takes an mntfs; call umounted() only if it's defined 8156 8157 * amd/amfs_auto.c: removed amfs_auto_umounted and moved its 8158 functionality into am_umounted(). 8159 (amfs_auto_cont): Linux hack: if we got an EINVAL, mark the mntfs 8160 as needing an "NFS scaledown" and retry the operation 8161 8162 * amd/amfs_*.c: changed all fmount/fumount functions to 8163 mount/umount and made them take an am_node instead of an 8164 mntfs. This is a first step towards an amfs/ops API separation. 8165 8166 * amd/{amfs,ops}_*.c: changed the umounted() function to take an 8167 mntfs instead of an am_node 8168 81692000-05-28 Ion Badulescu <ionut@moisil.cs.columbia.edu> 8170 8171 * amd/amfs_toplvl.c (mount_amfs_toplvl): init error to 0 to shut 8172 up gcc 8173 8174 * aux/macros/check_hide_mount_type.m4: revert to the 6.0 version 8175 which always defines HIDE_MOUNT_TYPE 8176 8177 * amd/ops_autofs.c (autofs_mounted): remove MFF_AUTOFS 8178 initialization -- now done in init_mntfs() 8179 8180 * amd/mntfs.c (init_mntfs): init mf_flags to MFF_AUTOFS if we are 8181 mounting an autofs-style map 8182 8183 * amd/*.c: use the MFF_AUTOFS flag instead of doing a costly STREQ 8184 8185 * amd/amfs_toplvl.c (mount_amfs_toplvl): MTYPE_TYPE is not 8186 necessarily a string type, so handle the nfs/autofs separation 8187 differently 8188 8189 * amd/amfs_auto.c (amfs_auto_bgmount): removed initialization of 8190 opt_mount_type (now done in ops_match()) 8191 8192 * amd/am_ops.c (ops_match): need to initialize opt_mount_type if 8193 it's not initialized yet 8194 81952000-05-27 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8196 8197 * libamu/wire.c (getwire_lookup): handle calling irs_gen_acc with 8198 one or two arguments (bsdi3 vs. bsdi4) 8199 82002000-05-27 Ion Badulescu <ib42@chestnut.mcl.cs.columbia.edu> 8201 8202 * libamu/xutil.c (amu_release_controlling_tty): removed an unused 8203 variable from the previous patch 8204 82052000-05-26 Ion Badulescu <ionut@moisil.cs.columbia.edu> 8206 8207 * aux/macros/check_autofs_style.m4: fixed substitution for default 8208 case 8209 8210 * libamu/xutil.c (amu_release_controlling_tty): close standard 8211 file descriptors, re-open them as /dev/null 8212 8213 * include/am_defs.h: don't try to include both <ndbm.h> and 8214 <db1/ndbm.h>, it really doesn't work 8215 82162000-05-16 Ion Badulescu <ib42@earth.cs.columbia.edu> 8217 8218 * hlfsd/stubs.c (nfsproc_lookup_2_svc): added code to update mtime 8219 on lookup if MNT2_NFS_OPT_SYMTTL is not defined (copied from 8220 getattr). This fixes the problem introduced by the Linux nfsv3 8221 patches. 8222 82232000-05-12 Ion Badulescu <ionut@moisil.cs.columbia.edu> 8224 8225 * Makefile.am (EXTRA_DIST_CONF): added conf/autofs/autofs_linux.h 8226 82272000-05-10 Ion Badulescu <ib42@earth.cs.columbia.edu> 8228 8229 * amd/ops_autofs.c (autofs_handle_fdset): call 8230 autofs_lookup_failed instead of autofs_mount_failed, if the name 8231 is not in the map 8232 (autofs_umount_{succeeded,failed}): pass the actual mount point, 8233 not its parent, as it's needed for clean-up; 8234 8235 * amd/autil.c (am_unmounted): notify autofs that the umount 8236 succeeded 8237 8238 * amd/amfs_link.c (amfs_link_[u]mount): autofs link notification 8239 moved elsewhere 8240 82412000-05-09 Ion Badulescu <ionut@moisil.cs.columbia.edu> 8242 8243 * amd/amfs_auto.c (amfs_auto_bgmount): initialize opt_mount_type 8244 if necessary; 8245 (amfs_auto_mounted): test if opt_mount_type is NULL first 8246 (amfs_auto_mount): revert earlier change 8247 8248 * amd/ops_autofs.c (autofs_mount_failed): remove autofs directory 8249 if mount failed 8250 82512000-05-09 Ion Badulescu <ionut@moisil.cs.columbia.edu> 8252 8253 * amd/ops_autofs.c (autofs_link_mount): use am_link as target 8254 8255 * amd/map.c (unmount_mp): release file handle for autofs f/s about 8256 to be unmounted; this leak was preventing the unmount altogether 8257 8258 * amd/amfs_auto.c (amfs_auto_umount): removed autofs-specific 8259 code, was broken 8260 (amfs_auto_bgmount): nfs mounts + sublinks is a valid combination, 8261 handle it 8262 82632000-05-07 Ion Badulescu <ib42@moisil.cs.columbia.edu> 8264 8265 * Merged changes from stable branch 8266 82672000-04-30 Erez Zadok <ezk@beetle.mcl.cs.columbia.edu> 8268 8269 * include/am_defs.h, aux/macros/mount_headers.m4, 8270 aux/macros/try_compile_anyfs.m4: include linux/kdev_t.h and 8271 linux/list.h before including linux/fs.h, and define __KERNEL__ 8272 for those two headers. All of this to get a couple of definitions 8273 that are needed in the new struct vfsmount. 8274 8275 * aux/configure.in: look for <linux/kdev_t.h> and <linux/list.h>. 8276 8277 * include/am_defs.h, aux/macros/mount_headers.m4: avoid conflicts 8278 between linux/in.h. and netinet/in.h (linux-2.3.99-pre6), by 8279 defining _LINUX_IN_H so it doesn't get included. 8280 82812000-04-03 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8282 8283 * minor new ports: i686-pc-linux-gnu-rh6.2, 8284 i386-unknown-freebsdelf3.4, i586-pc-linux-gnu-rh6.2. 8285 82862000-04-03 Erez Zadok <ezk@vir.cs.columbia.edu> 8287 8288 * aux/acconfig.h: move all #undef macros above @TOP@, so they can 8289 be recognized by pickier autoconf. 8290 82912000-04-03 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8292 8293 * aux/macros/cache_check_dynamic.m4 (ac_tmp): use correct echo -n 8294 or \c. 8295 82962000-03-25 Erez Zadok <ezk@beetle.mcl.cs.columbia.edu> 8297 8298 * include/am_defs.h: ditto 8299 8300 * aux/macros/{mount_headers,try_compile_anyfs}.m4: force 8301 non-inclusion of <linux/string.h>. Breaks build on newer 2.3 8302 kernels. 8303 83042000-02-26 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8305 8306 * doc/am-utils.texi (Amq -w option): document new amq -w option. 8307 8308 * amq/amq.8: document new amq -w option. 8309 8310 * amq/amq.c: disable last remains of insecure amq -M code. 8311 (main): add amq -H option to show usage. 8312 (main): new amq -w option, translates getpwd() into an amd path. 8313 83142000-02-25 Ion Badulescu <ionut@moisil.cs.columbia.edu> 8315 8316 * libamu/util.c (get_server_pid): new function 8317 8318 * hlfsd/hlfsd.c (main): make use of HIDE_MOUNT_TYPE 8319 8320 * conf/transp/transp_sockets.c: removed create_autofs_service 8321 8322 * conf/mount/mount_linux.c: added autofs mount options; split 8323 mount_linux into two functions, itself and do_mount_linux 8324 8325 * aux/macros/check_hide_mount_type.m4: better failover 8326 8327 * aux/configure.in: changed version to 6.1a1; added 8328 AC_CHECK_AUTOFS_STYLE 8329 8330 * aux/aux_conf.h.in: added @am_utils_autofs_style@ 8331 8332 * amd/opts.c: added "mount_type" option 8333 8334 * amd/ops_autofs.c: ifdef-ed out solaris code; moved all autofs 8335 variables in here; split create_autofs_service into sun and linux 8336 specific functions 8337 8338 * amd/nfs_start.c: removed autofs-specific variables 8339 8340 * amd/map.c (get_root_nfs_fh): renamed root_fh to get_root_nfs_fh 8341 (get_root_ap): renamed root_ap to get_root_ap 8342 8343 * amd/amfs_toplvl.c (amfs_toplvl_ops): replaced 8344 amfs_toplvl_mounted with amfs_auto_mounted 8345 (mount_amfs_toplvl): moved code around, added autofs handling 8346 (amfs_toplvl_mounted): removed 8347 8348 * amd/amfs_nfsl.c (amfs_nfsl_ops): removed amfs_auto_fu?mount, 8349 replaced with amfs_nfsl_u?mount 8350 8351 * amd/amfs_linkx.c (amfs_linkx_ops): removed amfs_auto_fumount, 8352 replaced with amfs_link_umount 8353 8354 * amd/amfs_link.c (amfs_link_ops): removed amfs_auto_fu?mount, 8355 replaced with amfs_link_u?mount 8356 8357 * amd/amfs_direct.c (amfs_direct_ops): changed "mounted" function 8358 from amfs_toplvl_mounted to amfs_auto_mounted 8359 8360 * all: added autofs hooks throughout the code 8361 8362 * amd/am_ops.c (vops): autofs_ops doesn't belong in here, removed 8363 8364 * README.autofs: linux status update 8365 83662000-02-24 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8367 8368 * minor new port: alphaev6-dec-osf5.0 8369 8370 * doc/am-utils.texi (Supported Platforms): hpux-11 supports NFSv3, 8371 but only for UDP. 8372 8373 * released snapshot am-utils-6.0.4s3 8374 8375 * conf/nfs_prot/nfs_prot_hpux11.h: support NFSv3 in hpux-11. Note 8376 that hpux-11 NFSv3 supports UDP only, and trying TCP locks up the 8377 kernel! Must set nfs_proto=udp in amd.conf [global]. 8378 8379 * aux/config.guess.long: set and export PATH separately. DU5 8380 /bin/sh doesn't like setting it on the command line in a 8381 back-tick'ed `script`. 8382 83832000-02-24 Ion Badulescu <ionut@moisil.cs.columbia.edu> 8384 8385 * Makefile.am: removed struct_nfs_mount_data.m4 8386 8387 * aux/macros/struct_nfs_mount_data.m4: deleted 8388 8389 * aux/acconfig.h: removed definition for HAVE_NFS_MOUNT_DATA 8390 8391 * aux/configure.in: removed check for struct nfs_mount_data 8392 83932000-02-24 Ion Badulescu <ib42@beetle.mcl.cs.columbia.edu> 8394 8395 * amd/amfs_auto.c (amfs_auto_bgmount): changed log message to 8396 avoid having 'failed' in a message not indicating a failure 8397 (amfs_auto_lookuppn): ditto 8398 8399 * amd/ops_autofs.c (autofs_bgmount): ditto 8400 (autofs_lookuppn): ditto 8401 84022000-02-24 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8403 8404 * added .cvsignore files into the CVS repository. 8405 8406 * remove files which can be regenerated: .in, configure, some 8407 files in aux/, and more. 8408 84092000-02-20 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8410 8411 * doc/am-utils.texi (nfs_vers/nfs_proto): description of two 8412 parameters was reversed. Reported by Paul Jenner 8413 <p.jenner@eim.surrey.ac.uk>. 8414 84152000-02-16 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8416 8417 * released snapshot am-utils-6.0.4s2 8418 8419 * amd/mntfs.c (realloc_mntfs): don't fallback on certain ops such 8420 as inherit, error, and toplvl (failover code). 8421 8422 * amd/conf.c (gopt_nfs_vers, gopt_nfs_proto): two new (documented) 8423 global options in amd.conf: one to set the NFS version globally 8424 (i.e., nfs_vers=2), and one to set the NFS protocol globally 8425 (i.e., nfs_proto=udp). 8426 8427 * amd/mntfs.c (realloc_mntfs): attempt to fix the failover code, 8428 so when a matching mount entry failed, try the next one. 8429 84302000-02-15 Erez Zadok <ezk@moisil.cs.columbia.edu> 8431 8432 * amd/amfs_auto.c: a new debug option "readdir" to trace the 8433 progress of the browsable_dirs code. 8434 8435 * conf/mount/mount_linux.c (mount_linux): ensure that the new 8436 linux NFSv3 code works for v2-only machines. 8437 84382000-02-14 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8439 8440 * aux/configure.in: cleanup unused dnl entries. 8441 8442 * conf/mount/mount_linux.c (parse_opts): typo: check for string 8443 equality, not string inequality for pcfs and cdfs. 8444 8445 * aux/acconfig.h: look for MNT2_NFS_OPT_INTR as well. 8446 8447 * libamu/mount_fs.c (compute_mount_flags): check for INTR and 8448 NOINTR options as well (intr was never passed to linux mount 8449 syscall). 8450 84512000-02-10 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8452 8453 * released snapshot am-utils-6.0.4s1 8454 8455 * aux/GNUmakefile: buildall -k (for maintainers) temporarily now 8456 ignores autoconf warnings: "The macro `AC_OUTPUT_COMMANDS' is 8457 obsolete". It is harmless but annoying, and will be fixed when 8458 autoconf and automake in their respective CVS trees are working 8459 and in sync again. 8460 8461 * scripts/amd.conf.5: document -D hrtime,xdrtrace 8462 8463 * all man pages: update copyright to 2000. 8464 8465 * doc/am-utils.texi: update copyright to 2000. 8466 8467Wed Feb 9 14:22:31 2000 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 8468 8469 * include/am_utils.h (D_XDRTRACE): Define. 8470 (D_TEST): Disable here. 8471 8472 * libamu/xutil.c (dbg_opt): Handle it. 8473 8474 * doc/am-utils.texi (-D-Option): Document it. 8475 8476 * libamu/xdr_func.c: Use it instead of D_TRACE. 8477 8478 * include/am_utils.h (D_HRTIME): Define. 8479 8480 * doc/am-utils.texi (-D-Option): Document it. 8481 8482 * libamu/xutil.c (show_time_host_and_name): Print high-resolution 8483 timestamp if available and activated. 8484 8485 * aux/configure.in (clock_gettime): Check for it in -lrt and 8486 -lposix4. 8487 8488 * hlfsd/hlfsd.c (mnttab_file_name): Initialize to MNTTAB_FILE_NAME 8489 if defined, even for some systems with in kernel mount tables. 8490 84912000-02-08 Ion Badulescu <ionut@moisil.cs.columbia.edu> 8492 8493 * aux/macros/mount_headers.m4: remove #if 0 around linux/nfs.h to 8494 allow compiles against libc5 8495 8496 * aux/macros/check_mnttab_type.m4: avoid detecting nfs3 under 8497 linux when the kernel doesn't support it 8498 8499 * include/am_compat.h: add workaround for linux efs 8500 85012000-02-08 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8502 8503 * aux/configure.in: test for ANSI C compiler (before AC_C_CONST). 8504 Comment out unused AC_STRUCT_ST_RDEV (which is obsolete anyway). 8505 85062000-02-07 Ion Badulescu <ionut@moisil.cs.columbia.edu> 8507 8508 * libamu/mount_fs.c (compute_nfs_args): turn on VER3 option for 8509 nfs (linux NFSv3). 8510 8511 * include/am_defs.h: avoid reinclusion of some header files under 8512 linux. 8513 8514 * conf/nfs_prot/nfs_prot_linux.h: support NFSv3. 8515 8516 * conf/mount/mount_linux.c (mount_linux): support nfs mount 8517 (implementation) version 4 for NFSv3. 8518 8519 * aux/macros/try_compile_nfs.m4: use AC_MOUNT_HEADERS. 8520 8521 * aux/macros/mount_headers.m4: don't include <linux/fs.h> (may 8522 need to fix the code on other linux machines). 8523 8524 * aux/macros/check_mnttab_type.m4 (ac_safe): ditto. 8525 8526 * aux/macros/check_fs_mntent.m4 (ac_safe): check for nfs3 option 8527 under linux (depends on ac_cv variable, is that a good idea?) 8528 8529 * added NFSv3 support for linux 8530 8531 * aux/{configure.in,acconfig.h}: new option ver3 8532 8533 * aux/macros/mount_headers.m4: commented out inclusion of 8534 linux/fs.h, it's not needed on rh61 (and actually generates 8535 conflicts), we should see if it's still needed on libc5 systems 8536 8537 * aux/macros/try_compile_nfs.m4: use AC_MOUNT_HEADERS rather than 8538 try to have its own (out of date) list of headers and ifdef's and 8539 ... 8540 85412000-02-07 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8542 8543 ******************************************************************* 8544 *** Released am-utils-6.0.3 *** 8545 ******************************************************************* 8546 85472000-02-06 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8548 8549 * conf/mount/mount_default.c: dummy empty file to work around a 8550 limitation of automake (it looks for LIBBOBJS in aclocal.m4 and 8551 processes them even if they are optional, enclosed in if/else). 8552 85532000-01-29 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8554 8555 * released snapshot am-utils-6.0.3s5 8556 85572000-01-25 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8558 8559 * update to use latest version of autoconf, automake, and libtool. 8560 8561 * aux/GNUmakefile (depcomp): "make update" should also update the 8562 depcomp script. 8563 8564 * Makefile.am (EXTRA_DIST_AUX): include depcomp in distribution. 8565 8566 * aux/configure.in: use renamed AC_CHECK_AMU_FS. 8567 8568 * aux/macros/check_amu_fs.m4: renamed macro name and file name to 8569 say AMU_FS, not AM_FS. 8570 8571 * aux/acconfig.h: renamed HAVE_AM_FS_* to HAVE_AMU_FS_* because 8572 latest version of autoconf doesn't handle it (bug in 2.14a) 8573 8574 * aux/configure.in: require version 2.14 of autoconf. 8575 8576 * amd/mapc.c (mapc_reload_map): more fixes from Nick Williams. 8577 8578 * doc/am-utils.texi (Automount Filesystem): document type:=auto 8579 map browsability option. 8580 8581 * amd/mapc.c (make_entry_chain): patch from Steven Danz 8582 <sdanz@awc.kc.noaa.gov> to allow browsable auto maps. 8583 85842000-01-24 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8585 8586 * released snapshot am-utils-6.0.3s4 8587 8588 * amd/mapc.c (mapc_reload_map): fixes to sync maps even if they 8589 are set to mapcache:=sync. Fix from Nick Williams 8590 <Nick.Williams@msdw.com>. 8591 85922000-01-20 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8593 8594 * released snapshot am-utils-6.0.3s3 8595 8596 * minor port to i386-unknown-netbsd1.4.1 8597 8598 * amd/nfs_subr.c (nfsproc_getattr_2_svc): patch from Nick Williams 8599 <Nick.Williams@msdw.com> to fix (or reduce the incidence of) stale 8600 file handles when doing rapid mounts and umounts in succession 8601 such as "ls /vol/foo ; amq -u /vol/foo ; ls /vol/foo" 8602 86032000-01-18 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8604 8605 * minor port to i386-pc-bsdi4.1. 8606 86072000-01-13 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8608 8609 * libamu/wire.c (getwire_lookup): pass NULL as conf_file (2nd) 8610 argument to irs_gen_acc(), which was changed in bsdi 4.1. 8611 86122000-01-12 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8613 8614 * amd/get_args.c (get_args): don't use MNTTAB_FILE_NAME for 8615 systems with in-kernel mount tables unless this macro is defined 8616 (Solaris 8). 8617 86182000-01-01 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8619 8620 * ALL: bump copyright year to 2000. 8621 86221999-12-16 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8623 8624 * conf/mount/mount_svr4.c (mount_svr4): optionstr exists on 8625 solaris 7, but should not be used unless MAX_MNTOPT_STR also 8626 exists (solaris 8). 8627 8628 * doc/am-utils.texi (opts Option): document new mount option: 8629 optionstr. 8630 8631Fri Dec 10 01:31:53 1999 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 8632 8633 * conf/trap/trap_svr4.h (MOUNT_TRAP): Pass mount option string to 8634 mount_svr4(). 8635 (mount_svr4): Adapt prototype. 8636 * conf/mount/mount_svr4.c (mount_svr4): Pass them to kernel so 8637 they are evaluated and show up in Solaris 8 in-kernel mnttab. 8638 8639 * aux/configure.in: Check for new Solaris 8 MS_OPTIONSTR mount(2) 8640 option. 8641 * aux/acconfig.h (MNT2_GEN_OPT_OPTIONSTR): Provide template. 8642 86431999-12-10 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8644 8645 * released snapshot am-utils-6.0.3s2 8646 86471999-12-09 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8648 8649 * doc/am-utils.texi (opts Option): document noexec and nomnttab 8650 (new to Solaris 8). 8651 8652 * Makefile.am (EXTRA_DIST_CONF): include nfs_prot_sunos5_8.h in 8653 distribution. 8654 8655 * applied fixes from Rainer Orth for Solaris 8. 8656 8657 * libamu/wire.c (getwire): increment the cp pointer in the loop 8658 body, because the ioctl() inside the "for" loop will overwrite the 8659 ifr structure, thus not detecting all of the interfaces. Bug 8660 reported and fixed by Amitha Perera <perera@cs.rpi.edu>. 8661 8662Thu Dec 9 19:09:38 1999 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 8663 8664 * conf/mtab/mtab_svr4.c (unlockmnttab, lockmnttab): No-ops if 8665 MOUNT_TABLE_ON_FILE. 8666 8667 * amd/get_args.c (get_args): Initialize mnttab_file_name even for 8668 in-kernel mount table. conf/mtab/mtab_svr4.c (read_mtab) depends 8669 on a non-NULL value. 8670 8671 * amd/info_ldap.c (get_ldap_timestamp): Don't peek into opaque 8672 LDAP structure to get error code, but use it directly. 8673 (amu_ldap_search): Likewise. 8674 8675 * conf/nfs_prot/nfs_prot_sunos5_7.h: Rip superfluous and wrong 8676 ldap support. 8677 * conf/nfs_prot/nfs_prot_sunos5_8.h: Likewise. 8678 8679 * conf/nfs_prot/nfs_prot_sunos5_8.h: New file, doesn't typedef 8680 nfsstat, already in <nfs/nfs.h>. 8681 * aux/macros/check_nfs_prot_headers.m4: Use it for all Solaris 8682 versions beyond 7. 8683 Allow for micro versions of SunOS 5.[67]. 8684 8685 * aux/configure.in: Check for new Solaris 8 Beta Refresh 8686 MS_NOMNTTAB mount(2) option. 8687 * aux/macros/check_mnttab_location.m4: Use it to test for 8688 mntfs-based in-kernel mnttab. 8689 8690 * aux/macros/os_cflags.m4: Treat Solaris 8 and higher like 2.6/7. 8691 8692 * aux/macros/check_fs_headers.m4: Revert test for duplicate 8693 objects. 8694 * aux/macros/check_fs_mntent.m4: Likewise 8695 8696 * aux/macros/HEADER: Fixed typo. 8697 8698 * include/am_defs.h: Likewise. 8699 87001999-12-01 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8701 8702 * aux/macros/*.m4: prepare for hpux-12 (assume same as hpux-11) 8703 87041999-11-16 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8705 8706 * BUGS: document glibc-2.1 nis file descriptor leak in yp_bind. 8707 8708 * amd/info_ldap.c (string2he): updated function which does not 8709 corrupt strings when called more than once. Patch from 8710 JOHANN.PFEFFERL.JP@germany.agfa.com. 8711 87121999-11-15 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8713 8714 * MIRRORS (Asia): two new mirrors in Japan. 8715 87161999-11-10 Erez Zadok <ezk@kosh.cs.columbia.edu> 8717 8718 * doc/am-utils.texi: document new variables for ${uid} and ${gid}. 8719 8720 * amd/nfs_subr.c (nfsproc_lookup_2_svc): find the uid/gid of the 8721 last lookup from the RPC credentials. 8722 8723 * aux/configure.in: upped version-info to 4:0:2 because I've added 8724 a new interface to libamu. 8725 8726 * libamu/misc_rpc.c (getcreds): moved function from hlfsd to here, 8727 so it can be used by amd. 8728 8729 * amd/opts.c: new variables ${uid} and ${gid}. 8730 87311999-10-15 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8732 8733 * scripts/ctl-amd.in: add "status" command that tells you if amd 8734 is running on not (same output as RedHat scripts). 8735 Added start_msg and stop_msg targets as they are used on HPUX. 8736 reported by Jon Peatfield <J.S.Peatfield@damtp.cam.ac.uk>. 8737 87381999-10-13 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8739 8740 * released snapshot am-utils-6.0.3s1 8741 87421999-10-12 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8743 8744 * amd/amd.c (main): On AIX you must lower the stack size using 8745 ulimit() before calling plock. Otherwise plock will reserve a lot 8746 of memory space based on your maximum stack size limit. Since it 8747 is not easily possible to tell what should the limit be, I print a 8748 warning before calling plock(). See the manual pages for 8749 ulimit(1,3,4) on your AIX system. 8750 8751 * include/am_defs.h: define default extern for vsnprintf() 8752 8753 * aux/configure.in: check for extern definition for vsnprintf() 8754 87551999-10-08 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8756 8757 * amd/amfs_auto.c (amfs_auto_bgmount): patch from Nick Williams 8758 <njw@ms.com>. SYMPTOMS: 'occasionally' sublinks do not point to 8759 the correct location, but to the top level of the mountpoint and 8760 an (error-hook) is seen being mounted in the log file. This causes 8761 things to Go Wrong(TM). 8762 CAUSE: When evaluating two locations which are requested 8763 'practically simultaneously', and the two locations resolve to the 8764 same NFS mountpoint (but different sublinks), the later request 8765 will be "deferred" and retried after wakeup when the first mount 8766 succeeds. To do this, it rewinds the options location string to 8767 re-evaluate the location when the mount is retried. However, it 8768 shouldn't rewind the options for two reasons: (a) the semantics of 8769 the map language say you shouldn't and (b) the NFS mount reference 8770 is not reset at the same time, meaning that on the retry it will 8771 have an options structure out-of-sync with the mount 8772 structure. The "shortcut" code when retrying the mount sees the 8773 mount structure is already filled in and does not fully evaluate 8774 the options structure.... so if the first location is not the one 8775 which ties in with the mountpoint (see ordering in the 8776 recreate-by), you're now well messed up. 8777 8778 * BUGS: mention aix4.3 plock() bug (memory usage blows up and 8779 plock fails) 8780 87811999-10-07 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8782 8783 * aux/GNUmakefile: certain files should be copied if they are 8784 newer, not also if they are bigger: install-sh, ltconfig, 8785 ltmain.sh, mdate-sh, missing, mkinstalldirs, and texinfo.tex. 8786 8787 * minor new port: i586-pc-linux-gnu-rh6.1 (RedHat Linux 6.1) 8788 87891999-10-05 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8790 8791 * aux/macros/check_nfs_prot_headers.m4: prepare for OSF-5. 8792 8793 * aux/macros/check_nfs_fh_dref.m4: prepare for Tru64, aka OSF-5. 8794 87951999-09-30 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8796 8797 ******************************************************************* 8798 *** Released am-utils-6.0.2 *** 8799 ******************************************************************* 8800 88011999-09-27 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8802 8803 * conf/mount/mount_linux.c (mount_linux): print the updated mount 8804 flags. 8805 8806 * doc/am-utils.texi: document $full_os and $vendor. 8807 8808 * scripts/amd.conf-sample: examples of $full_os and $vendor. 8809 8810 * scripts/amd.conf.5: document $full_os and $vendor. 8811 8812 * amd/conf.c: add support for $full_os and $vendor. 8813 88141999-09-26 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8815 8816 * doc/am-utils.texi (netgrp Selector Function): don't give 8817 examples with old single '=' assignment variable. Use foo:=bar. 8818 8819 * amd/amfs_auto.c (amfs_auto_bgmount): corectly indent long 8820 comment describing this complex function. 8821 8822 * doc/Makefile.am (alldocs): do install-ps last (because distiller 8823 is slow) and install-html next to last (because texi2html is also 8824 slow). 8825 8826 * amd/amd.8: Major fixes to the description of the option -t 8827 timeout.retransmit. 8828 8829 * doc/am-utils.texi: better description of "trace" debug option. 8830 amd -H (not -v) shows log_options and debug_options. Major fixes 8831 to the description of amd -t timeout.retransmit, and the amd.conf 8832 parameters nfs_retransmit_counter and nfs_retry_interval. 8833 8834 * scripts/amd.conf.5: better description of "trace" debug option. 8835 amd -H (not -v) shows log_options and debug_options. Major fixes 8836 to the description of the parameters nfs_retransmit_counter and 8837 nfs_retry_interval. 8838 88391999-09-25 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8840 8841 * doc/am-utils.texi (Automount Filesystem): cache:= is not a mount 8842 option, but a mount map option. 8843 8844 * libamu/xutil.c (switch_to_logfile): log the name of the log file 8845 we switched into, after the log file had been [re]opened. 8846 88471999-09-24 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8848 8849 * amd/mapc.c (mapc_reload_map): count and show the number of times 8850 a map was reloaded. Only reload a map if its modify-time was 8851 updated. But amq -f forced a reload no matter what. 8852 8853 * amd/amd.h: new flag to struct mnt_map to count number of times a 8854 map was reloaded. 8855 8856 * amd/mapc.c (mapc_reload_map): attempt to reload the map without 8857 losing current data by reloading into a temp copy, and switching 8858 the hashes round only if the reload was successful. Patch from Jon 8859 Peatfield <J.S.Peatfield@damtp.cam.ac.uk>. 8860 (mapc_sync): mapc_reload_map() always succeeds. 8861 88621999-09-22 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8863 8864 * amd/info_ldap.c (amu_ldap_rebind): don't busy-loop trying to 8865 rebind to an LDAP server forever. Try up to 10 times. 8866 8867 * fsinfo/fsi_lex.l (yyerror): rework code that will never happen 8868 8869 * released snapshot am-utils-6.0.2s2 8870 8871 * aux/configure.in: bumped library version-info to 3:2:1, since 8872 some libamu code got changed. 8873 8874 * libamu/xutil.c (real_plog): use vsnprintf, not vsprintf, which 8875 is better and more secure. Fix from "David O'Brien" 8876 <obrien@NUXI.com>. 8877 8878 * aux/configure.in: check for vsnprintf. 8879 88801999-09-21 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8881 8882 * aux/macros/linux_headers.m4: use AC_MSG_ERROR. 8883 8884 * aux/macros/opt_{cppflags,ldflags,libs,amu_cflags}.m4: the ARG is 8885 not optional. Make sure ARG is supplied else flag an error. 8886 88871999-09-18 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8888 8889 * minor port i386-unknown-freebsdelf3.3 8890 8891 * released snapshot am-utils-6.0.2s1 8892 88931999-09-17 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8894 8895 * aux/configure.in (AC_CHECK_FUNCS): check for getitimer(). 8896 8897 * include/am_defs.h: extern definition for getitimer(). 8898 8899 * aux/configure.in: use AC_CHECK_EXTERNS. Look for getitimer() 8900 extern. 8901 8902 * aux/macros/check_extern.m4: define a simple AC_CHECK_EXTERNS 8903 that calls AC_CHECK_EXTERN in a loop. This saves repeated code in 8904 configure. 8905 8906 * aux/macros/type_auth_create_gidlist.m4: AIX 4.x systems use 8907 'int' as the 5th arg to authunix_create(). 8908 8909 * aux/macros/type_recvfrom_fromlen.m4: all AIX 4.x systems use a 8910 size_t for the 6th arg of recvfrom(). 8911 8912 * aux/macros/os_cflags.m4: define _XOPEN_EXTENDED_SOURCE for 8913 aix4.x systems. 8914 8915 * libamu/mount_fs.c (print_nfs_args): cast some values to int, to 8916 avoid gcc -Wall errors. 8917 8918 * scripts/expn.in: use sockaddr_in(), not pack() to correctly fill 8919 in a struct sockaddr_in. On Solaris x86 hosts, using pack() 8920 results in byte-misaligned values. Bug fix from Jeffrey C Honig 8921 <jch@BSDI.COM>. 8922 8923 * libamu/mount_fs.c (compute_automounter_mount_flags): turn on 8924 automntfs (ignore on bsdi-4.1) flag. 8925 (compute_automounter_nfs_args): ditto. 8926 8927 * aux/acconfig.h: add new flag for automntfs (ignore) 8928 8929 * aux/configure.in: check for new automntfs flag (bsdi-4.1). 8930 89311999-09-14 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8932 8933 * MIRRORS: added new site in Germany. Updated status of umn.edu 8934 and ferginc.com, who may no longer be mirroring am-utils. 8935 89361999-09-08 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8937 8938 ******************************************************************* 8939 *** Released am-utils-6.0.1 *** 8940 ******************************************************************* 8941 89421999-09-08 Erez Zadok <ezk@cs.columbia.edu> 8943 8944 * aux/macros/mount_headers.m4: bsdi-2.1 needs MAXQUOTAS and struct 8945 netexport defined. 8946 8947 * aux/macros/try_compile_anyfs.m4: bsdi-2.1 needs MAXQUOTAS and 8948 struct netexport defined. 8949 89501999-09-07 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8951 8952 * aux/macros/check_field.m4 (ac_upcase_var_name): include 8953 <ifaddrs.h> so we can detect fields within struct ifaddrs. 8954 8955 * libamu/wire.c (getwire): bsdi-2.1 uses a second arg to 8956 getifaddrs() and struct ifaddrs has no ifa_next field. 8957 8958 * aux/configure.in: check if 'struct ifaddrs' has a field 8959 ifa_next. 8960 8961 * include/amq_defs.h (AMQ_STRLEN): double size of amq string 8962 length to 2048 bytes. 8963 8964 * conf/nfs_prot/nfs_prot_netbsd1_4.h: include several more nfs 8965 header files and ufs/ufs/ufsmount.h. Bug reported by <Christos 8966 Zoulas> christos@zoulas.com. 8967 8968 * aux/macros/try_compile_anyfs.m4: include <ufs/ufs/ufsmount.h>. 8969 Bug reported by <Christos Zoulas> christos@zoulas.com. 8970 8971 * aux/macros/mount_headers.m4: include <ufs/ufs/ufsmount.h> 8972 89731999-09-06 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8974 8975 * libamu/xutil.c (expand_error): use strerror if available instead 8976 of sys_errlist. Bug reported by <Christos Zoulas> 8977 christos@zoulas.com. 8978 8979 * hlfsd/hlfsd.c (fatal): use strerror if available instead of 8980 sys_errlist. 8981 8982 * amq/amq.c (show_mi): use strerror if available instead of 8983 sys_errlist. 8984 8985 * aux/macros/check_nfs_prot_headers.m4: make sure netbsd1.4 8986 nfs_prot header is used for any future (1.5 etc.) netbsd systems. 8987 8988 * amq/pawd.c (find_mt): check for type nfsl as well. Fix from 8989 "Andrew J. Korty" <ajk@purdue.edu> 8990 89911999-08-29 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8992 8993 * doc/am-utils.texi (Supported Platforms): updates for redhat 8994 systems. 8995 8996 * INSTALL: updates for redhat systems. 8997 8998 * libamu/wire.c (getwire_lookup): spell "succeeded" correctly 8999 90001999-08-28 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9001 9002 * scripts/ctl-amd.in: sleep 1 second between killing amd and 9003 restarting it, because amq may respond that amd is down, where in 9004 fact it is still trying to unmount itself after unmapping itself 9005 from the portmapper. 9006 9007 * aux/config.guess.long: new script to print long version of 9008 config.guess output. 9009 9010 * buildall (host_alias): use long version of config.guess. 9011 90121999-08-27 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9013 9014 * scripts/ctl-{amd,hlfsd}.in: update RH tags for start/stop 9015 scripts. 9016 90171999-08-24 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9018 9019 * released snapshot am-utils-6.0.1s11 9020 9021 * libamu/xutil.c (expand_error): make sure expanding the string 9022 with textual version of errno doesn't overrun the 1024 bytes 9023 buffer. 9024 (real_plog): null terminate msg, just in case. 9025 9026 * amq/amq.c (main): don't getopt -M option and don't process it 9027 unless ENABLE_AMQ_MOUNT is on. 9028 9029 * amd/amq_svc.c (amq_program_1): all code that relates to amq -M 9030 is conditional on #ifdef ENABLE_AMQ_MOUNT. 9031 9032 * amd/amq_subr.c: remove amqproc_mount_1_svc() function invoked 9033 when amq -M code is disabled. Not taking any chances. 9034 90351999-08-23 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9036 9037 * released snapshot am-utils-6.0.1s10 9038 9039Sun Aug 22 16:18:59 1999 Erez Zadok <ezk@subzero.cs.columbia.edu> 9040 9041 * libamu/wire.c (getwire_lookup): if getnetbyaddr failed (e.g., on 9042 128.59.16.0), try to shift the network out of zeros (e.g., 9043 128.59.16) and try again. Irix 6.4 requires short network 9044 numbers. 9045 90461999-08-22 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9047 9048 * libamu/wire.c (getwire_lookup): correctly compute subnet using 9049 netmask. 9050 9051 * libamu/mount_fs.c (compute_automounter_nfs_args): require that 9052 Amd's own NFS mounts use reserved ports (if possible). IP packet 9053 security fix from Jeffrey C Honig <jch@BSDI.COM>. 9054 9055 * conf/transp/transp_tli.c (create_autofs_service): use correct 9056 autofs_port. IP packet security fix from Jeffrey C Honig 9057 <jch@BSDI.COM>. 9058 9059 * conf/transp/transp_sockets.c (bindnfs_port): remove unnecessary 9060 function. IP packet security fix from Jeffrey C Honig 9061 <jch@BSDI.COM>. 9062 (create_nfs_service): use bind_resv_port() directly. ensure that 9063 privileged ports are used. IP packet security fix from Jeffrey C 9064 Honig <jch@BSDI.COM>. 9065 9066 * amd/nfs_prot_svc.c (nfs_program_2): verify that requests come 9067 from reserved ports and from a local IP address. IP packet 9068 security fix from Jeffrey C Honig <jch@BSDI.COM>. 9069 9070 * amd/amq_subr.c (ok_security): use IPPORT_RESERVED, instead of 9071 hard-coded 1024. IP packet security fix from Jeffrey C Honig 9072 <jch@BSDI.COM>. 9073 (amqproc_mount_1_svc): provide information on the caller making an 9074 amq -M request. IP packet security fix from Jeffrey C Honig 9075 <jch@BSDI.COM>. 9076 9077 * amd/map.c (free_map_if_success): If the program doing an unmount 9078 of a program filesystem fails, amd tries to interpret the return 9079 code as an errno. Fix from Jeffrey C Honig <jch@BSDI.COM>. 9080 9081 * amd/info_nis.c (determine_nis_domain): don't always print 9082 warning about NIS domain name not being set, even if NIS is not in 9083 use. 9084 90851999-08-21 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9086 9087 * amd/info_ldap.c (get_ldap_timestamp): initialize variable err. 9088 (amu_ldap_search): initialize variable err. 9089 90901999-08-16 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9091 9092 * libamu/wire.c: written using getifaddrs() for BSD systems, 9093 contributed by BSDI, Jeffrey C Honig <jch@BSDI.COM>). 9094 90951999-08-15 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9096 9097 * include/am_utils.h (SALLOC): a simple macro to allocate N bytes. 9098 9099 * aux/configure.in: check for irs.h and ifaddrs.h. 9100 Increase libamu.so --version-info to 3:1:1 since we've changed the 9101 source code for the library. 9102 Check for getifaddrs() function. 9103 91041999-08-14 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9105 9106 * libamu/mount_fs.c (print_nfs_args): print fields namlen and 9107 bsize if they exist. 9108 9109 * conf/mount/mount_linux.c (mount_linux): set nfs_args_t->namlen 9110 and ->bsize fields correctly, if those fields exist. This is a 9111 bug in that amd neglected to set these fields, but told the 9112 kernel it is mounting the nfs_args_t structure using mount version 9113 3 (which requires both bsize and namlen fields). 9114 9115 * aux/configure.in: test for two new nfs_args_t fields (used on 9116 newer linux with mount versions 2 and 3): bsize and namlen. 9117 9118 * doc/am-utils.texi (netgrpd Selector Function): document new 9119 selector function. 9120 9121 * amd/opts.c (f_netgrpd): new amd map function netgrpd(ARG) to 9122 test if the current host (fully-qualified name) is in the ARG host 9123 netgroup. The netgrp() function uses the short form of a host 9124 name. Patch from Christophe Kalt <Christophe-Kalt@deshaw.com>. 9125 9126 * doc/am-utils.texi (automount2amd): document new script. 9127 9128 * scripts/Makefile.am: create, install, and distribute 9129 automount2amd perl script and its man page. 9130 9131 * scripts/automount2amd.8: new man page for automount2amd. 9132 9133 * scripts/automount2amd.in: new file, contributed a in 1993 by 9134 Mike Walker <mike@tab00.larc.nasa.gov>. Fixed to use addopts for 9135 any automount map options specified. 9136 91371999-08-09 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9138 9139 * released snapshot am-utils-6.0.1s9 9140 91411999-08-09 Erez Zadok <ezk@beetle.mcl.cs.columbia.edu> 9142 9143 * amd/amfs_auto.c (DOT_DOT_COOKIE): set the NFS cookie of '..' to 9144 1. 9145 (amfs_auto_readdir): use DOT_DOT_COOKIE instead of (u_int)~0. 9146 (amfs_auto_readdir_browsable): use DOT_DOT_COOKIE instead of 9147 (u_int)~0. 9148 9149 * amd/mapc.c (make_entry_chain): NFS cookies should be 9150 monotonically increasing, because Linux 2.3 expects that, even 9151 though it is not in the spec (RFC-1094) for NFS V2. 9152 91531999-08-06 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9154 9155 * aux/macros/check_lib_funcs.m4: removed unused macro. 9156 9157 * aux/macros/linux_headers.m4: new macro to ensure that linux 9158 kernel headers match running kernel version. 9159 9160 * aux/acconfig.h: define HOST_HEADER_VERSION so we can check if 9161 amd is configured on linux hosts that run one kernel but have 9162 headers for a different version. 9163 9164 * amd/info_nis.c (nis_isup, nis_search, nis_init): fixes for the 9165 logic which uses nis_isup and has_yp_order. Make sure it is used 9166 correctly , esp. for NIS+ in NIS-compatibility mode. Bug fix from 9167 Peter Breitenlohner <peb@mppmu.mpg.de>. 9168 9169 * include/am_defs.h: fix conflicts on linux 2.2 systems with older 9170 libc5. Bug fix from Peter Breitenlohner <peb@mppmu.mpg.de>. 9171 9172 * scripts/lostaltmail.in: use sockaddr_in(), not pack() to 9173 correctly fill in a struct sockaddr_in. On Solaris x86 hosts, 9174 using pack() results in byte-misaligned values. 9175 91761999-08-02 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9177 9178 * conf/mtab/mtab_aix.c (mnt_dup): add support for nfs3 9179 mounting, as per Dale Talcott <aeh@quest.cc.purdue.edu>. Also use 9180 better macros for case statement. 9181 9182 * conf/nfs_prot/nfs_prot_sunos5_7.h: don't include ldap structures 9183 unless ldap is actually available. 9184 9185 * use updated config.guess and config.sub. Use newer automake 9186 that fixes problems with distributing optional libamu files 9187 (clnt_sperrno.c, hasmntopt.c, strcasecmp.c, strdup.c, strstr.c, 9188 and ualarm.c) 9189 91901999-07-19 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9191 9192 * minor port i386-unknown-openbsd2.5 9193 91941999-07-17 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9195 9196 * minor ports to freebsdelf 3.[0-2] and 4.0 completed 9197 9198 * aux/macros/check_nfs_prot_headers.m4: support freebsdelf 9199 9200 * aux/macros/check_nfs_socket_connection.m4: support freebsdelf 9201 92021999-06-24 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9203 9204 * released snapshot am-utils-6.0.1s8 9205 92061999-06-23 Erez Zadok <ezk@beetle.mcl.cs.columbia.edu> 9207 9208 * include/am_defs.h: avoid various header conflicts on 9209 RedHat/Linux 6.0 and kernels 2.2.10 or newer. 9210 9211 * aux/configure.in: look for <db1/ndbm.h> (RedHat/Linux 6.0 and 9212 kernel 2.2.10) 9213 9214 * amd/amfs_program.c (amfs_program_exec): make sure logfp is 9215 initialized dynamically to stderr if needed. 9216 9217 * libamu/xutil.c (dplog): make sure logfp is initialized 9218 dynamically to stderr if needed. 9219 (plog): ditto. 9220 9221 * amd/amfs_program.c (amfs_program_exec): set logfp to stderr if 9222 not initialized. 9223 9224 * libamu/xutil.c: don't initialize logfp statically to stderr, 9225 because on RedHat/Linux 6.0 (kernel 2.2.10) stderr can no longer 9226 be manipulated like a variable. 9227 9228 * include/am_defs.h: avoid more conflicts between <linux/fs.h> and 9229 <sys/mount.h> on 2.2 linux kernels. 9230 include <db1/ndbm.h> as needed (RedHat/Linux 6.0) 9231 92321999-04-20 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9233 9234 * all Makefile.am: use AMU_NFS_PROT_HEADER (not *_HEADERS) 9235 9236 * aux/macros/check_nfs_prot_headers.m4 (AMU_NFS_PROT_HEADER): 9237 renamed AC_SUBST name from *_HEADERS to *_HEADER so that automake 9238 won't attempt to add it to the header files to distribute. 9239 92401999-04-19 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9241 9242 * aux/GNUmakefile: invoke aclocal with new --altdir flag. 9243 92441999-04-16 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9245 9246 * minor new port: i386-unknown-netbsd1.4 (ALPHA) 9247 9248 * aux/macros/check_field.m4: no need to include <cdfs/cdfsmount.h> 9249 and <isofs/cd9660/cd9660_mount.h> because they are also included 9250 from MOUNT_HEADERS. Causes multiple inclusion of unprotected 9251 headers on netbsd-1.4_ALPHA. 9252 92531999-04-15 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9254 9255 * aux/macros/extern_sys_errlist.m4 (pattern): netbsd-1.4_ALPHA's 9256 sys_errlist extern doesn't end with []. 9257 9258 * aux/macros/check_nfs_prot_headers.m4: netbsd 1.4 support. 9259 92601999-04-11 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9261 9262 * newer automake wants texinfo.tex to be in aux/ not doc/ 9263 92641999-03-30 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9265 9266 * amd/conf_parse.y: alloca support. 9267 9268 * fsinfo/fsi_gram.y: alloca support. 9269 9270 * libamu/Makefile.am (libamu_la_LIBADD): compile alloca.o if 9271 needed. 9272 9273 * aux/configure.in: test for alloca support. Needed because bison 9274 generates parsers that use alloca, and hpux9 does have alloca and 9275 its /bin/cc doesn't support it builtin (the way gcc does). 9276 9277 * libamu/alloca.c: new file, needed on hpux9 with /bin/cc. Taken 9278 verbatim from bison-1.25. 9279 9280 * include/am_defs.h: fixed typo #errir -> #error 9281 9282 * released snapshot am-utils-6.0.1s7 9283 9284 * README.y2k: more information about am-utils' compatibility, from 9285 Paul Balyoz <pbalyoz@sedona.ch.intel.com>. 9286 9287 * scripts/lostaltmail.in (Splice_in_resent_headers): ensure Y2K 9288 compliant format. Patch from Paul Balyoz 9289 <pbalyoz@sedona.ch.intel.com> 9290 9291 * doc/am-utils.texi (Supported Platforms): hpux10.20 could have 9292 nfs v.3 support (with some vendor patches), but it is turned off. 9293 9294 * aux/macros/os_cflags.m4: use ansi compiler options on hpux. 9295 9296 * conf/nfs_prot/nfs_prot_hpux.h: Turn off NFS V.3 support to avoid 9297 confusing am-utils. 10.20 with some patches has incomplete 9298 support. Patch from Jon Peatfield 9299 <J.S.Peatfield@damtp.cam.ac.uk>. 9300 93011999-03-24 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9302 9303 * minor port i386-pc-bsdi4.0.1 9304 93051999-03-20 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9306 9307 * doc/am-utils.texi (Supported Platforms): add forgotten listing 9308 for powerpc-linux. 9309 93101999-03-18 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9311 9312 * scripts/amd.conf.5: fix typo. From Jeffrey C Honig 9313 <jch@BSDI.COM>. 9314 9315 * doc/am-utils.texi: document iso9660 options norrip, gens, and 9316 extatt. 9317 (opts Option): documented dumbtimr and noauto options. From 9318 Jeffrey C Honig <jch@BSDI.COM>. 9319 9320 * include/am_compat.h: define default strings for options norrip, 9321 gens, and extatt. 9322 9323 * amd/ops_cdfs.c (mount_cdfs): support options norrip, gens, and 9324 extatt. 9325 9326 * aux/macros/mount_headers.m4: also include 9327 <isofs/cd9660/cd9660_mount.h> as needed. 9328 9329 * aux/configure.in: check for isofs mount options for bsdi4: 9330 norrip, gens, and extatt. Reported by Jeffrey C Honig 9331 <jch@BSDI.COM>. 9332 9333 * aux/macros/check_mnt2_cdfs_opt.m4: check for ISOFSMNT_* flags 9334 (bsdi4). 9335 93361999-03-17 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9337 9338 * conf/nfs_prot/nfs_prot_freebsd3.h: ditto. 9339 9340 * conf/nfs_prot/nfs_prot_bsdi3.h: include <ufs/ufs/ufsmount.h>, 9341 for bsdi4, as per Jeffrey C Honig <jch@BSDI.COM>. 9342 93431999-03-15 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9344 9345 * get latest copies of config.guess, config.sub, ltconfig, and 9346 ltmain.sh from libtool-1.2f. 9347 9348 * all Makefile.am: don't use continuation lines (using \) for 9349 short lists of files. 9350 9351 * libamu/Makefile.am (DISTCLEANFILES): make distclean should 9352 remove mountutil.c, mtabutil.c, transputil.c, and umount_fs.c. 9353 Reported by Jeffrey C Honig <jch@BSDI.COM>. 9354 9355 * fixmount/Makefile.am (DISTCLEANFILES): make distclean should 9356 remove checkmount.c. Reported by Jeffrey C Honig <jch@BSDI.COM>. 9357 9358 * Makefile.am (DISTCLEANFILES): make distclean should remove 9359 amu_nfs_prot.h, config.cache.old, and dbgcf.h. Reported by 9360 Jeffrey C Honig <jch@BSDI.COM>. 9361 93621999-03-13 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9363 9364 * released snapshot am-utils-6.0.1s6 9365 93661999-03-12 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9367 9368 * INSTALL: document freebsdelf. 9369 9370 * doc/am-utils.texi (Supported Platforms): document freebsdelf. 9371 93721999-03-08 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9373 9374 * minor new ports: i386-unknown-freebsdelf3.1 and 9375 i386-unknown-freebsdelf4.0 9376 9377 * aux/macros/check_nfs_prot_headers.m4: freebsd4 support. 9378 9379 * aux/macros/check_nfs_socket_connection.m4: freebsd4 support. 9380 9381 * aux/macros/check_nfs_fh_dref.m4: freebsd4 support. 9382 9383 * amd/opts.c (eval_opts): changed log level of "executing 9384 negated..." message from USER to INFO, as per Guntram Wolski 9385 <gwolsk@sei.com>. 9386 93871999-02-17 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9388 9389 * */Makefile.am (LDADD): force linking against an installed 9390 libamu.{a,so}. 9391 9392 * doc/am-utils.texi (addopts Option): document remopts interaction 9393 with addopts. 9394 9395 * amd/am_ops.c (ops_match): if addopts are specified, apply them 9396 to the value of remopts as well as opts. 9397 9398 * amd/ops_nfs.c (mount_nfs_fh): tell users when remopts are used. 9399 94001999-02-05 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9401 9402 * released snapshot am-utils-6.0.1s5 9403 9404 * conf/mount/mount_linux.c (mount_linux): set default nfs_args 9405 options for ac{reg,dir}{min,man} as per the mount-2.8a package, 9406 but only if noac option was not used. 9407 94081999-02-05 Erez Zadok <ezk@retro.cs.columbia.edu> 9409 9410 * conf/mount/mount_linux.c (mount_linux): print nfs_args again 9411 since it was updated. 9412 (mount_linux): use 4KB for NFS rsize/wsize on 2.1.0 linux kernels 9413 and newer. Bug was found by Neil Conway 9414 <nconway.list@ukaea.org.uk> 9415 94161999-02-04 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9417 9418 * released snapshot am-utils-6.0.1s4 9419 94201999-02-03 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9421 9422 * amq/amq.c (main): don't list -M as a valid amq option unless 9423 configure'd with --enable-amq-mount. 9424 9425Wed Feb 3 18:11:18 1999 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 9426 9427 * amd/nfs_start.c (amd_use_autofs): Define. 9428 (mount_automounter): Create autofs service listener only if 9429 necessary to avoid unnecessary clashes with e.g. automountd. 9430 9431 * amd/amd.h (amd_use_autofs): Declare. 9432 9433 * amd/conf.c (gopt_mount_type): Set amd_use_autofs. 9434 (ropt_mount_type): Likewise. 9435 94361999-02-02 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9437 9438 * aux/macros/check_mnt2_nfs_opt.m4:: ditto 9439 9440 * aux/macros/check_mnt2_cdfs_opt.m4: ditto 9441 9442 * aux/macros/check_mnt2_gen_opt.m4: ditto 9443 9444 * aux/macros/check_mnttab_opt.m4: new macro in this file to loop 9445 over AC_CHECK_MNTTAB_OPT. Reduces size of configure script a lot. 9446 9447 * conf/nfs_prot/nfs_prot_netbsd1_3.h: include nfs/rpcv2.h, 9448 nfs/nfs.h and nfs/nfsmount.h if they exist. Patch from 9449 christos@zoulas.com (Christos Zoulas). 9450 9451 * amd/info_hesiod.c: some forward declarations. Patch from 9452 christos@zoulas.com (Christos Zoulas). 9453 94541999-01-28 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9455 9456 * libamu/mount_fs.c (compute_nfs_args): don't turn on/off noconn 9457 option if it was already in that state. Patch from David 9458 Wolfskill <dhw@whistle.com>. 9459 94601999-01-20 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9461 9462 * aux/configure.in: automake nowadays supports LTLIBOBJS (but not 9463 LTALLOCA yet). Substitute value of LIBTOOL_DEPS for libtool 9464 rebuild make rules. 9465 9466 * Makefile.am: new rules to remake libtool (maintainers only) 9467 9468 * amd/amfs_toplvl.c (mount_amfs_toplvl): print generic mount flags 9469 if -D trace was used. 9470 94711999-01-18 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9472 9473 * buildall: all if statements should have an else clause because 9474 of Ultrix's /bin/sh. 9475 94761999-01-15 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9477 9478 * amq/amq.c: removed dummy variables. 9479 9480 * amq/pawd.c: removed dummy variable.s 9481 9482 * fixmount/fixmount.c (usage): removed dummy variables. 9483 9484 * fsinfo/fsinfo.c: removed dummy variables. 9485 9486 * hlfsd/hlfsd.c: removed dummy variables. 9487 9488 * wire-test/wire-test.c: removed dummy variables. 9489 9490 * mk-amd-map/mk-amd-map.c: removed dummy variables. 9491 9492 * doc/texinfo.tex: updates from GNU mirror. 9493 9494 * aux/GNUmakefile (../doc/texinfo.tex): new rule to update 9495 doc/texinfo.tex from GNU mirror. 9496 9497 * released snapshot am-utils-6.0.1s3 9498 9499 * Makefile.am (install-snapshot): better snapshot and new 9500 install-snapshot and test-snapshot rules (maintainer). 9501 9502 * amd/info_ldap.c (amu_ldap_init): don't run STREQ if one of the 9503 args may be NULL. 9504 Some dlog() entries were not enclosed in #ifdef DEBUG. Fix from 9505 Bill Paul <wpaul@ctr.columbia.edu> 9506 95071999-01-13 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9508 9509 * check for experimental generic 'ignore' mount flag on freebsd3. 9510 9511 * Update library -version-info to 3:0:1 (will result in 2.1.0 .so 9512 version, which is backwards compatible with older versions.) Only 9513 one new interface was added to libamu. 9514 9515 * amd/amfs_toplvl.c (mount_amfs_toplvl): add generic mount flags 9516 that are specific to automounter mounts. 9517 9518 * aux/configure.in: update libamu.so age and revision since a new 9519 interface was added to libamu/mount_fs.c 9520 (compute_automounter_mount_flags). 9521 9522 * libamu/mount_fs.c (compute_automounter_mount_flags): new 9523 function to compute generic mount flags that are specific to mount 9524 points only. 9525 9526 * aux/{configure.in,acconfig.h}: add support for generic mount 9527 entry ignore option. 9528 9529 * released snapshot am-utils-6.0.1s2 9530 9531 * amd/info_ldap.c (get_ldap_timestamp): dlog format fixes. 9532 9533 * libamu/mount_fs.c (print_nfs_args): solaris 2.7 changed format 9534 of knc_semantics from u_long to u_int. 9535 9536 * aux/macros/check_mount_style.m4: freebsd3 no longer needs a 9537 special mount helper. 9538 95391999-01-12 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9540 9541 * aux/macros/check_nfs_prot_headers.m4 (AMU_NFS_PROT_HEADERS): 9542 amu_nfs_conf.h should always be found in $top_builddir. 9543 9544Tue Jan 12 00:05:42 1999 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 9545 9546 * conf/nfs_prot/nfs_prot_sunos5_7.h (MNTTAB_TYPE_AUTOFS): Undefine 9547 to avoid wrong reports from show_fstypes. 9548 9549 * conf/nfs_prot/nfs_prot_irix5.h (MNTTAB_TYPE_XFS): Likewise. 9550 9551 * conf/nfs_prot/nfs_prot_hpux11.h (MNTTAB_TYPE_NFS3): Likewise. 9552 9553Tue Jan 12 00:05:42 1999 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 9554 9555 * BUGS (mips-dec-ultrix4.3): Update Ultrix caveats. 9556 9557Tue Jan 12 00:05:42 1999 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 9558 9559 * hlfsd/homedir.c (delay): Cast child to long, adapt format. 9560 (hlfsd_getpwent): Likewise for pw_uid. 9561 9562 * amd/info_nis.c (nis_init): Cast order to unsigned long, adapt 9563 format. 9564 9565 * conf/transp/transp_tli.c (amu_clnt_create_best_vers): Cast 9566 tv_sec to int to match format. 9567 (get_nfs_version): Cast nfs_version, NFS_VERSION to int to match 9568 formats. 9569 9570 * amd/amfs_program.c (amfs_program_exec): Cast ptr difference to 9571 long, adapt format. 9572 9573 * include/am_defs.h: Handle __attribute__ if available. From 9574 GNU fileutils 4.0 lib/errors.h. 9575 9576Mon Jan 11 13:46:44 1999 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 9577 9578 * libamu/mount_fs.c (print_nfs_args): Cast sizeof() to int to 9579 match format. 9580 9581 * hlfsd/stubs.c (nfsproc_getattr_2_svc): Cast uid, gid to long, 9582 adapt format. 9583 (nfsproc_lookup_2_svc): Likewise. 9584 (nfsproc_readlink_2_svc): Likewise for userid, groupid. 9585 9586 * hlfsd/nfs_prot_svc.c (nfs_program_2): Cast args to int to match 9587 format. 9588 9589 * hlfsd/homedir.c (homedir): Cast uid, child to long, adapt 9590 format. 9591 9592 * amd/info_hesiod.c (hesiod_search): Cast m, pval, tp to unsigned 9593 long, adapt format. 9594 9595 * amd/ops_nfs.c (find_nfs_fhandle_cache): Cast fh_wchan to 9596 unsigned long, adapt format. 9597 (got_nfs_fh): Likewise. 9598 (prime_nfs_fhandle_cache): Cast fh_nfs_version to int to match 9599 format. 9600 (call_mountd): Likewise, mnt_version also. 9601 (mount_nfs_fh): Likewise. 9602 9603 * amd/ops_autofs.c (autofs_program_1): Cast args to int to match 9604 format. 9605 (autofs_unmount_1_svc): Cast ur->devid, ur_rdevid, ur->next to 9606 unsigned long, adapt formats. 9607 (autofs_bgmount): Cast opt_fs to unsigned to, adapt format. 9608 (autofs_bgmount): Use long format to match arg. 9609 (autofs_lookuppn): Removed superfluous arg. 9610 9611 * amd/srvr_nfs.c (start_ping): Cast nfs_version to int to match 9612 format. 9613 (got_portmap): Likewise for port. 9614 (recompute_portmap): Likewise for fs->fs_version, mnt_version. 9615 (find_nfs_srvr): Likewise for nfs_version. 9616 9617 * amd/sched.c (sched_task): Cast wchan to unsigned long, adapt 9618 format. 9619 9620 * amd/nfs_start.c (checkup): Cast ptr difference to long, next_mem 9621 to unsigned long, adapt format. 9622 Cast tvv.tv_sec to int to match format. 9623 9624 * amd/nfs_prot_svc.c (nfs_program_2): Cast args to int to match 9625 format. 9626 9627 * amd/map.c (root_fh): Cast pid to long, adapt format. 9628 (timeout_mp): Cast time_t to long, adapt format. 9629 9630 * amd/clock.c (reschedule_timeouts): Use long format, cast time_t 9631 arg. 9632 9633 * amd/amfs_host.c (fetch_fhandle): Cast nfs_version to int to 9634 match format. 9635 (amfs_host_fmount): Likewise. 9636 (amfs_host_umounted): Likewise. Removed superfluous arg. 9637 9638 * amd/amfs_auto.c (amfs_auto_bgmount): Cast pointer to unsigned 9639 long, adapt format. 9640 (amfs_auto_bgmount): Use long format, cast time_t arg. 9641 (amfs_auto_lookuppn): Removed superfluous arg. 9642 9643 * amd/amd.c (main): Cast geteuid() result to long, adapt format. 9644 9645 * conf/transp/transp_sockets.c (get_nfs_version): Cast nfs_version 9646 to int to match format. 9647 9648 * include/am_utils.h: Declare plog, dplog as printf-like. 9649 9650 * conf/mount/mount_irix6.c (mount_irix): Print type as char *. 9651 9652Mon Jan 11 13:46:44 1999 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 9653 9654 * amd/info_hesiod.c (hesiod_isup): New function. 9655 * amd/mapc.c (maptypes): Add it. 9656 96571999-01-10 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9658 9659 * released snapshot am-utils-6.0.1s1 9660 96611999-01-09 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9662 9663 * ALL: bump copyright year to 1999. 9664 9665Fri Jan 8 15:24:15 1999 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 9666 9667 * aux/macros/check_mtype_type.m4: Ultrix uses an int mount type, 9668 too. 9669 9670 * aux/macros/check_mtype_printf_type.m4: Adapt corresponding 9671 printf type. 9672 9673Fri Jan 8 15:24:15 1999 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 9674 9675 * aux/acconfig.h: Removed HAVE_AM_FS_AUTOFS, unused. 9676 9677 * conf/nfs_prot/nfs_prot_irix6.h: Likewise. 9678 9679 * conf/nfs_prot/nfs_prot_sunos5_6.h: Likewise. 9680 9681 * conf/nfs_prot/nfs_prot_sunos5_7.h: Likewise. 9682 9683 * Makefile.am (EXTRA_DIST_DIRS): Removed, not needed by current 9684 automake. 9685 9686Thu Jan 7 02:55:18 1999 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 9687 9688 * aux/configure.in (AM_PROG_YACC): Replaced by AC_PROG_YACC, not 9689 in current automake. 9690 9691Thu Jan 7 02:55:18 1999 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 9692 9693 * doc/am-utils.texi: Added some missing inter-punctation after 9694 @xref, or use @pxref/@ref as appropriate. Spotted by makeinfo 9695 from texinfo 3.12b. 9696 96971999-01-07 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9698 9699 * doc/texinfo.tex: updated off of latest GNU mirror. 9700 97011999-01-04 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9702 9703 * doc/am-utils.texi (Supported Platforms): update platforms that 9704 support NFS v.3. Nicer postscript printing on double-sided pages. 9705 9706 * amd/info_hesiod.c: add extern definition for hesiod_init() 9707 97081999-01-01 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9709 9710 ******************************************************************* 9711 *** Released am-utils-6.0 *** 9712 ******************************************************************* 9713 97141998-12-28 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9715 9716 * conf/nfs_prot/nfs_prot_sunos5_7.h: support ldap in solaris 2.7. 9717 97181998-12-27 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9719 9720 * conf/nfs_prot/nfs_prot_bsdi3.h: don't use reserved ports on 9721 bsdi4 for NFS V3/nfs mounts. 9722 97231998-12-26 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9724 9725 * using latest libtool (1.2e + patches), now supporting shared 9726 libraries on many more systems. Also using latest autoconf and 9727 automake (unreleased GNU CVS'd versions.) 9728 9729 * minor new ports: hppa2.0w-hp-hpux11.00, 9730 i386-unknown-netbsd1.3.3, mips-sgi-irix6.5. 9731 9732 * fsinfo/fsinfo.h (yywrap): define it for systems (osf4) that 9733 have /usr/bin/flex but not libfl. 9734 97351998-12-24 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9736 9737 * lots of code cleanup, to make sure libamu.so does not use 9738 undefined symbols. Some system's shared libraries cannot handle 9739 that. 9740 97411998-12-23 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9742 9743 * include/am_defs.h: only defined seteuid extern if function also 9744 exists and is not superceded by setresuid (hpux). 9745 9746 * amd/ops_autofs.c (autofs_bgmount, autofs_lookuppn): put explicit 9747 braces to avoid confusion with nested if-then-else clauses. 9748 9749 * aux/config.{sub,status}, aux/{ltmain.sh,ltconfig,mkinstalldirs: 9750 updated from latest versions. 9751 97521998-12-22 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9753 9754 * minor new port: i386-pc-bsdi4.0 9755 9756 * conf/nfs_prot/nfs_prot_bsdi3.h: add missing hesiod header 9757 definitions for bsdi4. 9758 9759 * {amd,fsinfo}/Makefile.am: force path to .y/.l files, because 9760 some make programs (bsdi4) do not support VPATH correctly. 9761 97621998-12-16 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9763 9764 * conf/mount/mount_aix.c: minor code cleanup 9765 9766 * aux/configure.in: check for extern definition to xdr_groups. 9767 97681998-12-15 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9769 9770 * minor new port: powerpc-ibm-aix4.3.1.0 9771 9772 * aux/macros/*.m4: updates for aix 4.3 9773 97741998-12-14 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9775 9776 * minor new port: i386-unknown-openbsd2.4 9777 9778 * aux/configure.in: don't check for xfs on openbsd because 9779 openbsd-2.4 introduces a new file system named xfs, but different 9780 than Irix's XFS. Sigh. 9781 9782 * minor new port: i386-unknown-freebsd2.2.8 9783 97841998-12-03 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9785 9786 * amd/amfs_nfsl.c (amfs_nfsl_ffserver): use case insensitive host 9787 name match. Bug fix from Douglas K. Rand" <rand@aero.und.edu>. 9788 97891998-11-20 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9790 9791 * scripts/ctl-amd.in: wait4amd2die runs in the stop action, to 9792 avoid race conditions when shutting down systems running amd. 9793 9794 * Makefile.am: add a dist-hook to change modes of the directories 9795 in the tar file so they are not world writable. 9796 9797 * conf/nfs_prot/nfs_prot_freebsd3.h: turned on NFSv3 support, 9798 since it is now finally defined in the header files and 9799 (hopefully) stable. 9800 9801 * amd/srvr_nfs.c (find_nfs_srvr): allow overriding if nfsv2 option 9802 is specified in mount options. freebsd patches from David 9803 O'Brien. 9804 9805 * amq/amq.c (main), fixmount/fixmount.c (main), hlfsd/hlfsd.c 9806 (main), fsinfo/fsinfo.c (fsi_get_args), hlfsd/hlfsd.c (main), 9807 amd/get_args.c (get_args): posix: use -1 to check for return from 9808 getopt() (not EOF), as per posix. 9809 9810 * amd/amq_subr.c (xdr_amq_mount_tree_node): patches from "David 9811 O'Brien" <obrien@NUXI.com>, from the FreeBSD source tree. Use 9812 real variable whose pointer is on the stack for decoding a long 9813 int. 9814 98151998-11-11 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9816 9817 * scripts/ctl-{amd,hlfsd}.in: include comments useful for redhat's 9818 chkconfig utility. 9819 98201998-11-10 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9821 9822 * released snapshot am-utils-6.0b2s3 9823 9824 * conf/transp/transp_sockets.c (create_nfs_service): remove C++ 9825 style comments. 9826 98271998-11-04 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9828 9829 * released snapshot am-utils-6.0b2s2 9830 9831 * created CVS package 9832 9833 * amd/nfs_subr.c (nfsproc_lookup_2_svc): try to avoid a race 9834 condition between unmounting and re-mounting an entry, by 9835 increasing the ttl of a looked up entry before unmounting it. 9836 Patch from Mike Mitchell <mcm@unx.sas.com>. 9837 9838 * All files: spell comments and strings. 9839 98401998-11-03 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9841 9842 * aux/configure.in: look for yp_all in libnsl only if yp_all not 9843 already found elsewhere (in libc or other default libraries). 9844 This is so RedHat 5.1 systems could find yp functions in libnsl, 9845 but also so AIX 4.2.1 will NOT include libnsl, because the latter 9846 has broken nis functionality that also exists and works ok in libc. 9847 98481998-10-29 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9849 9850 * amd/amd.c (main): bug fix: swapped arguments to kill(2). Fix 9851 from Danny Rathjens <dkr@cs.fiu.edu>. 9852 98531998-10-28 Erez Zadok <ezk@spruce.mcl.cs.columbia.edu> 9854 9855 * released snapshot am-utils-6.0b2s1 9856 98571998-10-27 Erez Zadok <ezk@spruce.mcl.cs.columbia.edu> 9858 9859 * aux/macros/*.m4: support bsdi4 as bsdi3. 9860 9861 * aux/macros/os_ldflags.m4: enable detection of LDAP on solaris 9862 2.7 (libraries located in /usr/lib/fn). This is off until Sun 9863 includes LDAP header information. 9864 98651998-10-20 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9866 9867 ******************************************************************* 9868 *** Released am-utils-6.0b1 *** 9869 ******************************************************************* 9870 98711998-10-18 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9872 9873 * mk-amd-map/mk-amd-map.c (main): use perror not strerror. 9874 (main): set return type to int if no ndbm maps. 9875 9876 * include/am_defs.h: avoid conflicts with <sys/mount.h> in 2.1 9877 kernels. 9878 98791998-10-18 Erez Zadok <ezk@london.mcl.cs.columbia.edu> 9880 9881 * A.i386-unknown-netbsd1.3.2/amu_nfs_prot.h: trim down and cleanup 9882 for netbsd 1.3.2. 9883 98841998-10-17 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9885 9886 * aux/configure.in: check for yp_all in libnsl, b/c redhat 5.1 9887 systems put NIS functions there. 9888 9889 * mk-amd-map/mk-amd-map.c: patch from "David O'Brien" 9890 <obrien@NUXI.com> merged in. Use POSIX -1 return code from 9891 getopt(), not EOF. Use .db extentions for systems that use it, 9892 instead of .{pag,dir}. 9893 98941998-10-15 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9895 9896 * wire-test/wire-test.c, hlfsd/hlfsd.c, fixmount/fixmount.c, 9897 amd/amd.c (main): avoid overrunning hostname buffer. Bug fix from 9898 "David O'Brien" <obrien@NUXI.com>. 9899 9900 * scripts/amd.conf.5: minor typo reported by "David O'Brien" 9901 <obrien@NUXI.com> in .TH section of man page. 9902 9903 * amd/info_nis.c (am_yp_all): don't leak key-val entries. Patch 9904 from Thomas Richter <richter@chemie.fu-berlin.de>. 9905 99061998-10-12 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9907 9908 * doc/am-utils.texi (Program Filesystem): minor typo fixed as per 9909 Andreas Stolcke <stolcke@speech.sri.com>. 9910 9911 * minor new ports: sparc64-unknown-linux-gnu, i386-pc-solaris2.7, 9912 and sparc-sun-solaris2.7. 9913 9914 * conf/mount/mount_freebsd3.c (mount_freebsd3): freebsd 3.0 is now 9915 a 4.4lite kernel, and somethings were removed, such as 9916 INITMOUNTNAMES. 9917 9918 * amd/ops_autofs.c (autofs_lookuppn): don't leak memory while 9919 processing /defaults. Free temporary opts. Patch from 9920 dsr@mail.lns.cornell.edu (Daniel S. Riley) 9921 9922 * amd/amfs_auto.c (amfs_auto_lookuppn): don't leak memory while 9923 processing /defaults. Free temporary opts. Patch from 9924 dsr@mail.lns.cornell.edu (Daniel S. Riley) 9925 9926 * conf/mtab/mtab_osf.c (read_mtab): patch from 9927 dsr@mail.lns.cornell.edu (Daniel S. Riley) not to access 9928 uninitialized memory on Digital Unix. 9929 99301998-10-09 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9931 9932 * aux/macros/{check_mtype_type,check_mtype_printf_type}.m4: most 9933 systems now use "char *" as their mount type. 9934 99351998-10-08 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9936 9937 * amd/conf.c (gopt_map_type, ropt_map_type): check if map type 9938 exists. 9939 9940 * amd/mapc.c (mapc_type_exists): function to test if a map of 9941 certain type exists. 9942 99431998-10-08 Erez Zadok <ezk@horatio.mcl.cs.columbia.edu> 9944 9945 * aux/macros/{mount_headers,try_compile_anyfs,try_compile_nfs}.m4, 9946 include/am_defs.h: Avoid a conflict in definitions of ntohl/htonl 9947 in RH-5.1 sparc64 between <netinet/in.h> and 9948 <linux/byteorder/generic.h> (2.1 kernels). 9949 99501998-09-28 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9951 9952 * aux/macros/func_bad_yp_all.m4 (ac_cv_func_yp_all_clean): RedHat 9953 5.1 systems with glibc glibc-2.0.7-19 or below leak a UDP socket 9954 from yp_all(). 9955 99561998-09-25 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9957 9958 * conf/mount/mount_linux.c (parse_opts): check for pcfs support 9959 only if autoconfigured. 9960 99611998-09-18 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9962 9963 * Makefile.am (EXTRA_DIST): distribute README.yk2 file. 9964 9965 * README.y2k: explain y2k compliance status of am-utils. 9966 99671998-09-16 Erez Zadok <ezk@iguana.mcl.cs.columbia.edu> 9968 9969 * amd/amfs_host.c (fetch_fhandle, amfs_host_fmount, 9970 amfs_host_umounted): clnt_sperrno() may return a const. 9971 9972Sat Aug 8 23:28:32 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9973 9974 * aux/configure.in: check for <nfs/nfsmount.h>, as per Christos 9975 Zoulas. Turned on checking for mount options: async, synchronous, 9976 deadthresh, leasterm, nqnfs, and readahead. 9977 9978 * amd/info_nis.c: patch from christos@zoulas.com (Christos Zoulas) 9979 to include prototype definition for nis_isup(). 9980 9981Sun Jul 19 18:50:10 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9982 9983 * hlfsd/stubs.c (getcreds): force sscanf arg to u_long. 9984 9985Tue Jul 14 20:34:25 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9986 9987 * released snapshot am-utils-6.0a17s1 9988 9989Wed Jul 8 21:49:15 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9990 9991 * aux/macros/host_macros.m4: all x86 hosts should have $arch be 9992 i386, not i[456]86. 9993 9994Tue Jul 7 18:55:09 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9995 9996 * aux/macros/{mount_headers,try_compile_anyfs,try_compile_nfs}.m4, 9997 include/am_defs.h: include <linux/posix_types.h> before 9998 <linux/fs.h> because on redhat 5.1, there is a bug (misuse) of 9999 headers in <socketbits.h> (it defines _LINUX_TYPES_H instead of 10000 __KERNEL_STRICT_NAMES). 10001 10002 * aux/configure.in: check for <linux/posix_types.h> because it is 10003 need for RedHat 5.1. 10004 10005Wed Jun 17 00:05:33 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 10006 10007 * scripts/Makefile.am (EXTRA_DIST): have fixrmtab generated from 10008 .in as well, so it doesn't get removed by make clean. 10009 10010Tue Jun 16 22:00:15 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 10011 10012 * aux/macros/{check_fs_mntent.m4, check_mnttab_type.m4, 10013 check_mount_type.m4}: redhat 5.1 puts some modules in 10014 /lib/modules/preferred/. 10015 10016Wed May 13 16:33:57 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 10017 10018 * amd/ops_autofs.c (mount_autofs): cast pid to long. 10019 10020Tue Apr 28 15:12:36 1998 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 10021 10022 * conf/nfs_prot/nfs_prot/nfs_prot_irix6.h, 10023 conf/nfs_prot/nfs_prot_sunos5_6.h: Undef MNTTAB_TYPE_AUTOFS too to 10024 avoid amd/am_ops.c (show_fstypes) from erroneously claiming 10025 support. 10026 10027Fri Apr 24 23:02:11 1998 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 10028 10029 * libamu/xutil.c (get_syslog_facility): Don't use LOG_DAEMON 10030 unconditionally, may be missing on Ultrix V4.3. 10031 10032Thu Apr 23 20:24:33 1998 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 10033 10034 * conf/nfs_prot/nfs_prot_sunos5_4.h (MNTTYPE_CACHEFS): Define, 10035 missing from <sys/mntent.h>. 10036 10037 * conf/mtab/mtab_ultrix.c: Need separate inclusion of <sys/fs_types.h> 10038 without KERNEL defined here. 10039 10040 * aux/macros/mount_headers.m4: Need to include <ufs/ufs_mount.h>, 10041 <cdfs/cdfs_mount.h>, <cdfs/cdfsmount.h> so autoconfiguration of 10042 ufs_args_t, cdfs_args_t fields and cdfs mount options can succeed. 10043 10044 * amd/ops_ufs.c (mount_ufs): Removed obsolete comment. 10045 10046 * ChangeLog: Fixed confusing linebreaks from ChangeLog imports. 10047 Removed purely local (and obsolete) entry. 10048 10049Thu Apr 23 00:22:17 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 10050 10051 ******************************************************************* 10052 *** Released am-utils-6.0a16 *** 10053 ******************************************************************* 10054 10055Wed Apr 22 01:20:39 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 10056 10057 * aux/macros/check_mount_style.m4: define freebsd3 mount style. 10058 10059 * aux/macros/check_mount_trap.m4: new mount trap for freebsd3. 10060 10061 * aux/macros/check_mtype_printf_type.m4, 10062 aux/macros/check_mtype_type.m4 (ac_cv_mtype_type,): freebsd3 (as 10063 of snapshot 3.0-980311-SNAP) uses char * types for mount(2), not 10064 integers, but I'll keep them as integers and do the mapping in 10065 conf/mount/mount_freebsd3.c 10066 10067 * minor new port to i386-pc-bsdi3.1. 10068 10069 * minor new port to i386-unknown-netbsd1.3.1. 10070 10071 * amd/opts.c: new option addopts:=ARG, which smartly merges ARG 10072 options with whatever the /default ones for a key are. This 10073 allows adding or overriding /default options individual keys. 10074 10075 * amd/am_ops.c (ops_match): strdup/malloc string assigned to 10076 opt_opts because it'll get free()'d upon next use. 10077 (merge_opts): new function to merge two sets of options. 10078 (ops_match): if addopts option exist, append and merge it to the 10079 current default options. 10080 10081Tue Apr 21 12:54:59 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 10082 10083 * wire-test/wire-test.c (main): use dynamically allocated returned 10084 string with list of interfaces. 10085 10086 * amd/get_args.c (get_version_string): allocate enough space for 10087 header version string and a list of network interfaces of any 10088 length. 10089 10090 * libamu/wire.c (print_wires): return dynamically allocated string 10091 containing list of networks. Must be dynamic because some sites 10092 had potentially dozens of network interfaces. Patch from Matthew 10093 Crosby <mcrosby@ms.com> slightly modified. 10094 10095Mon Apr 20 00:37:20 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 10096 10097 * conf/nfs_prot/nfs_prot_irix5.h: underfine MNTTYPE_XFS because 10098 irix 5.3 does not have full header definitions for it. 10099 10100 * fsinfo/fsi_lex.l (yywrap): define yywrap if needed, and 10101 undefined it when not needed (similar to amd/conf_tok.l) 10102 10103 * hlfsd/hlfsd.h (ROOTID, SLINKID, INVALID): reduced maximum size 10104 of these to unsigned short (because uid_t on some linux systems is 10105 small). 10106 10107 * released snapshot am-utils-6.0a16s10 10108 10109 * doc/am-utils.texi (opts Option): documented resvport mount 10110 option. 10111 10112Sun Apr 19 18:17:03 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 10113 10114 * doc/am-utils.texi (-D-Option): document behavior of -D info and 10115 especially what it does to hesiod (turn on RES_DEBUG). 10116 10117 * scripts/amd.conf.5: document info debugging option. 10118 10119 * libamu/xutil.c (dbg_opt): parse info debugging option. 10120 10121 * include/am_utils.h (D_INFO): define new trace option. 10122 10123 * Makefile.am (EXTRA_DIST): include list of official mirrors in 10124 distribution. 10125 10126 * libamu/wire.c (SIZE): in the simple case, just compute 10127 sizeof(struct ifreq). 10128 10129Sun Apr 19 16:30:35 1998 Erez Zadok <ezk@lorien.cs.columbia.edu> 10130 10131 * amd/amd.c (daemon_mode): set a temporary secure umask(0022) 10132 before writing log file and restore it afterwards. Patch from 10133 Donald Buczek <buczek@MPIMG-Berlin-Dahlem.MPG.DE>. 10134 10135 * amd/get_args.c (get_args): 10136 10137 * doc/am-utils.texi (-F Option), amd/amd.8: mention that amd.conf 10138 file specified by -F is always processed last. 10139 10140 * amd/amd.c (daemon_mode): do not fclose(stdout) so that the fd 10141 won't be reused. Allows startup script to redirect stdout. Patch 10142 from Donald Buczek <buczek@MPIMG-Berlin-Dahlem.MPG.DE>. 10143 10144 * libamu/xutil.c (switch_to_logfile): compare logfile name and 10145 syslog string with correct length. Patch from Donald Buczek 10146 <buczek@MPIMG-Berlin-Dahlem.MPG.DE>. 10147 10148 * amd/restart.c (restart): correctly inherit existing NFS V.3 10149 mounts upon restart. Patch from Donald Buczek 10150 <buczek@MPIMG-Berlin-Dahlem.MPG.DE>. 10151 10152Sat Apr 18 19:01:19 1998 Erez Zadok <ezk@lorien.cs.columbia.edu> 10153 10154 * using libtool 1.2 and automake 1.3 (with my patches). 10155 10156 * aux/macros/opt_am_cflags.m4, */Makefile.in: rename AM_CFLAGS to 10157 AMU_CFLAGS to avoid conflicts with automake-1.3. 10158 10159Sun Apr 5 23:09:08 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 10160 10161 * converted to using libtool-1.2. 10162 10163Tue Mar 10 16:52:09 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 10164 10165 * fsinfo/fsi_analyze.c (fixup_required_mount_info): replaced silly 10166 for loop (ITER) which used to run only to initialize the variable 10167 dd once and then break; with a simple assignment. 10168 10169 * hlfsd/hlfsd.h: cleanup so it compiles with Solaris 10170 /opt/SUNWspro/bin/cc, and use gid_t not int. 10171 10172 * amd/mapc.c (mapc_sync): don't dereference pointer (so it 10173 compiles with Solaris /opt/SUNWspro/bin/cc) 10174 10175Sun Mar 8 15:54:22 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 10176 10177 * aux/config.{guess,sub}: used from gcc-2.8.1. 10178 10179Sat Mar 7 15:33:27 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 10180 10181 * released snapshot am-utils-6.0a16s9 10182 10183 * INSTALL, doc/am-utils.texi (Supported Platforms): updated names 10184 based on new output of new config.guess. 10185 10186 * aux/config.{sub,guess}: used newer versions from gcc-2.8.0. 10187 10188 * amd/amd.8,doc/am-utils.texi: document correct usage of default 10189 /etc/amd.conf file. 10190 10191 * fixmount/fixmount.c (inetresport,privsock): use some more 10192 portable code from amq/amq.c. 10193 10194 * amd/get_args.c (get_args): use default /etc/amd.conf file only 10195 if no arguments had been passed to amd. 10196 10197 * fixmount/fixmount.c (clnt_create_timeout): use tli/socket code 10198 ala amq/amq.c so that fixmount will work on both types of systems. 10199 10200 * amq/amq.c (main): do no close tcp socket before running udp try, 10201 because we're not sure if it was opened at all. 10202 10203 * mips-dec-ultrix* port merged in and cleaned up. 10204 10205 * aux/configure.in: up minor shared library revision number, since 10206 it has changed enough. 10207 10208 * hlfsd/hlfsd.c (main): don't check for overlay mount option here, 10209 as it is now done in compute_nfs_args(). Remove ultrix specific 10210 code also because it was moved to compute_nfs_args(). 10211 10212 * conf/mount/mount_svr4.c: removed DEBUG_MOUNT_SVR4 code, now that 10213 we have more generic code in print_nfs_args(). 10214 10215 * libamu/mount_fs.c (print_nfs_args): print maxlen of 10216 nfs_args.addr, and also syncaddr (which is mostly NULL). Print 10217 struct knetconfig from nfs_args->knconf. 10218 10219 * aux/macros/mount_headers.m4 (define): do not check for ufs/cdfs 10220 headers here, but in try_compile_anyfs.m4. 10221 10222 * aux/macros/type_ufs_args.m4: move test for struct ufs_specific 10223 (for ultrix) here from its own macro. 10224 10225 * aux/macros/type_cdfs_args.m4: move test for struct iso_specific 10226 (for ultrix) here from its own macro. 10227 10228 * amd/ops_nfs.c (mount_nfs_fh): no need to run code again checking 10229 for overlay mount option. Remove code which checks for overlay 10230 option, as it is now done in compute_nfs_args(). 10231 10232 * libamu/mount_fs.c (compute_mount_flags): move here code which 10233 checks for overlay mount option which was in amd/amfs_toplvl.c: 10234 mount_amfs_toplvl(). 10235 10236Wed Feb 7 15:35:51 1998 Rainer Orth <ro@xayide.TechFak.Uni-Bielefeld.DE> 10237 10238 * The following are Rainer's ChangeLog entries for his ultrix 10239 port, added manually. -Erez. 10240 10241 * merged Ultrix port with am-utils 6.0 a16s5: amd/ops_afs.c 10242 (mount_toplvl) -> amd/amfs_toplvl.c (mount_amfs_toplvl) 10243 10244 * include/am_defs.h: include cdfs specific mount headers 10245 avoid duplication definition of gt_names[] in <sys/fs_types.h> (Ultrix) 10246 10247 * include/am_compat.h: define several mount options corresponding 10248 to mount flags: pgthresh, hard (nfs), defperm, nodefperm, 10249 noversion, rrip (cdfs), nocache, quota, sync (generic) removed 10250 duplicate MNTTAB_OPT_RO definition 10251 10252 * aux/macros/try_compile_anyfs.m4: include Ultrix specific 10253 ufs/cdfs mount headers 10254 10255 * aux/macros/mount_headers.m4: include several Ultrix/Digital UNIX 10256 specific mount headers 10257 10258 * aux/macros/check_{fs_mntent, mount_type}.m4: check for GT_* 10259 mount types in mount headers (Ultrix) 10260 10261 * aux/configure.in: Ultrix/Digital UNIX specific checks: new 10262 headers, mount structures and fields, filesystem and mount types, 10263 mount flags 10264 10265 * aux/acconfig.h: placeholders for new mount options: quota 10266 (generic), ro (nfs), defperm, nodefperm, noversion, rrip (cdfs) 10267 cdfs, nfs, ufs mount structure fields new ufs, cdfs mount 10268 structures 10269 10270 * amd/ops_ufs.c (mount_ufs): Ultrix stores generic mount flags in 10271 ufs_args.ufs_flags and has ufs specific pgthresh option 10272 10273 * amd/ops_cdfs.c (mount_cdfs): handle Ultrix/Digital UNIX specific 10274 CDFS mount flags and options 10275 10276 * amd/ops_afs.c (mount_toplvl), amd/ops_nfs.c (mount_nfs_fh), 10277 hlfsd/hlfsd.c (main): store generic mount flags in 10278 nfs_args.gfs_flags, handle separate NFS ro flag 10279 10280 * aux/macros/{check_mnt2_cdfs_opt, struct_iso_specific, 10281 struct_ufs_specific}.m4: new files; check for Ultrix specific 10282 mount structures 10283 10284 * conf/trap/trap_ultrix.h: arg 3 to mount(2) is rwflag 10285 10286 * aux/macros/type_auth_create_gidlist.m4 (ultrix*): 10287 AUTH_CREATE_GIDLIST_TYPE is int (not short == gid_t) from a 10288 comment in <rpc/auth.h> 10289 10290 * include/am_defs.h: #define KERNEL to avoid definition of 10291 gt_names[] conf/mtab/mtab_ultrix.c: #include <sys/fs_types> before 10292 <config.h> to force single definition here 10293 10294 * libamu/mount_fs.c (compute_nfs_args): Ultrix support for 10295 nfs_args.gfs_flags moved to callers store mount options in 10296 nap->optstr 10297 10298 * include/am_defs.h: fix _am_mntent mnt_{type, opts} field 10299 descriptions 10300 10301 * aux/macros/mount_headers.m4, aux/macros/try_compile_nfs.m4: 10302 include <rpc/rpc.h> before AMU_NFS_PROTOCOL_HEADER for svc_req 10303 definition in prototypes 10304 10305 * aux/macros/mount_headers.m4: include <sys/errno.h> before 10306 AMU_NFS_PROTOCOL_HEADER: <nfs/nfs.h> needs it for NFSERR_* 10307 definitions 10308 10309 * conf/nfs_prot/nfs_prot_ultrix.h: new file 10310 10311 * aux/macros/check_nfs_prot_headers.m4: use nfs_prot_ultrix.h 10312 10313 * aux/macros/mount_headers.m4, aux/macros/try_compile_nfs.m4, 10314 aux/macros/try_compile_rpc.m4, include/am_defs.h: avoid multiple 10315 inclusion of <rpc/xdr.h> 10316 10317Sat Mar 7 13:56:05 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 10318 10319 * aux/configure.in: save state of config.cache and confdefs.h 10320 (as dbgcf.h) at various points of the configure. 10321 10322 * aux/macros/save_state.m4: new macro to save state of configure, 10323 esp. useful in long ones. Saves confdefs.h and write $ac_cv_* 10324 cache variables that are known so far. 10325 10326 * released snapshot am-utils-6.0a16s8 10327 103281998-03-06 Erez Zadok <ezk@mercer.psl.cs.columbia.edu> 10329 10330 * fsinfo/fsi_lex.l,amd/conf_tok.l: define ECHO after undefining 10331 it, but only for flex. 10332 10333Fri Mar 6 17:23:17 1998 Erez Zadok <ezk@chestnut.mcl.cs.columbia.edu> 10334 10335 * hlfsd/homedir.c (plt_print): change pathname of hlfsd dump file 10336 to /usr/tmp/hlfsd.dump.XXXXXX, and use a safe method (if possible) 10337 to write the dump file. 10338 10339 * doc/am-utils.texi,amd/opts.c: rename all references to nomadic 10340 functions to boolean functions, which is what they really are. 10341 10342 * aux/configure.in: don't look for strcasecmp in libucb at all, 10343 but rather complete it from libamu/strcasecmp.c as needed. 10344 10345Fri Mar 6 03:29:20 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 10346 10347 * conf/nfs_prot/nfs_prot_osf4.h: avoid conflicts with Irix's EFS. 10348 10349 * libamu/wire.c (getwire): fix for 0.0.0.0 loopback on SunOS 3.X 10350 which defines IFF_ROUTE instead of IFF_LOOPBACK. Patch from Tom 10351 Schmidt <tschmidt@micron.com>. 10352 10353 * released snapshot am-utils-6.0a16s7 10354 10355 * conf/nfs_prot/nfs_prot_hpux11.h: a first working port of amd to 10356 hppa1.0-hp-hpux11.00.tgz. 10357 10358Thu Mar 5 21:59:03 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 10359 10360 * converted all sources to use mntent field names, and map mnttab 10361 field names to mntent's. 10362 10363 * include/am_defs.h (mnt_special): map struct mnttab field names 10364 to struct mntent field names. 10365 10366 * aux/macros/check_mount_trap.m4: hpux11's mount trap style is 10367 identical to svr4/solaris2. 10368 10369 * aux/macros/check_mount_style.m4: hpux11's mount style is 10370 identical to svr4/solaris2. 10371 10372 * aux/macros/check_network_transport_type.m4: hpux11 is a TLI 10373 system! 10374 10375 * aux/macros/check_nfs_sa_dref.m4: hpux11's NFS host address 10376 dereferencing style is same as svr4. 10377 10378 * aux/macros/check_nfs_fh_dref.m4: hpux11's NFS file fh 10379 dereferencing style is same as svr4. 10380 10381 * conf/transp/transp_tli.c (create_nfs_service): if failed to 10382 getnetconfigent() of ticlts, then try udp (hpux11). 10383 10384 * conf/nfs_prot/nfs_prot_hpux11.h: added correct definitions for 10385 struct nfs_args, nfs_fh, and NFSMNT_* flags, taken from solaris 10386 2.5.1 (HP used them). 10387 10388 * amd/rpc_fwd.c (fwd_init): don't use O_NDELAY for t_open() 10389 because hpux11 doesn't like it. if t_open failed, print error 10390 based on t_errlist, not sys_errlist. 10391 10392Wed Mar 4 22:01:55 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 10393 10394 * doc/am-utils.texi: lots of documentation fixes from Rainer Orth 10395 <ro@TechFak.Uni-Bielefeld.DE>. 10396 10397Sat Feb 28 22:16:35 1998 Erez Zadok <ezk@kosh.cs.columbia.edu> 10398 10399 * fsinfo/fsi_lex.l: undefine ECHO again, so it doesn't get used 10400 later. 10401 10402 * include/am_defs.h: defined the extern for ualarm() if it isn't 10403 found, regardless if the function isn't found in standard 10404 libraries, because otherwise libamu will include it. 10405 104061998-02-28 Erez Zadok (per Ron Snyder) <ezk@short.cvo.roguewave.com> 10407 10408 * initial port to hpux-11 completed. Compiles cleanly, but 10409 probably does not work, because of missing NFS V.2/3 headers. 10410 10411 * amd/conf_tok.l: cast yytext to char* when passed to strlen and 10412 strdup, for hpux-11's ansi-cc compiler. 10413 10414 * include/am_utils.h: renamed all xfree() to XFREE() to avoid 10415 conflict with hpux-11's system headers. Also move (voidp) cast 10416 from sources to inside the macro itself. 10417 10418Sat Feb 28 13:44:21 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 10419 10420 * released snapshot am-utils-6.0a16s6 10421 10422 * amd/info_nis.c (nis_isup): new function to test if NIS is up 10423 without hanging amd. Used to ensure that amd does not clear the 10424 maps when the expiration period arrived, if the service is down. 10425 Otherwise it would be left with empty maps. It is better to stay 10426 with possibly old information than none at all. 10427 10428 * amd/mapc.c (mapc_sync): check to see if map service is up. 10429 10430Tue Feb 24 02:19:42 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 10431 10432 * aux/macros/check_lib2.m4 (AC_CHECK_LIB2): fix macro so it 10433 includes auxiliary library only if needed. 10434 104351998-02-22 Erez Zadok <ezk@mercer.psl.cs.columbia.edu> 10436 10437 * amd/conf_tok.l: undefine ECHO again, so it doesn't get used 10438 later. 10439 10440Sun Feb 22 01:41:08 1998 Erez Zadok <ezk@zen.cs.columbia.edu> 10441 10442 * conf/nfs_prot/nfs_prot_osf2.h: port to alpha-dec-osf2.1 10443 completed. 10444 10445 * conf/mtab/mtab_osf.c (mnt_dup): not all OSF have NFS3. 10446 10447Sat Feb 21 19:45:48 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 10448 10449 * doc/am-utils.texi (Network Host Filesystem): correct example for 10450 type:=host map. 10451 10452 * aux/macros/os_cflags.m4: only osf4 should compile with 10453 -D_SOCKADDR_LEN. 10454 10455 * aux/macros/check_nfs_prot_headers.m4: distinguish between OSF2 10456 and OSF4. 10457 10458 * BUGS: include a new file listing known bugs. 10459 10460Sat Feb 21 03:50:48 1998 Erez Zadok <ezk@mercer.psl.cs.columbia.edu> 10461 10462 * conf/nfs_prot/nfs_prot_linux.h: turn DES off on all linux 10463 versions. 10464 10465 * aux/macros/type_recvfrom_fromlen.m4: linux alpha should use 10466 size_t for recvfrom fromlen arg. 10467 10468Sat Feb 21 03:33:59 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 10469 10470 * scripts/ctl-hlfsd.in: turn -D fork so primary process never 10471 hangs. 10472 10473Sat Feb 21 02:45:51 1998 Erez Zadok <ezk@mercer.psl.cs.columbia.edu> 10474 10475 * include/am_defs.h: don't include <sys/stat.h> and 10476 <linux/stat.h>, just remaining definitions in <statbuf.h> 10477 10478Thu Jan 29 00:44:28 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 10479 10480 * released snapshot am-utils-6.0a16s5 10481 10482 * conf/mount/mount_irix6.c (mount_irix): pass {u,e,x}fs_args to 10483 mount(2). 10484 10485 * check for <sys/fs/xfs_clnt.h> and include it when needed. 10486 10487 * conf/mount/{mount_irix5.c,mount_irix6.c} (mount_irix): recognize 10488 efs and xfs separately from "ufs". 10489 10490 * amd/{ops_xfs.c,ops_efs.c}: new support for irix xfs/efs. 10491 10492 * aux/configure.in: look for irix efs and xfs file systems. 10493 10494 * scripts/amd.conf.5: new unmount_on_exit option documented. 10495 10496 * doc/am-utils.texi (unmount_on_exit): new option documented. 10497 10498 * amd/conf.c (gopt_unmount_on_exit): new function to handle new 10499 amd.conf option. 10500 10501 * amd/map.c (umount_exported): if global amd.conf flag 10502 unmount_on_exit is on, then try to unmount all mounted (or 10503 restartable) file systems. 10504 10505 * amd/amd.c: if print_pid option is on, then normally print it to 10506 stdout. If also pid_file is specified, then print the process ID 10507 into that file. 10508 10509 * amd/get_args.c (get_args): print correct -l option depending if 10510 system supports syslog and/or syslog facilities. Patch from 10511 Tom Schmidt <tschmidt@micron.com>. 10512 10513 * doc/am-utils.texi (opts Option): updates for documentation for 10514 new cdfs options defperm, nodefperm, noversion, rrip. 10515 10516 * amd/ops_cdfs.c (mount_cdfs): support cdfs options defperm, 10517 nodefperm, noversion, rrip. 10518 10519 * conf/nfs_prot/nfs_prot_osf.h: need to look at <cdfs/cdfsmount.h> 10520 on osf. 10521 10522 * aux/macros/{expand_cpp_hex.m4, expand_cpp_int.m4, 10523 expand_cpp_string.m4}: use #error to make failed compilations 10524 fail faster, rather than have the program fail during a run. 10525 10526 * include/am_compat.h: added a few new cdfs options: rrip, 10527 noversion, defperm, and nodefperm (used in OSF). 10528 10529Wed Jan 28 20:24:09 1998 Erez Zadok <ezk@lorien.cs.columbia.edu> 10530 10531 * released snapshot am-utils-6.0a16s4 10532 10533 * doc/am-utils.texi (Global Parameters): update manual for new 10534 amd.conf global variable hesiod_base. 10535 10536 * scripts/amd.conf.5: update man page for new amd.conf global 10537 variable hesiod_base. 10538 10539 * amd/get_args.c (get_args): use /etc/amd.conf file if exists by 10540 default, else try command line options. Patch from Randall 10541 S. Winchester <rsw@Glue.umd.edu>. 10542 10543Wed Jan 28 12:20:56 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 10544 10545 * amd/info_hesiod.c (hesiod_search), amd/conf.c 10546 (gopt_hesiod_base), amd/amd.h, amd/amd.c (init_global_options): 10547 included patch from Randall S. Winchester <rsw@Glue.umd.edu>, to 10548 support a hesiod base name in the amd.conf file. 10549 10550 * doc/am-utils.texi (pid_file Parameter): document new global 10551 amd.conf parameter. 10552 10553 * scripts/amd.conf.5: document new global option pid_file. 10554 10555 * amd/amd.c (daemon_mode): if cannot open pid_file, continue to 10556 run, but print error message. 10557 10558 * amd/conf.c (gopt_pid_file), amd/amd.h, amd/amd.c (daemon_mode, 10559 init_global_options): Included patch from Randall S. Winchester 10560 <rsw@Glue.umd.edu>, to support pid files in the amd.conf file. 10561 10562 * amd/get_args.c (get_args): correct usage info on amd -t. 10563 10564 * amd/*.c: massive file name and symbol name changes. All amd 10565 file systems files and symbols are prefix with amfs_*. Now using 10566 real name of file system: amfs_auto instead of afs, amfs_inherit 10567 instead of ifs, amfs_linkx instead of sfsx, etc. This will enable 10568 clear distinction between amd file system and generic ones like 10569 nfs/ufs/pcfs/hsfs. Also, now we can implement true afs (Andrew 10570 f/s) and DFS (Distributed f/s). 10571 10572 * amd/amfs_union.c: unionfs for amd is always defined, no need to 10573 #ifdef it. 10574 10575Mon Jan 26 16:51:38 1998 Erez Zadok <ezk@chestnut.mcl.cs.columbia.edu> 10576 10577 * libamu/mount_fs.c (compute_nfs_args): set 'noconn' NFS option on 10578 or off, based on the particular quirks of the OS in question. 10579 10580 * aux/macros/check_nfs_socket_connection.m4: new macro to set the 10581 correct wait of handling un/connected NFS sockets. 10582 10583 * scripts/wait4amd.in: use rlogin instead of rsh. 10584 10585 * amd/am_ops.c (ops_showfstypes): when showing F/S types in amd 10586 -v, always show "nfs3" for NFS V.3. 10587 105881998-01-25 Erez Zadok <ezk@snoopy.cs.columbia.edu> 10589 10590 * lots of small fixes for solaris 2.6, since gcc 2.8.0 -Wall gets 10591 more picky than 2.7.2.3 did. 10592 105931998-01-24 Erez Zadok <ezk@snoopy.cs.columbia.edu> 10594 10595 * include/am_utils.h (dlog): amuDebug macros reduced to shorter 10596 forms. 10597 10598Fri Jan 23 18:38:30 1998 Erez Zadok <ezk@goat.mcl.cs.columbia.edu> 10599 10600 * released snapshot am-utils-6.0a16s3 10601 10602 * include/am_defs.h: on Solaris 2.6, <sys/varargs.h> is included 10603 in <sys/fs/autofs.h> but since stdargs.h is used, and varargs.h 10604 must not, fake a definition for varargs. 10605 10606Fri Jan 16 10:16:40 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 10607 10608 * README: show how to configure in additional support such as 10609 hesiod using various --enable-* flags. 10610 10611Wed Jan 14 15:13:02 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 10612 10613 * aux/configure.in: look for strcasecmp(), and replace it if not 10614 available. 10615 10616 * amd/ops_nfsl.c (nfsl_match): host names should be compared using 10617 case insensitive. 10618 10619 * amd/opts.c: for each map variable, define if the comparison 10620 needs to be done case insensitive. 10621 10622 * include/am_utils.h (STRCEQ): a new macro to use strcasecmp(). 10623 Patch from Thomas Richter <richter@chemie.fu-berlin.de> 10624 106251998-01-14 Erez Zadok <ezk@irt.cs.columbia.edu> 10626 10627 * aux/configure.in: look for "isofs" as a possible mount type for 10628 cdfs (RedHat Linux). 10629 10630Wed Jan 14 02:07:05 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 10631 10632 * conf/mount/mount_linux.c (parse_opts): don't look for cdfs mount 10633 type if not defined. 10634 10635 * conf/nfs_prot/nfs_prot_linux.h: don't define __FD_* macros if 10636 already defined. 10637 10638 * aux/configure.in: look for ext2fs before ufs, b/c some linux 10639 have both. 10640 10641Mon Jan 12 15:43:20 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 10642 10643 * Makefile.am (snapshot): allow me to install snapshots into the 10644 ftp directory. 10645 10646 * scripts/ctl-hlfsd.in: don't turn on -D mem by default. 10647 10648 * amd/get_args.c (get_args): minor bug in output of amd -H. 10649 10650Mon Jan 12 03:05:06 1998 Erez Zadok <ezk@chestnut.mcl.cs.columbia.edu> 10651 10652 ******************************************************************* 10653 *** Released am-utils-6.0a15 *** 10654 ******************************************************************* 10655 10656Sun Jan 11 15:06:34 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 10657 10658 * amd/conf.c (*_browsable_dirs): allow specifying 10659 browsable_dirs=full, which will print *all* entries (other than 10660 /default), including those with '*' and '/' characters. 10661 10662 * amd/info_file.c (MAX_LINE_LEN): up maximum readdir chain length 10663 to 1500. 10664 10665 * doc/am-utils.texi: fixed reversed documentation for NFS mount 10666 options vers and proto. 10667 10668 * doc/Makefile.am (install-html): separate target just for 10669 installing html files. Another new target "alldocs" is just for 10670 installing all files needed for the am-utils home page. 10671 10672 * scripts/amd.conf-sample: updated example for log_file. 10673 10674 * scripts/amd.conf.5: updated for new way to declare new syslog 10675 facility in the log_file option. 10676 10677 * amd/amd.8: updated for new way to declare new syslog facility in 10678 the -l option. 10679 10680 * libamu/xutil.c (get_syslog_facility): allow users to specify the 10681 syslog facility as an appended string to the log device. Ex. amd 10682 -l syslog:local7 will use LOG_LOCAL7, while the older -l syslog 10683 will use the default LOG_DAEMON facility. 10684 10685 * amd/get_args.c (get_args): updated new syntax for amd -l 10686 syslog:facility. 10687 10688Thu Jan 8 04:05:10 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 10689 10690 * aux/macros/host_macros.m4: don't confuse sun3 (sparc) with sun3 10691 (intel). 10692 10693 * libamu/wire.c (print_wires): bug fix. Nullify output buffer 10694 before appending to it, on systems with two or more network 10695 interfaces. 10696 10697 * conf/nfs_prot/nfs_prot_sunos5_3.h: add missing definition for 10698 the mntent for cachefs. 10699 10700 * include/am_defs.h: external definition for strstr() should use 10701 const for both arguments. 10702 10703 * aux/configure.in: add extern definitions for getwd() if missing. 10704 10705 * include/am_defs.h: define the extern for strdup() even if the 10706 function does not exist, for it will be filled in by 10707 libamu/strdup.c 10708 10709 * amq/pawd.c (cluster_server): don't use getccent() if the extern 10710 for it isn't there. On hpux 10.20, the function is in libc, but 10711 <cluster.h> and struct cct_entry do not exist. 10712 10713 * aux/configure.in: check for an extern for getccent() b/c some 10714 hpux systems don't have it (hpux 10.20). 10715 10716Wed Jan 7 00:09:19 1998 Erez Zadok <ezk@lorien.cs.columbia.edu> 10717 10718 * doc/am-utils.texi (Amq -T option): manual documentation updates 10719 for new amq options -T/-U. 10720 10721 * amq/amq.8: updated man page for new amq options -T/-U. 10722 10723 * amq/amq.c: two new switches to amq. -U will contact amd using 10724 UDP only. -T will use TCP only. Normally amq will try TCP and 10725 if that failed, will try UDP. 10726 10727 * doc/am-utils.texi (pawd): manual documentation for pawd. 10728 10729 * amq/pawd.1: new man page for pawd. 10730 10731Tue Jan 6 04:21:59 1998 Erez Zadok <ezk@lorien.cs.columbia.edu> 10732 10733 * amq/pawd.c: a new program, Print Automounter Working Directory, 10734 to print the proper pathname of the cwd or any other pathname, 10735 adjusted for automounter paths, while avoiding mount points. 10736 10737 * aux/macros/localconfig.m4: trivial support for am-utils 10738 maintainers to adjust some of the configuration of am-utils after 10739 it has been auto-configured by putting whatever definitions you 10740 wish in a file called localconfig.h, located in the top build 10741 directory (the same one where config.h is created for you). 10742 10743 * doc/am-utils.texi (Caching Filesystem): updated documents for 10744 cachefs file system. 10745 10746 * amd/ops_cachefs.c: initial cachefs support, for solaris. 10747 type:=cachefs, requires cachedir:=/cache/dir/name to be defined 10748 and initialized with cfsadmin -c. $rfs is backdir to be cached 10749 from, and $fs is the local mount point of the cachefs. 10750 10751 * conf/mount/mount_svr4.c (mount_svr4): support mounting of 10752 cachefs file systems. 10753 10754 * amd/ops_cdfs.c: cdfs should be named 'cdfs', not whatever the 10755 mnttab type is. 10756 10757Mon Jan 5 23:22:49 1998 Erez Zadok <ezk@lorien.cs.columbia.edu> 10758 10759 * amd/opts.c: added support for new variable $cachedir. 10760 10761 * include/am_utils.h: added opt_cachedir field to struct am_opts. 10762 10763Sat Jan 3 01:43:57 1998 Erez Zadok <ezk@lorien.cs.columbia.edu> 10764 10765 * amd/ops_nfsl.c (nfsl_ffserver, nfsl_match): also check if the 10766 local hostname does not match $rhost, and if so, also assume 10767 type:=nfs. 10768 10769Fri Jan 2 01:00:40 1998 Erez Zadok <ezk@lorien.cs.columbia.edu> 10770 10771 * updated all source files to add 1998 as a copyright year. 10772 10773 * amd/ops_nfsl.c: new amd meta file system "type:=nfsl". Behaves 10774 like type:=linkx if the pathname denoted by $fs exists, and like 10775 type:=nfs if it does not. A convenient shortcut for the most 10776 popular amd map entry. 10777 10778 * amd/amd.c (main): amd should chdir to / before starting, to 10779 avoid hanging on other NFS server if started elsewhere. 10780 10781 * amd/ops_TEMPLATE.c: added an empty template file for developers 10782 who wish to write new amd pseudo file systems. 10783 10784Thu Jan 1 00:27:28 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 10785 10786 * hlfsd/homedir.c (plt_init): make function exported, to save on 10787 the unnecessary init_homedir() function which was removed. 10788 (table_add): don't use xmalloc() when you can use strdup() 10789 instead. 10790 10791Thu Jan 1 00:15:58 1998 Erez Zadok <ezk@chestnut.mcl.cs.columbia.edu> 10792 10793 * hlfsd/homedir.c (hlfsd_endpwent): Don't actually run this 10794 because we will be making more passwd calls afterwards. On 10795 Solaris 2.5.1, making getpwent() calls after calling endpwent() 10796 results in a memory leak! (and no, even Purify didn't detect 10797 it...) 10798 10799Tue Dec 23 18:23:47 1997 Erez Zadok <ezk@chestnut.mcl.cs.columbia.edu> 10800 10801 * hlfsd/hlfsd.c (main): Bug fix. Don't try to free() an 10802 automatically allocated address. 10803 10804 * amd/ops_afs.c (mount_toplvl): Bug fix. Don't try to free() an 10805 automatically allocated address. 10806 10807 * ALL SOURCES: change every direct call to free() to xfree(), so 10808 it can be mapped to the right debugging function as needed. 10809 10810 * include/am_utils.h: new free() policy. If debugging memory, 10811 call dxfree(), which will print the file name and line number 10812 where the free occurred and the pointer address. if only regular 10813 debugging, then free() and reset the pointer to NULL so it cannot 10814 be used afterwards inadvertently. If not DEBUG at all, then just 10815 run free(). Three different #define macros set the right mapping. 10816 10817 * libamu/xutil.c (dxfree): renamed function to dxfree(), so it can 10818 be called only when debugging the memory. 10819 10820Tue Dec 23 04:24:28 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 10821 10822 * wire-test/wire-test.c (main): use xmalloc() not malloc(). 10823 10824 * conf/transp/transp_tli.c (get_knetconfig): use xzalloc() not 10825 calloc(). 10826 10827 * conf/mtab/mtab_mach3.c (convert): use xzalloc() not calloc(). 10828 10829 * conf/mount/mount_linux.c (parse_opts): use xmalloc() not 10830 malloc(). 10831 10832 * amd/info_ldap.c: use xmalloc() not malloc(). 10833 10834 * libamu/xutil.c (xzalloc): new function to allocate memory and 10835 zero its bytes. 10836 10837 * amq/amq.c: amq does not need its own definition of xfree(). 10838 10839 * aux/macros/opt_debug.m4: if used --enable-debug=mem, then also 10840 look for function malloc_verify() in libmapmalloc.a, and function 10841 mallinfo() in libmalloc. 10842 10843 * libamu/xutil.c (checkup_mem): do not use mallinfo field 10844 uordbytes, because it does not always exist. Rather, compute it 10845 from other fields.. 10846 10847 * include/am_utils.h: add external definition to xfree() function 10848 used when debugging memory references. 10849 10850Mon Dec 22 03:01:30 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 10851 10852 * amd/ops_afs.c (afs_readdir_browsable): reduce the number of 10853 bytes heuristically computed to be returned to the kernel. 10854 Otherwise browsable_dirs fails on OpenBSD 2.2. 10855 10856 * amd/mntfs.c (uninit_mntfs): bug fix. Moved freeing of 10857 mf_private field to AFTER it gets used. 10858 10859Sat Dec 20 00:51:21 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 10860 10861 * amd/ops_host.c (host_umounted): don't use clnt_spcreateerror() 10862 on systems that don't support it. 10863 10864 * include/am_defs.h: add missing extern definition for free(). 10865 10866 * aux/configure.in: check for external definition for free(). 10867 10868 * libamu/Makefile.am: add to comment a mention of strstr as an 10869 optional function. 10870 10871 * libamu/xutil.c (switch_to_logfile): use openlog() options only 10872 if they exist. 10873 10874 * conf/transp/transp_sockets.c (get_nfs_version): don't use 10875 clnt_spcreateerror if it does not exist. 10876 10877 * aux/configure.in: check for missing functions clnt_create and 10878 clnt_spcreateerror. Check for missing strstr, and complete 10879 its code. Check for missing external definition for strstr. 10880 10881 * aux/macros/host_macros.m4: normalize sun3* names. 10882 10883 * Makefile.am: updates for new sunos3 files distributed. 10884 10885 * conf/nfs_prot/nfs_prot_sunos3.h: new file. 10886 10887 * conf/fh_dref/fh_dref_sunos3.h: new file. 10888 10889 * aux/macros/check_nfs_prot_headers.m4: added sunos3 case. 10890 10891 * aux/macros/check_nfs_fh_dref.m4: added sunos3 case. 10892 10893 * doc/am-utils.texi (wire Selector Variable): updated manual for 10894 adjusted variables wire, network, and netnumber, all using the 10895 in_network() function. 10896 10897Fri Dec 19 04:37:36 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 10898 10899 * amd/opts.c: allow options to be processed by executing arbitrary 10900 functions. Converted wire, network, and netnumber all to use the 10901 nomadic function in_network. So from now on they perform a match 10902 against all networks, not just primary. 10903 10904 * initial port to alpha-unknown-linux-gnu, probably works, but 10905 untested yet. 10906 10907 * conf/nfs_prot/nfs_prot_linux.h: add special definitions for 10908 __FD_* macros which for som strange reason do not get included 10909 from <selectbits.h> on redhat alpha linux. Also turn off usage of 10910 <rpc/des_auth.h> because it is incomplete on the same systems. 10911 10912 * hlfsd/homedir.c (table_add): cast uid field to int, for 10913 comparison. 10914 10915 * include/am_defs.h: more coflicts with redhat alpha linux 10916 "resolved". 10917 10918 * aux/macros/{mount_headers,try_compile_anyfs,try_compile_nfs}.m4: 10919 There's a conflict of definitions on redhat alpha linux between 10920 <netinet/in.h> and <linux/fs.h> which must be avoided. 10921 10922 * aux/configure.in: check for <socketbits.h>, which is in use on 10923 redhat alpha linux. 10924 10925 * doc/am-utils.texi (Selectors): added documentation to describe 10926 the new "!" (negated) nomadic functions. 10927 10928 * amd/opts.c (f_in_network): print debugging info that is correct, 10929 rather than saying that any ARG is on a local network. 10930 (eval_opts): added support for negating nomadic functions, by 10931 prepending "!" to their name. Example, !exists(/foo/bar). 10932 10933Thu Dec 18 20:57:19 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 10934 10935 * include/am_compat.h: ensure that all NFS3 systems have the mount 10936 table entries (and amd opts switches) "proto" and "vers". 10937 10938 * hlfsd/homedir.c (table_add): added some debugging info to try 10939 and track down a serious memory leak in hlfsd. 10940 109411997-12-18 Erez Zadok <ezk@t-rex.mcl.cs.columbia.edu> 10942 10943 * libamu/mount_fs.c (compute_nfs_args): OpenBSD 2.2 requires that 10944 you do NOT set the noconn option, and use connected sockets 10945 always. So I'm now forced not to set it at all, and have the user 10946 specify it as "conn" or "noconn" in their /default entry. Argh... 10947 Finally, it looks as if OpenBSD 2.2's NFS 3 implementation may be 10948 buggy (TCP hangs with "short receive" kernel errors). I'd better 10949 wait until they get it working in their version of the automounter 10950 first. So I'm putting the "noconn" option back. 10951 10952Thu Dec 18 02:39:39 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 10953 10954 * libamu/mount_fs.c (compute_nfs_args): use maxgrps option and set 10955 nfs_args field maxgrouplist accordingly. 10956 10957 * include/am_compat.h (MNTTAB_OPT_MAXGROUPS): complete definition 10958 for mount table entry for maxgroups based on NFS mount option 10959 maxgrp. 10960 10961 * aux/configure.in: put back testing for NFS mount option 10962 "maxgrps". Added test for mount table entry "maxgroups". 10963 10964 * libamu/mount_fs.c (compute_nfs_args): perform more careful tests 10965 on nfs_proto, because it could be NULL. 10966 10967 * doc/am-utils.texi (Selectors): added example of in_network() 10968 selector. 10969 10970 * aux/macros/check_hide_mount_type.m4: all hpux versions, 10971 including 9.x, should use "ignore" as the mount type to hide from 10972 amd. 10973 10974Wed Dec 17 13:09:21 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 10975 10976 * include/am_utils.h (NSTREQ): use new macro instead of strncmp() 10977 every where in the sources. 10978 10979Wed Dec 17 01:15:01 1997 Erez Zadok <ezk@lorien.cs.columbia.edu> 10980 10981 * libamu/mount_fs.c (print_nfs_args): if -D trace is on, will 10982 print as much info that is given in struct nfs_args as possible. 10983 useful for detecting internal flags and options, as well as the 10984 file handle used. 10985 10986 * scripts/ctl-amd.in: look for amd.conf file in ${prefix}/etc 10987 after /etc and before /etc/local. 10988 10989Tue Dec 16 18:51:36 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 10990 10991 * aux/configure.in, libamu/Makefile.am: added support for linking 10992 with specific versions of libamu. Upped shared library version of 10993 libamu to 1 (libamu.so.1.0.0) 10994 10995 * include/am_defs.h: added external definition for mkstemp() as 10996 needed. 10997 10998 * minor new port to i386-unknown-netbsd1.3 (BETA version of 10999 netbsd). 11000 11001 * aux/config.guess: don't leave a trailing '.' on the system name 11002 for NetBSD-1.3_BETA and similarly for OpenBSD. 11003 11004 * conf/nfs_prot/nfs_prot_netbsd1_3.h: new header for the slight 11005 differences in ypall calling conventions. 11006 11007 * mk-amd-map/mk-amd-map.c (main): use mkstemp() whenever possible 11008 in preference over mktemp(), b/c it is more secure. 11009 11010 * aux/configure.in: check for mkstemp(), a more secure version of 11011 mktemp(). 11012 11013Mon Dec 15 02:32:14 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11014 11015 * amd/ops_nfs.c (mount_nfs_fh): Systems that include the mount 11016 table "vers" option generally do not set the mnttab entry to 11017 "nfs3", but to "nfs" and then they set "vers=3". Setting it to 11018 "nfs3" works, but it may break some things like "df -t nfs" and 11019 the "quota" program (esp. on Solaris and Irix). So on those 11020 systems, set it to "nfs". 11021 11022Sat Dec 13 01:36:27 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11023 11024 * doc/am-utils.texi (Distrib): updates for new ports, location of 11025 am-utils' home page, and URL cross references (now supported by my 11026 version of texi2html). 11027 11028 * aux/macros/check_mtype_type.m4: also use string type for file 11029 system mount types under nextstep for mount(2). 11030 11031 * aux/macros/check_mtype_printf_type.m4}: nextstep can handle both 11032 integer and string types for file system mount types in mount(2), 11033 but it is better to use string types. 11034 11035 * conf/nfs_prot/nfs_prot_nextstep.h: set emum nfsstat's NFS_OK to 11036 0, not 1! Otherwise, all NFS calls (esp. mount) return errno 1 11037 (EPERM) instead of 0 (OK). Fixes m68k-next-nextstep3 which now 11038 works. 11039 11040 * conf/nfs_prot/nfs_prot_bsdi2.h: set emum nfsstat's NFS_OK to 0, 11041 not 1! Otherwise, all NFS calls (esp. mount) return errno 1 11042 (EPERM) instead of 0 (OK). 11043 11044 * libamu/xdr_func.c (xdr_*): add debugging calls that are optioned 11045 by -D trace (protocol trace). 11046 110471997-12-11 Erez Zadok <ezk@bach.cs.columbia.edu> 11048 11049 * A.m68k-next-nextstep3/amu_nfs_prot.h: define missing S_ISDIR 11050 macro based on existence on others, and include <sys/stat.h>. 11051 11052Thu Dec 11 14:14:38 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11053 11054 * aux/macros/try_compile_nfs.m4 (AC_TRY_COMPILE): turn off 11055 inclusion of <nfs/nfs_mount.h> which only affects nextstep3, on 11056 which this header is broken (it tries to include non-existing 11057 headers). 11058 11059Wed Dec 10 16:09:07 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11060 11061 * libamu/mount_fs.c (mnt_flags): support either nfs or generic 11062 mount option for grpid. 11063 11064 * aux/configure.in: turn back on NFS mount option grpid. 11065 11066Sat Dec 6 04:36:05 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11067 11068 * doc/Makefile.am (install-ps): added target to install postscript 11069 file in the am-utils' home page, as well as a few other useful 11070 files for the new am-utils Web page. 11071 11072Mon Nov 17 05:22:56 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11073 11074 ******************************************************************* 11075 *** Released am-utils-6.0a14 *** 11076 ******************************************************************* 11077 11078Sun Nov 16 21:56:16 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11079 11080 * doc/am-utils.texi (Supported Platforms): updated table of new 11081 ports. 11082 11083Sat Nov 15 06:36:27 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11084 11085 * libamu/mount_fs.c (compute_automounter_nfs_args): pass mnttab 11086 options so that they can be printed in logs as needed. 11087 11088 * doc/am-utils.texi (osver Parameter): updated for the correct 11089 usage of the -o/-O options. 11090 11091 * scripts/amd.conf.5: corrected info for -o/-O options. 11092 11093 * amd/amd.8: updated man page for new -O op_sys_name option, and 11094 corrected the usage of the -o op_sys_ver option 11095 11096 * amd/get_args.c (get_args): added new amd option -O to override 11097 OS name. 11098 (get_args): updated usage string. Removed old -m option. Added 11099 -o and -O options. 11100 11101 * conf/nfs_prot/nfs_prot_irix5.h: add definition to FHSIZE in case 11102 it is not there. Reportedly, irix 5.2 does not define it. 11103 11104 * scripts/lostaltmail.in: removed references to unused $hack 11105 variable. 11106 11107 * aux/macros/check_nfs_prot_headers.m4: Patch from Chris Metcalf 11108 <metcalf@cag.lcs.mit.edu> to correctly set the nfs_prot headers 11109 for solaris2.5. 11110 11111 * doc/am-utils.texi (Distrib): typo in the subscription 11112 instructions to amd-dev. Patch from Stefan Vogel 11113 <vogel@physik-rzu.unizh.ch>. 11114 111151997-11-15 Erez Zadok <ezk@amtrak.cs.columbia.edu> 11116 11117 * NFS3 works on powerpc-ibm-aix4.2.1.0. 11118 11119 * libamu/mount_fs.c (compute_nfs_args): set fh3 variable to 11120 static. Some compilers (gcc from egcs on aix 4.2.1) corrupt the 11121 stack of an automatic variable when pointer to it is passed around 11122 several times. 11123 11124Fri Nov 14 20:09:28 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11125 11126 * libamu/xutil.c (real_plog): syslog like behavior for normal 11127 logging. Will not print repeated strings, only a count "last 11128 message repeated N times", but will always print something if 11129 message is repeated more than 100 times. 11130 11131 * scripts/lostaltmail.in: look for lostaltmail.conf files also in 11132 /etc/global, /etc/os, and /etc/local (in that order). 11133 11134Mon Nov 10 03:03:17 1997 Erez Zadok <ezk@lorien.cs.columbia.edu> 11135 11136 * conf/mount/mount_aix.c (mount_aix3): add support for NFS V.3 11137 mounts. 11138 11139 * aux/macros/struct_nfs_args.m4 (AC_TRY_COMPILE_NFS): test for 11140 aix42_nfs_args, specially set in conf/nfs_prot/nfs_prot_aix4_2.h 11141 11142 * conf/sa_dref/sa_dref_*.h: from now on, the "dst" argument to the 11143 NFS_SA_DREF macro is a pointer to the structure that used to be 11144 passed to it before. So now I have to dereference the pointer 11145 before accessing its values. 11146 11147 * hlfsd/hlfsd.c (main): use the new and cleaner 11148 compute_nfs_args() and compute_automounter_nfs_args() functions. 11149 11150 * amd/ops_nfs.c (mount_nfs_fh): use the new and cleaner 11151 compute_nfs_args() and compute_automounter_nfs_args() functions. 11152 11153 * amd/ops_afs.c (mount_toplvl): MAJOR CODE REVISION. Use the new 11154 and cleaner compute_nfs_args() and compute_automounter_nfs_args() 11155 functions. 11156 11157 * libamu/mount_fs.c (compute_nfs_args): major code cleanup that 11158 relates for struct nfs_args. A new function sets the numerous 11159 possible flags and fields of nfs_args_t in an orderly fashion. 11160 Code cleaned up, organized, and moved from amd/hlfsd into 11161 libamu. This saves on overall size of code. 11162 (compute_automounter_nfs_args): A variant of compute_nfs_args() 11163 which sets special options/flags that need to be used when NFS 11164 mounting an automounter's mount point. Used by hlfsd and amd. 11165 11166 * amq/amq.c (get_secure_amd_client): don't print any more 11167 "get_secure_amd_client: using TCP, port 12345". It's more 11168 annoying than useful a message, even when assumed to be compiled 11169 under DEBUG only. 11170 11171Thu Oct 30 14:33:38 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11172 11173 * aux/macros/check_mnttab_type.m4: MAJOR BUG fixed for non-nfs 11174 mount table entries. The code used to define the /etc/mnttab name 11175 for file systems based on physical media (disk, cdrom, floppy) to 11176 the generic name, rather than the OS specific name. For example 11177 autoconf searches for all these types of mount table entries for a 11178 floppy based file system: vfat pcfs pc msdos msdosfs fat. But if 11179 it found any, it hard-coded the mnttab name to "pcfs" rather than 11180 the actual name found! Same for ufs, cdfs, pcfs, tmpfs, lofs, 11181 nullfs, unionfs, and umapfs. 11182 11183 * aux/configure.in: also test for xfs (for newer Irix) when 11184 looking for mount type names, numbers, etc of a disk-based ufs. 11185 11186Sun Oct 26 19:32:57 1997 Erez Zadok <ezk@defiant.soscorp.com> 11187 11188 * amq/amq.c (main): use pmap_ping() to test if remote host is up. 11189 This works better on bsdi2 and bsdi3, because their portmapper 11190 does not appear to like forwarding operations (it is generaly 11191 insecure). 11192 11193Sat Oct 25 04:55:56 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11194 11195 ******************************************************************* 11196 *** Released am-utils-6.0a13 *** 11197 ******************************************************************* 11198 11199Fri Oct 24 05:04:37 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11200 11201 * conf/nfs_prot/nfs_prot_ncr2.h: added missing definition for 11202 struct datum typedef. 11203 11204 * conf/nfs_prot/nfs_prot_netbsd.h: corrected typedef for 11205 ypall_callback_fxn_t for netbsd. 11206 11207 * aux/macros/type_auth_create_gidlist.m4: hpux10.10 uses int for 11208 the 5th arg to authunix_create(), while before and after they used 11209 gid_t. 11210 11211 * conf/transp/transp_tli.c (amu_clnt_create_best_vers): don't use 11212 clnt_create_timed() on older Solaris 2.3 systems that did not have 11213 it. 11214 11215 * conf/nfs_prot/nfs_prot_bsdi2.h: <msdosfs/msdosfsmount.h> is for 11216 kernel only on bsdi2, so do not include it. 11217 11218Fri Oct 24 00:29:42 1997 Erez Zadok <ezk@lorien.cs.columbia.edu> 11219 11220 * hlfsd/stubs.c (nfsproc_readlink_2_svc): avoid logging repeated 11221 messages about resolution of mailboxes based on uid/gid. 11222 11223 * scripts/ctl-hlfsd.in: check for alternate password file in 11224 ${prefix}/etc/passwd and use it in hlfsd's startup. 11225 11226Thu Oct 23 22:48:50 1997 Erez Zadok <ezk@lorien.cs.columbia.edu> 11227 11228 * hlfsd/homedir.c (hlfsd_getpwent): added support for -P 11229 passwdfile option. If hlfsd is started with -P passwdfile, then 11230 the passwdfile is read and parsed just as a standard unix 11231 passwd(4) file. Only the username, uid, and homedir fields are 11232 read and checked. All the rest are ignored. No NIS/netgroup 11233 support! 11234 11235 * hlfsd/hlfsd.c (main): check if hlfsd is run as root after 11236 parsing command line options, so that usage() can be printed when 11237 -h is invoked. 11238 11239Wed Oct 22 00:16:39 1997 Erez Zadok <ezk@lorien.cs.columbia.edu> 11240 11241 * amd/nfs_start.c (mount_automounter): if autofs service listener 11242 fails to initialize it is OK if using a test amd. 11243 11244 * amd/opts.c (f_in_network): new nomadic function in_network(arg), 11245 which returns TRUE if 'arg' is any one of this host's networks. 11246 11247 * libamu/wire.c (getwire): rewritten parts of function, to store 11248 all networks names and numbers in the order of the interface (not 11249 in reverse). 11250 11251Mon Oct 20 01:59:25 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11252 11253 * aux/configure.in: don't add ops_ufs.o on AIX twice. My code 11254 would have worked had it not been due to AIX's buggy /bin/sh. 11255 11256 * doc/Makefile.am (EXTRA_DIST): include am-utils.dvi and 11257 am-utils.ps in the distribution sources. 11258 (html): generate html documentation for 11259 http://www.am-utils.org 11260 11261Sun Oct 19 12:35:49 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11262 11263 * conf/nfs_prot/nfs_prot_netbsd.h: override the definition of 11264 ypall_callback_fxn_t. The NetBSD team compiles all sources with 11265 gcc -Wall -Wmissing-prototypes -Wstrict-prototypes. 11266 11267 * amd/info_nis.c: allow for override of ypall_callback_fxn_t 11268 function typedef. 11269 11270 * libamu/xutil.c (amu_release_controlling_tty): new function to 11271 release the controlling tty in a clean and sane manner. No longer 11272 using setpgid() b/c it may not work. Uses setsid(), 11273 and ioctl() (in order). This new function is used in amd/amd.c 11274 and hlfsd/hlfsd.c. Also avoid setpgrp(), because it works on some 11275 systems, but on others it is the same as setpgid(). 11276 11277Sat Oct 18 23:42:40 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11278 11279 * aux/acconfig.h: check for nfs mount option 'fsname'. Code for 11280 it was in amd/ops_afs.c, amd/ops_nfs.c, and hlfsd/hlfsd.c, but 11281 never used, because the configure test for fsname flag wasn't 11282 used. This fixed a bug in HPUX 10, where syncer and manual mounts 11283 left blank lines in /etc/mnttab. 11284 11285 * aux/configure.in: check for nfs mount option 'fsname'. 11286 11287Fri Oct 17 13:30:27 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11288 11289 * amd/ops_afs.c (mount_toplvl): turn on 'ignore' option in nfs 11290 mount flags of toplvl mounts. Important esp. for HPUX 10. Now 11291 hpux-10 will mount amd's mounts points as 'ignore' (by df). 11292 11293 * aux/configure.in: check for NFS mount option 'ignore', useful in 11294 HPUX 10. 11295 11296Thu Oct 16 03:28:33 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11297 11298 * aux/macros/check_hide_mount_type.m4: hpux 10 should use "ignore" 11299 mount type and not NFS, for the amd mount points. 11300 11301 * conf/transp/transp_tli.c (amu_clnt_create_best_vers): don't log 11302 an RPC timeout as an error, but just an info message. From 11303 Andreas Stolcke <stolcke@speech.sri.com> 11304 11305 * If the NFS server is down or does not support the portmapper 11306 call (such as certain Novell NFS servers) we mark it as version 2 11307 and we let the nfs code deal with the case that is down. If when 11308 the server comes back up, it can support NFS V.3 and/or TCP, it 11309 will use those. From christos@deshaw.com (Christos Zoulas). 11310 11311 * hlfsd/homedir.c (plt_print): various compile time cleanups to 11312 printfs that take a long, but pass an int to print. From 11313 christos@deshaw.com (Christos Zoulas). 11314 11315 * aux/macros/func_bad_yp_all.m4 (ac_cv_func_yp_all_clean,): new 11316 macro to determine if the OS has a bad yp_all(), based on the host 11317 OS name. So far only irix (all versions) have a bad yp_all, so 11318 they will use am_yp_all() instead (which is slower as it 11319 enumerates manually all of the map's entries). 11320 11321Thu Oct 16 03:14:37 1997 Erez Zadok <ezk@subzero.cs.columbia.edu> 11322 11323 * amd/info_nis.c (am_yp_all): code for a replacement yp_all that 11324 avoids using a file-descriptor leaking yp_all() on some systems 11325 like irix. 11326 11327Wed Oct 15 21:52:35 1997 Erez Zadok <ezk> 11328 11329 * fsinfo/fsinfo.h: avoid redefining yywrap incorrectly on DU-4.x 11330 systems using /usr/bin/flex. 11331 11332 * amd/conf_tok.l (yywrap): avoid redefining yywrap for systems 11333 that have a modified GNU flex which does define yywrap (DU-4.x). 11334 11335Fri Sep 26 14:25:29 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11336 11337 * conf/checkmount/checkmount_bsd44.c: include prototype. 11338 11339Fri Sep 26 01:26:24 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11340 11341 ******************************************************************* 11342 *** Released am-utils-6.0a12 *** 11343 ******************************************************************* 11344 11345Fri Sep 26 00:13:48 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11346 11347 * conf/nfs_prot/nfs_prot_irix6.h: completely turn off all autofs 11348 code in irix6 until it can be tested correctly 11349 11350 * conf/transp/transp_tli.c (amu_clnt_create_best_vers): time out 11351 on clnt_create for 3 seconds, rather than wait for the much longer 11352 default. 11353 11354 * conf/nfs_prot/nfs_prot_aix4_2.h: port to powerpc-ibm-aix4.2.1.0. 11355 Includes NFS3, untested. 11356 11357Thu Sep 25 11:03:11 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11358 11359 * amd/ops_pcfs.c (mount_pcfs): fill in uid/gid fields of 11360 pcfs_args_t if they exist. 11361 11362 * amd/ops_cdfs.c (mount_cdfs): fill in ssector field of 11363 cdfs_args_t if it exists. 11364 11365 * new minor ports hppa1.1-hp-hpux10.10, hppa1.1-hp-hpux9.05, 11366 hppa1.1-hp-hpux9.07, m68k-hp-hpux9.00, and sparc-sun-sunos4.1.4. 11367 11368Wed Sep 24 00:48:05 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11369 11370 * doc/am-utils.texi (wire-test): updated documentation for the new 11371 option. 11372 11373 * wire-test/wire-test.8: updated man page for new option. 11374 11375 * wire-test/wire-test.c (main): added a test for various 11376 combinations of NFS proto/vers to a remote/local host. 11377 11378 * aux/macros/try_compile_anyfs.m4 (AC_TRY_COMPILE): include 11379 <isofs/cd9660/cd9660_mount.h> and <msdosfs/msdosfsmount.h> so that 11380 freebsd will correctly set mount options for pcfs and cdfs. 11381 11382 * amd/ops_pcfs.c (mount_pcfs): set mask field of pcfs_args to 11383 0777 (if field exists). 11384 11385 * aux/macros/try_compile_anyfs.m4 (AC_TRY_COMPILE): include 11386 <msdosfs/msdosfsmount.h> if available. 11387 11388 * minor new port: rs6000-ibm-aix4.1.4.0. 11389 11390 * libamu/mount_fs.c (mount_fs): fixed bug that caused HPUX not to 11391 write the "time" field in /etc/mnttab. 11392 11393 * conf/mtab/mtab_file.c (mnt_dup): fixed typo in macro names for 11394 detecting mnt_time field of mntent_t. 11395 11396 * libamu/mtab.c (mnt_free): fixed typo in macro names for 11397 detecting mnt_time field of mntent_t. 11398 11399Tue Sep 23 15:30:03 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11400 11401 * conf/mtab/mtab_file.c (lock): Use flock() in preference over 11402 fcntl() to lock the mtab file. 11403 11404Mon Sep 22 23:04:58 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11405 11406 * conf/transp/transp_sockets.c (get_nfs_version): define 11407 the try_again goto label only for NFS3. 11408 (pmap_ping): assume timeout failure of clnt_stat. 11409 11410 * libamu/xdr_func.c (xdr_groupnode, xdr_exportnode): cast to 11411 "groups *". 11412 11413Mon Sep 22 20:34:33 1997 Erez Zadok <ezk@lorien.cs.columbia.edu> 11414 11415 * conf/transp/transp_sockets.c (pmap_ping): patch from Dan Riley 11416 <dsr@mail.lns.cornell.edu> to make sure that amd works with more 11417 secure portmappers that do not allow forwarding of RPC messages to 11418 other services. 11419 11420 * */Makefile.am: all source files should also depend on the new 11421 include/am_xdr_func.h header. 11422 11423 * include/am_xdr_func.h: new file as part of the code cleanup from 11424 Christos Zoulas <christos@deshaw.com>. 11425 11426 * Lots of fixes from Christos Zoulas <christos@deshaw.com> that 11427 involved missing prototypes, cleaned up ones, and removal of 11428 unused variables. 11429 11430 * libamu/xdr_func.c (xdr_mountres3): some code cleanup. A switch 11431 statement with only one case is unclean. 11432 11433Mon Sep 22 17:26:38 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11434 11435 * amd/ops_<FOO>fs.c (mount_<FOO>fs): initialize mntent_t fields to 11436 0 so that all fields are initialized to zero at first. This way 11437 SunOS 4.x and other systems don't get /etc/mtab entries with 11438 random integers for the fsck/freq fields. Patch from Andreas 11439 Stolcke <stolcke@speech.sri.com>. 11440 11441Mon Sep 22 00:34:19 1997 Erez Zadok <ezk@americas.psl.cs.columbia.edu> 11442 11443 * conf/nfs_prot/nfs_prot_sunos4.h: include <nfs/nfs_clnt.h> so 11444 that the important definition for HOSTNAMESZ will be found. 11445 11446 * amd/ops_afs.c (mount_toplvl): limit hostname size to HOSTNAMESZ 11447 (inside the nfs_args structure) if the system uses that macro. 11448 Otherwise systems like SunOS refuse to NFS mount long pathnames 11449 and result in ENAMETOOLONG errno's. 11450 11451Wed Sep 17 04:56:11 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11452 11453 * doc/am-utils.texi (Supported Platforms): specify new support for 11454 solaris 2.6, and hlfsd running on 2.5.1 too. 11455 11456Wed Sep 17 03:55:02 1997 Erez Zadok <ezk@amsterdam.psl.cs.columbia.edu> 11457 11458 * conf/mount/mount_svr4.c (mount_svr4): don't attemt an autofs 11459 mount if it is not supported or was turned off. 11460 11461Wed Sep 17 03:19:36 1997 Erez Zadok <ezk@americas.psl.cs.columbia.edu> 11462 11463 * conf/nfs_prot/nfs_prot_sunos4.h: fixed so that it will nfs mount 11464 again. Apparently at some previous release SunOS 4 supported was 11465 broken and all nfs mounts resulted in ESTALE. 11466 11467Wed Sep 17 00:26:25 1997 Erez Zadok <ezk@amsterdam.psl.cs.columbia.edu> 11468 11469 * conf/nfs_prot/nfs_prot_sunos5_6.h: nfs protocol headers for 11470 solaris 2.6. 11471 11472 * aux/macros/check_nfs_prot_headers.m4: added solaris 2.6 nfs 11473 protocol header selection. 11474 11475Sat Sep 13 14:31:51 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11476 11477 * conf/transp/transp_tli.c (amu_clnt_create_best_vers): avoid 11478 infinite loop. 11479 11480Sun Sep 7 18:23:23 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11481 11482 ******************************************************************* 11483 *** Released am-utils-6.0a11 *** 11484 ******************************************************************* 11485 11486Fri Sep 5 11:55:10 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11487 11488 * amd/amd.c (main): if plock() succeeded, don't try to display 11489 errno message. Patch from Chris Metcalf 11490 <metcalf@catfish.lcs.mit.edu. 11491 11492Thu Sep 4 19:17:58 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11493 11494 * hlfsd/homedir.c (table_add): make sure duplicate passwd entries 11495 are ignored. Only the first entry should ever be used, because 11496 that's how lookup in passwd database works. 11497 11498 * conf/transp/transp_sockets.c (get_nfs_version): when determining 11499 if a remote host is up or down, use NFS v.2. Fix suggested by 11500 Enami Tsugutomo <enami@cv.sony.co.jp>. 11501 11502 * conf/transp/transp_tli.c (amu_clnt_create_best_vers): new 11503 function to get the best possible NFS version, but also timeout 11504 faster than normal defaults, so remote hosts which are down can be 11505 detected in a reasonable time. 11506 (get_nfs_version): use the new "best" function. 11507 11508Tue Sep 2 00:41:00 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11509 11510 ******************************************************************* 11511 *** Released am-utils-6.0a10 *** 11512 ******************************************************************* 11513 11514Mon Sep 1 15:39:51 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11515 11516 * conf/transp/transp_tli.c (get_nfs_version): don't use 11517 clnt_tp_create_timed() on systems that don'e have it (Solaris 2.4 11518 and earlier). 11519 11520 * aux/configure.in: test for existence of clnt_tp_create_timed(), 11521 since Solaris 2.4 (and possibly earlier) do not have it. 11522 11523Mon Sep 1 15:23:18 1997 Erez Zadok <ezk@felix.psl.cs.columbia.edu> 11524 11525 * amd/ops_autofs.c (autofs_unmount_1_svc): only display rdevid 11526 field if it exists (solaris 2.4's autofs does not have it). 11527 11528Mon Sep 1 14:45:09 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11529 11530 * aux/macros/type_auth_create_gidlist.m4: a new test to determine 11531 the correct type to the 5th argument of authunix_create(). 11532 11533Mon Sep 1 03:44:32 1997 Erez Zadok <ezk@felix.psl.cs.columbia.edu> 11534 11535 * libamu/xdr_func.c (xdr_umntrequest): add test for autofs 11536 structure umntrequest, if it has the field rdevid. Seems Solaris 11537 2.4 and earlier didn't have it. 11538 11539Mon Sep 1 01:10:53 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11540 11541 * hlfsd/hlfsd.c (hlfsd_init): moved initialization upwards, so it 11542 can be done before primary process forks. 11543 (main): bug fix: wait a bit to give child a chance to initialize. 11544 Without this, hlfsd got into a busy infinite loop while, never 11545 completing the mount. 11546 11547 * amd/info_nis.c: patch from Jason Thorpe <thorpej@nas.nasa.gov> 11548 to make amd works when talking to NIS+ servers in NIS 11549 compatibility mode. 11550 11551Mon Sep 1 00:46:56 1997 Erez Zadok <ezk@lorien.cs.columbia.edu> 11552 11553 * amd/mapc.c (MAX_CHAIN): increased maximum chain size to 1024. 11554 11555Sun Aug 31 20:20:40 1997 Erez Zadok <ezk@lorien.cs.columbia.edu> 11556 11557 * amd/conf.c (gopt_fully_qualified_hosts): a new function to 11558 process another new global variable. 11559 11560 * amd/ops_nfs.c (make_nfs_auth): if a new global variable 11561 fully_qualified_hosts is on, use FQHN in RPC/NFS authentications. 11562 Patch from Chris Metcalf <metcalf@catfish.lcs.mit.edu>. 11563 11564 * amd/conf.c (process_last_regular_map): If the amd.conf file only 11565 has a [global] section (pretty useless IMHO), do not try to 11566 process a map that does not exist. 11567 11568 * scripts/amd.conf.5: fixed typos (repeated 'as' word). 11569 11570 * doc/am-utils.texi: MAJOR DOCUMENTATION REVISION COMPLETED!!! 11571 11572 * amd/conf.c (reset_cf_map): Bug fix. Reset 'tag' field of cfm 11573 structure, so it does not carry over from map entry to another. 11574 11575Sat Aug 30 18:39:21 1997 Erez Zadok <ezk@lorien.cs.columbia.edu> 11576 11577 * amd/amd.c (main): fixed the meaning of the plock option. A bug 11578 caused it to be reversed. 11579 11580Sat Aug 30 15:13:18 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11581 11582 * hlfsd/stubs.c: don't initialize some statics here. They are 11583 better initialized in hlfsd_init_filehandles(). 11584 11585Fri Aug 22 14:47:16 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11586 11587 * amd/conf.c (gopt_show_statfs_entries): new function and a global 11588 amd.conf key show_statfs_entries. Defaults to 'no'. If 'yes', 11589 then all maps flagged as browsable will also show a count of the 11590 number of entries (keys) in that map. 11591 11592 * amd/nfs_subr.c (count_map_entries): new function to count number 11593 of entries in a map. Now used if browsable is turned on in a map, 11594 to return a count of available keys in a given map. 11595 11596 * hlfsd/stubs.c (eq_fh): use correct memcmp(). BUG fixed! hlfsd 11597 confused the file handles for ".", "..", and the symlink, causing 11598 mess. 11599 11600 * aux/macros/func_bad_memcmp.m4: new test, based on autoconf 2.12, 11601 but also defines HAVE_BAD_MEMCMP, so I avoid linkage conflicts 11602 with bad memcmp() in libc's (nextstep3). 11603 11604Thu Aug 21 17:38:41 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11605 11606 * aux/configure.in: check if autofs_args_t has a field named 11607 addr. Solaris has it for specifying the address of the daemon, 11608 but Irix does not. So how does irix tell the kernel the daemon's 11609 address? I suspect that it is hardcoded to "localhost" using a 11610 "private well-known port" (#define AUTOFS_PORT 2048). 11611 11612 * conf/nfs_prot/nfs_prot_linux.h: added missing autofs 11613 definitions. 11614 11615 * README.autofs: new file listing autofs support notes 11616 11617 * very preliminary autofs code working. Call it pre-alpha 11618 quality. 11619 11620Sun Aug 17 02:25:09 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11621 11622 * amd/conf.c (ropt_mount_type, gopt_mount_type): don't accept 11623 "autofs" if system does not support it. 11624 11625 * amd/amd.c (main): log am-utils version string (same as amd -v) 11626 at start of run. 11627 11628 * conf/transp/transp_sockets.c (get_nfs_version): in order to tell 11629 if a remote host is available, try to contact its portmapper and 11630 timeout if no answer is received in 3 seconds. 11631 11632Thu Aug 14 16:12:04 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11633 11634 * aux/macros/check_extern.m4 (pattern): use a simpler pattern for 11635 match for external function definitions. The function could span 11636 multiple lines, so only match the opening parenthesis, not the 11637 closing one too. 11638 11639 * aux/macros/os_cpp-flags.m4 (ac_cv_os_cppflags,): do NOT turn on 11640 posix mode for nextstep3. It is broken. 11641 11642 * amd/amd.c (init_global_options): run uname() only if 11643 <sys/utsname.h> and uname(2) exist. 11644 11645 * amd/rpc_fwd.c (fwd_packet): if remote host is down, the 11646 forwarding socket is null, so declare this an error. 11647 11648 * include/am_utils.h (AM_ERRNO_HOST_DOWN): find best errno to set 11649 for when a remote host is down. Try, in order, "host down", "host 11650 unreachable", "invalid argument". 11651 11652 * amd/ops_nfs.c (discard_fh): don't dereference a null pointer 11653 (happens when remote host is down, and fp->fh_fs is NULL). 11654 (prime_nfs_fhandle_cache): ditto, and set fs flags to !FSF_VALID 11655 and FSF_DOWN. 11656 11657 * amd/sched.c: nobody uses "union wait" any more, or so it 11658 appears, so clean up that code. 11659 11660 * conf/transp/transp_tli.c (get_nfs_version): if remote host is 11661 down, time it out faster than default (3 seconds). 11662 (get_mount_client): free netconfig entry when done with it. 11663 11664 * conf/nfs_prot/nfs_prot_nextstep.h: initial (and somewhat ugly) 11665 port to nextstep3 (m68k-next-nextstep3). 11666 11667 * fsinfo/Makefile.am (LDADD): needs to link with libamu in case 11668 system does not have strdup(). 11669 11670 * include/am_defs.h: complete external definition for getlogin() 11671 if needed. 11672 11673 * conf/transp/transp_tli.c (get_nfs_version): no need to keep 11674 static versout variable. 11675 11676 * amd/rpc_fwd.c (fwd_packet): if fwdto packet is null, remote 11677 server is probably down. Don't use sendto() in that case. 11678 11679 * buildall (default): run gmake if found, before trying plain 11680 make. GNU make is always preferable. 11681 11682Tue Aug 12 21:23:58 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11683 11684 * aux/macros/host_macros.m4: cleanup of os_version and os 11685 overrides. Solaris 2.5.1 for example will come up as solaris2 and 11686 2.5.1, rather than sunos5 and 5.5.1. Both can be overridden in 11687 the amd.conf file. 11688 11689Fri Aug 8 14:37:30 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11690 11691 ******************************************************************* 11692 *** Released am-utils-6.0a9 *** 11693 ******************************************************************* 11694 11695Thu Aug 7 00:52:14 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11696 11697 * conf/nfs_prot/nfs_prot_ncr2.h: new file, for NCR2 11698 (i486-ncr-sysv4.3.03) headers. Needed to complete missing stuff 11699 from <ndbm.h> and <sys/resource.h>. 11700 11701 * scripts/amd.conf.5: new map page. 11702 11703 * amd/info_hesiod.c: define extern for hesiod_resolve, since bsdi3 11704 does not. 11705 11706 * amd/amd.8: updated man page. 11707 11708 * amd/get_args.c (get_args): removed defunct -h option to amd. 11709 11710 * amq/amq.8: updated man page. 11711 11712 * amd/info_nisplus.c (nisplus_search): prototype fixes so Sun 11713 SparcCompiler CC won't complain. 11714 11715 * amd/info_hesiod.c (hesiod_search): small fixes to compile with 11716 hesiod-1.3, as per Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>. 11717 11718 * aux/macros/opt_ldflags.m4: new option added to configure 11719 --enable-ldflags, to specify -L option for configuring/compiling. 11720 The older one --enable-libs is now to be used only for -l options. 11721 11722 * amd/ops_nfs.c (mount_nfs_fh): bug fixed. Should initialize 11723 nc_protoname from nfs_proto if available for all TLI systems, not 11724 just those that have NFS V3. 11725 11726 * amd/info_ldap.c: ldap patches from Leif Johansson 11727 <leifj@matematik.su.se>, adding two new amd.conf ldap variables: 11728 ldap_cache_seconds and ldap_cache_maxmem. 11729 11730 * hlfsd/hlfsd.c (main): bug fixed. port number must be wrapped in 11731 htons(). 11732 11733Sun Aug 3 17:20:05 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11734 11735 * amd/nfs_start.c (mount_automounter): register amd with the rpc 11736 program number that may have been overridden by amd.conf. 11737 11738 * libamu/xutil.c (set_amd_program_number, get_amd_program_number): 11739 allow storing and retrieving alternate amd program numbers. 11740 11741 * amd/conf.c (gopt_portmap_program): new function to parse 11742 amd.conf entry portmap_program=1234. 11743 11744 * amq/amq.c (main): allow specifying an alternate rpc program 11745 number for amd via -P prognum. 11746 11747 * new amq RPC to get the process id of the running amd. This is 11748 used in ctl-amd to quickly find the pid of the amd that is to be 11749 killed. 11750 11751 * expanded shared libraries support. Using GNU libtool-1.0, 11752 am-utils now builds shared libraries on many platforms that have 11753 support for it and proper compilers/linkers. See "INSTALL" file 11754 for compatibility chart. 11755 11756Thu Jul 31 13:07:23 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11757 11758 * fsinfo/fsi_lex.l: removed code that was in support of very old 11759 versions of flex. No longer needed. 11760 11761Tue Jul 29 12:00:13 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11762 11763 * amd/amd.c (init_global_options): find the kernel architecture 11764 from uname() if possible. 11765 11766Mon Jul 28 03:53:59 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11767 11768 * new working port: i386-unknown-openbsd2.1 11769 11770Fri Jul 25 03:16:31 1997 Erez Zadok <ezk@felix.psl.cs.columbia.edu> 11771 11772 * working port: sparc-sun-solaris2.4. Had to fix fhandle_t from 11773 structure to actual char[], because the structure was passed to 11774 xdr_fhandle as data and not a pointer. Surprisingly, gcc 11775 -fpcc-struct-return did not help. 11776 11777 * conf/nfs_prot/nfs_prot_sunos5_4.h: special nfs protocol 11778 definitions for solaris 2.4 have to be different from 2.3, and 11779 different from 2.5. 11780 11781 * libamu/xdr_fhstatus.c (xdr_fhstatus): minor code cleanup. 11782 11783Thu Jul 24 16:22:39 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11784 11785 * conf/mount/mount_svr4.c (mount_svr4): use STREQ to compare mount 11786 types, not ==. Fix from Christos Zoulas <christos@deshaw.com>. 11787 11788 * mk-amd-map/mk-amd-map.8: man page taken from bsd44. 11789 11790Thu Jul 24 00:01:55 1997 Erez Zadok <ezk@moisil.cs.columbia.edu> 11791 11792 * conf/mount/mount_linux.c: made the nfs error mapping code into a 11793 small function. 11794 11795Wed Jul 23 16:11:49 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11796 11797 * conf/nfs_prot/nfs_prot_linux.h (NFS_ERROR_MAPPING): special 11798 error mappings from errno numbers to NFS errors. From Debian 11799 Linux. 11800 11801 * scripts/am-eject.in (fs): new script (taken from Debian Linux 11802 folks) to auto-unmount floppy/cd devices before ejecting them. 11803 11804 * fsinfo/wr_exportfs.c (write_exportfs): from Debian folks, pass 11805 '5' as second arg to show_area_being_processed. I'm not sure why. 11806 11807 * fsinfo/wr_atab.c (write_atab): from Debian folks, pass '5' as 11808 second arg to show_area_being_processed. I'm not sure why. 11809 11810 * conf/mount/mount_linux.c (parse_opts): as per Debian Linux, 11811 ensure that you have a buffer in *xopts to strcat onto. 11812 (mount_linux): fixed from Debian folks to ensure that NFS mount 11813 sockets are connected only for kernels prior to 1.3.10 (avoids 11814 hangs for multi-homed hosts). 11815 11816 * amd/mapc.c (make_entry_chain): from Debian folks: don't skip 11817 over amd map keys that have a prefix, and include the prefix in 11818 the returned readdir(). 11819 11820 * amd/info_passwd.c (passwd_init, passwd_search): format 11821 enhancements from the Debian Linux folks. They added 11822 - var0:=pw-prefix:=anydir 11823 - var1:=pw-rhost:=dom3.dom2.dom1 11824 - var2:=pw-user:=user 11825 - var3:=pw-home:=/anydir/dom1/dom2/dom3/user 11826 11827 * new ports: sparc-sun-solaris2.4 and sparc-sun-sunos4.1.1. 11828 11829 * amd/ops_afs.c (afs_retry): patches from Debian Linux. If 11830 afs_mount timed out, then explicitly forbid further retries after 11831 the timeout. (afs_bgmount): bug fix from Debian Linux. Timeout 11832 values (17 and 5) were mistakenly swapped. 11833 11834Wed Jul 23 15:53:25 1997 Erez Zadok <ezk@felix.psl.cs.columbia.edu> 11835 11836 * conf/nfs_prot/nfs_prot_sunos5_3.h: turn off non-existent NFS V.3 11837 support for Solaris 2.4 (the header files incorrectly define parts 11838 of the NFS V.3 protocol, but the kernel does not support it). 11839 11840Wed Jul 23 00:07:12 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11841 11842 * amd/info_hesiod.c: minor cleanup to use hes_init and hesiod_init 11843 for determining if using old or new hesiod libraries, 11844 respectively. 11845 11846 * amd/ops_nfs.c (mount_nfs_fh): If "noconn" option exists in NFS 11847 V.3 then use non-connected sockets (both TCP and UDP). Otherwise 11848 they cause hangs of mounts from multi-homed hosts when the return 11849 route is not the same as the outgoing route (esp. on NetBSD 11850 1.2.1). If "conn" option was supplied, then don't turn on the 11851 "noconn" mount option. Otherwise default to "noconn" mount 11852 option. 11853 11854 * aux/configure.in: better check for systems that need libgdbm and 11855 <ndbm.h> 11856 11857Tue Jul 22 04:02:05 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11858 11859 * hlfsd/hlfsd.c (main), amd/ops_afs.c (mount_toplvl): ensure that 11860 mounts are hidden from df(1) on systems that keep mount tables in 11861 kernel, such as osf1. 11862 11863Tue Jul 22 02:26:55 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11864 11865 ******************************************************************* 11866 *** Released am-utils-6.0a8 *** 11867 ******************************************************************* 11868 11869Mon Jul 21 21:33:19 1997 Erez Zadok <ezk@stone.mcl.cs.columbia.edu> 11870 11871 * hlfsd/hlfsd.c (main): bug fixed: forgot to set sin_family to 11872 AF_INET when hlfsd mounts itself, thus getting an errno "protocol 11873 family not supported". 11874 11875Mon Jul 21 20:46:59 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11876 11877 * verified that amd on NetBSD 1.2.1 (i386) works, but the OS 11878 itself is flaky. 11879 11880 * verified that amd AIX 3 works w/ the new readdir() code. 11881 11882Mon Jul 21 18:59:30 1997 Erez Zadok <ezk@chestnut.mcl.cs.columbia.edu> 11883 11884 * amd/mapc.c (maptypes): changed the default map caching type for 11885 nis and ndbm maps to "MAPC_ALL", so that all possible entries will 11886 be available to amd for browsable_dirs=yes. 11887 11888Mon Jul 21 18:04:16 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11889 11890 * amd/ops_afs.c (afs_readdir, afs_readdir_browsable): split 11891 afs_readdir into a browsable version and a non-browsable one. 11892 Fixed bugs that resulted in an infinite nfs_readdir loop on the 11893 localhost for some operating systems. 11894 11895Sat Jul 19 19:38:38 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11896 11897 * amd/ops_afs.c (afs_readdir): fixed up the browsable code to 11898 comply with nfs_readdir specs. It was returning all entries at 11899 once, even if there was not enough space in the RPC packet. Now, 11900 it sends a reasonably sized chunk, and sets static state to resume 11901 it for the next continuation RPC of readdir. 11902 11903 * amd/conf.c (set_conf_kv): fixed bug that resulted in the first 11904 regular map not getting all of the [global] options defaulted from. 11905 11906Fri Jul 18 00:45:12 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11907 11908 * amq/amq.c (main): fixed so that portmapper "ping" will only fail 11909 upon an RPC timeout 11910 11911 * scripts/ctl-{amd,hlfsd}.in (killproc): better method to find the 11912 amd/hlfsd process to kill. 11913 11914 * amd/ops_afs.c (mount_toplvl), hlfsd/hlfsd.c (main): code to 11915 determine how to avoid df from seeing amd's toplvl mounts. Moved 11916 from libamu/mount_fs.c and include/am_utils.h. Ensure that hlfsd 11917 is hidden from df. 11918 (mount_toplvl): fixed df types for irix. 11919 11920Thu Jul 17 21:59:45 1997 Erez Zadok <ezk@americas.psl.cs.columbia.edu> 11921 11922 * amq/amq.c (main): fixed bug that caused the 5 second timeout for 11923 TLI amq using udp to be ignored. 11924 (main): if amq cannot contact remote host's portmapper within 5 11925 seconds, timeout and fail faster than the default longer timeout 11926 (this is for non-TLI systems). 11927 11928Thu Jul 17 17:08:13 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11929 11930 * amq/amq.c (get_secure_amd_client): if amq cannot contact 11931 remote host's portmapper within 5 seconds, timeout and fail faster 11932 than the default TLI timeout of over 4 minutes. 11933 11934 * amd/am_ops.c (ops_showfstypes): added styles for new bsd44 11935 file systems nullfs, unionfs, and umapfs. 11936 (ops_show1): cleanup code and and reuse this function. 11937 (vops): empty placeholders for nullfs, unionfs, and umapfs. 11938 11939 * amd/ops_{nullfs, unionfs, umapfs}.c: 3 new empty templates for 11940 bsd44 style file systems. 11941 11942 * fsinfo/fsinfo.8: man page for fsinfo rewritten from bsd44 11943 sources. 11944 11945 * amd/conf_tok.l, fsinof/fsi_lex.c: undefine ECHO to avoid 11946 conflict with systems that define it in <sys/ioctl.h> and also 11947 define a conflicting one via lex. Newer versions of f/lex are ok. 11948 11949Wed Jul 16 00:17:45 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11950 11951 * amd/ops_nfs.c (mount_nfs_fh): fill in nfs_args' fields 11952 acdirmin/max and acregmin/max only if they exist. 11953 11954 * aux/configure.in: test for nfs_args fields acdirmin and 11955 acregmin. 11956 11957Tue Jul 15 17:24:09 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11958 11959 * aux/configure.in: commented out checking for MNT2_GEN_OPT_* for 11960 "nondev" and commented back in checking for "nodev". This was a 11961 typo. 11962 11963 * include/am_compat.h: more compatibility options: define "ro" 11964 mnttab option all the time. Define "overlay" as needed. Added 11965 more fillers of mnttab options (as per Daniel S. Riley 11966 <dsr@mail.lns.cornell.edu>), for acdirmax, acdirmin, acregmax, 11967 acregmin, noac, grpid, nosuid, and actimo. 11968 11969 * libamu/mount_fs.c (mnt_flags): fixed a typo in "ro" option as 11970 per dsr@mail.lns.cornell.edu (Daniel S. Riley). Then cleaned up 11971 the same code for other options in struct opt_tab. 11972 11973Mon Jul 14 22:36:37 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11974 11975 * amd/get_args.c (get_args): moved amd.conf file parsing to before 11976 the switching the default log/debug options. Suggested by 11977 dsr@mail.lns.cornell.edu (Daniel S. Riley). 11978 11979 * aux/update_build_version: new script to record the build version 11980 of amd, along with the rest of the info thet comes up with amd -v. 11981 11982Sun Jul 13 00:30:24 1997 Erez Zadok <ezk@decca.damtp.cam.ac.uk> 11983 11984 * aux/macros/os_cflags.m4: new macro, to add additional 11985 compilation options (also used during configuration), based on the 11986 OS and the compiler. Used for solaris-2.6, osf, and irix6. 11987 11988Fri Jul 11 10:15:11 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11989 11990 * amd/conf_tok.l, conf_parse.y: allow values of keys to include 11991 white spaces, if they are double-quoted (key="some value") 11992 11993 * amd/info_hesiod.c (hesiod_search): cleanup and minor bug fixes 11994 of hesiod from Danny Braniss <danny@cs.huji.ac.il>. 11995 11996Fri Jul 11 02:16:06 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11997 11998 ******************************************************************* 11999 *** Released am-utils-6.0a7 *** 12000 ******************************************************************* 12001 12002Thu Jul 10 12:19:25 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 12003 12004 * include/am_defs.h: fill in extern definition of innetgr() in 12005 case system headers don't. 12006 12007 * aux/macros/path_prog_lex.m4 aux/configure.in: using macros that 12008 will show the full pathname to yacc/bison and f/lex. Some systems 12009 have older or bad versions of those and this way the user will 12010 know for sure what is being invoked. 12011 12012 * tasks: file populated with todo items. 12013 12014 * scripts/amd2ldif.in: Script to convert amd maps to plain text 12015 LDAP object files. Contributed by Leif Johansson 12016 <leifj@matematik.su.se>. 12017 12018 * aux/config.guess: added recognition for sun3's running 4.2bsd, 12019 from Tom Schmidt <tschmidt@micron.com>. Fixed one small typo. 12020 12021 * amd/conf.c: several variables that were local to a map, were 12022 also added to [global], where they apply to all maps. Each map 12023 can then individually override those defaults. Flags 12024 affected: browsable_dirs and mount_type. Options affected: 12025 map_type, map_options, and search_path. 12026 12027 * amd/amd.h: eliminated several global flags each of which took an 12028 int, in favor of one global flags variable used as a bit field. 12029 12030 * amd/amd.c (init_global_options): moved all global variables into 12031 a single struct amu_global_options, so it is easier to add new 12032 ones and/or identify existing ones. 12033 12034 * amd/get_args.c (get_args): removed unused amd -m option. 12035 12036 * amd/conf.c (gopt_cluster): added new amd.conf option for cluster 12037 name, same as amd -C. 12038 12039 * amd/info_ldap.c: LDAP info map functions from Leif Johansson 12040 <leifj@matematik.su.se>. 12041 12042 * amd/conf.c (gopt_ldap_base, gopt_ldap_hostports): put in global 12043 amd.conf options for ldap_base and ldap_hostports. 12044 12045 * amd/opts.c (f_netgrp): new amd map function netgrp(ARG) to test 12046 if the current host is in the ARG host netgroup. 12047 12048 * aux/configure.in: some systems replaced dbm in libc with GNU's 12049 libgdbm, so check for libgdbm, but only if dbm_open is not in 12050 libc already. This was a recommendation from Tom Schmidt 12051 <tschmidt@micron.com>. 12052 12053 * conf/nfs_prot/nfs_prot_sunos5_3.h: port to sparc-sun-solaris2.3 12054 completed. 12055 12056Wed Jul 9 18:14:59 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 12057 12058 * port to sparc-unknown-netbsd1.2E done, not tested. Includes NFS 12059 V.3. 12060 12061Tue Jul 8 17:35:07 1997 Erez Zadok <ezk@elk.mcl.cs.columbia.edu> 12062 12063 * port to i386-unknown-freebsd3.0 done and working. Includes NFS 12064 V.3. 12065 12066 * aux/macros/check_nfs_fh_dref.m4: freebsd3 should use 12067 file handle dereferencing style similar to freebsd22. 12068 12069 * include/am_defs.h: need to include <net/if_var.h> before 12070 <netinet/if_ether.h> on freebsd3. 12071 12072 * conf/nfs_prot/nfs_prot_freebsd3.h: new protocol header additions 12073 for freeBSD 3.0. 12074 12075Tue Jul 8 16:53:41 1997 Erez Zadok <ezk@moisil.cs.columbia.edu> 12076 12077 * amd/info_nis.c (nis_reload): cast nis' callback function so 12078 picky compilers won't complain. 12079 12080 * libamu/xdr_mountres3.c (xdr_mountres3): make sure this function 12081 gets compiled only if the system has NFS V3 and does not have 12082 xdr_mountres3. 12083 12084Tue Jul 8 12:42:03 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 12085 12086 * COPYING: put in some legal stuff in this file. 12087 12088Mon Jul 7 19:10:44 1997 Erez Zadok <ezk@prometheus.soscorp.com> 12089 12090 * NFS V3 now works under Irix5, thanks to patches from 12091 Andreas Stolcke <stolcke@speech.sri.com>. 12092 12093 * conf/mount/mount_irix5.c: sparate mount_irix.c into an irix5 12094 version and an irix6 version, since irix5's NFS V3 code is broken 12095 and hacky. 12096 12097 * amd/info_hesiod.c (hs_zone_transfer): minor fixes to buffer 12098 sizes for some hesiod queries. Patch from Danny Braniss 12099 <danny@cs.huji.ac.il>. 12100 12101Mon Jul 7 19:04:14 1997 Erez Zadok <ezk@glory.soscorp.com> 12102 12103 * amd/ops_nfs.c (mount_nfs_fh): fixed NFS V.3 support for bsdi3. 12104 12105Sun Jul 6 14:22:24 1997 Erez Zadok <ezk@glory.soscorp.com> 12106 12107 * aux/{configure.in,acconfig.h}: added checks for struct 12108 nfs_args's fields proto and sotype (bsdi3). 12109 12110 * amd/ops_nfs.c (mount_nfs_fh): added nfsv3 option to 12111 nfs_args.flags for bsdi3. Set field proto to 0. Set sotype field 12112 to SOCK_STREAM or SOCK_DGRAM. 12113 12114 * aux/macros/check_mount_style.m4: add case for bsdi3. 12115 12116 * amd/info_hesiod.c: got hesiod support for bsdi3. 12117 12118Sun Jul 6 11:14:47 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 12119 12120 * aux/configure.in: look for hesiod on libc (bsdi3) 12121 12122 * amd/get_args.c (get_args): reformat usage so it fits in 80 12123 columns. 12124 12125 * scripts/ctl-amd.in: changed directory name for optional tftpboot 12126 map to /tftpboot/.amd. 12127 12128Sat Jul 5 17:46:45 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 12129 12130 ******************************************************************* 12131 *** Released am-utils-6.0a6 *** 12132 ******************************************************************* 12133 12134Sat Jul 5 03:17:09 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 12135 12136 * scripts/ctl-amd.in: include -T tag for tftpboot. 12137 12138 * new port: mips-sgi-irix5.3. Compiled with gcc, but NFS V3 code 12139 is broken and needs work on the specific nfs_args that irix5 uses 12140 for V3 mounts. 12141 12142Sat Jul 5 01:44:25 1997 Erez Zadok <ezk@lorien.cs.columbia.edu> 12143 12144 * amd/get_args.c (get_args): new options amd -T tag. A map with 12145 tag=foo matching the -T tag will be processed. All untagged maps 12146 get processed all the time. 12147 12148Fri Jul 4 16:19:26 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 12149 12150 * aux/configure.in: need to check for strcasecmp in libucb (ncr2) 12151 12152 * aux/macros/check_os_libs.m4: a new macro to set the usage of 12153 libnsl and libsocket based on the OS. 12154 12155 * libamu/mount_fs.c (mnt_flags): used MNTTAB_OPT_GRPID if it is 12156 defined (problem on osf4). 12157 12158 * conf/nfs_prot/nfs_prot_irix5.h: new file for irix5 headers. 12159 12160 * include/am_defs.h, aux/macros/try_compile_nfs.m4, 12161 aux/macros/mount_headers.m4: do include <sys/proc.h> because it 12162 failes on irix5. Rather, put in the individual 12163 conf/nfs_prot/nfs_prot_*.h headers. 12164 12165 * amd/conf.c: AIX3 doesn't like strdup() being passed a constant 12166 char*, so cast all strdup()'s args to a non-const char*. 12167 12168 * amd/mapc.c (root_newmap): don't try to strdup only a "const 12169 char *". 12170 12171Fri Jul 4 15:47:10 1997 Erez Zadok <ezk@americas.psl.cs.columbia.edu> 12172 12173 * conf/nfs_prot/nfs_prot_sunos4.h: added rpc/rpc.h and 12174 sys/errno.h. 12175 12176Thu Jul 3 17:49:00 1997 Erez Zadok <ezk@prometheus.soscorp.com> 12177 12178 * made sure am-utils compiles, links, and runs properly on Irix 12179 6.2 using "cc -32 -Wl,-woff," 12180 12181 * aux/macros/check_lib2.m4: a bug fix version to autoconf 2.12 12182 AC_CHECK_LIB. If OTHER-LIBRARIES are defined and used, then add 12183 them to $LIBS. 12184 12185 * aux/configure.in: some cleanup of which libraries are needed. 12186 Espectially ensure that libnsl is included only on Solaris, where 12187 so far it is the only system on which it is absolutely necessary. 12188 Also no longer need to include libc explicitly. 12189 12190 * amd/amd.c,wire-test/wire-test.c (main): convert IP address to 12191 network-long order before printing it. 12192 12193 * wire-test/wire-test.c (main): also check and report on the IP 12194 address of the local host, since some systems have bad versions of 12195 get_myaddress, or ones that conflict with other versions in 12196 multiple libraries (SunOS 4 and Irix especially). 12197 12198Wed Jul 2 18:19:02 1997 Erez Zadok <ezk@starblazers.soscorp.com> 12199 12200 * scripts/ctl-amd.in: don't use full pathname so killproc() works 12201 better. Also run bsd44 and irix style ps programs. 12202 12203 * aux/macros/check_lib_funcs.m4: bug fixed: used to define usage 12204 of library no matter if it was found or not. 12205 12206Wed Jul 2 02:11:48 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 12207 12208 * aux/macros/check_mnt2_gen_opt.m4: turned back on the checking 12209 for M_* macros, but ensure that <sys/stream.h> is not included at 12210 all so it won't conflict with other M_* macros. 12211 12212Tue Jul 1 21:16:51 1997 Erez Zadok <ezk@mako.cs.columbia.edu> 12213 12214 * conf/mount/mount_irix.c (mount_irix): first arg to mount(2) on 12215 irix should be "spec" (host:/path), not the dir of the mnt point. 12216 12217 * amd/ops_afs.c (afs_lookuppn): bug in enable_default_selectors 12218 fixed. If on, it essentially ignored the setting in a 12219 selector-controlled /defaults if there were 2 or more entries in it. 12220 12221Tue Jul 1 12:23:38 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 12222 12223 * scripts/ctl-{amd,hlfsd}.in (killproc): if failed to find process 12224 using BSD style ps, then try SVR4 style ps. 12225 12226 * include/am_utils.h (amuDebug): renamed Debug macro to amuDebug 12227 etc., to avoid conflicts with similar named macros in <ldap.h>. 12228 12229 * aux/configure.in, amd/info_ldap.c, etc.: put in all the autoconf 12230 support needed for LDAP. Now the code has to be written mostly in 12231 amd/info_ldap.c. 12232 12233 * Included additional patches from Andreas Stolcke 12234 <stolcke@speech.sri.com> to support using the best possible 12235 combination of NFS version (2,3) and protocol (udp,tcp) for any 12236 given host, since it appears that some Irix versions have NFS V3, 12237 but do not support TCP. 12238 12239 * scripts/ctl-amd.in: updated amd control script to look for and 12240 use amd.conf file. 12241 12242Tue Jul 1 00:28:23 1997 Erez Zadok <ezk@lorien.cs.columbia.edu> 12243 12244 * amd/mapc.c (mapc_create): now, each map in the amd.conf can be 12245 initialized off of a different type, or default to cycling through 12246 all maps until one of them matches. 12247 12248Mon Jun 30 20:49:13 1997 Erez Zadok <ezk@lorien.cs.columbia.edu> 12249 12250 * amd/ops_afs.c (afs_readdir): per-map browsing (readdir) done. 12251 if browsable_dirs=yes is set in the map section in amd.conf, that 12252 map will return all entries back to a readdir(2). 12253 12254Sun Jun 29 16:22:11 1997 Erez Zadok <ezk@lorien.cs.columbia.edu> 12255 12256 * rudimentary amd.conf file support included. You may even 12257 override things like os=sos5, to get "backwards" compatibility with 12258 upl102. 12259 12260Sat Jun 28 13:35:02 1997 Erez Zadok <ezk@lorien.cs.columbia.edu> 12261 12262 * amd/conf.c: new file to process amd.conf file. 12263 12264 * amd/get_args.c (get_args): new options -H to print help. 12265 12266 * moved enable_default_selectors to be amd.conf controlled, and 12267 not compiler controlled. 12268 12269 * amd/get_args.c (get_args): new options -F <conf-file> to parse an 12270 amd configuration file. 12271 12272Wed Jun 25 23:15:42 1997 Erez Zadok <ezk@lorien.cs.columbia.edu> 12273 12274 * converted all files that used strcmp() == 0 or != 0 to using 12275 the STREQ() macro. 12276 12277Mon Jun 23 22:31:14 1997 Erez Zadok <ezk@lorien.cs.columbia.edu> 12278 12279 * aux/macros/check_lib_funcs.m4: new M4 macro that can be used to 12280 search for any number of functions in any given library. 12281 12282Mon Jun 23 01:04:23 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 12283 12284 * amd/mapc.c: Included patch from Leif Johansson 12285 <leifj@matematik.su.se> to ensure that systems without an RE 12286 library can compile. 12287 12288 * libamu/mount_fs.c (mount_fs): Included patch from Andreas 12289 Stolcke <stolcke@speech.sri.com>, to ensure that mount options on 12290 table are properly delimited by a comma. 12291 12292 * amd/ops_nfs.c (mount_nfs_fh): Included patch from Andreas 12293 Stolcke <stolcke@speech.sri.com>, to allow users to override the 12294 proto= and vers= mount options. 12295 12296Sun Jun 22 01:00:11 1997 Eric Dana (edana@ncr2.bgs.com) 12297 12298 * conf/nfs_prot/nfs_prot_svr4.h: port completed to 12299 i486-ncr-sysv4.3.03. Assorted source cleanups done. 12300 12301 * include/am_defs.h, aux/macros/mount_headers.m4: don't include 12302 mnttab.h if sys/mnttab.h was already included, because on ncr2, 12303 they contain conflicting entries for struct mnttab. 12304 12305Sat Jun 21 23:52:15 1997 Eric Dana (edana@ncr2.bgs.com) 12306 12307 * aux/macros/check_nfs_prot_headers.m4: added support for ncr2. 12308 12309Fri Jun 20 06:14:17 1997 Erez Zadok <ezk> 12310 12311 * amd/*.c: lots of 64-bit "ugly" ports like casts to long ints. 12312 12313 * aux/macros/struct_nfs_fh.m4: check for "struct nfssvcfh" because 12314 on DU-4.0 it is better than the next one to be picked (nfsv2fh_t). 12315 12316Wed Jun 18 18:59:49 1997 Erez Zadok <ezk@defiant.soscorp.com> 12317 12318 * aux/macros/struct_nfs_fh.m4 (AC_TRY_COMPILE_NFS): check for 12319 nfsv2fh_t before fhandle_t becasue on bsdi2.1 the former is 12320 better. 12321 12322Tue Jun 10 17:06:58 1997 Erez Zadok <ezk@lorien.cs.columbia.edu> 12323 12324 * amd/rpc_fwd.c (fwd_packet): TLI bug fix. if fwdto socket is 12325 NULL, set the maxlen and len fields in netbuf to zero. 12326 12327Wed May 28 22:52:28 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 12328 12329 * scripts/fix-amd-map.in (name): replace all matching patterns on 12330 line. 12331 12332Sun May 25 19:33:41 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 12333 12334 ******************************************************************* 12335 *** Released am-utils-6.0a5 *** 12336 ******************************************************************* 12337 12338Sun May 25 13:37:24 1997 Erez Zadok <ezk@lorien.cs.columbia.edu> 12339 12340 * amd/amq_subr.c (amqproc_getvers_1_svc): amq's RPC service 12341 procedure now returns the full string that amd -v returns. 12342 12343 * amd/get_args.c (get_version_string): new function to return 12344 complete version/info string so it could be used more flexibly. 12345 12346 * amd/am_ops.c (ops_showamfstypes, ops_showfstypes): put the list 12347 of Fs types into a string buffer, rather than a FILE*. 12348 12349 * amd/mapc.c (mapc_showtypes): put the list of map types into a 12350 string buffer, rather than a FILE*. 12351 12352Sun May 25 01:25:36 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 12353 12354 * amd/get_args.c (get_args): amd -v also prints user who built 12355 amd, hostname built on, and date of configuration. 12356 12357Sat May 24 13:40:50 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 12358 12359 * scripts/lostaltmail.conf-sample: sample lostaltmail 12360 configuration file. 12361 12362 * scripts/lostaltmail.in: new script lostaltmail used to redeliver 12363 "lost" mail that hlfsd redirected to a temp location because the 12364 primary home file system of the user was full. 12365 12366 * scripts/amd2sun.in: new script amd2sun. Used to convert Sub 12367 automount maps to amd maps. 12368 12369 * scripts/ctl-hlfsd.in: new script ctl-hlfsd. Used to start, 12370 stop, or restart hlfsd. 12371 12372 * scripts/expn.1: man page for expn command. 12373 12374 * scripts/ctl-amd.in: new script ctl-amd. Used to start, stop, or 12375 restart amd. 12376 12377 * scripts/expn.in: new script expn. Actually taken from David 12378 Muir Sharnoff <muir@idiom.com>. Used by hlfsd's mail re-delivery 12379 script. 12380 12381 * scripts/wait4amd.in: new script wait4amd added. Waits for amd 12382 to come up on a host, and then runs a command (rsh $hostname by 12383 default). 12384 12385 * scripts/Makefile.am: new directory now holds all shell/perl 12386 scripts that belong to am-utils. 12387 12388 * conf/mount/mount_linux.c (parse_opts): new parser for 12389 linux-specific mounts. Handles fs-type specific mount-options 12390 correctly. Currently implemented: msdos, iso9660. 12391 12392 * amd/ops_pcfs.c (pcfs_ops): don't timeout pcfs mounts by default 12393 (fix for linux). 12394 12395 * amd/ops_cdfs.c (cdfs_ops): don't timeout cdfs mounts by default 12396 (fix for linux). 12397 12398 * amd/mapc.c (make_entry_chain): fixed bug that resulted in amd 12399 core dumps upon "ls" of a mount point; an invalid pointer was 12400 being returned and dereferenced. 12401 12402 * port to Linux sparc working! 12403 12404 * hlfsd/homedir.c (hlfsd_diskspace): close file descriptor if 12405 failed to write test file, or else the fd will leak. 12406 12407Sun May 18 00:42:41 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 12408 12409 * amd/info_hesiod.c (hs_strip_our_domain): use strcasecmp() 12410 instead of strcmp(). 12411 12412 * Port to Digital Unix 4.0 (OSF) done. 12413 12414 * hlfsd/hlfsd.c: renamed dirname to dir_name to avoid conflicts 12415 with dirname() function in <string.h> on OSF systems. 12416 12417 * fsinfo/fsi_util.c (set_ether_if): take out extern definition of 12418 inet_addr(). It should come from <arpa/inet.h> instead. 12419 12420 * conf/mtab/mtab_osf.c: fixed macros and added NFS V3 specs. 12421 12422 * include/am_utils.h: renamed FIRST/LAST to AM_FIRST/AM_LAST to 12423 avoid conflicts with DU 4.0 system header. 12424 12425Thu May 15 22:49:12 1997 Erez Zadok <ezk@subzero.cs.columbia.edu> 12426 12427 * libamu/mount_fs.c (mount_fs): pass along NFS version so I can 12428 determine if to include additional options in the mount table file 12429 entry (such as proto=tcp, and vers=3). 12430 12431Thu May 15 00:42:12 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 12432 12433 * libamu/mount_fs.c (mount_fs): include NFS version number in the 12434 mount table options, as well as proto={tcp,udp}. 12435 12436Wed May 14 14:30:19 1997 Erez Zadok <ezk@lorien.cs.columbia.edu> 12437 12438 * NFS V3 code ported to most other systems, so it compiles for V2 12439 and V3 NFS systems. 12440 12441 * NFS VERSION 3 support, first pass. Working for Solaris and 12442 using TCP. 12443 12444Sun May 11 01:14:29 1997 Erez Zadok <ezk@lorien.cs.columbia.edu> 12445 12446 * amq/amq.c: many newline characters were missing from various 12447 stderr printfs. 12448 12449Sat May 10 13:09:06 1997 Erez Zadok <ezk@lorien.cs.columbia.edu> 12450 12451 * conf/nfs_prot/nfs_prot_sunos5.h: protocol defintions for 12452 Solaris, which include NFS V3 support. 12453 12454 * conf/nfs_prot/nfs_prot_default.h: default NFS protocol headers. 12455 12456 * conf/transp/transp_{tli,sockets}.c (get_mount_client): use NFS 12457 protocol version while getting a mount client. 12458 12459 * amd/ops_nfs.c (mount_nfs_fh): set the mount types, mnttab types, 12460 file handle size, and proper file handle based on the correct NFS 12461 version number. 12462 12463 * conf/mount/mount_svr4.c (mount_svr4): support NFS3 mounts under 12464 Solaris and other SVR4 systems. 12465 12466 * amd/ops_nfs.c: store NFS file handle version and version 12467 specific handle in struct fh_cache. 12468 (got_nfs_fh): pick the correct RPC reply based on the NFS version 12469 of the server. 12470 (prime_nfs_fhandle_cache): figure out the right NFS file handle 12471 for a node, but now include NFS protocol version information. 12472 (call_mountd): set the correct version for the mount protocol, 12473 based on the NFS protocol version. 12474 (nfs_init): use the NFS protocol generic structure 12475 am_nfs_handle_t. 12476 12477 * include/am_utils.h: new structure am_nfs_handle_t to contain all 12478 possible versions of NFS file handles. 12479 12480 * amd/srvr_nfs.c (start_ping): ping program performs NFS version 12481 specific pings. 12482 (recompute_portmap): figure out the correct portmap version mount. 12483 (nfs_keepalive): call start_ping() with the correct NFS version. 12484 (find_nfs_srvr): if mount option "vers=" is given, use it. Get 12485 the NFS server version and verify that it is up. 12486 12487 * conf/transp/transp_{tli,sockets}.c (get_nfs_version): a new 12488 function to find the best NFS version for a particular host. 12489 12490 * libamu/amu.h: determine what is the highest version of NFS we 12491 should try. 12492 12493 * include/am_utils.h (NFS_VERSION3): added definition for NFS V3 12494 protocol number. 12495 Added field fs_version to struct fserver, so we can now store the 12496 server protocol version. 12497 12498Fri May 9 01:09:45 1997 Erez Zadok <ezk@lorien.cs.columbia.edu> 12499 12500 * aux/macros/check_field.m4 (AC_MOUNT_HEADERS): map '.' (dot) into 12501 underscores too, so I can test for sub-fields. 12502 12503 * libamu/wire.c: use test that checks for sub-fields of struct 12504 ifreq. 12505 12506Sat May 6 10:20:17 2000 Erez Zadok <ezk@glory.soscorp.com> 12507 12508 * port to BSD/OS 3.0 completed! Many xdr_ functions were broken 12509 into smaller files. M4 macros fixed to test for existence of 12510 file systems using getvfsbyname(). 12511 12512 * amd/sched.c (sigchld): signal handler must waitpid() for all 12513 possible children. 12514 12515 * hlfsd/homedir.c: signal handler must waitpid() for all possible 12516 children. 12517 12518 * aux/macros/check_restartable_signals.m4: new macro to determine 12519 if need to reinstall signal handlers per OS is better than trying 12520 to figure these out based on system macros. 12521 12522Fri May 5 19:23:28 2000 Erez Zadok <ezk@glory.soscorp.com> 12523 12524 * amd/ops_nfs.c (mount_nfs_fh): set nfs_args_t version number. 12525 12526 * amd/ops_afs.c (mount_toplvl): set nfs_args_t version number. 12527 12528 * amd/ops_nfs.c (mount_nfs_fh): process nfs mount option resvport 12529 (must be supplied for bsdi 3.0) 12530 12531 * libamu/wire.c: use HAVE_FIELD_STRUCT_IFREQ_IFR_ADDR (and 12532 associated new macro) for determining the right way to compute the 12533 size of the interface structure. 12534 12535Fri Apr 11 15:56:13 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 12536 12537 * aux/configure.in: need to include libc before libnsl if 12538 get_myaddress() is available because on irix libnsl has a buggy 12539 get_myaddress(). 12540 12541 * include/am_defs.h: make sure REINSTATE_SIGNAL_HANDLER is defined 12542 on Irix 6 (an SVR4 variant) 12543 12544Thu Mar 27 02:28:40 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 12545 12546 ******************************************************************* 12547 *** Released am-utils-6.0a4 *** 12548 ******************************************************************* 12549 12550Wed Mar 26 21:15:36 1997 Erez "HWank1" Zadok <ezk@lorien.cs.columbia.edu> 12551 12552 * amd/amq_subr.c (ok_security): turned off insecure code unless 12553 user explicitly runs configure --enable-amq-mount. 12554 12555 * hlfsd/hlfsd.c (main): use new protoypes dor create_nfs_service(). 12556 12557 * amd/nfs_start.c (mount_automounter): use code that separately 12558 creates the NFS and the amq service. Register tcp and udp 12559 services for amd. 12560 12561 * conf/transp/transp_*.c (create_amq_service): new function to 12562 separately create the amq service for amd. Simplified prototypes 12563 for create_nfs_service(). 12564 12565Wed Mar 19 20:40:56 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 12566 12567 ******************************************************************* 12568 *** Released am-utils-6.0a3 *** 12569 ******************************************************************* 12570 12571Wed Mar 19 17:49:18 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 12572 12573 * new port: rs6000-ibm-aix3.2.5 and rs6000-ibm-aix4.1.5.0. Lots 12574 of small changes to support these two. 12575 12576Wed Mar 19 14:33:30 1997 Erez Zadok <ezk@grande.cs.columbia.edu> 12577 12578 * conf/umount/umount_default.c (umount_fs): bug: unlock_mntlist() 12579 should run if MOUNT_TABLE_ON_FILE, not otherwise. 12580 12581Mon Mar 17 22:02:43 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 12582 12583 * hlfsd/hlfsd.c (main): fill in fhsize field if exists 12584 (freebsd-2.2). 12585 12586 * amd/ops_{nfs,afs}.c (mount_toplvl): fill in fhsize field if 12587 exists (freebsd-2.2). 12588 12589Sat Mar 15 19:37:48 1997 Erez "HWank1" Zadok <ezk@shekel.mcl.cs.columbia.edu> 12590 12591 * new port: i386-unknown-freebsd2.2. FreeBSD 2.2 and higher 12592 changed the filehandle type in struct nfs_args from nfsv2fh_t to 12593 u_char. 12594 12595Sat Mar 14 10:11:03 1997 Erez "HWank1" Zadok <ezk@lorien.cs.columbia.edu> 12596 12597 * SHARED LIBRARIES: too many changes to list individually. Now, 12598 libamu can be built as a shared library, and other programs link 12599 with it. 12600 12601Tue Mar 11 22:24:09 1997 Erez "HWank1" Zadok <ezk@lorien.cs.columbia.edu> 12602 12603 * aux/macros/opt_shared.m4: new macro for setting options for 12604 building shared am-utils libraries. 12605 12606Sun Mar 9 19:17:46 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 12607 12608 * fixmount/fixrmtab: cleaned up the script. 12609 12610 * fixmount/Makefile.am (EXTRA_DIST): adde $(sbin_SCRIPTS) so that 12611 fixrmtab gets distributed too. 12612 12613 * conf/nfs_prot/nfs_prot_bsdi2.h: added support for MOUNTPROC_DUMP. 12614 Added extern for xdr_mountlist(). 12615 12616 * aux/configure.in: trimmed down many tests for MNT2_GEN_OPT, 12617 MNT2_NFS_OPT, and MNTTAB_OPT that were not referenced anywhere in 12618 the sources. 12619 12620Sat Mar 8 00:23:58 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 12621 12622 * fixmount/hlfsd ported to bsd44, hpux, and linux systems. 12623 12624 * aux/macros/check_fixmount_style.m4: add check for bsd44 systems. 12625 12626 * conf/fixmount/fixmount_default.c: use lockf() if flock() is 12627 unavailable. 12628 12629 * include/am_defs.h: include <string.h> even if don't have 12630 STDC_HEADERS defined (sunos4). 12631 (seteuid): define seteuid() to be setresuid() for systems that 12632 have but not the other (hpux). 12633 12634 * aux/macros/check_extern.m4: test should include <strings.h>. 12635 12636Tue Mar 4 17:16:52 1997 Erez "HWank1" Zadok <ezk@lorien.cs.columbia.edu> 12637 12638 * lib/xutil.c (debug_option): moved from amd/getargs.c to this 12639 more proper file. 12640 12641 * include/am_utils.h: put in structure for debug options, for all 12642 progams to use. 12643 12644 * amd/get_args.c: moved structure for debug options out. 12645 12646Sun Mar 2 00:13:07 1997 Erez "HWank1" Zadok <ezk@lorien.cs.columbia.edu> 12647 12648 * ported fixmount. 12649 12650 * lib/ualarm.c: replacement function for systems that don't have a 12651 ualarm(). 12652 12653 * ported fsinfo. 12654 12655Sun Mar 1 10:23:34 1997 Erez "HWank1" Zadok <ezk@lorien.cs.columbia.edu> 12656 12657 * ported mk-amd-map. 12658 12659 * buildall: added -K option to buildall, to run mkconf. 12660 12661Fri Feb 28 01:10:25 1997 Erez "HWank1" Zadok <ezk@shekel.mcl.cs.columbia.edu> 12662 12663 ******************************************************************* 12664 *** Released am-utils-6.0a2 *** 12665 ******************************************************************* 12666 12667Thu Feb 27 13:58:59 1997 Erez "HWank1" Zadok <ezk@shekel.mcl.cs.columbia.edu> 12668 12669 * all *.[hcyl] files: add copyright line. 12670 12671 * aux/macros/check_mount_type.m4: test for mount type for 12672 linux-like systems, by checking for loadable or statically linked 12673 kernel filesystem modules. 12674 12675 * aux/macros/check_mnttab_type.m4: test for mount table entry 12676 for linux-like systems, by checking for loadable or statically 12677 linked kernel filesystem modules. 12678 12679 * aux/configure.in: pcfs filesystems can use vfat type (linux) 12680 12681 * aux/macros/check_fs_mntent.m4: test for filesystem existence for 12682 linux-like systems, by checking for loadable or statically linked 12683 kernel filesystem modules. 12684 12685 * conf/trap/trap_hpux.h: ugly hack added because of stupide HPUX 12686 9.0 header files. This should be removed when HPUX 9.0 is deemed 12687 defunct. 12688 12689 * aux/acconfig.h: set an undefined variable for having an extern 12690 to clnt_sperrno(). 12691 12692 * include/am_defs.h: define extern for clnt_sperrno() if needed. 12693 12694 * aux/configure.in: test for extern clnt_sperrno(). 12695 12696 * aux/macros/check_nfs_fh_dref.m4: HPUX's NFS fhandle dref is 12697 similar to irix. 12698 12699 * aux/macros/check_mount_style.m4: use mount helper on HPUX. 12700 12701 * aux/macros/check_mtype_type.m4: hpux's mount type is a char*, 12702 not integer (but may be mapped to one later). 12703 12704 * conf/mount/mount_hpux.c (mount_hpux): HPUX has confusing header 12705 files. They have mount(2) and vfsmount(2) which don't take same 12706 arguments, and they have string mount types MNTTYPE_* as well as 12707 integer types MOUNT_*. So I need this new mount function to map 12708 from string types to integer types for the vfsmount() function. 12709 12710 * conf/trap/trap_hpux.h (MOUNT_TRAP): instead of calling 12711 vfsmount(), call mount_hpux(). 12712 12713Thu Feb 27 03:34:14 1997 Erez "HWank1" Zadok <ezk@okeeffe.cs.columbia.edu> 12714 12715 * lib/mount_fs.c (mnt_flags): make sure SYNC option is on only if 12716 both MNTTAB_OPT_SYNC and MNT2_GEN_OPT_SYNC are defined. 12717 12718Thu Feb 27 00:26:00 1997 Erez "HWank1" Zadok <ezk@shekel.mcl.cs.columbia.edu> 12719 12720 * conf/nfs_prot/nfs_prot_hpux.h: NFS protocol definitions for 12721 hpux. 12722 12723 * include/am_defs.h: no need to include rpc/auth.h or rpc/clnt.h. 12724 12725 * aux/configure.in: no need to test for rpc/auth.h and rpc/clnt.h. 12726 12727 * buildall: added ability to configure using other shells than 12728 /bin/sh, on those systems where /bin/sh is buggy or limited 12729 (HPUX). 12730 12731 * aux/macros/struct_nfs_fh.m4: reinstated the macro but have it 12732 defined am_nfs_fh, and also test for plain typedef "nfs_fh". 12733 12734 * aux/acconfig.h: #undef am_nfs_fh, which is being defined by a 12735 reinstated macro. 12736 12737 * aux/configure.in: check for <nfs/export.h> 12738 12739 * include/am_defs.h: include <nfs/export.h> (HPUX) if exists. 12740 12741 * aux/macros/try_compile_nfs.m4: include <nfs/export.h> (HPUX) if 12742 exists. 12743 12744 * aux/macros/mount_headers.m4 (define): removed some non-working 12745 (on HPUX) code that attempts to recreate the fhandle_t rather than 12746 load it up from system headers. Also added some NFS protocol 12747 header inclusion. include <nfs/export.h> (HPUX) if exists. 12748 12749Wed Feb 26 00:32:35 1997 Erez "HWank1" Zadok <ezk@okeeffe.cs.columbia.edu> 12750 12751 * aux/macros/mount_headers.m4 (define): Use M4 changequote to 12752 ensure [] brackets are correctly used. 12753 12754 * aux/macros/expand_cpp_{string,hex,int}.m4: encapsulate 12755 multi-line M4 inclusions in []. 12756 12757Tue Feb 25 22:19:44 1997 Erez "HWank1" Zadok <ezk@shekel.mcl.cs.columbia.edu> 12758 12759 * conf/mtab/mtab_bsd.c (mnt_dup): use statfs field f_fstypename if 12760 it exists. 12761 12762 * aux/acconfig.h: HAVE_FIELD_STRUCT_STATFS_F_FSTYPENAME, new 12763 config.h macro for field f_fstypename of struct statfs. 12764 12765 * aux/configure.in: testing for field f_fstypename field of struct 12766 statfs (NetBSD). 12767 12768 * aux/acconfig.h: moved all of the "static" definitions out to a 12769 fixed file called include/am_defs.h. Added to all */Makefile.am 12770 files a dependency on am_defs.h. Created am_defs.h of course, and 12771 then added #include <amd_defs.h> to all of the source and header 12772 files that required it. 12773 12774Mon Feb 24 01:27:02 1997 Erez Zadok <ezk@defiant.soscorp.com> 12775 12776 * aux/acconfig.h: two more externals for xdr functions that may be 12777 implemented by libamu. 12778 12779 * conf/nfs_prot/nfs_prot_bsdi2.h: added missing RPC and XDR 12780 definitions. 12781 12782Sun Feb 23 15:25:26 1997 Erez "HWank1" Zadok <ezk@shekel.mcl.cs.columbia.edu> 12783 12784 * buildall (default): added -D option for turning on even stricker 12785 developer options. 12786 12787 * */Makefile.am: make sure @AMU_NFS_PROT_HEADERS@ is used to 12788 determine dependencies on optional NFS protocol headers. 12789 12790 * aux/acconfig.h: define and use HAVE_NFS_PROT_HEADERS as needed. 12791 12792 * aux/macros/check_nfs_prot_header.m4: new test to determine what 12793 NFS protocol headers to use. 12794 12795 * conf/nfs_prot/nfs_prot_{irix6,sunos4,bsdi2}.h: new headers to 12796 complete missing system headers for NFS protocol definitions. 12797 12798Sun Feb 16 15:58:42 1997 Erez "HWank1" Zadok <ezk@vir.cs.columbia.edu> 12799 12800 * amd/ops_nfs.c (mount_nfs_fh): encapsulated some more code in 12801 #ifdef's as needed. 12802 12803 * amd/ops_afs.c (mount_toplvl): make sure TIMEO/RETRANS code is 12804 suitable #ifdef'ed. 12805 12806 * include/am_compat.h: a couple more mnttab options 12807 (timeo/retrans) setting just in case. 12808 12809 * amd/autil.c (host_normalize): make sure hostent->h_name is 12810 passed a non-const char *. 12811 12812 * conf/mount/mount_linux.c (mount_linux): cleaned up a block of code. 12813 12814 * {lib,amq,amd}/*.c (many functions): cast xdr_entry to 12815 XDRPROC_T_TYPE. 12816 12817 * lib/nfs_prot_svc.c (nfs_program_2): cast xdr_entry to 12818 XDRPROC_T_TYPE. 12819 12820 * lib/nfs_prot_xdr.c (xdr_entry): cast xdr_entry to 12821 XDRPROC_T_TYPE. 12822 12823 * lib/wire.c (getwire): Make sure safe assignment from const to 12824 none is done. 12825 12826Sat Feb 15 19:38:51 1997 Erez "HWank1" Zadok <ezk@vir.cs.columbia.edu> 12827 12828 * aux/macros/expand_cpp_int.m4: new macro for expanding integers. 12829 12830 * aux/configure.in: added linux/fs.h support in configure and 12831 several M4 macros. 12832 12833 * conf/mount/mount_linux.c (mount_linux): use macro instead of 12834 "ugly" fixed hex number for mount() arguments. 12835 12836Sat Feb 15 02:09:47 1997 Erez "HWank1" Zadok <ezk@lorien.cs.columbia.edu> 12837 12838 * amd/info_hesiod.c: removed macro HAVE_HS_ZONE_TRANSFER and 12839 turned all of its code always on. That code always seems to 12840 compile, as long as you have hesiod and libresolv. 12841 12842 * amd/mapc.c: removed macro HAVE_HS_ZONE_TRANSFER and turned all 12843 of its code always on. 12844 12845 * aux/configure.in: removed superfluous test for hs_zone_transfer 12846 function (will never find it because it is an amd-internal 12847 function). 12848 12849 * amd/mapc.c (maptypes): must used correct new name for am-utils' 12850 hesiod initialization function: hesiod_am_init. 12851 12852 * amd/info_hesiod.c (hesiod_am_init): renamed hesiod_init to 12853 hesiod_am_init so as not to conflict with libhesiod's 12854 hesiod_init() function. 12855 12856 * aux/configure.in: added test and explicit inclusion of 12857 libresolv.a for later resolution of library references with 12858 libhesiod. 12859 12860 * aux/macros/opt_cppflags.m4: new file. configure/compile C 12861 preprocessor flags. 12862 12863 * aux/macros/opt_libs.m4: new file. configure/compile library 12864 flags. 12865 12866 * Makefile.am (EXTRA_DIST_AUX): include two new macros 12867 opt_cppflags.m4 and opt_libs.m4. 12868 12869 * aux/configure.in: test for libhesiod needs to additional 12870 libresolv to link completely. Additional configuration time 12871 options added for setting initial CPPFLAGS and LIBS. 12872 12873Tue Feb 10 02:15:40 1997 Erez "HWank1" Zadok <ezk@lorien.cs.columbia.edu> 12874 12875 ******************************************************************* 12876 *** Released am-utils-6.0a1 *** 12877 ******************************************************************* 12878 12879Thu Feb 6 02:55:19 1997 Erez "HWank1" Zadok <ezk@shekel.mcl.cs.columbia.edu> 12880 12881 * amd/info_ndbm.c (ndbm_search,ndbm_init): fixed the code so that 12882 it works on freebsd, where they map dbm_pagfno a non-existing 12883 macro on purpose, to force you to port the code to Berkeley DB. 12884 12885Fri Jan 31 01:35:09 1997 Erez "HWank1" Zadok <ezk@lorien.cs.columbia.edu> 12886 12887 * amd/ops_afs.c (mount_toplvl): added a sleep(1) right before the 12888 actual mount_toplvl, to avoid some possible race conditions. 12889 12890Thu Jan 30 02:31:49 1997 Erez "HWank1" Zadok <ezk@lorien.cs.columbia.edu> 12891 12892 * amd/rpc_fwd.c: removed all TLI (HAVE_T_OPEN) code. 12893 12894Wed Jan 29 18:25:07 1997 Erez "HWank1" Zadok <ezk@lorien.cs.columbia.edu> 12895 12896 * lib/wire.c (getwire): removed HAVE_T_OPEN (TLI code) 12897 12898 * amd/amd.c (main): fix local address using htonl(). Free up 12899 buffers allocated by netdir_*() functions. 12900 12901Wed Jan 22 23:53:24 1997 Erez "HWank1" Zadok <ezk@lorien.cs.columbia.edu> 12902 12903 * amd/fix-amd-map.in: new script that will convert old-style amd 12904 maps to new one. 12905 12906Tue Jan 21 01:18:16 1997 Erez "HWank1" Zadok <ezk@lorien.cs.columbia.edu> 12907 12908 * FIRST AMD IN AM-UTILS FINALLY WORKS (mounts itself as toplvl, 12909 and replies back to simple nfs/link type mount queries). 12910 12911 * conf/mtab/mtab_svr4.c: reorganized the code in this file to be 12912 easier to read, and fixed a few bugs with un/setting the lock file 12913 descriptor. 12914 12915Wed Jan 8 15:27:49 1997 Erez "HWank1" Zadok <ezk@lorien.cs.columbia.edu> 12916 12917 * amd/sched.c: removed HAS_SVR3_SIGNALS code to handle older 12918 signals in Svr3 systems. Only stellix ever used this. 12919 12920 * amd/rpc_fwd.c (fwd_reply): removed all code that was triggered 12921 by DYNAMIC_BUFFERS, since it was not in use. 12922 12923Tue Jan 7 00:45:59 1997 Erez "HWank1" Zadok <ezk@lorien.cs.columbia.edu> 12924 12925 * amd/opts.c (eval_opts): removed AMD_COMPAT code. Amd no longer 12926 takes '=' sign as old selector. Fix your maps. 12927 (deslashify): removed APOLLO code that treated two '//' as one. 12928 12929Sun Jan 5 01:25:09 1997 Erez "HWank1" Zadok <ezk@lorien.cs.columbia.edu> 12930 12931 * amd/ops_nfsx.c (nfsx_init): removed HARD_NFSX_ERRORS, code which 12932 was not used. It made any submount error fail the whole group. 12933 12934 * amd/ops_nfs.c (make_nfs_auth): removed code dependent on 12935 HAS_NFS_QUALIFIED_NAMES. 12936 (mount_nfs_fh): removed macro for NFS_ARGS_NEEDS_PATH, assuming it 12937 is never on. So code that was triggered by #ifndef 12938 NFS_ARGS_NEEDS_PATH (osf1, aix3, and bsd44 variants) may have to 12939 be fixed later. 12940 Removed all ULTRIX_HACK code. Ultrix is DEAD! 12941 removed all PRESET_AC code, which was only on for Linux to preset 12942 the attribute cache values (otherwise they default to zero). 12943 (nfs_umounted): revobed KICK_KERNEL code (IRIX systems). Will 12944 have to fixed up later. 12945 (mount_nfs_fh): removed code that was never included, which 12946 attempted to set the port on which amd's nfs mounts on. This 12947 isn't supported by the ping algorithm yet. In any case, it is all 12948 done in nfs_init(). 12949 12950 * amd/srvr_nfs.c (find_nfs_srvr), amd/ops_nfs.c (mount_nfs_fh): 12951 removed HAS_TCP_NFS code. The whole use of NFS V.3 with TCP or 12952 specially hacked NFS V.2 that uses TCP (BSD 4.4 variants) will 12953 have to be addressed later. 12954 12955 * amd/nfs_subr.c (nfsproc_getattr_2): removed all code dependent 12956 on PRECISE_SYMLINKS. 12957 12958 * amd/mapc.c (mapc_meta_search): removed code that depended on 12959 HAS_DEPOT. It is known buggy code. The whole DEPOT support needs 12960 to be rethought. 12961 (mapc_add_kv): ported code to use standard regular expression 12962 (regexp) library. 12963 12964 * amd/{map.c,ops_sfs.c,ops_ufs.c}: removed all code dependent on 12965 FLUSH_KERNEL_NAME_CACHE and the macro itself. 12966 12967Sat Jan 4 15:46:58 1997 Erez "HWank1" Zadok <ezk@lorien.cs.columbia.edu> 12968 12969 * amd/map.c (exported_ap_alloc): removed all code triggered by 12970 SHRINK_EXPORTED_AP and the macro itself. 12971 12972 * amd/info_nis.c: removed HAS_NIS_RELOAD macro, and left the code 12973 in all the time. Assuming that there is always NIS realod 12974 available. 12975 (yp_all_fixed): removed code for BROKEN_YP_ALL. If your yp_all() 12976 function is broken such that it does not release filedescriptors 12977 it created, then you are hosed. Get a fix for yp_all from your 12978 vendor or switch operating systems. 12979 12980Tue Dec 31 15:34:36 1996 Erez "HWank1" Zadok <ezk@lorien.cs.columbia.edu> 12981 12982 * amd/info_hesiod.c: renamed macro HAS_HESIOD_RELOAD to 12983 HAVE_HS_ZONE_TRANSFER. 12984 12985Mon Dec 30 17:33:23 1996 Erez "HWank1" Zadok <ezk@lorien.cs.columbia.edu> 12986 12987 * amd/{nfs,host}_ops.cremoved INFORM_MOUNTD macro, so its code is 12988 always included. We should always try to inform the remove mount 12989 daemon of mounts we performed. If we want an option for this, it 12990 should be a run-time option. 12991 12992 * amd/host_ops.c: removed all that optionally did not make the 12993 directory mount points for amd. 12994 12995 * HOST_EXEC code removed from everywhere. There is no indication 12996 that it was used anywhere. If it needs to be used, then a 12997 run-time switch should control it. 12998 12999Thu Dec 26 00:06:52 1996 Erez "HWank1" Zadok <ezk@lorien.cs.columbia.edu> 13000 13001 * amd/*_ops.c: removed all references to mntent_t's fields 13002 mnt_freq and mnt_passno, since they are no longe rused (and never 13003 have been). 13004 13005 * amd/am_ops.c: removed function sunos4_match, which was off 13006 anyway. This was one of the places where an '=' sign was allowed 13007 as an assignment operator (which is now ':='). 13008 13009 * amd/afs_ops.c (afs_bgmount): removed SUNOS4_COMPAT code which 13010 was off anyway. This was one of the places where an '=' sign was 13011 allowed as an assignment operator (which is now ':='). 13012 13013Tue Dec 24 01:53:52 1996 Erez "HWank1" Zadok <ezk@lorien.cs.columbia.edu> 13014 13015 * amq/amq.c: ported to am-utils. Working. 13016 13017 * conf/mount/mount_svr4.c (mount_svr4): changed mount type on svr4 13018 to be string, as it should be (rather than a string mapped to int 13019 and back mapped to string). 13020 13021Sun Dec 22 13:26:05 1996 Erez "HWank1" Zadok <ezk@lorien.cs.columbia.edu> 13022 13023 * lib/mount_fs.c (mount_fs): removed MNTINFO_PREF code. 13024 13025 * lib/umount_fs.c: split this into three files: default, osf, and 13026 bsd44, that are in conf/umount/umount_*.c. 13027 13028Thu Dec 19 17:33:46 1996 Erez "HWank1" Zadok <ezk@lorien.cs.columbia.edu> 13029 13030 * aux/configure.in, aux/aclocal.m4, aux/acconfig.h: added new 13031 macro to automatically figure out if an external definition for 13032 sys_errlist[] exists. 13033 13034 * lib/xutil.c (xfree): removed "#undef free" because it's not 13035 needed there. Any system that redefines free() needs help. 13036 13037 * conf/mtab/mtab_file.c (REWRITE_MTAB_IN_PLACE): removed code that 13038 was dependent on REWRITE_MTAB_IN_PLACE. It does not appear to be 13039 in active use anywhere. If added later, it should be a run-time 13040 configuration option. 13041 13042 * conf/mtab/mtab_mach3.c: removed code that was #ifdef'ed not to 13043 be MOUNT_TABLE_ON_FILE, since mach2 always stores its mount tables 13044 in a file in /etc. 13045 13046 * lib/util.c (str3cat): removed _AIX code. AIX should have a 13047 working realloc, or else find a cleaner solution to this. 13048 (mkdirs): removed SUNOS4_WORKAROUND code. This was to do a sync() 13049 after immediately making directories so that fsck will be able to 13050 fix the filesystem in the event of an immediate crash. This was 13051 because a bug in UFS which is fixed by now. 13052 13053 * lib/hutil.c (domain_strip): removed PARTIAL_DOMAINS triggered 13054 code. Does not appear to be on and used anywhere. 13055 (dofork): removed MACH3 code, b/c mach3 NFS bugs are fixed by now. 13056 13057 * lib/resvport.c: split the binding of reserved ports code to a 13058 separate file. A #define (HAVE_T_OPEN) separates the TLI (SVR4) 13059 from the BSD code. 13060 13061Thu Dec 19 02:08:35 1996 Erez "HWank1" Zadok <ezk@shekel.mcl.cs.columbia.edu> 13062 13063 * lib/Makefile.am (amu_LIBADD): includs @LIBOBJS@ now, auto-filled 13064 in by automake and configure, for optional sources that need to be 13065 built as part of libamu.a. 13066 13067 * aux/aclocal.m4: Make sure AC_CHECK_MOUNT_STYLE adds mountutil.o 13068 to LIBOBJS. 13069 13070 * lib/memcmp.c (memcmp): new file added to replace a possible bad 13071 implementation of memcmp. 13072 13073Wed Dec 18 22:20:23 1996 Erez "HWank1" Zadok <ezk@shekel.mcl.cs.columbia.edu> 13074 13075 * converted the sources to use memset/memmove/memcmp instead of 13076 bzero/bcopy/bcmp. 13077 13078 * ran all sources through gnu Indent w/ options specified in 13079 aux/amindent. 13080 13081Wed Dec 11 22:19:29 1996 Erez "HWank1" Zadok <ezk@shekel.mcl.cs.columbia.edu> 13082 13083 * At this point the initial generation of config.h via autoconf and 13084 some preliminary makefiles via automake is done. I will not begin 13085 modifying sources, so it's a good time to document from here. 13086 13087Wed Dec 10 22:19:29 1996 Erez "HWank1" Zadok <ezk@shekel.mcl.cs.columbia.edu> 13088 13089 ******************************************************************* 13090 *** Initial ChangeLog Entry *** 13091 ******************************************************************* 13092