12014-10-28 Christos Zoulas <christos@zoulas.com> 2 3 ******************************************************************* 4 *** Released am-utils-6.2 *** 5 ******************************************************************* 6 7 * add ylwrap.amd, sick and tired of patching broken ylwrap. 8 92014-09-05 Christos Zoulas <christos@zoulas.com> 10 11 * factor out the size check for both readdir methods 12 (raven at themaw.net) 13 142014-09-03 Christos Zoulas <christos@zoulas.com> 15 16 * configure test for 64 bit xdr function (raven at themaw.net) 17 182014-09-01 Christos Zoulas <christos@zoulas.com> 19 20 * bug fix from raven at themaw.net to prevent writing v3 handle 21 to a v2 structure. 22 232014-07-21 Christos Zoulas <christos@zoulas.com> 24 25 * fix permission problems with access 26 * auto_nfs_version = 3 now works for me. 27 282014-07-20 Christos Zoulas <christos@zoulas.com> 29 30 * refresh some autoconf files 31 * force autoconf version since earlier versions don't work 32 * changes from raven at themaw.net to support NFSv3 for automounted 33 toplevel filesystems presented to the list in May. A few bug fixes 34 and integration changes by me. The code now works well enough to 35 mount the filesystem with NFSv3 and automount children but readdir 36 does not work yet (so no listing of automounted filesystems). 37 The new code is not enabled by default. To enable use 38 auto_nfs_version = 3 39 in your configuration file. 40 412014-03-26 Christos Zoulas <christos@zoulas.com> 42 43 From Ian Kent <ikent@redhat.com> 44 45 * use mktemp in scripts/fixrmtab 46 * fix documentatio nits 47 * [linux] Add ext2, ext3, ext4 specific mount options 48 * fix tcpwrappers (hosts.{allow,deny} problems for specific host 49 entries 50 512014-03-20 Christos Zoulas <christos@zoulas.com> 52 53 54 * don't background autofs umount 55 * avoid fh NULL dereference on umount 56 * handle ENOENT umount return for autofs mounts 57 * fix error message in get_nfs_version 58 * fix debug log deadlock 59 * [linux] retry umount on EBUSY 60 * handle failed umount on exit 61 622014-03-09 Christos Zoulas <christos@zoulas.com> 63 64 * Remove BSD advertising clause. 65 * Remove expn program which is not used by anything 66 672013-12-05 Christos Zoulas <christos@zoulas.com> 68 69 * Change the way we handle multiple lex scanners and yacc parsers 70 in a single program. Our old patch to ylwrap does not work anymore 71 because the bison parsers need shared symbols that start with yy 72 and we can't easily select which ones work. So now we use -P and 73 -p to let lex and yacc do the work for us. This requires a patch 74 to ylwrap, but it is smaller. 75 76 772013-12-05 Christos Zoulas <christos@zoulas.com> 78 79 * Change the way we handle multiple lex scanners and yacc parsers 80 in a single program. Our old patch to ylwrap does not work anymore 81 because the bison parsers need shared symbols that start with yy 82 and we can't easily select which ones work. So now we use -P and 83 -p to let lex and yacc do the work for us. This requires a patch 84 to ylwrap, but it is smaller. 85 862013-05-14 Christos Zoulas <christos@zoulas.com> 87 88 * update to handle new autoconf and regen files 89 902012-11-23 Christos Zoulas <christos@zoulas.com> 91 92 * recognize mountport=, noacl options 93 * simplify the bootstrap process, by forcing 94 all the files to be rebuild with autoreconf -f - i 95 962012-10-03 Christos Zoulas <christos@zoulas.com> 97 98 * add missing ops_nfs4.c to the Makefile.am 99 1002012-09-14 Christos Zoulas <christos@zoulas.com> 101 102 * add locking option handling for lustre 103 * fix noatime, nodiratime, mandlock for linux 104 1052012-07-25 Christos Zoulas <christos@zoulas.com> 106 107 * bug fixes for lustre rhost parsing 108 1092012-06-27 Christos Zoulas <christos@zoulas.com> 110 111 * Disable 1/2-baked sun map support to avoid SIGSEGV 112 1132012-06-16 Christos Zoulas <christos@zoulas.com> 114 115 ******************************************************************* 116 *** Released am-utils-6.2-rc1 *** 117 ******************************************************************* 118 119 * Fix libtool.m4 to work with later versions of autoconf. 120 * In buildall, use eval so that quoted strings work 121 * Centralize nfs version checking function, and introduce 122 new configuration variable nfs_vers_ping, which is the 123 max version we ping for. This is not documented yet, because 124 there might be a better way separate the max version we can 125 use vs the max version we ping for. 126 1272012-06-09 Christos Zoulas <christos@zoulas.com> 128 129 * fix issue with parsing nfsv4 security option strings 130 1312012-05-01 Christos Zoulas <christos@zoulas.com> 132 133 * Handle EPERM return from v4 file handles 134 in old linux kernels 135 1362012-03-09 Christos Zoulas <christos@zoulas.com> 137 138 * fix linux autofs detection 139 * fix wrong types in new amq mount xdr processing 140 1412012-01-25 Christos Zoulas <christos@zoulas.com> 142 143 * FreeBSD portability fixes 144 1452012-01-23 Christos Zoulas <christos@zoulas.com> 146 147 * Avoid type punned warnings 148 1492011-12-29 Christos Zoulas <christos@zoulas.com> 150 151 * fix bug I introduced in get_nfs_version that caused it to return 0 152 * add direct support for ext{2,3,4} 153 1542011-12-15 Christos Zoulas <christos@zoulas.com> 155 156 * Include <linux/fs.h> on linux, to grab extra mount flags 157 * Add support for lustre 158 1592011-11-28 Christos Zoulas <christos@zoulas.com> 160 161 * For nfsl mounts, match against either the short local 162 host name or the fqdn name. 163 1642011-10-06 Christos Zoulas <christos@zoulas.com> 165 166 * Add NFSv4 support (loosely based on Ramya's code). 167 Currently if the NFSv4 mount fails with ENOENT we fail 168 back to NFSv3, unless -DNO_FALLBACK. 169 * Replace strdup with xstrdup. It is not nice to replace 170 system functions with ones that behave differently. 171 * Add various consistency checks (caller function checks 172 variable for NULL, but callee does not). 173 * Fix error handling in various paths. 174 * Don't check before using XFREE(). free(NULL) works. 175 1762011-09-15 Christos Zoulas <christos@zoulas.com> 177 178 * amq -i addition (prints info about the map files) 179 1802011-09-14 Christos Zoulas <christos@zoulas.com> 181 182 * Solaris OS and compiler fixes from: 183 Hofmann, Frank <Frank.Hofmann@morganstanley.com> 184 Sayle, Alex <Alex.Sayle@morganstanley.com> 185 - (void)&var generates warnings, removed 186 - __inline is invalid, changed with inline 187 - <sys/socket.h> and other headers have extra dependendcies 188 ` 1892011-08-11 Christos Zoulas <christos@zoulas.com> 190 191 * fix potential buffer overflow in expand_error() 192 (Richard Kettlewell). Does not seem to be exploitable. 193 194 * simplify %option parsing to appease ancient flex. 195 1962011-06-21 Christos Zoulas <christos@zoulas.com> 197 198 * add support for linux autofs version 5 (untested) 199 2002011-06-18 Christos Zoulas <christos@zoulas.com> 201 202 * roll back to an older version of libtool that works 203 204 * newer versions of config.guess and config.sub 205 206 * minor fixes to buildall 207 2082011-05-19 Christos Zoulas <christos@zoulas.com> 209 210 * m4/macros/libtool.m4: for AIX AC_LANG_PROGRAM is incorrectly 211 used and the latest autoconf gives an error. For now just 212 quote it. 213 214 * configure.in: Fedora Core 15 and RedHat 6 now don't define 215 af_family_t in <linux/socket.h>, but in <bits/sockaddr.h>. 216 Include <sys/socket.h> so that we get <bits/sockaddr.h> 217 indirectly. This caused the <linux/nfs_mount.h> detection 218 test to fail. 219 2202010-11-24 Erez Zadok <ezk@fsl.cs.sunysb.edu> 221 222 * m4/macros/os_cflags.m4: for linux, define _GNU_SOURCE (to get 223 definitions for O_LARGEFILE and more). 224 2252010-11-20 Christos Zoulas <christos@zoulas.com> 226 227 * Update news items, add release readme, mark as rc1 228 229 * Fix addopts code to work with options that are key=value 230 when the built-in hasmntopt() code is not used. The problem 231 was that the code passed "key=" to hasmntopt not "key". 232 2332009-12-10 Christos Zoulas <christos@zoulas.com> 234 235 * Copy all fields of the am_opts structure 236 When we introduced am_loc we also added a function to 237 create a duplicate of an am_opts structure. As it turns 238 out, that only made a partial copy of the struct and some 239 fields (e.g. opt_cache) was left blank in the new structure. 240 Unfortunately any code that was checking the options 241 through the mntfs structure was mislead by the partial 242 copy: caching was disabled completely, for example, and 243 since browsing relies on caching being enabled it wasn't 244 working either. 245 From: Krisztian Kovacs <Kris.Kovacs@morganstanley.com> 246 247 * Initialize RPC authentication flavor to AUTH_UNIX instead 248 of zero. RHEL 5 uses version 6 of the mount_arg structure 249 that includes the desired RPC authorization flavour. 250 Unfortunately amd initializes that value to zero, meaning 251 AUTH_NULL, resulting in all NFS servers denying operations. 252 From: Krisztian Kovacs <Kris.Kovacs@morganstanley.com> 253 254 * Make sure to remove nodes in the proper order when going 255 down. Depending on what order the nodes got created it's 256 possible that the parent of a node has a bigger am_mapno 257 (index in exported_ap[]) so that it gets freed before 258 its child while the child's am_parent pointer is still 259 pointing to the already freed block of memory. 260 This change makes sure that umount_exported() cleans up 261 all children of a node first before freeing the node. 262 From: Krisztian Kovacs <Kris.Kovacs@morganstanley.com> 263 264 * Fix Linux-specific stuff in ops_tmpfs.c 265 AUTOFS_TMPFS_FS_FLAGS is defined only in the Linux-specific 266 conf_linux.c file, so it cannot be built on Solaris. 267 From: Krisztian Kovacs <Kris.Kovacs@morganstanley.com> 268 269 * Add missing parenthesis to fix defined(XXX 270 From: Krisztian Kovacs <Kris.Kovacs@morganstanley.com> 271 272 * In the previous commit we've already made a change that 273 makes this code unnecessary since the node is returned 274 even if the backing file server is known to be down. 275 Since the code path is unused it should be removed. 276 From: Krisztian Kovacs <Kris.Kovacs@morganstanley.com> 277 278 * amfs_generic_lookup_child() tries to find an alternate 279 file server if it detects that the current one is down. 280 However, in the comparison used to decide if a possible 281 mount is the same as the current one it compares the am_loc 282 pointers instead of the actual mntfs pointers. Since 283 amfs_lookup_one_location() creates a brand new am_loc 284 structure for the returned mntfs structure the am_loc 285 pointer will be different even if the mntfs it's pointing 286 to is the same. 287 This tricks amfs_generic_lookup_child() think it has 288 found an alternate file server while it hasn't and thus 289 starts multiple racing mounts for the very same node and 290 mntfs. 291 From: Krisztian Kovacs <Kris.Kovacs@morganstanley.com> 292 293 * In the new am_loc scheme mounted mntfs structures still 294 have their mf_fo structure left intact. So when restart 295 creates a fake mntfs for an already mounted filesystem it 296 should not free mf_fo right away. 297 From: Krisztian Kovacs <Kris.Kovacs@morganstanley.com> 298 299 * Setting the error flag of the mntfs for which the share 300 is already mounted results in the mount point not being 301 removed when it times out. (Amd considers it an error 302 mntfs and thus umount becomse a no-op.) 303 From: Krisztian Kovacs <Kris.Kovacs@morganstanley.com> 304 305 * Right now AMD sets all timeout values to their defaults 306 even if you explicitly set them to zero. This patch 307 introduces separate flags that store if the respective 308 values have been set and the code path setting default 309 values checks these flags instead of testing the values 310 for zero. [Linux only] 311 From: Krisztian Kovacs <Kris.Kovacs@morganstanley.com> 312 313 * Fix mntfs related lookup/(un)mount race conditions, by 314 introducing a new structure linking an mntfs to a node. 315 From: Krisztian Kovacs <Kris.Kovacs@morganstanley.com> 316 317 * We have to free the buffers allocated by the XDR routines when 318 decoding the mount response after copying them to their final place. 319 From: Krisztian Kovacs <Kris.Kovacs@morganstanley.com> 320 3212009-12-09 Christos Zoulas <christos@zoulas.com> 322 323 * Free continuation in amfs_retry() if we don't call amfs_bgmount() 324 Normally it's amfs_bgmount() which frees the continuation. However, if 325 the mount is already in progress and we're in amfs_retry() for another 326 node we don't try mounting the filesystem once again. Still, we have 327 to free the continuation as we won't get called again and thus would 328 leak the continuation structure and our am_loc references. 329 From: Krisztian Kovacs <Kris.Kovacs@morganstanley.com> 330 331 * Fix use-after-free and double free of mntfs private data 332 ops_nfs.c(nfs_init) does not clear private data pointer after free(). 333 This leads to use-after-free and double free in case mount() fails. 334 (found by valgrind) 335 From: Krisztian Kovacs <Kris.Kovacs@morganstanley.com> 336 3372009-11-23 Christos Zoulas <christos@zoulas.com> 338 339 * The temporary filename buffer was leaked in lock_mtab(). 340 From: Krisztian Kovacs <Kris.Kovacs@morganstanley.com> 341 3422009-10-27 Christos Zoulas <christos@zoulas.com> 343 344 * Deal with errno.h->sys/errno.h better 345 3462009-10-26 Christos Zoulas <christos@zoulas.com> 347 348 * Fix issue with autoconf 2.63 349 350 * Fix compile warnings for gcc-4.4.x 351 3522009-04-15 Christos Zoulas <christos@zoulas.com> 353 354 * Share the LDAP connection between different maps to save resources 355 on the LDAP server. (Olaf Flebbe <o.flebbe@science-computing.de>) 356 3572009-03-20 Christos Zoulas <christos@zoulas.com> 358 359 * Fix largefile re-definitions 360 361 * Fix compilation error caused in previous patch 362 3632009-02-19 Christos Zoulas <christos@zoulas.com> 364 365 * Add a synchronous unmount amq rpc that will wait for the remote 366 filesystem to be unmounted, or return an error. Enabled by amq -uu 367 3682009-01-11 Erez Zadok <ezk@fsl.cs.sunysb.edu> 369 370 * amd/ops_udf.c: don't define functions/variables which may not be 371 used. 372 373 * amd/ops_tmpfs.c (mount_tmpfs): force gcc not to complain about 374 unused variables. 375 376 * config.guess.long: properly support Fedora Core. 377 3782009-01-09 Christos Zoulas <christos@zoulas.com> 379 380 * Fix nfs mounts on linux 2.6.26 by explicitly initializing context. 381 382 * Treat an empty sublink as an unset sublink; this allows us to 383 say sublink:=; in a spec to override the default. (This produces 384 Bad selector error, but it works. XXX: We need to decide how to 385 unset a selector. I proposed an unset keyword a while ago). 386 3872009-01-06 Christos Zoulas <christos@zoulas.com> 388 389 * re-renerate all generated files with newer versions of the 390 auto-tools. 391 392 * move INSTALL to INSTALL.am-utils to avoid conflicts 393 394 * fix incompatibilities with new m4 and new autoconf. 395 396 * add UDF filesystem support. 397 398 * fix NetBSD nfs file handle detection. 399 4002009-01-02 Christos Zoulas <christos@zoulas.com> 401 402 * add nocasetrans, nojoliet, rrcaseins for cd9660 filesystems 403 4042008-12-03 Christos Zoulas <christos@zoulas.com> 405 406 * allow ldap queries try a comma-separated list of servers given as: 407 408 ldap_hostports = host1:port1,host2,host3:port3 409 410 original patch from Florian Geyer 411 4122008-09-19 Christos Zoulas <christos@zoulas.com> 413 414 * the auth_create gid on NetBSD is int 415 416 * deal with lossage from flex -P 417 418 * fix missing/incorrect prototypes 419 4202008-09-17 Christos Zoulas <christos@zoulas.com> 421 422 * fix manual page section issues (sorting, non-existant) 423 424 * add missing forward declarations 425 426 * avoid null pointer derefs (coverity) 427 428 * more portable endian detection support 429 430 * implement tmpfs support 431 432 * use sizeof var instead of constant 433 434 * fix yyerror declaration and definition 435 436 * fix yy function renaming, and correct some renaming issues. 437 438 * work around automake < 1.9 issue where ylwrap is not being run 439 for a single yacc or lex file. 440 441 * NetBSD 442 - handle headers that need other headers to compile 443 - add exfs and tmpfs specific glue 444 - add options log, noatime, nocoredump, nodevmtime, softdep, 445 symperm, union 446 - NetBSD's new mount system call needs the size of the opaque 447 filesystem specific structure, but passing 0 for now works. 448 We would need to change a lot more code to pass the size from 449 the fs-specific calls, so for now punt. 450 - recvfrom takes socklen_t * on NetBSD 451 - handle newer NetBSD using statvfs 452 - NetBSD calls its ufs ffs 453 454 * Linux 455 - Most recent kernels have trouble with trying to parse the pid 456 hostname and do locking. What before was a silent failure, now 457 there is a warning printed and the mount is rejected. This is 458 the simplest fix: 459 (http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=479884) 460 4612007-04-13 Erez Zadok <ezk@cs.sunysb.edu> 462 463 * amd/sun_map.c (sun_append_str): When translating '&' from Sun 464 automounter maps, replace it with "${key}" in the Amd map, not 465 with the value of the key at the time. This way '*' maps work 466 too. 467 468 * config.guess.long: don't use -q option to grep because some 469 systems don't support it. Bug fix for solaris. 470 4712007-03-11 Christos Zoulas <christos@zoulas.com> 472 473 * amd/opts.c (expand_op): Don't call xstrlcpy() to truncate a 474 string. It causes spurious xstrlcpy() syslog() errors. Use 475 memcpy() and explicitly terminate the string. 476 4772007-01-20 Erez Zadok <ezk@cs.sunysb.edu> 478 479 * updated copyright year to 2007 on all files. 480 4812006-12-27 Erez Zadok <ezk@cs.sunysb.edu> 482 483 * minor new port: ia64-hp-hpux11.23 484 485 * m4/macros/check_libwrap_severity.m4 (LIBS): also test if caller 486 needs to define rfc931_timeout. 487 488 * amd/sun2amd.c: define rfc931_timeout and allow/deny_severity for 489 libwrap. 490 491 * amd/amq_svc.c: some versions of libwrap require the caller to 492 define rfc931_timeout in addition to allow/deny_severity. 493 494 * amd/amfs_toplvl.c (amfs_toplvl_init): properly detect when 495 forced unmount functionality exists for all systems. 496 497 * libamu/mount_fs.c (compute_nfs_args): reset nfs_args_t->pathconf 498 only if field exists. 499 500 * conf/nfs_prot/nfs_prot_hpux11.h: prevent HPUX 11.23 from 501 including <tiuser> or <sys/tiuser> (TLI definitions are already 502 included from elsewhere). 503 504 * configure.in: detect nfs_args_t->pathconf field. 505 5062006-11-27 Erez Zadok <ezk@cs.sunysb.edu> 507 508 * doc/Makefile.am: properly publish html files using newer 509 text2html. 510 5112006-11-27 Erez Zadok <ezk@shekel.local> 512 513 * doc/Makefile.am: obfuscate emails in ChangeLog before it is 514 published on web site. 515 516 * obfuscate many more emails in the distro, esp. of files which get 517 posted on the am-utils web site. 518 5192006-11-26 Erez Zadok <ezk@shekel.local> 520 521 * minor new port: i386-apple-darwin8.8.1. 522 523 * doc/am-utils.texi: remove obvious URLs used by spammers, and 524 replace them with links to the am-utils web site, which uses PNG 525 images to obfuscate the actual email/mailman URLs. 526 5272006-10-30 Erez Zadok <ezk@cs.sunysb.edu> 528 529 * doc/am-utils.texi (Password maps): minor typo reported by 530 Christoph P. Kukulies. 531 5322006-10-26 Erez Zadok <ezk@cs.sunysb.edu> 533 534 * minor new port: i386-pc-linux-fc6. 535 536 * m4/macros/linux_headers.m4: handle newer Linux kernels which 537 removed UTS_RELEASE from <linux/version.h>. 538 5392006-10-25 Erez Zadok <ezk@cs.sunysb.edu> 540 541 * minor new ports: i386-pc-linux-centos4.4 and 542 powerpc-apple-darwin8.7.0. 543 544 * config.guess.long: recognize CentOS Linux. 545 5462006-06-20 Erez Zadok <ezk@cs.sunysb.edu> 547 548 * minor new port: i386-pc-solaris2.11-nexentaos (GNU/OpenSolaris). 549 550 * config.guess.long: recognize NexentaOS (GNU/OpenSolaris) 551 552 * config.guess, config.sub: updates from latest official GNU 553 distributions. 554 5552006-05-11 Erez Zadok <ezk@cs.sunysb.edu> 556 557 * Minor new ports: i386-unknown-freebsd6.1 (RELEASE), 558 powerpc-apple-darwin8.6.0, and i386-unknown-openbsd3.9. 559 5602006-05-10 Erez Zadok <ezk@cs.sunysb.edu> 561 562 * libamu/mount_fs.c (compute_nfs_attrcache_flags): fix signedness 563 problems on IRIX-6.5. 564 565 * conf/autofs/autofs_solaris_v1.c (xdr_umntrequest): fix 566 signedness problems on IRIX-6.5. 567 5682006-05-01 Erez Zadok <ezk@cs.sunysb.edu> 569 570 * configure.in: check if libc already includes dbm functionality 571 (as in FreeBSD 6), then don't bother to check specific libraries 572 such as libdbm, gdbm, etc. 573 5742006-04-21 Erez Zadok <ezk@cs.sunysb.edu> 575 576 * configure.in: detect G/DBM support via gdbm_compat library 577 (Debian 3.1). 578 579 * minor new port: powerpc-apple-darwin8.5.0 580 5812006-04-20 Erez Zadok <ezk@cs.sunysb.edu> 582 583 * scripts/amd.conf-sample, scripts/amd.conf.5, doc/am-utils.texi, 584 NEWS: document new nfs_allow_any_interface parameter. 585 586 * include/am_compat.h (INADDR_LOOPBACK): define INADDR_LOOPBACK if 587 not defined, since some systems don't have it. 588 5892006-04-20 Nick Williams <Nick.Williams@morganstanley.com> 590 591 * libamu/wire.c (is_interface_local): new boolena function to 592 determine if address represents any of the local interfaces. 593 (getwire): more properly check if address equals INADDR_LOOPBACK, 594 not if IFF_LOOPBACK is not (the latter isn't as correct). 595 596 * include/am_utils.h: extern for new is_interface_local() function. 597 598 * conf/transp/transp_{sockets,tli}.c: don't define INADDR_LOOPBACK 599 here but in am_compat.h 600 601 * amd/nfs_prot_svc.c (nfs_program_2): if 602 nfs_allow_any_interface=yes, then allow NFS packets from any local 603 interface (not just 127.0.0.1). 604 605 * amd/conf.c (gopt_nfs_allow_any_interface): implement the new 606 amd.conf parameter nfs_allow_any_interface. 607 608 * amd/amd.h (CFM_NFS_ANY_INTERFACE): define new global flag when 609 al interfaces are acceptable for local NFS packets. 610 6112006-04-18 Christos Zoulas <christos@zoulas.com> 612 613 * amd/opts.c: Add support for optionally specifying the hostname 614 to match against the netgroup in the netgrp and netgrpd selectors. 615 6162006-04-16 Erez Zadok <ezk@cs.sunysb.edu> 617 618 * libamu/mtab.c (hasmntval): fix inverted meaning of error from 619 hasmntvalerr(). 620 6212006-04-14 Erez Zadok <ezk@cs.sunysb.edu> 622 623 * libamu/mount_fs.c (compute_nfs_attrcache_flags): use new 624 hasmntvalerr() function to set attribute cache values only if they 625 were set (regardless whether they were set to zero or a non-zero 626 value). Before, we were unable to distinguish between an error to 627 parse an option, and a user who actually wanted to set an 628 attribute-cache value to 0. This now fixes an important 629 performance bug that Amd was turning off the attribute caches even 630 for regular (non-automounter) NFS mounts. 631 632 * libamu/mtab.c (hasmntvalerr): new function to set the value of 633 an option into an integer, but ONLY if that options was set and 634 parsed correctly. This function returns 1 on error, 0 on success 635 (instead of always setting the option value to 0). 636 (hasmntval): wrapper function around hasmntvalerr, which maintains 637 backwards compatibility (always sets option value to 0, even on 638 error to parse the option). 639 640 * amd/nfs_subr.c (fh_to_mp3): use long int printf format for 641 fhh_pid. 642 6432006-04-05 Christos Zoulas <christos@zoulas.com> 644 645 * amd/amfs_generic.c (amfs_lookup_mntfs): fix use-after-free bug 646 (Coverity). 647 6482006-03-27 Erez Zadok <ezk@cs.sunysb.edu> 649 650 * doc/am-utils.texi, scripts/{amd.conf.5,amd.conf-sample}: 651 document new nfs_retransmit_counter_toplvl and 652 nfs_retry_interval_toplvl global amd.conf parameters. 653 654 * amd/conf.c (gopt_nfs_retransmit_counter_toplvl, 655 (gopt_nfs_retry_interval_toplvl): parse amd.conf 656 nfs_retransmit_counter_toplvl and nfs_retry_interval_toplvl global 657 parameters. 658 659 * amd/amfs_toplvl.c (amfs_toplvl_mount): support setting toplvl 660 timeo/retrans parameters for Amd's toplvl mounts, separately from 661 all other UDP or NFS mounts. 662 663 * amd/amd.h: define a new timeo/retrans parameter for toplvl 664 mounts. 665 6662006-03-22 Erez Zadok <ezk@cs.sunysb.edu> 667 668 * minor new port: i386-pc-linux-suse10.1 (beta 8). 669 6702006-03-21 Christos Zoulas <christos@zoulas.com> 671 672 * amd/am_ops.c (merge_opts): Remove useless check found by 673 Coverity; xmalloc never returns NULL. 674 6752006-03-21 Erez Zadok <ezk@cs.sunysb.edu> 676 677 * minor new ports: i386-pc-linux-fc5. 678 679 * amd/info_ldap.c: as of Linux Fedora Core 5 (which comes with 680 openldap-2.3.9), the ldap.h headers deprecate several functions 681 used in this file, such as ldap_unbind. You get compile errors 682 about missing extern definitions. Those externs are still in 683 <ldap.h>, but surrounded by an ifdef LDAP_DEPRECATED. I am 684 turning on that ifdef at the top of info_ldap.c, under the 685 assumption that the functions may be deprecated, but they still 686 work for this (older?) version of the LDAP API. It gets am-utils 687 to compile, but it is not clear if it will work perfectly. 688 689 * libamu/xdr_func.c (xdr_am_mountres3_ok), amq/amq_xdr.c 690 (xdr_amq_mount_tree, xdr_amq_mount_tree_p, 691 xdr_amq_mount_info_list, xdr_amq_mount_tree_list), amq/amq.c 692 (show_mti), amd/amq_subr.c (xdr_amq_setopt, xdr_amq_mount_subtree, 693 xdr_amq_mount_tree, xdr_amq_mount_tree_list, xdr_amq_mount_tree), 694 libamu/xdr_func.c (xdr_am_mountres3_ok): use casing magic to stop 695 GCC-4.1 from complaining about "dereferencing type-punned pointer 696 will break strict-aliasing rules" here (but not elsewhere). 697 6982006-03-20 Christos Zoulas <christos@zoulas.com> 699 700 * libamu/wire.c: avoid potential dereferencing of a NULL pointer 701 (Coverity). 702 703 * hlfsd/homedir.c (delay): remove unnecessary check for NULL 704 pointer (Coverity). 705 706 * fsinfo/fsi_analyze.c (analyze_dkmounts, analyze_mounts, 707 analyze_mounts): avoid potential dereferencing of a NULL pointer 708 (Coverity). 709 710 * conf/transp/transp_sockets.c (create_amq_service): avoid 711 potential dereferencing of a NULL pointer (Coverity). 712 713 * amd/sched.c (sigchld): properly check for the end of the waiting 714 process list (Coverity). 715 716 * amd/mapc.c (mapc_create): initialize 'modify' to zero (Coverity). 717 718 * amd/autil.c (amfs_mkcacheref, am_unmounted): avoid potential 719 dereferencing of a NULL pointer (Coverity). 720 721 * amd/amfs_generic.c (amfs_lookup_mntfs): free def_opts before 722 reusing it (memory leak bug detected by Coverity). 723 (amfs_bgmount): avoid potential dereferencing of a NULL pointer 724 (Coverity). 725 726 * amd/am_ops.c (merge_opts): no need to check if newstr is NULL 727 (bug detected by Coverity). 728 7292006-03-08 Ion Badulescu <ionut@moisil.badula.org> 730 731 * amd/nfs_subr.c (mp_to_fh): fixed old-style filehandles--the pid 732 comparison was failing. 733 7342006-03-08 Erez Zadok <ezk@cs.sunysb.edu> 735 736 * configure.in: properly test for either <gdbm/ndbm.h> or 737 <gdbm-ndbm.h> (unfortunately, Autoconf will map both names to the 738 same $ac_cv_* variable name). Some systems support one header or 739 another. Patch inspired by work Debian did. 740 7412006-02-16 Daniel P. Ottavio <ottavio@vm.fsl.cs.sunysb.edu> 742 743 * amd/sum_map_tok.l: Fixed a bug in a regular expression that 744 prevented dashes in hostnames. This was posted in BZ by Thomas 745 A. Fine. 746 747 * README.sun2amd: Fixed a typo. Sentence mentions use of autofs 748 type when it should be host type. 749 7502006-01-04 Erez Zadok <ezk@cs.sunysb.edu> 751 752 * doc/am-utils.texi (auto_attrcache Parameter): revise discussion 753 to mention pros and cons of turning on/off this parameter, 754 including impact on Amd's performance, and ways to improve 755 performance while minimizing the window of vulnerability in which 756 kernel may return the wrong (cached) attributes. 757 7582006-01-02 Erez Zadok <ezk@cs.sunysb.edu> 759 760 * updated copyright year to 2006 on all files. 761 7622005-12-20 Erez Zadok <ezk@cs.sunysb.edu> 763 764 * include/am_utils.h, conf/transp/transp_tli.c (amu_svc_register, 765 register_autofs_service): use a consistent prototype for the 766 dispatch function of the autofs service de/registration functions. 767 7682005-12-03 Erez Zadok <ezk@cs.sunysb.edu> 769 770 * minor new ports: i386-unknown-netbsdelf2.1, 771 i386-unknown-netbsdelf3.0 (RELEASE), and i386-unknown-openbsd3.8. 772 7732005-12-02 Erez Zadok <ezk@cs.sunysb.edu> 774 775 * m4/macros/check_field.m4: remove double inclusion of msdosfs 776 headers, which are included in mount_header1.h (netbsd 2.1 doesn't 777 protect <msdosfs/msdosfsmount.h> which causes compile errors). 778 7792005-11-08 Erez Zadok <ezk@cs.sunysb.edu> 780 781 * minor new port: i386-unknown-freebsd6.0 (RELEASE) 782 7832005-10-26 Erez Zadok <ezk@cs.sunysb.edu> 784 785 * amd/amq_subr.c (amqproc_pawd_1_svc): repeatedly resolve path in 786 Amd, not in pawd (to avoid repeated network RPCs). 787 788 * amq/pawd.c (transform_dir): move repeated path resolution into Amd. 789 7902005-10-25 Erez Zadok <ezk@cs.sunysb.edu> 791 792 * amq/pawd.c (transform_dir): resolve path repeatedly until 793 finished. Bug fix from Jonathan Chen <jon+amd-at-spock.org>. 794 Added safety check to prevent infinite loops. 795 7962005-10-19 Erez Zadok <ezk@cs.sunysb.edu> 797 798 * doc/am-utils.texi (opts Option): document new pcfs options 799 longname, nowin95, shortname, user=N, group=N, mask=N, and 800 dirmask=N. 801 802 * amd/ops_pcfs.c (mount_pcfs): process new pcfs options longname, 803 nowin95, shortname, user=N, group=N, mask=N, and dirmask=N. 804 805 * include/am_compat.h: provide compatibility mnttab string names, 806 if needed, for pcfs mount options longname, nowin95, shortname, 807 user=N, group=N, mask=N, and dirmask=N. 808 809 * include/am_utils.h: extern for hasmntstr(). 810 811 * libamu/mtab.c (hasmntstr): new function to return the string 812 value following a mount option, up to the next comma-delimited 813 options. 814 815 * configure.in: check for mnttab and pcfs options longname, 816 nowin95, and shortname. 817 818 * Makefile.am (EXTRA_DIST_M4): distribute new macro 819 check_mnt2_pcfs_opt.m4. 820 821 * m4/macros/check_mnt2_pcfs_opt.m4: new macro to check for pcfs 822 mnttab and mount options. 823 8242005-10-18 Erez Zadok <ezk@cs.sunysb.edu> 825 826 * libamu/mount_fs.c (print_nfs_args): print nfs_args->addr 827 correctly, depending if it's a pointer or not. 828 829 * conf/sa_dref/sa_dref_*.h: for each NFS_SA_DREF macro, also 830 #define NFS_ARGS_T_ADDR_IS_POINTER if nfs_args->addr is a pointer 831 or an embedded structure, so we can tell how to print it. 832 833 * libamu/mount_fs.c (print_nfs_args): print nfs_args->addrlen 834 field, if it exists. 835 836 * configure.in: check for nfs_args->addrlen field. 837 838 * wire-test/wire-test.c (main), libamu/mount_fs.c 839 (print_nfs_args), fixmount/fixmount.c (inetresport, 840 clnt_create_timeout), amq/pawd.c (transform_dir), amq/amq.c 841 (main), amd/srvr_nfs.c (find_nfs_srvr), amd/autil.c 842 (amfs_mount): document that as per POSIX, we don't need to set the 843 sa_len/sin_len fields in struct sockaddr/sockaddr_in. The field 844 is used only internally in the kernel. See 845 www.awprofessional.com/articles/article.asp?p=169505&seqNum=2&rl=1 846 847 * fixmount/fixmount.c (inetresport): initialize sockaddr_in 848 structure before filling in some fields. 849 8502005-10-11 Erez Zadok <ezk@cs.sunysb.edu> 851 852 * doc/am-utils.texi (nfs_vers, nfs_proto parameters): clarify and 853 correct mistaken description of nfs_proto. 854 8552005-10-10 Erez Zadok <ezk@cs.sunysb.edu> 856 857 ******************************************************************* 858 *** Released am-utils-6.1a1 *** 859 ******************************************************************* 860 861 * README.sun2amd: revised. 862 8632005-10-09 Daniel P. Ottavio <dottavio@ic.sunysb.edu> 864 865 * amd/info_nis.c (nis_search): Bug fix for bugzilla #428; make 866 sure that sun_entry2amd() is not called when yp_match() returns an 867 error, this is done by checking that 'res' is 0. Bug fix (same 868 BZ#); free the output allocated by yp_match() instead of freeing 869 the return value of sun_entry2amd(). 870 871 * amd/sun_map.c (sun_entry2amd): Fix a comment. 872 873 * README.sun2amd: Made a first pass at describing the status of 874 the sun2amd feature. 875 Moved the date. 876 8772005-10-09 Erez Zadok <ezk@cs.sunysb.edu> 878 879 * README.sun2amd: place holder. 880 881 * Makefile.am (EXTRA_DIST): distribute new README.sun2amd file. 882 8832005-10-07 Erez Zadok <ezk@cs.sunysb.edu> 884 885 * m4/macros/check_mnttab_type.m4: move the test for MOUNT_* to the 886 very end, after the test using getvfsbyname(). 887 888 * m4/macros/expand_run_string.m4: if the string value returned is 889 empty, consider it invalid. 890 891 * m4/macros/check_varargs_macros.m4: rewrite macro so it'll 892 try and compile the varargs test, not just cpp it. Some systems 893 pass the old cpp test, but not when you actually try to compile 894 the code (Tru64's cc). 895 896 * conf/autofs/autofs_solaris_v1.h: redefine 897 autofs_strdup_space_hack as a macro to str3cat(NULL,(s)," ",""). 898 This works everywhere and we avoid linking problems, inline 899 functions, etc. 900 901 * conf/autofs/autofs_solaris_v1.c (autofs_mount_fs): remove 902 autofs_strdup_space_hack() function altogether. 903 904 * m4/macros/os_cflags.m4: remove hack that hardcodes pte_t=u_int. 905 906 * configure.in: test for <sys/immu.h> header. 907 Test for pte_t, but only on IRIX6 systems. 908 909 * Makefile.am (EXTRA_DIST_M4): distribute new type_pte_t.m4 file. 910 911 * m4/macros/type_pte_t.m4: new test for existence of pte_t 912 typedef, needed on some IRIX-6.5/gcc systems. 913 914 * m4/macros/header_templates.m4: add missing templates for 915 HAVE_EXTERN_GETDTABLESIZE, HAVE_EXTERN_GETWD, and 916 HAVE_EXTERN_UALARM. 917 918 * amd/info_exec.c (exec_map_open): break assignment from inside 919 conditional, to work around an IRIX-6.5 cc bug. 920 921 * amd/Makefile.am (amd_LDADD, sun2amd_LDADD): put libaminfo.a 922 before libamu.la. Some linkers (e.g., IRIX-6.5) incorrectly 923 complain about undefined symbols. 924 925 * fsinfo/fsi_util.c (set_ether_if), amd/map.c (unmount_mp), 926 libamu/xutil.c (expand_error), libamu/strutil.c (xsnprintf): avoid 927 comparison between signed and unsigned integers. 928 929 * conf/autofs/autofs_solaris_v1.h, conf/autofs/autofs_solaris_v1.c 930 (autofs_strdup_space_hack): move "space_hack" function from static 931 inline in header, into the only source file that needs it. This 932 is cleaner and also prevents linking problem with some compilers 933 that won't apply CPP macros inside static inline functions (for 934 the strl* functions). 935 936 * amq/pawd.c (find_mt, find_mlp): remove obsolete, inefficient 937 code. 938 (transform_dir): call the new, efficient amqproc_pawd_1() routine. 939 940 * amq/amq_clnt.c (amqproc_pawd_1): AMQPROC_PAWD wrapper routine. 941 942 * amq/amq.h (amqproc_pawd_1): extern for amq's AMQPROC_PAWD 943 wrapper routine. 944 945 * amd/amq_svc.c (amq_program_1): dispatch point for 946 amqproc_pawd_1_svc. 947 948 * amd/amq_subr.c (amqproc_pawd_1_svc): moved pawd's path-matching 949 functionality into Amd, where it can be done a lot more 950 efficiently. We don't have to construct and ship a whole export 951 tree from Amd to pawd. We just get a variable-length 952 xdr_wrapstring for the user's path, iterate over the entire export 953 list inside Amd, and return only a matched string if found 954 (otherwise we return "" to indicate that there was no match, and 955 let pawd printf the same string it sent over). 956 957 * amd/amd.h: extern for amqproc_pawd_1_svc, amd's service routine 958 the AMQPROC_PAWD RPC. 959 9602005-10-06 Erez Zadok <ezk@cs.sunysb.edu> 961 962 * ltmain.sh, m4/macros/libtool.m4: update to libtool-1.5.20. 963 Fixes Tru64 bugs when using ksh. 964 965 * amd/amfs_toplvl.c (amfs_toplvl_mount): break complex ifdef macro 966 into two sections, to workaround a C99 varargs-macro bug in 967 gcc-3.2.2 (RH9). 968 969 * libamu/wire.c (print_wires): convert argument-less xsnprintf to 970 xstrlcpy. 971 972 * include/am_utils.h: use new HAVE_C99_VARARGS_MACROS or 973 HAVE_GCC_VARARGS_MACROS to pass file name and line number to 974 xsnprintf/xvsnprintf. 975 976 * libamu/strutil.c (xsnprintf, xvsnprintf): if debugging is on, 977 then also print the source file name and line number that called 978 xsnprintf/xvsnprintf with a buffer that wasn't large enough (most 979 likely an am-utils bug). 980 981 * Makefile.am (EXTRA_DIST_M4): distribute new 982 check_varargs_macros.m4 file. 983 984 * configure.in: execute new AMU_VARARGS_MACROS test. 985 986 * m4/macros/check_varargs_macros.m4: new test to check what style 987 of variable-length argument macros, if any, does the 988 compiler/pre-processor supports. 989 990 * conf/autofs/autofs_solaris_v2_v3.c (autofs_lookup_2_req) 991 conf/autofs/autofs_solaris_v1.c (autofs_mount_1_req), amd/opts.c, 992 amd/nfs_subr.c (nfsproc_lookup_2_svc), amd/nfs_start.c 993 (mount_automounter), amd/get_args.c (get_args), amd/amfs_toplvl.c, 994 amd/amfs_auto.c (amfs_auto_mount), amd/amd.h, amd/amd.c (main): 995 use sizeof() instead of fixed SIZEOF_* macros. 996 997 * libamu/strutil.c (xstrlcat, xstrlcpy), include/am_utils.h 998 (DEBUG): if debugging is on, then also print the source file name 999 and line number that called xstrl* with a buffer that wasn't large 1000 enough (most likely an am-utils bug) 1001 1002 * include/am_compat.h (INADDR_NONE): define in a common location, 1003 if OS doesn't have it, use 0xffffffffU which should work with any 1004 ANSI compiler. 1005 1006 * fixmount/fixmount.c, libamu/wire.c: remove local definition of 1007 INADDR_NONE. 1008 1009 * amd/amfs_toplvl.c (amfs_toplvl_mount), amd/amfs_auto.c 1010 (amfs_auto_mount): use common SIZEOF_OPTS in definition and call 1011 to autofs_get_opts. 1012 1013 * amd/amd.h (SIZEOF_OPTS): moved #define to common header. 1014 10152005-10-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 1016 1017 * amd/opts.c (expand_op): Need to check BUFSPACE for env for 1018 vlen+1. Likewise for cp and strlen(cp)+1. 1019 1020 * amd/amfs_toplvl.c (amfs_toplvl_mount) [HAVE_FS_AUTOFS]: Pass new 1021 size argument to autofs_get_opts. 1022 10232005-10-05 Erez Zadok <ezk@cs.sunysb.edu> 1024 1025 * amq/pawd.c (transform_dir): was using UDP only. Now will also 1026 try TCP if UDP failed. Destroy client after use to avoid leftover 1027 TCP sockets in the kernel. 1028 1029 * libamu/hasmntopt.c (amu_hasmntopt): increase size of MNTMAXSTR 1030 from 128 to to 256, because some users have really long option 1031 strings. Suggestion from jon+amd-at-spock.org. 1032 1033 * amd/opts.c (expand_op): should check BUFSPACE for vlen+1, not 1034 just vlen. Bug discovered when started using xstrlcpy(). 1035 1036 * ALL: convert from using strcat to the safer xstrlcat, and from 1037 strcpy to safer xstrlcpy. 1038 10392005-10-04 Erez Zadok <ezk@cs.sunysb.edu> 1040 1041 * hlfsd/hlfsd.h: remove old fatalerror() and ERRM macros. 1042 1043 * hlfsd/hlfsd.c (fatalerror): new function instead of macro. 1044 Easier to use xstrlcat in this new function. 1045 1046 * amd/amd.h, include/am_utils.h, amd/amd.c: moved 'hostd' extern 1047 from am_utils.h to amd.h, and define its size as a macro that 1048 could be passed to xstrl*(). 1049 1050 * ALL: convert from using sprintf to the safer xsnprintf. 1051 1052 * mk-amd-map/Makefile.am (LDADD): link with libamu to get 1053 xsnprintf(). 1054 1055 * amd/amd.h, amd/amd.c, include/am_utils.h: moved pid_fsname 1056 extern from am_utils.h to amd.h, and define its size as a macro 1057 that could be passed to xsnprintf(). 1058 10592005-10-02 Erez Zadok <ezk@cs.sunysb.edu> 1060 1061 * libamu/Makefile.am: use strutil.c, not util.c. 1062 1063 * libamu/strutil.c: rename from util.c to explain better purpose 1064 of file. Move xvsnprintf and xsnprintf from xutil.c to this file. 1065 1066 * libamu/xutil.c: explain purpose of file. Move mkdirs/rmdirs 1067 code from old util.c. 1068 10692005-10-01 Erez Zadok <ezk@cs.sunysb.edu> 1070 1071 * m4/macros/header_templates.m4: templates for FFS. 1072 1073 * m4/macros/check_mnttab_type.m4: on BSD44 systems, check for file 1074 system mount table name via the MOUNT_* mount(2) macros (because 1075 BSD44 keeps the mount table in the kernel). 1076 1077 * configure.in: synchronise order of searching for mnttab entries 1078 and mount names. The new order is "ext3 ext2 ffs ufs 4.2 4.3 4.4 1079 efs xfs jfs ultrix" (which would prefer ffs on BSD44 instead of 1080 ufs, and ext3 instead of ext2 on Linux). 1081 1082 * include/am_defs.h: include <sys/statvfs.h> if it exists. 1083 1084 * conf/nfs_prot/nfs_prot_netbsd1_4.h: NetBSD 3 has both statfs() 1085 and statvfs(), but the latter is preferred, so #define to use 1086 statvfs. 1087 1088 * configure.in: check for statfs(), statvfs(), and 1089 <sys/statvfs.h>. 1090 1091 * config.guess.long: strip trailing '.' on "netbsdelf3.0." 1092 (Beta). Workaround for bug in config.guess. 1093 1094 * config.{guess,sub}: update to latest versions. 1095 10962005-09-30 Christos Zoulas <christos@zoulas.com> 1097 1098 * fsinfo/fsi_util.c (set_ether_if): use INADDR_NONE instead of 1099 hard-coded value of -1. 1100 1101 * include/amq_defs.h (AMQ_STRLEN): increase default size from 2KB 1102 to 16KB. We can afford it these days. 1103 1104 * libamu/strcasecmp.c (strcasecmp): use unsigned chars in 1105 tolower() to avoid sign/size promotion bugs. 1106 1107 * libamu/xutil.c (switch_to_logfile): don't output to LOG_CONS by 1108 default (it's unfriendly). If user really wants to, they can set 1109 it in /etc/syslog.conf. 1110 11112005-09-29 Erez Zadok <ezk@cs.sunysb.edu> 1112 1113 * amq/pawd.c (find_mt): if the auto mount type is used, pawd could 1114 go into an infinite loop since the mt_directory and mt_mountpoint 1115 fields are the same for auto mounts. Solution: ignore type auto 1116 mounts, similar to toplvl. Bug fix from Jonathan Chen 1117 <jon+amd@spock.org>. 1118 1119 * README.attrcache: document test-attrcache script. 1120 1121 * scripts/Makefile.am (noinst_SCRIPTS): build test-attrcache 1122 script. 1123 1124 * configure.in: build scripts/test-attrcache script and chmod it 1125 so it can be executed in place. 1126 1127 * scripts/test-attrcache.in: script to test the NFS attribute 1128 cache using Amd. 1129 11302005-09-26 Erez Zadok <ezk@cs.sunysb.edu> 1131 1132 * hlfsd/stubs.c (nfsproc_getattr_2_svc, nfsproc_lookup_2_svc, 1133 nfsproc_readlink_2_svc, nfsproc_readdir_2_svc), hlfsd/hlfsd.c 1134 (hlfsd_init): use new clocktime() function. 1135 11362005-09-18 Erez Zadok <ezk@cs.sunysb.edu> 1137 1138 * README.attrcache: document netbsd's patchs to support noac. 1139 1140 * libamu/mount_fs.c (compute_nfs_attrcache_flags): cleanup the 1141 code that sets the ac{reg,dir}{min,max} fields so it also sets the 1142 appropriate nfs_args->flags such as MNT2_NFS_OPT_ACREGMIN. 1143 1144 * configure.in: check for nfs_args fields acregmax and acdirmax. 1145 1146 * README.attrcache: new file documenting in detail OS bugs 1147 relating to attribute caching, which can affect Amd's reliability 1148 under heavy load. 1149 Update status of freebsd and openbsd. 1150 1151 * doc/Makefile.am: install README.attrcache file as attrache.txt 1152 file on am-utils Web site. 1153 1154 * Makefile.am (EXTRA_DIST): include README.attrcache in distro. 1155 1156 * BUGS, NEWS, doc/am-utils.texi (auto_attrcache Parameter), 1157 scripts/amd.conf.5, scripts/amd.conf-sample: document attribute 1158 cache bugs on some OSs. 1159 11602005-09-17 Erez Zadok <ezk@cs.sunysb.edu> 1161 1162 * libamu/xutil.c (clocktime): newly implemented routine. Uses 1163 gettimeofday() each time to return a high-resolution clock time, 1164 and does not "cache" the last time. Returns time in seconds, just 1165 like the old implementation. If passed a non-null argument, will 1166 fill it in with the current time in seconds+microseconds. 1167 1168 * libamu/xutil.c: remove actual declaration of clock_valid, and 1169 another never-used declaration for xclock_valid. 1170 1171 * include/am_utils.h: remove defunct definition of clocktime() 1172 macro and clock_valid variable. Add extern for new definition. 1173 1174 * libamu/mount_fs.c (mount_fs), hlfsd/homedir.c (homedir, 1175 hlfsd_diskspace, hlfsd_getpwent, plt_reset, table_add), 1176 hlfsd/hlfsd.c (main, hlfsd_init, reload, cleanup), 1177 conf/mtab/mtab_mach3.c (open_locked_mtab), conf/mtab/mtab_file.c 1178 (open_locked_mtab), amd/nfs_start.c (do_select, run_rpc), 1179 amd/autil.c (host_normalize): remove defunct clock_valid. 1180 1181 * amd/nfs_subr.c (nfsproc_getattr_2_svc): Print microseconds for 1182 node's mtime. 1183 (fh_to_mp3): use new clocktime() to update mtime and get a better 1184 time resolution. 1185 1186 * amd/mapc.c (mapc_reload_map): change prototype from returning 1187 void to returning an int. If reloading was needed and succeeded, 1188 return 1; else return 0. 1189 (mapc_sync): update mtime of parent node if needed. This is a 1190 CRITICAL FIX, to ensure that the kernel flushes its DNLC/dcache 1191 when we run "amq -f" manually or when a map is reloaded. 1192 1193 * amd/map.c (new_ttl): update am_ttl and na_atime in one shot. 1194 (init_map): use new clocktime(). 1195 (unmount_mp): if the OS doesn't support a "symttl" option, then 1196 update the mtime of the parent node using the clocktime(); but if 1197 the time hasn't gotten changed because of rapid Amd accesses on 1198 systems that don't have a micro-second NFS-client resolution, then 1199 increment mtime by one arbitrarily (this could, on some systems 1200 and under pathological cases, result in mtime's that are in the 1201 future). 1202 1203 * amd/autil.c (forcibly_timeout_mp): MAJOR BUG FIX: force mtime 1204 update of parent dir, to prevent DNLC/dcache from caching the old 1205 entry, which could result in ESTALE errors, bad symlinks, and 1206 more. 1207 (am_mounted): record mount time, and update am_stats at the same 1208 time, using the double-action redone clocktime() routine. 1209 (am_mounted): update parent's mtime from that of the child. 1210 (am_unmounted): when unmounting an entry, update mtime of parent 1211 node. 1212 1213 * amd/amfs_generic.c (amfs_bgmount): now that clocktime() doesn't 1214 remember it's last non-zero value, save it in a temporary variable 1215 to avoid a TOCTOU problem (between an "if" and a "dlog"). 1216 1217 * libamu/xutil.c (show_time_host_and_name), 1218 conf/autofs/autofs_linux.c (autofs_mounted, autofs_timeout_mp), 1219 amd/srvr_nfs.c (nfs_keepalive_callback, nfs_keepalive_timeout) 1220 (find_nfs_srvr), amd/rpc_fwd.c (fwd_alloc), amd/nfs_subr.c 1221 (nfsproc_getattr_2_svc), amd/nfs_start.c (do_select, run_rpc), 1222 amd/mapc.c (root_init), amd/map.c(map_flush_srvr, timeout_mp), 1223 amd/info_ndbm.c (ndbm_init), amd/info_ldap.c (amu_ldap_rebind), 1224 amd/info_file.c (file_open), amd/info_exec.c (fgets_timed, 1225 exec_search), amd/clock.c (timeout, softclock), amd/autil.c 1226 (forcibly_timeout_mp), amd/amfs_generic.c (amfs_retry, 1227 amfs_bgmount, amfs_generic_mount_child), amd/amd.c (main): pass 1228 NULL to clocktime(). 1229 12302005-09-15 Erez Zadok <ezk@cs.sunysb.edu> 1231 1232 * amd/nfs_subr.c (nfsproc_getattr_2_svc): initialize 'retry', just 1233 in case. 1234 (fh_to_mp3): increment amd_stats.d_stale counter only if we are 1235 actually returning ESTALE. 1236 1237 * amd/info_exec.c (exec_parse_qanswer), amd/info_file.c 1238 (file_search_or_reload), amd/info_hesiod.c (hesiod_search), 1239 amd/info_ldap.c (amu_ldap_search), amd/info_ndbm.c (search_ndbm), 1240 amd/info_nis.c (nis_search), amd/info_nisplus.c (nisplus_search, 1241 nisplus_search): don't dereference mnt_map->cfm which may be null 1242 if we're not using an amd.conf file. 1243 12442005-09-14 Erez Zadok <ezk@cs.sunysb.edu> 1245 1246 * libamu/xutil.c (unregister_amq): if failed to de-register Amd 1247 from portmapper, report it under dlog (debugging), not as an 1248 annoying plog that always shows up. 1249 12502005-09-13 Erez Zadok <ezk@cs.sunysb.edu> 1251 1252 * mk-amd-map/mk-amd-map.c (read_file_file), libamu/util.c 1253 (strsplit), libamu/hasmntopt.c (nextmntopt), amd/sun_map.c 1254 (sun_entry2amd), amd/sun2amd.c (sun2amd_convert_convert), 1255 amd/mapc.c (mapc_add_kv), amd/info_file.c (file_search_or_reload), 1256 amd/info_exec.c (exec_parse_qanswer): cast isspace() and isascii() 1257 arg to unsigned char, which is safer as per Christos. 1258 1259 * amd/sun_map.c (sun_entry2amd): isspace takes an int, not a char. 1260 1261 * configure.in: keep a dummy unused AM_PROG_LEX, because old 1262 Automake (1.6.3) looks for it if you refer to LEX in your 1263 Makefile.am files. Silly thing, fixed in newer versions of 1264 Automake (1.9.2). 1265 12662005-09-11 Erez Zadok <ezk@cs.sunysb.edu> 1267 1268 * Makefile.am (EXTRA_DIST_M4): add prog_{lex,yacc}.m4 to distro. 1269 1270 * configure.in: use new macros AMU_PROG_YACC and AMU_PROG_LEX. 1271 1272 * m4/macros/prog_yacc.m4: new macro to check if bison/yacc/byacc 1273 exist, but exist with an error if none found. 1274 1275 * m4/macros/prog_lex.m4: new macro to check if f/lex exist, but 1276 exit with an error if not found (am-utils requires f/lex). 1277 12782005-09-07 Erez Zadok <ezk@cs.sunysb.edu> 1279 1280 * minor new port: powerpc-apple-darwin8.2.0. 1281 1282 * m4/macros/type_auth_create_gidlist.m4: Old macosx used "gid_t" 1283 but all newer ones (10.4+) use int. 1284 1285 * m4/macros/type_recvfrom_fromlen.m4: Old macosx used "int" for 1286 6th arg of recvfrom(), but all newer ones (10.4+) use socklen_t. 1287 1288 * minor new port: i386-pc-linux-deb3.1. 1289 12902005-09-02 Erez Zadok <ezk@cs.sunysb.edu> 1291 1292 * conf/mount/mount_linux.c: If autoconf didn't find any disk-based 1293 file system on this system (probably because /proc isn't mounted), 1294 then provide some default definition for this file to compile. 1295 12962005-08-28 Daniel P. Ottavio <dottavio@ic.sunysb.edu> 1297 1298 * amd/sun_map.c (sun_entry2amd) : Wipe out any trailing white 1299 spaces or '\n' before passing strings to the parser. 1300 1301 * amd/amd.h : oops, reverting bad changes 1302 1303 * amd/info_file.c : oops, reverting bad changes 1304 1305 * amd/mapc.c : oops, reverting bad changes 1306 1307 * amd/sun_map_parse.y : oops, reverting bad changes 1308 13092005-08-27 Erez Zadok <ezk@cs.sunysb.edu> 1310 1311 * libamu/xutil.c: amd_program_number is a u_long now. 1312 (unregister_amq): if pmap_unset failed to de-register Amd from the 1313 portmapper, print an error message. 1314 (get_amd_program_number): returns a u_long now. 1315 (set_amd_program_number): take a u_long now. 1316 1317 * include/am_utils.h: get_amd_program_number() returns u_long now. 1318 set_amd_program_number() takes a u_long now. 1319 1320 * amq/amq.c: amd_program_number is a u_long, not int. 1321 1322 * amd/nfs_start.c (mount_automounter): when registering Amd with 1323 the portmapper (for Amq service), don't fail if just one of TCP or 1324 UDP failed to register, but only if both transports failed. That 1325 way Amq can still contact Amd using the transport that did 1326 register correctly. However, now, if both transports failed to 1327 register, then set amd_state to "Done" so it would shutdown 1328 cleanly. 1329 1330 * conf/transp/transp_{sockets,tli{}.c (amu_svc_register): better 1331 comments. 1332 1333 * libamu/xutil.c: debug_flags should always be initialized to 1334 D_CONTROL (amq,daemon,fork). 1335 (debug_option): allow setting initial immutable debug_flags via 1336 amd.conf; afterward, prevent it (i.e., one tries it via "amq -D"). 1337 1338 * Makefile.am (DISTCLEANFILES): also remove amu_autofs_prot.h, 1339 config.cache.old, and dbgcf.h on "make distclean". 1340 (CLEANFILES): remove dbgcf on plain "make clean". 1341 1342 * amd/Makefile.am (DISTCLEANFILES): also remove ops_autofs.c on 1343 "make distclean". 1344 13452005-08-27 Daniel P. Ottavio <dottavio@ic.sunysb.edu> 1346 1347 * amd/info_file.c (file_search_or_reload): Changed the key 1348 variable that is passed to the sun_entry2amd. 1349 1350 * amd/mapc.c (mapc_add_kv): Add support for multiple entries 1351 packed into one line. This is a workaround for handling Sun style 1352 mounts that contains multiple entries on one line: "multi-mount 1353 entries". The sun2amd conversion tools will convert such entries 1354 into type:=auto and pack each of the auto-entries into one line 1355 separated by '\n'. The mapc_add_kv function will now recognize 1356 such entries and add then. 1357 1358 * amd/sun2amd.c (sun2amd_convert): Add print statement that 1359 includes the line number during a parser failure. 1360 1361 * sun_map.c: Fix the AMD_MAP_PREF_KW definition. Fix spelling. 1362 (sun_mountpts2amd): removed this function 1363 (sun_hsfs2amd): added some more comments 1364 (sun_nfs2amd): moved support for multi-mount entries from this 1365 function to sun_multi2amd(). 1366 (sun_multi2amd): New function to handle multi-mount entries. This 1367 function will convert the Sun version to an Amd type:=auto. Each 1368 extra auto entry will be appended to the same line separated by a 1369 '\n'. 1370 (sun_entry2amd): Fixed a bug if-statement. This function now 1371 checks for multi-mount entries. 1372 1373 * amd/sun_map.h: Add a fstype member to the sun_mountpt struct. 1374 1375 * amd/sun_map_parse.y: Parser now supports fstype for multi-mount 1376 entries. 1377 1378 * amd/sun_map_tok.l: No longer print the line and column number 1379 when parsing. This is because the parser is handed strings not 1380 files. Therefore, the line number will always be 1. It is now up 1381 to the higher level tools to echo line information during error 1382 when they feed the parser. 1383 13842005-08-24 Erez Zadok <ezk@cs.sunysb.edu> 1385 1386 * configure.in: wrap all LDAP and HESIOD tests in test whether 1387 --with-OPT was used. 1388 13892005-08-20 Daniel P. Ottavio <dottavio@ic.sunysb.edu> 1390 1391 * amd/sun_map.c: Clean up #defines 1392 (sun_entry2amd) : Verify that the key and entry values passed are 1393 not NULL. Free the Sun entry struct when done. 1394 1395 * amd/sun_map.h: Add some "not implemented yet" comments to the 1396 map and mmap structures. 1397 1398 * amd/sun_map_parse.y: Removed automap include functionality, it 1399 will need to be re-implemented using a pre-processor. 1400 Clean up function calls. 1401 14022005-08-16 Daniel P. Ottavio <dottavio@ic.sunysb.edu> 1403 1404 * amd/sun2amd.c (sun2amd_convert): If the input line is too long 1405 don't return an error just null terminate and continue. Fix bug: 1406 the map key was not written. 1407 1408 * amd/sun_map.c: Add a new Amd device, and cdfs constant. 1409 (sun_locations2amd): Write the NFS type keyword 1410 for each host of the mount entry. Add a space between each mount 1411 location. 1412 (sun_hsfs2amd): New function to support hsfs to 1413 cdfs. 1414 (sun_nfs2amd): Don't write the nfs type here. Fix 1415 comments. 1416 (sun_entry2amd): Change function parameter var for 1417 clarity. Add support for hsfs. 1418 1419 * amd/sun_map_parse.y (sun_map_parse_read): Reset the entry list 1420 after it has been returned. 1421 14222005-08-16 Erez Zadok <ezk@cs.sunysb.edu> 1423 1424 * amd/get_args.c (get_args): initialize debug_flags if they've 1425 never been set. 1426 14272005-08-15 Erez Zadok <ezk@cs.sunysb.edu> 1428 1429 * amd/mapc.c (mapc_create): mapc find takes 4th arg, the mount 1430 point. Now, we can properly initialize the cfm structure of the 1431 mnt_map, so we can have access to the flags (e.g., SUN_MAP_SYNTAX) 1432 inside each info_*.c file. 1433 (mapc_find): takes 4rd arg (mntpt) and passes it to calls to 1434 mapc_create. 1435 (root_newmap): pass NULL as 4th arg (mntpt). 1436 1437 * amd/amfs_generic.c (amfs_parse_defaults): remove ugly hack to 1438 initialize map cfm structure (including flags) so late. 1439 1440 * amd/autil.c (amfs_mkcacheref): pass mount point as 4th arg to 1441 mapc_find. 1442 1443 * amd/amfs_root.c (amfs_root_mount): pass NULL as new 4th arg to 1444 mapc_find. 1445 1446 * amd/amd.h: extern for mapc_find changed to pass the mount point. 1447 1448 * libamu/xutil.c: debug_flags should be unsigned. 1449 (dbg_opt): fix comments for updated debug_flags, add "defaults". 1450 (debug_option): Don't allow "immutable" (D_IMMUTABLE) flags to be 1451 changed, because they could mess Amd's state and only make sense 1452 to be set once when Amd starts. Currently these immutable flags 1453 are "daemon," "fork," "amq," and "mtab." If Amd not compiled with 1454 debugging, set default "control" options (daemon,fork,amq). 1455 (unregister_amq): proper use of D_AMQ. 1456 1457 * include/am_utils.h: define new D_BASIC, D_CONTROL, D_DEFAULT, 1458 D_IMMUTABLE, and D_MASK. Updated definitions of D_ALL and D_TEST. 1459 debug_flags extern should be unsigned. 1460 1461 * scripts/amd.conf-sample (debug_options): mention new "defaults" 1462 option. 1463 1464 * scripts/amd.conf.5,doc/am-utils.texi: document new debug option 1465 "defaults" and properly explain the corrected meanings of 1466 "daemon," "fork," "amq," and their "no" inversions. Better 1467 explain "all" and "test" too. Correct default debug_mtab file to 1468 /tmp/mtab. 1469 1470 * hlfsd/stubs.c (nfsproc_readlink_2_svc): proper use of D_FORK. 1471 1472 * hlfsd/homedir.c (homedir): proper use of D_FORK. 1473 1474 * hlfsd/hlfsd.c (main, hlfsd_init, cleanup): proper use of 1475 D_DAEMON. 1476 1477 * amd/nfs_start.c (mount_automounter): proper use of D_AMQ. 1478 1479 * amd/amd.h (DEBUG_MNTTAB_FILE): change default to /tmp/mtab, 1480 which is more common on more systems (instead of /tmp/mnttab). 1481 1482 * amd/amd.c (main): properly use D_DAEMON. 1483 14842005-08-14 Erez Zadok <ezk@cs.sunysb.edu> 1485 1486 * libamu/xutil.c (xlog_opt): define new pseudo log_option named 1487 "defaults", which is an alias for "fatal,error,user,warning,info". 1488 1489 * scripts/amd.conf.5, doc/am-utils.texi, amd/amd.8: document new 1490 log_option "defaults". 1491 1492 * amq/amq.8: typo. Arg name for -D is "debug_options" not 1493 "log_options". 1494 1495 * libamu/xutil.c: make xlog_level static, and initialize it to 1496 XLOG_DEFAULT. 1497 (cmdoption): take unsigned int as flags argument, and print any 1498 errors as XLOG_ERROR (which cannot be turned off). 1499 (switch_option): remove old code which disallowed you from turning 1500 off flags that were set when Amd started up. Now, you can turn 1501 any log option on/off at start time or later on (via amq -x), 1502 other than the two mandatory options (fatal+error). 1503 1504 * include/am_utils.h (XLOG_*): remove unused XLOG_DEFSTR. Define 1505 XLOG_MASK to mask out unused flag bits. Define XLOG_DEFAULT to be 1506 what it was before (fatal + error + user + warning + info), but 1507 use the new mask. Remove extern's for xlog_level and 1508 xlog_level_init. Change extern for cmdoption() to take an 1509 unsigned flags argument. 1510 1511 * doc/am-utils.texi, amq/amq.8, scripts/amd.conf.5, amd/amd.8: 1512 document mandatory log options 1513 (fatal+error) which cannot be turned off and are always on by 1514 default. They must be on so that Amd can report crucial errors, 1515 including those related to setting flags on/off. 1516 1517 * hlfsd/hlfsd.c (main): remove hack to initialize log_options. 1518 1519 * wire-test/wire-test.c: remove reference to unused xlog_level. 1520 1521 * amd/mapc.c (mapc_create): 'alloc' flags variable should be 1522 unsigned. 1523 1524 * amd/get_args.c (get_args): no need for hack using 1525 xlog_level_init. 1526 1527 * amd/Makefile.am: separate sources common to amd and sun2amd into 1528 a special, locally-built only, static library called libaminfo.a. 1529 1530 * libamu/xutil.c (real_plog, xsnprintf): call new xvsnprintf() 1531 wrapper function. 1532 (xvsnprintf): new function which already gets a va_list. This was 1533 needed to avoid nesting va_list's (which apparently isn't 1534 allowed). 1535 1536 * include/am_utils.h: prototype for new xvsnprintf wrapper. 1537 1538 * configure.in: sinclude([vers.m4]) version number file. 1539 1540 * vers.m4: new file to separate version number out of 1541 configure.in, useful for nightly snapshot script to generate 1542 nightly version string. 1543 1544 * Makefile.am (EXTRA_DIST_M4): include vers.m4 in distro. 1545 15462005-08-14 Daniel P. Ottavio <dottavio@ic.sunysb.edu> 1547 1548 * amd/info_file.c: add key to sun_entry2amd()'s parameters 1549 1550 * amd/info_hesiod.c: add key to sun_entry2amd()'s parameters 1551 1552 * amd/info_ldap.c: add key to sun_entry2amd()'s parameters 1553 1554 * amd/info_ndbm.c: add key to sun_entry2amd()'s parameters 1555 1556 * amd/info_nis.c: add key to sun_entry2amd()'s parameters 1557 1558 * amd/info_nisplus.c: add key to sun_entry2amd()'s parameters 1559 1560 * amd/sun_map.c: New functions to support sun translation to amd. 1561 The function sun_entry2amd's parameters were expanded to include 1562 the key value. sun_entry_2amd() now returns NULL on error. 1563 1564 * amd/sun_map.h: Expand sun_entry2amd's parameters to include key 1565 value. 1566 1567 * amd/sun_map_parse.y: Change how file system types are parsed out 1568 of the list of options for each entry. The previous way was not 1569 working properly so now we just look for the 'fstype' keyword in 1570 each option. If it exists we copy its key value. 1571 Added some comments to sun_map_parse_read(). 1572 1573 * amd/amd.h: Added an extern from info_file.c called 1574 file_read_line(). Previously this function was static but is now 1575 used in sun2amd.c. 1576 1577 * amd/info_file.c: Changed the static function read_line() to a 1578 public function called file_read_line(). This function is now 1579 used in sun2amd.c 1580 1581 * amd/sun2amd.8: Filled in the contents of this man page. This is 1582 a conversion utility that converts Sun maps to Amd maps. 1583 1584 * amd/sun2amd.c: Implemented a working version of this utility. 1585 15862005-08-11 Erez Zadok <ezk@cs.sunysb.edu> 1587 1588 * amd/sun_map_parse.y: instead of using a custom FOO_alloc() 1589 function, use Amd's CALLOC(struct FOO) macro. 1590 1591 * amd/sun_map.h: remove extern definitions to functions no longer 1592 needed. 1593 1594 * amd/sun_map.c: removed superfluous *_alloc() functions, some of 1595 which caused conflicts with same-named symbols in the parser 1596 (since we rename 'yyalloc' to 'sun_map_alloc'). 1597 1598 * configure.in: keep AC_INIT on same line, for nightly snapshot 1599 build script. 1600 1601 * amd/Makefile.am: f/lex libraries are incompatible with multiple 1602 scanners, so don't link Amd with libl.a/libfl.a. 1603 16042005-08-10 Daniel P. Ottavio <dottavio@ic.sunysb.edu> 1605 1606 * amd/sun_map_tok.l: Clean up regular expression so HPUX stops 1607 whining. 1608 16092005-08-09 Daniel P. Ottavio <dottavio@ic.sunysb.edu> 1610 1611 * amd/sun_map_parse.y: Moved license below special yacc bracket to 1612 be portable with HPUX's yacc. Clean up externs. 1613 1614 * amd/sun_map_tok.l: Moved license below special lex bracket to be 1615 portable with HPUX's lex. Fixed definitions to allow for a 1616 non-flex lex to parse strings instead of files. Added some casts 1617 to strlcpy usage to silence warnings. Moved the % options because 1618 HPUX was complaining, 1619 16202005-08-08 Daniel P. Ottavio <dottavio@ic.sunysb.edu> 1621 1622 * amd/sun_map_tok.l: Applied some definition goop to handle the 1623 ECHO symbol that lex defines. This symbol causes problems on 1624 RedHat-EL-powerPC platforms. Replaced strncpy with strlcpy. 1625 Renamed the function sun_map_yyinput to sun_map_input. This 1626 function is a utility function that is not generated by lex. 1627 Therefore, the 'yy' may cause confusion. 1628 16292005-08-08 Erez Zadok <ezk@cs.sunysb.edu> 1630 1631 * amd/sun_map_tok.l: allocate more output slots so lex scanners 1632 don't run out of memory. 1633 1634 * amd/sun_map_parse.y: declare extern for sun_map_parse(). 1635 1636 * libamu/xutil.c (xsnprintf): ensure proper comparisons between 1637 signed and unsigned quantities. 1638 16392005-08-06 Erez Zadok <ezk@cs.sunysb.edu> 1640 1641 * libamu/util.c, amd/autil.c (strsplit): moved strsplit() function 1642 from Amd code to to libamu, so sun2amd could use it. 1643 1644 * amd/Makefile.am (sbin_PROGRAMS): build sun2amd binary and man 1645 page. 1646 (EXTRA_sun2amd_OBJECTS): sun2amd needs to link with all info_*.c files 1647 1648 * amd/sun2amd.8: placeholder for man page. 1649 1650 * amd/sun2amd.c: placeholder for C version of translator from Sun 1651 syntax maps to Amd maps. 1652 1653 * */*.[0-9]: include file name in nroff source comment. 1654 1655 * ALL: use '0' properly when assigning or passing it to functions. 1656 If in the context pointer, use NULL. If in the context of a 1657 single char (say within a string), the use '\0'. This is just to 1658 make the code clearer. 1659 1660 * m4/macros/header_templates.m4: template for HAVE_MAP_SUN. 1661 1662 * amd/mapc.c (maptypes): add placeholder for Sun-syntax map 1663 methods. 1664 1665 * amd/Makefile.am (EXTRA_amd_SOURCES): compile info_sun.c 1666 1667 * amd/info_sun.c: placeholder for meta info parser to get info 1668 from Sun automount-style /etc/auto_master, possibly following 1669 into multiple info services (via /etc/nsswitch.conf). 1670 1671 * libamu/xutil.c (xsnprintf): if vsnprintf truncated the output 1672 string to avoid an overflow, print an error. Include some code to 1673 break out any possible infinite loop between plog() and 1674 xsnprintf(). 1675 (real_plog): now we can use (carefully) xsnprintf() directly. 1676 1677 * amd/sun_map.[hc]: cleanup and formatting. 1678 1679 * amd/sun_map_parse.y: to match the literal string "fstype=" use 1680 double quotes, not single quotes. 1681 1682 * amd/get_args.c (get_args): call conf_parse() using conf_in. 1683 1684 * amd/amd.h: use renamed parser symbols (yyparse -> conf_parse; 1685 yyin -> conf_in). 1686 1687 * ylwrap: Enhance wrapper to avoid the #define hacks done by Gdb, 1688 and suggested by the Automake manual. This enhanced parser will 1689 prefix each conflicting yacc/lex symbol with a unique name 1690 produced from INPUT. For example, if INPUT is foo_parse.y, then 1691 yyparse() becomes foo_parse(). This requires that both your .l 1692 and corresponding .y files have the same prefix (e.g., foo_parse.y 1693 and foo_tok.l). 1694 1695 * amd/Makefile.am (BUILT_SOURCES): define which yacc/lex .h/.c 1696 source files are built automatically, and therefore should not be 1697 in the distro (IMHO), and should be cleaned upon "make clean". 1698 (amd_SOURCES): include new sun_map_parse.y and sun_map_tok.l files. 1699 1700 * ylwrap: new file needed because we have two parsers now. 1701 1702 * amd/sun_map_{parse.y,tok.l}: cleanup and formatting. 1703 17042005-08-06 Daniel P. Ottavio <dottavio@ic.sunysb.edu> 1705 1706 * amd/Makefile.am: Added new files sun_map.h, sun_map.c, 1707 sun_map_parse.y, and sun_map_tok.l. These files add support for 1708 parsing Sun style maps. The yacc/lex files needed custom rules so 1709 they don't cause symbol conflicts with each other. 1710 1711 * amd/amd.h: Added "#define INFO_MAX_LINE_LEN" that specifies the 1712 line limit for info services. 1713 1714 * amd/info_exec.c: Replaced MAX_LINE_LEN with INFO_MAX_LINE_LEN 1715 1716 * amd/info_file.c: Replaced MAX_LINE_LEN with INFO_MAX_LINE_LEN, 1717 added support for parsing Sun style maps. The support for Sun 1718 maps is done using the sun_entry2amd() function. This function is 1719 called for each entry line that is read only when Sun parsing is 1720 enabled. For each entry line that is passed to the function a 1721 copy of the Amd equivalent is returned. 1722 1723 * amd/sun_map.h: new header file for Sun style map support 1724 1725 * amd/sun_map.c: new source file for Sun style map support, clean 1726 up comments, additional sun2amd conversion routines 1727 1728 * amd/sun_map_parse.y: new yacc file for parsing Sun style maps, 1729 fix copyright notice, put filename below license. 1730 1731 * amd/sun_map_tok.l: new lex file for parsing Sun style maps, fix 1732 copyright notice, put filename below license. 1733 1734 * amd/get_args.c: replace usage of strlcat with xstrlcat 1735 1736 * include/am_utils.h: added 'extern void xstrlcat()' 1737 1738 * libamu/util.c: Added a xstrlcat() function that wraps the 1739 syscall strlcat() so that string truncations can be logged. 1740 17412005-08-06 Erez Zadok <ezk@cs.sunysb.edu> 1742 1743 * amd/info_file.c (file_search, file_reload): pass mnt_map to 1744 file_search_or_reload. 1745 (file_search_or_reload): ensure that mnt_map is never NULL. 1746 1747 * amd/info_nis.c (nis_search): call sun_entry2amd() if 1748 sun_map_syntax=yes. 1749 1750 * amd/info_ldap.c (amu_ldap_search): call sun_entry2amd() if 1751 sun_map_syntax=yes. 1752 1753 * amd/info_hesiod.c (hesiod_search): call sun_entry2amd() if 1754 sun_map_syntax=yes. 1755 1756 * amd/info_ndbm.c (ndbm_search): pass mnt_map to search_ndbm. 1757 (search_ndbm): call sun_entry2amd() if sun_map_syntax=yes. 1758 1759 * amd/info_nisplus.c (nisplus_search): call sun_entry2amd() if 1760 sun_map_syntax=yes. 1761 1762 * amd/info_exec.c (exec_search): pass mnt_map to 1763 exec_parse_qanswer. 1764 (exec_parse_qanswer): call sun_entry2amd() if sun_map_syntax=yes. 1765 1766 * doc/am-utils.texi (sun_map_syntax Parameter): document new 1767 common parameter. 1768 1769 * scripts/amd.conf.5: selectors_in_defaults is a common parameter, 1770 not just [global]. Use consistent capitalization of Amd/Amq. 1771 Document new sun_map_syntax parameter. 1772 1773 * scripts/amd.conf-sample: properly list all of the parameters 1774 which are common to both the [global] and the per-map sections. 1775 (sun_map_syntax): example of new parameter. 1776 1777 * doc/am-utils.texi (Common Parameters): selectors_in_defaults is 1778 a common parameter, not just [global]. 1779 1780 * scripts/amd.conf-sample (sun_map_syntax): example of new flag. 1781 1782 * amd/conf.c ({ropt,gopt}_sun_map_syntax): new function to parse 1783 sun_map_syntax flag (global or per map). 1784 1785 * amd/amd.h (CFM_SUN_MAP_SYNTAX): new flag for users to say if the 1786 map uses Sun automounter syntax. 1787 1788 * cvs-server.txt: update instructions after branching 6.1-stable. 1789 17902005-08-02 Erez Zadok <ezk@cs.sunysb.edu> 1791 1792 ******************************************************************* 1793 *** Released am-utils-6.1.1 *** 1794 ******************************************************************* 1795 1796 * libamu/xutil.c (xsnprintf): "unsafe" alternative to vsnprintf is 1797 vsprintf, not sprintf. 1798 1799 * conf/umount/umount_osf.c (umount_fs): refer to proper formal 1800 parameter name. 1801 (umount2_fs): pass second arg to umount(). 1802 1803 * ALL: remove CVS ID and put actual file name in source. 1804 1805 * conf/autofs/*.[hc]: proper copyright headers. 1806 1807 * whitespace reformatting. Remove remaining '%W%' SCCS IDs. 1808 1809 * amd/mntfs.c (free_mntfs): don't discard the last reference to an 1810 mntfs that had been mounted already. It won't have the 1811 MFF_RESTARTED flag on, as it gets turned off after the entry is 1812 mounted, but it will have the MFF_RSTKEEP flag on. 1813 1814 * amd/autil.c (mf_mounted), amd/restart.c (restart_fake_mntfs): 1815 show the mntfs's flags. 1816 18172005-08-01 Erez Zadok <ezk@cs.sunysb.edu> 1818 1819 * conf/mtab/mtab_linux.c: removed unused code. Cleanup. 1820 (handler): removed this bad signal handler. 1821 (lock_mtab): Redhat's original code set a signal handler called 1822 "handler()" for all non-ALRM signals. The handler called 1823 unlock_mntlist(), plog'ed the signal name, and then exit(1)! 1824 Never, ever, exit() from inside a utility function. This messed 1825 up Amd's careful signal-handling code, and caused Amd to abort 1826 uncleanly only any other "innocent" signal 1827 (even simple SIGUSR1), leaving behind a hung Amd mnt point. That 1828 code should have at least restored the signal handlers' states 1829 upon a successful mtab unlocking. Anyway, that handler was 1830 unnecessary, because will call unlock_mntlist() properly anyway on 1831 exit. 1832 1833 * conf/mtab/mtab_{file,isc3,mach3,linux}.c (unlock_mntlist): dlog 1834 message that we're inside the unlock_mntlist function. 1835 1836 * amd/amd.c (main): use new setup_sighandler() for Amd's four main 1837 signals (INT, TERM, HUP, and CHLD). 1838 (main) Add SIGINT and SIGTERM to masked_sigs, used in 1839 nfs_start.c:do_select() for setjmp/longjmp code; the MASK was set 1840 to all four signals if !HAVE_SIGACTION, but only to HUP+CHLD if we 1841 HAVE_SIGACTION. So this change makes Amd behave consistently. 1842 1843 * include/am_utils.h: extern for new setup_sighandler(). 1844 1845 * libamu/xutil.c (setup_sighandler): new utility function to setup 1846 a single signal-handler regardless of what method is supported by 1847 this OS. 1848 (going_down): call unlock_mntlist() when exiting, to ensure that 1849 Amd will remove any leftover mtab lock files, if any. 1850 1851 * amd/restart.c (restart_automounter_nodes): cleanup function. 1852 1853 * minor new port: i386-pc-linuxoldld-deb3.1. 1854 1855 * configure.in: include <sys/types.h> before <linux/socket.h> to 1856 get the definition of size_t on Debian-3.1r0a. 1857 18582005-07-29 Erez Zadok <ezk@cs.sunysb.edu> 1859 1860 * amd/srvr_nfs.c (find_nfs_srvr): don't blindly copy the hostent 1861 IP address. First check if it differs from the existing one of 1862 the fserver, and copy only if it changed. If it did change, flush 1863 the fhandle cache to avoid a stale fhandle being reused. This 1864 allows Amd to detect IP address changes even for an fserver that 1865 lost one or more NFS pings, but not enough to be declared totally 1866 down. We handle the "totally down" fserver case in 1867 check_fs_addr_change(). 1868 1869 * amd/ops_nfs.c (nfs_umount), amd/sched.c (sched_task), 1870 amd/nfs_subr.c (nfs_quick_reply): code clarity. 1871 1872 * conf/mount/mount_linux.c (linux_nfs_error): dlog mappings of 1873 errnos to NFS errors. 1874 1875 * conf/umount/umount_linux.c (umount2_fs): cleanup code. Trying 1876 stat() seems doomed to hang at times, so don't try stat at all, 1877 because umount2() appears to be clever enough to never hang. 1878 18792005-07-25 Erez Zadok <ezk@cs.sunysb.edu> 1880 1881 * amd/amd.h (FSF_FORCE_UNMOUNT): new flag used to indicate that a 1882 particular fserver may need forced/lazy unmounts when it's mntfs's 1883 are unmounted. 1884 1885 * amd/ops_nfs.c (nfs_umount): a simple unmount returned EBUSY, and 1886 the user specified forced_unmounts=yes in amd.conf, and this 1887 fserver was flagged with FSF_FORCE_UNMOUNT, and the OS supports 1888 forced/lazy unmounts, then try forced/lazy unmounts. This should 1889 allow a hung mount point to be removed. 1890 1891 * amd/srvr_nfs.c (find_nfs_srvr): move away IP-address change 1892 detection code to its own function. 1893 (check_fs_addr_change): new function to detect if the IP address 1894 of a downed host has changed, and do various cleanups and fixups 1895 to try and recover as best from that situation (e.g., flushing 1896 various caches). Also set the FSF_FORCE_UNMOUNT flag for the 1897 fserver in question. 1898 (flush_srvr_nfs_cache): pass fserver as argument, so we can 1899 selectively flush the NFS cache for a single fserver (or all of 1900 them, if you pass NULL). 1901 1902 * libamu/xutil.c (switch_to_logfile): truncate a regular-file log 1903 file if user passed non-zero "truncate_log" flag. 1904 1905 * include/am_utils.h: switch_to_logfile() now takes a 3rd arg. 1906 1907 * amd/get_args.c (get_args): pass "truncate_log" flag as per 1908 amd.conf global settings. 1909 1910 * amd/conf.c (gopt_truncate_log): store global value of 1911 truncate_log flag. 1912 1913 * amd/amq_subr.c (amqproc_setopt_1_svc), hlfsd/hlfsd.c (main, 1914 reload): don't truncate log file when calling switch_to_logfile(). 1915 1916 * amd/amd.h (CFM_TRUNCATE_LOG): new flag. Fix comment typo. 1917 1918 * NEWS, doc/am-utils.texi (truncate_log Parameter), 1919 scripts/amd.conf.5, scripts/amd.conf-sample (log_file): document 1920 new truncate_log amd.conf parameter. 1921 1922 * amd/conf.c (gopt_forced_unmounts): check Linux kernel version 1923 and alert if your version may be too old for MNT_FORCE to work 1924 (before 2.4.0) or for MNT_DETACH to work (before 2.6.0). 1925 Otherwise it may be impossible to pin down the exact kernel 1926 version in which we should enable this feature. 1927 1928 * conf/umount/umount_linux.c (umount2_fs): if MNT_FORCE returned 1929 EBUSY, then don't try to stat(2) before MNT_DETACH because it 1930 could hang. 1931 19322005-07-21 Erez Zadok <ezk@cs.sunysb.edu> 1933 1934 * conf/umount/umount_linux.c (umount_fs): cleanup this function, 1935 breaking long "if" statements using "goto out". 1936 1937 * conf/umount/umount_{aix,bsd44,osf,default,linux}.c (umount_fs): 1938 call new utility function umount2_fs() as needed (EBUSY, EIO, or 1939 ESTALE). 1940 1941 * conf/umount/umount_{aix,bsd44,osf,default,linux}.c (umount2_fs): 1942 define a new utility function to invoke forcible/lazy unmounts 1943 without touching any mtab files. This separate utility function 1944 is useful because it can be called from elsewhere. 1945 1946 * amd/amfs_toplvl.c (amfs_toplvl_init): new function, called 1947 before Amd mounts toplvl mounts, which gives us a hook for cleanup 1948 of a previously dead Amd. In our case, if the user asked for 1949 forced_unmounts, and the OS supports it, then we try forced/lazy 1950 unmounts on any previous toplvl mounts. This is useful if a 1951 previous Amd died and left behind toplvl mount points (this Amd 1952 will clean them up!). WARNING: Don't use forced/lazy unmounts if 1953 you have another valid Amd running, because this code WILL force 1954 those valid toplvl mount points to be detached as well! 1955 1956 * amd/amfs_toplvl.c (amfs_toplvl_umount): don't unconditionally 1957 try forced/lazy unmounts because it will prevent a normal Amd from 1958 terminating and cleaning up properly (self-deadlocking: detached 1959 mounts hang the parent Amd on a stat). Since we already do 1960 unmounts in the background, then try a safer policy: after trying 1961 the normal unmounts a few times (5 sec), escalate and try forced 1962 unmounts a few times (5 more seconds), and if even that failed, 1963 then try the ultimate -- detached unmounts (which always succeed). 1964 This allows Amd to first try and shutdown cleanly, and gradually 1965 try more forcible ways to shutdown. On Linux, this procedure will 1966 cleanly shutdown Amd even if there are processes with their CWD on 1967 Amd's mount points (which normally result in EBUSY). 1968 19692005-07-20 Erez Zadok <ezk@cs.sunysb.edu> 1970 1971 * Makefile.am (EXTRA_DIST_CONF): add new umount_aix.c to distro. 1972 1973 * conf/umount/umount_aix.c: easier if AIX has its own unmount 1974 helper file. 1975 1976 * m4/macros/check_umount_style.m4: AIX needs its own unmount style 1977 file. 1978 1979 * doc/am-utils.texi (forced_unmounts Parameter): @xref -> @pxref. 1980 19812005-07-19 Erez Zadok <ezk@cs.sunysb.edu> 1982 1983 * conf/nfs_prot/nfs_prot_aix5_2.h: define compatible 1984 forced-unmount flag. 1985 1986 * conf/umount/umount_default.c (umount_fs): if regular umount got 1987 EBUSY, EIO, or ESTALE, then try forced unmount, if supported. Try 1988 umount2 (Solaris) or uvmount (AIX). 1989 1990 * conf/umount/umount_{bsd44,osf}.c (umount_fs): if default 1991 umount() failed with EIO or ESTALE, also try forced unmount. 1992 19932005-07-18 Erez Zadok <ezk@cs.sunysb.edu> 1994 1995 * amd/autil.c (amfs_mount), amd/amfs_toplvl.c 1996 (amfs_toplvl_umount): enable forced/lazy unmounts only if user 1997 asked for it (and dlog it). 1998 1999 * scripts/amd.conf.5: document new force_unmount global parameter. 2000 2001 * doc/am-utils.texi (forced_unmounts Parameter): document new 2002 global parameter. 2003 2004 * amd/conf.c (gopt_forced_unmounts): process forced_unmounts 2005 option (default "no"). Exit with an error if user specified the 2006 option as "yes" but configure couldn't find support for either the 2007 MNT_FORCE or MNT_DETACH flags. 2008 2009 * scripts/amd.conf-sample (forced_unmounts): example usage of new 2010 option. 2011 2012 * amd/amd.h (CFM_FORCED_UNMOUNTS): new flag for forced_unmounts 2013 option. 2014 2015 * m4/macros/header_templates.m4: templates for _DETACH and _FORCE. 2016 2017 * configure.in: check for generic u/mount options "detach" and 2018 "force". 2019 2020 * include/am_utils.h (UMOUNT_FS, umount_fs): new prototypes. 2021 Define AMU_UMOUNT flags for force, detach, and autofs. 2022 2023 * amd/amfs_toplvl.c (amfs_toplvl_umount): pass _FORCE and _DETACH 2024 unmount flags unconditionally. Pass them to UMOUNT_FS(). 2025 2026 * conf/nfs_prot/nfs_prot_linux.h: define MNT_FORCE and MNT_DETACH 2027 if needed, because some Linux systems don't define them 2028 (presumably because it would be too dangerous to expose these 2029 flags to users). 2030 2031 * amd/autil.c (amfs_mount): if mount(2) failed with ESTALE or EIO, 2032 then assume that we're in trouble, possibly because a previous 2033 mount is hung. So, first try to force a lazy unmount of the old 2034 mount. If the forced unmount worked, then try again to mount the 2035 desired file system. If the forced unmount failed, then don't 2036 retry: just return an error. 2037 2038 * amd/amfs_generic.c (amfs_generic_umount), amd/amfs_host.c 2039 (amfs_host_umount), amd/ops_cachefs.c (cachefs_umount), 2040 amd/ops_cdfs.c (cdfs_umount), amd/ops_efs.c (efs_umount), 2041 amd/ops_lofs.c (lofs_umount), amd/ops_nfs.c (nfs_umount), 2042 amd/ops_pcfs.c (pcfs_umount), amd/ops_ufs.c (ufs_umount), 2043 amd/ops_xfs.c (xfs_umount), conf/umount/umount_bsd44.c 2044 (umount_fs), conf/umount/umount_default.c (umount_fs), 2045 conf/umount/umount_linux.c (umount_fs), conf/umount/umount_osf.c 2046 (umount_fs): compute and use unmount specific flags. 2047 20482005-07-16 Erez Zadok <ezk@cs.sunysb.edu> 2049 2050 * configure.in: better help for users, if nfs_args can't be found. 2051 20522005-07-15 Erez Zadok <ezk@cs.sunysb.edu> 2053 2054 * BUGS: more details on AIX's need to install bos.net.nfs.adt 2055 before configuring am-utils (else configure cannot find struct 2056 nfs_args on AIX). 2057 20582005-07-10 Erez Zadok <ezk@cs.sunysb.edu> 2059 2060 * amd/srvr_nfs.c (find_nfs_srvr): flush NFS handle cache if the IP 2061 address of a down server had changed. 2062 2063 * amd/info_union.c (union_reload): use safer xsnprintf() routine. 2064 2065 * amd/srvr_nfs.c (find_nfs_srvr): check to see if the IP address 2066 of a named but down fserver changed (i.e., the previous IP address 2067 is no longer responding). If so, then reset the fserver to the 2068 new IP address, and set the fserver's flags such that the function 2069 will fall through to doing the usual NFS version/proto checks and 2070 pinging. (This should fix one case of bug #308.) 2071 2072 * conf/umount/umount_linux.c (umount_fs): warn if plain umount() 2073 failed, before we try to ignore any errors or try optional 2074 umount2(), possibly with forced/lazy unmount. 2075 (umount_fs): dlog when unmount succeeded. 2076 20772005-07-08 Erez Zadok <ezk@cs.sunysb.edu> 2078 2079 * conf/mount/mount_linux.c: add a couple more NFSv2 error codes 2080 that are compatible with NFSv3. 2081 20822005-07-07 Erez Zadok <ezk@cs.sunysb.edu> 2083 2084 * m4/macros/header_templates.m4: extern template for strlcat(). 2085 2086 * amd/get_args.c (get_version_string): use safer strlcat (or 2087 replacement strlcat). Use new wrapper xsnprintf() function, which 2088 will use the safer vsnprintf() if available, else default to plain 2089 sprintf. 2090 2091 * configure.in: check for existence of strlcat() and its extern, 2092 replacing with libamu/strlcat.c as needed. 2093 2094 * libamu/Makefile.am (EXTRA_DIST): add strlcat.c to distro. 2095 2096 * include/am_defs.h: optional strlcat() extern. 2097 2098 * include/am_utils.h: extern for new xvsnprintf(). 2099 2100 * configure.in: overdue new major libtool shlib version. 2101 Check for snprintf function and extern. 2102 21032005-07-06 Erez Zadok <ezk@cs.sunysb.edu> 2104 2105 * conf/nfs_prot/nfs_prot_aix4_3.h: cleanup struct 2106 aix4_nfs_args_bis. 2107 2108 * Makefile.am (EXTRA_DIST_CONF): include mount_aix3.c in 2109 distribution. 2110 2111 * conf/mount/mount_aix.c: mount style for aix 5.x and newer. 2112 2113 * conf/mount/mount_aix3.c: mount styles for aix 3.x/4.x. 2114 2115 * m4/macros/check_mount_style.m4: split mount styles for 2116 aix3.x/4.x and the newer (and better) aix 5.x code. 2117 21182005-07-05 Erez Zadok <ezk@cs.sunysb.edu> 2119 2120 * amq/pawd.c (getawd): avoid buffer overflow. Bug fix from Graeme 2121 Wilford <G.Wilford@surrey.ac.uk>. 2122 21232005-06-30 Erez Zadok <ezk@cs.sunysb.edu> 2124 2125 * amd/map.c (get_next_exported_ap): Avoid running off the end of 2126 the exported_ap[] array. Patch from jon+amd-at-spock.org. Fixed 2127 bug #301. 2128 21292005-06-25 Erez Zadok <ezk@cs.sunysb.edu> 2130 2131 * Makefile.am (EXTRA_DIST_CONF): distribute new mtab_linux.c. 2132 2133 * conf/mtab/mtab_linux.c (rewrite_mtab): variable declarations 2134 must come before C code. 2135 2136 * conf/mtab/mtab_linux.c: Linux-specific mount table hanlding 2137 that's safe (uses locks, handles symlinks to /proc/mounts, etc.). 2138 Patch from Red Hat, which they adapted from mtab_file.c. Minor 2139 fixes to this file. 2140 2141 * m4/macros/check_mnttab_style.m4: Use Linux-specific mount table 2142 handling. 2143 21442005-06-24 Erez Zadok <ezk@cs.sunysb.edu> 2145 2146 * conf/mount/mount_aix.c (mount_aix3): minor cleanup of filehandle 2147 copying code. 2148 21492005-06-23 Erez Zadok <ezk@cs.sunysb.edu> 2150 2151 * conf/nfs_prot/nfs_prot_hpux.h: add extern for h_errno, which may 2152 be missing from older hpux10 systems. 2153 2154 * configure.in: update bug-reporting address to list 2155 https://bugzilla.am-utils.org/ as well as the mailing list. 2156 2157 * Makefile.am (EXTRA_DIST_M4): distribute new type_rpcvers_t.m4 2158 macro. 2159 2160 * conf/transp/transp_tli.c (get_nfs_version): always use 2161 rpcvers_t, now that it'll be automatically discovered. 2162 2163 * configure.in: check for rpcvers_t type. 2164 2165 * m4/macros/type_rpcvers_t.m4: new macro to check for type of 2166 rpcvers_t (Some Solaris versions need it). 2167 2168 * conf/nfs_prot/nfs_prot_sunos5_8.h: don't define INADDR_NONE 2169 here, but in the actual source files that may need it. 2170 2171 * libamu/wire.c (INADDR_NONE): define INADDR_NONE if not defined 2172 already. 2173 2174 * include/am_defs.h: define extern for sleep(3) if needed. 2175 2176 * m4/macros/header_templates.m4: template for sleep(3) extern. 2177 2178 * configure.in: check for extern for sleep(3), which is missing 2179 from some old (and buggy) versions of gcc's fixinc'ed headers. 2180 2181 * conf/nfs_prot/nfs_prot_aix4_3.h: update definition of struct 2182 nfs_args from actual system headers. 2183 2184 * conf/mount/mount_aix.c (mount_aix3): fix name of aix4 "bis" 2185 structure. 2186 21872005-06-22 Erez Zadok <ezk@cs.sunysb.edu> 2188 2189 * BUGS: update Solaris information about use of f/lex and 2190 yacc/bison. 2191 21922005-06-20 Erez Zadok <ezk@cs.sunysb.edu> 2193 2194 * minor new port: i386-pc-linux-suse9.3. 2195 21962005-06-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 2197 2198 * configure.in (linux/nfs_mount.h): Move __KERNEL__ definition up 2199 so u32 is available for <linux/sunrpc/msg_prot.h>. 2200 22012005-06-16 Erez Zadok <ezk@cs.sunysb.edu> 2202 2203 * amd/mapc.c (maptypes): move MAP_EXEC after MAP_FILE, because 2204 exec maps will always match when users use amd with command line 2205 args (not amd.conf). Using that legacy way, unfortunately, means 2206 that Amd will use it's hard-coded info-service search path, which 2207 doesn't work for everyone. It's much better to use amd.conf and 2208 specify what you want exactly. 2209 22102005-06-15 Erez Zadok <ezk@cs.sunysb.edu> 2211 2212 * minor new port: i386-pc-linux-fc4 (gcc4 catches more bugs). 2213 2214 * m4/macros/type_recvfrom_fromlen.m4: linux systems use unsigned 2215 int as the type of recvfrom()'s 6th argument. 2216 2217 * m4/macros/type_yp_order_outorder.m4: linux systems use unsigned 2218 int as the type of yp_order()'s 3rd argument. 2219 22202005-06-15 Erez Zadok <ezk@cs.sunysb.edu> 2221 2222 * scripts/amd.conf-sample (map_type): typo, said mount_type 2223 instead of map_type for the 'exec' example. 2224 22252005-06-11 Erez Zadok <ezk@cs.sunysb.edu> 2226 2227 ******************************************************************* 2228 *** Released am-utils-6.1 *** 2229 ******************************************************************* 2230 22312005-06-04 Erez Zadok <ezk@cs.sunysb.edu> 2232 2233 * amd/ops_nfs.c (mount_nfs_fh): set timeo/retrans mount options 2234 only if the user specified them in amd.conf or elsewhere. If they 2235 were not specified, don't do anything, which would let the OS use 2236 its own defaults. 2237 2238 * amd/get_args.c (get_args): negative timeo/retrans are "good" in 2239 that they represent uninitialized values (meaning to let the OS 2240 use it's default values). So only check if user specified a value 2241 equal to zero (invalid). 2242 2243 * amd/amd.h: define AMU_TYPE_NONE so we know when users didn't 2244 specify timeo/retrans at all. 2245 22462005-06-03 Erez Zadok <ezk@cs.sunysb.edu> 2247 2248 ******************************************************************* 2249 *** Released am-utils-6.1-rc7 *** 2250 ******************************************************************* 2251 2252 * m4/macros/os_cflags.m4 (CFLAGS): use custom-OS C flags for 2253 configuring, not just for building. That way the two phases 2254 (configure and compile) are in sync. This fixes getwire() on 2255 OSF/1 systems. 2256 2257 * conf/nfs_prot/nfs_prot_sunos5_8.h: define INADDR_NONE if not 2258 defined in system headers. 2259 22602005-06-01 Erez Zadok <ezk@cs.sunysb.edu> 2261 2262 * libamu/Makefile.am (EXTRA_DIST): remove alloca.c as it's no 2263 longer needed. 2264 22652005-05-28 Erez Zadok <ezk@cs.sunysb.edu> 2266 2267 * completed set of fixes for irix6.5. 2268 2269 * Minor new ports alpha-unknown-linux-gentoo1.4.16 2270 alphaev56-dec-osf4.0f, mips-unknown-linux-gentoo1.4.16, and 2271 sparc64-unknown-linux-gentoo1.4.16, and mips-sgi-irix6.5. Test 2272 those systems with both cc and gcc, where possible. 2273 2274 * include/am_xdr_func.h: remove trailing comma at end of enum 2275 list. 2276 2277 * m4/macros/os_cflags.m4: with gcc 3.4.3 on irix-6.5, we get pte_t 2278 undefined. So give it a dummy value. 2279 2280 * libamu/alloca.c: remove file from distro. 2281 2282 * configure.in: don't call AC_FUNC_ALLOCA any more. 2283 2284 * include/am_defs.h: remove header fixups for <alloca.h>, now that 2285 we don't need it. 2286 2287 * amd/amq_svc.c (amqsvc_is_client_allowed): rewrite function to 2288 avoid only use of alloca() in am-utils, and to use strdup 2289 explicitly. This way we can avoid using alloca, a feature that's 2290 not portable on various systems. 2291 2292 * amq/amq.c: remove unused lint/rcsid cruft. 2293 22942005-05-27 Erez Zadok <ezk@cs.sunysb.edu> 2295 2296 * conf/checkmount/checkmount_osf.c (fixmount_check_mount): add 2297 extra parentheses around assignments in "if" expressions (gcc 2298 complains). 2299 2300 * conf/nfs_prot/nfs_prot_osf4.h: add missing extern definitions 2301 for plock, hstrerror, getmntinfo, alloca, xdr_exportnode, and 2302 xdr_groups. 2303 2304 * configure.in: check for <linux/socket.h>, which, if found, 2305 appears to be preferable to <sys/socket.h>. Use it to find 2306 <linux/nfs_mount.h>. On some Linux systems 2307 (Gentoo), both exist but only one must be included, or else you 2308 get redefined structure errors. 2309 2310 * libamu/wire.c (is_network_member): check if masknum is 2311 INADDR_NONE, not "< 0" because it's an unsigned quantity. 2312 2313 * libamu/util.c (xstrlcpy): remove useless test for size_t < 0, 2314 because it's an unsigned quantity. 2315 23162005-05-26 Erez Zadok <ezk@cs.sunysb.edu> 2317 2318 ******************************************************************* 2319 *** Released am-utils-6.1-rc6 *** 2320 ******************************************************************* 2321 23222005-05-25 Erez Zadok <ezk@cs.sunysb.edu> 2323 2324 * conf/nfs_prot/nfs_prot_aix5_2.h: AIX 5.3 complains about 2325 missing definition of struct thread_credentials in <sys/vfs.h> 2326 but trying to bring that definition in drags a whole lot of other 2327 messy stuff. So just provide a dummy definition for this 2328 structure. 2329 23302005-05-24 Erez Zadok <ezk@cs.sunysb.edu> 2331 2332 * Makefile.am (EXTRA_DIST_M4): distribute m4/macros/libtool.m4. 2333 2334 * m4/macros/header_templates.m4: template for HAVE_EXTERN_MNTCTL. 2335 2336 * m4/macros/check_extern.m4: include <sys/vmount.h> on AIX 2337 systems, so we can find extern definition for mntctl(). 2338 2339 * conf/mtab/mtab_aix.c, conf/checkmount/checkmount_aix.c: only 2340 define an extern for mntctl() if needed. 2341 2342 * amd/ops_nfs.c (prime_nfs_fhandle_cache): never, ever, use C++ 2343 style comments in C code. Some C compilers don't accept it. 2344 2345 * amd/info_ldap.c (amu_ldap_init, get_ldap_timestamp): force cast 2346 of "time_t *ts" to u_long, to avoid complaints on AIX 5.2 with 2347 xlC. 2348 2349 * amd/get_args.c: rename symbol conf_file to amu_conf_file to 2350 avoid conflict with libldap.a from openldap-2.0.21 on AIX 5.2. 2351 Oh, when will people who develop libraries learn to always prefix 2352 their exported symbols with a library-specific name? 2353 2354 * configure.in: check for mntctl() extern on AIX systems. 2355 2356 * ltmain.sh: update from latest libtool-1.5.18, so we can properly 2357 build on AIX 5.2/5.3 with cc and with gcc. 2358 2359 * m4/macros/libtool.m4: update from latest libtool-1.5.18. This 2360 time, and from now on, we must include libtool.m4 from the libtool 2361 distribution itself. That way we ensure that we use an ltmain.sh 2362 that matches the appropriate libtool M4 macros. This makes 2363 am-utils no longer dependent on having libtool installed on a 2364 given system on which you run bootstrap. 2365 23662005-05-23 Erez Zadok <ezk@cs.sunysb.edu> 2367 2368 * minor new port: i386-pc-linux-deb3.0. 2369 23702005-05-22 Erez Zadok <ezk@cs.sunysb.edu> 2371 2372 * minor new ports: i386-unknown-netbsdelf2.0.2 and 2373 i386-unknown-openbsd3.7. 2374 23752005-05-20 Erez Zadok <ezk@cs.sunysb.edu> 2376 2377 * minor new ports: i386-pc-linux-gentoo1.4.16 and 2378 powerpc-unknown-linux-yellowdog2.3. 2379 2380 * include/{mount_headers2.h, am_defs.h}: safer setup before 2381 inclusion of <linux/nfs_mount.h>, which is broken on several 2382 systems. 2383 2384 * configure.in: test for <linux/nfs2.h>. Separate special test 2385 for <linux/nfs_mount.h> because we need to define __KERNEL__ for 2386 that test, as well as optionally define struct nfs2_fh for some 2387 systems (gentoo with 2.4 kernel, yellowdog 2.3, and others). 2388 2389 * config.guess.long: support Gentoo and Yellow Dog Linux distros. 2390 23912005-05-18 Erez Zadok <ezk@cs.sunysb.edu> 2392 2393 * minor new ports: i386-pc-linux-suse9.2 and 2394 i386-unknown-freebsd5.4. 2395 2396 * amd/nfs_subr.c: use NFS_FHSIZE, not FHSIZE. 2397 23982005-05-17 Erez Zadok <ezk@cs.sunysb.edu> 2399 2400 ******************************************************************* 2401 *** Released am-utils-6.1-rc5 *** 2402 ******************************************************************* 2403 2404 * amd/info_ldap.c (amu_ldap_init): change plog to dlog, to avoid 2405 sending annoying warning for a minor issue. 2406 24072005-05-17 Ion Badulescu <ionut@moisil.badula.org> 2408 2409 * amd/nfs_subr.c: check for NULL pointer before dereferencing it. 2410 24112005-05-16 Erez Zadok <ezk@cs.sunysb.edu> 2412 2413 * minor new ports: powerpc-apple-darwin7.9.0. 2414 2415 * m4/macros/host_macros.m4: if a NetBSD system, remove 'elf' part 2416 from OS name because it's no longer relevant. Also, don't include 2417 the major OS version number in the OS name because that's also 2418 unnecessary (and users can always use $osver in maps). 2419 2420 * amd/nfs_subr.c: use [1] for out-of-band pointer at the end of 2421 struct am_fh, because it's the most portable method. Bug fix 2422 suggestion from Dan Riley <dsr at mail.lns.cornell.edu>. Better 2423 fix from Ion Badulescu: use [FHSIZE-sizeof(u_int)] which is the 2424 actual size we use. 2425 2426 * amd/amfs_generic.c (amfs_lookup_mntfs): reset currently used 2427 def_opts to options given in -opts, appended with the /default 2428 options. Bug fix suggestion from Dan Riley <dsr at 2429 mail.lns.cornell.edu>. 2430 24312005-05-13 Erez Zadok <ezk@cs.sunysb.edu> 2432 2433 ******************************************************************* 2434 *** Released am-utils-6.1-rc4 *** 2435 ******************************************************************* 2436 24372005-05-11 Daniel P. Ottavio <dottavio@ic.sunysb.edu> 2438 2439 * amd/amd.c (main) : fixed memory leak detected by valgrind 2440 2441 * amd/info_ldap.c (amu_ldap_init) : fixed memory leak detected by 2442 valgrind 2443 24442005-05-11 Erez Zadok <ezk@cs.sunysb.edu> 2445 2446 * m4/macros/{check_checkmount_style.m4, check_mnttab_style.m4, 2447 check_nfs_fh_dref.m4, check_nfs_prot_headers.m4, 2448 check_nfs_sa_dref.m4, check_umount_style.m4, os_cflags.m4}: check 2449 for "macosx" as valid OS string, so we compile properly on Darwin 2450 systems. 2451 2452 ******************************************************************* 2453 *** Released am-utils-6.1-rc3 *** 2454 ******************************************************************* 2455 2456 * rerun bootstrap to get a working configure script that actually 2457 checks for limits.h and dependent linux autofs/nfs headers. 2458 2459 * configure.in: remove redundant check for limits.h. 2460 24612005-05-09 Erez Zadok <ezk@cs.sunysb.edu> 2462 2463 ******************************************************************* 2464 *** Released am-utils-6.1-rc2 *** 2465 ******************************************************************* 2466 24672005-05-08 Erez Zadok <ezk@cs.sunysb.edu> 2468 2469 * amd/amfs_generic.c (amfs_lookup_mntfs): removed redundant use of 2470 old_def_opts variable. 2471 24722005-05-08 Daniel P. Ottavio <dottavio@ic.sunysb.edu> 2473 2474 * amd/amfs_generic.c (amfs_lookup_mntfs) : Make sure when a map 2475 entry has a single dash '-', that the default options are reset. 2476 This functionality was somehow lost from earlier releases and 2477 reported by Dan Riley <dsr@mail.lns.cornell.edu>. 2478 24792005-05-05 Erez Zadok <ezk@cs.sunysb.edu> 2480 2481 * config.guess.long: detect SuSE Enterprise Server and call it 2482 "sles" not "suse". 2483 24842005-05-02 Erez Zadok <ezk@cs.sunysb.edu> 2485 2486 * doc/am-utils.texi (amd): document proper use of 2487 /etc/hosts.allow. Don't spawn a new Amd process because Amd will 2488 get confused if someone else waitpid's on its children (which 2489 often do important un/mount work). Issue reported by Francis 2490 Montagnac <Francis.Montagnac at sophia.inria.fr>. 2491 2492 * minor new ports: powerpc64-unknown-linux-rhel4, and 2493 powerpc64-unknown-linux-sles9. 2494 24952005-05-01 Daniel P. Ottavio <dottavio@ic.sunysb.edu> 2496 2497 * amd/amfs_host.c (amfs_host_umount): We do not want to pass 2498 ENOENT as an error because if the directory does not exists our 2499 work is done anyway. 2500 2501 * conf/umount/umount_linux.c (umount_fs): If we are successful or 2502 there was an ENOENT, remove the mount entry from the mtab file. 2503 25042005-05-01 Ion Badulescu <ionut@moisil.badula.org> 2505 2506 * amd/nfs_subr.c: am_fh definition moved here from amd.h; 2507 restructured to better reflect its duality (old/new filehandles) 2508 (fh_to_mp3): fhh_gen is always used, even for new style f/h 2509 (mp_to_fh): ditto 2510 2511 * amd/amd.h: moved am_fh definition to nfs_subr.c (which is the 2512 only place where it's used) 2513 25142005-04-30 Erez Zadok <ezk@cs.sunysb.edu> 2515 2516 * m4/macros/host_macros.m4: use sw_vers on Apple machines to find 2517 out more appropriate OS name (macosx) and OS version (10.3.x) than 2518 uname(3) reports. 2519 25202005-04-29 Erez Zadok <ezk@cs.sunysb.edu> 2521 2522 * config.guess, config.sub, doc/texinfo.tex: updates from latest 2523 official GNU distributions. 2524 2525 * m4/macros/host_macros.m4: for macosx, change architecture value 2526 from "Power Macintosh" to "powerpc". 2527 2528 * libamu/util.c (xstrlcpy): format 'len' parameter as u_long, not 2529 int (it's a size_t). 2530 25312005-04-16 Erez Zadok <ezk@cs.sunysb.edu> 2532 2533 * scripts/amd.conf.5, doc/am-utils.texi (normalize_slashes 2534 Parameter), scripts/amd.conf-sample: document new 2535 normalize_slashes global configuration parameter. 2536 2537 * amd/opts.c (deslashify, normalize_slash): don't touch trailing 2538 slashes, even if multiples of them, if user said 2539 normalize_slashes=no in amd.conf. 2540 2541 * amd/conf.c (gopt_normalize_slashes): new function to record if 2542 to normalize slashes or not. 2543 2544 * amd/amd.h (CFM_NORMALIZE_SLASHES): new flag to decide if to 2545 normalize double-slashes or not ("yes" by default). 2546 2547 * amd/autil.c (am_mounted): pass TRUE when calling mf_mounted. 2548 This is the parent mntfs which does the mf->mf_fo 2549 (am_opts type), and we're passing TRUE here to tell mf_mounted to 2550 actually free the am_opts. 2551 2552 * amd/autil.c (mf_mounted): Be careful when calling free_ops and 2553 XFREE here. Some pseudo file systems like nfsx call this 2554 function, even though it would be called by the lower-level amd 2555 file system functions. nfsx needs to call this function because 2556 of the other actions it takes. So we pass a boolean from the 2557 caller (yes, not so clean workaround) to determine if we should 2558 free or not. If we're not freeing (often because we're called 2559 from a callback function), then just to be sure, we'll zero out 2560 the am_opts structure and set the pointer to NULL. The parent 2561 mntfs node owns this memory and is going to free it with a call to 2562 mf_mounted(mntfs,TRUE). 2563 2564 * amd/amd.h: pass flag to mf_mounted, to free or not to free the 2565 am_opts. 2566 2567 * amd/amfs_nfsx.c (amfs_nfsx_cont): call mf_mounted with FALSE to 2568 tell it not to free the am_opts, to avoid double free. 2569 2570 * include/am_defs.h: include limits.h if found. 2571 2572 * configure.in: check for limits.h. Check for certain Linux 2573 headers such as auto_fs.h after checking for limits.h, and include 2574 the latter if it exists, because some Linux headers depend on 2575 limits.h. This prevents warnings during configure time. 2576 25772005-04-12 Erez Zadok <ezk@cs.sunysb.edu> 2578 2579 * amd/amfs_toplvl.c (amfs_toplvl_mount): do NOT set retrans/timeo 2580 values from default global UDP settings, because it can cause 2581 unexpected timeouts in Amd on slow systems. The default that each 2582 OS provides for these toplvl NFS mounts should be OK, or else you 2583 can use the map_options entry. 2584 25852005-04-09 Daniel P. Ottavio <dottavio@ic.sunysb.edu> 2586 2587 * amd/nfs_subr.c (mp_to_fh): Replace xstrlcpy with memcpy because the 2588 source buffer is treated more as a filehandle than a string. 2589 2590 * amd/nfs_subr.c (fh_to_mp3): Replace xstrlcpy with memcpy because the 2591 source buffer is treated more as a filehandle than a string. 2592 2593 * amd/opts.c (free_op): No longer need to assign pointer to NULL 2594 after XFREE. 2595 2596 * amd/opts.c (expand_op): Revert back to using strncpy() instead 2597 of xstrlcpy. The code is correct and relies on the semantics of 2598 strncpy. 2599 2600 * libamu/mount_fs.c (compute_nfs_args): Leave XXX warning that use 2601 of xstrlcpy in NFS_HN_DREF may corrupt a struct nfs_args, or 2602 truncate our concocted "hostname:/path" string prematurely if the 2603 nap->hostname field is ever less than 64 bytes long 2604 (MAXHOSTNAMELEN). 2605 2606 * libamu/util.c (xstrlcpy): Return immediately if len is 0 to 2607 avoid unnecessary work. Log an error and return if len is less 2608 than 0. 2609 26102005-04-07 Erez Zadok <ezk@cs.sunysb.edu> 2611 2612 * include/am_utils.h (XFREE): XFREE() should nullify the pointer 2613 even when compiling without debugging. It's safer this way. 2614 2615 * libamu/xutil.c (am_set_hostname), 2616 hlfsd/stubs.c (nfsproc_lookup_2_svc), 2617 fsinfo/fsinfo.c (fsi_get_args), 2618 fixmount/fixmount.c (is_same_host, remove_mount, main), 2619 conf/mtab/mtab_isc3.c (mnt_dup, mtab_of), 2620 conf/mount/mount_svr4.c (mount_svr4), 2621 conf/mount/mount_linux.c (setup_loop_device), 2622 conf/hn_dref/hn_dref_linux.h (NFS_HN_DREF), 2623 conf/hn_dref/hn_dref_isc3.h (NFS_HN_DREF), 2624 amd/opts.c (expand_op), 2625 amd/ops_nfs.c (mount_nfs_fh), 2626 amd/nfs_subr.c (fh_to_mp3, mp_to_fh), 2627 amd/amfs_host.c (amfs_host_mount), 2628 amd/am_ops.c (merge_opts): 2629 use the new xstrlcpy instead of strncpy. 2630 2631 * conf/checkmount/checkmount_{default,svr4}.c 2632 (fixmount_check_mount): document why NOT to use xstrlcpy. 2633 2634 * libamu/xutil.c: am_hostname need not be MAXHOSTNAMELEN+1 any 2635 more, just MAXHOSTNAMELEN. 2636 2637 * libamu/xutil.c (real_plog): use strlcpy (not xstrlcpy to avoid 2638 recursion, since xstrlcpy may use plog). 2639 2640 * libamu/util.c (xstrlcpy): truncating a string is serious. Use 2641 XLOG_ERROR not XLOG_WARNING. 2642 26432005-04-06 Erez Zadok <ezk@cs.sunysb.edu> 2644 2645 * include/am_utils.h: external definition for new xstrlcpy 2646 function. 2647 2648 * libamu/util.c (xstrlcpy): new function. Similar to strncpy, but 2649 uses strlcpy to guarantee that the resulting string is null 2650 terminated, and also warn if the resulting string was truncated. 2651 2652 * libamu/xutil.c (get_server_pid): move this function from util.c 2653 which is for general-purpose utilities. 2654 2655 * m4/macros/header_templates.m4: template for HAVE_EXTERN_STRLCPY. 2656 2657 * include/am_defs.h: provide extern definition for strlcpy, if 2658 needed. 2659 2660 * libamu/Makefile.am (EXTRA_DIST): include strlcpy.c in distro. 2661 2662 * configure.in: search for strlcpy and its extern. 2663 2664 * amq/pawd.c (find_mt): It only handles *some* filesystem types, 2665 so it breaks on direct xfs mounts for example. The fix (from 2666 Christos Zoulas) is simple: We need to exclude toplvl to avoid 2667 infinite recursion, but all other fs's are game. 2668 26692005-03-31 Erez Zadok <ezk@cs.sunysb.edu> 2670 2671 * amd/nfs_subr.c (fh_to_mp3): strncpy may not null terminate if 2672 copying exactly len bytes, so add null just to be safe. 2673 26742005-03-30 Daniel P. Ottavio <dottavio@ic.sunysb.edu> 2675 2676 * amd/nfs_subr.c (fh_to_mp3): Increased the n of strncpy() 2677 to make sure it null terminates. 2678 26792005-03-29 Daniel P. Ottavio <dottavio@ic.sunysb.edu> 2680 2681 * amd/nfs_subr.c (fh_to_mp3): Fix memset bug. In this case 2682 the memset can be removed because strncpy() should padd the 2683 buffer with NULLs anyway. 2684 26852005-03-21 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 2686 2687 * include/am_defs.h: Clarify comment. 2688 26892005-03-21 Erez Zadok <ezk@cs.sunysb.edu> 2690 2691 * include/am_defs.h: undefine "GROUP" so Solaris 10 with gcc-2.96 2692 won't complain about a conflict for this definition between 2693 <rpcsvc/nis.h> and <sys/acl.h>. 2694 26952005-03-20 Erez Zadok <ezk@cs.sunysb.edu> 2696 2697 * amd/readdir.c (amfs_readdir_browsable): use %p, not %lx. 2698 2699 * libamu/mount_fs.c (print_nfs_args): print pointer with %p, not 2700 %lx. 2701 27022005-03-18 Erez Zadok <ezk@cs.sunysb.edu> 2703 2704 ******************************************************************* 2705 *** Released am-utils-6.1-rc1 *** 2706 ******************************************************************* 2707 27082005-03-18 Erez Zadok <ezk@cs.sunysb.edu> 2709 2710 * conf/transp/transp_tli.c (get_nfs_version): use proper type for 2711 versout on Solaris (rpcvcers_t). 2712 2713 * amd/mapc.c (mapc_showtypes): if last map type to print, don't 2714 append newline or comma to it. 2715 2716 * libamu/mount_fs.c (print_nfs_args): cast struct netbuf pointer 2717 to %lx because on Solaris 10 sparc gcc-3.4.3 complains about 2718 casting it to an int (size is different). 2719 2720 * configure.in, NEWS: prepare for 6.1-rc1 release. 2721 27222005-03-17 Erez Zadok <ezk@cs.sunysb.edu> 2723 2724 * scripts/amd2ldif.in, ldap.schema: fixes by Adam Morley 2725 <adam-at-gmi-dot-com> to synchronize what amd2ldif does vs. what 2726 the ldap.schema expects. 2727 2728 * amd/map.c (exported_ap_free): We're using a free-list data 2729 structure and re-using malloc'ed objects. So, to be safe, memset 2730 entire structure when it's freed, not just the pointer. 2731 (umount_exported): bug fix to on-exit code. Don't run 2732 am_unmounted() unless unmount_mp() didn't run, since the latter 2733 already calls am_unmounted(). This way we avoid a double-free 2734 bug. 2735 27362005-03-15 Erez Zadok <ezk@cs.sunysb.edu> 2737 2738 * tasks: updates. Executable maps is supported. NFSv4 and 2739 FreeBSD autofs isn't. 2740 2741 * Makefile.am (EXTRA_DIST): include FAQ in distro. 2742 2743 * doc/Makefile.am (alldocs): install README.lda and README.osx. 2744 2745 * FAQ: new file, better late than never. 2746 27472005-03-14 Erez Zadok <ezk@cs.sunysb.edu> 2748 2749 * scripts/amd2ldif.in: patch to add the amdMapName attribute to 2750 the amdMapTimestamp object when amd2ldif converts it. This is 2751 necessary if you are using type:=auto mounts and want those 2752 mountmaps looked up through LDAP. Patch from Jim Zajkowski 2753 <jim.zajkowski@gmail.com>. 2754 27552005-03-12 Erez Zadok <ezk@cs.sunysb.edu> 2756 2757 * minor new ports: i386-pc-linux-rhel4. 2758 2759 * minor new ports: powerpc-apple-darwin7.8.0. 2760 27612005-03-10 Erez Zadok <ezk@cs.sunysb.edu> 2762 2763 * amd/ops_nfs.c (prime_nfs_fhandle_cache): rearrange code so it's 2764 cleaner. 2765 2766 * ltmain.sh: upgrade from libtool-1.5.6. 2767 2768 * m4/macros/check_{fs_mntent,mnttab_type,mount_type}.m4: check for 2769 Linux 2.6 kernel modules, which have a .ko extension, not .o. Now 2770 we can properly detect which file systems exist on Linux 2.6 based 2771 systems (SLES9, RHEL4, Fedora, etc.). 2772 27732005-03-09 Erez Zadok <ezk@cs.sunysb.edu> 2774 2775 * m4/macros/host_macros.m4: find out what's the OS software 2776 distribution name, if any. 2777 2778 * m4/macros/header_templates.m4: template for DISTRO_NAME. 2779 2780 * amd/get_args.c (get_version_string): print again full_os, os, 2781 osver, and vendor (bug fix). 2782 (get_version_string): print distribution name, if known (e.g., 2783 rh9, suse8, etc.). 2784 2785 * amd/mapc.c (mapc_showtypes): wrap around list of supported map. 2786 27872005-03-08 Erez Zadok <ezk@cs.sunysb.edu> 2788 2789 * amd/map.c (umount_exported): when unmounting file systems on 2790 exit (when amd.conf global unmount_on_exit=yes), use unmount_mp() 2791 instead of unmount_node() because the latter always unmounts in 2792 the foreground, whereas the former unmounts in the bg/fg as 2793 needed. Unmounting always in the foreground has two problems: (1) 2794 if the unmount hangs, amd hangs, and (2) for type:=program, the 2795 unmount script is execve'd(!) thus replacing the main amd process, 2796 which never gets to finish up, leaving the amd mount points hung. 2797 2798 * NEWS: mention new feature of executable maps. 2799 2800 * AUTHORS: Acknowledge Erik Kline. 2801 2802 * scripts/amd.conf.5: document executable maps and 2803 exec_map_timeout parameter. 2804 2805 * scripts/amd.conf-sample: examples of an executable map and 2806 exec_map_timeout. 2807 2808 * m4/macros/header_templates.m4: template for HAVE_MAP_EXEC. 2809 2810 * doc/am-utils.texi: document Executable maps and exec_map_timeout 2811 parameter. 2812 2813 * amd/conf.c (gopt_exec_map_timeout): function to parse 2814 exec_map_timeout [global] parameter. 2815 2816 * amd/amd.h (AMFS_EXEC_MAP_TIMEOUT): define default executable map 2817 timeout to 10 seconds, and a global placeholder for the 2818 configurable value. 2819 2820 * amd/amd.c (init_global_options): initialize default executable 2821 map timeout. 2822 2823 * amd/Makefile.am (EXTRA_amd_SOURCES): include info_exec.c in 2824 tarball. 2825 2826 * configure.in: enable executable maps. 2827 2828 * amd/mapc.c: define executable map functions and behavior. 2829 2830 * amd/info_exec.c: executable map implementation from Erik Kline 2831 <ekline at ekline dot com>, modified, cleaned-up, and fixed. 2832 28332005-03-07 Erez Zadok <ezk@cs.sunysb.edu> 2834 2835 * amd/info_file.c (file_init_or_mtime): consolidate identical 2836 file_init and file_mtime into one function. 2837 28382005-03-05 Erez Zadok <ezk@cs.sunysb.edu> 2839 2840 * doc/am-utils.texi (Program Filesystem): if umount/unmount are 2841 not specified, Amd uses "umount ${fs}" by default. 2842 2843 * amd/amfs_program.c (amfs_program_match): if neither unmount nor 2844 umount parameters are specified, use the default userland umount 2845 program with "umount ${fs}". This way type:=program doesn't have 2846 to specify the umount program for basic unmounting actions. 2847 (amfs_program_init): save unmount program string in mf_private 2848 only if it's NULL, not based on mf_refc. 2849 2850 * configure.in: auto-detect name of userland unmount program. 2851 2852 * aux_conf.h.in (UNMOUNT_PROGRAM): macro for default userland 2853 unmount program. 2854 2855 * amd/ops_cachefs.c (cachefs_init): save unmount program string in 2856 mf_private only if it's NULL, not based on mf_refc. 2857 2858 * configure.in: don't "discover" inheritance file system any more, 2859 since we don't have the .c file for it. 2860 2861 * amd/get_args.c (get_version_string): hack to still show that we 2862 support the inherit file system in output of amd -v. 2863 28642005-03-05 Ion Badulescu <ionut@moisil.badula.org> 2865 2866 * amd/amfs_inherit.c: removed, dead code 2867 2868 * amd/Makefile.am, 2869 amd/am_ops.c, 2870 amd/amd.h, 2871 conf/autofs/autofs_linux.h, 2872 conf/autofs/autofs_solaris_v1.h, 2873 conf/autofs/autofs_solaris_v2_v3.h, 2874 m4/macros/header_templates.m4: removed references to amfs_inherit.c 2875 28762005-03-05 Erez Zadok <ezk@cs.sunysb.edu> 2877 2878 * amd/autil.c (am_mounted): completely rewrite the unmount 2879 no/timeout code to (1) make more sense for odd conditions, and (2) 2880 allow utimeout=N mount options to override FS_NOTIMEOUT default 2881 flags for disk-based file systems such as ufs, pcfs, cdfs, etc. 2882 2883 * libamu/mount_fs.c (mount_fs): use safer XFREE() not free(). 2884 2885 * conf/umount/umount_linux.c (umount_fs): strtok is destructive, 2886 so use strdup'ed string. 2887 2888 * conf/mount/mount_linux.c (parse_opts): strtok is destructive, so 2889 use strdup'ed string. 2890 28912005-03-04 Erez Zadok <ezk@cs.sunysb.edu> 2892 2893 * scripts/amd.conf.5, doc/am-utils.texi (cache_duration 2894 Parameter): clarify actual behavior: this Parameter affects 2895 initial mount timeout as well as the linear backoff what happens 2896 the initial failed EBUSY unmount. 2897 2898 * doc/am-utils.texi (opts Option): better explanation of 2899 utimeout=N mount pseudo-option. 2900 2901 * amd/amd.h (AM_TTL, AM_TTL_W): better comments, minor cleanup. 2902 29032005-03-02 Daniel P. Ottavio <dottavio@ic.sunysb.edu> 2904 2905 * AUTHORS: add Dan Ottavio. 2906 2907 * scripts/amd.conf.5: document new debug_mtab_file option. 2908 2909 * scripts/amd.conf-sample (debug_mtab_file): show example. 2910 2911 * doc/am-utils.texi (debug_mtab_file Parameter): document new 2912 option. 2913 2914 * conf/mtab/mtab_{file,mach3}.c (open_locked_mtab): if mtab file 2915 doesn't exist by the time Amd tries to exist, return a 0 rather 2916 than hang indefinitely. 2917 2918 * amd/conf.c (gopt_debug_mtab_file): new function to parse 2919 debug_mtab_file option. 2920 2921 * amd/amd.h: placeholder for debug_mtab_file string. 2922 Define default debug_mtab_file to "/tmp/mtab". 2923 2924 * NEWS: document new debug_mtab_file option. 2925 29262005-03-02 Erez Zadok <ezk@cs.sunysb.edu> 2927 2928 * conf/transp/transp_{sockets,tli}.c (amu_get_myaddress): when 2929 users want Amd's NFS service to bind to some arbitrary "localhost" 2930 address, show which address was actually resolved and bound to. 2931 29322005-03-01 Erez Zadok <ezk@cs.sunysb.edu> 2933 2934 * amd/srvr_nfs.c (start_nfs_pings): move code from elsewhere 2935 (update_nfs_pingval) that initializes the pinger, as well as turns 2936 it on/off as needed, and handles changing its value. This is to 2937 avoid races and other infinite-loop conditions that could result 2938 in ping storms. 2939 2940 * amd/srvr_amfs_auto.c (amfs_generic_find_srvr): when creating a 2941 new file server structure, default the ping value to AM_PINGER 2942 (30sec) and set the FSF_PING_UNINIT flag. 2943 2944 * amd/amd.h (FSF_PING_UNINIT): new flag to tell whether the NFS 2945 pinger had been initialized for a given file server. 2946 2947 * scripts/ctl-amd.in (stop): no need to check if 2948 /var/lock/subsys/amd file exists if you do an rm -f afterward. 2949 Ensure that proper return value is returned from script. 2950 2951 * NEWS, doc/am-utils.texi (opts Option): update meaning of ping=N 2952 so that if N=-1, pings are off; if N=0, pings are set to the 2953 default value (currently 30 seconds). 2954 29552005-02-28 Erez Zadok <ezk@cs.sunysb.edu> 2956 2957 * amd/nfs_prot_svc.c (nfs_program_2): on TLI system, try to call 2958 __rpc_get_local_uid to verify if the RPC call through the 2959 local host interface came from UID 0. 2960 2961 * configure.in: look for internal libnsl function 2962 __rpc_get_local_uid (seems to be available on all known TLI 2963 systems, Solaris and HP-UX 11). 2964 2965 * conf/transp/transp_tli.c (amu_svc_getcaller): unnecessary 2966 function for TLI systems (and it violated a array's bounds, 2967 discovered with libumem.so). 2968 (bind_resv_port, bind_resv_port_only_udp, get_autofs_address): 2969 just to be on the safe side, set struct t_bind's qlen field to non 2970 zero (64 by default). This value cannot be zero for TCP 2971 connections, and it's unclear if it's good to have it zero for UDP 2972 connections, so setting it to 64 is safer. 2973 29742005-02-27 Erez Zadok <ezk@cs.sunysb.edu> 2975 2976 * doc/am-utils.texi (opts Option, Keep-alives): update text on 2977 ping option. 2978 2979 * amd/srvr_nfs.c (update_nfs_pingval): new function to update NFS 2980 server ping values, turn them off, or re-enable them. 2981 (find_nfs_srvr): call update_nfs_pingval() as needed. 2982 2983 * hlfsd/hlfsd.c (reaper, cleanup): don't use exit(3) in a signal 2984 handler, but use _exit(2) instead. 2985 2986 * amd/amd.c (parent_exit): This signal handler is called during 2987 Amd initialization. The parent forks a child to do all the hard 2988 automounting work, and waits for a SIGQUIT signal from the child. 2989 When the parent gets the signal it's supposed to call this handler 2990 and exit(3), thus completing the daemonizing process. Alas, on 2991 some systems, especially Linux 2.4/2.6 with Glibc, exit(3) doesn't 2992 always terminate the parent process. Worse, the parent process 2993 now refuses to accept any more SIGQUIT signals -- they are 2994 blocked. What's really annoying is that this doesn't happen all 2995 the time, suggesting a race condition somewhere. 2996 (This happens even if I change the logic to use another signal.) 2997 I traced this to something which exit(3) does in addition to 2998 exiting the process, probably some atexit() stuff or other 2999 side-effects related to signal handling. Either way, since at 3000 this stage the parent process just needs to terminate, I'm simply 3001 calling _exit(2). Note also that the OpenGroup doesn't list 3002 exit(3) as a recommended "Base Interface" but they do list 3003 _exit(2) as one. This fix seems to work reliably all the time. 3004 3005 * scripts/wait4amd2die.in: change default to recognize that amd is 3006 down more quickly (check every 3 seconds instead of 5). 3007 30082005-02-26 Erez Zadok <ezk@cs.sunysb.edu> 3009 3010 * libamu/xutil.c (amu_release_controlling_tty): warn if closing 3011 stdin/stdout/stderr failed. No need for tempfd. 3012 3013 * scripts/ctl-{amd,hlfsd}.in: before running any real program in 3014 these shell scripts, chdir to "/" to avoid possible hangs with 3015 existing NFS mounts. This was causing ctl-amd's forked 3016 grand-child amd process to hang if restartable_mounts=no. Go 3017 figure. 3018 30192005-02-25 Erez Zadok <ezk@cs.sunysb.edu> 3020 3021 * minor new port ia64-unknown-linux-rhel4 3022 3023 * fsinfo/fsi_util.c (set_ether_if): avoid u_long casting to -1 3024 (RHEL4 gcc 3.4.3 ia64 compiler complains). 3025 30262005-02-24 Erez Zadok <ezk@cs.sunysb.edu> 3027 3028 * minor new port i386-unknown-freebsd6.0 (6.0-CURRENT-SNAP001). 3029 30302005-02-23 Erez Zadok <ezk@cs.sunysb.edu> 3031 3032 * minor new port: i386-pc-linux-rhel3. 3033 3034 * INSTALL: major update of the compatibility list. 3035 3036 * m4/macros/os_cflags.m4: set AMU_CFLAGS not AM_CFLAGS. 3037 30382005-02-22 Erez Zadok <ezk@cs.sunysb.edu> 3039 3040 * scripts/amd.conf.5, doc/am-utils.texi (preferred_amq_port): 3041 document new preferred_amq_port [global] option. 3042 3043 * scripts/amd.conf-sample (preferred_amq_port): example. 3044 3045 * include/am_utils.h: add preferred_amq_port to prototype. 3046 3047 * conf/transp/transp_tli.c (bind_preferred_amq_port): new function 3048 to bind the Amq RPC service for UDP and TCP to a preferred port 3049 (or to any port if preferred_amq_port==0). 3050 (create_amq_service): decide if to bind to RPC_ANYFD, or to a 3051 requested port. 3052 3053 * conf/transp/transp_sockets.c (create_amq_service): if 3054 preferred_amq_port is greater than 0, then bind to that port for 3055 both UDP and TCP. If preferred_amq_port==0, then bind to any 3056 port. 3057 3058 * amd/nfs_start.c (mount_automounter): pass global 3059 preferred_amq_port value to create_amq_service(). 3060 3061 * amd/conf.c (gopt_preferred_amq_port): new function to parse 3062 amd.conf value for preferred_amq_port. 3063 3064 * amd/amd.h: placeholder for preferred_amq_port. 3065 30662005-02-21 Erez Zadok <ezk@cs.sunysb.edu> 3067 3068 * conf/transp/transp_tli.c (bind_resv_port_only_udp): rename old 3069 bindnfs_port to a more proper name. This function binds the NFS 3070 service to a specified port, and only for UDP. 3071 3072 * conf/transp/transp_tli.c: cleanup some code, rename some 3073 functions, in preparation for RPC amq port specification code. 3074 30752005-02-19 Erez Zadok <ezk@cs.sunysb.edu> 3076 3077 * */Makefile.am: don't redefine CFLAGS or LDFLAGS; they are 3078 reserved for users to pass them on the command line. Instead, use 3079 autoconf's internal AM_CFLAGS and AM_LDFLAGS. 3080 3081 * depcomp, install-sh, missing, mkinstalldirs: update from latest 3082 versions of Automake 1.9.2. 3083 3084 * m4/macros/*.m4: properly quote AC_DEFUN'ed macro name, and fix 3085 regexp/patsubst M4 commands. Newer versions of autoconf (e.g., 3086 v2.59) complain about those. 3087 30882005-02-17 Erez Zadok <ezk@cs.sunysb.edu> 3089 3090 * amd/opts.c (f_xhost): if we don't have hstrerror, just print the 3091 value of h_errno. 3092 3093 * configure.in: include -lresolv if it defines the hstrerror() 3094 function and not already available in existing libraries. 3095 3096 * minor new port: powerpc-apple-darwin7.7.0. 3097 3098 * amd/nfs_subr.c (mp_to_fh): pathlen should be u_int because it is 3099 later compared against an unsigned quantity (complaint from gcc 3100 3.3 on SuSE 8.2) 3101 3102 * include/am_utils.h: remove unnecessary (and conflicting) extern 3103 for bind_resv_port2(), which is declared as static in 3104 transp_tli.c. 3105 3106 * doc/am-utils.texi, scripts/amd.conf.5, scripts/amd.conf-sample, 3107 NEWS: document four new amd.conf options: nfs_retry_interval_udp, 3108 nfs_retransmit_counter_udp nfs_retry_interval_tcp, and 3109 nfs_retransmit_counter_tcp. 3110 3111 * amd/ops_nfs.c (mount_nfs_fh): set timeo/retrans values based on 3112 wether nfs_proto was "udp" or "tcp". 3113 3114 * amd/amfs_toplvl.c (amfs_toplvl_mount): set retrans/timeo values 3115 from default UDP settings (because toplvl mounts are UDP for now). 3116 3117 * amd/get_args.c (get_args): use parameters to -t option to set 3118 both UDP and TCP timeo/retrans values. 3119 3120 * amd/conf.c: (gopt_nfs_retransmit_counter_udp, 3121 (gopt_nfs_retransmit_counter_tcp, gopt_nfs_retry_interval_udp 3122 (gopt_nfs_retry_interval_tcp): new functions to parse UDP and TCP 3123 retrans/timeo parameters separately. 3124 (gopt_nfs_retry_interval, gopt_nfs_retransmit_counter): if 3125 specified, use it to set defaults for both UDP and TCP. 3126 3127 * amd/amd.c (init_global_options): initialize default values of 3128 both UDP and TCP retrans/timeo values to -1. 3129 3130 * amd/amd.h (AMU_TYPE_{TCP,UDP,MAX}): define separate retrans and 3131 timeo values, one for udp mounts and another for tcp mounts. 3132 31332005-02-16 Erez Zadok <ezk@cs.sunysb.edu> 3134 3135 * README.osx: new file with some instructions for Mac OS-X users, 3136 courtesy Kevin Layer. 3137 3138 * amd/get_args.c (get_args): move call to switch_to_logfile() 3139 after processing -v, so we don't print "no logfile defined; using 3140 stderr" when we're about to print version info and exit anyway. 3141 3142 * minor new port: powerpc-ibm-aix5.3.0.0. 3143 3144 * hlfsd/hlfsd.c (main): rewrite code to avoid negative array 3145 references. 3146 3147 * conf/checkmount/checkmount_aix.c: remove extern definition for 3148 mntctl(), since AIX 5.3 has it in <sys/vmount.h>. 3149 3150 * amd/info_union.c (union_reload): rewrite code to avoid negative 3151 array references. 3152 3153 * amd/opts.c (split_opts, expand_op): rewrite code to avoid 3154 negative array references. 3155 3156 * conf/mtab/mtab_aix.c: remove extern definition for mntctl(), 3157 since AIX 5.3 has it in <sys/vmount.h>. 3158 3159 * libamu/xutil.c (real_plog): rewrite code to avoid negative array 3160 references. 3161 3162 * libamu/wire.c (is_network_member): rearrange code slightly to 3163 avoid negative array references (AIX 5.3 xlC 7.0 compiler 3164 complains about it). 3165 31662005-01-26 Erez Zadok <ezk@cs.sunysb.edu> 3167 3168 * doc/am-utils.texi (xhost Selector Function): document new 3169 selector function. 3170 3171 * amd/opts.c (f_xhost): new function for use when matching the 3172 "host" selector for the current host's name. This function will 3173 now match the primary host name as well as all known aliases 3174 (CNAMES) that gethostbyname() returns. This function now supports 3175 a new function selector called xhost(ARG); the old host==ARG 3176 selector is unharmed. 3177 31782005-01-17 Ion Badulescu <ionut@moisil.badula.org> 3179 3180 * NEWS: document the ability to restart old mount points 3181 3182 * amd/map.c (mount_auto_node): force the fileid of the 3183 root to be 1, so that it won't change between restarts; use the 3184 root filesystem's own methods instead of hard-coding the use of 3185 the default methods 3186 3187 * conf/transp/transp_tli.c (create_nfs_service): better cleanup on 3188 error conditions. 3189 (bind_resv_port2): allow the caller to request a certain port. 3190 3191 * conf/transp/transp_sockets.c (bind_resv_port): allow the caller 3192 to request a certain port. 3193 (create_nfs_service): better cleanup on error conditions. 3194 3195 * amd/restart.c (restart_automounter_nodes): new function, takes 3196 care of restarting automounter NFS mount points (autofs will come 3197 later). 3198 (restart): skip all automounter mount points. 3199 3200 * amd/nfs_subr.c (fh_to_mp3, mp_to_fh): new filehandle 3201 implementation: if the path to the node is shorter than sizeof(fh) 3202 chars (currently 32 chars for a NFSv2 fh), simply store it inside 3203 the fh. For longer paths, keep the old implementation. 3204 3205 * amd/nfs_start.c (mount_automounter): reorder things so that 3206 restarting the toplvl filesystems occurs before anything else (so 3207 that we can grab all the ports we need before we accidentally use 3208 them for something else). 3209 3210 * amd/mntfs.c (locate_mntfs): remove dead code; add special 3211 handling of restarted toplvl filesystems. 3212 3213 * amd/mapc.c (root_keyiter): fix up a comment. 3214 3215 * amd/map.c (path_to_exported_ap): new function, searches for and 3216 returns a node by the path to it. 3217 (get_root_nfs_fh): remove unnecessary fiddling with the root fh. 3218 3219 * config.guess.long: support Red Hat Enterprise Linux 3220 32212005-01-17 Erez Zadok <ezk@cs.sunysb.edu> 3222 3223 * libamu/util.c (rmdirs): prevent amd from logging 'Read-only 3224 filesystem' errors when the mount point has an ancestor (i.e. '/') 3225 that is mounted read-only. Patch from David Rage <rage@ucl.ac.uk>. 3226 32272005-01-17 Ion Badulescu <ionut@moisil.badula.org> 3228 3229 * conf/umount/umount_linux.c (umount_fs): Linux doesn't need the 3230 autofs space hack 3231 3232 * conf/umount/umount_default.c (umount_fs): there is no need for 3233 HAVE_LOOP_DEV, now that Linux has its own dedicated umount_linux.c 3234 32352005-01-17 Erez Zadok <ezk@cs.sunysb.edu> 3236 3237 * doc/am-utils.texi (Automatic Unmounting): document new umount2() 3238 behavior on Linux. 3239 3240 * conf/umount/umount_linux.c (umount_fs): new file. On Linux, if 3241 umount(2) failed with EIO or ESTALE, try umount2(2) with 3242 MNT_FORCE+MNT_DETACH. Based on patch from Christos Zoulas 3243 <christos@zoulas.com>. 3244 3245 * m4/macros/check_umount_style.m4: pick new linux umount style. 3246 3247 * Makefile.am (EXTRA_DIST_CONF): distribute new umount_linux.c 3248 file. 3249 32502005-01-16 Erez Zadok <ezk@cs.sunysb.edu> 3251 3252 * conf/nfs_prot/nfs_prot_aix{4_2,4_3,5_1,5_2}.h, 3253 m4/macros/struct_nfs_args.m4: minor cleanups for quicker execution 3254 of "nfs_args" test. 3255 32562005-01-13 Erez Zadok <ezk@cs.sunysb.edu> 3257 3258 * amd/get_args.c (show_usage): separate function to print usage 3259 string. 3260 (get_args) Call show_usage() from get_args when needed, then exit. 3261 3262 * amd/get_args.c (get_version_string): print also domain, host, 3263 and hostd. 3264 (get_args): print version string at the very end, after all other 3265 values had been initialized. Patch from Christos Zoulas 3266 <christos@zoulas.com>. 3267 3268 * conf/transp/transp_sockets.c (check_pmap_up, get_nfs_version), 3269 conf/transp/transp_tli.c (check_pmap_up): correct an inconsistency 3270 in timeouts in the RPC code between socket and TLI 3271 implementations. The clntudp_create timeout has a different 3272 meaning than the clnt_call timeout. Set the timeout of the create 3273 to 2 seconds which means retry if no answer in two seconds, and 3274 the timeout call to 6 seconds, which will give us consistently 2 3275 to 3 pings. This is useful on occasional network UDP loss where a 3276 single packet loss would wrongfully mark a server down. (The TLI 3277 code is the one that had the problem occurs.) Patch from Christos 3278 Zoulas <christos@zoulas.com>. 3279 3280 * libamu/mount_fs.c (compute_nfs_attrcache_flags): make sure code 3281 compiles even for systems that don't have the nfs_args 3282 ac{reg,dir}{min,max} fields. 3283 3284 * amd/amfs_toplvl.c (set_auto_attrcache_timeout): just to be safe, 3285 add "noac" if amd.conf option auto_attrcache was set to 0. This 3286 should hopefully make the compute_nfs_attrcache_flags patch even 3287 safer. 3288 3289 * libamu/mount_fs.c (compute_nfs_attrcache_flags): separate 3290 function to compute attribute-cache values. This function now 3291 computes attribute-cache flags for BOTH Amd's automount points 3292 (NFS) as well as any normal NFS mount that Amd performs. 3293 (compute_nfs_args, compute_automounter_nfs_args): call 3294 compute_nfs_attrcache_flags to figure out attribute-cache related 3295 flags. Patch from Christos Zoulas <christos@zoulas.com>. 3296 3297 * scripts/amd.conf-sample: show examples of new global options 3298 domain_strip and auto_attrcache. 3299 3300 * scripts/amd.conf.5: document new global options domain_strip and 3301 auto_attrcache. Add warning to auto_attrcache use in case of 3302 ESTALE. 3303 3304 * doc/am-utils.texi: minor cleanups and document new global 3305 options domain_strip and auto_attrcache. Add warning to 3306 auto_attrcache use in case of ESTALE. 3307 3308 * amd/conf.c (gopt_auto_attrcache): parse new global amd.conf 3309 option auto_attrcache. 3310 (gopt_domain_strip): parse new global amd.conf option 3311 domain_strip. Part of a patch from Christos Zoulas 3312 <christos@zoulas.com>. 3313 3314 * amd/autil.c (host_normalize): don't call domain_strip() 3315 unconditionally, but depend on the new global amd.conf flag 3316 domain_strip. 3317 3318 * amd/amfs_toplvl.c (set_auto_attrcache_timeout): new function to 3319 set attribute cache timeout value given other configured global 3320 defaults. 3321 (amfs_toplvl_mount): set automount point attribute cache option 3322 value to "noac" if attrcache=0, else set it to whatever 3323 set_auto_attrcache_timeout() returns. 3324 3325 * amd/amd.h (CFM_DOMAIN_STRIP, CFM_DEFAULT_FLAGS): flag to decide 3326 if to strip the domain from the host name or not, default options 3327 set to strip the domain. 3328 Store global value of automount attribute cache timeout value. 3329 3330 * amd/amd.c (init_global_options): add flag to record automount 3331 point attribute cache value. 3332 3333 * amd/amd.c (do_memory_locking): new function to encapsulate all 3334 of the memory-locking functionality, which was in main() before. 3335 Also added a call to madvise(), just in case. 3336 (main): call do_memory_locking() to pin process memory if amd.conf 3337 asked for it, but do so after the main Amd process daemonizes, 3338 because mlock/mlockall is not inherited by fork() by default. 3339 Slightly restructured patch from Jonathan Chen 3340 <jon+amd@spock.org>. 3341 3342 * configure.in: check for madvise(2). 3343 3344 * config.guess, config.sub: updates for latest official GNU 3345 versions. 3346 3347 * m4/GNUmakefile: update paths to "make update" 3348 33492005-01-12 Erez Zadok <ezk@cs.sunysb.edu> 3350 3351 * conf/nfs_prot/nfs_prot_hpux11.h: define an nfs_fh3 structure 3352 that's compatible for HPUX11 as well as NFSv3. 3353 3354 * include/am_defs.h: On AIX 5.2, both <resolv.h> and 3355 <arpa/nameser_compat.h> define MAXDNAME, if compiling with gcc 3356 -D_USE_IRS (so that we get extern definitions for hstrerror() and 3357 others). So undef MAXDNAME before it gets redefined. 3358 3359 * include/am_defs.h: Solaris 10 (build 72) defines GROUP_OBJ in 3360 <sys/acl.h>, which is included in many other header files. 3361 <rpcsvc/nis.h> uses GROUP_OBJ inside enum zotypes. So if you're 3362 unlucky enough to include both headers, you get a compile error 3363 because the two symbols conflict. Temp hack: undefine acl.h's 3364 GROUP_OBJ before including nis.h, because we don't need acl.h for 3365 am-utils. 3366 3367 * m4/macros/os_cflags.m4: turn -D_USE_IRS for AIX5+ so that 3368 certain extern definitions of resolver functions become available. 3369 3370 * amd/opts.c (expand_op): use #define for expand_error string 3371 because some compilers complain about the use of static const 3372 char[] inside a varargs function. 3373 3374 * minor new port i386-unknown-netbsdelf1.6.2. 3375 3376 * new port i386-unknown-netbsdelf2.0. 3377 3378 * minor port i386-unknown-freebsd5.3. 3379 3380 * libamu/mount_fs.c (compute_nfs_args): don't compare 3381 nap->maxgrouplist against NULL but against 0 directly, because on 3382 FreeBSD 4.3, NULL is defined is (void *)0 and gcc 3.4 complains 3383 about a type mismatch. 3384 3385 * minor port i386-pc-linux-fc3 (Fedora Core 3). 3386 33872005-01-11 Erez Zadok <ezk@cs.sunysb.edu> 3388 3389 * hlfsd/hlfsd.c (main): use sigsuspend() over sigpause(), because 3390 FC3 doesn't have proper extern definition for the defunct 3391 sigpause(). 3392 3393 * configure.in: look for sigsuspend(). 3394 33952005-01-01 Erez Zadok <ezk@cs.sunysb.edu> 3396 3397 * updated copyright year to 2005 on all files. 3398 33992004-11-29 Erez Zadok <ezk@cs.sunysb.edu> 3400 3401 * scripts/amd.conf.5: Small fixes to typos in man page, from 3402 Thomas Klausner <tk@giga.or.at>. 3403 34042004-10-22 Erez Zadok <ezk@cs.sunysb.edu> 3405 3406 * ldap.schema: add this file to distribution. 3407 34082004-09-15 Erez Zadok <ezk@cs.sunysb.edu> 3409 3410 * doc/am-utils.texi: fix old URLs. 3411 34122004-09-01 Erez Zadok <ezk@cs.sunysb.edu> 3413 3414 * conf/mtab/mtab_aix.c (read_mtab): avoid a race condition between 3415 multiple calls to mntctl(). Patch suggested by Michael van Elst 3416 <M.van.Elst@science-computing.de>. 3417 34182004-08-07 Erez Zadok <ezk@cs.sunysb.edu> 3419 3420 * doc/am-utils.texi (Program Filesystem): document how to get 3421 double slashes in Amd maps. 3422 3423 * amd/opts.c (normalize_slash): support escaped slashes, needed 3424 for SMB mounts. Use '\\\/\\\/' in a string to get a double slash. 3425 34262004-08-06 Erez Zadok <ezk@cs.sunysb.edu> 3427 3428 * amd/amfs_program.c (amfs_program_match): bug fix. Complain if 3429 both opt_unmount and opt_umount are missing, not when just one of 3430 them is missing. 3431 34322004-08-03 Erez Zadok <ezk@cs.sunysb.edu> 3433 3434 * amq/pawd.c (find_mt): recognize "linkx" type mounts. Patch from 3435 Hauke Fath <hauke@Espresso.Rhein-Neckar.DE>. Support "nfsx" while 3436 we're at it. 3437 3438 * doc/am-utils.texi: mention bugzilla. Fix broken URL HREF's. 3439 34402004-08-02 Erez Zadok <ezk@cs.sunysb.edu> 3441 3442 * amq/pawd.c (find_mt): recognize "host" type mounts. Patch from 3443 Dan Nelson <dnelson@allantgroup.com>. 3444 34452004-07-30 Erez Zadok <ezk@cs.sunysb.edu> 3446 3447 * doc/am-utils.texi, NEWS: minor typos fixed. 3448 34492004-07-30 Erez Zadok <ezk@play.cs.columbia.edu> 3450 3451 * include/am_xdr_func.h: cannot have field-less structure; put a 3452 dummy field in. 3453 3454 * conf/autofs/autofs_solaris_v2_v3.c (xdr_autofs_rddirargs): cast 3455 2nd arg of xdr_u_int to a u_int*, not int*. 3456 (autofs_mount_2_req): don't use C++ // comments. 3457 34582004-07-30 Erez Zadok <ezk@cs.sunysb.edu> 3459 3460 * m4/macros/{try_compile_anyfs,check_field}.m4: include 3461 <fs/msdosfs/msdosfsmount.h> if it exists. Part of a set of 3462 FreeBSD 5 patches from Martin Blapp <mb@imp.ch>. 3463 3464 * include/am_defs.h: include <fs/msdosfs/msdosfsmount.h> if it 3465 exists. 3466 3467 * amd/ops_pcfs.c (mount_pcfs): set pcfs_args_t.dirmask field to 3468 0777 by default. 3469 3470 * configure.in: check for pcfs_args_t.dirmask field. Check for 3471 existence of <fs/msdosfs/msdosfsmount.h>, new on FreeBSD 5. 3472 34732004-07-29 Erez Zadok <ezk@cs.sunysb.edu> 3474 3475 * minor new port: i386-pc-linux-fc2 (Fedora Core 2). 3476 3477 * amd/info_ldap.c (amu_ldap_rebind): don't use ldap_enable_cache() 3478 unless the function exists in libldap and the extern is in 3479 <ldap.h>. Recently, openldap removed the extern from ldap.h, but 3480 left the function in libldap, for binary compatibility; however 3481 ldap_enable_cache and related functions have been deprecated (and 3482 no longer listed in the header files), and therefore should be 3483 avoided. 3484 3485 * m4/macros/check_extern_ldap.m4: new macro to check for 3486 LDAP-specific externs. This is separate from check_extern.m4 so 3487 as to avoid breaking the general-purpose macro with LDAP-specific 3488 headers. 3489 3490 * m4/macros/header_templates.m4: extern template for new 3491 HAVE_EXTERN_LDAP_ENABLE_CACHE. 3492 3493 * configure.in: call new check_extern_ldap.m4 macro. 3494 3495 * Makefile.am (EXTRA_DIST_M4): distribute new check_extern_ldap.m4 3496 macro. 3497 3498 * config.guess.long: distinguish between redhat and fedora-core 3499 releases. 3500 35012004-07-23 Erez Zadok <ezk@cs.sunysb.edu> 3502 3503 * Minor new port i386-pc-linux-suse8.2: minor new port to SuSE 3504 8.2. This systems' latest GCC (gcc version 3.3 20030226 3505 prerelease) correctly caught a lot of possibly bad comparisons 3506 between signed and unsigned quantities. 3507 3508 * hlfsd/homedir.c (table_add, plt_search): changed first arg of 3509 both functions to u_int. 3510 3511 * hlfsd/hlfsd.h, hlfsd/hlfsd.c: change 'cache_interval' to u_int. 3512 Changed proto for plt_search arg to u_int. 3513 3514 * amq/amq.c (show_mi, main): change 'i' to u_int. 3515 3516 * amq/pawd.c (find_mlp): change 'i' to u_int. 3517 3518 * amd/srvr_nfs.c (find_nfs_srvr): change proto_nfs_version to 3519 u_int. 3520 3521 * amd/amd.h: change prototype of vreaddir and amfs_error_readdir 3522 to use u_int count parameter. 3523 3524 * amd/ops_TEMPLATE.c (foofs_readdir), amd/amfs_error.c 3525 (amfs_error_readdir): change 'count' parameter in proto to u_int. 3526 3527 * amd/amd.h: change proto of amfs_generic_readdir() to use u_int 3528 count parameter. 3529 3530 * amd/readdir.c (make_entry_chain): preflen should be u_int. 3531 (amfs_readdir_browsable): change 'count' to u_int. 3532 (amfs_generic_readdir): change 'count' to u_int. 3533 3534 * amd/amd.h: amu_global_options's portmap_program field should be 3535 u_long, not int (to match RPC conventions). Change am_fh's 3536 fhh_gen field to u_int, to match am_gen field in struct am_node. 3537 3538 * amd/conf.c (gopt_portmap_program): use atol() instead of atoi() 3539 to avoid size differences. 3540 3541 * conf/mount/mount_linux.c (find_unused_loop_device): cast to int 3542 to avoid comparison between chars and integers. 3543 3544 * libamu/mount_fs.c (get_hex_string): change 'i' to u_int to avoid 3545 comparisons between signed and unsigned integers. 3546 35472004-07-13 Erez Zadok <ezk@cs.sunysb.edu> 3548 3549 * minor new port: i386-pc-linux-suse9.1. 3550 3551 * include/am_defs.h: don't use __kernel_dev_t for dev_t on Linux, 3552 because SuSE wants __kernel_old_dev_t. Instead, just define it 3553 directly to what they both use: an unsigned short. 3554 35552004-05-27 Erez Zadok <ezk@cs.sunysb.edu> 3556 3557 * minor new port: i386-unknown-freebsd4.10 3558 35592004-04-29 Ion Badulescu <ionut@moisil.badula.org> 3560 3561 * amd/amfs_generic.c (amfs_lookup_one_mntfs): fix the creation of 3562 mountpoints for autofs-based sublinks the right way 3563 35642004-04-28 Ion Badulescu <ionut@moisil.badula.org> 3565 3566 Fixes for various memory management problems discovered by 3567 Rainer's purify run: 3568 3569 * conf/transp/transp_tli.c (check_pmap_up): zero out struct 3570 timeval before using; 3571 (get_nfs_version): ditto 3572 3573 * amd/map.c (umount_exported): make sure we don't try to free the 3574 same am_node multiple times, by setting its corresponding 3575 exported_ap slot to null 3576 3577 * amd/get_args.c (get_version_string): a static pointer is pretty 3578 pointless, make it automatic 3579 3580 * amd/conf.c (gopt_debug_options): remove unnecessary strdup(); 3581 (gopt_log_options): ditto 3582 (gopt_print_version): free version string after using it 3583 3584 * amd/autil.c (mf_mounted): free mntfs->mf_fo instead of leaking 3585 it 3586 3587 * amd/amfs_generic.c (amfs_lookup_one_mntfs): use the CALLOC macro 3588 (amfs_lookup_mntfs): free def_opts on return 3589 3590 * amd/amd.c (daemon_mode): zero out struct sigaction before using 3591 it; 3592 (main): ditto 3593 35942004-04-27 Ion Badulescu <ionut@moisil.badula.org> 3595 3596 * amd/amfs_generic.c (amfs_lookup_one_mntfs): force FS_MKMNT on 3597 the real mount of an autofs-based sublink 3598 35992004-04-25 Ion Badulescu <ionut@moisil.badula.org> 3600 3601 * amd/map.c (free_map_if_success): avoid dereferencing a pointer 3602 to potentially freed memory 3603 36042004-02-26 Erez Zadok <ezk@cs.sunysb.edu> 3605 3606 * minor new port: i386-unknown-freebsd5.2.1. 3607 36082004-01-30 Ion Badulescu <ion@guppy.limebrokerage.com> 3609 3610 * scripts/ctl-hlfsd.in: don't run hlfsd with -D fork 3611 36122004-01-25 Erez Zadok <ezk@cs.sunysb.edu> 3613 3614 * minor new port: sparc64-unknown-linux-deb3.0 3615 3616 * config.guess.long: recoognize Debian Linux. 3617 36182004-01-22 Erez Zadok <ezk@cs.sunysb.edu> 3619 3620 * conf/transp/transp_tli.c (amu_get_myaddress): use 3621 htonl(INADDR_LOOPBACK) and define INADDR_LOOPBACK if not already 3622 available. 3623 36242004-01-21 Erez Zadok <ezk@cs.sunysb.edu> 3625 3626 * wire-test/wire-test.c, hlfsd/hlfsd.c (main): pass NULL as second 3627 parameter to amu_get_myaddress(). 3628 3629 * conf/transp/transp_tli.c (amu_get_myaddress): resolve value of 3630 localhost_address amd.conf parameter, if defined (else default to 3631 HOST_SELF_CONNECT). 3632 Removed htonl() around socket address copying (I think it was 3633 wrong) since plog("My IP address is...") in amd.c was printing 3634 addresses wrong on Solaris x86.. 3635 3636 * conf/transp/transp_sockets.c (amu_get_myaddress): comment out 3637 old DEBUG code that warns if 127.0.0.1 isn't the same as what 3638 get_myaddress() reports. Add code to resolve value of 3639 localhost_address amd.conf parameter, if defined (else default to 3640 127.0.0.1). 3641 3642 * amd/conf.c (gopt_localhost_address): new function to parse 3643 amd.conf parameter localhost_address. 3644 3645 * amd/amd.h: global field to store amd.conf localhost_address 3646 parameter. 3647 3648 * amd/amd.c (main): call amu_get_myaddress with global option, 3649 which could have been set in amd.conf. 3650 3651 * NEWS, doc/am-utils.texi, scripts/amd.conf-sample, 3652 scripts/amd.conf.5: document new option localhost_address. 3653 36542004-01-20 Ion Badulescu <ionut@moisil.badula.org> 3655 3656 * amd/conf.c (gopt_nfs_allow_insecure_port): support function for 3657 the new "nfs_allow_insecure_port" amd.conf directive 3658 3659 * amd/nfs_prot_svc.c (nfs_program_2): complain about the insecure 3660 port and drop the request only if the "nfs_allow_insecure_port" 3661 option is not set in amd.conf 3662 3663 * doc/am-utils.texi (Global Parameters): documented the new 3664 amd.conf directive "nfs_allow_insecure_port" 3665 3666 * scripts/amd.conf.5 (nfs_allow_insecure_port): ditto 3667 3668 * scripts/amd.conf-sample (nfs_allow_insecure_port): added the 3669 "nfs_allow_insecure_port" directive 3670 36712004-01-20 Erez Zadok <ezk@cs.sunysb.edu> 3672 3673 * doc/am-utils.texi: amd-workers is defunct. 3674 36752004-01-19 Erez Zadok <ezk@cs.sunysb.edu> 3676 3677 * cvs-server.txt: updated instructions 3678 36792004-01-18 Erez Zadok <ezk@cs.sunysb.edu> 3680 3681 * minor new port: i386-unknown-freebsd5.2. 3682 36832004-01-05 Erez Zadok <ezk@cs.sunysb.edu> 3684 3685 * MIRRORS.{txt,html}: verify each mirror site, update to new 3686 locations (if found), and remove stale mirrors URLs. 3687 3688 * updated copyright year to 2004 on all files. 3689 36902004-01-03 Erez Zadok <ezk@cs.sunysb.edu> 3691 3692 * MIRRORS.txt: track status. 3693 3694 * Makefile.am (install-snapshot): new directory to install 3695 snapshots (now that am-utils home page is moved). 3696 36972004-01-02 Erez Zadok <ezk@cs.sunysb.edu> 3698 3699 * INSTALL, README.autofs: remove forced text-mode. 3700 3701 * doc/am-utils.texi: fix Amd book URL. 3702 3703 * Makefile.am (EXTRA_DIST): include new mirror files in tarball. 3704 3705 * AUTHORS, BUGS, README, README.y2k, configure.in, 3706 doc/am-utils.texi: revisions to use newer URLs for Web site, FTP, 3707 and mailing lists. 3708 3709 * MIRRORS.{html,txt}: updates. 3710 3711 * doc/Makefile.am: install mirror lists officially. 3712 37132004-01-01 Erez Zadok <ezk@cs.sunysb.edu> 3714 3715 * tasks: things to do after migrating ftp/Web sites. 3716 37172003-12-09 Erez Zadok <ezk@cs.sunysb.edu> 3718 3719 * fsinfo/fsinfo.8: fixed typo (unbalanced []) in man page. Bug 3720 report from Eric S. Raymond <esr@thyrsus.com>. 3721 37222003-11-18 Erez Zadok <ezk@cs.sunysb.edu> 3723 3724 * Makefile.am (EXTRA_DIST_M4): exclude removed file 3725 m4/macros/struct_nfs_fh3.m4 from distro. 3726 37272003-10-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 3728 3729 * libamu/xdr_func.c (xdr_am_nfs_fh3): Use AM_FHSIZE3 instead of 3730 FHSIZE3 (may be undefined). 3731 37322003-10-24 Ion Badulescu <ion@guppy.limebrokerage.com> 3733 3734 Compile fix for Solaris7 with LDAP: 3735 3736 * include/am_defs.h: moved the ldap headers before am_nfs_prot.h 3737 to facilitate using ldap types in it 3738 3739 * conf/nfs_prot/nfs_prot_sunos5_7.h: add a couple of ldap 3740 definitions that Sun left out of their headers 3741 37422003-10-24 Ion Badulescu <ionut@moisil.badula.org> 3743 3744 * conf/nfs_prot/nfs_prot_*.h: remove all NFSv3-related 3745 definitions, they are now defined globally 3746 3747 * libamu/xdr_func.c: unconditionally define all xdr functions 3748 needed for NFSv3, but with an am_ prefix to prevent namespace 3749 collisions 3750 3751 * amd/amfs_host.c, amd/ops_nfs.c, amd/srvr_nfs.c, 3752 libamu/mount_fs.c: added the am_ prefix to all 3753 structures and functions having to do with NFSv3 to prevent 3754 namespace collisions 3755 3756 * include/am_utils.h: moved definition of am_nfs_handle to ... 3757 3758 * include/am_xdr_func.h: ... here. Also define AM_FHSIZE3, 3759 am_nfs_fh3, AM_NFSPROC3_LOOKUP, am_nfsstat3, am_fhandle3, 3760 am_mountstat3, am_mountres3_ok, am_mountres3, am_filename3, 3761 am_diropargs3, am_LOOKUP3args, am_LOOKUP3resok, am_LOOKUP3resfail, 3762 am_LOOKUP3res here; remove cross-platform compile helper macros 3763 AMU_LOOKUP3RES_*. 3764 3765 * include/am_defs.h: include am_xdr_func.h before am_utils.h to 3766 provide definitions for NFS filehandles 3767 3768 * amd/amd.h: removed declaration for xdr_mountres3 3769 3770 * doc/am-utils.text: minor warning fix 3771 3772 * BUGS: document the autoconf warnings when trying to compile 3773 system header files in isolation 3774 37752003-10-23 Ion Badulescu <ionut@moisil.badula.org> 3776 3777 * m4/macros/struct_nfs_fh3.m4: removed, not needed 3778 3779 * configure.in: check if struct mounta has the optptr field; 3780 removed all NFSv3-related checks, we implement everything 3781 internally now 3782 3783 * conf/autofs/autofs_solaris_v2_v3.c (autofs_mount_2_free): don't 3784 touch mnt->optptr unless HAVE_MOUNTA_OPTPTR is defined 3785 37862003-10-22 Ion Badulescu <ionut@moisil.badula.org> 3787 3788 * m4/macros/struct_nfs_fh3.m4: removed, not used anymore 3789 3790 * libamu/xdr_func.c (xdr_am_nfs_fh3): update xdr_am_nfs_fh3 3791 comments 3792 3793 * configure.in: don't check for xdr_nfs_fh3 and struct nfs_fh3, we 3794 always use our own 3795 37962003-10-22 Ion Badulescu <ion@guppy.limebrokerage.com> 3797 3798 * BUGS: document the limitations of bind mounts on Linux 3799 38002003-10-21 Ion Badulescu <ionut@moisil.badula.org> 3801 3802 * buildall: added support for -i (make install) 3803 38042003-10-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 3805 3806 * NEWS: New minor port i386-pc-solaris2.10 (Solaris 10). 3807 * INSTALL: Mention its test status. 3808 38092003-10-16 Erez Zadok <ezk@cs.sunysb.edu> 3810 3811 * amd/ops_nfs.c (nfs_init): declare as static to match forward 3812 definition at top of file. 3813 3814 * conf/nfs_prot/nfs_prot_{hpux11, netbsd1_4,openbsd,aix5_2}.h: 3815 added missing definitions for LOOKUP3res, diropargs3, etc. 3816 38172003-10-15 Erez Zadok <ezk@cs.sunysb.edu> 3818 3819 * libamu/xdr_func.c (xdr_LOOKUP3res, xdr_am_nfs_fh3), 3820 libamu/mount_fs.c (compute_nfs_args), amd/ops_nfs.c 3821 (got_nfs_fh_mount, got_nfs_fh_webnfs, prime_nfs_fhandle_cache, 3822 webnfs_lookup), amd/amfs_host.c (fetch_fhandle): Attempt to 3823 cleanup some inconsistencies with how we treat NFSv3 file handles. 3824 Whenever we need to get data out of a filehandle given to us, we 3825 assume that it uses the OS's native fhandle structure 3826 (often struct nfs_fh3). When we store the fhandle data for our 3827 own use, however, we store it in one of two ways. The first, is 3828 that we use the system's default nfs_fh3 structure; the second is 3829 that we define out own struct am_nfs_fh3 in nfs_prot.h (and go 3830 through an elaborate autoconf song-and-dance to "discover" it as a 3831 native fh3 handle structure). It appears that we do the latter, 3832 instead of using the system's default fhandle structure, simply to 3833 avoid extra malloc's and free's, because whereas nfsv2's fhandle 3834 structure is a simple 32-byte buffer, nfsv3's fhandle structures 3835 often just define a "char *" for the fhandle data, and the caller 3836 must malloc/free the space inside as needed. Our code was never 3837 written with constructor/destructor callbacks for these nfsv3 3838 filehandles. Moreover, we carefully wrote our own am_nfs_fh3 3839 structure so IT JUST SO HAPPENS to align with most (hopefully all) 3840 of the fhandle structures for v3: first four bytes are the length 3841 fields and the next four bytes are the fhandle data. Sigh. 3842 Having this inconsistent use of v3 filehandles can be a real bear, 3843 because we simply cannot avoid using the system's default fhandle 3844 structure indirectly, through things like diropargs3 in 3845 xdr_diropargs3(), which has inside of it a reference to the 3846 system's default nfs_fh3 structure. ANYWAY, the current fix I've 3847 come up with is to generalize the way we dereference field names 3848 within the nfs_fh3 structure (whether ours or the system's) and 3849 the same for the system's LOOKUP3res structure. I'm not pleased 3850 with this fix; I'd rather we don't use our own am_nfs_fh3 3851 structure at all. 3852 3853 * libamu/xdr_func.c (xdr_am_nfs_fh3): always define this 3854 function if we have NFS3, because we often use our own, 3855 incompatible am_nfs_fh3 structure. 3856 3857 * include/am_xdr_func.h: We cannot use the native system's 3858 xdr_nfs_fh3 because we are defining our own incompatible 3859 am_hfs_fh3 structure for some systems. 3860 3861 * include/am_xdr_func.h: Define default values for field names of 3862 struct nfs_fh3 and LOOKUP3res. 3863 3864 * doc/am-utils.texi (debug_options Parameter): minor typo fixed. 3865 3866 * conf/nfs_prot/nfs_prot_freebsd3.h: FreeBSD uses different fields 3867 names for struct nfs_fh3 and LOOKUP3res, so override the default 3868 names here. 3869 3870 * configure.in: AMU_CHECK_FS_MNTENT(nfs3) test before 3871 AMU_STRUCT_NFS_FH3, because the latter depends on the former. 3872 3873 * amd/ops_nfs.c (prime_nfs_fhandle_cache): add {} to disambiguate 3874 and clarify if-the-else clauses. 3875 38762003-10-13 Ion Badulescu <ionut@moisil.badula.org> 3877 3878 * amd/get_args.c (get_version_string): change "Built by" to 3879 "Configured by", and add a new "Built by" line using the variables 3880 below 3881 3882 * m4/update_build_version (vers): add BUILD_USER, BUILD_HOST, and 3883 BUILD_DATE to build_version.h 3884 3885 * amd/mntfs.c (locate_mntfs): fix restarted filesystems: mf_fo 3886 must be initialized even for them, otherwise we lose opt_sublink 3887 (and perhaps other options as well). Report from Rainer Orth. 3888 3889 * amd/amfs_generic.c (amfs_bgmount): The fix for the mf_fo NULL 3890 pointer dereferencing was a bit too aggressive and could end up 3891 not processing the sublink option if the filesystem was already 3892 mounted. 3893 38942003-10-11 Ion Badulescu <ionut@moisil.badula.org> 3895 3896 Fix restarted filesystem by disabling the amfs_inherit filesystem 3897 and moving the restarting logic into the generic code. The old 3898 code is still there, will be removed sometime in the near future. 3899 3900 * amd/mntfs.c (locate_mntfs): disable amfs_inherit and simply 3901 return the pointer to the restarted filesystem 3902 (free_mntfs): check for the MFF_RESTART flag instead of the 3903 amfs_inherit ops 3904 3905 * amd/autil.c (mf_mounted): remove the MFF_RESTART flag once the 3906 filesystem is in use 3907 3908 * amd/amfs_nfsx.c (amfs_nfsx_init): only call fs_init() if the 3909 filesystem is not being restarted 3910 (amfs_nfsx_remount): if the filesystem is already mounted, 3911 short-circuit the code and just continue 3912 3913 * amd/amfs_generic.c (amfs_bgmount): only call fs_init() if the 3914 filesystem is not being restarted; remove hack that was used to 3915 work around an amfs_inherit problem 3916 39172003-10-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 3918 3919 Use WebNFS to obtain file handles for mount(2). 3920 3921 * NEWS: Document WebNFS support. 3922 3923 * configure.in: Check for public mount option. 3924 * include/am_compat.h (MNTTAB_OPT_PUBLIC): Define if missing. 3925 * doc/am-utils.texi (opts Option): Renamed webnfs to public, 3926 update description. 3927 3928 * amd/amd.h (FSF_WEBNFS): New mntfs flag. 3929 * include/am_utils.h (RPC_XID_WEBNFS): New XID type. 3930 3931 * amd/amfs_host.c (amfs_host_mount, amfs_host_umounted): Reject 3932 WebNFS mount/umount attempts. 3933 * amd/ops_nfs.c (got_nfs_fh_mount): Renamed from got_nfs_fh. 3934 (got_nfs_fh_webnfs): New function. 3935 (flush_nfs_fhandle_cache): Don't invalidate port for WebNFS servers. 3936 (prime_nfs_fhandle_cache): Likewise. 3937 Remove unconditional return of public file handle for WebNFS, but 3938 get NFS file handles via mountd or WebNFS instead. 3939 (webnfs_lookup): New function. 3940 (nfs_umounted): Don't inform mountd if MFF_WEBNFS. 3941 * amd/rpc_fwd.c (fwd_packet, fwd_reply): Send/receive WebNFS 3942 packets. 3943 * amd/srvr_nfs.c (recompute_portmap): Don't contact portmap for 3944 WebNFS servers. 3945 Mention host in info message. 3946 (find_nfs_srvr): Handle public mount option. 3947 Prefer NFSv3/tcp if the client supports it. 3948 Allow port mount option to override default or result from portmap 3949 lookup. 3950 3951 * libamu/xdr_func.c (xdr_diropargs3, xdr_filename3, 3952 xdr_LOOKUP3args, xdr_LOOKUP3res, xdr_LOOKUP3resfail, 3953 xdr_LOOKUP3resok, xdr_nfs_fh3, xdr_nfsstat3): New functions. 3954 * include/am_xdr_func.h: Declare them. 3955 * configure.in: Check for them. 3956 * conf/nfs_prot/nfs_prot_linux.h: Provide missing NFSv3 3957 definitions and types. 3958 39592003-10-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 3960 3961 Support IRIX 6 private mount option. 3962 3963 * configure.in (AC_CHECK_MNTTAB_OPTS): Check for private option 3964 name string. 3965 (AC_CHECK_MNT2_NFS_OPTS): Check for private NFS mount option (IRIX 6). 3966 * aux/macros/header_templates.m4 (MNTTAB_OPT_PRIVATE, 3967 MNT2_NFS_OPT_PRIVATE): Provide templates. 3968 * include/am_compat.h (MNTTAB_OPT_PRIVATE): Define if missing. 3969 * doc/am-utils.texi (opts Option): Document it. 3970 39712003-10-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 3972 3973 * doc/am-utils.texi (opts Option): Fix Tru64 UNIX name in proplist 3974 mount option. 3975 39762003-10-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 3977 3978 * libamu/mount_fs.c (compute_nfs_args) [HAVE_NFS_ARGS_T_FH_LEN]: 3979 Don't reference removed fh3. 3980 39812003-10-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 3982 3983 * NEWS: New minor port sparc-sun-solaris2.10 (Solaris 10). 3984 3985 * INSTALL: Mention test status of various ports. 3986 Describe IRIX 6 autofs status. 3987 39882003-10-09 Ion Badulescu <ionut@moisil.badula.org> 3989 3990 * NEWS: updated 3991 3992 * amd/amfs_generic.c (amfs_bgmount): don't use mf_fo until after 3993 we've done all the tests and we know we have a valid and mountable 3994 mntfs. Otherwise we could end up dereferencing null pointers. 3995 3996 * amd/amd.h: fixed a copy&paste comment bug 3997 3998 * amd/am_ops.c (ops_match): minor code cleanup 3999 4000 * doc/am-utils.texi: fixed various typos; added warning about the 4001 racy nature of nfsx; removed duplicated listing of debug options; 4002 added paragraph about signals supported by hlfsd; removed the long 4003 list of (maybe) supported platforms since it duplicates the list 4004 in INSTALL. 4005 40062003-10-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 4007 4008 Simplify FD_SET etc. use. 4009 4010 * include/am_defs.h (FD_SET, FD_ISSET, FD_CLR, FD_ZERO): Provide 4011 if missing. 4012 (rpc_pending_now, run_rpc): Use them. 4013 * configure.in: Check for fds_bits field in fd_set. 4014 * amd/nfs_start.c (run_rpc): Use it. 4015 40162003-10-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 4017 4018 Improve RPC XID handling. 4019 4020 * amd/rpc_fwd.c (fwd_packet, fwd_reply): Always log xid. 4021 Convert xid to/from host/network byte order. 4022 40232003-10-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 4024 4025 Use NFS V2/V3 file handles instead of mount results. 4026 4027 * include/am_utils.h (am_nfs_fhandle): Use NFS V2/V3 file handles 4028 only, not MOUNTPROC_MNT results. 4029 * amd/amfs_host.c (fetch_fhandle): Use local variables to store 4030 MOUNTPROC_MNT results. 4031 * amd/autil.c (amfs_mount): Use new am_nfs_fhandle_t. 4032 * amd/ops_nfs.c (struct fh_cache): New member fh_status. 4033 (got_nfs_fh): Use local variables to store MOUNTPROC_MNT results. 4034 Store MOUNTPROC_MNT errors in fh_status. 4035 (prime_nfs_fhandle_cache): Get fh_error from fh_status. 4036 * hlfsd/hlfsd.c (main): Use new am_nfs_fhandle_t. 4037 * libamu/mount_fs.c (compute_nfs_args): Copy NFS V2/V3 file 4038 handles straight from new am_nfs_fhandle_t. 4039 40402003-10-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 4041 4042 * amd/clock.c (CID_ALLOC): Remove unused argument. 4043 (timeout): Likewise. 4044 4045 * amd/ops_nfs.c (FHID_ALLOC): Remove unused argument. 4046 (prime_nfs_fhandle_cache): Likewise. 4047 (call_mountd): Use UDPMSGSIZE instead of magic constant. 4048 4049 * amd/rpc_fwd.c (XID_ALLOC): Remove unused argument. 4050 (fwd_packet): Likewise. 4051 Handle TLOOK error from t_rcvudata(). 4052 40532003-09-30 Ion Badulescu <ionut@moisil.badula.org> 4054 4055 * NEWS: updated 4056 4057 * libamu/mount_fs.c (mount_fs): don't try to recreate the mount 4058 point if the mount fails with ENOENT: in the best case we would be 4059 papering over a bug, and in the worst case we could cause a 4060 deadlock (with autofs). If there are races, they need to be 4061 exposed and fixed properly. 4062 4063 * conf/autofs/autofs_solaris_v1.h, 4064 conf/autofs/autofs_solaris_v2_v3.h, 4065 conf/autofs/autofs_linux.h: (AUTOFS_NFSX_FS_FLAGS): autofs 4066 semantics don't allow us to mount nfsx directly onto an autofs 4067 mountpoint, so disallow it 4068 4069 * amd/amfs_nfsx.c (amfs_nfsx_match): more restrictive sanity check 4070 to avoid trying to memmove(foo, bar, (unsigned)-1) due to invalid 4071 map entries... 4072 (amfs_nfsx_cont): amfs_retry does most of the cleanup work for us 4073 in the upper layer, so don't do anything else beside wakeup() on 4074 success 4075 (amfs_nfsx_remount): only create the mountpoints as we need them, 4076 avoids creating them on the wrong filesystem in the case of 4077 hierarchical mounts; fix crash-generating typo (m should really be 4078 mf and I swear I hate single-character variable names) 4079 4080 * amd/amfs_generic.c (amfs_cont): one more dlog 4081 (amfs_bgmount): amazingly enough, even foreground mounts can be 4082 backgrounded (in the case of nfsx), so account for this 4083 possibility and permit retries 4084 4085 * m4/macros/check_autofs_style.m4 (AMU_AUTOFS_PROT_HEADER): define 4086 and AC_SUBST it as ${top_builddir}/amu_autofs_prot.h 4087 4088 * amd/Makefile.am ($(amd_OBJECTS) $(EXTRA_amd_OBJECTS)): depend on 4089 @AMU_AUTOFS_PROT_HEADER@ 4090 40912003-09-29 Erez Zadok <ezk@urd.fsl.cs.sunysb.edu> 4092 4093 * minor new port mipsel-unknown-linux-rhPS2 (Linux on Sony 4094 PlayStation 2) 4095 4096 * amd/srvr_nfs.c (find_nfs_srvr): don't run code that expects 4097 "char protocols[]" unless MNTTAB_OPT_PROTO is defined. 4098 40992003-09-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 4100 4101 Consolidate alloca support. 4102 4103 * amd/amq_svc.c: Move alloca support ... 4104 * include/am_defs.h: ... here. 4105 * amd/conf_parse.y: Remove alloca support. 4106 * fsinfo/fsi_gram.y: Likewise. 4107 41082003-09-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 4109 4110 Handle Solaris 10. 4111 * m4/macros/check_nfs_prot_headers.m4 4112 (AMU_CHECK_NFS_PROT_HEADERS): Don't use wildcards for 4113 sunos5.[0-3], solaris 2.[0-3], there were no micro releases. 4114 Explicitly match sunos5*, solaris2* for Solaris 8 and beyond. 4115 4116 * m4/macros/os_cflags.m4 (AMU_OS_CFLAGS): Dont use wildcards for 4117 solaris2.[0-5], sunos5.[0-5], but explicitly handle Solaris 2.5 4118 micro releases to cope with Solaris 2.5.1. 4119 Explicitly match solaris2*, sunos5*. 4120 41212003-09-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 4122 4123 * amd/amq_svc.c: Provide alloca prerequisites. 4124 4125 * conf/transp/transp_tli.c (register_autofs_service): Fix typo. 4126 41272003-09-23 Ion Badulescu <ion@opteron.tower-research.com> 4128 4129 * minor new port: x86_64-unknown-linux-rh2.9.5AS. (Red Hat 4130 Enterprise Linux 3.0 beta running on a 64-bit AMD64 platform) 4131 41322003-09-22 Ion Badulescu <ionut@buggy.badula.org> 4133 4134 * conf/autofs/autofs_solaris_v1.c (autofs_mount_fs): compile fix 4135 41362003-09-19 Ion Badulescu <ionut@moisil.badula.org> 4137 4138 * amd/amfs_nfsl.c (amfs_nfsl_match): checking opt_fs is not always 4139 enough, we should lstat() the sublink if it's defined. 4140 (amfs_nfsl_ffserver): ditto 4141 (ALL): Removed some obsolete comments. The nfsl code is now little 4142 more than a very straight-forward switch between link and nfs. 4143 4144 * amd/amfs_link.c (amfs_link_match): more up-to-date explanation 4145 for the prepend-the-dot hack for type link; also, the sublink is 4146 already normalized and absolute, so take advantage of that 4147 4148 * amd/amfs_generic.c (amfs_lookup_one_mntfs): the sublink is 4149 already normalized and absolute, so take advantage of that 4150 4151 * amd/am_ops.c (ops_match): normalize the sublink here, early into 4152 the matching process 4153 4154 * amd/autil.c (am_mounted): be consistent and accept both 4155 "nounmount" and "noumount" as pseudo mount options (same as 4156 "unmount" and "umount" nearby) 4157 4158 * amd/Makefile.am (build_version.h): fixed dependencies (depends 4159 on amd_OBJECTS, not OBJECTS -- which doesn't even exist) 4160 41612003-09-19 Erez Zadok <ezk@dhcp8.fsl.cs.sunysb.edu> 4162 4163 * amd/amq_subr.c (amqproc_export_1_svc): force double casting to 4164 avoid gcc-3.3 complaints on Solaris 9 about "dereferencing 4165 type-punned pointer will break strict-aliasing rules". 4166 41672003-09-16 Ion Badulescu <ionut@moisil.badula.org> 4168 4169 * Released beta version 6.1b4 4170 41712003-09-15 Ion Badulescu <ionut@moisil.badula.org> 4172 4173 * doc/am-utils.texi (opts Option): removed documentation for old 4174 ignore_portmapper mount option, documented the new webnfs option 4175 4176 * NEWS: webnfs support 4177 4178 * amd/srvr_nfs.c (find_nfs_srvr): set MFF_WEBNFS if the "webnfs" 4179 (former "ignore_portmapper") mount option is present 4180 4181 * amd/ops_nfs.c (prime_nfs_fhandle_cache): generate a public 4182 filehandle (all zeros) if MFF_WEBNFS is set 4183 (nfs_umounted): don't talk to mountd if MFF_WEBNFS is set 4184 4185 * amd/amd.h (MFF_WEBNFS): new flag, obvious meaning 4186 41872003-09-13 Ion Badulescu <ionut@moisil.badula.org> 4188 4189 * amd/srvr_nfs.c: renamed np_xid to global_xid; sanitized the 4190 NPXID_ALLOC macro and renamed it to XID_ALLOC; renamed start_ping 4191 to create_ping_payload; renamed nfs_pinged to 4192 nfs_keepalive_callback; renamed nfs_timed_out to 4193 nfs_keepalive_timeout; renamed nfs_srvr_port to get_mountd_port; 4194 made ping_buf and ping_len arrays with one element for each 4195 supported nfs version 4196 4197 * amd/amd.h: renamed nfs_srvr_port() to get_mountd_port() 4198 4199 * amd/amfs_host.c (amfs_host_init): ditto 4200 4201 * amd/ops_nfs.c (call_mountd): ditto 4202 42032003-09-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 4204 4205 * BUGS: Mention fix for broken Solaris 8 <rpcsvc/autofs_prot.h> 4206 patches. 4207 42082003-08-31 Erez Zadok <ezk@filer.fsl.cs.sunysb.edu> 4209 4210 * amd/autil.c (strealloc): don't call malloc_verify() unless it 4211 exists. 4212 4213 * configure.in: move "OPTION PROCESSING" section (opt_debug etc.) 4214 after we figure out PROG_CC and other compiler features, because 4215 some of the option processing macros need a compiler to function. 4216 4217 * libamu/xutil.c: don't define variables that won't be used unless 4218 mallinfo() and malloc_verify() exist. 4219 (real_plog): don't call checkup_mem unless 4220 mallocinfo() and malloc_verify() exist. 4221 (checkup_mem): don't define this function unless mallocinfo() and 4222 malloc_verify() exist. 4223 4224 * m4/macros/opt_debug.m4: check for functions malloc_verify and 4225 mallinfo in general libraries and then in libmapmalloc and 4226 libmalloc. These seem to have disappeared in FreeBSD 5.x. 4227 4228 * libamu/xutil.c (dxfree): print pointer using %p 4229 42302003-08-29 Erez Zadok <ezk@a-opendarwin.fsl.cs.sunysb.edu> 4231 4232 * configure.in: start 6.1b4-pre officially (belated) 4233 4234 * minor new port: i686-apple-darwin6.6 4235 42362003-08-27 Ion Badulescu <ionut@moisil.badula.org> 4237 4238 * conf/autofs/autofs_solaris_v1.c: convert relative targets to 4239 absolute paths when using lofs mounts 4240 4241 * conf/autofs/autofs_solaris_v2_v3.c: ditto 4242 4243 * conf/autofs/autofs_linux.c: ditto 4244 42452003-08-27 Ion Badulescu <ionut@buggy.badula.org> 4246 4247 * README.autofs: added a paragraph about the resource consumption 4248 of auto maps over autofs 4249 4250 * amd/amfs_generic.c (amfs_lookup_one_mntfs): moved the setting of 4251 the MFF_IS_AUTOFS flag from init_mntfs() to 4252 amfs_lookup_one_mntfs(), where it belongs 4253 4254 * amd/mntfs.c (init_mntfs): ditto 4255 42562003-08-27 Ion Badulescu <ion@guppy.limebrokerage.com> 4257 4258 * amd/ops_nfs.c (got_nfs_fh): make the error EACCES if we are 4259 denied a filehandle by the server (used to be EIO) 4260 42612003-08-27 Erez Zadok <ezk@a-bsdi42.fsl.cs.sunysb.edu> 4262 4263 * conf/nfs_prot/nfs_prot_bsdi3.h: support na_uid and na_gid. 4264 42652003-08-27 Ion Badulescu <ionut@moisil.badula.org> 4266 4267 * conf/autofs/autofs_linux.c (autofs_mount_succeeded): force 4268 daemon-initiated timeouts on autofs filesystems, since apparently 4269 they appear as "always busy" to the kernel-based expiration routine 4270 42712003-08-26 Ion Badulescu <ionut@buggy.badula.org> 4272 4273 * NEWS: updated 4274 4275 * conf/autofs/autofs_linux.h (AUTOFS_LINK_FS_FLAGS): remove 4276 FS_ON_AUTOFS 4277 (AUTOFS_LINKX_FS_FLAGS): ditto 4278 4279 * conf/autofs/autofs_solaris_v1.h (AUTOFS_LINK_FS_FLAGS): remove 4280 FS_ON_AUTOFS 4281 (AUTOFS_LINKX_FS_FLAGS): ditto 4282 4283 * conf/autofs/autofs_solaris_v2_v3.h (AUTOFS_LINK_FS_FLAGS): remove 4284 FS_ON_AUTOFS 4285 (AUTOFS_LINKX_FS_FLAGS): ditto 4286 4287 * amd/amfs_generic.c (amfs_lookup_one_mntfs): don't modify the 4288 original opt_fs, instead store the new mount point for autofs in a 4289 temporary variable and pass it around. Fixes a problem with the 4290 link side of nfsl. 4291 42922003-08-25 Ion Badulescu <ionut@moisil.badula.org> 4293 4294 * NEWS: updated 4295 4296 * amd/ops_nfs.c (prime_nfs_fhandle_cache): use get_mntfs_wchan to 4297 initialize the fh_wchan member of the cache entry 4298 (prime_nfs_fhandle_cache): use get_mntfs_wchan for the wchan_t 4299 argument of call_mountd() 4300 4301 * amd/map.c (free_map_if_success): use get_mntfs_wchan for the 4302 wchan_t argument of wakeup() 4303 4304 * amd/amfs_nfsx.c (amfs_nfsx_cont): use get_mntfs_wchan for the 4305 wchan_t argument of wakeup_task() and wakeup() 4306 4307 * amd/amfs_host.c (amfs_host_init): use get_mntfs_wchan for the 4308 wchan_t argument of nfs_srvr_port() 4309 4310 * amd/amfs_generic.c (ALL): use get_mntfs_wchan for the wchan_t 4311 argument of sched_task() and wakeup() 4312 (amfs_retry): minor cleanup 4313 (amfs_bgmount): call nfs_quick_reply on failure 4314 4315 * amd/sched.c (get_mntfs_wchan): new function which calls the 4316 member function get_wchan if defined, otherwise returns the mntfs 4317 pointer itself 4318 4319 * amd/amfs_inherit.c (amfs_inherit_get_wchan): new function, 4320 calls get_mntfs_wchan() on the inherited filesystem 4321 4322 * amd/amfs_*.c, amd/ops_*.c: initialize the new get_wchan member 4323 of the ops to 0 4324 4325 * amd/amd.h: new function type vget_wchan 4326 (struct mntfs): new member get_wchan which returns the waiting 4327 channel associated with the mntfs (normally itself) 4328 43292003-08-22 Ion Badulescu <ion@guppy.limebrokerage.com> 4330 4331 * conf/mount/mount_linux.c (parse_opts): minor cleanup 4332 4333 * conf/autofs/autofs_linux.c (autofs_handle_fdset): added missing 4334 break in case autofs_ptype_expire_multi 4335 43362003-08-22 Ion Badulescu <ionut@moisil.badula.org> 4337 4338 * conf/autofs/autofs_solaris_v1.h: undefine autofs support if 4339 autofs_args_t cannot be determined (hopefully fixes a reported 4340 IRIX 6.5.4 problem). 4341 4342 * conf/autofs/autofs_solaris_v1.c: wrap entire file in #ifdef 4343 HAVE_FS_AUTOFS / #endif (see above) 4344 4345 * conf/autofs/autofs_linux.h: undefine autofs support if the 4346 necessary header files are not found (fixes a reported RedHat 6.2 4347 Sparc problem). 4348 4349 * conf/autofs/autofs_linux.c: wrap entire file in #ifdef 4350 HAVE_FS_AUTOFS / #endif (see above) 4351 4352 * libamu/mount_fs.c (compute_nfs_args): only use MNT2_NFS_OPT_SOFT 4353 if autoconf detected it (fixes a reported RedHat 6.2 Alpha problem). 4354 4355 * amd/map.c (unmount_mp, unmount_exported): move the code that 4356 changes the fattr from NFLNK to NFDIR from unmount_mp to 4357 unmount_exported, it was causing troubles (ESTALE) after failed 4358 unmounts. This is still very very unclean, but it's the same as the 4359 old 6.0 code. 4360 43612003-08-22 Nick Williams <Nick.Williams@morganstanley.com> 4362 4363 * amd/info_ldap.c (amu_ldap_init): don't try to pass a null 4364 pointer as a string to plog, Solaris (and other OS's) don't like 4365 it and will dump core. 4366 43672003-08-13 Ion Badulescu <ion@guppy.limebrokerage.com> 4368 4369 * amd/amd.h: introduced two new types, wchan_t and opaque_t, as 4370 aliases of voidp. This makes reading the code easier on the eyes. :) 4371 4372 * ALL: replace various instances of voidp with wchan_t and 4373 opaque_t, as appropriate 4374 43752003-08-13 Ion Badulescu <ionut@nicu.badula.org> 4376 4377 * NEWS, configure.in: bumped version up to 6.1b4-pre 4378 43792003-08-13 Ion Badulescu <ionut@moisil.badula.org> 4380 4381 * Released beta version 6.1b3 4382 43832003-08-13 Ion Badulescu <ion@guppy.limebrokerage.com> 4384 4385 * conf/autofs/autofs_linux.c (autofs_mount_fs): HACK: always use 4386 symlinks for host mounts; assorted fixes for the symlink mode 4387 43882003-08-05 Ion Badulescu <ionut@moisil.badula.org> 4389 4390 * conf/umount/umount_default.c (umount_fs): enable space hack 4391 handling for autofs v1 4392 4393 * amd/map.c (get_first_exported_ap, get_next_exported_ap): new 4394 functions that facilitate iterating through the list of 4395 mountpoints 4396 4397 * amd/amfs_union.c (amfs_union_mounted): use get_first_exported_ap 4398 and get_next_exported_ap 4399 4400 * conf/autofs/autofs_solaris_v2_v3.c (autofs_unmount_2_req): ditto 4401 44022003-08-04 Erez Zadok <ezk@ulkesh.dyn.optonline.net> 4403 4404 * configure.in: check if system stores mount tables in files 4405 (usually in /etc), and configure couldn't find a definition for 4406 either struct mntent or struct mnttab. If so, abort configure 4407 because this could be a new/misconfigured system, or a bug in 4408 am-utils. 4409 44102003-08-04 Ion Badulescu <ionut@moisil.badula.org> 4411 4412 * conf/autofs/autofs_solaris_v2_v3.c (autofs_umount_fs): fix 4413 compile warning 4414 44152003-08-04 Ion Badulescu <ionut@buggy.badula.org> 4416 4417 * conf/autofs/autofs_linux.c (autofs_mount_fs): don't call 4418 ops->mount_fs() for an already mounted filesystem 4419 (autofs_umount_fs): only call ops->umount_fs() if we're holding 4420 the last reference to the filesystem 4421 4422 * conf/autofs/autofs_solaris_v1.c (autofs_mount_fs): ditto 4423 (autofs_umount_fs): ditto 4424 4425 * conf/autofs/autofs_solaris_v2_v3.c (autofs_mount_fs): ditto 4426 (autofs_umount_fs): ditto 4427 4428 * amd/amfs_generic.c (amfs_lookup_mntfs): remove the shortcut for 4429 already-mounted filesystems 4430 (amfs_cont): only release the autofs_fh if the filesystem is not 4431 mounted; add another comment about the NFS_SCALEDOWN hack 4432 (amfs_bgmount): if the mntfs is already mounted, skip just the 4433 filesystem initialization, but do call mount_node() 4434 4435 * amd/map.c (mount_node): always call autofs_mount_fs(), but only 4436 call ops->mount_fs() if the mntfs is not yet mounted 4437 (unmount_node): always call autofs_umount_fs(), but only call 4438 ops->umount_fs() if the refcount on the mntfs equals 1. 4439 44402003-08-02 Erez Zadok <ezk@filer.fsl.cs.sunysb.edu> 4441 4442 * conf/nfs_prot/nfs_prot_openbsd.h: include <ufs/ufs/ufsmount.h> 4443 here with the proper workarounds for openbsd3.3 (define MAXQUOTAS, 4444 define dummy struct netexport, and include <ufs/ufs/extattr.h> 4445 wrapped in _KERNEL). 4446 4447 * conf/nfs_prot/nfs_prot_freebsd3.h: include <ufs/ufs/ufsmount.h> 4448 here with the proper workarounds for freebsd5.1 (define dummy 4449 struct ufs_extattr_per_mount). 4450 4451 * conf/nfs_prot/nfs_prot_bsdi2.h: include <ufs/ufs/ufsmount.h> 4452 here with the proper workarounds for bsdi2 (define MAXQUOTAS and 4453 dummy struct netexport). 4454 4455 * include/mount_headers1.h: do not include <ufs/ufs/ufsmount.h> 4456 here, b/c every *BSD system has some sort of problem in including 4457 this header file, which includes ugly workarounds. Inclusion of 4458 this header was already moved out of am_defs.h (used to compile 4459 amd), but we forgot to move it out of mount_headers1.h (used to 4460 configure). The specific inclusion of ufsmount.h is now in the OS 4461 specific nfs_prot.h file. 4462 4463 * configure.in: if configure could not find any definition for 4464 "struct nfs_args", abort configure with an explanatory message. 4465 There's no point in continuing, as this could be a system bug, 4466 buggy am-utils, or a new system to which am-utils wasn't ported to 4467 yet. 4468 4469 * minor new port: i386-pc-solaris2.9 4470 44712003-08-01 Ion Badulescu <ionut@buggy.badula.org> 4472 4473 * doc/am-utils.texi (NFS-Link Filesystem): make the documentation 4474 match the code (as well as basic logic operations: the negation of 4475 'a or b' is 'not a and not b', not 'not a or not b') 4476 44772003-08-01 Erez Zadok <ezk@filer.fsl.cs.sunysb.edu> 4478 4479 * minor new port: i386-unknown-openbsd3.3. 4480 4481 * m4/macros/check_libwrap_severity.m4: new macro to check if 4482 libwrap includes the integer variables deny_severity and 4483 allow_severity, since some libwrap implementations do and others 4484 don't. The test tries to compile and run a simple empty main() 4485 program, then the same program while defining these two variables: 4486 comparing the results of the two tests, we can tell whether we 4487 should define NEED_LIBWRAP_SEVERITY_VARIABLES. 4488 4489 * Makefile.am (EXTRA_DIST_M4): distribute new macro 4490 check_libwrap_severity.m4. 4491 4492 * m4/macros/header_templates.m4: template for HAVE_LIBWRAP (which 4493 we must define explicitly since we've overridden the 4494 action-if-found in AC_CHECK_LIB(wrap). Also template for 4495 NEED_LIBWRAP_SEVERITY_VARIABLES. 4496 4497 * amd/amq_svc.c: if libwrap does not include the severity 4498 variables, then define and initialize them here. 4499 4500 * amd/Makefile.am (LIBS): explicitly include @WRAPLIB@ only for 4501 Amd binary. Other am-utils binaries don't need -lwrap. 4502 4503 * configure.in: if libwrap is found, only define it in @WRAPLIB@, 4504 so we don't automatically link every am-utils binary with -lwrap. 4505 Run test for existence of severity variables in libwrap. 4506 45072003-07-31 Erez Zadok <ezk@filer.fsl.cs.sunysb.edu> 4508 4509 * conf/nfs_prot/nfs_prot_openbsd.h: define struct fattr fields uid 4510 and gid. 4511 4512 * configure.in: move check for AC_CHECK_LIB(libwrap) as far down 4513 as possible because on modern tcpwrapper systems such as openbsd, 4514 the caller must provide two symbols: deny_severity and 4515 allow_severity, which determine the logging level of rejected and 4516 requested requests, respectively. If this check happens too 4517 early, then $LIBS includes -lwrap, which causes many subsequent 4518 tests that need to run a compiled program to fail with missing 4519 symbols. 4520 4521 * m4/macros/header_templates.m4: fix typo in template for 4522 readdirplus. 4523 4524 * configure.in: check for <ufs/ufs/extattr.h> (OpenBSD 3.3) 4525 4526 * minor new port: i386-unknown-netbsdelf1.6.1. 4527 4528 * configure.in: save state before system-specific tests are run. 4529 4530 * m4/macros/check_gnu_getopt.m4: do NOT abort ./configure just 4531 because the compiled test program failed to run. 4532 45332003-08-01 Ion Badulescu <ionut@buggy.badula.org> 4534 4535 * NEWS, README.autofs: updated 4536 4537 * libamu/mount_fs.c (mount_fs): added support for the space hack 4538 4539 * doc/am-utils.texi: mention than UFS/XFS/EFS/CacheFS filesystems 4540 are not expired by default; correct and expand the section 4541 describing the program filesystem 4542 4543 * conf/autofs/autofs_solaris_v2_v3.h (AUTOFS_*_FS_FLAGS): add 4544 FS_ON_AUTOFS for supported filesystems 4545 4546 * conf/autofs/autofs_solaris_v2_v3.c (autofs_mount_fs): call 4547 mf->mount_fs() 4548 (autofs_umount_fs): call mf->umount_fs() 4549 4550 * conf/autofs/autofs_solaris_v1.h (autofs_strdup_space_hack): add 4551 prototype for malloc() 4552 (AUTOFS_*_FS_FLAGS): lose the FS_MKMNT flags, add FS_ON_AUTOFS for 4553 supported filesystems 4554 4555 * conf/autofs/autofs_solaris_v1.c (autofs_mount_fs): add support 4556 for the space hack; call mf->mount_fs() 4557 (autofs_umount_fs): add support for the space hack; call 4558 mf->umount_fs() 4559 (autofs_mount_succeeded): add support for the space hack 4560 4561 * conf/autofs/autofs_linux.h: lose the FS_MKMNT flags, add 4562 FS_ON_AUTOFS for supported filesystems 4563 4564 * conf/autofs/autofs_linux.c (AUTOFS_MAX_VERSION): define to 4565 AUTOFS_MAX_PROTO_VERSION instead of hardcoding to 4 4566 (autofs_mounted): host mounts are now supported on all autofs 4567 versions, remove the hack to turn it off on v3 4568 (autofs_mount_fs): call mf->mount_fs(), create/remove mountpoints 4569 as needed 4570 (autofs_umount_fs): call mf->umount_fs(), remove mountpoints on 4571 success 4572 (ALL): use '#if AUTOFS_MAX_VERSION >= 4' instead of 4573 '#ifdef autofs_ptype_expire_multi' 4574 4575 * amd/map.c (mount_node): autofs_mount_fs() now calls 4576 mf->mount_fs() internally 4577 (unmount_node): autofs_umount_fs() now calls mf->umount_fs() 4578 internally 4579 4580 * amd/autil.c (am_mounted): minor cleanup 4581 4582 * amd/amfs_program.c (amfs_program_ops): added FS_MKMNT to 4583 nfs_fs_flags 4584 4585 * amd/amfs_generic.c (amfs_lookup_one_mntfs): use the FS_ON_AUTOFS 4586 flag instead of hardcoding filesystem types 4587 (amfs_bgmount): better mount_type logging 4588 4589 * amd/amd.h (FS_ON_AUTOFS): new flag which tells the code that 4590 this filesystem can be mounted directly onto an autofs mountpoint 4591 45922003-07-31 Ion Badulescu <ionut@buggy.badula.org> 4593 4594 * amd/amfs_nfsl.c (amfs_nfsl_umount): fix copy&paste error (was 4595 calling amfs_link_ops.umount_fs() for NFS filesystems) 4596 (amfs_nfsl_umounted): remove rmdirs() hack, it is now handled 4597 properly elsewhere 4598 (amfs_nfsl_ffserver): remove FS_MKMNT from mf_fsflags if we're 4599 using link (not NFS) 4600 46012003-07-31 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 4602 4603 * README.autofs: Correct IRIX spelling. 4604 AutoFS support exists only on IRIX 6. 4605 Update IRIX 6 status. 4606 4607 Allow AutoFS V1 support to compile on IRIX 6. 4608 * conf/autofs/autofs_solaris_v1.c (autofs_mount_1_req): Add 4609 SVCXPRT * arg. 4610 Remove superfluous \n from dlog messages. 4611 (autofs_unmount_1_req): Likewise. 4612 Switch to get_exported_ap. 4613 (autofs_program_1): Invoke handlers with additional transp arg. 4614 * conf/autofs/autofs_solaris_v1.h: Use autofs_args_t to define 4615 autofs_fh_t, struct auto_args doesn't exist on IRIX 6. 4616 4617 * conf/mount/mount_irix6.c (mount_irix) [HAVE_FS_AUTOFS]: Support 4618 AutoFS mounts. 4619 [HAVE_FS_LOFS]: Likewise for lofs mounts. 4620 4621 * conf/nfs_prot/nfs_prot_irix6.h (AUTOFS_CONFTYPE): Define. 4622 Don't disable AutoFS support any more. 4623 4624 * conf/transp/transp_sockets.c [HAVE_FS_AUTOFS && AUTOFS_PROG] 4625 (register_autofs_service): Define autofs_xprt. 4626 4627 * m4/macros/check_autofs_style.m4 (AMU_CHECK_AUTOFS_STYLE): Update 4628 Solaris 8+ comment to mention AutoFS V4. 4629 (irix6*): Enable AutoFS V1 support on IRIX 6. 4630 46312003-07-30 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu> 4632 4633 * NEWS, doc/am-utils.texi, scripts/amd.conf.5: revised explanation 4634 of autofs_use_lofs. 4635 46362003-07-30 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 4637 4638 * amd/ops_efs.c (efs_mount): Replace on_autofs arg with 4639 MFF_ON_AUTOFS flag. 4640 (efs_umount): Likewise. 4641 46422003-07-30 Erez Zadok <ezk@filer.fsl.cs.sunysb.edu> 4643 4644 * conf/umount/umount_bsd44.c (umount_fs): convert to new way of 4645 unmounting which takes autofs into account. 4646 46472003-07-30 Ion Badulescu <ionut@moisil.badula.org> 4648 4649 * ALL: renamed MFF_AUTOFS to MFF_IS_AUTOFS; removed mf_real_mount 4650 hack; pass a new on_autofs argument to mount/umount function, 4651 based on the MFF_ON_AUTOFS mntfs flag 4652 4653 * NEWS, README.autofs: updated 4654 4655 * scripts/amd.conf.5: document new option autofs_use_lofs 4656 4657 * scripts/amd.conf-sample (autofs_use_lofs): document new option 4658 4659 * m4/macros/check_autofs_style.m4 (am_utils_link_files): symlink 4660 the autofs header as amu_autofs_prot.h instead of slurping it into 4661 aux_conf.h 4662 4663 * libamu/mount_fs.c (mount_fs): removed old stub, renamed 4664 mount_fs2 to mount_fs, added new argument on_autofs 4665 4666 * doc/am-utils.texi (Direct Automount Filesystem): document 4667 problems with nfs direct mounts on modern kernels, document good 4668 autofs support for direct mounts on Solaris 4669 (autofs_use_lofs Parameter): document this new option 4670 (browsable_dirs Parameter): note that mount storms are avoided 4671 when using autofs 4672 4673 * conf/umount/umount_bsd44.c (umount_fs): removed old stub, 4674 renamed umount_fs2 to umount_fs 4675 4676 * conf/umount/umount_osf.c (umount_fs): removed old stub, 4677 renamed umount_fs2 to umount_fs, added new argument on_autofs 4678 4679 * conf/umount/umount_default.c (umount_fs): ditto as above; return 4680 an error on ENOENT instead of faking success 4681 4682 * conf/autofs/autofs_solaris_v2_v3.c (autofs_lookup_2_req): much 4683 simplified, now only consults the map for existance of the key and 4684 returns success if key is found 4685 (autofs_mount_2_req): request symlinks if CFM_AUTOFS_USE_LOFS is 4686 not on; 4687 (autofs_mount_2_free): implemented 4688 (autofs_unmount_2_req): use get_exported_ap() instead of 4689 referencing export_ap directly 4690 (autofs_mount_succeeded): remove code for replying to lookup 4691 requests, now only mount requests can end up here 4692 (autofs_mount_failed): ditto 4693 4694 * conf/autofs/autofs_solaris_v1.h (AUTOFS_HOST_FS_FLAGS): removed 4695 FS_AUTOFS 4696 (AUTOFS_DIRECT_FS_FLAGS): added FS_DIRECTORY 4697 4698 * conf/autofs/autofs_solaris_v2_v3.h (AUTOFS_HOST_FS_FLAGS): removed 4699 FS_AUTOFS 4700 (AUTOFS_DIRECT_FS_FLAGS): added FS_DIRECTORY 4701 (AUTOFS_LINK_FS_FLAGS): added FS_MBACKGROUND 4702 4703 * conf/autofs/autofs_linux.c (autofs_bind_umount): new function, 4704 factored out of autofs_umount_fs() 4705 (autofs_mount_fs): renamed from autofs_link_mount() and expanded 4706 to deal with filesystems mounted indirectly (via lofs/bind 4707 mounts) on autofs and to observe the new CFM_AUTOFS_USE_LOFS flag 4708 (autofs_umount_fs): ditto, from autofs_link_umount() 4709 4710 * conf/autofs/autofs_solaris_v1.c (autofs_mount_fs): ditto 4711 * (autofs_umount_fs): ditto 4712 4713 * conf/autofs/autofs_solaris_v2_v3.c (autofs_mount_fs): ditto 4714 * (autofs_umount_fs): ditto 4715 4716 * amd/opts.c: made fs_static static 4717 4718 * amd/ops_nfs.c: made nfs_init, nfs_match, nfs_mount, nfs_umount 4719 and nfs_umounted static 4720 (mount_nfs_fh): removed unnecessary arguments 4721 4722 * amd/ops_cachefs.c (cachefs_ops): use amfs_generic_find_srvr for 4723 the ffserver method, because using NULL causes problems 4724 4725 * amd/ops_cdfs.c (cdfs_ops): ditto 4726 4727 * amd/ops_efs.c (efs_ops): ditto 4728 4729 * amd/ops_lofs.c (lofs_ops): ditto 4730 4731 * amd/ops_pcfs.c (pcfs_ops): ditto 4732 4733 * amd/ops_ufs.c (ufs_ops): ditto 4734 4735 * amd/ops_xfs.c (xfs_ops): ditto 4736 4737 * amd/nfs_subr.c (fh_to_mp3, fh_to_mp, mp_to_fh): moved here from 4738 map.c 4739 4740 * amd/nfs_start.c: use get_exported_ap() instead of referencing 4741 exported_ap directly 4742 4743 * amd/mntfs.c (locate_mntfs): new function, factored out of 4744 find_mntfs 4745 (locate_mntfs): special-case FS_DIRECT filesystems: for direct 4746 mounts we will have two filesystems mounted on the same m/p 4747 (realloc_mntfs): removed the old EZK hack for failovers 4748 4749 * amd/map.c (get_exported_ap): new function that returns an 4750 exported_ap member by its index 4751 (root_node,exported_ap,exported_ap_size,first_free_map,last_used_map): 4752 made static 4753 (fh_to_mp3, fh_to_mp, mp_to_fh): moved to nfs_subr.c 4754 (get_root_ap): removed unused second argument 4755 (unmount_mp): moved the mk_fattr(NFDIR) here from umount_exported 4756 to catch more cases 4757 (mount_node): call autofs_mount_fs after ops->mount_fs for autofs 4758 nodes 4759 (unmount_node): call autofs_umount_fs before ops->umount_fs for 4760 autofs nodes 4761 4762 * amd/conf.c: new global option "autofs_use_lofs", takes yes/no 4763 values 4764 4765 * amd/autil.c (amfs_mount): take an extra argument (mf) 4766 (amfs_mount): call autofs_compute_mount_flags() for mounts 4767 directly on autofs m/p 4768 (am_unmounted): document and avoid the race between am_umounted() 4769 at shutdown time and amfs_cont() 4770 4771 * amd/amfs_union.c (amfs_union_mounted): use get_exported_ap() 4772 instead of referencing internal map variables directly 4773 4774 * amd/amq_subr.c (amqproc_export_1_svc): ditto 4775 4776 * amd/amfs_toplvl.c (amfs_toplvl_ops): removed FS_AUTOFS from 4777 nfs_fs_flags 4778 (amfs_toplvl_mount): pass extra argument (mf) to amfs_mount() 4779 (amfs_toplvl_umount): refuse to attempt the unmount if the 4780 mountpoint is not a directory 4781 4782 * amd/amfs_nfsx.c (amfs_nfsx_init): propagate the MFF_ON_AUTOFS 4783 flag into the nfs f/s at the bottom of the stack 4784 4785 * amd/amfs_nfsl.c: call nfs and link member functions through 4786 their respective am_ops structures, not directly 4787 4788 * amd/amfs_linkx.c (amfs_linkx_umount): new static stub 4789 4790 * amd/amfs_link.c: made amfs_link_mount() and amfs_link_umount() 4791 static functions 4792 (amfs_link_mount): removed call to autofs_link_mount() 4793 (amfs_link_umount): removed call to autofs_link_umount() 4794 4795 * amd/amfs_host.c (amfs_host_ops): removed FS_AUTOFS from 4796 nfs_fs_flags 4797 (do_mount): removed superfluous function arguments 4798 4799 * amd/amfs_direct.c (amfs_direct_ops): removed FS_AUTOFS from 4800 nfs_fs_flags 4801 4802 * amd/amfs_auto.c (amfs_auto_ops): removed FS_AUTOFS from 4803 nfs_fs_flags 4804 (amfs_auto_mount): pass extra argument (mf) to amfs_mount 4805 4806 * amd/amd.h (CFM_AUTOFS_USE_LOFS): new flag, tells amd whether to 4807 use lofs-mounts or symlinks when mounting on autofs 4808 (CFM_DEFAULT_FLAGS): added CFM_AUTOFS_USE_LOFS 4809 (VLOOK_LOOKUP): new flag, will merely check if a key exists 4810 (MFF_IS_AUTOFS): renamed from MFF_AUTOFS 4811 (MFF_ON_AUTOFS): new flag, tells amd if a f/s is mounted directly 4812 on an autofs m/p, or indirectly via a lofs mount/symlink 4813 (fh_to_mp2): macro expanded throughout the code and removed 4814 (mntfs): removed mf_real_mount hack 4815 (autofs_mount_fs): renamed from autofs_link_mount 4816 (autofs_umount_fs): renamed from autofs_link_umount 4817 (mount_lofs): exposed 4818 various other cleanups, functions/variables made static and removed 4819 4820 * aux_conf.h.in: removed @am_utils_autofs_style@, it is now 4821 included directly as amu_autofs_prot.h 4822 48232003-07-24 Erez Zadok <ezk@whitestar.dyn.optonline.net> 4824 4825 * doc/am-utils.texi, scripts/amd.conf.5: document that 4826 use_tcpwrappers is "yes" by default. 4827 4828 * amd/amd.c (init_global_options): set default global options. 4829 4830 * amd/amd.h (CFM_DEFAULT_FLAGS): define default options which 4831 are always on (plock and use_tcpwrappers). 4832 4833 * scripts/amd.conf-sample: reorganize values per option so default 4834 one is listed first. 4835 48362003-07-23 Erez Zadok <ezk@filer.fsl.cs.sunysb.edu> 4837 4838 * tasks: trim old stuff. Discuss new parser. 4839 4840 * amd/conf.c (set_conf_kv): initialize the very first map in conf 4841 file from global defaults. Bug fix which was introduced after 4842 conf.c code restructuring. 4843 48442003-07-18 Erez Zadok <ezk@filer.fsl.cs.sunysb.edu> 4845 4846 * m4/macros/header_templates.m4: template for 4847 HAVE_EXTERN_HOSTS_CTL. 4848 4849 * include/am_defs.h: define extern for hosts_ctl() if needed. 4850 4851 * configure.in (AMU_CHECK_EXTERNS): check for extern definition 4852 for libwrap's hosts_ctl() (FreeBSD 5.0 doesn't have it). 4853 4854 * m4/macros/check_extern.m4: include tcpd.h if it and libwrap exist. 4855 48562003-07-18 Erez Zadok <ezk@cs.sunysb.edu> 4857 4858 * hlfsd/hlfsd.h: redundant extern for mboxfile removed. 4859 4860 * amd/amq_svc.c (amq_program_1): only check for tcpwrappers if 4861 amd.conf global option use_tcpwrappers=yes. 4862 4863 * scripts/amd.conf.5, scripts/amd.conf-sample (use_tcpwrappers), 4864 doc/am-utils.texi (use_tcpwrappers Parameter): document new 4865 amd.conf global option. 4866 4867 * amd/conf.c (gopt_use_tcpwrappers): define a new amd.conf global 4868 option called use_tcpwrappers ("no" by default). 4869 4870 * amd/amq_svc.c (amqsvc_is_client_allowed): include tcpd/libwrap 4871 code only if both libwrap and tcpd.h exist. 4872 (amq_program_1): log warning when an Amq service client is denied, 4873 and a debug message when a client is allowed. 4874 4875 * amd/amd.h (CFM_USE_TCPWRAPPERS): define [global] amd.conf flag. 4876 (AMD_SERVICE_NAME): define AMD_SERVICE_NAME for tcpd/libwrap. 4877 4878 * include/am_defs.h: include tcpd.h if available and libwrap 4879 available. 4880 4881 * configure.in: check for tcpd.h. 4882 48832003-07-18 Erez Zadok <ezk@filer.fsl.cs.sunysb.edu> 4884 4885 * scripts/expn.1, amd/amd.8 amq/amq.8, fixmount/fixmount.8, 4886 hlfsd/hlfsd.8, scripts/expn.1: remove ".PD 0" nroff command 4887 because it removes useful spaces in between paragraphs. Based on 4888 smaller patch from Philippe Troin <phil@fifi.org>. 4889 48902003-07-17 Philippe Troin <phil@fifi.org> 4891 4892 * amq/amq.8: Document the libwrap/amd behavior. 4893 4894 * amd/amq_svc.c (libwrap_check_client): New function to validate 4895 an amq connection with libwrap. 4896 (amq_program_1): Call libwrap_check_client() and close the 4897 connection if libwrap does not allow it. 4898 4899 * configure.in: Check for the tcp wrappers library. 4900 49012003-07-17 Erez Zadok <ezk@filer.fsl.cs.sunysb.edu> 4902 4903 * amd/amq_subr.c (amqproc_mnttree_1_svc, amqproc_stats_1_svc, 4904 amqproc_getmntfs_1_svc, xdr_amq_mount_tree), hlfsd/hlfsd.c 4905 (hlfsd_init): cast pointers to void* before casting them to 4906 another type, to avoid gcc-3.3 -Wall warnings. 4907 4908 * fsinfo/*.[hc]: rename fsinfo function log() to fsi_log(), to 4909 avoid conflict with builtin function in gcc-3.3. 4910 49112003-07-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 4912 4913 * scripts/amd.conf-sample: Remove obsolete comment. 4914 49152003-07-16 Erez Zadok <ezk@cs.sunysb.edu> 4916 4917 * amd/info_file.c (read_line): check for errors from fgets(). 4918 Although rare, they can occur upon disk or network failures. 4919 Patch from Nick Williams <Nick.Williams@morganstanley.com>. 4920 49212003-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 4922 4923 * BUGS (Solaris 8): Update patch revisions, mention old autofs 4924 patches, fix filenames and rpcgen command. 4925 49262003-07-15 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu> 4927 4928 * doc/am-utils.texi (map_defaults Parameter): document new 4929 map_defaults option. 4930 4931 * scripts/amd.conf.5: document new map_defaults option. 4932 4933 * scripts/amd.conf-sample (map_type): show examples of new 4934 map_defaults option. 4935 4936 * amd/mapc.c (mapc_create): initialize mnt_map->cfm field to NULL. 4937 4938 * amd/get_args.c (get_args): call process_all_regular_maps(). 4939 4940 * amd/conf.c: keep head and tail of cfm list. 4941 (init_cf_map): reworked reset_cf_map. This one doesn't reset a 4942 globaly reused cfm, but rather just inherits [global] options. 4943 (set_conf_kv): just store global/map options without actually 4944 creating any mnt_map's. Essentially, we now parse the whole 4945 amd.conf file, and then try to process the maps one at a time. 4946 (process_one_regular_map): new function to process one map, just 4947 renamed from process_regular_map. 4948 (process_all_regular_maps): new exported function to process all 4949 maps. No need for hacky process_last_map(). 4950 (find_cf_map): new exported function to return a cf_map_t given a 4951 map's mount point (e.g., /home or /net). 4952 4953 * amd/amfs_generic.c (amfs_parse_defaults): find if amd.conf 4954 specificed a map_defaults for a given map. If so, use that 4955 instead of the /defaults that came from the map itself. Also 4956 restructure code a bit so it's not one huge long "if" statement. 4957 4958 HACK ALERT: there's no easy way to find out what the map mount 4959 point is at this point, so I am forced to initialize the 4960 mnt_map->cfm field here for the first time, upon the very first 4961 search for a /defaults entry in this map. This initialization is 4962 much better done in mapc_create(), but it's impossible to do that 4963 there with the current code structure. 4964 4965 * amd/amd.h: struct cf_map becomes linked list. struct mnt_map 4966 includes pointer to cf_map_t, amd.conf defaults and options for a 4967 given map. extern cleanups. 4968 49692003-07-15 Erez Zadok <ezk@filer.fsl.cs.sunysb.edu> 4970 4971 * amd/info_hesiod.c (hesiod_search): It's not possible to have a 4972 key such as ".access" in a hesiod map as that would imply a null 4973 node in the DNS tree. So a lookup for such a key must clearly 4974 fail. With the current info_hesiod.c it does (after calling 4975 hes{,iod}_resolve) but returns an error that confuses some 4976 programs - eg. apache. This patch shortcuts the process and just 4977 returns ENOENT for any key starting with ".". Patch submitted by 4978 by Mark Davies <mark@mcs.vuw.ac.nz>. 4979 4980 * include/am_utils.h (CALLOC): redefine macro to use xzalloc, not 4981 fsinfo's own xcalloc. 4982 4983 * fsinfo/fsi_util.c (xcalloc): remove redundant function. 4984 49852003-07-14 Erez Zadok <ezk@cs.sunysb.edu> 4986 4987 * include/am_compat.h (MNTTAB_OPT_XLATECOOKIE): The NetBSD 4988 xlatecookie NFS option doesn't work as MNTTAB_OPT_XLATECOOKIE is 4989 never defined. Define it as needed. Patch from Mark Davies 4990 <mark@mcs.vuw.ac.nz>. 4991 49922003-07-14 Ion Badulescu <lionut@gonzales.badula.org> 4993 4994 * BUGS (Note): document the Solaris 8 bug (the upgrade to autofs 4995 v4 without updating all the header files) 4996 49972003-07-13 Ion Badulescu <lionut@gonzales.badula.org> 4998 4999 * NEWS, tasks: updated 5000 5001 * amd/amfs_generic.c (free_continuation): free _all_ mntfs's in 5002 the am_mfarray, unconditionally 5003 (amfs_bgmount): call free_mntfs when we're done with a mntfs, call 5004 dup_mntfs when starting processing of a new one; make sure we 5005 always go through 'goto failed' for a failed mntfs; use the error 5006 code returned by autofs_get_fh() 5007 5008 * conf/autofs/autofs_linux.c (autofs_get_fh): return proper error 5009 codes in case of problems 5010 50112003-07-13 Erez Zadok <ezk@filer.fsl.cs.sunysb.edu> 5012 5013 * BUGS: Document buggy behavior of Solaris /usr/ccs/bin/lex. In 5014 short, use flex. 5015 50162003-07-13 Erez Zadok <ezk@a-hpux11.fsl.cs.sunysb.edu> 5017 5018 * fsinfo/fsi_lex.l, amd/conf_tok.l: allocate more output slots so 5019 lex scanners don't run out of mem. 5020 50212003-07-13 Ion Badulescu <lionut@gonzales.badula.org> 5022 5023 * amd/amfs_generic.c (amfs_lookup_mntfs): ditto as below for the 5024 special provision 5025 5026 * amd/mntfs.c (find_mntfs): compare the filesystem type 5027 (i.e. mf_ops) in addition to mf_info; the special provision 5028 mentioned below is really for any filesystem already mounted on 5029 our mount point, not just for inherited filesystems 5030 50312003-07-13 Erez Zadok <ezk@whitestar.dyn.optonline.net> 5032 5033 * doc/Makefile.am (install-html): build per-chapter HTML manual, 5034 as well as manual in one big HTML file. 5035 5036 * doc/am-utils.texi: Minor corrections. Ack Ion's autofs work. 5037 Ack maintainers. New section on How to get additionl info, 5038 including the Amd book. Correct stale URLs and Emails. 5039 5040 * amd/amd.8, amq/amq.8, amq/pawd.1, fixmount/fixmount.8, 5041 fsinfo/fsinfo.8, hlfsd/hlfsd.8, mk-amd-map/mk-amd-map.8, 5042 scripts/amd.conf.5, scripts/automount2amd.8, 5043 wire-test/wire-test.8: include references to info pages, proper 5044 authors, am-utils Web page, and amd book. 5045 50462003-07-13 Ion Badulescu <lionut@gonzales.badula.org> 5047 5048 * amd/mntfs.c (find_mntfs): re-add the check for mf_info, but with 5049 a special provision for inherited filesystems. This unbreaks the 5050 handling of parallel mounts 5051 5052 * amd/amfs_generic.c (amfs_lookup_mntfs): for restarted 5053 filesystems, there can be no alternative mntfs to try to mount 5054 50552003-07-13 Erez Zadok <ezk@cs.sunysb.edu> 5056 5057 * amd/amd.8: reference am-utils info page in amd man page, as per 5058 Thomas Klausner <wiz@danbala.ifoer.tuwien.ac.at>. 5059 5060 * fsinfo/fsinfo.h, fsinfo/fsinfo.c (fsi_get_args): don't use 5061 yywrap() if it doesn't exist. 5062 5063 * amd/conf_parse.y, amd/conf_tok.l, fsinfo/fsi_gram.y, 5064 fsinfo/fsi_lex.l: fixes to support old flex 2.5.4, as well as the 5065 newer flex 2.5.31 (beta development). These include resolving 5066 conflicts with yylineno, unput() vs. nounput(), etc. 5067 50682003-07-13 Ion Badulescu <lionut@gonzales.badula.org> 5069 5070 * amd/amfs_generic.c (amfs_cont): check for (am_error > 0) before 5071 calling assign_error_mntfs() 5072 (amfs_generic_mount_child): ditto 5073 5074 * amd/autil.c (assign_error_mntfs): move the check for 5075 (am_error > 0) up into the caller, it's less confusing that way 5076 5077 * tasks: some updates 5078 5079 * conf/transp/transp_tli.c (check_pmap_up): new function which 5080 detects if the remote portmapper is functional 5081 (amu_clnt_create_best_version): removed 5082 (get_nfs_version): use a much simplified version of the old 5083 amu_clnt_create_best_version(), based on clnt_create_vers() and 5084 its _timed() counterpart 5085 5086 * conf/transp/transp_sockets.c (check_pmap_up): new function which 5087 detects if the remote portmapper is functional 5088 (pmap_ping): deleted 5089 (get_nfs_version): removed calls to pmap_ping, already done by 5090 caller 5091 5092 * amd/srvr_nfs.c: call check_pmap_up() before continuing with 5093 get_nfs_version() 5094 5095 * amd/amfs_generic.c: updated a couple of log messages 5096 5097 * configure.in: detect clnt_create_vers and clnt_create_vers_timed; 5098 changed LIBTOOL versioning to 3:0:0 5099 51002003-07-12 Ion Badulescu <lionut@gonzales.badula.org> 5101 5102 * conf/autofs/autofs_linux.h (AUTOFS_HOST_FS_FLAGS): removed 5103 FS_AUTOFS because the host mount cannot be a top level mount 5104 (AUTOFS_DIRECT_FS_FLAGS): removed FS_AUTOFS because Linux autofs 5105 doesn't support direct mounts 5106 51072003-07-12 Erez Zadok <ezk@whitestar.dyn.optonline.net> 5108 5109 * amd/conf_parse.y, amd/conf_tok.l: pretty comments on # cpp 5110 macros. 5111 51122003-07-10 Ion Badulescu <ionut@buggy.badula.org> 5113 5114 * include/am_utils.h (dlog): improved version for gcc, using 5115 vararg macros 5116 5117 * amd/rpc_fwd.c (fwd_packet): unused variable when compiling 5118 without debugging 5119 51202003-07-10 Erez Zadok <ezk@filer.fsl.cs.sunysb.edu> 5121 5122 * include/am_utils.h (dlog): change the #define of non-debugging 5123 dlog to "nothing" so that all that'll be left behind is a list of 5124 args in parenthesis (arg,arg,...). GCC and other native C 5125 compilers seem OK with it, even if it doesn't optimize away the 5126 whole debugging line. 5127 5128 * ltmain.sh: was from libtool 1.4.2. updated to libtool 1.4.3, 5129 the latest on RH9 systems (but is not the latest libtool 5130 available). Stay with stable version in preparation for 6.1 5131 release. 5132 5133 * config.{guess,sub}, doc/texinfo.tex: update to latest off of 5134 ftp.gnu.org. 5135 51362003-07-09 Erez Zadok <ezk@filer.fsl.cs.sunysb.edu> 5137 5138 * amd/amfs_inherit.c (amfs_inherit_inherit): don't use // C++ 5139 style comments: breaks non-C++ compilers (like AIX xlC 6) 5140 51412003-07-02 Ion Badulescu <ionut@buggy.badula.org> 5142 5143 * doc/am-utils.texi (opts Option): document ignore_portmapper option 5144 5145 * conf/transp/transp_sockets.c (get_nfs_version): better 5146 protocol/version cycling while probing remote server; better log 5147 messages 5148 5149 * amd/srvr_nfs.c (start_ping): improved log message 5150 (find_nfs_srvr): always use requested nfs_version/nfs_proto; make 5151 sure we have a valid NFS port; start the server as "valid, down" if 5152 the remote portmapper tells us the NFS service is not running; 5153 implement the "ignore_portmapper" pseudo-mount option 5154 5155 * amd/rpc_fwd.c (fwd_packet): better debug messages 5156 5157 * amd/ops_nfs.c (got_nfs_fh): log a messages if a root fh is 5158 denied; call wakeup even if mountd call fails 5159 5160 * amd/amq_subr.c (xdr_amq_mount_info_qelem): use FSRV_ISUP/ISDOWN 5161 instead of checking the flags directly 5162 * amd/srvr_amfs_auto.c (free_srvr): ditto 5163 5164 * amd/amfs_generic.c (amfs_bgmount): refined some error/debug 5165 messages 5166 5167 * amd/amd.h (FSRV_ERROR): new macro 5168 (FSRV_ISDOWN, FSRV_ISUP): a server that doesn't exist (i.e. it's a 5169 local filesystem) is always up 5170 51712003-06-30 Erez Zadok <ezk@cs.sunysb.edu> 5172 5173 * amd/autil.c (am_mounted): set AMF_NOTIMEOUT if either unmount or 5174 umount options are present. 5175 5176 * doc/am-utils.texi (Program Filesystem): document alias options 5177 to unmount:=, umount:=. 5178 5179 * amd/opts.c (expansions): initialize opt_umount. 5180 (to_free): initialize opt_umount. 5181 5182 * amd/amfs_program.c (amfs_program_match): ensure that only one of 5183 umount:= or unmount:= options are specified, but that at least one 5184 of them is listed. 5185 5186 * amd/amd.h: support unmount:=XXX as well as umount:=XXX (too 5187 annoying in type:program, when one forgets the 'n' in "unmount"). 5188 They are two separate fields, so we can catch mistakes when 5189 someone tries to define both options. 5190 5191 * doc/am-utils.texi (Program Filesystem): explain that both mount 5192 and unmount options must be specified. Correct example to show 5193 both. 5194 51952003-06-25 Erez Zadok <ezk@cs.sunysb.edu> 5196 5197 * XXX: beginning of new amd.conf option map_defaults: will parse 5198 the option and set remember it in the right places. Need to 5199 document this and actually hook it up with the rest of the code. 5200 Any volunteers? :-) 5201 5202 * scripts/amd.conf-sample (map_defaults): example of map_defaults 5203 amd.conf option. 5204 5205 * amd/conf.c (reset_cf_map): initialize global and per-mount 5206 map_defaults. 5207 (gopt_map_defaults): parse global map_defaults. 5208 (process_regular_option,ropt_map_defaults): parse per-map 5209 map_defaults amd.conf option. 5210 5211 * amd/amd.h: a place to store global and per-mount map_defaults. 5212 5213 * BUGS: more notes about AIX 5.2 problems and how to overcome 5214 them. 5215 52162003-06-10 Erez Zadok <ezk@cs.sunysb.edu> 5217 5218 * doc/Makefile.am: force version.texi to be rebuilt regardless of 5219 maintainer mode. Silly Automake will not build version.texi if 5220 maintainer mode is off (this is hardcoded into the automake perl 5221 script!). According to the Automake maintainers, users should 5222 always build in CVS trees with maintainer-mode on; but what if I 5223 don't want to?! I don't want to distribute Makefiles with 5224 maintained rules in them to users. The Automake maintainers also 5225 say that "make dist" will rebuild version.texi no matter what. I 5226 find that not to be the case. It failed to run a "make" before 5227 "make dist" because version.texi doesn't exist! Chicken and Egg 5228 situation. So, until Automake deals with version.texi in a more 5229 flexible and friendly manner, I adapted a rule to build 5230 version.texi and inserted it in this Makefile.am. 5231 52322003-06-09 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu> 5233 5234 * mk-amd-map/mk-amd-map.c (main): open temp db file using O_EXCL, 5235 next best thing to using mkstemp(). Patch from Hendrik Scholz 5236 <hscholz@raisdorf.net>. 5237 52382003-05-08 Ion Badulescu <ion@guppy.limebrokerage.com> 5239 5240 * libamu/mount_fs.c (compute_automounter_mount_flags): use 5241 MNT2_GEN_OPT_AUTOMNTFS if available; minor cleanup 5242 5243 * m4/macros/header_templates.m4: added template for 5244 MNT2_GEN_OPT_AUTOMOUNTED 5245 52462003-05-01 Ion Badulescu <ionut@nicu.badula.org> 5247 5248 * amd/ops_xfs.c (mount_xfs): compile fix (s/genflags/flags/) 5249 52502003-04-23 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu> 5251 5252 * conf/transp/transp_sockets.c (create_amq_service): minor cpp 5253 directive indentation and commenting. 5254 52552003-04-22 Ion Badulescu <ionut@moisil.badula.org> 5256 5257 * conf/transp/transp_sockets.c (create_amq_service): Ugly *BSD fix 5258 for an RPC library DoS issue (original patch from Martin Blapp, 5259 massaged into something more digestable by me) 5260 52612003-04-14 Ion Badulescu <ionut@moisil.badula.org> 5262 5263 * conf/autofs/autofs_solaris_v2_v3.c: removed autofs_free_data(), 5264 left over from the recent cleanup 5265 52662003-04-13 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu> 5267 5268 * doc/Makefile.am (DVIPS): use proper options for dvips. 5269 5270 * doc/am-utils.texi (opts Option): document new 'unmount' option, 5271 and better explain the 'nounmount' option. Also some misc options 5272 for better generation of html manual. 5273 5274 * doc/Makefile.am (install-html): support newer texi2html 4.0 5275 options, as older options were renamed or changed behavior. 5276 5277 * amd/autil.c (am_mounted): support new 'unmount' option, to allow 5278 all file system mounts to timeout and thus expire. This option is 5279 useful for removable local media such as CD-ROMs, USB drives, 5280 etc. so they can expire when not in use, and get unmounted (such 5281 drives can get work out when they keep spinning). Patch from 5282 Christos Zoulas <christos@zoulas.com> (originally from Koji 5283 Imada). 5284 52852003-04-10 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu> 5286 5287 * configure.in: use AM_MAINTAINER_MODE, so maintainer-only rules 5288 do not get added to Makefiles by default (they are confusing to 5289 users who don't have autotools installed). 5290 52912003-04-09 Ion Badulescu <ion@guppy.limebrokerage.com> 5292 5293 * amd/mntfs.c (find_mntfs): revert the "change of philosophy" (see 5294 the 2001-05-23 entry) back to the 6.0 code 5295 52962003-04-04 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu> 5297 5298 * libamu/xutil.c (switch_to_logfile): don't try to print logfile 5299 if it is null (strlen core dump on solaris). Bug report from John 5300 P. Rouillard <rouilj@ieee.org>. 5301 53022003-03-31 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu> 5303 5304 * fsinfo/fsinfo.8: typo co-ordinate -> coordinate. Typo report 5305 from Perry E. Metzger" <perry@piermont.com>. 5306 53072003-03-25 Erez Zadok <ezk@filer.fsl.cs.sunysb.edu> 5308 5309 * include/am_defs.h: Don't include malloc.h if stdlib.h exists, 5310 because modern systems (e.g., BSD) complain if you use malloc.h 5311 instead of stdlib.h. Let's hope there are no systems out 5312 there that need both. 5313 53142003-03-20 Erez Zadok <ezk@suse73.fsl.cs.sunysb.edu> 5315 5316 * minor new port: sparc64-unknown-linux-suse7.3. 5317 53182003-03-20 Erez Zadok <ezk@a-freebsd5.fsl.cs.sunysb.edu> 5319 5320 * minor new port: i386-unknown-freebsd5.0. 5321 5322 * configure.in: detect nfsclient/nfsargs.h. 5323 5324 * conf/nfs_prot/nfs_prot_freebsd3.h: include 5325 <nfsclient/nfsargs.h>, needed in FreeBSD 5.0. 5326 53272003-03-15 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu> 5328 5329 * amd/amd.8, amd/amd.8, fixmount/fixmount.8, hlfsd/hlfsd.8, 5330 scripts/amd.conf.5, scripts/expn.1: minor spell checking and 5331 extraneous space elimination. 5332 53332003-03-07 Ion Badulescu <ionut@buggy.badula.org> 5334 5335 * conf/autofs/autofs_linux.c (autofs_get_fh): don't leak file 5336 descriptors if limit exceeded 5337 (autofs_mounted): call autofs_get_mp(); init am_autofs_ttl 5338 (autofs_release_fh): release pending_mounts and pending_umounts 5339 queues 5340 (autofs_timeout_mp): update am_autofs_ttl instead of am_ttl 5341 5342 * amd/mntfs.c (init_mntfs): delete initialization of removed 5343 mf_autofs_fh 5344 (uninit_mntfs): delete call to autofs_release_fh() 5345 5346 * amd/map.c (init_map): init autofs_fh to 0, delete initialization 5347 of removed autofs_data 5348 (free_map): release autofs_fh after unmounting map; delete call to 5349 autofs_free_data() 5350 (umount_exported): call autofs_release_mp() prior to unmounting 5351 autofs f/s 5352 (unmount_mp): ditto 5353 (free_map_if_success): call autofs_get_mp() if unmounting fails 5354 (timeout_mp): use the dedicated am_autofs_ttl timeout for f/s-wide 5355 timeouts instead of the per-mountpoint am_ttl 5356 5357 * amd/autil.c (am_unmounted): release autofs_fh after unmounting 5358 autofs f/s 5359 5360 * amd/amfs_generic.c (amfs_cont): release autofs_fh if mounting 5361 autofs f/s fails; 5362 (amfs_bgmount): ditto 5363 5364 * amd/amd.h: moved autofs_fh from mntfs to am_node, since it's 5365 more related to the mount point than to the f/s mounted; 5366 added am_autofs_ttl to am_node, for running expirations on entire 5367 filesystems 5368 5369 * conf/autofs/autofs_*: autofs_get_fh() returns int instead of 5370 autofs_fh_t *; autofs_release_fh() now takes an am_node * parameter 5371 instead of autofs_fh_t *, in an effort to not deal with 5372 autofs-specific data structures outside autofs code; 5373 new methods autofs_get_mp() and autofs_release_mp(), which 5374 acquire/release autofs resources to allow clean unmount attempts; 5375 nuke autofs_data_t, never used 5376 5377 * amd/amd.h: prototypes for new and changed autofs functions 5378 53792003-03-07 Ion Badulescu <ion@guppy.limebrokerage.com> 5380 5381 * amd/nfs_subr.c (do_readlink): eliminate third argument, never used 5382 (nfsproc_getattr_2_svc): reorganize the code a bit 5383 5384 * amd/map.c (mk_fattr): take a nfsfattr * argument instead of an 5385 am_node * argument 5386 5387 * amd/amd.h: changed prototype for mk_fattr() 5388 5389 * amd/autil.c (am_unmounted): when remounting, use the parent 5390 node's lookup_child() and mount_child() operations, not the 5391 generic ones 5392 5393 * amd/amfs_generic.c (amfs_cont): minor code optimization 5394 53952003-03-06 Ion Badulescu <ion@guppy.limebrokerage.com> 5396 5397 * amd/amfs_auto.c: lots of renames and code moving: 5398 amfs_auto_match() -> amfs_generic_match(), moved to generic; 5399 amfs_auto_mkcacheref() -> amfs_mkcacheref(), moved to autil.c; 5400 amfs_auto_mounted() -> amfs_generic_mounted(), moved to generic; 5401 amfs_auto_umount() -> amfs_generic_umount(), moved to generic; 5402 free_continuation(): moved to generic, made static; 5403 assign_error_mntfs(): moved to autil.c; 5404 amfs_auto_cont() -> amfs_cont(), moved to generic, made static; 5405 amfs_auto_retry() -> amfs_retry(), moved to generic, made static; 5406 try_mount() + mount_node() -> mount_node(), moved to map.c 5407 amfs_auto_bgmount() -> amfs_bgmount(), moved to generic; 5408 amfs_parse_defaults(): moved to generic; 5409 amfs_auto_lookup_node() -> amfs_lookup_node(), moved to generic; 5410 amfs_auto_lookup_one_mntfs() -> amfs_lookup_one_mntfs(), in generic; 5411 amfs_auto_lookup_mntfs() -> amfs_lookup_mntfs(), moved to generic; 5412 amfs_auto_mount_child() -> amfs_generic_mount_child(), in generic; 5413 amfs_auto_lookup_child() -> amfs_generic_lookup_child(), in generic; 5414 next_nonerror_node(): moved to autil.c; 5415 amfs_auto_readdir() -> amfs_generic_readdir(), moved to readdir; 5416 amfs_auto_readdir_browsable() -> amfs_readdir_browsable(), in readdir; 5417 5418 * amd/amfs_toplvl.c: mount_amfs_toplvl() renamed to amfs_mount() 5419 and moved to autil.c 5420 5421 * amd/readdir.c, amd/amfs_generic.c: new files with stuff ripped 5422 out of amd/amfs_auto.c 5423 5424 * amd/amd.h: struct continuation moved to generic.c; prototypes 5425 for the renamed functions; NumChild renamed to NumChildren 5426 5427 * amd/map.c: collaped unmount_node_wrap() and unmount_node() into 5428 the latter 5429 5430 * amd/mapc.c: key_already_in_chain(): moved to readdir.c; 5431 make_entry_chain(): moved to readdir.c; 5432 5433 * amd/srvr_amfs_auto.c: find_amfs_auto_srvr() renamed to 5434 amfs_generic_find_srvr() 5435 5436 * amd/amfs_*.c: adjustments for the renames above 5437 5438 * amd/ops_*.c: low-level filesystems don't need a find_server() 5439 method 5440 5441 * amd/Makefile.am: added amfs_generic.c and readdir.c 5442 5443 * doc/am-utils.texi: minor clarification for auto maps 5444 54452003-03-06 Ion Badulescu <ion@guppy.limebrokerage.com> 5446 5447 * amd/amd.h: moved lots and lots of amd-only stuff here, from 5448 include/am_utils.h; changed task_fun, cb_fun and fwd_fun typedefs 5449 to be function typedefs, not pointer to function typedefs 5450 5451 * include/am_utils.h: see above 5452 5453 * amd/ops_nfs.c, amd/rpc_fwd.c, amd/sched.c: adjustments for 5454 function typedef changes 5455 54562003-03-05 Erez Zadok <ezk@cs.sunysb.edu> 5457 5458 * BUGS: record IBM's patch number for the AIX 5.2 NFS over IPv6 5459 bug. 5460 54612003-02-02 Erez Zadok <ezk@siamese.fsl.cs.sunysb.edu> 5462 5463 * NEWS: minor new port: ia64-unknown-linux-rh2.1AS 5464 54652003-01-31 Ion Badulescu <ion@console.limebrokerage.com> 5466 5467 * m4/macros/os_cflags.m4: rhapsody and darwin are the same 5468 5469 * amd/autil.c (mount_node): vastly simplified, just a wrapper now 5470 5471 * amd/amfs_inherit.c (amfs_inherit_mount): remove the am_mounted() 5472 hack, we now do it properly in the generic code 5473 5474 * amd/amfs_auto.c (amfs_auto_bgmount): get the autofs_fh _before_ 5475 forking the child; set and reset MFF_MOUNTING here, not in 5476 mount_node(), because the latter might be running in child 5477 context; call am_mounted() after a successful foreground mount 5478 54792003-01-29 Ion Badulescu <ionut@moisil.badula.org> 5480 5481 * configure.in: new flag --with[out]-ndbm; don't pull in libldap 5482 if building --without-ldap; look for the gdbm/ndbm.h header; make 5483 explicit the dependency between the ndbm headers and libraries; 5484 define NEW_DBM_H as the ndbm header that should be used 5485 5486 * include/am_defs.h: simply include NEW_DBM_H for ndbm stuff, 5487 instead of trying to second-guess configure 5488 5489 * m4/macros/header_templates.m4: new template for NEW_DBM_H 5490 5491 * m4/macros/check_map_funcs.m4: 5492 (ac_upcase_map_name): use the third argument correctly 5493 5494 * ltmain.sh: working version from libtool-1.4.2-7 5495 5496 * buildall: print the entire configure command, including extra 5497 arguments; pass each of the extra arguments separately, not 5498 commingled into one 5499 55002003-01-28 Ion Badulescu <ion@guppy.limebrokerage.com> 5501 5502 * include/am_utils.h (DEBUG_MNTTAB): define outside of #ifdef 5503 DEBUG; it is not used without DEBUG, but it is referenced at 5504 compile time. Bug report from John Kilburg <john@physics.unlv.edu>. 5505 (D_ALL): don't include D_XDRTRACE, too verbose and normally 5506 unnecessary 5507 55082003-01-28 Erez Zadok <ezk@cs.sunysb.edu> 5509 5510 * ltmain.sh, config.guess, config.sub, doc/texinfo.tex: updates 5511 from latest official GNU versions. 5512 55132003-01-25 Erez Zadok <ezk@cs.sunysb.edu> 5514 5515 * BUGS (Note): document AIX-5.1 NFS-client side bug (hangs in 5516 vmount). 5517 55182003-01-25 Ion Badulescu <ionut@moisil.badula.org> 5519 5520 * Released beta version 6.1b2 5521 55222003-01-24 Ion Badulescu <ionut@moisil.badula.org> 5523 5524 * amd/autil.c (am_unmounted): reset MFF_MKMNT from mf_flags when 5525 calling rmdirs() on mountpoint 5526 5527 * amd/amfs_auto.c (amfs_auto_bgmount): ditto 5528 5529 * amd/amfs_nfsl.c (amfs_nfsl_umounted): ditto 5530 5531 * doc/am-utils.texi (opts Option): "sftlookup" -> "softlookup" 5532 5533 * NEWS: "sftlookup" -> "softlookup" 5534 5535 * amd/ops_nfs.c (nfs_mount): "sftlookup" -> "softlookup", also 5536 check for "nosoftlookup" in combination with "soft" 5537 55382003-01-23 Ion Badulescu <ion@guppy.limebrokerage.com> 5539 5540 * m4/macros/check_nfs_fh_dref.m4: darwin/rhapsody is another 5541 freebsd22 derivative 5542 5543 * NEWS: updated for Darwin changes 5544 5545 * .cvsignore: added A.i386-apple-darwin6.0 5546 5547 * m4/macros/os_cflags.m4: add -D_P1003_1B_VISIBLE to cflags for 5548 Darwin 5549 55502003-01-23 Erez Zadok <ezk@cs.sunysb.edu> 5551 5552 * conf/mount/mount_aix.c (mount_aix3): clean back this file from 5553 all the debugging cruft that is no longer needed (and really was 5554 never needed in the first place). 5555 55562003-01-10 Erez Zadok <ezk@cs.sunysb.edu> 5557 5558 * scripts/test-amd.{misc,conf}: simple amd.conf and amd.misc 5559 (map) files for testing basic amd functionality such as whether it 5560 can mount its own mount NFS points. 5561 55622002-12-28 Ion Badulescu <ionut@moisil.badula.org> 5563 5564 * amd/srvr_nfs.c (start_nfs_pings): don't set FSF_PINGING if 5565 pings are disabled 5566 5567 * libamu/xdr_func.c (xdr_ftype): use a local enum_t variable 5568 instead of casting the pointer to (enum_t *) 5569 (xdr_mountstat3): ditto 5570 (xdr_nfsstat): ditto 5571 5572 * libamu/misc_rpc.c (make_rpc_packet): fix make_rpc_packet() on 5573 64-bit big-endian platforms, bug report from Bill Fenner 5574 <fenner@research.att.com> 5575 5576 * configure.in: increase library patchlevel 5577 5578 * libamu/xutil.c (amu_release_controlling_tty): close and reopen 5579 file descriptors 0,1,2 before calling setsid() 5580 55812002-12-27 Erez Zadok <ezk@cs.sunysb.edu> 5582 5583 * updated copyright year to 2003 on all files 5584 55852002-12-10 Erez Zadok <ezk@localhost.localdomain> 5586 5587 * rename "aux/" subdir into "m4/" so as to avoid problems with 5588 MS-DOS systems (where "AUX" is a reserved name). This required 5589 fixing numerous files. 5590 55912002-12-10 Erez Zadok <ezk@filer.fsl.cs.sunysb.edu> 5592 5593 * configure.in: don't check for bad hasmntopt() function if 5594 hasmntopt() doesn't exist on the system, because we will replace 5595 it with our own version anyway. 5596 5597 * conf/transp/transp_sockets.c (amu_get_myaddress): use "%lx" in 5598 dlog because htonl() returns a u_long. 5599 56002002-12-10 Erez Zadok <ezk@localhost.localdomain> 5601 5602 * include/am_defs.h: use system's hasmntopt() only if it is found 5603 and it is not buggy. 5604 5605 * libamu/hasmntopt.c (nextmntopt): isspace() takes an int, not a 5606 char. 5607 5608 * amd/am_ops.c, amd/amfs_auto.c, amd/autil.c, amd/nfs_subr.c, 5609 amd/ops_cdfs.c, amd/ops_nfs.c, amd/srvr_nfs.c, libamu/hasmntopt.c, 5610 libamu/mount_fs.c, libamu/mtab.c: rename all uses of hasmntopt() 5611 to amu_hasmntopt(). Don't use hasmntopt() directly any more! 5612 5613 * aux/macros/func_bad_hasmntopt.m4: new M4 macro to test for a bad 5614 hasmntopt() function, which incorrectly finds the option "soft" in 5615 a string "hard,softlookup,ro". 5616 5617 * libamu/hasmntopt.c (hasmntopt): use 'const' on two args to 5618 hasmntopt(), to match what most systems use. 5619 5620 * aux/macros/header_templates.m4: template for HAVE_BAD_HASMNTOPT. 5621 5622 * configure.in: invoke test for bad hasmntopt() 5623 5624 * NEWS: minor new port, i386-pc-linux-rh8.0. 5625 Mention autofs-v4 on solaris9 works. 5626 5627 * bootstrap: remove any autom4te-*.cache directories, now that 5628 autoconf uses a version number for them. 5629 56302002-12-09 Ion Badulescu <ionut@moisil.badula.org> 5631 5632 Patches from Christos Zoulas: 5633 5634 -1- am_utils.h: add full prototypes 5635 -2- amfs_auto.c make functions static and add prototypes 5636 -3- map.c: kill double free 5637 -5- transp_sockets.c: add full prototypes 5638 56392002-12-09 Ion Badulescu <ionut@moisil.badula.org> 5640 5641 * NEWS: updated 5642 5643 * doc/am-utils.texi (opts Option): document sftlookup 5644 5645 * conf/autofs/autofs_solaris_v2_v3.c: compile fixes 5646 56472002-11-22 Erez Zadok <ezk@filer.fsl.cs.sunysb.edu> 5648 5649 * amd/info_ldap.c (amu_ldap_rebind): gopt.ldap_cache_seconds is 5650 %ld not %d. 5651 56522002-11-21 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu> 5653 5654 * {amd,fsinfo}/Makefile.am: remove special rules for processing 5655 yacc/lex files, now that autoconf/automake properly handle them 5656 better (esp. now that bison 1.75 behaves differently than older 5657 bison versions). 5658 56592002-11-21 Erez Zadok <ezk@cs.sunysb.edu> 5660 5661 * config.guess.long: updated script so it will properly find the 5662 version number of the new Itanium 2 machines running "Red Hat 5663 Linux Advanced Workstation release 2.1AW (Derry)". The script now 5664 will report ia64-unknown-linux-rh2.1AW. 5665 56662002-11-20 Ion Badulescu <ionut@moisil.badula.org> 5667 5668 * amfs_auto_bgmount(): almost complete rewrite 5669 5670 * fixed amfs_inherit to do the right thing and not dereference 5671 freed mntfs'es 5672 5673 * #if 0'ed bogus code in fh_to_mp3() -- it is now done properly in 5674 amfs_autofs_lookup_child() 5675 5676 * release the autofs_fh only in one place 5677 5678 * remove the mountpoint only if mf_refc == 1 5679 5680 * print the mntfs type in free_mntfs() 5681 5682 * new pseudo-mount option 'sftlookup' which causes lookups to 5683 mounted shares from downed servers to return EIO; the default 5684 depends on whether the mount is 'hard' or 'soft' 5685 5686 * improved querying of supported NFS versions on the server -- 5687 don't even try if it's known to be down 5688 5689 * solaris autofs mount code moved to transp_{sockets,tli}.c 5690 5691 * incipient (non-functional) AIX autofs support 5692 56932002-11-11 Ion Badulescu <ion@guppy.limebrokerage.com> 5694 5695 * doc/am-utils.texi (Keep-alives): removed outdated info about not 5696 maintaining the state of TCP NFS servers 5697 56982002-11-04 Ion Badulescu <ion@guppy.limebrokerage.com> 5699 5700 * include/am_utils.h: prototype for ops_search() 5701 5702 * amd/am_ops.c (ops_search): new function for searching the right 5703 set of ops for a given filesystem type 5704 5705 * amd/restart.c (restart): cleanup and split into two functions in 5706 preparation for handling the restart of amd's own mount points 5707 (restart_fake_mntfs): new function, factored out from restart() 5708 57092002-11-04 Ion Badulescu <ionut@buggy.badula.org> 5710 5711 * amd/ops_cdfs.c (mount_cdfs): remove special code for loop device 5712 (cdfs_umount): ditto 5713 5714 * conf/mount/mount_linux.c (mount_linux): factor it out to 5715 mount_linux_nfs() and mount_linux_nonfs() 5716 (mount_linux_nonfs): generalize loop device support to all 5717 filesystems (not just cdfs); make it automatic for anything that's 5718 a regular file 5719 (parse_opts): deprecate the explicit "loop" mount option 5720 (do_mount_linux): minor cleanup 5721 5722 * conf/umount/umount_default.c (umount_fs2): release loop device 5723 on umount() 5724 57252002-11-03 Erez Zadok <ezk@cnm20> 5726 5727 * include/am_defs.h: moved #include of net/if.h above net/route.h, 5728 because on AIX 5.2 if.h is needed for route.h (let's hope it 5729 doesn't break things on other systems). 5730 5731 * include/am_defs.h: AIX 5.2 needs struct sigevent from signal.h 5732 to be defined, but I don't want to move the inclusion of signal.h 5733 this early into this file. Luckily, amd doesn't need the size of 5734 this structure in any other structure that it uses. So we 5735 sidestep it for now. 5736 5737 * conf/nfs_prot/nfs_prot_aix5_2.h: AIX 5.2 wants 'struct pathcnf', 5738 but I couldn't find its definition anywhere. Luckily, amd doesn't 5739 need the size of this structure in any other structure that it 5740 uses. So we sidestep it for now. 5741 57422002-11-02 Erez Zadok <ezk@cs.sunysb.edu> 5743 5744 * config.guess, config.sub, doc/texinfo.tex: updates from 5745 the latest GNU distributions (2002-09-05). 5746 57472002-10-30 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu> 5748 5749 * conf/nfs_prot/nfs_prot_aix5_2.h: add more definitions from 5750 mount.h for NFSOPT_* and NFSMNT_*. 5751 Don't use typedefs that aren't found in system header files. 5752 57532002-10-30 Erez Zadok <ezk@cs.sunysb.edu> 5754 5755 * Makefile.am (EXTRA_DIST_CONF): distribute nfs_prot_aix5_2.h. 5756 5757 * conf/nfs_prot/nfs_prot_aix5_2.h: new file. 5758 5759 * aux/macros/struct_nfs_args.m4 (ac_cv_have_struct_nfs_args): look 5760 for "struct aux52_nfs_args". 5761 5762 * aux/macros/check_nfs_prot_headers.m4: define new header file for 5763 AIX 5.2. 5764 57652002-10-21 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu> 5766 5767 * scripts/amd.conf.5 (ldap_proto_version): document in amd.conf 5768 man page. 5769 5770 * scripts/amd.conf-sample (ldap_proto_version): show example of use 5771 5772 * doc/am-utils.texi (ldap_proto_version Parameter): document new 5773 amd.conf option. 5774 5775 * amd/conf.c (gopt_ldap_proto_version): new conf function to 5776 support ldap_proto_version amd.conf parameter. 5777 5778 * amd/amd.h: field to hold LDAP protocol version. 5779 5780 * amd/amd.c (init_global_options): set default for 5781 ldap_proto_version. ldap_proto_version patch from George Ross 5782 <gdmr@dcs.ed.ac.uk> and Tim Colles <timc@inf.ed.ac.uk>. 5783 5784 * amd/info_ldap.c (amu_ldap_unbind): ignore SIGPIPE errors while 5785 unbinding from an LDAP server that may have been restarted. Fix 5786 from George Ross <gdmr@dcs.ed.ac.uk>. 5787 57882002-09-17 Ion Badulescu <ion@guppy.limebrokerage.com> 5789 5790 * remove all autoconf stuff added for sys_nerr 5791 5792 * amq/amq.c, libamu/xutil.c, hlfsd/hlfsd.c: always use strerror 5793 5794 * libamu/strerror.c: more explicit text for unknown errno's 5795 57962002-10-01 Erez Zadok <ezk@cs.sunysb.edu> 5797 5798 * include/am_defs.h: define "extern int sys_err" if needed. 5799 5800 * aux/macros/header_templates.m4: template for 5801 HAVE_EXTERN_SYS_NERR. 5802 5803 * hlfsd/hlfsd.h, libamu/xutil.c (expand_error), amq/amq.c 5804 (show_mi): remove "extern int sys_err" 5805 5806 * configure.in: execute test for "extern int sys_err" 5807 5808 * Makefile.am (EXTRA_DIST_AUX): distribute new extern_sys_err.m4 file. 5809 5810 * aux/macros/extern_sys_nerr.m4: new test to check for existence 5811 of "extern int sys_nerr" definition in system headers. 5812 58132002-09-17 Ion Badulescu <ion@guppy.limebrokerage.com> 5814 5815 * libamu/xutil.c (dbg_opt): bring comments in line with the code 5816 5817 * hlfsd/hlfsd.c (main): use amuDebug() instead of touching 5818 debug_flags directly 5819 5820 * amd/amd.c (main): don't init debug_flags, leave it as zero (no 5821 debugging by default) 5822 58232002-09-11 Ion Badulescu <ion@guppy.limebrokerage.com> 5824 5825 Debug code sanitization: 5826 5827 - amuDebug() becomes an expression, and explicit if() statements 5828 are added around it throughout the code 5829 - amuDebugNo() goes away (ugh!) 5830 - D_AMQ, D_DAEMON and D_FORK reverse their meaning 5831 - D_ALL contains only options that don't affect amd's functionality 5832 58332002-09-04 Ion Badulescu <ion@guppy.limebrokerage.com> 5834 5835 * amd/amfs_auto.c (free_continuation): avoid double-free'ing the 5836 mntfs if there was an error/timeout 5837 58382002-09-04 Ion Badulescu <ion@guppy.limebrokerage.com> 5839 5840 * amd/amfs_auto.c (amfs_auto_lookup_mntfs): use ereturn() instead 5841 of "return NULL" to signal an error to the upper layers 5842 (amfs_auto_mount): use strdup so the string can be free'd later on 5843 [Debian bug report from Matt Chapman <matthewc@cse.unsw.edu.au>] 5844 58452002-09-03 Ion Badulescu <ion@guppy.limebrokerage.com> 5846 5847 Patches from George Ross <gdmr@dcs.ed.ac.uk>: 5848 5849 * amd/amfs_auto.c (assign_error_mntfs): do not discard old mntfs, 5850 it will be done in free_continuation(); assorted debugging messages 5851 5852 * amd/srvr_nfs.c (nfs_timed_out): allocate a new XID on server 5853 timeout to avoid problems with late ping replies 5854 5855 * amd/mntfs.c (free_mntfs): sanity check for mf_refc; assorted 5856 debugging messages 5857 5858 * amd/map.c (unmount_node): more verbose debug message 5859 58602002-07-29 Ion Badulescu <ion@guppy.limebrokerage.com> 5861 5862 * amd/amfs_auto.c (amfs_auto_lookup_mntfs): prevent deferencing 5863 de-allocated memory in str3cat 5864 (amfs_auto_lookup_mntfs): check for buffer overflow 5865 58662002-07-11 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu> 5867 5868 * scripts/expn.{1,in}: fixed typos as reported by Thomas Klausner 5869 <wiz@danbala.ifoer.tuwien.ac.at>. 5870 58712002-06-26 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu> 5872 5873 * doc/Makefile.am (install-html): don't use locally hacked 5874 texi2html features. 5875 5876 * conf/transp/transp_sockets.c (amu_get_myaddress): Most modern 5877 systems should use 127.0.0.1 as the localhost address over which 5878 you can do NFS mounts. In the past we found that some NFS clients 5879 may not allow mounts from localhost. So we used get_myaddress() 5880 and that seemed to work. Alas, on some other systems, 5881 get_myaddress() may return one of the interface addresses at 5882 random, and thus use a less efficient IP address than 127.0.0.1. 5883 The solution is to hard-code 127.0.0.1, but still check if 5884 get_myaddress() returns a different value and warn about it. 5885 5886 * doc/am-utils.texi: don't use ':' in @cindex entries. 5887 58882002-06-25 Ion Badulescu <ion@guppy.limebrokerage.com> 5889 5890 * Released beta version 6.1b1 5891 58922002-06-24 Ion Badulescu <ionut@moisil.badula.org> 5893 5894 * aux/macros/struct_nfs_args.m4: added test for aix51_nfs_args 5895 5896 * conf/nfs_prot/nfs_prot_aix5_1.h: rename aix42_nfs_args to 5897 aix51_nfs_args, rename unknown fields to u<number>, add the 5898 unknown new field into the middle of the old 4.2 structure 5899 59002002-06-24 Ion Badulescu <ion@guppy.limebrokerage.com> 5901 5902 * include/am_compat.h: better test for struct netconfig 5903 (!HAVE_NETCONFIG_H && !HAVE_SYS_NETCONFIG_H) 5904 5905 * aux/macros/check_nfs_prot_headers.m4: added new header for aix5.1+ 5906 5907 * buildall: fix 'buildall -b' on hpux9 and aix5.1 5908 59092002-06-24 Ion Badulescu <ionut@buggy.badula.org> 5910 5911 * INSTALL: updated 5912 5913 * conf/autofs/autofs_solaris_v1.c (autofs_link_mount): compile fix 5914 (autofs_link_umount): ditto 5915 5916 * amd/mntfs.c (init_mntfs): don't use autofs if !amd_use_autofs 5917 59182002-06-23 Ion Badulescu <ionut@moisil.badula.org> 5919 5920 * conf/autofs/autofs_linux.c: compile fixes for autofs v3 5921 59222002-06-23 Ion Badulescu <ionut@moisil.badula.org> 5923 5924 * conf/autofs/autofs_solaris_v2_v3.c (autofs_mounted): no 5925 expirations needed; 5926 (autofs_timeout_mp): likewise 5927 5928 * conf/autofs/autofs_solaris_v1.c (autofs_mounted): no expirations 5929 needed; 5930 (autofs_timeout_mp): likewise 5931 5932 * conf/autofs/autofs_linux.c (autofs_mounted): set the first 5933 expiration interval 5934 5935 * amd/autil.c (am_mounted): call autofs_mounted here, instead of 5936 in mf_mounted() 5937 5938 * amd/amd.h (NEVER): moved here from map.c 5939 (autofs_mounted): change argument from mntfs* to am_node* 5940 59412002-06-23 Ion Badulescu <lionut@gonzales.badula.org> 5942 5943 * conf/autofs/autofs_linux.c (autofs_mounted): set the kernel 5944 timeout on the autofs mountpoint to cache_duration (gopt.am_timeo) 5945 (autofs_timeout_mp): don't update the ttl if we're going down 5946 5947 * amd/map.c (timeout_mp): don't call autofs_timeout_mp unless the 5948 timeout on that particular am_node has expired 5949 5950 * conf/autofs/autofs_linux.c (autofs_timeout_mp): really update 5951 the ttl, as per the comment (compilers are not very good at 5952 translating comments into code...) 5953 5954 * amd/amfs_auto.c (amfs_auto_lookup_one_mntfs): strdup am_path 5955 instead of opt_rfs into opt_fs for autofs, thus avoiding conflicts 5956 between link mounts pointing to the same target 5957 59582002-06-23 Ion Badulescu <lionut@gonzales.badula.org> 5959 5960 * conf/autofs/autofs_linux.c (send_fail, send_ready): new helper 5961 functions for sending messages back to the kernel 5962 (autofs_expire_one): initial implementation of the kernel-based 5963 expiration handler 5964 (autofs_handle_expire): call autofs_expire_one() 5965 (autofs_handle_expire_multi): ditto 5966 (autofs_umount_succeeded): search pending_umounts, send message 5967 back to the kernel 5968 (autofs_umount_failed): ditto 5969 (autofs_mount_succeeded): tell amd core not to expire autofs entries 5970 (autofs_timeout_mp): expiration function for autofs filesystems 5971 (autofs_timeout_mp_task): helper function for autofs_timeout_mp 5972 5973 * conf/autofs/autofs_linux.h: new struct autofs_pending_umount for 5974 keeping tracking of pending umounts 5975 (autofs_fh_t) rename pending to pending_mounts, add pending_umounts 5976 5977 * conf/autofs/autofs_solaris_v1.c (autofs_timeout_mp): stub 5978 5979 * conf/autofs/autofs_solaris_v2_v3.c (autofs_timeout_mp): stub 5980 5981 * amd/map.c (timeout_mp): call autofs_timeout_mp() for autofs 5982 filesystems 5983 5984 * amd/autil.c (mf_mounted): move here the call autofs_mounted() 5985 from amfs_auto_mounted(). 5986 59872002-06-22 Erez Zadok <ezk@whitestar.dyn.optonline.net> 5988 5989 * amd/nfs_start.c (mount_automounter): Security fix. if user sets 5990 -D noamq, don't even create listening socket. Suggestion by Ed 5991 Ravin <eravin@panix.com>. 5992 59932002-06-22 Ion Badulescu <lionut@gonzales.badula.org> 5994 5995 * hlfsd/homedir.c (homedir): use setgid() instead of setegid() 5996 5997 * ALL: #ifdef cleanups, unify some TLI/socket function prototypes 5998 59992002-06-22 Erez Zadok <ezk@whitestar.dyn.optonline.net> 6000 6001 * conf/nfs_prot/nfs_prot_netbsd1_4.h: minor port to support 6002 na_gid and na_uid. NetBSD patch from Jun-ichiro itojun Hagino 6003 <itojun@iijlab.net>. 6004 6005 * doc/am-utils.texi (Option): document xlatecookie mount option. 6006 6007 * libamu/mount_fs.c (compute_nfs_args): support "xlatecookie" 6008 NFS mount option. Patch from Matthias Scheler <tron@zhadum.de> 6009 for NetBSD. 6010 60112002-06-22 Ion Badulescu <ionut@edgar.badula.org> 6012 6013 * conf/autofs/autofs_solaris_v1.h: add FS_MBACKGROUND to 6014 AUTOFS_LINK_FS_FLAGS 6015 6016 * conf/autofs/autofs_solaris_v1.c: convert link mounts to lofs 6017 mounts in autofs_link_mount/umount 6018 60192002-06-22 Ion Badulescu <lionut@gonzales.badula.org> 6020 6021 * configure.in: check for devid inside struct umntrequest 6022 6023 * conf/autofs/autofs_solaris_v2_v3.c (xdr_umntrequest): handle the 6024 new umntrequest structure in v4. 6025 (autofs_unmount_2_req): ditto 6026 6027 * README.autofs: updated for Solaris 2.5/2.5.1 6028 60292002-06-22 Erez Zadok <ezk@whitestar.dyn.optonline.net> 6030 6031 * configure.in: only define LDAP/Hesiod if both the headers and 6032 the libraries exist, and the user didn't explicitly disable those 6033 maps. 6034 60352002-06-22 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu> 6036 6037 * doc/am-utils.texi: fix typos. Can't use ":" in @cindex entries. 6038 60392002-06-22 Erez Zadok <ezk@whitestar.dyn.optonline.net> 6040 6041 * doc/am-utils.texi, scripts/amd.conf.5, scripts/amd.conf-sample, 6042 amd/amd.8, amd/get_args.c (get_args): document amd -A option. 6043 6044 * amd/get_args.c (get_args): support "amd -A arg" option to 6045 override the system's detected architecture. Patch from George 6046 Ross <gdmr@dcs.ed.ac.uk>. 6047 6048 * amd/info_ldap.c (amu_ldap_rebind): don't use ldap_enable_cache() 6049 if the system doesn't have it. 6050 6051 * configure.in: detect existence of ldap_enable_cache function, 6052 because it doesn't exist on Solaris 9's latest ldap libraries. 6053 6054 * amd/info_ldap.c: LDAP patches from George Ross 6055 <gdmr@dcs.ed.ac.uk>. Rework of old code, support for wildcards in 6056 LDAP queries, and an FD leak fix. 6057 60582002-06-22 Ion Badulescu <lionut@gonzales.badula.org> 6059 6060 * buildall: use ksh for configure on aix5.1; pass the extra 6061 arguments after "--" to configure, not to make 6062 6063 * Makefile.am: added nfs_prot_aix4_3.h to EXTRA_DIST_CONF 6064 6065 * conf/mount/mount_aix.c (mount_aix3): if the NFSv3 mount fails 6066 with EINVAL and we have MOUNT_TYPE_NFS3_BIS defined, retry the 6067 mount with the alternative nfs3_args structure 6068 6069 * conf/nfs_prot/nfs_prot_aix4_3.h: added alternative nfs3_args 6070 structure, similar to that in aix5.1, for a hack that tries to 6071 compensate for IBM's brain fart 6072 6073 * conf/nfs_prot/nfs_prot_aix5_1.h: new nfs_prot header for aix5.1+ 6074 6075 * aux/macros/check_nfs_prot_headers.m4: added new header for aix5.1+ 6076 6077 * BUGS: update for direct mounts on Linux; document the brokenness 6078 of /bin/sh on AIX 5.1 and HP-UX 9 6079 6080 * NEWS: aix5.1 port, aix4.3 workaround 6081 60822002-06-22 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu> 6083 6084 * ltmain.sh: use libtool 1.4d, needed support for newer AIX. 6085 60862002-06-21 Ion Badulescu <ion@guppy.limebrokerage.com> 6087 6088 * aux/macros/check_autofs_style.m4: enable autofs_v2_v3 for 6089 all solaris2.6+, not just for 2.[6-8] 6090 6091 * conf/autofs/autofs_default.h: disable autofs if configure 6092 detects it 6093 60942002-06-21 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu> 6095 6096 * aux/macros/with_addon.m4: correct M4 quoting. 6097 6098 * aux/macros/cache_check_dynamic.m4: correct M4 quoting. 6099 6100 * bootstrap: show version of autotools being used. Helps 6101 maintainer debugging. 6102 6103 * configure.in: new proper syntax for libtool and 6104 ansi2knr-filtering rules, required by autoconf 1.53 and higher. 6105 61062002-06-21 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 6107 6108 * aux/GNUmakefile: new search paths for "update" target. 6109 6110 * config.guess, config.sub, doc/texinfo.tex, ltmain: updates from 6111 the latest GNU distributions. 6112 61132002-06-11 Ion Badulescu <ion@guppy.limebrokerage.com> 6114 6115 * amd/amfs_auto.c (amfs_auto_lookup_child): split part of this 6116 function into the new amfs_auto_lookup_one_child function; return 6117 null if all ivecs failed to match 6118 61192002-05-30 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu> 6120 6121 * config.guess.long: support SuSE version names in long 6122 config.guess format. 6123 61242002-05-01 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 6125 6126 * scripts/lostaltmail.in (vrfy_user): unlink temp files if too 6127 small. 6128 61292002-04-07 Ion Badulescu <ionut@moisil.badula.org> 6130 6131 * hlfsd/hlfsd.c (main): compile fix for --enable-debug=no 6132 61332002-03-29 Ion Badulescu <ionut@moisil.badula.org> 6134 6135 * README.autofs: solaris 2.5/2.5.1 info, other minor changes 6136 6137 * doc/am-utils.texi (History): document solaris 2.5+ support 6138 6139 * include/am_utils.h: new member in struct mntfs: mfs_real_mount; 6140 autofs_fs_flags becomes conditional of HAVE_AUTOFS_FS; new 6141 prototype for umount_fs2(); extra argument for UMOUNT_FS() 6142 6143 * hlfsd/hlfsd.c: use the new mount_fs2() and UMOUNT_FS() 6144 6145 * libamu/mount_fs.c (mount_fs): wrapper around the new mount_fs2() 6146 function; swap mntdir and real_mntdir as necessary for solaris 2.5 6147 autofs support 6148 6149 * conf/umount/umount_default.c (umount_fs2): swap mntdir and 6150 real_mntdir as necessary for solaris 2.5 autofs support 6151 6152 * conf/umount/umount_*.c (umount_fs): wrapper around the new 6153 umount_fs2() function 6154 (umount_fs2): new function which takes the real mountpoint as an 6155 extra argument 6156 6157 * conf/nfs_prot/nfs_prot_sunos5_5.h: allow autofs support to be 6158 compiled in 6159 6160 * conf/autofs/autofs_solaris_v1.h (autofs_strdup_space_hack): new 6161 function that appends a space at the end of a string (the famous 6162 "Autofs Space Protocol") 6163 6164 * conf/autofs/autofs_solaris_v1.c: almost complete reimplementation 6165 6166 * conf/autofs/autofs_*.h (AUTOFS_*_FS_FLAGS): add 6167 system-specific definitions for these macros 6168 6169 * conf/autofs/autofs_linux.c (create_autofs_service): remove hacks 6170 which are now handled properly by more generic code 6171 (autofs_link_umount): complain if umount_fs() fails, rmdir the 6172 mountpoint on success 6173 (autofs_umount_succeeded): remove the rmdirs() code, now handled 6174 by generic code 6175 (autofs_mount_succeeded): ditto 6176 6177 * amd/nfs_start.c (checkup): implement it as an emtpy stub if 6178 DEBUG is not defined 6179 (run_rpc): call autofs_add_fdset() after umount_exported() to 6180 avoid passing invalid file descriptors to select(); use plog() 6181 instead of perror() 6182 6183 * amd/mntfs.c (init_mntfs): initialize mf_real_mount from mp 6184 (uninit_mntfs): free mf_real_mount 6185 6186 * amd/autil.c (am_unmounted): don't remove the mount point if a 6187 remount is pending, also don't make the removal conditional on not 6188 being an autofs mount point 6189 6190 * amd/amfs_nfsx.c (amfs_nfsx_remount): call mkdirs() on 6191 mf->mf_real_mount instead of mf->mf_mount 6192 6193 * amd/amfs_nfsl.c, amd/amfs_nfsx.c: (amfs_nfsl_umounted): call 6194 rmdirs() on mf->mf_real_mount instead of mf->mf_mount 6195 6196 * amd/amfs_host.c (make_mntpt): change the third argument to be 6197 the mountpoint, not the entire mntfs structure 6198 (do_mount): takes real_mntdir as an extra argument 6199 6200 * amd/amfs_auto.c (amfs_auto_bgmount): move the creation of the 6201 mountpoint here from try_mount(), otherwise the change to mf_flags 6202 is lost for background mounts; remove the mountpoint if we created 6203 it and the mount fails 6204 (amfs_auto_lookup_mntfs): re-initialize mf->mf_real_mount using 6205 autofs_strdup_space_hack() if NEED_AUTOFS_SPACE_HACK is defined 6206 6207 * amfs_*.c, ops_*.c: initialize autofs_fs_flags using the 6208 AUTOFS_*_FS_FLAGS macro defined in the system-specific autofs 6209 header; UMOUNT_FS() takes mf->mf_real_mount as an extra argument; 6210 mount_fs() becomes mount_fs2() and takes mf->mf_real_mount as an 6211 extra argument 6212 6213 * amd/amd.h, amd/ops_nfs.c, amd/amfs_host.c: mount_nfs_fh takes 6214 the real mountpoint as an additional argument 6215 62162002-03-28 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu> 6217 6218 * amd/ops_cdfs.c (mount_cdfs): correctly interpret error return 6219 values back from mount_fs(). Return correct error number from 6220 this function. 6221 6222 * conf/mount/mount_linux.c (do_mount_linux): cleanup loop mount 6223 cruft from this function, moved elsewhere. 6224 (mount_linux): prepare for loop-device mounts of ISO images. 6225 62262002-03-28 Ion Badulescu <ionut@buggy.badula.org> 6227 6228 * libamu/Makefile.am (EXTRA_DIST): added strerror.c 6229 6230 * libamu/strerror.c: strerror() implementation for systems lacking it 6231 6232 * doc/am-utils.texi (History): rewrote the history :) about autofs 6233 support 6234 6235 * conf/autofs/autofs_solaris_v2_v3.c: updated copyright; 6236 (autofs_unmount_2_req): minor cleanup 6237 (create_autofs_service): print log message 6238 (destroy_autofs_service): ditto 6239 6240 * conf/autofs/autofs_linux.c: updated copyright 6241 6242 * amd/nfs_start.c (mount_automounter): move the debug message into 6243 create_autofs_service() 6244 6245 * amd/amd.c (main): call destroy_autofs_service() before 6246 going_down(), not after 6247 6248 * configure.in: added strerror to AC_CHECK_FUNCS(); disable ldap 6249 if the ldap headers are not found 6250 62512002-03-28 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu> 6252 6253 * amd/info_ldap.c: patch from "Sebastien Bahloul" 6254 <sebastien.bahloul@medasys.org> to fix a simple initialization bug 6255 and change "HE" to HE_ENT so as to compile on HPUX. 6256 62572002-02-26 Erez Zadok <ezk@t3.fsl.cs.sunysb.edu> 6258 6259 * conf/nfs_prot/nfs_prot_freebsd3.h (na_uid): freebsd4.5 uses nfs 6260 atttributes field named "uid". So #define na_uid to it. 6261 62622002-02-12 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu> 6263 6264 * scripts/lostaltmail.in: don't verify user if -noverify option 6265 was turned on. fix comment typo. 6266 62672002-02-11 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu> 6268 6269 * amd/Makefile.am (TESTS): enable one test script, test1.sh. 6270 6271 * amd/test1.sh: re-commit simple test script. 6272 62732002-02-11 Ion Badulescu <ion@guppy.limebrokerage.com> 6274 6275 * Released snapshot 6.1a5 6276 6277 * NEWS: Solaris autofs readdir() support, Linux autofs sublink fix 6278 6279 * README: require newer auto-tools, update mailing list address 6280 6281 * README.autofs: major update 6282 6283 * configure.in: version changed to 6.1a5 6284 62852002-02-11 Ion Badulescu <ionut@moisil.badula.org> 6286 6287 * conf/autofs/autofs_linux.c (autofs_link_mount): don't do a 6288 stat() on the am_link if called from the parent amd, to prevent 6289 deadlocks 6290 6291 * amd/autil.c (am_unmounted): call amfs_link_ops.umount_fs if the 6292 fstype is not link but we have a sublink (Linux autofs needs this) 6293 (am_mounted): call amfs_link_ops.mount_fs if the fstype is not 6294 link but we have a sublink (Linux autofs needs this) 6295 6296 * amd/amfs_auto.c (amfs_auto_bgmount): print the real mountpoint, 6297 not the amd entry point 6298 62992002-02-09 Ion Badulescu <ionut@moisil.badula.org> 6300 6301 * conf/autofs/autofs_solaris_v2_v3.c (amd_rddirres): new custom 6302 structure for returning the results from readdir_2() 6303 (xdr_amd_putrddirres): renamed from xdr_autofs_putrddirres, 6304 changed to process our internal format (which is essentially the 6305 NFS readdir format) 6306 (xdr_autofs_getrddirres): not needed, deleted 6307 (xdr_amd_rddirres): renamed from xdr_autofs_rddirres, other 6308 changes to handle amd_rddirres instead of autofs_rddirres 6309 (autofs_lookup_2_req): return AUTOFS_NONE instead of 6310 AUTOFS_MOUNT_RQ, to prevent mount storms during ls -F 6311 (autofs_readdir_2_req): implemented 6312 (autofs_readdir_2_free): not needed, deleted 6313 (autofs_program_2): changes from autofs_rddirres to amd_rddirres 6314 (autofs_get_fh): changed initialization of the fh->map member, it 6315 now gets the mountpoint path because it makes it easier to 6316 implement readdir 6317 (autofs_release_fh): put #ifdef HAVE_AUTOFS_ARGS_T_ADDR around 6318 code touching fh->addr 6319 (destroy_autofs_service): new function, deregister the autofs 6320 service with the portmapper on exit 6321 6322 * conf/autofs/autofs_linux.c (autofs_handle_missing): update 6323 statistics 6324 (destroy_autofs_service): new stub 6325 6326 * amd/mapc.c (mapc_find): fixed indentation 6327 6328 * amd/map.c (find_ap_recursive): renamed from find_ap2(), made 6329 static 6330 6331 * amd/amd.h: removed prototype for find_ap2(), added prototype for 6332 destroy_autofs_service() 6333 6334 * amd/amd.c (main): call destroy_autofs_service() before going 6335 down 6336 63372002-02-07 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 6338 6339 * aux/macros/check_field.m4: need also a new version of 6340 AC_CHECK_MEMBERS (plural). 6341 63422002-02-06 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 6343 6344 * aux/macros/check_field.m4: include a fixed version of 6345 AC_CHECK_MEMBER. g/cc will fail to check a member if the .member 6346 is itself a data structure, because you cannot compare, in C, a 6347 data structure against NULL; you can compare a native data type 6348 (int, char) or a pointer. Solution: do what I did in my original 6349 member checking macro: try to take the address of the member. You 6350 can always take the address of anything. 6351 63522002-01-31 Erez Zadok <ezk@localhost.localdomain> 6353 6354 * remove old '%W%' SCCS IDs from all sources. 6355 63562002-01-21 Ion Badulescu <ionut@moisil.badula.org> 6357 6358 * conf/mount/mount_linux.c (mount_linux): fix breakage introduced 6359 by the loop device mount support. Linux mount takes a real string 6360 as the last argument, unless the mount type is NFS, NCP, or SMB. 6361 63622002-01-20 Erez Zadok <ezk@localhost.localdomain> 6363 6364 * hlfsd/hlfsd.h (HLFSD_VERSION): up version of hlfsd to 1.2, 6365 because we made some important changes. 6366 63672002-01-20 Ion Badulescu <lionut@gonzales.badula.org> 6368 6369 * include/am_utils.h (D_ALL): do not include D_MTAB and D_HRTIME 6370 by default 6371 6372 * NEWS: document latest changes 6373 6374 * amd/map.c (unmount_mp): same fix as for hlfsd, update the 6375 seconds field in mtime because Linux ignores the useconds field 6376 6377 * hlfsd/homedir.c: made some global vars static 6378 (plt_init): remove all trailing '/' chars from root's home; 6379 use root's home, not the username (silly bugfix) 6380 63812002-01-20 Ion Badulescu <lionut@gonzales.badula.org> 6382 6383 * hlfsd/homedir.c (homedir): don't special case uid 0 as having / 6384 as home; instead use the root account's home 6385 (plt_init): properly initialize root_home from the root account's 6386 home directory, or as "" if root doesn't exist 6387 (plt_reset): free root_home 6388 63892002-01-20 Erez Zadok <ezk@localhost.localdomain> 6390 6391 * hlfsd/stubs.c (nfsproc_{lookup,getattr}_2_svc): non-SYMTTL code. 6392 Increment seconds, not microseconds (which are ignored by NFS). 6393 Set symlink owner to euid. 6394 6395 * hlfsd/homedir.c (homedir): pass gid to this function, so we can 6396 also change the effective GID of the process writing to the user's 6397 home dir, as well as the group of the hlfsd symlink. 6398 (homedir): run setegid in the right places. 6399 64002002-01-15 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu> 6401 6402 * scripts/redhat-ctl-amd.in: refer to @sbindir@ not 6403 ${prefix}/sbin. 6404 6405 * scripts/ctl-{amd,hlfsd}.in: refer to @sysconfdir@ not 6406 ${prefix}/etc. Bug report from "A Braunsdorf" 6407 <ab@eas.purdue.edu>. 6408 64092002-01-13 Erez Zadok <ezk@localhost.localdomain> 6410 6411 * configure.in: only check for clock_gettime if --enable-debug was 6412 used. 6413 6414 * aux/macros/opt_debug.m4: define a cache variable to record value 6415 of debug option used. 6416 6417 * libamu/xutil.c (show_time_host_and_name): do not use 6418 clock_gettime unless debugging was compiled in. This way, if 6419 debugging is not compiled, we don't bother linking with librt, 6420 libpthread, and a whole lot of other libraries that aren't that 6421 necessary (esp. on Linux). 6422 64232002-01-12 Erez Zadok <ezk@wavy.dyn.optonline.net> 6424 6425 * doc/am-utils.texi (opts Option): document loop option. 6426 6427 * include/am_utils.h: each mounted file system (mntfs) should 6428 optionally store the loop device used in the field mf_loopdev. 6429 6430 * conf/nfs_prot/nfs_prot_linux.h: define HAVE_LOOP_DEVICE and some 6431 loop function extern definitions. For now this code is here 6432 because we only support loop devices on Linux. 6433 6434 * conf/mount/mount_linux.c: recognize "loop" as a valid iso9660 6435 mount option. 6436 (parse_opts): when skipping over unknown mount options, skip over 6437 "loop" (since it was given in amd map entry), but not over 6438 loop=/dev/loopX, because the latter will go into /etc/mtab. 6439 (do_mount_linux): override actual cdfs mounted device name 6440 because with loop devices you don't mount the .iso file directly, 6441 but the /dev/loopX device that was setup for it. 6442 (show_loop, is_loop_device, find_unused_loop_device, 6443 setup_loop_device, delete_loop_device): support code for loop 6444 devices. 6445 6446 * amd/ops_cdfs.c (mount_cdfs): pass loop device name to function. 6447 setup loop device before isofs mount, if "loop" option was given, 6448 before actual mount(2). 6449 (cdfs_mount): pass loopdev name to mount_cdfs(). 6450 (cdfs_umount): delete/unset loop device after a successful 6451 unmount, if a loop device was used. 6452 6453 * amd/mntfs.c (init_mntfs): initialize mf_loopdev to NULL. 6454 6455 * include/am_compat.h: If loop device (header file) exists, define 6456 mount table option MNTTTAB_OPT_LOOP. 6457 6458 * conf/nfs_prot/nfs_prot_linux.h: hack: define HAVE_LOOP_DEVICE 6459 here until we have a better way to detect /dev/loop devices. 6460 6461 * include/am_defs.h: include <linux/loop.h> if it exists. Define 6462 LARGEFILE support macros, possibly needed for loop devices. 6463 Redefine dev_t apropriately for loop devices. 6464 6465 * configure.in: check for <linux/loop.h>. 6466 64672002-01-10 Ion Badulescu <ion@guppy.limebrokerage.com> 6468 6469 * conf/mount/mount_linux.c (mount_linux): tcp _must_ have a timeo 6470 parameter 2 orders of magnitude larger than udp (patch from Trond 6471 Myklebust) 6472 64732002-01-09 Erez Zadok <ezk@localhost.localdomain> 6474 6475 * aux/macros/linux_headers.m4: properly [quote] a long string in 6476 m4 and use AC_MSG_WARN. 6477 6478 * ALL: put /* comments */ on #else/#endif lines everywhere. 6479 6480 * configure.in, aux/macros/with_addon.m4: due to limitation of 6481 AC_HELP_STRING, pass 2nd arg to AMU_WITH_ADDON, listing name of 6482 package for help string. 6483 6484 * doc/am-utils.texi (FSinfo): fixed various texinfo errors in the 6485 FSinfo section of the manual. 6486 (map_reload_interval Parameter): document new amd.conf global 6487 parameter. 6488 6489 * scripts/amd.conf.5 document new global option 6490 map_reload_interval. Sort entries for nfs_vers and nfs_proto 6491 alphabetically. 6492 6493 * amd/nfs_start.c (do_select): increment do_mapc_reload's value by 6494 global map_reload_interval value, not by fixed ONE_HOUR. 6495 6496 * amd/amd.c (main): increment do_mapc_reload's value by global 6497 map_reload_interval value, not by fixed ONE_HOUR. 6498 6499 * scripts/amd.conf-sample (map_reload_interval): usage example 6500 6501 * amd/amd.c (init_global_options): initialize map_reload_interval 6502 to 3600 seconds. 6503 6504 * amd/conf.c (gopt_map_reload_interval): support a new global 6505 amd.conf option map_reload_interval, to determine how often (in 6506 seconds) Amd should check if the map source has changed and then 6507 reload it it. This value was hard-coded to one hour, now it's the 6508 default if not otherwise specified. 6509 6510 * doc/am-utils.texi (plock Parameter): document plock=yes option 6511 as using mlockall(2) if found. 6512 6513 * scripts/amd.conf.5: document -S option as using mlockall(2) if 6514 found. 6515 6516 * include/am_defs.h: include <sys/mman.h> if it exists. 6517 6518 * configure.in: check for mlockall() function. Check for 6519 sys/mman.h. 6520 6521 * amd/amd.c (main): support mlockall() on systems that have it and 6522 don't have plock(3) for plock=yes. On systems that have both, 6523 will try plock() first and then mlockall(), until one of them (if 6524 any) succeeds. 6525 65262002-01-09 Erez Zadok <ezk@whitestar.dyn.optonline.net> 6527 6528 * aux/macros/opt_debug.m4, opt_cppflags.m4, opt_amu_cflags.m4, 6529 with_addon.m4 (ac_upcase): fix help string formatting using 6530 AC_HELP_STRING. 6531 6532 * amd/test1.sh: simple test script for "make check". Runs "amd 6533 -v". 6534 6535 * amd/Makefile.am (TESTS): add one simple test script, running 6536 "amd -v" and checking its return value. More tests can be added. 6537 6538 * aux/macros/linux_headers.m4: use AC_MSG_WARN directly. 6539 6540 * aux/macros/*.m4: avoid the cumbersome "changequote" M4 command. 6541 Instead, list bracketed regexp patterns in [[double brackets]]. 6542 6543 * aux/macros/header_templates.m4: remove all unnecessary 6544 HAVE_FIELD_* definitions, now that we're using autoconf's new 6545 AC_CHECK_MEMBERS. 6546 6547 * aux/macros/field_mntent_t_mnt_time_string.m4: don't call 6548 6549 * configure.in: use new syntax for AMU_CHECK_FIELD 6550 6551 * aux/macros/check_field.m4: use new and simpler macro 6552 AC_CHECK_MEMBERS. Change all sources to use HAVE_aggregate.member 6553 instead of HAVE_FIELD_aggregate.member. 6554 6555 * aux/amdgrep: simple utility script to egrep the am-utils sources 6556 for any pattern. 6557 6558 * aux/macros/{check_mnttab_style.m4, check_mount_style.m4, 6559 check_umount_style.m4, check_network_transport_type.m4}: use newer 6560 AC_LIBOBJ macros instead of modifying $LIBOBJS directly 6561 6562 * aux/macros/func_bad_memcmp.m4: redefine to use native 6563 AC_FUNC_MEMCMP, and then define HAVE_BAD_MEMCMP as needed. 6564 6565 * fsinfo/fsi_gram.y, amd/conf_parse.y: indent #pragma command so 6566 pre-ANSI C compilers will ignore it. 6567 6568 * conf/autofs/autofs_linux.c (autofs_link_mount): call s/getpgrp() 6569 correctly depending on whether it takes a void or a 0. 6570 6571 * configure.in: check if s/getpgrp() takes void or a 0. 6572 65732002-01-08 Erez Zadok <ezk@whitestar.dyn.optonline.net> 6574 6575 * configure.in: use the newer AC_CONFIG_LINKS instead of 6576 AC_LINK_FILES. 6577 6578 * aux/macros/check_autofs_style.m4, check_checkmount_style.m4, 6579 check_mnttab_style.m4, check_mount_style.m4, 6580 check_network_transport_type.m4, check_umount_style.m4, 6581 check_nfs_prot_headers.m4: removed backward compatible code for 6582 pre-autoconf-2.14. 6583 65842002-01-07 Erez Zadok <ezk@whitestar.dyn.optonline.net> 6585 6586 * doc/Makefile.am: define @SET_MAKE@ for AC_PROG_MAKE_SET macro, since 6587 this Makefile could explicitly chdir to other directories and run 6588 make there. 6589 (install-ps): use ${MAKE} with ${MFLAGS}. 6590 6591 * Makefile.am (EXTRA_DIST_AUX): distribute new package_*.m4 files. 6592 Define @SET_MAKE@ for AC_PROG_MAKE_SET macro, since this Makefile 6593 could explicitly chdir to other directories and run make there. 6594 (install-snapshot): use ${MAKE} ${MFLAGS}, not hardcoded "make". 6595 6596 * configure.in: call AC_PROG_MAKE_SET to check if make program 6597 defines $MAKE variable. 6598 6599 * amd/get_args.c (get_version_string): use new PACKAGE_* macros 6600 and also report the bug-reporting address. 6601 6602 * aux/macros/package_{name,version}.m4, header_templates.m4: using 6603 new PACKAGE_{NAME,VERSION,BUGREPORT} macros. 6604 6605 * aux/macros/name_bugreport.m4: simple macro to print out the 6606 bug-reporting address which was configured in AC_INIT. 6607 6608 * bootstrap: remove new autoconf messages about misuse of 6609 m4_patsubst and m4_regexp (internal GNU M4 macros). 6610 6611 * configure.in: remove old comment above AC_OUTPUT. 6612 Use AC_CONFIG_FILES and AC_OUTPUT separately. 6613 Fix AC_REVISION use. 6614 Add AC_COPYRIGHT. 6615 Use new style for AC_INIT, listing package name, version, and 6616 bug-reporting address. 6617 Call new AMU_PACKAGE_* macros. 6618 6619 * updated copyright year to 2002 on all files 6620 6621 * configure.in: using newly renamed am-utils macros (AMU_*) 6622 6623 * aux/macros/*.m4: renamed ALL am-utils specific macros so they 6624 start with AMU_*, not AC_*. That way it is easier to distinguish 6625 between macros that come with am-utils and those that are part of 6626 Autoconf or Automake. It helps to identify those am-utils macros 6627 that can be removed once there is generic support for them in a 6628 future version of Autoconf. 6629 6630 * bootstrap: run automake --copy 6631 remove autom4te.cache dir before rerunning autoconf 6632 66332001-12-13 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu> 6634 6635 * scripts/amd.conf.5: correct title to section 5, not 8. Correct 6636 reversed meaning of nfs_proto and nfs_vers parameters. Typos 6637 reported by Peter Breitenlohner <peb@mppmu.mpg.de>. 6638 66392001-12-02 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu> 6640 6641 * scripts/ctl-amd.in: run "test" or "[" in front of -x/-f 6642 6643 * scripts/ctl-hlfsd.in: run "test" or "[" in front of -x/-f 6644 66452001-12-02 Ion Badulescu <ionut@moisil.badula.org> 6646 6647 * hlfsd/homedir.c (plt_print): fix typo (s/plot/plog/) in 6648 non-mkstemp code 6649 6650 * scripts/ctl-amd.in: touch/remove /var/lock/subsys/amd to make RH 6651 happy 6652 6653 * scripts/ctl-hlfsd.in: ditto (for hlfsd) 6654 6655 * conf/mtab/mtab_file.c (rewrite_mtab): fchmod(644) the file we 6656 get from mkstemp(), otherwise samba becomes very unhappy (sigsegv) 6657 6658 * conf/mtab/mtab_mach3.c (rewrite_mtab): ditto 6659 66602001-11-29 Ion Badulescu <ion@guppy.limebrokerage.com> 6661 6662 * tasks: updated 6663 6664 * NEWS: document the fixed autofs fd leak 6665 6666 * amq/amq.8: better document the -f option 6667 66682001-11-29 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu> 6669 6670 * libamu/mount_fs.c (mnt_flags): same this as for nolock option 6671 handling, do for maxgrps. 6672 66732001-11-29 Ion Badulescu <ion@guppy.limebrokerage.com> 6674 6675 * conf/autofs/autofs_linux.c (hash_init): determine the max number 6676 of fd's at runtime, use it to dynamically scale the hash and list 6677 arrays 6678 (autofs_get_fh): sanity check, don't allow a pipe() fd greater 6679 than autofs_max_fds 6680 (autofs_release_fh): close our end of the pipe here (no clue why 6681 or when it got commented out) 6682 (autofs_mounted): set kernelfd to -1 after closing it 6683 66842001-11-28 Philippe Troin <phil@fifi.org> 6685 6686 * libamu/mount_fs.c (mnt_flags): Drop nolock from generic mount 6687 opts. 6688 (compute_nfs_args): Added nolock handling. 6689 Adapted from an original patch from Avery Pennarun <apenwarr@nit.ca>. 6690 66912001-11-27 Erez Zadok <ezk@a-hpux11i.fsl.cs.sunysb.edu> 6692 6693 * ported to ia64-hp-hpux11.20 using HP's ANSI/C compiler. 6694 Couldn't use bison/flex because of 32-bit vs. 64-bit binaries 6695 issues. Had to use HP's own yacc/lex. 6696 66972001-11-26 Erez Zadok <ezk@a-hpux11i.fsl.cs.sunysb.edu> 6698 6699 * */Makefile.am: don't use $(OBJECTS) directly because it is no 6700 longer automatically defined now that Automake has automatic 6701 dependency tracking (which I turn off). Instead, hard-code 6702 minimal dependencies on am-utils' header files to depend on 6703 PROG_OBJECTS (where PROG is the program name being built). This 6704 was discovered by using HP's non-GNU make program. 6705 6706 * amd/nfs_start.c (checkup): cast getpagesize() return val to 6707 long, to avoid conflicts in division of a long by an int (on 6708 hpux11i, with their ANSI/C compiler). 6709 6710 * INSTALL, doc/am-utils.texi: port updates 6711 6712 * minor new ports: ia64-hp-hpux11.20, i386-unknown-freebsd5.0, 6713 i386-unknown-freebsd4.4, i386-pc-linux-rh7.2, 6714 ia64-unknown-linux-rh7.1. 6715 6716 * include/am_defs.h: actually declare extern definition for 6717 xdr_callmsg() if it doesn't already exist. 6718 6719 * aux/macros/header_templates.m4: declare template for 6720 HAVE_EXTERN_XDR_CALLMSG. 6721 6722 * configure.in: check for extern definition for xdr_callmsg() 6723 because hpux11 has that function but a bad <rpc/xdr.h> header file 6724 that doesn't define it in the right place. 6725 6726 * libamu/mount_fs.c (print_nfs_args): cast ->rdev to u_long b/c 6727 on hpux11 its type is dev_t. 6728 6729 * conf/nfs_prot/nfs_prot_hpux11.h: don't support autofs on hpux11 6730 yet. 6731 67322001-11-16 Erez Zadok <ezk@fsl-gw.fsl.cs.sunysb.edu> 6733 6734 * buildall (Usage): separate $cnf_flags and $extra_cnf_flags due 6735 to /bin/sh limitations. 6736 6737 * bootstrap (cmd): turn back on --ignore-deps (this Automake may 6738 have problems) 6739 6740 * libamu/xutil.c: remove __attribute__ format_arg statement for 6741 expand_error() because this function, although taking a 6742 printf-like string, does not use it in a printf function; it only 6743 expands a non-printf amd-special syntax %m. 6744 67452001-11-14 Erez Zadok <ezk@fsl-gw.fsl.cs.sunysb.edu> 6746 6747 * conf/nfs_prot/nfs_prot_linux.h: define KERNEL_VERSION macro 6748 before using it because older Linux systems don't define this 6749 (e.g., Red Hat 4.2) 6750 67512001-11-13 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu> 6752 6753 * configure.in: convert to using autoconfig 2.52. Use new macros. 6754 AC_MSG_NOTICE for messages; AH_TOP and AH_BOTTOM to top and bottom 6755 parts of autogenerated config.h.in; increase autoconf 6756 pre-requisite to version 2.50; use AC_DISABLE_SHARED not 6757 AM_DISABLE_SHARED. 6758 6759 * aux/macros/cache_check_dynamic.m4: finally I can use the new 6760 $ECHO_N syntax in macros instead of $ac_n, since I'm using a new 6761 autoconf. Isn't it nice to be such forward looking and having 6762 placed a comment "XXX: use the next line for autoconf-2.14 and 6763 newer"... :-) 6764 6765 * aux/macros/save_state.m4: highlight message with ***'s 6766 6767 * aux/macros/host_macros.m4: use proper M4 quoting ([], not "") 6768 6769 * config.{guess,sub}: upated from latest prep ftp distributions 6770 6771 * depcomp, missing, mkinstalldirs: upated from latest Automake 1.5 6772 6773 * ltmain.sh: updated from latest Libtool 1.4.2 6774 6775 * bootstrap: finally, new autoconf doesn't print silly "AC_TRY_RUN 6776 called without default to allow cross compiling" warnings. And, 6777 it only took like 3+ years to fix this. But, now it has anoter, 6778 albeit less annoying warning (which the manual says to ignore): 6779 "AC_PROG_LEX invoked multiple times". 6780 When autoheader is run, don't treat the "all clear" message 6781 "config.h.in is update" as an error. 6782 6783 * ltconfig: removed. not needed with latest version of libtool 6784 6785 * aux/macros/header_templates.m4: replaces acconfig.h and defines 6786 all CPP macros we use in this package, including their 6787 accompanying C /* comments */. 6788 6789 * acconfig.h: removed. replaced by new autoconf system to generate 6790 header templates using AH_TEMPLATE macros and such. 6791 6792 * aux/macros/msg.m4: removed. Replaced with new macro 6793 AC_MSG_NOTICE 6794 6795 * Makefile.am (EXTRA_DIST_AUX): remove aux/macros/msg.m4. Add 6796 aux/macros/header_templates.m4 6797 6798 * configure.in: early, in host_macros.m4, I'm renaming silly linux 6799 $host_os names such as linux-gnu and lignux to plain "linux". 6800 Alas, RMS finally had his way and libtool will NOT recognize 6801 "linux" as a valid system, only "linux-gnu". Sigh. Rich, I know 6802 you're responsible to Linux's fame. Kudos to you and your 6803 cohorts. But please don't force the rest of us to use those ugly 6804 or long names. Solution: temporarily name $host_os to "linux-gnu" 6805 before calling the AC_PROG_LIBTOOL macro, then name it back to 6806 "linux". (That way I don't have to maintain my own version of 6807 ltmain.sh. 6808 6809 * buildall: force running configure -C (to create and use a local 6810 config.cache file). New default behavior for autoconf is NOT to 6811 use cache files. Yeah, that's gonna fly real well with am-utils, 6812 with its 700+ automatic tests. 6813 6814 * conf/mtab/mtab_mach3.c (rewrite_mtab): use mkstemp instead of 6815 mktemp, if the former is available. 6816 6817 * conf/mtab/mtab_file.c (rewrite_mtab): use mkstemp instead of 6818 mktemp, if the former is available. 6819 6820 * mk-amd-map/mk-amd-map.c (main): use mkstemp instead of mktemp, 6821 if the former is available. 6822 6823 * aux/macros/check_nfs_socket_connection.m4: AC_DEFINE calls must 6824 be on a separate line, as per new Autoconf manual, to avoid some 6825 Bourne Shell syntactical bizarreness. 6826 68272001-11-13 Erez Zadok <ezk@a-rh71i.fsl.cs.suunysb.edu> 6828 6829 * amd/amfs_auto.c (amfs_auto_readdir_browsable): cast to u_long, 6830 for IA64 Linux. 6831 68322001-11-12 Ion Badulescu <ionut@buggy.badula.org> 6833 6834 * libamu/mtab.c (hasmntval): strtol can return a non-NULL pointer 6835 pointing to '\0' on success, so we need to allow for it. This 6836 fixes the problem with rejecting numerical mount options if they 6837 are the last option in the string. 6838 6839 * configure.in: increased library patchlevel 6840 6841 * NEWS: document the parsing bug 6842 68432001-10-29 Ion Badulescu <ionut@moisil.badula.org> 6844 6845 * configure.in: bumped version up to 6.1a5-pre 6846 6847 * NEWS: fixed speeling mistaike 6848 68492001-10-29 Ion Badulescu <ionut@moisil.badula.org> 6850 6851 * released snapshot am-utils-6.1a4 6852 68532001-10-26 Ion Badulescu <ionut@moisil.badula.org> 6854 6855 These changes fix autofs support for sublinks. While it is not 6856 perfect by any means and is hardly better than non-autofs, at 6857 least it works. 6858 6859 * conf/autofs/autofs_solaris_v2_v3.c (autofs_lookup_2_req): don't 6860 reply if the mount is in progress 6861 (autofs_mount_succeeded): handle both delayed lookups and mounts 6862 (autofs_mount_failed): ditto 6863 6864 * amd/amfs_auto.c (amfs_auto_lookup_mntfs): don't dispose of the 6865 original opt_fs if we have a sublink 6866 68672001-10-23 Ion Badulescu <ionut@moisil.badula.org> 6868 6869 * amd/amfs_auto.c (amfs_auto_lookup_mntfs): fixed silly typo (mf 6870 instead of new_mf) which was causing null pointer error when 6871 sublinks were being used 6872 68732001-10-22 Ion Badulescu <ionut@moisil.badula.org> 6874 6875 * README.autofs: updated 6876 6877 * NEWS: updated 6878 6879 * INSTALL: updated 6880 6881 * AUTHORS: added myself 6882 6883 * doc/am-utils.texi: updated 6884 6885 * conf/autofs/autofs_solaris_v2_v3.c (xdr_autofs_rddirargs): use 6886 xdr_u_int() and cast things to (int) to appease Solaris 2.7 compile 6887 (autofs_readdir_2_req): cast req->rda_offset to (int), same as 6888 above 6889 68902001-10-22 Ion Badulescu <ionut@moisil.badula.org> 6891 6892 Autofs direct mounts have been verified to work on Solaris2.[67]. 6893 6894 * conf/autofs/autofs_solaris_v2_v3.c (autofs_lookup_2_req): 6895 retrieve the uid and gid from the lookup request 6896 (autofs_mount_2_req): skip the first char in the name (it's a 6897 leading '/') if this is a direct mount 6898 6899 * amd/amfs_direct.c (amfs_direct_ops): use amfs_auto_lookup_child 6900 and amfs_auto_mount_child for amfs_direct's methods 6901 6902 * amd/amfs_auto.c (amfs_auto_lookup_child): don't leak an am_node 6903 if the mntfs lookup fails 6904 69052001-10-21 Ion Badulescu <ionut@moisil.badula.org> 6906 6907 * include/am_utils.h (AMF_REMOUNT): new flag, marks the node as 6908 pending a remount 6909 (mntfs): new member mf_fsflags, holds a copy of the filesystem's 6910 fs_flags 6911 (am_ops): new member autofs_fs_flags, holds the filesystem's flags 6912 when mounted onto an autofs node; fs_flags renamed to nfs_fs_flags 6913 6914 * conf/autofs/autofs_linux.c (create_autofs_service): turn on 6915 FS_MKMNT for amfs_auto and FS_MBACKGROUND for amfs_link 6916 (autofs_umount_succeeded): don't rmdir the mountpoint if a remount 6917 is needed [lest the access that triggered the remount will fail] 6918 6919 * amd/mntfs.c (init_mntfs): copy the filesystem's nfs_fs_flags 6920 into mf_fsflags on initialization 6921 6922 * amd/autil.c (am_unmounted): start the remounting right away if 6923 the node is marked as needing a remount [fixes the Linux autofs 6924 deadlock when mount/unmount collide] 6925 6926 * amd/amfs_auto.c (amfs_auto_lookup_node): mark the node as 6927 needing a remount if a mount request comes in while we're 6928 unmounting it 6929 (amfs_auto_lookup_mntfs): copy the filesystem's autofs_fs_flags 6930 into mf_fsflags if this is an autofs node 6931 6932 * amd/amfs_*.c, amd/ops_*.c: added initialization for the new 6933 autofs_fs_flags member of am_ops 6934 69352001-10-20 Ion Badulescu <ionut@moisil.badula.org> 6936 6937 With these changes, Solaris 2.[67] autofs support is finally 6938 functional! 6939 6940 * conf/autofs/autofs_solaris_v2_v3.c (autofs_readdir_2_req): stub 6941 (autofs_readdir_2_free, xdr_autofs_rddirargs, xdr_autofs_putrddirres, 6942 xdr_autofs_getrddirres, xdr_autofs_rddirres): new functions 6943 (autofs_lookup_2_req): do an actual lookup here, and tell the 6944 kernel to create a symlink if necessary 6945 (autofs_mount_2_req): no need to am_autofs_data 6946 (autofs_program_2): enable AUTOFS_READDIR 6947 (autofs_link_mount): no code needed here 6948 (autofs_link_umount): return success 6949 (autofs_mount_succeeded): lstat real mount points; don't mark 6950 symlinks as NOTIMEOUT 6951 6952 * amd/mntfs.c (init_mntfs): mf_dev and mf_rdev don't exist anymore 6953 6954 * amd/map.c (init_map): init am_dev and am_rdev to -1 6955 (free_map): free am_mfarray and all mntfs's listed 6956 6957 * amd/autil.c (mf_mounted): move the lstat of the node to the 6958 autofs-specific code 6959 6960 * amd/amfs_link.c (amfs_link_ops): don't background symlink creation 6961 69622001-10-18 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 6963 6964 * aux/macros/os_cflags.m4 (irix6*): Enforce N32 ABI/mips3 ISA with cc. 6965 * BUGS: Explain this. 6966 69672001-10-02 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu> 6968 6969 * doc/am-utils.texi (redhat-ctl-amd): document new script. 6970 6971 * scripts/Makefile.am: build redhat-ctl-amd but do not install it. 6972 6973 * scripts/redhat-ctl-amd.in: new script, useful to correctly 6974 control Amd on Red Hat Linux systems. Script adapted from ctl-amd 6975 and Red Hat's own rc.d script. 6976 69772001-10-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 6978 6979 * conf/nfs_prot/nfs_prot_osf5.h: Renamed from nfs_prot_osf5_1.h. 6980 (MNT2_NFS_OPT_AUTO): Disable. 6981 * Makefile.am (EXTRA_DIST_CONF): Reflect new name. 6982 * aux/macros/check_nfs_prot_headers.m4: Use this file for all 6983 Tru64 UNIX V5 and up releases. 6984 69852001-09-24 Ion Badulescu <ionut@moisil.badula.org> 6986 6987 * include/mount_headers1.h (MFS): define as 1 instead of nothing, 6988 to fix compile problems on OS X (patch from Ahmon Dancy) 6989 6990 * aux/macros/try_compile_anyfs.m4 (MFS): ditto 6991 69922001-08-13 Erez Zadok <ezk@fsl-gw.fsl.cs.sunysb.edu> 6993 6994 * doc/am-utils.texi (in_network Selector Variable): document 6995 expanded syntax 6996 6997 * libamu/wire.c (is_network_member): support for network/netmask 6998 as well as network/bits syntax in in_network() 6999 70002001-08-11 Erez Zadok <ezk@a-linux64.fsl.cs.sunysb.edu> 7001 7002 * amq/amq.c (show_mti): print full four digits for year, and print 7003 it in MM/DD/YYYY format, not in YY/MM/DD format. 7004 70052001-08-11 Ion Badulescu <lionut@gonzales.badula.org> 7006 7007 * conf/autofs/autofs_solaris_v2_v3.c (autofs_lookup_2_req): 7008 initial attempt to do something useful -- but commented out for now 7009 (autofs_link_mount): create an action structure with a link 7010 request and pass it up 7011 (autofs_mount_2_req): pass the link request to the kernel 7012 (autofs_free_data): new helper function 7013 7014 * conf/autofs/autofs_linux.h: added definition for autofs_data_t 7015 7016 * conf/autofs/autofs_solaris_v2_v3.h: ditto 7017 7018 * amd/map.c (init_map): initialize am_autofs_data 7019 (free_map): call the autofs cleanup function if necessary 7020 7021 * include/am_utils.h (am_node): added private data and cleanup 7022 function for autofs 7023 7024 * tasks: removed some obsolete entries 7025 70262001-08-11 Erez Zadok <ezk@a-solaris8.fsl.cs.sunysb.edu> 7027 7028 * amd/map.c (free_map_if_success): run autofs_umount_failed() only 7029 if this mount node is of type autofs. 7030 70312001-08-11 Ion Badulescu <lionut@gonzales.badula.org> 7032 7033 * amd/amd.h: removed mf_array from struct continuation (moved into 7034 am_node) 7035 7036 * include/am_utils.h: removed VLOOK_LOOKUP; renamed vlookuppn to 7037 vlookup_child; added vmount_child; added mount_child to the fs_ops 7038 API; added prototypes for amfs_auto_mount_child and 7039 amfs_error_mount_child 7040 7041 * amd/map.c (init_map): initialize am_mfarray to 0 7042 7043 * amd/amfs_*, amd/ops_*: new API function mount_child, old API 7044 function lookuppn renamed to lookup_child 7045 7046 * amd/amfs_auto.c: renamed amfs_auto_lookuppn1 to 7047 amfs_auto_lookup_node; renamed amfs_auto_lookuppn2 to 7048 amfs_auto_lookup_mntfs; renamed amfs_auto_lookuppn3 to 7049 amfs_auto_mount_child; moved the freeing of the error mntfs in the 7050 newly allocated am_node from lookup_mntfs to mount_child; make 7051 sure lookup_child returns a negative error if the node needs to be 7052 mounted; removed the call to lookuppn3 from lookup_child 7053 7054 * amd/amfs_error.c: added stub implementations of 7055 amfs_error_lookup_child and amfs_error_mount_child 7056 7057 * amd/amfs_direct.c, amd/amfs_union.c, amd/map.c, amd/nfs_subr.c, 7058 conf/autofs/autofs_linux.c, conf/autofs/autofs_solaris_v2_v3.c: 7059 call both lookup_child and mount_child, instead of the old 7060 lookuppn API method 7061 70622001-07-19 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 7063 7064 * amd/get_args.c (get_args): a better way to handle GNU and 7065 non-GNU getopts without strdup-ing the getopt string. 7066 70672001-07-04 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 7068 7069 * amd/info_ldap.c (amu_ldap_rebind): The first time you called 7070 amu_ldap_init, aldh->ldap is not set. So when amu_ldap_rebind is 7071 called, this function is absolutely sure to return 0. Then 7072 amu_ldap_init return 0 without having opened any LDAP connection. 7073 This is not the correct behavior. 7074 (get_ldap_timestamp, amu_ldap_search): error to free an object 7075 ("entry") that is automatically freed by the library. Patch from 7076 Sebastien Bahloul <sebastien.bahloul@mangoosta.fr>. 7077 70782001-07-19 Ion Badulescu <ionut@moisil.badula.org> 7079 7080 * AUTHORS (variables): added Philippe Troin 7081 7082 * Makefile.am (EXTRA_DIST): added bootstrap 7083 7084 * include/am_compat.h (xfs_args_t): define as u_int if the 7085 filesystem is supported but we can't autodetect the type for 7086 xfs_args_t. This allows Linux to mount xfs filesystems. 7087 70882001-07-12 Philippe Troin <phil@fifi.org> 7089 7090 * doc/am-utils.texi: Added @dircategory Administration. 7091 70922001-07-12 Philippe Troin <phil@fifi.org> 7093 7094 * aux/macros/with_addon.m4: Created. Wrapper around AC_ARG_WITH 7095 with only the `yes' and `no' as possible answers. 7096 7097 * configure.in: Added support for disabling LDAP and HESIOD even 7098 if the supporting libraries are found. 7099 7100 * Makefile.am (EXTRA_DIST_AUX): Added with_addon.m4 macro file. 7101 71022001-07-12 Philippe Troin <phil@fifi.org> 7103 7104 * include/am_compat.h: Removed forced definition of MNTTAB_OPT_DEV 7105 if MNT2_GEN_OPT_NODEV was found. Actually, the dev= (SVR4) options 7106 and the linux nodev options are different beasts. 7107 7108 * conf/mount/mount_linux.c (opt_map): Removed the MNTTAB_OPT_DEV 7109 entry (not really necessary on linux). 7110 71112001-07-12 Philippe Troin <phil@fifi.org> 7112 7113 * amd/get_args.c (get_args): Prepend "+" to the getopt string if 7114 HAVE_GNU_GETOPT to avoid getting all options (even the ones after 7115 the first non-option argument) slurped in by GNU getopt. 7116 7117 * aux/macros/check_gnu_getopt.m4: Created. Defines HAVE_GNU_GETOPT 7118 if GNU/glibc getopt implementation is detected. 7119 7120 * configure.in: Added call to AC_CHECK_GNU_GETOPT. 7121 7122 * acconfig.h: Document HAVE_GNU_GETOPT. 7123 7124 * Makefile.am (EXTRA_DIST_AUX): Added check_gnu_getopt.m4 macro file. 7125 71262001-06-25 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 7127 7128 * LSM.am-utils, NEWS, README.y2k, ChangeLog: make sure all 7129 am-utils URL references use www.am-utils.org, not the columbia 7130 URL. 7131 71322001-06-08 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 7133 7134 * conf/transp/transp_sockets.c (create_nfs_service): cast to 7135 u_long to ensure clean compile on freebsd5 and bsdi2. 7136 71372001-05-23 Ion Badulescu <ionut@moisil.badula.org> 7138 7139 WARNING: WORK IN PROGRESS 7140 7141 It works for me on Linux (both autofs and nfs mounts), for nfs and 7142 link, but I won't make any guarantees outside those. 7143 7144 * amd/mntfs.c (find_mntfs): reuse the mntfs only if both the mount 7145 point and the device/fileserver are the same. This is an important 7146 change of philosophy, watch out for memory leaks! 7147 7148 * amd/map.c (get_ap_child): helper function for 7149 amfs_auto_lookuppn, creates a new am_node for key fname, inits it, 7150 and inserts it into all necessary structures 7151 7152 * amd/amfs_auto.c (free_continuation): free unused mntfs's; don't 7153 free any of the removed fields 7154 (amfs_auto_lookuppn, amfs_auto_bgmount): split lookuppn into three 7155 subfunctions, including some code stolen from bgmount; lookuppn 7156 now generates an array of possible mntfs to try mounting, and 7157 bgmount will actually try to mount each of them. 7158 (amfs_auto_lookuppn[123]): the three new subfunctions for lookuppn 7159 (amfs_parse_defaults): new helper function for lookuppn 7160 71612001-05-19 Erez Zadok <ezk@kosh.dyn.optonline.net> 7162 7163 * conf/mount/mount_linux.c: typo: added comma after '0' element. 7164 71652001-05-19 Ion Badulescu <ionut@moisil.dev.hydraweb.com> 7166 7167 * conf/autofs/autofs_linux.c (AUTOFS_MAX_VERSION): allow using 7168 autofs-v4 again 7169 (autofs_get_opts): don't pass pgrp, the kernel will get it 7170 automatically anyway, not to mention that we were passing bogus 7171 data if amd was not daemonized. 7172 7173 * conf/mount/mount_linux.c (linux_nfs_error): don't special case 7174 the 0 result, just put it into the translation list 7175 71762001-05-19 Ion Badulescu <ionut@moisil.dev.hydraweb.com> 7177 7178 * conf/mount/mount_linux.c (linux_nfs_error): don't report success 7179 (0) as error (NE_IO)! 7180 71812001-05-18 Ion Badulescu <ionut@moisil.dev.hydraweb.com> 7182 7183 * amd/amfs_host.c (amfs_host_mount): don't fail the mount if at 7184 least one share is already mounted 7185 71862001-05-17 Ion Badulescu <ionut@moisil.dev.hydraweb.com> 7187 7188 * libamu/util.c (str3cat): updated comment 7189 7190 * include/am_utils.h: added VLOOK_LOOKUP and FS_DIRECT 7191 7192 * conf/autofs/autofs_linux.c (autofs_get_fh): removed obsolete comment 7193 (autofs_mounted): disable autofs support for host f/s if version < 4 7194 (create_autofs_service): turn on FS_MKMNT on auto f/s if using autofs 7195 (autofs_umount_succeeded): use rmdirs instead of rmdir 7196 (autofs_mount_failed): ditto 7197 7198 * amd/opts.c (expand_op): align the debugging messages 7199 7200 * amd/map.c (mount_auto_node): use am_node *mp instead of casting 7201 the void *arg; update the comment 7202 7203 * amd/autil.c (am_mounted): check the FS_DIRECT flag instead of 7204 comparing to &amfs_direct_ops 7205 (mount_node): ifs_mount doesn't exist, make note of it in the 7206 comment 7207 7208 * amd/amfs_direct.c (amfs_direct_ops): added FS_DIRECT to fs_flags 7209 7210 * amd/amfs_auto.c (amfs_auto_mount): removed the autofs hack to 7211 create the mountpoint directory for auto f/s; it is now handled in 7212 autofs_linux.c 7213 (amfs_auto_bgmount): renamed the mpe parameter to mp_error; 7214 renamed dont_retry to retry and reverted its meaning as well; 7215 moved the mp variable up one scope and made use of it throughout 7216 the function; 7217 (amfs_auto_readdir): whitespace 7218 (amfs_auto_readdir_browsable): whitespace, also some debugging 7219 7220 * amd/am_ops.c (vops): updated a comment 7221 7222 * .cvsignore: added A.i386-pc-linux-rh7.[01] 7223 72242001-05-01 Ion Badulescu <ionut@gonzales.dev.hydraweb.com> 7225 7226 * conf/mount/mount_linux.c: fixed stupid error in the linux 7227 nfs_errormap[], which was mapping ENOENT to success!!! 7228 72292001-04-28 Ion Badulescu <ionut@moisil.dev.hydraweb.com> 7230 7231 * BUGS: added info about the direct mount problems on Linux and 7232 about the kernel patches on www.am-utils.org. 7233 7234 * conf/autofs/autofs_solaris_v2_v3.c (autofs_unmount_2_req): 7235 removed obsolete comment 7236 7237 * amd/autil.c (forcibly_timeout_mp): always log a message when the 7238 forced unmount request is ignored 7239 (mf_mounted): don't lstat unless this is an autofs mount point, 7240 lest we deadlock 7241 7242 * amd/amfs_auto.c (amfs_auto_bgmount): don't gratuitously add 7243 MFF_MKMNT to the flags, it causes deadlocks later on when 7244 unmounting 7245 72462001-04-14 Erez Zadok <ezk@whitestar.dyn.optonline.net> 7247 7248 * COPYING: update copyright year 7249 7250 * amd/amfs_auto.c, amd/amfs_host.c, amd/amfs_nfsx.c, 7251 amd/amfs_toplvl.c, amd/amfs_union.c, amd/conf.c, amd/info_nis.c, 7252 amd/info_nisplus.c, amd/mapc.c, amd/nfs_subr.c, amd/ops_nfs.c, 7253 amd/rpc_fwd.c, amd/srvr_amfs_auto.c, amd/srvr_nfs.c, 7254 conf/autofs/autofs_solaris_v1.c, conf/mtab/mtab_file.c, 7255 conf/mtab/mtab_isc3.c, conf/mtab/mtab_svr4.c, 7256 conf/transp/transp_sockets.c, conf/transp/transp_tli.c, 7257 libamu/mount_fs.c, libamu/mtab.c: rewritten various dlog/plog 7258 messages for clarity, to avoid duplication, to better recognize 7259 what the message means and where it ran, and to fix typos. 7260 7261 * amd/nfs_subr.c (nfsproc_lookup_2_svc): moved trace message of 7262 function's name to the beginning of the function, before any other 7263 messages are logged. 7264 72652001-04-14 Ion Badulescu <ionut@moisil.dev.hydraweb.com> 7266 7267 * conf/mount/mount_linux.c (do_mount_linux): removed plog() of 7268 binary data 7269 72702001-04-05 Ion Badulescu <ionut@moisil.dev.hydraweb.com> 7271 7272 * include/am_defs.h: define NFSCLIENT, NFS, PCFS, LOFS, RFS, 7273 MSDOSFS, MFS and CD9660 to 1, so that both #if FOO and #ifdef FOO 7274 work (needed for MacOS X); removed duplicate definition of NFS. 7275 72762001-03-29 Ion Badulescu <ionut@moisil.dev.hydraweb.com> 7277 7278 * amd/amd.h, amd/amfs_auto.c, amd/conf.c, 7279 doc/am-utils.texi, 7280 scripts/amd.conf-sample, scripts/amd.conf.5: 7281 renamed selectors_on_default to selectors_in_defaults, 7282 kept the former as a deprecated option; 7283 renamed CFM_ENABLE_DEFAULT_SELECTORS to CFM_SELECTORS_IN_DEFAULTS; 7284 renamed gopt_selectors_on_default() to gopt_selectors_in_defaults() 7285 72862001-03-19 Ion Badulescu <ionut@moisil.dev.hydraweb.com> 7287 7288 * amd/amfs_toplvl.c, amd/amfs_auto.c, amd/srvr_nfs.c, 7289 include/am_utils.h: compile fixes for --enable-debug=no 7290 72912001-03-15 Ion Badulescu <ionut@moisil.dev.hydraweb.com> 7292 7293 * NEWS: updated 7294 7295 * README.autofs: updated 7296 7297 * conf/mount/mount_linux.c (linux_version_code): export the fn 7298 7299 * conf/nfs_prot/nfs_prot_linux.h: ditto 7300 7301 * conf/autofs/autofs_linux.c (create_autofs_service): verify the 7302 kernel version here, and turn off bind_works if the kernel is 7303 older than 2.4.0. 7304 (autofs_link_mount): don't touch bind_works here, it's useless 7305 b/c we're in a child process; remove the mountpoint directory if 7306 the bind mount fails 7307 7308 * amd/opts.c (eval_fs_opts): changed some annoying debugging plogs 7309 into dlogs 7310 7311 * conf/autofs/autofs_linux.c (autofs_link_mount): zero out the 7312 mntent struct before initializing it 7313 73142001-03-14 Ion Badulescu <ionut@moisil.dev.hydraweb.com> 7315 7316 * conf/mount/mount_linux.c (parse_opts): added support for lofs 7317 (mount_linux): support lofs through bind mounts and/or FiST lofs 7318 7319 * scripts/ctl-hlfsd.in: search for /var/spool/mail in addition to 7320 /var/mail and /usr/spool/mail 7321 7322 * conf/nfs_prot/nfs_prot_linux.h (MS_BIND): add define for it, if 7323 kernel is newer than 2.4.0 7324 (MNTTYPE_LOFS): ditto 7325 7326 * conf/autofs/autofs_solaris_v2_v3.c (autofs_link_umount): new stub 7327 (autofs_lookup_failed): removed stub 7328 7329 * conf/autofs/autofs_linux.c (autofs_lookup_failed): moved up in 7330 the file, made static; 7331 (autofs_link_mount): activate MNT2_GEN_OPT_BIND code; use stat() 7332 and friends to determine if bind mounts can be used and to trigger 7333 further cascading mounts; return proper error codes 7334 (autofs_link_umount): distinguish between symlinks and bind mounts 7335 and handle both correctly 7336 (autofs_umount_succeeded): remove call to autofs_link_umount() 7337 7338 * amd/map.c (umount_exported): try to unmount all mount points on 7339 an autofs filesystem; this isn't really needed and will be removed 7340 when we start handling restarting autofs mounts 7341 7342 * amd/amfs_link.c (amfs_link_[u]mount): call autofs_link_[u]mount, 7343 if necessary 7344 7345 * amd/amfs_auto.c (amfs_auto_bgmount): fixed a bug that was 7346 causing the wrong mntfs to be selected when using autofs; removed 7347 call to autofs_link_mount() (moved where it belongs, in 7348 amfs_link.c) 7349 7350 * amd/amfs_link.c: added FS_MBACKGROUND to fs flags -- cleaner 7351 solution is needed, because background mounting is only necessary 7352 for linux autofs + bind mounts 7353 7354 * amd/amd.h: removed prototype for autofs_lookup_failed (internal 7355 static function for linux autofs); added prototype for 7356 autofs_link_umount 7357 7358 * configure.in: bump up library patchlevel 7359 73602001-02-28 Ion Badulescu <ionut@moisil.dev.hydraweb.com> 7361 7362 * aux/macros/check_mount_trap.m4, 7363 aux/macros/check_nfs_fh_dref.m4, 7364 aux/macros/check_nfs_prot_headers.m4, 7365 aux/macros/type_recvfrom_fromlen.m4, 7366 aux/macros/type_yp_order_outorder.m4: 7367 Fixed newer freebsd's fh type, expanded more aix3, osf2, hpux9 to 7368 aix[1-3], osf[1-3] and hpux[6-9]. 7369 73702001-02-28 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 7371 7372 * check_mount_style.m4, check_mount_trap.m4, 7373 check_network_transport_type.m4, check_nfs_fh_dref.m4, 7374 check_nfs_prot_headers.m4, check_nfs_sa_dref.m4, 7375 check_nfs_socket_connection.m4, os_cflags.m4, 7376 type_yp_order_outorder.m4: small fixes to Ion's cleanup, and more 7377 cleanup (use [[0-1]] instead of M4 changequote commands). 7378 7379 * Makefile.am: removed unused conf/trap/trap_hpux11.h 7380 73812001-02-27 Ion Badulescu <ionut@moisil.dev.hydraweb.com> 7382 7383 * aux/macros/check_network_transport_type.m4, 7384 aux/macros/check_mount_style.m4, 7385 aux/macros/check_mount_trap.m4, 7386 aux/macros/check_network_transport_type.m4, 7387 aux/macros/check_nfs_fh_dref.m4, 7388 aux/macros/check_nfs_prot_headers.m4, 7389 aux/macros/check_nfs_sa_dref.m4, 7390 aux/macros/check_nfs_socket_connection.m4, 7391 aux/macros/os_cflags.m4, 7392 aux/macros/type_auth_create_gidlist.m4, 7393 aux/macros/type_recvfrom_fromlen.m4, 7394 aux/macros/type_yp_order_outorder.m4: 7395 Reworked the scripts, so that a new _unknown_ version of a known OS 7396 will use the option for the newest _known_ version of that OS. For 7397 example, when freebsd6 comes out, it will use the stuff for 7398 freebsd5, not the stuff for freebsd2. This makes configure more 7399 likely to succeed on new systems/versions. 7400 7401 * Makefile.am (EXTRA_DIST_AUX): added check_autofs_style.m4 (grr) 7402 74032001-02-24 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 7404 7405 * Makefile.am (install-snapshot): use a different symlink target 7406 for the experimental snapshots. 7407 74082001-02-23 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 7409 7410 * Makefile.am (EXTRA_DIST_CONF): include nfs_prot_darwin.h in 7411 distributions. 7412 74132001-02-22 Erez Zadok <ezk@earth.cs.columbia.edu> 7414 7415 * released snapshot am-utils-6.1a3 7416 7417 * amd/Makefile.am (EXTRA_amd_SOURCES): don't forget to distribute 7418 get_args.c 7419 74202001-02-21 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 7421 7422 * libamu/mtab.c: added the functions hasmnteq and haseq to 7423 ease checks for non-numeric values in opt=value strings. 7424 Recoded hasmntval to qualify input as numeric, allow hex and 7425 octal strings on rhs of =, and log when the value is missing 7426 or invalid. 7427 7428 * conf/mount/mount_linux.c: revised mount_linux to use new 7429 hasmnteq function to extract type of non-nfs mounts, and added 7430 a log message to catch possible failure of strdup. 7431 7432 * amd/am_ops.c: revised merge_ops to use new haseq function 7433 7434 * amd/srvr_nfs.c: revised find_nfs_srvr to use hasmnteq to 7435 discover protocol setting. 7436 7437 * include/am_utils.h: added function prototypes for hasmnteq 7438 and haseq 7439 74402001-02-19 Ion Badulescu <ionut@moisil.dev.hydraweb.com> 7441 7442 * include/mount_headers2.h (_LINUX_NFS3_H): define it, to avoid 7443 pulling in unwanted declarations from 2.2.19pre and 2.4.1ac 7444 7445 * include/am_defs.h (_LINUX_NFS3_H): ditto 7446 7447 * conf/nfs_prot/nfs_prot_linux.h: whitespace, comments 7448 74492001-02-19 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 7450 7451 * aux/macros/check_fs_mntent.m4 (ac_safe): remove debugging "echo" 7452 command. 7453 74542001-02-18 Erez Zadok <ezk@earth.cs.columbia.edu> 7455 7456 * aux/macros/mount_headers.m4, include/mount_headers[12].h: split 7457 mount_headers.h in two because one relative header (nfs_prot.h) 7458 file cannot be included inside another from the start directory of 7459 the first (it's relative to the directory of the first). 7460 74612001-02-09 Ion Badulescu <ionut@moisil.dev.hydraweb.com> 7462 7463 * AUTHORS: added Ahmon Dancy <dancy@franz.com> 7464 7465 * (all): added Darwin/Rhapsody/Apple OS X support from Ahmon Dancy 7466 7467 * aux/macros/mount_headers.m4: moved all the C code into a 7468 separate file, include/mount_headers.h; the effect is that 7469 configure goes down in size by a factor of 2.5! 7470 7471 * include/mount_headers.h: new file, with C code from 7472 aux/macros/mount_headers.m4 7473 74742001-02-01 Ion Badulescu <ionut@moisil.dev.hydraweb.com> 7475 7476 * conf/mount/mount_linux.c: made linux_nfs_error() more robust. 7477 74782001-02-01 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 7479 7480 * released snapshot am-utils-6.1a2 7481 7482 * updated ltmain.sh and ltconfig from latest stable version of 7483 libtool-1.3.5 7484 74852001-02-01 Ion Badulescu <ionut@moisil.dev.hydraweb.com> 7486 7487 * conf/nfs_prot/nfs_prot_linux.h (nfs_error): moved the definition 7488 of nfs_error here, from mount_linux.c, so that it can actually be 7489 used. 7490 7491 * conf/mount/mount_linux.c: added unused errno 41 to the 7492 nfs_errormap array, lest the following errno's get shifted up by 7493 one! 7494 7495Sat Jan 13 00:04:38 2001 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 7496 7497 * amd/amd.h (autofs_lookuppn): Fixup whitespace. 7498 * amd/amfs_auto.c (amfs_auto_bgmount): Likewise. 7499 * amd/amfs_error.c: (amfs_error_match): Likewise. 7500 * amd/amfs_host.c (fetch_fhandle): Fixup whitespace. Remove 7501 unnecessary temporary variable. 7502 * amd/info_file.c (read_line): Likewise. 7503 (search_or_reload_file): Likewise. 7504 * amd/info_ldap.c (get_ldap_timestamp): Likewise. 7505 * amd/map.c (get_root_ap): Likewise. 7506 * amd/nfs_prot_svc.c: Likewise. 7507 * amd/ops_TEMPLATE.c (foofs_match, foofs_lookuppn, 7508 foofs_readlink, foofs_ffserver): Likewise. 7509 * amd/ops_autofs.c (autofs_bgmount): Likewise. 7510 * amd/ops_lofs.c (lofs_match): Likewise. 7511 * amd/ops_nfs.c (got_nfs_fh): Fixup whitespace. 7512 * amd/ops_xfs.c (xfs_match): Likewise. 7513 * amd/srvr_amfs_auto.c (srvrlog): Line break. 7514 * amd/srvr_nfs.c (got_portmap, call_portmap, nfs_pinged, 7515 nfs_srvr_port): Fixup whitespace. 7516 * conf/nfs_prot/nfs_prot_bsdi2.h: Likewise. 7517 * conf/nfs_prot/nfs_prot_hpux.h: Likewise. 7518 * conf/nfs_prot/nfs_prot_hpux11.h: Likewise. 7519 * conf/nfs_prot/nfs_prot_irix5.h: Likewise. 7520 * conf/nfs_prot/nfs_prot_irix6.h: Likewise. 7521 * conf/nfs_prot/nfs_prot_nextstep.h: Likewise. 7522 * conf/nfs_prot/nfs_prot_osf2.h: Likewise. 7523 * conf/nfs_prot/nfs_prot_osf4.h: Likewise. 7524 * conf/nfs_prot/nfs_prot_osf5_1.h: Likewise. 7525 * conf/nfs_prot/nfs_prot_sunos3.h: Likewise. 7526 * conf/nfs_prot/nfs_prot_sunos4.h: Likewise. 7527 * conf/nfs_prot/nfs_prot_ultrix.h: Likewise. 7528 * conf/transp/transp_tli.c (get_mount_client): Likewise. 7529 * hlfsd/nfs_prot_svc.c: Likewise. 7530 * include/am_defs.h (sys_errlist): Likewise. 7531 * include/am_utils.h (am_get_progname, am_get_hostname, 7532 amq_program_1): Likewise. 7533 (nfsxprt): Moved declaration. 7534 7535Fri Jan 12 23:31:45 2001 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 7536 7537 Removed support for amq -M. 7538 7539 * acconfig.h (ENABLE_AMQ_MOUNT): Removed. 7540 * aux/macros/opt_amq_mount.m4: Removed. 7541 * Makefile.am (EXTRA_DIST_AUX): Don't distribute 7542 opt_amq_mount.m4. 7543 * configure.in (AC_OPT_AMQ_MOUNT): Removed invocation. 7544 7545 * amd/amq_subr.c (ok_security, amqproc_mount_1_svc): Removed. 7546 * amd/amq_svc.c (amq_program_1): Removed amq -M support. 7547 * amq/amq.c (mount_map): Removed. 7548 (main): Removed -M option handling. 7549 Removed transport-type specific CLIENT creation. 7550 (get_secure_amd_client, amq_bind_resv_port, privsock): Removed. 7551 7552 * amq/amq.8: Removed -M documentation. 7553 * doc/am-utils.texi (Top-level Filesystem): Removed amq -M 7554 reference, but retain comment on mount -t amd. 7555 (Controlling Amd): Likewise. 7556 7557 * tasks: Removed this task. 7558 7559Fri Jan 12 23:18:26 2001 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 7560 7561 * conf/autofs/autofs_*.c: Bump copyright year to 2001. 7562 * hlfsd/hlfsd.h (HLFSD_VERSION): Likewise. 7563 7564 * aux/macros/check_autofs_style.m4: Renamed solaris[12] styles to 7565 solaris_v1, solaris_v2_v3 to reflect that these are AutoFS 7566 protocol version numbers, not solaris versions. 7567 * conf/autofs/autofs_solaris[12].[ch]: Renamed to 7568 autofs_solaris_{v1, 2_v3}.[ch] to reflect this. 7569 * Makefile.am (EXTRA_DIST_CONF): Likewise. 7570 7571 * aux/macros/check_autofs_style.m4: Use solaris2 style for both 7572 versions 2 and 3 of the AutoFS protocol. 7573 7574 Handle missing AUTOFS_POSTUNMOUNT, AUTOFS_POSTMOUNT (unnecessary 7575 with Solaris 8 mntfs). 7576 7577 * conf/autofs/autofs_solaris2.c (xdr_postumntreq, xdr_postumntres, 7578 xdr_postmountreq, xdr_postmountres, autofs_postunmount_2_req, 7579 autofs_postmount_2_req ): Don't define for version 3. 7580 (autofs_program_2): Don't handle AUTOFS_POSTUNMOUNT, 7581 AUTOFS_POSTMOUNT if missing. 7582 7583 * conf/nfs_prot/nfs_prot_sunos5_8.h: Enable AutoFS support. 7584 7585 * aux/macros/check_autofs_style.m4: Use empty autofs_default.[ch] 7586 files on systems without existing autofs port. 7587 * conf/autofs/autofs_default.[ch]: New files, empty. 7588 * Makefile.am (EXTRA_DIST_CONF): Distribute them. 7589 * INSTALL: With this change, Solaris 8 and Tru64 5.1 compile and 7590 link. 7591 75922001-01-12 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 7593 7594 * Makefile.am (EXTRA_DIST): distribute new LDAP files. 7595 7596 * README.ldap, ldap-id.txt, ldap-id.ms: LDAP status information, 7597 proposed Schema, and internet draft. 7598 7599Fri Jan 12 22:27:07 2001 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 7600 7601 * Support Tru64 UNIX V5.1: 7602 7603 * conf/nfs_prot/nfs_prot_osf5_1.h: New file. 7604 7605 * Makefile.am (EXTRA_DIST_CONF): Distribute it. 7606 7607 * aux/macros/check_nfs_prot_headers.m4: Tru64 UNIX V5.1 has 7608 AutoFS, need to disable it until a port exists. 7609 7610 * INSTALL, doc/am-utils.texi (Supported Platforms): Mention new 7611 minor port. 7612 76132001-01-09 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 7614 7615 * ALL: bump copyright year to 2001. 7616 76172001-01-05 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 7618 7619 * acconfig.h: correct comments for NODEV/NONDEV mount options 7620 7621Fri Jan 5 05:12:02 2001 Erez Zadok <ezk@subzero.cs.columbia.edu> 7622 7623 * libamu/xdr_func.c: removed ugly casts to "groups*", now that 7624 irix6's nfs_prot.h is fixed. 7625 7626 * conf/nfs_prot/nfs_prot_irix6.h: copied relevant parts of 7627 <rpcsvc/mount.h> here so we don't have to include this header. 7628 76292001-01-04 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 7630 7631 * conf/nfs_prot/nfs_prot_irix6.h: redefine "groups" typedef to 7632 struct groups, not the pointer to this struct. 7633 7634 * include/am_xdr_func.h: prototype should take "groups *" as 2nd 7635 arg. 7636 7637 * libamu/xdr_func.c (xdr_groupnode, xdr_exportnode): change 7638 casting of second arg of xdr_groups to "groups *". It's only 7639 needed for irix6, due to problems with xdr_groups on that platform. 7640 (xdr_groups): prototype should take "groups *" as 2nd arg. 7641 7642 * conf/nfs_prot/nfs_prot_aix*.h: correct xdr_groups extern 7643 definition. Report from Ahmon Dancy <dancy@franz.com>. 7644 76452000-12-06 Ion Badulescu <ionut@moisil.dev.hydraweb.com> 7646 7647 * include/am_defs.h: force non-inclusion of <linux/fs.h> via 7648 <linux/auto_fs.h> 7649 7650 * conf/autofs/autofs_linux.c (autofs_mounted): rename 7651 AUTOFS_MIN_PROTO_VERSION to AUTOFS_MIN_VERSION (leftover from 7652 previous commit) 7653 7654 * configure.in: fixed libtool version 7655 76562000-12-02 Ion Badulescu <ionut@moisil.dev.hydraweb.com> 7657 7658 * doc/am-utils.texi (opts Option): document lock/nolock 7659 76602000-12-02 Ion Badulescu <ionut@moisil.dev.hydraweb.com> 7661 7662 * conf/autofs/autofs_linux.h: added struct autofs_pending_mount; 7663 modified autofs_fh_t to have a linked list of autofs_pending_mount; 7664 added some support for autofs4 7665 7666 * conf/autofs/autofs_linux.c: use a linked list for pending 7667 request, to allow for handling multiple simultaneous request; 7668 incipient non-functional support for autofs4; incipient 7669 non-functional support for bind-mounting 7670 7671 * amd/amd.c (main): print a warning if PROCLOCK is requested but 7672 the O/S doesn't support it 7673 7674 * libamu/mount_fs.c (mnt_flags): allow the use of the "nolock" 7675 option 7676 7677 * include/am_defs.h: don't include <linux/fs.h> on a glibc2 7678 system; include <linux/auto_fs4.h> if it exists, instead of 7679 <linux/auto_fs.h> 7680 7681 * include/am_compat.h: define the "nolock" mnttab option if the 7682 NONLM NFS mount option is defined 7683 7684 * acconfig.h: added MNT2_NFS_OPT_NONLM, MNT2_GEN_OPT_BIND 7685 7686 * configure.in: added detection of the NONLM Linux NFS mount 7687 option; added a clarification for the library versioning rules and 7688 increased the minor level; added detection of <linux/auto_fs4.h> 7689 and the MS_BIND generic mount option 7690 76912000-11-29 Ion Badulescu <ionut@moisil.dev.hydraweb.com> 7692 7693 * Enabled Solaris 2.7 autofs support (tested, works) 7694 7695 * Updated NEWS, README.autofs 7696 7697 * Updated Makefile's, make dist is now fixed 7698 7699 * Fixed potential memory leak in map.c 7700 7701 * Fixed autofs style detection for solaris 2.[67] 7702 7703 * Added a few casts in autofs_solaris2.c, needed on Solaris 2.7 7704 77052000-11-28 Ion Badulescu <ionut@moisil.dev.hydraweb.com> 7706 7707 More Solaris 2.[67] work in progress: 7708 7709 * changed the API for the mount/umount methods: fmount/fumount are 7710 gone, and mount/umount now take two arguments (am_node and mntfs) 7711 7712 * changed the semantics of the MFF_AUTOFS flag: MFF_AUTOFS now 7713 means the mntfs is a filesystem of type autofs, and AMF_AUTOFS 7714 means the am_node is a node on a filesystem of type autofs. 7715 7716 * renamed nfs_program_2_transp to current_transp so it can be used 7717 with autofs 7718 7719 * renamed quick_reply() to nfs_quick_reply() 7720 7721 * added two more autofs methods: autofs_umount_failed() and 7722 autofs_compute_mount_flags() -- it turns out that on sol2.6 the 7723 autofs mounts MUST be overlay'ed 7724 7725 * moved the autofs_mount_succeeded() into am_mounted() 7726 7727 * made amd *not* timeout autofs mounts -- the kernel will do it 7728 for us 7729 7730 * store dev and rdev of a mounted filesystem in the mntfs 7731 structure, to help autofs 7732 7733 * moved the rmdirs() call from uninit_mntfs() to am_umounted(), to 7734 prevent deadlocking with autofs 7735 7736 * amd/Makefile.am: shuffled things around to make 7737 update_build_version be the last thing that runs 7738 77392000-11-27 Ion Badulescu <ionut@moisil.dev.hydraweb.com> 7740 7741 * split amd/ops_autofs.c into conf/autofs/autofs_<system>.c files 7742 and made configure create a symlink to the appropriate one 7743 7744 * moved the xdr autofs functions from libamu/xdr_func.c into the 7745 system-specific conf/autofs/autofs*.c 7746 7747 * added some more experimental code to the sol2.6 autofs support, 7748 but it's by no means functional 7749 77502000-11-27 Ion Badulescu <ionut@moisil.dev.hydraweb.com> 7751 7752 * libamu/wire.c (getwire_lookup): truncate the hostname to 7753 MAXHOSTNAMELEN characters. 7754 77552000-11-26 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 7756 7757 * include/am_utils.h (MAXHOSTNAMELEN): if not defined, set this to 7758 256 bytes, not 64. Suggestion form Kris Kennaway 7759 <kris@FreeBSD.org>. 7760 77612000-11-26 Erez Zadok <ezk@dmath5.geometrie.tuwien.ac.at> 7762 7763 * configure.in (AC_CHECK_MNT2_NFS_OPTS): check for NFS mount 7764 options kerb, rdirplus, readdirsize, and xlatecookie 7765 (NetBSD-1.5K). 7766 7767 * acconfig.h: recognize NFS mount options rdirplus, readdirsize, 7768 and xlatecookie (NetBSD-1.5K) 7769 77702000-11-24 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 7771 7772 * amd/srvr_nfs.c: comment on NFS proto search order. 7773 7774 * libamu/xutil.c (real_plog): don't try to write the last byte of 7775 the fmt buf. security suggtion from NetBSD: Thomas Klausner 7776 <wiz@danbala.ifoer.tuwien.ac.at> 7777 77782000-11-22 Ion Badulescu <ionut@moisil.dev.hydraweb.com> 7779 7780 * amd/amfs_auto.c (amfs_auto_bgmount): removed the initialization of 7781 fattr.na_fileid, it is now done in map.c when the map is initialized 7782 7783 * amd/map.c (init_map): initialize fattr.na_fileid to am_gen, not 7784 to 0, to avoid cache aliasing problems on Linux (and to follow the 7785 NFS spec!) 7786 77872000-11-22 Thomas Klausner <wiz@danbala.ifoer.tuwien.ac.at> 7788 7789 * libamu/mount_fs.c (mount_fs): avoid using extra limited-size buf 7790 (security) 7791 7792 * libamu/xutil.c, fsinfo/fsinfo.h, include/am_utils.h: use 7793 __attribute__, __format__, and __printf__ for GCC string auditing. 7794 7795 * wire-test/wire-test.8: this is not a section 8L man page. 7796 7797 * libamu/xutil.c (expand_error): don't use sys_nerr on systems 7798 that support strerror(). 7799 (dplog): fmt is const 7800 (plog): fmt is const 7801 (real_plog): fmt is const. use new expand_error function with its 7802 new return value. be more careful about running off the end of 7803 char[] fixed size buffers. 7804 7805 * libamu/wire.c (getwire): fix alignment error on alpha using an 7806 extra automatic storage variable ifrpool. 7807 7808 * hlfsd/hlfsd.c (fatal): use proper printf style to plog. 7809 7810 * fsinfo/fsinfo.c (find_username): getlogin() returns a const. 7811 7812 * fsinfo/fsi_util.c (error, lerror, lwarning, fatal, log): use 7813 vfprintf. 7814 7815 * fsinfo/fsi_lex.l (yyerror): use vfprintf. 7816 7817 * fixmount/fixmount.8: this is not a section 8L man page. 7818 7819 * doc/am-utils.texi (Hesiod maps): fixed typo. 7820 7821 * amd/sched.c (do_task_notify): typo in comment. 7822 7823 * amd/opts.c (expand_op): expand_error[] is a const char *. 7824 7825 * amd/amd.c (main): use proper printf style to plog. 7826 78272000-11-22 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 7828 7829 * libamu/mount_fs.c (mnt_flags, compute_nfs_args): recognize 7830 proplist mnttab flag. Bug fix from Wolfram Klaus 7831 <klaus@physik.fu-berlin.de>. 7832 78332000-11-19 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 7834 7835 * updated config.guess, config.sub, and doc/texinfo.tex from 7836 mirrors 7837 7838 * Makefile.am (update): proper updating of config.* and texinfo 7839 from mirrors. 7840 7841 * aux/macros/check_nfs_prot_headers.m4: newer netbsd systems 7842 reports their system name as "netbsdelf" in config.guess. 7843 78442000-11-13 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 7845 7846 * doc/am-utils.texi (opts Option): document new mount option 7847 "proplist" 7848 7849 * include/am_compat.h: define amd mount option "proplist" if the 7850 system doesn't recognize it, but the NFS bit flag exists. 7851 7852 * configure.in, acconfig.h: recognize/support "proplist" NFS mount 7853 option in Amd, useful under DU-4.0 to process ACLs over NFS 7854 mounts. 7855 78562000-11-10 Ion Badulescu <ionut@moisil.dev.hydraweb.com> 7857 7858 * conf/mount/mount_linux.c (mount_linux): removed unnecessary 7859 rsize/wsize defaults -- performance killers on 2.2.18+ and 2.4.0+ 7860 78612000-10-16 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 7862 7863 * scripts/am-eject.in: accept "cdrom" and "floppy" as arguments. 7864 78652000-11-05 Ion Badulescu <ionut@moisil.dev.hydraweb.com> 7866 7867 Too many changes to list them here. Here's a high level 7868 description: 7869 7870 * Forward-ported the Linux fixes from 6.0.5pre 7871 7872 * Got rid of a mountain of #ifdef DEBUG, replaced with smart 7873 header-file #ifdef's 7874 7875 * and, the grand finale: initial Solaris 2.6 autofs 7876 support. Compiles, mounts, gets requests; all the 7877 infrastructure is in place to actually implement the calls. Linux 7878 autofs might be a bit broken, but only compile-time so it'll be 7879 easy to fix. 7880 78812000-11-01 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 7882 7883 * MIRRORS (Note): added a mirror at ufl.edu 7884 78852000-10-11 Erez Zadok <ezk@lorien.dev.hydraweb.com> 7886 7887 * amq/amq.8: synchronize Amq's options with reality 7888 7889 * amq/amq.c (main): synchronize Amq's usage() string with reality 7890 78912000-10-10 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 7892 7893 * scripts/ctl-amd.in: add targets condrestart (redhat) and 7894 reload. 7895 78962000-10-04 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 7897 7898 * scripts/lostaltmail.in (vrfy_user): ensure that MAILDIR is 7899 defined. 7900 79012000-09-18 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 7902 7903 * amd/opts.c (backslash): Bell char (ASCII 007) should be \g, not 7904 \a. 7905 79062000-09-17 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 7907 7908 * include/am_utils.h: removed unused field opt_autopref 7909 7910 * amd/opts.c: removed unused variable $autopref 7911 79122000-09-05 Erez Zadok <ezk@aladdin.dev.hydraweb.com> 7913 7914 * conf/mtab/mtab_svr4.c (lockfile): function not needed unless 7915 MOUNT_TABLE_ON_FILE is defined. 7916 mtlckname static var is onlyneeded if MOUNT_TABLE_ON_FILE. 7917 (update_mnttab_fields): only needed if MOUNT_TABLE_ON_FILE. 7918 79192000-09-03 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 7920 7921 * buildall (Usage): typo in usage string 7922 79232000-08-25 Erez Zadok <ezk@lynn.soscorp.com> 7924 7925 * conf/mount/mount_linux.c (mount_linux): MNT2_NFS_OPT_VER3 may 7926 is no defined on older Linux systems (kernel 2.0.36) 7927 79282000-08-19 Erez Zadok <ezk@earth.cs.columbia.edu> 7929 7930 * scripts/amd.conf.5: correct swapped descriptions for ldap_base 7931 and ldap_hostports. 7932 7933 * doc/am-utils.texi: correct swapped descriptions for ldap_base 7934 and ldap_hostports. 7935 7936 * scripts/amd.conf-sample: swap examples for ldap_base and 7937 ldap_hostports. 7938 79392000-08-13 Erez Zadok <ezk@earth.cs.columbia.edu> 7940 7941 * scripts/amd.conf-sample: -O is CLI equivalent to "os" 7942 amd.conf parameter 7943 79442000-07-30 Erez Zadok <ezk@earth.cs.columbia.edu> 7945 7946 * scripts/amd.conf-sample (nfs_retransmit_counter): correct 7947 meaning and use of parameter 7948 79492000-07-23 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 7950 7951 * doc/am-utils.texi: updated URLs to www.am-utils.org. 7952 79532000-07-04 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 7954 7955 * doc/am-utils.texi (Supported Platforms): document osf4.0f 7956 79572000-06-19 Erez Zadok <ezk@vir.cs.columbia.edu> 7958 7959 * doc/am-utils.texi (dollar Selector Variable): document 7960 ${dollar}. 7961 7962 * amd/opts.c: special new variable ${dollar} which expands into a 7963 literal '$' sign. Otherwise there is no way to include a literal 7964 dollar symbol in an amd map. 7965 79662000-06-11 Ion Badulescu <ib42@moisil.cs.columbia.edu> 7967 7968 * amd/opts.c (eval_selectors): don't deref opt after it's been 7969 XFREE'd 7970 79712000-06-11 Erez Zadok <ezk@earth.cs.columbia.edu> 7972 7973 * amd/opts.c: move mount_type expansion until later in the list, 7974 so common variable are "hit" first. 7975 79762000-06-11 Ion Badulescu <ib42@moisil.cs.columbia.edu> 7977 7978 * amd/opts.c (split_opts, eval_selectors): split old function 7979 eval_opts into two, one that only splits non-selectors and 7980 assigns the values to fs_static, and one that only evaluates 7981 selectors; also simplified the rather obfuscated logic inside 7982 these functions 7983 (expand_op): made it take a char * instead of a structure from 7984 which it was using only one field (a char *). Also now returns a 7985 char * instead of modifying said structure in place 7986 (expand_opts): deal with the change above 7987 (expand_selectors): renamed from expand_key 7988 (expand_options): new function, expands non-selectors; it's the 7989 complement of expand_selectors, both of which are just wrappers 7990 around expand_op() 7991 (eval_fs_opts): use the new split_opts, eval_selectors to allow 7992 using options (like ${rhost}) in selectors 7993 79942000-06-11 Ion Badulescu <ionut@moisil.cs.columbia.edu> 7995 7996 * config.guess.long: munge config.guess' output so that intel 7997 linux appears as i386-pc-linux 7998 7999Fri Jun 9 16:06:56 2000 Erez Zadok <ezk@defiant.dev.hydraweb.com> 8000 8001 * conf/nfs_prot/nfs_prot_bsdi2.h: getifaddrs() on bsdi2 is broken. 8002 Don't use it. 8003 80042000-06-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 8005 8006 * amd/mapc.c (maptypes): Change default allocation mode to 8007 MAPC_INC where reload support is missing to avoid warning in 8008 mapc_create(). 8009 80102000-06-09 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8011 8012 * conf/nfs_prot/nfs_prot_sunos5_5.h: turn off autofs support for 8013 solaris 2.5 until a full port can be done. 8014 80152000-06-07 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8016 8017 * Makefile.am, aux/GNUmakefile: fix maintainer rules to update 8018 config.* and texinfo.tex files. 8019 8020 * amd/nfs_subr.c (nfsproc_getattr_2_svc): Don't conditionalize the 8021 mtime update of the symlinks on the SYMTTL option, but rather 8022 delay unmount of what was looked up using am_timeo_w. Patch from 8023 Nick Williams <Nick.Williams@msdw.com>. As Nick says "Basically: 8024 during unmount, increment the parent dir's mtime (fixes 8025 people doing amq -u). During stat, increase the TTL (to fix bad-luck 8026 timeouts), but leave the mtime alone." 8027 8028 (nfsproc_lookup_2_svc, nfsproc_readlink_2_svc, unlink_or_rmdir, 8029 nfsproc_readdir_2_svc): correctly update d_drops stats for amq -s. 8030 Patch from Nick Williams <Nick.Williams@msdw.com>. 8031 8032 * amd/map.c (unmount_mp): update mtime of amd symlink to further 8033 reduce the chances of race conditions between unmounting and 8034 looking up an entry again. Patch from Nick Williams 8035 <Nick.Williams@msdw.com>. 8036 8037 * README: updated instructions 8038 8039 * bootstrap: remove log file before existing 8040 80412000-06-06 Erez Zadok <ezk@aladdin.dev.hydraweb.com> 8042 8043 * configure.in: no longer using aux/ subdir. don't force autoconf 8044 2.14. comment out (but leave explanation) everything that's needed 8045 for autoconf 2.14, so for now it works with autoconf-2.13, but the 8046 code is ready for 2.14 when it is released. Similar changes to 8047 make code work with automake-1.4, until the next release comes 8048 out. 8049 8050 * libamu/Makefile.am: include definitions that are required in 8051 automake 1.4, but won't be necessary when the next release of 8052 automake comes out (see XXX comments). 8053 8054 * cache_check_dynamic.m4, check_checkmount_style.m4, 8055 check_mnttab_style.m4, check_mount_style.m4, 8056 check_network_transport_type.m4, check_nfs_prot_headers.m4, 8057 check_umount_style.m4: use symlink creation code that works for 8058 both autoconf 2.13 and 2.14 (when the latter comes out). 8059 8060 * bootstrap: new script for maintainers to run to update autoconf, 8061 automake, and libtool related files. Has the same effect as 8062 "buildall -K". 8063 8064 * removed dependencies on CVS versions of autoconf, automake, and 8065 libtool, especially the modified automake I had. This is so that 8066 maintainers could built the auto* files out of the latest released 8067 GNU autoconf, automake, and libtool. However, without my nice 8068 patches to automake, many files that used to live in the aux/ 8069 subdir now were moved to the top level source directory: acconfig.h, 8070 acinclude.m4, aclocal.m4, aux_conf.h.in, config.guess, 8071 config.guess.long, config.h.in, config.sub, configure.in, depcomp, 8072 install-sh, ltconfig, ltmain.sh, missing, and mkinstalldirs. Also 8073 texinfo.tex and mdate-sh moved from aux/ dir to doc/ dir. 8074 80752000-06-05 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8076 8077 * cvs-server.txt: instructions for maintainers to access the CVS 8078 server for am-utils. 8079 80802000-06-03 Ion Badulescu <ionut@moisil.cs.columbia.edu> 8081 8082 * amd/restart.c (restart): grr.. passing around initialized 8083 structures is *really* bad habit. memset(mo, 0) so at least we can 8084 test for NULL pointers... 8085 80862000-06-02 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8087 8088 * amd/am_ops.c (ops_match): changed XLOG_USER messages about 8089 merging addopts options to the more appropriate XLOG_INFO. Patch 8090 submitted by Tom Schmidt <tschmidt@micron.com>. 8091 8092 * config.{guess,sub}: make sure chmod'ed a+rx. Updated from 8093 latest GNU copies. 8094 80952000-05-30 Ion Badulescu <ionut@moisil.cs.columbia.edu> 8096 8097 * aux/configure.in: bump up the version to 6.1a2 8098 80992000-05-29 Ion Badulescu <ionut@moisil.cs.columbia.edu> 8100 8101 * released snapshot am-utils-6.1a1 8102 81032000-05-29 Ion Badulescu <ionut@moisil.cs.columbia.edu> 8104 8105 * amd/ops_autofs.c (autofs_mounted): retrieve the autofs protocol 8106 version and store it in the fh 8107 (autofs_get_opts): support protocol version 4 8108 8109 * amd/mntfs.c (uninit_mntfs): clear the autofs fh pointer after 8110 releasing it 8111 8112 * conf/transp/transp_sockets.c (amu_svc_getcaller): cast result of 8113 svc_getcaller() to sockaddr_in, to appease glibc 2.2 8114 8115 * amd/amfs_auto.c (amfs_auto_bgmount): if the filesystem wants 8116 autofs handling and the parent is already handled by autofs, 8117 handle this filesystem as well 8118 (amfs_auto_mount): create the mountpoint for an autofs mount 8119 (amfs_auto_umount): do a real UMOUNT_FS() call for autofs mounts 8120 8121 * include/am_utils.h (FS_AUTOFS): new flag signalling that the 8122 filesystem wants autofs handling; toplvl, auto, host and direct 8123 have this flag, at least for now 8124 81252000-05-28 Erez Zadok <ezk@mulberry.mcl.cs.columbia.edu> 8126 8127 * doc/am-utils.texi (Network Filesystem Group): minor typos 8128 81292000-05-28 Ion Badulescu <ionut@moisil.cs.columbia.edu> 8130 8131 * amd/autil.c (am_unmounted): check mp->am_parent before dereferencing 8132 8133 * amd/srvr_nfs.c (find_nfs_srvr): if NFS_SCALEDOWN, force 8134 version=2 and proto=udp and try again 8135 8136 * amd/ops_nfs.c (prime_nfs_fhandle_cache): take an explicit mntfs 8137 instead of a voidp; handle the NFS_SCALEDOWN case by removing the 8138 cached server entry and re-querying the server 8139 8140 * amd/amfs_toplvl.c (amfs_toplvl_mount): removed ugly if 8141 statement, assign mnttype from the fs-specific mf_ops->fs_type 8142 instead 8143 8144 * amd/amfs_nfsx.c (amfs_nfsx_init): call fs_init() only if it's 8145 defined; 8146 (amfs_nfsx_remount): removed superfluous check for fmount_fs -- it 8147 always exists 8148 (amfs_nfsx_umount): removed the hacked am_node -- umounted() now 8149 takes an mntfs; call umounted() only if it's defined 8150 8151 * amd/amfs_auto.c: removed amfs_auto_umounted and moved its 8152 functionality into am_umounted(). 8153 (amfs_auto_cont): Linux hack: if we got an EINVAL, mark the mntfs 8154 as needing an "NFS scaledown" and retry the operation 8155 8156 * amd/amfs_*.c: changed all fmount/fumount functions to 8157 mount/umount and made them take an am_node instead of an 8158 mntfs. This is a first step towards an amfs/ops API separation. 8159 8160 * amd/{amfs,ops}_*.c: changed the umounted() function to take an 8161 mntfs instead of an am_node 8162 81632000-05-28 Ion Badulescu <ionut@moisil.cs.columbia.edu> 8164 8165 * amd/amfs_toplvl.c (mount_amfs_toplvl): init error to 0 to shut 8166 up gcc 8167 8168 * aux/macros/check_hide_mount_type.m4: revert to the 6.0 version 8169 which always defines HIDE_MOUNT_TYPE 8170 8171 * amd/ops_autofs.c (autofs_mounted): remove MFF_AUTOFS 8172 initialization -- now done in init_mntfs() 8173 8174 * amd/mntfs.c (init_mntfs): init mf_flags to MFF_AUTOFS if we are 8175 mounting an autofs-style map 8176 8177 * amd/*.c: use the MFF_AUTOFS flag instead of doing a costly STREQ 8178 8179 * amd/amfs_toplvl.c (mount_amfs_toplvl): MTYPE_TYPE is not 8180 necessarily a string type, so handle the nfs/autofs separation 8181 differently 8182 8183 * amd/amfs_auto.c (amfs_auto_bgmount): removed initialization of 8184 opt_mount_type (now done in ops_match()) 8185 8186 * amd/am_ops.c (ops_match): need to initialize opt_mount_type if 8187 it's not initialized yet 8188 81892000-05-27 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8190 8191 * libamu/wire.c (getwire_lookup): handle calling irs_gen_acc with 8192 one or two arguments (bsdi3 vs. bsdi4) 8193 81942000-05-27 Ion Badulescu <ib42@chestnut.mcl.cs.columbia.edu> 8195 8196 * libamu/xutil.c (amu_release_controlling_tty): removed an unused 8197 variable from the previous patch 8198 81992000-05-26 Ion Badulescu <ionut@moisil.cs.columbia.edu> 8200 8201 * aux/macros/check_autofs_style.m4: fixed substitution for default 8202 case 8203 8204 * libamu/xutil.c (amu_release_controlling_tty): close standard 8205 file descriptors, re-open them as /dev/null 8206 8207 * include/am_defs.h: don't try to include both <ndbm.h> and 8208 <db1/ndbm.h>, it really doesn't work 8209 82102000-05-16 Ion Badulescu <ib42@earth.cs.columbia.edu> 8211 8212 * hlfsd/stubs.c (nfsproc_lookup_2_svc): added code to update mtime 8213 on lookup if MNT2_NFS_OPT_SYMTTL is not defined (copied from 8214 getattr). This fixes the problem introduced by the Linux nfsv3 8215 patches. 8216 82172000-05-12 Ion Badulescu <ionut@moisil.cs.columbia.edu> 8218 8219 * Makefile.am (EXTRA_DIST_CONF): added conf/autofs/autofs_linux.h 8220 82212000-05-10 Ion Badulescu <ib42@earth.cs.columbia.edu> 8222 8223 * amd/ops_autofs.c (autofs_handle_fdset): call 8224 autofs_lookup_failed instead of autofs_mount_failed, if the name 8225 is not in the map 8226 (autofs_umount_{succeeded,failed}): pass the actual mount point, 8227 not its parent, as it's needed for clean-up; 8228 8229 * amd/autil.c (am_unmounted): notify autofs that the umount 8230 succeeded 8231 8232 * amd/amfs_link.c (amfs_link_[u]mount): autofs link notification 8233 moved elsewhere 8234 82352000-05-09 Ion Badulescu <ionut@moisil.cs.columbia.edu> 8236 8237 * amd/amfs_auto.c (amfs_auto_bgmount): initialize opt_mount_type 8238 if necessary; 8239 (amfs_auto_mounted): test if opt_mount_type is NULL first 8240 (amfs_auto_mount): revert earlier change 8241 8242 * amd/ops_autofs.c (autofs_mount_failed): remove autofs directory 8243 if mount failed 8244 82452000-05-09 Ion Badulescu <ionut@moisil.cs.columbia.edu> 8246 8247 * amd/ops_autofs.c (autofs_link_mount): use am_link as target 8248 8249 * amd/map.c (unmount_mp): release file handle for autofs f/s about 8250 to be unmounted; this leak was preventing the unmount altogether 8251 8252 * amd/amfs_auto.c (amfs_auto_umount): removed autofs-specific 8253 code, was broken 8254 (amfs_auto_bgmount): nfs mounts + sublinks is a valid combination, 8255 handle it 8256 82572000-05-07 Ion Badulescu <ib42@moisil.cs.columbia.edu> 8258 8259 * Merged changes from stable branch 8260 82612000-04-30 Erez Zadok <ezk@beetle.mcl.cs.columbia.edu> 8262 8263 * include/am_defs.h, aux/macros/mount_headers.m4, 8264 aux/macros/try_compile_anyfs.m4: include linux/kdev_t.h and 8265 linux/list.h before including linux/fs.h, and define __KERNEL__ 8266 for those two headers. All of this to get a couple of definitions 8267 that are needed in the new struct vfsmount. 8268 8269 * aux/configure.in: look for <linux/kdev_t.h> and <linux/list.h>. 8270 8271 * include/am_defs.h, aux/macros/mount_headers.m4: avoid conflicts 8272 between linux/in.h. and netinet/in.h (linux-2.3.99-pre6), by 8273 defining _LINUX_IN_H so it doesn't get included. 8274 82752000-04-03 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8276 8277 * minor new ports: i686-pc-linux-gnu-rh6.2, 8278 i386-unknown-freebsdelf3.4, i586-pc-linux-gnu-rh6.2. 8279 82802000-04-03 Erez Zadok <ezk@vir.cs.columbia.edu> 8281 8282 * aux/acconfig.h: move all #undef macros above @TOP@, so they can 8283 be recognized by pickier autoconf. 8284 82852000-04-03 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8286 8287 * aux/macros/cache_check_dynamic.m4 (ac_tmp): use correct echo -n 8288 or \c. 8289 82902000-03-25 Erez Zadok <ezk@beetle.mcl.cs.columbia.edu> 8291 8292 * include/am_defs.h: ditto 8293 8294 * aux/macros/{mount_headers,try_compile_anyfs}.m4: force 8295 non-inclusion of <linux/string.h>. Breaks build on newer 2.3 8296 kernels. 8297 82982000-02-26 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8299 8300 * doc/am-utils.texi (Amq -w option): document new amq -w option. 8301 8302 * amq/amq.8: document new amq -w option. 8303 8304 * amq/amq.c: disable last remains of insecure amq -M code. 8305 (main): add amq -H option to show usage. 8306 (main): new amq -w option, translates getpwd() into an amd path. 8307 83082000-02-25 Ion Badulescu <ionut@moisil.cs.columbia.edu> 8309 8310 * libamu/util.c (get_server_pid): new function 8311 8312 * hlfsd/hlfsd.c (main): make use of HIDE_MOUNT_TYPE 8313 8314 * conf/transp/transp_sockets.c: removed create_autofs_service 8315 8316 * conf/mount/mount_linux.c: added autofs mount options; split 8317 mount_linux into two functions, itself and do_mount_linux 8318 8319 * aux/macros/check_hide_mount_type.m4: better failover 8320 8321 * aux/configure.in: changed version to 6.1a1; added 8322 AC_CHECK_AUTOFS_STYLE 8323 8324 * aux/aux_conf.h.in: added @am_utils_autofs_style@ 8325 8326 * amd/opts.c: added "mount_type" option 8327 8328 * amd/ops_autofs.c: ifdef-ed out solaris code; moved all autofs 8329 variables in here; split create_autofs_service into sun and linux 8330 specific functions 8331 8332 * amd/nfs_start.c: removed autofs-specific variables 8333 8334 * amd/map.c (get_root_nfs_fh): renamed root_fh to get_root_nfs_fh 8335 (get_root_ap): renamed root_ap to get_root_ap 8336 8337 * amd/amfs_toplvl.c (amfs_toplvl_ops): replaced 8338 amfs_toplvl_mounted with amfs_auto_mounted 8339 (mount_amfs_toplvl): moved code around, added autofs handling 8340 (amfs_toplvl_mounted): removed 8341 8342 * amd/amfs_nfsl.c (amfs_nfsl_ops): removed amfs_auto_fu?mount, 8343 replaced with amfs_nfsl_u?mount 8344 8345 * amd/amfs_linkx.c (amfs_linkx_ops): removed amfs_auto_fumount, 8346 replaced with amfs_link_umount 8347 8348 * amd/amfs_link.c (amfs_link_ops): removed amfs_auto_fu?mount, 8349 replaced with amfs_link_u?mount 8350 8351 * amd/amfs_direct.c (amfs_direct_ops): changed "mounted" function 8352 from amfs_toplvl_mounted to amfs_auto_mounted 8353 8354 * all: added autofs hooks throughout the code 8355 8356 * amd/am_ops.c (vops): autofs_ops doesn't belong in here, removed 8357 8358 * README.autofs: linux status update 8359 83602000-02-24 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8361 8362 * minor new port: alphaev6-dec-osf5.0 8363 8364 * doc/am-utils.texi (Supported Platforms): hpux-11 supports NFSv3, 8365 but only for UDP. 8366 8367 * released snapshot am-utils-6.0.4s3 8368 8369 * conf/nfs_prot/nfs_prot_hpux11.h: support NFSv3 in hpux-11. Note 8370 that hpux-11 NFSv3 supports UDP only, and trying TCP locks up the 8371 kernel! Must set nfs_proto=udp in amd.conf [global]. 8372 8373 * aux/config.guess.long: set and export PATH separately. DU5 8374 /bin/sh doesn't like setting it on the command line in a 8375 back-tick'ed `script`. 8376 83772000-02-24 Ion Badulescu <ionut@moisil.cs.columbia.edu> 8378 8379 * Makefile.am: removed struct_nfs_mount_data.m4 8380 8381 * aux/macros/struct_nfs_mount_data.m4: deleted 8382 8383 * aux/acconfig.h: removed definition for HAVE_NFS_MOUNT_DATA 8384 8385 * aux/configure.in: removed check for struct nfs_mount_data 8386 83872000-02-24 Ion Badulescu <ib42@beetle.mcl.cs.columbia.edu> 8388 8389 * amd/amfs_auto.c (amfs_auto_bgmount): changed log message to 8390 avoid having 'failed' in a message not indicating a failure 8391 (amfs_auto_lookuppn): ditto 8392 8393 * amd/ops_autofs.c (autofs_bgmount): ditto 8394 (autofs_lookuppn): ditto 8395 83962000-02-24 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8397 8398 * added .cvsignore files into the CVS repository. 8399 8400 * remove files which can be regenerated: .in, configure, some 8401 files in aux/, and more. 8402 84032000-02-20 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8404 8405 * doc/am-utils.texi (nfs_vers/nfs_proto): description of two 8406 parameters was reversed. Reported by Paul Jenner 8407 <p.jenner@eim.surrey.ac.uk>. 8408 84092000-02-16 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8410 8411 * released snapshot am-utils-6.0.4s2 8412 8413 * amd/mntfs.c (realloc_mntfs): don't fallback on certain ops such 8414 as inherit, error, and toplvl (failover code). 8415 8416 * amd/conf.c (gopt_nfs_vers, gopt_nfs_proto): two new (documented) 8417 global options in amd.conf: one to set the NFS version globally 8418 (i.e., nfs_vers=2), and one to set the NFS protocol globally 8419 (i.e., nfs_proto=udp). 8420 8421 * amd/mntfs.c (realloc_mntfs): attempt to fix the failover code, 8422 so when a matching mount entry failed, try the next one. 8423 84242000-02-15 Erez Zadok <ezk@moisil.cs.columbia.edu> 8425 8426 * amd/amfs_auto.c: a new debug option "readdir" to trace the 8427 progress of the browsable_dirs code. 8428 8429 * conf/mount/mount_linux.c (mount_linux): ensure that the new 8430 linux NFSv3 code works for v2-only machines. 8431 84322000-02-14 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8433 8434 * aux/configure.in: cleanup unused dnl entries. 8435 8436 * conf/mount/mount_linux.c (parse_opts): typo: check for string 8437 equality, not string inequality for pcfs and cdfs. 8438 8439 * aux/acconfig.h: look for MNT2_NFS_OPT_INTR as well. 8440 8441 * libamu/mount_fs.c (compute_mount_flags): check for INTR and 8442 NOINTR options as well (intr was never passed to linux mount 8443 syscall). 8444 84452000-02-10 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8446 8447 * released snapshot am-utils-6.0.4s1 8448 8449 * aux/GNUmakefile: buildall -k (for maintainers) temporarily now 8450 ignores autoconf warnings: "The macro `AC_OUTPUT_COMMANDS' is 8451 obsolete". It is harmless but annoying, and will be fixed when 8452 autoconf and automake in their respective CVS trees are working 8453 and in sync again. 8454 8455 * scripts/amd.conf.5: document -D hrtime,xdrtrace 8456 8457 * all man pages: update copyright to 2000. 8458 8459 * doc/am-utils.texi: update copyright to 2000. 8460 8461Wed Feb 9 14:22:31 2000 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 8462 8463 * include/am_utils.h (D_XDRTRACE): Define. 8464 (D_TEST): Disable here. 8465 8466 * libamu/xutil.c (dbg_opt): Handle it. 8467 8468 * doc/am-utils.texi (-D-Option): Document it. 8469 8470 * libamu/xdr_func.c: Use it instead of D_TRACE. 8471 8472 * include/am_utils.h (D_HRTIME): Define. 8473 8474 * doc/am-utils.texi (-D-Option): Document it. 8475 8476 * libamu/xutil.c (show_time_host_and_name): Print high-resolution 8477 timestamp if available and activated. 8478 8479 * aux/configure.in (clock_gettime): Check for it in -lrt and 8480 -lposix4. 8481 8482 * hlfsd/hlfsd.c (mnttab_file_name): Initialize to MNTTAB_FILE_NAME 8483 if defined, even for some systems with in kernel mount tables. 8484 84852000-02-08 Ion Badulescu <ionut@moisil.cs.columbia.edu> 8486 8487 * aux/macros/mount_headers.m4: remove #if 0 around linux/nfs.h to 8488 allow compiles against libc5 8489 8490 * aux/macros/check_mnttab_type.m4: avoid detecting nfs3 under 8491 linux when the kernel doesn't support it 8492 8493 * include/am_compat.h: add workaround for linux efs 8494 84952000-02-08 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8496 8497 * aux/configure.in: test for ANSI C compiler (before AC_C_CONST). 8498 Comment out unused AC_STRUCT_ST_RDEV (which is obsolete anyway). 8499 85002000-02-07 Ion Badulescu <ionut@moisil.cs.columbia.edu> 8501 8502 * libamu/mount_fs.c (compute_nfs_args): turn on VER3 option for 8503 nfs (linux NFSv3). 8504 8505 * include/am_defs.h: avoid reinclusion of some header files under 8506 linux. 8507 8508 * conf/nfs_prot/nfs_prot_linux.h: support NFSv3. 8509 8510 * conf/mount/mount_linux.c (mount_linux): support nfs mount 8511 (implementation) version 4 for NFSv3. 8512 8513 * aux/macros/try_compile_nfs.m4: use AC_MOUNT_HEADERS. 8514 8515 * aux/macros/mount_headers.m4: don't include <linux/fs.h> (may 8516 need to fix the code on other linux machines). 8517 8518 * aux/macros/check_mnttab_type.m4 (ac_safe): ditto. 8519 8520 * aux/macros/check_fs_mntent.m4 (ac_safe): check for nfs3 option 8521 under linux (depends on ac_cv variable, is that a good idea?) 8522 8523 * added NFSv3 support for linux 8524 8525 * aux/{configure.in,acconfig.h}: new option ver3 8526 8527 * aux/macros/mount_headers.m4: commented out inclusion of 8528 linux/fs.h, it's not needed on rh61 (and actually generates 8529 conflicts), we should see if it's still needed on libc5 systems 8530 8531 * aux/macros/try_compile_nfs.m4: use AC_MOUNT_HEADERS rather than 8532 try to have its own (out of date) list of headers and ifdef's and 8533 ... 8534 85352000-02-07 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8536 8537 ******************************************************************* 8538 *** Released am-utils-6.0.3 *** 8539 ******************************************************************* 8540 85412000-02-06 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8542 8543 * conf/mount/mount_default.c: dummy empty file to work around a 8544 limitation of automake (it looks for LIBBOBJS in aclocal.m4 and 8545 processes them even if they are optional, enclosed in if/else). 8546 85472000-01-29 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8548 8549 * released snapshot am-utils-6.0.3s5 8550 85512000-01-25 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8552 8553 * update to use latest version of autoconf, automake, and libtool. 8554 8555 * aux/GNUmakefile (depcomp): "make update" should also update the 8556 depcomp script. 8557 8558 * Makefile.am (EXTRA_DIST_AUX): include depcomp in distribution. 8559 8560 * aux/configure.in: use renamed AC_CHECK_AMU_FS. 8561 8562 * aux/macros/check_amu_fs.m4: renamed macro name and file name to 8563 say AMU_FS, not AM_FS. 8564 8565 * aux/acconfig.h: renamed HAVE_AM_FS_* to HAVE_AMU_FS_* because 8566 latest version of autoconf doesn't handle it (bug in 2.14a) 8567 8568 * aux/configure.in: require version 2.14 of autoconf. 8569 8570 * amd/mapc.c (mapc_reload_map): more fixes from Nick Williams. 8571 8572 * doc/am-utils.texi (Automount Filesystem): document type:=auto 8573 map browsability option. 8574 8575 * amd/mapc.c (make_entry_chain): patch from Steven Danz 8576 <sdanz@awc.kc.noaa.gov> to allow browsable auto maps. 8577 85782000-01-24 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8579 8580 * released snapshot am-utils-6.0.3s4 8581 8582 * amd/mapc.c (mapc_reload_map): fixes to sync maps even if they 8583 are set to mapcache:=sync. Fix from Nick Williams 8584 <Nick.Williams@msdw.com>. 8585 85862000-01-20 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8587 8588 * released snapshot am-utils-6.0.3s3 8589 8590 * minor port to i386-unknown-netbsd1.4.1 8591 8592 * amd/nfs_subr.c (nfsproc_getattr_2_svc): patch from Nick Williams 8593 <Nick.Williams@msdw.com> to fix (or reduce the incidence of) stale 8594 file handles when doing rapid mounts and umounts in succession 8595 such as "ls /vol/foo ; amq -u /vol/foo ; ls /vol/foo" 8596 85972000-01-18 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8598 8599 * minor port to i386-pc-bsdi4.1. 8600 86012000-01-13 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8602 8603 * libamu/wire.c (getwire_lookup): pass NULL as conf_file (2nd) 8604 argument to irs_gen_acc(), which was changed in bsdi 4.1. 8605 86062000-01-12 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8607 8608 * amd/get_args.c (get_args): don't use MNTTAB_FILE_NAME for 8609 systems with in-kernel mount tables unless this macro is defined 8610 (Solaris 8). 8611 86122000-01-01 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8613 8614 * ALL: bump copyright year to 2000. 8615 86161999-12-16 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8617 8618 * conf/mount/mount_svr4.c (mount_svr4): optionstr exists on 8619 solaris 7, but should not be used unless MAX_MNTOPT_STR also 8620 exists (solaris 8). 8621 8622 * doc/am-utils.texi (opts Option): document new mount option: 8623 optionstr. 8624 8625Fri Dec 10 01:31:53 1999 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 8626 8627 * conf/trap/trap_svr4.h (MOUNT_TRAP): Pass mount option string to 8628 mount_svr4(). 8629 (mount_svr4): Adapt prototype. 8630 * conf/mount/mount_svr4.c (mount_svr4): Pass them to kernel so 8631 they are evaluated and show up in Solaris 8 in-kernel mnttab. 8632 8633 * aux/configure.in: Check for new Solaris 8 MS_OPTIONSTR mount(2) 8634 option. 8635 * aux/acconfig.h (MNT2_GEN_OPT_OPTIONSTR): Provide template. 8636 86371999-12-10 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8638 8639 * released snapshot am-utils-6.0.3s2 8640 86411999-12-09 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8642 8643 * doc/am-utils.texi (opts Option): document noexec and nomnttab 8644 (new to Solaris 8). 8645 8646 * Makefile.am (EXTRA_DIST_CONF): include nfs_prot_sunos5_8.h in 8647 distribution. 8648 8649 * applied fixes from Rainer Orth for Solaris 8. 8650 8651 * libamu/wire.c (getwire): increment the cp pointer in the loop 8652 body, because the ioctl() inside the "for" loop will overwrite the 8653 ifr structure, thus not detecting all of the interfaces. Bug 8654 reported and fixed by Amitha Perera <perera@cs.rpi.edu>. 8655 8656Thu Dec 9 19:09:38 1999 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 8657 8658 * conf/mtab/mtab_svr4.c (unlockmnttab, lockmnttab): No-ops if 8659 MOUNT_TABLE_ON_FILE. 8660 8661 * amd/get_args.c (get_args): Initialize mnttab_file_name even for 8662 in-kernel mount table. conf/mtab/mtab_svr4.c (read_mtab) depends 8663 on a non-NULL value. 8664 8665 * amd/info_ldap.c (get_ldap_timestamp): Don't peek into opaque 8666 LDAP structure to get error code, but use it directly. 8667 (amu_ldap_search): Likewise. 8668 8669 * conf/nfs_prot/nfs_prot_sunos5_7.h: Rip superfluous and wrong 8670 ldap support. 8671 * conf/nfs_prot/nfs_prot_sunos5_8.h: Likewise. 8672 8673 * conf/nfs_prot/nfs_prot_sunos5_8.h: New file, doesn't typedef 8674 nfsstat, already in <nfs/nfs.h>. 8675 * aux/macros/check_nfs_prot_headers.m4: Use it for all Solaris 8676 versions beyond 7. 8677 Allow for micro versions of SunOS 5.[67]. 8678 8679 * aux/configure.in: Check for new Solaris 8 Beta Refresh 8680 MS_NOMNTTAB mount(2) option. 8681 * aux/macros/check_mnttab_location.m4: Use it to test for 8682 mntfs-based in-kernel mnttab. 8683 8684 * aux/macros/os_cflags.m4: Treat Solaris 8 and higher like 2.6/7. 8685 8686 * aux/macros/check_fs_headers.m4: Revert test for duplicate 8687 objects. 8688 * aux/macros/check_fs_mntent.m4: Likewise 8689 8690 * aux/macros/HEADER: Fixed typo. 8691 8692 * include/am_defs.h: Likewise. 8693 86941999-12-01 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8695 8696 * aux/macros/*.m4: prepare for hpux-12 (assume same as hpux-11) 8697 86981999-11-16 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8699 8700 * BUGS: document glibc-2.1 nis file descriptor leak in yp_bind. 8701 8702 * amd/info_ldap.c (string2he): updated function which does not 8703 corrupt strings when called more than once. Patch from 8704 JOHANN.PFEFFERL.JP@germany.agfa.com. 8705 87061999-11-15 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8707 8708 * MIRRORS (Asia): two new mirrors in Japan. 8709 87101999-11-10 Erez Zadok <ezk@kosh.cs.columbia.edu> 8711 8712 * doc/am-utils.texi: document new variables for ${uid} and ${gid}. 8713 8714 * amd/nfs_subr.c (nfsproc_lookup_2_svc): find the uid/gid of the 8715 last lookup from the RPC credentials. 8716 8717 * aux/configure.in: upped version-info to 4:0:2 because I've added 8718 a new interface to libamu. 8719 8720 * libamu/misc_rpc.c (getcreds): moved function from hlfsd to here, 8721 so it can be used by amd. 8722 8723 * amd/opts.c: new variables ${uid} and ${gid}. 8724 87251999-10-15 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8726 8727 * scripts/ctl-amd.in: add "status" command that tells you if amd 8728 is running on not (same output as RedHat scripts). 8729 Added start_msg and stop_msg targets as they are used on HPUX. 8730 reported by Jon Peatfield <J.S.Peatfield@damtp.cam.ac.uk>. 8731 87321999-10-13 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8733 8734 * released snapshot am-utils-6.0.3s1 8735 87361999-10-12 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8737 8738 * amd/amd.c (main): On AIX you must lower the stack size using 8739 ulimit() before calling plock. Otherwise plock will reserve a lot 8740 of memory space based on your maximum stack size limit. Since it 8741 is not easily possible to tell what should the limit be, I print a 8742 warning before calling plock(). See the manual pages for 8743 ulimit(1,3,4) on your AIX system. 8744 8745 * include/am_defs.h: define default extern for vsnprintf() 8746 8747 * aux/configure.in: check for extern definition for vsnprintf() 8748 87491999-10-08 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8750 8751 * amd/amfs_auto.c (amfs_auto_bgmount): patch from Nick Williams 8752 <njw@ms.com>. SYMPTOMS: 'occasionally' sublinks do not point to 8753 the correct location, but to the top level of the mountpoint and 8754 an (error-hook) is seen being mounted in the log file. This causes 8755 things to Go Wrong(TM). 8756 CAUSE: When evaluating two locations which are requested 8757 'practically simultaneously', and the two locations resolve to the 8758 same NFS mountpoint (but different sublinks), the later request 8759 will be "deferred" and retried after wakeup when the first mount 8760 succeeds. To do this, it rewinds the options location string to 8761 re-evaluate the location when the mount is retried. However, it 8762 shouldn't rewind the options for two reasons: (a) the semantics of 8763 the map language say you shouldn't and (b) the NFS mount reference 8764 is not reset at the same time, meaning that on the retry it will 8765 have an options structure out-of-sync with the mount 8766 structure. The "shortcut" code when retrying the mount sees the 8767 mount structure is already filled in and does not fully evaluate 8768 the options structure.... so if the first location is not the one 8769 which ties in with the mountpoint (see ordering in the 8770 recreate-by), you're now well messed up. 8771 8772 * BUGS: mention aix4.3 plock() bug (memory usage blows up and 8773 plock fails) 8774 87751999-10-07 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8776 8777 * aux/GNUmakefile: certain files should be copied if they are 8778 newer, not also if they are bigger: install-sh, ltconfig, 8779 ltmain.sh, mdate-sh, missing, mkinstalldirs, and texinfo.tex. 8780 8781 * minor new port: i586-pc-linux-gnu-rh6.1 (RedHat Linux 6.1) 8782 87831999-10-05 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8784 8785 * aux/macros/check_nfs_prot_headers.m4: prepare for OSF-5. 8786 8787 * aux/macros/check_nfs_fh_dref.m4: prepare for Tru64, aka OSF-5. 8788 87891999-09-30 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8790 8791 ******************************************************************* 8792 *** Released am-utils-6.0.2 *** 8793 ******************************************************************* 8794 87951999-09-27 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8796 8797 * conf/mount/mount_linux.c (mount_linux): print the updated mount 8798 flags. 8799 8800 * doc/am-utils.texi: document $full_os and $vendor. 8801 8802 * scripts/amd.conf-sample: examples of $full_os and $vendor. 8803 8804 * scripts/amd.conf.5: document $full_os and $vendor. 8805 8806 * amd/conf.c: add support for $full_os and $vendor. 8807 88081999-09-26 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8809 8810 * doc/am-utils.texi (netgrp Selector Function): don't give 8811 examples with old single '=' assignment variable. Use foo:=bar. 8812 8813 * amd/amfs_auto.c (amfs_auto_bgmount): corectly indent long 8814 comment describing this complex function. 8815 8816 * doc/Makefile.am (alldocs): do install-ps last (because distiller 8817 is slow) and install-html next to last (because texi2html is also 8818 slow). 8819 8820 * amd/amd.8: Major fixes to the description of the option -t 8821 timeout.retransmit. 8822 8823 * doc/am-utils.texi: better description of "trace" debug option. 8824 amd -H (not -v) shows log_options and debug_options. Major fixes 8825 to the description of amd -t timeout.retransmit, and the amd.conf 8826 parameters nfs_retransmit_counter and nfs_retry_interval. 8827 8828 * scripts/amd.conf.5: better description of "trace" debug option. 8829 amd -H (not -v) shows log_options and debug_options. Major fixes 8830 to the description of the parameters nfs_retransmit_counter and 8831 nfs_retry_interval. 8832 88331999-09-25 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8834 8835 * doc/am-utils.texi (Automount Filesystem): cache:= is not a mount 8836 option, but a mount map option. 8837 8838 * libamu/xutil.c (switch_to_logfile): log the name of the log file 8839 we switched into, after the log file had been [re]opened. 8840 88411999-09-24 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8842 8843 * amd/mapc.c (mapc_reload_map): count and show the number of times 8844 a map was reloaded. Only reload a map if its modify-time was 8845 updated. But amq -f forced a reload no matter what. 8846 8847 * amd/amd.h: new flag to struct mnt_map to count number of times a 8848 map was reloaded. 8849 8850 * amd/mapc.c (mapc_reload_map): attempt to reload the map without 8851 losing current data by reloading into a temp copy, and switching 8852 the hashes round only if the reload was successful. Patch from Jon 8853 Peatfield <J.S.Peatfield@damtp.cam.ac.uk>. 8854 (mapc_sync): mapc_reload_map() always succeeds. 8855 88561999-09-22 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8857 8858 * amd/info_ldap.c (amu_ldap_rebind): don't busy-loop trying to 8859 rebind to an LDAP server forever. Try up to 10 times. 8860 8861 * fsinfo/fsi_lex.l (yyerror): rework code that will never happen 8862 8863 * released snapshot am-utils-6.0.2s2 8864 8865 * aux/configure.in: bumped library version-info to 3:2:1, since 8866 some libamu code got changed. 8867 8868 * libamu/xutil.c (real_plog): use vsnprintf, not vsprintf, which 8869 is better and more secure. Fix from "David O'Brien" 8870 <obrien@NUXI.com>. 8871 8872 * aux/configure.in: check for vsnprintf. 8873 88741999-09-21 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8875 8876 * aux/macros/linux_headers.m4: use AC_MSG_ERROR. 8877 8878 * aux/macros/opt_{cppflags,ldflags,libs,amu_cflags}.m4: the ARG is 8879 not optional. Make sure ARG is supplied else flag an error. 8880 88811999-09-18 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8882 8883 * minor port i386-unknown-freebsdelf3.3 8884 8885 * released snapshot am-utils-6.0.2s1 8886 88871999-09-17 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8888 8889 * aux/configure.in (AC_CHECK_FUNCS): check for getitimer(). 8890 8891 * include/am_defs.h: extern definition for getitimer(). 8892 8893 * aux/configure.in: use AC_CHECK_EXTERNS. Look for getitimer() 8894 extern. 8895 8896 * aux/macros/check_extern.m4: define a simple AC_CHECK_EXTERNS 8897 that calls AC_CHECK_EXTERN in a loop. This saves repeated code in 8898 configure. 8899 8900 * aux/macros/type_auth_create_gidlist.m4: AIX 4.x systems use 8901 'int' as the 5th arg to authunix_create(). 8902 8903 * aux/macros/type_recvfrom_fromlen.m4: all AIX 4.x systems use a 8904 size_t for the 6th arg of recvfrom(). 8905 8906 * aux/macros/os_cflags.m4: define _XOPEN_EXTENDED_SOURCE for 8907 aix4.x systems. 8908 8909 * libamu/mount_fs.c (print_nfs_args): cast some values to int, to 8910 avoid gcc -Wall errors. 8911 8912 * scripts/expn.in: use sockaddr_in(), not pack() to correctly fill 8913 in a struct sockaddr_in. On Solaris x86 hosts, using pack() 8914 results in byte-misaligned values. Bug fix from Jeffrey C Honig 8915 <jch@BSDI.COM>. 8916 8917 * libamu/mount_fs.c (compute_automounter_mount_flags): turn on 8918 automntfs (ignore on bsdi-4.1) flag. 8919 (compute_automounter_nfs_args): ditto. 8920 8921 * aux/acconfig.h: add new flag for automntfs (ignore) 8922 8923 * aux/configure.in: check for new automntfs flag (bsdi-4.1). 8924 89251999-09-14 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8926 8927 * MIRRORS: added new site in Germany. Updated status of umn.edu 8928 and ferginc.com, who may no longer be mirroring am-utils. 8929 89301999-09-08 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8931 8932 ******************************************************************* 8933 *** Released am-utils-6.0.1 *** 8934 ******************************************************************* 8935 89361999-09-08 Erez Zadok <ezk@cs.columbia.edu> 8937 8938 * aux/macros/mount_headers.m4: bsdi-2.1 needs MAXQUOTAS and struct 8939 netexport defined. 8940 8941 * aux/macros/try_compile_anyfs.m4: bsdi-2.1 needs MAXQUOTAS and 8942 struct netexport defined. 8943 89441999-09-07 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8945 8946 * aux/macros/check_field.m4 (ac_upcase_var_name): include 8947 <ifaddrs.h> so we can detect fields within struct ifaddrs. 8948 8949 * libamu/wire.c (getwire): bsdi-2.1 uses a second arg to 8950 getifaddrs() and struct ifaddrs has no ifa_next field. 8951 8952 * aux/configure.in: check if 'struct ifaddrs' has a field 8953 ifa_next. 8954 8955 * include/amq_defs.h (AMQ_STRLEN): double size of amq string 8956 length to 2048 bytes. 8957 8958 * conf/nfs_prot/nfs_prot_netbsd1_4.h: include several more nfs 8959 header files and ufs/ufs/ufsmount.h. Bug reported by <Christos 8960 Zoulas> christos@zoulas.com. 8961 8962 * aux/macros/try_compile_anyfs.m4: include <ufs/ufs/ufsmount.h>. 8963 Bug reported by <Christos Zoulas> christos@zoulas.com. 8964 8965 * aux/macros/mount_headers.m4: include <ufs/ufs/ufsmount.h> 8966 89671999-09-06 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8968 8969 * libamu/xutil.c (expand_error): use strerror if available instead 8970 of sys_errlist. Bug reported by <Christos Zoulas> 8971 christos@zoulas.com. 8972 8973 * hlfsd/hlfsd.c (fatal): use strerror if available instead of 8974 sys_errlist. 8975 8976 * amq/amq.c (show_mi): use strerror if available instead of 8977 sys_errlist. 8978 8979 * aux/macros/check_nfs_prot_headers.m4: make sure netbsd1.4 8980 nfs_prot header is used for any future (1.5 etc.) netbsd systems. 8981 8982 * amq/pawd.c (find_mt): check for type nfsl as well. Fix from 8983 "Andrew J. Korty" <ajk@purdue.edu> 8984 89851999-08-29 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8986 8987 * doc/am-utils.texi (Supported Platforms): updates for redhat 8988 systems. 8989 8990 * INSTALL: updates for redhat systems. 8991 8992 * libamu/wire.c (getwire_lookup): spell "succeeded" correctly 8993 89941999-08-28 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 8995 8996 * scripts/ctl-amd.in: sleep 1 second between killing amd and 8997 restarting it, because amq may respond that amd is down, where in 8998 fact it is still trying to unmount itself after unmapping itself 8999 from the portmapper. 9000 9001 * aux/config.guess.long: new script to print long version of 9002 config.guess output. 9003 9004 * buildall (host_alias): use long version of config.guess. 9005 90061999-08-27 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9007 9008 * scripts/ctl-{amd,hlfsd}.in: update RH tags for start/stop 9009 scripts. 9010 90111999-08-24 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9012 9013 * released snapshot am-utils-6.0.1s11 9014 9015 * libamu/xutil.c (expand_error): make sure expanding the string 9016 with textual version of errno doesn't overrun the 1024 bytes 9017 buffer. 9018 (real_plog): null terminate msg, just in case. 9019 9020 * amq/amq.c (main): don't getopt -M option and don't process it 9021 unless ENABLE_AMQ_MOUNT is on. 9022 9023 * amd/amq_svc.c (amq_program_1): all code that relates to amq -M 9024 is conditional on #ifdef ENABLE_AMQ_MOUNT. 9025 9026 * amd/amq_subr.c: remove amqproc_mount_1_svc() function invoked 9027 when amq -M code is disabled. Not taking any chances. 9028 90291999-08-23 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9030 9031 * released snapshot am-utils-6.0.1s10 9032 9033Sun Aug 22 16:18:59 1999 Erez Zadok <ezk@subzero.cs.columbia.edu> 9034 9035 * libamu/wire.c (getwire_lookup): if getnetbyaddr failed (e.g., on 9036 128.59.16.0), try to shift the network out of zeros (e.g., 9037 128.59.16) and try again. Irix 6.4 requires short network 9038 numbers. 9039 90401999-08-22 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9041 9042 * libamu/wire.c (getwire_lookup): correctly compute subnet using 9043 netmask. 9044 9045 * libamu/mount_fs.c (compute_automounter_nfs_args): require that 9046 Amd's own NFS mounts use reserved ports (if possible). IP packet 9047 security fix from Jeffrey C Honig <jch@BSDI.COM>. 9048 9049 * conf/transp/transp_tli.c (create_autofs_service): use correct 9050 autofs_port. IP packet security fix from Jeffrey C Honig 9051 <jch@BSDI.COM>. 9052 9053 * conf/transp/transp_sockets.c (bindnfs_port): remove unnecessary 9054 function. IP packet security fix from Jeffrey C Honig 9055 <jch@BSDI.COM>. 9056 (create_nfs_service): use bind_resv_port() directly. ensure that 9057 privileged ports are used. IP packet security fix from Jeffrey C 9058 Honig <jch@BSDI.COM>. 9059 9060 * amd/nfs_prot_svc.c (nfs_program_2): verify that requests come 9061 from reserved ports and from a local IP address. IP packet 9062 security fix from Jeffrey C Honig <jch@BSDI.COM>. 9063 9064 * amd/amq_subr.c (ok_security): use IPPORT_RESERVED, instead of 9065 hard-coded 1024. IP packet security fix from Jeffrey C Honig 9066 <jch@BSDI.COM>. 9067 (amqproc_mount_1_svc): provide information on the caller making an 9068 amq -M request. IP packet security fix from Jeffrey C Honig 9069 <jch@BSDI.COM>. 9070 9071 * amd/map.c (free_map_if_success): If the program doing an unmount 9072 of a program filesystem fails, amd tries to interpret the return 9073 code as an errno. Fix from Jeffrey C Honig <jch@BSDI.COM>. 9074 9075 * amd/info_nis.c (determine_nis_domain): don't always print 9076 warning about NIS domain name not being set, even if NIS is not in 9077 use. 9078 90791999-08-21 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9080 9081 * amd/info_ldap.c (get_ldap_timestamp): initialize variable err. 9082 (amu_ldap_search): initialize variable err. 9083 90841999-08-16 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9085 9086 * libamu/wire.c: written using getifaddrs() for BSD systems, 9087 contributed by BSDI, Jeffrey C Honig <jch@BSDI.COM>). 9088 90891999-08-15 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9090 9091 * include/am_utils.h (SALLOC): a simple macro to allocate N bytes. 9092 9093 * aux/configure.in: check for irs.h and ifaddrs.h. 9094 Increase libamu.so --version-info to 3:1:1 since we've changed the 9095 source code for the library. 9096 Check for getifaddrs() function. 9097 90981999-08-14 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9099 9100 * libamu/mount_fs.c (print_nfs_args): print fields namlen and 9101 bsize if they exist. 9102 9103 * conf/mount/mount_linux.c (mount_linux): set nfs_args_t->namlen 9104 and ->bsize fields correctly, if those fields exist. This is a 9105 bug in that amd neglected to set these fields, but told the 9106 kernel it is mounting the nfs_args_t structure using mount version 9107 3 (which requires both bsize and namlen fields). 9108 9109 * aux/configure.in: test for two new nfs_args_t fields (used on 9110 newer linux with mount versions 2 and 3): bsize and namlen. 9111 9112 * doc/am-utils.texi (netgrpd Selector Function): document new 9113 selector function. 9114 9115 * amd/opts.c (f_netgrpd): new amd map function netgrpd(ARG) to 9116 test if the current host (fully-qualified name) is in the ARG host 9117 netgroup. The netgrp() function uses the short form of a host 9118 name. Patch from Christophe Kalt <Christophe-Kalt@deshaw.com>. 9119 9120 * doc/am-utils.texi (automount2amd): document new script. 9121 9122 * scripts/Makefile.am: create, install, and distribute 9123 automount2amd perl script and its man page. 9124 9125 * scripts/automount2amd.8: new man page for automount2amd. 9126 9127 * scripts/automount2amd.in: new file, contributed a in 1993 by 9128 Mike Walker <mike@tab00.larc.nasa.gov>. Fixed to use addopts for 9129 any automount map options specified. 9130 91311999-08-09 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9132 9133 * released snapshot am-utils-6.0.1s9 9134 91351999-08-09 Erez Zadok <ezk@beetle.mcl.cs.columbia.edu> 9136 9137 * amd/amfs_auto.c (DOT_DOT_COOKIE): set the NFS cookie of '..' to 9138 1. 9139 (amfs_auto_readdir): use DOT_DOT_COOKIE instead of (u_int)~0. 9140 (amfs_auto_readdir_browsable): use DOT_DOT_COOKIE instead of 9141 (u_int)~0. 9142 9143 * amd/mapc.c (make_entry_chain): NFS cookies should be 9144 monotonically increasing, because Linux 2.3 expects that, even 9145 though it is not in the spec (RFC-1094) for NFS V2. 9146 91471999-08-06 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9148 9149 * aux/macros/check_lib_funcs.m4: removed unused macro. 9150 9151 * aux/macros/linux_headers.m4: new macro to ensure that linux 9152 kernel headers match running kernel version. 9153 9154 * aux/acconfig.h: define HOST_HEADER_VERSION so we can check if 9155 amd is configured on linux hosts that run one kernel but have 9156 headers for a different version. 9157 9158 * amd/info_nis.c (nis_isup, nis_search, nis_init): fixes for the 9159 logic which uses nis_isup and has_yp_order. Make sure it is used 9160 correctly , esp. for NIS+ in NIS-compatibility mode. Bug fix from 9161 Peter Breitenlohner <peb@mppmu.mpg.de>. 9162 9163 * include/am_defs.h: fix conflicts on linux 2.2 systems with older 9164 libc5. Bug fix from Peter Breitenlohner <peb@mppmu.mpg.de>. 9165 9166 * scripts/lostaltmail.in: use sockaddr_in(), not pack() to 9167 correctly fill in a struct sockaddr_in. On Solaris x86 hosts, 9168 using pack() results in byte-misaligned values. 9169 91701999-08-02 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9171 9172 * conf/mtab/mtab_aix.c (mnt_dup): add support for nfs3 9173 mounting, as per Dale Talcott <aeh@quest.cc.purdue.edu>. Also use 9174 better macros for case statement. 9175 9176 * conf/nfs_prot/nfs_prot_sunos5_7.h: don't include ldap structures 9177 unless ldap is actually available. 9178 9179 * use updated config.guess and config.sub. Use newer automake 9180 that fixes problems with distributing optional libamu files 9181 (clnt_sperrno.c, hasmntopt.c, strcasecmp.c, strdup.c, strstr.c, 9182 and ualarm.c) 9183 91841999-07-19 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9185 9186 * minor port i386-unknown-openbsd2.5 9187 91881999-07-17 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9189 9190 * minor ports to freebsdelf 3.[0-2] and 4.0 completed 9191 9192 * aux/macros/check_nfs_prot_headers.m4: support freebsdelf 9193 9194 * aux/macros/check_nfs_socket_connection.m4: support freebsdelf 9195 91961999-06-24 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9197 9198 * released snapshot am-utils-6.0.1s8 9199 92001999-06-23 Erez Zadok <ezk@beetle.mcl.cs.columbia.edu> 9201 9202 * include/am_defs.h: avoid various header conflicts on 9203 RedHat/Linux 6.0 and kernels 2.2.10 or newer. 9204 9205 * aux/configure.in: look for <db1/ndbm.h> (RedHat/Linux 6.0 and 9206 kernel 2.2.10) 9207 9208 * amd/amfs_program.c (amfs_program_exec): make sure logfp is 9209 initialized dynamically to stderr if needed. 9210 9211 * libamu/xutil.c (dplog): make sure logfp is initialized 9212 dynamically to stderr if needed. 9213 (plog): ditto. 9214 9215 * amd/amfs_program.c (amfs_program_exec): set logfp to stderr if 9216 not initialized. 9217 9218 * libamu/xutil.c: don't initialize logfp statically to stderr, 9219 because on RedHat/Linux 6.0 (kernel 2.2.10) stderr can no longer 9220 be manipulated like a variable. 9221 9222 * include/am_defs.h: avoid more conflicts between <linux/fs.h> and 9223 <sys/mount.h> on 2.2 linux kernels. 9224 include <db1/ndbm.h> as needed (RedHat/Linux 6.0) 9225 92261999-04-20 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9227 9228 * all Makefile.am: use AMU_NFS_PROT_HEADER (not *_HEADERS) 9229 9230 * aux/macros/check_nfs_prot_headers.m4 (AMU_NFS_PROT_HEADER): 9231 renamed AC_SUBST name from *_HEADERS to *_HEADER so that automake 9232 won't attempt to add it to the header files to distribute. 9233 92341999-04-19 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9235 9236 * aux/GNUmakefile: invoke aclocal with new --altdir flag. 9237 92381999-04-16 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9239 9240 * minor new port: i386-unknown-netbsd1.4 (ALPHA) 9241 9242 * aux/macros/check_field.m4: no need to include <cdfs/cdfsmount.h> 9243 and <isofs/cd9660/cd9660_mount.h> because they are also included 9244 from MOUNT_HEADERS. Causes multiple inclusion of unprotected 9245 headers on netbsd-1.4_ALPHA. 9246 92471999-04-15 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9248 9249 * aux/macros/extern_sys_errlist.m4 (pattern): netbsd-1.4_ALPHA's 9250 sys_errlist extern doesn't end with []. 9251 9252 * aux/macros/check_nfs_prot_headers.m4: netbsd 1.4 support. 9253 92541999-04-11 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9255 9256 * newer automake wants texinfo.tex to be in aux/ not doc/ 9257 92581999-03-30 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9259 9260 * amd/conf_parse.y: alloca support. 9261 9262 * fsinfo/fsi_gram.y: alloca support. 9263 9264 * libamu/Makefile.am (libamu_la_LIBADD): compile alloca.o if 9265 needed. 9266 9267 * aux/configure.in: test for alloca support. Needed because bison 9268 generates parsers that use alloca, and hpux9 does have alloca and 9269 its /bin/cc doesn't support it builtin (the way gcc does). 9270 9271 * libamu/alloca.c: new file, needed on hpux9 with /bin/cc. Taken 9272 verbatim from bison-1.25. 9273 9274 * include/am_defs.h: fixed typo #errir -> #error 9275 9276 * released snapshot am-utils-6.0.1s7 9277 9278 * README.y2k: more information about am-utils' compatibility, from 9279 Paul Balyoz <pbalyoz@sedona.ch.intel.com>. 9280 9281 * scripts/lostaltmail.in (Splice_in_resent_headers): ensure Y2K 9282 compliant format. Patch from Paul Balyoz 9283 <pbalyoz@sedona.ch.intel.com> 9284 9285 * doc/am-utils.texi (Supported Platforms): hpux10.20 could have 9286 nfs v.3 support (with some vendor patches), but it is turned off. 9287 9288 * aux/macros/os_cflags.m4: use ansi compiler options on hpux. 9289 9290 * conf/nfs_prot/nfs_prot_hpux.h: Turn off NFS V.3 support to avoid 9291 confusing am-utils. 10.20 with some patches has incomplete 9292 support. Patch from Jon Peatfield 9293 <J.S.Peatfield@damtp.cam.ac.uk>. 9294 92951999-03-24 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9296 9297 * minor port i386-pc-bsdi4.0.1 9298 92991999-03-20 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9300 9301 * doc/am-utils.texi (Supported Platforms): add forgotten listing 9302 for powerpc-linux. 9303 93041999-03-18 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9305 9306 * scripts/amd.conf.5: fix typo. From Jeffrey C Honig 9307 <jch@BSDI.COM>. 9308 9309 * doc/am-utils.texi: document iso9660 options norrip, gens, and 9310 extatt. 9311 (opts Option): documented dumbtimr and noauto options. From 9312 Jeffrey C Honig <jch@BSDI.COM>. 9313 9314 * include/am_compat.h: define default strings for options norrip, 9315 gens, and extatt. 9316 9317 * amd/ops_cdfs.c (mount_cdfs): support options norrip, gens, and 9318 extatt. 9319 9320 * aux/macros/mount_headers.m4: also include 9321 <isofs/cd9660/cd9660_mount.h> as needed. 9322 9323 * aux/configure.in: check for isofs mount options for bsdi4: 9324 norrip, gens, and extatt. Reported by Jeffrey C Honig 9325 <jch@BSDI.COM>. 9326 9327 * aux/macros/check_mnt2_cdfs_opt.m4: check for ISOFSMNT_* flags 9328 (bsdi4). 9329 93301999-03-17 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9331 9332 * conf/nfs_prot/nfs_prot_freebsd3.h: ditto. 9333 9334 * conf/nfs_prot/nfs_prot_bsdi3.h: include <ufs/ufs/ufsmount.h>, 9335 for bsdi4, as per Jeffrey C Honig <jch@BSDI.COM>. 9336 93371999-03-15 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9338 9339 * get latest copies of config.guess, config.sub, ltconfig, and 9340 ltmain.sh from libtool-1.2f. 9341 9342 * all Makefile.am: don't use continuation lines (using \) for 9343 short lists of files. 9344 9345 * libamu/Makefile.am (DISTCLEANFILES): make distclean should 9346 remove mountutil.c, mtabutil.c, transputil.c, and umount_fs.c. 9347 Reported by Jeffrey C Honig <jch@BSDI.COM>. 9348 9349 * fixmount/Makefile.am (DISTCLEANFILES): make distclean should 9350 remove checkmount.c. Reported by Jeffrey C Honig <jch@BSDI.COM>. 9351 9352 * Makefile.am (DISTCLEANFILES): make distclean should remove 9353 amu_nfs_prot.h, config.cache.old, and dbgcf.h. Reported by 9354 Jeffrey C Honig <jch@BSDI.COM>. 9355 93561999-03-13 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9357 9358 * released snapshot am-utils-6.0.1s6 9359 93601999-03-12 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9361 9362 * INSTALL: document freebsdelf. 9363 9364 * doc/am-utils.texi (Supported Platforms): document freebsdelf. 9365 93661999-03-08 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9367 9368 * minor new ports: i386-unknown-freebsdelf3.1 and 9369 i386-unknown-freebsdelf4.0 9370 9371 * aux/macros/check_nfs_prot_headers.m4: freebsd4 support. 9372 9373 * aux/macros/check_nfs_socket_connection.m4: freebsd4 support. 9374 9375 * aux/macros/check_nfs_fh_dref.m4: freebsd4 support. 9376 9377 * amd/opts.c (eval_opts): changed log level of "executing 9378 negated..." message from USER to INFO, as per Guntram Wolski 9379 <gwolsk@sei.com>. 9380 93811999-02-17 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9382 9383 * */Makefile.am (LDADD): force linking against an installed 9384 libamu.{a,so}. 9385 9386 * doc/am-utils.texi (addopts Option): document remopts interaction 9387 with addopts. 9388 9389 * amd/am_ops.c (ops_match): if addopts are specified, apply them 9390 to the value of remopts as well as opts. 9391 9392 * amd/ops_nfs.c (mount_nfs_fh): tell users when remopts are used. 9393 93941999-02-05 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9395 9396 * released snapshot am-utils-6.0.1s5 9397 9398 * conf/mount/mount_linux.c (mount_linux): set default nfs_args 9399 options for ac{reg,dir}{min,man} as per the mount-2.8a package, 9400 but only if noac option was not used. 9401 94021999-02-05 Erez Zadok <ezk@retro.cs.columbia.edu> 9403 9404 * conf/mount/mount_linux.c (mount_linux): print nfs_args again 9405 since it was updated. 9406 (mount_linux): use 4KB for NFS rsize/wsize on 2.1.0 linux kernels 9407 and newer. Bug was found by Neil Conway 9408 <nconway.list@ukaea.org.uk> 9409 94101999-02-04 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9411 9412 * released snapshot am-utils-6.0.1s4 9413 94141999-02-03 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9415 9416 * amq/amq.c (main): don't list -M as a valid amq option unless 9417 configure'd with --enable-amq-mount. 9418 9419Wed Feb 3 18:11:18 1999 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 9420 9421 * amd/nfs_start.c (amd_use_autofs): Define. 9422 (mount_automounter): Create autofs service listener only if 9423 necessary to avoid unnecessary clashes with e.g. automountd. 9424 9425 * amd/amd.h (amd_use_autofs): Declare. 9426 9427 * amd/conf.c (gopt_mount_type): Set amd_use_autofs. 9428 (ropt_mount_type): Likewise. 9429 94301999-02-02 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9431 9432 * aux/macros/check_mnt2_nfs_opt.m4:: ditto 9433 9434 * aux/macros/check_mnt2_cdfs_opt.m4: ditto 9435 9436 * aux/macros/check_mnt2_gen_opt.m4: ditto 9437 9438 * aux/macros/check_mnttab_opt.m4: new macro in this file to loop 9439 over AC_CHECK_MNTTAB_OPT. Reduces size of configure script a lot. 9440 9441 * conf/nfs_prot/nfs_prot_netbsd1_3.h: include nfs/rpcv2.h, 9442 nfs/nfs.h and nfs/nfsmount.h if they exist. Patch from 9443 christos@zoulas.com (Christos Zoulas). 9444 9445 * amd/info_hesiod.c: some forward declarations. Patch from 9446 christos@zoulas.com (Christos Zoulas). 9447 94481999-01-28 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9449 9450 * libamu/mount_fs.c (compute_nfs_args): don't turn on/off noconn 9451 option if it was already in that state. Patch from David 9452 Wolfskill <dhw@whistle.com>. 9453 94541999-01-20 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9455 9456 * aux/configure.in: automake nowadays supports LTLIBOBJS (but not 9457 LTALLOCA yet). Substitute value of LIBTOOL_DEPS for libtool 9458 rebuild make rules. 9459 9460 * Makefile.am: new rules to remake libtool (maintainers only) 9461 9462 * amd/amfs_toplvl.c (mount_amfs_toplvl): print generic mount flags 9463 if -D trace was used. 9464 94651999-01-18 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9466 9467 * buildall: all if statements should have an else clause because 9468 of Ultrix's /bin/sh. 9469 94701999-01-15 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9471 9472 * amq/amq.c: removed dummy variables. 9473 9474 * amq/pawd.c: removed dummy variable.s 9475 9476 * fixmount/fixmount.c (usage): removed dummy variables. 9477 9478 * fsinfo/fsinfo.c: removed dummy variables. 9479 9480 * hlfsd/hlfsd.c: removed dummy variables. 9481 9482 * wire-test/wire-test.c: removed dummy variables. 9483 9484 * mk-amd-map/mk-amd-map.c: removed dummy variables. 9485 9486 * doc/texinfo.tex: updates from GNU mirror. 9487 9488 * aux/GNUmakefile (../doc/texinfo.tex): new rule to update 9489 doc/texinfo.tex from GNU mirror. 9490 9491 * released snapshot am-utils-6.0.1s3 9492 9493 * Makefile.am (install-snapshot): better snapshot and new 9494 install-snapshot and test-snapshot rules (maintainer). 9495 9496 * amd/info_ldap.c (amu_ldap_init): don't run STREQ if one of the 9497 args may be NULL. 9498 Some dlog() entries were not enclosed in #ifdef DEBUG. Fix from 9499 Bill Paul <wpaul@ctr.columbia.edu> 9500 95011999-01-13 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9502 9503 * check for experimental generic 'ignore' mount flag on freebsd3. 9504 9505 * Update library -version-info to 3:0:1 (will result in 2.1.0 .so 9506 version, which is backwards compatible with older versions.) Only 9507 one new interface was added to libamu. 9508 9509 * amd/amfs_toplvl.c (mount_amfs_toplvl): add generic mount flags 9510 that are specific to automounter mounts. 9511 9512 * aux/configure.in: update libamu.so age and revision since a new 9513 interface was added to libamu/mount_fs.c 9514 (compute_automounter_mount_flags). 9515 9516 * libamu/mount_fs.c (compute_automounter_mount_flags): new 9517 function to compute generic mount flags that are specific to mount 9518 points only. 9519 9520 * aux/{configure.in,acconfig.h}: add support for generic mount 9521 entry ignore option. 9522 9523 * released snapshot am-utils-6.0.1s2 9524 9525 * amd/info_ldap.c (get_ldap_timestamp): dlog format fixes. 9526 9527 * libamu/mount_fs.c (print_nfs_args): solaris 2.7 changed format 9528 of knc_semantics from u_long to u_int. 9529 9530 * aux/macros/check_mount_style.m4: freebsd3 no longer needs a 9531 special mount helper. 9532 95331999-01-12 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9534 9535 * aux/macros/check_nfs_prot_headers.m4 (AMU_NFS_PROT_HEADERS): 9536 amu_nfs_conf.h should always be found in $top_builddir. 9537 9538Tue Jan 12 00:05:42 1999 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 9539 9540 * conf/nfs_prot/nfs_prot_sunos5_7.h (MNTTAB_TYPE_AUTOFS): Undefine 9541 to avoid wrong reports from show_fstypes. 9542 9543 * conf/nfs_prot/nfs_prot_irix5.h (MNTTAB_TYPE_XFS): Likewise. 9544 9545 * conf/nfs_prot/nfs_prot_hpux11.h (MNTTAB_TYPE_NFS3): Likewise. 9546 9547Tue Jan 12 00:05:42 1999 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 9548 9549 * BUGS (mips-dec-ultrix4.3): Update Ultrix caveats. 9550 9551Tue Jan 12 00:05:42 1999 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 9552 9553 * hlfsd/homedir.c (delay): Cast child to long, adapt format. 9554 (hlfsd_getpwent): Likewise for pw_uid. 9555 9556 * amd/info_nis.c (nis_init): Cast order to unsigned long, adapt 9557 format. 9558 9559 * conf/transp/transp_tli.c (amu_clnt_create_best_vers): Cast 9560 tv_sec to int to match format. 9561 (get_nfs_version): Cast nfs_version, NFS_VERSION to int to match 9562 formats. 9563 9564 * amd/amfs_program.c (amfs_program_exec): Cast ptr difference to 9565 long, adapt format. 9566 9567 * include/am_defs.h: Handle __attribute__ if available. From 9568 GNU fileutils 4.0 lib/errors.h. 9569 9570Mon Jan 11 13:46:44 1999 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 9571 9572 * libamu/mount_fs.c (print_nfs_args): Cast sizeof() to int to 9573 match format. 9574 9575 * hlfsd/stubs.c (nfsproc_getattr_2_svc): Cast uid, gid to long, 9576 adapt format. 9577 (nfsproc_lookup_2_svc): Likewise. 9578 (nfsproc_readlink_2_svc): Likewise for userid, groupid. 9579 9580 * hlfsd/nfs_prot_svc.c (nfs_program_2): Cast args to int to match 9581 format. 9582 9583 * hlfsd/homedir.c (homedir): Cast uid, child to long, adapt 9584 format. 9585 9586 * amd/info_hesiod.c (hesiod_search): Cast m, pval, tp to unsigned 9587 long, adapt format. 9588 9589 * amd/ops_nfs.c (find_nfs_fhandle_cache): Cast fh_wchan to 9590 unsigned long, adapt format. 9591 (got_nfs_fh): Likewise. 9592 (prime_nfs_fhandle_cache): Cast fh_nfs_version to int to match 9593 format. 9594 (call_mountd): Likewise, mnt_version also. 9595 (mount_nfs_fh): Likewise. 9596 9597 * amd/ops_autofs.c (autofs_program_1): Cast args to int to match 9598 format. 9599 (autofs_unmount_1_svc): Cast ur->devid, ur_rdevid, ur->next to 9600 unsigned long, adapt formats. 9601 (autofs_bgmount): Cast opt_fs to unsigned to, adapt format. 9602 (autofs_bgmount): Use long format to match arg. 9603 (autofs_lookuppn): Removed superfluous arg. 9604 9605 * amd/srvr_nfs.c (start_ping): Cast nfs_version to int to match 9606 format. 9607 (got_portmap): Likewise for port. 9608 (recompute_portmap): Likewise for fs->fs_version, mnt_version. 9609 (find_nfs_srvr): Likewise for nfs_version. 9610 9611 * amd/sched.c (sched_task): Cast wchan to unsigned long, adapt 9612 format. 9613 9614 * amd/nfs_start.c (checkup): Cast ptr difference to long, next_mem 9615 to unsigned long, adapt format. 9616 Cast tvv.tv_sec to int to match format. 9617 9618 * amd/nfs_prot_svc.c (nfs_program_2): Cast args to int to match 9619 format. 9620 9621 * amd/map.c (root_fh): Cast pid to long, adapt format. 9622 (timeout_mp): Cast time_t to long, adapt format. 9623 9624 * amd/clock.c (reschedule_timeouts): Use long format, cast time_t 9625 arg. 9626 9627 * amd/amfs_host.c (fetch_fhandle): Cast nfs_version to int to 9628 match format. 9629 (amfs_host_fmount): Likewise. 9630 (amfs_host_umounted): Likewise. Removed superfluous arg. 9631 9632 * amd/amfs_auto.c (amfs_auto_bgmount): Cast pointer to unsigned 9633 long, adapt format. 9634 (amfs_auto_bgmount): Use long format, cast time_t arg. 9635 (amfs_auto_lookuppn): Removed superfluous arg. 9636 9637 * amd/amd.c (main): Cast geteuid() result to long, adapt format. 9638 9639 * conf/transp/transp_sockets.c (get_nfs_version): Cast nfs_version 9640 to int to match format. 9641 9642 * include/am_utils.h: Declare plog, dplog as printf-like. 9643 9644 * conf/mount/mount_irix6.c (mount_irix): Print type as char *. 9645 9646Mon Jan 11 13:46:44 1999 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 9647 9648 * amd/info_hesiod.c (hesiod_isup): New function. 9649 * amd/mapc.c (maptypes): Add it. 9650 96511999-01-10 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9652 9653 * released snapshot am-utils-6.0.1s1 9654 96551999-01-09 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9656 9657 * ALL: bump copyright year to 1999. 9658 9659Fri Jan 8 15:24:15 1999 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 9660 9661 * aux/macros/check_mtype_type.m4: Ultrix uses an int mount type, 9662 too. 9663 9664 * aux/macros/check_mtype_printf_type.m4: Adapt corresponding 9665 printf type. 9666 9667Fri Jan 8 15:24:15 1999 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 9668 9669 * aux/acconfig.h: Removed HAVE_AM_FS_AUTOFS, unused. 9670 9671 * conf/nfs_prot/nfs_prot_irix6.h: Likewise. 9672 9673 * conf/nfs_prot/nfs_prot_sunos5_6.h: Likewise. 9674 9675 * conf/nfs_prot/nfs_prot_sunos5_7.h: Likewise. 9676 9677 * Makefile.am (EXTRA_DIST_DIRS): Removed, not needed by current 9678 automake. 9679 9680Thu Jan 7 02:55:18 1999 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 9681 9682 * aux/configure.in (AM_PROG_YACC): Replaced by AC_PROG_YACC, not 9683 in current automake. 9684 9685Thu Jan 7 02:55:18 1999 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 9686 9687 * doc/am-utils.texi: Added some missing inter-punctation after 9688 @xref, or use @pxref/@ref as appropriate. Spotted by makeinfo 9689 from texinfo 3.12b. 9690 96911999-01-07 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9692 9693 * doc/texinfo.tex: updated off of latest GNU mirror. 9694 96951999-01-04 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9696 9697 * doc/am-utils.texi (Supported Platforms): update platforms that 9698 support NFS v.3. Nicer postscript printing on double-sided pages. 9699 9700 * amd/info_hesiod.c: add extern definition for hesiod_init() 9701 97021999-01-01 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9703 9704 ******************************************************************* 9705 *** Released am-utils-6.0 *** 9706 ******************************************************************* 9707 97081998-12-28 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9709 9710 * conf/nfs_prot/nfs_prot_sunos5_7.h: support ldap in solaris 2.7. 9711 97121998-12-27 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9713 9714 * conf/nfs_prot/nfs_prot_bsdi3.h: don't use reserved ports on 9715 bsdi4 for NFS V3/nfs mounts. 9716 97171998-12-26 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9718 9719 * using latest libtool (1.2e + patches), now supporting shared 9720 libraries on many more systems. Also using latest autoconf and 9721 automake (unreleased GNU CVS'd versions.) 9722 9723 * minor new ports: hppa2.0w-hp-hpux11.00, 9724 i386-unknown-netbsd1.3.3, mips-sgi-irix6.5. 9725 9726 * fsinfo/fsinfo.h (yywrap): define it for systems (osf4) that 9727 have /usr/bin/flex but not libfl. 9728 97291998-12-24 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9730 9731 * lots of code cleanup, to make sure libamu.so does not use 9732 undefined symbols. Some system's shared libraries cannot handle 9733 that. 9734 97351998-12-23 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9736 9737 * include/am_defs.h: only defined seteuid extern if function also 9738 exists and is not superceded by setresuid (hpux). 9739 9740 * amd/ops_autofs.c (autofs_bgmount, autofs_lookuppn): put explicit 9741 braces to avoid confusion with nested if-then-else clauses. 9742 9743 * aux/config.{sub,status}, aux/{ltmain.sh,ltconfig,mkinstalldirs: 9744 updated from latest versions. 9745 97461998-12-22 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9747 9748 * minor new port: i386-pc-bsdi4.0 9749 9750 * conf/nfs_prot/nfs_prot_bsdi3.h: add missing hesiod header 9751 definitions for bsdi4. 9752 9753 * {amd,fsinfo}/Makefile.am: force path to .y/.l files, because 9754 some make programs (bsdi4) do not support VPATH correctly. 9755 97561998-12-16 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9757 9758 * conf/mount/mount_aix.c: minor code cleanup 9759 9760 * aux/configure.in: check for extern definition to xdr_groups. 9761 97621998-12-15 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9763 9764 * minor new port: powerpc-ibm-aix4.3.1.0 9765 9766 * aux/macros/*.m4: updates for aix 4.3 9767 97681998-12-14 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9769 9770 * minor new port: i386-unknown-openbsd2.4 9771 9772 * aux/configure.in: don't check for xfs on openbsd because 9773 openbsd-2.4 introduces a new file system named xfs, but different 9774 than Irix's XFS. Sigh. 9775 9776 * minor new port: i386-unknown-freebsd2.2.8 9777 97781998-12-03 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9779 9780 * amd/amfs_nfsl.c (amfs_nfsl_ffserver): use case insensitive host 9781 name match. Bug fix from Douglas K. Rand" <rand@aero.und.edu>. 9782 97831998-11-20 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9784 9785 * scripts/ctl-amd.in: wait4amd2die runs in the stop action, to 9786 avoid race conditions when shutting down systems running amd. 9787 9788 * Makefile.am: add a dist-hook to change modes of the directories 9789 in the tar file so they are not world writable. 9790 9791 * conf/nfs_prot/nfs_prot_freebsd3.h: turned on NFSv3 support, 9792 since it is now finally defined in the header files and 9793 (hopefully) stable. 9794 9795 * amd/srvr_nfs.c (find_nfs_srvr): allow overriding if nfsv2 option 9796 is specified in mount options. freebsd patches from David 9797 O'Brien. 9798 9799 * amq/amq.c (main), fixmount/fixmount.c (main), hlfsd/hlfsd.c 9800 (main), fsinfo/fsinfo.c (fsi_get_args), hlfsd/hlfsd.c (main), 9801 amd/get_args.c (get_args): posix: use -1 to check for return from 9802 getopt() (not EOF), as per posix. 9803 9804 * amd/amq_subr.c (xdr_amq_mount_tree_node): patches from "David 9805 O'Brien" <obrien@NUXI.com>, from the FreeBSD source tree. Use 9806 real variable whose pointer is on the stack for decoding a long 9807 int. 9808 98091998-11-11 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9810 9811 * scripts/ctl-{amd,hlfsd}.in: include comments useful for redhat's 9812 chkconfig utility. 9813 98141998-11-10 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9815 9816 * released snapshot am-utils-6.0b2s3 9817 9818 * conf/transp/transp_sockets.c (create_nfs_service): remove C++ 9819 style comments. 9820 98211998-11-04 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9822 9823 * released snapshot am-utils-6.0b2s2 9824 9825 * created CVS package 9826 9827 * amd/nfs_subr.c (nfsproc_lookup_2_svc): try to avoid a race 9828 condition between unmounting and re-mounting an entry, by 9829 increasing the ttl of a looked up entry before unmounting it. 9830 Patch from Mike Mitchell <mcm@unx.sas.com>. 9831 9832 * All files: spell comments and strings. 9833 98341998-11-03 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9835 9836 * aux/configure.in: look for yp_all in libnsl only if yp_all not 9837 already found elsewhere (in libc or other default libraries). 9838 This is so RedHat 5.1 systems could find yp functions in libnsl, 9839 but also so AIX 4.2.1 will NOT include libnsl, because the latter 9840 has broken nis functionality that also exists and works ok in libc. 9841 98421998-10-29 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9843 9844 * amd/amd.c (main): bug fix: swapped arguments to kill(2). Fix 9845 from Danny Rathjens <dkr@cs.fiu.edu>. 9846 98471998-10-28 Erez Zadok <ezk@spruce.mcl.cs.columbia.edu> 9848 9849 * released snapshot am-utils-6.0b2s1 9850 98511998-10-27 Erez Zadok <ezk@spruce.mcl.cs.columbia.edu> 9852 9853 * aux/macros/*.m4: support bsdi4 as bsdi3. 9854 9855 * aux/macros/os_ldflags.m4: enable detection of LDAP on solaris 9856 2.7 (libraries located in /usr/lib/fn). This is off until Sun 9857 includes LDAP header information. 9858 98591998-10-20 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9860 9861 ******************************************************************* 9862 *** Released am-utils-6.0b1 *** 9863 ******************************************************************* 9864 98651998-10-18 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9866 9867 * mk-amd-map/mk-amd-map.c (main): use perror not strerror. 9868 (main): set return type to int if no ndbm maps. 9869 9870 * include/am_defs.h: avoid conflicts with <sys/mount.h> in 2.1 9871 kernels. 9872 98731998-10-18 Erez Zadok <ezk@london.mcl.cs.columbia.edu> 9874 9875 * A.i386-unknown-netbsd1.3.2/amu_nfs_prot.h: trim down and cleanup 9876 for netbsd 1.3.2. 9877 98781998-10-17 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9879 9880 * aux/configure.in: check for yp_all in libnsl, b/c redhat 5.1 9881 systems put NIS functions there. 9882 9883 * mk-amd-map/mk-amd-map.c: patch from "David O'Brien" 9884 <obrien@NUXI.com> merged in. Use POSIX -1 return code from 9885 getopt(), not EOF. Use .db extentions for systems that use it, 9886 instead of .{pag,dir}. 9887 98881998-10-15 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9889 9890 * wire-test/wire-test.c, hlfsd/hlfsd.c, fixmount/fixmount.c, 9891 amd/amd.c (main): avoid overrunning hostname buffer. Bug fix from 9892 "David O'Brien" <obrien@NUXI.com>. 9893 9894 * scripts/amd.conf.5: minor typo reported by "David O'Brien" 9895 <obrien@NUXI.com> in .TH section of man page. 9896 9897 * amd/info_nis.c (am_yp_all): don't leak key-val entries. Patch 9898 from Thomas Richter <richter@chemie.fu-berlin.de>. 9899 99001998-10-12 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9901 9902 * doc/am-utils.texi (Program Filesystem): minor typo fixed as per 9903 Andreas Stolcke <stolcke@speech.sri.com>. 9904 9905 * minor new ports: sparc64-unknown-linux-gnu, i386-pc-solaris2.7, 9906 and sparc-sun-solaris2.7. 9907 9908 * conf/mount/mount_freebsd3.c (mount_freebsd3): freebsd 3.0 is now 9909 a 4.4lite kernel, and somethings were removed, such as 9910 INITMOUNTNAMES. 9911 9912 * amd/ops_autofs.c (autofs_lookuppn): don't leak memory while 9913 processing /defaults. Free temporary opts. Patch from 9914 dsr@mail.lns.cornell.edu (Daniel S. Riley) 9915 9916 * amd/amfs_auto.c (amfs_auto_lookuppn): don't leak memory while 9917 processing /defaults. Free temporary opts. Patch from 9918 dsr@mail.lns.cornell.edu (Daniel S. Riley) 9919 9920 * conf/mtab/mtab_osf.c (read_mtab): patch from 9921 dsr@mail.lns.cornell.edu (Daniel S. Riley) not to access 9922 uninitialized memory on Digital Unix. 9923 99241998-10-09 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9925 9926 * aux/macros/{check_mtype_type,check_mtype_printf_type}.m4: most 9927 systems now use "char *" as their mount type. 9928 99291998-10-08 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9930 9931 * amd/conf.c (gopt_map_type, ropt_map_type): check if map type 9932 exists. 9933 9934 * amd/mapc.c (mapc_type_exists): function to test if a map of 9935 certain type exists. 9936 99371998-10-08 Erez Zadok <ezk@horatio.mcl.cs.columbia.edu> 9938 9939 * aux/macros/{mount_headers,try_compile_anyfs,try_compile_nfs}.m4, 9940 include/am_defs.h: Avoid a conflict in definitions of ntohl/htonl 9941 in RH-5.1 sparc64 between <netinet/in.h> and 9942 <linux/byteorder/generic.h> (2.1 kernels). 9943 99441998-09-28 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9945 9946 * aux/macros/func_bad_yp_all.m4 (ac_cv_func_yp_all_clean): RedHat 9947 5.1 systems with glibc glibc-2.0.7-19 or below leak a UDP socket 9948 from yp_all(). 9949 99501998-09-25 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9951 9952 * conf/mount/mount_linux.c (parse_opts): check for pcfs support 9953 only if autoconfigured. 9954 99551998-09-18 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9956 9957 * Makefile.am (EXTRA_DIST): distribute README.yk2 file. 9958 9959 * README.y2k: explain y2k compliance status of am-utils. 9960 99611998-09-16 Erez Zadok <ezk@iguana.mcl.cs.columbia.edu> 9962 9963 * amd/amfs_host.c (fetch_fhandle, amfs_host_fmount, 9964 amfs_host_umounted): clnt_sperrno() may return a const. 9965 9966Sat Aug 8 23:28:32 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9967 9968 * aux/configure.in: check for <nfs/nfsmount.h>, as per Christos 9969 Zoulas. Turned on checking for mount options: async, synchronous, 9970 deadthresh, leasterm, nqnfs, and readahead. 9971 9972 * amd/info_nis.c: patch from christos@zoulas.com (Christos Zoulas) 9973 to include prototype definition for nis_isup(). 9974 9975Sun Jul 19 18:50:10 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9976 9977 * hlfsd/stubs.c (getcreds): force sscanf arg to u_long. 9978 9979Tue Jul 14 20:34:25 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9980 9981 * released snapshot am-utils-6.0a17s1 9982 9983Wed Jul 8 21:49:15 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9984 9985 * aux/macros/host_macros.m4: all x86 hosts should have $arch be 9986 i386, not i[456]86. 9987 9988Tue Jul 7 18:55:09 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 9989 9990 * aux/macros/{mount_headers,try_compile_anyfs,try_compile_nfs}.m4, 9991 include/am_defs.h: include <linux/posix_types.h> before 9992 <linux/fs.h> because on redhat 5.1, there is a bug (misuse) of 9993 headers in <socketbits.h> (it defines _LINUX_TYPES_H instead of 9994 __KERNEL_STRICT_NAMES). 9995 9996 * aux/configure.in: check for <linux/posix_types.h> because it is 9997 need for RedHat 5.1. 9998 9999Wed Jun 17 00:05:33 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 10000 10001 * scripts/Makefile.am (EXTRA_DIST): have fixrmtab generated from 10002 .in as well, so it doesn't get removed by make clean. 10003 10004Tue Jun 16 22:00:15 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 10005 10006 * aux/macros/{check_fs_mntent.m4, check_mnttab_type.m4, 10007 check_mount_type.m4}: redhat 5.1 puts some modules in 10008 /lib/modules/preferred/. 10009 10010Wed May 13 16:33:57 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 10011 10012 * amd/ops_autofs.c (mount_autofs): cast pid to long. 10013 10014Tue Apr 28 15:12:36 1998 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 10015 10016 * conf/nfs_prot/nfs_prot/nfs_prot_irix6.h, 10017 conf/nfs_prot/nfs_prot_sunos5_6.h: Undef MNTTAB_TYPE_AUTOFS too to 10018 avoid amd/am_ops.c (show_fstypes) from erroneously claiming 10019 support. 10020 10021Fri Apr 24 23:02:11 1998 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 10022 10023 * libamu/xutil.c (get_syslog_facility): Don't use LOG_DAEMON 10024 unconditionally, may be missing on Ultrix V4.3. 10025 10026Thu Apr 23 20:24:33 1998 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 10027 10028 * conf/nfs_prot/nfs_prot_sunos5_4.h (MNTTYPE_CACHEFS): Define, 10029 missing from <sys/mntent.h>. 10030 10031 * conf/mtab/mtab_ultrix.c: Need separate inclusion of <sys/fs_types.h> 10032 without KERNEL defined here. 10033 10034 * aux/macros/mount_headers.m4: Need to include <ufs/ufs_mount.h>, 10035 <cdfs/cdfs_mount.h>, <cdfs/cdfsmount.h> so autoconfiguration of 10036 ufs_args_t, cdfs_args_t fields and cdfs mount options can succeed. 10037 10038 * amd/ops_ufs.c (mount_ufs): Removed obsolete comment. 10039 10040 * ChangeLog: Fixed confusing linebreaks from ChangeLog imports. 10041 Removed purely local (and obsolete) entry. 10042 10043Thu Apr 23 00:22:17 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 10044 10045 ******************************************************************* 10046 *** Released am-utils-6.0a16 *** 10047 ******************************************************************* 10048 10049Wed Apr 22 01:20:39 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 10050 10051 * aux/macros/check_mount_style.m4: define freebsd3 mount style. 10052 10053 * aux/macros/check_mount_trap.m4: new mount trap for freebsd3. 10054 10055 * aux/macros/check_mtype_printf_type.m4, 10056 aux/macros/check_mtype_type.m4 (ac_cv_mtype_type,): freebsd3 (as 10057 of snapshot 3.0-980311-SNAP) uses char * types for mount(2), not 10058 integers, but I'll keep them as integers and do the mapping in 10059 conf/mount/mount_freebsd3.c 10060 10061 * minor new port to i386-pc-bsdi3.1. 10062 10063 * minor new port to i386-unknown-netbsd1.3.1. 10064 10065 * amd/opts.c: new option addopts:=ARG, which smartly merges ARG 10066 options with whatever the /default ones for a key are. This 10067 allows adding or overriding /default options individual keys. 10068 10069 * amd/am_ops.c (ops_match): strdup/malloc string assigned to 10070 opt_opts because it'll get free()'d upon next use. 10071 (merge_opts): new function to merge two sets of options. 10072 (ops_match): if addopts option exist, append and merge it to the 10073 current default options. 10074 10075Tue Apr 21 12:54:59 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 10076 10077 * wire-test/wire-test.c (main): use dynamically allocated returned 10078 string with list of interfaces. 10079 10080 * amd/get_args.c (get_version_string): allocate enough space for 10081 header version string and a list of network interfaces of any 10082 length. 10083 10084 * libamu/wire.c (print_wires): return dynamically allocated string 10085 containing list of networks. Must be dynamic because some sites 10086 had potentially dozens of network interfaces. Patch from Matthew 10087 Crosby <mcrosby@ms.com> slightly modified. 10088 10089Mon Apr 20 00:37:20 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 10090 10091 * conf/nfs_prot/nfs_prot_irix5.h: underfine MNTTYPE_XFS because 10092 irix 5.3 does not have full header definitions for it. 10093 10094 * fsinfo/fsi_lex.l (yywrap): define yywrap if needed, and 10095 undefined it when not needed (similar to amd/conf_tok.l) 10096 10097 * hlfsd/hlfsd.h (ROOTID, SLINKID, INVALID): reduced maximum size 10098 of these to unsigned short (because uid_t on some linux systems is 10099 small). 10100 10101 * released snapshot am-utils-6.0a16s10 10102 10103 * doc/am-utils.texi (opts Option): documented resvport mount 10104 option. 10105 10106Sun Apr 19 18:17:03 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 10107 10108 * doc/am-utils.texi (-D-Option): document behavior of -D info and 10109 especially what it does to hesiod (turn on RES_DEBUG). 10110 10111 * scripts/amd.conf.5: document info debugging option. 10112 10113 * libamu/xutil.c (dbg_opt): parse info debugging option. 10114 10115 * include/am_utils.h (D_INFO): define new trace option. 10116 10117 * Makefile.am (EXTRA_DIST): include list of official mirrors in 10118 distribution. 10119 10120 * libamu/wire.c (SIZE): in the simple case, just compute 10121 sizeof(struct ifreq). 10122 10123Sun Apr 19 16:30:35 1998 Erez Zadok <ezk@lorien.cs.columbia.edu> 10124 10125 * amd/amd.c (daemon_mode): set a temporary secure umask(0022) 10126 before writing log file and restore it afterwards. Patch from 10127 Donald Buczek <buczek@MPIMG-Berlin-Dahlem.MPG.DE>. 10128 10129 * amd/get_args.c (get_args): 10130 10131 * doc/am-utils.texi (-F Option), amd/amd.8: mention that amd.conf 10132 file specified by -F is always processed last. 10133 10134 * amd/amd.c (daemon_mode): do not fclose(stdout) so that the fd 10135 won't be reused. Allows startup script to redirect stdout. Patch 10136 from Donald Buczek <buczek@MPIMG-Berlin-Dahlem.MPG.DE>. 10137 10138 * libamu/xutil.c (switch_to_logfile): compare logfile name and 10139 syslog string with correct length. Patch from Donald Buczek 10140 <buczek@MPIMG-Berlin-Dahlem.MPG.DE>. 10141 10142 * amd/restart.c (restart): correctly inherit existing NFS V.3 10143 mounts upon restart. Patch from Donald Buczek 10144 <buczek@MPIMG-Berlin-Dahlem.MPG.DE>. 10145 10146Sat Apr 18 19:01:19 1998 Erez Zadok <ezk@lorien.cs.columbia.edu> 10147 10148 * using libtool 1.2 and automake 1.3 (with my patches). 10149 10150 * aux/macros/opt_am_cflags.m4, */Makefile.in: rename AM_CFLAGS to 10151 AMU_CFLAGS to avoid conflicts with automake-1.3. 10152 10153Sun Apr 5 23:09:08 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 10154 10155 * converted to using libtool-1.2. 10156 10157Tue Mar 10 16:52:09 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 10158 10159 * fsinfo/fsi_analyze.c (fixup_required_mount_info): replaced silly 10160 for loop (ITER) which used to run only to initialize the variable 10161 dd once and then break; with a simple assignment. 10162 10163 * hlfsd/hlfsd.h: cleanup so it compiles with Solaris 10164 /opt/SUNWspro/bin/cc, and use gid_t not int. 10165 10166 * amd/mapc.c (mapc_sync): don't dereference pointer (so it 10167 compiles with Solaris /opt/SUNWspro/bin/cc) 10168 10169Sun Mar 8 15:54:22 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 10170 10171 * aux/config.{guess,sub}: used from gcc-2.8.1. 10172 10173Sat Mar 7 15:33:27 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 10174 10175 * released snapshot am-utils-6.0a16s9 10176 10177 * INSTALL, doc/am-utils.texi (Supported Platforms): updated names 10178 based on new output of new config.guess. 10179 10180 * aux/config.{sub,guess}: used newer versions from gcc-2.8.0. 10181 10182 * amd/amd.8,doc/am-utils.texi: document correct usage of default 10183 /etc/amd.conf file. 10184 10185 * fixmount/fixmount.c (inetresport,privsock): use some more 10186 portable code from amq/amq.c. 10187 10188 * amd/get_args.c (get_args): use default /etc/amd.conf file only 10189 if no arguments had been passed to amd. 10190 10191 * fixmount/fixmount.c (clnt_create_timeout): use tli/socket code 10192 ala amq/amq.c so that fixmount will work on both types of systems. 10193 10194 * amq/amq.c (main): do no close tcp socket before running udp try, 10195 because we're not sure if it was opened at all. 10196 10197 * mips-dec-ultrix* port merged in and cleaned up. 10198 10199 * aux/configure.in: up minor shared library revision number, since 10200 it has changed enough. 10201 10202 * hlfsd/hlfsd.c (main): don't check for overlay mount option here, 10203 as it is now done in compute_nfs_args(). Remove ultrix specific 10204 code also because it was moved to compute_nfs_args(). 10205 10206 * conf/mount/mount_svr4.c: removed DEBUG_MOUNT_SVR4 code, now that 10207 we have more generic code in print_nfs_args(). 10208 10209 * libamu/mount_fs.c (print_nfs_args): print maxlen of 10210 nfs_args.addr, and also syncaddr (which is mostly NULL). Print 10211 struct knetconfig from nfs_args->knconf. 10212 10213 * aux/macros/mount_headers.m4 (define): do not check for ufs/cdfs 10214 headers here, but in try_compile_anyfs.m4. 10215 10216 * aux/macros/type_ufs_args.m4: move test for struct ufs_specific 10217 (for ultrix) here from its own macro. 10218 10219 * aux/macros/type_cdfs_args.m4: move test for struct iso_specific 10220 (for ultrix) here from its own macro. 10221 10222 * amd/ops_nfs.c (mount_nfs_fh): no need to run code again checking 10223 for overlay mount option. Remove code which checks for overlay 10224 option, as it is now done in compute_nfs_args(). 10225 10226 * libamu/mount_fs.c (compute_mount_flags): move here code which 10227 checks for overlay mount option which was in amd/amfs_toplvl.c: 10228 mount_amfs_toplvl(). 10229 10230Wed Feb 7 15:35:51 1998 Rainer Orth <ro@xayide.TechFak.Uni-Bielefeld.DE> 10231 10232 * The following are Rainer's ChangeLog entries for his ultrix 10233 port, added manually. -Erez. 10234 10235 * merged Ultrix port with am-utils 6.0 a16s5: amd/ops_afs.c 10236 (mount_toplvl) -> amd/amfs_toplvl.c (mount_amfs_toplvl) 10237 10238 * include/am_defs.h: include cdfs specific mount headers 10239 avoid duplication definition of gt_names[] in <sys/fs_types.h> (Ultrix) 10240 10241 * include/am_compat.h: define several mount options corresponding 10242 to mount flags: pgthresh, hard (nfs), defperm, nodefperm, 10243 noversion, rrip (cdfs), nocache, quota, sync (generic) removed 10244 duplicate MNTTAB_OPT_RO definition 10245 10246 * aux/macros/try_compile_anyfs.m4: include Ultrix specific 10247 ufs/cdfs mount headers 10248 10249 * aux/macros/mount_headers.m4: include several Ultrix/Digital UNIX 10250 specific mount headers 10251 10252 * aux/macros/check_{fs_mntent, mount_type}.m4: check for GT_* 10253 mount types in mount headers (Ultrix) 10254 10255 * aux/configure.in: Ultrix/Digital UNIX specific checks: new 10256 headers, mount structures and fields, filesystem and mount types, 10257 mount flags 10258 10259 * aux/acconfig.h: placeholders for new mount options: quota 10260 (generic), ro (nfs), defperm, nodefperm, noversion, rrip (cdfs) 10261 cdfs, nfs, ufs mount structure fields new ufs, cdfs mount 10262 structures 10263 10264 * amd/ops_ufs.c (mount_ufs): Ultrix stores generic mount flags in 10265 ufs_args.ufs_flags and has ufs specific pgthresh option 10266 10267 * amd/ops_cdfs.c (mount_cdfs): handle Ultrix/Digital UNIX specific 10268 CDFS mount flags and options 10269 10270 * amd/ops_afs.c (mount_toplvl), amd/ops_nfs.c (mount_nfs_fh), 10271 hlfsd/hlfsd.c (main): store generic mount flags in 10272 nfs_args.gfs_flags, handle separate NFS ro flag 10273 10274 * aux/macros/{check_mnt2_cdfs_opt, struct_iso_specific, 10275 struct_ufs_specific}.m4: new files; check for Ultrix specific 10276 mount structures 10277 10278 * conf/trap/trap_ultrix.h: arg 3 to mount(2) is rwflag 10279 10280 * aux/macros/type_auth_create_gidlist.m4 (ultrix*): 10281 AUTH_CREATE_GIDLIST_TYPE is int (not short == gid_t) from a 10282 comment in <rpc/auth.h> 10283 10284 * include/am_defs.h: #define KERNEL to avoid definition of 10285 gt_names[] conf/mtab/mtab_ultrix.c: #include <sys/fs_types> before 10286 <config.h> to force single definition here 10287 10288 * libamu/mount_fs.c (compute_nfs_args): Ultrix support for 10289 nfs_args.gfs_flags moved to callers store mount options in 10290 nap->optstr 10291 10292 * include/am_defs.h: fix _am_mntent mnt_{type, opts} field 10293 descriptions 10294 10295 * aux/macros/mount_headers.m4, aux/macros/try_compile_nfs.m4: 10296 include <rpc/rpc.h> before AMU_NFS_PROTOCOL_HEADER for svc_req 10297 definition in prototypes 10298 10299 * aux/macros/mount_headers.m4: include <sys/errno.h> before 10300 AMU_NFS_PROTOCOL_HEADER: <nfs/nfs.h> needs it for NFSERR_* 10301 definitions 10302 10303 * conf/nfs_prot/nfs_prot_ultrix.h: new file 10304 10305 * aux/macros/check_nfs_prot_headers.m4: use nfs_prot_ultrix.h 10306 10307 * aux/macros/mount_headers.m4, aux/macros/try_compile_nfs.m4, 10308 aux/macros/try_compile_rpc.m4, include/am_defs.h: avoid multiple 10309 inclusion of <rpc/xdr.h> 10310 10311Sat Mar 7 13:56:05 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 10312 10313 * aux/configure.in: save state of config.cache and confdefs.h 10314 (as dbgcf.h) at various points of the configure. 10315 10316 * aux/macros/save_state.m4: new macro to save state of configure, 10317 esp. useful in long ones. Saves confdefs.h and write $ac_cv_* 10318 cache variables that are known so far. 10319 10320 * released snapshot am-utils-6.0a16s8 10321 103221998-03-06 Erez Zadok <ezk@mercer.psl.cs.columbia.edu> 10323 10324 * fsinfo/fsi_lex.l,amd/conf_tok.l: define ECHO after undefining 10325 it, but only for flex. 10326 10327Fri Mar 6 17:23:17 1998 Erez Zadok <ezk@chestnut.mcl.cs.columbia.edu> 10328 10329 * hlfsd/homedir.c (plt_print): change pathname of hlfsd dump file 10330 to /usr/tmp/hlfsd.dump.XXXXXX, and use a safe method (if possible) 10331 to write the dump file. 10332 10333 * doc/am-utils.texi,amd/opts.c: rename all references to nomadic 10334 functions to boolean functions, which is what they really are. 10335 10336 * aux/configure.in: don't look for strcasecmp in libucb at all, 10337 but rather complete it from libamu/strcasecmp.c as needed. 10338 10339Fri Mar 6 03:29:20 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 10340 10341 * conf/nfs_prot/nfs_prot_osf4.h: avoid conflicts with Irix's EFS. 10342 10343 * libamu/wire.c (getwire): fix for 0.0.0.0 loopback on SunOS 3.X 10344 which defines IFF_ROUTE instead of IFF_LOOPBACK. Patch from Tom 10345 Schmidt <tschmidt@micron.com>. 10346 10347 * released snapshot am-utils-6.0a16s7 10348 10349 * conf/nfs_prot/nfs_prot_hpux11.h: a first working port of amd to 10350 hppa1.0-hp-hpux11.00.tgz. 10351 10352Thu Mar 5 21:59:03 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 10353 10354 * converted all sources to use mntent field names, and map mnttab 10355 field names to mntent's. 10356 10357 * include/am_defs.h (mnt_special): map struct mnttab field names 10358 to struct mntent field names. 10359 10360 * aux/macros/check_mount_trap.m4: hpux11's mount trap style is 10361 identical to svr4/solaris2. 10362 10363 * aux/macros/check_mount_style.m4: hpux11's mount style is 10364 identical to svr4/solaris2. 10365 10366 * aux/macros/check_network_transport_type.m4: hpux11 is a TLI 10367 system! 10368 10369 * aux/macros/check_nfs_sa_dref.m4: hpux11's NFS host address 10370 dereferencing style is same as svr4. 10371 10372 * aux/macros/check_nfs_fh_dref.m4: hpux11's NFS file fh 10373 dereferencing style is same as svr4. 10374 10375 * conf/transp/transp_tli.c (create_nfs_service): if failed to 10376 getnetconfigent() of ticlts, then try udp (hpux11). 10377 10378 * conf/nfs_prot/nfs_prot_hpux11.h: added correct definitions for 10379 struct nfs_args, nfs_fh, and NFSMNT_* flags, taken from solaris 10380 2.5.1 (HP used them). 10381 10382 * amd/rpc_fwd.c (fwd_init): don't use O_NDELAY for t_open() 10383 because hpux11 doesn't like it. if t_open failed, print error 10384 based on t_errlist, not sys_errlist. 10385 10386Wed Mar 4 22:01:55 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 10387 10388 * doc/am-utils.texi: lots of documentation fixes from Rainer Orth 10389 <ro@TechFak.Uni-Bielefeld.DE>. 10390 10391Sat Feb 28 22:16:35 1998 Erez Zadok <ezk@kosh.cs.columbia.edu> 10392 10393 * fsinfo/fsi_lex.l: undefine ECHO again, so it doesn't get used 10394 later. 10395 10396 * include/am_defs.h: defined the extern for ualarm() if it isn't 10397 found, regardless if the function isn't found in standard 10398 libraries, because otherwise libamu will include it. 10399 104001998-02-28 Erez Zadok (per Ron Snyder) <ezk@short.cvo.roguewave.com> 10401 10402 * initial port to hpux-11 completed. Compiles cleanly, but 10403 probably does not work, because of missing NFS V.2/3 headers. 10404 10405 * amd/conf_tok.l: cast yytext to char* when passed to strlen and 10406 strdup, for hpux-11's ansi-cc compiler. 10407 10408 * include/am_utils.h: renamed all xfree() to XFREE() to avoid 10409 conflict with hpux-11's system headers. Also move (voidp) cast 10410 from sources to inside the macro itself. 10411 10412Sat Feb 28 13:44:21 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 10413 10414 * released snapshot am-utils-6.0a16s6 10415 10416 * amd/info_nis.c (nis_isup): new function to test if NIS is up 10417 without hanging amd. Used to ensure that amd does not clear the 10418 maps when the expiration period arrived, if the service is down. 10419 Otherwise it would be left with empty maps. It is better to stay 10420 with possibly old information than none at all. 10421 10422 * amd/mapc.c (mapc_sync): check to see if map service is up. 10423 10424Tue Feb 24 02:19:42 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 10425 10426 * aux/macros/check_lib2.m4 (AC_CHECK_LIB2): fix macro so it 10427 includes auxiliary library only if needed. 10428 104291998-02-22 Erez Zadok <ezk@mercer.psl.cs.columbia.edu> 10430 10431 * amd/conf_tok.l: undefine ECHO again, so it doesn't get used 10432 later. 10433 10434Sun Feb 22 01:41:08 1998 Erez Zadok <ezk@zen.cs.columbia.edu> 10435 10436 * conf/nfs_prot/nfs_prot_osf2.h: port to alpha-dec-osf2.1 10437 completed. 10438 10439 * conf/mtab/mtab_osf.c (mnt_dup): not all OSF have NFS3. 10440 10441Sat Feb 21 19:45:48 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 10442 10443 * doc/am-utils.texi (Network Host Filesystem): correct example for 10444 type:=host map. 10445 10446 * aux/macros/os_cflags.m4: only osf4 should compile with 10447 -D_SOCKADDR_LEN. 10448 10449 * aux/macros/check_nfs_prot_headers.m4: distinguish between OSF2 10450 and OSF4. 10451 10452 * BUGS: include a new file listing known bugs. 10453 10454Sat Feb 21 03:50:48 1998 Erez Zadok <ezk@mercer.psl.cs.columbia.edu> 10455 10456 * conf/nfs_prot/nfs_prot_linux.h: turn DES off on all linux 10457 versions. 10458 10459 * aux/macros/type_recvfrom_fromlen.m4: linux alpha should use 10460 size_t for recvfrom fromlen arg. 10461 10462Sat Feb 21 03:33:59 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 10463 10464 * scripts/ctl-hlfsd.in: turn -D fork so primary process never 10465 hangs. 10466 10467Sat Feb 21 02:45:51 1998 Erez Zadok <ezk@mercer.psl.cs.columbia.edu> 10468 10469 * include/am_defs.h: don't include <sys/stat.h> and 10470 <linux/stat.h>, just remaining definitions in <statbuf.h> 10471 10472Thu Jan 29 00:44:28 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 10473 10474 * released snapshot am-utils-6.0a16s5 10475 10476 * conf/mount/mount_irix6.c (mount_irix): pass {u,e,x}fs_args to 10477 mount(2). 10478 10479 * check for <sys/fs/xfs_clnt.h> and include it when needed. 10480 10481 * conf/mount/{mount_irix5.c,mount_irix6.c} (mount_irix): recognize 10482 efs and xfs separately from "ufs". 10483 10484 * amd/{ops_xfs.c,ops_efs.c}: new support for irix xfs/efs. 10485 10486 * aux/configure.in: look for irix efs and xfs file systems. 10487 10488 * scripts/amd.conf.5: new unmount_on_exit option documented. 10489 10490 * doc/am-utils.texi (unmount_on_exit): new option documented. 10491 10492 * amd/conf.c (gopt_unmount_on_exit): new function to handle new 10493 amd.conf option. 10494 10495 * amd/map.c (umount_exported): if global amd.conf flag 10496 unmount_on_exit is on, then try to unmount all mounted (or 10497 restartable) file systems. 10498 10499 * amd/amd.c: if print_pid option is on, then normally print it to 10500 stdout. If also pid_file is specified, then print the process ID 10501 into that file. 10502 10503 * amd/get_args.c (get_args): print correct -l option depending if 10504 system supports syslog and/or syslog facilities. Patch from 10505 Tom Schmidt <tschmidt@micron.com>. 10506 10507 * doc/am-utils.texi (opts Option): updates for documentation for 10508 new cdfs options defperm, nodefperm, noversion, rrip. 10509 10510 * amd/ops_cdfs.c (mount_cdfs): support cdfs options defperm, 10511 nodefperm, noversion, rrip. 10512 10513 * conf/nfs_prot/nfs_prot_osf.h: need to look at <cdfs/cdfsmount.h> 10514 on osf. 10515 10516 * aux/macros/{expand_cpp_hex.m4, expand_cpp_int.m4, 10517 expand_cpp_string.m4}: use #error to make failed compilations 10518 fail faster, rather than have the program fail during a run. 10519 10520 * include/am_compat.h: added a few new cdfs options: rrip, 10521 noversion, defperm, and nodefperm (used in OSF). 10522 10523Wed Jan 28 20:24:09 1998 Erez Zadok <ezk@lorien.cs.columbia.edu> 10524 10525 * released snapshot am-utils-6.0a16s4 10526 10527 * doc/am-utils.texi (Global Parameters): update manual for new 10528 amd.conf global variable hesiod_base. 10529 10530 * scripts/amd.conf.5: update man page for new amd.conf global 10531 variable hesiod_base. 10532 10533 * amd/get_args.c (get_args): use /etc/amd.conf file if exists by 10534 default, else try command line options. Patch from Randall 10535 S. Winchester <rsw@Glue.umd.edu>. 10536 10537Wed Jan 28 12:20:56 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 10538 10539 * amd/info_hesiod.c (hesiod_search), amd/conf.c 10540 (gopt_hesiod_base), amd/amd.h, amd/amd.c (init_global_options): 10541 included patch from Randall S. Winchester <rsw@Glue.umd.edu>, to 10542 support a hesiod base name in the amd.conf file. 10543 10544 * doc/am-utils.texi (pid_file Parameter): document new global 10545 amd.conf parameter. 10546 10547 * scripts/amd.conf.5: document new global option pid_file. 10548 10549 * amd/amd.c (daemon_mode): if cannot open pid_file, continue to 10550 run, but print error message. 10551 10552 * amd/conf.c (gopt_pid_file), amd/amd.h, amd/amd.c (daemon_mode, 10553 init_global_options): Included patch from Randall S. Winchester 10554 <rsw@Glue.umd.edu>, to support pid files in the amd.conf file. 10555 10556 * amd/get_args.c (get_args): correct usage info on amd -t. 10557 10558 * amd/*.c: massive file name and symbol name changes. All amd 10559 file systems files and symbols are prefix with amfs_*. Now using 10560 real name of file system: amfs_auto instead of afs, amfs_inherit 10561 instead of ifs, amfs_linkx instead of sfsx, etc. This will enable 10562 clear distinction between amd file system and generic ones like 10563 nfs/ufs/pcfs/hsfs. Also, now we can implement true afs (Andrew 10564 f/s) and DFS (Distributed f/s). 10565 10566 * amd/amfs_union.c: unionfs for amd is always defined, no need to 10567 #ifdef it. 10568 10569Mon Jan 26 16:51:38 1998 Erez Zadok <ezk@chestnut.mcl.cs.columbia.edu> 10570 10571 * libamu/mount_fs.c (compute_nfs_args): set 'noconn' NFS option on 10572 or off, based on the particular quirks of the OS in question. 10573 10574 * aux/macros/check_nfs_socket_connection.m4: new macro to set the 10575 correct wait of handling un/connected NFS sockets. 10576 10577 * scripts/wait4amd.in: use rlogin instead of rsh. 10578 10579 * amd/am_ops.c (ops_showfstypes): when showing F/S types in amd 10580 -v, always show "nfs3" for NFS V.3. 10581 105821998-01-25 Erez Zadok <ezk@snoopy.cs.columbia.edu> 10583 10584 * lots of small fixes for solaris 2.6, since gcc 2.8.0 -Wall gets 10585 more picky than 2.7.2.3 did. 10586 105871998-01-24 Erez Zadok <ezk@snoopy.cs.columbia.edu> 10588 10589 * include/am_utils.h (dlog): amuDebug macros reduced to shorter 10590 forms. 10591 10592Fri Jan 23 18:38:30 1998 Erez Zadok <ezk@goat.mcl.cs.columbia.edu> 10593 10594 * released snapshot am-utils-6.0a16s3 10595 10596 * include/am_defs.h: on Solaris 2.6, <sys/varargs.h> is included 10597 in <sys/fs/autofs.h> but since stdargs.h is used, and varargs.h 10598 must not, fake a definition for varargs. 10599 10600Fri Jan 16 10:16:40 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 10601 10602 * README: show how to configure in additional support such as 10603 hesiod using various --enable-* flags. 10604 10605Wed Jan 14 15:13:02 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 10606 10607 * aux/configure.in: look for strcasecmp(), and replace it if not 10608 available. 10609 10610 * amd/ops_nfsl.c (nfsl_match): host names should be compared using 10611 case insensitive. 10612 10613 * amd/opts.c: for each map variable, define if the comparison 10614 needs to be done case insensitive. 10615 10616 * include/am_utils.h (STRCEQ): a new macro to use strcasecmp(). 10617 Patch from Thomas Richter <richter@chemie.fu-berlin.de> 10618 106191998-01-14 Erez Zadok <ezk@irt.cs.columbia.edu> 10620 10621 * aux/configure.in: look for "isofs" as a possible mount type for 10622 cdfs (RedHat Linux). 10623 10624Wed Jan 14 02:07:05 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 10625 10626 * conf/mount/mount_linux.c (parse_opts): don't look for cdfs mount 10627 type if not defined. 10628 10629 * conf/nfs_prot/nfs_prot_linux.h: don't define __FD_* macros if 10630 already defined. 10631 10632 * aux/configure.in: look for ext2fs before ufs, b/c some linux 10633 have both. 10634 10635Mon Jan 12 15:43:20 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 10636 10637 * Makefile.am (snapshot): allow me to install snapshots into the 10638 ftp directory. 10639 10640 * scripts/ctl-hlfsd.in: don't turn on -D mem by default. 10641 10642 * amd/get_args.c (get_args): minor bug in output of amd -H. 10643 10644Mon Jan 12 03:05:06 1998 Erez Zadok <ezk@chestnut.mcl.cs.columbia.edu> 10645 10646 ******************************************************************* 10647 *** Released am-utils-6.0a15 *** 10648 ******************************************************************* 10649 10650Sun Jan 11 15:06:34 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 10651 10652 * amd/conf.c (*_browsable_dirs): allow specifying 10653 browsable_dirs=full, which will print *all* entries (other than 10654 /default), including those with '*' and '/' characters. 10655 10656 * amd/info_file.c (MAX_LINE_LEN): up maximum readdir chain length 10657 to 1500. 10658 10659 * doc/am-utils.texi: fixed reversed documentation for NFS mount 10660 options vers and proto. 10661 10662 * doc/Makefile.am (install-html): separate target just for 10663 installing html files. Another new target "alldocs" is just for 10664 installing all files needed for the am-utils home page. 10665 10666 * scripts/amd.conf-sample: updated example for log_file. 10667 10668 * scripts/amd.conf.5: updated for new way to declare new syslog 10669 facility in the log_file option. 10670 10671 * amd/amd.8: updated for new way to declare new syslog facility in 10672 the -l option. 10673 10674 * libamu/xutil.c (get_syslog_facility): allow users to specify the 10675 syslog facility as an appended string to the log device. Ex. amd 10676 -l syslog:local7 will use LOG_LOCAL7, while the older -l syslog 10677 will use the default LOG_DAEMON facility. 10678 10679 * amd/get_args.c (get_args): updated new syntax for amd -l 10680 syslog:facility. 10681 10682Thu Jan 8 04:05:10 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 10683 10684 * aux/macros/host_macros.m4: don't confuse sun3 (sparc) with sun3 10685 (intel). 10686 10687 * libamu/wire.c (print_wires): bug fix. Nullify output buffer 10688 before appending to it, on systems with two or more network 10689 interfaces. 10690 10691 * conf/nfs_prot/nfs_prot_sunos5_3.h: add missing definition for 10692 the mntent for cachefs. 10693 10694 * include/am_defs.h: external definition for strstr() should use 10695 const for both arguments. 10696 10697 * aux/configure.in: add extern definitions for getwd() if missing. 10698 10699 * include/am_defs.h: define the extern for strdup() even if the 10700 function does not exist, for it will be filled in by 10701 libamu/strdup.c 10702 10703 * amq/pawd.c (cluster_server): don't use getccent() if the extern 10704 for it isn't there. On hpux 10.20, the function is in libc, but 10705 <cluster.h> and struct cct_entry do not exist. 10706 10707 * aux/configure.in: check for an extern for getccent() b/c some 10708 hpux systems don't have it (hpux 10.20). 10709 10710Wed Jan 7 00:09:19 1998 Erez Zadok <ezk@lorien.cs.columbia.edu> 10711 10712 * doc/am-utils.texi (Amq -T option): manual documentation updates 10713 for new amq options -T/-U. 10714 10715 * amq/amq.8: updated man page for new amq options -T/-U. 10716 10717 * amq/amq.c: two new switches to amq. -U will contact amd using 10718 UDP only. -T will use TCP only. Normally amq will try TCP and 10719 if that failed, will try UDP. 10720 10721 * doc/am-utils.texi (pawd): manual documentation for pawd. 10722 10723 * amq/pawd.1: new man page for pawd. 10724 10725Tue Jan 6 04:21:59 1998 Erez Zadok <ezk@lorien.cs.columbia.edu> 10726 10727 * amq/pawd.c: a new program, Print Automounter Working Directory, 10728 to print the proper pathname of the cwd or any other pathname, 10729 adjusted for automounter paths, while avoiding mount points. 10730 10731 * aux/macros/localconfig.m4: trivial support for am-utils 10732 maintainers to adjust some of the configuration of am-utils after 10733 it has been auto-configured by putting whatever definitions you 10734 wish in a file called localconfig.h, located in the top build 10735 directory (the same one where config.h is created for you). 10736 10737 * doc/am-utils.texi (Caching Filesystem): updated documents for 10738 cachefs file system. 10739 10740 * amd/ops_cachefs.c: initial cachefs support, for solaris. 10741 type:=cachefs, requires cachedir:=/cache/dir/name to be defined 10742 and initialized with cfsadmin -c. $rfs is backdir to be cached 10743 from, and $fs is the local mount point of the cachefs. 10744 10745 * conf/mount/mount_svr4.c (mount_svr4): support mounting of 10746 cachefs file systems. 10747 10748 * amd/ops_cdfs.c: cdfs should be named 'cdfs', not whatever the 10749 mnttab type is. 10750 10751Mon Jan 5 23:22:49 1998 Erez Zadok <ezk@lorien.cs.columbia.edu> 10752 10753 * amd/opts.c: added support for new variable $cachedir. 10754 10755 * include/am_utils.h: added opt_cachedir field to struct am_opts. 10756 10757Sat Jan 3 01:43:57 1998 Erez Zadok <ezk@lorien.cs.columbia.edu> 10758 10759 * amd/ops_nfsl.c (nfsl_ffserver, nfsl_match): also check if the 10760 local hostname does not match $rhost, and if so, also assume 10761 type:=nfs. 10762 10763Fri Jan 2 01:00:40 1998 Erez Zadok <ezk@lorien.cs.columbia.edu> 10764 10765 * updated all source files to add 1998 as a copyright year. 10766 10767 * amd/ops_nfsl.c: new amd meta file system "type:=nfsl". Behaves 10768 like type:=linkx if the pathname denoted by $fs exists, and like 10769 type:=nfs if it does not. A convenient shortcut for the most 10770 popular amd map entry. 10771 10772 * amd/amd.c (main): amd should chdir to / before starting, to 10773 avoid hanging on other NFS server if started elsewhere. 10774 10775 * amd/ops_TEMPLATE.c: added an empty template file for developers 10776 who wish to write new amd pseudo file systems. 10777 10778Thu Jan 1 00:27:28 1998 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 10779 10780 * hlfsd/homedir.c (plt_init): make function exported, to save on 10781 the unnecessary init_homedir() function which was removed. 10782 (table_add): don't use xmalloc() when you can use strdup() 10783 instead. 10784 10785Thu Jan 1 00:15:58 1998 Erez Zadok <ezk@chestnut.mcl.cs.columbia.edu> 10786 10787 * hlfsd/homedir.c (hlfsd_endpwent): Don't actually run this 10788 because we will be making more passwd calls afterwards. On 10789 Solaris 2.5.1, making getpwent() calls after calling endpwent() 10790 results in a memory leak! (and no, even Purify didn't detect 10791 it...) 10792 10793Tue Dec 23 18:23:47 1997 Erez Zadok <ezk@chestnut.mcl.cs.columbia.edu> 10794 10795 * hlfsd/hlfsd.c (main): Bug fix. Don't try to free() an 10796 automatically allocated address. 10797 10798 * amd/ops_afs.c (mount_toplvl): Bug fix. Don't try to free() an 10799 automatically allocated address. 10800 10801 * ALL SOURCES: change every direct call to free() to xfree(), so 10802 it can be mapped to the right debugging function as needed. 10803 10804 * include/am_utils.h: new free() policy. If debugging memory, 10805 call dxfree(), which will print the file name and line number 10806 where the free occurred and the pointer address. if only regular 10807 debugging, then free() and reset the pointer to NULL so it cannot 10808 be used afterwards inadvertently. If not DEBUG at all, then just 10809 run free(). Three different #define macros set the right mapping. 10810 10811 * libamu/xutil.c (dxfree): renamed function to dxfree(), so it can 10812 be called only when debugging the memory. 10813 10814Tue Dec 23 04:24:28 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 10815 10816 * wire-test/wire-test.c (main): use xmalloc() not malloc(). 10817 10818 * conf/transp/transp_tli.c (get_knetconfig): use xzalloc() not 10819 calloc(). 10820 10821 * conf/mtab/mtab_mach3.c (convert): use xzalloc() not calloc(). 10822 10823 * conf/mount/mount_linux.c (parse_opts): use xmalloc() not 10824 malloc(). 10825 10826 * amd/info_ldap.c: use xmalloc() not malloc(). 10827 10828 * libamu/xutil.c (xzalloc): new function to allocate memory and 10829 zero its bytes. 10830 10831 * amq/amq.c: amq does not need its own definition of xfree(). 10832 10833 * aux/macros/opt_debug.m4: if used --enable-debug=mem, then also 10834 look for function malloc_verify() in libmapmalloc.a, and function 10835 mallinfo() in libmalloc. 10836 10837 * libamu/xutil.c (checkup_mem): do not use mallinfo field 10838 uordbytes, because it does not always exist. Rather, compute it 10839 from other fields.. 10840 10841 * include/am_utils.h: add external definition to xfree() function 10842 used when debugging memory references. 10843 10844Mon Dec 22 03:01:30 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 10845 10846 * amd/ops_afs.c (afs_readdir_browsable): reduce the number of 10847 bytes heuristically computed to be returned to the kernel. 10848 Otherwise browsable_dirs fails on OpenBSD 2.2. 10849 10850 * amd/mntfs.c (uninit_mntfs): bug fix. Moved freeing of 10851 mf_private field to AFTER it gets used. 10852 10853Sat Dec 20 00:51:21 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 10854 10855 * amd/ops_host.c (host_umounted): don't use clnt_spcreateerror() 10856 on systems that don't support it. 10857 10858 * include/am_defs.h: add missing extern definition for free(). 10859 10860 * aux/configure.in: check for external definition for free(). 10861 10862 * libamu/Makefile.am: add to comment a mention of strstr as an 10863 optional function. 10864 10865 * libamu/xutil.c (switch_to_logfile): use openlog() options only 10866 if they exist. 10867 10868 * conf/transp/transp_sockets.c (get_nfs_version): don't use 10869 clnt_spcreateerror if it does not exist. 10870 10871 * aux/configure.in: check for missing functions clnt_create and 10872 clnt_spcreateerror. Check for missing strstr, and complete 10873 its code. Check for missing external definition for strstr. 10874 10875 * aux/macros/host_macros.m4: normalize sun3* names. 10876 10877 * Makefile.am: updates for new sunos3 files distributed. 10878 10879 * conf/nfs_prot/nfs_prot_sunos3.h: new file. 10880 10881 * conf/fh_dref/fh_dref_sunos3.h: new file. 10882 10883 * aux/macros/check_nfs_prot_headers.m4: added sunos3 case. 10884 10885 * aux/macros/check_nfs_fh_dref.m4: added sunos3 case. 10886 10887 * doc/am-utils.texi (wire Selector Variable): updated manual for 10888 adjusted variables wire, network, and netnumber, all using the 10889 in_network() function. 10890 10891Fri Dec 19 04:37:36 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 10892 10893 * amd/opts.c: allow options to be processed by executing arbitrary 10894 functions. Converted wire, network, and netnumber all to use the 10895 nomadic function in_network. So from now on they perform a match 10896 against all networks, not just primary. 10897 10898 * initial port to alpha-unknown-linux-gnu, probably works, but 10899 untested yet. 10900 10901 * conf/nfs_prot/nfs_prot_linux.h: add special definitions for 10902 __FD_* macros which for som strange reason do not get included 10903 from <selectbits.h> on redhat alpha linux. Also turn off usage of 10904 <rpc/des_auth.h> because it is incomplete on the same systems. 10905 10906 * hlfsd/homedir.c (table_add): cast uid field to int, for 10907 comparison. 10908 10909 * include/am_defs.h: more coflicts with redhat alpha linux 10910 "resolved". 10911 10912 * aux/macros/{mount_headers,try_compile_anyfs,try_compile_nfs}.m4: 10913 There's a conflict of definitions on redhat alpha linux between 10914 <netinet/in.h> and <linux/fs.h> which must be avoided. 10915 10916 * aux/configure.in: check for <socketbits.h>, which is in use on 10917 redhat alpha linux. 10918 10919 * doc/am-utils.texi (Selectors): added documentation to describe 10920 the new "!" (negated) nomadic functions. 10921 10922 * amd/opts.c (f_in_network): print debugging info that is correct, 10923 rather than saying that any ARG is on a local network. 10924 (eval_opts): added support for negating nomadic functions, by 10925 prepending "!" to their name. Example, !exists(/foo/bar). 10926 10927Thu Dec 18 20:57:19 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 10928 10929 * include/am_compat.h: ensure that all NFS3 systems have the mount 10930 table entries (and amd opts switches) "proto" and "vers". 10931 10932 * hlfsd/homedir.c (table_add): added some debugging info to try 10933 and track down a serious memory leak in hlfsd. 10934 109351997-12-18 Erez Zadok <ezk@t-rex.mcl.cs.columbia.edu> 10936 10937 * libamu/mount_fs.c (compute_nfs_args): OpenBSD 2.2 requires that 10938 you do NOT set the noconn option, and use connected sockets 10939 always. So I'm now forced not to set it at all, and have the user 10940 specify it as "conn" or "noconn" in their /default entry. Argh... 10941 Finally, it looks as if OpenBSD 2.2's NFS 3 implementation may be 10942 buggy (TCP hangs with "short receive" kernel errors). I'd better 10943 wait until they get it working in their version of the automounter 10944 first. So I'm putting the "noconn" option back. 10945 10946Thu Dec 18 02:39:39 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 10947 10948 * libamu/mount_fs.c (compute_nfs_args): use maxgrps option and set 10949 nfs_args field maxgrouplist accordingly. 10950 10951 * include/am_compat.h (MNTTAB_OPT_MAXGROUPS): complete definition 10952 for mount table entry for maxgroups based on NFS mount option 10953 maxgrp. 10954 10955 * aux/configure.in: put back testing for NFS mount option 10956 "maxgrps". Added test for mount table entry "maxgroups". 10957 10958 * libamu/mount_fs.c (compute_nfs_args): perform more careful tests 10959 on nfs_proto, because it could be NULL. 10960 10961 * doc/am-utils.texi (Selectors): added example of in_network() 10962 selector. 10963 10964 * aux/macros/check_hide_mount_type.m4: all hpux versions, 10965 including 9.x, should use "ignore" as the mount type to hide from 10966 amd. 10967 10968Wed Dec 17 13:09:21 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 10969 10970 * include/am_utils.h (NSTREQ): use new macro instead of strncmp() 10971 every where in the sources. 10972 10973Wed Dec 17 01:15:01 1997 Erez Zadok <ezk@lorien.cs.columbia.edu> 10974 10975 * libamu/mount_fs.c (print_nfs_args): if -D trace is on, will 10976 print as much info that is given in struct nfs_args as possible. 10977 useful for detecting internal flags and options, as well as the 10978 file handle used. 10979 10980 * scripts/ctl-amd.in: look for amd.conf file in ${prefix}/etc 10981 after /etc and before /etc/local. 10982 10983Tue Dec 16 18:51:36 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 10984 10985 * aux/configure.in, libamu/Makefile.am: added support for linking 10986 with specific versions of libamu. Upped shared library version of 10987 libamu to 1 (libamu.so.1.0.0) 10988 10989 * include/am_defs.h: added external definition for mkstemp() as 10990 needed. 10991 10992 * minor new port to i386-unknown-netbsd1.3 (BETA version of 10993 netbsd). 10994 10995 * aux/config.guess: don't leave a trailing '.' on the system name 10996 for NetBSD-1.3_BETA and similarly for OpenBSD. 10997 10998 * conf/nfs_prot/nfs_prot_netbsd1_3.h: new header for the slight 10999 differences in ypall calling conventions. 11000 11001 * mk-amd-map/mk-amd-map.c (main): use mkstemp() whenever possible 11002 in preference over mktemp(), b/c it is more secure. 11003 11004 * aux/configure.in: check for mkstemp(), a more secure version of 11005 mktemp(). 11006 11007Mon Dec 15 02:32:14 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11008 11009 * amd/ops_nfs.c (mount_nfs_fh): Systems that include the mount 11010 table "vers" option generally do not set the mnttab entry to 11011 "nfs3", but to "nfs" and then they set "vers=3". Setting it to 11012 "nfs3" works, but it may break some things like "df -t nfs" and 11013 the "quota" program (esp. on Solaris and Irix). So on those 11014 systems, set it to "nfs". 11015 11016Sat Dec 13 01:36:27 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11017 11018 * doc/am-utils.texi (Distrib): updates for new ports, location of 11019 am-utils' home page, and URL cross references (now supported by my 11020 version of texi2html). 11021 11022 * aux/macros/check_mtype_type.m4: also use string type for file 11023 system mount types under nextstep for mount(2). 11024 11025 * aux/macros/check_mtype_printf_type.m4}: nextstep can handle both 11026 integer and string types for file system mount types in mount(2), 11027 but it is better to use string types. 11028 11029 * conf/nfs_prot/nfs_prot_nextstep.h: set emum nfsstat's NFS_OK to 11030 0, not 1! Otherwise, all NFS calls (esp. mount) return errno 1 11031 (EPERM) instead of 0 (OK). Fixes m68k-next-nextstep3 which now 11032 works. 11033 11034 * conf/nfs_prot/nfs_prot_bsdi2.h: set emum nfsstat's NFS_OK to 0, 11035 not 1! Otherwise, all NFS calls (esp. mount) return errno 1 11036 (EPERM) instead of 0 (OK). 11037 11038 * libamu/xdr_func.c (xdr_*): add debugging calls that are optioned 11039 by -D trace (protocol trace). 11040 110411997-12-11 Erez Zadok <ezk@bach.cs.columbia.edu> 11042 11043 * A.m68k-next-nextstep3/amu_nfs_prot.h: define missing S_ISDIR 11044 macro based on existence on others, and include <sys/stat.h>. 11045 11046Thu Dec 11 14:14:38 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11047 11048 * aux/macros/try_compile_nfs.m4 (AC_TRY_COMPILE): turn off 11049 inclusion of <nfs/nfs_mount.h> which only affects nextstep3, on 11050 which this header is broken (it tries to include non-existing 11051 headers). 11052 11053Wed Dec 10 16:09:07 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11054 11055 * libamu/mount_fs.c (mnt_flags): support either nfs or generic 11056 mount option for grpid. 11057 11058 * aux/configure.in: turn back on NFS mount option grpid. 11059 11060Sat Dec 6 04:36:05 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11061 11062 * doc/Makefile.am (install-ps): added target to install postscript 11063 file in the am-utils' home page, as well as a few other useful 11064 files for the new am-utils Web page. 11065 11066Mon Nov 17 05:22:56 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11067 11068 ******************************************************************* 11069 *** Released am-utils-6.0a14 *** 11070 ******************************************************************* 11071 11072Sun Nov 16 21:56:16 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11073 11074 * doc/am-utils.texi (Supported Platforms): updated table of new 11075 ports. 11076 11077Sat Nov 15 06:36:27 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11078 11079 * libamu/mount_fs.c (compute_automounter_nfs_args): pass mnttab 11080 options so that they can be printed in logs as needed. 11081 11082 * doc/am-utils.texi (osver Parameter): updated for the correct 11083 usage of the -o/-O options. 11084 11085 * scripts/amd.conf.5: corrected info for -o/-O options. 11086 11087 * amd/amd.8: updated man page for new -O op_sys_name option, and 11088 corrected the usage of the -o op_sys_ver option 11089 11090 * amd/get_args.c (get_args): added new amd option -O to override 11091 OS name. 11092 (get_args): updated usage string. Removed old -m option. Added 11093 -o and -O options. 11094 11095 * conf/nfs_prot/nfs_prot_irix5.h: add definition to FHSIZE in case 11096 it is not there. Reportedly, irix 5.2 does not define it. 11097 11098 * scripts/lostaltmail.in: removed references to unused $hack 11099 variable. 11100 11101 * aux/macros/check_nfs_prot_headers.m4: Patch from Chris Metcalf 11102 <metcalf@cag.lcs.mit.edu> to correctly set the nfs_prot headers 11103 for solaris2.5. 11104 11105 * doc/am-utils.texi (Distrib): typo in the subscription 11106 instructions to amd-dev. Patch from Stefan Vogel 11107 <vogel@physik-rzu.unizh.ch>. 11108 111091997-11-15 Erez Zadok <ezk@amtrak.cs.columbia.edu> 11110 11111 * NFS3 works on powerpc-ibm-aix4.2.1.0. 11112 11113 * libamu/mount_fs.c (compute_nfs_args): set fh3 variable to 11114 static. Some compilers (gcc from egcs on aix 4.2.1) corrupt the 11115 stack of an automatic variable when pointer to it is passed around 11116 several times. 11117 11118Fri Nov 14 20:09:28 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11119 11120 * libamu/xutil.c (real_plog): syslog like behavior for normal 11121 logging. Will not print repeated strings, only a count "last 11122 message repeated N times", but will always print something if 11123 message is repeated more than 100 times. 11124 11125 * scripts/lostaltmail.in: look for lostaltmail.conf files also in 11126 /etc/global, /etc/os, and /etc/local (in that order). 11127 11128Mon Nov 10 03:03:17 1997 Erez Zadok <ezk@lorien.cs.columbia.edu> 11129 11130 * conf/mount/mount_aix.c (mount_aix3): add support for NFS V.3 11131 mounts. 11132 11133 * aux/macros/struct_nfs_args.m4 (AC_TRY_COMPILE_NFS): test for 11134 aix42_nfs_args, specially set in conf/nfs_prot/nfs_prot_aix4_2.h 11135 11136 * conf/sa_dref/sa_dref_*.h: from now on, the "dst" argument to the 11137 NFS_SA_DREF macro is a pointer to the structure that used to be 11138 passed to it before. So now I have to dereference the pointer 11139 before accessing its values. 11140 11141 * hlfsd/hlfsd.c (main): use the new and cleaner 11142 compute_nfs_args() and compute_automounter_nfs_args() functions. 11143 11144 * amd/ops_nfs.c (mount_nfs_fh): use the new and cleaner 11145 compute_nfs_args() and compute_automounter_nfs_args() functions. 11146 11147 * amd/ops_afs.c (mount_toplvl): MAJOR CODE REVISION. Use the new 11148 and cleaner compute_nfs_args() and compute_automounter_nfs_args() 11149 functions. 11150 11151 * libamu/mount_fs.c (compute_nfs_args): major code cleanup that 11152 relates for struct nfs_args. A new function sets the numerous 11153 possible flags and fields of nfs_args_t in an orderly fashion. 11154 Code cleaned up, organized, and moved from amd/hlfsd into 11155 libamu. This saves on overall size of code. 11156 (compute_automounter_nfs_args): A variant of compute_nfs_args() 11157 which sets special options/flags that need to be used when NFS 11158 mounting an automounter's mount point. Used by hlfsd and amd. 11159 11160 * amq/amq.c (get_secure_amd_client): don't print any more 11161 "get_secure_amd_client: using TCP, port 12345". It's more 11162 annoying than useful a message, even when assumed to be compiled 11163 under DEBUG only. 11164 11165Thu Oct 30 14:33:38 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11166 11167 * aux/macros/check_mnttab_type.m4: MAJOR BUG fixed for non-nfs 11168 mount table entries. The code used to define the /etc/mnttab name 11169 for file systems based on physical media (disk, cdrom, floppy) to 11170 the generic name, rather than the OS specific name. For example 11171 autoconf searches for all these types of mount table entries for a 11172 floppy based file system: vfat pcfs pc msdos msdosfs fat. But if 11173 it found any, it hard-coded the mnttab name to "pcfs" rather than 11174 the actual name found! Same for ufs, cdfs, pcfs, tmpfs, lofs, 11175 nullfs, unionfs, and umapfs. 11176 11177 * aux/configure.in: also test for xfs (for newer Irix) when 11178 looking for mount type names, numbers, etc of a disk-based ufs. 11179 11180Sun Oct 26 19:32:57 1997 Erez Zadok <ezk@defiant.soscorp.com> 11181 11182 * amq/amq.c (main): use pmap_ping() to test if remote host is up. 11183 This works better on bsdi2 and bsdi3, because their portmapper 11184 does not appear to like forwarding operations (it is generaly 11185 insecure). 11186 11187Sat Oct 25 04:55:56 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11188 11189 ******************************************************************* 11190 *** Released am-utils-6.0a13 *** 11191 ******************************************************************* 11192 11193Fri Oct 24 05:04:37 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11194 11195 * conf/nfs_prot/nfs_prot_ncr2.h: added missing definition for 11196 struct datum typedef. 11197 11198 * conf/nfs_prot/nfs_prot_netbsd.h: corrected typedef for 11199 ypall_callback_fxn_t for netbsd. 11200 11201 * aux/macros/type_auth_create_gidlist.m4: hpux10.10 uses int for 11202 the 5th arg to authunix_create(), while before and after they used 11203 gid_t. 11204 11205 * conf/transp/transp_tli.c (amu_clnt_create_best_vers): don't use 11206 clnt_create_timed() on older Solaris 2.3 systems that did not have 11207 it. 11208 11209 * conf/nfs_prot/nfs_prot_bsdi2.h: <msdosfs/msdosfsmount.h> is for 11210 kernel only on bsdi2, so do not include it. 11211 11212Fri Oct 24 00:29:42 1997 Erez Zadok <ezk@lorien.cs.columbia.edu> 11213 11214 * hlfsd/stubs.c (nfsproc_readlink_2_svc): avoid logging repeated 11215 messages about resolution of mailboxes based on uid/gid. 11216 11217 * scripts/ctl-hlfsd.in: check for alternate password file in 11218 ${prefix}/etc/passwd and use it in hlfsd's startup. 11219 11220Thu Oct 23 22:48:50 1997 Erez Zadok <ezk@lorien.cs.columbia.edu> 11221 11222 * hlfsd/homedir.c (hlfsd_getpwent): added support for -P 11223 passwdfile option. If hlfsd is started with -P passwdfile, then 11224 the passwdfile is read and parsed just as a standard unix 11225 passwd(4) file. Only the username, uid, and homedir fields are 11226 read and checked. All the rest are ignored. No NIS/netgroup 11227 support! 11228 11229 * hlfsd/hlfsd.c (main): check if hlfsd is run as root after 11230 parsing command line options, so that usage() can be printed when 11231 -h is invoked. 11232 11233Wed Oct 22 00:16:39 1997 Erez Zadok <ezk@lorien.cs.columbia.edu> 11234 11235 * amd/nfs_start.c (mount_automounter): if autofs service listener 11236 fails to initialize it is OK if using a test amd. 11237 11238 * amd/opts.c (f_in_network): new nomadic function in_network(arg), 11239 which returns TRUE if 'arg' is any one of this host's networks. 11240 11241 * libamu/wire.c (getwire): rewritten parts of function, to store 11242 all networks names and numbers in the order of the interface (not 11243 in reverse). 11244 11245Mon Oct 20 01:59:25 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11246 11247 * aux/configure.in: don't add ops_ufs.o on AIX twice. My code 11248 would have worked had it not been due to AIX's buggy /bin/sh. 11249 11250 * doc/Makefile.am (EXTRA_DIST): include am-utils.dvi and 11251 am-utils.ps in the distribution sources. 11252 (html): generate html documentation for 11253 http://www.am-utils.org 11254 11255Sun Oct 19 12:35:49 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11256 11257 * conf/nfs_prot/nfs_prot_netbsd.h: override the definition of 11258 ypall_callback_fxn_t. The NetBSD team compiles all sources with 11259 gcc -Wall -Wmissing-prototypes -Wstrict-prototypes. 11260 11261 * amd/info_nis.c: allow for override of ypall_callback_fxn_t 11262 function typedef. 11263 11264 * libamu/xutil.c (amu_release_controlling_tty): new function to 11265 release the controlling tty in a clean and sane manner. No longer 11266 using setpgid() b/c it may not work. Uses setsid(), 11267 and ioctl() (in order). This new function is used in amd/amd.c 11268 and hlfsd/hlfsd.c. Also avoid setpgrp(), because it works on some 11269 systems, but on others it is the same as setpgid(). 11270 11271Sat Oct 18 23:42:40 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11272 11273 * aux/acconfig.h: check for nfs mount option 'fsname'. Code for 11274 it was in amd/ops_afs.c, amd/ops_nfs.c, and hlfsd/hlfsd.c, but 11275 never used, because the configure test for fsname flag wasn't 11276 used. This fixed a bug in HPUX 10, where syncer and manual mounts 11277 left blank lines in /etc/mnttab. 11278 11279 * aux/configure.in: check for nfs mount option 'fsname'. 11280 11281Fri Oct 17 13:30:27 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11282 11283 * amd/ops_afs.c (mount_toplvl): turn on 'ignore' option in nfs 11284 mount flags of toplvl mounts. Important esp. for HPUX 10. Now 11285 hpux-10 will mount amd's mounts points as 'ignore' (by df). 11286 11287 * aux/configure.in: check for NFS mount option 'ignore', useful in 11288 HPUX 10. 11289 11290Thu Oct 16 03:28:33 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11291 11292 * aux/macros/check_hide_mount_type.m4: hpux 10 should use "ignore" 11293 mount type and not NFS, for the amd mount points. 11294 11295 * conf/transp/transp_tli.c (amu_clnt_create_best_vers): don't log 11296 an RPC timeout as an error, but just an info message. From 11297 Andreas Stolcke <stolcke@speech.sri.com> 11298 11299 * If the NFS server is down or does not support the portmapper 11300 call (such as certain Novell NFS servers) we mark it as version 2 11301 and we let the nfs code deal with the case that is down. If when 11302 the server comes back up, it can support NFS V.3 and/or TCP, it 11303 will use those. From christos@deshaw.com (Christos Zoulas). 11304 11305 * hlfsd/homedir.c (plt_print): various compile time cleanups to 11306 printfs that take a long, but pass an int to print. From 11307 christos@deshaw.com (Christos Zoulas). 11308 11309 * aux/macros/func_bad_yp_all.m4 (ac_cv_func_yp_all_clean,): new 11310 macro to determine if the OS has a bad yp_all(), based on the host 11311 OS name. So far only irix (all versions) have a bad yp_all, so 11312 they will use am_yp_all() instead (which is slower as it 11313 enumerates manually all of the map's entries). 11314 11315Thu Oct 16 03:14:37 1997 Erez Zadok <ezk@subzero.cs.columbia.edu> 11316 11317 * amd/info_nis.c (am_yp_all): code for a replacement yp_all that 11318 avoids using a file-descriptor leaking yp_all() on some systems 11319 like irix. 11320 11321Wed Oct 15 21:52:35 1997 Erez Zadok <ezk> 11322 11323 * fsinfo/fsinfo.h: avoid redefining yywrap incorrectly on DU-4.x 11324 systems using /usr/bin/flex. 11325 11326 * amd/conf_tok.l (yywrap): avoid redefining yywrap for systems 11327 that have a modified GNU flex which does define yywrap (DU-4.x). 11328 11329Fri Sep 26 14:25:29 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11330 11331 * conf/checkmount/checkmount_bsd44.c: include prototype. 11332 11333Fri Sep 26 01:26:24 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11334 11335 ******************************************************************* 11336 *** Released am-utils-6.0a12 *** 11337 ******************************************************************* 11338 11339Fri Sep 26 00:13:48 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11340 11341 * conf/nfs_prot/nfs_prot_irix6.h: completely turn off all autofs 11342 code in irix6 until it can be tested correctly 11343 11344 * conf/transp/transp_tli.c (amu_clnt_create_best_vers): time out 11345 on clnt_create for 3 seconds, rather than wait for the much longer 11346 default. 11347 11348 * conf/nfs_prot/nfs_prot_aix4_2.h: port to powerpc-ibm-aix4.2.1.0. 11349 Includes NFS3, untested. 11350 11351Thu Sep 25 11:03:11 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11352 11353 * amd/ops_pcfs.c (mount_pcfs): fill in uid/gid fields of 11354 pcfs_args_t if they exist. 11355 11356 * amd/ops_cdfs.c (mount_cdfs): fill in ssector field of 11357 cdfs_args_t if it exists. 11358 11359 * new minor ports hppa1.1-hp-hpux10.10, hppa1.1-hp-hpux9.05, 11360 hppa1.1-hp-hpux9.07, m68k-hp-hpux9.00, and sparc-sun-sunos4.1.4. 11361 11362Wed Sep 24 00:48:05 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11363 11364 * doc/am-utils.texi (wire-test): updated documentation for the new 11365 option. 11366 11367 * wire-test/wire-test.8: updated man page for new option. 11368 11369 * wire-test/wire-test.c (main): added a test for various 11370 combinations of NFS proto/vers to a remote/local host. 11371 11372 * aux/macros/try_compile_anyfs.m4 (AC_TRY_COMPILE): include 11373 <isofs/cd9660/cd9660_mount.h> and <msdosfs/msdosfsmount.h> so that 11374 freebsd will correctly set mount options for pcfs and cdfs. 11375 11376 * amd/ops_pcfs.c (mount_pcfs): set mask field of pcfs_args to 11377 0777 (if field exists). 11378 11379 * aux/macros/try_compile_anyfs.m4 (AC_TRY_COMPILE): include 11380 <msdosfs/msdosfsmount.h> if available. 11381 11382 * minor new port: rs6000-ibm-aix4.1.4.0. 11383 11384 * libamu/mount_fs.c (mount_fs): fixed bug that caused HPUX not to 11385 write the "time" field in /etc/mnttab. 11386 11387 * conf/mtab/mtab_file.c (mnt_dup): fixed typo in macro names for 11388 detecting mnt_time field of mntent_t. 11389 11390 * libamu/mtab.c (mnt_free): fixed typo in macro names for 11391 detecting mnt_time field of mntent_t. 11392 11393Tue Sep 23 15:30:03 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11394 11395 * conf/mtab/mtab_file.c (lock): Use flock() in preference over 11396 fcntl() to lock the mtab file. 11397 11398Mon Sep 22 23:04:58 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11399 11400 * conf/transp/transp_sockets.c (get_nfs_version): define 11401 the try_again goto label only for NFS3. 11402 (pmap_ping): assume timeout failure of clnt_stat. 11403 11404 * libamu/xdr_func.c (xdr_groupnode, xdr_exportnode): cast to 11405 "groups *". 11406 11407Mon Sep 22 20:34:33 1997 Erez Zadok <ezk@lorien.cs.columbia.edu> 11408 11409 * conf/transp/transp_sockets.c (pmap_ping): patch from Dan Riley 11410 <dsr@mail.lns.cornell.edu> to make sure that amd works with more 11411 secure portmappers that do not allow forwarding of RPC messages to 11412 other services. 11413 11414 * */Makefile.am: all source files should also depend on the new 11415 include/am_xdr_func.h header. 11416 11417 * include/am_xdr_func.h: new file as part of the code cleanup from 11418 Christos Zoulas <christos@deshaw.com>. 11419 11420 * Lots of fixes from Christos Zoulas <christos@deshaw.com> that 11421 involved missing prototypes, cleaned up ones, and removal of 11422 unused variables. 11423 11424 * libamu/xdr_func.c (xdr_mountres3): some code cleanup. A switch 11425 statement with only one case is unclean. 11426 11427Mon Sep 22 17:26:38 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11428 11429 * amd/ops_<FOO>fs.c (mount_<FOO>fs): initialize mntent_t fields to 11430 0 so that all fields are initialized to zero at first. This way 11431 SunOS 4.x and other systems don't get /etc/mtab entries with 11432 random integers for the fsck/freq fields. Patch from Andreas 11433 Stolcke <stolcke@speech.sri.com>. 11434 11435Mon Sep 22 00:34:19 1997 Erez Zadok <ezk@americas.psl.cs.columbia.edu> 11436 11437 * conf/nfs_prot/nfs_prot_sunos4.h: include <nfs/nfs_clnt.h> so 11438 that the important definition for HOSTNAMESZ will be found. 11439 11440 * amd/ops_afs.c (mount_toplvl): limit hostname size to HOSTNAMESZ 11441 (inside the nfs_args structure) if the system uses that macro. 11442 Otherwise systems like SunOS refuse to NFS mount long pathnames 11443 and result in ENAMETOOLONG errno's. 11444 11445Wed Sep 17 04:56:11 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11446 11447 * doc/am-utils.texi (Supported Platforms): specify new support for 11448 solaris 2.6, and hlfsd running on 2.5.1 too. 11449 11450Wed Sep 17 03:55:02 1997 Erez Zadok <ezk@amsterdam.psl.cs.columbia.edu> 11451 11452 * conf/mount/mount_svr4.c (mount_svr4): don't attemt an autofs 11453 mount if it is not supported or was turned off. 11454 11455Wed Sep 17 03:19:36 1997 Erez Zadok <ezk@americas.psl.cs.columbia.edu> 11456 11457 * conf/nfs_prot/nfs_prot_sunos4.h: fixed so that it will nfs mount 11458 again. Apparently at some previous release SunOS 4 supported was 11459 broken and all nfs mounts resulted in ESTALE. 11460 11461Wed Sep 17 00:26:25 1997 Erez Zadok <ezk@amsterdam.psl.cs.columbia.edu> 11462 11463 * conf/nfs_prot/nfs_prot_sunos5_6.h: nfs protocol headers for 11464 solaris 2.6. 11465 11466 * aux/macros/check_nfs_prot_headers.m4: added solaris 2.6 nfs 11467 protocol header selection. 11468 11469Sat Sep 13 14:31:51 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11470 11471 * conf/transp/transp_tli.c (amu_clnt_create_best_vers): avoid 11472 infinite loop. 11473 11474Sun Sep 7 18:23:23 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11475 11476 ******************************************************************* 11477 *** Released am-utils-6.0a11 *** 11478 ******************************************************************* 11479 11480Fri Sep 5 11:55:10 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11481 11482 * amd/amd.c (main): if plock() succeeded, don't try to display 11483 errno message. Patch from Chris Metcalf 11484 <metcalf@catfish.lcs.mit.edu. 11485 11486Thu Sep 4 19:17:58 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11487 11488 * hlfsd/homedir.c (table_add): make sure duplicate passwd entries 11489 are ignored. Only the first entry should ever be used, because 11490 that's how lookup in passwd database works. 11491 11492 * conf/transp/transp_sockets.c (get_nfs_version): when determining 11493 if a remote host is up or down, use NFS v.2. Fix suggested by 11494 Enami Tsugutomo <enami@cv.sony.co.jp>. 11495 11496 * conf/transp/transp_tli.c (amu_clnt_create_best_vers): new 11497 function to get the best possible NFS version, but also timeout 11498 faster than normal defaults, so remote hosts which are down can be 11499 detected in a reasonable time. 11500 (get_nfs_version): use the new "best" function. 11501 11502Tue Sep 2 00:41:00 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11503 11504 ******************************************************************* 11505 *** Released am-utils-6.0a10 *** 11506 ******************************************************************* 11507 11508Mon Sep 1 15:39:51 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11509 11510 * conf/transp/transp_tli.c (get_nfs_version): don't use 11511 clnt_tp_create_timed() on systems that don'e have it (Solaris 2.4 11512 and earlier). 11513 11514 * aux/configure.in: test for existence of clnt_tp_create_timed(), 11515 since Solaris 2.4 (and possibly earlier) do not have it. 11516 11517Mon Sep 1 15:23:18 1997 Erez Zadok <ezk@felix.psl.cs.columbia.edu> 11518 11519 * amd/ops_autofs.c (autofs_unmount_1_svc): only display rdevid 11520 field if it exists (solaris 2.4's autofs does not have it). 11521 11522Mon Sep 1 14:45:09 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11523 11524 * aux/macros/type_auth_create_gidlist.m4: a new test to determine 11525 the correct type to the 5th argument of authunix_create(). 11526 11527Mon Sep 1 03:44:32 1997 Erez Zadok <ezk@felix.psl.cs.columbia.edu> 11528 11529 * libamu/xdr_func.c (xdr_umntrequest): add test for autofs 11530 structure umntrequest, if it has the field rdevid. Seems Solaris 11531 2.4 and earlier didn't have it. 11532 11533Mon Sep 1 01:10:53 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11534 11535 * hlfsd/hlfsd.c (hlfsd_init): moved initialization upwards, so it 11536 can be done before primary process forks. 11537 (main): bug fix: wait a bit to give child a chance to initialize. 11538 Without this, hlfsd got into a busy infinite loop while, never 11539 completing the mount. 11540 11541 * amd/info_nis.c: patch from Jason Thorpe <thorpej@nas.nasa.gov> 11542 to make amd works when talking to NIS+ servers in NIS 11543 compatibility mode. 11544 11545Mon Sep 1 00:46:56 1997 Erez Zadok <ezk@lorien.cs.columbia.edu> 11546 11547 * amd/mapc.c (MAX_CHAIN): increased maximum chain size to 1024. 11548 11549Sun Aug 31 20:20:40 1997 Erez Zadok <ezk@lorien.cs.columbia.edu> 11550 11551 * amd/conf.c (gopt_fully_qualified_hosts): a new function to 11552 process another new global variable. 11553 11554 * amd/ops_nfs.c (make_nfs_auth): if a new global variable 11555 fully_qualified_hosts is on, use FQHN in RPC/NFS authentications. 11556 Patch from Chris Metcalf <metcalf@catfish.lcs.mit.edu>. 11557 11558 * amd/conf.c (process_last_regular_map): If the amd.conf file only 11559 has a [global] section (pretty useless IMHO), do not try to 11560 process a map that does not exist. 11561 11562 * scripts/amd.conf.5: fixed typos (repeated 'as' word). 11563 11564 * doc/am-utils.texi: MAJOR DOCUMENTATION REVISION COMPLETED!!! 11565 11566 * amd/conf.c (reset_cf_map): Bug fix. Reset 'tag' field of cfm 11567 structure, so it does not carry over from map entry to another. 11568 11569Sat Aug 30 18:39:21 1997 Erez Zadok <ezk@lorien.cs.columbia.edu> 11570 11571 * amd/amd.c (main): fixed the meaning of the plock option. A bug 11572 caused it to be reversed. 11573 11574Sat Aug 30 15:13:18 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11575 11576 * hlfsd/stubs.c: don't initialize some statics here. They are 11577 better initialized in hlfsd_init_filehandles(). 11578 11579Fri Aug 22 14:47:16 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11580 11581 * amd/conf.c (gopt_show_statfs_entries): new function and a global 11582 amd.conf key show_statfs_entries. Defaults to 'no'. If 'yes', 11583 then all maps flagged as browsable will also show a count of the 11584 number of entries (keys) in that map. 11585 11586 * amd/nfs_subr.c (count_map_entries): new function to count number 11587 of entries in a map. Now used if browsable is turned on in a map, 11588 to return a count of available keys in a given map. 11589 11590 * hlfsd/stubs.c (eq_fh): use correct memcmp(). BUG fixed! hlfsd 11591 confused the file handles for ".", "..", and the symlink, causing 11592 mess. 11593 11594 * aux/macros/func_bad_memcmp.m4: new test, based on autoconf 2.12, 11595 but also defines HAVE_BAD_MEMCMP, so I avoid linkage conflicts 11596 with bad memcmp() in libc's (nextstep3). 11597 11598Thu Aug 21 17:38:41 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11599 11600 * aux/configure.in: check if autofs_args_t has a field named 11601 addr. Solaris has it for specifying the address of the daemon, 11602 but Irix does not. So how does irix tell the kernel the daemon's 11603 address? I suspect that it is hardcoded to "localhost" using a 11604 "private well-known port" (#define AUTOFS_PORT 2048). 11605 11606 * conf/nfs_prot/nfs_prot_linux.h: added missing autofs 11607 definitions. 11608 11609 * README.autofs: new file listing autofs support notes 11610 11611 * very preliminary autofs code working. Call it pre-alpha 11612 quality. 11613 11614Sun Aug 17 02:25:09 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11615 11616 * amd/conf.c (ropt_mount_type, gopt_mount_type): don't accept 11617 "autofs" if system does not support it. 11618 11619 * amd/amd.c (main): log am-utils version string (same as amd -v) 11620 at start of run. 11621 11622 * conf/transp/transp_sockets.c (get_nfs_version): in order to tell 11623 if a remote host is available, try to contact its portmapper and 11624 timeout if no answer is received in 3 seconds. 11625 11626Thu Aug 14 16:12:04 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11627 11628 * aux/macros/check_extern.m4 (pattern): use a simpler pattern for 11629 match for external function definitions. The function could span 11630 multiple lines, so only match the opening parenthesis, not the 11631 closing one too. 11632 11633 * aux/macros/os_cpp-flags.m4 (ac_cv_os_cppflags,): do NOT turn on 11634 posix mode for nextstep3. It is broken. 11635 11636 * amd/amd.c (init_global_options): run uname() only if 11637 <sys/utsname.h> and uname(2) exist. 11638 11639 * amd/rpc_fwd.c (fwd_packet): if remote host is down, the 11640 forwarding socket is null, so declare this an error. 11641 11642 * include/am_utils.h (AM_ERRNO_HOST_DOWN): find best errno to set 11643 for when a remote host is down. Try, in order, "host down", "host 11644 unreachable", "invalid argument". 11645 11646 * amd/ops_nfs.c (discard_fh): don't dereference a null pointer 11647 (happens when remote host is down, and fp->fh_fs is NULL). 11648 (prime_nfs_fhandle_cache): ditto, and set fs flags to !FSF_VALID 11649 and FSF_DOWN. 11650 11651 * amd/sched.c: nobody uses "union wait" any more, or so it 11652 appears, so clean up that code. 11653 11654 * conf/transp/transp_tli.c (get_nfs_version): if remote host is 11655 down, time it out faster than default (3 seconds). 11656 (get_mount_client): free netconfig entry when done with it. 11657 11658 * conf/nfs_prot/nfs_prot_nextstep.h: initial (and somewhat ugly) 11659 port to nextstep3 (m68k-next-nextstep3). 11660 11661 * fsinfo/Makefile.am (LDADD): needs to link with libamu in case 11662 system does not have strdup(). 11663 11664 * include/am_defs.h: complete external definition for getlogin() 11665 if needed. 11666 11667 * conf/transp/transp_tli.c (get_nfs_version): no need to keep 11668 static versout variable. 11669 11670 * amd/rpc_fwd.c (fwd_packet): if fwdto packet is null, remote 11671 server is probably down. Don't use sendto() in that case. 11672 11673 * buildall (default): run gmake if found, before trying plain 11674 make. GNU make is always preferable. 11675 11676Tue Aug 12 21:23:58 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11677 11678 * aux/macros/host_macros.m4: cleanup of os_version and os 11679 overrides. Solaris 2.5.1 for example will come up as solaris2 and 11680 2.5.1, rather than sunos5 and 5.5.1. Both can be overridden in 11681 the amd.conf file. 11682 11683Fri Aug 8 14:37:30 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11684 11685 ******************************************************************* 11686 *** Released am-utils-6.0a9 *** 11687 ******************************************************************* 11688 11689Thu Aug 7 00:52:14 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11690 11691 * conf/nfs_prot/nfs_prot_ncr2.h: new file, for NCR2 11692 (i486-ncr-sysv4.3.03) headers. Needed to complete missing stuff 11693 from <ndbm.h> and <sys/resource.h>. 11694 11695 * scripts/amd.conf.5: new map page. 11696 11697 * amd/info_hesiod.c: define extern for hesiod_resolve, since bsdi3 11698 does not. 11699 11700 * amd/amd.8: updated man page. 11701 11702 * amd/get_args.c (get_args): removed defunct -h option to amd. 11703 11704 * amq/amq.8: updated man page. 11705 11706 * amd/info_nisplus.c (nisplus_search): prototype fixes so Sun 11707 SparcCompiler CC won't complain. 11708 11709 * amd/info_hesiod.c (hesiod_search): small fixes to compile with 11710 hesiod-1.3, as per Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>. 11711 11712 * aux/macros/opt_ldflags.m4: new option added to configure 11713 --enable-ldflags, to specify -L option for configuring/compiling. 11714 The older one --enable-libs is now to be used only for -l options. 11715 11716 * amd/ops_nfs.c (mount_nfs_fh): bug fixed. Should initialize 11717 nc_protoname from nfs_proto if available for all TLI systems, not 11718 just those that have NFS V3. 11719 11720 * amd/info_ldap.c: ldap patches from Leif Johansson 11721 <leifj@matematik.su.se>, adding two new amd.conf ldap variables: 11722 ldap_cache_seconds and ldap_cache_maxmem. 11723 11724 * hlfsd/hlfsd.c (main): bug fixed. port number must be wrapped in 11725 htons(). 11726 11727Sun Aug 3 17:20:05 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11728 11729 * amd/nfs_start.c (mount_automounter): register amd with the rpc 11730 program number that may have been overridden by amd.conf. 11731 11732 * libamu/xutil.c (set_amd_program_number, get_amd_program_number): 11733 allow storing and retrieving alternate amd program numbers. 11734 11735 * amd/conf.c (gopt_portmap_program): new function to parse 11736 amd.conf entry portmap_program=1234. 11737 11738 * amq/amq.c (main): allow specifying an alternate rpc program 11739 number for amd via -P prognum. 11740 11741 * new amq RPC to get the process id of the running amd. This is 11742 used in ctl-amd to quickly find the pid of the amd that is to be 11743 killed. 11744 11745 * expanded shared libraries support. Using GNU libtool-1.0, 11746 am-utils now builds shared libraries on many platforms that have 11747 support for it and proper compilers/linkers. See "INSTALL" file 11748 for compatibility chart. 11749 11750Thu Jul 31 13:07:23 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11751 11752 * fsinfo/fsi_lex.l: removed code that was in support of very old 11753 versions of flex. No longer needed. 11754 11755Tue Jul 29 12:00:13 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11756 11757 * amd/amd.c (init_global_options): find the kernel architecture 11758 from uname() if possible. 11759 11760Mon Jul 28 03:53:59 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11761 11762 * new working port: i386-unknown-openbsd2.1 11763 11764Fri Jul 25 03:16:31 1997 Erez Zadok <ezk@felix.psl.cs.columbia.edu> 11765 11766 * working port: sparc-sun-solaris2.4. Had to fix fhandle_t from 11767 structure to actual char[], because the structure was passed to 11768 xdr_fhandle as data and not a pointer. Surprisingly, gcc 11769 -fpcc-struct-return did not help. 11770 11771 * conf/nfs_prot/nfs_prot_sunos5_4.h: special nfs protocol 11772 definitions for solaris 2.4 have to be different from 2.3, and 11773 different from 2.5. 11774 11775 * libamu/xdr_fhstatus.c (xdr_fhstatus): minor code cleanup. 11776 11777Thu Jul 24 16:22:39 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11778 11779 * conf/mount/mount_svr4.c (mount_svr4): use STREQ to compare mount 11780 types, not ==. Fix from Christos Zoulas <christos@deshaw.com>. 11781 11782 * mk-amd-map/mk-amd-map.8: man page taken from bsd44. 11783 11784Thu Jul 24 00:01:55 1997 Erez Zadok <ezk@moisil.cs.columbia.edu> 11785 11786 * conf/mount/mount_linux.c: made the nfs error mapping code into a 11787 small function. 11788 11789Wed Jul 23 16:11:49 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11790 11791 * conf/nfs_prot/nfs_prot_linux.h (NFS_ERROR_MAPPING): special 11792 error mappings from errno numbers to NFS errors. From Debian 11793 Linux. 11794 11795 * scripts/am-eject.in (fs): new script (taken from Debian Linux 11796 folks) to auto-unmount floppy/cd devices before ejecting them. 11797 11798 * fsinfo/wr_exportfs.c (write_exportfs): from Debian folks, pass 11799 '5' as second arg to show_area_being_processed. I'm not sure why. 11800 11801 * fsinfo/wr_atab.c (write_atab): from Debian folks, pass '5' as 11802 second arg to show_area_being_processed. I'm not sure why. 11803 11804 * conf/mount/mount_linux.c (parse_opts): as per Debian Linux, 11805 ensure that you have a buffer in *xopts to strcat onto. 11806 (mount_linux): fixed from Debian folks to ensure that NFS mount 11807 sockets are connected only for kernels prior to 1.3.10 (avoids 11808 hangs for multi-homed hosts). 11809 11810 * amd/mapc.c (make_entry_chain): from Debian folks: don't skip 11811 over amd map keys that have a prefix, and include the prefix in 11812 the returned readdir(). 11813 11814 * amd/info_passwd.c (passwd_init, passwd_search): format 11815 enhancements from the Debian Linux folks. They added 11816 - var0:=pw-prefix:=anydir 11817 - var1:=pw-rhost:=dom3.dom2.dom1 11818 - var2:=pw-user:=user 11819 - var3:=pw-home:=/anydir/dom1/dom2/dom3/user 11820 11821 * new ports: sparc-sun-solaris2.4 and sparc-sun-sunos4.1.1. 11822 11823 * amd/ops_afs.c (afs_retry): patches from Debian Linux. If 11824 afs_mount timed out, then explicitly forbid further retries after 11825 the timeout. (afs_bgmount): bug fix from Debian Linux. Timeout 11826 values (17 and 5) were mistakenly swapped. 11827 11828Wed Jul 23 15:53:25 1997 Erez Zadok <ezk@felix.psl.cs.columbia.edu> 11829 11830 * conf/nfs_prot/nfs_prot_sunos5_3.h: turn off non-existent NFS V.3 11831 support for Solaris 2.4 (the header files incorrectly define parts 11832 of the NFS V.3 protocol, but the kernel does not support it). 11833 11834Wed Jul 23 00:07:12 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11835 11836 * amd/info_hesiod.c: minor cleanup to use hes_init and hesiod_init 11837 for determining if using old or new hesiod libraries, 11838 respectively. 11839 11840 * amd/ops_nfs.c (mount_nfs_fh): If "noconn" option exists in NFS 11841 V.3 then use non-connected sockets (both TCP and UDP). Otherwise 11842 they cause hangs of mounts from multi-homed hosts when the return 11843 route is not the same as the outgoing route (esp. on NetBSD 11844 1.2.1). If "conn" option was supplied, then don't turn on the 11845 "noconn" mount option. Otherwise default to "noconn" mount 11846 option. 11847 11848 * aux/configure.in: better check for systems that need libgdbm and 11849 <ndbm.h> 11850 11851Tue Jul 22 04:02:05 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11852 11853 * hlfsd/hlfsd.c (main), amd/ops_afs.c (mount_toplvl): ensure that 11854 mounts are hidden from df(1) on systems that keep mount tables in 11855 kernel, such as osf1. 11856 11857Tue Jul 22 02:26:55 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11858 11859 ******************************************************************* 11860 *** Released am-utils-6.0a8 *** 11861 ******************************************************************* 11862 11863Mon Jul 21 21:33:19 1997 Erez Zadok <ezk@stone.mcl.cs.columbia.edu> 11864 11865 * hlfsd/hlfsd.c (main): bug fixed: forgot to set sin_family to 11866 AF_INET when hlfsd mounts itself, thus getting an errno "protocol 11867 family not supported". 11868 11869Mon Jul 21 20:46:59 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11870 11871 * verified that amd on NetBSD 1.2.1 (i386) works, but the OS 11872 itself is flaky. 11873 11874 * verified that amd AIX 3 works w/ the new readdir() code. 11875 11876Mon Jul 21 18:59:30 1997 Erez Zadok <ezk@chestnut.mcl.cs.columbia.edu> 11877 11878 * amd/mapc.c (maptypes): changed the default map caching type for 11879 nis and ndbm maps to "MAPC_ALL", so that all possible entries will 11880 be available to amd for browsable_dirs=yes. 11881 11882Mon Jul 21 18:04:16 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11883 11884 * amd/ops_afs.c (afs_readdir, afs_readdir_browsable): split 11885 afs_readdir into a browsable version and a non-browsable one. 11886 Fixed bugs that resulted in an infinite nfs_readdir loop on the 11887 localhost for some operating systems. 11888 11889Sat Jul 19 19:38:38 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11890 11891 * amd/ops_afs.c (afs_readdir): fixed up the browsable code to 11892 comply with nfs_readdir specs. It was returning all entries at 11893 once, even if there was not enough space in the RPC packet. Now, 11894 it sends a reasonably sized chunk, and sets static state to resume 11895 it for the next continuation RPC of readdir. 11896 11897 * amd/conf.c (set_conf_kv): fixed bug that resulted in the first 11898 regular map not getting all of the [global] options defaulted from. 11899 11900Fri Jul 18 00:45:12 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11901 11902 * amq/amq.c (main): fixed so that portmapper "ping" will only fail 11903 upon an RPC timeout 11904 11905 * scripts/ctl-{amd,hlfsd}.in (killproc): better method to find the 11906 amd/hlfsd process to kill. 11907 11908 * amd/ops_afs.c (mount_toplvl), hlfsd/hlfsd.c (main): code to 11909 determine how to avoid df from seeing amd's toplvl mounts. Moved 11910 from libamu/mount_fs.c and include/am_utils.h. Ensure that hlfsd 11911 is hidden from df. 11912 (mount_toplvl): fixed df types for irix. 11913 11914Thu Jul 17 21:59:45 1997 Erez Zadok <ezk@americas.psl.cs.columbia.edu> 11915 11916 * amq/amq.c (main): fixed bug that caused the 5 second timeout for 11917 TLI amq using udp to be ignored. 11918 (main): if amq cannot contact remote host's portmapper within 5 11919 seconds, timeout and fail faster than the default longer timeout 11920 (this is for non-TLI systems). 11921 11922Thu Jul 17 17:08:13 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11923 11924 * amq/amq.c (get_secure_amd_client): if amq cannot contact 11925 remote host's portmapper within 5 seconds, timeout and fail faster 11926 than the default TLI timeout of over 4 minutes. 11927 11928 * amd/am_ops.c (ops_showfstypes): added styles for new bsd44 11929 file systems nullfs, unionfs, and umapfs. 11930 (ops_show1): cleanup code and and reuse this function. 11931 (vops): empty placeholders for nullfs, unionfs, and umapfs. 11932 11933 * amd/ops_{nullfs, unionfs, umapfs}.c: 3 new empty templates for 11934 bsd44 style file systems. 11935 11936 * fsinfo/fsinfo.8: man page for fsinfo rewritten from bsd44 11937 sources. 11938 11939 * amd/conf_tok.l, fsinof/fsi_lex.c: undefine ECHO to avoid 11940 conflict with systems that define it in <sys/ioctl.h> and also 11941 define a conflicting one via lex. Newer versions of f/lex are ok. 11942 11943Wed Jul 16 00:17:45 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11944 11945 * amd/ops_nfs.c (mount_nfs_fh): fill in nfs_args' fields 11946 acdirmin/max and acregmin/max only if they exist. 11947 11948 * aux/configure.in: test for nfs_args fields acdirmin and 11949 acregmin. 11950 11951Tue Jul 15 17:24:09 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11952 11953 * aux/configure.in: commented out checking for MNT2_GEN_OPT_* for 11954 "nondev" and commented back in checking for "nodev". This was a 11955 typo. 11956 11957 * include/am_compat.h: more compatibility options: define "ro" 11958 mnttab option all the time. Define "overlay" as needed. Added 11959 more fillers of mnttab options (as per Daniel S. Riley 11960 <dsr@mail.lns.cornell.edu>), for acdirmax, acdirmin, acregmax, 11961 acregmin, noac, grpid, nosuid, and actimo. 11962 11963 * libamu/mount_fs.c (mnt_flags): fixed a typo in "ro" option as 11964 per dsr@mail.lns.cornell.edu (Daniel S. Riley). Then cleaned up 11965 the same code for other options in struct opt_tab. 11966 11967Mon Jul 14 22:36:37 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11968 11969 * amd/get_args.c (get_args): moved amd.conf file parsing to before 11970 the switching the default log/debug options. Suggested by 11971 dsr@mail.lns.cornell.edu (Daniel S. Riley). 11972 11973 * aux/update_build_version: new script to record the build version 11974 of amd, along with the rest of the info thet comes up with amd -v. 11975 11976Sun Jul 13 00:30:24 1997 Erez Zadok <ezk@decca.damtp.cam.ac.uk> 11977 11978 * aux/macros/os_cflags.m4: new macro, to add additional 11979 compilation options (also used during configuration), based on the 11980 OS and the compiler. Used for solaris-2.6, osf, and irix6. 11981 11982Fri Jul 11 10:15:11 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11983 11984 * amd/conf_tok.l, conf_parse.y: allow values of keys to include 11985 white spaces, if they are double-quoted (key="some value") 11986 11987 * amd/info_hesiod.c (hesiod_search): cleanup and minor bug fixes 11988 of hesiod from Danny Braniss <danny@cs.huji.ac.il>. 11989 11990Fri Jul 11 02:16:06 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11991 11992 ******************************************************************* 11993 *** Released am-utils-6.0a7 *** 11994 ******************************************************************* 11995 11996Thu Jul 10 12:19:25 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 11997 11998 * include/am_defs.h: fill in extern definition of innetgr() in 11999 case system headers don't. 12000 12001 * aux/macros/path_prog_lex.m4 aux/configure.in: using macros that 12002 will show the full pathname to yacc/bison and f/lex. Some systems 12003 have older or bad versions of those and this way the user will 12004 know for sure what is being invoked. 12005 12006 * tasks: file populated with todo items. 12007 12008 * scripts/amd2ldif.in: Script to convert amd maps to plain text 12009 LDAP object files. Contributed by Leif Johansson 12010 <leifj@matematik.su.se>. 12011 12012 * aux/config.guess: added recognition for sun3's running 4.2bsd, 12013 from Tom Schmidt <tschmidt@micron.com>. Fixed one small typo. 12014 12015 * amd/conf.c: several variables that were local to a map, were 12016 also added to [global], where they apply to all maps. Each map 12017 can then individually override those defaults. Flags 12018 affected: browsable_dirs and mount_type. Options affected: 12019 map_type, map_options, and search_path. 12020 12021 * amd/amd.h: eliminated several global flags each of which took an 12022 int, in favor of one global flags variable used as a bit field. 12023 12024 * amd/amd.c (init_global_options): moved all global variables into 12025 a single struct amu_global_options, so it is easier to add new 12026 ones and/or identify existing ones. 12027 12028 * amd/get_args.c (get_args): removed unused amd -m option. 12029 12030 * amd/conf.c (gopt_cluster): added new amd.conf option for cluster 12031 name, same as amd -C. 12032 12033 * amd/info_ldap.c: LDAP info map functions from Leif Johansson 12034 <leifj@matematik.su.se>. 12035 12036 * amd/conf.c (gopt_ldap_base, gopt_ldap_hostports): put in global 12037 amd.conf options for ldap_base and ldap_hostports. 12038 12039 * amd/opts.c (f_netgrp): new amd map function netgrp(ARG) to test 12040 if the current host is in the ARG host netgroup. 12041 12042 * aux/configure.in: some systems replaced dbm in libc with GNU's 12043 libgdbm, so check for libgdbm, but only if dbm_open is not in 12044 libc already. This was a recommendation from Tom Schmidt 12045 <tschmidt@micron.com>. 12046 12047 * conf/nfs_prot/nfs_prot_sunos5_3.h: port to sparc-sun-solaris2.3 12048 completed. 12049 12050Wed Jul 9 18:14:59 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 12051 12052 * port to sparc-unknown-netbsd1.2E done, not tested. Includes NFS 12053 V.3. 12054 12055Tue Jul 8 17:35:07 1997 Erez Zadok <ezk@elk.mcl.cs.columbia.edu> 12056 12057 * port to i386-unknown-freebsd3.0 done and working. Includes NFS 12058 V.3. 12059 12060 * aux/macros/check_nfs_fh_dref.m4: freebsd3 should use 12061 file handle dereferencing style similar to freebsd22. 12062 12063 * include/am_defs.h: need to include <net/if_var.h> before 12064 <netinet/if_ether.h> on freebsd3. 12065 12066 * conf/nfs_prot/nfs_prot_freebsd3.h: new protocol header additions 12067 for freeBSD 3.0. 12068 12069Tue Jul 8 16:53:41 1997 Erez Zadok <ezk@moisil.cs.columbia.edu> 12070 12071 * amd/info_nis.c (nis_reload): cast nis' callback function so 12072 picky compilers won't complain. 12073 12074 * libamu/xdr_mountres3.c (xdr_mountres3): make sure this function 12075 gets compiled only if the system has NFS V3 and does not have 12076 xdr_mountres3. 12077 12078Tue Jul 8 12:42:03 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 12079 12080 * COPYING: put in some legal stuff in this file. 12081 12082Mon Jul 7 19:10:44 1997 Erez Zadok <ezk@prometheus.soscorp.com> 12083 12084 * NFS V3 now works under Irix5, thanks to patches from 12085 Andreas Stolcke <stolcke@speech.sri.com>. 12086 12087 * conf/mount/mount_irix5.c: sparate mount_irix.c into an irix5 12088 version and an irix6 version, since irix5's NFS V3 code is broken 12089 and hacky. 12090 12091 * amd/info_hesiod.c (hs_zone_transfer): minor fixes to buffer 12092 sizes for some hesiod queries. Patch from Danny Braniss 12093 <danny@cs.huji.ac.il>. 12094 12095Mon Jul 7 19:04:14 1997 Erez Zadok <ezk@glory.soscorp.com> 12096 12097 * amd/ops_nfs.c (mount_nfs_fh): fixed NFS V.3 support for bsdi3. 12098 12099Sun Jul 6 14:22:24 1997 Erez Zadok <ezk@glory.soscorp.com> 12100 12101 * aux/{configure.in,acconfig.h}: added checks for struct 12102 nfs_args's fields proto and sotype (bsdi3). 12103 12104 * amd/ops_nfs.c (mount_nfs_fh): added nfsv3 option to 12105 nfs_args.flags for bsdi3. Set field proto to 0. Set sotype field 12106 to SOCK_STREAM or SOCK_DGRAM. 12107 12108 * aux/macros/check_mount_style.m4: add case for bsdi3. 12109 12110 * amd/info_hesiod.c: got hesiod support for bsdi3. 12111 12112Sun Jul 6 11:14:47 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 12113 12114 * aux/configure.in: look for hesiod on libc (bsdi3) 12115 12116 * amd/get_args.c (get_args): reformat usage so it fits in 80 12117 columns. 12118 12119 * scripts/ctl-amd.in: changed directory name for optional tftpboot 12120 map to /tftpboot/.amd. 12121 12122Sat Jul 5 17:46:45 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 12123 12124 ******************************************************************* 12125 *** Released am-utils-6.0a6 *** 12126 ******************************************************************* 12127 12128Sat Jul 5 03:17:09 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 12129 12130 * scripts/ctl-amd.in: include -T tag for tftpboot. 12131 12132 * new port: mips-sgi-irix5.3. Compiled with gcc, but NFS V3 code 12133 is broken and needs work on the specific nfs_args that irix5 uses 12134 for V3 mounts. 12135 12136Sat Jul 5 01:44:25 1997 Erez Zadok <ezk@lorien.cs.columbia.edu> 12137 12138 * amd/get_args.c (get_args): new options amd -T tag. A map with 12139 tag=foo matching the -T tag will be processed. All untagged maps 12140 get processed all the time. 12141 12142Fri Jul 4 16:19:26 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 12143 12144 * aux/configure.in: need to check for strcasecmp in libucb (ncr2) 12145 12146 * aux/macros/check_os_libs.m4: a new macro to set the usage of 12147 libnsl and libsocket based on the OS. 12148 12149 * libamu/mount_fs.c (mnt_flags): used MNTTAB_OPT_GRPID if it is 12150 defined (problem on osf4). 12151 12152 * conf/nfs_prot/nfs_prot_irix5.h: new file for irix5 headers. 12153 12154 * include/am_defs.h, aux/macros/try_compile_nfs.m4, 12155 aux/macros/mount_headers.m4: do include <sys/proc.h> because it 12156 failes on irix5. Rather, put in the individual 12157 conf/nfs_prot/nfs_prot_*.h headers. 12158 12159 * amd/conf.c: AIX3 doesn't like strdup() being passed a constant 12160 char*, so cast all strdup()'s args to a non-const char*. 12161 12162 * amd/mapc.c (root_newmap): don't try to strdup only a "const 12163 char *". 12164 12165Fri Jul 4 15:47:10 1997 Erez Zadok <ezk@americas.psl.cs.columbia.edu> 12166 12167 * conf/nfs_prot/nfs_prot_sunos4.h: added rpc/rpc.h and 12168 sys/errno.h. 12169 12170Thu Jul 3 17:49:00 1997 Erez Zadok <ezk@prometheus.soscorp.com> 12171 12172 * made sure am-utils compiles, links, and runs properly on Irix 12173 6.2 using "cc -32 -Wl,-woff," 12174 12175 * aux/macros/check_lib2.m4: a bug fix version to autoconf 2.12 12176 AC_CHECK_LIB. If OTHER-LIBRARIES are defined and used, then add 12177 them to $LIBS. 12178 12179 * aux/configure.in: some cleanup of which libraries are needed. 12180 Espectially ensure that libnsl is included only on Solaris, where 12181 so far it is the only system on which it is absolutely necessary. 12182 Also no longer need to include libc explicitly. 12183 12184 * amd/amd.c,wire-test/wire-test.c (main): convert IP address to 12185 network-long order before printing it. 12186 12187 * wire-test/wire-test.c (main): also check and report on the IP 12188 address of the local host, since some systems have bad versions of 12189 get_myaddress, or ones that conflict with other versions in 12190 multiple libraries (SunOS 4 and Irix especially). 12191 12192Wed Jul 2 18:19:02 1997 Erez Zadok <ezk@starblazers.soscorp.com> 12193 12194 * scripts/ctl-amd.in: don't use full pathname so killproc() works 12195 better. Also run bsd44 and irix style ps programs. 12196 12197 * aux/macros/check_lib_funcs.m4: bug fixed: used to define usage 12198 of library no matter if it was found or not. 12199 12200Wed Jul 2 02:11:48 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 12201 12202 * aux/macros/check_mnt2_gen_opt.m4: turned back on the checking 12203 for M_* macros, but ensure that <sys/stream.h> is not included at 12204 all so it won't conflict with other M_* macros. 12205 12206Tue Jul 1 21:16:51 1997 Erez Zadok <ezk@mako.cs.columbia.edu> 12207 12208 * conf/mount/mount_irix.c (mount_irix): first arg to mount(2) on 12209 irix should be "spec" (host:/path), not the dir of the mnt point. 12210 12211 * amd/ops_afs.c (afs_lookuppn): bug in enable_default_selectors 12212 fixed. If on, it essentially ignored the setting in a 12213 selector-controlled /defaults if there were 2 or more entries in it. 12214 12215Tue Jul 1 12:23:38 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 12216 12217 * scripts/ctl-{amd,hlfsd}.in (killproc): if failed to find process 12218 using BSD style ps, then try SVR4 style ps. 12219 12220 * include/am_utils.h (amuDebug): renamed Debug macro to amuDebug 12221 etc., to avoid conflicts with similar named macros in <ldap.h>. 12222 12223 * aux/configure.in, amd/info_ldap.c, etc.: put in all the autoconf 12224 support needed for LDAP. Now the code has to be written mostly in 12225 amd/info_ldap.c. 12226 12227 * Included additional patches from Andreas Stolcke 12228 <stolcke@speech.sri.com> to support using the best possible 12229 combination of NFS version (2,3) and protocol (udp,tcp) for any 12230 given host, since it appears that some Irix versions have NFS V3, 12231 but do not support TCP. 12232 12233 * scripts/ctl-amd.in: updated amd control script to look for and 12234 use amd.conf file. 12235 12236Tue Jul 1 00:28:23 1997 Erez Zadok <ezk@lorien.cs.columbia.edu> 12237 12238 * amd/mapc.c (mapc_create): now, each map in the amd.conf can be 12239 initialized off of a different type, or default to cycling through 12240 all maps until one of them matches. 12241 12242Mon Jun 30 20:49:13 1997 Erez Zadok <ezk@lorien.cs.columbia.edu> 12243 12244 * amd/ops_afs.c (afs_readdir): per-map browsing (readdir) done. 12245 if browsable_dirs=yes is set in the map section in amd.conf, that 12246 map will return all entries back to a readdir(2). 12247 12248Sun Jun 29 16:22:11 1997 Erez Zadok <ezk@lorien.cs.columbia.edu> 12249 12250 * rudimentary amd.conf file support included. You may even 12251 override things like os=sos5, to get "backwards" compatibility with 12252 upl102. 12253 12254Sat Jun 28 13:35:02 1997 Erez Zadok <ezk@lorien.cs.columbia.edu> 12255 12256 * amd/conf.c: new file to process amd.conf file. 12257 12258 * amd/get_args.c (get_args): new options -H to print help. 12259 12260 * moved enable_default_selectors to be amd.conf controlled, and 12261 not compiler controlled. 12262 12263 * amd/get_args.c (get_args): new options -F <conf-file> to parse an 12264 amd configuration file. 12265 12266Wed Jun 25 23:15:42 1997 Erez Zadok <ezk@lorien.cs.columbia.edu> 12267 12268 * converted all files that used strcmp() == 0 or != 0 to using 12269 the STREQ() macro. 12270 12271Mon Jun 23 22:31:14 1997 Erez Zadok <ezk@lorien.cs.columbia.edu> 12272 12273 * aux/macros/check_lib_funcs.m4: new M4 macro that can be used to 12274 search for any number of functions in any given library. 12275 12276Mon Jun 23 01:04:23 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 12277 12278 * amd/mapc.c: Included patch from Leif Johansson 12279 <leifj@matematik.su.se> to ensure that systems without an RE 12280 library can compile. 12281 12282 * libamu/mount_fs.c (mount_fs): Included patch from Andreas 12283 Stolcke <stolcke@speech.sri.com>, to ensure that mount options on 12284 table are properly delimited by a comma. 12285 12286 * amd/ops_nfs.c (mount_nfs_fh): Included patch from Andreas 12287 Stolcke <stolcke@speech.sri.com>, to allow users to override the 12288 proto= and vers= mount options. 12289 12290Sun Jun 22 01:00:11 1997 Eric Dana (edana@ncr2.bgs.com) 12291 12292 * conf/nfs_prot/nfs_prot_svr4.h: port completed to 12293 i486-ncr-sysv4.3.03. Assorted source cleanups done. 12294 12295 * include/am_defs.h, aux/macros/mount_headers.m4: don't include 12296 mnttab.h if sys/mnttab.h was already included, because on ncr2, 12297 they contain conflicting entries for struct mnttab. 12298 12299Sat Jun 21 23:52:15 1997 Eric Dana (edana@ncr2.bgs.com) 12300 12301 * aux/macros/check_nfs_prot_headers.m4: added support for ncr2. 12302 12303Fri Jun 20 06:14:17 1997 Erez Zadok <ezk> 12304 12305 * amd/*.c: lots of 64-bit "ugly" ports like casts to long ints. 12306 12307 * aux/macros/struct_nfs_fh.m4: check for "struct nfssvcfh" because 12308 on DU-4.0 it is better than the next one to be picked (nfsv2fh_t). 12309 12310Wed Jun 18 18:59:49 1997 Erez Zadok <ezk@defiant.soscorp.com> 12311 12312 * aux/macros/struct_nfs_fh.m4 (AC_TRY_COMPILE_NFS): check for 12313 nfsv2fh_t before fhandle_t becasue on bsdi2.1 the former is 12314 better. 12315 12316Tue Jun 10 17:06:58 1997 Erez Zadok <ezk@lorien.cs.columbia.edu> 12317 12318 * amd/rpc_fwd.c (fwd_packet): TLI bug fix. if fwdto socket is 12319 NULL, set the maxlen and len fields in netbuf to zero. 12320 12321Wed May 28 22:52:28 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 12322 12323 * scripts/fix-amd-map.in (name): replace all matching patterns on 12324 line. 12325 12326Sun May 25 19:33:41 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 12327 12328 ******************************************************************* 12329 *** Released am-utils-6.0a5 *** 12330 ******************************************************************* 12331 12332Sun May 25 13:37:24 1997 Erez Zadok <ezk@lorien.cs.columbia.edu> 12333 12334 * amd/amq_subr.c (amqproc_getvers_1_svc): amq's RPC service 12335 procedure now returns the full string that amd -v returns. 12336 12337 * amd/get_args.c (get_version_string): new function to return 12338 complete version/info string so it could be used more flexibly. 12339 12340 * amd/am_ops.c (ops_showamfstypes, ops_showfstypes): put the list 12341 of Fs types into a string buffer, rather than a FILE*. 12342 12343 * amd/mapc.c (mapc_showtypes): put the list of map types into a 12344 string buffer, rather than a FILE*. 12345 12346Sun May 25 01:25:36 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 12347 12348 * amd/get_args.c (get_args): amd -v also prints user who built 12349 amd, hostname built on, and date of configuration. 12350 12351Sat May 24 13:40:50 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 12352 12353 * scripts/lostaltmail.conf-sample: sample lostaltmail 12354 configuration file. 12355 12356 * scripts/lostaltmail.in: new script lostaltmail used to redeliver 12357 "lost" mail that hlfsd redirected to a temp location because the 12358 primary home file system of the user was full. 12359 12360 * scripts/amd2sun.in: new script amd2sun. Used to convert Sub 12361 automount maps to amd maps. 12362 12363 * scripts/ctl-hlfsd.in: new script ctl-hlfsd. Used to start, 12364 stop, or restart hlfsd. 12365 12366 * scripts/expn.1: man page for expn command. 12367 12368 * scripts/ctl-amd.in: new script ctl-amd. Used to start, stop, or 12369 restart amd. 12370 12371 * scripts/expn.in: new script expn. Actually taken from David 12372 Muir Sharnoff <muir@idiom.com>. Used by hlfsd's mail re-delivery 12373 script. 12374 12375 * scripts/wait4amd.in: new script wait4amd added. Waits for amd 12376 to come up on a host, and then runs a command (rsh $hostname by 12377 default). 12378 12379 * scripts/Makefile.am: new directory now holds all shell/perl 12380 scripts that belong to am-utils. 12381 12382 * conf/mount/mount_linux.c (parse_opts): new parser for 12383 linux-specific mounts. Handles fs-type specific mount-options 12384 correctly. Currently implemented: msdos, iso9660. 12385 12386 * amd/ops_pcfs.c (pcfs_ops): don't timeout pcfs mounts by default 12387 (fix for linux). 12388 12389 * amd/ops_cdfs.c (cdfs_ops): don't timeout cdfs mounts by default 12390 (fix for linux). 12391 12392 * amd/mapc.c (make_entry_chain): fixed bug that resulted in amd 12393 core dumps upon "ls" of a mount point; an invalid pointer was 12394 being returned and dereferenced. 12395 12396 * port to Linux sparc working! 12397 12398 * hlfsd/homedir.c (hlfsd_diskspace): close file descriptor if 12399 failed to write test file, or else the fd will leak. 12400 12401Sun May 18 00:42:41 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 12402 12403 * amd/info_hesiod.c (hs_strip_our_domain): use strcasecmp() 12404 instead of strcmp(). 12405 12406 * Port to Digital Unix 4.0 (OSF) done. 12407 12408 * hlfsd/hlfsd.c: renamed dirname to dir_name to avoid conflicts 12409 with dirname() function in <string.h> on OSF systems. 12410 12411 * fsinfo/fsi_util.c (set_ether_if): take out extern definition of 12412 inet_addr(). It should come from <arpa/inet.h> instead. 12413 12414 * conf/mtab/mtab_osf.c: fixed macros and added NFS V3 specs. 12415 12416 * include/am_utils.h: renamed FIRST/LAST to AM_FIRST/AM_LAST to 12417 avoid conflicts with DU 4.0 system header. 12418 12419Thu May 15 22:49:12 1997 Erez Zadok <ezk@subzero.cs.columbia.edu> 12420 12421 * libamu/mount_fs.c (mount_fs): pass along NFS version so I can 12422 determine if to include additional options in the mount table file 12423 entry (such as proto=tcp, and vers=3). 12424 12425Thu May 15 00:42:12 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 12426 12427 * libamu/mount_fs.c (mount_fs): include NFS version number in the 12428 mount table options, as well as proto={tcp,udp}. 12429 12430Wed May 14 14:30:19 1997 Erez Zadok <ezk@lorien.cs.columbia.edu> 12431 12432 * NFS V3 code ported to most other systems, so it compiles for V2 12433 and V3 NFS systems. 12434 12435 * NFS VERSION 3 support, first pass. Working for Solaris and 12436 using TCP. 12437 12438Sun May 11 01:14:29 1997 Erez Zadok <ezk@lorien.cs.columbia.edu> 12439 12440 * amq/amq.c: many newline characters were missing from various 12441 stderr printfs. 12442 12443Sat May 10 13:09:06 1997 Erez Zadok <ezk@lorien.cs.columbia.edu> 12444 12445 * conf/nfs_prot/nfs_prot_sunos5.h: protocol defintions for 12446 Solaris, which include NFS V3 support. 12447 12448 * conf/nfs_prot/nfs_prot_default.h: default NFS protocol headers. 12449 12450 * conf/transp/transp_{tli,sockets}.c (get_mount_client): use NFS 12451 protocol version while getting a mount client. 12452 12453 * amd/ops_nfs.c (mount_nfs_fh): set the mount types, mnttab types, 12454 file handle size, and proper file handle based on the correct NFS 12455 version number. 12456 12457 * conf/mount/mount_svr4.c (mount_svr4): support NFS3 mounts under 12458 Solaris and other SVR4 systems. 12459 12460 * amd/ops_nfs.c: store NFS file handle version and version 12461 specific handle in struct fh_cache. 12462 (got_nfs_fh): pick the correct RPC reply based on the NFS version 12463 of the server. 12464 (prime_nfs_fhandle_cache): figure out the right NFS file handle 12465 for a node, but now include NFS protocol version information. 12466 (call_mountd): set the correct version for the mount protocol, 12467 based on the NFS protocol version. 12468 (nfs_init): use the NFS protocol generic structure 12469 am_nfs_handle_t. 12470 12471 * include/am_utils.h: new structure am_nfs_handle_t to contain all 12472 possible versions of NFS file handles. 12473 12474 * amd/srvr_nfs.c (start_ping): ping program performs NFS version 12475 specific pings. 12476 (recompute_portmap): figure out the correct portmap version mount. 12477 (nfs_keepalive): call start_ping() with the correct NFS version. 12478 (find_nfs_srvr): if mount option "vers=" is given, use it. Get 12479 the NFS server version and verify that it is up. 12480 12481 * conf/transp/transp_{tli,sockets}.c (get_nfs_version): a new 12482 function to find the best NFS version for a particular host. 12483 12484 * libamu/amu.h: determine what is the highest version of NFS we 12485 should try. 12486 12487 * include/am_utils.h (NFS_VERSION3): added definition for NFS V3 12488 protocol number. 12489 Added field fs_version to struct fserver, so we can now store the 12490 server protocol version. 12491 12492Fri May 9 01:09:45 1997 Erez Zadok <ezk@lorien.cs.columbia.edu> 12493 12494 * aux/macros/check_field.m4 (AC_MOUNT_HEADERS): map '.' (dot) into 12495 underscores too, so I can test for sub-fields. 12496 12497 * libamu/wire.c: use test that checks for sub-fields of struct 12498 ifreq. 12499 12500Sat May 6 10:20:17 2000 Erez Zadok <ezk@glory.soscorp.com> 12501 12502 * port to BSD/OS 3.0 completed! Many xdr_ functions were broken 12503 into smaller files. M4 macros fixed to test for existence of 12504 file systems using getvfsbyname(). 12505 12506 * amd/sched.c (sigchld): signal handler must waitpid() for all 12507 possible children. 12508 12509 * hlfsd/homedir.c: signal handler must waitpid() for all possible 12510 children. 12511 12512 * aux/macros/check_restartable_signals.m4: new macro to determine 12513 if need to reinstall signal handlers per OS is better than trying 12514 to figure these out based on system macros. 12515 12516Fri May 5 19:23:28 2000 Erez Zadok <ezk@glory.soscorp.com> 12517 12518 * amd/ops_nfs.c (mount_nfs_fh): set nfs_args_t version number. 12519 12520 * amd/ops_afs.c (mount_toplvl): set nfs_args_t version number. 12521 12522 * amd/ops_nfs.c (mount_nfs_fh): process nfs mount option resvport 12523 (must be supplied for bsdi 3.0) 12524 12525 * libamu/wire.c: use HAVE_FIELD_STRUCT_IFREQ_IFR_ADDR (and 12526 associated new macro) for determining the right way to compute the 12527 size of the interface structure. 12528 12529Fri Apr 11 15:56:13 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 12530 12531 * aux/configure.in: need to include libc before libnsl if 12532 get_myaddress() is available because on irix libnsl has a buggy 12533 get_myaddress(). 12534 12535 * include/am_defs.h: make sure REINSTATE_SIGNAL_HANDLER is defined 12536 on Irix 6 (an SVR4 variant) 12537 12538Thu Mar 27 02:28:40 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 12539 12540 ******************************************************************* 12541 *** Released am-utils-6.0a4 *** 12542 ******************************************************************* 12543 12544Wed Mar 26 21:15:36 1997 Erez "HWank1" Zadok <ezk@lorien.cs.columbia.edu> 12545 12546 * amd/amq_subr.c (ok_security): turned off insecure code unless 12547 user explicitly runs configure --enable-amq-mount. 12548 12549 * hlfsd/hlfsd.c (main): use new protoypes dor create_nfs_service(). 12550 12551 * amd/nfs_start.c (mount_automounter): use code that separately 12552 creates the NFS and the amq service. Register tcp and udp 12553 services for amd. 12554 12555 * conf/transp/transp_*.c (create_amq_service): new function to 12556 separately create the amq service for amd. Simplified prototypes 12557 for create_nfs_service(). 12558 12559Wed Mar 19 20:40:56 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 12560 12561 ******************************************************************* 12562 *** Released am-utils-6.0a3 *** 12563 ******************************************************************* 12564 12565Wed Mar 19 17:49:18 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 12566 12567 * new port: rs6000-ibm-aix3.2.5 and rs6000-ibm-aix4.1.5.0. Lots 12568 of small changes to support these two. 12569 12570Wed Mar 19 14:33:30 1997 Erez Zadok <ezk@grande.cs.columbia.edu> 12571 12572 * conf/umount/umount_default.c (umount_fs): bug: unlock_mntlist() 12573 should run if MOUNT_TABLE_ON_FILE, not otherwise. 12574 12575Mon Mar 17 22:02:43 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 12576 12577 * hlfsd/hlfsd.c (main): fill in fhsize field if exists 12578 (freebsd-2.2). 12579 12580 * amd/ops_{nfs,afs}.c (mount_toplvl): fill in fhsize field if 12581 exists (freebsd-2.2). 12582 12583Sat Mar 15 19:37:48 1997 Erez "HWank1" Zadok <ezk@shekel.mcl.cs.columbia.edu> 12584 12585 * new port: i386-unknown-freebsd2.2. FreeBSD 2.2 and higher 12586 changed the filehandle type in struct nfs_args from nfsv2fh_t to 12587 u_char. 12588 12589Sat Mar 14 10:11:03 1997 Erez "HWank1" Zadok <ezk@lorien.cs.columbia.edu> 12590 12591 * SHARED LIBRARIES: too many changes to list individually. Now, 12592 libamu can be built as a shared library, and other programs link 12593 with it. 12594 12595Tue Mar 11 22:24:09 1997 Erez "HWank1" Zadok <ezk@lorien.cs.columbia.edu> 12596 12597 * aux/macros/opt_shared.m4: new macro for setting options for 12598 building shared am-utils libraries. 12599 12600Sun Mar 9 19:17:46 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 12601 12602 * fixmount/fixrmtab: cleaned up the script. 12603 12604 * fixmount/Makefile.am (EXTRA_DIST): adde $(sbin_SCRIPTS) so that 12605 fixrmtab gets distributed too. 12606 12607 * conf/nfs_prot/nfs_prot_bsdi2.h: added support for MOUNTPROC_DUMP. 12608 Added extern for xdr_mountlist(). 12609 12610 * aux/configure.in: trimmed down many tests for MNT2_GEN_OPT, 12611 MNT2_NFS_OPT, and MNTTAB_OPT that were not referenced anywhere in 12612 the sources. 12613 12614Sat Mar 8 00:23:58 1997 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu> 12615 12616 * fixmount/hlfsd ported to bsd44, hpux, and linux systems. 12617 12618 * aux/macros/check_fixmount_style.m4: add check for bsd44 systems. 12619 12620 * conf/fixmount/fixmount_default.c: use lockf() if flock() is 12621 unavailable. 12622 12623 * include/am_defs.h: include <string.h> even if don't have 12624 STDC_HEADERS defined (sunos4). 12625 (seteuid): define seteuid() to be setresuid() for systems that 12626 have but not the other (hpux). 12627 12628 * aux/macros/check_extern.m4: test should include <strings.h>. 12629 12630Tue Mar 4 17:16:52 1997 Erez "HWank1" Zadok <ezk@lorien.cs.columbia.edu> 12631 12632 * lib/xutil.c (debug_option): moved from amd/getargs.c to this 12633 more proper file. 12634 12635 * include/am_utils.h: put in structure for debug options, for all 12636 progams to use. 12637 12638 * amd/get_args.c: moved structure for debug options out. 12639 12640Sun Mar 2 00:13:07 1997 Erez "HWank1" Zadok <ezk@lorien.cs.columbia.edu> 12641 12642 * ported fixmount. 12643 12644 * lib/ualarm.c: replacement function for systems that don't have a 12645 ualarm(). 12646 12647 * ported fsinfo. 12648 12649Sun Mar 1 10:23:34 1997 Erez "HWank1" Zadok <ezk@lorien.cs.columbia.edu> 12650 12651 * ported mk-amd-map. 12652 12653 * buildall: added -K option to buildall, to run mkconf. 12654 12655Fri Feb 28 01:10:25 1997 Erez "HWank1" Zadok <ezk@shekel.mcl.cs.columbia.edu> 12656 12657 ******************************************************************* 12658 *** Released am-utils-6.0a2 *** 12659 ******************************************************************* 12660 12661Thu Feb 27 13:58:59 1997 Erez "HWank1" Zadok <ezk@shekel.mcl.cs.columbia.edu> 12662 12663 * all *.[hcyl] files: add copyright line. 12664 12665 * aux/macros/check_mount_type.m4: test for mount type for 12666 linux-like systems, by checking for loadable or statically linked 12667 kernel filesystem modules. 12668 12669 * aux/macros/check_mnttab_type.m4: test for mount table entry 12670 for linux-like systems, by checking for loadable or statically 12671 linked kernel filesystem modules. 12672 12673 * aux/configure.in: pcfs filesystems can use vfat type (linux) 12674 12675 * aux/macros/check_fs_mntent.m4: test for filesystem existence for 12676 linux-like systems, by checking for loadable or statically linked 12677 kernel filesystem modules. 12678 12679 * conf/trap/trap_hpux.h: ugly hack added because of stupide HPUX 12680 9.0 header files. This should be removed when HPUX 9.0 is deemed 12681 defunct. 12682 12683 * aux/acconfig.h: set an undefined variable for having an extern 12684 to clnt_sperrno(). 12685 12686 * include/am_defs.h: define extern for clnt_sperrno() if needed. 12687 12688 * aux/configure.in: test for extern clnt_sperrno(). 12689 12690 * aux/macros/check_nfs_fh_dref.m4: HPUX's NFS fhandle dref is 12691 similar to irix. 12692 12693 * aux/macros/check_mount_style.m4: use mount helper on HPUX. 12694 12695 * aux/macros/check_mtype_type.m4: hpux's mount type is a char*, 12696 not integer (but may be mapped to one later). 12697 12698 * conf/mount/mount_hpux.c (mount_hpux): HPUX has confusing header 12699 files. They have mount(2) and vfsmount(2) which don't take same 12700 arguments, and they have string mount types MNTTYPE_* as well as 12701 integer types MOUNT_*. So I need this new mount function to map 12702 from string types to integer types for the vfsmount() function. 12703 12704 * conf/trap/trap_hpux.h (MOUNT_TRAP): instead of calling 12705 vfsmount(), call mount_hpux(). 12706 12707Thu Feb 27 03:34:14 1997 Erez "HWank1" Zadok <ezk@okeeffe.cs.columbia.edu> 12708 12709 * lib/mount_fs.c (mnt_flags): make sure SYNC option is on only if 12710 both MNTTAB_OPT_SYNC and MNT2_GEN_OPT_SYNC are defined. 12711 12712Thu Feb 27 00:26:00 1997 Erez "HWank1" Zadok <ezk@shekel.mcl.cs.columbia.edu> 12713 12714 * conf/nfs_prot/nfs_prot_hpux.h: NFS protocol definitions for 12715 hpux. 12716 12717 * include/am_defs.h: no need to include rpc/auth.h or rpc/clnt.h. 12718 12719 * aux/configure.in: no need to test for rpc/auth.h and rpc/clnt.h. 12720 12721 * buildall: added ability to configure using other shells than 12722 /bin/sh, on those systems where /bin/sh is buggy or limited 12723 (HPUX). 12724 12725 * aux/macros/struct_nfs_fh.m4: reinstated the macro but have it 12726 defined am_nfs_fh, and also test for plain typedef "nfs_fh". 12727 12728 * aux/acconfig.h: #undef am_nfs_fh, which is being defined by a 12729 reinstated macro. 12730 12731 * aux/configure.in: check for <nfs/export.h> 12732 12733 * include/am_defs.h: include <nfs/export.h> (HPUX) if exists. 12734 12735 * aux/macros/try_compile_nfs.m4: include <nfs/export.h> (HPUX) if 12736 exists. 12737 12738 * aux/macros/mount_headers.m4 (define): removed some non-working 12739 (on HPUX) code that attempts to recreate the fhandle_t rather than 12740 load it up from system headers. Also added some NFS protocol 12741 header inclusion. include <nfs/export.h> (HPUX) if exists. 12742 12743Wed Feb 26 00:32:35 1997 Erez "HWank1" Zadok <ezk@okeeffe.cs.columbia.edu> 12744 12745 * aux/macros/mount_headers.m4 (define): Use M4 changequote to 12746 ensure [] brackets are correctly used. 12747 12748 * aux/macros/expand_cpp_{string,hex,int}.m4: encapsulate 12749 multi-line M4 inclusions in []. 12750 12751Tue Feb 25 22:19:44 1997 Erez "HWank1" Zadok <ezk@shekel.mcl.cs.columbia.edu> 12752 12753 * conf/mtab/mtab_bsd.c (mnt_dup): use statfs field f_fstypename if 12754 it exists. 12755 12756 * aux/acconfig.h: HAVE_FIELD_STRUCT_STATFS_F_FSTYPENAME, new 12757 config.h macro for field f_fstypename of struct statfs. 12758 12759 * aux/configure.in: testing for field f_fstypename field of struct 12760 statfs (NetBSD). 12761 12762 * aux/acconfig.h: moved all of the "static" definitions out to a 12763 fixed file called include/am_defs.h. Added to all */Makefile.am 12764 files a dependency on am_defs.h. Created am_defs.h of course, and 12765 then added #include <amd_defs.h> to all of the source and header 12766 files that required it. 12767 12768Mon Feb 24 01:27:02 1997 Erez Zadok <ezk@defiant.soscorp.com> 12769 12770 * aux/acconfig.h: two more externals for xdr functions that may be 12771 implemented by libamu. 12772 12773 * conf/nfs_prot/nfs_prot_bsdi2.h: added missing RPC and XDR 12774 definitions. 12775 12776Sun Feb 23 15:25:26 1997 Erez "HWank1" Zadok <ezk@shekel.mcl.cs.columbia.edu> 12777 12778 * buildall (default): added -D option for turning on even stricker 12779 developer options. 12780 12781 * */Makefile.am: make sure @AMU_NFS_PROT_HEADERS@ is used to 12782 determine dependencies on optional NFS protocol headers. 12783 12784 * aux/acconfig.h: define and use HAVE_NFS_PROT_HEADERS as needed. 12785 12786 * aux/macros/check_nfs_prot_header.m4: new test to determine what 12787 NFS protocol headers to use. 12788 12789 * conf/nfs_prot/nfs_prot_{irix6,sunos4,bsdi2}.h: new headers to 12790 complete missing system headers for NFS protocol definitions. 12791 12792Sun Feb 16 15:58:42 1997 Erez "HWank1" Zadok <ezk@vir.cs.columbia.edu> 12793 12794 * amd/ops_nfs.c (mount_nfs_fh): encapsulated some more code in 12795 #ifdef's as needed. 12796 12797 * amd/ops_afs.c (mount_toplvl): make sure TIMEO/RETRANS code is 12798 suitable #ifdef'ed. 12799 12800 * include/am_compat.h: a couple more mnttab options 12801 (timeo/retrans) setting just in case. 12802 12803 * amd/autil.c (host_normalize): make sure hostent->h_name is 12804 passed a non-const char *. 12805 12806 * conf/mount/mount_linux.c (mount_linux): cleaned up a block of code. 12807 12808 * {lib,amq,amd}/*.c (many functions): cast xdr_entry to 12809 XDRPROC_T_TYPE. 12810 12811 * lib/nfs_prot_svc.c (nfs_program_2): cast xdr_entry to 12812 XDRPROC_T_TYPE. 12813 12814 * lib/nfs_prot_xdr.c (xdr_entry): cast xdr_entry to 12815 XDRPROC_T_TYPE. 12816 12817 * lib/wire.c (getwire): Make sure safe assignment from const to 12818 none is done. 12819 12820Sat Feb 15 19:38:51 1997 Erez "HWank1" Zadok <ezk@vir.cs.columbia.edu> 12821 12822 * aux/macros/expand_cpp_int.m4: new macro for expanding integers. 12823 12824 * aux/configure.in: added linux/fs.h support in configure and 12825 several M4 macros. 12826 12827 * conf/mount/mount_linux.c (mount_linux): use macro instead of 12828 "ugly" fixed hex number for mount() arguments. 12829 12830Sat Feb 15 02:09:47 1997 Erez "HWank1" Zadok <ezk@lorien.cs.columbia.edu> 12831 12832 * amd/info_hesiod.c: removed macro HAVE_HS_ZONE_TRANSFER and 12833 turned all of its code always on. That code always seems to 12834 compile, as long as you have hesiod and libresolv. 12835 12836 * amd/mapc.c: removed macro HAVE_HS_ZONE_TRANSFER and turned all 12837 of its code always on. 12838 12839 * aux/configure.in: removed superfluous test for hs_zone_transfer 12840 function (will never find it because it is an amd-internal 12841 function). 12842 12843 * amd/mapc.c (maptypes): must used correct new name for am-utils' 12844 hesiod initialization function: hesiod_am_init. 12845 12846 * amd/info_hesiod.c (hesiod_am_init): renamed hesiod_init to 12847 hesiod_am_init so as not to conflict with libhesiod's 12848 hesiod_init() function. 12849 12850 * aux/configure.in: added test and explicit inclusion of 12851 libresolv.a for later resolution of library references with 12852 libhesiod. 12853 12854 * aux/macros/opt_cppflags.m4: new file. configure/compile C 12855 preprocessor flags. 12856 12857 * aux/macros/opt_libs.m4: new file. configure/compile library 12858 flags. 12859 12860 * Makefile.am (EXTRA_DIST_AUX): include two new macros 12861 opt_cppflags.m4 and opt_libs.m4. 12862 12863 * aux/configure.in: test for libhesiod needs to additional 12864 libresolv to link completely. Additional configuration time 12865 options added for setting initial CPPFLAGS and LIBS. 12866 12867Tue Feb 10 02:15:40 1997 Erez "HWank1" Zadok <ezk@lorien.cs.columbia.edu> 12868 12869 ******************************************************************* 12870 *** Released am-utils-6.0a1 *** 12871 ******************************************************************* 12872 12873Thu Feb 6 02:55:19 1997 Erez "HWank1" Zadok <ezk@shekel.mcl.cs.columbia.edu> 12874 12875 * amd/info_ndbm.c (ndbm_search,ndbm_init): fixed the code so that 12876 it works on freebsd, where they map dbm_pagfno a non-existing 12877 macro on purpose, to force you to port the code to Berkeley DB. 12878 12879Fri Jan 31 01:35:09 1997 Erez "HWank1" Zadok <ezk@lorien.cs.columbia.edu> 12880 12881 * amd/ops_afs.c (mount_toplvl): added a sleep(1) right before the 12882 actual mount_toplvl, to avoid some possible race conditions. 12883 12884Thu Jan 30 02:31:49 1997 Erez "HWank1" Zadok <ezk@lorien.cs.columbia.edu> 12885 12886 * amd/rpc_fwd.c: removed all TLI (HAVE_T_OPEN) code. 12887 12888Wed Jan 29 18:25:07 1997 Erez "HWank1" Zadok <ezk@lorien.cs.columbia.edu> 12889 12890 * lib/wire.c (getwire): removed HAVE_T_OPEN (TLI code) 12891 12892 * amd/amd.c (main): fix local address using htonl(). Free up 12893 buffers allocated by netdir_*() functions. 12894 12895Wed Jan 22 23:53:24 1997 Erez "HWank1" Zadok <ezk@lorien.cs.columbia.edu> 12896 12897 * amd/fix-amd-map.in: new script that will convert old-style amd 12898 maps to new one. 12899 12900Tue Jan 21 01:18:16 1997 Erez "HWank1" Zadok <ezk@lorien.cs.columbia.edu> 12901 12902 * FIRST AMD IN AM-UTILS FINALLY WORKS (mounts itself as toplvl, 12903 and replies back to simple nfs/link type mount queries). 12904 12905 * conf/mtab/mtab_svr4.c: reorganized the code in this file to be 12906 easier to read, and fixed a few bugs with un/setting the lock file 12907 descriptor. 12908 12909Wed Jan 8 15:27:49 1997 Erez "HWank1" Zadok <ezk@lorien.cs.columbia.edu> 12910 12911 * amd/sched.c: removed HAS_SVR3_SIGNALS code to handle older 12912 signals in Svr3 systems. Only stellix ever used this. 12913 12914 * amd/rpc_fwd.c (fwd_reply): removed all code that was triggered 12915 by DYNAMIC_BUFFERS, since it was not in use. 12916 12917Tue Jan 7 00:45:59 1997 Erez "HWank1" Zadok <ezk@lorien.cs.columbia.edu> 12918 12919 * amd/opts.c (eval_opts): removed AMD_COMPAT code. Amd no longer 12920 takes '=' sign as old selector. Fix your maps. 12921 (deslashify): removed APOLLO code that treated two '//' as one. 12922 12923Sun Jan 5 01:25:09 1997 Erez "HWank1" Zadok <ezk@lorien.cs.columbia.edu> 12924 12925 * amd/ops_nfsx.c (nfsx_init): removed HARD_NFSX_ERRORS, code which 12926 was not used. It made any submount error fail the whole group. 12927 12928 * amd/ops_nfs.c (make_nfs_auth): removed code dependent on 12929 HAS_NFS_QUALIFIED_NAMES. 12930 (mount_nfs_fh): removed macro for NFS_ARGS_NEEDS_PATH, assuming it 12931 is never on. So code that was triggered by #ifndef 12932 NFS_ARGS_NEEDS_PATH (osf1, aix3, and bsd44 variants) may have to 12933 be fixed later. 12934 Removed all ULTRIX_HACK code. Ultrix is DEAD! 12935 removed all PRESET_AC code, which was only on for Linux to preset 12936 the attribute cache values (otherwise they default to zero). 12937 (nfs_umounted): revobed KICK_KERNEL code (IRIX systems). Will 12938 have to fixed up later. 12939 (mount_nfs_fh): removed code that was never included, which 12940 attempted to set the port on which amd's nfs mounts on. This 12941 isn't supported by the ping algorithm yet. In any case, it is all 12942 done in nfs_init(). 12943 12944 * amd/srvr_nfs.c (find_nfs_srvr), amd/ops_nfs.c (mount_nfs_fh): 12945 removed HAS_TCP_NFS code. The whole use of NFS V.3 with TCP or 12946 specially hacked NFS V.2 that uses TCP (BSD 4.4 variants) will 12947 have to be addressed later. 12948 12949 * amd/nfs_subr.c (nfsproc_getattr_2): removed all code dependent 12950 on PRECISE_SYMLINKS. 12951 12952 * amd/mapc.c (mapc_meta_search): removed code that depended on 12953 HAS_DEPOT. It is known buggy code. The whole DEPOT support needs 12954 to be rethought. 12955 (mapc_add_kv): ported code to use standard regular expression 12956 (regexp) library. 12957 12958 * amd/{map.c,ops_sfs.c,ops_ufs.c}: removed all code dependent on 12959 FLUSH_KERNEL_NAME_CACHE and the macro itself. 12960 12961Sat Jan 4 15:46:58 1997 Erez "HWank1" Zadok <ezk@lorien.cs.columbia.edu> 12962 12963 * amd/map.c (exported_ap_alloc): removed all code triggered by 12964 SHRINK_EXPORTED_AP and the macro itself. 12965 12966 * amd/info_nis.c: removed HAS_NIS_RELOAD macro, and left the code 12967 in all the time. Assuming that there is always NIS realod 12968 available. 12969 (yp_all_fixed): removed code for BROKEN_YP_ALL. If your yp_all() 12970 function is broken such that it does not release filedescriptors 12971 it created, then you are hosed. Get a fix for yp_all from your 12972 vendor or switch operating systems. 12973 12974Tue Dec 31 15:34:36 1996 Erez "HWank1" Zadok <ezk@lorien.cs.columbia.edu> 12975 12976 * amd/info_hesiod.c: renamed macro HAS_HESIOD_RELOAD to 12977 HAVE_HS_ZONE_TRANSFER. 12978 12979Mon Dec 30 17:33:23 1996 Erez "HWank1" Zadok <ezk@lorien.cs.columbia.edu> 12980 12981 * amd/{nfs,host}_ops.cremoved INFORM_MOUNTD macro, so its code is 12982 always included. We should always try to inform the remove mount 12983 daemon of mounts we performed. If we want an option for this, it 12984 should be a run-time option. 12985 12986 * amd/host_ops.c: removed all that optionally did not make the 12987 directory mount points for amd. 12988 12989 * HOST_EXEC code removed from everywhere. There is no indication 12990 that it was used anywhere. If it needs to be used, then a 12991 run-time switch should control it. 12992 12993Thu Dec 26 00:06:52 1996 Erez "HWank1" Zadok <ezk@lorien.cs.columbia.edu> 12994 12995 * amd/*_ops.c: removed all references to mntent_t's fields 12996 mnt_freq and mnt_passno, since they are no longe rused (and never 12997 have been). 12998 12999 * amd/am_ops.c: removed function sunos4_match, which was off 13000 anyway. This was one of the places where an '=' sign was allowed 13001 as an assignment operator (which is now ':='). 13002 13003 * amd/afs_ops.c (afs_bgmount): removed SUNOS4_COMPAT code which 13004 was off anyway. This was one of the places where an '=' sign was 13005 allowed as an assignment operator (which is now ':='). 13006 13007Tue Dec 24 01:53:52 1996 Erez "HWank1" Zadok <ezk@lorien.cs.columbia.edu> 13008 13009 * amq/amq.c: ported to am-utils. Working. 13010 13011 * conf/mount/mount_svr4.c (mount_svr4): changed mount type on svr4 13012 to be string, as it should be (rather than a string mapped to int 13013 and back mapped to string). 13014 13015Sun Dec 22 13:26:05 1996 Erez "HWank1" Zadok <ezk@lorien.cs.columbia.edu> 13016 13017 * lib/mount_fs.c (mount_fs): removed MNTINFO_PREF code. 13018 13019 * lib/umount_fs.c: split this into three files: default, osf, and 13020 bsd44, that are in conf/umount/umount_*.c. 13021 13022Thu Dec 19 17:33:46 1996 Erez "HWank1" Zadok <ezk@lorien.cs.columbia.edu> 13023 13024 * aux/configure.in, aux/aclocal.m4, aux/acconfig.h: added new 13025 macro to automatically figure out if an external definition for 13026 sys_errlist[] exists. 13027 13028 * lib/xutil.c (xfree): removed "#undef free" because it's not 13029 needed there. Any system that redefines free() needs help. 13030 13031 * conf/mtab/mtab_file.c (REWRITE_MTAB_IN_PLACE): removed code that 13032 was dependent on REWRITE_MTAB_IN_PLACE. It does not appear to be 13033 in active use anywhere. If added later, it should be a run-time 13034 configuration option. 13035 13036 * conf/mtab/mtab_mach3.c: removed code that was #ifdef'ed not to 13037 be MOUNT_TABLE_ON_FILE, since mach2 always stores its mount tables 13038 in a file in /etc. 13039 13040 * lib/util.c (str3cat): removed _AIX code. AIX should have a 13041 working realloc, or else find a cleaner solution to this. 13042 (mkdirs): removed SUNOS4_WORKAROUND code. This was to do a sync() 13043 after immediately making directories so that fsck will be able to 13044 fix the filesystem in the event of an immediate crash. This was 13045 because a bug in UFS which is fixed by now. 13046 13047 * lib/hutil.c (domain_strip): removed PARTIAL_DOMAINS triggered 13048 code. Does not appear to be on and used anywhere. 13049 (dofork): removed MACH3 code, b/c mach3 NFS bugs are fixed by now. 13050 13051 * lib/resvport.c: split the binding of reserved ports code to a 13052 separate file. A #define (HAVE_T_OPEN) separates the TLI (SVR4) 13053 from the BSD code. 13054 13055Thu Dec 19 02:08:35 1996 Erez "HWank1" Zadok <ezk@shekel.mcl.cs.columbia.edu> 13056 13057 * lib/Makefile.am (amu_LIBADD): includs @LIBOBJS@ now, auto-filled 13058 in by automake and configure, for optional sources that need to be 13059 built as part of libamu.a. 13060 13061 * aux/aclocal.m4: Make sure AC_CHECK_MOUNT_STYLE adds mountutil.o 13062 to LIBOBJS. 13063 13064 * lib/memcmp.c (memcmp): new file added to replace a possible bad 13065 implementation of memcmp. 13066 13067Wed Dec 18 22:20:23 1996 Erez "HWank1" Zadok <ezk@shekel.mcl.cs.columbia.edu> 13068 13069 * converted the sources to use memset/memmove/memcmp instead of 13070 bzero/bcopy/bcmp. 13071 13072 * ran all sources through gnu Indent w/ options specified in 13073 aux/amindent. 13074 13075Wed Dec 11 22:19:29 1996 Erez "HWank1" Zadok <ezk@shekel.mcl.cs.columbia.edu> 13076 13077 * At this point the initial generation of config.h via autoconf and 13078 some preliminary makefiles via automake is done. I will not begin 13079 modifying sources, so it's a good time to document from here. 13080 13081Wed Dec 10 22:19:29 1996 Erez "HWank1" Zadok <ezk@shekel.mcl.cs.columbia.edu> 13082 13083 ******************************************************************* 13084 *** Initial ChangeLog Entry *** 13085 ******************************************************************* 13086