Virgin import of AMD (am-utils) 20030828 (6.0.9)

This commit is contained in:
Martin Blapp 2003-09-02 15:27:38 +00:00
parent fe0dbd7088
commit 7a56a737a5
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/vendor/amd/dist/; revision=119679
273 changed files with 19528 additions and 1512 deletions

116
contrib/amd/.cvsignore Normal file
View File

@ -0,0 +1,116 @@
2be-mirror.txt
A.alpha-dec-osf2.1
A.alpha-dec-osf4.0
A.alphaev5-unknown-linux-gnu-rh5.2
A.hppa1.1-hp-hpux10.10
A.hppa1.1-hp-hpux10.20
A.hppa1.1-hp-hpux11.00
A.hppa1.1-hp-hpux9.01
A.hppa1.1-hp-hpux9.05
A.hppa1.1-hp-hpux9.07
A.i386-apple-darwin6.0
A.i386-pc-bsdi2.1
A.i386-pc-bsdi3.1
A.i386-pc-bsdi4.1
A.i386-pc-solaris2.5.1
A.i386-pc-solaris2.6
A.i386-pc-solaris2.7
A.i386-pc-solaris2.8
A.i386-unknown-freebsd2.2.7
A.i386-unknown-freebsd2.2.8
A.i386-unknown-freebsdelf3.2
A.i386-unknown-freebsdelf3.3
A.i386-unknown-freebsdelf4.0
A.i386-unknown-netbsd1.3.3
A.i386-unknown-netbsd1.4.1
A.i386-unknown-openbsd2.5
A.i486-ncr-sysv4.3.03
A.i486-pc-linux-gnu-rh6.0
A.i486-pc-linux-gnulibc1
A.i486-pc-linux-gnulibc1-rh4.2
A.i586-pc-linux-gnu-rh5.2
A.i586-pc-linux-gnu-rh6.0
A.i586-pc-linux-gnu-rh6.1
A.i586-pc-linux-gnu-rh6.1.92
A.i586-pc-linux-gnulibc1
A.i586-pc-linux-gnulibc1-rh4.2
A.i686-pc-linux-gnu-rh5.2
A.i686-pc-linux-gnu-rh6.0
A.i686-pc-linux-gnu-rh6.1
A.m68k-next-nextstep3
A.m68k-sun-sunos4.1.1
A.mips-sgi-irix5.3
A.mips-sgi-irix6.2
A.mips-sgi-irix6.4
A.mips-sgi-irix6.5
A.powerpc-ibm-aix4.1.5.0
A.powerpc-ibm-aix4.2.1.0
A.powerpc-ibm-aix4.3.1.0
A.rs6000-ibm-aix4.1.4.0
A.rs6000-ibm-aix4.1.5.0
A.sparc-sun-solaris2.3
A.sparc-sun-solaris2.5
A.sparc-sun-solaris2.5.1
A.sparc-sun-solaris2.6
A.sparc-sun-solaris2.7
A.sparc-sun-solaris2.8
A.sparc-sun-solaris2.9
A.sparc-sun-sunos4.1.3
A.sparc-sun-sunos4.1.3C
A.sparc-sun-sunos4.1.3_U1
A.sparc-sun-sunos4.1.4
A.sparc-unknown-linux-gnulibc1-rh4.2
A.sparc64-unknown-linux-gnu-rh5.2
Makefile.in
OLD
ORIG
amd-dev.txt
configure
diffs.txt
reply-to
signature
tmp
tutorial.txt
A.i686-pc-linux-gnu-rh6.1.92
A.i686-pc-linux-gnu-rh6.2
A.i386-unknown-freebsdelf3.4
A.i586-pc-linux-gnu-rh6.2
acinclude.m4
aclocal.m4
config.h.in
stamp-h.in
A.i586-pc-linux-rh6.2
A.i686-pc-linux-rh6.1
A.alpha-dec-osf4.0f
A.i386-pc-linux-rh6.1
A.i386-unknown-freebsd3.3
A.i386-unknown-freebsd3.4
A.i386-pc-linux-gnulibc1-rh4.2
A.i386-pc-linux-rh6.0
A.i386-pc-linux-rh6.2
A.i386-pc-linux-gnulibc1
A.i386-unknown-freebsd3.2
A.i386-unknown-freebsd4.0
A.i386-pc-linux-rh5.2
A.alphaev5-unknown-linux-rh5.2
A.i386-unknown-freebsd4.2
A.i386-pc-linux-rh7.0
A.i386-pc-linux-rh7.1
A.sparc64-unknown-linux-rh6.2
A.i386-unknown-freebsd5.0
autom4te.cache
A.i386-unknown-freebsd4.4
A.i386-pc-bsdi4.2
A.ia64-hp-hpux11.20
A.ia64-unknown-linux-rh7.1
A.i386-unknown-netbsdelf1.5.1
A.i386-pc-linuxlibc1-rh4.2
A.i386-pc-linux-rh7.2
A.i386-unknown-freebsd4.5
A.i386-unknown-openbsd2.9
A.i386-pc-linux-rh7.3
configure.new
A.sparc64-unknown-linux-suse7.3
autom4te-2.53.cache
A.i386-pc-linux-rh8.0
A.i386-pc-linux-rh9

View File

@ -1,4 +1,3 @@
# -*- text -*-
PRIMARY AUTHORS AND MAJOR CONTRIBUTORS TO AM_UTILS:
Original authors of amd were the Berkeley team and especially Jan-Simon
Pendry. Since then many people have contributed patches.
@ -168,6 +167,9 @@ October 10, 1997: compile time cleanups of printf()s in hlfsd code. If nfs
server is down or does not support a portmapper call, then mark it down as
version 2, and try again later.
April 12, 2003: support new "unmount" option, useful to timeout removable
local media mounts.
* Bill Paul <wpaul@ctr.columbia.edu>
November 5, 1997: NFS v.3 support for AIX 4.2.1, which does *not* include
@ -268,6 +270,7 @@ copies, and using cached copies if map failed to reload.
* Peter Breitenlohner <peb@mppmu.mpg.de>
July 24, 1999: patch for linux 2.2.x to work with older libc5 systems, and
nis_isup mis-logic fixes.
December 13, 2001: report typos in scripts/amd.conf.5.
* Dale Talcott <aeh@quest.cc.purdue.edu>
July 26, 1999: added NFS3 support for AIX mounting.
@ -311,3 +314,28 @@ February 1, 2001: important Linux NFS error number mapping fixed
* Ahmon Dancy <dancy@franz.com>
February 9, 2001: Apple Rhapsody/Darwin/OS X port
* Sebastien Bahloul <sebastien.bahloul@mangoosta.fr>
July 3, 2001: LDAP fixes and updates to support new APIs
March 27, 2002: LDAP bug and port to HPUX-11.
* Philippe Troin <phil@fifi.org>
July 12, 2001: Proper handling of GNU getopt, support for optionally
disabling LDAP/Hesiod, fixes for the dev/nodev option on Linux
November 28, 2001: Bug fix. Support "nolock" as an NFS option, not a
generic mount option.
July 17, 2003: Debian fixes. Null am_pref free.
* Trond Myklebust <trond.myklebust@fys.uio.no>
January 10, 2002: Proper initialization of the timeo parameter on Linux, TCP
_must_ have a timeout 2 orders of magnitude larger than UDP
* Sean Fagan <sef@apple.com>
March 14, 2003: detect and use the MNT2_GEN_OPT_AUTOMNTFS mount flag
on OS X / Darwin.
* Hendrik Scholz <hscholz@raisdorf.net>
June 9, 2003: mk-amd-map should open temp db file using O_EXCL.

View File

@ -1,5 +1,3 @@
# -*- text -*-
LIST OF KNOWN BUGS IN AM-UTILS OR OPERATING SYSTEMS
@ -20,10 +18,20 @@ reliable as yp_all() which uses TCP, but it is better than hanging.
(I have some reports that older version of hpux-9, with older libc, also
leak file descriptors.)
[1C] SGI's MIPSpro C compiler on IRIX 6 has the unfortunate habit of
creating code specificially for the machine it runs on. The ABI and ISA
used depend very much on the OS version and compiler release used. This
means that the resulting amd binary won't run on machines different from
the build host, particularly older ones. Older versions of am-utils
enforced the O32 ABI when compiling with cc to work around this, but this
ABI is deprecated in favor of the N32 ABI now, so we use -n32 -mips3 to
ensure that the binaries run on every host capable of running IRIX 6 at
all. If this is not appropriate for you, configure with something like
CC='cc -64' instead to get the desired ABI and ISA.
(2) alpha-unknown-linux-gnu (RedHat Linux 4.2)
hasmntopt(mnt, opt) can goes into an infinite loop if opt is any substring
hasmntopt(mnt, opt) can go into an infinite loop if opt is any substring
of mnt->mnt_opts. Redhat 5.0 does not have this libc bug. Here is an
example program:
@ -99,7 +107,7 @@ Upgrade to gcc 2.8.x or use IBM's xlC compiler.
in strlen inside strdup inside svc_register().
(5) *-linux-gnu (RedHat Linux 5.1)
(5) *-linux-rh51 (RedHat Linux 5.1)
There's a UDP file descriptor leak in libnsl in RedHat Linux 5.1. This
library part of glibc2. Am-utils currently declares redhat 5.1 systems as
@ -129,19 +137,19 @@ plock on aix-4.3: set it to plock=no in amd.conf (which is the default if
you do nothing).
(8) *-linux-gnu (systems using glibc 2.1, such as RedHat-6.1)
(8) *-linux (systems using glibc 2.1, such as RedHat-6.x)
There's a UDP file descriptor leak in the nis routines in glibc, especially
There's a UDP file descriptor leak in the NIS routines in glibc, especially
those that do yp_bind. Until this is bug fixed, do not set nis_domain in
amd.conf, but let the system pick up the default domain name as set by your
system. That would avoid using the buggy yp_bind routines in libc.
(9) *-linux-gnu (SuSE systems using unfsd)
(9) *-linux (SuSE systems using unfsd)
The user-level nfsd (2.2beta44) on SuSE Linux systems (and possibly others)
dies with a SEGV when amd tries to contact it for access to a volume that
does not exist, or one for which there is no permission to mount.
The user-level nfsd (2.2beta44) on older SuSE Linux systems (and possibly
others) dies with a SEGV when amd tries to contact it for access to a volume
that does not exist, or one for which there is no permission to mount.
(10) *-*-hpux11
@ -150,13 +158,49 @@ If you're using NFSv3, you must install HP patches PHNE_20344 and
PHNE_20371. If you don't, and you try to use amd with NFSv3 over TCP, your
kernel will panic.
(11) *-linux* (any system using a 2.2.18+ kernel)
The Linux kernels don't support Amd's direct mounts very well, leading to
erratic behavior: shares that don't get remounted after the first timeout,
inability to restart Amd because its mount points cannot be unmounted,
etc. There are some kernel patches on the am-utils Web site, which solve
these problems.
these problems. See http://www.am-utils.org/patches/.
UPDATE: kernels 2.4.10 and later completely disallow the direct mount hack,
so direct mounts are simply not possible on those Linux kernels.
(12) *-aix5.1.0.0 and *-hpux9*
/bin/sh is broken and fails to run the configure script properly. You need
to use /bin/ksh instead. The buildall script will do it for you; if for some
reason you need to run configure directly, run it using 'ksh configure'
instead of just 'configure'.
[12A] *-aix5.1.*
Apparently there is an NFS client side bug in vmount() which causes amd to
hang when it starts (and tries to NFS-mount itself). According to IBM
engineers, this has to do with partial support code for IPv6: the NFS kernel
code doesn't appear to recognize the sin_family of the amd vmount(),
although amd does the right thing. The bug appears to have been fixed in
AIX 5.2. No known fix/patch is available for AIX 5.1 as of now (1/25/2003).
(13) *-linux and *-darwin6.0
Certain linux kernels (2.4.18+ are fine, 2.4.10- are probably bad, those in
between have not been tested) have a bug which causes them to reconnect
broken NFS/TCP connections using unprivileged ports (greater than 1024),
unlike the initial connections which do originate from privileged
ports. This can upset quite a few NFS servers and causes accesses to the
mounted shares to fail with "Operation not permitted" (EPERM).
The darwin (MacOS X) kernel defaults to using unprivileged ports, but that
can be changed by setting the resvport mount flag (which amd sets by
default). Nonetheless, if a TCP connection breaks, under certain unclear
circumstances the kernel might "forget" about that flag and start using
unprivileged ports, causing the same EPERM error above.
Erez.
Erez & Ion.

View File

@ -1,4 +1,4 @@
Copyright (c) 1997-2001 Erez Zadok
Copyright (c) 1997-2003 Erez Zadok
Copyright (c) 1989 Jan-Simon Pendry
Copyright (c) 1989 Imperial College of Science, Technology & Medicine
Copyright (c) 1989 The Regents of the University of California.

View File

@ -1,3 +1,660 @@
2003-08-27 Ion Badulescu <ionut@buggy.badula.org>
* conf/nfs_prot/nfs_prot_freebsd3.h (na_uid): freebsd4.5 uses nfs
atttributes field named "uid". So #define na_uid to it. [backport
of Erez's 6.1 change from 2002-02-26]
2003-08-22 Nick Williams <Nick.Williams@morganstanley.com>
* amd/info_ldap.c (amu_ldap_init): don't try to pass a null
pointer as a string to plog, Solaris (and other OS's) don't like
it and will dump core.
2003-07-17 Erez Zadok <ezk@filer.fsl.cs.sunysb.edu>
* fsinfo/*.[hc]: rename fsinfo function log() to fsi_log(), to
avoid conflict with builtin function in gcc-3.3.
2003-07-17 Philippe Troin <phil@fifi.org>
* amd/amfs_auto.c (amfs_auto_mount): When pref:=NULL set am_pref
to strdup("") instead of NULL since this value will be
freed. Contributed by Matt Chapman <matthewc@cse.unsw.edu.au>.
2003-06-09 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu>
* mk-amd-map/mk-amd-map.c (main): open temp db file using O_EXCL,
next best thing to using mkstemp(). Patch from Hendrik Scholz
<hscholz@raisdorf.net>.
2003-05-08 Ion Badulescu <ion@guppy.limebrokerage.com>
* libamu/mount_fs.c (compute_automounter_mount_flags): use
MNT2_GEN_OPT_AUTOMNTFS if available; minor cleanup, removed
redundant code for MNT2_GEN_OPT_OVERLAY
* m4/macros/header_templates.m4: added template for
MNT2_GEN_OPT_AUTOMOUNTED
2003-04-23 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu>
* conf/transp/transp_sockets.c (create_amq_service): minor cpp
directive indentation and commenting.
2003-04-22 Ion Badulescu <ionut@moisil.badula.org>
* conf/transp/transp_sockets.c (create_amq_service): Ugly *BSD fix for
an RPC library DoS issue (original patch from Martin Blapp,
massaged into something more digestable by me)
2003-04-13 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu>
* doc/Makefile.am (DVIPS): use proper options for dvips.
* doc/am-utils.texi (opts Option): document new 'unmount' option,
and better explain the 'nounmount' option. Also some misc options
for better generation of html manual.
* doc/Makefile.am (install-html): support newer text2html 4.0
options, as older options were renamed or changed behavior.
* amd/autil.c (am_mounted): support new 'unmount' option, to allow
all file system mounts to timeout and thus expire. This option is
useful for removable local media such as CD-ROMs, USB drives,
etc. so they can expire when not in use, and get unmounted (such
drives can get work out when they keep spinning). Patch from
Christos Zoulas <christos@zoulas.com> (originally from Koji
Imada).
2003-04-10 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu>
* configure.in: use AM_MAINTAINER_MODE, so maintainer-only rules
do not get added to Makefiles by default (they are confusing to
users who don't have autotools installed).
2003-04-04 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu>
* libamu/xutil.c (switch_to_logfile): don't try to print logfile
if it is null (strlen core dump on solaris). Bug report from John
P. Rouillard <rouilj@ieee.org>.
2003-03-31 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu>
* fsinfo/fsinfo.8: typo co-ordinate -> coordinate. Typo report
from Perry E. Metzger" <perry@piermont.com>.
2003-03-20 Erez Zadok <ezk@suse73.fsl.cs.sunysb.edu>
* minor new port: sparc64-unknown-linux-suse7.3.
2003-03-20 Erez Zadok <ezk@a-freebsd5.fsl.cs.sunysb.edu>
* minor new port: i386-unknown-freebsd5.0.
* configure.in: detect nfsclient/nfsargs.h.
* conf/nfs_prot/nfs_prot_freebsd3.h: include
<nfsclient/nfsargs.h>, needed in FreeBSD 5.0.
2003-03-15 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu>
* amd/amd.8, amd/amd.8, fixmount/fixmount.8, hlfsd/hlfsd.8,
scripts/amd.conf.5, scripts/expn.1: minor spell checking and
extraneous space elimination.
2003-01-25 Erez Zadok <ezk@cs.sunysb.edu>
* BUGS (Note): document AIX-5.1 NFS-client side bug (hangs in
vmount).
2003-01-25 Ion Badulescu <ionut@moisil.badula.org>
*******************************************************************
*** Released am-utils-6.0.9 ***
*******************************************************************
2003-01-23 Ion Badulescu <ion@guppy.limebrokerage.com>
* NEWS: updated for Darwin changes
* .cvsignore: added A.i386-apple-darwin6.0 and
A.sparc-sun-solaris2.9
* m4/macros/check_nfs_fh_dref.m4: darwin/rhapsody is another
freebsd22 derivative
2002-12-28 Ion Badulescu <ionut@moisil.badula.org>
* amd/srvr_nfs.c (start_nfs_pings): don't set FSF_PINGING if
pings are disabled
* libamu/misc_rpc.c (make_rpc_packet): fix make_rpc_packet() on
64-bit big-endian platforms, bug report from Bill Fenner
<fenner@research.att.com>
* configure.in: increase library patchlevel
* libamu/xutil.c (amu_release_controlling_tty): close and reopen
file descriptors 0,1,2 before calling setsid()
2002-12-27 Erez Zadok <ezk@cs.sunysb.edu>
* updated copyright year to 2003 on all files
2002-12-11 Ion Badulescu <ionut@moisil.badula.org>
Solaris9 build fixes:
* amd/info_ldap.c (amu_ldap_rebind): call ldap_enable_cache() only
if configure detected it
* configure.in: check for ldap_enable_cache()
2002-12-10 Erez Zadok <ezk@localhost.localdomain>
* rename "aux/" subdir into "m4/" so as to avoid problems with
MS-DOS systems (where "AUX" is a reserved name). This required
fixing numerous files.
2002-11-21 Erez Zadok <ezk@cs.sunysb.edu>
* config.guess.long: updated script so it will properly find the
version number of the new Itanium 2 machines running "Red Hat
Linux Advanced Workstation release 2.1AW (Derry)". The script now
will report ia64-unknown-linux-rh2.1AW.
2002-11-11 Ion Badulescu <ion@guppy.limebrokerage.com>
* doc/am-utils.texi (Keep-alives): removed outdated info about not
maintaining the state of TCP NFS servers
2002-10-01 Ion Badulescu <ion@guppy.limebrokerage.com>
* hlfsd/hlfsd.h: removed sys_nerr declaration
* amq/amq.c, hlfsd/hlfsd.c, libamu/xutil.c: always use strerror()
* libamu/strerror.c: new file, strerror() implementation for
systems that don't have it
* libamu/Makefile.am: added strerror.c
* include/am_utils.h: debug code improvements ported from 6.1
* conf/mount/mount_aix.c: compile fix for --disable-debug
2002-09-09 Ion Badulescu <ion@guppy.limebrokerage.com>
*******************************************************************
*** Released am-utils-6.0.8 ***
*******************************************************************
2002-09-09 Ion Badulescu <ion@guppy.limebrokerage.com>
* amd/srvr_nfs.c (nfs_timed_out): add #ifdef DEBUG around dlog
2002-09-04 Ion Badulescu <ion@guppy.limebrokerage.com>
* amd/mntfs.c (free_mntfs): sanity check for mf_refc [patch from
George Ross ported from 6.1]
* amd/srvr_nfs.c (nfs_timed_out): allocate a new XID on server
timeout to avoid problems with late ping replies [patch from
George Ross ported from 6.1]
2002-07-11 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu>
* scripts/expn.{1,in}: fixed typos as reported by Thomas Klausner
<wiz@danbala.ifoer.tuwien.ac.at>.
2002-06-26 <ezk@agora.fsl.cs.sunysb.edu>
* doc/Makefile.am (install-html): don't use locally hacked
texi2html features.
* doc/am-utils.texi: don't use ':' in @cindex entries.
2002-06-24 Ion Badulescu <ionut@moisil.badula.org>
* doc/am-utils.texi (automount2amd): minor rewording
* aux/macros/struct_nfs_args.m4: added test for aix51_nfs_args
* conf/nfs_prot/nfs_prot_aix5_1.h: rename aix42_nfs_args to
aix51_nfs_args, rename unknown fields to u<number>
2002-06-24 Ion Badulescu <ion@guppy.limebrokerage.com>
* buildall: use ksh for configure on aix5.1; pass the extra
arguments after "--" to configure, not to make; fix 'buildall -b'
on hpux9 and aix5.1
2002-06-22 Ion Badulescu <lionut@gonzales.badula.org>
* hlfsd/homedir.c (homedir): use setgid() instead of setegid()
* buildall: use ksh for configure on aix5.1
2002-06-21 Ion Badulescu <ion@guppy.limebrokerage.com>
* Makefile.am: added nfs_prot_aix4_3.h to EXTRA_DIST_CONF
* conf/mount/mount_aix.c (mount_aix3): if the NFSv3 mount fails
with EINVAL and we have MOUNT_TYPE_NFS3_BIS defined, retry the
mount with the alternative nfs3_args structure
* conf/nfs_prot/nfs_prot_aix4_3.h: added alternative nfs3_args
structure, similar to that in aix5.1, for a hack that tries to
compensate for IBM's brain fart
* conf/nfs_prot/nfs_prot_aix5_1.h: new nfs_prot header for aix5.1+
* aux/macros/check_nfs_prot_headers.m4: added new header for aix5.1+
* BUGS: update for direct mounts on Linux; document the brokenness
of /bin/sh on AIX 5.1 and HP-UX 9
2002-06-21 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu>
* ALL source/header files: change use of HAVE_FIELD_* macros to
HAVE_*, since aux/macros/check_field.m4 changed as well.
* configure.in, Makefile.am, bootstrap, aux/amdgrep,
aux/macros/*.m4: MAJOR port of autotool files from 6.1 branch, to
work with newer autotools.
2002-06-21 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu>
* aux/macros/with_addon.m4: correct M4 quoting.
* aux/macros/cache_check_dynamic.m4: correct M4 quoting.
* bootstrap: show version of autotools being used. Helps
maintainer debugging.
* configure.in: new proper syntax for libtool and
ansi2knr-filtering rules, required by autoconf 1.53 and higher.
2002-06-21 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
* aux/GNUmakefile: new search paths for "update" target.
* config.guess, config.sub, doc/texinfo.tex, ltmain: updates from
the latest GNU distributions.
2002-05-30 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu>
* config.guess.long: support SuSE version names in long
config.guess format.
2002-05-03 Ion Badulescu <ion@guppy.limebrokerage.com>
* hlfsd/homedir.c (homedir): last chance checking for zombies;
(interlock): anal-retentive checking for all sorts of error
conditions during child recovery
* hlfsd/hlfsd.c (main): use SA_RESTART in sigaction
(cleanup): indentation
2002-05-01 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
* scripts/lostaltmail.in (vrfy_user): unlink temp files if too
small.
2002-03-29 Ion Badulescu <ionut@moisil.badula.org>
* amd/nfs_start.c: use plog() instead of perror()
2002-03-28 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu>
* amd/info_ldap.c: patch from "Sebastien Bahloul"
<sebastien.bahloul@medasys.org> to fix a simple initialization bug
and change "HE" to HE_ENT so as to compile on HPUX.
2002-02-12 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu>
* scripts/lostaltmail.in: don't verify user if -noverify option
was turned on. fix comment typo.
2002-02-11 Ion Badulescu <ion@guppy.limebrokerage.com>
* Ripped out all traces of autofs support
2002-02-11 Ion Badulescu <ion@guppy.limebrokerage.com>
* README: require newer auto-tools, update mailing list address
* README.autofs: point to the 6.1 branch for autofs support
2002-01-20 Erez Zadok <ezk@localhost.localdomain>
* updated copyright year to 2002 on all files
* hlfsd/hlfsd.h (HLFSD_VERSION): up version of hlfsd to 1.2,
because we made some important changes.
2002-01-20 Ion Badulescu <lionut@gonzales.badula.org>
* NEWS: document latest changes
* amd/map.c (unmount_mp): same fix as for hlfsd, update the
seconds field in mtime because Linux ignores the useconds field
* hlfsd/homedir.c: made some global vars static
(plt_init): remove all trailing '/' chars from root's home;
use root's home, not the username (silly bugfix)
2002-01-20 Ion Badulescu <lionut@gonzales.badula.org>
* hlfsd/homedir.c (homedir): don't special case uid 0 as having /
as home; instead use the root accounts home
(plt_init): properly initialize root_home from the root account's
home directory, or as "" if root doesn't exist
(plt_reset): free root_home
2002-01-20 Ion Badulescu <lionut@gonzales.badula.org>
* hlfsd/hlfsd.h: update prototype for homedir()
* hlfsd/stubs.c (nfsproc_lookup_2_svc): get the credentials at the
begining of the function and assign the uid to the symlink
attributes; increment the mtime's seconds field each time the uid
changes
(nfsproc_lookup_2_svc): ditto
(nfsproc_readlink_2_svc): pass the groupid to homedir();
* hlfsd/homedir.c (homedir): take a second argument, the user's
primary gid, and switch to it when doing filesystem operations;
save the old uid and gid and revert to them instead of the
hardcoded uid 0
2002-01-10 Ion Badulescu <ion@guppy.limebrokerage.com>
* conf/mount/mount_linux.c (mount_linux): tcp _must_ have a timeo
parameter 2 orders of magnitude larger than udp (patch from Trond
Myklebust)
2001-12-13 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu>
* scripts/amd.conf.5: correct title to section 5, not 8. Correct
reversed meaning of nfs_proto and nfs_vers parameters. Typos
reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
2001-12-02 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu>
* scripts/ctl-amd.in: run "test" or "[" in front of -x/-f
* scripts/ctl-hlfsd.in: run "test" or "[" in front of -x/-f
2001-11-29 Ion Badulescu <ion@guppy.limebrokerage.com>
* tasks: updated
* amq/amq.8: better document the -f option
2001-11-29 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu>
* libamu/mount_fs.c (mnt_flags): same as for nolock option
handling, do for maxgrps.
2001-11-28 Philippe Troin <phil@fifi.org>
* libamu/mount_fs.c (mnt_flags): Drop nolock from generic mount
opts.
(compute_nfs_args): Added nolock handling.
Adapted from an original patch from Avery Pennarun <apenwarr@nit.ca>.
2001-11-27 Erez Zadok <ezk@a-hpux11i.fsl.cs.sunysb.edu>
* ported to ia64-hp-hpux11.20 using HP's ANSI/C compiler.
Couldn't use bison/flex because of 32-bit vs. 64-bit binaries
issues. Had to use HP's own yacc/lex. This was discovered by
using HP's non-GNU make program.
2001-11-26 Erez Zadok <ezk@a-hpux11i.fsl.cs.sunysb.edu>
* */Makefile.am: don't use $(OBJECTS) directly because it is no
longer automatically defined now that Automake has automatic
dependency tracking (which I turn off). Instead, hard-code
minimal dependencies on am-utils' header files to depend on
PROG_OBJECTS (where PROG is the program name being built)
* amd/nfs_start.c (checkup): cast getpagesize() return val to
long, to avoid conflicts in division of a long by an int (on
hpux11i, with their ANSI/C compiler).
* INSTALL, doc/am-utils.texi: port updates
* minor new ports: ia64-hp-hpux11.20, i386-unknown-freebsd5.0,
i386-unknown-freebsd4.4, i386-pc-linux-rh7.2,
ia64-unknown-linux-rh7.1.
* include/am_defs.h: actually declare extern definition for
xdr_callmsg() if it doesn't already exist.
* aux/macros/header_templates.m4: declare template for
HAVE_EXTERN_XDR_CALLMSG.
* configure.in: check for extern definition for xdr_callmsg()
because hpux11 has that function but a bad <rpc/xdr.h> header file
that doesn't define it in the right place.
* libamu/mount_fs.c (print_nfs_args): cast ->rdev to u_long b/c
on hpux11 its type is dev_t.
* conf/nfs_prot/nfs_prot_hpux11.h: don't support autofs on hpux11
yet.
2001-11-16 Erez Zadok <ezk@fsl-gw.fsl.cs.sunysb.edu>
* buildall (Usage): separate $cnf_flags and $extra_cnf_flags due
to /bin/sh limitations.
* bootstrap (cmd): turn back on --ignore-deps (this Automake may
have problems)
* libamu/xutil.c: remove __attribute__ format_arg statement for
expand_error() because this function, although taking a
printf-like string, does not use it in a printf function; it only
expands a non-printf amd-special syntax %m.
2001-11-14 Erez Zadok <ezk@fsl-gw.fsl.cs.sunysb.edu>
* conf/nfs_prot/nfs_prot_linux.h: define KERNEL_VERSION macro
before using it because older Linux systems don't define this
(e.g., Red Hat 4.2)
2001-11-13 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu>
* configure.in: convert to using autoconfig 2.52. Use new macros.
AC_MSG_NOTICE for messages; AH_TOP and AH_BOTTOM to top and bottom
parts of autogenerated config.h.in; increase autoconf
pre-requisite to version 2.50; use AC_DISABLE_SHARED not
AM_DISABLE_SHARED.
* aux/macros/cache_check_dynamic.m4: finally I can use the new
$ECHO_N syntax in macros instead of $ac_n, since I'm using a new
autoconf. Isn't it nice to be such forward looking and having
placed a comment "XXX: use the next line for autoconf-2.14 and
newer"... :-)
* aux/macros/save_state.m4: highlight message with ***'s
* aux/macros/host_macros.m4: use proper M4 quoting ([], not "")
* config.{guess,sub}: upated from latest prep ftp distributions
* depcomp, missing, mkinstalldirs: upated from latest Automake 1.5
* ltmain.sh: updated from latest Libtool 1.4.2
* bootstrap: finally, new autoconf doesn't print silly "AC_TRY_RUN
called without default to allow cross compiling" warnings. And,
it only took like 3+ years to fix this. But, now it has anoter,
albeit less annoying warning (which the manual says to ignore):
"AC_PROG_LEX invoked multiple times".
When autoheader is run, don't treat the "all clear" message
"config.h.in is update" as an error.
* ltconfig: removed. not needed with latest version of libtool
* aux/macros/header_templates.m4: replaces acconfig.h and defines
all CPP macros we use in this package, including their
accompanying C /* comments */.
* acconfig.h: removed. replaced by new autoconf system to generate
header templates using AH_TEMPLATE macros and such.
* aux/macros/msg.m4: removed. Replaced with new macro
AC_MSG_NOTICE
* Makefile.am (EXTRA_DIST_AUX): remove aux/macros/msg.m4. Add
aux/macros/header_templates.m4
* configure.in: early, in host_macros.m4, I'm renaming silly linux
$host_os names such as linux-gnu and lignux to plain "linux".
Alas, RMS finally had his way and libtool will NOT recognize
"linux" as a valid system, only "linux-gnu". Sigh. Rich, I know
you're responsible to Linux's fame. Kudos to you and your
cohorts. But please don't force the rest of us to use those ugly
or long names. Solution: temporarily name $host_os to "linux-gnu"
before calling the AC_PROG_LIBTOOL macro, then name it back to
"linux". (That way I don't have to maintain my own version of
ltmain.sh.
* buildall: force running configure -C (to create and use a local
config.cache file). New default behavior for autoconf is NOT to
use cache files. Yeah, that's gonna fly real well with am-utils,
with its 700+ automatic tests.
* conf/mtab/mtab_mach3.c (rewrite_mtab): use mkstemp instead of
mktemp, if the former is available.
* conf/mtab/mtab_file.c (rewrite_mtab): use mkstemp instead of
mktemp, if the former is available.
* mk-amd-map/mk-amd-map.c (main): use mkstemp instead of mktemp,
if the former is available.
* aux/macros/check_nfs_socket_connection.m4: AC_DEFINE calls must
be on a separate line, as per new Autoconf manual, to avoid some
Bourne Shell syntactical bizarreness.
2001-11-12 Ion Badulescu <ionut@buggy.badula.org>
* libamu/mtab.c (hasmntval): strtol can return a non-NULL pointer
pointing to '\0' on success, so we need to allow for it. This
fixes the problem with rejecting numerical mount options if they
are the last option in the string.
* configure.in: increased library patchlevel
* NEWS: document the parsing bug; document other previous changes
2001-10-18 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
* aux/macros/os_cflags.m4 (irix6*): Enforce N32 ABI/mips3 ISA with cc.
* BUGS: Explain this.
2001-10-02 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu>
* doc/am-utils.texi (redhat-ctl-amd): document new script.
* scripts/Makefile.am: build redhat-ctl-amd but do not install it.
* scripts/redhat-ctl-amd.in: new script, useful to correctly
control Amd on Red Hat Linux systems. Script adapted from ctl-amd
and Red Hat's own rc.d script.
2001-10-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
* conf/nfs_prot/nfs_prot_osf5.h: Renamed from nfs_prot_osf5_1.h.
(MNT2_NFS_OPT_AUTO): Disable.
* Makefile.am (EXTRA_DIST_CONF): Reflect new name.
* aux/macros/check_nfs_prot_headers.m4: Use this file for all
Tru64 UNIX V5 and up releases.
2001-09-24 Ion Badulescu <ionut@moisil.badula.org>
* include/mount_headers1.h (MFS): define as 1 instead of nothing,
to fix compile problems on OS X (patch from Ahmon Dancy)
* aux/macros/try_compile_anyfs.m4 (MFS): ditto
2001-08-13 Erez Zadok <ezk@fsl-gw.fsl.cs.sunysb.edu>
* doc/am-utils.texi (in_network Selector Variable): document
expanded syntax
* libamu/wire.c (is_network_member): support for network/netmask
as well as network/bits syntax in in_network()
2001-07-19 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
* amd/get_args.c (get_args): a better way to handle GNU and
non-GNU getopts without strdup-ing the getopt string.
2001-07-04 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
* amd/info_ldap.c (amu_ldap_rebind): The first time you called
amu_ldap_init, aldh->ldap is not set. So when amu_ldap_rebind is
called, this function is absolutely sure to return 0. Then
amu_ldap_init return 0 without having opened any LDAP connection.
This is not the correct behaviour.
(get_ldap_timestamp, amu_ldap_search): error to free an object
("entry") that is automatically freed by the library. Patch from
Sebastien Bahloul <sebastien.bahloul@mangoosta.fr>.
2001-07-19 Ion Badulescu <ionut@moisil.badula.org>
* AUTHORS (variables): added Philippe Troin
* Makefile.am (EXTRA_DIST): added bootstrap
* amd/map.c (unmount_node_wrap): fix a couple of comments (already
fixed in 6.1)
* amd/amfs_auto.c (try_mount): print the path for the request that
failed (already in 6.1)
* include/am_compat.h (xfs_args_t): define as u_int if the
filesystem is supported but we can't autodetect the type for
xfs_args_t. This allows Linux to mount xfs filesystems.
2001-07-12 Philippe Troin <phil@fifi.org>
* aux/macros/with_addon.m4: Created. Wrapper around AC_ARG_WITH
with only the `yes' and `no' as possible answers.
* configure.in: Added support for disabling LDAP and HESIOD even
if the supporting libraries are found.
* Makefile.am (EXTRA_DIST_AUX): Added with_addon.m4 macro file.
2001-07-12 Philippe Troin <phil@fifi.org>
* include/am_compat.h: Removed forced definition of MNTTAB_OPT_DEV
if MNT2_GEN_OPT_NODEV was found. Actually, the dev= (SVR4) options
and the linux nodev options are different beasts.
* conf/mount/mount_linux.c (opt_map): Removed the MNTTAB_OPT_DEV
entry (not really necessary on linux).
2001-07-12 Philippe Troin <phil@fifi.org>
* amd/get_args.c (get_args): Prepend "+" to the getopt string if
HAVE_GNU_GETOPT to avoid getting all options (even the ones after
the first non-option argument) slurped in by GNU getopt.
* aux/macros/check_gnu_getopt.m4: Created. Defines HAVE_GNU_GETOPT
if GNU/glibc getopt implementation is detected.
* configure.in: Added call to AC_CHECK_GNU_GETOPT.
* acconfig.h: Document HAVE_GNU_GETOPT.
* Makefile.am (EXTRA_DIST_AUX): Added check_gnu_getopt.m4 macro file.
2001-06-27 Erez Zadok <ezk@shekel.mcl.cs.columbia.edu>
*******************************************************************
@ -1115,7 +1772,7 @@ Fri Dec 10 01:31:53 1999 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
* Makefile.am (EXTRA_DIST_CONF): include nfs_prot_sunos5_8.h in
distribution.
* applied fixes from Reiner Orth for Solaris 8.
* applied fixes from Rainer Orth for Solaris 8.
* libamu/wire.c (getwire): increment the cp pointer in the loop
body, because the ioctl() inside the "for" loop will overwrite the

View File

@ -1,113 +1,113 @@
# -*- text -*-
am-utils 6.0 compatibility list
For each system, list if it autoconfigures, compiles, or runs. Fill in
email id of person who confirms the fact. A missing entry means unverified.
A 'no' or '!' means verified broken or nonexistent (static library).
A 'no' or 'X' means verified broken or nonexistent (static library).
SYSTEM AUTOCONF COMPILE RUN SHLIB
========================= ======== ========= ======= =====
alpha-dec-osf2.1 ezk ezk ezk !ezk
alpha-dec-osf4.0 ezk ezk dsr[3] ezk
alpha-dec-osf4.0f ezk ezk dsr[3] ezk
alpha-dec-osf5.1 ro ro ro ro
alphaev5-unknown-linux-gnu ezk ezk finkel ezk
alphaev5-unknown-linux-gnu-rh5.2 ezk ezk ezk ezk
alphaev6-dec-osf5.0 ezk ezk dsr[3] ezk
hppa1.0-hp-hpux11.00 ezk ezk ezk ezk
hppa1.1-hp-hpux10.10 ezk ezk ezk ezk
hppa1.1-hp-hpux10.20 ezk ezk ezk ezk
hppa1.1-hp-hpux11.00 ezk ezk ezk ezk
hppa1.1-hp-hpux9.01 ezk[4] ezk[4] nrh/ezk ezk
hppa1.1-hp-hpux9.05 ezk[4] ezk[4] nrh/ezk ezk
hppa1.1-hp-hpux9.07 ezk[4] ezk[4] nrh/ezk ezk
hppa2.0w-hp-hpux11.00 ezk ezk ezk ezk
i386-pc-bsdi2.1 ezk ezk ezk !ezk
i386-pc-bsdi3.0 ezk ezk ezk !ezk
i386-pc-bsdi3.1 ezk ezk ezk !ezk
i386-pc-bsdi4.0 ezk ezk ezk ezk
i386-pc-bsdi4.0.1 ezk ezk ezk ezk
i386-pc-bsdi4.1 ezk ezk ezk ezk
i386-pc-solaris2.5.1 ezk ezk ezk ezk
i386-pc-solaris2.6 ezk ezk ezk ezk
i386-pc-solaris2.7 ezk ezk ezk ezk
i386-unknown-freebsd2.1.0 ezk ezk ezk
i386-unknown-freebsd2.2.1 ezk ezk ezk ezk
i386-unknown-freebsd2.2.6 ezk ezk ezk ezk
i386-unknown-freebsd2.2.7 ezk ezk ezk ezk
i386-unknown-freebsd2.2.8 ezk ezk ezk ezk
i386-unknown-freebsd3.0 ezk ezk ezk ezk
i386-unknown-freebsd4.2 ezk ezk ezk ezk
i386-unknown-freebsd5.0 ezk ezk ezk ezk
i386-unknown-freebsdelf3.0 ezk ezk ezk ezk
i386-unknown-freebsdelf3.1 ezk ezk ezk ezk
i386-unknown-freebsdelf3.2 ezk ezk ezk ezk
i386-unknown-freebsdelf3.3 ezk ezk ezk ezk
i386-unknown-freebsdelf3.4 ezk ezk ezk ezk
i386-unknown-freebsdelf4.0 ezk ezk ezk ezk
i386-unknown-netbsd1.2.1 ezk ezk ezk ezk
i386-unknown-netbsd1.3 ezk ezk ezk ezk
i386-unknown-netbsd1.3.1 ezk ezk ezk ezk
i386-unknown-netbsd1.3.2 ezk ezk ezk ezk
i386-unknown-netbsd1.3.3 ezk ezk ezk ezk
i386-unknown-netbsd1.4 ezk ezk ezk ezk
i386-unknown-netbsd1.4.1 ezk ezk ezk ezk
i386-unknown-openbsd2.1 ezk ezk ezk ezk
i386-unknown-openbsd2.2 ezk ezk ezk ezk
i386-unknown-openbsd2.3 ezk ezk ezk ezk
i386-unknown-openbsd2.4 ezk ezk ezk ezk
i386-unknown-openbsd2.5 ezk ezk ezk ezk
i486-ncr-sysv4.3.03 ezk ezk ezk
i486-pc-linux-gnu-rh6.0 ezk ezk ezk ezk
i486-pc-linux-gnulibc1 ezk ezk ezk ezk
i486-pc-linux-gnulibc1-rh4.2 ezk ezk ezk ezk
i486-pc-linux-gnuoldld ezk ezk ezk ezk
i586-pc-linux-gnu ezk ezk ezk ezk
i586-pc-linux-gnu-rh5.2 ezk ezk ezk ezk
i586-pc-linux-gnu-rh6.0 ezk ezk ezk ezk
i586-pc-linux-gnu-rh6.1 ezk ezk ezk ezk
i586-pc-linux-gnu-rh6.2 ezk ezk ezk ezk
i586-pc-linux-gnulibc1 ezk ezk ezk ezk
i586-pc-linux-gnulibc1-rh4.2 ezk ezk ezk ezk
i686-pc-linux-gnu ezk ezk ezk ezk
i686-pc-linux-gnu-rh5.2 ezk ezk ezk ezk
i686-pc-linux-gnu-rh6.0 ezk ezk ezk ezk
i686-pc-linux-gnu-rh6.2 ezk ezk ezk ezk
i686-pc-linux-gnulibc ezk ezk ezk ezk
i686-pc-linux-gnulibc1 ezk ezk ezk ezk
m68k-hp-hpux9.00 ezk[4] ezk[4] nrh/ezk
m68k-next-nextstep3 ezk ezk ezk !ezk
m68k-sun-sunos4.1.1 ezk ezk !ezk
mips-dec-ultrix4.3 ro ro ro
mips-sgi-irix5.2
mips-sgi-irix5.3 ezk ezk ezk ezk
mips-sgi-irix6.2 ezk[1] ezk[1] ezk[1] ezk
mips-sgi-irix6.4 ezk ezk ezk ezk
mips-sgi-irix6.5 ezk ezk ezk
powerpc-ibm-aix4.1.5.0 ezk ezk wpaul !ezk
powerpc-ibm-aix4.2.1.0 ezk ezk ezk !ezk
powerpc-ibm-aix4.3.1.0 ezk ezk !ezk
powerpc-unknown-linux-gnu jose jose jose
rs6000-ibm-aix3.2 ezk ezk ezk
rs6000-ibm-aix3.2.5 ezk ezk ezk
rs6000-ibm-aix4.1.4.0 ezk ezk !ezk
rs6000-ibm-aix4.1.5.0 ezk ezk !ezk
sparc-sun-solaris2.3 ezk ezk ezk ezk
sparc-sun-solaris2.4 ezk ezk ezk ezk
sparc-sun-solaris2.5 ezk ezk ezk ezk
sparc-sun-solaris2.5.1 ezk ezk ezk ezk
sparc-sun-solaris2.6 ezk ezk[2] ezk ezk
sparc-sun-solaris2.7 ezk ezk[2] ezk ezk
sparc-sun-solaris2.8 ro ro ro ro
sparc-sun-sunos4.1.1 ezk ezk ezk ezk
sparc-sun-sunos4.1.3 ezk ezk ezk ezk
sparc-sun-sunos4.1.3C ezk ezk ezk ezk
sparc-sun-sunos4.1.3_U1 ezk ezk ezk ezk
sparc-sun-sunos4.1.4 ezk ezk ezk ezk
sparc-unknown-linux-gnulibc1 ezk ezk ezk ezk
sparc-unknown-netbsd1.2E ezk ezk ezk
sparc-unknown-netbsd1.2G ezk ezk ezk
sparc64-unknown-linux-gnu ezk ezk ezk ezk
SYSTEM CONFIG COMPILE RUN SHLIB
========================= ====== ======= ===== =====
alpha-dec-osf2.1 ezk[0] ezk ezk ezk[X]
alpha-dec-osf4.0 ezk[0] ezk dsr[3] ezk
alpha-dec-osf4.0f ezk[0] ezk dsr[3] ezk
alpha-dec-osf5.1 ro[0] ro ro ro
alphaev5-unknown-linux ezk[0] ezk finkel ezk
alphaev5-unknown-linux-rh5.2 ezk[0] ezk ezk ezk
alphaev6-dec-osf5.0 ezk[0] ezk dsr[3] ezk
hppa1.0-hp-hpux11.00 ezk[0] ezk ezk ezk
hppa1.1-hp-hpux10.10 ezk[0] ezk ezk ezk
hppa1.1-hp-hpux10.20 ezk[0] ezk ezk ezk
hppa1.1-hp-hpux11.00 ezk[0] ezk ezk ezk
hppa1.1-hp-hpux9.01 ezk[0,4]ezk[4] nrh/ezk ezk
hppa1.1-hp-hpux9.05 ezk[0,4]ezk[4] nrh/ezk ezk
hppa1.1-hp-hpux9.07 ezk[0,4]ezk[4] nrh/ezk ezk
hppa2.0w-hp-hpux11.00 ezk[0] ezk ezk ezk
i386-pc-bsdi2.1 ion ion ion ion[X]
i386-pc-bsdi3.0 ezk[0] ezk ezk ezk[X]
i386-pc-bsdi3.1 ezk[0] ezk ezk ezk[X]
i386-pc-bsdi4.0 ezk[0] ezk ezk ezk
i386-pc-bsdi4.0.1 ezk[0] ezk ezk ezk
i386-pc-bsdi4.1 ezk[0] ezk ezk ezk
i386-pc-linux ezk[0] ezk ezk ezk
i386-pc-linux-libc1 ezk[0] ezk ezk ezk
i386-pc-linux-libc1-rh4.2 ezk[0] ezk ezk ezk
i386-pc-linux-rh5.2 ezk[0] ezk ezk ezk
i386-pc-linux-rh6.0 ezk[0] ezk ezk ezk
i386-pc-linux-rh6.1 ezk[0] ezk ezk ezk
i386-pc-linux-rh6.2 ion ion ion ion
i386-pc-linux-rh7.1 ion ion ion ion
i386-pc-linux-rh7.2 ion ion ion ion
i386-pc-linux-rh7.3 ion ion ion ion
i386-pc-solaris2.5.1 ezk[0] ezk ezk ezk
i386-pc-solaris2.6 ezk[0] ezk ezk ezk
i386-pc-solaris2.7 ezk[0] ezk ezk ezk
i386-unknown-freebsd2.1.0 ezk[0] ezk ezk
i386-unknown-freebsd2.2.1 ezk[0] ezk ezk ezk
i386-unknown-freebsd2.2.6 ezk[0] ezk ezk ezk
i386-unknown-freebsd2.2.7 ezk[0] ezk ezk ezk
i386-unknown-freebsd2.2.8 ezk[0] ezk ezk ezk
i386-unknown-freebsd3.0 ezk[0] ezk ezk ezk
i386-unknown-freebsd4.2 ezk[0] ezk ezk ezk
i386-unknown-freebsd4.4 ezk[0] ezk ezk ezk
i386-unknown-freebsd5.0 ezk[0] ezk ezk ezk
i386-unknown-freebsdelf3.0 ezk[0] ezk ezk ezk
i386-unknown-freebsdelf3.1 ezk[0] ezk ezk ezk
i386-unknown-freebsdelf3.2 ezk[0] ezk ezk ezk
i386-unknown-freebsdelf3.3 ezk[0] ezk ezk ezk
i386-unknown-freebsdelf3.4 ezk[0] ezk ezk ezk
i386-unknown-freebsdelf4.0 ezk[0] ezk ezk ezk
i386-unknown-netbsd1.2.1 ezk[0] ezk ezk ezk
i386-unknown-netbsd1.3 ezk[0] ezk ezk ezk
i386-unknown-netbsd1.3.1 ezk[0] ezk ezk ezk
i386-unknown-netbsd1.3.2 ezk[0] ezk ezk ezk
i386-unknown-netbsd1.3.3 ezk[0] ezk ezk ezk
i386-unknown-netbsd1.4 ezk[0] ezk ezk ezk
i386-unknown-netbsd1.4.1 ezk[0] ezk ezk ezk
i386-unknown-openbsd2.1 ezk[0] ezk ezk ezk
i386-unknown-openbsd2.2 ezk[0] ezk ezk ezk
i386-unknown-openbsd2.3 ezk[0] ezk ezk ezk
i386-unknown-openbsd2.4 ezk[0] ezk ezk ezk
i386-unknown-openbsd2.5 ezk[0] ezk ezk ezk
i486-ncr-sysv4.3.03 ezk[0] ezk ezk
ia64-hp-hpux11.20 ezk[0] ezk ezk ezk
ia64-unknown-linux-rh7.1 ezk[0] ezk ezk ezk
ia64-unknown-linux-rh7.2 ezk[0] ezk ezk ezk
ia64-unknown-linux-rh2.1AS ezk[0] ezk ezk ezk
ia64-unknown-linux-rh2.1AW ezk[0] ezk ezk ezk
m68k-hp-hpux9.00 ezk[0,4]ezk[4] nrh/ezk
m68k-next-nextstep3 ezk[0] ezk ezk ezk[X]
m68k-sun-sunos4.1.1 ezk[0] ezk ezk[X]
mips-dec-ultrix4.3 ro[0] ro ro
mips-sgi-irix5.3 ezk[0] ezk ezk ezk
mips-sgi-irix6.2 ezk[0,1]ezk[1] ezk[1] ezk
mips-sgi-irix6.4 ezk[0] ezk ezk ezk
mips-sgi-irix6.5 ezk[0] ezk ezk
powerpc-ibm-aix4.1.5.0 ezk[0] ezk wpaul ezk[X]
powerpc-ibm-aix4.2.1.0 ezk[0] ezk ezk ezk[X]
powerpc-ibm-aix4.3.1.0 ezk[0] ezk ezk[X]
powerpc-ibm-aix5.1.0.0 ion ion ion ion[X]
powerpc-unknown-linux jose[0] jose jose
rs6000-ibm-aix3.2 ezk[0] ezk ezk
rs6000-ibm-aix3.2.5 ezk[0] ezk ezk
rs6000-ibm-aix4.1.4.0 ezk[0] ezk ezk[X]
rs6000-ibm-aix4.1.5.0 ezk[0] ezk ezk[X]
sparc-sun-solaris2.3 ezk[0] ezk ezk ezk
sparc-sun-solaris2.4 ezk[0] ezk ezk ezk
sparc-sun-solaris2.5 ezk[0] ezk ezk ezk
sparc-sun-solaris2.5.1 ion ion ion ion
sparc-sun-solaris2.6 ion ion ion ion
sparc-sun-solaris2.7 ion ion ion ion
sparc-sun-solaris2.8 ion ion ion ion
sparc-sun-sunos4.1.1 ezk[0] ezk ezk ezk
sparc-sun-sunos4.1.3 ezk[0] ezk ezk ezk
sparc-sun-sunos4.1.3C ezk[0] ezk ezk ezk
sparc-sun-sunos4.1.3_U1 ezk[0] ezk ezk ezk
sparc-sun-sunos4.1.4 ezk[0] ezk ezk ezk
sparc-unknown-linux-libc1 ezk[0] ezk ezk ezk
sparc-unknown-linux-rh6.2 ion ion ion ion
sparc-unknown-netbsd1.2E ezk[0] ezk ezk
sparc-unknown-netbsd1.2G ezk[0] ezk ezk
sparc64-unknown-linux-rh6.2 ion ion ion ion
sparc64-unknown-linux-suse7.3 ezk[0] ezk ezk ezk
EMAIL ID LEGEND:
@ -115,6 +115,7 @@ bking: Bevis R W King <B.King@ee.surrey.ac.uk>
dsr: Dan Riley <dsr@mail.lns.cornell.edu>
ezk: Erez Zadok <ezk@cs.columbia.edu>
finkel: Raphael Finkel <raphael@cs.uky.edu>
ion: Ion Badulescu <ion@cs.columbia.edu>
jose: Jose Nazario <jose@biocserver.BIOC.CWRU.Edu>
nrh: Nick Hall <nrh@dcs.ed.ac.uk>
ro: Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
@ -124,6 +125,9 @@ wpaul: Bill Paul <wpaul@ctr.columbia.edu>
FOOTNOTES:
[0] These entries were tested with older 6.0 releases, but not with the
latest version. They probably still work, however.
[1] If compiling with cc on Irix 6, then use
CC="cc -32 -Wl,-woff,84" ./buildall
@ -138,13 +142,7 @@ Also, to get NFS V3 working, you need these two patches from SGI:
and then add "-p tcp" to /etc/config/nfsd.options.
[2] If compiling on Solaris 2.6, you need to add -D_LARGEFILE64_SOURCE to
CFLAGS to enable the 64bit file offset interface:
make CFLAGS="-O2 -g -D_LARGEFILE64_SOURCE"
If you're using the standard configure script, it will add this flag for you
automatically.
[2] ... has gone missing ...
[3] DU-4.0 may not use NFS (server-side) V3 by default. You may need to
adjust /etc/init.d/nfs, and change the nfsd startup line from to

View File

@ -5,7 +5,7 @@ Entered-date: 08SEP99
Description: BSD Automounter Utilities
Replaces the old amd-upl102. Offers NFS V3 support, many
new features, and numerous ports. The home page for
am-utils is in http://www.cs.columbia.edu/~ezk/am-utils/
am-utils is in http://www.am-utils.org
Keywords: amd amq hlfsd fsinfo wire-test fixmount mk-amd-map automount
Author: ezk@cs.columbia.edu (Erez Zadok)
Maintained-by: ezk@cs.columbia.edu (Erez Zadok)
@ -13,7 +13,7 @@ Primary-site: shekel.mcl.cs.columbia.edu /pub/am-utils
1.3MB am-utils-6.0.1.tar.gz
1.3MB am-utils.tar.gz
1.3MB am-utils-snapshot.tar.gz
Alternate-site: http://www.cs.columbia.edu/~ezk/am-utils/mirrors.html
Alternate-site: http://www.am-utils.org/mirrors.html
Original-site: ftp.cs.columbia.edu /pub/amd
Platforms: all modern Unix systems
Copying-policy: BSD

View File

@ -22,7 +22,7 @@ U.S.A:
ftp://info.mcs.kent.edu/pub/am-utils
Maintainer: root@mcs.kent.edu
Florida (University of Florida)
ftp://ftp.cise.ufl.edu/pub/am-utils
ftp://ftp.cise.ufl.edu/pub/mirrors/am-utils
Maintainer: mirror@cise.ufl.edu
Europe:

View File

@ -1,4 +1,69 @@
# -*- text -*-
*** Notes specific to am-utils version 6.0.10-pre:
- minor new ports:
ia64-unknown-linux-rh2.1AS (Red Hat Itanium Advanced Server)
i386-unknown-freebsd5.0 (5.0-RELEASE)
sparc64-unknown-linux-suse7.3
- bug fixes:
rename log() in fsinfo to avoid glibc/gcc-3.3 conflict
am_pref free NULL pointer
*** Notes specific to am-utils version 6.0.9:
- Minor new ports:
i386-apple-darwin6.0
sparc-sun-solaris2.9
- bugs fixed:
* handle std{in,out,err} correctly when releasing controlling tty
(for real this time)
* don't cast pointers between enum_t and u_long, it doesn't work on
64-bit big-endian platforms
*** Notes specific to am-utils version 6.0.8:
- Minor new ports:
i386-pc-linux-rh7.2
i386-pc-linux-rh7.3
i386-unknown-freebsd4.4
i386-unknown-freebsd5.0
ia64-hp-hpux11.20
ia64-unknown-linux-rh7.1
powerpc-ibm-aix5.1.0.0
- Work around IBM's NFSv3 ABI change in aix4.3
- Support network/netmask and network/masklen syntax in in_network()
- Support disabling LDAP and Hesiod support using configure
- Support xfs on Linux
- Red Hat specific Amd startup script included
- Remove (non-functional) autofs code and detection support. If you want
autofs support, use am-utils-6.1.
- bugs fixed:
* hlfsd takes uid 0's home from root's passwd entry instead of
defaulting to '/'
* (not really our bug) Linux ignores the microseconds field in
mtime, so hlfsd and amd need to increment the seconds field all
the time to prevent symlink caching
* generic map parsing bug which was rejecting a numerical mount option
if it was the last option in the string
* MacOS X compile bug
* minor fix for GNU getopt
* Linux has no "dev" mtab option
* "nolock" is an NFS mount option, not a generic one
* Irix N32 ABI fixes with cc
* security: use mkstemp instead of mktemp
* correct timeo values for Linux tcp/udp NFS mounts
* hlfsd use of setuid() not seteuid()
* AIX ABI changes to nfs_args fixes
*** Notes specific to am-utils version 6.0.7:
@ -11,7 +76,7 @@
*** Notes specific to am-utils version 6.0.6:
- new ports:
Apple OS X support (Darwin, Rhapsody)
Mac OS X support (Darwin, Rhapsody)
- reworked autoconf scripts so that newer versions of known OSs will default
their configuration to the last known version (better chance that it will

View File

@ -61,7 +61,7 @@ This is a manual method that will let you build in any directory outside the
am-utils source tree. It requires that your "make" program understand
VPATH. This can be used multiple times to build am-utils concurrently in
multiple (but different) directories. In fact, the buildall script
described above.
described above does precisely that, using the A.* subdirectories.
(4) If you need to configure am-utils with extra libraries and/or headers,
for example to add hesiod support, do so as follows:
@ -74,7 +74,7 @@ for example to add hesiod support, do so as follows:
hlfsd, lib, etc, all you need to do to get a new version of am-utils is run
make.
If you modify any of the files in the aux/ or conf/ directories, or any *.in
If you modify any of the files in the m4/ or conf/ directories, or any *.in
or *.am file, then you must rebuild the configure script, Makefile.in files,
aclocal.m4, etc. The best way to do so is to run
@ -83,12 +83,10 @@ or
./buildall -K
To be a developer and be able to run "bootstrap", you must have
autoconf-2.13, automake-1.4, and libtool 1.3.5 installed on your system (or
autoconf-2.50, automake-1.5, and libtool 1.4 installed on your system (or
later versions thereof). You no longer need to get my special version of
automake. Note also the the bootstrap script and several other tools are
not available in the regular distribution of am-utils, only though the CVS
server for am-utils. Contact me if you'd like to be a maintainer and get
access to the CVS server.
automake. Contact me if you'd like to be a maintainer and get access to the
CVS server.
After you've remade the basic configuration files you must rerun the
buildall script to rerun configure and then remake the binaries.
@ -98,9 +96,9 @@ before. Let me know if you are having any problems with them. I fully
expect, at least initially, to have to be the sole developers of the M4
macros and let others concentrate on C sources.
[E] Report all bugs to amd-dev@majordomo.cs.columbia.edu. Avoid reporting
to my personal email address. It is important to involve the whole list in
bug fixes etc.
[E] Report all bugs to amd-dev@cs.columbia.edu. Avoid reporting to my
personal email address. It is important to involve the whole list in bug
fixes etc.
Good luck.

View File

@ -5,6 +5,10 @@ The current LDAP support for am-utils is for LDAPv2 only. Reportedly,
small changes are needed to support LDAPv3. Volunteers and patches are
welcome.
The IANA has assigned the following Private Enterprise Number to:
10180 Am-utils Organization Erez Zadok ezk@am-utils.org
There are two files in this directory that relate to LDAP:
ldap-id.txt:
@ -23,3 +27,28 @@ ldap-id.ms:
it, run "nroff -ms ldap-id.ms > ldap-id.txt"
Erez.
------- Forwarded Message
From: "IANA Private Enterprise Number" <iana-pen@icann.org>
To: "Erez Zadok" <ezk@cs.columbia.edu>
Subject: RE: Application for Enterprise-number (10180)
Date: Sun, 15 Jul 2001 14:43:45 -0700
Dear Erez,
The IANA has assigned the following Private Enterprise
Number to:
10180 Am-utils Organization Erez Zadok ezk@am-utils.org
Please notify the IANA if there is a change in your contact
or company information.
Thank you,
Bill Huang
IANA - Private Enterprise Numbers
------- End of Forwarded Message

View File

@ -0,0 +1 @@
Makefile.in

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997-2001 Erez Zadok
* Copyright (c) 1997-2003 Erez Zadok
* Copyright (c) 1989 Jan-Simon Pendry
* Copyright (c) 1989 Imperial College of Science, Technology & Medicine
* Copyright (c) 1989 The Regents of the University of California.
@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
* $Id: am_ops.c,v 1.6.2.3 2001/02/23 01:03:39 ezk Exp $
* $Id: am_ops.c,v 1.6.2.6 2002/12/27 22:44:28 ezk Exp $
*
*/
@ -130,8 +130,7 @@ static am_ops *vops[] =
* (1) amfs_auto
* (2) amfs_direct
* (3) amfs_toplvl
* (4) autofs
* (5) amfs_error
* (4) amfs_error
*/
#ifdef HAVE_AMU_FS_AUTO
&amfs_auto_ops, /* Automounter F/S */
@ -142,9 +141,6 @@ static am_ops *vops[] =
#ifdef HAVE_AMU_FS_TOPLVL
&amfs_toplvl_ops, /* top-level mount F/S */
#endif /* HAVE_AMU_FS_TOPLVL */
#ifdef HAVE_FS_AUTOFS
&autofs_ops, /* autofs mount F/S */
#endif /* HAVE_FS_AUTOFS */
#ifdef HAVE_AMU_FS_ERROR
&amfs_error_ops, /* error F/S */
#endif /* HAVE_AMU_FS_ERROR */
@ -192,10 +188,6 @@ ops_showfstypes(char *buf)
buf[0] = '\0';
#ifdef MNTTAB_TYPE_AUTOFS
ops_show1(buf, &l, MNTTAB_TYPE_AUTOFS);
#endif /* MNTTAB_TYPE_AUTOFS */
#ifdef MNTTAB_TYPE_CACHEFS
ops_show1(buf, &l, MNTTAB_TYPE_CACHEFS);
#endif /* MNTTAB_TYPE_CACHEFS */

View File

@ -1,5 +1,5 @@
.\"
.\" Copyright (c) 1997-2001 Erez Zadok
.\" Copyright (c) 1997-2003 Erez Zadok
.\" Copyright (c) 1989 Jan-Simon Pendry
.\" Copyright (c) 1989 Imperial College of Science, Technology & Medicine
.\" Copyright (c) 1989 The Regents of the University of California.
@ -38,7 +38,7 @@
.\"
.\" %W% (Berkeley) %G%
.\"
.\" $Id: amd.8,v 1.4.2.1 2001/01/10 03:22:59 ezk Exp $
.\" $Id: amd.8,v 1.4.2.4 2003/03/16 01:46:59 ezk Exp $
.\"
.TH AMD 8 "3 November 1989"
.SH NAME
@ -210,7 +210,7 @@ it.
Specify the NFS timeout
.IR interval ,
in tenths of a second, between NFS/RPC retries (for UDP only). The default
is 0.8 seconds. The second value alters the restransmit counter, which
is 0.8 seconds. The second value alters the retransmit counter, which
defaults to 11 retransmissions. Both of these values are used by the kernel
to communicate with amd. Useful defaults are supplied if either or both
values are missing.

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997-2001 Erez Zadok
* Copyright (c) 1997-2003 Erez Zadok
* Copyright (c) 1989 Jan-Simon Pendry
* Copyright (c) 1989 Imperial College of Science, Technology & Medicine
* Copyright (c) 1989 The Regents of the University of California.
@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
* $Id: amd.c,v 1.8.2.3 2001/01/10 03:22:59 ezk Exp $
* $Id: amd.c,v 1.8.2.5 2002/12/27 22:44:29 ezk Exp $
*
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997-2001 Erez Zadok
* Copyright (c) 1997-2003 Erez Zadok
* Copyright (c) 1990 Jan-Simon Pendry
* Copyright (c) 1990 Imperial College of Science, Technology & Medicine
* Copyright (c) 1990 The Regents of the University of California.
@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
* $Id: amd.h,v 1.8.2.3 2001/04/07 00:47:41 ib42 Exp $
* $Id: amd.h,v 1.8.2.6 2002/12/27 22:44:29 ezk Exp $
*
*/
@ -229,7 +229,6 @@ extern voidp amqproc_umnt_1_svc(voidp argp, struct svc_req *rqstp);
/* other external definitions */
extern am_nfs_fh *root_fh(char *dir);
extern am_node *autofs_lookuppn(am_node *mp, char *fname, int *error_return, int op);
extern am_node *find_ap(char *);
extern am_node *find_ap2(char *, am_node *);
extern bool_t xdr_amq_mount_info_qelem(XDR *xdrs, qelem *qhead);
@ -285,19 +284,6 @@ extern char *nfs_match(am_opts *fo);
extern bool_t xdr_mountres3(XDR *xdrs, mountres3 *objp);
#endif /* defined(HAVE_FS_NFS3) && !defined(HAVE_XDR_MOUNTRES3) */
#ifdef HAVE_FS_AUTOFS
extern SVCXPRT *autofsxprt;
extern u_short autofs_port;
extern int amd_use_autofs;
extern int autofs_mount(am_node *mp);
extern int autofs_umount(am_node *mp);
extern int create_autofs_service(int *soAUTOFSp, u_short *autofs_portp, SVCXPRT **autofs_xprtp, void (*dispatch_fxn)(struct svc_req *rqstp, SVCXPRT *transp));
extern int svc_create_local_service(void (*dispatch) (), u_long prognum, u_long versnum, char *nettype, char *servname);
extern void autofs_mounted(mntfs *mf);
extern void autofs_program_1(struct svc_req *rqstp, SVCXPRT *transp);
#endif /* HAVE_FS_AUTOFS */
/* Unix file system (irix) */
#ifdef HAVE_FS_XFS
extern am_ops xfs_ops; /* Un*x file system */

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997-2001 Erez Zadok
* Copyright (c) 1997-2003 Erez Zadok
* Copyright (c) 1990 Jan-Simon Pendry
* Copyright (c) 1990 Imperial College of Science, Technology & Medicine
* Copyright (c) 1990 The Regents of the University of California.
@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
* $Id: amfs_auto.c,v 1.9.2.7 2001/04/14 21:08:19 ezk Exp $
* $Id: amfs_auto.c,v 1.9.2.11 2003/07/18 04:50:18 ezk Exp $
*
*/
@ -188,7 +188,7 @@ amfs_auto_mount(am_node *mp)
if (mf->mf_fo->opt_pref) {
/* allow pref:=null to set a real null prefix */
if (STREQ(mf->mf_fo->opt_pref, "null")) {
mp->am_pref = "";
mp->am_pref = strdup("");
} else {
/*
* the prefix specified as an option
@ -434,7 +434,7 @@ try_mount(voidp mvp)
#ifdef DEBUG
if (error > 0) {
errno = error;
dlog("amfs_auto call to mount_node failed: %m");
dlog("amfs_auto: call to mount_node(%s) failed: %m", mp->am_path);
}
#endif /* DEBUG */

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997-2001 Erez Zadok
* Copyright (c) 1997-2003 Erez Zadok
* Copyright (c) 1990 Jan-Simon Pendry
* Copyright (c) 1990 Imperial College of Science, Technology & Medicine
* Copyright (c) 1990 The Regents of the University of California.
@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
* $Id: amfs_direct.c,v 1.3.2.1 2001/01/10 03:23:00 ezk Exp $
* $Id: amfs_direct.c,v 1.3.2.3 2002/12/27 22:44:30 ezk Exp $
*
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997-2001 Erez Zadok
* Copyright (c) 1997-2003 Erez Zadok
* Copyright (c) 1989 Jan-Simon Pendry
* Copyright (c) 1989 Imperial College of Science, Technology & Medicine
* Copyright (c) 1989 The Regents of the University of California.
@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
* $Id: amfs_error.c,v 1.3.2.2 2001/01/12 23:28:56 ro Exp $
* $Id: amfs_error.c,v 1.3.2.4 2002/12/27 22:44:30 ezk Exp $
*
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997-2001 Erez Zadok
* Copyright (c) 1997-2003 Erez Zadok
* Copyright (c) 1990 Jan-Simon Pendry
* Copyright (c) 1990 Imperial College of Science, Technology & Medicine
* Copyright (c) 1990 The Regents of the University of California.
@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
* $Id: amfs_host.c,v 1.4.2.4 2001/05/19 02:00:58 ib42 Exp $
* $Id: amfs_host.c,v 1.4.2.6 2002/12/27 22:44:30 ezk Exp $
*
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997-2001 Erez Zadok
* Copyright (c) 1997-2003 Erez Zadok
* Copyright (c) 1989 Jan-Simon Pendry
* Copyright (c) 1989 Imperial College of Science, Technology & Medicine
* Copyright (c) 1989 The Regents of the University of California.
@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
* $Id: amfs_inherit.c,v 1.3.2.1 2001/01/10 03:23:01 ezk Exp $
* $Id: amfs_inherit.c,v 1.3.2.3 2002/12/27 22:44:31 ezk Exp $
*
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997-2001 Erez Zadok
* Copyright (c) 1997-2003 Erez Zadok
* Copyright (c) 1990 Jan-Simon Pendry
* Copyright (c) 1990 Imperial College of Science, Technology & Medicine
* Copyright (c) 1990 The Regents of the University of California.
@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
* $Id: amfs_link.c,v 1.3.2.1 2001/01/10 03:23:02 ezk Exp $
* $Id: amfs_link.c,v 1.3.2.3 2002/12/27 22:44:31 ezk Exp $
*
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997-2001 Erez Zadok
* Copyright (c) 1997-2003 Erez Zadok
* Copyright (c) 1990 Jan-Simon Pendry
* Copyright (c) 1990 Imperial College of Science, Technology & Medicine
* Copyright (c) 1990 The Regents of the University of California.
@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
* $Id: amfs_linkx.c,v 1.3.2.1 2001/01/10 03:23:02 ezk Exp $
* $Id: amfs_linkx.c,v 1.3.2.3 2002/12/27 22:44:31 ezk Exp $
*
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997-2001 Erez Zadok
* Copyright (c) 1997-2003 Erez Zadok
* Copyright (c) 1990 Jan-Simon Pendry
* Copyright (c) 1990 Imperial College of Science, Technology & Medicine
* Copyright (c) 1990 The Regents of the University of California.
@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
* $Id: amfs_nfsl.c,v 1.4.2.1 2001/01/10 03:23:02 ezk Exp $
* $Id: amfs_nfsl.c,v 1.4.2.3 2002/12/27 22:44:31 ezk Exp $
*
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997-2001 Erez Zadok
* Copyright (c) 1997-2003 Erez Zadok
* Copyright (c) 1990 Jan-Simon Pendry
* Copyright (c) 1990 Imperial College of Science, Technology & Medicine
* Copyright (c) 1990 The Regents of the University of California.
@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
* $Id: amfs_nfsx.c,v 1.3.2.2 2001/04/14 21:08:20 ezk Exp $
* $Id: amfs_nfsx.c,v 1.3.2.4 2002/12/27 22:44:32 ezk Exp $
*
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997-2001 Erez Zadok
* Copyright (c) 1997-2003 Erez Zadok
* Copyright (c) 1989 Jan-Simon Pendry
* Copyright (c) 1989 Imperial College of Science, Technology & Medicine
* Copyright (c) 1989 The Regents of the University of California.
@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
* $Id: amfs_program.c,v 1.6.2.1 2001/01/10 03:23:03 ezk Exp $
* $Id: amfs_program.c,v 1.6.2.3 2002/12/27 22:44:32 ezk Exp $
*
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997-2001 Erez Zadok
* Copyright (c) 1997-2003 Erez Zadok
* Copyright (c) 1990 Jan-Simon Pendry
* Copyright (c) 1990 Imperial College of Science, Technology & Medicine
* Copyright (c) 1990 The Regents of the University of California.
@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
* $Id: amfs_root.c,v 1.3.2.1 2001/01/10 03:23:03 ezk Exp $
* $Id: amfs_root.c,v 1.3.2.3 2002/12/27 22:44:32 ezk Exp $
*
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997-2001 Erez Zadok
* Copyright (c) 1997-2003 Erez Zadok
* Copyright (c) 1990 Jan-Simon Pendry
* Copyright (c) 1990 Imperial College of Science, Technology & Medicine
* Copyright (c) 1990 The Regents of the University of California.
@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
* $Id: amfs_toplvl.c,v 1.7.2.2 2001/04/14 21:08:20 ezk Exp $
* $Id: amfs_toplvl.c,v 1.7.2.4 2002/12/27 22:44:32 ezk Exp $
*
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997-2001 Erez Zadok
* Copyright (c) 1997-2003 Erez Zadok
* Copyright (c) 1990 Jan-Simon Pendry
* Copyright (c) 1990 Imperial College of Science, Technology & Medicine
* Copyright (c) 1990 The Regents of the University of California.
@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
* $Id: amfs_union.c,v 1.3.2.2 2001/04/14 21:08:21 ezk Exp $
* $Id: amfs_union.c,v 1.3.2.4 2002/12/27 22:44:33 ezk Exp $
*
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997-2001 Erez Zadok
* Copyright (c) 1997-2003 Erez Zadok
* Copyright (c) 1990 Jan-Simon Pendry
* Copyright (c) 1990 Imperial College of Science, Technology & Medicine
* Copyright (c) 1990 The Regents of the University of California.
@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
* $Id: amq_subr.c,v 1.6.2.2 2001/01/12 22:43:42 ro Exp $
* $Id: amq_subr.c,v 1.6.2.4 2002/12/27 22:44:33 ezk Exp $
*
*/
/*

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997-2001 Erez Zadok
* Copyright (c) 1997-2003 Erez Zadok
* Copyright (c) 1990 Jan-Simon Pendry
* Copyright (c) 1990 Imperial College of Science, Technology & Medicine
* Copyright (c) 1990 The Regents of the University of California.
@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
* $Id: amq_svc.c,v 1.4.2.2 2001/01/12 22:43:42 ro Exp $
* $Id: amq_svc.c,v 1.4.2.4 2002/12/27 22:44:33 ezk Exp $
*
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997-2001 Erez Zadok
* Copyright (c) 1997-2003 Erez Zadok
* Copyright (c) 1990 Jan-Simon Pendry
* Copyright (c) 1990 Imperial College of Science, Technology & Medicine
* Copyright (c) 1990 The Regents of the University of California.
@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
* $Id: autil.c,v 1.4.2.2 2001/04/29 05:08:35 ib42 Exp $
* $Id: autil.c,v 1.4.2.5 2003/04/14 01:23:09 ezk Exp $
*
*/
@ -286,7 +286,13 @@ am_mounted(am_node *mp)
* Check whether this mount should be cached permanently
*/
if (mf->mf_ops->fs_flags & FS_NOTIMEOUT) {
mp->am_flags |= AMF_NOTIMEOUT;
mntent_t mnt;
mnt.mnt_opts = mf->mf_mopts;
if (mf->mf_mopts && hasmntopt(&mnt, "unmount"))
mp->am_flags &= ~AMF_NOTIMEOUT;
else
mp->am_flags |= AMF_NOTIMEOUT;
} else if (mf->mf_mount[1] == '\0' && mf->mf_mount[0] == '/') {
mp->am_flags |= AMF_NOTIMEOUT;
} else {
@ -295,6 +301,8 @@ am_mounted(am_node *mp)
mnt.mnt_opts = mf->mf_mopts;
if (hasmntopt(&mnt, "nounmount"))
mp->am_flags |= AMF_NOTIMEOUT;
if (hasmntopt(&mnt, "unmount"))
mp->am_flags &= ~AMF_NOTIMEOUT;
if ((mp->am_timeo = hasmntval(&mnt, "utimeout")) == 0)
mp->am_timeo = gopt.am_timeo;
}

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997-2001 Erez Zadok
* Copyright (c) 1997-2003 Erez Zadok
* Copyright (c) 1989 Jan-Simon Pendry
* Copyright (c) 1989 Imperial College of Science, Technology & Medicine
* Copyright (c) 1989 The Regents of the University of California.
@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
* $Id: clock.c,v 1.4.2.1 2001/01/10 03:23:04 ezk Exp $
* $Id: clock.c,v 1.4.2.3 2002/12/27 22:44:33 ezk Exp $
*
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997-2001 Erez Zadok
* Copyright (c) 1997-2003 Erez Zadok
* Copyright (c) 1990 Jan-Simon Pendry
* Copyright (c) 1990 Imperial College of Science, Technology & Medicine
* Copyright (c) 1990 The Regents of the University of California.
@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
* $Id: conf.c,v 1.7.2.3 2001/04/14 21:08:21 ezk Exp $
* $Id: conf.c,v 1.7.2.6 2002/12/27 22:44:34 ezk Exp $
*
*/
@ -565,14 +565,9 @@ static int
gopt_mount_type(const char *val)
{
if (STREQ(val, "autofs")) {
#ifdef HAVE_FS_AUTOFS
gopt.flags |= CFM_MOUNT_TYPE_AUTOFS;
amd_use_autofs++;
fprintf(stderr, "conf: no autofs support available, turning it off\n");
gopt.flags &= ~CFM_MOUNT_TYPE_AUTOFS;
return 0;
#else /* not HAVE_FS_AUTOFS */
fprintf(stderr, "conf: no autofs support available\n");
return 1;
#endif /* not HAVE_FS_AUTOFS */
} else if (STREQ(val, "nfs")) {
gopt.flags &= ~CFM_MOUNT_TYPE_AUTOFS;
return 0;
@ -917,14 +912,9 @@ static int
ropt_mount_type(const char *val, cf_map_t *cfm)
{
if (STREQ(val, "autofs")) {
#ifdef HAVE_FS_AUTOFS
cfm->cfm_flags |= CFM_MOUNT_TYPE_AUTOFS;
amd_use_autofs++;
fprintf(stderr, "conf: no autofs support available, turning it off\n");
cfm->cfm_flags &= ~CFM_MOUNT_TYPE_AUTOFS;
return 0;
#else /* not HAVE_FS_AUTOFS */
fprintf(stderr, "conf: no autofs support available\n");
return 1;
#endif /* not HAVE_FS_AUTOFS */
} else if (STREQ(val, "nfs")) {
cfm->cfm_flags &= ~CFM_MOUNT_TYPE_AUTOFS;
return 0;

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997-2001 Erez Zadok
* Copyright (c) 1997-2003 Erez Zadok
* Copyright (c) 1989 Jan-Simon Pendry
* Copyright (c) 1989 Imperial College of Science, Technology & Medicine
* Copyright (c) 1989 The Regents of the University of California.
@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
* $Id: conf_parse.y,v 1.4.2.1 2001/01/10 03:23:05 ezk Exp $
* $Id: conf_parse.y,v 1.4.2.3 2002/12/27 22:44:34 ezk Exp $
*
*/

View File

@ -1,6 +1,6 @@
%{
/*
* Copyright (c) 1997-2001 Erez Zadok
* Copyright (c) 1997-2003 Erez Zadok
* Copyright (c) 1989 Jan-Simon Pendry
* Copyright (c) 1989 Imperial College of Science, Technology & Medicine
* Copyright (c) 1989 The Regents of the University of California.
@ -39,7 +39,7 @@
*
* %W% (Berkeley) %G%
*
* $Id: conf_tok.l,v 1.3.2.1 2001/01/10 03:23:05 ezk Exp $
* $Id: conf_tok.l,v 1.3.2.3 2002/12/27 22:44:34 ezk Exp $
*
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997-2001 Erez Zadok
* Copyright (c) 1997-2003 Erez Zadok
* Copyright (c) 1990 Jan-Simon Pendry
* Copyright (c) 1990 Imperial College of Science, Technology & Medicine
* Copyright (c) 1990 The Regents of the University of California.
@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
* $Id: get_args.c,v 1.7.2.1 2001/01/10 03:23:05 ezk Exp $
* $Id: get_args.c,v 1.7.2.5 2002/12/27 22:44:34 ezk Exp $
*
*/
@ -85,7 +85,7 @@ get_version_string(void)
vers = xmalloc(2048 + wire_buf_len);
sprintf(vers, "%s\n%s\n%s\n%s\n",
"Copyright (c) 1997-2001 Erez Zadok",
"Copyright (c) 1997-2003 Erez Zadok",
"Copyright (c) 1990 Jan-Simon Pendry",
"Copyright (c) 1990 Imperial College of Science, Technology & Medicine",
"Copyright (c) 1990 The Regents of the University of California.");
@ -127,12 +127,20 @@ get_args(int argc, char *argv[])
{
int opt_ch;
FILE *fp = stdin;
char getopt_arguments[] = "+nprvSa:c:d:k:l:o:t:w:x:y:C:D:F:T:O:H";
char *getopt_args;
#ifdef HAVE_GNU_GETOPT
getopt_args = getopt_arguments;
#else /* ! HAVE_GNU_GETOPT */
getopt_args = &getopt_arguments[1];
#endif /* HAVE_GNU_GETOPT */
/* if no arguments were passed, try to use /etc/amd.conf file */
if (argc <= 1)
use_conf_file = 1;
while ((opt_ch = getopt(argc, argv, "nprvSa:c:d:k:l:o:t:w:x:y:C:D:F:T:O:H")) != -1)
while ((opt_ch = getopt(argc, argv, getopt_args)) != -1)
switch (opt_ch) {
case 'a':

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997-2001 Erez Zadok
* Copyright (c) 1997-2003 Erez Zadok
* Copyright (c) 1990 Jan-Simon Pendry
* Copyright (c) 1990 Imperial College of Science, Technology & Medicine
* Copyright (c) 1990 The Regents of the University of California.
@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
* $Id: info_file.c,v 1.3.2.2 2001/01/12 23:28:56 ro Exp $
* $Id: info_file.c,v 1.3.2.4 2002/12/27 22:44:35 ezk Exp $
*
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997-2001 Erez Zadok
* Copyright (c) 1997-2003 Erez Zadok
* Copyright (c) 1989 Jan-Simon Pendry
* Copyright (c) 1989 Imperial College of Science, Technology & Medicine
* Copyright (c) 1989 The Regents of the University of California.
@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
* $Id: info_hesiod.c,v 1.6.2.1 2001/01/10 03:23:05 ezk Exp $
* $Id: info_hesiod.c,v 1.6.2.3 2002/12/27 22:44:35 ezk Exp $
*
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997-2001 Erez Zadok
* Copyright (c) 1997-2003 Erez Zadok
* Copyright (c) 1989 Jan-Simon Pendry
* Copyright (c) 1989 Imperial College of Science, Technology & Medicine
* Copyright (c) 1989 The Regents of the University of California.
@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
* $Id: info_ldap.c,v 1.9.2.2 2001/01/12 23:28:56 ro Exp $
* $Id: info_ldap.c,v 1.9.2.8 2003/08/22 04:47:21 ib42 Exp $
*
*/
@ -81,14 +81,14 @@
*/
typedef struct ald_ent ALD;
typedef struct cr_ent CR;
typedef struct he_ent HE;
typedef struct he_ent HE_ENT;
/*
* STRUCTURES:
*/
struct ald_ent {
LDAP *ldap;
HE *hostent;
HE_ENT *hostent;
CR *credentials;
time_t timestamp;
};
@ -117,7 +117,7 @@ static int get_ldap_timestamp(LDAP *ld, char *map, time_t *ts);
*/
static void
he_free(HE *h)
he_free(HE_ENT *h)
{
XFREE(h->host);
if (h->next != NULL)
@ -126,22 +126,22 @@ he_free(HE *h)
}
static HE *
static HE_ENT *
string2he(char *s_orig)
{
char *c, *p;
char *s;
HE *new, *old = NULL;
HE_ENT *new, *old = NULL;
if (NULL == s_orig || NULL == (s = strdup(s_orig)))
return NULL;
for (p = s; p; p = strchr(p, ',')) {
if (old != NULL) {
new = ALLOC(HE);
new = ALLOC(HE_ENT);
old->next = new;
old = new;
} else {
old = ALLOC(HE);
old = ALLOC(HE_ENT);
old->next = NULL;
}
c = strchr(p, ':');
@ -200,11 +200,11 @@ amu_ldap_init(mnt_map *m, char *map, time_t *ts)
aldh = ALLOC(ALD);
creds = ALLOC(CR);
aldh->ldap = NULL ;
aldh->hostent = string2he(gopt.ldap_hostports);
if (aldh->hostent == NULL) {
plog(XLOG_USER, "Unable to parse hostport %s for ldap map %s",
gopt.ldap_hostports, map);
gopt.ldap_hostports ? gopt.ldap_hostports : "(null)", map);
return (ENOENT);
}
creds->who = "";
@ -237,7 +237,7 @@ static int
amu_ldap_rebind(ALD *a)
{
LDAP *ld;
HE *h;
HE_ENT *h;
CR *c = a->credentials;
time_t now = clocktime();
int try;
@ -249,8 +249,7 @@ amu_ldap_rebind(ALD *a)
#endif /* DEBUG */
ldap_unbind(a->ldap);
a->timestamp = now;
} else
return (0);
}
}
for (try=0; try<10; try++) { /* XXX: try up to 10 times (makes sense?) */
@ -265,7 +264,11 @@ amu_ldap_rebind(ALD *a)
break;
}
if (gopt.ldap_cache_seconds > 0) {
#ifdef HAVE_LDAP_ENABLE_CACHE
ldap_enable_cache(ld, gopt.ldap_cache_seconds, gopt.ldap_cache_maxmem);
#else /* HAVE_LDAP_ENABLE_CACHE */
plog(XLOG_WARNING, "ldap_enable_cache(%ld) does not exist on this system!\n", gopt.ldap_cache_seconds);
#endif /* HAVE_LDAP_ENABLE_CACHE */
a->ldap = ld;
a->timestamp = now;
return (0);
@ -334,7 +337,6 @@ get_ldap_timestamp(LDAP *ld, char *map, time_t *ts)
*ts = 0;
ldap_value_free(vals);
ldap_msgfree(res);
ldap_msgfree(entry);
return (ENOENT);
}
#ifdef DEBUG
@ -361,7 +363,6 @@ get_ldap_timestamp(LDAP *ld, char *map, time_t *ts)
ldap_value_free(vals);
ldap_msgfree(res);
ldap_msgfree(entry);
#ifdef DEBUG
dlog("The timestamp for %s is %ld (err=%d)\n", map, *ts, err);
#endif /* DEBUG */
@ -435,7 +436,6 @@ amu_ldap_search(mnt_map *m, char *map, char *key, char **pval, time_t *ts)
plog(XLOG_USER, "Missing value for %s in map %s\n", key, map);
ldap_value_free(vals);
ldap_msgfree(res);
ldap_msgfree(entry);
return (EIO);
}
#ifdef DEBUG
@ -449,7 +449,6 @@ amu_ldap_search(mnt_map *m, char *map, char *key, char **pval, time_t *ts)
err = ENOENT;
}
ldap_msgfree(res);
ldap_msgfree(entry);
ldap_value_free(vals);
return (err);

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997-2001 Erez Zadok
* Copyright (c) 1997-2003 Erez Zadok
* Copyright (c) 1989 Jan-Simon Pendry
* Copyright (c) 1989 Imperial College of Science, Technology & Medicine
* Copyright (c) 1989 The Regents of the University of California.
@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
* $Id: info_ndbm.c,v 1.3.2.1 2001/01/10 03:23:06 ezk Exp $
* $Id: info_ndbm.c,v 1.3.2.3 2002/12/27 22:44:37 ezk Exp $
*
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997-2001 Erez Zadok
* Copyright (c) 1997-2003 Erez Zadok
* Copyright (c) 1989 Jan-Simon Pendry
* Copyright (c) 1989 Imperial College of Science, Technology & Medicine
* Copyright (c) 1989 The Regents of the University of California.
@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
* $Id: info_nis.c,v 1.6.2.2 2001/04/14 21:08:21 ezk Exp $
* $Id: info_nis.c,v 1.6.2.4 2002/12/27 22:44:37 ezk Exp $
*
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997-2001 Erez Zadok
* Copyright (c) 1997-2003 Erez Zadok
* Copyright (c) 1989 Jan-Simon Pendry
* Copyright (c) 1989 Imperial College of Science, Technology & Medicine
* Copyright (c) 1989 The Regents of the University of California.
@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
* $Id: info_nisplus.c,v 1.3.2.2 2001/04/14 21:08:21 ezk Exp $
* $Id: info_nisplus.c,v 1.3.2.4 2002/12/27 22:44:37 ezk Exp $
*
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997-2001 Erez Zadok
* Copyright (c) 1997-2003 Erez Zadok
* Copyright (c) 1990 Jan-Simon Pendry
* Copyright (c) 1990 Imperial College of Science, Technology & Medicine
* Copyright (c) 1990 The Regents of the University of California.
@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
* $Id: info_passwd.c,v 1.3.2.1 2001/01/10 03:23:06 ezk Exp $
* $Id: info_passwd.c,v 1.3.2.3 2002/12/27 22:44:38 ezk Exp $
*
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997-2001 Erez Zadok
* Copyright (c) 1997-2003 Erez Zadok
* Copyright (c) 1990 Jan-Simon Pendry
* Copyright (c) 1990 Imperial College of Science, Technology & Medicine
* Copyright (c) 1990 The Regents of the University of California.
@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
* $Id: info_union.c,v 1.3.2.1 2001/01/10 03:23:07 ezk Exp $
* $Id: info_union.c,v 1.3.2.3 2002/12/27 22:44:38 ezk Exp $
*
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997-2001 Erez Zadok
* Copyright (c) 1997-2003 Erez Zadok
* Copyright (c) 1990 Jan-Simon Pendry
* Copyright (c) 1990 Imperial College of Science, Technology & Medicine
* Copyright (c) 1990 The Regents of the University of California.
@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
* $Id: map.c,v 1.6.2.3 2001/01/10 03:23:07 ezk Exp $
* $Id: map.c,v 1.6.2.7 2002/12/27 22:44:38 ezk Exp $
*
*/
@ -875,7 +875,7 @@ unmount_node_wrap(voidp vp)
* There is still a race condition here...
* if another process is trying to access the same
* filesystem at the time we get here, then
* it will block, since the MF_UNMOUNTING flag will
* it will block, since the MFF_UNMOUNTING flag will
* be set. That may, or may not, cause the entire
* system to deadlock. Hmmm...
*/
@ -926,7 +926,7 @@ free_map_if_success(int rc, int term, voidp closure)
}
/*
* Wakeup anything waiting for this mount
* Wakeup anything waiting for this unmount
*/
wakeup((voidp) mf);
}
@ -944,13 +944,13 @@ unmount_mp(am_node *mp)
* values cache. It forces the last-modified time of the symlink to be
* current. It is not needed if the O/S has an nfs flag to turn off the
* symlink-cache at mount time (such as Irix 5.x and 6.x). -Erez.
*
* Additionally, Linux currently ignores the nt_useconds field,
* so we must update the nt_seconds field every time.
*/
if (mp->am_parent) {
if (mp->am_parent)
/* defensive programming... can't we assert the above condition? */
nfsattrstat *attrp = &mp->am_parent->am_attr;
if (++attrp->ns_u.ns_attr_u.na_mtime.nt_useconds == 0)
++attrp->ns_u.ns_attr_u.na_mtime.nt_seconds;
}
mp->am_parent->am_attr.ns_u.ns_attr_u.na_mtime.nt_seconds++;
#endif /* not MNT2_NFS_OPT_SYMTTL */
#ifdef notdef

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997-2001 Erez Zadok
* Copyright (c) 1997-2003 Erez Zadok
* Copyright (c) 1989 Jan-Simon Pendry
* Copyright (c) 1989 Imperial College of Science, Technology & Medicine
* Copyright (c) 1989 The Regents of the University of California.
@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
* $Id: mapc.c,v 1.7.2.3 2001/04/14 21:08:22 ezk Exp $
* $Id: mapc.c,v 1.7.2.6 2002/12/27 22:44:38 ezk Exp $
*
*/
@ -1007,8 +1007,7 @@ root_newmap(const char *dir, const char *opts, const char *map, const cf_map_t *
if (cfm) {
if (map) {
sprintf(str, "cache:=mapdefault;type:=%s;fs:=\"%s\"",
cfm->cfm_flags & CFM_MOUNT_TYPE_AUTOFS ? "autofs" : "toplvl",
sprintf(str, "cache:=mapdefault;type:=toplvl;fs:=\"%s\"",
get_full_path(map, cfm->cfm_search_path, cfm->cfm_type));
if (opts && opts[0] != '\0') {
strcat(str, ";");

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997-2001 Erez Zadok
* Copyright (c) 1997-2003 Erez Zadok
* Copyright (c) 1990 Jan-Simon Pendry
* Copyright (c) 1990 Imperial College of Science, Technology & Medicine
* Copyright (c) 1990 The Regents of the University of California.
@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
* $Id: mntfs.c,v 1.5.2.1 2001/01/10 03:23:07 ezk Exp $
* $Id: mntfs.c,v 1.5.2.4 2002/12/27 22:44:39 ezk Exp $
*
*/
@ -264,6 +264,17 @@ free_mntfs(voidp v)
{
mntfs *mf = v;
/*
* We shouldn't ever be called to free something that has
* a non-positive refcount. Something is badly wrong if
* we have been! Ignore the request for now...
*/
if(mf->mf_refc <= 0) {
plog(XLOG_ERROR, "IGNORING free_mntfs for <%s>: refc %d, flags %x",
mf->mf_mount, mf->mf_refc, mf->mf_flags);
return;
}
if (--mf->mf_refc == 0) {
if (mf->mf_flags & MFF_MOUNTED) {
int quoted;

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997-2001 Erez Zadok
* Copyright (c) 1997-2003 Erez Zadok
* Copyright (c) 1989 Jan-Simon Pendry
* Copyright (c) 1989 Imperial College of Science, Technology & Medicine
* Copyright (c) 1989 The Regents of the University of California.
@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
* $Id: nfs_prot_svc.c,v 1.5.2.2 2001/01/12 23:28:56 ro Exp $
* $Id: nfs_prot_svc.c,v 1.5.2.4 2002/12/27 22:44:39 ezk Exp $
*
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997-2001 Erez Zadok
* Copyright (c) 1997-2003 Erez Zadok
* Copyright (c) 1990 Jan-Simon Pendry
* Copyright (c) 1990 Imperial College of Science, Technology & Medicine
* Copyright (c) 1990 The Regents of the University of California.
@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
* $Id: nfs_start.c,v 1.5.2.1 2001/01/10 03:23:08 ezk Exp $
* $Id: nfs_start.c,v 1.5.2.6 2002/12/27 22:44:39 ezk Exp $
*
*/
@ -55,12 +55,6 @@
SVCXPRT *nfsxprt;
u_short nfs_port;
#ifdef HAVE_FS_AUTOFS
SVCXPRT *autofsxprt = NULL;
u_short autofs_port = 0;
int amd_use_autofs = 0;
#endif /* HAVE_FS_AUTOFS */
#ifndef HAVE_SIGACTION
# define MASKED_SIGS (sigmask(SIGINT)|sigmask(SIGTERM)|sigmask(SIGCHLD)|sigmask(SIGHUP))
#endif /* not HAVE_SIGACTION */
@ -89,7 +83,7 @@ checkup(void)
#ifdef HAVE_GETPAGESIZE
dlog("%#lx bytes of memory allocated; total is %#lx (%ld pages)",
(long) (next_mem - max_mem), (unsigned long) next_mem,
((long) next_mem + getpagesize() - 1) / getpagesize());
((long) next_mem + getpagesize() - 1) / (long) getpagesize());
#else /* not HAVE_GETPAGESIZE */
dlog("%#lx bytes of memory allocated; total is %#lx",
(long) (next_mem - max_mem), (unsigned long) next_mem);
@ -282,7 +276,7 @@ run_rpc(void)
#endif /* DEBUG */
continue;
}
perror("select");
plog(XLOG_ERROR, "select: %m");
break;
case 0:
@ -353,9 +347,6 @@ mount_automounter(int ppid)
#ifdef HAVE_TRANSPORT_TYPE_TLI
struct netconfig *udp_amqncp, *tcp_amqncp;
#endif /* HAVE_TRANSPORT_TYPE_TLI */
#ifdef HAVE_FS_AUTOFS
int soAUTOFS;
#endif /* HAVE_FS_AUTOFS */
/*
* Create the nfs service for amd
@ -374,20 +365,6 @@ mount_automounter(int ppid)
if (ret != 0)
return ret;
#ifdef HAVE_FS_AUTOFS
if (amd_use_autofs) {
/*
* Create the autofs service for amd, but only if autofs maps
* were defined (so amd doesn't clash with automountd.)
*/
plog(XLOG_INFO, "creating autofs service listener");
ret = create_autofs_service(&soAUTOFS, &autofs_port, &autofsxprt, autofs_program_1);
/* if autofs service fails it is OK if using a test amd */
if (ret != 0 && gopt.portmap_program == AMQ_PROGRAM)
return ret;
}
#endif /* HAVE_FS_AUTOFS */
/*
* Start RPC forwarding
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997-2001 Erez Zadok
* Copyright (c) 1997-2003 Erez Zadok
* Copyright (c) 1990 Jan-Simon Pendry
* Copyright (c) 1990 Imperial College of Science, Technology & Medicine
* Copyright (c) 1990 The Regents of the University of California.
@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
* $Id: nfs_subr.c,v 1.6.2.3 2001/04/14 21:08:22 ezk Exp $
* $Id: nfs_subr.c,v 1.6.2.5 2002/12/27 22:44:39 ezk Exp $
*
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997-2001 Erez Zadok
* Copyright (c) 1997-2003 Erez Zadok
* Copyright (c) 1990 Jan-Simon Pendry
* Copyright (c) 1990 Imperial College of Science, Technology & Medicine
* Copyright (c) 1990 The Regents of the University of California.
@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
* $Id: ops_TEMPLATE.c,v 1.3.2.2 2001/01/12 23:28:57 ro Exp $
* $Id: ops_TEMPLATE.c,v 1.3.2.4 2002/12/27 22:44:40 ezk Exp $
*
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997-2001 Erez Zadok
* Copyright (c) 1997-2003 Erez Zadok
* Copyright (c) 1990 Jan-Simon Pendry
* Copyright (c) 1990 Imperial College of Science, Technology & Medicine
* Copyright (c) 1990 The Regents of the University of California.
@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
* $Id: ops_cachefs.c,v 1.3.2.1 2001/01/10 03:23:09 ezk Exp $
* $Id: ops_cachefs.c,v 1.3.2.3 2002/12/27 22:44:40 ezk Exp $
*
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997-2001 Erez Zadok
* Copyright (c) 1997-2003 Erez Zadok
* Copyright (c) 1990 Jan-Simon Pendry
* Copyright (c) 1990 Imperial College of Science, Technology & Medicine
* Copyright (c) 1990 The Regents of the University of California.
@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
* $Id: ops_cdfs.c,v 1.4.2.1 2001/01/10 03:23:09 ezk Exp $
* $Id: ops_cdfs.c,v 1.4.2.4 2002/12/27 22:44:40 ezk Exp $
*
*/
@ -164,31 +164,31 @@ mount_cdfs(char *dir, char *fs_name, char *opts)
genflags = compute_mount_flags(&mnt);
#ifdef HAVE_FIELD_CDFS_ARGS_T_FLAGS
#ifdef HAVE_CDFS_ARGS_T_FLAGS
cdfs_args.flags = cdfs_flags;
#endif /* HAVE_FIELD_CDFS_ARGS_T_FLAGS */
#endif /* HAVE_CDFS_ARGS_T_FLAGS */
#ifdef HAVE_FIELD_CDFS_ARGS_T_ISO_FLAGS
#ifdef HAVE_CDFS_ARGS_T_ISO_FLAGS
cdfs_args.iso_flags = genflags | cdfs_flags;
#endif /* HAVE_FIELD_CDFS_ARGS_T_ISO_FLAGS */
#endif /* HAVE_CDFS_ARGS_T_ISO_FLAGS */
#ifdef HAVE_FIELD_CDFS_ARGS_T_ISO_PGTHRESH
#ifdef HAVE_CDFS_ARGS_T_ISO_PGTHRESH
cdfs_args.iso_pgthresh = hasmntval(&mnt, MNTTAB_OPT_PGTHRESH);
#endif /* HAVE_FIELD_CDFS_ARGS_T_ISO_PGTHRESH */
#endif /* HAVE_CDFS_ARGS_T_ISO_PGTHRESH */
#ifdef HAVE_FIELD_CDFS_ARGS_T_FSPEC
#ifdef HAVE_CDFS_ARGS_T_FSPEC
cdfs_args.fspec = fs_name;
#endif /* HAVE_FIELD_CDFS_ARGS_T_FSPEC */
#endif /* HAVE_CDFS_ARGS_T_FSPEC */
#ifdef HAVE_FIELD_CDFS_ARGS_T_NORRIP
#ifdef HAVE_CDFS_ARGS_T_NORRIP
/* XXX: need to provide norrip mount opt */
cdfs_args.norrip = 0; /* use Rock-Ridge Protocol extensions */
#endif /* HAVE_FIELD_CDFS_ARGS_T_NORRIP */
#endif /* HAVE_CDFS_ARGS_T_NORRIP */
#ifdef HAVE_FIELD_CDFS_ARGS_T_SSECTOR
#ifdef HAVE_CDFS_ARGS_T_SSECTOR
/* XXX: need to provide ssector mount option */
cdfs_args.ssector = 0; /* use 1st session on disk */
#endif /* HAVE_FIELD_CDFS_ARGS_T_SSECTOR */
#endif /* HAVE_CDFS_ARGS_T_SSECTOR */
/*
* Call generic mount routine

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997-2001 Erez Zadok
* Copyright (c) 1997-2003 Erez Zadok
* Copyright (c) 1990 Jan-Simon Pendry
* Copyright (c) 1990 Imperial College of Science, Technology & Medicine
* Copyright (c) 1990 The Regents of the University of California.
@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
* $Id: ops_efs.c,v 1.3.2.1 2001/01/10 03:23:09 ezk Exp $
* $Id: ops_efs.c,v 1.3.2.4 2002/12/27 22:44:40 ezk Exp $
*
*/
@ -127,12 +127,12 @@ mount_efs(char *dir, char *fs_name, char *opts)
flags = compute_mount_flags(&mnt);
#ifdef HAVE_FIELD_EFS_ARGS_T_FLAGS
#ifdef HAVE_EFS_ARGS_T_FLAGS
efs_args.flags = 0; /* XXX: fix this to correct flags */
#endif /* HAVE_FIELD_EFS_ARGS_T_FLAGS */
#ifdef HAVE_FIELD_EFS_ARGS_T_FSPEC
#endif /* HAVE_EFS_ARGS_T_FLAGS */
#ifdef HAVE_EFS_ARGS_T_FSPEC
efs_args.fspec = fs_name;
#endif /* HAVE_FIELD_EFS_ARGS_T_FSPEC */
#endif /* HAVE_EFS_ARGS_T_FSPEC */
/*
* Call generic mount routine

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997-2001 Erez Zadok
* Copyright (c) 1997-2003 Erez Zadok
* Copyright (c) 1990 Jan-Simon Pendry
* Copyright (c) 1990 Imperial College of Science, Technology & Medicine
* Copyright (c) 1990 The Regents of the University of California.
@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
* $Id: ops_lofs.c,v 1.3.2.2 2001/01/12 23:28:57 ro Exp $
* $Id: ops_lofs.c,v 1.3.2.4 2002/12/27 22:44:41 ezk Exp $
*
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997-2001 Erez Zadok
* Copyright (c) 1997-2003 Erez Zadok
* Copyright (c) 1990 Jan-Simon Pendry
* Copyright (c) 1990 Imperial College of Science, Technology & Medicine
* Copyright (c) 1990 The Regents of the University of California.
@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
* $Id: ops_mfs.c,v 1.3.2.1 2001/01/10 03:23:09 ezk Exp $
* $Id: ops_mfs.c,v 1.3.2.3 2002/12/27 22:44:41 ezk Exp $
*
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997-2001 Erez Zadok
* Copyright (c) 1997-2003 Erez Zadok
* Copyright (c) 1990 Jan-Simon Pendry
* Copyright (c) 1990 Imperial College of Science, Technology & Medicine
* Copyright (c) 1990 The Regents of the University of California.
@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
* $Id: ops_nfs.c,v 1.6.2.3 2001/04/14 21:08:22 ezk Exp $
* $Id: ops_nfs.c,v 1.6.2.5 2002/12/27 22:44:41 ezk Exp $
*
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997-2001 Erez Zadok
* Copyright (c) 1997-2003 Erez Zadok
* Copyright (c) 1990 Jan-Simon Pendry
* Copyright (c) 1990 Imperial College of Science, Technology & Medicine
* Copyright (c) 1990 The Regents of the University of California.
@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
* $Id: ops_nfs3.c,v 1.3.2.1 2001/01/10 03:23:10 ezk Exp $
* $Id: ops_nfs3.c,v 1.3.2.3 2002/12/27 22:44:41 ezk Exp $
*
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997-2001 Erez Zadok
* Copyright (c) 1997-2003 Erez Zadok
* Copyright (c) 1990 Jan-Simon Pendry
* Copyright (c) 1990 Imperial College of Science, Technology & Medicine
* Copyright (c) 1990 The Regents of the University of California.
@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
* $Id: ops_nullfs.c,v 1.3.2.1 2001/01/10 03:23:10 ezk Exp $
* $Id: ops_nullfs.c,v 1.3.2.3 2002/12/27 22:44:41 ezk Exp $
*
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997-2001 Erez Zadok
* Copyright (c) 1997-2003 Erez Zadok
* Copyright (c) 1990 Jan-Simon Pendry
* Copyright (c) 1990 Imperial College of Science, Technology & Medicine
* Copyright (c) 1990 The Regents of the University of California.
@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
* $Id: ops_pcfs.c,v 1.3.2.1 2001/01/10 03:23:10 ezk Exp $
* $Id: ops_pcfs.c,v 1.3.2.4 2002/12/27 22:44:42 ezk Exp $
*
*/
@ -126,28 +126,28 @@ mount_pcfs(char *dir, char *fs_name, char *opts)
flags = compute_mount_flags(&mnt);
#ifdef HAVE_FIELD_PCFS_ARGS_T_FSPEC
#ifdef HAVE_PCFS_ARGS_T_FSPEC
pcfs_args.fspec = fs_name;
#endif /* HAVE_FIELD_PCFS_ARGS_T_FSPEC */
#endif /* HAVE_PCFS_ARGS_T_FSPEC */
#ifdef HAVE_FIELD_PCFS_ARGS_T_MASK
#ifdef HAVE_PCFS_ARGS_T_MASK
pcfs_args.mask = 0777; /* this may be the msdos file modes */
#endif /* HAVE_FIELD_PCFS_ARGS_T_MASK */
#endif /* HAVE_PCFS_ARGS_T_MASK */
#ifdef HAVE_FIELD_PCFS_ARGS_T_UID
#ifdef HAVE_PCFS_ARGS_T_UID
pcfs_args.uid = 0; /* root */
#endif /* HAVE_FIELD_PCFS_ARGS_T_UID */
#endif /* HAVE_PCFS_ARGS_T_UID */
#ifdef HAVE_FIELD_PCFS_ARGS_T_GID
#ifdef HAVE_PCFS_ARGS_T_GID
pcfs_args.gid = 0; /* wheel */
#endif /* HAVE_FIELD_PCFS_ARGS_T_GID */
#endif /* HAVE_PCFS_ARGS_T_GID */
#ifdef HAVE_FIELD_PCFS_ARGS_T_SECONDSWEST
#ifdef HAVE_PCFS_ARGS_T_SECONDSWEST
pcfs_args.secondswest = 0; /* XXX: fill in correct values */
#endif /* HAVE_FIELD_PCFS_ARGS_T_SECONDSWEST */
#ifdef HAVE_FIELD_PCFS_ARGS_T_DSTTIME
#endif /* HAVE_PCFS_ARGS_T_SECONDSWEST */
#ifdef HAVE_PCFS_ARGS_T_DSTTIME
pcfs_args.dsttime = 0; /* XXX: fill in correct values */
#endif /* HAVE_FIELD_PCFS_ARGS_T_DSTTIME */
#endif /* HAVE_PCFS_ARGS_T_DSTTIME */
/*
* Call generic mount routine

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997-2001 Erez Zadok
* Copyright (c) 1997-2003 Erez Zadok
* Copyright (c) 1990 Jan-Simon Pendry
* Copyright (c) 1990 Imperial College of Science, Technology & Medicine
* Copyright (c) 1990 The Regents of the University of California.
@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
* $Id: ops_tfs.c,v 1.3.2.1 2001/01/10 03:23:10 ezk Exp $
* $Id: ops_tfs.c,v 1.3.2.3 2002/12/27 22:44:42 ezk Exp $
*
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997-2001 Erez Zadok
* Copyright (c) 1997-2003 Erez Zadok
* Copyright (c) 1990 Jan-Simon Pendry
* Copyright (c) 1990 Imperial College of Science, Technology & Medicine
* Copyright (c) 1990 The Regents of the University of California.
@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
* $Id: ops_tmpfs.c,v 1.3.2.1 2001/01/10 03:23:10 ezk Exp $
* $Id: ops_tmpfs.c,v 1.3.2.3 2002/12/27 22:44:42 ezk Exp $
*
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997-2001 Erez Zadok
* Copyright (c) 1997-2003 Erez Zadok
* Copyright (c) 1990 Jan-Simon Pendry
* Copyright (c) 1990 Imperial College of Science, Technology & Medicine
* Copyright (c) 1990 The Regents of the University of California.
@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
* $Id: ops_ufs.c,v 1.3.2.1 2001/01/10 03:23:11 ezk Exp $
* $Id: ops_ufs.c,v 1.3.2.4 2002/12/27 22:44:42 ezk Exp $
*
*/
@ -127,21 +127,21 @@ mount_ufs(char *dir, char *fs_name, char *opts)
genflags = compute_mount_flags(&mnt);
#ifdef HAVE_FIELD_UFS_ARGS_T_FLAGS
#ifdef HAVE_UFS_ARGS_T_FLAGS
ufs_args.flags = genflags; /* XXX: is this correct? */
#endif /* HAVE_FIELD_UFS_ARGS_T_FLAGS */
#endif /* HAVE_UFS_ARGS_T_FLAGS */
#ifdef HAVE_FIELD_UFS_ARGS_T_UFS_FLAGS
#ifdef HAVE_UFS_ARGS_T_UFS_FLAGS
ufs_args.ufs_flags = genflags;
#endif /* HAVE_FIELD_UFS_ARGS_T_UFS_FLAGS */
#endif /* HAVE_UFS_ARGS_T_UFS_FLAGS */
#ifdef HAVE_FIELD_UFS_ARGS_T_FSPEC
#ifdef HAVE_UFS_ARGS_T_FSPEC
ufs_args.fspec = fs_name;
#endif /* HAVE_FIELD_UFS_ARGS_T_FSPEC */
#endif /* HAVE_UFS_ARGS_T_FSPEC */
#ifdef HAVE_FIELD_UFS_ARGS_T_UFS_PGTHRESH
#ifdef HAVE_UFS_ARGS_T_UFS_PGTHRESH
ufs_args.ufs_pgthresh = hasmntval(&mnt, MNTTAB_OPT_PGTHRESH);
#endif /* HAVE_FIELD_UFS_ARGS_T_UFS_PGTHRESH */
#endif /* HAVE_UFS_ARGS_T_UFS_PGTHRESH */
/*
* Call generic mount routine

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997-2001 Erez Zadok
* Copyright (c) 1997-2003 Erez Zadok
* Copyright (c) 1990 Jan-Simon Pendry
* Copyright (c) 1990 Imperial College of Science, Technology & Medicine
* Copyright (c) 1990 The Regents of the University of California.
@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
* $Id: ops_umapfs.c,v 1.3.2.1 2001/01/10 03:23:11 ezk Exp $
* $Id: ops_umapfs.c,v 1.3.2.3 2002/12/27 22:44:43 ezk Exp $
*
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997-2001 Erez Zadok
* Copyright (c) 1997-2003 Erez Zadok
* Copyright (c) 1990 Jan-Simon Pendry
* Copyright (c) 1990 Imperial College of Science, Technology & Medicine
* Copyright (c) 1990 The Regents of the University of California.
@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
* $Id: ops_unionfs.c,v 1.3.2.1 2001/01/10 03:23:11 ezk Exp $
* $Id: ops_unionfs.c,v 1.3.2.3 2002/12/27 22:44:43 ezk Exp $
*
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997-2001 Erez Zadok
* Copyright (c) 1997-2003 Erez Zadok
* Copyright (c) 1990 Jan-Simon Pendry
* Copyright (c) 1990 Imperial College of Science, Technology & Medicine
* Copyright (c) 1990 The Regents of the University of California.
@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
* $Id: ops_xfs.c,v 1.3.2.2 2001/01/12 23:28:58 ro Exp $
* $Id: ops_xfs.c,v 1.3.2.5 2002/12/27 22:44:43 ezk Exp $
*
*/
@ -127,12 +127,12 @@ mount_xfs(char *dir, char *fs_name, char *opts)
flags = compute_mount_flags(&mnt);
#ifdef HAVE_FIELD_XFS_ARGS_T_FLAGS
#ifdef HAVE_XFS_ARGS_T_FLAGS
xfs_args.flags = 0; /* XXX: fix this to correct flags */
#endif /* HAVE_FIELD_XFS_ARGS_T_FLAGS */
#ifdef HAVE_FIELD_XFS_ARGS_T_FSPEC
#endif /* HAVE_XFS_ARGS_T_FLAGS */
#ifdef HAVE_XFS_ARGS_T_FSPEC
xfs_args.fspec = fs_name;
#endif /* HAVE_FIELD_XFS_ARGS_T_FSPEC */
#endif /* HAVE_XFS_ARGS_T_FSPEC */
/*
* Call generic mount routine

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997-2001 Erez Zadok
* Copyright (c) 1997-2003 Erez Zadok
* Copyright (c) 1989 Jan-Simon Pendry
* Copyright (c) 1989 Imperial College of Science, Technology & Medicine
* Copyright (c) 1989 The Regents of the University of California.
@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
* $Id: opts.c,v 1.8.2.4 2001/01/10 03:23:11 ezk Exp $
* $Id: opts.c,v 1.8.2.6 2002/12/27 22:44:43 ezk Exp $
*
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997-2001 Erez Zadok
* Copyright (c) 1997-2003 Erez Zadok
* Copyright (c) 1990 Jan-Simon Pendry
* Copyright (c) 1990 Imperial College of Science, Technology & Medicine
* Copyright (c) 1990 The Regents of the University of California.
@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
* $Id: restart.c,v 1.3.2.1 2001/01/10 03:23:12 ezk Exp $
* $Id: restart.c,v 1.3.2.3 2002/12/27 22:44:43 ezk Exp $
*
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997-2001 Erez Zadok
* Copyright (c) 1997-2003 Erez Zadok
* Copyright (c) 1989 Jan-Simon Pendry
* Copyright (c) 1989 Imperial College of Science, Technology & Medicine
* Copyright (c) 1989 The Regents of the University of California.
@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
* $Id: rpc_fwd.c,v 1.3.2.2 2001/04/14 21:08:23 ezk Exp $
* $Id: rpc_fwd.c,v 1.3.2.4 2002/12/27 22:44:44 ezk Exp $
*
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997-2001 Erez Zadok
* Copyright (c) 1997-2003 Erez Zadok
* Copyright (c) 1990 Jan-Simon Pendry
* Copyright (c) 1990 Imperial College of Science, Technology & Medicine
* Copyright (c) 1990 The Regents of the University of California.
@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
* $Id: sched.c,v 1.4.2.2 2001/01/10 03:23:12 ezk Exp $
* $Id: sched.c,v 1.4.2.4 2002/12/27 22:44:44 ezk Exp $
*
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997-2001 Erez Zadok
* Copyright (c) 1997-2003 Erez Zadok
* Copyright (c) 1989 Jan-Simon Pendry
* Copyright (c) 1989 Imperial College of Science, Technology & Medicine
* Copyright (c) 1989 The Regents of the University of California.
@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
* $Id: srvr_amfs_auto.c,v 1.3.2.3 2001/04/14 21:08:23 ezk Exp $
* $Id: srvr_amfs_auto.c,v 1.3.2.5 2002/12/27 22:44:44 ezk Exp $
*
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997-2001 Erez Zadok
* Copyright (c) 1997-2003 Erez Zadok
* Copyright (c) 1990 Jan-Simon Pendry
* Copyright (c) 1990 Imperial College of Science, Technology & Medicine
* Copyright (c) 1990 The Regents of the University of California.
@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
* $Id: srvr_nfs.c,v 1.7.2.5 2001/04/14 21:08:23 ezk Exp $
* $Id: srvr_nfs.c,v 1.7.2.10 2002/12/29 01:55:43 ib42 Exp $
*
*/
@ -411,21 +411,23 @@ nfs_timed_out(voidp v)
* Another ping has failed
*/
np->np_ping++;
if (np->np_ping > 1)
srvrlog(fs, "not responding");
/*
* Not known to be up any longer
*/
if (FSRV_ISUP(fs)) {
if (FSRV_ISUP(fs))
fs->fs_flags &= ~FSF_VALID;
if (np->np_ping > 1)
srvrlog(fs, "not responding");
}
/*
* If ttl has expired then guess that it is dead
*/
if (np->np_ttl < clocktime()) {
int oflags = fs->fs_flags;
#ifdef DEBUG
dlog("ttl has expired");
#endif /* DEBUG */
if ((fs->fs_flags & FSF_DOWN) == 0) {
/*
* Server was up, but is now down.
@ -451,6 +453,10 @@ nfs_timed_out(voidp v)
}
if (oflags != fs->fs_flags && (fs->fs_flags & FSF_WANT))
wakeup_srvr(fs);
/*
* Reset failed ping count
*/
np->np_ping = 0;
} else {
#ifdef DEBUG
if (np->np_ping > 1)
@ -458,6 +464,12 @@ nfs_timed_out(voidp v)
#endif /* DEBUG */
}
/*
* New RPC xid, so any late responses to the previous ping
* get ignored...
*/
np->np_xid = NPXID_ALLOC(struct );
/*
* Run keepalive again
*/
@ -594,21 +606,22 @@ nfs_srvr_port(fserver *fs, u_short *port, voidp wchan)
static void
start_nfs_pings(fserver *fs, int pingval)
{
if (!(fs->fs_flags & FSF_PINGING)) {
fs->fs_flags |= FSF_PINGING;
if (fs->fs_cid)
untimeout(fs->fs_cid);
if (pingval < 0) {
srvrlog(fs, "wired up");
fs->fs_flags |= FSF_VALID;
fs->fs_flags &= ~FSF_DOWN;
} else {
nfs_keepalive(fs);
}
} else {
if (fs->fs_flags & FSF_PINGING) {
#ifdef DEBUG
dlog("Already running pings to %s", fs->fs_host);
#endif /* DEBUG */
return;
}
if (fs->fs_cid)
untimeout(fs->fs_cid);
if (pingval < 0) {
srvrlog(fs, "wired up");
fs->fs_flags |= FSF_VALID;
fs->fs_flags &= ~FSF_DOWN;
} else {
fs->fs_flags |= FSF_PINGING;
nfs_keepalive(fs);
}
}

View File

@ -0,0 +1 @@
Makefile.in

View File

@ -1,5 +1,5 @@
.\"
.\" Copyright (c) 1997-2001 Erez Zadok
.\" Copyright (c) 1997-2003 Erez Zadok
.\" Copyright (c) 1990 Jan-Simon Pendry
.\" Copyright (c) 1990 Imperial College of Science, Technology & Medicine
.\" Copyright (c) 1990 The Regents of the University of California.
@ -38,7 +38,7 @@
.\"
.\" %W% (Berkeley) %G%
.\"
.\" $Id: amq.8,v 1.3.2.4 2001/01/12 22:43:43 ro Exp $
.\" $Id: amq.8,v 1.3.2.7 2002/12/27 22:44:45 ezk Exp $
.\"
.TH AMQ 8 "25 April 1989"
.SH NAME
@ -83,7 +83,7 @@ information is displayed.
.TP
.B \-f
Ask the automounter to flush the internal caches.
Ask the automounter to flush the internal caches and reload all the maps.
.TP
.BI \-h " hostname"

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997-2001 Erez Zadok
* Copyright (c) 1997-2003 Erez Zadok
* Copyright (c) 1990 Jan-Simon Pendry
* Copyright (c) 1990 Imperial College of Science, Technology & Medicine
* Copyright (c) 1990 The Regents of the University of California.
@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
* $Id: amq.c,v 1.7.2.5 2001/01/12 22:43:43 ro Exp $
* $Id: amq.c,v 1.7.2.8 2002/12/27 22:44:45 ezk Exp $
*
*/
@ -48,13 +48,13 @@
#ifndef lint
char copyright[] = "\
@(#)Copyright (c) 1997-2001 Erez Zadok\n\
@(#)Copyright (c) 1997-2003 Erez Zadok\n\
@(#)Copyright (c) 1990 Jan-Simon Pendry\n\
@(#)Copyright (c) 1990 Imperial College of Science, Technology & Medicine\n\
@(#)Copyright (c) 1990 The Regents of the University of California.\n\
@(#)All rights reserved.\n";
#if __GNUC__ < 2
static char rcsid[] = "$Id: amq.c,v 1.7.2.5 2001/01/12 22:43:43 ro Exp $";
static char rcsid[] = "$Id: amq.c,v 1.7.2.8 2002/12/27 22:44:45 ezk Exp $";
static char sccsid[] = "%W% (Berkeley) %G%";
#endif /* __GNUC__ < 2 */
#endif /* not lint */
@ -251,15 +251,7 @@ show_mi(amq_mount_info_list *ml, enum show_opt e, int *mwid, int *dwid, int *twi
mi->mi_up > 0 ? "up" :
mi->mi_up < 0 ? "starting" : "down");
if (mi->mi_error > 0) {
extern int sys_nerr;
if (mi->mi_error < sys_nerr)
#ifdef HAVE_STRERROR
printf(" (%s)", strerror(mi->mi_error));
#else /* not HAVE_STRERROR */
printf(" (%s)", sys_errlist[mi->mi_error]);
#endif /* not HAVE_STRERROR */
else
printf(" (Error %d)", mi->mi_error);
printf(" (%s)", strerror(mi->mi_error));
} else if (mi->mi_error < 0) {
fputs(" (in progress)", stdout);
}

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997-2001 Erez Zadok
* Copyright (c) 1997-2003 Erez Zadok
* Copyright (c) 1990 Jan-Simon Pendry
* Copyright (c) 1990 Imperial College of Science, Technology & Medicine
* Copyright (c) 1990 The Regents of the University of California.
@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
* $Id: amq.h,v 1.14.2.1 2001/01/10 03:23:14 ezk Exp $
* $Id: amq.h,v 1.14.2.3 2002/12/27 22:44:45 ezk Exp $
*
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997-2001 Erez Zadok
* Copyright (c) 1997-2003 Erez Zadok
* Copyright (c) 1990 Jan-Simon Pendry
* Copyright (c) 1990 Imperial College of Science, Technology & Medicine
* Copyright (c) 1990 The Regents of the University of California.
@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
* $Id: amq_clnt.c,v 1.3.2.1 2001/01/10 03:23:14 ezk Exp $
* $Id: amq_clnt.c,v 1.3.2.3 2002/12/27 22:44:45 ezk Exp $
*
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997-2001 Erez Zadok
* Copyright (c) 1997-2003 Erez Zadok
* Copyright (c) 1990 Jan-Simon Pendry
* Copyright (c) 1990 Imperial College of Science, Technology & Medicine
* Copyright (c) 1990 The Regents of the University of California.
@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
* $Id: amq_xdr.c,v 1.3.2.1 2001/01/10 03:23:14 ezk Exp $
* $Id: amq_xdr.c,v 1.3.2.3 2002/12/27 22:44:46 ezk Exp $
*
*/

View File

@ -1,5 +1,5 @@
.\"
.\" Copyright (c) 1997-2001 Erez Zadok
.\" Copyright (c) 1997-2003 Erez Zadok
.\" Copyright (c) 1990 Jan-Simon Pendry
.\" Copyright (c) 1990 Imperial College of Science, Technology & Medicine
.\" Copyright (c) 1990 The Regents of the University of California.
@ -38,7 +38,7 @@
.\"
.\" %W% (Berkeley) %G%
.\"
.\" $Id: pawd.1,v 1.3.2.1 2001/01/10 03:23:14 ezk Exp $
.\" $Id: pawd.1,v 1.3.2.3 2002/12/27 22:44:46 ezk Exp $
.\"
.TH PAWD 1 "6 Jan 1998"
.SH NAME

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997-2001 Erez Zadok
* Copyright (c) 1997-2003 Erez Zadok
* Copyright (c) 1990 Jan-Simon Pendry
* Copyright (c) 1990 Imperial College of Science, Technology & Medicine
* Copyright (c) 1990 The Regents of the University of California.
@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
* $Id: pawd.c,v 1.6.2.1 2001/01/10 03:23:14 ezk Exp $
* $Id: pawd.c,v 1.6.2.3 2002/12/27 22:44:46 ezk Exp $
*
*/

View File

@ -11,7 +11,7 @@
* The next line is a literal inclusion of a file which includes a
* definition for the MOUNT_TRAP macro for a particular architecture.
* If it defines the wrong entry, check the AC_CHECK_MOUNT_TRAP m4 macro
* in $srcdir/aux/macros.
* in $srcdir/m4/macros.
*/
@am_utils_mount_trap@
/* End of included MOUNT_TRAP macro definition file */
@ -21,7 +21,7 @@
* the UNMOUNT_TRAP macro for a particular architecture.
* If it defines the wrong entry, check the AC_CHECK_UNMOUNT_CALL m4 macro
* in $srcdir/aclocal.m4. If the arguments are being defined wrong, check
* the macro AC_CHECK_UNMOUNT_ARGS in $srcdir/aux/macros.
* the macro AC_CHECK_UNMOUNT_ARGS in $srcdir/m4/macros.
*/
#define UNMOUNT_TRAP(mnt) @am_utils_unmount_call@(@am_utils_unmount_args@)
/* End of replaced UNMOUNT_TRAP macro definition */
@ -30,7 +30,7 @@
* The next line is a literal inclusion of a file which includes a
* definition for the NFS_FH_DREF macro for a particular architecture.
* If it defines the wrong entry, check the AC_CHECK_NFS_FH_DREF m4 macro
* in $srcdir/aux/macros.
* in $srcdir/m4/macros.
*/
@am_utils_nfs_fh_dref@
/* End of included NFS_FH_DREF macro definition file */
@ -39,7 +39,7 @@
* The next line is a literal inclusion of a file which includes a
* definition for the NFS_SA_DREF macro for a particular architecture.
* If it defines the wrong entry, check the AC_CHECK_NFS_SA_DREF m4 macro
* in $srcdir/aux/macros.
* in $srcdir/m4/macros.
*/
@am_utils_nfs_sa_dref@
/* End of included NFS_SA_DREF macro definition file */
@ -48,7 +48,7 @@
* The next line is a literal inclusion of a file which includes a
* definition for the NFS_HN_DREF macro for a particular architecture.
* If it defines the wrong entry, check the AC_CHECK_NFS_HN_DREF m4 macro
* in $srcdir/aux/macros.
* in $srcdir/m4/macros.
*/
@am_utils_nfs_hn_dref@
/* End of included NFS_HN_DREF macro definition file */

108
contrib/amd/bootstrap Executable file
View File

@ -0,0 +1,108 @@
#!/bin/sh
#set -x
# helps bootstrapping am-utils, when checked out from CVS
# requires GNU autoconf and GNU automake
# this is not meant to go into the distributions
# Erez Zadok <ezk@cs.columbia.edu>
# test cwd
test -f ../amd/amd.c && cd ..
if [ ! -f amd/amd.c ]; then
echo "Must run $0 from the top level source directory."
exit 1
fi
# validate macros directory and some macro files
if [ ! -d m4/macros ]; then
echo No m4/macros directory found!
exit 1
fi
if [ ! -f m4/macros/HEADER ]; then
echo No m4/macros/HEADER file found!
exit 1
fi
# remove any remaining autom4te.cache directory
rm -fr autom4te.cache
# generate acinclude.m4 file
echo "AMU: prepare acinclude.m4..."
test -f acinclude.m4 && mv -f acinclude.m4 acinclude.m4.old
(cd m4/macros
for i in HEADER *.m4; do
cat $i
echo
echo
done
cat TRAILER
) > acinclude.m4
# generate aclocal.m4 file
echo "AMU: aclocal..."
test -f aclocal.m4 && mv -f aclocal.m4 aclocal.m4.old
# show version
aclocal --version 2>&1 | head -1
if aclocal ; then
:
else
echo "aclocal command failed. fix errors and rerun $0."
exit 2
fi
# produce new configure.in (temp) script
echo "AMU: autoconf..."
# show version
autoconf --version 2>&1 | head -1
LOG=/tmp/amu-$$.log
rm -f ${LOG}
autoconf configure.in > configure.new 2> ${LOG}
# until Automake requires Autoconf 2.50, manual says to ignore this
CUTWARNMSG1="warning: AC_PROG_LEX invoked multiple times|do not use m4_(patsubst|regexp):"
egrep -v "${CUTWARNMSG1}" ${LOG} > ${LOG}.new
mv ${LOG}.new ${LOG}
if test -s ${LOG}; then
echo "AUTOCONF ERRORS (MUST FIX):"
cat ${LOG}
rm -f ${LOG}
exit 2
fi
# now prepare the real configure script
mv -f configure configure.old
mv -f configure.new configure
chmod a+rx configure
rm -f configure.old
# run autoheader to produce C header .in files
echo "AMU: autoheader..."
# show version
autoheader --version 2>&1 | head -1
autoheader configure.in > config.h.in 2> ${LOG}
CUTWARNMSG2="autoheader: \`config.h.in' is updated"
egrep -v "${CUTWARNMSG2}" ${LOG} > ${LOG}.new
mv ${LOG}.new ${LOG}
if test -s ${LOG}; then
echo "AUTOHEADER ERRORS (MUST FIX):"
cat ${LOG}
rm -f ${LOG}
exit 2
fi
rm -f ${LOG}
# generate makefiles
cmd="automake --add-missing --copy --ignore-deps"
#cmd="automake --add-missing"
echo "AMU: $cmd..."
# show version
automake --version 2>&1 | head -1
if ${cmd} ; then
:
else
echo "automake command failed. fix errors and rerun $0."
exit 2
fi
# save timestamp
echo "AMU: save timestamp..."
echo timestamp > stamp-h.in
exit 0

233
contrib/amd/commit Executable file
View File

@ -0,0 +1,233 @@
#! /bin/sh
# commit version 0.9.2
# Copyright (C) 1999, Free Software Foundation
# This script is Free Software, and it can be copied, distributed and
# modified as defined in the GNU General Public License. A copy of
# its license can be downloaded from http://www.gnu.org/copyleft/gpl.html
# Originally by Gary V. Vaughan <gvaughan@oranda.demon.co.uk>
# Heavily modified by Alexandre Oliva <oliva@dcc.unicamp.br>
# This scripts eases checking in changes to CVS-maintained projects
# with ChangeLog files. It will check that there have been no
# conflicting commits in the CVS repository and print which files it
# is going to commit to stderr. A list of files to compare and to
# check in can be given in the command line. If it is not given, all
# files in the current directory (and below, unless `-l' is given) are
# considered for check in.
# The commit message will be extracted from the differences between
# the local ChangeLog and the one in the repository (unless a message
# was specified with `-m' or `-F'). An empty message is not accepted
# (but a blank line is). If the message is acceptable, it will be
# presented for verification (and possible edition) using the $PAGER
# environment variable (or `more', if it is not set, or `cat', if the
# `-f' switch is given). If $PAGER exits successfully, the modified
# files (at that moment) are checked in, unless `-n' was specified, in
# which case nothing is checked in.
# usage: commit [-v] [-h] [-f] [-l] [-n] [-q] [-z N]
# [-m msg|-F msg_file] [--] [file|dir ...]
# -f --fast don't check (unless *followed* by -n), and just
# --force display commit message instead of running $PAGER
# -l --local don't descend into subdirectories
# -m msg --message=msg set commit message
# --msg=msg same as -m
# -F file --file=file read commit message from file
# -n --dry-run don't commit anything
# -q --quiet run cvs in quiet mode
# -zN --compress=N set compression level (0-9, 0=none, 9=max)
# -v --version print version information
# -h,-? --help print short or long help message
name=commit
cvsopt=
updateopt=
commitopt=
dry_run=false
commit=:
update=:
log_file="${TMPDIR-/tmp}/commitlog.$$"
rm -f "$log_file"
trap 'rm -f "$log_file"; exit 1' 1 2 15
# this just eases exit handling
main_repeat=":"
while $main_repeat; do
repeat="test $# -gt 0"
while $repeat; do
case "$1" in
-f|--force|--fast)
update=false
PAGER=cat
shift
;;
-l|--local)
updateopt="$updateopt -l"
commitopt="$commitopt -l"
shift
;;
-m|--message|--msg)
if test $# = 1; then
echo "$name: missing argument for $1" >&2
break
fi
if test -f "$log_file"; then
echo "$name: you can have at most one of -m and -F" >&2
break
fi
shift
echo "$1" > "$log_file"
shift
;;
-F|--file)
if test -f "$log_file"; then
echo "$name: you can have at most one of -m and -F" >&2
break
fi
if test $# = 1; then
echo "$name: missing argument for $1" >&2
break
fi
shift
if cat < "$1" > "$log_file"; then :; else
break
fi
shift
;;
-n|--dry-run)
commit=false
update=true
shift
;;
-q|--quiet)
cvsopt="$cvsopt -q"
shift
;;
-z|--compress)
if test $# = 1; then
echo "$name: missing argument for $1" >&2
break
fi
case "$2" in
[0-9]) :;;
*) echo "$name: invalid argument for $1" >&2
break
;;
esac
cvsopt="$cvsopt -z$2"
shift
shift
;;
-m*|-F*|-z*)
opt=`echo "$1" | sed '1s/^\(..\).*$/\1/;q'`
arg=`echo "$1" | sed '1s/^-[a-zA-Z0-9]//'`
shift
set -- "$opt" "$arg" ${1+"$@"}
;;
--message=*|--msg=*|--file=*|--compress=*)
opt=`echo "$1" | sed '1s/^\(--[^=]*\)=.*/\1/;q'`
arg=`echo "$1" | sed '1s/^--[^=]*=//'`
shift
set -- "$opt" "$arg" ${1+"$@"}
;;
-v|--version)
sed '/^# '$name' version /,/^# Heavily modified by/ { s/^# //; p; }; d' < $0
exit 0
;;
-\?|-h)
sed '/^# usage:/,/# -h/ { s/^# //; p; }; d' < $0 &&
echo
echo "run \`$name --help | more' for full usage"
exit 0
;;
--help)
sed '/^# '$name' version /,/^[^#]/ { /^[^#]/ d; s/^# //; p; }; d' < $0
exit 0
;;
--)
shift
repeat=false
;;
-*)
echo "$name: invalid flag $1" >&2
break
;;
*)
repeat=false
;;
esac
done
# might have used break 2 within the previous loop, but so what
$repeat && break
$update && \
if echo "$name: checking for conflicts..." >&2
(cvs $cvsopt -q -n update $updateopt ${1+"$@"} 2>/dev/null \
| while read line; do
echo "$line"
echo "$line" >&3
done | grep '^C') 3>&1 >/dev/null; then
echo "$name: some conflicts were found, aborting..." >&2
break
fi
if test ! -f "$log_file"; then
echo "$name: checking commit message..." >&2
cvs $cvsopt diff -u ChangeLog \
| while read line; do
case "$line" in
"--- ChangeLog"*) :;;
"-"*)
echo "$name: *** Warning: the following line in ChangeLog diff is suspicious:" >&2
echo "$line" | sed 's/^.//' >&2;;
"+ "*)
echo "$name: *** Warning: lines should start with tabs, not spaces; ignoring line:" >&2
echo "$line" | sed 's/^.//' >&2;;
"+") echo;;
"+ "*) echo "$line";;
esac
done \
| sed -e 's,\+ ,,' -e '/./p' -e '/./d' -e '1d' -e '$d' > "$log_file" \
|| break
# The sed script above removes "+TAB" from the beginning of a line, then
# deletes the first and/or the last line, when they happen to be empty
fi
if grep '[^ ]' < "$log_file" > /dev/null; then :; else
echo "$name: empty commit message, aborting" >&2
break
fi
if grep '^$' < "$log_file" > /dev/null; then
echo "$name: *** Warning: blank lines should not appear within a commit messages." >&2
echo "$name: *** They should be used to separate distinct commits." >&2
fi
${PAGER-more} "$log_file" || break
sleep 1 # give the user some time for a ^C
# Do not check for empty $log_file again, even though the user might have
# zeroed it out. If s/he did, it was probably intentional.
if $commit; then
cvs $cvsopt commit $commitopt -F $log_file ${1+"$@"} || break
fi
main_repeat=false
done
rm -f "$log_file"
# if main_repeat was not set to `false', we failed
$main_repeat && exit 1
exit 0

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997-2001 Erez Zadok
* Copyright (c) 1997-2003 Erez Zadok
* Copyright (c) 1990 Jan-Simon Pendry
* Copyright (c) 1990 Imperial College of Science, Technology & Medicine
* Copyright (c) 1990 The Regents of the University of California.
@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
* $Id: checkmount_bsd44.c,v 1.3.2.1 2001/01/10 03:23:15 ezk Exp $
* $Id: checkmount_bsd44.c,v 1.3.2.3 2002/12/27 22:44:47 ezk Exp $
*
*/

View File

@ -0,0 +1,46 @@
/*
* Copyright (c) 1997-2003 Erez Zadok
* Copyright (c) 1990 Jan-Simon Pendry
* Copyright (c) 1990 Imperial College of Science, Technology & Medicine
* Copyright (c) 1990 The Regents of the University of California.
* All rights reserved.
*
* This code is derived from software contributed to Berkeley by
* Jan-Simon Pendry at Imperial College, London.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgment:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
* %W% (Berkeley) %G%
*
* $Id: mount_default.c,v 1.1.2.3 2002/12/27 22:44:48 ezk Exp $
*/
/*
* Default mount helper (currently empty)
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997-2001 Erez Zadok
* Copyright (c) 1997-2003 Erez Zadok
* Copyright (c) 1990 Jan-Simon Pendry
* Copyright (c) 1990 Imperial College of Science, Technology & Medicine
* Copyright (c) 1990 The Regents of the University of California.
@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
* $Id: mtab_bsd.c,v 1.3.2.1 2001/01/10 03:23:18 ezk Exp $
* $Id: mtab_bsd.c,v 1.3.2.4 2002/12/27 22:44:50 ezk Exp $
*
*/
@ -64,9 +64,9 @@ mnt_dup(struct statfs *mp)
new_mp->mnt_fsname = strdup(mp->f_mntfromname);
new_mp->mnt_dir = strdup(mp->f_mntonname);
#ifdef HAVE_FIELD_STRUCT_STATFS_F_FSTYPENAME
#ifdef HAVE_STRUCT_STATFS_F_FSTYPENAME
ty = mp->f_fstypename;
#else /* not HAVE_FIELD_STRUCT_STATFS_F_FSTYPENAME */
#else /* not HAVE_STRUCT_STATFS_F_FSTYPENAME */
switch (mp->f_type) {
# if defined(MOUNT_UFS) && defined(MNTTAB_TYPE_UFS)
@ -92,7 +92,7 @@ mnt_dup(struct statfs *mp)
break;
}
#endif /* not HAVE_FIELD_STRUCT_STATFS_F_FSTYPENAME */
#endif /* not HAVE_STRUCT_STATFS_F_FSTYPENAME */
new_mp->mnt_type = strdup(ty);
new_mp->mnt_opts = strdup("unset");

View File

@ -0,0 +1,315 @@
/*
* Copyright (c) 1997-2003 Erez Zadok
* Copyright (c) 1990 Jan-Simon Pendry
* Copyright (c) 1990 Imperial College of Science, Technology & Medicine
* Copyright (c) 1990 The Regents of the University of California.
* All rights reserved.
*
* This code is derived from software contributed to Berkeley by
* Jan-Simon Pendry at Imperial College, London.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgment:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
* %W% (Berkeley) %G%
*
* $Id: nfs_prot_aix5_1.h,v 1.1.2.3 2002/12/27 22:44:53 ezk Exp $
*
*/
#ifndef _AMU_NFS_PROT_H
#define _AMU_NFS_PROT_H
/*
* AIX 5.1 has a different aix51_nfs_args structure, hence the separate header.
*/
#ifdef HAVE_RPCSVC_NFS_PROT_H
# include <rpcsvc/nfs_prot.h>
#endif /* HAVE_RPCSVC_NFS_PROT_H */
#ifdef HAVE_NFS_NFSV2_H
# include <nfs/nfsv2.h>
#endif /* HAVE_NFS_NFSV2_H */
#ifdef HAVE_NFS_RPCV2_H
# include <nfs/rpcv2.h>
#endif /* HAVE_NFS_RPCV2_H */
#ifdef HAVE_SYS_FS_NFS_H
# include <sys/fs/nfs.h>
#endif /* HAVE_SYS_FS_NFS_H */
#ifdef HAVE_RPCSVC_MOUNT_H
# include <rpcsvc/mount.h>
#endif /* HAVE_RPCSVC_MOUNT_H */
/*
* MACROS
*/
#ifndef MNTPATHLEN
# define MNTPATHLEN 1024
#endif /* not MNTPATHLEN */
#ifndef MNTNAMLEN
# define MNTNAMLEN 255
#endif /* not MNTNAMLEN */
/* map field names */
#define ex_dir ex_name
#define gr_name g_name
#define gr_next g_next
#define ml_directory ml_path
#define ml_hostname ml_name
#define ml_next ml_nxt
#define dr_drok_u diropres
#define ca_attributes attributes
#define ca_where where
#define da_fhandle dir
#define da_name name
#define dl_entries entries
#define dl_eof eof
#define dr_status status
#define dr_u diropres_u
#define drok_attributes attributes
#define drok_fhandle file
#define fh_data data
#define la_fhandle from
#define la_to to
#define na_atime atime
#define na_blocks blocks
#define na_blocksize blocksize
#define na_ctime ctime
#define na_fileid fileid
#define na_fsid fsid
#define na_gid gid
#define na_mode mode
#define na_mtime mtime
#define na_nlink nlink
#define na_rdev rdev
#define na_size size
#define na_type type
#define na_uid uid
#define ne_cookie cookie
#define ne_fileid fileid
#define ne_name name
#define ne_nextentry nextentry
#define ns_attr_u attributes
#define ns_status status
#define ns_u attrstat_u
#define nt_seconds seconds
#define nt_useconds useconds
#define ra_count count
#define ra_fhandle file
#define ra_offset offset
#define ra_totalcount totalcount
#define raok_attributes attributes
#define raok_len_u data_len
#define raok_u data
#define raok_val_u data_val
#define rda_cookie cookie
#define rda_count count
#define rda_fhandle dir
#define rdr_reply_u reply
#define rdr_status status
#define rdr_u readdirres_u
#define rlr_data_u data
#define rlr_status status
#define rlr_u readlinkres_u
#define rna_from from
#define rna_to to
#define rr_reply_u reply
#define rr_status status
#define rr_u readres_u
#define sa_atime atime
#define sa_gid gid
#define sa_mode mode
#define sa_mtime mtime
#define sa_size size
#define sa_uid uid
#define sag_attributes attributes
#define sag_fhandle file
#define sfr_reply_u reply
#define sfr_status status
#define sfr_u statfsres_u
#define sfrok_bavail bavail
#define sfrok_bfree bfree
#define sfrok_blocks blocks
#define sfrok_bsize bsize
#define sfrok_tsize tsize
#define sla_attributes attributes
#define sla_from from
#define sla_to to
#define wra_beginoffset beginoffset
#define wra_fhandle file
#define wra_len_u data_len
#define wra_offset offset
#define wra_totalcount totalcount
#define wra_u data
#define wra_val_u data_val
/*
* TYPEDEFS:
*/
typedef char *dirpath;
typedef char *name;
typedef struct exports *exports;
typedef struct exports exportnode;
typedef struct groups *groups;
typedef struct groups groupnode;
typedef struct mountlist *mountlist;
typedef attrstat nfsattrstat;
typedef createargs nfscreateargs;
typedef dirlist nfsdirlist;
typedef diropargs nfsdiropargs;
typedef diropokres nfsdiropokres;
typedef diropres nfsdiropres;
typedef entry nfsentry;
typedef fattr nfsfattr;
typedef ftype nfsftype;
typedef linkargs nfslinkargs;
typedef readargs nfsreadargs;
typedef readdirargs nfsreaddirargs;
typedef readdirres nfsreaddirres;
typedef readlinkres nfsreadlinkres;
typedef readokres nfsreadokres;
typedef readres nfsreadres;
typedef renameargs nfsrenameargs;
typedef sattr nfssattr;
typedef sattrargs nfssattrargs;
typedef statfsokres nfsstatfsokres;
typedef statfsres nfsstatfsres;
typedef symlinkargs nfssymlinkargs;
typedef writeargs nfswriteargs;
/*
* EXTERNALS:
*/
/*
* STRUCTURES:
*/
/*
* AIX 5.1 has NFS V3, but it is undefined in the header files.
* so I define everything that's needed for NFS V3 here.
*/
#ifdef MNT_NFS3
#define FHSIZE3 64 /* size in bytes of a file handle (v3) */
#define NFS3_FHSIZE 64
#define MOUNTVERS3 ((unsigned long)(3))
#define NFS_V3 ((unsigned long)(3))
#if 0
struct nfs_fh3 {
u_int len;
char val[64]; /* !!! */
};
#endif
struct aix51_nfs_args {
struct sockaddr_in addr; /* server address and port */
caddr_t u0; /* ??? UNKNOWN ??? */
unsigned long proto; /* IPPROTO_TCP/IPPROTO_UDP */
char *hostname; /* pointer to hostname? */
char *netname; /* pointer to netname? */
caddr_t fh; /* pointer to NFS v3 fh? */
unsigned long u5; /* IBM sux, IBM sux, IBM sux... */
unsigned long flags; /* flags */
unsigned long wsize; /* wsize */
unsigned long rsize; /* rsize */
unsigned long timeo; /* timeo */
unsigned long retrans; /* retrans */
unsigned long acregmin; /* acregmin */
unsigned long acregmax; /* acregmax */
unsigned long acdirmin; /* acdirmin */
unsigned long acdirmax; /* acdirmax */
unsigned long u15; /* ??? UNKNOWN ??? */
struct pathcnf *pathconf; /* pathconf */
};
typedef struct {
u_int fhandle3_len;
char *fhandle3_val;
} fhandle3;
enum mountstat3 {
MNT3_OK = 0,
MNT3ERR_PERM = 1,
MNT3ERR_NOENT = 2,
MNT3ERR_IO = 5,
MNT3ERR_ACCES = 13,
MNT3ERR_NOTDIR = 20,
MNT3ERR_INVAL = 22,
MNT3ERR_NAMETOOLONG = 63,
MNT3ERR_NOTSUPP = 10004,
MNT3ERR_SERVERFAULT = 10006
};
typedef enum mountstat3 mountstat3;
struct mountres3_ok {
fhandle3 fhandle;
struct {
u_int auth_flavors_len;
int *auth_flavors_val;
} auth_flavors;
};
typedef struct mountres3_ok mountres3_ok;
struct mountres3 {
mountstat3 fhs_status;
union {
mountres3_ok mountinfo;
} mountres3_u;
};
typedef struct mountres3 mountres3;
struct nfs_fh3 {
u_int fh3_length;
union nfs_fh3_u {
struct nfs_fh3_i {
fhandle_t fh3_i;
} nfs_fh3_i;
char data[NFS3_FHSIZE];
} fh3_u;
};
typedef struct nfs_fh3 nfs_fh3;
#endif /* MNT_NFS3 */
/*
* EXTERNALS:
*/
extern bool_t xdr_groups(XDR *xdrs, groups *objp);
extern char *yperr_string (int incode);
#endif /* not _AMU_NFS_PROT_H */

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997-2001 Erez Zadok
* Copyright (c) 1997-2003 Erez Zadok
* Copyright (c) 1990 Jan-Simon Pendry
* Copyright (c) 1990 Imperial College of Science, Technology & Medicine
* Copyright (c) 1990 The Regents of the University of California.
@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
* $Id: nfs_prot_darwin.h,v 1.1.2.1 2001/02/10 03:52:57 ib42 Exp $
* $Id: nfs_prot_darwin.h,v 1.1.2.4 2002/12/27 22:44:54 ezk Exp $
*
*/
@ -236,7 +236,7 @@ typedef writeargs nfswriteargs;
/*
* as of 3.0-RELEASE the nfs_fh3 that is defined in the system headers
* (or the one generated by rpcgen) lacks the proper full definition,
* listed below. A special macro (aux/macros/struct_nfs_fh3.m4) searches
* listed below. A special macro (m4/macros/struct_nfs_fh3.m4) searches
* for this special name before other names.
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997-2001 Erez Zadok
* Copyright (c) 1997-2003 Erez Zadok
* Copyright (c) 1990 Jan-Simon Pendry
* Copyright (c) 1990 Imperial College of Science, Technology & Medicine
* Copyright (c) 1990 The Regents of the University of California.
@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
* $Id: nfs_prot_freebsd2.h,v 1.3.2.1 2001/01/10 03:23:21 ezk Exp $
* $Id: nfs_prot_freebsd2.h,v 1.3.2.3 2002/12/27 22:44:54 ezk Exp $
*
*/

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997-2001 Erez Zadok
* Copyright (c) 1997-2003 Erez Zadok
* Copyright (c) 1990 Jan-Simon Pendry
* Copyright (c) 1990 Imperial College of Science, Technology & Medicine
* Copyright (c) 1990 The Regents of the University of California.
@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
* $Id: nfs_prot_freebsd3.h,v 1.5.2.1 2001/01/10 03:23:22 ezk Exp $
* $Id: nfs_prot_freebsd3.h,v 1.5.2.6 2003/08/27 19:35:16 ib42 Exp $
*
*/
@ -58,6 +58,11 @@
# include <ufs/ufs/ufsmount.h>
#endif /* HAVE_UFS_UFS_UFSMOUNT_H */
/* nfsclient/nfsargs.h was introduced in FreeBSD 5.0, and is needed */
#ifdef HAVE_NFSCLIENT_NFSARGS_H
# include <nfsclient/nfsargs.h>
#endif /* HAVE_NFSCLIENT_NFSARGS_H */
/*
* MACROS:
*/
@ -83,6 +88,7 @@
#define na_nlink nlink
#define na_size size
#define na_type type
#define na_uid uid
#define ne_cookie cookie
#define ne_fileid fileid
#define ne_name name
@ -163,7 +169,7 @@ typedef writeargs nfswriteargs;
/*
* as of 3.0-RELEASE the nfs_fh3 that is defined in the system headers
* (or the one generated by rpcgen) lacks the proper full definition,
* listed below. A special macro (aux/macros/struct_nfs_fh3.m4) searches
* listed below. A special macro (m4/macros/struct_nfs_fh3.m4) searches
* for this special name before other names.
*/
struct nfs_fh3_freebsd3 {

View File

@ -0,0 +1,431 @@
/*
* Copyright (c) 1997-2003 Erez Zadok
* Copyright (c) 1990 Jan-Simon Pendry
* Copyright (c) 1990 Imperial College of Science, Technology & Medicine
* Copyright (c) 1990 The Regents of the University of California.
* All rights reserved.
*
* This code is derived from software contributed to Berkeley by
* Jan-Simon Pendry at Imperial College, London.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgment:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
* %W% (Berkeley) %G%
*
* $Id: nfs_prot_osf5.h,v 1.1.2.4 2002/12/27 22:44:57 ezk Exp $
*
*/
#ifndef _AMU_NFS_PROT_H
#define _AMU_NFS_PROT_H
#ifdef HAVE_RPCSVC_NFS_PROT_H
# include <rpcsvc/nfs_prot.h>
#endif /* HAVE_RPCSVC_NFS_PROT_H */
#ifdef HAVE_NFS_NFS_H
# include <nfs/nfs.h>
#endif /* HAVE_NFS_NFS_H */
#ifdef HAVE_RPCSVC_MOUNTV3_H
# include <rpcsvc/mountv3.h>
#endif /* HAVE_RPCSVC_MOUNTV3_H */
#ifdef HAVE_RPC_RPC_H
# include <rpc/rpc.h>
#endif /* HAVE_RPC_RPC_H */
/* avoid conflicts with Irix's EFS */
#undef MOUNT_EFS /* DCE Episode FS */
/*
* The NFSMNT_AUTO flag in Tru64 UNIX V5 has two effects: it causes df and
* mount not to display this mount point without the -e switch, as it did in
* previous releases. Unfortunately it also ignores the timeo mount option,
* disables the usual timeout backof and enforces a timeout of NFS_MAXTIMO
* (20 seconds) instead. This breaks amd which can sometimes take longer to
* respond to an NFS request, causing `nfs server not responding still trying'
* messages.
*
* To avoid this, we need to completely disable this flag on automount points,
* with the unfortunate side effect that they are no longer hidden in df and
* mount output.
*/
#undef MNT2_NFS_OPT_AUTO
/*
* MACROS
*/
#define NFS_PORT 2049
#define NFS_MAXDATA 8192
#define NFS_MAXPATHLEN 1024
#define NFS_MAXNAMLEN 255
#define NFS_FHSIZE 32
#define NFS_COOKIESIZE 4
#define MNTPATHLEN 1024
#define MNTNAMLEN 255
#define NFSMODE_FMT 0170000
#define NFSMODE_DIR 0040000
#define NFSMODE_CHR 0020000
#define NFSMODE_BLK 0060000
#define NFSMODE_REG 0100000
#define NFSMODE_LNK 0120000
#define NFSMODE_SOCK 0140000
#define NFSMODE_FIFO 0010000
#ifndef NFS_PROGRAM
# define NFS_PROGRAM ((u_long)100003)
#endif /* not NFS_PROGRAM */
#ifndef NFS_VERSION
# define NFS_VERSION ((u_long)2)
#endif /* not NFS_VERSION */
#define NFSPROC_NULL ((u_long)0)
#define NFSPROC_GETATTR ((u_long)1)
#define NFSPROC_SETATTR ((u_long)2)
#define NFSPROC_ROOT ((u_long)3)
#define NFSPROC_LOOKUP ((u_long)4)
#define NFSPROC_READLINK ((u_long)5)
#define NFSPROC_READ ((u_long)6)
#define NFSPROC_WRITECACHE ((u_long)7)
#define NFSPROC_WRITE ((u_long)8)
#define NFSPROC_CREATE ((u_long)9)
#define NFSPROC_REMOVE ((u_long)10)
#define NFSPROC_RENAME ((u_long)11)
#define NFSPROC_LINK ((u_long)12)
#define NFSPROC_SYMLINK ((u_long)13)
#define NFSPROC_MKDIR ((u_long)14)
#define NFSPROC_RMDIR ((u_long)15)
#define NFSPROC_READDIR ((u_long)16)
#define NFSPROC_STATFS ((u_long)17)
/* map field names */
#define ml_hostname ml_name
#define ml_directory ml_path
#define ml_next ml_nxt
#define gr_next g_next
#define gr_name g_name
#define ex_dir ex_name
#define drok_attributes drok_attr
#define na_fileid na_nodeid
#define la_fhandle la_from
#define nt_seconds tv_sec
#define nt_useconds tv_usec
#define ra_totalcount ra_totcount
#define sla_to sla_tnm
#define sla_attributes sla_sa
#define sag_fhandle saa_fh
#define sag_attributes saa_sa
#define sfrok_tsize fsok_tsize
#define sfrok_bsize fsok_bsize
#define sfrok_blocks fsok_blocks
#define sfrok_bfree fsok_bfree
#define sfrok_bavail fsok_bavail
#define sfr_status fs_status
#define sfr_u fs_u
#define sfr_reply_u fs_fsok_u
#define wra_fhandle wa_fhandle
#define wra_beginoffset wa_begoff
#define wra_offset wa_offset
#define wra_totalcount wa_totcount
#define wra_u wa_mbuf->m_hdr
#define wra_val_u mh_data
#define wra_len_u mh_len
/*
* TYPEDEFS:
*/
typedef char *dirpath;
typedef char *filename;
typedef char *name;
typedef char *nfspath;
typedef char nfscookie[NFS_COOKIESIZE];
typedef enum nfsftype nfsftype;
typedef enum nfsstat nfsstat;
typedef struct nfssvcfh fhandle;
typedef struct nfsattrstat nfsattrstat;
typedef struct nfscreateargs nfscreateargs;
typedef struct nfsdirlist nfsdirlist;
typedef struct nfsdiropargs nfsdiropargs;
typedef struct nfsdrok nfsdiropokres;
typedef struct nfsdiropres nfsdiropres;
typedef struct nfsentry nfsentry;
typedef struct exports *exports;
typedef struct exports exportnode;
typedef struct nfsfattr nfsfattr;
typedef struct fhstatus fhstatus;
typedef struct groups *groups;
typedef struct groups groupnode;
typedef struct nfslinkargs nfslinkargs;
typedef struct mountlist *mountlist;
typedef struct mountlist mountbody;
typedef struct _nfs_fh _nfs_fh;
typedef struct timeval nfstime;
typedef struct nfsreadargs nfsreadargs;
typedef struct nfsreaddirargs nfsreaddirargs;
typedef struct nfsreaddirres nfsreaddirres;
typedef struct nfsreadlinkres nfsreadlinkres;
typedef struct nfsreadokres nfsreadokres;
typedef struct nfsreadres nfsreadres;
typedef struct nfsrenameargs nfsrenameargs;
typedef struct nfssattr nfssattr;
typedef struct nfssaargs nfssattrargs;
typedef struct nfsstatfsok nfsstatfsokres;
typedef struct nfsstatfs nfsstatfsres;
typedef struct nfsslargs nfssymlinkargs;
typedef struct nfswriteargs nfswriteargs;
/*
* EXTERNALS:
*/
extern void *nfsproc_null_2_svc(void *, struct svc_req *);
extern nfsattrstat *nfsproc_getattr_2_svc(struct nfssvcfh *, struct svc_req *);
extern nfsattrstat *nfsproc_setattr_2_svc(nfssattrargs *, struct svc_req *);
extern void *nfsproc_root_2_svc(void *, struct svc_req *);
extern nfsdiropres *nfsproc_lookup_2_svc(nfsdiropargs *, struct svc_req *);
extern nfsreadlinkres *nfsproc_readlink_2_svc(struct nfssvcfh *, struct svc_req *);
extern nfsreadres *nfsproc_read_2_svc(nfsreadargs *, struct svc_req *);
extern void *nfsproc_writecache_2_svc(void *, struct svc_req *);
extern nfsattrstat *nfsproc_write_2_svc(nfswriteargs *, struct svc_req *);
extern nfsdiropres *nfsproc_create_2_svc(nfscreateargs *, struct svc_req *);
extern nfsstat *nfsproc_remove_2_svc(nfsdiropargs *, struct svc_req *);
extern nfsstat *nfsproc_rename_2_svc(nfsrenameargs *, struct svc_req *);
extern nfsstat *nfsproc_link_2_svc(nfslinkargs *, struct svc_req *);
extern nfsstat *nfsproc_symlink_2_svc(nfssymlinkargs *, struct svc_req *);
extern nfsdiropres *nfsproc_mkdir_2_svc(nfscreateargs *, struct svc_req *);
extern nfsstat *nfsproc_rmdir_2_svc(nfsdiropargs *, struct svc_req *);
extern nfsreaddirres *nfsproc_readdir_2_svc(nfsreaddirargs *, struct svc_req *);
extern nfsstatfsres *nfsproc_statfs_2_svc(struct nfssvcfh *, struct svc_req *);
extern bool_t xdr_nfsstat(XDR *, nfsstat*);
extern bool_t xdr_ftype(XDR *, nfsftype*);
extern bool_t xdr_nfs_fh(XDR *, struct nfssvcfh*);
extern bool_t xdr_nfstime(XDR *, nfstime*);
extern bool_t xdr_fattr(XDR *, nfsfattr*);
extern bool_t xdr_sattr(XDR *, nfssattr*);
extern bool_t xdr_filename(XDR *, filename*);
extern bool_t xdr_nfspath(XDR *, nfspath*);
extern bool_t xdr_attrstat(XDR *, nfsattrstat*);
extern bool_t xdr_sattrargs(XDR *, nfssattrargs*);
extern bool_t xdr_diropargs(XDR *, nfsdiropargs*);
extern bool_t xdr_diropokres(XDR *, nfsdiropokres*);
extern bool_t xdr_diropres(XDR *, nfsdiropres*);
extern bool_t xdr_readlinkres(XDR *, nfsreadlinkres*);
extern bool_t xdr_readargs(XDR *, nfsreadargs*);
extern bool_t xdr_readokres(XDR *, nfsreadokres*);
extern bool_t xdr_readres(XDR *, nfsreadres*);
extern bool_t xdr_writeargs(XDR *, nfswriteargs*);
extern bool_t xdr_createargs(XDR *, nfscreateargs*);
extern bool_t xdr_renameargs(XDR *, nfsrenameargs*);
extern bool_t xdr_linkargs(XDR *, nfslinkargs*);
extern bool_t xdr_symlinkargs(XDR *, nfssymlinkargs*);
extern bool_t xdr_nfscookie(XDR *, nfscookie);
extern bool_t xdr_readdirargs(XDR *, nfsreaddirargs*);
extern bool_t xdr_entry(XDR *, nfsentry*);
extern bool_t xdr_dirlist(XDR *, nfsdirlist*);
extern bool_t xdr_readdirres(XDR *, nfsreaddirres*);
extern bool_t xdr_statfsokres(XDR *, nfsstatfsokres*);
extern bool_t xdr_statfsres(XDR *, nfsstatfsres*);
/*
* STRUCTURES:
*/
struct _nfs_fh {
char data[NFS_FHSIZE];
};
struct nfstime {
u_int nt_seconds;
u_int nt_useconds;
};
struct _fattr {
nfsftype na_type;
u_int na_mode;
u_int na_nlink;
u_int na_uid;
u_int na_gid;
u_int na_size;
u_int na_blocksize;
u_int na_rdev;
u_int na_blocks;
u_int na_fsid;
u_int na_fileid;
nfstime na_atime;
nfstime na_mtime;
nfstime na_ctime;
};
struct _sattr {
u_int sa_mode;
u_int sa_uid;
u_int sa_gid;
u_int sa_size;
nfstime sa_atime;
nfstime sa_mtime;
};
struct _attrstat {
nfsstat ns_status;
union {
nfsfattr ns_attr_u;
} ns_u;
};
struct _sattrargs {
struct nfssvcfh sag_fhandle;
nfssattr sag_attributes;
};
struct _diropargs {
struct nfssvcfh da_fhandle; /* was dir */
filename da_name;
};
struct _diropokres {
struct nfssvcfh drok_fhandle;
nfsfattr drok_attributes;
};
struct _diropres {
nfsstat dr_status; /* was status */
union {
nfsdiropokres dr_drok_u; /* was diropres */
} dr_u; /* was diropres_u */
};
struct nfsreadlinkres {
nfsstat rlr_status;
union {
nfspath rlr_data_u;
} rlr_u;
};
struct _readargs {
struct nfssvcfh ra_fhandle;
u_int ra_offset;
u_int ra_count;
u_int ra_totalcount;
};
struct nfsreadokres {
nfsfattr raok_attributes;
struct {
u_int raok_len_u;
char *raok_val_u;
} raok_u;
};
struct nfsreadres {
nfsstat rr_status;
union {
nfsreadokres rr_reply_u;
} rr_u;
};
#if 0
struct _writeargs {
struct nfssvcfh wra_fhandle;
u_int wra_beginoffset;
u_int wra_offset;
u_int wra_totalcount;
struct {
u_int wra_len_u;
char *wra_val_u;
} wra_u;
};
#endif
struct nfscreateargs {
nfsdiropargs ca_where;
nfssattr ca_attributes;
};
struct nfsrenameargs {
nfsdiropargs rna_from;
nfsdiropargs rna_to;
};
struct _linkargs {
struct nfssvcfh la_fhandle;
nfsdiropargs la_to;
};
struct _symlinkargs {
nfsdiropargs sla_from;
nfspath sla_to;
nfssattr sla_attributes;
};
struct nfsreaddirargs {
struct nfssvcfh rda_fhandle;
nfscookie rda_cookie;
u_int rda_count;
};
struct nfsentry {
u_int ne_fileid;
filename ne_name;
nfscookie ne_cookie;
nfsentry *ne_nextentry;
};
struct nfsdirlist {
nfsentry *dl_entries;
bool_t dl_eof;
};
struct nfsreaddirres {
nfsstat rdr_status;
union {
nfsdirlist rdr_reply_u;
} rdr_u;
};
struct _statfsokres {
u_int sfrok_tsize;
u_int sfrok_bsize;
u_int sfrok_blocks;
u_int sfrok_bfree;
u_int sfrok_bavail;
};
struct _statfsres {
nfsstat sfr_status;
union {
nfsstatfsokres sfr_reply_u;
} sfr_u;
};
#endif /* not _AMU_NFS_PROT_H */

View File

@ -0,0 +1,388 @@
/*
* Copyright (c) 1997-2003 Erez Zadok
* Copyright (c) 1990 Jan-Simon Pendry
* Copyright (c) 1990 Imperial College of Science, Technology & Medicine
* Copyright (c) 1990 The Regents of the University of California.
* All rights reserved.
*
* This code is derived from software contributed to Berkeley by
* Jan-Simon Pendry at Imperial College, London.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgment:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
* %W% (Berkeley) %G%
*
* $Id: nfs_prot_sunos5_8.h,v 1.2.2.4 2002/12/27 22:44:59 ezk Exp $
*
*/
#ifndef _AMU_NFS_PROT_H
#define _AMU_NFS_PROT_H
/*
* Do NOT include <rpcsvc/nfs_prot.h> to get NFS V2 specs, because
* it will result in conflicts with <nfs/nfs.h>. The latter is a must
* for NFS V3 specs.
*/
#ifdef HAVE_NFS_NFS_H
# include <nfs/nfs.h>
#endif /* HAVE_NFS_NFS_H */
#ifdef HAVE_RPCSVC_MOUNT_H
# include <rpcsvc/mount.h>
#endif /* HAVE_RPCSVC_MOUNT_H */
#ifdef HAVE_RPC_RPC_H
# include <rpc/rpc.h>
#endif /* HAVE_RPC_RPC_H */
/*
* MACROS
*/
#define NFS_PORT 2049
#define NFS_MAXDATA 8192
#define NFS_MAXPATHLEN 1024
#define NFS_MAXNAMLEN 255
#define NFS_FHSIZE 32
#define NFS_COOKIESIZE 4
#define NFSMODE_FMT 0170000
#define NFSMODE_DIR 0040000
#define NFSMODE_CHR 0020000
#define NFSMODE_BLK 0060000
#define NFSMODE_REG 0100000
#define NFSMODE_LNK 0120000
#define NFSMODE_SOCK 0140000
#define NFSMODE_FIFO 0010000
#define NFSPROC_NULL ((unsigned long)(0))
#define NFSPROC_GETATTR ((unsigned long)(1))
#define NFSPROC_SETATTR ((unsigned long)(2))
#define NFSPROC_ROOT ((unsigned long)(3))
#define NFSPROC_LOOKUP ((unsigned long)(4))
#define NFSPROC_READLINK ((unsigned long)(5))
#define NFSPROC_READ ((unsigned long)(6))
#define NFSPROC_WRITECACHE ((unsigned long)(7))
#define NFSPROC_WRITE ((unsigned long)(8))
#define NFSPROC_CREATE ((unsigned long)(9))
#define NFSPROC_REMOVE ((unsigned long)(10))
#define NFSPROC_RENAME ((unsigned long)(11))
#define NFSPROC_LINK ((unsigned long)(12))
#define NFSPROC_SYMLINK ((unsigned long)(13))
#define NFSPROC_MKDIR ((unsigned long)(14))
#define NFSPROC_RMDIR ((unsigned long)(15))
#define NFSPROC_READDIR ((unsigned long)(16))
#define NFSPROC_STATFS ((unsigned long)(17))
/*
* TYPEDEFS:
*/
typedef char *filename;
typedef char *nfspath;
typedef char nfscookie[NFS_COOKIESIZE];
typedef enum nfsftype nfsftype;
typedef struct attrstat nfsattrstat;
typedef struct createargs nfscreateargs;
typedef struct dirlist nfsdirlist;
typedef struct diropargs nfsdiropargs;
typedef struct diropokres nfsdiropokres;
typedef struct diropres nfsdiropres;
typedef struct entry nfsentry;
typedef struct fattr nfsfattr;
typedef struct linkargs nfslinkargs;
typedef struct nfs_fh nfs_fh;
typedef struct nfstime nfstime;
typedef struct readargs nfsreadargs;
typedef struct readdirargs nfsreaddirargs;
typedef struct readdirres nfsreaddirres;
typedef struct readlinkres nfsreadlinkres;
typedef struct readokres nfsreadokres;
typedef struct readres nfsreadres;
typedef struct renameargs nfsrenameargs;
typedef struct sattr nfssattr;
typedef struct sattrargs nfssattrargs;
typedef struct statfsokres nfsstatfsokres;
typedef struct statfsres nfsstatfsres;
typedef struct symlinkargs nfssymlinkargs;
typedef struct writeargs nfswriteargs;
/*
* EXTERNALS:
*/
extern bool_t xdr_nfsstat(XDR *, nfsstat *);
extern bool_t xdr_ftype(XDR *, nfsftype *);
extern bool_t xdr_nfs_fh(XDR *, nfs_fh *);
extern bool_t xdr_nfstime(XDR *, nfstime *);
extern bool_t xdr_fattr(XDR *, nfsfattr *);
extern bool_t xdr_sattr(XDR *, nfssattr *);
extern bool_t xdr_filename(XDR *, filename *);
extern bool_t xdr_nfspath(XDR *, nfspath *);
extern bool_t xdr_attrstat(XDR *, nfsattrstat *);
extern bool_t xdr_sattrargs(XDR *, nfssattrargs *);
extern bool_t xdr_diropargs(XDR *, nfsdiropargs *);
extern bool_t xdr_diropokres(XDR *, nfsdiropokres *);
extern bool_t xdr_diropres(XDR *, nfsdiropres *);
extern bool_t xdr_readlinkres(XDR *, nfsreadlinkres *);
extern bool_t xdr_readargs(XDR *, nfsreadargs *);
extern bool_t xdr_readokres(XDR *, nfsreadokres *);
extern bool_t xdr_readres(XDR *, nfsreadres *);
extern bool_t xdr_writeargs(XDR *, nfswriteargs *);
extern bool_t xdr_createargs(XDR *, nfscreateargs *);
extern bool_t xdr_renameargs(XDR *, nfsrenameargs *);
extern bool_t xdr_linkargs(XDR *, nfslinkargs *);
extern bool_t xdr_symlinkargs(XDR *, nfssymlinkargs *);
extern bool_t xdr_nfscookie(XDR *, nfscookie);
extern bool_t xdr_readdirargs(XDR *, nfsreaddirargs *);
extern bool_t xdr_entry(XDR *, nfsentry *);
extern bool_t xdr_dirlist(XDR *, nfsdirlist *);
extern bool_t xdr_readdirres(XDR *, nfsreaddirres *);
extern bool_t xdr_statfsokres(XDR *, nfsstatfsokres *);
extern bool_t xdr_statfsres(XDR *, nfsstatfsres *);
extern nfsattrstat *nfsproc_getattr_2(nfs_fh *, CLIENT *);
extern nfsattrstat *nfsproc_getattr_2_svc(nfs_fh *, struct svc_req *);
extern nfsattrstat *nfsproc_setattr_2(nfssattrargs *, CLIENT *);
extern nfsattrstat *nfsproc_setattr_2_svc(nfssattrargs *, struct svc_req *);
extern nfsattrstat *nfsproc_write_2(nfswriteargs *, CLIENT *);
extern nfsattrstat *nfsproc_write_2_svc(nfswriteargs *, struct svc_req *);
extern nfsdiropres *nfsproc_create_2(nfscreateargs *, CLIENT *);
extern nfsdiropres *nfsproc_create_2_svc(nfscreateargs *, struct svc_req *);
extern nfsdiropres *nfsproc_lookup_2(nfsdiropargs *, CLIENT *);
extern nfsdiropres *nfsproc_lookup_2_svc(nfsdiropargs *, struct svc_req *);
extern nfsdiropres *nfsproc_mkdir_2(nfscreateargs *, CLIENT *);
extern nfsdiropres *nfsproc_mkdir_2_svc(nfscreateargs *, struct svc_req *);
extern nfsstat *nfsproc_link_2(nfslinkargs *, CLIENT *);
extern nfsstat *nfsproc_link_2_svc(nfslinkargs *, struct svc_req *);
extern nfsstat *nfsproc_remove_2(nfsdiropargs *, CLIENT *);
extern nfsstat *nfsproc_remove_2_svc(nfsdiropargs *, struct svc_req *);
extern nfsstat *nfsproc_rename_2(nfsrenameargs *, CLIENT *);
extern nfsstat *nfsproc_rename_2_svc(nfsrenameargs *, struct svc_req *);
extern nfsstat *nfsproc_rmdir_2(nfsdiropargs *, CLIENT *);
extern nfsstat *nfsproc_rmdir_2_svc(nfsdiropargs *, struct svc_req *);
extern nfsstat *nfsproc_symlink_2(nfssymlinkargs *, CLIENT *);
extern nfsstat *nfsproc_symlink_2_svc(nfssymlinkargs *, struct svc_req *);
extern nfsreaddirres *nfsproc_readdir_2(nfsreaddirargs *, CLIENT *);
extern nfsreaddirres *nfsproc_readdir_2_svc(nfsreaddirargs *, struct svc_req *);
extern nfsreadlinkres *nfsproc_readlink_2(nfs_fh *, CLIENT *);
extern nfsreadlinkres *nfsproc_readlink_2_svc(nfs_fh *, struct svc_req *);
extern nfsreadres *nfsproc_read_2(nfsreadargs *, CLIENT *);
extern nfsreadres *nfsproc_read_2_svc(nfsreadargs *, struct svc_req *);
extern nfsstatfsres *nfsproc_statfs_2(nfs_fh *, CLIENT *);
extern nfsstatfsres *nfsproc_statfs_2_svc(nfs_fh *, struct svc_req *);
extern void *nfsproc_null_2(void *, CLIENT *);
extern void *nfsproc_null_2_svc(void *, struct svc_req *);
extern void *nfsproc_root_2(void *, CLIENT *);
extern void *nfsproc_root_2_svc(void *, struct svc_req *);
extern void *nfsproc_writecache_2(void *, CLIENT *);
extern void *nfsproc_writecache_2_svc(void *, struct svc_req *);
extern int nfs_program_2_freeresult(SVCXPRT *, xdrproc_t, caddr_t);
/*
* ENUMS:
*/
/*
* STRUCTURES:
*/
struct nfs_fh {
char fh_data[NFS_FHSIZE];
};
struct nfstime {
u_int nt_seconds;
u_int nt_useconds;
};
struct fattr {
nfsftype na_type;
u_int na_mode;
u_int na_nlink;
u_int na_uid;
u_int na_gid;
u_int na_size;
u_int na_blocksize;
u_int na_rdev;
u_int na_blocks;
u_int na_fsid;
u_int na_fileid;
nfstime na_atime;
nfstime na_mtime;
nfstime na_ctime;
};
struct sattr {
u_int sa_mode;
u_int sa_uid;
u_int sa_gid;
u_int sa_size;
nfstime sa_atime;
nfstime sa_mtime;
};
struct attrstat {
nfsstat ns_status;
union {
nfsfattr ns_attr_u;
} ns_u;
};
struct sattrargs {
nfs_fh sag_fhandle;
nfssattr sag_attributes;
};
struct diropargs {
nfs_fh da_fhandle; /* was dir */
filename da_name;
};
struct diropokres {
nfs_fh drok_fhandle;
nfsfattr drok_attributes;
};
struct diropres {
nfsstat dr_status; /* was status */
union {
nfsdiropokres dr_drok_u; /* was diropres */
} dr_u; /* was diropres_u */
};
struct readlinkres {
nfsstat rlr_status;
union {
nfspath rlr_data_u;
} rlr_u;
};
struct readargs {
nfs_fh ra_fhandle;
u_int ra_offset;
u_int ra_count;
u_int ra_totalcount;
};
struct readokres {
nfsfattr raok_attributes;
struct {
u_int raok_len_u;
char *raok_val_u;
} raok_u;
};
struct readres {
nfsstat rr_status;
union {
nfsreadokres rr_reply_u;
} rr_u;
};
struct writeargs {
nfs_fh wra_fhandle;
u_int wra_beginoffset;
u_int wra_offset;
u_int wra_totalcount;
struct {
u_int wra_len_u;
char *wra_val_u;
} wra_u;
};
struct createargs {
nfsdiropargs ca_where;
nfssattr ca_attributes;
};
struct renameargs {
nfsdiropargs rna_from;
nfsdiropargs rna_to;
};
struct linkargs {
nfs_fh la_fhandle;
nfsdiropargs la_to;
};
struct symlinkargs {
nfsdiropargs sla_from;
nfspath sla_to;
nfssattr sla_attributes;
};
struct readdirargs {
nfs_fh rda_fhandle;
nfscookie rda_cookie;
u_int rda_count;
};
struct entry {
u_int ne_fileid;
filename ne_name;
nfscookie ne_cookie;
nfsentry *ne_nextentry;
};
struct dirlist {
nfsentry *dl_entries;
bool_t dl_eof;
};
struct readdirres {
nfsstat rdr_status;
union {
nfsdirlist rdr_reply_u;
} rdr_u;
};
struct statfsokres {
u_int sfrok_tsize;
u_int sfrok_bsize;
u_int sfrok_blocks;
u_int sfrok_bfree;
u_int sfrok_bavail;
};
struct statfsres {
nfsstat sfr_status;
union {
nfsstatfsokres sfr_reply_u;
} sfr_u;
};
#endif /* not _AMU_NFS_PROT_H */

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997-2001 Erez Zadok
* Copyright (c) 1997-2003 Erez Zadok
* Copyright (c) 1990 Jan-Simon Pendry
* Copyright (c) 1990 Imperial College of Science, Technology & Medicine
* Copyright (c) 1990 The Regents of the University of California.
@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
* $Id: transp_sockets.c,v 1.6.2.5 2001/06/08 18:50:40 ezk Exp $
* $Id: transp_sockets.c,v 1.6.2.10 2003/04/23 14:27:34 ezk Exp $
*
* Socket specific utilities.
* -Erez Zadok <ezk@cs.columbia.edu>
@ -50,9 +50,6 @@
#include <am_defs.h>
#include <amu.h>
#ifndef RPC_MAXDATASIZE
#define RPC_MAXDATASIZE 9000
#endif
/*
* find the IP address that can be used to connect to the local host
@ -219,8 +216,6 @@ create_nfs_service(int *soNFSp, u_short *nfs_portp, SVCXPRT **nfs_xprtp, void (*
int
create_amq_service(int *udp_soAMQp, SVCXPRT **udp_amqpp, int *tcp_soAMQp, SVCXPRT **tcp_amqpp)
{
int maxrec = RPC_MAXDATASIZE;
/* first create TCP service */
if (tcp_soAMQp) {
*tcp_soAMQp = socket(AF_INET, SOCK_STREAM, 0);
@ -235,10 +230,22 @@ create_amq_service(int *udp_soAMQp, SVCXPRT **udp_amqpp, int *tcp_soAMQp, SVCXPR
plog(XLOG_FATAL, "cannot create tcp service for amq: soAMQp=%d", *tcp_soAMQp);
return 2;
}
}
#ifdef SVCSET_CONNMAXREC
SVC_CONTROL(*tcp_amqpp, SVCSET_CONNMAXREC, &maxrec);
#endif
/*
* This is *BSD at its best.
* They just had to do things differently than everyone else
* so they fixed a library DoS issue by forcing client-side changes...
*/
# ifndef RPC_MAXDATASIZE
# define RPC_MAXDATASIZE 9000
# endif /* not RPC_MAXDATASIZE */
{
int maxrec = RPC_MAXDATASIZE;
SVC_CONTROL(*tcp_amqpp, SVCSET_CONNMAXREC, &maxrec);
}
#endif /* not SVCSET_CONNMAXREC */
}
/* next create UDP service */
if (udp_soAMQp) {
@ -378,19 +385,3 @@ get_nfs_version(char *host, struct sockaddr_in *sin, u_long nfs_version, const c
(int) nfs_version, proto, host);
return nfs_version;
}
/*
* AUTOFS FUNCTIONS FOR SOCKETS:
*/
#ifdef HAVE_FS_AUTOFS
/*
* Create the nfs service for amd
*/
int
create_autofs_service(int *soAUTOFSp, u_short *autofs_portp, SVCXPRT **autofs_xprtp, void (*dispatch_fxn)(struct svc_req *rqstp, SVCXPRT *transp))
{
/* NOT IMPLEMENTED! */
return -1;
}
#endif /* HAVE_FS_AUTOFS */

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997-2001 Erez Zadok
* Copyright (c) 1997-2003 Erez Zadok
* Copyright (c) 1990 Jan-Simon Pendry
* Copyright (c) 1990 Imperial College of Science, Technology & Medicine
* Copyright (c) 1990 The Regents of the University of California.
@ -38,7 +38,7 @@
*
* %W% (Berkeley) %G%
*
* $Id: umount_bsd44.c,v 1.3.2.1 2001/01/10 03:23:28 ezk Exp $
* $Id: umount_bsd44.c,v 1.3.2.3 2002/12/27 22:45:01 ezk Exp $
*
*/

1325
contrib/amd/config.guess vendored Executable file

File diff suppressed because it is too large Load Diff

47
contrib/amd/config.guess.long Executable file
View File

@ -0,0 +1,47 @@
#!/bin/sh
# generate long version of output from config.guess
# part of am-utils-6.x
# Erez Zadok <ezk@cs.columbia.edu>
#
#set -x
# find a single word that prints the version number of the release
getver () {
l=`head $1`
set $l
for i in $*
do
case "$i" in
# look for one digit followed by a sequence of non-spaces
# so it'll catch 7.3 as well as 2.1AW
*[0-9]* ) echo $i; return ;;
esac
done
}
if test "x$GCONFIG" = "x" ; then
# find dirname of this script
base=`echo $0 | sed 's/\/[^\/]*$//' 2>/dev/null`
PATH=$base:$PATH
export PATH
GCONFIG=`config.guess || echo unknown-config`
fi
case "${GCONFIG}" in
*linux* )
GCONFIG=`echo ${GCONFIG} | sed -e 's/i.86/i386/' -e 's/linux-gnu/linux/'`
if test -f /etc/redhat-release ; then
long=`getver /etc/redhat-release`
echo ${GCONFIG}-rh${long}
exit 0
elif test -f /etc/SuSE-release ; then
long=`getver /etc/SuSE-release`
echo ${GCONFIG}-suse${long}
exit 0
else
echo ${GCONFIG}
fi
;;
* ) echo ${GCONFIG}
;;
esac
exit 0

1445
contrib/amd/config.sub vendored Executable file

File diff suppressed because it is too large Load Diff

1107
contrib/amd/configure.in Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,43 @@
##############################################################################
Here are generic CVS server instructions:
(1) Login to the cvs server. Not needed more than once b/c the cvs login
will record your cvs password in $HOME/.cvspass. Change "ezk" for your
CVS user id.
$ cvs -d :pserver:ezk@shekel.mcl.cs.columbia.edu:/proj/bank/cvsroot login
CVS password:
Type in your password, crypt(3)'ed in /proj/bank/cvsroot/CVSROOT/passwd.
(2) Then, check out a fresh copy of 6.1 (experimental)
$ cvs -d :pserver:ezk@shekel.mcl.cs.columbia.edu:/proj/bank/cvsroot checkout am-utils
Or, to checkout the stable branch:
$ cvs -d :pserver:ezk@shekel.mcl.cs.columbia.edu:/proj/bank/cvsroot checkout -r amd-6-0-stable am-utils
(3) Then you can do normal edit, commit, update, etc. w/o having to worry
about your $CVSROOT or the -d option.
##############################################################################
To merge changes from the stable branch into the main (experimental) branch:
$ cvs update -j amd-6-0-stable -kk
- don't worry about all the files that change; it's probably because of cvs
keywords in the sources
- after the merge, do a 'cvs update -d' and resolve any conflicts
##############################################################################
There are two new mailing lists:
amd-maintainers@shekel.mcl.cs.columbia.edu: for Amd maintainers to
communicate internally w/o exposure to the greater user community.
amd-cvslog@shekel.mcl.cs.columbia.edu: to get cvs log messages. I've used a
better (I hope) script for loginfo. It provides different output
and can be tweaked as well.
##############################################################################

Some files were not shown because too many files have changed in this diff Show More