Import am-utils 6.1b2

This commit is contained in:
christos 2003-03-09 01:12:05 +00:00
parent 8bf240ccae
commit e1af53e09a
293 changed files with 20531 additions and 8920 deletions

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.
@ -164,7 +163,7 @@ that do not allow forwarding of RPC messages to other services.
August 10, 1997: netbsd and other bsd systems have a mask flag for
pcfs_args (msdos mount).
* Christos Zoulas <christos@deshaw.com>
* Christos Zoulas <christos@zoulas.com>
September 25, 1997: fix to initialize uid/gid fields of pcfs_args_t on
netbsd.
@ -173,6 +172,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.
November 29, 2002: compile fixes for NetBSD, a couple of bug fixes (one
already fixed by maintainers)
* Bill Paul <wpaul@ctr.columbia.edu>
November 5, 1997: NFS v.3 support for AIX 4.2.1, which does *not* include
@ -339,6 +341,9 @@ _must_ have a timeout 2 orders of magnitude larger than UDP
April 29, 2002: Rework of old code, support for wildcards in LDAP queries,
and an FD leak fix. Amd -A support.
October 21, 2002: ldap_unbind fix for SIGPIPE, and support for LDAPv3
protocol version parameter (with Tim Colles <timc@inf.ed.ac.uk>).
* Matthias Scheler <tron@zhadum.de>
June 14, 2002: patch to use "xlatecookie" NFS mount option.

28
dist/am-utils/BUGS vendored
View File

@ -109,7 +109,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
@ -139,15 +139,15 @@ 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 older SuSE Linux systems (and possibly
others) dies with a SEGV when amd tries to contact it for access to a volume
@ -172,6 +172,9 @@ problems. See http://www.am-utils.org/patches/.
Later 2.4.x kernels completely disallow the hack amd was using for direct
mounts, so another solution will have to be found.
Note: the above is for the old-style amd mount_type = nfs. The autofs mounts
don't support direct mounts at all (due to lack of kernel support).
(12) *-aix5.1.0.0 and *-hpux9*
/bin/sh is broken and fails to run the configure script properly. You need
@ -179,5 +182,20 @@ 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'.
13) *-linux and *-darwin6.0
Erez.
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 & Ion

View File

@ -1,4 +1,4 @@
Copyright (c) 1997-2002 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,7 +1,385 @@
2003-01-25 Ion Badulescu <ionut@moisil.badula.org>
* Released beta version 6.1b2
2003-01-24 Ion Badulescu <ionut@moisil.badula.org>
* amd/autil.c (am_unmounted): reset MFF_MKMNT from mf_flags when
calling rmdirs() on mountpoint
* amd/amfs_auto.c (amfs_auto_bgmount): ditto
* amd/amfs_nfsl.c (amfs_nfsl_umounted): ditto
* doc/am-utils.texi (opts Option): "sftlookup" -> "softlookup"
* NEWS: "sftlookup" -> "softlookup"
* amd/ops_nfs.c (nfs_mount): "sftlookup" -> "softlookup", also
check for "nosoftlookup" in combination with "soft"
2003-01-23 Ion Badulescu <ion@guppy.limebrokerage.com>
* m4/macros/check_nfs_fh_dref.m4: darwin/rhapsody is another
freebsd22 derivative
* NEWS: updated for Darwin changes
* .cvsignore: added A.i386-apple-darwin6.0
* m4/macros/os_cflags.m4: add -D_P1003_1B_VISIBLE to cflags for
Darwin
2003-01-23 Erez Zadok <ezk@cs.sunysb.edu>
* conf/mount/mount_aix.c (mount_aix3): clean back this file from
all the debugging cruft that is no longer needed (and really was
never needed in the first place).
2003-01-10 Erez Zadok <ezk@cs.sunysb.edu>
* scripts/test-amd.{misc,conf}: simple amd.conf and amd.misc
(map) files for testing basic amd functionality such as whether it
can mount its own mount NFS points.
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/xdr_func.c (xdr_ftype): use a local enum_t variable
instead of casting the pointer to (enum_t *)
(xdr_mountstat3): ditto
(xdr_nfsstat): ditto
* 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-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-12-10 Erez Zadok <ezk@filer.fsl.cs.sunysb.edu>
* configure.in: don't check for bad hasmntopt() function if
hasmntopt() doesn't exist on the system, because we will replace
it with our own version anyway.
* conf/transp/transp_sockets.c (amu_get_myaddress): use "%lx" in
dlog because htonl() returns a u_long.
2002-12-10 Erez Zadok <ezk@localhost.localdomain>
* include/am_defs.h: use system's hasmntopt() only if it is found
and it is not buggy.
* libamu/hasmntopt.c (nextmntopt): isspace() takes an int, not a
char.
* amd/am_ops.c, amd/amfs_auto.c, amd/autil.c, amd/nfs_subr.c,
amd/ops_cdfs.c, amd/ops_nfs.c, amd/srvr_nfs.c, libamu/hasmntopt.c,
libamu/mount_fs.c, libamu/mtab.c: rename all uses of hasmntopt()
to amu_hasmntopt(). Don't use hasmntopt() directly any more!
* aux/macros/func_bad_hasmntopt.m4: new M4 macro to test for a bad
hasmntopt() function, which incorrectly finds the option "soft" in
a string "hard,softlookup,ro".
* libamu/hasmntopt.c (hasmntopt): use 'const' on two args to
hasmntopt(), to match what most systems use.
* aux/macros/header_templates.m4: template for HAVE_BAD_HASMNTOPT.
* configure.in: invoke test for bad hasmntopt()
* NEWS: minor new port, i386-pc-linux-rh8.0.
Mention autofs-v4 on solaris9 works.
* bootstrap: remove any autom4te-*.cache directories, now that
autoconf uses a version number for them.
2002-12-09 Ion Badulescu <ionut@moisil.badula.org>
Patches from Christos Zoulas:
-1- am_utils.h: add full prototypes
-2- amfs_auto.c make functions static and add prototypes
-3- map.c: kill double free
-5- transp_sockets.c: add full prototypes
2002-12-09 Ion Badulescu <ionut@moisil.badula.org>
* NEWS: updated
* doc/am-utils.texi (opts Option): document sftlookup
* conf/autofs/autofs_solaris_v2_v3.c: compile fixes
2002-11-22 Erez Zadok <ezk@filer.fsl.cs.sunysb.edu>
* amd/info_ldap.c (amu_ldap_rebind): gopt.ldap_cache_seconds is
%ld not %d.
2002-11-21 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu>
* {amd,fsinfo}/Makefile.am: remove special rules for processing
yacc/lex files, now that autoconf/automake properly handle them
better (esp. now that bison 1.75 behaves differently than older
bison versions).
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-20 Ion Badulescu <ionut@moisil.badula.org>
* amfs_auto_bgmount(): almost complete rewrite
* fixed amfs_inherit to do the right thing and not dereference
freed mntfs'es
* #if 0'ed bogus code in fh_to_mp3() -- it is now done properly in
amfs_autofs_lookup_child()
* release the autofs_fh only in one place
* remove the mountpoint only if mf_refc == 1
* print the mntfs type in free_mntfs()
* new pseudo-mount option 'sftlookup' which causes lookups to
mounted shares from downed servers to return EIO; the default
depends on whether the mount is 'hard' or 'soft'
* improved querying of supported NFS versions on the server --
don't even try if it's known to be down
* solaris autofs mount code moved to transp_{sockets,tli}.c
* incipient (non-functional) AIX autofs support
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-11-04 Ion Badulescu <ion@guppy.limebrokerage.com>
* include/am_utils.h: prototype for ops_search()
* amd/am_ops.c (ops_search): new function for searching the right
set of ops for a given filesystem type
* amd/restart.c (restart): cleanup and split into two functions in
preparation for handling the restart of amd's own mount points
(restart_fake_mntfs): new function, factored out from restart()
2002-11-04 Ion Badulescu <ionut@buggy.badula.org>
* amd/ops_cdfs.c (mount_cdfs): remove special code for loop device
(cdfs_umount): ditto
* conf/mount/mount_linux.c (mount_linux): factor it out to
mount_linux_nfs() and mount_linux_nonfs()
(mount_linux_nonfs): generalize loop device support to all
filesystems (not just cdfs); make it automatic for anything that's
a regular file
(parse_opts): deprecate the explicit "loop" mount option
(do_mount_linux): minor cleanup
* conf/umount/umount_default.c (umount_fs2): release loop device
on umount()
2002-11-03 Erez Zadok <ezk@cnm20>
* include/am_defs.h: moved #include of net/if.h above net/route.h,
because on AIX 5.2 if.h is needed for route.h (let's hope it
doesn't break things on other systems).
* include/am_defs.h: AIX 5.2 needs struct sigevent from signal.h
to be defined, but I don't want to move the inclusion of signal.h
this early into this file. Luckily, amd doesn't need the size of
this structure in any other structure that it uses. So we
sidestep it for now.
* conf/nfs_prot/nfs_prot_aix5_2.h: AIX 5.2 wants 'struct pathcnf',
but I couldn't find its definition anywhere. Luckily, amd doesn't
need the size of this structure in any other structure that it
uses. So we sidestep it for now.
2002-11-02 Erez Zadok <ezk@cs.sunysb.edu>
* config.guess, config.sub, doc/texinfo.tex: updates from
the latest GNU distributions (2002-09-05).
2002-10-30 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu>
* conf/nfs_prot/nfs_prot_aix5_2.h: add more definitions from
mount.h for NFSOPT_* and NFSMNT_*.
Don't use typedefs that aren't found in system header files.
2002-10-30 Erez Zadok <ezk@cs.sunysb.edu>
* Makefile.am (EXTRA_DIST_CONF): distribute nfs_prot_aix5_2.h.
* conf/nfs_prot/nfs_prot_aix5_2.h: new file.
* aux/macros/struct_nfs_args.m4 (ac_cv_have_struct_nfs_args): look
for "struct aux52_nfs_args".
* aux/macros/check_nfs_prot_headers.m4: define new header file for
AIX 5.2.
2002-10-21 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu>
* scripts/amd.conf.5 (ldap_proto_version): document in amd.conf
man page.
* scripts/amd.conf-sample (ldap_proto_version): show example of use
* doc/am-utils.texi (ldap_proto_version Parameter): document new
amd.conf option.
* amd/conf.c (gopt_ldap_proto_version): new conf function to
support ldap_proto_version amd.conf parameter.
* amd/amd.h: field to hold LDAP protocol version.
* amd/amd.c (init_global_options): set default for
ldap_proto_version. ldap_proto_version patch from George Ross
<gdmr@dcs.ed.ac.uk> and Tim Colles <timc@inf.ed.ac.uk>.
* amd/info_ldap.c (amu_ldap_unbind): ignore SIGPIPE errors while
unbinding from an LDAP server that may have been restarted. Fix
from George Ross <gdmr@dcs.ed.ac.uk>.
2002-09-17 Ion Badulescu <ion@guppy.limebrokerage.com>
* remove all autoconf stuff added for sys_nerr
* amq/amq.c, libamu/xutil.c, hlfsd/hlfsd.c: always use strerror
* libamu/strerror.c: more explicit text for unknown errno's
2002-10-01 Erez Zadok <ezk@cs.sunysb.edu>
* include/am_defs.h: define "extern int sys_err" if needed.
* aux/macros/header_templates.m4: template for
HAVE_EXTERN_SYS_NERR.
* hlfsd/hlfsd.h, libamu/xutil.c (expand_error), amq/amq.c
(show_mi): remove "extern int sys_err"
* configure.in: execute test for "extern int sys_err"
* Makefile.am (EXTRA_DIST_AUX): distribute new extern_sys_err.m4 file.
* aux/macros/extern_sys_nerr.m4: new test to check for existence
of "extern int sys_nerr" definition in system headers.
2002-09-17 Ion Badulescu <ion@guppy.limebrokerage.com>
* libamu/xutil.c (dbg_opt): bring comments in line with the code
* hlfsd/hlfsd.c (main): use amuDebug() instead of touching
debug_flags directly
* amd/amd.c (main): don't init debug_flags, leave it as zero (no
debugging by default)
2002-09-11 Ion Badulescu <ion@guppy.limebrokerage.com>
Debug code sanitization:
- amuDebug() becomes an expression, and explicit if() statements
are added around it throughout the code
- amuDebugNo() goes away (ugh!)
- D_AMQ, D_DAEMON and D_FORK reverse their meaning
- D_ALL contains only options that don't affect amd's functionality
2002-09-04 Ion Badulescu <ion@guppy.limebrokerage.com>
* amd/amfs_auto.c (free_continuation): avoid double-free'ing the
mntfs if there was an error/timeout
2002-09-04 Ion Badulescu <ion@guppy.limebrokerage.com>
* amd/amfs_auto.c (amfs_auto_lookup_mntfs): use ereturn() instead
of "return NULL" to signal an error to the upper layers
(amfs_auto_mount): use strdup so the string can be free'd later on
[Debian bug report from Matt Chapman <matthewc@cse.unsw.edu.au>]
2002-09-03 Ion Badulescu <ion@guppy.limebrokerage.com>
Patches from George Ross <gdmr@dcs.ed.ac.uk>:
* amd/amfs_auto.c (assign_error_mntfs): do not discard old mntfs,
it will be done in free_continuation(); assorted debugging messages
* amd/srvr_nfs.c (nfs_timed_out): allocate a new XID on server
timeout to avoid problems with late ping replies
* amd/mntfs.c (free_mntfs): sanity check for mf_refc; assorted
debugging messages
* amd/map.c (unmount_node): more verbose debug message
2002-07-29 Ion Badulescu <ion@guppy.limebrokerage.com>
* amd/amfs_auto.c (amfs_auto_lookup_mntfs): prevent deferencing
de-allocated memory in str3cat
(amfs_auto_lookup_mntfs): check for buffer overflow
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 Erez Zadok <ezk@agora.fsl.cs.sunysb.edu>
* doc/Makefile.am (install-html): don't use locally hacked
texi2html features.
* conf/transp/transp_sockets.c (amu_get_myaddress): Most modern
systems should use 127.0.0.1 as the localhost address over which
you can do NFS mounts. In the past we found that some NFS clients
may not allow mounts from localhost. So we used get_myaddress()
and that seemed to work. Alas, on some other systems,
get_myaddress() may return one of the interface addresses at
random, and thus use a less efficient IP address than 127.0.0.1.
The solution is to hard-code 127.0.0.1, but still check if
get_myaddress() returns a different value and warn about it.
* doc/am-utils.texi: don't use ':' in @cindex entries.
2002-06-25 Ion Badulescu <ion@guppy.limebrokerage.com>
* Released beta version 6.1b1
2002-06-24 Ion Badulescu <ionut@moisil.badula.org>
* 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>, add the
unknown new field into the middle of the old 4.2 structure
2002-06-24 Ion Badulescu <ion@guppy.limebrokerage.com>
* include/am_compat.h: better test for struct netconfig

View File

@ -24,113 +24,113 @@ SUBDIRS = \
#SUBDIRS = lib wire-test amq amd
# additional files to add to the distribution tar file
# aux/aclocal
EXTRA_DIST_AUX = \
aux/GNUmakefile \
aux/amdgrep \
aux/amindent \
aux/autopat \
aux/chop-aclocal.pl \
aux/copy-if-newbig \
aux/mk-aclocal \
aux/mkconf \
aux/rmtspc \
aux/update_build_version \
# m4/aclocal
EXTRA_DIST_M4 = \
m4/GNUmakefile \
m4/amdgrep \
m4/amindent \
m4/autopat \
m4/chop-aclocal.pl \
m4/copy-if-newbig \
m4/mk-aclocal \
m4/mkconf \
m4/rmtspc \
m4/update_build_version \
\
aux/macros/HEADER \
aux/macros/TRAILER \
aux/macros/c_void_p.m4 \
aux/macros/cache_check_dynamic.m4 \
aux/macros/check_amu_fs.m4 \
aux/macros/check_autofs_style.m4 \
aux/macros/check_checkmount_style.m4 \
aux/macros/check_extern.m4 \
aux/macros/check_fhandle.m4 \
aux/macros/check_field.m4 \
aux/macros/check_fs_headers.m4 \
aux/macros/check_fs_mntent.m4 \
aux/macros/check_gnu_getopt.m4 \
aux/macros/check_hide_mount_type.m4 \
aux/macros/check_lib2.m4 \
aux/macros/check_map_funcs.m4 \
aux/macros/check_mnt2_cdfs_opt.m4 \
aux/macros/check_mnt2_gen_opt.m4 \
aux/macros/check_mnt2_nfs_opt.m4 \
aux/macros/check_mnttab_file_name.m4 \
aux/macros/check_mnttab_location.m4 \
aux/macros/check_mnttab_opt.m4 \
aux/macros/check_mnttab_style.m4 \
aux/macros/check_mnttab_type.m4 \
aux/macros/check_mount_style.m4 \
aux/macros/check_mount_trap.m4 \
aux/macros/check_mount_type.m4 \
aux/macros/check_mtype_printf_type.m4 \
aux/macros/check_mtype_type.m4 \
aux/macros/check_network_transport_type.m4 \
aux/macros/check_nfs_fh_dref.m4 \
aux/macros/check_nfs_hn_dref.m4 \
aux/macros/check_nfs_prot_headers.m4 \
aux/macros/check_nfs_sa_dref.m4 \
aux/macros/check_nfs_socket_connection.m4 \
aux/macros/check_os_libs.m4 \
aux/macros/check_restartable_signal_handler.m4 \
aux/macros/check_umount_style.m4 \
aux/macros/check_unmount_args.m4 \
aux/macros/check_unmount_call.m4 \
aux/macros/expand_cpp_hex.m4 \
aux/macros/expand_cpp_int.m4 \
aux/macros/expand_cpp_string.m4 \
aux/macros/expand_run_string.m4 \
aux/macros/extern_optarg.m4 \
aux/macros/extern_sys_errlist.m4 \
aux/macros/field_mntent_t_mnt_time_string.m4 \
aux/macros/func_bad_memcmp.m4 \
aux/macros/func_bad_yp_all.m4 \
aux/macros/header_templates.m4 \
aux/macros/host_macros.m4 \
aux/macros/linux_headers.m4 \
aux/macros/localconfig.m4 \
aux/macros/mount_headers.m4 \
aux/macros/opt_amu_cflags.m4 \
aux/macros/opt_cppflags.m4 \
aux/macros/opt_debug.m4 \
aux/macros/opt_ldflags.m4 \
aux/macros/opt_libs.m4 \
aux/macros/os_cflags.m4 \
aux/macros/os_cppflags.m4 \
aux/macros/os_ldflags.m4 \
aux/macros/package_bugreport.m4 \
aux/macros/package_name.m4 \
aux/macros/package_version.m4 \
aux/macros/save_state.m4 \
aux/macros/struct_field_nfs_fh.m4 \
aux/macros/struct_mntent.m4 \
aux/macros/struct_mnttab.m4 \
aux/macros/struct_nfs_args.m4 \
aux/macros/struct_nfs_fh.m4 \
aux/macros/struct_nfs_fh3.m4 \
aux/macros/struct_nfs_gfs_mount.m4 \
aux/macros/try_compile_anyfs.m4 \
aux/macros/try_compile_nfs.m4 \
aux/macros/try_compile_rpc.m4 \
aux/macros/type_auth_create_gidlist.m4 \
aux/macros/type_autofs_args.m4 \
aux/macros/type_cachefs_args.m4 \
aux/macros/type_cdfs_args.m4 \
aux/macros/type_efs_args.m4 \
aux/macros/type_lofs_args.m4 \
aux/macros/type_mfs_args.m4 \
aux/macros/type_pcfs_args.m4 \
aux/macros/type_recvfrom_fromlen.m4 \
aux/macros/type_rfs_args.m4 \
aux/macros/type_svc_in_arg.m4 \
aux/macros/type_time_t.m4 \
aux/macros/type_tmpfs_args.m4 \
aux/macros/type_ufs_args.m4 \
aux/macros/type_xdrproc_t.m4 \
aux/macros/type_xfs_args.m4 \
aux/macros/type_yp_order_outorder.m4 \
aux/macros/with_addon.m4
m4/macros/HEADER \
m4/macros/TRAILER \
m4/macros/c_void_p.m4 \
m4/macros/cache_check_dynamic.m4 \
m4/macros/check_amu_fs.m4 \
m4/macros/check_autofs_style.m4 \
m4/macros/check_checkmount_style.m4 \
m4/macros/check_extern.m4 \
m4/macros/check_fhandle.m4 \
m4/macros/check_field.m4 \
m4/macros/check_fs_headers.m4 \
m4/macros/check_fs_mntent.m4 \
m4/macros/check_gnu_getopt.m4 \
m4/macros/check_hide_mount_type.m4 \
m4/macros/check_lib2.m4 \
m4/macros/check_map_funcs.m4 \
m4/macros/check_mnt2_cdfs_opt.m4 \
m4/macros/check_mnt2_gen_opt.m4 \
m4/macros/check_mnt2_nfs_opt.m4 \
m4/macros/check_mnttab_file_name.m4 \
m4/macros/check_mnttab_location.m4 \
m4/macros/check_mnttab_opt.m4 \
m4/macros/check_mnttab_style.m4 \
m4/macros/check_mnttab_type.m4 \
m4/macros/check_mount_style.m4 \
m4/macros/check_mount_trap.m4 \
m4/macros/check_mount_type.m4 \
m4/macros/check_mtype_printf_type.m4 \
m4/macros/check_mtype_type.m4 \
m4/macros/check_network_transport_type.m4 \
m4/macros/check_nfs_fh_dref.m4 \
m4/macros/check_nfs_hn_dref.m4 \
m4/macros/check_nfs_prot_headers.m4 \
m4/macros/check_nfs_sa_dref.m4 \
m4/macros/check_nfs_socket_connection.m4 \
m4/macros/check_os_libs.m4 \
m4/macros/check_restartable_signal_handler.m4 \
m4/macros/check_umount_style.m4 \
m4/macros/check_unmount_args.m4 \
m4/macros/check_unmount_call.m4 \
m4/macros/expand_cpp_hex.m4 \
m4/macros/expand_cpp_int.m4 \
m4/macros/expand_cpp_string.m4 \
m4/macros/expand_run_string.m4 \
m4/macros/extern_optarg.m4 \
m4/macros/extern_sys_errlist.m4 \
m4/macros/field_mntent_t_mnt_time_string.m4 \
m4/macros/func_bad_memcmp.m4 \
m4/macros/func_bad_yp_all.m4 \
m4/macros/header_templates.m4 \
m4/macros/host_macros.m4 \
m4/macros/linux_headers.m4 \
m4/macros/localconfig.m4 \
m4/macros/mount_headers.m4 \
m4/macros/opt_amu_cflags.m4 \
m4/macros/opt_cppflags.m4 \
m4/macros/opt_debug.m4 \
m4/macros/opt_ldflags.m4 \
m4/macros/opt_libs.m4 \
m4/macros/os_cflags.m4 \
m4/macros/os_cppflags.m4 \
m4/macros/os_ldflags.m4 \
m4/macros/package_bugreport.m4 \
m4/macros/package_name.m4 \
m4/macros/package_version.m4 \
m4/macros/save_state.m4 \
m4/macros/struct_field_nfs_fh.m4 \
m4/macros/struct_mntent.m4 \
m4/macros/struct_mnttab.m4 \
m4/macros/struct_nfs_args.m4 \
m4/macros/struct_nfs_fh.m4 \
m4/macros/struct_nfs_fh3.m4 \
m4/macros/struct_nfs_gfs_mount.m4 \
m4/macros/try_compile_anyfs.m4 \
m4/macros/try_compile_nfs.m4 \
m4/macros/try_compile_rpc.m4 \
m4/macros/type_auth_create_gidlist.m4 \
m4/macros/type_autofs_args.m4 \
m4/macros/type_cachefs_args.m4 \
m4/macros/type_cdfs_args.m4 \
m4/macros/type_efs_args.m4 \
m4/macros/type_lofs_args.m4 \
m4/macros/type_mfs_args.m4 \
m4/macros/type_pcfs_args.m4 \
m4/macros/type_recvfrom_fromlen.m4 \
m4/macros/type_rfs_args.m4 \
m4/macros/type_svc_in_arg.m4 \
m4/macros/type_time_t.m4 \
m4/macros/type_tmpfs_args.m4 \
m4/macros/type_ufs_args.m4 \
m4/macros/type_xdrproc_t.m4 \
m4/macros/type_xfs_args.m4 \
m4/macros/type_yp_order_outorder.m4 \
m4/macros/with_addon.m4
EXTRA_DIST_CONF = \
conf/autofs/autofs_default.h \
@ -195,6 +195,7 @@ EXTRA_DIST_CONF = \
conf/nfs_prot/nfs_prot_aix4_2.h \
conf/nfs_prot/nfs_prot_aix4_3.h \
conf/nfs_prot/nfs_prot_aix5_1.h \
conf/nfs_prot/nfs_prot_aix5_2.h \
conf/nfs_prot/nfs_prot_bsdi2.h \
conf/nfs_prot/nfs_prot_bsdi3.h \
conf/nfs_prot/nfs_prot_darwin.h \
@ -268,7 +269,7 @@ EXTRA_DIST_INCLUDE = \
include/mount_headers2.h
EXTRA_DIST = \
$(EXTRA_DIST_AUX) \
$(EXTRA_DIST_M4) \
$(EXTRA_DIST_CONF) \
$(EXTRA_DIST_INCLUDE) \
\
@ -294,7 +295,7 @@ DISTCLEANFILES = amu_nfs_prot.h config.cache.old dbgcf.h
# update possibly new versions of autoconf/automake/libtool files
update:
(cd $(top_srcdir) && ${MAKE} ${MFLAGS} -f ./aux/GNUmakefile update)
(cd $(top_srcdir) && ${MAKE} ${MFLAGS} -f ./m4/GNUmakefile update)
${MAKE} ${MFLAGS} libtool
# remake libtool

View File

@ -1,6 +1,7 @@
# Makefile.in generated automatically by automake 1.5 from Makefile.am.
# Makefile.in generated by automake 1.6.3 from Makefile.am.
# @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
# Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@ -16,7 +17,6 @@
# Package: am-utils
# Level: Top level Makefile
# Author: Erez Zadok
SHELL = @SHELL@
srcdir = @srcdir@
@ -47,9 +47,13 @@ AUTOCONF = @AUTOCONF@
AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_HEADER = $(INSTALL_DATA)
transform = @program_transform_name@
@ -61,6 +65,10 @@ PRE_UNINSTALL = :
POST_UNINSTALL = :
host_alias = @host_alias@
host_triplet = @host@
EXEEXT = @EXEEXT@
OBJEXT = @OBJEXT@
PATH_SEPARATOR = @PATH_SEPARATOR@
AMD_FS_OBJS = @AMD_FS_OBJS@
AMD_INFO_OBJS = @AMD_INFO_OBJS@
AMTAR = @AMTAR@
@ -75,16 +83,16 @@ CPP = @CPP@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
ECHO = @ECHO@
EXEEXT = @EXEEXT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LEX = @LEX@
LEXLIB = @LEXLIB@
LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
LIBTOOL = @LIBTOOL@
LIBTOOL_DEPS = @LIBTOOL_DEPS@
LIBTOOL_LDFLAGS = @LIBTOOL_LDFLAGS@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PERL = @PERL@
RANLIB = @RANLIB@
@ -116,113 +124,113 @@ SUBDIRS = \
#SUBDIRS = lib wire-test amq amd
# additional files to add to the distribution tar file
# aux/aclocal
EXTRA_DIST_AUX = \
aux/GNUmakefile \
aux/amdgrep \
aux/amindent \
aux/autopat \
aux/chop-aclocal.pl \
aux/copy-if-newbig \
aux/mk-aclocal \
aux/mkconf \
aux/rmtspc \
aux/update_build_version \
# m4/aclocal
EXTRA_DIST_M4 = \
m4/GNUmakefile \
m4/amdgrep \
m4/amindent \
m4/autopat \
m4/chop-aclocal.pl \
m4/copy-if-newbig \
m4/mk-aclocal \
m4/mkconf \
m4/rmtspc \
m4/update_build_version \
\
aux/macros/HEADER \
aux/macros/TRAILER \
aux/macros/c_void_p.m4 \
aux/macros/cache_check_dynamic.m4 \
aux/macros/check_amu_fs.m4 \
aux/macros/check_autofs_style.m4 \
aux/macros/check_checkmount_style.m4 \
aux/macros/check_extern.m4 \
aux/macros/check_fhandle.m4 \
aux/macros/check_field.m4 \
aux/macros/check_fs_headers.m4 \
aux/macros/check_fs_mntent.m4 \
aux/macros/check_gnu_getopt.m4 \
aux/macros/check_hide_mount_type.m4 \
aux/macros/check_lib2.m4 \
aux/macros/check_map_funcs.m4 \
aux/macros/check_mnt2_cdfs_opt.m4 \
aux/macros/check_mnt2_gen_opt.m4 \
aux/macros/check_mnt2_nfs_opt.m4 \
aux/macros/check_mnttab_file_name.m4 \
aux/macros/check_mnttab_location.m4 \
aux/macros/check_mnttab_opt.m4 \
aux/macros/check_mnttab_style.m4 \
aux/macros/check_mnttab_type.m4 \
aux/macros/check_mount_style.m4 \
aux/macros/check_mount_trap.m4 \
aux/macros/check_mount_type.m4 \
aux/macros/check_mtype_printf_type.m4 \
aux/macros/check_mtype_type.m4 \
aux/macros/check_network_transport_type.m4 \
aux/macros/check_nfs_fh_dref.m4 \
aux/macros/check_nfs_hn_dref.m4 \
aux/macros/check_nfs_prot_headers.m4 \
aux/macros/check_nfs_sa_dref.m4 \
aux/macros/check_nfs_socket_connection.m4 \
aux/macros/check_os_libs.m4 \
aux/macros/check_restartable_signal_handler.m4 \
aux/macros/check_umount_style.m4 \
aux/macros/check_unmount_args.m4 \
aux/macros/check_unmount_call.m4 \
aux/macros/expand_cpp_hex.m4 \
aux/macros/expand_cpp_int.m4 \
aux/macros/expand_cpp_string.m4 \
aux/macros/expand_run_string.m4 \
aux/macros/extern_optarg.m4 \
aux/macros/extern_sys_errlist.m4 \
aux/macros/field_mntent_t_mnt_time_string.m4 \
aux/macros/func_bad_memcmp.m4 \
aux/macros/func_bad_yp_all.m4 \
aux/macros/header_templates.m4 \
aux/macros/host_macros.m4 \
aux/macros/linux_headers.m4 \
aux/macros/localconfig.m4 \
aux/macros/mount_headers.m4 \
aux/macros/opt_amu_cflags.m4 \
aux/macros/opt_cppflags.m4 \
aux/macros/opt_debug.m4 \
aux/macros/opt_ldflags.m4 \
aux/macros/opt_libs.m4 \
aux/macros/os_cflags.m4 \
aux/macros/os_cppflags.m4 \
aux/macros/os_ldflags.m4 \
aux/macros/package_bugreport.m4 \
aux/macros/package_name.m4 \
aux/macros/package_version.m4 \
aux/macros/save_state.m4 \
aux/macros/struct_field_nfs_fh.m4 \
aux/macros/struct_mntent.m4 \
aux/macros/struct_mnttab.m4 \
aux/macros/struct_nfs_args.m4 \
aux/macros/struct_nfs_fh.m4 \
aux/macros/struct_nfs_fh3.m4 \
aux/macros/struct_nfs_gfs_mount.m4 \
aux/macros/try_compile_anyfs.m4 \
aux/macros/try_compile_nfs.m4 \
aux/macros/try_compile_rpc.m4 \
aux/macros/type_auth_create_gidlist.m4 \
aux/macros/type_autofs_args.m4 \
aux/macros/type_cachefs_args.m4 \
aux/macros/type_cdfs_args.m4 \
aux/macros/type_efs_args.m4 \
aux/macros/type_lofs_args.m4 \
aux/macros/type_mfs_args.m4 \
aux/macros/type_pcfs_args.m4 \
aux/macros/type_recvfrom_fromlen.m4 \
aux/macros/type_rfs_args.m4 \
aux/macros/type_svc_in_arg.m4 \
aux/macros/type_time_t.m4 \
aux/macros/type_tmpfs_args.m4 \
aux/macros/type_ufs_args.m4 \
aux/macros/type_xdrproc_t.m4 \
aux/macros/type_xfs_args.m4 \
aux/macros/type_yp_order_outorder.m4 \
aux/macros/with_addon.m4
m4/macros/HEADER \
m4/macros/TRAILER \
m4/macros/c_void_p.m4 \
m4/macros/cache_check_dynamic.m4 \
m4/macros/check_amu_fs.m4 \
m4/macros/check_autofs_style.m4 \
m4/macros/check_checkmount_style.m4 \
m4/macros/check_extern.m4 \
m4/macros/check_fhandle.m4 \
m4/macros/check_field.m4 \
m4/macros/check_fs_headers.m4 \
m4/macros/check_fs_mntent.m4 \
m4/macros/check_gnu_getopt.m4 \
m4/macros/check_hide_mount_type.m4 \
m4/macros/check_lib2.m4 \
m4/macros/check_map_funcs.m4 \
m4/macros/check_mnt2_cdfs_opt.m4 \
m4/macros/check_mnt2_gen_opt.m4 \
m4/macros/check_mnt2_nfs_opt.m4 \
m4/macros/check_mnttab_file_name.m4 \
m4/macros/check_mnttab_location.m4 \
m4/macros/check_mnttab_opt.m4 \
m4/macros/check_mnttab_style.m4 \
m4/macros/check_mnttab_type.m4 \
m4/macros/check_mount_style.m4 \
m4/macros/check_mount_trap.m4 \
m4/macros/check_mount_type.m4 \
m4/macros/check_mtype_printf_type.m4 \
m4/macros/check_mtype_type.m4 \
m4/macros/check_network_transport_type.m4 \
m4/macros/check_nfs_fh_dref.m4 \
m4/macros/check_nfs_hn_dref.m4 \
m4/macros/check_nfs_prot_headers.m4 \
m4/macros/check_nfs_sa_dref.m4 \
m4/macros/check_nfs_socket_connection.m4 \
m4/macros/check_os_libs.m4 \
m4/macros/check_restartable_signal_handler.m4 \
m4/macros/check_umount_style.m4 \
m4/macros/check_unmount_args.m4 \
m4/macros/check_unmount_call.m4 \
m4/macros/expand_cpp_hex.m4 \
m4/macros/expand_cpp_int.m4 \
m4/macros/expand_cpp_string.m4 \
m4/macros/expand_run_string.m4 \
m4/macros/extern_optarg.m4 \
m4/macros/extern_sys_errlist.m4 \
m4/macros/field_mntent_t_mnt_time_string.m4 \
m4/macros/func_bad_memcmp.m4 \
m4/macros/func_bad_yp_all.m4 \
m4/macros/header_templates.m4 \
m4/macros/host_macros.m4 \
m4/macros/linux_headers.m4 \
m4/macros/localconfig.m4 \
m4/macros/mount_headers.m4 \
m4/macros/opt_amu_cflags.m4 \
m4/macros/opt_cppflags.m4 \
m4/macros/opt_debug.m4 \
m4/macros/opt_ldflags.m4 \
m4/macros/opt_libs.m4 \
m4/macros/os_cflags.m4 \
m4/macros/os_cppflags.m4 \
m4/macros/os_ldflags.m4 \
m4/macros/package_bugreport.m4 \
m4/macros/package_name.m4 \
m4/macros/package_version.m4 \
m4/macros/save_state.m4 \
m4/macros/struct_field_nfs_fh.m4 \
m4/macros/struct_mntent.m4 \
m4/macros/struct_mnttab.m4 \
m4/macros/struct_nfs_args.m4 \
m4/macros/struct_nfs_fh.m4 \
m4/macros/struct_nfs_fh3.m4 \
m4/macros/struct_nfs_gfs_mount.m4 \
m4/macros/try_compile_anyfs.m4 \
m4/macros/try_compile_nfs.m4 \
m4/macros/try_compile_rpc.m4 \
m4/macros/type_auth_create_gidlist.m4 \
m4/macros/type_autofs_args.m4 \
m4/macros/type_cachefs_args.m4 \
m4/macros/type_cdfs_args.m4 \
m4/macros/type_efs_args.m4 \
m4/macros/type_lofs_args.m4 \
m4/macros/type_mfs_args.m4 \
m4/macros/type_pcfs_args.m4 \
m4/macros/type_recvfrom_fromlen.m4 \
m4/macros/type_rfs_args.m4 \
m4/macros/type_svc_in_arg.m4 \
m4/macros/type_time_t.m4 \
m4/macros/type_tmpfs_args.m4 \
m4/macros/type_ufs_args.m4 \
m4/macros/type_xdrproc_t.m4 \
m4/macros/type_xfs_args.m4 \
m4/macros/type_yp_order_outorder.m4 \
m4/macros/with_addon.m4
EXTRA_DIST_CONF = \
@ -288,6 +296,7 @@ EXTRA_DIST_CONF = \
conf/nfs_prot/nfs_prot_aix4_2.h \
conf/nfs_prot/nfs_prot_aix4_3.h \
conf/nfs_prot/nfs_prot_aix5_1.h \
conf/nfs_prot/nfs_prot_aix5_2.h \
conf/nfs_prot/nfs_prot_bsdi2.h \
conf/nfs_prot/nfs_prot_bsdi3.h \
conf/nfs_prot/nfs_prot_darwin.h \
@ -363,7 +372,7 @@ EXTRA_DIST_INCLUDE = \
EXTRA_DIST = \
$(EXTRA_DIST_AUX) \
$(EXTRA_DIST_M4) \
$(EXTRA_DIST_CONF) \
$(EXTRA_DIST_INCLUDE) \
\
@ -393,22 +402,58 @@ mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = config.h
CONFIG_CLEAN_FILES = aux_conf.h
depcomp =
am__depfiles_maybe =
DIST_SOURCES =
RECURSIVE_TARGETS = info-recursive dvi-recursive install-info-recursive \
uninstall-info-recursive all-recursive install-data-recursive \
install-exec-recursive installdirs-recursive install-recursive \
uninstall-recursive check-recursive installcheck-recursive
DIST_COMMON = README ./stamp-h.in AUTHORS COPYING ChangeLog INSTALL \
Makefile.am Makefile.in NEWS acinclude.m4 aclocal.m4 \
aux_conf.h.in config.guess config.h.in config.sub configure \
configure.in depcomp install-sh ltmain.sh missing mkinstalldirs
DIST_COMMON = README AUTHORS COPYING ChangeLog INSTALL Makefile.am \
Makefile.in NEWS acinclude.m4 aclocal.m4 aux_conf.h.in \
config.guess config.h.in config.sub configure configure.in \
depcomp install-sh ltmain.sh missing mkinstalldirs
DIST_SUBDIRS = $(SUBDIRS)
all: config.h
$(MAKE) $(AM_MAKEFLAGS) all-recursive
.SUFFIXES:
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
configure.lineno
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu --ignore-deps Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)
$(top_builddir)/config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
$(SHELL) ./config.status --recheck
$(srcdir)/configure: $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
cd $(srcdir) && $(AUTOCONF)
$(ACLOCAL_M4): configure.in acinclude.m4
cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
config.h: stamp-h1
@if test ! -f $@; then \
rm -f stamp-h1; \
$(MAKE) stamp-h1; \
else :; fi
stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
@rm -f stamp-h1
cd $(top_builddir) && $(SHELL) ./config.status config.h
$(srcdir)/config.h.in: $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && $(AUTOHEADER)
touch $(srcdir)/config.h.in
distclean-hdr:
-rm -f config.h stamp-h1
aux_conf.h: $(top_builddir)/config.status aux_conf.h.in
cd $(top_builddir) && $(SHELL) ./config.status $@
mostlyclean-libtool:
-rm -f *.lo
@ -417,48 +462,6 @@ clean-libtool:
distclean-libtool:
-rm -f libtool
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu --ignore-deps Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) && \
CONFIG_HEADERS= CONFIG_LINKS= \
CONFIG_FILES=$@ $(SHELL) ./config.status
$(top_builddir)/config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
$(SHELL) ./config.status --recheck
$(srcdir)/configure: $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
cd $(srcdir) && $(AUTOCONF)
$(ACLOCAL_M4): configure.in acinclude.m4
cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
config.h: stamp-h
@if test ! -f $@; then \
rm -f stamp-h; \
$(MAKE) stamp-h; \
else :; fi
stamp-h: $(srcdir)/config.h.in $(top_builddir)/config.status
@rm -f stamp-h stamp-hT
@echo timestamp > stamp-hT 2> /dev/null
cd $(top_builddir) \
&& CONFIG_FILES= CONFIG_HEADERS=config.h \
$(SHELL) ./config.status
@mv stamp-hT stamp-h
$(srcdir)/config.h.in: $(srcdir)/./stamp-h.in
@if test ! -f $@; then \
rm -f $(srcdir)/./stamp-h.in; \
$(MAKE) $(srcdir)/./stamp-h.in; \
else :; fi
$(srcdir)/./stamp-h.in: $(top_srcdir)/configure.in $(ACLOCAL_M4)
@rm -f $(srcdir)/./stamp-h.in $(srcdir)/./stamp-h.inT
@echo timestamp > $(srcdir)/./stamp-h.inT 2> /dev/null
cd $(top_srcdir) && $(AUTOHEADER)
@mv $(srcdir)/./stamp-h.inT $(srcdir)/./stamp-h.in
distclean-hdr:
-rm -f config.h
aux_conf.h: $(top_builddir)/config.status aux_conf.h.in
cd $(top_builddir) && CONFIG_FILES=$@ CONFIG_HEADERS= CONFIG_LINKS= $(SHELL) ./config.status
uninstall-info-am:
# This directory's subdirectories are mostly independent; you can cd
@ -468,7 +471,7 @@ uninstall-info-am:
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
@set fnord $(MAKEFLAGS); amf=$$2; \
@set fnord $$MAKEFLAGS; amf=$$2; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
list='$(SUBDIRS)'; for subdir in $$list; do \
@ -488,7 +491,7 @@ $(RECURSIVE_TARGETS):
mostlyclean-recursive clean-recursive distclean-recursive \
maintainer-clean-recursive:
@set fnord $(MAKEFLAGS); amf=$$2; \
@set fnord $$MAKEFLAGS; amf=$$2; \
dot_seen=no; \
case "$@" in \
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
@ -516,16 +519,19 @@ tags-recursive:
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
done
ETAGS = etags
ETAGSFLAGS =
tags: TAGS
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
mkid -fID $$unique $(LISP)
mkid -fID $$unique
TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
@ -536,51 +542,61 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
fi; \
done; \
list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(ETAGS_ARGS)config.h.in$$unique$(LISP)$$tags" \
|| etags $(ETAGS_ARGS) $$tags config.h.in $$unique $(LISP)
test -z "$(ETAGS_ARGS)$$tags$$unique" \
|| $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique
GTAGS:
here=`CDPATH=: && cd $(top_builddir) && pwd` \
here=`$(am__cd) $(top_builddir) && pwd` \
&& cd $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) $$here
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = .
# Avoid unsightly `./'.
distdir = $(PACKAGE)-$(VERSION)
am__remove_distdir = \
{ test ! -d $(distdir) \
|| { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
&& rm -fr $(distdir); }; }
GZIP_ENV = --best
distcleancheck_listfiles = find . -type f -print
distdir: $(DISTFILES)
-chmod -R a+w $(distdir) >/dev/null 2>&1; rm -rf $(distdir)
$(am__remove_distdir)
mkdir $(distdir)
$(mkinstalldirs) $(distdir)/. $(distdir)/aux $(distdir)/aux/macros $(distdir)/conf/autofs $(distdir)/conf/checkmount $(distdir)/conf/fh_dref $(distdir)/conf/hn_dref $(distdir)/conf/mount $(distdir)/conf/mtab $(distdir)/conf/nfs_prot $(distdir)/conf/sa_dref $(distdir)/conf/transp $(distdir)/conf/trap $(distdir)/conf/umount $(distdir)/include $(distdir)/scripts
@for file in $(DISTFILES); do \
if test -f $$file; then d=.; else d=$(srcdir); fi; \
$(mkinstalldirs) $(distdir)/. $(distdir)/conf/autofs $(distdir)/conf/checkmount $(distdir)/conf/fh_dref $(distdir)/conf/hn_dref $(distdir)/conf/mount $(distdir)/conf/mtab $(distdir)/conf/nfs_prot $(distdir)/conf/sa_dref $(distdir)/conf/transp $(distdir)/conf/trap $(distdir)/conf/umount $(distdir)/include $(distdir)/m4 $(distdir)/m4/macros $(distdir)/scripts
@list='$(DISTFILES)'; for file in $$list; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
$(mkinstalldirs) "$(distdir)/$$dir"; \
dir="/$$dir"; \
$(mkinstalldirs) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
if test -d $$d/$$file; then \
cp -pR $$d/$$file $(distdir) \
|| exit 1; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
|| exit 1; \
fi; \
done
for subdir in $(SUBDIRS); do \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -d $(distdir)/$$subdir \
|| mkdir $(distdir)/$$subdir \
@ -601,23 +617,28 @@ distdir: $(DISTFILES)
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
|| chmod -R a+r $(distdir)
dist: distdir
dist-gzip: distdir
$(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
-chmod -R a+w $(distdir) >/dev/null 2>&1; rm -rf $(distdir)
$(am__remove_distdir)
dist dist-all: distdir
$(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
$(am__remove_distdir)
# This target untars the dist file and tries a VPATH configuration. Then
# it guarantees that the distribution is self-contained by making another
# tarfile.
distcheck: dist
-chmod -R a+w $(distdir) > /dev/null 2>&1; rm -rf $(distdir)
$(am__remove_distdir)
GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(AMTAR) xf -
chmod -R a-w $(distdir); chmod a+w $(distdir)
mkdir $(distdir)/=build
mkdir $(distdir)/=inst
chmod a-w $(distdir)
dc_install_base=`CDPATH=: && cd $(distdir)/=inst && pwd` \
dc_install_base=`$(am__cd) $(distdir)/=inst && pwd` \
&& cd $(distdir)/=build \
&& ../configure --srcdir=.. --prefix=$$dc_install_base \
$(DISTCHECK_CONFIGURE_FLAGS) \
&& $(MAKE) $(AM_MAKEFLAGS) \
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
&& $(MAKE) $(AM_MAKEFLAGS) check \
@ -625,17 +646,24 @@ distcheck: dist
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \
&& $(MAKE) $(AM_MAKEFLAGS) uninstall \
&& (test `find $$dc_install_base -type f -print | wc -l` -le 1 \
|| (echo "Error: files left after uninstall" 1>&2; \
exit 1) ) \
&& $(MAKE) $(AM_MAKEFLAGS) dist \
&& $(MAKE) $(AM_MAKEFLAGS) distclean \
|| { echo "ERROR: files left after uninstall:" ; \
find $$dc_install_base -type f -print ; \
exit 1; } >&2 ) \
&& $(MAKE) $(AM_MAKEFLAGS) dist-gzip \
&& rm -f $(distdir).tar.gz \
&& (test `find . -type f -print | wc -l` -eq 0 \
|| (echo "Error: files left after distclean" 1>&2; \
exit 1) )
-chmod -R a+w $(distdir) > /dev/null 2>&1; rm -rf $(distdir)
&& $(MAKE) $(AM_MAKEFLAGS) distcleancheck
$(am__remove_distdir)
@echo "$(distdir).tar.gz is ready for distribution" | \
sed 'h;s/./=/g;p;x;p;x'
distcleancheck: distclean
if test '$(srcdir)' = . ; then \
echo "ERROR: distcleancheck can only run from a VPATH build" ; \
exit 1 ; \
fi
test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
|| { echo "ERROR: files left after distclean:" ; \
$(distcleancheck_listfiles) ; \
exit 1; } >&2
check-am: all-am
check: check-recursive
all-am: Makefile config.h
@ -653,6 +681,7 @@ install-am: all-am
installcheck: installcheck-recursive
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
@ -660,7 +689,7 @@ mostlyclean-generic:
clean-generic:
distclean-generic:
-rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
-rm -f Makefile $(CONFIG_CLEAN_FILES)
-test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
maintainer-clean-generic:
@ -670,11 +699,8 @@ clean: clean-recursive
clean-am: clean-generic clean-libtool mostlyclean-am
dist-all: distdir
$(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
-chmod -R a+w $(distdir) >/dev/null 2>&1; rm -rf $(distdir)
distclean: distclean-recursive
-rm -f config.status config.cache config.log
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
distclean-am: clean-am distclean-generic distclean-hdr distclean-libtool \
distclean-tags
@ -697,7 +723,8 @@ install-man:
installcheck-am:
maintainer-clean: maintainer-clean-recursive
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-rm -rf autom4te.cache
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-recursive
@ -710,18 +737,18 @@ uninstall-info: uninstall-info-recursive
.PHONY: $(RECURSIVE_TARGETS) GTAGS all all-am check check-am clean \
clean-generic clean-libtool clean-recursive dist dist-all \
distcheck distclean distclean-generic distclean-hdr \
distclean-libtool distclean-recursive distclean-tags distdir \
dvi dvi-am dvi-recursive info info-am info-recursive install \
install-am install-data install-data-am install-data-recursive \
install-exec install-exec-am install-exec-recursive \
install-info install-info-am install-info-recursive install-man \
install-recursive install-strip installcheck installcheck-am \
installdirs installdirs-am installdirs-recursive \
maintainer-clean maintainer-clean-generic \
maintainer-clean-recursive mostlyclean mostlyclean-generic \
mostlyclean-libtool mostlyclean-recursive tags tags-recursive \
uninstall uninstall-am uninstall-info-am \
dist-gzip distcheck distclean distclean-generic distclean-hdr \
distclean-libtool distclean-recursive distclean-tags \
distcleancheck distdir dvi dvi-am dvi-recursive info info-am \
info-recursive install install-am install-data install-data-am \
install-data-recursive install-exec install-exec-am \
install-exec-recursive install-info install-info-am \
install-info-recursive install-man install-recursive \
install-strip installcheck installcheck-am installdirs \
installdirs-am installdirs-recursive maintainer-clean \
maintainer-clean-generic maintainer-clean-recursive mostlyclean \
mostlyclean-generic mostlyclean-libtool mostlyclean-recursive \
tags tags-recursive uninstall uninstall-am uninstall-info-am \
uninstall-info-recursive uninstall-recursive
@ -732,7 +759,7 @@ uninstall-info: uninstall-info-recursive
# update possibly new versions of autoconf/automake/libtool files
update:
(cd $(top_srcdir) && ${MAKE} ${MFLAGS} -f ./aux/GNUmakefile update)
(cd $(top_srcdir) && ${MAKE} ${MFLAGS} -f ./m4/GNUmakefile update)
${MAKE} ${MFLAGS} libtool
# remake libtool

38
dist/am-utils/NEWS vendored
View File

@ -1,5 +1,43 @@
# -*- text -*-
*** Notes specific to am-utils version 6.1b2
- new mount flag "softlookup", which determines how amd will respond to
lookups of NFS shares already mounted (return a valid symlink or return
EIO). The default, if "softlookup" is not specified, depends on whether the
mount is "soft" or "hard".
- return EIO instead of ENOENT if amd thinks the server is down; this allows
well-written applications to sleep and retry the operation.
- minor new ports:
i386-apple-darwin6.0
i386-pc-linux-rh8.0
ia64-unknown-linux-rh2.1AW
sparc-sun-solaris2.9
- automatic support for loop mounts on Linux (deprecates the "loop" mount
option)
- new amd.conf parameter ldap_proto_version (default 2) for setting the LDAP
protocol version to use.
- bugs fixed:
* redundancy mode (multiple servers for the same share) wasn't working
* non-autofs mode had some rather nasty hangs on downed fileservers
* double-free'ing problem in assign_error_mntfs and free_continuation
* free'ing non-malloc'ed memory in amfs_auto_mount
* late server ping replies were not ignored
* amfs_auto_lookup_mntfs wasn't propagating errors up to callers
* autofs-v4 on Solaris 9 works
* 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
* fix compile problem with mlockall() on Darwin
*** Notes specific to am-utils version 6.1b1
- Major Autofs work

View File

@ -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

View File

@ -8,15 +8,15 @@
** General notes about the autofs support in am-utils
- The autofs code in am-utils is late-beta quality for Linux, beta quality for
- The autofs code in am-utils is gamma quality for Linux, beta quality for
Solaris 2.5+ and non-working for all the other systems.
- Link, lofs, and nfs mount types work; the others should work, but are not
tested.
- Link, lofs, and nfs mounts were tested and work properly; the others
should work, but were not tested.
* Caveats:
- [this applies mostly to Solaris/Irix] Amd acts as *both* automountd and
- [this applies to Solaris/Irix/HP-UX/AIX] Amd acts as *both* automountd and
automount. There's no way to distinguish between the two. When amd starts,
it first registers itself as an autofs server (automountd's job), then
parses its own maps, and decides which autofs-type mounts to make
@ -54,7 +54,7 @@ unusable.
* Solaris:
- Amd w/ autofs mounts will fight over the listener port with Sun's
automounterd, so running both simultaneously is a really bad idea.
automountd, so running both simultaneously is a really bad idea.
- Browsable_dirs is possible and implemented for Solaris 2.6+.
@ -144,17 +144,17 @@ just pretend everything is ok, when in fact it isn't.
and create_autofs_service(), in conf/transp/transp_sockets.c. Not sure if
it's necessary, Solaris it still biased towards TLI/STREAMS in userspace.
- [Linux only] support kernel-based expirations. Somewhat tricky, because
the ioctl() needs to be called from a child process, otherwise we deadlock.
- Implement the restarting of autofs mount points. This is already doable on
Solaris; on Linux, the kernel needs to be patched to allow it.
(3) Testing and porting to other systems:
- nothing has been tested on Irix, which reportedly has a similar
functioning autofs to Solaris 2.5.1.
- nothing has been tested on Irix, which reportedly has a similarly
functioning autofs to Solaris 2.5.
- support for Linux autofs is fairly stable, we need testers!
- support for Linux autofs is stable, we need testers!
- support for Solaris 2.6+ is pretty stable, so we need testers for it, too!
- did not test any version of Solaris on x86. It will probably work, but you
have been warned. Testers are welcome.
- we did not test any version of Solaris on x86. It will probably work, but
you have been warned. Testers are welcome.

View File

@ -3,7 +3,7 @@ dnl Contains definitions for specialized GNU-autoconf macros.
dnl Author: Erez Zadok <ezk@cs.columbia.edu>
dnl
dnl DO NOT EDIT DIRECTLY! Generated automatically by maintainers from
dnl aux/Makefile!
dnl m4/GNUmakefile!
dnl
dnl ######################################################################
dnl UNCOMMENT THE NEXT FEW LINES FOR DEBUGGING CONFIGURE
@ -1755,8 +1755,7 @@ case "${host_os}" in
ac_cv_nfs_fh_dref_style=bsd44 ;;
# all new BSDs changed the type of the
# filehandle in nfs_args from nfsv2fh_t to u_char.
# I wonder about darwin/rhapsody...
freebsd* | freebsdelf* | bsdi* | netbsd* | openbsd* )
freebsd* | freebsdelf* | bsdi* | netbsd* | openbsd* | darwin* | rhapsody* )
ac_cv_nfs_fh_dref_style=freebsd22 ;;
aix[[1-3]]* | aix4.[[01]]* )
ac_cv_nfs_fh_dref_style=aix3 ;;
@ -1864,8 +1863,10 @@ case "${host_os}" in
ac_cv_nfs_prot_headers=aix4_2 ;;
aix4.3* )
ac_cv_nfs_prot_headers=aix4_3 ;;
aix* )
aix5.1* )
ac_cv_nfs_prot_headers=aix5_1 ;;
aix* )
ac_cv_nfs_prot_headers=aix5_2 ;;
osf[[1-3]]* )
ac_cv_nfs_prot_headers=osf2 ;;
osf4* )
@ -2363,6 +2364,67 @@ fi
dnl ======================================================================
dnl ######################################################################
dnl Check if we have as buggy hasmntopt() libc function
AC_DEFUN([AMU_FUNC_BAD_HASMNTOPT],
[
AC_CACHE_CHECK([for working hasmntopt], ac_cv_func_hasmntopt_working,
[AC_TRY_RUN(
AMU_MOUNT_HEADERS(
[[
#ifdef HAVE_MNTENT_H
/* some systems need <stdio.h> before <mntent.h> is included */
# ifdef HAVE_STDIO_H
# include <stdio.h>
# endif /* HAVE_STDIO_H */
# include <mntent.h>
#endif /* HAVE_MNTENT_H */
#ifdef HAVE_SYS_MNTENT_H
# include <sys/mntent.h>
#endif /* HAVE_SYS_MNTENT_H */
#ifdef HAVE_SYS_MNTTAB_H
# include <sys/mnttab.h>
#endif /* HAVE_SYS_MNTTAB_H */
#if defined(HAVE_MNTTAB_H) && !defined(MNTTAB)
# include <mnttab.h>
#endif /* defined(HAVE_MNTTAB_H) && !defined(MNTTAB) */
#ifdef HAVE_STRUCT_MNTENT
typedef struct mntent mntent_t;
#else /* not HAVE_STRUCT_MNTENT */
# ifdef HAVE_STRUCT_MNTTAB
typedef struct mnttab mntent_t;
/* map struct mnttab field names to struct mntent field names */
# define mnt_opts mnt_mntopts
# endif /* not HAVE_STRUCT_MNTTAB */
#endif /* not HAVE_STRUCT_MNTENT */
int main()
{
mntent_t mnt;
char *tmp = NULL;
/*
* Test if hasmntopt will incorrectly find the string "soft", which
* is part of the large "softlookup" function.
*/
mnt.mnt_opts = "hard,softlookup,ro";
if ((tmp = hasmntopt(&mnt, "soft")))
exit(1);
exit(0);
}
]]),
[ac_cv_func_hasmntopt_working=yes],
[ac_cv_func_hasmntopt_working=no]
)])
if test $ac_cv_func_hasmntopt_working = no
then
AC_LIBOBJ([hasmntopt])
AC_DEFINE(HAVE_BAD_HASMNTOPT)
fi
])
dnl My version is similar to the one from Autoconf 2.52, but I also
dnl define HAVE_BAD_MEMCMP so that I can do smarter things to avoid
dnl linkage conflicts with bad memcmp versions that are in libc.
@ -2405,7 +2467,7 @@ fi
])
dnl FILE: aux/macros/header_templates.m4
dnl FILE: m4/macros/header_templates.m4
dnl defines descriptions for various am-utils specific macros
AH_TEMPLATE([HAVE_AMU_FS_AUTO],
@ -3230,6 +3292,9 @@ AH_TEMPLATE([mfs_args_t],
AH_TEMPLATE([rfs_args_t],
[Define a type for the rfs_args structure])
AH_TEMPLATE([HAVE_BAD_HASMNTOPT],
[define if have a bad version of hasmntopt()])
AH_TEMPLATE([HAVE_BAD_MEMCMP],
[define if have a bad version of memcmp()])
@ -3691,7 +3756,12 @@ case "${host_os}" in
;;
esac
;;
* ) ac_cv_os_cflags="" ;;
darwin* )
ac_cv_os_cflags="-D_P1003_1B_VISIBLE"
;;
* )
ac_cv_os_cflags=""
;;
esac
])
CFLAGS="$CFLAGS $ac_cv_os_cflags"
@ -3892,6 +3962,14 @@ AC_TRY_COMPILE_NFS(
], ac_cv_have_struct_nfs_args="struct irix5_nfs_args", ac_cv_have_struct_nfs_args=notfound)
fi
# look for "struct aix52_nfs_args" (specially set in conf/nfs_prot/)
if test "$ac_cv_have_struct_nfs_args" = notfound
then
AC_TRY_COMPILE_NFS(
[ struct aix52_nfs_args na;
], ac_cv_have_struct_nfs_args="struct aix52_nfs_args", ac_cv_have_struct_nfs_args=notfound)
fi
# look for "struct aix51_nfs_args" (specially set in conf/nfs_prot/)
if test "$ac_cv_have_struct_nfs_args" = notfound
then

View File

@ -1,6 +1,6 @@
# aclocal.m4 generated automatically by aclocal 1.5
# aclocal.m4 generated automatically by aclocal 1.6.3 -*- Autoconf -*-
# Copyright 1996, 1997, 1998, 1999, 2000, 2001
# Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002
# Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@ -16,7 +16,7 @@ dnl Contains definitions for specialized GNU-autoconf macros.
dnl Author: Erez Zadok <ezk@cs.columbia.edu>
dnl
dnl DO NOT EDIT DIRECTLY! Generated automatically by maintainers from
dnl aux/Makefile!
dnl m4/GNUmakefile!
dnl
dnl ######################################################################
dnl UNCOMMENT THE NEXT FEW LINES FOR DEBUGGING CONFIGURE
@ -1766,8 +1766,7 @@ case "${host_os}" in
ac_cv_nfs_fh_dref_style=bsd44 ;;
# all new BSDs changed the type of the
# filehandle in nfs_args from nfsv2fh_t to u_char.
# I wonder about darwin/rhapsody...
freebsd* | freebsdelf* | bsdi* | netbsd* | openbsd* )
freebsd* | freebsdelf* | bsdi* | netbsd* | openbsd* | darwin* | rhapsody* )
ac_cv_nfs_fh_dref_style=freebsd22 ;;
aix[[1-3]]* | aix4.[[01]]* )
ac_cv_nfs_fh_dref_style=aix3 ;;
@ -1875,8 +1874,10 @@ case "${host_os}" in
ac_cv_nfs_prot_headers=aix4_2 ;;
aix4.3* )
ac_cv_nfs_prot_headers=aix4_3 ;;
aix* )
aix5.1* )
ac_cv_nfs_prot_headers=aix5_1 ;;
aix* )
ac_cv_nfs_prot_headers=aix5_2 ;;
osf[[1-3]]* )
ac_cv_nfs_prot_headers=osf2 ;;
osf4* )
@ -2374,6 +2375,67 @@ fi
dnl ======================================================================
dnl ######################################################################
dnl Check if we have as buggy hasmntopt() libc function
AC_DEFUN([AMU_FUNC_BAD_HASMNTOPT],
[
AC_CACHE_CHECK([for working hasmntopt], ac_cv_func_hasmntopt_working,
[AC_TRY_RUN(
AMU_MOUNT_HEADERS(
[[
#ifdef HAVE_MNTENT_H
/* some systems need <stdio.h> before <mntent.h> is included */
# ifdef HAVE_STDIO_H
# include <stdio.h>
# endif /* HAVE_STDIO_H */
# include <mntent.h>
#endif /* HAVE_MNTENT_H */
#ifdef HAVE_SYS_MNTENT_H
# include <sys/mntent.h>
#endif /* HAVE_SYS_MNTENT_H */
#ifdef HAVE_SYS_MNTTAB_H
# include <sys/mnttab.h>
#endif /* HAVE_SYS_MNTTAB_H */
#if defined(HAVE_MNTTAB_H) && !defined(MNTTAB)
# include <mnttab.h>
#endif /* defined(HAVE_MNTTAB_H) && !defined(MNTTAB) */
#ifdef HAVE_STRUCT_MNTENT
typedef struct mntent mntent_t;
#else /* not HAVE_STRUCT_MNTENT */
# ifdef HAVE_STRUCT_MNTTAB
typedef struct mnttab mntent_t;
/* map struct mnttab field names to struct mntent field names */
# define mnt_opts mnt_mntopts
# endif /* not HAVE_STRUCT_MNTTAB */
#endif /* not HAVE_STRUCT_MNTENT */
int main()
{
mntent_t mnt;
char *tmp = NULL;
/*
* Test if hasmntopt will incorrectly find the string "soft", which
* is part of the large "softlookup" function.
*/
mnt.mnt_opts = "hard,softlookup,ro";
if ((tmp = hasmntopt(&mnt, "soft")))
exit(1);
exit(0);
}
]]),
[ac_cv_func_hasmntopt_working=yes],
[ac_cv_func_hasmntopt_working=no]
)])
if test $ac_cv_func_hasmntopt_working = no
then
AC_LIBOBJ([hasmntopt])
AC_DEFINE(HAVE_BAD_HASMNTOPT)
fi
])
dnl My version is similar to the one from Autoconf 2.52, but I also
dnl define HAVE_BAD_MEMCMP so that I can do smarter things to avoid
dnl linkage conflicts with bad memcmp versions that are in libc.
@ -2416,7 +2478,7 @@ fi
])
dnl FILE: aux/macros/header_templates.m4
dnl FILE: m4/macros/header_templates.m4
dnl defines descriptions for various am-utils specific macros
AH_TEMPLATE([HAVE_AMU_FS_AUTO],
@ -3241,6 +3303,9 @@ AH_TEMPLATE([mfs_args_t],
AH_TEMPLATE([rfs_args_t],
[Define a type for the rfs_args structure])
AH_TEMPLATE([HAVE_BAD_HASMNTOPT],
[define if have a bad version of hasmntopt()])
AH_TEMPLATE([HAVE_BAD_MEMCMP],
[define if have a bad version of memcmp()])
@ -3702,7 +3767,12 @@ case "${host_os}" in
;;
esac
;;
* ) ac_cv_os_cflags="" ;;
darwin* )
ac_cv_os_cflags="-D_P1003_1B_VISIBLE"
;;
* )
ac_cv_os_cflags=""
;;
esac
])
CFLAGS="$CFLAGS $ac_cv_os_cflags"
@ -3903,6 +3973,14 @@ AC_TRY_COMPILE_NFS(
], ac_cv_have_struct_nfs_args="struct irix5_nfs_args", ac_cv_have_struct_nfs_args=notfound)
fi
# look for "struct aix52_nfs_args" (specially set in conf/nfs_prot/)
if test "$ac_cv_have_struct_nfs_args" = notfound
then
AC_TRY_COMPILE_NFS(
[ struct aix52_nfs_args na;
], ac_cv_have_struct_nfs_args="struct aix52_nfs_args", ac_cv_have_struct_nfs_args=notfound)
fi
# look for "struct aix51_nfs_args" (specially set in conf/nfs_prot/)
if test "$ac_cv_have_struct_nfs_args" = notfound
then
@ -4848,78 +4926,108 @@ fi
dnl ######################################################################
dnl end of aclocal.m4 for am-utils-6.x
# Like AC_CONFIG_HEADER, but automatically create stamp file.
# Like AC_CONFIG_HEADER, but automatically create stamp file. -*- Autoconf -*-
# serial 3
# Copyright 1996, 1997, 2000, 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
AC_PREREQ([2.52])
# serial 6
# When config.status generates a header, we must update the stamp-h file.
# This file resides in the same directory as the config header
# that is generated. We must strip everything past the first ":",
# and everything past the last "/".
AC_PREREQ([2.12])
AC_DEFUN([AM_CONFIG_HEADER],
[ifdef([AC_FOREACH],dnl
[dnl init our file count if it isn't already
m4_ifndef([_AM_Config_Header_Index], m4_define([_AM_Config_Header_Index], [0]))
dnl prepare to store our destination file list for use in config.status
AC_FOREACH([_AM_File], [$1],
[m4_pushdef([_AM_Dest], m4_patsubst(_AM_File, [:.*]))
m4_define([_AM_Config_Header_Index], m4_incr(_AM_Config_Header_Index))
dnl and add it to the list of files AC keeps track of, along
dnl with our hook
AC_CONFIG_HEADERS(_AM_File,
dnl COMMANDS, [, INIT-CMDS]
[# update the timestamp
echo timestamp >"AS_ESCAPE(_AM_DIRNAME(]_AM_Dest[))/stamp-h]_AM_Config_Header_Index["
][$2]m4_ifval([$3], [, [$3]]))dnl AC_CONFIG_HEADERS
m4_popdef([_AM_Dest])])],dnl
[AC_CONFIG_HEADER([$1])
AC_OUTPUT_COMMANDS(
ifelse(patsubst([$1], [[^ ]], []),
[],
[test -z "$CONFIG_HEADERS" || echo timestamp >dnl
patsubst([$1], [^\([^:]*/\)?.*], [\1])stamp-h]),dnl
[am_indx=1
for am_file in $1; do
case " \$CONFIG_HEADERS " in
*" \$am_file "*)
am_dir=\`echo \$am_file |sed 's%:.*%%;s%[^/]*\$%%'\`
if test -n "\$am_dir"; then
am_tmpdir=\`echo \$am_dir |sed 's%^\(/*\).*\$%\1%'\`
for am_subdir in \`echo \$am_dir |sed 's%/% %'\`; do
am_tmpdir=\$am_tmpdir\$am_subdir/
if test ! -d \$am_tmpdir; then
mkdir \$am_tmpdir
fi
done
fi
echo timestamp > "\$am_dir"stamp-h\$am_indx
;;
esac
am_indx=\`expr \$am_indx + 1\`
done])
])]) # AM_CONFIG_HEADER
# _AM_DIRNAME(PATH)
# -----------------
# Like AS_DIRNAME, only do it during macro expansion
AC_DEFUN([_AM_DIRNAME],
[m4_if(m4_regexp([$1], [^.*[^/]//*[^/][^/]*/*$]), -1,
m4_if(m4_regexp([$1], [^//\([^/]\|$\)]), -1,
m4_if(m4_regexp([$1], [^/.*]), -1,
[m4_if(regexp([$1], [^.*[^/]//*[^/][^/]*/*$]), -1,
m4_if(regexp([$1], [^//\([^/]\|$\)]), -1,
m4_if(regexp([$1], [^/.*]), -1,
[.],
m4_patsubst([$1], [^\(/\).*], [\1])),
m4_patsubst([$1], [^\(//\)\([^/].*\|$\)], [\1])),
m4_patsubst([$1], [^\(.*[^/]\)//*[^/][^/]*/*$], [\1]))[]dnl
]) # _AM_DIRNAME
patsubst([$1], [^\(/\).*], [\1])),
patsubst([$1], [^\(//\)\([^/].*\|$\)], [\1])),
patsubst([$1], [^\(.*[^/]\)//*[^/][^/]*/*$], [\1]))[]dnl
])# _AM_DIRNAME
# Do all the work for Automake. This macro actually does too much --
# some checks are only needed if your package does certain things.
# But this isn't really a big deal.
# serial 5
# The stamp files are numbered to have different names.
# We could number them on a directory basis, but that's additional
# complications, let's have a unique counter.
m4_define([_AM_STAMP_Count], [0])
# _AM_STAMP(HEADER)
# -----------------
# The name of the stamp file for HEADER.
AC_DEFUN([_AM_STAMP],
[m4_define([_AM_STAMP_Count], m4_incr(_AM_STAMP_Count))dnl
AS_ESCAPE(_AM_DIRNAME(patsubst([$1],
[:.*])))/stamp-h[]_AM_STAMP_Count])
# _AM_CONFIG_HEADER(HEADER[:SOURCES], COMMANDS, INIT-COMMANDS)
# ------------------------------------------------------------
# We used to try to get a real timestamp in stamp-h. But the fear is that
# that will cause unnecessary cvs conflicts.
AC_DEFUN([_AM_CONFIG_HEADER],
[# Add the stamp file to the list of files AC keeps track of,
# along with our hook.
AC_CONFIG_HEADERS([$1],
[# update the timestamp
echo 'timestamp for $1' >"_AM_STAMP([$1])"
$2],
[$3])
])# _AM_CONFIG_HEADER
# AM_CONFIG_HEADER(HEADER[:SOURCES]..., COMMANDS, INIT-COMMANDS)
# --------------------------------------------------------------
AC_DEFUN([AM_CONFIG_HEADER],
[AC_FOREACH([_AM_File], [$1], [_AM_CONFIG_HEADER(_AM_File, [$2], [$3])])
])# AM_CONFIG_HEADER
# Do all the work for Automake. -*- Autoconf -*-
# This macro actually does too much some checks are only needed if
# your package does certain things. But this isn't really a big deal.
# Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002
# Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# serial 8
# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
# written in clear, in which case automake, when reading aclocal.m4,
@ -4928,62 +5036,52 @@ AC_DEFUN([_AM_DIRNAME],
# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
# We require 2.13 because we rely on SHELL being computed by configure.
AC_PREREQ([2.13])
# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED)
# -----------------------------------------------------------
# If MACRO-NAME is provided do IF-PROVIDED, else IF-NOT-PROVIDED.
# The purpose of this macro is to provide the user with a means to
# check macros which are provided without letting her know how the
# information is coded.
# If this macro is not defined by Autoconf, define it here.
ifdef([AC_PROVIDE_IFELSE],
[],
[define([AC_PROVIDE_IFELSE],
[ifdef([AC_PROVIDE_$1],
[$2], [$3])])])
# AM_INIT_AUTOMAKE(PACKAGE,VERSION, [NO-DEFINE])
# ----------------------------------------------
AC_DEFUN([AM_INIT_AUTOMAKE],
[AC_REQUIRE([AC_PROG_INSTALL])dnl
# test to see if srcdir already configured
if test "`CDPATH=:; cd $srcdir && pwd`" != "`pwd`" &&
test -f $srcdir/config.status; then
AC_MSG_ERROR([source directory already configured; run \"make distclean\" there first])
fi
# Define the identity of the package.
PACKAGE=$1
AC_SUBST(PACKAGE)dnl
VERSION=$2
AC_SUBST(VERSION)dnl
ifelse([$3],,
[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])
AC_PREREQ([2.52])
# Autoconf 2.50 wants to disallow AM_ names. We explicitly allow
# the ones we care about.
ifdef([m4_pattern_allow],
[m4_pattern_allow([^AM_[A-Z]+FLAGS])])dnl
m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
# Autoconf 2.50 always computes EXEEXT. However we need to be
# compatible with 2.13, for now. So we always define EXEEXT, but we
# don't compute it.
AC_SUBST(EXEEXT)
# Similar for OBJEXT -- only we only use OBJEXT if the user actually
# requests that it be used. This is a bit dumb.
: ${OBJEXT=o}
AC_SUBST(OBJEXT)
# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
# AM_INIT_AUTOMAKE([OPTIONS])
# -----------------------------------------------
# The call with PACKAGE and VERSION arguments is the old style
# call (pre autoconf-2.50), which is being phased out. PACKAGE
# and VERSION should now be passed to AC_INIT and removed from
# the call to AM_INIT_AUTOMAKE.
# We support both call styles for the transition. After
# the next Automake release, Autoconf can make the AC_INIT
# arguments mandatory, and then we can depend on a new Autoconf
# release and drop the old call support.
AC_DEFUN([AM_INIT_AUTOMAKE],
[AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
AC_REQUIRE([AC_PROG_INSTALL])dnl
# test to see if srcdir already configured
if test "`cd $srcdir && pwd`" != "`pwd`" &&
test -f $srcdir/config.status; then
AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
fi
# Define the identity of the package.
dnl Distinguish between old-style and new-style calls.
m4_ifval([$2],
[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
AC_SUBST([PACKAGE], [$1])dnl
AC_SUBST([VERSION], [$2])],
[_AM_SET_OPTIONS([$1])dnl
AC_SUBST([PACKAGE], [AC_PACKAGE_TARNAME])dnl
AC_SUBST([VERSION], [AC_PACKAGE_VERSION])])dnl
_AM_IF_OPTION([no-define],,
[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
# Some tools Automake needs.
AC_REQUIRE([AM_SANITY_CHECK])dnl
AC_REQUIRE([AC_ARG_PROGRAM])dnl
AM_MISSING_PROG(ACLOCAL, aclocal)
AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
AM_MISSING_PROG(AUTOCONF, autoconf)
AM_MISSING_PROG(AUTOMAKE, automake)
AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
AM_MISSING_PROG(AUTOHEADER, autoheader)
AM_MISSING_PROG(MAKEINFO, makeinfo)
AM_MISSING_PROG(AMTAR, tar)
@ -4993,9 +5091,9 @@ AM_PROG_INSTALL_STRIP
# some platforms.
AC_REQUIRE([AC_PROG_AWK])dnl
AC_REQUIRE([AC_PROG_MAKE_SET])dnl
AC_REQUIRE([AM_DEP_TRACK])dnl
AC_REQUIRE([AM_SET_DEPDIR])dnl
AC_PROVIDE_IFELSE([AC_PROG_][CC],
_AM_IF_OPTION([no-dependencies],,
[AC_PROVIDE_IFELSE([AC_PROG_][CC],
[_AM_DEPENDENCIES(CC)],
[define([AC_PROG_][CC],
defn([AC_PROG_][CC])[_AM_DEPENDENCIES(CC)])])dnl
@ -5004,11 +5102,102 @@ AC_PROVIDE_IFELSE([AC_PROG_][CXX],
[define([AC_PROG_][CXX],
defn([AC_PROG_][CXX])[_AM_DEPENDENCIES(CXX)])])dnl
])
])
# Copyright 2002 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# AM_AUTOMAKE_VERSION(VERSION)
# ----------------------------
# Automake X.Y traces this macro to ensure aclocal.m4 has been
# generated from the m4 files accompanying Automake X.Y.
AC_DEFUN([AM_AUTOMAKE_VERSION],[am__api_version="1.6"])
# AM_SET_CURRENT_AUTOMAKE_VERSION
# -------------------------------
# Call AM_AUTOMAKE_VERSION so it can be traced.
# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
[AM_AUTOMAKE_VERSION([1.6.3])])
# Helper functions for option handling. -*- Autoconf -*-
# Copyright 2001, 2002 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# serial 2
# _AM_MANGLE_OPTION(NAME)
# -----------------------
AC_DEFUN([_AM_MANGLE_OPTION],
[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
# _AM_SET_OPTION(NAME)
# ------------------------------
# Set option NAME. Presently that only means defining a flag for this option.
AC_DEFUN([_AM_SET_OPTION],
[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
# _AM_SET_OPTIONS(OPTIONS)
# ----------------------------------
# OPTIONS is a space-separated list of Automake options.
AC_DEFUN([_AM_SET_OPTIONS],
[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
# -------------------------------------------
# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
AC_DEFUN([_AM_IF_OPTION],
[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
#
# Check to make sure that the build environment is sane.
#
# Copyright 1996, 1997, 2000, 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# serial 3
# AM_SANITY_CHECK
@ -5052,8 +5241,27 @@ Check your system clock])
fi
AC_MSG_RESULT(yes)])
# -*- Autoconf -*-
# serial 2
# Copyright 1997, 1999, 2000, 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# serial 3
# AM_MISSING_PROG(NAME, PROGRAM)
# ------------------------------
@ -5075,13 +5283,29 @@ if eval "$MISSING --run true"; then
am_missing_run="$MISSING --run "
else
am_missing_run=
am_backtick='`'
AC_MSG_WARN([${am_backtick}missing' script is too old or missing])
AC_MSG_WARN([`missing' script is too old or missing])
fi
])
# AM_AUX_DIR_EXPAND
# Copyright 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to
# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
@ -5120,19 +5344,59 @@ fi
# absolute PATH. The drawback is that using absolute paths prevent a
# configured tree to be moved without reconfiguration.
# Rely on autoconf to set up CDPATH properly.
AC_PREREQ([2.50])
AC_DEFUN([AM_AUX_DIR_EXPAND], [
# expand $ac_aux_dir to an absolute path
am_aux_dir=`CDPATH=:; cd $ac_aux_dir && pwd`
am_aux_dir=`cd $ac_aux_dir && pwd`
])
# AM_PROG_INSTALL_SH
# ------------------
# Define $install_sh.
# Copyright 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
AC_DEFUN([AM_PROG_INSTALL_SH],
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
install_sh=${install_sh-"$am_aux_dir/install-sh"}
AC_SUBST(install_sh)])
# AM_PROG_INSTALL_STRIP
# Copyright 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# One issue with vendor `install' (even GNU) is that you can't
# specify the program used to strip binaries. This is especially
# annoying in cross-compiling environments, where the build's strip
@ -5142,11 +5406,35 @@ AC_SUBST(install_sh)])
# STRIPPROG with the value of the STRIP variable (set by the user).
AC_DEFUN([AM_PROG_INSTALL_STRIP],
[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
# Installed binaries are usually stripped using `strip' when the user
# run `make install-strip'. However `strip' might not be the right
# tool to use in cross-compilation environments, therefore Automake
# will honor the `STRIP' environment variable to overrule this program.
dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
if test "$cross_compiling" != no; then
AC_CHECK_TOOL([STRIP], [strip], :)
fi
INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
AC_SUBST([INSTALL_STRIP_PROGRAM])])
# serial 4 -*- Autoconf -*-
# Copyright 1999, 2000, 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
@ -5158,9 +5446,9 @@ AC_SUBST([INSTALL_STRIP_PROGRAM])])
# _AM_DEPENDENCIES(NAME)
# ---------------------
# ----------------------
# See how the compiler implements dependency checking.
# NAME is "CC", "CXX" or "OBJC".
# NAME is "CC", "CXX", "GCJ", or "OBJC".
# We try a few techniques and use that to set a single cache variable.
#
# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
@ -5175,7 +5463,7 @@ AC_REQUIRE([AM_DEP_TRACK])dnl
ifelse([$1], CC, [depcc="$CC" am_compiler_list=],
[$1], CXX, [depcc="$CXX" am_compiler_list=],
[$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc']
[$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
[$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
[depcc="$$1" am_compiler_list=])
@ -5237,8 +5525,7 @@ else
am_cv_$1_dependencies_compiler_type=none
fi
])
$1DEPMODE="depmode=$am_cv_$1_dependencies_compiler_type"
AC_SUBST([$1DEPMODE])
AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
])
@ -5256,7 +5543,7 @@ else
DEPDIR=_deps
fi
rmdir .deps 2>/dev/null
AC_SUBST(DEPDIR)
AC_SUBST([DEPDIR])
])
@ -5271,30 +5558,48 @@ if test "x$enable_dependency_tracking" != xno; then
AMDEPBACKSLASH='\'
fi
AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
pushdef([subst], defn([AC_SUBST]))
subst(AMDEPBACKSLASH)
popdef([subst])
AC_SUBST([AMDEPBACKSLASH])
])
# Generate code to set up dependency tracking.
# This macro should only be invoked once -- use via AC_REQUIRE.
# Usage:
# AM_OUTPUT_DEPENDENCY_COMMANDS
# Generate code to set up dependency tracking. -*- Autoconf -*-
#
# This code is only required when automatic dependency tracking
# is enabled. FIXME. This creates each `.P' file that we will
# need in order to bootstrap the dependency handling code.
AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],[
AC_OUTPUT_COMMANDS([
test x"$AMDEP_TRUE" != x"" ||
for mf in $CONFIG_FILES; do
case "$mf" in
Makefile) dirpart=.;;
*/Makefile) dirpart=`echo "$mf" | sed -e 's|/[^/]*$||'`;;
*) continue;;
esac
grep '^DEP_FILES *= *[^ #]' < "$mf" > /dev/null || continue
# Copyright 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
#serial 2
# _AM_OUTPUT_DEPENDENCY_COMMANDS
# ------------------------------
AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
[for mf in $CONFIG_FILES; do
# Strip MF so we end up with the name of the file.
mf=`echo "$mf" | sed -e 's/:.*$//'`
# Check whether this is an Automake generated Makefile or not.
# We used to match only the files named `Makefile.in', but
# some people rename them; so instead we look at the file content.
# Grep'ing the first line is not enough: some people post-process
# each Makefile.in and add a new line on top of each file to say so.
# So let's grep whole file.
if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then
dirpart=`AS_DIRNAME("$mf")`
else
continue
fi
grep '^DEP_FILES *= *[[^ @%:@]]' < "$mf" > /dev/null || continue
# Extract the definition of DEP_FILES from the Makefile without
# running `make'.
DEPDIR=`sed -n -e '/^DEPDIR = / s///p' < "$mf"`
@ -5318,14 +5623,46 @@ for mf in $CONFIG_FILES; do
sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
# Make sure the directory exists.
test -f "$dirpart/$file" && continue
fdir=`echo "$file" | sed -e 's|/[^/]*$||'`
$ac_aux_dir/mkinstalldirs "$dirpart/$fdir" > /dev/null 2>&1
fdir=`AS_DIRNAME(["$file"])`
AS_MKDIR_P([$dirpart/$fdir])
# echo "creating $dirpart/$file"
echo '# dummy' > "$dirpart/$file"
done
done
], [AMDEP_TRUE="$AMDEP_TRUE"
ac_aux_dir="$ac_aux_dir"])])
])# _AM_OUTPUT_DEPENDENCY_COMMANDS
# AM_OUTPUT_DEPENDENCY_COMMANDS
# -----------------------------
# This macro should only be invoked once -- use via AC_REQUIRE.
#
# This code is only required when automatic dependency tracking
# is enabled. FIXME. This creates each `.P' file that we will
# need in order to bootstrap the dependency handling code.
AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
[AC_CONFIG_COMMANDS([depfiles],
[test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
[AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
])
# Copyright 2001 Free Software Foundation, Inc. -*- Autoconf -*-
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# serial 2
# AM_MAKE_INCLUDE()
# -----------------
@ -5338,7 +5675,7 @@ doit:
END
# If we don't find an include directive, just comment out the code.
AC_MSG_CHECKING([for style of include used by $am_make])
am__include='#'
am__include="#"
am__quote=
_am_result=none
# First try GNU make style include.
@ -5358,7 +5695,7 @@ if test "$am__include" = "#"; then
echo '.include "confinc"' > confmf
if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
am__include=.include
am__quote='"'
am__quote="\""
_am_result=BSD
fi
fi
@ -5368,23 +5705,35 @@ AC_MSG_RESULT($_am_result)
rm -f confinc confmf
])
# serial 3
# AM_CONDITIONAL -*- Autoconf -*-
# Copyright 1997, 2000, 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# serial 5
AC_PREREQ(2.52)
# AM_CONDITIONAL(NAME, SHELL-CONDITION)
# -------------------------------------
# Define a conditional.
#
# FIXME: Once using 2.50, use this:
# m4_match([$1], [^TRUE\|FALSE$], [AC_FATAL([$0: invalid condition: $1])])dnl
AC_DEFUN([AM_CONDITIONAL],
[ifelse([$1], [TRUE],
[errprint(__file__:__line__: [$0: invalid condition: $1
])dnl
m4exit(1)])dnl
ifelse([$1], [FALSE],
[errprint(__file__:__line__: [$0: invalid condition: $1
])dnl
m4exit(1)])dnl
[ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
[$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
AC_SUBST([$1_TRUE])
AC_SUBST([$1_FALSE])
if $2; then
@ -5393,7 +5742,12 @@ if $2; then
else
$1_TRUE='#'
$1_FALSE=
fi])
fi
AC_CONFIG_COMMANDS_PRE(
[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
AC_MSG_ERROR([conditional \"$1\" was never defined.
Usually this means the macro was only invoked conditionally.])
fi])])
# isc-posix.m4 serial 1 (gettext-0.10.40)
dnl Copyright (C) 1995-2002 Free Software Foundation, Inc.
@ -8913,11 +9267,35 @@ AC_DEFUN([AM_PROG_NM], [AC_PROG_NM])
ifelse([AC_DISABLE_FAST_INSTALL])
# AM_PROG_LEX
# Look for flex, lex or missing, then run AC_PROG_LEX and AC_DECL_YYTEXT
AC_DEFUN([AM_PROG_LEX],
[AC_REQUIRE([AM_MISSING_HAS_RUN])
AC_CHECK_PROGS(LEX, flex lex, [${am_missing_run}flex])
AC_PROG_LEX
AC_DECL_YYTEXT])
# Copyright 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# serial 3
AC_PREREQ(2.50)
# AM_PROG_LEX
# -----------
# Autoconf leaves LEX=: if lex or flex can't be found. Change that to a
# "missing" invocation, for better error output.
AC_DEFUN([AM_PROG_LEX],
[AC_REQUIRE([AM_MISSING_HAS_RUN])dnl
AC_REQUIRE([AC_PROG_LEX])dnl
if test "$LEX" = :; then
LEX=${am_missing_run}flex
fi])

View File

@ -19,8 +19,13 @@ noinst_HEADERS = amd.h
# which will not generate the .h needs for the lex file from the yacc file.
# I took out the conf .y/.l files b/c of bad interaction between bsd44 make
# and automake-1.2 rules.
# sources needed: note .y and .l files have to be first
# get_args.c is handled separately
amd_SOURCES = \
conf_parse.y \
conf_tok.l \
\
am_ops.c \
amd.c \
amfs_auto.c \
@ -87,27 +92,29 @@ EXTRA_amd_SOURCES = \
# filesystem types this system supports.
# AMD_INFO_OBJS: a list of info_*.o objects added, depending on which map
# types this system supports.
EXTRA_amd_OBJECTS = @AMD_FS_OBJS@ @AMD_INFO_OBJS@ conf_tok.o conf_parse.o
EXTRA_amd_OBJECTS = @AMD_FS_OBJS@ @AMD_INFO_OBJS@
LDADD = $(EXTRA_amd_OBJECTS) get_args.o ../libamu/libamu.la
# must manually add f/lex library to LIBS, and not to LDADD.
LIBS = @LIBS@ @LEXLIB@
# additional files to distribute and clean
EXTRA_DIST = conf_tok.l conf_parse.y ops_TEMPLATE.c $(man_MANS) $(TESTS)
EXTRA_DIST = ops_TEMPLATE.c $(man_MANS) $(TESTS)
CLEANFILES = conf_tok.c conf_parse.c conf_parse.h
DISTCLEANFILES = build_version.h
# do not distribute files that should be generated by lex/yacc locally
dist-hook:
(cd $(distdir) && rm -f conf_parse.c conf_parse.h conf_tok.c)
INCLUDES = -I$(top_srcdir)/include
# allow users to add their own flags via "configure --enable-am-flags=ARG"
AMU_CFLAGS = @AMU_CFLAGS@
CFLAGS = @CFLAGS@ $(AMU_CFLAGS)
YACC = @YACC@
YFLAGS = -d
AM_YFLAGS = -d
# dependencies
$(PROGRAMS): $(LDADD)
conf_tok.o: conf_parse.h
get_args.o: build_version.h
$(amd_OBJECTS) $(EXTRA_amd_OBJECTS): \
../config.h \
@ -120,18 +127,6 @@ $(amd_OBJECTS) $(EXTRA_amd_OBJECTS): \
@AMU_NFS_PROT_HEADER@ \
$(noinst_HEADERS)
# Must use my rules, b/c ones supplied by automake-1.2 don't work
# with bsd44 make (they have built-in rules to build yacc/lex files).
# Code generated by yacc/lex:
conf_tok.c: $(srcdir)/conf_tok.l
$(LEX) $?
mv lex.yy.c conf_tok.c
conf_parse.c conf_parse.h: $(srcdir)/conf_parse.y
$(YACC) -d $?
mv y.tab.c conf_parse.c
mv y.tab.h conf_parse.h
# auto-generate build number
build_version.h: $(OBJECTS) $(EXTRA_amd_OBJECTS) get_args.c
$(top_srcdir)/aux/update_build_version
$(top_srcdir)/m4/update_build_version

View File

@ -1,6 +1,7 @@
# Makefile.in generated automatically by automake 1.5 from Makefile.am.
# Makefile.in generated by automake 1.6.3 from Makefile.am.
# @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
# Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@ -16,7 +17,6 @@
# Package: am-utils
# Level: Makefile for amd/ directory
# Author: Erez Zadok
SHELL = @SHELL@
srcdir = @srcdir@
@ -47,9 +47,13 @@ AUTOCONF = @AUTOCONF@
AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_HEADER = $(INSTALL_DATA)
transform = @program_transform_name@
@ -61,9 +65,16 @@ PRE_UNINSTALL = :
POST_UNINSTALL = :
host_alias = @host_alias@
host_triplet = @host@
EXEEXT = @EXEEXT@
OBJEXT = @OBJEXT@
PATH_SEPARATOR = @PATH_SEPARATOR@
AMD_FS_OBJS = @AMD_FS_OBJS@
AMD_INFO_OBJS = @AMD_INFO_OBJS@
AMTAR = @AMTAR@
# allow users to add their own flags via "configure --enable-am-flags=ARG"
AMU_CFLAGS = @AMU_CFLAGS@
AMU_LIB_OBJS = @AMU_LIB_OBJS@
AMU_NFS_PROT_HEADER = @AMU_NFS_PROT_HEADER@
AR = @AR@
@ -74,31 +85,28 @@ CPP = @CPP@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
ECHO = @ECHO@
EXEEXT = @EXEEXT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LEX = @LEX@
LEXLIB = @LEXLIB@
LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
LIBTOOL = @LIBTOOL@
LIBTOOL_DEPS = @LIBTOOL_DEPS@
LIBTOOL_LDFLAGS = @LIBTOOL_LDFLAGS@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PERL = @PERL@
RANLIB = @RANLIB@
STRIP = @STRIP@
VERSION = @VERSION@
YACC = @YACC@
am__include = @am__include@
am__quote = @am__quote@
am_utils_unmount_args = @am_utils_unmount_args@
am_utils_unmount_call = @am_utils_unmount_call@
install_sh = @install_sh@
# allow users to add their own flags via "configure --enable-am-flags=ARG"
AMU_CFLAGS = @AMU_CFLAGS@
YACC = @YACC@
sbin_PROGRAMS = amd
# man pages
@ -114,8 +122,13 @@ noinst_HEADERS = amd.h
# which will not generate the .h needs for the lex file from the yacc file.
# I took out the conf .y/.l files b/c of bad interaction between bsd44 make
# and automake-1.2 rules.
# sources needed: note .y and .l files have to be first
# get_args.c is handled separately
amd_SOURCES = \
conf_parse.y \
conf_tok.l \
\
am_ops.c \
amd.c \
amfs_auto.c \
@ -184,19 +197,19 @@ EXTRA_amd_SOURCES = \
# filesystem types this system supports.
# AMD_INFO_OBJS: a list of info_*.o objects added, depending on which map
# types this system supports.
EXTRA_amd_OBJECTS = @AMD_FS_OBJS@ @AMD_INFO_OBJS@ conf_tok.o conf_parse.o
EXTRA_amd_OBJECTS = @AMD_FS_OBJS@ @AMD_INFO_OBJS@
LDADD = $(EXTRA_amd_OBJECTS) get_args.o ../libamu/libamu.la
# must manually add f/lex library to LIBS, and not to LDADD.
LIBS = @LIBS@ @LEXLIB@
# additional files to distribute and clean
EXTRA_DIST = conf_tok.l conf_parse.y ops_TEMPLATE.c $(man_MANS) $(TESTS)
EXTRA_DIST = ops_TEMPLATE.c $(man_MANS) $(TESTS)
CLEANFILES = conf_tok.c conf_parse.c conf_parse.h
DISTCLEANFILES = build_version.h
INCLUDES = -I$(top_srcdir)/include
CFLAGS = @CFLAGS@ $(AMU_CFLAGS)
YFLAGS = -d
AM_YFLAGS = -d
subdir = amd
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
@ -204,7 +217,8 @@ CONFIG_CLEAN_FILES =
sbin_PROGRAMS = amd$(EXEEXT)
PROGRAMS = $(sbin_PROGRAMS)
am_amd_OBJECTS = am_ops.$(OBJEXT) amd.$(OBJEXT) amfs_auto.$(OBJEXT) \
am_amd_OBJECTS = conf_parse.$(OBJEXT) conf_tok.$(OBJEXT) \
am_ops.$(OBJEXT) amd.$(OBJEXT) amfs_auto.$(OBJEXT) \
amfs_direct.$(OBJEXT) amfs_error.$(OBJEXT) amfs_host.$(OBJEXT) \
amfs_inherit.$(OBJEXT) amfs_link.$(OBJEXT) amfs_linkx.$(OBJEXT) \
amfs_nfsl.$(OBJEXT) amfs_nfsx.$(OBJEXT) amfs_program.$(OBJEXT) \
@ -217,8 +231,7 @@ am_amd_OBJECTS = am_ops.$(OBJEXT) amd.$(OBJEXT) amfs_auto.$(OBJEXT) \
srvr_nfs.$(OBJEXT)
amd_OBJECTS = $(am_amd_OBJECTS)
amd_LDADD = $(LDADD)
amd_DEPENDENCIES = conf_tok.o conf_parse.o get_args.o \
../libamu/libamu.la
amd_DEPENDENCIES = get_args.o ../libamu/libamu.la
amd_LDFLAGS =
DEFS = @DEFS@
@ -226,6 +239,7 @@ DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
CPPFLAGS = @CPPFLAGS@
LDFLAGS = @LDFLAGS@
depcomp =
am__depfiles_maybe =
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \
@ -233,35 +247,30 @@ LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \
CCLD = $(CC)
LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
LEXCOMPILE = $(LEX) $(LFLAGS) $(AM_LFLAGS)
LTLEXCOMPILE = $(LIBTOOL) --mode=compile $(LEX) $(LFLAGS) $(AM_LFLAGS)
YACCCOMPILE = $(YACC) $(YFLAGS) $(AM_YFLAGS)
LTYACCCOMPILE = $(LIBTOOL) --mode=compile $(YACC) $(YFLAGS) $(AM_YFLAGS)
DIST_SOURCES = $(amd_SOURCES) $(EXTRA_amd_SOURCES)
NROFF = nroff
MANS = $(man_MANS)
HEADERS = $(noinst_HEADERS)
DIST_COMMON = $(noinst_HEADERS) Makefile.am Makefile.in
DIST_COMMON = $(noinst_HEADERS) Makefile.am Makefile.in conf_parse.c \
conf_parse.h conf_tok.c
SOURCES = $(amd_SOURCES) $(EXTRA_amd_SOURCES)
all: all-am
.SUFFIXES:
.SUFFIXES: .c .lo .o .obj
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
distclean-libtool:
-rm -f libtool
.SUFFIXES: .c .l .lo .o .obj .y
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu --ignore-deps amd/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) && \
CONFIG_HEADERS= CONFIG_LINKS= \
CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
sbinPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
install-sbinPROGRAMS: $(sbin_PROGRAMS)
@$(NORMAL_INSTALL)
$(mkinstalldirs) $(DESTDIR)$(sbindir)
@ -270,22 +279,31 @@ install-sbinPROGRAMS: $(sbin_PROGRAMS)
if test -f $$p \
|| test -f $$p1 \
; then \
f=`echo $$p1|sed '$(transform);s/$$/$(EXEEXT)/'`; \
echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(sbindir)/$$f"; \
$(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(sbindir)/$$f; \
f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(sbinPROGRAMS_INSTALL) $$p $(DESTDIR)$(sbindir)/$$f"; \
$(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(sbinPROGRAMS_INSTALL) $$p $(DESTDIR)$(sbindir)/$$f; \
else :; fi; \
done
uninstall-sbinPROGRAMS:
@$(NORMAL_UNINSTALL)
@list='$(sbin_PROGRAMS)'; for p in $$list; do \
f=`echo $$p|sed 's/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
echo " rm -f $(DESTDIR)$(sbindir)/$$f"; \
rm -f $(DESTDIR)$(sbindir)/$$f; \
done
clean-sbinPROGRAMS:
-test -z "$(sbin_PROGRAMS)" || rm -f $(sbin_PROGRAMS)
@list='$(sbin_PROGRAMS)'; for p in $$list; do \
f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
echo " rm -f $$p $$f"; \
rm -f $$p $$f ; \
done
conf_parse.h: conf_parse.c
@if test ! -f $@; then \
rm -f conf_parse.c; \
$(MAKE) conf_parse.c; \
else :; fi
amd$(EXEEXT): $(amd_OBJECTS) $(amd_DEPENDENCIES)
@rm -f amd$(EXEEXT)
$(LINK) $(amd_LDFLAGS) $(amd_OBJECTS) $(amd_LDADD) $(LIBS)
@ -297,13 +315,47 @@ distclean-compile:
-rm -f *.tab.c
.c.o:
$(COMPILE) -c `test -f $< || echo '$(srcdir)/'`$<
$(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
.c.obj:
$(COMPILE) -c `cygpath -w $<`
.c.lo:
$(LTCOMPILE) -c -o $@ `test -f $< || echo '$(srcdir)/'`$<
$(LTCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
.l.c:
$(LEXCOMPILE) `test -f $< || echo '$(srcdir)/'`$<
sed '/^#/ s|$(LEX_OUTPUT_ROOT)\.c|$@|' $(LEX_OUTPUT_ROOT).c >$@
rm -f $(LEX_OUTPUT_ROOT).c
.y.c:
$(YACCCOMPILE) `test -f '$<' || echo '$(srcdir)/'`$<
sed '/^#/ s|y\.tab\.c|$@|' y.tab.c >$@
rm -f y.tab.c
if test -f y.tab.h; then \
to=`echo "$*_H" | sed \
-e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' \
-e 's/[^ABCDEFGHIJKLMNOPQRSTUVWXYZ]/_/g'`; \
sed "/^#/ s/Y_TAB_H/$$to/g" y.tab.h >$*.ht; \
rm -f y.tab.h; \
if cmp -s $*.ht $*.h; then \
rm -f $*.ht ;\
else \
mv $*.ht $*.h; \
fi; \
fi
if test -f y.output; then \
mv y.output $*.output; \
fi
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
distclean-libtool:
-rm -f libtool
uninstall-info-am:
man8dir = $(mandir)/man8
@ -321,6 +373,10 @@ install-man8: $(man8_MANS) $(man_MANS)
if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \
else file=$$i; fi; \
ext=`echo $$i | sed -e 's/^.*\\.//'`; \
case "$$ext" in \
8*) ;; \
*) ext='8' ;; \
esac; \
inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
inst=`echo $$inst | sed -e 's/^.*\///'`; \
inst=`echo $$inst | sed '$(transform)'`.$$ext; \
@ -345,32 +401,36 @@ uninstall-man8:
rm -f $(DESTDIR)$(man8dir)/$$inst; \
done
ETAGS = etags
ETAGSFLAGS =
tags: TAGS
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
mkid -fID $$unique $(LISP)
mkid -fID $$unique
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
|| etags $(ETAGS_ARGS) $$tags $$unique $(LISP)
test -z "$(ETAGS_ARGS)$$tags$$unique" \
|| $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique
GTAGS:
here=`CDPATH=: && cd $(top_builddir) && pwd` \
here=`$(am__cd) $(top_builddir) && pwd` \
&& cd $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) $$here
@ -430,29 +490,36 @@ check-TESTS: $(TESTS)
echo "$$banner"; \
echo "$$dashes"; \
test "$$failed" -eq 0; \
fi
else :; fi
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = ..
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
distdir: $(DISTFILES)
@for file in $(DISTFILES); do \
if test -f $$file; then d=.; else d=$(srcdir); fi; \
@list='$(DISTFILES)'; for file in $$list; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
$(mkinstalldirs) "$(distdir)/$$dir"; \
dir="/$$dir"; \
$(mkinstalldirs) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
if test -d $$d/$$file; then \
cp -pR $$d/$$file $(distdir) \
|| exit 1; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
|| exit 1; \
fi; \
done
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="${top_distdir}" distdir="$(distdir)" \
dist-hook
check-am: all-am
$(MAKE) $(AM_MAKEFLAGS) check-TESTS
check: check-am
@ -472,6 +539,7 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
@ -480,12 +548,13 @@ clean-generic:
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic:
-rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
-rm -f Makefile $(CONFIG_CLEAN_FILES)
-test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
-test -z "conf_parse.hconf_parse.cconf_tok.c" || rm -f conf_parse.h conf_parse.c conf_tok.c
clean: clean-am
clean-am: clean-generic clean-libtool clean-sbinPROGRAMS mostlyclean-am
@ -539,9 +608,12 @@ uninstall-man: uninstall-man8
uninstall-man8 uninstall-sbinPROGRAMS
# do not distribute files that should be generated by lex/yacc locally
dist-hook:
(cd $(distdir) && rm -f conf_parse.c conf_parse.h conf_tok.c)
# dependencies
$(PROGRAMS): $(LDADD)
conf_tok.o: conf_parse.h
get_args.o: build_version.h
$(amd_OBJECTS) $(EXTRA_amd_OBJECTS): \
../config.h \
@ -554,21 +626,9 @@ $(amd_OBJECTS) $(EXTRA_amd_OBJECTS): \
@AMU_NFS_PROT_HEADER@ \
$(noinst_HEADERS)
# Must use my rules, b/c ones supplied by automake-1.2 don't work
# with bsd44 make (they have built-in rules to build yacc/lex files).
# Code generated by yacc/lex:
conf_tok.c: $(srcdir)/conf_tok.l
$(LEX) $?
mv lex.yy.c conf_tok.c
conf_parse.c conf_parse.h: $(srcdir)/conf_parse.y
$(YACC) -d $?
mv y.tab.c conf_parse.c
mv y.tab.h conf_parse.h
# auto-generate build number
build_version.h: $(OBJECTS) $(EXTRA_amd_OBJECTS) get_args.c
$(top_srcdir)/aux/update_build_version
$(top_srcdir)/m4/update_build_version
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View File

@ -1,7 +1,7 @@
/* $NetBSD: am_ops.c,v 1.1.1.5 2002/11/29 22:58:08 christos Exp $ */
/* $NetBSD: am_ops.c,v 1.1.1.6 2003/03/09 01:13:05 christos Exp $ */
/*
* Copyright (c) 1997-2002 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 @@
* SUCH DAMAGE.
*
*
* Id: am_ops.c,v 1.14 2002/02/02 20:58:52 ezk Exp
* Id: am_ops.c,v 1.17 2002/12/27 22:43:46 ezk Exp
*
*/
@ -340,7 +340,7 @@ merge_opts(const char *opts1, const char *opts2)
/* find reverse option of oneopt */
revoneopt = reverse_option(oneopt);
/* if option orits reverse exist in opts2, ignore it */
if (hasmntopt(&mnt2, oneopt) || hasmntopt(&mnt2, revoneopt))
if (amu_hasmntopt(&mnt2, oneopt) || amu_hasmntopt(&mnt2, revoneopt))
continue;
/* add option to returned string */
if (newstr && newstr[0]) {
@ -365,10 +365,21 @@ merge_opts(const char *opts1, const char *opts2)
am_ops *
ops_match(am_opts *fo, char *key, char *g_key, char *path, char *keym, char *map)
ops_search(char *type)
{
am_ops **vp;
am_ops *rop = 0;
for (vp = vops; (rop = *vp); vp++)
if (STREQ(rop->fs_type, type))
break;
return rop;
}
am_ops *
ops_match(am_opts *fo, char *key, char *g_key, char *path, char *keym, char *map)
{
am_ops *rop = 0;
/*
* First crack the global opts and the local opts
@ -382,9 +393,7 @@ ops_match(am_opts *fo, char *key, char *g_key, char *path, char *keym, char *map
/*
* Next find the correct filesystem type
*/
for (vp = vops; (rop = *vp); vp++)
if (STREQ(rop->fs_type, fo->opt_type))
break;
rop = ops_search(fo->opt_type);
if (!rop) {
plog(XLOG_USER, "fs type \"%s\" not recognized", fo->opt_type);
rop = &amfs_error_ops;

View File

@ -1,7 +1,7 @@
/* $NetBSD: amd.h,v 1.1.1.5 2002/11/29 22:58:08 christos Exp $ */
/* $NetBSD: amd.h,v 1.1.1.6 2003/03/09 01:13:04 christos Exp $ */
/*
* Copyright (c) 1997-2002 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.
@ -39,7 +39,7 @@
* SUCH DAMAGE.
*
*
* Id: amd.h,v 1.26 2002/06/24 03:05:14 ib42 Exp
* Id: amd.h,v 1.29 2002/12/27 22:43:46 ezk Exp
*
*/
@ -75,7 +75,7 @@
/* interval between forced retries of a mount */
#define RETRY_INTERVAL 2
#define ereturn(x) { *error_return = x; return 0; }
#define ereturn(x) do { *error_return = x; return 0; } while (0)
#define NEVER (time_t) 0
@ -133,6 +133,7 @@ struct amu_global_options {
char *ldap_hostports; /* LDAP host ports */
long ldap_cache_seconds; /* LDAP internal cache - keep seconds */
long ldap_cache_maxmem; /* LDAP internal cache - max memory (bytes) */
long ldap_proto_version; /* LDAP protocol version */
#endif /* HAVE_MAP_LDAP */
#ifdef HAVE_MAP_NIS
char *nis_domain; /* YP domain name */

View File

@ -1,7 +1,7 @@
/* $NetBSD: amfs_direct.c,v 1.1.1.5 2002/11/29 22:58:10 christos Exp $ */
/* $NetBSD: amfs_direct.c,v 1.1.1.6 2003/03/09 01:13:06 christos Exp $ */
/*
* Copyright (c) 1997-2002 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.
@ -39,7 +39,7 @@
* SUCH DAMAGE.
*
*
* Id: amfs_direct.c,v 1.14 2002/03/29 20:01:26 ib42 Exp
* Id: amfs_direct.c,v 1.15 2002/12/27 22:43:46 ezk Exp
*
*/

View File

@ -1,7 +1,7 @@
/* $NetBSD: amfs_error.c,v 1.1.1.5 2002/11/29 22:58:10 christos Exp $ */
/* $NetBSD: amfs_error.c,v 1.1.1.6 2003/03/09 01:13:06 christos Exp $ */
/*
* Copyright (c) 1997-2002 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 @@
* SUCH DAMAGE.
*
*
* Id: amfs_error.c,v 1.12 2002/03/29 20:01:26 ib42 Exp
* Id: amfs_error.c,v 1.13 2002/12/27 22:43:47 ezk Exp
*
*/

View File

@ -1,7 +1,7 @@
/* $NetBSD: amfs_host.c,v 1.1.1.5 2002/11/29 22:58:11 christos Exp $ */
/* $NetBSD: amfs_host.c,v 1.1.1.6 2003/03/09 01:13:07 christos Exp $ */
/*
* Copyright (c) 1997-2002 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.
@ -39,7 +39,7 @@
* SUCH DAMAGE.
*
*
* Id: amfs_host.c,v 1.17 2002/03/29 20:01:26 ib42 Exp
* Id: amfs_host.c,v 1.18 2002/12/27 22:43:47 ezk Exp
*
*/

View File

@ -1,7 +1,7 @@
/* $NetBSD: amfs_inherit.c,v 1.1.1.5 2002/11/29 22:58:11 christos Exp $ */
/* $NetBSD: amfs_inherit.c,v 1.1.1.6 2003/03/09 01:13:07 christos Exp $ */
/*
* Copyright (c) 1997-2002 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 @@
* SUCH DAMAGE.
*
*
* Id: amfs_inherit.c,v 1.11 2002/03/29 20:01:26 ib42 Exp
* Id: amfs_inherit.c,v 1.13 2002/12/27 22:43:47 ezk Exp
*
*/
@ -141,7 +141,7 @@ amfs_inherit_inherit(mntfs *mf)
* first place.
*/
mf->mf_private = 0;
free_mntfs(mf);
//free_mntfs(mf);
/*
* Free the dangling reference
@ -164,41 +164,32 @@ amfs_inherit_inherit(mntfs *mf)
static int
amfs_inherit_mount(am_node *mp, mntfs *mf)
{
/* It's already mounted, so just swap the ops for the real ones */
mntfs *newmf = amfs_inherit_inherit(mp->am_mnt);
if (!newmf)
return EINVAL;
if (newmf) {
mp->am_mnt = newmf;
/*
* XXX - must do the am_mounted call here
*/
if (newmf->mf_fsflags & FS_MBACKGROUND)
am_mounted(mp);
new_ttl(mp);
return 0;
}
return EINVAL;
}
#if 0 /* huh? */
static int
amfs_inherit_fmount(mntfs *mf)
{
am_node *mp = find_mf(mf);
if (mp)
return amfs_inherit_mount(mp);
return amfs_inherit_inherit(mf) ? 0 : EINVAL;
}
#endif
static int
amfs_inherit_umount(am_node *am, mntfs *mf)
{
mp->am_mnt = newmf;
/*
* Always succeed
* Hack: must do the am_mounted() call here if it's marked FS_MBACKGROUND,
* because the caller will not do it for us in that case.
*/
if (newmf->mf_fsflags & FS_MBACKGROUND)
am_mounted(mp);
new_ttl(mp);
return 0;
}
static int
amfs_inherit_umount(am_node *mp, mntfs *mf)
{
/* It's already mounted, so just swap the ops for the real ones */
mntfs *newmf = amfs_inherit_inherit(mp->am_mnt);
if (!newmf)
return EINVAL;
mp->am_mnt = newmf;
return unmount_mp(mp);
}

View File

@ -1,7 +1,7 @@
/* $NetBSD: amfs_link.c,v 1.1.1.5 2002/11/29 22:58:11 christos Exp $ */
/* $NetBSD: amfs_link.c,v 1.1.1.6 2003/03/09 01:13:07 christos Exp $ */
/*
* Copyright (c) 1997-2002 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.
@ -39,7 +39,7 @@
* SUCH DAMAGE.
*
*
* Id: amfs_link.c,v 1.14 2002/03/29 20:01:26 ib42 Exp
* Id: amfs_link.c,v 1.15 2002/12/27 22:43:47 ezk Exp
*
*/

View File

@ -1,7 +1,7 @@
/* $NetBSD: amfs_linkx.c,v 1.1.1.5 2002/11/29 22:58:11 christos Exp $ */
/* $NetBSD: amfs_linkx.c,v 1.1.1.6 2003/03/09 01:13:07 christos Exp $ */
/*
* Copyright (c) 1997-2002 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.
@ -39,7 +39,7 @@
* SUCH DAMAGE.
*
*
* Id: amfs_linkx.c,v 1.11 2002/03/29 20:01:26 ib42 Exp
* Id: amfs_linkx.c,v 1.12 2002/12/27 22:43:47 ezk Exp
*
*/

View File

@ -1,7 +1,7 @@
/* $NetBSD: amfs_nfsl.c,v 1.1.1.5 2002/11/29 22:58:11 christos Exp $ */
/* $NetBSD: amfs_nfsl.c,v 1.1.1.6 2003/03/09 01:13:07 christos Exp $ */
/*
* Copyright (c) 1997-2002 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.
@ -39,7 +39,7 @@
* SUCH DAMAGE.
*
*
* Id: amfs_nfsl.c,v 1.13 2002/03/29 20:01:26 ib42 Exp
* Id: amfs_nfsl.c,v 1.15 2003/01/25 01:46:23 ib42 Exp
*
*/
@ -205,8 +205,10 @@ amfs_nfsl_umounted(mntfs *mf)
* type file system, and not NFS! (when it performs link target
* existence test)
*/
if (mf->mf_flags & MFF_MKMNT)
if (mf->mf_flags & MFF_MKMNT) {
rmdirs(mf->mf_real_mount);
mf->mf_flags &= ~MFF_MKMNT;
}
return;
}
}

View File

@ -1,7 +1,7 @@
/* $NetBSD: amfs_nfsx.c,v 1.1.1.5 2002/11/29 22:58:11 christos Exp $ */
/* $NetBSD: amfs_nfsx.c,v 1.1.1.6 2003/03/09 01:13:08 christos Exp $ */
/*
* Copyright (c) 1997-2002 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.
@ -39,7 +39,7 @@
* SUCH DAMAGE.
*
*
* Id: amfs_nfsx.c,v 1.13 2002/03/29 20:01:26 ib42 Exp
* Id: amfs_nfsx.c,v 1.14 2002/12/27 22:43:47 ezk Exp
*
*/

View File

@ -1,7 +1,7 @@
/* $NetBSD: amfs_program.c,v 1.1.1.5 2002/11/29 22:58:11 christos Exp $ */
/* $NetBSD: amfs_program.c,v 1.1.1.6 2003/03/09 01:13:08 christos Exp $ */
/*
* Copyright (c) 1997-2002 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 @@
* SUCH DAMAGE.
*
*
* Id: amfs_program.c,v 1.15 2002/03/29 20:01:27 ib42 Exp
* Id: amfs_program.c,v 1.17 2002/12/27 22:43:47 ezk Exp
*
*/
@ -145,7 +145,7 @@ amfs_program_exec(char *info)
/*
* Try the exec
*/
amuDebug(D_FULL) {
if (amuDebug(D_FULL)) {
char **cp = xivec;
plog(XLOG_DEBUG, "executing (un)mount command...");
while (*cp) {

View File

@ -1,7 +1,7 @@
/* $NetBSD: amfs_root.c,v 1.1.1.5 2002/11/29 22:58:12 christos Exp $ */
/* $NetBSD: amfs_root.c,v 1.1.1.6 2003/03/09 01:13:08 christos Exp $ */
/*
* Copyright (c) 1997-2002 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.
@ -39,7 +39,7 @@
* SUCH DAMAGE.
*
*
* Id: amfs_root.c,v 1.10 2002/03/29 20:01:27 ib42 Exp
* Id: amfs_root.c,v 1.11 2002/12/27 22:43:47 ezk Exp
*
*/

View File

@ -1,7 +1,7 @@
/* $NetBSD: amfs_toplvl.c,v 1.1.1.5 2002/11/29 22:58:12 christos Exp $ */
/* $NetBSD: amfs_toplvl.c,v 1.1.1.6 2003/03/09 01:13:08 christos Exp $ */
/*
* Copyright (c) 1997-2002 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.
@ -39,7 +39,7 @@
* SUCH DAMAGE.
*
*
* Id: amfs_toplvl.c,v 1.25 2002/06/23 01:05:38 ib42 Exp
* Id: amfs_toplvl.c,v 1.28 2002/12/27 22:43:48 ezk Exp
*
*/
@ -191,9 +191,7 @@ mount_amfs_toplvl(mntfs *mf, char *opts)
#ifndef HAVE_TRANSPORT_TYPE_TLI
/*
* Create sockaddr to point to the local machine. 127.0.0.1
* is not used since that will not work in HP-UX clusters and
* this is no more expensive.
* Create sockaddr to point to the local machine.
*/
memset((voidp) &sin, 0, sizeof(sin));
sin.sin_family = AF_INET;
@ -250,14 +248,14 @@ mount_amfs_toplvl(mntfs *mf, char *opts)
*************************************************************************/
compute_automounter_nfs_args(&nfs_args, &mnt);
amuDebug(D_TRACE) {
if (amuDebug(D_TRACE)) {
print_nfs_args(&nfs_args, 0);
plog(XLOG_DEBUG, "Generic mount flags 0x%x", genflags);
}
/* This is it! Here we try to mount amd on its mount points */
error = mount_fs2(&mnt, mf->mf_real_mount, genflags, (caddr_t) &nfs_args, retry, type,
0, NULL, mnttab_file_name);
error = mount_fs2(&mnt, mf->mf_real_mount, genflags, (caddr_t) &nfs_args,
retry, type, 0, NULL, mnttab_file_name);
#ifdef HAVE_TRANSPORT_TYPE_TLI
free_knetconfig(nfs_args.knconf);
@ -270,8 +268,8 @@ mount_amfs_toplvl(mntfs *mf, char *opts)
#ifdef HAVE_FS_AUTOFS
} else {
/* This is it! Here we try to mount amd on its mount points */
error = mount_fs2(&mnt, mf->mf_real_mount, genflags, (caddr_t) mf->mf_autofs_fh, retry,
type, 0, NULL, mnttab_file_name);
error = mount_fs2(&mnt, mf->mf_real_mount, genflags, (caddr_t) mf->mf_autofs_fh,
retry, type, 0, NULL, mnttab_file_name);
#endif /* HAVE_FS_AUTOFS */
}
@ -368,12 +366,6 @@ again:
if (lstat(mp->am_path, &stb) < 0)
dlog("lstat(%s): %m", mp->am_path);
#ifdef HAVE_FS_AUTOFS
if (mf->mf_flags & MFF_AUTOFS) {
autofs_release_fh(mf->mf_autofs_fh);
mf->mf_autofs_fh = 0;
}
#endif /* HAVE_FS_AUTOFS */
error = UMOUNT_FS(mp->am_path, mf->mf_real_mount, mnttab_file_name);
if (error == EBUSY) {
#ifdef HAVE_FS_AUTOFS

View File

@ -1,7 +1,7 @@
/* $NetBSD: amfs_union.c,v 1.1.1.5 2002/11/29 22:58:12 christos Exp $ */
/* $NetBSD: amfs_union.c,v 1.1.1.6 2003/03/09 01:13:08 christos Exp $ */
/*
* Copyright (c) 1997-2002 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.
@ -39,7 +39,7 @@
* SUCH DAMAGE.
*
*
* Id: amfs_union.c,v 1.11 2002/03/29 20:01:27 ib42 Exp
* Id: amfs_union.c,v 1.12 2002/12/27 22:43:48 ezk Exp
*
*/

View File

@ -1,7 +1,7 @@
/* $NetBSD: amq_svc.c,v 1.1.1.5 2002/11/29 22:58:12 christos Exp $ */
/* $NetBSD: amq_svc.c,v 1.1.1.6 2003/03/09 01:13:09 christos Exp $ */
/*
* Copyright (c) 1997-2002 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.
@ -39,7 +39,7 @@
* SUCH DAMAGE.
*
*
* Id: amq_svc.c,v 1.8 2002/02/02 20:58:54 ezk Exp
* Id: amq_svc.c,v 1.9 2002/12/27 22:43:48 ezk Exp
*
*/

View File

@ -1,7 +1,7 @@
/* $NetBSD: autil.c,v 1.1.1.5 2002/11/29 22:58:12 christos Exp $ */
/* $NetBSD: autil.c,v 1.1.1.6 2003/03/09 01:13:09 christos Exp $ */
/*
* Copyright (c) 1997-2002 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.
@ -39,7 +39,7 @@
* SUCH DAMAGE.
*
*
* Id: autil.c,v 1.22 2002/06/24 03:05:15 ib42 Exp
* Id: autil.c,v 1.27 2003/01/25 01:46:24 ib42 Exp
*
*/
@ -130,11 +130,11 @@ strsplit(char *s, int ch, int qc)
*/
ivec[ic++] = v;
ivec = (char **) xrealloc((voidp) ivec, (ic + 1) * sizeof(char *));
amuDebug(D_STR)
if (amuDebug(D_STR))
plog(XLOG_DEBUG, "strsplit saved \"%s\"", v);
}
amuDebug(D_STR)
if (amuDebug(D_STR))
plog(XLOG_DEBUG, "strsplit saved a total of %d strings", ic);
ivec[ic] = 0;
@ -294,7 +294,7 @@ am_mounted(am_node *mp)
mntent_t mnt;
if (mf->mf_mopts) {
mnt.mnt_opts = mf->mf_mopts;
if (hasmntopt(&mnt, "nounmount"))
if (amu_hasmntopt(&mnt, "nounmount"))
mp->am_flags |= AMF_NOTIMEOUT;
if ((mp->am_timeo = hasmntval(&mnt, "utimeout")) == 0)
mp->am_timeo = gopt.am_timeo;
@ -352,6 +352,11 @@ mount_node(am_node *mp)
mntfs *mf = mp->am_mnt;
int error = 0;
#ifdef HAVE_FS_AUTOFS
if (mf->mf_flags & MFF_AUTOFS)
mf->mf_autofs_fh = autofs_get_fh(mp);
#endif /* HAVE_FS_AUTOFS */
mf->mf_flags |= MFF_MOUNTING;
error = mf->mf_ops->mount_fs(mp, mf);
@ -359,10 +364,8 @@ mount_node(am_node *mp)
mf = mp->am_mnt;
if (error >= 0)
mf->mf_flags &= ~MFF_MOUNTING;
if (!error && !(mf->mf_fsflags & FS_MBACKGROUND)) {
/* ...but see ifs_mount - Huh? ifs_mount doesn't exist */
if (!error && !(mf->mf_fsflags & FS_MBACKGROUND))
am_mounted(mp);
}
return error;
}
@ -400,11 +403,14 @@ am_unmounted(am_node *mp)
*
* If we remove the mount point of a pending mount, any queued access
* to it will fail. So don't do it in that case.
* Also don't do it if the refcount is > 1.
*/
if (mf->mf_flags & MFF_MKMNT &&
mf->mf_refc == 1 &&
!(mp->am_flags & AMF_REMOUNT)) {
plog(XLOG_INFO, "removing mountpoint directory '%s'", mf->mf_real_mount);
rmdirs(mf->mf_real_mount);
mf->mf_flags &= ~MFF_MKMNT;
}
/*

View File

@ -1,7 +1,7 @@
/* $NetBSD: clock.c,v 1.1.1.5 2002/11/29 22:58:13 christos Exp $ */
/* $NetBSD: clock.c,v 1.1.1.6 2003/03/09 01:13:09 christos Exp $ */
/*
* Copyright (c) 1997-2002 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 @@
* SUCH DAMAGE.
*
*
* Id: clock.c,v 1.9 2002/06/23 05:37:53 ib42 Exp
* Id: clock.c,v 1.10 2002/12/27 22:43:48 ezk Exp
*
*/

View File

@ -1,7 +1,7 @@
/* $NetBSD: conf.c,v 1.1.1.5 2002/11/29 22:58:13 christos Exp $ */
/* $NetBSD: conf.c,v 1.1.1.6 2003/03/09 01:13:10 christos Exp $ */
/*
* Copyright (c) 1997-2002 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.
@ -39,7 +39,7 @@
* SUCH DAMAGE.
*
*
* Id: conf.c,v 1.13 2002/02/02 20:58:54 ezk Exp
* Id: conf.c,v 1.15 2002/12/27 22:43:48 ezk Exp
*
*/
@ -91,6 +91,7 @@ static int gopt_ldap_base(const char *val);
static int gopt_ldap_cache_maxmem(const char *val);
static int gopt_ldap_cache_seconds(const char *val);
static int gopt_ldap_hostports(const char *val);
static int gopt_ldap_proto_version(const char *val);
static int gopt_local_domain(const char *val);
static int gopt_log_file(const char *val);
static int gopt_log_options(const char *val);
@ -150,6 +151,7 @@ static struct _func_map glob_functable[] = {
{"ldap_cache_maxmem", gopt_ldap_cache_maxmem},
{"ldap_cache_seconds", gopt_ldap_cache_seconds},
{"ldap_hostports", gopt_ldap_hostports},
{"ldap_proto_version", gopt_ldap_proto_version},
{"local_domain", gopt_local_domain},
{"log_file", gopt_log_file},
{"log_options", gopt_log_options},
@ -527,6 +529,44 @@ gopt_ldap_hostports(const char *val)
}
static int
gopt_ldap_proto_version(const char *val)
{
#ifdef HAVE_MAP_LDAP
char *end;
gopt.ldap_proto_version = strtol((char *)val, &end, 10);
if (end == val) {
fprintf(stderr, "conf: bad ldap_proto_version option: %s\n",val);
return 1;
}
if (gopt.ldap_proto_version < 0 || gopt.ldap_proto_version > LDAP_VERSION_MAX) {
fprintf(stderr, "conf: bad ldap_proto_version option value: %s\n",val);
return 1;
}
switch (gopt.ldap_proto_version) {
/* XXX: what about LDAP_VERSION1? */
case LDAP_VERSION2:
#ifdef LDAP_VERSION3
case LDAP_VERSION3:
#endif /* LDAP_VERSION3 */
#ifdef LDAP_VERSION4
case LDAP_VERSION4:
#endif /* LDAP_VERSION4 */
break;
default:
fprintf(stderr, "conf: unsupported ldap_proto_version option value: %s\n",val);
return 1;
}
return 0;
#else /* not HAVE_MAP_LDAP */
fprintf(stderr, "conf: ldap_proto_version option ignored. No LDAP support available.\n");
return 1;
#endif /* not HAVE_MAP_LDAP */
}
static int
gopt_log_file(const char *val)
{

View File

@ -1,7 +1,7 @@
/* $NetBSD: conf_parse.y,v 1.1.1.5 2002/11/29 22:58:21 christos Exp $ */
/* $NetBSD: conf_parse.y,v 1.1.1.6 2003/03/09 01:13:05 christos Exp $ */
/*
* Copyright (c) 1997-2002 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 @@
* SUCH DAMAGE.
*
*
* Id: conf_parse.y,v 1.8 2002/02/02 20:58:54 ezk Exp
* Id: conf_parse.y,v 1.9 2002/12/27 22:43:48 ezk Exp
*
*/

View File

@ -1,8 +1,8 @@
/* $NetBSD: conf_tok.l,v 1.1.1.5 2002/11/29 22:58:21 christos Exp $ */
/* $NetBSD: conf_tok.l,v 1.1.1.6 2003/03/09 01:13:05 christos Exp $ */
%{
/*
* Copyright (c) 1997-2002 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.
@ -40,7 +40,7 @@
* SUCH DAMAGE.
*
*
* Id: conf_tok.l,v 1.6 2002/02/02 20:58:54 ezk Exp
* Id: conf_tok.l,v 1.7 2002/12/27 22:43:48 ezk Exp
*
*/

View File

@ -1,7 +1,7 @@
/* $NetBSD: get_args.c,v 1.1.1.5 2002/11/29 22:58:21 christos Exp $ */
/* $NetBSD: get_args.c,v 1.1.1.6 2003/03/09 01:13:17 christos Exp $ */
/*
* Copyright (c) 1997-2002 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.
@ -39,7 +39,7 @@
* SUCH DAMAGE.
*
*
* Id: get_args.c,v 1.17 2002/06/23 01:50:10 ezk Exp
* Id: get_args.c,v 1.19 2002/12/27 22:43:49 ezk Exp
*
*/
@ -80,7 +80,7 @@ get_version_string(void)
vers = xmalloc(2048 + wire_buf_len);
sprintf(vers, "%s\n%s\n%s\n%s\n",
"Copyright (c) 1997-2002 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.");
@ -332,14 +332,12 @@ get_args(int argc, char *argv[])
strcat(hostd, hostdomain);
#ifdef MOUNT_TABLE_ON_FILE
#ifdef DEBUG
amuDebug(D_MTAB)
if (amuDebug(D_MTAB))
mnttab_file_name = DEBUG_MNTTAB;
else
#endif /* DEBUG */
mnttab_file_name = MNTTAB_FILE_NAME;
#else /* not MOUNT_TABLE_ON_FILE */
amuDebug(D_MTAB)
if (amuDebug(D_MTAB))
dlog("-D mtab option ignored");
# ifdef MNTTAB_FILE_NAME
mnttab_file_name = MNTTAB_FILE_NAME;

View File

@ -1,7 +1,7 @@
/* $NetBSD: info_file.c,v 1.1.1.5 2002/11/29 22:58:17 christos Exp $ */
/* $NetBSD: info_file.c,v 1.1.1.6 2003/03/09 01:13:14 christos Exp $ */
/*
* Copyright (c) 1997-2002 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.
@ -39,7 +39,7 @@
* SUCH DAMAGE.
*
*
* Id: info_file.c,v 1.8 2002/02/02 20:58:54 ezk Exp
* Id: info_file.c,v 1.9 2002/12/27 22:43:49 ezk Exp
*
*/

View File

@ -1,7 +1,7 @@
/* $NetBSD: info_hesiod.c,v 1.1.1.5 2002/11/29 22:58:18 christos Exp $ */
/* $NetBSD: info_hesiod.c,v 1.1.1.6 2003/03/09 01:13:14 christos Exp $ */
/*
* Copyright (c) 1997-2002 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 @@
* SUCH DAMAGE.
*
*
* Id: info_hesiod.c,v 1.11 2002/06/23 01:05:38 ib42 Exp
* Id: info_hesiod.c,v 1.13 2002/12/27 22:43:49 ezk Exp
*
*/
@ -111,7 +111,7 @@ hesiod_search(mnt_map *m, char *map, char *key, char **pval, time_t *tp)
*/
dlog("Hesiod base is: %s\n", gopt.hesiod_base);
dlog("hesiod_search: hes_resolve(%s, %s)", hes_key, gopt.hesiod_base);
amuDebug(D_INFO)
if (amuDebug(D_INFO))
_res.options |= RES_DEBUG;
#ifdef HAVE_HESIOD_INIT

View File

@ -1,7 +1,7 @@
/* $NetBSD: info_ldap.c,v 1.1.1.5 2002/11/29 22:58:18 christos Exp $ */
/* $NetBSD: info_ldap.c,v 1.1.1.6 2003/03/09 01:13:14 christos Exp $ */
/*
* Copyright (c) 1997-2002 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 @@
* SUCH DAMAGE.
*
*
* Id: info_ldap.c,v 1.17 2002/06/22 18:16:14 ezk Exp
* Id: info_ldap.c,v 1.20 2002/12/27 22:43:49 ezk Exp
*
*/
@ -168,13 +168,54 @@ cr_free(CR *c)
}
/*
* Special ldap_unbind function to handle SIGPIPE.
* We first ignore SIGPIPE, in case a remote LDAP server was
* restarted, then we reinstall the handler.
*/
static int
amu_ldap_unbind(LDAP *ld)
{
int e;
#ifdef HAVE_SIGACTION
struct sigaction sa;
#else /* not HAVE_SIGACTION */
void (*handler)(int);
#endif /* not HAVE_SIGACTION */
dlog("amu_ldap_unbind()\n");
#ifdef HAVE_SIGACTION
sa.sa_handler = SIG_IGN;
sa.sa_flags = 0;
sigemptyset(&(sa.sa_mask));
sigaddset(&(sa.sa_mask), SIGPIPE);
sigaction(SIGPIPE, &sa, &sa); /* set IGNORE, and get old action */
#else /* not HAVE_SIGACTION */
handler = signal(SIGPIPE, SIG_IGN);
#endif /* not HAVE_SIGACTION */
e = ldap_unbind(ld);
#ifdef HAVE_SIGACTION
sigemptyset(&(sa.sa_mask));
sigaddset(&(sa.sa_mask), SIGPIPE);
sigaction(SIGPIPE, &sa, NULL);
#else /* not HAVE_SIGACTION */
(void) signal(SIGPIPE, handler);
#endif /* not HAVE_SIGACTION */
return e;
}
static void
ald_free(ALD *a)
{
he_free(a->hostent);
cr_free(a->credentials);
if (a->ldap != NULL)
ldap_unbind(a->ldap);
amu_ldap_unbind(a->ldap);
XFREE(a);
}
@ -243,7 +284,7 @@ amu_ldap_rebind(ALD *a)
if (a->ldap != NULL) {
if ((a->timestamp - now) > AMD_LDAP_TTL) {
dlog("Re-establishing ldap connection\n");
ldap_unbind(a->ldap);
amu_ldap_unbind(a->ldap);
a->timestamp = now;
a->ldap = NULL;
} else {
@ -259,6 +300,19 @@ amu_ldap_rebind(ALD *a)
plog(XLOG_WARNING, "Unable to ldap_open to %s:%d\n", h->host, h->port);
break;
}
#if LDAP_VERSION_MAX > LDAP_VERSION2
/* handle LDAPv3 and heigher, if available and amd.conf-igured */
if (gopt.ldap_proto_version > LDAP_VERSION2) {
if (!ldap_set_option(ld, LDAP_OPT_PROTOCOL_VERSION, &gopt.ldap_proto_version)) {
dlog("amu_ldap_rebind: LDAP protocol version set to %ld\n",
gopt.ldap_proto_version);
} else {
plog(XLOG_WARNING, "Unable to set ldap protocol version to %ld\n",
gopt.ldap_proto_version);
break;
}
}
#endif /* LDAP_VERSION_MAX > LDAP_VERSION2 */
if (ldap_bind_s(ld, c->who, c->pw, c->method) != LDAP_SUCCESS) {
plog(XLOG_WARNING, "Unable to ldap_bind to %s:%d as %s\n",
h->host, h->port, c->who);
@ -268,7 +322,7 @@ amu_ldap_rebind(ALD *a)
#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(%d) does not exist on this system!\n", gopt.ldap_cache_seconds);
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;
@ -319,7 +373,7 @@ get_ldap_timestamp(ALD *a, char *map, time_t *ts)
i + 1, ldap_err2string(err));
if (err != LDAP_TIMEOUT) {
dlog("get_ldap_timestamp: unbinding...\n");
ldap_unbind(a->ldap);
amu_ldap_unbind(a->ldap);
a->ldap = NULL;
if (amu_ldap_rebind(a))
return (ENOENT);
@ -433,7 +487,7 @@ amu_ldap_search(mnt_map *m, char *map, char *key, char **pval, time_t *ts)
i + 1, ldap_err2string(err));
if (err != LDAP_TIMEOUT) {
dlog("amu_ldap_search: unbinding...\n");
ldap_unbind(a->ldap);
amu_ldap_unbind(a->ldap);
a->ldap = NULL;
if (amu_ldap_rebind(a))
return (ENOENT);

View File

@ -1,7 +1,7 @@
/* $NetBSD: info_ndbm.c,v 1.1.1.5 2002/11/29 22:58:18 christos Exp $ */
/* $NetBSD: info_ndbm.c,v 1.1.1.6 2003/03/09 01:13:14 christos Exp $ */
/*
* Copyright (c) 1997-2002 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 @@
* SUCH DAMAGE.
*
*
* Id: info_ndbm.c,v 1.6 2002/02/02 20:58:54 ezk Exp
* Id: info_ndbm.c,v 1.7 2002/12/27 22:43:49 ezk Exp
*
*/

View File

@ -1,7 +1,7 @@
/* $NetBSD: info_nis.c,v 1.1.1.5 2002/11/29 22:58:18 christos Exp $ */
/* $NetBSD: info_nis.c,v 1.1.1.6 2003/03/09 01:13:15 christos Exp $ */
/*
* Copyright (c) 1997-2002 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 @@
* SUCH DAMAGE.
*
*
* Id: info_nis.c,v 1.12 2002/06/23 01:05:38 ib42 Exp
* Id: info_nis.c,v 1.13 2002/12/27 22:43:49 ezk Exp
*
*/

View File

@ -1,7 +1,7 @@
/* $NetBSD: info_nisplus.c,v 1.1.1.5 2002/11/29 22:58:18 christos Exp $ */
/* $NetBSD: info_nisplus.c,v 1.1.1.6 2003/03/09 01:13:15 christos Exp $ */
/*
* Copyright (c) 1997-2002 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 @@
* SUCH DAMAGE.
*
*
* Id: info_nisplus.c,v 1.8 2002/02/02 20:58:54 ezk Exp
* Id: info_nisplus.c,v 1.9 2002/12/27 22:43:49 ezk Exp
*
*/

View File

@ -1,7 +1,7 @@
/* $NetBSD: info_passwd.c,v 1.1.1.5 2002/11/29 22:58:19 christos Exp $ */
/* $NetBSD: info_passwd.c,v 1.1.1.6 2003/03/09 01:13:15 christos Exp $ */
/*
* Copyright (c) 1997-2002 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.
@ -39,7 +39,7 @@
* SUCH DAMAGE.
*
*
* Id: info_passwd.c,v 1.7 2002/02/02 20:58:54 ezk Exp
* Id: info_passwd.c,v 1.8 2002/12/27 22:43:49 ezk Exp
*
*/

View File

@ -1,7 +1,7 @@
/* $NetBSD: info_union.c,v 1.1.1.5 2002/11/29 22:58:19 christos Exp $ */
/* $NetBSD: info_union.c,v 1.1.1.6 2003/03/09 01:13:15 christos Exp $ */
/*
* Copyright (c) 1997-2002 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.
@ -39,7 +39,7 @@
* SUCH DAMAGE.
*
*
* Id: info_union.c,v 1.7 2002/02/02 20:58:54 ezk Exp
* Id: info_union.c,v 1.8 2002/12/27 22:43:49 ezk Exp
*
*/

View File

@ -1,7 +1,7 @@
/* $NetBSD: mapc.c,v 1.1.1.5 2002/11/29 22:58:14 christos Exp $ */
/* $NetBSD: mapc.c,v 1.1.1.6 2003/03/09 01:13:11 christos Exp $ */
/*
* Copyright (c) 1997-2002 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 @@
* SUCH DAMAGE.
*
*
* Id: mapc.c,v 1.15 2002/02/09 06:55:42 ib42 Exp
* Id: mapc.c,v 1.16 2002/12/27 22:43:50 ezk Exp
*
*/

View File

@ -1,7 +1,7 @@
/* $NetBSD: mntfs.c,v 1.1.1.5 2002/11/29 22:58:15 christos Exp $ */
/* $NetBSD: mntfs.c,v 1.1.1.6 2003/03/09 01:13:11 christos Exp $ */
/*
* Copyright (c) 1997-2002 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.
@ -39,7 +39,7 @@
* SUCH DAMAGE.
*
*
* Id: mntfs.c,v 1.21 2002/06/24 15:41:33 ib42 Exp
* Id: mntfs.c,v 1.24 2002/12/27 22:43:50 ezk Exp
*
*/
@ -278,6 +278,20 @@ free_mntfs(voidp v)
{
mntfs *mf = v;
dlog("free_mntfs <%s> type %s mf_refc %d flags %x",
mf->mf_mount, mf->mf_ops->fs_type, mf->mf_refc, mf->mf_flags);
/*
* 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,7 +1,7 @@
/* $NetBSD: nfs_prot_svc.c,v 1.1.1.5 2002/11/29 22:58:15 christos Exp $ */
/* $NetBSD: nfs_prot_svc.c,v 1.1.1.6 2003/03/09 01:13:11 christos Exp $ */
/*
* Copyright (c) 1997-2002 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 @@
* SUCH DAMAGE.
*
*
* Id: nfs_prot_svc.c,v 1.10 2002/02/02 20:58:55 ezk Exp
* Id: nfs_prot_svc.c,v 1.11 2002/12/27 22:43:50 ezk Exp
*
*/

View File

@ -1,7 +1,7 @@
/* $NetBSD: nfs_subr.c,v 1.1.1.5 2002/11/29 22:58:15 christos Exp $ */
/* $NetBSD: nfs_subr.c,v 1.1.1.6 2003/03/09 01:13:12 christos Exp $ */
/*
* Copyright (c) 1997-2002 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.
@ -39,7 +39,7 @@
* SUCH DAMAGE.
*
*
* Id: nfs_subr.c,v 1.14 2002/02/02 20:58:55 ezk Exp
* Id: nfs_subr.c,v 1.17 2002/12/27 22:43:50 ezk Exp
*
*/
@ -111,13 +111,13 @@ nfsproc_getattr_2_svc(am_nfs_fh *argp, struct svc_req *rqstp)
int retry;
time_t now = clocktime();
amuDebug(D_TRACE)
if (amuDebug(D_TRACE))
plog(XLOG_DEBUG, "getattr:");
mp = fh_to_mp2(argp, &retry);
if (mp == 0) {
amuDebug(D_TRACE)
if (amuDebug(D_TRACE))
plog(XLOG_DEBUG, "\tretry=%d", retry);
if (retry < 0) {
@ -128,7 +128,7 @@ nfsproc_getattr_2_svc(am_nfs_fh *argp, struct svc_req *rqstp)
} else {
nfsattrstat *attrp = &mp->am_attr;
amuDebug(D_TRACE)
if (amuDebug(D_TRACE))
plog(XLOG_DEBUG, "\tstat(%s), size = %d, mtime=%ld",
mp->am_path,
(int) attrp->ns_u.ns_attr_u.na_size,
@ -179,7 +179,7 @@ nfsproc_lookup_2_svc(nfsdiropargs *argp, struct svc_req *rqstp)
uid_t uid;
gid_t gid;
amuDebug(D_TRACE)
if (amuDebug(D_TRACE))
plog(XLOG_DEBUG, "lookup:");
/* finally, find the effective uid/gid from RPC request */
@ -198,7 +198,7 @@ nfsproc_lookup_2_svc(nfsdiropargs *argp, struct svc_req *rqstp)
} else {
int error;
am_node *ap;
amuDebug(D_TRACE)
if (amuDebug(D_TRACE))
plog(XLOG_DEBUG, "\tlookup(%s, %s)", mp->am_path, argp->da_name);
ap = mp->am_mnt->mf_ops->lookup_child(mp, argp->da_name, &error, VLOOK_CREATE);
if (ap && error < 0)
@ -278,7 +278,7 @@ nfsproc_readlink_2_svc(am_nfs_fh *argp, struct svc_req *rqstp)
am_node *mp;
int retry;
amuDebug(D_TRACE)
if (amuDebug(D_TRACE))
plog(XLOG_DEBUG, "readlink:");
mp = fh_to_mp2(argp, &retry);
@ -294,9 +294,8 @@ nfsproc_readlink_2_svc(am_nfs_fh *argp, struct svc_req *rqstp)
if (ln == 0)
goto readlink_retry;
res.rlr_status = NFS_OK;
amuDebug(D_TRACE)
if (ln)
plog(XLOG_DEBUG, "\treadlink(%s) = %s", mp->am_path, ln);
if (amuDebug(D_TRACE) && ln)
plog(XLOG_DEBUG, "\treadlink(%s) = %s", mp->am_path, ln);
res.rlr_u.rlr_data_u = ln;
mp->am_stats.s_readlink++;
}
@ -375,7 +374,7 @@ unlink_or_rmdir(nfsdiropargs *argp, struct svc_req *rqstp, int unlinkp)
goto out;
}
amuDebug(D_TRACE)
if (amuDebug(D_TRACE))
plog(XLOG_DEBUG, "\tremove(%s, %s)", mp->am_path, argp->da_name);
mp = mp->am_mnt->mf_ops->lookup_child(mp, argp->da_name, &retry, VLOOK_DELETE);
@ -488,7 +487,7 @@ nfsproc_readdir_2_svc(nfsreaddirargs *argp, struct svc_req *rqstp)
am_node *mp;
int retry;
amuDebug(D_TRACE)
if (amuDebug(D_TRACE))
plog(XLOG_DEBUG, "readdir:");
mp = fh_to_mp2(&argp->rda_fhandle, &retry);
@ -499,7 +498,7 @@ nfsproc_readdir_2_svc(nfsreaddirargs *argp, struct svc_req *rqstp)
}
res.rdr_status = nfs_error(retry);
} else {
amuDebug(D_TRACE)
if (amuDebug(D_TRACE))
plog(XLOG_DEBUG, "\treaddir(%s)", mp->am_path);
res.rdr_status = nfs_error((*mp->am_mnt->mf_ops->readdir)
(mp, argp->rda_cookie,
@ -519,7 +518,7 @@ nfsproc_statfs_2_svc(am_nfs_fh *argp, struct svc_req *rqstp)
int retry;
mntent_t mnt;
amuDebug(D_TRACE)
if (amuDebug(D_TRACE))
plog(XLOG_DEBUG, "statfs:");
mp = fh_to_mp2(argp, &retry);
@ -531,7 +530,7 @@ nfsproc_statfs_2_svc(am_nfs_fh *argp, struct svc_req *rqstp)
res.sfr_status = nfs_error(retry);
} else {
nfsstatfsokres *fp;
amuDebug(D_TRACE)
if (amuDebug(D_TRACE))
plog(XLOG_DEBUG, "\tstat_fs(%s)", mp->am_path);
/*
@ -546,7 +545,7 @@ nfsproc_statfs_2_svc(am_nfs_fh *argp, struct svc_req *rqstp)
if ((gopt.flags & CFM_SHOW_STATFS_ENTRIES) &&
mp->am_mnt && mp->am_mnt->mf_mopts) {
mnt.mnt_opts = mp->am_mnt->mf_mopts;
if (hasmntopt(&mnt, "browsable")) {
if (amu_hasmntopt(&mnt, "browsable")) {
count_map_entries(mp,
&fp->sfrok_blocks,
&fp->sfrok_bfree,

View File

@ -1,7 +1,7 @@
/* $NetBSD: ops_TEMPLATE.c,v 1.1.1.5 2002/11/29 22:58:21 christos Exp $ */
/* $NetBSD: ops_TEMPLATE.c,v 1.1.1.6 2003/03/09 01:13:17 christos Exp $ */
/*
* Copyright (c) 1997-2002 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.
@ -39,7 +39,7 @@
* SUCH DAMAGE.
*
*
* Id: ops_TEMPLATE.c,v 1.11 2002/03/29 20:01:28 ib42 Exp
* Id: ops_TEMPLATE.c,v 1.12 2002/12/27 22:43:50 ezk Exp
*
*/

View File

@ -1,7 +1,7 @@
/* $NetBSD: ops_cachefs.c,v 1.1.1.5 2002/11/29 22:58:19 christos Exp $ */
/* $NetBSD: ops_cachefs.c,v 1.1.1.6 2003/03/09 01:13:15 christos Exp $ */
/*
* Copyright (c) 1997-2002 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.
@ -39,7 +39,7 @@
* SUCH DAMAGE.
*
*
* Id: ops_cachefs.c,v 1.11 2002/03/29 20:01:28 ib42 Exp
* Id: ops_cachefs.c,v 1.12 2002/12/27 22:43:51 ezk Exp
*
*/

View File

@ -1,7 +1,7 @@
/* $NetBSD: ops_cdfs.c,v 1.1.1.5 2002/11/29 22:58:19 christos Exp $ */
/* $NetBSD: ops_cdfs.c,v 1.1.1.6 2003/03/09 01:13:15 christos Exp $ */
/*
* Copyright (c) 1997-2002 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.
@ -39,7 +39,7 @@
* SUCH DAMAGE.
*
*
* Id: ops_cdfs.c,v 1.16 2002/03/29 20:01:28 ib42 Exp
* Id: ops_cdfs.c,v 1.19 2002/12/27 22:43:51 ezk Exp
*
*/
@ -127,7 +127,7 @@ mount_cdfs(char *mntdir, char *real_mntdir, char *fs_name, char *opts, int on_au
mnt.mnt_opts = opts;
#if defined(MNT2_CDFS_OPT_DEFPERM) && defined(MNTTAB_OPT_DEFPERM)
if (hasmntopt(&mnt, MNTTAB_OPT_DEFPERM))
if (amu_hasmntopt(&mnt, MNTTAB_OPT_DEFPERM))
# ifdef MNT2_CDFS_OPT_DEFPERM
cdfs_flags |= MNT2_CDFS_OPT_DEFPERM;
# else /* not MNT2_CDFS_OPT_DEFPERM */
@ -136,30 +136,30 @@ mount_cdfs(char *mntdir, char *real_mntdir, char *fs_name, char *opts, int on_au
#endif /* defined(MNT2_CDFS_OPT_DEFPERM) && defined(MNTTAB_OPT_DEFPERM) */
#if defined(MNT2_CDFS_OPT_NODEFPERM) && defined(MNTTAB_OPT_NODEFPERM)
if (hasmntopt(&mnt, MNTTAB_OPT_NODEFPERM))
if (amu_hasmntopt(&mnt, MNTTAB_OPT_NODEFPERM))
cdfs_flags |= MNT2_CDFS_OPT_NODEFPERM;
#endif /* MNTTAB_OPT_NODEFPERM */
#if defined(MNT2_CDFS_OPT_NOVERSION) && defined(MNTTAB_OPT_NOVERSION)
if (hasmntopt(&mnt, MNTTAB_OPT_NOVERSION))
if (amu_hasmntopt(&mnt, MNTTAB_OPT_NOVERSION))
cdfs_flags |= MNT2_CDFS_OPT_NOVERSION;
#endif /* defined(MNT2_CDFS_OPT_NOVERSION) && defined(MNTTAB_OPT_NOVERSION) */
#if defined(MNT2_CDFS_OPT_RRIP) && defined(MNTTAB_OPT_RRIP)
if (hasmntopt(&mnt, MNTTAB_OPT_RRIP))
if (amu_hasmntopt(&mnt, MNTTAB_OPT_RRIP))
cdfs_flags |= MNT2_CDFS_OPT_RRIP;
#endif /* defined(MNT2_CDFS_OPT_RRIP) && defined(MNTTAB_OPT_RRIP) */
#if defined(MNT2_CDFS_OPT_NORRIP) && defined(MNTTAB_OPT_NORRIP)
if (hasmntopt(&mnt, MNTTAB_OPT_NORRIP))
if (amu_hasmntopt(&mnt, MNTTAB_OPT_NORRIP))
cdfs_flags |= MNT2_CDFS_OPT_NORRIP;
#endif /* defined(MNT2_CDFS_OPT_NORRIP) && defined(MNTTAB_OPT_NORRIP) */
#if defined(MNT2_CDFS_OPT_GENS) && defined(MNTTAB_OPT_GENS)
if (hasmntopt(&mnt, MNTTAB_OPT_GENS))
if (amu_hasmntopt(&mnt, MNTTAB_OPT_GENS))
cdfs_flags |= MNT2_CDFS_OPT_GENS;
#endif /* defined(MNT2_CDFS_OPT_GENS) && defined(MNTTAB_OPT_GENS) */
#if defined(MNT2_CDFS_OPT_EXTATT) && defined(MNTTAB_OPT_EXTATT)
if (hasmntopt(&mnt, MNTTAB_OPT_EXTATT))
if (amu_hasmntopt(&mnt, MNTTAB_OPT_EXTATT))
cdfs_flags |= MNT2_CDFS_OPT_EXTATT;
#endif /* defined(MNT2_CDFS_OPT_EXTATT) && defined(MNTTAB_OPT_EXTATT) */
@ -192,50 +192,14 @@ mount_cdfs(char *mntdir, char *real_mntdir, char *fs_name, char *opts, int on_au
#endif /* HAVE_CDFS_ARGS_T_SSECTOR */
#ifdef HAVE_CDFS_ARGS_T_FSPEC
cdfs_args.fspec = fs_name; /* NOTE: may be overridden below */
cdfs_args.fspec = fs_name;
#endif /* HAVE_CDFS_ARGS_T_FSPEC */
#ifdef HAVE_LOOP_DEVICE
if (hasmntopt(&mnt, MNTTAB_OPT_LOOP)) {
*lpname = setup_loop_device(mnt.mnt_fsname);
if (*lpname) {
char *str;
int len;
plog(XLOG_INFO, "setup loop device %s on %s OK", *lpname, mnt.mnt_fsname);
cdfs_args.fspec = *lpname; /* NOTE: overriding cdfs device! */
/* XXX: hack, append loop=/dev/loopX to mnttab opts */
len = strlen(mnt.mnt_opts) + 7 + strlen(*lpname);
str = (char *) xmalloc(len);
if (str) {
sprintf(str, "%s,loop=%s", mnt.mnt_opts, *lpname);
XFREE(mnt.mnt_opts);
mnt.mnt_opts = str;
}
} else {
plog(XLOG_ERROR, "failed to set up a loop device: %m");
return errno;
}
}
#endif /* HAVE_LOOP_DEVICE */
/*
* Call generic mount routine
*/
retval = mount_fs2(&mnt, real_mntdir, genflags, (caddr_t) &cdfs_args, 0, type, 0, NULL, mnttab_file_name);
#ifdef HAVE_LOOP_DEVICE
/* if mount failed and we used a loop device, then undo it */
if (retval != 0 && *lpname != NULL) {
if (delete_loop_device(*lpname) < 0) {
plog(XLOG_WARNING, "mount() failed to release loop device %s: %m", *lpname);
} else {
plog(XLOG_INFO, "mount() released loop device %s OK", *lpname);
}
XFREE(*lpname);
}
#endif /* HAVE_LOOP_DEVICE */
return retval;
}
@ -259,20 +223,5 @@ cdfs_mount(am_node *am, mntfs *mf)
static int
cdfs_umount(am_node *am, mntfs *mf)
{
int retval;
retval = UMOUNT_FS(mf->mf_mount, mf->mf_real_mount, mnttab_file_name);
#ifdef HAVE_LOOP_DEVICE
if (retval >= 0 && mf->mf_loopdev) {
if (delete_loop_device(mf->mf_loopdev) < 0) {
plog(XLOG_WARNING, "unmount() failed to release loop device %s: %m", mf->mf_loopdev);
} else {
plog(XLOG_INFO, "unmount() released loop device %s OK", mf->mf_loopdev);
}
XFREE(mf->mf_loopdev);
}
#endif /* HAVE_LOOP_DEVICE */
return retval;
return UMOUNT_FS(mf->mf_mount, mf->mf_real_mount, mnttab_file_name);
}

View File

@ -1,7 +1,7 @@
/* $NetBSD: ops_efs.c,v 1.1.1.5 2002/11/29 22:58:19 christos Exp $ */
/* $NetBSD: ops_efs.c,v 1.1.1.6 2003/03/09 01:13:15 christos Exp $ */
/*
* Copyright (c) 1997-2002 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.
@ -39,7 +39,7 @@
* SUCH DAMAGE.
*
*
* Id: ops_efs.c,v 1.12 2002/03/29 20:01:28 ib42 Exp
* Id: ops_efs.c,v 1.13 2002/12/27 22:43:51 ezk Exp
*
*/

View File

@ -1,7 +1,7 @@
/* $NetBSD: ops_lofs.c,v 1.1.1.5 2002/11/29 22:58:19 christos Exp $ */
/* $NetBSD: ops_lofs.c,v 1.1.1.6 2003/03/09 01:13:16 christos Exp $ */
/*
* Copyright (c) 1997-2002 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.
@ -39,7 +39,7 @@
* SUCH DAMAGE.
*
*
* Id: ops_lofs.c,v 1.12 2002/03/29 20:01:28 ib42 Exp
* Id: ops_lofs.c,v 1.13 2002/12/27 22:43:51 ezk Exp
*
*/

View File

@ -1,7 +1,7 @@
/* $NetBSD: ops_mfs.c,v 1.1.1.5 2002/11/29 22:58:19 christos Exp $ */
/* $NetBSD: ops_mfs.c,v 1.1.1.6 2003/03/09 01:13:16 christos Exp $ */
/*
* Copyright (c) 1997-2002 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.
@ -39,7 +39,7 @@
* SUCH DAMAGE.
*
*
* Id: ops_mfs.c,v 1.6 2002/02/02 20:58:55 ezk Exp
* Id: ops_mfs.c,v 1.7 2002/12/27 22:43:51 ezk Exp
*
*/

View File

@ -1,7 +1,7 @@
/* $NetBSD: ops_nfs.c,v 1.1.1.5 2002/11/29 22:58:20 christos Exp $ */
/* $NetBSD: ops_nfs.c,v 1.1.1.6 2003/03/09 01:13:16 christos Exp $ */
/*
* Copyright (c) 1997-2002 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.
@ -39,7 +39,7 @@
* SUCH DAMAGE.
*
*
* Id: ops_nfs.c,v 1.18 2002/06/23 01:05:39 ib42 Exp
* Id: ops_nfs.c,v 1.23 2003/01/25 01:39:41 ib42 Exp
*
*/
@ -662,7 +662,7 @@ mount_nfs_fh(am_nfs_handle_t *fhp, char *mntdir, char *real_mntdir, char *fs_nam
fs_name);
/* finally call the mounting function */
amuDebug(D_TRACE) {
if (amuDebug(D_TRACE)) {
print_nfs_args(&nfs_args, nfs_version);
plog(XLOG_DEBUG, "Generic mount flags 0x%x used for NFS mount", genflags);
}
@ -684,12 +684,18 @@ int
nfs_mount(am_node *am, mntfs *mf)
{
int error = 0;
mntent_t mnt;
if (!mf->mf_private) {
plog(XLOG_ERROR, "Missing filehandle for %s", mf->mf_info);
return EINVAL;
}
mnt.mnt_opts = mf->mf_mopts;
if (amu_hasmntopt(&mnt, "softlookup") ||
(amu_hasmntopt(&mnt, "soft") && !amu_hasmntopt(&mnt, "nosoftlookup")))
am->am_flags |= AMF_SOFTLOOKUP;
error = mount_nfs_fh((am_nfs_handle_t *) mf->mf_private,
mf->mf_mount,
mf->mf_real_mount,
@ -768,7 +774,7 @@ nfs_umounted(mntfs *mf)
* Call the mount daemon on the server to announce that we are not using
* the fs any more.
*
* This is *wrong*. The mountd should be called when the fhandle is
* XXX: This is *wrong*. The mountd should be called when the fhandle is
* flushed from the cache, and a reference held to the cached entry while
* the fs is mounted...
*/

View File

@ -1,7 +1,7 @@
/* $NetBSD: ops_nfs3.c,v 1.1.1.5 2002/11/29 22:58:20 christos Exp $ */
/* $NetBSD: ops_nfs3.c,v 1.1.1.6 2003/03/09 01:13:16 christos Exp $ */
/*
* Copyright (c) 1997-2002 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.
@ -39,7 +39,7 @@
* SUCH DAMAGE.
*
*
* Id: ops_nfs3.c,v 1.6 2002/02/02 20:58:55 ezk Exp
* Id: ops_nfs3.c,v 1.7 2002/12/27 22:43:51 ezk Exp
*
*/

View File

@ -1,7 +1,7 @@
/* $NetBSD: ops_nullfs.c,v 1.1.1.5 2002/11/29 22:58:20 christos Exp $ */
/* $NetBSD: ops_nullfs.c,v 1.1.1.6 2003/03/09 01:13:16 christos Exp $ */
/*
* Copyright (c) 1997-2002 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.
@ -39,7 +39,7 @@
* SUCH DAMAGE.
*
*
* Id: ops_nullfs.c,v 1.6 2002/02/02 20:58:55 ezk Exp
* Id: ops_nullfs.c,v 1.7 2002/12/27 22:43:51 ezk Exp
*
*/

View File

@ -1,7 +1,7 @@
/* $NetBSD: ops_pcfs.c,v 1.1.1.5 2002/11/29 22:58:20 christos Exp $ */
/* $NetBSD: ops_pcfs.c,v 1.1.1.6 2003/03/09 01:13:16 christos Exp $ */
/*
* Copyright (c) 1997-2002 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.
@ -39,7 +39,7 @@
* SUCH DAMAGE.
*
*
* Id: ops_pcfs.c,v 1.12 2002/03/29 20:01:29 ib42 Exp
* Id: ops_pcfs.c,v 1.13 2002/12/27 22:43:51 ezk Exp
*
*/

View File

@ -1,7 +1,7 @@
/* $NetBSD: ops_tfs.c,v 1.1.1.5 2002/11/29 22:58:20 christos Exp $ */
/* $NetBSD: ops_tfs.c,v 1.1.1.6 2003/03/09 01:13:16 christos Exp $ */
/*
* Copyright (c) 1997-2002 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.
@ -39,7 +39,7 @@
* SUCH DAMAGE.
*
*
* Id: ops_tfs.c,v 1.6 2002/02/02 20:58:55 ezk Exp
* Id: ops_tfs.c,v 1.7 2002/12/27 22:43:52 ezk Exp
*
*/

View File

@ -1,7 +1,7 @@
/* $NetBSD: ops_tmpfs.c,v 1.1.1.5 2002/11/29 22:58:20 christos Exp $ */
/* $NetBSD: ops_tmpfs.c,v 1.1.1.6 2003/03/09 01:13:16 christos Exp $ */
/*
* Copyright (c) 1997-2002 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.
@ -39,7 +39,7 @@
* SUCH DAMAGE.
*
*
* Id: ops_tmpfs.c,v 1.6 2002/02/02 20:58:55 ezk Exp
* Id: ops_tmpfs.c,v 1.7 2002/12/27 22:43:52 ezk Exp
*
*/

View File

@ -1,7 +1,7 @@
/* $NetBSD: ops_ufs.c,v 1.1.1.5 2002/11/29 22:58:20 christos Exp $ */
/* $NetBSD: ops_ufs.c,v 1.1.1.6 2003/03/09 01:13:17 christos Exp $ */
/*
* Copyright (c) 1997-2002 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.
@ -39,7 +39,7 @@
* SUCH DAMAGE.
*
*
* Id: ops_ufs.c,v 1.12 2002/03/29 20:01:29 ib42 Exp
* Id: ops_ufs.c,v 1.13 2002/12/27 22:43:52 ezk Exp
*
*/

View File

@ -1,7 +1,7 @@
/* $NetBSD: ops_umapfs.c,v 1.1.1.5 2002/11/29 22:58:20 christos Exp $ */
/* $NetBSD: ops_umapfs.c,v 1.1.1.6 2003/03/09 01:13:17 christos Exp $ */
/*
* Copyright (c) 1997-2002 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.
@ -39,7 +39,7 @@
* SUCH DAMAGE.
*
*
* Id: ops_umapfs.c,v 1.6 2002/02/02 20:58:55 ezk Exp
* Id: ops_umapfs.c,v 1.7 2002/12/27 22:43:52 ezk Exp
*
*/

View File

@ -1,7 +1,7 @@
/* $NetBSD: ops_unionfs.c,v 1.1.1.5 2002/11/29 22:58:20 christos Exp $ */
/* $NetBSD: ops_unionfs.c,v 1.1.1.6 2003/03/09 01:13:17 christos Exp $ */
/*
* Copyright (c) 1997-2002 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.
@ -39,7 +39,7 @@
* SUCH DAMAGE.
*
*
* Id: ops_unionfs.c,v 1.6 2002/02/02 20:58:55 ezk Exp
* Id: ops_unionfs.c,v 1.7 2002/12/27 22:43:52 ezk Exp
*
*/

View File

@ -1,7 +1,7 @@
/* $NetBSD: ops_xfs.c,v 1.1.1.5 2002/11/29 22:58:21 christos Exp $ */
/* $NetBSD: ops_xfs.c,v 1.1.1.6 2003/03/09 01:13:17 christos Exp $ */
/*
* Copyright (c) 1997-2002 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.
@ -39,7 +39,7 @@
* SUCH DAMAGE.
*
*
* Id: ops_xfs.c,v 1.13 2002/03/29 20:01:29 ib42 Exp
* Id: ops_xfs.c,v 1.14 2002/12/27 22:43:52 ezk Exp
*
*/

View File

@ -1,7 +1,7 @@
/* $NetBSD: restart.c,v 1.1.1.5 2002/11/29 22:58:16 christos Exp $ */
/* $NetBSD: restart.c,v 1.1.1.6 2003/03/09 01:13:13 christos Exp $ */
/*
* Copyright (c) 1997-2002 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.
@ -39,7 +39,7 @@
* SUCH DAMAGE.
*
*
* Id: restart.c,v 1.7 2002/02/02 20:58:56 ezk Exp
* Id: restart.c,v 1.9 2002/12/27 22:43:52 ezk Exp
*
*/
@ -50,6 +50,75 @@
#include <amd.h>
static void
restart_fake_mntfs(mntent_t *me, am_ops *fs_ops)
{
mntfs *mf;
am_opts mo;
char *cp;
/*
* Partially fake up an opts structure
*/
memset(&mo, 0, sizeof(mo));
mo.opt_rhost = 0;
mo.opt_rfs = 0;
cp = strchr(me->mnt_fsname, ':');
if (cp) {
*cp = '\0';
mo.opt_rhost = strdup(me->mnt_fsname);
mo.opt_rfs = strdup(cp + 1);
*cp = ':';
} else if (STREQ(me->mnt_type, MNTTAB_TYPE_NFS)) {
/*
* Hacky workaround for mnttab NFS entries that only list the server
*/
plog(XLOG_WARNING, "NFS server entry assumed to be %s:/", me->mnt_fsname);
mo.opt_rhost = strdup(me->mnt_fsname);
mo.opt_rfs = strdup("/");
me->mnt_fsname = str3cat(me->mnt_fsname, mo.opt_rhost, ":", "/");
}
mo.opt_fs = me->mnt_dir;
mo.opt_opts = me->mnt_opts;
/*
* Make a new mounted filesystem
*/
mf = find_mntfs(fs_ops, &mo, me->mnt_dir,
me->mnt_fsname, "", me->mnt_opts, "");
if (mf->mf_refc == 1) {
mf->mf_flags |= MFF_RESTART | MFF_MOUNTED;
mf->mf_error = 0; /* Already mounted correctly */
mf->mf_fo = 0;
/*
* Only timeout non-NFS entries
*/
if (!STREQ(me->mnt_type, MNTTAB_TYPE_NFS))
mf->mf_flags |= MFF_RSTKEEP;
if (fs_ops->fs_init) {
/*
* Don't care whether this worked since
* it is checked again when the fs is
* inherited.
*/
(void) (*fs_ops->fs_init) (mf);
}
plog(XLOG_INFO, "%s restarted fstype %s on %s",
me->mnt_fsname, fs_ops->fs_type, me->mnt_dir);
} else {
/* Something strange happened - two mounts at the same place! */
free_mntfs(mf);
}
/*
* Clean up mo
*/
if (mo.opt_rhost)
XFREE(mo.opt_rhost);
if (mo.opt_rfs)
XFREE(mo.opt_rfs);
}
/*
* Handle an amd restart.
*
@ -79,12 +148,18 @@ restart(void)
mlp = mlp->mnext) {
mntent_t *me = mlp->mnt;
am_ops *fs_ops = 0;
if (STREQ(me->mnt_type, MNTTAB_TYPE_UFS)) {
/*
* UFS entry
*/
fs_ops = &ufs_ops;
} else if (STREQ(me->mnt_type, MNTTAB_TYPE_NFS)) {
/* Search for the correct filesystem ops */
fs_ops = ops_search(me->mnt_type);
/*
* Catch everything else with symlinks to
* avoid recursive mounts. This is debatable...
*/
if (!fs_ops)
fs_ops = &amfs_link_ops;
if (STREQ(me->mnt_type, MNTTAB_TYPE_NFS)) {
/*
* NFS entry, or possibly an Amd entry...
* The mnt_fsname for daemon mount points is
@ -97,110 +172,10 @@ restart(void)
if (colon && strstr(colon, "(pid")) {
plog(XLOG_WARNING, "%s is an existing automount point", me->mnt_dir);
fs_ops = &amfs_link_ops;
} else {
fs_ops = &nfs_ops;
}
#ifdef MNTTAB_TYPE_NFS3
} else if (STREQ(me->mnt_type, MNTTAB_TYPE_NFS3)) {
fs_ops = &nfs_ops;
#endif /* MNTTAB_TYPE_NFS3 */
#ifdef MNTTAB_TYPE_LOFS
} else if (STREQ(me->mnt_type, MNTTAB_TYPE_LOFS)) {
fs_ops = &lofs_ops;
#endif /* MNTTAB_TYPE_LOFS */
#ifdef MNTTAB_TYPE_CDFS
} else if (STREQ(me->mnt_type, MNTTAB_TYPE_CDFS)) {
fs_ops = &cdfs_ops;
#endif /* MNTTAB_TYPE_CDFS */
#ifdef MNTTAB_TYPE_PCFS
} else if (STREQ(me->mnt_type, MNTTAB_TYPE_PCFS)) {
fs_ops = &pcfs_ops;
#endif /* MNTTAB_TYPE_PCFS */
#ifdef MNTTAB_TYPE_MFS
} else if (STREQ(me->mnt_type, MNTTAB_TYPE_MFS)) {
/*
* MFS entry. Fake with a symlink.
*/
fs_ops = &amfs_link_ops;
#endif /* MNTTAB_TYPE_MFS */
} else {
/*
* Catch everything else with symlinks to
* avoid recursive mounts. This is debatable...
*/
fs_ops = &amfs_link_ops;
}
/*
* If we found something to do
*/
if (fs_ops) {
mntfs *mf;
am_opts mo;
char *cp;
cp = strchr(me->mnt_fsname, ':');
/*
* Partially fake up an opts structure
*/
memset(&mo, 0, sizeof(mo));
mo.opt_rhost = 0;
mo.opt_rfs = 0;
if (cp) {
*cp = '\0';
mo.opt_rhost = strdup(me->mnt_fsname);
mo.opt_rfs = strdup(cp + 1);
*cp = ':';
} else if (fs_ops->ffserver == find_nfs_srvr) {
/*
* Prototype 4.4 BSD used to end up here -
* might as well keep the workaround for now
*/
plog(XLOG_WARNING, "NFS server entry assumed to be %s:/", me->mnt_fsname);
mo.opt_rhost = strdup(me->mnt_fsname);
mo.opt_rfs = strdup("/");
me->mnt_fsname = str3cat(me->mnt_fsname, mo.opt_rhost, ":", "/");
}
mo.opt_fs = me->mnt_dir;
mo.opt_opts = me->mnt_opts;
/*
* Make a new mounted filesystem
*/
mf = find_mntfs(fs_ops, &mo, me->mnt_dir,
me->mnt_fsname, "", me->mnt_opts, "");
if (mf->mf_refc == 1) {
mf->mf_flags |= MFF_RESTART | MFF_MOUNTED;
mf->mf_error = 0; /* Already mounted correctly */
mf->mf_fo = 0;
/*
* If the restarted type is a link then
* don't time out.
*/
if (fs_ops == &amfs_link_ops || fs_ops == &ufs_ops)
mf->mf_flags |= MFF_RSTKEEP;
if (fs_ops->fs_init) {
/*
* Don't care whether this worked since
* it is checked again when the fs is
* inherited.
*/
(void) (*fs_ops->fs_init) (mf);
}
plog(XLOG_INFO, "%s restarted fstype %s on %s",
me->mnt_fsname, fs_ops->fs_type, me->mnt_dir);
} else {
/* Something strange happened - two mounts at the same place! */
free_mntfs(mf);
}
/*
* Clean up mo
*/
if (mo.opt_rhost)
XFREE(mo.opt_rhost);
if (mo.opt_rfs)
XFREE(mo.opt_rfs);
}
restart_fake_mntfs(me, fs_ops);
}
/*

View File

@ -1,7 +1,7 @@
/* $NetBSD: rpc_fwd.c,v 1.1.1.5 2002/11/29 22:58:17 christos Exp $ */
/* $NetBSD: rpc_fwd.c,v 1.1.1.6 2003/03/09 01:13:13 christos Exp $ */
/*
* Copyright (c) 1997-2002 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 @@
* SUCH DAMAGE.
*
*
* Id: rpc_fwd.c,v 1.8 2002/02/02 20:58:56 ezk Exp
* Id: rpc_fwd.c,v 1.9 2002/12/27 22:43:52 ezk Exp
*
*/

View File

@ -1,7 +1,7 @@
/* $NetBSD: srvr_amfs_auto.c,v 1.1.1.5 2002/11/29 22:58:17 christos Exp $ */
/* $NetBSD: srvr_amfs_auto.c,v 1.1.1.6 2003/03/09 01:13:13 christos Exp $ */
/*
* Copyright (c) 1997-2002 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 @@
* SUCH DAMAGE.
*
*
* Id: srvr_amfs_auto.c,v 1.9 2002/02/02 20:58:56 ezk Exp
* Id: srvr_amfs_auto.c,v 1.10 2002/12/27 22:43:53 ezk Exp
*
*/

View File

@ -1,6 +1,6 @@
#! /bin/sh
#
# $NetBSD: amd2netbsd,v 1.1 2000/11/20 00:52:32 wiz Exp $
# $NetBSD: amd2netbsd,v 1.1.1.1 2003/03/09 01:13:04 christos Exp $
#
# Copyright (c) 2000 The NetBSD Foundation, Inc.
# All rights reserved.
@ -34,7 +34,7 @@
# POSSIBILITY OF SUCH DAMAGE.
#
# amd2netbsd: convert an amd source tree into a
# netbsd amd source tree, under basesrc/dist,
# netbsd amd source tree, under src/dist,
# based on bind2netbsd by Bernd Ernesti and changes by Simon Burge
#
# Rough instructions for importing new amd release:
@ -42,14 +42,14 @@
# $ cd /some/where/temporary
# $ tar xpfz /new/amd/release/tar/file
# $ sh /usr/src/dist/am-utils/amd2netbsd am-utils-6.x.y `pwd`
# $ cd basesrc/dist/am-utils
# $ cvs import -m "Import am-utils 6.x.y" basesrc/dist/am-utils ezk am-utils-6-x-y
# $ cd src/dist/am-utils
# $ cvs import -m "Import am-utils 6.x.y" src/dist/am-utils ezk am-utils-6-x-y
# $ cd ../../../am-utils-6.x.y
# $ run ./configure
# merge newly generated config.h with /usr/src/usr.sbin/amd/include/config.h
# very carefully, since autoconfig seems to be broken (at least in 6.0.4)
# $ cd ..
# $ rm -r basesrc am-utils-6.x.y
# $ rm -r src am-utils-6.x.y
# $ cd /usr/src/usr.sbin/amd
# $ cvs commit -m "Updated autoconf generated files for am-utils 6.x.y."
#
@ -59,7 +59,7 @@
if [ $# -ne 2 ]; then echo "amd2netbsd src dest"; exit 1; fi
r=$1
d=$2/basesrc/dist/am-utils
d=$2/src/dist/am-utils
case "$d" in
/*)

View File

@ -1,6 +1,7 @@
# Makefile.in generated automatically by automake 1.5 from Makefile.am.
# Makefile.in generated by automake 1.6.3 from Makefile.am.
# @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
# Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@ -16,7 +17,6 @@
# Package: am-utils
# Level: Makefile for amq/ directory
# Author: Erez Zadok
SHELL = @SHELL@
srcdir = @srcdir@
@ -47,9 +47,13 @@ AUTOCONF = @AUTOCONF@
AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_HEADER = $(INSTALL_DATA)
transform = @program_transform_name@
@ -61,9 +65,16 @@ PRE_UNINSTALL = :
POST_UNINSTALL = :
host_alias = @host_alias@
host_triplet = @host@
EXEEXT = @EXEEXT@
OBJEXT = @OBJEXT@
PATH_SEPARATOR = @PATH_SEPARATOR@
AMD_FS_OBJS = @AMD_FS_OBJS@
AMD_INFO_OBJS = @AMD_INFO_OBJS@
AMTAR = @AMTAR@
# allow users to add their own flags via "configure --enable-am-flags=ARG"
AMU_CFLAGS = @AMU_CFLAGS@
AMU_LIB_OBJS = @AMU_LIB_OBJS@
AMU_NFS_PROT_HEADER = @AMU_NFS_PROT_HEADER@
AR = @AR@
@ -74,16 +85,16 @@ CPP = @CPP@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
ECHO = @ECHO@
EXEEXT = @EXEEXT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LEX = @LEX@
LEXLIB = @LEXLIB@
LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
LIBTOOL = @LIBTOOL@
LIBTOOL_DEPS = @LIBTOOL_DEPS@
LIBTOOL_LDFLAGS = @LIBTOOL_LDFLAGS@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PERL = @PERL@
RANLIB = @RANLIB@
@ -96,9 +107,6 @@ am_utils_unmount_args = @am_utils_unmount_args@
am_utils_unmount_call = @am_utils_unmount_call@
install_sh = @install_sh@
# allow users to add their own flags via "configure --enable-am-flags=ARG"
AMU_CFLAGS = @AMU_CFLAGS@
sbin_PROGRAMS = amq
bin_PROGRAMS = pawd
@ -143,6 +151,7 @@ CPPFLAGS = @CPPFLAGS@
LDFLAGS = @LDFLAGS@
LIBS = @LIBS@
depcomp =
am__depfiles_maybe =
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \
@ -163,22 +172,12 @@ all: all-am
.SUFFIXES:
.SUFFIXES: .c .lo .o .obj
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
distclean-libtool:
-rm -f libtool
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu --ignore-deps amq/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) && \
CONFIG_HEADERS= CONFIG_LINKS= \
CONFIG_FILES=$(subdir)/$@ $(SHELL) ./config.status
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
install-binPROGRAMS: $(bin_PROGRAMS)
@$(NORMAL_INSTALL)
$(mkinstalldirs) $(DESTDIR)$(bindir)
@ -187,22 +186,27 @@ install-binPROGRAMS: $(bin_PROGRAMS)
if test -f $$p \
|| test -f $$p1 \
; then \
f=`echo $$p1|sed '$(transform);s/$$/$(EXEEXT)/'`; \
echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/$$f"; \
$(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/$$f; \
f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) $$p $(DESTDIR)$(bindir)/$$f"; \
$(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) $$p $(DESTDIR)$(bindir)/$$f; \
else :; fi; \
done
uninstall-binPROGRAMS:
@$(NORMAL_UNINSTALL)
@list='$(bin_PROGRAMS)'; for p in $$list; do \
f=`echo $$p|sed 's/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
echo " rm -f $(DESTDIR)$(bindir)/$$f"; \
rm -f $(DESTDIR)$(bindir)/$$f; \
done
clean-binPROGRAMS:
-test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
@list='$(bin_PROGRAMS)'; for p in $$list; do \
f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
echo " rm -f $$p $$f"; \
rm -f $$p $$f ; \
done
sbinPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
install-sbinPROGRAMS: $(sbin_PROGRAMS)
@$(NORMAL_INSTALL)
$(mkinstalldirs) $(DESTDIR)$(sbindir)
@ -211,22 +215,26 @@ install-sbinPROGRAMS: $(sbin_PROGRAMS)
if test -f $$p \
|| test -f $$p1 \
; then \
f=`echo $$p1|sed '$(transform);s/$$/$(EXEEXT)/'`; \
echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(sbindir)/$$f"; \
$(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(sbindir)/$$f; \
f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(sbinPROGRAMS_INSTALL) $$p $(DESTDIR)$(sbindir)/$$f"; \
$(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(sbinPROGRAMS_INSTALL) $$p $(DESTDIR)$(sbindir)/$$f; \
else :; fi; \
done
uninstall-sbinPROGRAMS:
@$(NORMAL_UNINSTALL)
@list='$(sbin_PROGRAMS)'; for p in $$list; do \
f=`echo $$p|sed 's/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
echo " rm -f $(DESTDIR)$(sbindir)/$$f"; \
rm -f $(DESTDIR)$(sbindir)/$$f; \
done
clean-sbinPROGRAMS:
-test -z "$(sbin_PROGRAMS)" || rm -f $(sbin_PROGRAMS)
@list='$(sbin_PROGRAMS)'; for p in $$list; do \
f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
echo " rm -f $$p $$f"; \
rm -f $$p $$f ; \
done
amq$(EXEEXT): $(amq_OBJECTS) $(amq_DEPENDENCIES)
@rm -f amq$(EXEEXT)
$(LINK) $(amq_LDFLAGS) $(amq_OBJECTS) $(amq_LDADD) $(LIBS)
@ -241,13 +249,22 @@ distclean-compile:
-rm -f *.tab.c
.c.o:
$(COMPILE) -c `test -f $< || echo '$(srcdir)/'`$<
$(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
.c.obj:
$(COMPILE) -c `cygpath -w $<`
.c.lo:
$(LTCOMPILE) -c -o $@ `test -f $< || echo '$(srcdir)/'`$<
$(LTCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
distclean-libtool:
-rm -f libtool
uninstall-info-am:
man1dir = $(mandir)/man1
@ -265,6 +282,10 @@ install-man1: $(man1_MANS) $(man_MANS)
if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \
else file=$$i; fi; \
ext=`echo $$i | sed -e 's/^.*\\.//'`; \
case "$$ext" in \
1*) ;; \
*) ext='1' ;; \
esac; \
inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
inst=`echo $$inst | sed -e 's/^.*\///'`; \
inst=`echo $$inst | sed '$(transform)'`.$$ext; \
@ -304,6 +325,10 @@ install-man8: $(man8_MANS) $(man_MANS)
if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \
else file=$$i; fi; \
ext=`echo $$i | sed -e 's/^.*\\.//'`; \
case "$$ext" in \
8*) ;; \
*) ext='8' ;; \
esac; \
inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
inst=`echo $$inst | sed -e 's/^.*\///'`; \
inst=`echo $$inst | sed '$(transform)'`.$$ext; \
@ -328,53 +353,61 @@ uninstall-man8:
rm -f $(DESTDIR)$(man8dir)/$$inst; \
done
ETAGS = etags
ETAGSFLAGS =
tags: TAGS
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
mkid -fID $$unique $(LISP)
mkid -fID $$unique
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
|| etags $(ETAGS_ARGS) $$tags $$unique $(LISP)
test -z "$(ETAGS_ARGS)$$tags$$unique" \
|| $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique
GTAGS:
here=`CDPATH=: && cd $(top_builddir) && pwd` \
here=`$(am__cd) $(top_builddir) && pwd` \
&& cd $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) $$here
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = ..
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
distdir: $(DISTFILES)
@for file in $(DISTFILES); do \
if test -f $$file; then d=.; else d=$(srcdir); fi; \
@list='$(DISTFILES)'; for file in $$list; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
$(mkinstalldirs) "$(distdir)/$$dir"; \
dir="/$$dir"; \
$(mkinstalldirs) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
if test -d $$d/$$file; then \
cp -pR $$d/$$file $(distdir) \
|| exit 1; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
@ -399,6 +432,7 @@ install-am: all-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
@ -406,7 +440,7 @@ mostlyclean-generic:
clean-generic:
distclean-generic:
-rm -f Makefile $(CONFIG_CLEAN_FILES) stamp-h stamp-h[0-9]*
-rm -f Makefile $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"

View File

@ -1,7 +1,7 @@
/* $NetBSD: amq.h,v 1.1.1.5 2002/11/29 22:58:21 christos Exp $ */
/* $NetBSD: amq.h,v 1.1.1.6 2003/03/09 01:13:18 christos Exp $ */
/*
* Copyright (c) 1997-2002 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.
@ -39,7 +39,7 @@
* SUCH DAMAGE.
*
*
* Id: amq.h,v 1.17 2002/02/02 20:58:56 ezk Exp
* Id: amq.h,v 1.18 2002/12/27 22:43:53 ezk Exp
*
*/

View File

@ -1,7 +1,7 @@
/* $NetBSD: amq_clnt.c,v 1.1.1.5 2002/11/29 22:58:22 christos Exp $ */
/* $NetBSD: amq_clnt.c,v 1.1.1.6 2003/03/09 01:13:18 christos Exp $ */
/*
* Copyright (c) 1997-2002 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.
@ -39,7 +39,7 @@
* SUCH DAMAGE.
*
*
* Id: amq_clnt.c,v 1.6 2002/02/02 20:58:56 ezk Exp
* Id: amq_clnt.c,v 1.7 2002/12/27 22:43:53 ezk Exp
*
*/

View File

@ -1,7 +1,7 @@
/* $NetBSD: amq_xdr.c,v 1.1.1.5 2002/11/29 22:58:22 christos Exp $ */
/* $NetBSD: amq_xdr.c,v 1.1.1.6 2003/03/09 01:13:18 christos Exp $ */
/*
* Copyright (c) 1997-2002 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.
@ -39,7 +39,7 @@
* SUCH DAMAGE.
*
*
* Id: amq_xdr.c,v 1.6 2002/02/02 20:58:56 ezk Exp
* Id: amq_xdr.c,v 1.7 2002/12/27 22:43:54 ezk Exp
*
*/

View File

@ -1,7 +1,7 @@
/* $NetBSD: pawd.c,v 1.1.1.5 2002/11/29 22:58:22 christos Exp $ */
/* $NetBSD: pawd.c,v 1.1.1.6 2003/03/09 01:13:19 christos Exp $ */
/*
* Copyright (c) 1997-2002 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.
@ -39,7 +39,7 @@
* SUCH DAMAGE.
*
*
* Id: pawd.c,v 1.9 2002/02/02 20:58:56 ezk Exp
* Id: pawd.c,v 1.10 2002/12/27 22:43:54 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 */
@ -58,7 +58,7 @@
* necessary structures and functions for this system's flavor
* of kernel-based autofs.
* If it defines the wrong entry, check the AC_CHECK_AUTOFS_STYLE m4 macro
* in $srcdir/aux/macros.
* in $srcdir/m4/macros.
*/
@am_utils_autofs_style@
/* End of included AUTOFS_STYLE macro definition file */

View File

@ -13,22 +13,22 @@ if [ ! -f amd/amd.c ]; then
fi
# validate macros directory and some macro files
if [ ! -d aux/macros ]; then
echo No aux/macros directory found!
if [ ! -d m4/macros ]; then
echo No m4/macros directory found!
exit 1
fi
if [ ! -f aux/macros/HEADER ]; then
echo No aux/macros/HEADER file found!
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
rm -fr autom4te.cache autom4te-*.cache
# generate acinclude.m4 file
echo "AMU: prepare acinclude.m4..."
test -f acinclude.m4 && mv -f acinclude.m4 acinclude.m4.old
(cd aux/macros
(cd m4/macros
for i in HEADER *.m4; do
cat $i
echo

View File

@ -175,7 +175,7 @@ case "$1" in
;;
-K )
# mkcnf_cmd="../aux/mkconf"
# mkcnf_cmd="../m4/mkconf"
mkcnf_cmd="../bootstrap"
if test -f bootstrap ; then
:

View File

@ -1,8 +1,8 @@
/* $NetBSD: autofs_linux.c,v 1.1.1.1 2002/11/29 22:58:26 christos Exp $ */
/* $NetBSD: autofs_linux.c,v 1.1.1.2 2003/03/09 01:13:19 christos Exp $ */
/*
* Copyright (c) 1999-2002 Ion Badulescu
* Copyright (c) 1997-2002 Erez Zadok
* Copyright (c) 1999-2003 Ion Badulescu
* 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.
@ -40,7 +40,7 @@
* SUCH DAMAGE.
*
*
* Id: autofs_linux.c,v 1.28 2002/06/24 03:51:26 ib42 Exp
* Id: autofs_linux.c,v 1.30 2002/12/27 22:43:54 ezk Exp
*
*/
@ -300,7 +300,7 @@ autofs_expire_one(am_node *mp, char *name, unsigned long token)
fh = mp->am_mnt->mf_autofs_fh;
ap_path = str3cat(NULL, mp->am_path, "/", name);
amuDebug(D_TRACE)
if (amuDebug(D_TRACE))
plog(XLOG_DEBUG, "\tumount(%s)", ap_path);
p = fh->pending_umounts;
@ -380,7 +380,7 @@ autofs_handle_missing(am_node *mp, struct autofs_packet_missing *pkt)
p->next = fh->pending_mounts;
fh->pending_mounts = p;
amuDebug(D_TRACE)
if (amuDebug(D_TRACE))
plog(XLOG_DEBUG, "\tlookup(%s, %s)", mp->am_path, pkt->name);
ap = mf->mf_ops->lookup_child(mp, pkt->name, &error, VLOOK_CREATE);
if (ap && error < 0)

View File

@ -1,8 +1,8 @@
/* $NetBSD: autofs_solaris_v1.c,v 1.1.1.1 2002/11/29 22:58:27 christos Exp $ */
/* $NetBSD: autofs_solaris_v1.c,v 1.1.1.2 2003/03/09 01:13:20 christos Exp $ */
/*
* Copyright (c) 1999-2002 Ion Badulescu
* Copyright (c) 1997-2002 Erez Zadok
* Copyright (c) 1999-2003 Ion Badulescu
* 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.
@ -40,7 +40,7 @@
* SUCH DAMAGE.
*
*
* Id: autofs_solaris_v1.c,v 1.10 2002/06/24 15:41:33 ib42 Exp
* Id: autofs_solaris_v1.c,v 1.13 2002/12/27 22:43:54 ezk Exp
*
*/
@ -69,8 +69,6 @@
* VARIABLES:
*/
SVCXPRT *autofs_xprt = NULL;
/* forward declarations */
# ifndef HAVE_XDR_MNTREQUEST
bool_t xdr_mntrequest(XDR *xdrs, mntrequest *objp);
@ -102,10 +100,8 @@ static int autofs_unmount_1_req(struct umntrequest *ur, struct umntres *result,
bool_t
xdr_mntrequest(XDR *xdrs, mntrequest *objp)
{
#ifdef DEBUG
amuDebug(D_XDRTRACE)
if (amuDebug(D_XDRTRACE))
plog(XLOG_DEBUG, "xdr_mntrequest:");
#endif /* DEBUG */
if (!xdr_string(xdrs, &objp->name, A_MAXNAME))
return (FALSE);
@ -128,10 +124,8 @@ xdr_mntrequest(XDR *xdrs, mntrequest *objp)
bool_t
xdr_mntres(XDR *xdrs, mntres *objp)
{
#ifdef DEBUG
amuDebug(D_XDRTRACE)
if (amuDebug(D_XDRTRACE))
plog(XLOG_DEBUG, "xdr_mntres:");
#endif /* DEBUG */
if (!xdr_int(xdrs, &objp->status))
return (FALSE);
@ -145,10 +139,8 @@ xdr_mntres(XDR *xdrs, mntres *objp)
bool_t
xdr_umntrequest(XDR *xdrs, umntrequest *objp)
{
#ifdef DEBUG
amuDebug(D_XDRTRACE)
if (amuDebug(D_XDRTRACE))
plog(XLOG_DEBUG, "xdr_umntrequest:");
#endif /* DEBUG */
if (!xdr_int(xdrs, &objp->isdirect))
return (FALSE);
@ -173,10 +165,8 @@ xdr_umntrequest(XDR *xdrs, umntrequest *objp)
bool_t
xdr_umntres(XDR *xdrs, umntres *objp)
{
#ifdef DEBUG
amuDebug(D_XDRTRACE)
if (amuDebug(D_XDRTRACE))
plog(XLOG_DEBUG, "xdr_mntres:");
#endif /* DEBUG */
if (!xdr_int(xdrs, &objp->status))
return (FALSE);
@ -440,131 +430,22 @@ autofs_handle_fdset(fd_set *readfds, int nsel)
}
/*
* find the IP address that can be used to connect autofs service to.
*/
static int
get_autofs_address(struct netconfig *ncp, struct t_bind *tbp)
{
int ret;
struct nd_addrlist *addrs = (struct nd_addrlist *) NULL;
struct nd_hostserv service;
service.h_host = HOST_SELF_CONNECT;
service.h_serv = "autofs";
ret = netdir_getbyname(ncp, &service, &addrs);
if (ret) {
plog(XLOG_FATAL, "get_autofs_address: cannot get local host address: %s", netdir_sperror());
goto out;
}
/*
* XXX: there may be more more than one address for this local
* host. Maybe something can be done with those.
*/
tbp->addr.len = addrs->n_addrs->len;
tbp->addr.maxlen = addrs->n_addrs->len;
memcpy(tbp->addr.buf, addrs->n_addrs->buf, addrs->n_addrs->len);
tbp->qlen = 8; /* arbitrary? who cares really */
/* all OK */
netdir_free((voidp) addrs, ND_ADDRLIST);
out:
return ret;
}
#include <rpc/nettype.h>
static char *autofs_conftype = "ticlts";
static struct netconfig *autofs_ncp;
/*
* Create the autofs service for amd
*/
int
create_autofs_service(void)
{
struct t_bind *tbp = 0;
int fd = -1, err = 1; /* assume failed */
plog(XLOG_INFO, "creating autofs service listener");
autofs_ncp = getnetconfigent(autofs_conftype);
if (autofs_ncp == NULL) {
plog(XLOG_ERROR, "create_autofs_service: cannot getnetconfigent for %s", autofs_conftype);
goto out;
}
fd = t_open(autofs_ncp->nc_device, O_RDWR, NULL);
if (fd < 0) {
plog(XLOG_ERROR, "create_autofs_service: t_open failed (%s)",
t_errlist[t_errno]);
goto out;
}
tbp = (struct t_bind *) t_alloc(fd, T_BIND, T_ADDR);
if (!tbp) {
plog(XLOG_ERROR, "create_autofs_service: t_alloca failed");
goto out;
}
if (get_autofs_address(autofs_ncp, tbp) != 0) {
plog(XLOG_ERROR, "create_autofs_service: get_autofs_address failed");
goto out;
}
autofs_xprt = svc_tli_create(fd, autofs_ncp, tbp, 0, 0);
if (autofs_xprt == NULL) {
plog(XLOG_ERROR, "cannot create autofs tli service for amd");
goto out;
}
rpcb_unset(AUTOFS_PROG, AUTOFS_VERS, autofs_ncp);
if (svc_reg(autofs_xprt, AUTOFS_PROG, AUTOFS_VERS, autofs_program_1, autofs_ncp) == FALSE) {
plog(XLOG_ERROR, "could not register amd AUTOFS service");
goto out;
}
err = 0;
goto really_out;
out:
if (autofs_ncp)
freenetconfigent(autofs_ncp);
if (autofs_xprt)
SVC_DESTROY(autofs_xprt);
else {
if (fd > 0)
t_close(fd);
}
really_out:
if (tbp)
t_free((char *) tbp, T_BIND);
dlog("create_autofs_service: returning %d\n", err);
return err;
dlog("creating autofs service listener");
return register_autofs_service(AUTOFS_CONFTYPE, autofs_program_1);
}
int
destroy_autofs_service(void)
{
//struct netconfig *autofs_ncp;
int err = 1;
plog(XLOG_INFO, "destroying autofs service listener");
#if 0
autofs_ncp = getnetconfigent(autofs_conftype);
if (autofs_ncp == NULL) {
plog(XLOG_ERROR, "create_autofs_service: cannot getnetconfigent for %s", autofs_conftype);
goto out;
}
out:
#endif
rpcb_unset(AUTOFS_PROG, AUTOFS_VERS, autofs_ncp);
return err;
dlog("destroying autofs service listener");
return unregister_autofs_service(AUTOFS_CONFTYPE);
}

View File

@ -1,8 +1,8 @@
/* $NetBSD: autofs_solaris_v2_v3.c,v 1.1.1.1 2002/11/29 22:58:28 christos Exp $ */
/* $NetBSD: autofs_solaris_v2_v3.c,v 1.1.1.2 2003/03/09 01:13:20 christos Exp $ */
/*
* Copyright (c) 1999-2002 Ion Badulescu
* Copyright (c) 1997-2002 Erez Zadok
* Copyright (c) 1999-2003 Ion Badulescu
* 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.
@ -40,7 +40,7 @@
* SUCH DAMAGE.
*
*
* Id: autofs_solaris_v2_v3.c,v 1.23 2002/06/24 03:05:15 ib42 Exp
* Id: autofs_solaris_v2_v3.c,v 1.27 2002/12/27 22:43:54 ezk Exp
*
*/
@ -215,7 +215,7 @@ xdr_action_list(XDR *xdrs, action_list *objp)
bool_t
xdr_umntrequest(XDR *xdrs, umntrequest *objp)
{
amuDebug(D_XDRTRACE)
if (amuDebug(D_XDRTRACE))
plog(XLOG_DEBUG, "xdr_umntrequest:");
if (!xdr_bool_t(xdrs, &objp->isdirect))
@ -246,7 +246,7 @@ xdr_umntrequest(XDR *xdrs, umntrequest *objp)
bool_t
xdr_umntres(XDR *xdrs, umntres *objp)
{
amuDebug(D_XDRTRACE)
if (amuDebug(D_XDRTRACE))
plog(XLOG_DEBUG, "xdr_mntres:");
if (!xdr_int(xdrs, &objp->status))
@ -316,7 +316,7 @@ xdr_autofs_res(XDR *xdrs, autofs_res *objp)
bool_t
xdr_autofs_lookupargs(XDR *xdrs, autofs_lookupargs *objp)
{
amuDebug(D_XDRTRACE)
if (amuDebug(D_XDRTRACE))
plog(XLOG_DEBUG, "xdr_autofs_lookupargs:");
if (!xdr_string(xdrs, &objp->map, AUTOFS_MAXPATHLEN))
@ -358,7 +358,7 @@ xdr_mount_result_type(XDR *xdrs, mount_result_type *objp)
bool_t
xdr_autofs_mountres(XDR *xdrs, autofs_mountres *objp)
{
amuDebug(D_XDRTRACE)
if (amuDebug(D_XDRTRACE))
plog(XLOG_DEBUG, "xdr_mntres:");
if (!xdr_mount_result_type(xdrs, &objp->mr_type))
@ -968,7 +968,7 @@ autofs_get_fh(am_node *mp)
fh->addr.len = fh->addr.maxlen = strlen(buf);
#endif /* HAVE_AUTOFS_ARGS_T_ADDR */
fh->direct = (mf->mf_ops == &amfs_direct_ops);
fh->direct = ((mf->mf_ops->autofs_fs_flags & FS_DIRECT) == FS_DIRECT);
fh->rpc_to = 1; /* XXX: arbitrary */
fh->mount_to = mp->am_timeo;
fh->path = mp->am_path;
@ -1018,129 +1018,22 @@ autofs_handle_fdset(fd_set *readfds, int nsel)
}
/*
* find the IP address that can be used to connect autofs service to.
*/
static int
get_autofs_address(struct netconfig *ncp, struct t_bind *tbp)
{
int ret;
struct nd_addrlist *addrs = (struct nd_addrlist *) NULL;
struct nd_hostserv service;
service.h_host = HOST_SELF;
service.h_serv = "autofs";
ret = netdir_getbyname(ncp, &service, &addrs);
if (ret) {
plog(XLOG_FATAL, "get_autofs_address: cannot get local host address: %s", netdir_sperror());
goto out;
}
/*
* XXX: there may be more more than one address for this local
* host. Maybe something can be done with those.
*/
tbp->addr.len = addrs->n_addrs->len;
tbp->addr.maxlen = addrs->n_addrs->len;
memcpy(tbp->addr.buf, addrs->n_addrs->buf, addrs->n_addrs->len);
tbp->qlen = 8; /* arbitrary? who cares really */
/* all OK */
netdir_free((voidp) addrs, ND_ADDRLIST);
out:
return ret;
}
#include <rpc/nettype.h>
static char *autofs_conftype = "ticotsord";
/*
* Create the autofs service for amd
*/
int
create_autofs_service(void)
{
struct t_bind *tbp = 0;
int fd = -1, err = 1; /* assume failed */
struct netconfig *autofs_ncp;
plog(XLOG_INFO, "creating autofs service listener");
autofs_ncp = getnetconfigent(autofs_conftype);
if (autofs_ncp == NULL) {
plog(XLOG_ERROR, "create_autofs_service: cannot getnetconfigent for %s", autofs_conftype);
goto out;
}
fd = t_open(autofs_ncp->nc_device, O_RDWR, NULL);
if (fd < 0) {
plog(XLOG_ERROR, "create_autofs_service: t_open failed (%s)",
t_errlist[t_errno]);
goto out;
}
tbp = (struct t_bind *) t_alloc(fd, T_BIND, T_ADDR);
if (!tbp) {
plog(XLOG_ERROR, "create_autofs_service: t_alloca failed");
goto out;
}
if (get_autofs_address(autofs_ncp, tbp) != 0) {
plog(XLOG_ERROR, "create_autofs_service: get_autofs_address failed");
goto out;
}
autofs_xprt = svc_tli_create(fd, autofs_ncp, tbp, 0, 0);
if (autofs_xprt == NULL) {
plog(XLOG_ERROR, "cannot create autofs tli service for amd");
goto out;
}
rpcb_unset(AUTOFS_PROG, AUTOFS_VERS, autofs_ncp);
if (svc_reg(autofs_xprt, AUTOFS_PROG, AUTOFS_VERS, autofs_program_2, autofs_ncp) == FALSE) {
plog(XLOG_ERROR, "could not register amd AUTOFS service");
goto out;
}
err = 0;
goto really_out;
out:
if (autofs_ncp)
freenetconfigent(autofs_ncp);
if (autofs_xprt)
SVC_DESTROY(autofs_xprt);
else {
if (fd > 0)
t_close(fd);
}
really_out:
if (tbp)
t_free((char *) tbp, T_BIND);
dlog("create_autofs_service: returning %d\n", err);
return err;
dlog("creating autofs service listener");
return register_autofs_service(AUTOFS_CONFTYPE, autofs_program_2);
}
int
destroy_autofs_service(void)
{
struct netconfig *autofs_ncp;
int err = 1;
plog(XLOG_INFO, "destroying autofs service listener");
autofs_ncp = getnetconfigent(autofs_conftype);
if (autofs_ncp == NULL) {
plog(XLOG_ERROR, "create_autofs_service: cannot getnetconfigent for %s", autofs_conftype);
goto out;
}
out:
rpcb_unset(AUTOFS_PROG, AUTOFS_VERS, autofs_ncp);
return err;
dlog("destroying autofs service listener");
return unregister_autofs_service(AUTOFS_CONFTYPE);
}

View File

@ -1,7 +1,7 @@
/* $NetBSD: checkmount_aix.c,v 1.1.1.5 2002/11/29 22:58:28 christos Exp $ */
/* $NetBSD: checkmount_aix.c,v 1.1.1.6 2003/03/09 01:13:20 christos Exp $ */
/*
* Copyright (c) 1997-2002 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.
@ -39,7 +39,7 @@
* SUCH DAMAGE.
*
*
* Id: checkmount_aix.c,v 1.7 2002/02/02 20:58:57 ezk Exp
* Id: checkmount_aix.c,v 1.8 2002/12/27 22:43:55 ezk Exp
*
*/

View File

@ -1,7 +1,7 @@
/* $NetBSD: checkmount_bsd44.c,v 1.1.1.5 2002/11/29 22:58:28 christos Exp $ */
/* $NetBSD: checkmount_bsd44.c,v 1.1.1.6 2003/03/09 01:13:20 christos Exp $ */
/*
* Copyright (c) 1997-2002 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.
@ -39,7 +39,7 @@
* SUCH DAMAGE.
*
*
* Id: checkmount_bsd44.c,v 1.6 2002/02/02 20:58:57 ezk Exp
* Id: checkmount_bsd44.c,v 1.7 2002/12/27 22:43:55 ezk Exp
*
*/

View File

@ -1,7 +1,7 @@
/* $NetBSD: checkmount_default.c,v 1.1.1.5 2002/11/29 22:58:28 christos Exp $ */
/* $NetBSD: checkmount_default.c,v 1.1.1.6 2003/03/09 01:13:21 christos Exp $ */
/*
* Copyright (c) 1997-2002 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.
@ -39,7 +39,7 @@
* SUCH DAMAGE.
*
*
* Id: checkmount_default.c,v 1.6 2002/02/02 20:58:57 ezk Exp
* Id: checkmount_default.c,v 1.7 2002/12/27 22:43:55 ezk Exp
*
*/

View File

@ -1,7 +1,7 @@
/* $NetBSD: checkmount_osf.c,v 1.1.1.5 2002/11/29 22:58:28 christos Exp $ */
/* $NetBSD: checkmount_osf.c,v 1.1.1.6 2003/03/09 01:13:21 christos Exp $ */
/*
* Copyright (c) 1997-2002 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.
@ -39,7 +39,7 @@
* SUCH DAMAGE.
*
*
* Id: checkmount_osf.c,v 1.6 2002/02/02 20:58:57 ezk Exp
* Id: checkmount_osf.c,v 1.7 2002/12/27 22:43:55 ezk Exp
*
*/

View File

@ -1,7 +1,7 @@
/* $NetBSD: checkmount_svr4.c,v 1.1.1.5 2002/11/29 22:58:28 christos Exp $ */
/* $NetBSD: checkmount_svr4.c,v 1.1.1.6 2003/03/09 01:13:21 christos Exp $ */
/*
* Copyright (c) 1997-2002 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.
@ -39,7 +39,7 @@
* SUCH DAMAGE.
*
*
* Id: checkmount_svr4.c,v 1.6 2002/02/02 20:58:57 ezk Exp
* Id: checkmount_svr4.c,v 1.7 2002/12/27 22:43:55 ezk Exp
*
*/

View File

@ -1,7 +1,7 @@
/* $NetBSD: checkmount_ultrix.c,v 1.1.1.5 2002/11/29 22:58:28 christos Exp $ */
/* $NetBSD: checkmount_ultrix.c,v 1.1.1.6 2003/03/09 01:13:21 christos Exp $ */
/*
* Copyright (c) 1997-2002 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.
@ -39,7 +39,7 @@
* SUCH DAMAGE.
*
*
* Id: checkmount_ultrix.c,v 1.6 2002/02/02 20:58:57 ezk Exp
* Id: checkmount_ultrix.c,v 1.7 2002/12/27 22:43:55 ezk Exp
*
*/

View File

@ -1,7 +1,7 @@
/* $NetBSD: mount_aix.c,v 1.1.1.5 2002/11/29 22:58:28 christos Exp $ */
/* $NetBSD: mount_aix.c,v 1.1.1.6 2003/03/09 01:13:21 christos Exp $ */
/*
* Copyright (c) 1997-2002 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,13 +38,14 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
* %W% (Berkeley) %G%
*
* Id: mount_aix.c,v 1.8 2002/06/22 16:52:11 ib42 Exp
* Id: mount_aix.c,v 1.11 2003/01/23 19:35:57 ezk Exp
*
*/
/*
* AIX 3 Mount helper
* AIX 3-5 Mount helper
*/
#ifdef HAVE_CONFIG_H
@ -117,7 +118,9 @@ mount_aix3(char *fsname, char *dir, int flags, int type, void *data, char *mnt_o
#endif /* MOUNT_TYPE_NFS3_BIS */
#endif /* HAVE_FS_NFS3 */
#ifdef DEBUG
dlog("mount_aix3: fsname %s, dir %s, type %d", fsname, dir, type);
#endif /* DEBUG */
#ifdef MOUNT_TYPE_NFS3_BIS
retry_ibm_stupid_service_pack:
@ -136,7 +139,16 @@ mount_aix3(char *fsname, char *dir, int flags, int type, void *data, char *mnt_o
/* v2args.proto = v3args->proto; */
v2args.hostname = v3args->hostname;
v2args.netname = v3args->netname;
#ifdef AIX_52
#error do not use this code
v2args.fh = v3args->fh;
v2args.syncaddr = v3args->syncaddr;
v2args.proto = v3args->proto;
v2args.numclust = v3args->numclust;
v2args.biods = v3args->biods;
#else /* not AIX_52 */
memmove(v2args.fh.x, ((fhandle_t *)v3args->fh)->x, FHSIZE);
#endif /* not AIX_52 */
v2args.flags = v3args->flags;
v2args.wsize = v3args->wsize;
v2args.rsize = v3args->rsize;
@ -158,6 +170,7 @@ mount_aix3(char *fsname, char *dir, int flags, int type, void *data, char *mnt_o
case MOUNT_TYPE_NFS3_BIS:
/* just fall through */
if (aix_type == MOUNT_TYPE_NFS3_BIS) {
dlog("mount_aix3: creating alternate nfs3_args structure");
memmove((voidp) &v3args_bis.addr, (voidp) &v3args->addr, sizeof(struct sockaddr_in));
v3args_bis.u0 = v3args->u0;
v3args_bis.proto = v3args->proto;
@ -207,16 +220,24 @@ mount_aix3(char *fsname, char *dir, int flags, int type, void *data, char *mnt_o
return EINVAL;
}
/*
* XXX: Warning, if vmount() hangs your amd in AIX 5.1, it
* is because of a kernel bug in the NFS code. Get a patch from IBM
* or upgrade to 5.2.
*/
ret = vmount((struct vmount *)buf, size);
if (ret < 0) {
plog(XLOG_ERROR, "mount_aix3: vmount failed with errno %d", errno);
perror ("vmount");
#ifdef MOUNT_TYPE_NFS3_BIS
if (aix_type == MOUNT_TYPE_NFS3 && errno == EINVAL) {
aix_type = MOUNT_TYPE_NFS3_BIS;
#ifdef DEBUG
dlog("mount_aix3: retrying with alternate nfs3_args structure");
#endif /* DEBUG */
goto retry_ibm_stupid_service_pack;
}
#endif /* MOUNT_TYPE_NFS3_BIS */
plog(XLOG_ERROR, "mount_aix3: vmount failed with errno %d", errno);
}
return ret;
}

View File

@ -1,7 +1,7 @@
/* $NetBSD: mount_bsdi3.c,v 1.1.1.5 2002/11/29 22:58:28 christos Exp $ */
/* $NetBSD: mount_bsdi3.c,v 1.1.1.6 2003/03/09 01:13:21 christos Exp $ */
/*
* Copyright (c) 1997-2002 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.
@ -39,7 +39,7 @@
* SUCH DAMAGE.
*
*
* Id: mount_bsdi3.c,v 1.6 2002/02/02 20:58:58 ezk Exp
* Id: mount_bsdi3.c,v 1.7 2002/12/27 22:43:56 ezk Exp
*
*/

View File

@ -1,7 +1,7 @@
/* $NetBSD: mount_default.c,v 1.1.1.5 2002/11/29 22:58:29 christos Exp $ */
/* $NetBSD: mount_default.c,v 1.1.1.6 2003/03/09 01:13:21 christos Exp $ */
/*
* Copyright (c) 1997-2002 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.
@ -39,7 +39,7 @@
* SUCH DAMAGE.
*
*
* Id: mount_default.c,v 1.4 2002/02/02 20:58:58 ezk Exp
* Id: mount_default.c,v 1.5 2002/12/27 22:43:56 ezk Exp
*/
/*

View File

@ -1,7 +1,7 @@
/* $NetBSD: mount_hpux.c,v 1.1.1.5 2002/11/29 22:58:29 christos Exp $ */
/* $NetBSD: mount_hpux.c,v 1.1.1.6 2003/03/09 01:13:21 christos Exp $ */
/*
* Copyright (c) 1997-2002 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.
@ -39,7 +39,7 @@
* SUCH DAMAGE.
*
*
* Id: mount_hpux.c,v 1.6 2002/02/02 20:58:58 ezk Exp
* Id: mount_hpux.c,v 1.7 2002/12/27 22:43:56 ezk Exp
*
*/

View File

@ -1,7 +1,7 @@
/* $NetBSD: mount_irix5.c,v 1.1.1.5 2002/11/29 22:58:29 christos Exp $ */
/* $NetBSD: mount_irix5.c,v 1.1.1.6 2003/03/09 01:13:21 christos Exp $ */
/*
* Copyright (c) 1997-2002 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.
@ -39,7 +39,7 @@
* SUCH DAMAGE.
*
*
* Id: mount_irix5.c,v 1.6 2002/02/02 20:58:58 ezk Exp
* Id: mount_irix5.c,v 1.7 2002/12/27 22:43:56 ezk Exp
*
*/

View File

@ -1,7 +1,7 @@
/* $NetBSD: mount_irix6.c,v 1.1.1.5 2002/11/29 22:58:29 christos Exp $ */
/* $NetBSD: mount_irix6.c,v 1.1.1.6 2003/03/09 01:13:21 christos Exp $ */
/*
* Copyright (c) 1997-2002 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.
@ -39,7 +39,7 @@
* SUCH DAMAGE.
*
*
* Id: mount_irix6.c,v 1.7 2002/02/02 20:58:58 ezk Exp
* Id: mount_irix6.c,v 1.8 2002/12/27 22:43:56 ezk Exp
*
*/

View File

@ -1,7 +1,7 @@
/* $NetBSD: mount_isc3.c,v 1.1.1.5 2002/11/29 22:58:29 christos Exp $ */
/* $NetBSD: mount_isc3.c,v 1.1.1.6 2003/03/09 01:13:22 christos Exp $ */
/*
* Copyright (c) 1997-2002 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.
@ -39,7 +39,7 @@
* SUCH DAMAGE.
*
*
* Id: mount_isc3.c,v 1.6 2002/02/02 20:58:58 ezk Exp
* Id: mount_isc3.c,v 1.7 2002/12/27 22:43:56 ezk Exp
*/
/*

View File

@ -1,7 +1,7 @@
/* $NetBSD: mount_linux.c,v 1.1.1.5 2002/11/29 22:58:29 christos Exp $ */
/* $NetBSD: mount_linux.c,v 1.1.1.6 2003/03/09 01:13:22 christos Exp $ */
/*
* Copyright (c) 1997-2002 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.
@ -39,7 +39,7 @@
* SUCH DAMAGE.
*
*
* Id: mount_linux.c,v 1.33 2002/03/29 01:46:24 ezk Exp
* Id: mount_linux.c,v 1.36 2002/12/27 22:43:56 ezk Exp
*/
/*
@ -97,9 +97,6 @@ const struct fs_opts iso_opts[] = {
{ "mode", 1 },
{ "gid", 1 },
{ "uid", 1 },
#ifdef HAVE_LOOP_DEVICE
{ "loop", 1 }, /* XXX: 0 or 1 for "type" */
#endif /* HAVE_LOOP_DEVICE */
{ NULL, 0 }
};
@ -197,18 +194,9 @@ parse_opts(char *type, char *optstr, int *flags, char **xopts, int *noauto)
do_opts:
while (dev_opts->opt &&
(!NSTREQ(dev_opts->opt, opt, strlen(dev_opts->opt))
#ifdef HAVE_LOOP_DEVICE
/* also skip "loop", but not "loop=/dev/loopX" */
|| STREQ(MNTTAB_OPT_LOOP, opt))
#endif /* HAVE_LOOP_DEVICE */
) {
(!NSTREQ(dev_opts->opt, opt, strlen(dev_opts->opt)))) {
++dev_opts;
}
#ifdef HAVE_LOOP_DEVICE
if (dev_opts->opt && STREQ(MNTTAB_OPT_LOOP, opt))
++dev_opts;
#endif /* HAVE_LOOP_DEVICE */
if (dev_opts->opt && *xopts) {
strcat(*xopts, opt);
strcat(*xopts, ",");
@ -250,27 +238,243 @@ linux_version_code(void)
int
do_mount_linux(MTYPE_TYPE type, mntent_t *mnt, int flags, caddr_t data)
{
int errorcode;
char *fs_name = mnt->mnt_fsname;
#ifdef DEBUG
amuDebug(D_FULL) {
plog(XLOG_DEBUG, "do_mount_linux: fsname %s\n", fs_name);
if (amuDebug(D_FULL)) {
plog(XLOG_DEBUG, "do_mount_linux: fsname %s\n", mnt->mnt_fsname);
plog(XLOG_DEBUG, "do_mount_linux: type (mntent) %s\n", mnt->mnt_type);
plog(XLOG_DEBUG, "do_mount_linux: opts %s\n", mnt->mnt_opts);
plog(XLOG_DEBUG, "do_mount_linux: dir %s\n", mnt->mnt_dir);
}
#endif /* DEBUG */
/*
* If we have an nfs mount, the 5th argument to system mount() must be the
* nfs_mount_data structure, otherwise it is the return from parse_opts()
*/
errorcode = mount(fs_name,
mnt->mnt_dir,
type,
MS_MGC_VAL | flags,
data);
return mount(mnt->mnt_fsname,
mnt->mnt_dir,
type,
MS_MGC_VAL | flags,
data);
}
int
mount_linux_nfs(MTYPE_TYPE type, mntent_t *mnt, int flags, caddr_t data)
{
nfs_args_t *mnt_data = (nfs_args_t *) data;
int errorcode;
/* Fake some values for linux */
mnt_data->version = NFS_MOUNT_VERSION;
if (!mnt_data->timeo) {
#ifdef MNT2_NFS_OPT_TCP
if (mnt_data->flags & MNT2_NFS_OPT_TCP)
mnt_data->timeo = 600;
else
#endif /* MNT2_NFS_OPT_TCP */
mnt_data->timeo = 7;
}
if (!mnt_data->retrans)
mnt_data->retrans = 3;
#ifdef MNT2_NFS_OPT_NOAC
if (!(mnt_data->flags & MNT2_NFS_OPT_NOAC)) {
if (!mnt_data->acregmin)
mnt_data->acregmin = 3;
if (!mnt_data->acregmax)
mnt_data->acregmax = 60;
if (!mnt_data->acdirmin)
mnt_data->acdirmin = 30;
if (!mnt_data->acdirmax)
mnt_data->acdirmax = 60;
}
#endif /* MNT2_NFS_OPT_NOAC */
/*
* in nfs structure implementation version 4, the old
* filehandle field was renamed "old_root" and left as 3rd field,
* while a new field called "root" was added to the end of the
* structure. Both of them however need a copy of the file handle
* for NFSv2 mounts.
*/
#ifdef MNT2_NFS_OPT_VER3
if (mnt_data->flags & MNT2_NFS_OPT_VER3)
memset(mnt_data->old_root.data, 0, FHSIZE);
else
#endif /* MNT2_NFS_OPT_VER3 */
memcpy(mnt_data->old_root.data, mnt_data->root.data, FHSIZE);
#ifdef HAVE_NFS_ARGS_T_BSIZE
/* linux mount version 3 */
mnt_data->bsize = 0; /* let the kernel decide */
#endif /* HAVE_NFS_ARGS_T_BSIZE */
#ifdef HAVE_NFS_ARGS_T_NAMLEN
/* linux mount version 2 */
mnt_data->namlen = NAME_MAX; /* 256 bytes */
#endif /* HAVE_NFS_ARGS_T_NAMELEN */
mnt_data->fd = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
if (mnt_data->fd < 0) {
plog(XLOG_ERROR, "Can't create socket for kernel");
return 1;
}
if (bindresvport(mnt_data->fd, 0) < 0) {
plog(XLOG_ERROR, "Can't bind to reserved port");
errorcode = 1;
goto out;
}
/*
* connect() the socket for kernels 1.3.10 and below
* only to avoid problems with multihomed hosts.
*/
if (linux_version_code() <= 0x01030a) {
int ret = connect(mnt_data->fd,
(struct sockaddr *) &mnt_data->addr,
sizeof(mnt_data->addr));
if (ret < 0) {
plog(XLOG_ERROR, "Can't connect socket for kernel");
errorcode = 1;
goto out;
}
}
if (amuDebug(D_FULL)) {
plog(XLOG_DEBUG, "mount_linux_nfs: type %s\n", type);
plog(XLOG_DEBUG, "mount_linux_nfs: version %d\n", mnt_data->version);
plog(XLOG_DEBUG, "mount_linux_nfs: fd %d\n", mnt_data->fd);
plog(XLOG_DEBUG, "mount_linux_nfs: hostname %s\n",
inet_ntoa(mnt_data->addr.sin_addr));
plog(XLOG_DEBUG, "mount_linux_nfs: port %d\n",
htons(mnt_data->addr.sin_port));
}
if (amuDebug(D_TRACE)) {
plog(XLOG_DEBUG, "mount_linux_nfs: Generic mount flags 0x%x", MS_MGC_VAL | flags);
plog(XLOG_DEBUG, "mount_linux_nfs: updated nfs_args...");
print_nfs_args(mnt_data, 0);
}
errorcode = do_mount_linux(type, mnt, flags, data);
out:
/*
* If we failed, (i.e. errorcode != 0), then close the socket
* if it is open.
*/
if (errorcode && mnt_data->fd != -1) {
/* save errno, may be clobbered by close() call! */
int save_errno = errno;
close(mnt_data->fd);
errno = save_errno;
}
return errorcode;
}
int
mount_linux_nonfs(MTYPE_TYPE type, mntent_t *mnt, int flags, caddr_t data)
{
char *extra_opts = NULL;
char *tmp_opts = NULL;
char *sub_type = NULL;
char *loopdev = NULL;
int noauto = 0;
int errorcode;
sub_type = hasmnteq(mnt, "type");
if (sub_type) {
sub_type = strdup(sub_type);
if (sub_type) { /* the strdup malloc might have failed */
type = strpbrk(sub_type, ",:;\n\t");
if (type == NULL)
type = MOUNT_TYPE_UFS;
else {
*type = '\0';
type = sub_type;
}
} else {
plog(XLOG_ERROR, "strdup returned null in mount_linux_nonfs");
}
}
if (!hasmntopt(mnt, "type"))
mnt->mnt_type = type;
tmp_opts = parse_opts(type, mnt->mnt_opts, &flags, &extra_opts, &noauto);
#if defined(MOUNT_TYPE_LOFS)
if (STREQ(type, MOUNT_TYPE_LOFS)) {
# if defined(MNT2_GEN_OPT_BIND)
/* use bind mounts for lofs */
flags |= MNT2_GEN_OPT_BIND;
# else /* not MNT2_GEN_OPT_BIND */
/* this is basically a hack to support fist lofs */
XFREE(extra_opts);
extra_opts = (char *) xmalloc(strlen(mnt->mnt_fsname) + sizeof("dir=") + 1);
sprintf(extra_opts, "dir=%s", mnt->mnt_fsname);
# endif /* not MNT2_GEN_OPT_BIND */
errorcode = do_mount_linux(type, mnt, flags, extra_opts);
} else /* end of "if type is LOFS" */
#endif /* MOUNT_TYPE_LOFS */
{
#ifdef HAVE_LOOP_DEVICE
/*
* If the mounted "device" is actually a regular file,
# try to attach a loop device to it.
*/
struct stat buf;
char *old_fsname = NULL;
if (stat(mnt->mnt_fsname, &buf) == 0 &&
S_ISREG(buf.st_mode)) {
if ((loopdev = setup_loop_device(mnt->mnt_fsname)) != NULL) {
char *str;
int len;
plog(XLOG_INFO, "setup loop device %s over %s OK", loopdev, mnt->mnt_fsname);
old_fsname = mnt->mnt_fsname;
mnt->mnt_fsname = loopdev;
/* XXX: hack, append loop=/dev/loopX to mnttab opts */
len = strlen(mnt->mnt_opts) + 7 + strlen(loopdev);
str = (char *) xmalloc(len);
if (str) {
sprintf(str, "%s,loop=%s", mnt->mnt_opts, loopdev);
XFREE(mnt->mnt_opts);
mnt->mnt_opts = str;
}
} else {
plog(XLOG_ERROR, "failed to set up a loop device: %m");
errorcode = 1;
goto out;
}
}
#endif /* HAVE_LOOP_DEVICE */
errorcode = do_mount_linux(type, mnt, flags, extra_opts);
#ifdef HAVE_LOOP_DEVICE
/* if mount failed and we used a loop device, then undo it */
if (errorcode != 0 && loopdev != NULL) {
if (delete_loop_device(loopdev) < 0)
plog(XLOG_WARNING, "mount() failed to release loop device %s: %m", loopdev);
else
plog(XLOG_INFO, "mount() released loop device %s OK", loopdev);
}
if (old_fsname)
mnt->mnt_fsname = old_fsname;
#endif /* HAVE_LOOP_DEVICE */
}
/*
* Free all allocated space and return errorcode.
*/
out:
if (loopdev)
XFREE(loopdev);
if (extra_opts != NULL)
XFREE(extra_opts);
if (tmp_opts != NULL)
XFREE(tmp_opts);
if (sub_type != NULL)
XFREE(sub_type);
return errorcode;
}
@ -278,10 +482,6 @@ do_mount_linux(MTYPE_TYPE type, mntent_t *mnt, int flags, caddr_t data)
int
mount_linux(MTYPE_TYPE type, mntent_t *mnt, int flags, caddr_t data)
{
char *extra_opts = NULL;
char *tmp_opts = NULL;
char *sub_type = NULL;
int noauto = 0;
int errorcode;
if (mnt->mnt_opts && STREQ(mnt->mnt_opts, "defaults"))
@ -290,198 +490,10 @@ mount_linux(MTYPE_TYPE type, mntent_t *mnt, int flags, caddr_t data)
if (type == NULL)
type = index(mnt->mnt_fsname, ':') ? MOUNT_TYPE_NFS : MOUNT_TYPE_UFS;
if (STREQ(type, MOUNT_TYPE_NFS)) {
nfs_args_t *mnt_data = (nfs_args_t *) data;
/* Fake some values for linux */
mnt_data->version = NFS_MOUNT_VERSION;
if (!mnt_data->timeo) {
mnt_data->timeo = 7;
#ifdef MNT2_NFS_OPT_TCP
if (mnt_data->flags & MNT2_NFS_OPT_TCP)
mnt_data->timeo = 600;
#endif /* MNT2_NFS_OPT_TCP */
}
if (!mnt_data->retrans)
mnt_data->retrans = 3;
#ifdef MNT2_NFS_OPT_NOAC
if (!(mnt_data->flags & MNT2_NFS_OPT_NOAC)) {
if (!mnt_data->acregmin)
mnt_data->acregmin = 3;
if (!mnt_data->acregmax)
mnt_data->acregmax = 60;
if (!mnt_data->acdirmin)
mnt_data->acdirmin = 30;
if (!mnt_data->acdirmax)
mnt_data->acdirmax = 60;
}
#endif /* MNT2_NFS_OPT_NOAC */
/*
* in nfs structure implementation version 4, the old
* filehandle field was renamed "old_root" and left as 3rd field,
* while a new field called "root" was added to the end of the
* structure. Both of them however need a copy of the file handle
* for NFSv2 mounts.
*/
#ifdef MNT2_NFS_OPT_VER3
if (mnt_data->flags & MNT2_NFS_OPT_VER3)
memset(mnt_data->old_root.data, 0, FHSIZE);
else
#endif /* MNT2_NFS_OPT_VER3 */
memcpy(mnt_data->old_root.data, mnt_data->root.data, FHSIZE);
#ifdef HAVE_NFS_ARGS_T_BSIZE
/* linux mount version 3 */
mnt_data->bsize = 0; /* let the kernel decide */
#endif /* HAVE_NFS_ARGS_T_BSIZE */
#ifdef HAVE_NFS_ARGS_T_NAMLEN
/* linux mount version 2 */
mnt_data->namlen = NAME_MAX; /* 256 bytes */
#endif /* HAVE_NFS_ARGS_T_NAMELEN */
mnt_data->fd = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
if (mnt_data->fd < 0) {
plog(XLOG_ERROR, "Can't create socket for kernel");
errorcode = 1;
goto fail;
}
if (bindresvport(mnt_data->fd, 0) < 0) {
plog(XLOG_ERROR, "Can't bind to reserved port");
errorcode = 1;
goto fail;
}
/*
* connect() the socket for kernels 1.3.10 and below
* only to avoid problems with multihomed hosts.
*/
if (linux_version_code() <= 0x01030a) {
int ret = connect(mnt_data->fd,
(struct sockaddr *) &mnt_data->addr,
sizeof(mnt_data->addr));
if (ret < 0) {
plog(XLOG_ERROR, "Can't connect socket for kernel");
errorcode = 1;
goto fail;
}
}
#ifdef DEBUG
amuDebug(D_FULL) {
plog(XLOG_DEBUG, "mount_linux: type %s\n", type);
plog(XLOG_DEBUG, "mount_linux: version %d\n", mnt_data->version);
plog(XLOG_DEBUG, "mount_linux: fd %d\n", mnt_data->fd);
plog(XLOG_DEBUG, "mount_linux: hostname %s\n",
inet_ntoa(mnt_data->addr.sin_addr));
plog(XLOG_DEBUG, "mount_linux: port %d\n",
htons(mnt_data->addr.sin_port));
}
amuDebug(D_TRACE) {
plog(XLOG_DEBUG, "mount_linux: Generic mount flags 0x%x", MS_MGC_VAL | flags);
plog(XLOG_DEBUG, "mount_linux: updated nfs_args...");
print_nfs_args(mnt_data, 0);
}
#endif /* DEBUG */
errorcode = do_mount_linux(type, mnt, flags, data);
/*
* If we failed, (i.e. errorcode != 0), then close the socket
* if it is open.
*/
if (errorcode && mnt_data->fd != -1) {
/* save errno, may be clobbered by close() call! */
int save_errno = errno;
close(mnt_data->fd);
errno = save_errno;
}
} else { /* non-NFS mounts */
sub_type = hasmnteq(mnt, "type");
if (sub_type) {
sub_type = strdup(sub_type);
if (sub_type) { /* the strdup malloc might have failed */
type = strpbrk(sub_type, ",:;\n\t");
if (type == NULL)
type = MOUNT_TYPE_UFS;
else {
*type = '\0';
type = sub_type;
}
} else {
plog(XLOG_ERROR, "strdup returned null in mount_linux");
}
}
if (!hasmntopt(mnt, "type"))
mnt->mnt_type = type;
/* We only parse opts if non-NFS mount */
tmp_opts = parse_opts(type, mnt->mnt_opts, &flags, &extra_opts, &noauto);
#if defined(MOUNT_TYPE_LOFS)
if (STREQ(type, MOUNT_TYPE_LOFS)) {
# if defined(MNT2_GEN_OPT_BIND)
/* use bind mounts for lofs */
flags |= MNT2_GEN_OPT_BIND;
# else /* not MNT2_GEN_OPT_BIND */
/* this is basically a hack to support fist lofs */
XFREE(extra_opts);
extra_opts = (char *) xmalloc(strlen(mnt->mnt_fsname) + sizeof("dir=") + 1);
sprintf(extra_opts, "dir=%s", mnt->mnt_fsname);
# endif /* not MNT2_GEN_OPT_BIND */
errorcode = do_mount_linux(type, mnt, flags, extra_opts);
goto fail;
} /* end of "if type is LOFS" */
#endif /* MOUNT_TYPE_LOFS */
#ifdef HAVE_LOOP_DEVICE
/*
* Yet another hack to support loop mounts of ISO images.
* XXX: this file desperately needs to be rewritten!
*/
if (STREQ(type, MOUNT_TYPE_CDFS)) {
mntent_t lomnt; /* temp for loop mounts */
char *lodev;
memcpy(&lomnt, mnt, sizeof(mntent_t));
/* extra opts may contain "loop=/dev/loopN" */
lomnt.mnt_opts = extra_opts;
lodev = hasmnteq(&lomnt, MNTTAB_OPT_LOOP);
if (lodev) {
char *newopts;
lomnt.mnt_fsname = lodev;
/* fix mnt->mnt_opts so caller can update /etc/mtab correctly */
newopts = (char *) xmalloc(strlen(mnt->mnt_opts) + strlen(extra_opts) + 1);
sprintf(newopts, "%s,%s", mnt->mnt_opts, extra_opts);
XFREE(mnt->mnt_opts);
mnt->mnt_opts = newopts;
plog(XLOG_DEBUG, "mount_linux (loop): lodev %s, opts %s",
lodev, mnt->mnt_opts);
errorcode = do_mount_linux(type, &lomnt, flags, extra_opts);
} else {
errorcode = do_mount_linux(type, mnt, flags, extra_opts);
}
goto fail;
}
#endif /* HAVE_LOOP_DEVICE */
/* if we get here, then it's not an NFS, LOFS, or CDFS mount */
errorcode = do_mount_linux(type, mnt, flags, extra_opts);
} /* non-NFS mounts */
/*
* Free all allocated space and return errorcode.
*/
fail:
if (extra_opts != NULL)
XFREE(extra_opts);
if (tmp_opts != NULL)
XFREE(tmp_opts);
if (sub_type != NULL)
XFREE(sub_type);
if (STREQ(type, MOUNT_TYPE_NFS))
errorcode = mount_linux_nfs(type, mnt, flags, data);
else /* non-NFS mounts */
errorcode = mount_linux_nonfs(type, mnt, flags, data);
return errorcode;
}

View File

@ -1,7 +1,7 @@
/* $NetBSD: mount_mach3.c,v 1.1.1.5 2002/11/29 22:58:30 christos Exp $ */
/* $NetBSD: mount_mach3.c,v 1.1.1.6 2003/03/09 01:13:22 christos Exp $ */
/*
* Copyright (c) 1997-2002 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.
@ -39,7 +39,7 @@
* SUCH DAMAGE.
*
*
* Id: mount_mach3.c,v 1.6 2002/02/02 20:58:58 ezk Exp
* Id: mount_mach3.c,v 1.7 2002/12/27 22:43:56 ezk Exp
*
*/

View File

@ -1,7 +1,7 @@
/* $NetBSD: mount_stellix.c,v 1.1.1.5 2002/11/29 22:58:30 christos Exp $ */
/* $NetBSD: mount_stellix.c,v 1.1.1.6 2003/03/09 01:13:22 christos Exp $ */
/*
* Copyright (c) 1997-2002 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.
@ -39,7 +39,7 @@
* SUCH DAMAGE.
*
*
* Id: mount_stellix.c,v 1.6 2002/02/02 20:58:58 ezk Exp
* Id: mount_stellix.c,v 1.7 2002/12/27 22:43:57 ezk Exp
*
*/

View File

@ -1,7 +1,7 @@
/* $NetBSD: mount_svr4.c,v 1.1.1.5 2002/11/29 22:58:30 christos Exp $ */
/* $NetBSD: mount_svr4.c,v 1.1.1.6 2003/03/09 01:13:22 christos Exp $ */
/*
* Copyright (c) 1997-2002 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.
@ -39,7 +39,7 @@
* SUCH DAMAGE.
*
*
* Id: mount_svr4.c,v 1.8 2002/02/02 20:58:58 ezk Exp
* Id: mount_svr4.c,v 1.9 2002/12/27 22:43:57 ezk Exp
*
*/

View File

@ -1,7 +1,7 @@
/* $NetBSD: mtab_aix.c,v 1.1.1.5 2002/11/29 22:58:30 christos Exp $ */
/* $NetBSD: mtab_aix.c,v 1.1.1.6 2003/03/09 01:13:23 christos Exp $ */
/*
* Copyright (c) 1997-2002 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.
@ -39,7 +39,7 @@
* SUCH DAMAGE.
*
*
* Id: mtab_aix.c,v 1.8 2002/02/02 20:58:58 ezk Exp
* Id: mtab_aix.c,v 1.9 2002/12/27 22:43:57 ezk Exp
*
*/

View File

@ -1,7 +1,7 @@
/* $NetBSD: mtab_bsd.c,v 1.1.1.5 2002/11/29 22:58:30 christos Exp $ */
/* $NetBSD: mtab_bsd.c,v 1.1.1.6 2003/03/09 01:13:23 christos Exp $ */
/*
* Copyright (c) 1997-2002 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.
@ -39,7 +39,7 @@
* SUCH DAMAGE.
*
*
* Id: mtab_bsd.c,v 1.7 2002/02/02 20:58:58 ezk Exp
* Id: mtab_bsd.c,v 1.8 2002/12/27 22:43:57 ezk Exp
*
*/

View File

@ -1,7 +1,7 @@
/* $NetBSD: mtab_file.c,v 1.1.1.5 2002/11/29 22:58:30 christos Exp $ */
/* $NetBSD: mtab_file.c,v 1.1.1.6 2003/03/09 01:13:23 christos Exp $ */
/*
* Copyright (c) 1997-2002 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.
@ -39,7 +39,7 @@
* SUCH DAMAGE.
*
*
* Id: mtab_file.c,v 1.11 2002/02/02 20:58:58 ezk Exp
* Id: mtab_file.c,v 1.12 2002/12/27 22:43:57 ezk Exp
*
*/

View File

@ -1,7 +1,7 @@
/* $NetBSD: mtab_isc3.c,v 1.1.1.5 2002/11/29 22:58:30 christos Exp $ */
/* $NetBSD: mtab_isc3.c,v 1.1.1.6 2003/03/09 01:13:23 christos Exp $ */
/*
* Copyright (c) 1997-2002 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.
@ -39,7 +39,7 @@
* SUCH DAMAGE.
*
*
* Id: mtab_isc3.c,v 1.7 2002/02/02 20:58:58 ezk Exp
* Id: mtab_isc3.c,v 1.8 2002/12/27 22:43:57 ezk Exp
*
*/

View File

@ -1,7 +1,7 @@
/* $NetBSD: mtab_mach3.c,v 1.1.1.5 2002/11/29 22:58:31 christos Exp $ */
/* $NetBSD: mtab_mach3.c,v 1.1.1.6 2003/03/09 01:13:23 christos Exp $ */
/*
* Copyright (c) 1997-2002 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.
@ -39,7 +39,7 @@
* SUCH DAMAGE.
*
*
* Id: mtab_mach3.c,v 1.9 2002/02/02 20:58:58 ezk Exp
* Id: mtab_mach3.c,v 1.10 2002/12/27 22:43:57 ezk Exp
*
*/

View File

@ -1,7 +1,7 @@
/* $NetBSD: mtab_osf.c,v 1.1.1.5 2002/11/29 22:58:31 christos Exp $ */
/* $NetBSD: mtab_osf.c,v 1.1.1.6 2003/03/09 01:13:23 christos Exp $ */
/*
* Copyright (c) 1997-2002 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.
@ -39,7 +39,7 @@
* SUCH DAMAGE.
*
*
* Id: mtab_osf.c,v 1.6 2002/02/02 20:58:59 ezk Exp
* Id: mtab_osf.c,v 1.7 2002/12/27 22:43:57 ezk Exp
*
*/

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