]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
Initial merge with upstream 1.4.5~pre2.dfsg1 release.
authorRuss Allbery <rra@debian.org>
Tue, 16 Oct 2007 06:10:10 +0000 (06:10 +0000)
committerRuss Allbery <rra@debian.org>
Tue, 16 Oct 2007 06:10:10 +0000 (06:10 +0000)
294 files changed:
README
acinclude.m4
aclocal.m4
configure
configure-libafs
configure-libafs.in
configure.in
debian/changelog
debian/rules
doc/html/AdminGuide/cachmgr.gif [new file with mode: 0755]
doc/html/AdminGuide/fserver1.gif [new file with mode: 0755]
doc/html/AdminGuide/fserver2.gif [new file with mode: 0755]
doc/html/AdminGuide/overview.gif [new file with mode: 0755]
doc/html/AdminGuide/scout1.gif [new file with mode: 0755]
doc/html/AdminGuide/scout2.gif [new file with mode: 0755]
doc/html/AdminGuide/scout3.gif [new file with mode: 0755]
doc/html/AdminGuide/scout4.gif [new file with mode: 0755]
doc/html/AdminGuide/vnode.gif [new file with mode: 0755]
doc/man-pages/README
doc/man-pages/check-pod [new file with mode: 0755]
doc/man-pages/man1/fs.1
doc/man-pages/man1/fs_flushall.1 [new file with mode: 0644]
doc/man-pages/man1/fs_getcalleraccess.1 [new file with mode: 0644]
doc/man-pages/man1/fs_getcrypt.1 [new file with mode: 0644]
doc/man-pages/man1/fs_listaliases.1 [new file with mode: 0644]
doc/man-pages/man1/fs_newalias.1 [new file with mode: 0644]
doc/man-pages/man1/fs_setcrypt.1 [new file with mode: 0644]
doc/man-pages/man1/klog.1
doc/man-pages/man1/pts.1
doc/man-pages/man1/pts_interactive.1 [new file with mode: 0644]
doc/man-pages/man1/pts_quit.1 [new file with mode: 0644]
doc/man-pages/man1/pts_sleep.1 [new file with mode: 0644]
doc/man-pages/man1/pts_source.1 [new file with mode: 0644]
doc/man-pages/man1/vos.1
doc/man-pages/man1/vos_backupsys.1
doc/man-pages/man1/vos_changeloc.1 [new file with mode: 0644]
doc/man-pages/man1/vos_offline.1 [new file with mode: 0644]
doc/man-pages/man1/vos_online.1 [new file with mode: 0644]
doc/man-pages/man1/vos_size.1 [new file with mode: 0644]
doc/man-pages/man5/CellAlias.5 [new file with mode: 0644]
doc/man-pages/man5/NetInfo.5
doc/man-pages/man5/NetRestrict.5
doc/man-pages/man8/afsd.8
doc/man-pages/man8/bos_util.8 [new file with mode: 0644]
doc/man-pages/man8/fileserver.8
doc/man-pages/man8/ka-forwarder.8 [new file with mode: 0644]
doc/man-pages/man8/pt_util.8 [new file with mode: 0644]
doc/man-pages/man8/uss.8
doc/man-pages/pod1/fs.pod
doc/man-pages/pod1/fs_flushall.pod [new file with mode: 0644]
doc/man-pages/pod1/fs_getcalleraccess.pod [new file with mode: 0644]
doc/man-pages/pod1/fs_getcrypt.pod [new file with mode: 0644]
doc/man-pages/pod1/fs_listaliases.pod [new file with mode: 0644]
doc/man-pages/pod1/fs_newalias.pod [new file with mode: 0644]
doc/man-pages/pod1/fs_setcrypt.pod [new file with mode: 0644]
doc/man-pages/pod1/klog.pod
doc/man-pages/pod1/pts.pod
doc/man-pages/pod1/pts_interactive.pod [new file with mode: 0644]
doc/man-pages/pod1/pts_quit.pod [new file with mode: 0644]
doc/man-pages/pod1/pts_sleep.pod [new file with mode: 0644]
doc/man-pages/pod1/pts_source.pod [new file with mode: 0644]
doc/man-pages/pod1/vos.pod
doc/man-pages/pod1/vos_backupsys.pod
doc/man-pages/pod1/vos_changeloc.pod [new file with mode: 0644]
doc/man-pages/pod1/vos_offline.pod [new file with mode: 0644]
doc/man-pages/pod1/vos_online.pod [new file with mode: 0644]
doc/man-pages/pod1/vos_size.pod [new file with mode: 0644]
doc/man-pages/pod5/CellAlias.pod [new file with mode: 0644]
doc/man-pages/pod5/NetInfo.pod
doc/man-pages/pod5/NetRestrict.pod
doc/man-pages/pod8/afsd.pod
doc/man-pages/pod8/bos_util.pod [new file with mode: 0644]
doc/man-pages/pod8/fileserver.pod
doc/man-pages/pod8/ka-forwarder.pod [new file with mode: 0644]
doc/man-pages/pod8/pt_util.pod [new file with mode: 0644]
doc/man-pages/pod8/uss.pod
src/JAVA/libjafs/File.c
src/afs/AIX/osi_file.c
src/afs/AIX/osi_inode.c
src/afs/AIX/osi_sleep.c
src/afs/DARWIN/osi_file.c
src/afs/DARWIN/osi_vnodeops.c
src/afs/LINUX/osi_alloc.c
src/afs/LINUX/osi_groups.c
src/afs/LINUX/osi_module.c
src/afs/LINUX/osi_probe.c
src/afs/LINUX/osi_sleep.c
src/afs/LINUX/osi_syscall.c
src/afs/LINUX/osi_sysctl.c
src/afs/LINUX/osi_vfsops.c
src/afs/LINUX/osi_vnodeops.c
src/afs/Makefile.in
src/afs/SOLARIS/osi_machdep.h
src/afs/afs.h
src/afs/afs_call.c
src/afs/afs_cell.c
src/afs/afs_dcache.c
src/afs/afs_init.c
src/afs/afs_memcache.c
src/afs/afs_nfsclnt.c
src/afs/afs_osi.c
src/afs/afs_pioctl.c
src/afs/afs_prototypes.h
src/afs/afs_server.c
src/afsd/CellServDB [new file with mode: 0644]
src/afsd/afsd.c
src/aklog/Makefile.in
src/aklog/aklog.h
src/aklog/aklog_main.c
src/aklog/asetkey.c
src/auth/ktc.c
src/bozo/bos.c
src/bozo/bosserver.c
src/bucoord/bc_status.c
src/bucoord/commands.c
src/bucoord/dump.c
src/bucoord/dump_sched.c
src/bucoord/main.c
src/bucoord/restore.c
src/bucoord/tape_hosts.c
src/bucoord/ubik_db_if.c
src/bucoord/vol_sets.c
src/bucoord/volstub.c
src/budb/database.c
src/budb/database.h
src/budb/ol_verify.c
src/budb/server.c
src/butc/butc_xbsa.c
src/butc/lwps.c
src/butm/butm_test.c
src/butm/file_tm.c
src/butm/test_ftm.c
src/cf/kerberos.m4
src/cf/linux-test2.m4
src/cf/linux-test4.m4
src/cf/osconf.m4
src/cmd/test/itest.c
src/comerr/com_err.c
src/comerr/com_err.h
src/comerr/compile_et.c
src/comerr/error_msg.c
src/comerr/error_table.h
src/comerr/et_name.c
src/comerr/test/test.c
src/config/afs_args.h
src/config/afs_sysnames.h
src/config/afsconfig.h.in
src/config/param.i386_obsd41.h [new file with mode: 0644]
src/config/param.ia64_linux24.h
src/config/param.ia64_linux26.h
src/config/param.ppc64_linux24.h
src/config/param.ppc64_linux26.h
src/config/param.ppc_darwin_90.h
src/config/param.ppc_linux24.h
src/config/param.ppc_linux26.h
src/config/param.sparc64_linux24.h
src/config/param.sparc64_linux26.h
src/config/param.sparc_linux24.h
src/config/param.x86_darwin_90.h
src/config/venus.h
src/dauth/dlog.c
src/des/des.c
src/des/des.h
src/des/pcbc_encrypt.c
src/dir/dir.c
src/finale/translate_et.c
src/kauth/Makefile.in
src/kauth/admin_tools.c
src/kauth/decode_ticket.c
src/kauth/ka-forwarder.c [new file with mode: 0644]
src/kauth/kaprocs.c
src/kauth/kas.c
src/kauth/kaserver.c
src/kauth/kautils.p.h
src/kauth/klog.c
src/kauth/kpasswd.c
src/kauth/krb_tf.c
src/kauth/krb_udp.c
src/kauth/manyklog.c
src/kauth/rebuild.c
src/kauth/test/multiklog.c
src/kauth/test/test_badtix.c
src/kauth/test/test_getticket.c
src/kauth/test/test_interim_ktc.c
src/kauth/test/test_rxkad_free.c
src/kauth/user.c
src/libadmin/adminutil/afs_utilAdmin.c
src/libadmin/client/afs_clientAdmin.c
src/libadmin/kas/afs_kasAdmin.c
src/libadmin/pts/afs_ptsAdmin.c
src/libadmin/pts/afs_ptsAdmin.h
src/libadmin/vos/afs_vosAdmin.c
src/libadmin/vos/vosutils.c
src/libadmin/vos/vsprocs.c
src/libafs/Makefile.common.in
src/libafs/MakefileProto.DARWIN.in
src/libafs/MakefileProto.SOLARIS.in
src/libafs/afs.ppc_darwin_12.plist.in
src/libafs/afs.ppc_darwin_13.plist.in
src/libafs/afs.ppc_darwin_14.plist.in
src/libafs/afs.ppc_darwin_60.plist.in
src/libafs/afs.ppc_darwin_70.plist.in
src/libafs/afs.ppc_darwin_80.plist.in
src/libafs/afs.ppc_darwin_90.plist.in
src/libafs/afs.x86_darwin_80.plist.in
src/libafs/afs.x86_darwin_90.plist.in
src/libafs/make_kbuild_makefile.pl
src/libafsauthent/afsauthent.def
src/libafsrpc/afsrpc.def
src/libafsrpc/afsrpc.exp
src/log/Makefile.in
src/lwp/lwp.c
src/lwp/process.c
src/package/package.c
src/packaging/Debian/CellServDB [deleted file]
src/packaging/HP-UX/files/usr/vice/etc/CellServDB [deleted file]
src/packaging/RedHat/kmodtool [new file with mode: 0644]
src/packaging/RedHat/openafs-1.4.0-kmodule26.patch [new file with mode: 0644]
src/packaging/RedHat/openafs.spec.in
src/ptserver/NTMakefile
src/ptserver/db_verify.c
src/ptserver/map.c
src/ptserver/map.h
src/ptserver/pt_util.c
src/ptserver/ptclient.c
src/ptserver/ptclient.h
src/ptserver/pts.c
src/ptserver/ptserver.c
src/ptserver/ptuser.c
src/ptserver/ptutils.c
src/ptserver/readgroup.c
src/ptserver/readpwd.c
src/ptserver/testpt.c
src/rx/LINUX/rx_kmutex.c
src/rx/LINUX/rx_knet.c
src/rx/SOLARIS/rx_knet.c
src/rx/rx.c
src/rx/rx.h
src/rx/rx_kcommon.h
src/rx/rx_lwp.c
src/rx/rx_packet.c
src/rx/rx_prototypes.h
src/rxkad/bg-fcrypt.c
src/rxkad/rxkad_server.c
src/rxkad/test/stress.c
src/rxkad/test/stress_c.c
src/shlibafsrpc/afsrpc.exp
src/shlibafsrpc/mapfile
src/shlibafsrpc/mapfile.afs_xdr
src/sys/pagsh.c
src/sys/pioctl_nt.c
src/tests/afscp.c
src/tests/afsdump_dirlist.c
src/tests/afsdump_extract.c
src/tests/afsdump_scan.c
src/tests/afsdump_xsed.c
src/tests/null-search.c
src/tsm41/Makefile.in
src/tsm41/aix_aklog.c [new file with mode: 0644]
src/update/client.c
src/update/server.c
src/uss/uss_acl.c
src/uss/uss_kauth.c
src/uss/uss_ptserver.c
src/uss/uss_vol.c
src/venus/cmdebug.c
src/venus/fs.c
src/venus/kdump.c
src/venus/livesys.c
src/venus/twiddle.c
src/venus/up.c
src/venus/whatfid.c
src/viced/afsfileprocs.c
src/viced/callback.c
src/viced/host.c
src/viced/host.h
src/vol/clone.c
src/vol/fssync.c
src/vol/fssync.h
src/vol/ihandle.c
src/vol/ihandle.h
src/vol/namei_ops.c
src/vol/partition.c
src/vol/vol-salvage.c
src/vol/volume.c
src/vol/volume.h
src/volser/common.c
src/volser/volint.xg
src/volser/volmain.c
src/volser/volprocs.c
src/volser/volser_prototypes.h
src/volser/voltrans.c
src/volser/vos.c
src/volser/vsprocs.c

diff --git a/README b/README
index 287b698fe03c32067f126e6922dc90eccf5fdfd5..c7fdff82df21973f0e01ccd244189389aef1a00b 100644 (file)
--- a/README
+++ b/README
@@ -42,7 +42,8 @@ A. Creating the proper directory structure.
       rs_aix42
       sgi_65 (file server not tested)
       sun4_413 (No client support, no fileserver support, db servers only)
-      sun4x_56, sun4x_57, sun4x_58, sun4x_59 (logging UFS not supported 
+      sun4x_56, sun4x_57, sun4x_58, sun4x_59, sun4x_510,
+      sunx86_57, sunx86_58, sunx86_59, sunx86_510 (logging UFS not supported 
          for mixed-use partitions containing client cache)
       ppc_darwin_70
       ppc_linux22, ppc_linux24
@@ -50,7 +51,8 @@ A. Creating the proper directory structure.
       ia64_linux24, ia64_linux26
       sparc_linux22, sparc_linux24
       sparc64_linux22, sparc64_linux24
-      hp_ux110 (See notes below for information on getting missing header)
+      hp_ux11i, hp_ux110 (See notes below for information on getting 
+         missing header)
       hp_ux102 (Client port possible, but db servers and utilities work)
 
    2. Using configure in the top level directory, configure for your
index 8209ee634965b17fa94daa86a50d20ab6254f383..c4d07d7c50a3c3918d7ef7ef4a8e9609eed7ace1 100644 (file)
@@ -488,7 +488,7 @@ else
                        AFS_SYSNAME="s390x_linuxXX"
                        ;;
                sparc-*-linux*)
-                       AFS_SYSNAME="sparc_linuxXX"
+                       AFS_SYSNAME="`/bin/arch`_linuxXX"
                        ;;
                sparc64-*-linux*)
                        AFS_SYSNAME="sparc64_linuxXX"
@@ -582,6 +582,8 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*)
                 )
 
                 LINUX_KERNEL_COMPILE_WORKS
+                LINUX_HAVE_KMEM_CACHE_T
+                LINUX_KMEM_CACHE_CREATE_TAKES_DTOR
                 LINUX_CONFIG_H_EXISTS
                 LINUX_COMPLETION_H_EXISTS
                 LINUX_DEFINES_FOR_EACH_PROCESS
@@ -606,11 +608,15 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*)
                 LINUX_IOP_I_CREATE_TAKES_NAMEIDATA
                 LINUX_IOP_I_LOOKUP_TAKES_NAMEIDATA
                 LINUX_IOP_I_PERMISSION_TAKES_NAMEIDATA
+                LINUX_IOP_I_PUT_LINK_TAKES_COOKIE
                 LINUX_DOP_D_REVALIDATE_TAKES_NAMEIDATA
+                LINUX_FOP_F_FLUSH_TAKES_FL_OWNER_T
                 LINUX_AOP_WRITEBACK_CONTROL
                 LINUX_FS_STRUCT_FOP_HAS_FLOCK
+                LINUX_FS_STRUCT_FOP_HAS_SENDFILE
                 LINUX_KERNEL_LINUX_SYSCALL_H
                 LINUX_KERNEL_LINUX_SEQ_FILE_H
+                LINUX_KERNEL_POSIX_LOCK_FILE_WAIT_ARG
                 LINUX_KERNEL_SELINUX
                 LINUX_KERNEL_SOCK_CREATE
                 LINUX_KERNEL_PAGE_FOLLOW_LINK
@@ -626,6 +632,7 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*)
                 LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_EXIT_STATE
                 LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_TGID
                 LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_TODO
+                LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_THREAD_INFO
                 LINUX_EXPORTS_TASKLIST_LOCK
                 LINUX_GET_SB_HAS_STRUCT_VFSMOUNT
                 LINUX_STATFS_TAKES_DENTRY
@@ -767,6 +774,9 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*)
                 if test "x$ac_cv_linux_func_recalc_sigpending_takes_void" = "xyes"; then 
                  AC_DEFINE(RECALC_SIGPENDING_TAKES_VOID, 1, [define if your recalc_sigpending takes void])
                 fi
+                if test "x$ac_cv_linux_kernel_posix_lock_file_wait_arg" = "xyes" ; then
+                 AC_DEFINE(POSIX_LOCK_FILE_WAIT_ARG, 1, [define if your linux kernel uses 3 arguments for posix_lock_file])
+                fi
                 if test "x$ac_cv_linux_kernel_is_selinux" = "xyes" ; then
                  AC_DEFINE(LINUX_KERNEL_IS_SELINUX, 1, [define if your linux kernel uses SELinux features])
                 fi
@@ -812,6 +822,9 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*)
                 if test "x$ac_cv_linux_sched_struct_task_struct_has_todo" = "xyes"; then 
                  AC_DEFINE(STRUCT_TASK_STRUCT_HAS_TODO, 1, [define if your struct task_struct has todo])
                 fi
+                if test "x$ac_cv_linux_sched_struct_task_struct_has_thread_info" = "xyes"; then 
+                 AC_DEFINE(STRUCT_TASK_STRUCT_HAS_THREAD_INFO, 1, [define if your struct task_struct has thread_info])
+                fi
                 if test "x$ac_cv_linux_get_sb_has_struct_vfsmount" = "xyes"; then
                  AC_DEFINE(GET_SB_HAS_STRUCT_VFSMOUNT, 1, [define if your get_sb_nodev needs a struct vfsmount argument])
                 fi
@@ -827,6 +840,9 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*)
                 if test "x$ac_cv_linux_func_i_create_takes_nameidata" = "xyes" ; then
                  AC_DEFINE(IOP_CREATE_TAKES_NAMEIDATA, 1, [define if your iops.create takes a nameidata argument])
                 fi
+                if test "x$ac_cv_linux_func_f_flush_takes_fl_owner_t" = "xyes" ; then
+                 AC_DEFINE(FOP_FLUSH_TAKES_FL_OWNER_T, 1, [define if your fops.flush takes an fl_owner_t argument])
+                fi
                 if test "x$ac_cv_linux_func_i_lookup_takes_nameidata" = "xyes" ; then
                  AC_DEFINE(IOP_LOOKUP_TAKES_NAMEIDATA, 1, [define if your iops.lookup takes a nameidata argument])
                 fi
@@ -842,12 +858,26 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*)
                 if test "x$ac_cv_linux_fs_struct_fop_has_flock" = "xyes" ; then
                  echo flock support is currently disabled in OpenAFS 1.4 for Linux
                 fi
+                if test "x$ac_cv_linux_fs_struct_fop_has_sendfile" = "xyes" ; then
+                 AC_DEFINE(STRUCT_FILE_OPERATIONS_HAS_SENDFILE, 1, [define if your struct file_operations has sendfile])
+                fi
                 if test "x$ac_cv_linux_register_sysctl_table_noflag" = "xyes" ; then
                  AC_DEFINE(REGISTER_SYSCTL_TABLE_NOFLAG, 1, [define if register_sysctl_table has no insert_at head flag])
                 fi
                 if test "x$ac_cv_linux_exports_tasklist_lock" = "xyes" ; then
                  AC_DEFINE(EXPORTED_TASKLIST_LOCK, 1, [define if tasklist_lock exported])
                 fi
+                if test "x$ac_cv_linux_have_kmem_cache_t" = "xyes" ; then
+                 AC_DEFINE(HAVE_KMEM_CACHE_T, 1, [define if kmem_cache_t exists])
+                fi
+                if test "x$ac_cv_linux_have_kmem_cache_t" = "xyes" ; then
+                 AC_DEFINE(KMEM_CACHE_TAKES_DTOR, 1, [define if kmem_cache_create takes a destructor argument])
+                fi
+                if test "x$ac_cv_linux_kernel_page_follow_link" = "xyes" -o "x$ac_cv_linux_func_i_put_link_takes_cookie" = "xyes"; then
+                 AC_DEFINE(USABLE_KERNEL_PAGE_SYMLINK_CACHE, 1, [define if your kernel has a usable symlink cache API])
+                else
+                 AC_MSG_WARN([your kernel does not have a usable symlink cache API])
+                fi
                 :
                fi
 esac
index effd93009bf715183e79245089d2259ee9d19816..5fe1d31d643f26a8b6a0d0c6cf5c9a3b2b1f0314 100644 (file)
@@ -1,7 +1,7 @@
-# generated automatically by aclocal 1.7.2 -*- Autoconf -*-
+# generated automatically by aclocal 1.9.6 -*- Autoconf -*-
 
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002
-# Free Software Foundation, Inc.
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 2005  Free Software Foundation, Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
 # PARTICULAR PURPOSE.
 
-dnl This file contains the common configuration code which would
-dnl otherwise be duplicated between configure and configure-libafs.
-dnl
-dnl NB: Because this code is a macro, references to positional shell
-dnl parameters must be done like $[]1 instead of $1
-
-AC_DEFUN([OPENAFS_CONFIGURE_COMMON],[
-
-AC_CANONICAL_HOST
-SRCDIR_PARENT=`pwd`
-
-#BOZO_SAVE_CORES pam sia
-AC_ARG_WITH(afs-sysname,
-[  --with-afs-sysname=sys    use sys for the afs sysname]
-)
-AC_ARG_ENABLE( obsolete,
-[  --enable-obsolete                   enable obsolete portions of AFS (mpp and package)],, enable_obsolete="no")
-AC_ARG_ENABLE( afsdb,
-[  --disable-afsdb                     disable AFSDB RR support],, enable_afsdb="yes")
-AC_ARG_ENABLE( pam,
-[  --disable-pam                       disable PAM support],, enable_pam="yes")
-AC_ARG_ENABLE( bos-restricted-mode,
-[  --enable-bos-restricted-mode        enable bosserver restricted mode which disables certain bosserver functionality],, enable_bos_restricted_mode="no")
-AC_ARG_ENABLE( bos-new-config,
-[  --enable-bos-new-config             enable bosserver pickup of BosConfig.new on restarts],, enable_bos_new_config="no")
-AC_ARG_ENABLE( largefile-fileserver,
-[  --disable-largefile-fileserver       disable large file support in fileserver],, enable_largefile_fileserver="yes")
-AC_ARG_ENABLE( namei-fileserver,
-[  --enable-namei-fileserver           force compilation of namei fileserver in preference to inode fileserver],, enable_namei_fileserver="no")
-AC_ARG_ENABLE( supergroups,
-[  --enable-supergroups                enable support for nested pts groups],, enable_supergroups="no")
-AC_ARG_ENABLE( fast-restart,
-[  --enable-fast-restart               enable fast startup of file server without salvaging],, enable_fast_restart="no")
-AC_ARG_ENABLE( bitmap-later,
-[  --enable-bitmap-later               enable fast startup of file server by not reading bitmap till needed],, enable_bitmap_later="no")
-AC_ARG_ENABLE( unix-sockets,
-[  --enable-unix-sockets               enable use of unix domain sockets for fssync],, enable_unix_sockets="yes")
-AC_ARG_ENABLE( full-vos-listvol-switch,
-[  --disable-full-vos-listvol-switch    disable vos full listvol switch for formatted output],, enable_full_vos_listvol_switch="yes")
-AC_ARG_WITH(dux-kernel-headers,
-[  --with-dux-kernel-headers=path      use the kernel headers found at path(optional, defaults to first match in /usr/sys)]
-)
-AC_ARG_WITH(linux-kernel-headers,
-[  --with-linux-kernel-headers=path            use the kernel headers found at path(optional, defaults to /usr/src/linux-2.4, then /usr/src/linux)]
-)
-AC_ARG_WITH(bsd-kernel-headers,
-[  --with-bsd-kernel-headers=path      use the kernel headers found at path(optional, defaults to /usr/src/sys)]
-)
-AC_ARG_WITH(bsd-kernel-build,
-[  --with-bsd-kernel-build=path        use the kernel build found at path(optional, defaults to KSRC/i386/compile/GENERIC)]
-)
-AC_ARG_ENABLE(kernel-module,
-[  --disable-kernel-module                     disable compilation of the kernel module (defaults to enabled)],, enable_kernel_module="yes"
-)
-AC_ARG_ENABLE(redhat-buildsys,
-[  --enable-redhat-buildsys            enable compilation of the redhat build system kernel (defaults to disabled)],, enable_redhat_buildsys="no"
-)
-AC_ARG_ENABLE(transarc-paths,
-[  --enable-transarc-paths                     Use Transarc style paths like /usr/afs and /usr/vice],, enable_transarc_paths="no"
-)
-AC_ARG_ENABLE(tivoli-tsm,
-[  --enable-tivoli-tsm                 Enable use of the Tivoli TSM API libraries for butc support],, enable_tivoli_tsm="no"
-)
-AC_ARG_ENABLE(debug-kernel,
-[  --enable-debug-kernel               enable compilation of the kernel module with debugging information (defaults to disabled)],, enable_debug_kernel="no"
-)
-AC_ARG_ENABLE(optimize-kernel,
-[  --disable-optimize-kernel           disable compilation of the kernel module with optimization (defaults based on platform)],, enable_optimize_kernel="yes"
-)
-AC_ARG_ENABLE(debug,
-[  --enable-debug                      enable compilation of the user space code with debugging information (defaults to disabled)],, enable_debug="no"
-)
-AC_ARG_ENABLE(optimize,
-[  --disable-optimize                  disable optimization for compilation of the user space code (defaults to enabled)],, enable_optimize="yes"
-)
-AC_ARG_ENABLE(debug-lwp,
-[  --enable-debug-lwp                  enable compilation of the LWP code with debugging information (defaults to disabled)],, enable_debug_lwp="no"
-)
-AC_ARG_ENABLE(optimize-lwp,
-[  --disable-optimize-lwp              disable optimization for compilation of the LWP code (defaults to enabled)],, enable_optimize_lwp="yes"
-)
-
-enable_login="no"
-
-dnl weird ass systems
-AC_AIX
-AC_ISC_POSIX
-AC_MINIX
-
-dnl Various compiler setup.
-AC_TYPE_PID_T
-AC_TYPE_SIZE_T
-AC_TYPE_SIGNAL
-COMPILER_HAS_FUNCTION_MACRO
-
-dnl Checks for programs.
-AC_PROG_INSTALL
-AC_PROG_LN_S
-AC_PROG_RANLIB
-AC_PROG_YACC
-AM_PROG_LEX
-
-OPENAFS_CHECK_BIGENDIAN
-
-AC_MSG_CHECKING(your OS)
-system=$host
-case $system in
-        *-linux*)
-
-               MKAFS_OSTYPE=LINUX
-               if test "x$enable_redhat_buildsys" = "xyes"; then
-                AC_DEFINE(ENABLE_REDHAT_BUILDSYS, 1, [define if you have redhat buildsystem])
-               fi
-               if test "x$enable_kernel_module" = "xyes"; then
-                if test "x$with_linux_kernel_headers" != "x"; then
-                  LINUX_KERNEL_PATH="$with_linux_kernel_headers"
-                else
-                  LINUX_KERNEL_PATH="/lib/modules/`uname -r`/source"
-                  if test ! -f "$LINUX_KERNEL_PATH/include/linux/version.h"; then
-                    LINUX_KERNEL_PATH="/lib/modules/`uname -r`/build"
-                  fi
-                  if test ! -f "$LINUX_KERNEL_PATH/include/linux/version.h"; then
-                    LINUX_KERNEL_PATH="/usr/src/linux-2.4"
-                  fi
-                  if test ! -f "$LINUX_KERNEL_PATH/include/linux/version.h"; then
-                    LINUX_KERNEL_PATH="/usr/src/linux"
-                  fi
-                fi
-               if test -f "$LINUX_KERNEL_PATH/include/linux/utsrelease.h"; then
-                linux_kvers=`fgrep UTS_RELEASE $LINUX_KERNEL_PATH/include/linux/utsrelease.h |awk 'BEGIN { FS="\"" } { print $[]2 }'|tail -n 1`
-                LINUX_VERSION="$linux_kvers"
-               else
-                if test -f "$LINUX_KERNEL_PATH/include/linux/version.h"; then
-                 linux_kvers=`fgrep UTS_RELEASE $LINUX_KERNEL_PATH/include/linux/version.h |awk 'BEGIN { FS="\"" } { print $[]2 }'|tail -n 1`
-                 if test "x$linux_kvers" = "x"; then
-                   if test -f "$LINUX_KERNEL_PATH/include/linux/version-up.h"; then
-                     linux_kvers=`fgrep UTS_RELEASE $LINUX_KERNEL_PATH/include/linux/version-up.h |awk 'BEGIN { FS="\"" } { print $[]2 }'|tail -n 1`
-                     if test "x$linux_kvers" = "x"; then
-
-                       AC_MSG_ERROR(Linux headers lack version definition [2])
-                       exit 1
-                     else
-                       LINUX_VERSION="$linux_kvers"
-                      fi
-                    else
-                      AC_MSG_ERROR(Linux headers lack version definition)
-                     exit 1
-                   fi
-                 else
-                   LINUX_VERSION="$linux_kvers"
-                 fi
-                else
-                    enable_kernel_module="no"
-                 fi
-               fi
-                if test ! -f "$LINUX_KERNEL_PATH/include/linux/autoconf.h"; then
-                    enable_kernel_module="no"
-                fi
-                if test "x$enable_kernel_module" = "xno"; then
-                 if test "x$with_linux_kernel_headers" != "x"; then
-                  AC_MSG_ERROR(No usable linux headers found at $LINUX_KERNEL_PATH)
-                  exit 1
-                 else
-                  AC_MSG_WARN(No usable linux headers found at $LINUX_KERNEL_PATH so disabling kernel module)
-                 fi
-                fi
-                 dnl do we need to determine SUBARCH from autoconf.h
-                 SUBARCH=default
-               fi
-               AC_MSG_RESULT(linux)
-                if test "x$enable_kernel_module" = "xyes"; then
-                 AFS_SYSKVERS=`echo $LINUX_VERSION | awk -F\. '{print $[]1 $[]2}'`
-                 if test "x${AFS_SYSKVERS}" = "x"; then
-                  AC_MSG_ERROR(Couldn't guess your Linux version [2])
-                 fi
-                fi
-                ;;
-        *-solaris*)
-               MKAFS_OSTYPE=SOLARIS
-                AC_MSG_RESULT(sun4)
-               SOLARIS_UFSVFS_HAS_DQRWLOCK
-               SOLARIS_PROC_HAS_P_COREFILE
-               SOLARIS_FS_HAS_FS_ROLLED
-                ;;
-        *-sunos*)
-               MKAFS_OSTYPE=SUNOS
-               enable_kernel_module=no
-                AC_MSG_RESULT(sun4)
-                ;;
-        *-hpux*)
-               MKAFS_OSTYPE=HPUX
-                AC_MSG_RESULT(hp_ux)
-               if test -f "/usr/old/usr/include/ndir.h"; then
-                AC_DEFINE(HAVE_USR_OLD_USR_INCLUDE_NDIR_H, 1, [define if you have old ndir.h])
-               fi
-                ;;
-        *-irix*)
-               if test -d /usr/include/sys/SN/SN1; then
-                IRIX_BUILD_IP35="IP35"
-               fi
-               MKAFS_OSTYPE=IRIX
-                AC_MSG_RESULT(sgi)
-                ;;
-        *-aix*)
-               MKAFS_OSTYPE=AIX
-                AC_MSG_RESULT(rs_aix)
-                ;;
-        *-osf*)
-               MKAFS_OSTYPE=DUX
-                AC_MSG_RESULT(alpha_dux)
-               if test "x$enable_kernel_module" = "xyes"; then
-                if test "x$with_dux_kernel_headers" != "x"; then
-                  HEADER_RT=`ls ${with_dux_kernel_headers}/rt_preempt.h | head -1 | sed 's,/rt_preempt.h,,;s,/usr/sys/,,'`
-                else
-                  HEADER_RT=`ls /usr/sys/*/rt_preempt.h | head -1 | sed 's,/rt_preempt.h,,;s,/usr/sys/,,'`
-                fi
-               fi
-               if test "$HEADER_RT" = "*" ; then
-                       AC_MSG_ERROR([Need a configured kernel directory])
-               fi
-               AC_SUBST([HEADER_RT])
-                ;;
-        powerpc-*-darwin*)
-               MKAFS_OSTYPE=DARWIN
-                AC_MSG_RESULT(ppc_darwin)
-                ;;
-        i386-*-darwin*)
-               MKAFS_OSTYPE=DARWIN
-                AC_MSG_RESULT(x86_darwin)
-                ;;
-       *-freebsd*)
-               MKAFS_OSTYPE=FBSD
-               AC_MSG_RESULT(i386_fbsd)
-               ;;
-       *-netbsd*)
-               MKAFS_OSTYPE=NBSD
-               AC_MSG_RESULT(nbsd)
-               ;;
-       *-openbsd*)
-               MKAFS_OSTYPE=OBSD
-               AC_MSG_RESULT(i386_obsd)
-               ;;
-        *)
-                AC_MSG_RESULT($system)
-                ;;
-esac
-
-if test "x$with_afs_sysname" != "x"; then
-        AFS_SYSNAME="$with_afs_sysname"
-else
-       AC_MSG_CHECKING(your AFS sysname)
-       case $host in
-               i?86-*-openbsd?.?)
-                       v=${host#*openbsd}
-                       vM=${v%.*}
-                       vm=${v#*.}
-                       AFS_SYSNAME="i386_obsd${vM}${vm}"
-                       ;;
-               i?86-*-freebsd?.*)
-                       v=${host#*freebsd}
-                       vM=${v%.*}
-                       vm=${v#*.}
-                       AFS_SYSNAME="i386_fbsd_${vM}${vm}"
-                       ;;
-               i?86-*-netbsd*1.5*)
-                       AFS_PARAM_COMMON=param.nbsd15.h
-                       AFS_SYSNAME="i386_nbsd15"
-                       ;;
-               alpha-*-netbsd*1.5*)
-                       AFS_PARAM_COMMON=param.nbsd15.h
-                       AFS_SYSNAME="alpha_nbsd15"
-                       ;;
-               i?86-*-netbsd*1.6[[M-Z]]*)
-                       AFS_PARAM_COMMON=param.nbsd20.h
-                       AFS_SYSNAME="i386_nbsd20"
-                       ;;
-               powerpc-*-netbsd*1.6[[M-Z]]*)
-                       AFS_PARAM_COMMON=param.nbsd20.h
-                       AFS_SYSNAME="ppc_nbsd20"
-                       ;;
-               i?86-*-netbsd*2.0*)
-                       AFS_PARAM_COMMON=param.nbsd20.h
-                       AFS_SYSNAME="i386_nbsd20"
-                       ;;
-               amd64-*-netbsd*2.0*)
-                       AFS_PARAM_COMMON=param.nbsd20.h
-                       AFS_SYSNAME="amd64_nbsd20"
-                       ;;
-               powerpc-*-netbsd*2.0*)
-                       AFS_PARAM_COMMON=param.nbsd20.h
-                       AFS_SYSNAME="ppc_nbsd20"
-                       ;;
-               i?86-*-netbsd*1.6*)
-                       AFS_PARAM_COMMON=param.nbsd16.h
-                       AFS_SYSNAME="i386_nbsd16"
-                       ;;
-               alpha-*-netbsd*1.6*)
-                       AFS_PARAM_COMMON=param.nbsd16.h
-                       AFS_SYSNAME="alpha_nbsd16"
-                       ;;
-               powerpc-*-netbsd*1.6*)
-                       AFS_PARAM_COMMON=param.nbsd16.h
-                       AFS_SYSNAME="ppc_nbsd16"
-                       ;;
-               i?86-*-netbsd*2.1*)
-                       AFS_PARAM_COMMON=param.nbsd21.h
-                       AFS_SYSNAME="i386_nbsd21"
-                       ;;
-               i?86-*-netbsd*2.99*)
-                       AFS_PARAM_COMMON=param.nbsd30.h
-                       AFS_SYSNAME="i386_nbsd30"
-                       ;;
-               i?86-*-netbsd*3.[[0-8]]*)
-                       AFS_PARAM_COMMON=param.nbsd30.h
-                       AFS_SYSNAME="i386_nbsd30"
-                       ;;
-               i?86-*-netbsd*3.99*)
-                       AFS_PARAM_COMMON=param.nbsd30.h
-                       AFS_SYSNAME="i386_nbsd30"
-                       ;;
-               i?86-*-netbsd*4.[[0-8]]*)
-                       AFS_PARAM_COMMON=param.nbsd40.h
-                       AFS_SYSNAME="i386_nbsd40"
-                       ;;
-               i?86-*-netbsd*4.99*)
-                       AFS_PARAM_COMMON=param.nbsd40.h
-                       AFS_SYSNAME="i386_nbsd40"
-                       ;;
-               hppa*-hp-hpux11.0*)
-                       AFS_SYSNAME="hp_ux110"
-                       ;;
-               hppa*-hp-hpux11.11)
-                       AFS_SYSNAME="hp_ux11i"
-                       ;;
-               ia64-hp-hpux11.22)
-                       AFS_SYSNAME="ia64_hpux1122"
-                       ;;
-               ia64-hp-hpux*)
-                       AFS_SYSNAME="ia64_hpux1123"
-                       ;;
-               hppa*-hp-hpux10*)
-                       AFS_SYSNAME="hp_ux102"
-                       ;;
-               powerpc-apple-darwin1.2*)
-                       AFS_SYSNAME="ppc_darwin_12"
-                       ;;
-               powerpc-apple-darwin1.3*)
-                       AFS_SYSNAME="ppc_darwin_13"
-                       ;;
-               powerpc-apple-darwin1.4*)
-                       AFS_SYSNAME="ppc_darwin_14"
-                       ;;
-               powerpc-apple-darwin5.1*)
-                       AFS_SYSNAME="ppc_darwin_14"
-                       ;;
-               powerpc-apple-darwin5.2*)
-                       AFS_SYSNAME="ppc_darwin_14"
-                       ;;
-               powerpc-apple-darwin5.3*)
-                       AFS_SYSNAME="ppc_darwin_14"
-                       ;;
-               powerpc-apple-darwin5.4*)
-                       AFS_SYSNAME="ppc_darwin_14"
-                       ;;
-               powerpc-apple-darwin5.5*)
-                       AFS_SYSNAME="ppc_darwin_14"
-                       ;;
-               powerpc-apple-darwin6.0*)
-                       AFS_SYSNAME="ppc_darwin_60"
-                       ;;
-               powerpc-apple-darwin6.1*)
-                       AFS_SYSNAME="ppc_darwin_60"
-                       ;;
-               powerpc-apple-darwin6.2*)
-                       AFS_SYSNAME="ppc_darwin_60"
-                       ;;
-               powerpc-apple-darwin6.3*)
-                       AFS_SYSNAME="ppc_darwin_60"
-                       ;;
-               powerpc-apple-darwin6.4*)
-                       AFS_SYSNAME="ppc_darwin_60"
-                       ;;
-               powerpc-apple-darwin6.5*)
-                       AFS_SYSNAME="ppc_darwin_60"
-                       ;;
-               powerpc-apple-darwin7.0*)
-                       AFS_SYSNAME="ppc_darwin_70"
-                       ;;
-               powerpc-apple-darwin7.1*)
-                       AFS_SYSNAME="ppc_darwin_70"
-                       ;;
-               powerpc-apple-darwin7.2*)
-                       AFS_SYSNAME="ppc_darwin_70"
-                       ;;
-               powerpc-apple-darwin7.3*)
-                       AFS_SYSNAME="ppc_darwin_70"
-                       ;;
-               powerpc-apple-darwin7.4*)
-                       AFS_SYSNAME="ppc_darwin_70"
-                       ;;
-               powerpc-apple-darwin7.5*)
-                       AFS_SYSNAME="ppc_darwin_70"
-                       ;;
-               powerpc-apple-darwin8*)
-                       AFS_SYSNAME="ppc_darwin_80"
-                       ;;
-               powerpc-apple-darwin8.*)
-                       AFS_SYSNAME="ppc_darwin_80"
-                       ;;
-               i386-apple-darwin8.*)
-                       AFS_SYSNAME="x86_darwin_80"
-                       ;;
-               powerpc-apple-darwin9.*)
-                       AFS_SYSNAME="ppc_darwin_90"
-                       ;;
-               i386-apple-darwin9.*)
-                       AFS_SYSNAME="x86_darwin_90"
-                       ;;
-               sparc-sun-solaris2.5*)
-                       AFS_SYSNAME="sun4x_55"
-                       enable_login="yes"
-                       ;;
-               sparc-sun-solaris2.6)
-                       AFS_SYSNAME="sun4x_56"
-                       ;;
-               sparc-sun-solaris2.7)
-                       AFS_SYSNAME="sun4x_57"
-                       ;;
-               sparc-sun-solaris2.8)
-                       AFS_SYSNAME="sun4x_58"
-                       ;;
-               sparc-sun-solaris2.9)
-                       AFS_SYSNAME="sun4x_59"
-                       ;;
-               sparc-sun-solaris2.10)
-                       AFS_SYSNAME="sun4x_510"
-                       ;;
-               sparc-sun-solaris2.11)
-                       AFS_SYSNAME="sun4x_511"
-                       ;;
-               sparc-sun-sunos4*)
-                       AFS_SYSNAME="sun4_413"
-                       enable_login="yes"
-                       ;;
-               i386-pc-solaris2.7)
-                       AFS_SYSNAME="sunx86_57"
-                       ;;
-               i386-pc-solaris2.8)
-                       AFS_SYSNAME="sunx86_58"
-                       ;;
-               i386-pc-solaris2.9)
-                       AFS_SYSNAME="sunx86_59"
-                       ;;
-               i386-pc-solaris2.10)
-                       AFS_SYSNAME="sunx86_510"
-                       ;;
-               i386-pc-solaris2.11)
-                       AFS_SYSNAME="sunx86_511"
-                       ;;
-               alpha*-dec-osf4.0*)
-                       AFS_SYSNAME="alpha_dux40"
-                       ;;
-               alpha*-dec-osf5.0*)
-                       AFS_SYSNAME="alpha_dux50"
-                       ;;
-               alpha*-dec-osf5.1*)
-                       AFS_SYSNAME="alpha_dux51"
-                       ;;
-               mips-sgi-irix6.5)
-                       AFS_SYSNAME="sgi_65"
-                       ;;
-               ia64-*-linux*)
-                       AFS_SYSNAME="ia64_linuxXX"
-                       ;;
-               powerpc-*-linux*)
-                       AFS_SYSNAME="`/bin/arch`_linuxXX"
-                       ;;
-               powerpc64-*-linux*)
-                       AFS_SYSNAME="ppc64_linuxXX"
-                       ;;
-               alpha*-linux*)
-                       AFS_SYSNAME="alpha_linux_XX"
-                       ;;
-               s390-*-linux*)
-                       AFS_SYSNAME="s390_linuxXX"
-                       ;;
-               s390x-*-linux*)
-                       AFS_SYSNAME="s390x_linuxXX"
-                       ;;
-               sparc-*-linux*)
-                       AFS_SYSNAME="sparc_linuxXX"
-                       ;;
-               sparc64-*-linux*)
-                       AFS_SYSNAME="sparc64_linuxXX"
-                       ;;
-               i?86-*-linux*)
-                       AFS_SYSNAME="i386_linuxXX"
-                       ;;
-               parisc-*-linux-gnu|hppa-*-linux-gnu)
-                       AFS_SYSNAME="parisc_linuxXX"
-                       enable_pam="no"
-                       ;;
-               power*-ibm-aix4.2*)
-                       AFS_SYSNAME="rs_aix42"
-                       enable_pam="no"
-                       ;;
-               power*-ibm-aix4.3*)
-                       AFS_SYSNAME="rs_aix42"
-                       enable_pam="no"
-                       ;;
-               power*-ibm-aix5.1*)
-                       AFS_SYSNAME="rs_aix51"
-                       enable_pam="no"
-                       ;;
-               power*-ibm-aix5.2*)
-                       AFS_SYSNAME="rs_aix52"
-                       enable_pam="no"
-                       ;;
-               power*-ibm-aix5.3*)
-                       AFS_SYSNAME="rs_aix53"
-                       enable_pam="no"
-                       ;;
-               x86_64-*-linux-gnu)
-                       AFS_SYSNAME="amd64_linuxXX"
-                       enable_pam="no"
-                       ;;
-               *)
-                       AC_MSG_ERROR(An AFS sysname is required)
-                       exit 1
-                       ;;
-       esac
-       case $AFS_SYSNAME in
-               *_linux* | *_umlinux*)
-                       if test "x${AFS_SYSKVERS}" = "x"; then
-                        AC_MSG_ERROR(Couldn't guess your Linux version. Please use the --with-afs-sysname option to configure an AFS sysname.)
-                       fi
-                       _AFS_SYSNAME=`echo $AFS_SYSNAME|sed s/XX\$/$AFS_SYSKVERS/`
-                       AFS_SYSNAME="$_AFS_SYSNAME"
-                       save_CPPFLAGS="$CPPFLAGS"
-                       CPPFLAGS="-I${LINUX_KERNEL_PATH}/include $CPPFLAGS"
-                       AC_TRY_COMPILE(
-                        [#include <linux/autoconf.h>],
-                        [#ifndef CONFIG_USERMODE
-                         #error not UML
-                         #endif],
-                        ac_cv_linux_is_uml=yes,)
-                       if test "${ac_cv_linux_is_uml}" = yes; then
-                        _AFS_SYSNAME=`echo $AFS_SYSNAME|sed s/linux/umlinux/`
-                       fi
-                       CPPFLAGS="$save_CPPFLAGS"
-                       AFS_SYSNAME="$_AFS_SYSNAME"
-                       ;;
-       esac
-        AC_MSG_RESULT($AFS_SYSNAME)
-fi
-
-case $AFS_SYSNAME in *_linux* | *_umlinux*)
-
-               # Add (sub-) architecture-specific paths needed by conftests
-               case $AFS_SYSNAME  in
-                       *_umlinux26)
-                               UMLINUX26_FLAGS="-I$LINUX_KERNEL_PATH/arch/um/include"
-                               UMLINUX26_FLAGS="$UMLINUX26_FLAGS -I$LINUX_KERNEL_PATH/arch/um/kernel/tt/include"
-                               UMLINUX26_FLAGS="$UMLINUX26_FLAGS -I$LINUX_KERNEL_PATH/arch/um/kernel/skas/include"
-                               CPPFLAGS="$CPPFLAGS $UMLINUX26_FLAGS"
-               esac
-
-               if test "x$enable_kernel_module" = "xyes"; then
-                if test "x$enable_debug_kernel" = "xno"; then
-                       LINUX_GCC_KOPTS="$LINUX_GCC_KOPTS -fomit-frame-pointer"
-                fi
-                OPENAFS_GCC_SUPPORTS_MARCH
-                AC_SUBST(P5PLUS_KOPTS)
-                OPENAFS_GCC_NEEDS_NO_STRENGTH_REDUCE
-                OPENAFS_GCC_NEEDS_NO_STRICT_ALIASING
-                OPENAFS_GCC_SUPPORTS_NO_COMMON
-                OPENAFS_GCC_SUPPORTS_PIPE
-                AC_SUBST(LINUX_GCC_KOPTS)
-                ifdef([OPENAFS_CONFIGURE_LIBAFS],
-                  [LINUX_BUILD_VNODE_FROM_INODE(src/config,src/afs)],
-                  [LINUX_BUILD_VNODE_FROM_INODE(${srcdir}/src/config,src/afs/LINUX,${srcdir}/src/afs/LINUX)]
-                )
-
-                LINUX_KERNEL_COMPILE_WORKS
-                LINUX_CONFIG_H_EXISTS
-                LINUX_COMPLETION_H_EXISTS
-                LINUX_DEFINES_FOR_EACH_PROCESS
-                LINUX_DEFINES_PREV_TASK
-                LINUX_FS_STRUCT_SUPER_HAS_ALLOC_INODE
-                LINUX_FS_STRUCT_ADDRESS_SPACE_HAS_PAGE_LOCK
-                LINUX_FS_STRUCT_ADDRESS_SPACE_HAS_GFP_MASK
-                LINUX_FS_STRUCT_INODE_HAS_I_ALLOC_SEM
-                LINUX_FS_STRUCT_INODE_HAS_I_BLKBITS
-                LINUX_FS_STRUCT_INODE_HAS_I_BLKSIZE
-                LINUX_FS_STRUCT_INODE_HAS_I_TRUNCATE_SEM
-                LINUX_FS_STRUCT_INODE_HAS_I_DIRTY_DATA_BUFFERS
-                LINUX_FS_STRUCT_INODE_HAS_I_DEVICES
-                LINUX_FS_STRUCT_INODE_HAS_I_MMAP_SHARED
-                LINUX_FS_STRUCT_INODE_HAS_I_MUTEX
-                LINUX_FS_STRUCT_INODE_HAS_I_SB_LIST
-                LINUX_FS_STRUCT_INODE_HAS_I_SECURITY
-                LINUX_FS_STRUCT_INODE_HAS_INOTIFY_LOCK
-                LINUX_FS_STRUCT_INODE_HAS_INOTIFY_SEM
-                LINUX_INODE_SETATTR_RETURN_TYPE
-                LINUX_WRITE_INODE_RETURN_TYPE
-                LINUX_IOP_I_CREATE_TAKES_NAMEIDATA
-                LINUX_IOP_I_LOOKUP_TAKES_NAMEIDATA
-                LINUX_IOP_I_PERMISSION_TAKES_NAMEIDATA
-                LINUX_DOP_D_REVALIDATE_TAKES_NAMEIDATA
-                LINUX_AOP_WRITEBACK_CONTROL
-                LINUX_FS_STRUCT_FOP_HAS_FLOCK
-                LINUX_KERNEL_LINUX_SYSCALL_H
-                LINUX_KERNEL_LINUX_SEQ_FILE_H
-                LINUX_KERNEL_SELINUX
-                LINUX_KERNEL_SOCK_CREATE
-                LINUX_KERNEL_PAGE_FOLLOW_LINK
-                LINUX_NEED_RHCONFIG
-                LINUX_RECALC_SIGPENDING_ARG_TYPE
-                LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_PARENT
-                LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_REAL_PARENT
-                LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_SIG
-                LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_SIGHAND
-                LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_SIGMASK_LOCK
-                LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_RLIM
-                LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_SIGNAL_RLIM
-                LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_EXIT_STATE
-                LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_TGID
-                LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_TODO
-                LINUX_EXPORTS_TASKLIST_LOCK
-                LINUX_GET_SB_HAS_STRUCT_VFSMOUNT
-                LINUX_STATFS_TAKES_DENTRY
-                LINUX_FREEZER_H_EXISTS
-                if test "x$ac_cv_linux_freezer_h_exists" = "xyes" ; then
-                 AC_DEFINE(FREEZER_H_EXISTS, 1, [define if you have linux/freezer.h])
-                fi
-                LINUX_REFRIGERATOR
-                LINUX_LINUX_KEYRING_SUPPORT
-                LINUX_KEY_ALLOC_NEEDS_STRUCT_TASK
-                LINUX_DO_SYNC_READ
-                LINUX_GENERIC_FILE_AIO_READ
-                LINUX_INIT_WORK_HAS_DATA
-                LINUX_REGISTER_SYSCTL_TABLE_NOFLAG
-                 LINUX_EXPORTS_SYS_CHDIR
-                 LINUX_EXPORTS_SYS_CLOSE
-                 LINUX_EXPORTS_SYS_OPEN
-                 LINUX_EXPORTS_SYS_WAIT4
-                LINUX_WHICH_MODULES
-                 if test "x$ac_cv_linux_config_modversions" = "xno" -o $AFS_SYSKVERS -ge 26; then
-                   AC_MSG_WARN([Cannot determine sys_call_table status. assuming it isn't exported])
-                   ac_cv_linux_exports_sys_call_table=no
-                  if test -f "$LINUX_KERNEL_PATH/include/asm/ia32_unistd.h"; then
-                    ac_cv_linux_exports_ia32_sys_call_table=yes
-                  fi
-                 else
-                   LINUX_EXPORTS_INIT_MM
-                   LINUX_EXPORTS_KALLSYMS_ADDRESS
-                   LINUX_EXPORTS_KALLSYMS_SYMBOL
-                   LINUX_EXPORTS_SYS_CALL_TABLE
-                   LINUX_EXPORTS_IA32_SYS_CALL_TABLE
-                   if test "x$ac_cv_linux_exports_sys_call_table" = "xno"; then
-                         linux_syscall_method=none
-                         if test "x$ac_cv_linux_exports_init_mm" = "xyes"; then
-                            linux_syscall_method=scan
-                            if test "x$ac_cv_linux_exports_kallsyms_address" = "xyes"; then
-                               linux_syscall_method=scan_with_kallsyms_address
-                            fi
-                         fi
-                         if test "x$ac_cv_linux_exports_kallsyms_symbol" = "xyes"; then
-                            linux_syscall_method=kallsyms_symbol
-                         fi
-                         if test "x$linux_syscall_method" = "xnone"; then
-                           AC_MSG_WARN([no available sys_call_table access method -- guessing scan])
-                            linux_syscall_method=scan
-                         fi
-                   fi
-                 fi
-                if test -f "$LINUX_KERNEL_PATH/include/linux/in_systm.h"; then
-                 AC_DEFINE(HAVE_IN_SYSTM_H, 1, [define if you have in_systm.h header file])
-                fi
-                if test -f "$LINUX_KERNEL_PATH/include/linux/mm_inline.h"; then
-                 AC_DEFINE(HAVE_MM_INLINE_H, 1, [define if you have mm_inline.h header file])
-                fi
-                if test -f "$LINUX_KERNEL_PATH/include/linux/in_systm.h"; then
-                 AC_DEFINE(HAVE_IN_SYSTM_H, 1, [define if you have in_systm.h header file])
-                fi
-                if test "x$ac_cv_linux_exports_sys_chdir" = "xyes" ; then
-                 AC_DEFINE(EXPORTED_SYS_CHDIR, 1, [define if your linux kernel exports sys_chdir])
-                fi
-                if test "x$ac_cv_linux_exports_sys_open" = "xyes" ; then
-                 AC_DEFINE(EXPORTED_SYS_OPEN, 1, [define if your linux kernel exports sys_open])
-                fi
-                if test "x$ac_cv_linux_exports_sys_close" = "xyes" ; then
-                 AC_DEFINE(EXPORTED_SYS_CLOSE, 1, [define if your linux kernel exports sys_close])
-                fi
-                if test "x$ac_cv_linux_exports_sys_wait4" = "xyes" ; then
-                 AC_DEFINE(EXPORTED_SYS_WAIT4, 1, [define if your linux kernel exports sys_wait4])
-                fi
-                 if test "x$ac_cv_linux_exports_sys_call_table" = "xyes"; then
-                  AC_DEFINE(EXPORTED_SYS_CALL_TABLE)
-                 fi
-                 if test "x$ac_cv_linux_exports_ia32_sys_call_table" = "xyes"; then
-                  AC_DEFINE(EXPORTED_IA32_SYS_CALL_TABLE)
-                 fi
-                 if test "x$ac_cv_linux_exports_kallsyms_symbol" = "xyes"; then
-                  AC_DEFINE(EXPORTED_KALLSYMS_SYMBOL)
-                 fi
-                 if test "x$ac_cv_linux_exports_kallsyms_address" = "xyes"; then
-                  AC_DEFINE(EXPORTED_KALLSYMS_ADDRESS)
-                 fi
-                if test "x$ac_cv_linux_completion_h_exists" = "xyes" ; then
-                 AC_DEFINE(COMPLETION_H_EXISTS, 1, [define if completion_h exists])
-                fi
-                if test "x$ac_cv_linux_config_h_exists" = "xyes" ; then
-                 AC_DEFINE(CONFIG_H_EXISTS, 1, [define if config.h exists])
-                fi
-                if test "x$ac_cv_linux_defines_for_each_process" = "xyes" ; then
-                 AC_DEFINE(DEFINED_FOR_EACH_PROCESS, 1, [define if for_each_process defined])
-                fi
-                if test "x$ac_cv_linux_defines_prev_task" = "xyes" ; then
-                 AC_DEFINE(DEFINED_PREV_TASK, 1, [define if prev_task defined])
-                fi
-                if test "x$ac_cv_linux_func_inode_setattr_returns_int" = "xyes" ; then
-                 AC_DEFINE(INODE_SETATTR_NOT_VOID, 1, [define if your setattr return return non-void])
-                fi
-                if test "x$ac_cv_linux_func_write_inode_returns_int" = "xyes" ; then
-                 AC_DEFINE(WRITE_INODE_NOT_VOID, 1, [define if your sops.write_inode returns non-void])
-                fi
-                if test "x$ac_cv_linux_fs_struct_super_has_alloc_inode" = "xyes" ; then
-                 AC_DEFINE(STRUCT_SUPER_HAS_ALLOC_INODE, 1, [define if your struct super_operations has alloc_inode])
-                fi
-                if test "x$ac_cv_linux_fs_struct_address_space_has_page_lock" = "xyes"; then 
-                 AC_DEFINE(STRUCT_ADDRESS_SPACE_HAS_PAGE_LOCK, 1, [define if your struct address_space has page_lock])
-                fi
-                if test "x$ac_cv_linux_fs_struct_address_space_has_gfp_mask" = "xyes"; then 
-                 AC_DEFINE(STRUCT_ADDRESS_SPACE_HAS_GFP_MASK, 1, [define if your struct address_space has gfp_mask])
-                fi
-                if test "x$ac_cv_linux_fs_struct_inode_has_i_truncate_sem" = "xyes"; then 
-                 AC_DEFINE(STRUCT_INODE_HAS_I_TRUNCATE_SEM, 1, [define if your struct inode has truncate_sem])
-                fi
-                if test "x$ac_cv_linux_fs_struct_inode_has_i_alloc_sem" = "xyes"; then 
-                 AC_DEFINE(STRUCT_INODE_HAS_I_ALLOC_SEM, 1, [define if your struct inode has alloc_sem])
-                fi
-                if test "x$ac_cv_linux_fs_struct_inode_has_i_blksize" = "xyes"; then 
-                 AC_DEFINE(STRUCT_INODE_HAS_I_BLKSIZE, 1, [define if your struct inode has i_blksize])
-                fi
-                if test "x$ac_cv_linux_fs_struct_inode_has_i_devices" = "xyes"; then 
-                 AC_DEFINE(STRUCT_INODE_HAS_I_DEVICES, 1, [define if you struct inode has i_devices])
-                fi
-                if test "x$ac_cv_linux_fs_struct_inode_has_i_security" = "xyes"; then 
-                 AC_DEFINE(STRUCT_INODE_HAS_I_SECURITY, 1, [define if you struct inode has i_security])
-                fi
-                if test "x$ac_cv_linux_fs_struct_inode_has_i_mutex" = "xyes"; then 
-                 AC_DEFINE(STRUCT_INODE_HAS_I_MUTEX, 1, [define if you struct inode has i_mutex])
-                fi
-                if test "x$ac_cv_linux_fs_struct_inode_has_i_sb_list" = "xyes"; then 
-                 AC_DEFINE(STRUCT_INODE_HAS_I_SB_LIST, 1, [define if you struct inode has i_sb_list])
-                fi
-                if test "x$ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers" = "xyes"; then 
-                 AC_DEFINE(STRUCT_INODE_HAS_I_DIRTY_DATA_BUFFERS, 1, [define if your struct inode has data_buffers])
-                fi
-                if test "x$ac_cv_linux_fs_struct_inode_has_inotify_lock" = "xyes"; then 
-                 AC_DEFINE(STRUCT_INODE_HAS_INOTIFY_LOCK, 1, [define if your struct inode has inotify_lock])
-                fi
-                if test "x$ac_cv_linux_fs_struct_inode_has_inotify_sem" = "xyes"; then 
-                 AC_DEFINE(STRUCT_INODE_HAS_INOTIFY_SEM, 1, [define if your struct inode has inotify_sem])
-                fi
-                if test "x$ac_cv_linux_func_recalc_sigpending_takes_void" = "xyes"; then 
-                 AC_DEFINE(RECALC_SIGPENDING_TAKES_VOID, 1, [define if your recalc_sigpending takes void])
-                fi
-                if test "x$ac_cv_linux_kernel_is_selinux" = "xyes" ; then
-                 AC_DEFINE(LINUX_KERNEL_IS_SELINUX, 1, [define if your linux kernel uses SELinux features])
-                fi
-                if test "x$ac_cv_linux_kernel_sock_create_v" = "xyes" ; then
-                 AC_DEFINE(LINUX_KERNEL_SOCK_CREATE_V, 1, [define if your linux kernel uses 5 arguments for sock_create])
-                fi
-                if test "x$ac_cv_linux_kernel_page_follow_link" = "xyes" ; then
-                 AC_DEFINE(HAVE_KERNEL_PAGE_FOLLOW_LINK, 1, [define if your linux kernel provides page_follow_link])
-                fi
-                if test "x$ac_linux_syscall" = "xyes" ; then
-                 AC_DEFINE(HAVE_KERNEL_LINUX_SYSCALL_H, 1, [define if your linux kernel has linux/syscall.h])
-                fi
-                if test "x$ac_linux_seq_file" = "xyes" ; then
-                 AC_DEFINE(HAVE_KERNEL_LINUX_SEQ_FILE_H, 1, [define if your linux kernel has linux/seq_file.h])
-                fi
-                if test "x$ac_cv_linux_sched_struct_task_struct_has_parent" = "xyes"; then 
-                 AC_DEFINE(STRUCT_TASK_STRUCT_HAS_PARENT, 1, [define if your struct task_struct has parent])
-                fi
-                if test "x$ac_cv_linux_sched_struct_task_struct_has_real_parent" = "xyes"; then 
-                 AC_DEFINE(STRUCT_TASK_STRUCT_HAS_REAL_PARENT, 1, [define if your struct task_struct has real_parent])
-                fi
-                if test "x$ac_cv_linux_sched_struct_task_struct_has_sigmask_lock" = "xyes"; then 
-                 AC_DEFINE(STRUCT_TASK_STRUCT_HAS_SIGMASK_LOCK, 1, [define if your struct task_struct has sigmask_lock])
-                fi
-                if test "x$ac_cv_linux_sched_struct_task_struct_has_sighand" = "xyes"; then 
-                 AC_DEFINE(STRUCT_TASK_STRUCT_HAS_SIGHAND, 1, [define if your struct task_struct has sighand])
-                fi
-                if test "x$ac_cv_linux_sched_struct_task_struct_has_sig" = "xyes"; then 
-                 AC_DEFINE(STRUCT_TASK_STRUCT_HAS_SIG, 1, [define if your struct task_struct has sig])
-                fi
-                if test "x$ac_cv_linux_sched_struct_task_struct_has_rlim" = "xyes"; then 
-                 AC_DEFINE(STRUCT_TASK_STRUCT_HAS_RLIM, 1, [define if your struct task_struct has rlim])
-                fi
-                if test "x$ac_cv_linux_sched_struct_task_struct_has_signal_rlim" = "xyes"; then 
-                 AC_DEFINE(STRUCT_TASK_STRUCT_HAS_SIGNAL_RLIM, 1, [define if your struct task_struct has signal->rlim])
-                fi
-                if test "x$ac_cv_linux_sched_struct_task_struct_has_exit_state" = "xyes"; then 
-                 AC_DEFINE(STRUCT_TASK_STRUCT_HAS_EXIT_STATE, 1, [define if your struct task_struct has exit_state])
-                fi
-                if test "x$ac_cv_linux_sched_struct_task_struct_has_tgid" = "xyes"; then 
-                 AC_DEFINE(STRUCT_TASK_STRUCT_HAS_TGID, 1, [define if your struct task_struct has tgid])
-                fi
-                if test "x$ac_cv_linux_sched_struct_task_struct_has_todo" = "xyes"; then 
-                 AC_DEFINE(STRUCT_TASK_STRUCT_HAS_TODO, 1, [define if your struct task_struct has todo])
-                fi
-                if test "x$ac_cv_linux_get_sb_has_struct_vfsmount" = "xyes"; then
-                 AC_DEFINE(GET_SB_HAS_STRUCT_VFSMOUNT, 1, [define if your get_sb_nodev needs a struct vfsmount argument])
-                fi
-                if test "x$ac_cv_linux_statfs_takes_dentry" = "xyes"; then
-                 AC_DEFINE(STATFS_TAKES_DENTRY, 1, [define if your statfs takes a dentry argument])
-                fi
-                if test "x$ac_cv_linux_func_a_writepage_takes_writeback_control" = "xyes" ; then
-                 AC_DEFINE(AOP_WRITEPAGE_TAKES_WRITEBACK_CONTROL, 1, [define if your aops.writepage takes a struct writeback_control argument])
-                fi
-                if test "x$ac_cv_linux_func_refrigerator_takes_pf_freeze" = "xyes" ; then
-                 AC_DEFINE(LINUX_REFRIGERATOR_TAKES_PF_FREEZE, 1, [define if your refrigerator takes PF_FREEZE])
-                fi
-                if test "x$ac_cv_linux_func_i_create_takes_nameidata" = "xyes" ; then
-                 AC_DEFINE(IOP_CREATE_TAKES_NAMEIDATA, 1, [define if your iops.create takes a nameidata argument])
-                fi
-                if test "x$ac_cv_linux_func_i_lookup_takes_nameidata" = "xyes" ; then
-                 AC_DEFINE(IOP_LOOKUP_TAKES_NAMEIDATA, 1, [define if your iops.lookup takes a nameidata argument])
-                fi
-                if test "x$ac_cv_linux_func_i_permission_takes_nameidata" = "xyes" ; then
-                 AC_DEFINE(IOP_PERMISSION_TAKES_NAMEIDATA, 1, [define if your iops.permission takes a nameidata argument])
-                fi
-                if test "x$ac_cv_linux_func_d_revalidate_takes_nameidata" = "xyes" ; then
-                 AC_DEFINE(DOP_REVALIDATE_TAKES_NAMEIDATA, 1, [define if your dops.d_revalidate takes a nameidata argument])
-                fi
-                if test "x$ac_cv_linux_init_work_has_data" = "xyes" ; then
-                 AC_DEFINE(INIT_WORK_HAS_DATA, 1, [define if INIT_WORK takes a data (3rd) argument])
-                fi
-                if test "x$ac_cv_linux_fs_struct_fop_has_flock" = "xyes" ; then
-                 echo flock support is currently disabled in OpenAFS 1.4 for Linux
-                fi
-                if test "x$ac_cv_linux_register_sysctl_table_noflag" = "xyes" ; then
-                 AC_DEFINE(REGISTER_SYSCTL_TABLE_NOFLAG, 1, [define if register_sysctl_table has no insert_at head flag])
-                fi
-                if test "x$ac_cv_linux_exports_tasklist_lock" = "xyes" ; then
-                 AC_DEFINE(EXPORTED_TASKLIST_LOCK, 1, [define if tasklist_lock exported])
-                fi
-                :
-               fi
-esac
-
-case $AFS_SYSNAME in
-       *_darwin*)
-               DARWIN_PLIST=src/libafs/afs.${AFS_SYSNAME}.plist
-               DARWIN_INFOFILE=afs.${AFS_SYSNAME}.plist
-                dnl the test below fails on darwin, even if the CPPFLAGS below
-                dnl are added. the headers from Kernel.framework must be used
-                dnl when KERNEL is defined.
-
-                dnl really, such a thing isn't guaranteed to work on any 
-                dnl platform until the kernel cflags from MakefileProto are
-                dnl known to configure
-               AC_DEFINE(HAVE_STRUCT_BUF, 1, [define if you have a struct buf])
-               ;;
-        *)
-AC_MSG_CHECKING(for definition of struct buf)
-dnl save_CPPFLAGS="$CPPFLAGS"
-dnl CPPFLAGS="$CPPFLAGS -DKERNEL -D_KERNEL -D__KERNEL -D__KERNEL__"
-AC_CACHE_VAL(ac_cv_have_struct_buf, [
-       ac_cv_have_struct_buf=no
-       AC_TRY_COMPILE(
-               [#include <sys/buf.h>],
-               [struct buf x;
-               printf("%d\n", sizeof(x));],
-               ac_cv_have_struct_buf=yes,)
-       ]
-)
-dnl CPPFLAGS="$save_CPPFLAGS"
-AC_MSG_RESULT($ac_cv_have_struct_buf)
-if test "$ac_cv_have_struct_buf" = yes; then
-       AC_DEFINE(HAVE_STRUCT_BUF, 1, [define if you have a struct buf])
-fi
-;;
-esac
-
-
-AC_CACHE_VAL(ac_cv_sockaddr_len,
-[
-AC_MSG_CHECKING([if struct sockaddr has sa_len field])
-AC_TRY_COMPILE( [#include <sys/types.h>
-#include <sys/socket.h>],
-[struct sockaddr *a;
-a->sa_len=0;], ac_cv_sockaddr_len=yes, ac_cv_sockaddr_len=no)
-AC_MSG_RESULT($ac_cv_sockaddr_len)])
-if test "$ac_cv_sockaddr_len" = "yes"; then
-   AC_DEFINE(STRUCT_SOCKADDR_HAS_SA_LEN, 1, [define if you struct sockaddr sa_len])
-fi
-if test "x${MKAFS_OSTYPE}" = "xIRIX"; then
-        echo Skipping library tests because they confuse Irix.
-else
-  AC_CHECK_FUNCS(socket)
-
-  if test "$ac_cv_func_socket" = no; then
-    for lib in socket inet; do
-        if test "$HAVE_SOCKET" != 1; then
-                AC_CHECK_LIB(${lib}, socket,LIBS="$LIBS -l$lib";HAVE_SOCKET=1;AC_DEFINE(HAVE_SOCKET, 1, [define if you have socket]))
-        fi
-    done
-  fi
-  
-  AC_CHECK_FUNCS(connect)       
-
-  if test "$ac_cv_func_connect" = no; then
-    for lib in nsl; do
-        if test "$HAVE_CONNECT" != 1; then
-                AC_CHECK_LIB(${lib}, connect,LIBS="$LIBS -l$lib";HAVE_CONNECT=1;AC_DEFINE(HAVE_CONNECT, 1, [define if you have connect]))
-        fi
-    done
-  fi
-
-  AC_CHECK_FUNCS(gethostbyname)
-  if test "$ac_cv_func_gethostbyname" = no; then
-        for lib in dns nsl resolv; do
-          if test "$HAVE_GETHOSTBYNAME" != 1; then
-            AC_CHECK_LIB(${lib}, gethostbyname, LIBS="$LIBS -l$lib";HAVE_GETHOSTBYNAME=1;AC_DEFINE(HAVE_GETHOSTBYNAME, 1, [define if you have gethostbyname]))
-          fi
-        done    
-  fi    
-
-  dnl darwin wants it, aix hates it
-  AC_MSG_CHECKING(for the useability of arpa/nameser_compat.h)
-  AC_TRY_COMPILE([
-  #include <stdlib.h>
-  #include <stdio.h>
-  #include <sys/types.h>
-  #include <sys/socket.h>
-  #include <netinet/in.h>
-  #include <arpa/inet.h>
-  #include <arpa/nameser.h>
-  #include <arpa/nameser_compat.h>
-  #include <resolv.h>
-  ], [static int i; i = 0;],
-  [AC_MSG_RESULT(yes)
-   AC_DEFINE(HAVE_ARPA_NAMESER_COMPAT_H)],
-  [AC_MSG_RESULT(no)
-   ])
-
-  openafs_save_libs="$LIBS"
-  AC_MSG_CHECKING([for res_search])
-  AC_FUNC_RES_SEARCH
-
-  if test "$ac_cv_func_res_search" = no; then
-      for lib in dns nsl resolv; do
-        if test "$ac_cv_func_res_search" != yes; then
-         LIBS="-l$lib $LIBS"
-          AC_FUNC_RES_SEARCH
-          LIBS="$openafs_save_libs"
-        fi
-      done    
-      if test "$ac_cv_func_res_search" = yes; then
-        LIB_res_search="-l$lib"       
-       AC_DEFINE(HAVE_RES_SEARCH, 1, [])
-        AC_MSG_RESULT([yes, in lib$lib])
-      else
-        AC_MSG_RESULT(no)
-      fi
-  else
-    AC_DEFINE(HAVE_RES_SEARCH, 1, [])
-    AC_MSG_RESULT(yes)
-  fi
-  
-fi
-
-PTHREAD_LIBS=error
-AC_CHECK_LIB(pthread, pthread_attr_init,
-             PTHREAD_LIBS="-lpthread")
-if test "x$PTHREAD_LIBS" = xerror; then
-        AC_CHECK_LIB(pthreads, pthread_attr_init,
-                PTHREAD_LIBS="-lpthreads")
-fi
-if test "x$PTHREAD_LIBS" = xerror; then
-        AC_CHECK_LIB(c_r, pthread_attr_init,
-                PTHREAD_LIBS="-lc_r")
-fi
-if test "x$PTHREAD_LIBS" = xerror; then
-        AC_CHECK_FUNC(pthread_attr_init, PTHREAD_LIBS="")
-fi
-if test "x$PTHREAD_LIBS" = xerror; then
-        # pthread_attr_init is a macro under HPUX 11.0 and 11.11
-        AC_CHECK_LIB(pthread, pthread_attr_destroy,
-                PTHREAD_LIBS="-lpthread")
-fi
-if test "x$PTHREAD_LIBS" = xerror; then
-        AC_MSG_WARN(*** Unable to locate working posix thread library ***)
-fi
-AC_SUBST(PTHREAD_LIBS)
-
-WITH_OBSOLETE=NO
-if test "$enable_obsolete" = "yes"; then
-       WITH_OBSOLETE=YES
-fi
-
-if test "x$with_bsd_kernel_headers" != "x"; then
-       BSD_KERNEL_PATH="$with_bsd_kernel_headers"
-else
-       BSD_KERNEL_PATH="/usr/src/sys"
-fi
-
-if test "x$with_bsd_kernel_build" != "x"; then
-       BSD_KERNEL_BUILD="$with_bsd_kernel_build"
-else
-       case $AFS_SYSNAME in
-               i386_fbsd_4?)
-                       BSD_KERNEL_BUILD="${BSD_KERNEL_PATH}/compile/GENERIC"
-                       ;;
-               i386_fbsd_5?)
-                       BSD_KERNEL_BUILD="${BSD_KERNEL_PATH}/i386/compile/GENERIC"
-                       ;;
-       esac
-fi
-
-# Fast restart
-if test "$enable_supergroups" = "yes"; then
-       AC_DEFINE(SUPERGROUPS, 1, [define if you want to have support for nested pts groups])
-fi
-
-if test "$enable_fast_restart" = "yes"; then
-       AC_DEFINE(FAST_RESTART, 1, [define if you want to have fast restart])
-fi
-
-if test "$enable_bitmap_later" = "yes"; then
-       AC_DEFINE(BITMAP_LATER, 1, [define if you want to salvager to check bitmasks later])
-fi
-
-if test "$enable_unix_sockets" = "yes"; then
-       AC_DEFINE(USE_UNIX_SOCKETS, 1, [define if you want to use UNIX sockets for fssync.])
-       USE_UNIX_SOCKETS="yes"
-else
-       USE_UNIX_SOCKETS="no"
-fi
-AC_SUBST(USE_UNIX_SOCKETS)
-
-if test "$enable_full_vos_listvol_switch" = "yes"; then
-       AC_DEFINE(FULL_LISTVOL_SWITCH, 1, [define if you want to want listvol switch])
-fi
-
-if test "$enable_bos_restricted_mode" = "yes"; then
-       AC_DEFINE(BOS_RESTRICTED_MODE, 1, [define if you want to want bos restricted mode])
-fi
-
-if test "$enable_bos_new_config" = "yes"; then
-       AC_DEFINE(BOS_NEW_CONFIG, 1, [define if you want to enable automatic renaming of BosConfig.new to BosConfig at startup])
-fi
-
-if test "$enable_largefile_fileserver" = "yes"; then
-       AC_DEFINE(AFS_LARGEFILE_ENV, 1, [define if you want large file fileserver])
-fi
-
-if test "$enable_namei_fileserver" = "yes"; then
-       AC_DEFINE(AFS_NAMEI_ENV, 1, [define if you want to want namei fileserver])
-fi
-
-if test "$enable_afsdb" = "yes"; then
-       LIB_AFSDB="$LIB_res_search"
-       AC_DEFINE(AFS_AFSDB_ENV, 1, [define if you want to want search afsdb rr])
-fi
-
-dnl check for tivoli
-AC_MSG_CHECKING(for tivoli tsm butc support)
-XBSA_CFLAGS=""
-if test "$enable_tivoli_tsm" = "yes"; then
-       XBSADIR1=/usr/tivoli/tsm/client/api/bin/xopen
-       XBSADIR2=/opt/tivoli/tsm/client/api/bin/xopen
-
-       if test -r "$XBSADIR1/xbsa.h"; then
-               XBSA_CFLAGS="-Dxbsa -I$XBSADIR1"
-               AC_MSG_RESULT([yes, $XBSA_CFLAGS])
-       elif test -r "$XBSADIR2/xbsa.h"; then
-               XBSA_CFLAGS="-Dxbsa -I$XBSADIR2"
-               AC_MSG_RESULT([yes, $XBSA_CFLAGS])
-       else
-               AC_MSG_RESULT([no, missing xbsa.h header file])
-       fi
-else
-       AC_MSG_RESULT([no])
-fi
-AC_SUBST(XBSA_CFLAGS)
-
-dnl checks for header files.
-AC_HEADER_STDC
-AC_HEADER_SYS_WAIT
-AC_HEADER_DIRENT
-AC_CHECK_HEADERS(stdlib.h string.h unistd.h fcntl.h sys/time.h sys/file.h)
-AC_CHECK_HEADERS(netinet/in.h netdb.h sys/fcntl.h sys/mnttab.h sys/mntent.h)
-AC_CHECK_HEADERS(mntent.h sys/vfs.h sys/param.h sys/fs_types.h sys/fstyp.h)
-AC_CHECK_HEADERS(sys/mount.h strings.h termios.h signal.h)
-AC_CHECK_HEADERS(windows.h malloc.h winsock2.h direct.h io.h sys/user.h)
-AC_CHECK_HEADERS(security/pam_modules.h siad.h usersec.h ucontext.h regex.h)
-
-if test "$ac_cv_header_security_pam_modules_h" = yes -a "$enable_pam" = yes; then
-       HAVE_PAM="yes"
-else
-       HAVE_PAM="no"
-fi
-AC_SUBST(HAVE_PAM)
-
-if test "$enable_login" = yes; then
-       BUILD_LOGIN="yes"
-else
-       BUILD_LOGIN="no"
-fi
-AC_SUBST(BUILD_LOGIN)
-
-AC_CHECK_FUNCS(utimes random srandom getdtablesize snprintf strlcat strlcpy re_comp re_exec flock)
-AC_CHECK_FUNCS(setprogname getprogname sigaction mkstemp vsnprintf strerror strcasestr)
-AC_CHECK_FUNCS(setvbuf)
-AC_FUNC_SETVBUF_REVERSED
-AC_CHECK_FUNCS(regcomp regexec regerror)
-AC_MSG_CHECKING([for POSIX regex library])
-if test "$ac_cv_header_regex_h" = "yes" && \
-       test "$ac_cv_func_regcomp" = "yes" && \
-       test "$ac_cv_func_regexec" = "yes" && \
-       test "$ac_cv_func_regerror" = "yes"; then
-    AC_DEFINE(HAVE_POSIX_REGEX, 1, [define if you have POSIX regex library])
-    AC_MSG_RESULT(yes)
-else
-    AC_MSG_RESULT(no)
-fi
-       
-AC_CHECK_TYPE(ssize_t, int)
-AC_SIZEOF_TYPE(long)
-
-AC_MSG_CHECKING(size of time_t)
-AC_CACHE_VAL(ac_cv_sizeof_time_t,
-[AC_TRY_RUN([#include <stdio.h>
-#include <time.h>
-main()
-{
-  FILE *f=fopen("conftestval", "w");
-  if (!f) exit(1);
-  fprintf(f, "%d\n", sizeof(time_t));
-  exit(0);
-}], ac_cv_sizeof_time_t=`cat conftestval`, ac_cv_sizeof_time_t=0)
-])
-AC_MSG_RESULT($ac_cv_sizeof_time_t)
-AC_DEFINE_UNQUOTED(SIZEOF_TIME_T, $ac_cv_sizeof_time_t)
-
-AC_CHECK_FUNCS(timegm)
-AC_CHECK_FUNCS(daemon)
-
-dnl Directory PATH handling
-if test "x$enable_transarc_paths" = "xyes"  ; then 
-    afsconfdir=${afsconfdir=/usr/afs/etc}
-    viceetcdir=${viceetcdir=/usr/vice/etc}
-    afskerneldir=${afskerneldir=${viceetcdir}}
-    afssrvbindir=${afssrvbindir=/usr/afs/bin}
-    afssrvsbindir=${afssrvsbindir=/usr/afs/bin}
-    afssrvlibexecdir=${afssrvlibexecdir=/usr/afs/bin}
-    afsdbdir=${afsdbdir=/usr/afs/db}
-    afslogsdir=${afslogsdir=/usr/afs/logs}
-    afslocaldir=${afslocaldir=/usr/afs/local}
-    afsbackupdir=${afsbackupdir=/usr/afs/backup}
-    afsbosconfigdir=${afsbosconfigdir=/usr/afs/local}
-else 
-    afsconfdir=${afsconfdir='${sysconfdir}/openafs/server'}
-    viceetcdir=${viceetcdir='${sysconfdir}/openafs'}
-    afskerneldir=${afskerneldir='${libdir}/openafs'}
-    afssrvbindir=${afssrvbindir='${bindir}'}
-    afssrvsbindir=${afssrvsbindir='${sbindir}'}
-    afssrvlibexecdir=${afssrvlibexecdir='${libexecdir}/openafs'}
-    afsdbdir=${afsdbdir='${localstatedir}/openafs/db'}
-    afslogsdir=${afslogsdir='${localstatedir}/openafs/logs'}
-    afslocaldir=${afslocaldir='${localstatedir}/openafs'}
-    afsbackupdir=${afsbackupdir='${localstatedir}/openafs/backup'}
-    afsbosconfigdir=${afsbosconfigdir='${sysconfdir}/openafs'}
-fi
-AC_SUBST(afsconfdir)
-AC_SUBST(viceetcdir)
-AC_SUBST(afskerneldir)
-AC_SUBST(afssrvbindir)
-AC_SUBST(afssrvsbindir)
-AC_SUBST(afssrvlibexecdir)
-AC_SUBST(afsdbdir)
-AC_SUBST(afslogsdir)
-AC_SUBST(afslocaldir)
-AC_SUBST(afsbackupdir)
-AC_SUBST(afsbosconfigdir)
-
-if test "x$enable_kernel_module" = "xyes"; then
-ENABLE_KERNEL_MODULE=libafs
-fi
-
-AC_SUBST(AFS_SYSNAME)
-AC_SUBST(AFS_PARAM_COMMON)
-AC_SUBST(ENABLE_KERNEL_MODULE)
-AC_SUBST(LIB_AFSDB)
-AC_SUBST(LINUX_KERNEL_PATH)
-AC_SUBST(BSD_KERNEL_PATH)
-AC_SUBST(BSD_KERNEL_BUILD)
-AC_SUBST(LINUX_VERSION)
-AC_SUBST(MKAFS_OSTYPE)
-AC_SUBST(TOP_OBJDIR)
-AC_SUBST(TOP_SRCDIR)
-AC_SUBST(TOP_INCDIR)
-AC_SUBST(TOP_LIBDIR)
-AC_SUBST(DEST)
-AC_SUBST(WITH_OBSOLETE)
-AC_SUBST(DARWIN_INFOFILE)
-AC_SUBST(IRIX_BUILD_IP35)
-
-OPENAFS_OSCONF
-OPENAFS_KRB5CONF
-
-TOP_SRCDIR="${srcdir}/src"
-dnl
-dnl If we're using ./configure, need a more reasonable TOP_SRCDIR, since relative links don't work everywhere
-dnl
-case $TOP_SRCDIR in
-        /*)
-                ;;
-        *)
-               TOP_SRCDIR=`cd $TOP_SRCDIR; pwd`
-               ;;
-esac
-
-TOP_OBJDIR="${SRCDIR_PARENT}"
-TOP_INCDIR="${SRCDIR_PARENT}/include"
-TOP_LIBDIR="${SRCDIR_PARENT}/lib"
-if test "${DEST}x" = "x"; then
-        DEST="${SRCDIR_PARENT}/${AFS_SYSNAME}/dest"
-fi
-
-HELPER_SPLINT="${TOP_SRCDIR}/helper-splint.sh"
-HELPER_SPLINTCFG="${TOP_SRCDIR}/splint.cfg"
-AC_SUBST(HELPER_SPLINT)
-AC_SUBST(HELPER_SPLINTCFG)
-
-mkdir -p ${TOP_OBJDIR}/src/JAVA/libjafs
-
-])
-
-# isc-posix.m4 serial 2 (gettext-0.11.2)
-dnl Copyright (C) 1995-2002 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License.  As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
-
-# This file is not needed with autoconf-2.53 and newer.  Remove it in 2005.
-
-# This test replaces the one in autoconf.
-# Currently this macro should have the same name as the autoconf macro
-# because gettext's gettext.m4 (distributed in the automake package)
-# still uses it.  Otherwise, the use in gettext.m4 makes autoheader
-# give these diagnostics:
-#   configure.in:556: AC_TRY_COMPILE was called before AC_ISC_POSIX
-#   configure.in:556: AC_TRY_RUN was called before AC_ISC_POSIX
-
-undefine([AC_ISC_POSIX])
-
-AC_DEFUN([AC_ISC_POSIX],
-  [
-    dnl This test replaces the obsolescent AC_ISC_POSIX kludge.
-    AC_CHECK_LIB(cposix, strerror, [LIBS="$LIBS -lcposix"])
-  ]
-)
-
-AC_DEFUN([COMPILER_HAS_FUNCTION_MACRO], [
-AC_MSG_CHECKING(for __FUNCTION__ and __LINE__ macros)
-AC_CACHE_VAL(ac_cv_compiler_has_function_macro,
-[
-AC_TRY_COMPILE(
-[#include <stdio.h>],
-[printf("%s:%d", __FUNCTION__, __LINE__);],
-ac_cv_compiler_has_function_macro=yes,
-ac_cv_compiler_has_function_macro=no)])
-AC_MSG_RESULT($ac_cv_compiler_has_function_macro)
-if test "$ac_cv_compiler_has_function_macro" = "yes"; then
-  AC_DEFINE(HAVE_FUNCTION_MACRO, 1, [define if compiler has __FUNCTION__])
-fi
-])
-
-
-
-# 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])
-
-#  -*- Autoconf -*-
-
-
-# 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)
-# ------------------------------
-AC_DEFUN([AM_MISSING_PROG],
-[AC_REQUIRE([AM_MISSING_HAS_RUN])
-$1=${$1-"${am_missing_run}$2"}
-AC_SUBST($1)])
-
-
-# AM_MISSING_HAS_RUN
-# ------------------
-# Define MISSING if not defined so far and test if it supports --run.
-# If it does, set am_missing_run to use it, otherwise, to nothing.
-AC_DEFUN([AM_MISSING_HAS_RUN],
-[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
-# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
-  am_missing_run="$MISSING --run "
-else
-  am_missing_run=
-  AC_MSG_WARN([`missing' script is too old or missing])
-fi
-])
-
-# AM_AUX_DIR_EXPAND
+# Copyright (C) 2002, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
 
-# Copyright 2001 Free Software Foundation, Inc.
+# 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.9"])
 
-# 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.
+# 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.9.6])])
 
-# 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.
+# AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
 
-# 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.
+# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
 
 # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
 # $ac_aux_dir to `$srcdir/foo'.  In other projects, it is set to
@@ -1434,2793 +76,68 @@ 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], [
+AC_DEFUN([AM_AUX_DIR_EXPAND],
+[dnl Rely on autoconf to set up CDPATH properly.
+AC_PREREQ([2.50])dnl
 # expand $ac_aux_dir to an absolute path
 am_aux_dir=`cd $ac_aux_dir && pwd`
 ])
 
-dnl
-dnl $Id: bigendian.m4,v 1.3.2.1 2006/08/02 19:07:03 shadow Exp $
-dnl
-
-dnl check if this computer is little or big-endian
-dnl if we can figure it out at compile-time then don't define the cpp symbol
-dnl otherwise test for it and define it.  also allow options for overriding
-dnl it when cross-compiling
-
-AC_DEFUN([OPENAFS_CHECK_BIGENDIAN], [
-AC_ARG_ENABLE(bigendian,
-[  --enable-bigendian  the target is big endian],
-openafs_cv_c_bigendian=yes)
-AC_ARG_ENABLE(littleendian,
-[  --enable-littleendian       the target is little endian],
-openafs_cv_c_bigendian=no)
-AC_CACHE_CHECK(whether byte order is known at compile time,
-openafs_cv_c_bigendian_compile,
-[AC_TRY_COMPILE([
-#include <sys/types.h>
-#include <sys/param.h>],[
-#if !BYTE_ORDER || !BIG_ENDIAN || !LITTLE_ENDIAN
- bogus endian macros
-#endif], openafs_cv_c_bigendian_compile=yes, openafs_cv_c_bigendian_compile=no)])
-AC_CACHE_CHECK(whether byte ordering is bigendian, openafs_cv_c_bigendian,[
-  if test "$openafs_cv_c_bigendian_compile" = "yes"; then
-    AC_TRY_COMPILE([
-#include <sys/types.h>
-#include <sys/param.h>],[
-#if BYTE_ORDER != BIG_ENDIAN
-  not big endian
-#endif], openafs_cv_c_bigendian=yes, openafs_cv_c_bigendian=no)
-  else
-    AC_TRY_RUN([main () {
-      /* Are we little or big endian?  From Harbison&Steele.  */
-      union
-      {
-       long l;
-       char c[sizeof (long)];
-    } u;
-    u.l = 1;
-    exit (u.c[sizeof (long) - 1] == 1);
-  }], openafs_cv_c_bigendian=no, openafs_cv_c_bigendian=yes,
-  AC_MSG_ERROR([specify either --enable-bigendian or --enable-littleendian]))
-  fi
-])
-if test "$openafs_cv_c_bigendian" = "yes"; then
-  AC_DEFINE(AUTOCONF_FOUND_BIGENDIAN, 1, [define if target is big endian])dnl
-fi
-if test "$openafs_cv_c_bigendian_compile" = "yes"; then
-  AC_DEFINE(ENDIANESS_IN_SYS_PARAM_H, 1, [define if sys/param.h defines the endiness])dnl
-fi
-])
-
-AC_DEFUN([SOLARIS_UFSVFS_HAS_DQRWLOCK], [
-AC_MSG_CHECKING(for vfs_dqrwlock in struct ufsvfs)
-AC_CACHE_VAL(ac_cv_solaris_ufsvfs_has_dqrwlock,
-[
-AC_TRY_COMPILE(
-[#define _KERNEL
-#include <sys/fs/ufs_inode.h>],
-[struct ufsvfs _ufsvfs;
-(void) _ufsvfs.vfs_dqrwlock;], 
-ac_cv_solaris_ufsvfs_has_dqrwlock=yes,
-ac_cv_solaris_ufsvfs_has_dqrwlock=no)])
-AC_MSG_RESULT($ac_cv_solaris_ufsvfs_has_dqrwlock)
-if test "$ac_cv_solaris_ufsvfs_has_dqrwlock" = "yes"; then
-  AC_DEFINE(HAVE_VFS_DQRWLOCK, 1, [define if struct ufsvfs has vfs_dqrwlock])
-fi
-])
-
-
-AC_DEFUN([SOLARIS_PROC_HAS_P_COREFILE], [
-AC_MSG_CHECKING(for p_corefile in struct proc)
-AC_CACHE_VAL(ac_cv_solaris_proc_has_p_corefile,
-[
-AC_TRY_COMPILE(
-[#define _KERNEL
-#include <sys/proc.h>],
-[struct proc _proc;
-(void) _proc.p_corefile;], 
-ac_cv_solaris_proc_has_p_corefile=yes,
-ac_cv_solaris_proc_has_p_corefile=no)])
-AC_MSG_RESULT($ac_cv_solaris_proc_has_p_corefile)
-if test "$ac_cv_solaris_proc_has_p_corefile" = "yes"; then
-  AC_DEFINE(HAVE_P_COREFILE, 1, [define if struct proc has p_corefile])
-fi
-])
-
-
-AC_DEFUN([SOLARIS_FS_HAS_FS_ROLLED], [
-AC_MSG_CHECKING(for fs_rolled in struct proc)
-AC_CACHE_VAL(ac_cv_solaris_fs_has_fs_rolled,
-[
-AC_TRY_COMPILE(
-[#include <sys/fs/ufs_fs.h>],
-[struct fs _fs;
-(void) _fs.fs_rolled;], 
-ac_cv_solaris_fs_has_fs_rolled=yes,
-ac_cv_solaris_fs_has_fs_rolled=no)])
-AC_MSG_RESULT($ac_cv_solaris_fs_has_fs_rolled)
-if test "$ac_cv_solaris_fs_has_fs_rolled" = "yes"; then
-  AC_DEFINE(STRUCT_FS_HAS_FS_ROLLED, 1, [define if struct fs has fs_rolled])
-fi
-])
+# AM_CONDITIONAL                                            -*- Autoconf -*-
 
+# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
 
+# serial 7
 
-AC_DEFUN([OPENAFS_GCC_SUPPORTS_MARCH], [
-AC_MSG_CHECKING(if $CC accepts -march=pentium)
-save_CFLAGS="$CFLAGS"
-CFLAGS="-MARCH=pentium"
-AC_CACHE_VAL(openafs_gcc_supports_march,[
-AC_TRY_COMPILE(
-[],
-[int x;],
-openafs_gcc_supports_march=yes,
-openafs_gcc_supports_march=no)])
-AC_MSG_RESULT($openafs_gcc_supports_march)
-if test x$openafs_gcc_supports_march = xyes; then
-  P5PLUS_KOPTS="-march=pentium"
+# AM_CONDITIONAL(NAME, SHELL-CONDITION)
+# -------------------------------------
+# Define a conditional.
+AC_DEFUN([AM_CONDITIONAL],
+[AC_PREREQ(2.52)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
+  $1_TRUE=
+  $1_FALSE='#'
 else
-  P5PLUS_KOPTS="-m486 -malign-loops=2 -malign-jumps=2 -malign-functions=2"
-fi
-CFLAGS="$save_CFLAGS"
-])
-
-AC_DEFUN([OPENAFS_GCC_NEEDS_NO_STRICT_ALIASING], [
-AC_MSG_CHECKING(if $CC needs -fno-strict-aliasing)
-save_CFLAGS="$CFLAGS"
-CFLAGS="-fno-strict-aliasing"
-AC_CACHE_VAL(openafs_gcc_needs_no_strict_aliasing,[
-AC_TRY_COMPILE(
-[],
-[int x;],
-openafs_gcc_needs_no_strict_aliasing=yes,
-openafs_gcc_needs_no_strict_aliasing=no)])
-AC_MSG_RESULT($openafs_gcc_needs_no_strict_aliasing)
-if test x$openafs_gcc_needs_no_strict_aliasing = xyes; then
-  LINUX_GCC_KOPTS="$LINUX_GCC_KOPTS -fno-strict-aliasing"
-fi
-CFLAGS="$save_CFLAGS"
-])
-
-AC_DEFUN([OPENAFS_GCC_NEEDS_NO_STRENGTH_REDUCE], [
-AC_MSG_CHECKING(if $CC needs -fno-strength-reduce)
-save_CFLAGS="$CFLAGS"
-CFLAGS="-fno-strength-reduce"
-AC_CACHE_VAL(openafs_gcc_needs_no_strength_reduce,[
-AC_TRY_COMPILE(
-[],
-[int x;],
-openafs_gcc_needs_no_strength_reduce=yes,
-openafs_gcc_needs_no_strength_reduce=no)])
-AC_MSG_RESULT($openafs_gcc_needs_no_strength_reduce)
-if test x$openafs_gcc_needs_no_strength_reduce = xyes; then
-  LINUX_GCC_KOPTS="$LINUX_GCC_KOPTS -fno-strength-reduce"
-fi
-CFLAGS="$save_CFLAGS"
-])
-
-AC_DEFUN([OPENAFS_GCC_SUPPORTS_NO_COMMON], [
-AC_MSG_CHECKING(if $CC supports -fno-common)
-save_CFLAGS="$CFLAGS"
-CFLAGS="-fno-common"
-AC_CACHE_VAL(openafs_gcc_supports_no_common,[
-AC_TRY_COMPILE(
-[],
-[int x;],
-openafs_gcc_supports_no_common=yes,
-openafs_gcc_supports_no_common=no)])
-AC_MSG_RESULT($openafs_gcc_supports_no_common)
-if test x$openafs_gcc_supports_no_common = xyes; then
-  LINUX_GCC_KOPTS="$LINUX_GCC_KOPTS -fno-common"
-fi
-CFLAGS="$save_CFLAGS"
-])
-
-AC_DEFUN([OPENAFS_GCC_SUPPORTS_PIPE], [
-AC_MSG_CHECKING(if $CC supports -pipe)
-save_CFLAGS="$CFLAGS"
-CFLAGS="-pipe"
-AC_CACHE_VAL(openafs_gcc_supports_pipe,[
-AC_TRY_COMPILE(
-[],
-[int x;],
-openafs_gcc_supports_pipe=yes,
-openafs_gcc_supports_pipe=no)])
-AC_MSG_RESULT($openafs_gcc_supports_pipe)
-if test x$openafs_gcc_supports_pipe = xyes; then
-  LINUX_GCC_KOPTS="$LINUX_GCC_KOPTS -pipe"
+  $1_TRUE='#'
+  $1_FALSE=
 fi
-CFLAGS="$save_CFLAGS"
-])
-
-dnl LINUX_BUILD_VNODE_FROM_INODE (configdir, outputdir, tmpldir)
-dnl            defaults: (src/config, src/afs/LINUX, src/afs/linux)
+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])])
 
-AC_DEFUN([LINUX_BUILD_VNODE_FROM_INODE], [
-AC_MSG_CHECKING(whether to build osi_vfs.h)
-configdir=ifelse([$1], ,[src/config],$1)
-outputdir=ifelse([$2], ,[src/afs/LINUX],$2)
-tmpldir=ifelse([$3], ,[src/afs/LINUX],$3)
-mkdir -p $outputdir
-cp  $tmpldir/osi_vfs.hin $outputdir/osi_vfs.h
-# chmod +x $configdir/make_vnode.pl
-# $configdir/make_vnode.pl -i $LINUX_KERNEL_PATH -t ${tmpldir} -o $outputdir
-])
 
-# AC_TRY_KBUILD26([INCLUDES], [FUNCTION-BODY],
-#                 [ACTION-IF-SUCCESS], [ACTION-IF-FAILURE])
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
+# Free Software Foundation, Inc.
 #
-AC_DEFUN([AC_TRY_KBUILD26],[  rm -fr conftest.dir
-  if mkdir conftest.dir &&
-    cat >conftest.dir/Makefile <<_ACEOF &&
-CFLAGS += $CPPFLAGS
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
 
-obj-m += conftest.o
-_ACEOF
-    cat >conftest.dir/conftest.c <<\_ACEOF &&
-/* confdefs.h */
-_ACEOF
-    cat confdefs.h >>conftest.dir/conftest.c &&
-    cat >>conftest.dir/conftest.c <<\_ACEOF &&
-/* end confdefs.h */
-#include <linux/module.h>
-$1
+# serial 8
 
-void conftest(void)
-{ 
-$2
-} 
+# 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,
+# will think it sees a *use*, and therefore will trigger all it's
+# C support machinery.  Also note that it means that autoscan, seeing
+# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
 
-MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
-_ACEOF
-    echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&AS_MESSAGE_LOG_FD
-    make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&AS_MESSAGE_LOG_FD 2>conftest.err
-    then [$3]
-    else
-      sed '/^ *+/d' conftest.err >&AS_MESSAGE_LOG_FD
-      echo "$as_me: failed using Makefile:" >&AS_MESSAGE_LOG_FD
-      sed 's/^/| /' conftest.dir/Makefile >&AS_MESSAGE_LOG_FD
-      echo "$as_me: and program was:" >&AS_MESSAGE_LOG_FD
-      sed 's/^/| /' conftest.dir/conftest.c >&AS_MESSAGE_LOG_FD
-      [$4]
-  fi; rm -fr conftest.err conftest.dir])
 
-  
-# AC_TRY_KBUILD24([INCLUDES], [FUNCTION-BODY],
-#                 [ACTION-IF-SUCCESS], [ACTION-IF-FAILURE])
-#
-AC_DEFUN([AC_TRY_KBUILD24], [
-  ac_save_CPPFLAGS="$CPPFLAGS"
-  CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
-  AC_TRY_COMPILE([$1], [$2], [$3], [$4])
-  CPPFLAGS="$ac_save_CPPFLAGS"])
-
-
-# AC_TRY_KBUILD([INCLUDES], [FUNCTION-BODY],
-#               [ACTION-IF-SUCCESS], [ACTION-IF-FAILURE])
-#
-AC_DEFUN([AC_TRY_KBUILD], [
-  if test $AFS_SYSKVERS -ge 26 ; then
-    AC_TRY_KBUILD26([$1], [$2], [$3], [$4])
-  else
-    AC_TRY_KBUILD24([$1], [$2], [$3], [$4])
-  fi])
-
-AC_DEFUN([LINUX_KERNEL_COMPILE_WORKS], [
-  AC_MSG_CHECKING([for linux kernel module build works])
-  AC_TRY_KBUILD(
-[#include <linux/sched.h>
-#include <linux/fs.h>],
-    [],:,AC_MSG_RESULT(no)
-    AC_MSG_FAILURE([Fix problem or use --disable-kernel-module...]))
-  AC_MSG_RESULT(yes)])
-
-AC_DEFUN([LINUX_EXPORTS_TASKLIST_LOCK], [
-  AC_MSG_CHECKING([for exported tasklist_lock])
-  AC_CACHE_VAL([ac_cv_linux_exports_tasklist_lock], [
-    AC_TRY_KBUILD(
-[
-#include <linux/sched.h>],
-[
-extern rwlock_t tasklist_lock __attribute__((weak)); 
-read_lock(&tasklist_lock);
-],
-      ac_cv_linux_exports_tasklist_lock=yes,
-      ac_cv_linux_exports_tasklist_lock=no)])
-  AC_MSG_RESULT($ac_cv_linux_exports_tasklist_lock)])
-
-
-AC_DEFUN([LINUX_CONFIG_H_EXISTS], [
-  AC_MSG_CHECKING([for linux/config.h existance])
-  AC_CACHE_VAL([ac_cv_linux_config_h_exists], [
-    AC_TRY_KBUILD(
-[#include <linux/config.h>],
-[return;],
-      ac_cv_linux_config_h_exists=yes,
-      ac_cv_linux_config_h_exists=no)])
-  AC_MSG_RESULT($ac_cv_linux_config_h_exists)
-  if test "x$ac_cv_linux_config_h_exists" = "xyes"; then
-    AC_DEFINE([CONFIG_H_EXISTS], 1, [define if linux/config.h exists])
-  fi])
-
-
-AC_DEFUN([LINUX_COMPLETION_H_EXISTS], [
-  AC_MSG_CHECKING([for linux/completion.h existance])
-  AC_CACHE_VAL([ac_cv_linux_completion_h_exists], [
-    AC_TRY_KBUILD(
-[#include <linux/version.h>
-#include <linux/completion.h>],
-[struct completion _c;
-#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,4,8)
-lose
-#endif],
-      ac_cv_linux_completion_h_exists=yes,
-      ac_cv_linux_completion_h_exists=no)])
-  AC_MSG_RESULT($ac_cv_linux_completion_h_exists)])
-
-
-AC_DEFUN([LINUX_DEFINES_FOR_EACH_PROCESS], [
-  AC_MSG_CHECKING([for defined for_each_process])
-  AC_CACHE_VAL([ac_cv_linux_defines_for_each_process], [
-    AC_TRY_KBUILD(
-[#include <linux/sched.h>],
-[#ifndef for_each_process
-#error for_each_process not defined
-#endif],
-      ac_cv_linux_defines_for_each_process=yes,
-      ac_cv_linux_defines_for_each_process=no)])
-  AC_MSG_RESULT($ac_cv_linux_defines_for_each_process)])
-
-
-AC_DEFUN([LINUX_DEFINES_PREV_TASK], [
-  AC_MSG_CHECKING([for defined prev_task])
-  AC_CACHE_VAL([ac_cv_linux_defines_prev_task], [
-    AC_TRY_KBUILD(
-[#include <linux/sched.h>],
-[#ifndef prev_task
-#error prev_task not defined
-#endif],
-      ac_cv_linux_defines_prev_task=yes,
-      ac_cv_linux_defines_prev_task=no)])
-  AC_MSG_RESULT($ac_cv_linux_defines_prev_task)])
-
-
-AC_DEFUN([LINUX_EXPORTS_INIT_MM], [
-  AC_MSG_CHECKING([for exported init_mm])
-  AC_CACHE_VAL([ac_cv_linux_exports_init_mm], [
-    AC_TRY_KBUILD(
-[#include <linux/modversions.h>],
-[#ifndef __ver_init_mm
-#error init_mm not exported
-#endif],
-      ac_cv_linux_exports_init_mm=yes,
-      ac_cv_linux_exports_init_mm=no)])
-  AC_MSG_RESULT($ac_cv_linux_exports_init_mm)])
-
-
-AC_DEFUN([LINUX_EXPORTS_KALLSYMS_ADDRESS], [
-  AC_MSG_CHECKING([for exported kallsyms_address_to_symbol])
-  AC_CACHE_VAL([ac_cv_linux_exports_kallsyms_address], [
-    AC_TRY_KBUILD(
-[#include <linux/modversions.h>],
-[#ifndef __ver_kallsyms_address_to_symbol
-#error kallsyms_address_to_symbol not exported
-#endif],
-      ac_cv_linux_exports_kallsyms_address=yes,
-      ac_cv_linux_exports_kallsyms_address=no)])
-  AC_MSG_RESULT($ac_cv_linux_exports_kallsyms_address)])
-
-
-AC_DEFUN([LINUX_EXPORTS_KALLSYMS_SYMBOL], [
-  AC_MSG_CHECKING([for exported kallsyms_symbol_to_address])
-  AC_CACHE_VAL([ac_cv_linux_exports_kallsyms_symbol], [
-    AC_TRY_KBUILD(
-[#include <linux/modversions.h>],
-[#ifndef __ver_kallsyms_symbol_to_address
-#error kallsyms_symbol_to_address not exported
-#endif],
-      ac_cv_linux_exports_kallsyms_symbol=yes,
-      ac_cv_linux_exports_kallsyms_symbol=no)])
-  AC_MSG_RESULT($ac_cv_linux_exports_kallsyms_symbol)])
-
-AC_DEFUN([LINUX_EXPORTS_SYS_CALL_TABLE], [
-  AC_MSG_CHECKING([for exported sys_call_table])
-  AC_CACHE_VAL([ac_cv_linux_exports_sys_call_table], [
-    AC_TRY_KBUILD(
-[#include <linux/modversions.h>],
-[#ifndef __ver_sys_call_table
-#error sys_call_table not exported
-#endif],
-      ac_cv_linux_exports_sys_call_table=yes,
-      ac_cv_linux_exports_sys_call_table=no)])
-  AC_MSG_RESULT($ac_cv_linux_exports_sys_call_table)])
-
-
-AC_DEFUN([LINUX_EXPORTS_IA32_SYS_CALL_TABLE], [
-  AC_MSG_CHECKING([for exported ia32_sys_call_table])
-  AC_CACHE_VAL([ac_cv_linux_exports_ia32_sys_call_table], [
-    AC_TRY_KBUILD(
-[#include <linux/modversions.h>],
-[#ifndef __ver_ia32_sys_call_table
-#error ia32_sys_call_table not exported
-#endif],
-      ac_cv_linux_exports_ia32_sys_call_table=yes,
-      ac_cv_linux_exports_ia32_sys_call_table=no)])
-  AC_MSG_RESULT($ac_cv_linux_exports_ia32_sys_call_table)])
-
-
-AC_DEFUN([LINUX_EXPORTS_SYS_CHDIR], [
-  AC_MSG_CHECKING([for exported sys_chdir])
-  AC_CACHE_VAL([ac_cv_linux_exports_sys_chdir], [
-    AC_TRY_KBUILD(
-[extern asmlinkage long sys_chdir(void) __attribute__((weak));],
-[void *address = &sys_chdir;
-printk("%p\n", address);],
-      ac_cv_linux_exports_sys_chdir=yes,
-      ac_cv_linux_exports_sys_chdir=no)])
-  AC_MSG_RESULT($ac_cv_linux_exports_sys_chdir)])
-
-
-AC_DEFUN([LINUX_EXPORTS_SYS_CLOSE], [
-  AC_MSG_CHECKING([for exported sys_close])
-  AC_CACHE_VAL([ac_cv_linux_exports_sys_close], [
-    AC_TRY_KBUILD(
-[extern asmlinkage long sys_close(void) __attribute__((weak));],
-[void *address = &sys_close;
-printk("%p\n", address);],
-      ac_cv_linux_exports_sys_close=yes,
-      ac_cv_linux_exports_sys_close=no)])
-  AC_MSG_RESULT($ac_cv_linux_exports_sys_close)])
-
-
-AC_DEFUN([LINUX_EXPORTS_SYS_OPEN], [
-  AC_MSG_CHECKING([for exported sys_open])
-  AC_CACHE_VAL([ac_cv_linux_exports_sys_open], [
-    AC_TRY_KBUILD(
-[extern asmlinkage long sys_open(void) __attribute__((weak));],
-[void *address = &sys_open;
-printk("%p\n", address);],
-      ac_cv_linux_exports_sys_open=yes,
-      ac_cv_linux_exports_sys_open=no)])
-  AC_MSG_RESULT($ac_cv_linux_exports_sys_open)])
-
-
-AC_DEFUN([LINUX_EXPORTS_SYS_WAIT4], [
-  AC_MSG_CHECKING([for exported sys_wait4])
-  AC_CACHE_VAL([ac_cv_linux_exports_sys_wait4], [
-    AC_TRY_KBUILD(
-[extern asmlinkage long sys_wait4(void) __attribute__((weak));],
-[void *address = &sys_wait4;
-printk("%p\n", address);],
-      ac_cv_linux_exports_sys_wait4=yes,
-      ac_cv_linux_exports_sys_wait4=no)])
-  AC_MSG_RESULT($ac_cv_linux_exports_sys_wait4)])
-
-
-AC_DEFUN([LINUX_FS_STRUCT_INODE_HAS_I_BLKSIZE], [
-  AC_MSG_CHECKING([for i_blksize in struct inode])
-  AC_CACHE_VAL([ac_cv_linux_fs_struct_inode_has_i_blksize], [
-    AC_TRY_KBUILD(
-[#include <linux/fs.h>],
-[struct inode _inode;
-printk("%d\n", _inode.i_blksize);],
-      ac_cv_linux_fs_struct_inode_has_i_blksize=yes,
-      ac_cv_linux_fs_struct_inode_has_i_blksize=no)])
-  AC_MSG_RESULT($ac_cv_linux_fs_struct_inode_has_i_blksize)])
-
-AC_DEFUN([LINUX_FS_STRUCT_INODE_HAS_I_BLKBITS], [
-  AC_MSG_CHECKING([for i_blkbits in struct inode])
-  AC_CACHE_VAL([ac_cv_linux_fs_struct_inode_has_i_blkbits], [
-    AC_TRY_KBUILD(
-[#include <linux/fs.h>],
-[struct inode _inode;
-printk("%d\n", _inode.i_blkbits);],
-      ac_cv_linux_fs_struct_inode_has_i_blkbits=yes,
-      ac_cv_linux_fs_struct_inode_has_i_blkbits=no)])
-  AC_MSG_RESULT($ac_cv_linux_fs_struct_inode_has_i_blkbits)
-  if test "x$ac_cv_linux_fs_struct_inode_has_i_blkbits" = "xyes"; then
-    AC_DEFINE(STRUCT_INODE_HAS_I_BLKBITS, 1, [define if your struct inode has i_blkbits])
-  fi])
-
-
-AC_DEFUN([LINUX_FS_STRUCT_INODE_HAS_I_CDEV], [
-  AC_MSG_CHECKING([for i_cdev in struct inode])
-  AC_CACHE_VAL([ac_cv_linux_fs_struct_inode_has_i_cdev], [
-    AC_TRY_KBUILD(
-[#include <linux/fs.h>],
-[struct inode _inode;
-printk("%d\n", _inode.i_cdev);],
-      ac_cv_linux_fs_struct_inode_has_i_cdev=yes,
-      ac_cv_linux_fs_struct_inode_has_i_cdev=no)])
-  AC_MSG_RESULT($ac_cv_linux_fs_struct_inode_has_i_cdev)])
-
-
-AC_DEFUN([LINUX_FS_STRUCT_INODE_HAS_I_DEVICES], [
-  AC_MSG_CHECKING([for i_devices in struct inode])
-  AC_CACHE_VAL([ac_cv_linux_fs_struct_inode_has_i_devices], [
-    AC_TRY_KBUILD(
-[#include <linux/fs.h>],
-[struct inode _inode;
-printk("%d\n", _inode.i_devices);],
-      ac_cv_linux_fs_struct_inode_has_i_devices=yes,
-      ac_cv_linux_fs_struct_inode_has_i_devices=no)])
-  AC_MSG_RESULT($ac_cv_linux_fs_struct_inode_has_i_devices)])
-
-
-AC_DEFUN([LINUX_FS_STRUCT_INODE_HAS_I_DIRTY_DATA_BUFFERS], [
-  AC_MSG_CHECKING([for i_dirty_data_buffers in struct inode])
-  AC_CACHE_VAL([ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers], [
-    AC_TRY_KBUILD(
-[#include <linux/fs.h>],
-[struct inode _inode;
-printk("%d\n", _inode.i_dirty_data_buffers);],
-      ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers=yes,
-      ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers=no)])
-  AC_MSG_RESULT($ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers)])
-
-
-AC_DEFUN([LINUX_FS_STRUCT_INODE_HAS_INOTIFY_LOCK], [
-  AC_MSG_CHECKING([for inotify_lock in struct inode])
-  AC_CACHE_VAL([ac_cv_linux_fs_struct_inode_has_inotify_lock], [
-    AC_TRY_KBUILD(
-[#include <linux/fs.h>],
-[struct inode _inode;
-printk("%d\n", _inode.inotify_lock);],
-      ac_cv_linux_fs_struct_inode_has_inotify_lock=yes,
-      ac_cv_linux_fs_struct_inode_has_inotify_lock=no)])
-  AC_MSG_RESULT($ac_cv_linux_fs_struct_inode_has_inotify_lock)])
-
-AC_DEFUN([LINUX_FS_STRUCT_INODE_HAS_INOTIFY_SEM], [
-  AC_MSG_CHECKING([for inotify_sem in struct inode])
-  AC_CACHE_VAL([ac_cv_linux_fs_struct_inode_has_inotify_sem], [
-    AC_TRY_KBUILD(
-[#include <linux/fs.h>],
-[struct inode _inode;
-printk("%x\n", _inode.inotify_sem);],
-      ac_cv_linux_fs_struct_inode_has_inotify_sem=yes,
-      ac_cv_linux_fs_struct_inode_has_inotify_sem=no)])
-  AC_MSG_RESULT($ac_cv_linux_fs_struct_inode_has_inotify_sem)])
-
-
-AC_DEFUN([LINUX_FS_STRUCT_INODE_HAS_I_MAPPING_OVERLOAD], [
-  AC_MSG_CHECKING([for i_mapping_overload in struct inode])
-  AC_CACHE_VAL([ac_cv_linux_fs_struct_inode_has_i_mapping_overload], [
-    AC_TRY_KBUILD(
-[#include <linux/fs.h>],
-[struct inode _inode;
-printk("%d\n", _inode.i_mapping_overload);],
-      ac_cv_linux_fs_struct_inode_has_i_mapping_overload=yes,
-      ac_cv_linux_fs_struct_inode_has_i_mapping_overload=no)])
-  AC_MSG_RESULT($ac_cv_linux_fs_struct_inode_has_i_mapping_overload)])
-
-
-AC_DEFUN([LINUX_FS_STRUCT_INODE_HAS_I_MMAP_SHARED], [
-  AC_MSG_CHECKING([for i_mmap_shared in struct inode])
-  AC_CACHE_VAL([ac_cv_linux_fs_struct_inode_has_i_mmap_shared], [
-    AC_TRY_KBUILD(
-[#include <linux/fs.h>],
-[struct inode _inode;
-printk("%d\n", _inode.i_mmap_shared);],
-      ac_cv_linux_fs_struct_inode_has_i_mmap_shared=yes,
-      ac_cv_linux_fs_struct_inode_has_i_mmap_shared=no)])
-  AC_MSG_RESULT($ac_cv_linux_fs_struct_inode_has_i_mmap_shared)])
-
-
-AC_DEFUN([LINUX_FS_STRUCT_INODE_HAS_I_MUTEX], [
-  AC_MSG_CHECKING([for i_mutex in struct inode])
-  AC_CACHE_VAL([ac_cv_linux_fs_struct_inode_has_i_mutex], [
-    AC_TRY_KBUILD(
-[#include <linux/fs.h>],
-[struct inode _inode;
-printk("%d\n", _inode.i_mutex);],
-      ac_cv_linux_fs_struct_inode_has_i_mutex=yes,
-      ac_cv_linux_fs_struct_inode_has_i_mutex=no)])
-  AC_MSG_RESULT($ac_cv_linux_fs_struct_inode_has_i_mutex)])
-
-
-AC_DEFUN([LINUX_FS_STRUCT_INODE_HAS_I_SECURITY], [
-  AC_MSG_CHECKING([for i_security in struct inode])
-  AC_CACHE_VAL([ac_cv_linux_fs_struct_inode_has_i_security], [
-    AC_TRY_KBUILD(
-[#include <linux/fs.h>],
-[struct inode _inode;
-printk("%d\n", _inode.i_security);],
-      ac_cv_linux_fs_struct_inode_has_i_security=yes,
-      ac_cv_linux_fs_struct_inode_has_i_security=no)])
-  AC_MSG_RESULT($ac_cv_linux_fs_struct_inode_has_i_security)])
-
-
-AC_DEFUN([LINUX_FS_STRUCT_INODE_HAS_I_SB_LIST], [
-  AC_MSG_CHECKING([for i_sb_list in struct inode])
-  AC_CACHE_VAL([ac_cv_linux_fs_struct_inode_has_i_sb_list], [
-    AC_TRY_KBUILD(
-[#include <linux/fs.h>],
-[struct inode _inode;
-printk("%d\n", _inode.i_sb_list);],
-      ac_cv_linux_fs_struct_inode_has_i_sb_list=yes,
-      ac_cv_linux_fs_struct_inode_has_i_sb_list=no)])
-  AC_MSG_RESULT($ac_cv_linux_fs_struct_inode_has_i_sb_list)])
-
-
-AC_DEFUN([LINUX_RECALC_SIGPENDING_ARG_TYPE], [
-  AC_MSG_CHECKING([for recalc_sigpending arg type])
-  AC_CACHE_VAL([ac_cv_linux_func_recalc_sigpending_takes_void], [
-    AC_TRY_KBUILD(
-[#include <linux/sched.h>],
-[recalc_sigpending();],
-      ac_cv_linux_func_recalc_sigpending_takes_void=yes,
-      ac_cv_linux_func_recalc_sigpending_takes_void=no)])
-  AC_MSG_RESULT($ac_cv_linux_func_recalc_sigpending_takes_void)])
-
-
-AC_DEFUN([LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_PARENT], [
-  AC_MSG_CHECKING([for parent in struct task_struct])
-  AC_CACHE_VAL([ac_cv_linux_sched_struct_task_struct_has_parent], [
-    AC_TRY_KBUILD(
-[#include <linux/sched.h>],
-[struct task_struct _tsk;
-printk("%d\n", _tsk.parent);],
-      ac_cv_linux_sched_struct_task_struct_has_parent=yes,
-      ac_cv_linux_sched_struct_task_struct_has_parent=no)])
-  AC_MSG_RESULT($ac_cv_linux_sched_struct_task_struct_has_parent)])
-
-
-AC_DEFUN([LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_TGID], [
-  AC_MSG_CHECKING([for tgid in struct task_struct])
-  AC_CACHE_VAL([ac_cv_linux_sched_struct_task_struct_has_tgid], [
-    AC_TRY_KBUILD(
-[#include <linux/sched.h>],
-[struct task_struct _tsk;
-printk("%d\n", _tsk.tgid);],
-      ac_cv_linux_sched_struct_task_struct_has_tgid=yes,
-      ac_cv_linux_sched_struct_task_struct_has_tgid=no)])
-  AC_MSG_RESULT($ac_cv_linux_sched_struct_task_struct_has_tgid)])
-
-
-AC_DEFUN([LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_REAL_PARENT], [
-  AC_MSG_CHECKING([for real_parent in struct task_struct])
-  AC_CACHE_VAL([ac_cv_linux_sched_struct_task_struct_has_real_parent], [
-    AC_TRY_KBUILD(
-[#include <linux/sched.h>],
-[struct task_struct _tsk;
-printk("%d\n", _tsk.real_parent);],
-      ac_cv_linux_sched_struct_task_struct_has_real_parent=yes,
-      ac_cv_linux_sched_struct_task_struct_has_real_parent=no)])
-  AC_MSG_RESULT($ac_cv_linux_sched_struct_task_struct_has_real_parent)])
-
-
-AC_DEFUN([LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_SIG], [
-  AC_MSG_CHECKING([for sig in struct task_struct])
-  AC_CACHE_VAL([ac_cv_linux_sched_struct_task_struct_has_sig], [
-    AC_TRY_KBUILD(
-[#include <linux/sched.h>],
-[struct task_struct _tsk;
-printk("%d\n", _tsk.sig);],
-      ac_cv_linux_sched_struct_task_struct_has_sig=yes,
-      ac_cv_linux_sched_struct_task_struct_has_sig=no)])
-  AC_MSG_RESULT($ac_cv_linux_sched_struct_task_struct_has_sig)])
-
-
-AC_DEFUN([LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_SIGMASK_LOCK], [
-  AC_MSG_CHECKING([for sigmask_lock in struct task_struct])
-  AC_CACHE_VAL([ac_cv_linux_sched_struct_task_struct_has_sigmask_lock], [
-    AC_TRY_KBUILD(
-[#include <linux/sched.h>],
-[struct task_struct _tsk;
-printk("%d\n", _tsk.sigmask_lock);],
-      ac_cv_linux_sched_struct_task_struct_has_sigmask_lock=yes,
-      ac_cv_linux_sched_struct_task_struct_has_sigmask_lock=no)])
-  AC_MSG_RESULT($ac_cv_linux_sched_struct_task_struct_has_sigmask_lock)])
-
-
-AC_DEFUN([LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_SIGHAND], [
-  AC_MSG_CHECKING([for sighand in struct task_struct])
-  AC_CACHE_VAL([ac_cv_linux_sched_struct_task_struct_has_sighand], [
-    AC_TRY_KBUILD(
-[#include <linux/sched.h>],
-[struct task_struct _tsk;
-printk("%d\n", _tsk.sighand);],
-      ac_cv_linux_sched_struct_task_struct_has_sighand=yes,
-      ac_cv_linux_sched_struct_task_struct_has_sighand=no)])
-  AC_MSG_RESULT($ac_cv_linux_sched_struct_task_struct_has_sighand)])
-
-
-AC_DEFUN([LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_RLIM], [
-  AC_MSG_CHECKING([for rlim in struct task_struct])
-  AC_CACHE_VAL([ac_cv_linux_sched_struct_task_struct_has_rlim], [
-    AC_TRY_KBUILD(
-[#include <linux/sched.h>],
-[struct task_struct _tsk;
-printk("%d\n", _tsk.rlim);],
-      ac_cv_linux_sched_struct_task_struct_has_rlim=yes,
-      ac_cv_linux_sched_struct_task_struct_has_rlim=no)])
-  AC_MSG_RESULT($ac_cv_linux_sched_struct_task_struct_has_rlim)])
-
-
-AC_DEFUN([LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_SIGNAL_RLIM], [
-  AC_MSG_CHECKING([for signal->rlim in struct task_struct])
-  AC_CACHE_VAL([ac_cv_linux_sched_struct_task_struct_has_signal_rlim], [
-    AC_TRY_KBUILD(
-[#include <linux/sched.h>],
-[struct task_struct _tsk;
-printk("%d\n", _tsk.signal->rlim);],
-      ac_cv_linux_sched_struct_task_struct_has_signal_rlim=yes,
-      ac_cv_linux_sched_struct_task_struct_has_signal_rlim=no)])
-  AC_MSG_RESULT($ac_cv_linux_sched_struct_task_struct_has_signal_rlim)])
-
-
-AC_DEFUN([LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_EXIT_STATE], [
-  AC_MSG_CHECKING([for exit_state in struct task_struct])
-  AC_CACHE_VAL([ac_cv_linux_sched_struct_task_struct_has_exit_state], [
-    AC_TRY_KBUILD(
-[#include <linux/sched.h>],
-[struct task_struct _tsk;
-printk("%d\n", _tsk.exit_state);],
-      ac_cv_linux_sched_struct_task_struct_has_exit_state=yes,
-      ac_cv_linux_sched_struct_task_struct_has_exit_state=no)])
-  AC_MSG_RESULT($ac_cv_linux_sched_struct_task_struct_has_exit_state)])
-
-
-AC_DEFUN([LINUX_FS_STRUCT_SUPER_HAS_ALLOC_INODE], [
-  AC_MSG_CHECKING([for alloc_inode in struct super_operations])
-  AC_CACHE_VAL([ac_cv_linux_fs_struct_super_has_alloc_inode], [
-    AC_TRY_KBUILD(
-[#include <linux/fs.h>],
-[struct super_operations _super;
-printk("%p\n", _super.alloc_inode);],
-      ac_cv_linux_fs_struct_super_has_alloc_inode=yes,
-      ac_cv_linux_fs_struct_super_has_alloc_inode=no)])
-  AC_MSG_RESULT($ac_cv_linux_fs_struct_super_has_alloc_inode)])
-
-
-AC_DEFUN([LINUX_KERNEL_SOCK_CREATE], [
-  AC_MSG_CHECKING([for 5th argument in sock_create found in some SELinux kernels])
-  AC_CACHE_VAL([ac_cv_linux_kernel_sock_create_v], [
-    AC_TRY_KBUILD(
-[#include <linux/net.h>],
-[sock_create(0,0,0,0,0);],
-      ac_cv_linux_kernel_sock_create_v=yes,
-      ac_cv_linux_kernel_sock_create_v=no)])
-  AC_MSG_RESULT($ac_cv_linux_kernel_sock_create_v)])
-
-
-AC_DEFUN([LINUX_KERNEL_PAGE_FOLLOW_LINK], [
-  AC_MSG_CHECKING([for page_follow_link_light vs page_follow_link])
-  AC_CACHE_VAL([ac_cv_linux_kernel_page_follow_link], [
-    save_CPPFLAGS="$CPPFLAGS"
-    CPPFLAGS="$CPPFLAGS -Werror-implicit-function-declaration"
-    AC_TRY_KBUILD(
-[#include <linux/fs.h>],
-[page_follow_link(0,0);],
-      ac_cv_linux_kernel_page_follow_link=yes,
-      ac_cv_linux_kernel_page_follow_link=no)
-    CPPFLAGS="$save_CPPFLAGS"])
-  AC_MSG_RESULT($ac_cv_linux_kernel_page_follow_link)])
-
-
-AC_DEFUN([LINUX_FS_STRUCT_ADDRESS_SPACE_HAS_GFP_MASK], [
-  AC_MSG_CHECKING([for gfp_mask in struct address_space])
-  AC_CACHE_VAL([ac_cv_linux_fs_struct_address_space_has_gfp_mask], [
-    AC_TRY_KBUILD(
-[#include <linux/fs.h>],
-[struct address_space _a;
-printk("%d\n", _a.gfp_mask);],
-      ac_cv_linux_fs_struct_address_space_has_gfp_mask=yes,
-      ac_cv_linux_fs_struct_address_space_has_gfp_mask=no)])
-  AC_MSG_RESULT($ac_cv_linux_fs_struct_address_space_has_gfp_mask)])
-
-
-AC_DEFUN([LINUX_FS_STRUCT_INODE_HAS_I_BYTES], [
-  AC_MSG_CHECKING([for i_bytes in struct inode])
-  AC_CACHE_VAL([ac_cv_linux_fs_struct_inode_has_i_bytes], [
-    AC_TRY_KBUILD(
-[#include <linux/fs.h>],
-[struct inode _inode;
-printk("%d\n", _inode.i_bytes);],
-      ac_cv_linux_fs_struct_inode_has_i_bytes=yes,
-      ac_cv_linux_fs_struct_inode_has_i_bytes=no)])
-  AC_MSG_RESULT($ac_cv_linux_fs_struct_inode_has_i_bytes)])
-
-
-AC_DEFUN([LINUX_FS_STRUCT_INODE_HAS_I_ALLOC_SEM], [
-  AC_MSG_CHECKING([for i_alloc_sem in struct inode])
-  AC_CACHE_VAL([ac_cv_linux_fs_struct_inode_has_i_alloc_sem], [
-    AC_TRY_KBUILD(
-[#include <linux/fs.h>],
-[struct inode _i;
-printk("%x\n", _i.i_alloc_sem);],
-      ac_cv_linux_fs_struct_inode_has_i_alloc_sem=yes,
-      ac_cv_linux_fs_struct_inode_has_i_alloc_sem=no)])
-  AC_MSG_RESULT($ac_cv_linux_fs_struct_inode_has_i_alloc_sem)])
-
-
-AC_DEFUN([LINUX_FS_STRUCT_INODE_HAS_I_TRUNCATE_SEM], [
-  AC_MSG_CHECKING([for i_truncate_sem in struct inode])
-  AC_CACHE_VAL([ac_cv_linux_fs_struct_inode_has_i_truncate_sem], [
-    AC_TRY_KBUILD(
-[#include <linux/fs.h>],
-[struct inode _i;
-printk("%x\n", _i.i_truncate_sem);],
-      ac_cv_linux_fs_struct_inode_has_i_truncate_sem=yes,
-      ac_cv_linux_fs_struct_inode_has_i_truncate_sem=no)])
-  AC_MSG_RESULT($ac_cv_linux_fs_struct_inode_has_i_truncate_sem)])
-
-
-AC_DEFUN([LINUX_FS_STRUCT_ADDRESS_SPACE_HAS_PAGE_LOCK], [
-  AC_MSG_CHECKING([for page_lock in struct address_space])
-  AC_CACHE_VAL([ac_cv_linux_fs_struct_address_space_has_page_lock], [
-    AC_TRY_KBUILD(
-[#include <linux/fs.h>],
-[struct address_space _a_s;
-printk("%x\n", _a_s.page_lock);],
-      ac_cv_linux_fs_struct_address_space_has_page_lock=yes,
-      ac_cv_linux_fs_struct_address_space_has_page_lock=no)])
-  AC_MSG_RESULT($ac_cv_linux_fs_struct_address_space_has_page_lock)])
-
-
-AC_DEFUN([LINUX_INODE_SETATTR_RETURN_TYPE], [
-  AC_MSG_CHECKING([for inode_setattr return type])
-  AC_CACHE_VAL([ac_cv_linux_func_inode_setattr_returns_int], [
-    AC_TRY_KBUILD(
-[#include <linux/fs.h>],
-[struct inode _inode;
-struct iattr _iattr;
-int i;
-i = inode_setattr(&_inode, &_iattr);],
-      ac_cv_linux_func_inode_setattr_returns_int=yes,
-      ac_cv_linux_func_inode_setattr_returns_int=no)])
-  AC_MSG_RESULT($ac_cv_linux_func_inode_setattr_returns_int)])
-
-
-AC_DEFUN([LINUX_WRITE_INODE_RETURN_TYPE], [
-  AC_MSG_CHECKING([for write_inode return type])
-  AC_CACHE_VAL([ac_cv_linux_func_write_inode_returns_int], [
-    AC_TRY_KBUILD(
-[#include <linux/fs.h>],
-[struct inode _inode;
-struct super_operations _sops;
-int i;
-i = _sops.write_inode(&_inode, 0);],
-      ac_cv_linux_func_write_inode_returns_int=yes,
-      ac_cv_linux_func_write_inode_returns_int=no)])
-  AC_MSG_RESULT($ac_cv_linux_func_write_inode_returns_int)])
-
-
-AC_DEFUN([LINUX_AOP_WRITEBACK_CONTROL], [
-  AC_MSG_CHECKING([whether address_space_operations.writepage takes a writeback_control])
-  AC_CACHE_VAL([ac_cv_linux_func_a_writepage_takes_writeback_control], [
-    AC_TRY_KBUILD(
-[#include <linux/fs.h>
-#include <linux/mm.h>
-#include <linux/writeback.h>],
-[struct address_space_operations _aops;
-struct page _page;
-struct writeback_control _writeback_control;
-(void)_aops.writepage(&_page, &_writeback_control);],
-      ac_cv_linux_func_a_writepage_takes_writeback_control=yes,
-      ac_cv_linux_func_a_writepage_takes_writeback_control=no)])
-  AC_MSG_RESULT($ac_cv_linux_func_a_writepage_takes_writeback_control)])
-
-
-AC_DEFUN([LINUX_REFRIGERATOR], [
-  AC_MSG_CHECKING([whether refrigerator takes PF_FREEZE])
-  AC_CACHE_VAL([ac_cv_linux_func_refrigerator_takes_pf_freeze], [
-    AC_TRY_KBUILD(
-[#include <linux/sched.h>
-#ifdef FREEZER_H_EXISTS
-#include <linux/freezer.h>
-#endif],
-[refrigerator(PF_FREEZE);],
-      ac_cv_linux_func_refrigerator_takes_pf_freeze=yes,
-      ac_cv_linux_func_refrigerator_takes_pf_freeze=no)])
-  AC_MSG_RESULT($ac_cv_linux_func_refrigerator_takes_pf_freeze)])
-
-
-AC_DEFUN([LINUX_IOP_I_CREATE_TAKES_NAMEIDATA], [
-  AC_MSG_CHECKING([whether inode_operations.create takes a nameidata])
-  AC_CACHE_VAL([ac_cv_linux_func_i_create_takes_nameidata], [
-    AC_TRY_KBUILD(
-[#include <linux/fs.h>
-#include <linux/namei.h>],
-[struct inode _inode;
-struct dentry _dentry;
-struct nameidata _nameidata;
-(void)_inode.i_op->create(&_inode, &_dentry, 0, &_nameidata);],
-      ac_cv_linux_func_i_create_takes_nameidata=yes,
-      ac_cv_linux_func_i_create_takes_nameidata=no)])
-  AC_MSG_RESULT($ac_cv_linux_func_i_create_takes_nameidata)])
-
-
-AC_DEFUN([LINUX_IOP_I_LOOKUP_TAKES_NAMEIDATA], [
-  AC_MSG_CHECKING([whether inode_operations.lookup takes a nameidata])
-  AC_CACHE_VAL([ac_cv_linux_func_i_lookup_takes_nameidata], [
-    AC_TRY_KBUILD(
-[#include <linux/fs.h>
-#include <linux/namei.h>],
-[struct inode _inode;
-struct dentry _dentry;
-struct nameidata _nameidata;
-(void)_inode.i_op->lookup(&_inode, &_dentry, &_nameidata);],
-      ac_cv_linux_func_i_lookup_takes_nameidata=yes,
-      ac_cv_linux_func_i_lookup_takes_nameidata=no)])
-  AC_MSG_RESULT($ac_cv_linux_func_i_lookup_takes_nameidata)])
-
-
-AC_DEFUN([LINUX_IOP_I_PERMISSION_TAKES_NAMEIDATA], [
-  AC_MSG_CHECKING([whether inode_operations.permission takes a nameidata])
-  AC_CACHE_VAL([ac_cv_linux_func_i_permission_takes_nameidata], [
-    AC_TRY_KBUILD(
-[#include <linux/fs.h>
-#include <linux/namei.h>],
-[struct inode _inode;
-struct dentry _dentry;
-struct nameidata _nameidata;
-(void)_inode.i_op->permission(&_inode, 0, &_nameidata);],
-      ac_cv_linux_func_i_permission_takes_nameidata=yes,
-      ac_cv_linux_func_i_permission_takes_nameidata=no)])
-  AC_MSG_RESULT($ac_cv_linux_func_i_permission_takes_nameidata)])
-
-
-AC_DEFUN([LINUX_DOP_D_REVALIDATE_TAKES_NAMEIDATA], [
-  AC_MSG_CHECKING([whether dentry_operations.d_revalidate takes a nameidata])
-  AC_CACHE_VAL([ac_cv_linux_func_d_revalidate_takes_nameidata], [
-    AC_TRY_KBUILD(
-[#include <linux/fs.h>
-#include <linux/namei.h>],
-[struct dentry _dentry;
-struct nameidata _nameidata;
-(void)_dentry.d_op->d_revalidate(&_dentry, &_nameidata);],
-      ac_cv_linux_func_d_revalidate_takes_nameidata=yes,
-      ac_cv_linux_func_d_revalidate_takes_nameidata=no)])
-  AC_MSG_RESULT($ac_cv_linux_func_d_revalidate_takes_nameidata)])
-
-AC_DEFUN([LINUX_GET_SB_HAS_STRUCT_VFSMOUNT], [
-  AC_MSG_CHECKING([for struct vfsmount * in get_sb_nodev()])
-  AC_CACHE_VAL([ac_cv_linux_get_sb_has_struct_vfsmount], [
-    AC_TRY_KBUILD(
-[#include <linux/fs.h>],
-[get_sb_nodev(0,0,0,0,0);],
-      ac_cv_linux_get_sb_has_struct_vfsmount=yes,
-      ac_cv_linux_get_sb_has_struct_vfsmount=no)])
-  AC_MSG_RESULT($ac_cv_linux_get_sb_has_struct_vfsmount)])
-
-AC_DEFUN([LINUX_STATFS_TAKES_DENTRY], [
-  AC_MSG_CHECKING([for dentry in statfs])
-  AC_CACHE_VAL([ac_cv_linux_statfs_takes_dentry], [
-    AC_TRY_KBUILD(
-[#include <linux/fs.h>
-#include <linux/statfs.h>],
-[
-extern int vfs_statfs(struct dentry *, struct kstatfs *);
-],
-      ac_cv_linux_statfs_takes_dentry=yes,
-      ac_cv_linux_statfs_takes_dentry=no)])
-  AC_MSG_RESULT($ac_cv_linux_statfs_takes_dentry)])
-
-AC_DEFUN([LINUX_LINUX_KEYRING_SUPPORT], [
-  AC_MSG_CHECKING([for linux kernel keyring support])
-  AC_CACHE_VAL([ac_cv_linux_keyring_support], [
-    AC_TRY_KBUILD(
-[#include <linux/rwsem.h>
-#include <linux/key.h>
-#include <linux/keyctl.h>],
-[#ifdef CONFIG_KEYS
-request_key(NULL, NULL, NULL);
-#if !defined(KEY_POS_VIEW) || !defined(KEY_POS_SEARCH) || !defined(KEY_POS_SETATTR) 
-#error "Your linux/key.h does not contain KEY_POS_VIEW or KEY_POS_SEARCH or KEY_POS_SETATTR"
-#endif
-#else
-#error rebuild your kernel with CONFIG_KEYS
-#endif],
-      ac_cv_linux_keyring_support=yes,
-      ac_cv_linux_keyring_support=no)])
-  AC_MSG_RESULT($ac_cv_linux_keyring_support)
-  if test "x$ac_cv_linux_keyring_support" = "xyes"; then
-    AC_DEFINE([LINUX_KEYRING_SUPPORT], 1, [define if your kernel has keyring support])
-  fi])
-
-AC_DEFUN([LINUX_KEY_ALLOC_NEEDS_STRUCT_TASK], [
-  AC_MSG_CHECKING([if key_alloc() takes a struct task *])
-  AC_CACHE_VAL([ac_cv_key_alloc_needs_struct_task], [
-    AC_TRY_KBUILD(
-[#include <linux/rwsem.h>
-#include <linux/key.h>
-],
-[(void) key_alloc(NULL, NULL, 0, 0, NULL, 0, 0);],
-      ac_cv_key_alloc_needs_struct_task=yes,
-      ac_cv_key_alloc_needs_struct_task=no)])
-  AC_MSG_RESULT($ac_cv_key_alloc_needs_struct_task)
-  if test "x$ac_cv_key_alloc_needs_struct_task" = "xyes"; then
-    AC_DEFINE([KEY_ALLOC_NEEDS_STRUCT_TASK], 1, [define if key_alloc takes a struct task *])
-  fi])
-
-AC_DEFUN([LINUX_DO_SYNC_READ], [
-  AC_MSG_CHECKING([for linux do_sync_read()])
-  AC_CACHE_VAL([ac_cv_linux_do_sync_read], [
-    save_CPPFLAGS="$CPPFLAGS"
-    CPPFLAGS="$CPPFLAGS -Werror-implicit-function-declaration"
-    AC_TRY_KBUILD(
-[#include <linux/fs.h>],
-[do_sync_read(NULL, NULL, 0, NULL);],
-      ac_cv_linux_do_sync_read=yes,
-      ac_cv_linux_do_sync_read=no)
-    CPPFLAGS="$save_CPPFLAGS"])
-  AC_MSG_RESULT($ac_cv_linux_do_sync_read)
-  if test "x$ac_cv_linux_do_sync_read" = "xyes"; then
-    AC_DEFINE([DO_SYNC_READ], 1, [define if your kernel has do_sync_read()])
-  fi])
-
-AC_DEFUN([LINUX_GENERIC_FILE_AIO_READ], [
-  AC_MSG_CHECKING([for linux generic_file_aio_read()])
-  AC_CACHE_VAL([ac_cv_linux_generic_file_aio_read], [
-    save_CPPFLAGS="$CPPFLAGS"
-    CPPFLAGS="$CPPFLAGS -Werror-implicit-function-declaration"
-    AC_TRY_KBUILD(
-[#include <linux/fs.h>],
-[generic_file_aio_read(NULL, NULL, 0, 0);],
-      ac_cv_linux_generic_file_aio_read=yes,
-      ac_cv_linux_generic_file_aio_read=no)
-    CPPFLAGS="$save_CPPFLAGS"])
-  AC_MSG_RESULT($ac_cv_linux_generic_file_aio_read)
-  if test "x$ac_cv_linux_generic_file_aio_read" = "xyes"; then
-    AC_DEFINE([GENERIC_FILE_AIO_READ], 1, [define if your kernel has generic_file_aio_read()])
-  fi])
-
-AC_DEFUN([LINUX_FREEZER_H_EXISTS], [
-  AC_MSG_CHECKING([for linux/freezer.h existance])
-  AC_CACHE_VAL([ac_cv_linux_freezer_h_exists], [
-    AC_TRY_KBUILD(
-[#include <linux/freezer.h>],
-[return;],
-      ac_cv_linux_freezer_h_exists=yes,
-      ac_cv_linux_freezer_h_exists=no)])
-  AC_MSG_RESULT($ac_cv_linux_freezer_h_exists)
-  if test "x$ac_cv_linux_freezer_h_exists" = "xyes"; then
-    AC_DEFINE([FREEZER_H_EXISTS], 1, [define if linux/freezer.h exists])
-  fi])
-
-AC_DEFUN([LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_TODO], [
-  AC_MSG_CHECKING([for todo in struct task_struct])
-  AC_CACHE_VAL([ac_cv_linux_sched_struct_task_struct_has_todo], [
-    AC_TRY_KBUILD(
-[#include <linux/sched.h>],
-[struct task_struct _tsk;
-printk("%d\n", _tsk.todo);],
-      ac_cv_linux_sched_struct_task_struct_has_todo=yes,
-      ac_cv_linux_sched_struct_task_struct_has_todo=no)])
-  AC_MSG_RESULT($ac_cv_linux_sched_struct_task_struct_has_todo)])
-
-AC_DEFUN([LINUX_INIT_WORK_HAS_DATA], [
-  AC_MSG_CHECKING([whether INIT_WORK has a _data argument])
-  AC_CACHE_VAL([ac_cv_linux_init_work_has_data], [
-    AC_TRY_KBUILD(
-[#include <linux/kernel.h>
-#include <linux/workqueue.h>],
-[ 
-void f(struct work_struct *w) {}
-struct work_struct *w;
-int *i;
-INIT_WORK(w,f,i);],
-      ac_cv_linux_init_work_has_data=yes,
-      ac_cv_linux_init_work_has_data=no)])
-  AC_MSG_RESULT($ac_cv_linux_init_work_has_data)])
-
-
-AC_DEFUN([LINUX_FS_STRUCT_FOP_HAS_FLOCK], [
-  AC_MSG_CHECKING([for flock in struct file_operations])
-  AC_CACHE_VAL([ac_cv_linux_fs_struct_fop_has_flock], [
-    AC_TRY_KBUILD(
-[#include <linux/fs.h>],
-[struct file_operations _fop;
-_fop.flock(NULL, 0, NULL);],
-      ac_cv_linux_fs_struct_fop_has_flock=yes,
-      ac_cv_linux_fs_struct_fop_has_flock=no)])
-  AC_MSG_RESULT($ac_cv_linux_fs_struct_fop_has_flock)])
-
-AC_DEFUN([LINUX_REGISTER_SYSCTL_TABLE_NOFLAG], [
-  AC_MSG_CHECKING([whether register_sysctl_table has an insert_at_head flag argument])
-  AC_CACHE_VAL([ac_cv_linux_register_sysctl_table_noflag], [
-    AC_TRY_KBUILD(
-[#include <linux/sysctl.h>],
-[ctl_table *t;
-register_sysctl_table (t);],
-      ac_cv_linux_register_sysctl_table_noflag=yes,
-      ac_cv_linux_register_sysctl_table_noflag=no)])
-  AC_MSG_RESULT($ac_cv_linux_register_sysctl_table_noflag)])
-
-
-AC_DEFUN([LINUX_KERNEL_LINUX_SYSCALL_H],[
-  AC_MSG_CHECKING(for linux/syscall.h in kernel)
-  if test -f "${LINUX_KERNEL_PATH}/include/linux/syscall.h"; then
-    ac_linux_syscall=yes
-    AC_MSG_RESULT($ac_linux_syscall)
-  else
-    ac_linux_syscall=no
-    AC_MSG_RESULT($ac_linux_syscall)
-  fi
-])
-
-AC_DEFUN([LINUX_NEED_RHCONFIG],[
-RHCONFIG_SP=""
-RHCONFIG_MP=""
-if test "x$enable_redhat_buildsys" = "xyes"; then
-  AC_MSG_WARN(Configured to build from a Red Hat SPEC file)
-else
-  AC_MSG_CHECKING(for redhat kernel configuration)
-  if test -f "${LINUX_KERNEL_PATH}/include/linux/rhconfig.h"; then
-    ac_linux_rhconfig=yes
-    RHCONFIG_SP="-D__BOOT_KERNEL_UP=1 -D__BOOT_KERNEL_SMP=0"
-    RHCONFIG_MP="-D__BOOT_KERNEL_UP=0 -D__BOOT_KERNEL_SMP=1"
-    AC_MSG_RESULT($ac_linux_rhconfig)
-    if test ! -f "/boot/kernel.h"; then
-        AC_MSG_WARN([/boot/kernel.h does not exist. build may fail])
-    fi
-  else
-    ac_linux_rhconfig=no
-    AC_MSG_RESULT($ac_linux_rhconfig)
-  fi
-fi
-AC_SUBST(RHCONFIG_SP)
-AC_SUBST(RHCONFIG_MP)
-])
-
-
-dnl This depends on LINUX_CONFIG_H_EXISTS running first!
-
-AC_DEFUN([LINUX_WHICH_MODULES],[
-if test "x$enable_redhat_buildsys" = "xyes"; then
-  MPS=Default
-else
-  save_CPPFLAGS="$CPPFLAGS"
-  CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -D__KERNEL__ $RHCONFIG_SP $CPPFLAGS"
-  AC_MSG_CHECKING(which kernel modules to build)
-  if test "x$ac_cv_linux_config_h_exists" = "xyes"; then
-    CPPFLAGS="-DCONFIG_H_EXISTS $CPPFLAGS"
-  fi
-  if test "x$ac_linux_rhconfig" = "xyes"; then
-      MPS="MP SP"
-  else
-  AC_CACHE_VAL(ac_cv_linux_config_smp, [
-  AC_TRY_KBUILD(
-[#ifdef CONFIG_H_EXISTS
-#include <linux/config.h>
-#endif
-],
-[#ifndef CONFIG_SMP
-lose;
-#endif
-],
-  ac_cv_linux_config_smp=yes,
-  ac_cv_linux_config_smp=no)])
-  dnl AC_MSG_RESULT($ac_cv_linux_config_smp)
-      if test "x$ac_cv_linux_config_smp" = "xyes"; then
-          MPS=MP
-      else
-          MPS=SP
-      fi
-  fi
-  CPPFLAGS=$save_CPPFLAGS
-  AC_MSG_RESULT($MPS)
-fi
-AC_SUBST(MPS)
-])
-
-AC_DEFUN([LINUX_KERNEL_SELINUX],[
-AC_MSG_CHECKING(for SELinux kernel)
-save_CPPFLAGS="$CPPFLAGS"
-CPPFLAGS="-I${LINUX_KERNEL_PATH}/include $CPPFLAGS"
-AC_CACHE_VAL(ac_cv_linux_kernel_is_selinux,
-[
-AC_TRY_COMPILE(
-  [#include <linux/autoconf.h>],
-  [#ifndef CONFIG_SECURITY_SELINUX
-   #error not SELINUX
-   #endif],
-  ac_cv_linux_kernel_is_selinux=yes,
-  ac_cv_linux_kernel_is_selinux=no)])
-AC_MSG_RESULT($ac_cv_linux_kernel_is_selinux)
-CPPFLAGS="$save_CPPFLAGS"])
-
-AC_DEFUN([LINUX_KERNEL_LINUX_SEQ_FILE_H],[
-  AC_MSG_CHECKING(for linux/seq_file.h in kernel)
-  if test -f "${LINUX_KERNEL_PATH}/include/linux/seq_file.h"; then
-    ac_linux_seq_file=yes
-    AC_MSG_RESULT($ac_linux_seq_file)
-  else
-    ac_linux_seq_file=no
-    AC_MSG_RESULT($ac_linux_seq_file)
-  fi
-])
-
-AC_DEFUN([AC_FUNC_RES_SEARCH], [
-  ac_cv_func_res_search=no
-  AC_TRY_LINK([
-#include <sys/types.h>
-#include <netinet/in.h>
-#include <arpa/nameser.h>
-#ifdef HAVE_ARPA_NAMESER_COMPAT_H
-#include <arpa/nameser_compat.h>
-#endif
-#include <resolv.h>],
-  [
-const char host[11]="openafs.org";
-u_char ans[1024];
-int r;
-res_init();
-/* Capture result in r but return 0, since a working nameserver is
- * not a requirement for compilation.
- */
-r =  res_search( host, C_IN, T_MX, (u_char *)&ans, sizeof(ans));
-return 0;
-  ],
-  ac_cv_func_res_search=yes)
-])
-
-
-AC_DEFUN([OPENAFS_OSCONF], [
-
-dnl defaults, override in case below as needed
-XCFLAGS='${DBG} ${OPTMZ}'
-SHLIB_SUFFIX="so"
-CC="cc"
-CCOBJ="cc"
-MT_CC="cc"
-XLIBS="${LIB_AFSDB}"
-
-dnl debugging and optimization flag defaults
-dnl Note, these are all the defaults for if debug/optimize turned on, and
-dnl the arch cases below do not override
-KERN_DBG=-g
-KERN_OPTMZ=-O
-DBG=-g
-OPTMZ=-O
-LWP_DBG=-g
-LWP_OPTMZ=-O
-
-dnl standard programs
-AC_PROG_RANLIB
-AC_CHECK_PROGS(AS, as, [${am_missing_run}as])
-AC_CHECK_PROGS(AR, ar, [${am_missing_run}ar])
-AC_CHECK_PROGS(MV, mv, [${am_missing_run}mv])
-AC_CHECK_PROGS(RM, rm, [${am_missing_run}rm])
-AC_CHECK_PROGS(LD, ld, [${am_missing_run}ld])
-AC_CHECK_PROGS(CP, cp, [${am_missing_run}cp])
-AC_CHECK_PROGS(STRIP, strip, [${am_missing_run}strip])
-AC_CHECK_PROGS(LORDER, lorder, [${am_missing_run}lorder])
-
-dnl TODO - need to disable STRIP if we are doing debugging in any user space code
-
-case $AFS_SYSNAME in
-       alpha_dux40)
-               LEX="lex"
-               CSTATIC="-non_shared"
-               DBG="-g3"
-               MT_CFLAGS='-D_REENTRANT=1 -pthread -DAFS_PTHREAD_ENV ${XCFLAGS}'
-               MT_LIBS="-pthread -lpthread -lmach -lexc -lc"
-               TXLIBS="-lcurses"
-               XCFLAGS="-D_NO_PROTO -DOSF"
-               SHLIB_LINKER="${CC} -all -shared -expect_unresolved \"*\""
-               ;;
-
-       alpha_dux50)
-               LEX="flex -l"
-               DBG="-g3"
-               CSTATIC="-non_shared"
-               MT_CFLAGS='-D_REENTRANT=1 -pthread -DAFS_PTHREAD_ENV ${XCFLAGS}'
-               MT_LIBS="-pthread -lpthread -lmach -lexc -lc"
-               TXLIBS="-lcurses"
-               XCFLAGS="-D_NO_PROTO -DOSF"
-               SHLIB_LINKER="${CC} -all -shared -expect_unresolved \"*\""
-               ;;
-
-       alpha_dux51)
-               LEX="flex -l"
-               DBG="-g3"
-               CSTATIC="-non_shared"
-               LWP_OPTMZ="-O2"
-               MT_CFLAGS='-D_REENTRANT=1 -pthread -DAFS_PTHREAD_ENV ${XCFLAGS}'
-               MT_LIBS="-pthread -lpthread -lmach -lexc -lc"
-               TXLIBS="-lcurses"
-               XCFLAGS="-D_NO_PROTO -DOSF"
-               SHLIB_LINKER="${CC} -all -shared -expect_unresolved \"*\""
-               ;;
-
-       alpha_linux_22)
-               KERN_OPTMZ=-O2
-               LEX="flex -l"
-               MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
-               MT_LIBS="-lpthread"
-               PAM_CFLAGS="-O2 -Dlinux -DLINUX_PAM -fPIC"
-               SHLIB_CFLAGS="-fPIC"
-               SHLIB_LDFLAGS="-shared -Xlinker -x"
-               TXLIBS="-lncurses"
-               XCFLAGS="-O2 -D_LARGEFILE64_SOURCE"
-               YACC="bison -y"
-               SHLIB_LINKER="${MT_CC} -shared"
-               ;;
-
-       alpha_linux_24)
-               CCOBJ="${CC} -fPIC"
-               KERN_OPTMZ=-O2
-               LEX="flex -l"
-               MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
-               MT_LIBS="-lpthread"
-               PAM_CFLAGS="-O2 -Dlinux -DLINUX_PAM -fPIC"
-               SHLIB_CFLAGS="-fPIC"
-               SHLIB_LDFLAGS="-shared -Xlinker -x"
-               TXLIBS="-lncurses"
-               XCFLAGS="-O2 -D_LARGEFILE64_SOURCE"
-               YACC="bison -y"
-               SHLIB_LINKER="${MT_CC} -shared"
-               ;;
-
-       alpha_linux_26)
-               CCOBJ="${CC} -fPIC"
-               KERN_OPTMZ=-O2
-               LEX="flex -l"
-               MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
-               MT_LIBS="-lpthread"
-               PAM_CFLAGS="-O2 -Dlinux -DLINUX_PAM -fPIC"
-               SHLIB_CFLAGS="-fPIC"
-               SHLIB_LDFLAGS="-shared -Xlinker -x"
-               TXLIBS="-lncurses"
-               XCFLAGS="-O2 -D_LARGEFILE64_SOURCE"
-               YACC="bison -y"
-               SHLIB_LINKER="${MT_CC} -shared"
-               ;;
-
-       hp_ux102)
-               AS="/usr/ccs/bin/as"
-               CC="/opt/ansic/bin/cc -Ae"
-               DBM="/lib/libndbm.a"
-               LD="/bin/ld"
-               LEX="/opt/langtools/bin/lex"
-               LWP_OPTMZ="-O"
-               MT_CC="/opt/ansic/bin/cc -Ae"
-               MT_CFLAGS='-D_POSIX_C_SOURCE=199506L -DAFS_PTHREAD_ENV ${XCFLAGS}'
-               MT_LIBS="-L/opt/dce/lib -ldce"
-               MV="/bin/mv"
-               OPTMZ="-O"
-               PAM_CFLAGS="+DA1.0 +z -Wl,+k"
-               PAM_LIBS="/usr/lib/libpam.1"
-               RANLIB="/usr/bin/ranlib"
-               RM="/bin/rm"
-               SHLIB_LDFLAGS="-b -Bsymbolic"
-               SHLIB_SUFFIX="sl"
-               TXLIBS="/usr/lib/libHcurses.a"
-               VFSCK_CFLAGS="-D_FILE64"
-               XCFLAGS0="-ldld -lc -Wp,-H200000 -Wl,-a,archive -DAUTH_DBM_LOG +z -Wl,+k -D_LARGEFILE64_SOURCE"
-               XCFLAGS64="${XCFLAGS0} +DA2.0W"
-               XCFLAGS="${XCFLAGS0} +DA1.0"
-               YACC="/opt/langtools/bin/yacc"
-               SHLIB_LINKER="ld -b"
-               ;;
-
-       hp_ux11*)
-               AR="/usr/bin/ar"
-               AS="/usr/ccs/bin/as"
-               CC="/opt/ansic/bin/cc"
-               CCOBJ="/opt/ansic/bin/cc"
-               DBM="/lib/libndbm.a"
-               LD="/bin/ld   "
-               LEX="/opt/langtools/bin/lex"
-               LWP_OPTMZ="-O"
-               MT_CC="$CC"
-               MT_CFLAGS='-D_POSIX_C_SOURCE=199506L -DAFS_PTHREAD_ENV ${XCFLAGS}'
-               MT_LIBS="-lpthread"
-               MV="/bin/mv"
-               OPTMZ="-O"
-               PAM_CFLAGS="+DA1.0 +z -Wl,+k"
-               PAM_LIBS="/usr/lib/libpam.1"
-               RANLIB="/usr/bin/ranlib"
-               RM="/bin/rm"
-               SHLIB_LDFLAGS="-b -Bsymbolic"
-               SHLIB_SUFFIX="sl"
-               TXLIBS="/usr/lib/libHcurses.a"
-               VFSCK_CFLAGS="-I/usr/old/usr/include -D_FILE64"
-               XCFLAGS0="-ldld -lc -Wp,-H200000 -Wl,-a,archive -DAUTH_DBM_LOG +z -Wl,+k -D_LARGEFILE64_SOURCE"
-               XCFLAGS64="${XCFLAGS0} +DA2.0W"
-               XCFLAGS="${XCFLAGS0} +DA1.0"
-               XLIBELFA="-lelf"
-               #XLIBS="${LIB_AFSDB} -lnsl"
-               XLIBS="${LIB_AFSDB}"
-               YACC="/opt/langtools/bin/yacc"
-               SHLIB_LINKER="ld -b"
-               ;;
-
-       ia64_hpux*)
-               AR="/usr/bin/ar"
-               AS="/usr/ccs/bin/as"
-               CC="/opt/ansic/bin/cc"
-               CCOBJ="/opt/ansic/bin/cc"
-               DBM="/lib/hpux32/libndbm.so"
-               LD="/bin/ld   "
-               LEX="/opt/langtools/bin/lex"
-               LWP_OPTMZ=""
-               MT_CC="$CC"
-               MT_CFLAGS='-D_POSIX_C_SOURCE=199506L -DAFS_PTHREAD_ENV ${XCFLAGS}'
-               MT_LIBS="-lpthread"
-               MV="/bin/mv"
-               OPTMZ="-O"
-               PAM_CFLAGS="-b +z -Wl,+k"
-               PAM_LIBS="/usr/lib/hpux32/libpam.so"
-               RANLIB="/usr/bin/ranlib"
-               RM="/bin/rm"
-               SHLIB_LDFLAGS="-b -Bsymbolic"
-               SHLIB_SUFFIX="sl"
-               TXLIBS="/usr/lib/hpux32/libcurses.so"
-               VFSCK_CFLAGS="-I/usr/old/usr/include -D_FILE64"
-               XCFLAGS0="-ldld -lc -Wp,-H200000 -Wl,-a,archive_shared -DAUTH_DBM_LOG +z -Wl,+k -D_LARGEFILE64_SOURCE"
-               XCFLAGS64="${XCFLAGS0} +DD64"
-               XCFLAGS="${XCFLAGS0}"
-               XLIBELFA="-lelf"
-               #XLIBS="${LIB_AFSDB} -lnsl"
-               XLIBS="${LIB_AFSDB}"
-               YACC="/opt/langtools/bin/yacc"
-               SHLIB_LINKER="ld -b"
-               ;;
-
-       *fbsd_*)
-               LEX="flex -l"
-               MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
-               MT_LIBS="-pthread"
-               PAM_CFLAGS="-O2 -pipe -fPIC"
-               SHLIB_LDFLAGS="-shared -Xlinker -x"
-               SHLIB_LINKER="${MT_CC} -shared"
-               TXLIBS="-lncurses"
-               XCFLAGS="-O2 -pipe"
-               YACC="byacc"
-               ;;
-
-       *nbsd2*|*nbsd3*|*nbsd4*)
-               LEX="flex -l"
-               MT_CFLAGS='${XCFLAGS} -DAFS_PTHREAD_ENV -D_REENTRANT '
-               MT_LIBS="-lpthread" # XXX -pthread soon
-               PAM_CFLAGS="-O2 -pipe -fPIC"
-               SHLIB_LDFLAGS="-shared -Xlinker -x"
-               SHLIB_LINKER="${MT_CC} -shared"
-               TXLIBS="/usr/lib/libcurses.so"
-               XCFLAGS="-O2 -pipe"
-               YACC="yacc"
-               ;;
-
-       *nbsd15|*nbsd16)
-               LEX="flex -l"
-               MT_CFLAGS='${XCFLAGS}'
-               MT_LIBS=""
-               PAM_CFLAGS="-O2 -pipe -fPIC"
-               SHLIB_LDFLAGS="-shared -Xlinker -x"
-               SHLIB_LINKER="${MT_CC} -shared"
-               TXLIBS="/usr/lib/libcurses.so"
-               XCFLAGS="-O2 -pipe"
-               YACC="bison -y"
-               ;;
-
-       ia64_linux24|ia64_linux26)
-               KERN_OPTMZ=-O2
-               LEX="flex -l"
-               MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
-               MT_LIBS="-lpthread"
-               PAM_CFLAGS="-g -O2 -Dlinux -DLINUX_PAM -fPIC"
-               SHLIB_LDFLAGS="-shared -Xlinker -x"
-               TXLIBS="-lncurses"
-               XCFLAGS="-g -O2 -D_LARGEFILE64_SOURCE -G0"
-               SHLIB_LINKER="${MT_CC} -shared"
-               ;;
-
-       amd64_linux*)
-               CCOBJ="${CC} -fPIC"
-               KERN_OPTMZ=-O2
-               LEX="flex -l"
-               MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
-               MT_LIBS="-lpthread"
-               PAM_CFLAGS="-g -O2 -Dlinux -DLINUX_PAM -fPIC"
-               SHLIB_CFLAGS="-fPIC"
-               SHLIB_LDFLAGS="-shared -Xlinker -x"
-               TXLIBS="-lncurses"
-               XCFLAGS="-g -O2 -D_LARGEFILE64_SOURCE"
-               SHLIB_LINKER="${MT_CC} -shared"
-               ;;
-
-       ppc64_linux24)
-               KERN_OPTMZ=-O2
-               LEX="flex -l"
-               MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
-               MT_LIBS="-lpthread"
-               PAM_CFLAGS="-g -O2 -Dlinux -DLINUX_PAM -fPIC"
-               SHLIB_LDFLAGS="-shared -Xlinker -x"
-               TXLIBS="/usr/lib64/libncurses.so"
-               XCFLAGS="-g -O2 -D_LARGEFILE64_SOURCE"
-               SHLIB_LINKER="${MT_CC} -shared"
-               ;;
-
-       ppc64_linux26)
-               KERN_OPTMZ=-O2
-               LEX="flex -l"
-               MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
-               MT_LIBS="-lpthread"
-               PAM_CFLAGS="-g -O2 -Dlinux -DLINUX_PAM -fPIC"
-               SHLIB_LDFLAGS="-shared -Xlinker -x"
-               SHLIB_CFLAGS="-fPIC"
-               TXLIBS="-lncurses"
-               XCFLAGS="-g -O2 -D_LARGEFILE64_SOURCE -fPIC"
-               YACC="bison -y"
-               SHLIB_LINKER="${MT_CC} -shared"
-               ;;
-
-       i386_umlinux22)
-               CC="gcc -pipe"
-               CCOBJ="gcc -pipe"
-               MT_CC="gcc -pipe"
-               KERN_OPTMZ=-O2
-               LEX="flex -l"
-               MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
-               MT_LIBS="-lpthread"
-               PAM_CFLAGS="-O2 -Dlinux -DLINUX_PAM -fPIC"
-               SHLIB_LDFLAGS="-shared -Xlinker -x"
-               TXLIBS="-lncurses"
-               XCFLAGS="-O2 -D_LARGEFILE64_SOURCE"
-               YACC="bison -y"
-               SHLIB_LINKER="${MT_CC} -shared"
-               ;;
-
-       i386_linux*)
-               CC="gcc -pipe"
-               CCOBJ="gcc -pipe"
-               MT_CC="gcc -pipe"
-               KERN_OPTMZ=-O2
-               LEX="flex -l"
-               MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
-               MT_LIBS="-lpthread"
-               DBG=-g
-               KERN_DBG=-g
-               LWP_DBG=-g
-               LWP_OPTMZ=-O2
-               OPTMZ=-O2
-               PAM_CFLAGS="-g -O2 -Dlinux -DLINUX_PAM -fPIC"
-               SHLIB_LDFLAGS="-shared -Xlinker -x"
-               TXLIBS="-lncurses"
-               XCFLAGS="-g -O2 -D_LARGEFILE64_SOURCE"
-               SHLIB_LINKER="${MT_CC} -shared"
-               ;;
-
-       i386_umlinux24)
-               CC="gcc -pipe"
-               CCOBJ="gcc -pipe"
-               MT_CC="gcc -pipe"
-               KERN_OPTMZ=-O2
-               LEX="flex -l"
-               MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
-               MT_LIBS="-lpthread"
-               DBG=-g
-               KERN_DBG=-g
-               LWP_DBG=-g
-               LWP_OPTMZ=-O2
-               OPTMZ=-O2
-               PAM_CFLAGS="-g -O2 -Dlinux -DLINUX_PAM -fPIC"
-               SHLIB_LDFLAGS="-shared -Xlinker -x"
-               TXLIBS="-lncurses"
-               XCFLAGS="-g -O2 -D_LARGEFILE64_SOURCE"
-               SHLIB_LINKER="${MT_CC} -shared"
-               ;;
-
-       i386_umlinux26)
-               CC="gcc -pipe"
-               CCOBJ="gcc -pipe"
-               MT_CC="gcc -pipe"
-               KERN_OPTMZ=-O2
-               LEX="flex -l"
-               MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
-               MT_LIBS="-lpthread"
-               DBG=-g
-               KERN_DBG=-g
-               LWP_DBG=-g
-               LWP_OPTMZ=-O2
-               OPTMZ=-O2
-               PAM_CFLAGS="-g -O2 -Dlinux -DLINUX_PAM -fPIC"
-               SHLIB_LDFLAGS="-shared -Xlinker -x"
-               TXLIBS="-lncurses"
-               XCFLAGS="-g -O2 -D_LARGEFILE64_SOURCE"
-               SHLIB_LINKER="${MT_CC} -shared"
-               ;;
-
-       *_obsd*)
-               LEX="flex -l"
-               MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
-               MT_LIBS="-pthread"
-               PAM_CFLAGS="-O2 -pipe -fpic"
-               SHLIB_CFLAGS="-fpic"
-               SHLIB_LDFLAGS="-shared -Xlinker -x"
-               SHLIB_LINKER="${MT_CC} -shared"
-               TXLIBS="/usr/lib/libcurses.a"
-               XCFLAGS="-O2"
-               YACC="yacc"
-               ;;
-
-       parisc_linux24)
-               KERN_OPTMZ=-O2
-               LEX="flex -l"
-               MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
-               MT_LIBS="-lpthread"
-               PAM_CFLAGS="-O2 -Dlinux -DLINUX_PAM -fPIC"
-               SHLIB_LDFLAGS="-shared -Xlinker -x"
-               TXLIBS="-lncurses"
-               XCFLAGS="-O2 -D_LARGEFILE64_SOURCE"
-               YACC="bison -y"
-               SHLIB_LINKER="${MT_CC} -shared"
-               ;;
-
-       ppc_darwin_12)
-               AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework DiskArbitration"
-               LEX="lex -l"
-               REGEX_OBJ="regex.o"
-               XCFLAGS="-traditional-cpp"
-               SHLIB_LINKER="${MT_CC} -dynamiclib"
-               SHLIB_SUFFIX="dylib"
-               ;;
-
-       ppc_darwin_13)
-               AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework DiskArbitration"
-               LEX="lex -l"
-               LWP_OPTMZ="-O2"
-               REGEX_OBJ="regex.o"
-               XCFLAGS="-no-cpp-precomp"
-               SHLIB_LINKER="${MT_CC} -dynamiclib"
-               SHLIB_SUFFIX="dylib"
-               ;;
-
-       ppc_darwin_14)
-               AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework DiskArbitration"
-               LEX="lex -l"
-               LWP_OPTMZ="-O2"
-               REGEX_OBJ="regex.o"
-               XCFLAGS="-no-cpp-precomp"
-               SHLIB_LINKER="${MT_CC} -dynamiclib"
-               SHLIB_SUFFIX="dylib"
-               ;;
-
-       ppc_darwin_60)
-               AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework DiskArbitration"
-               LEX="lex -l"
-               LWP_OPTMZ="-O2"
-               REGEX_OBJ="regex.o"
-               XCFLAGS="-no-cpp-precomp"
-               TXLIBS="-lncurses"
-               SHLIB_LINKER="${MT_CC} -dynamiclib"
-               SHLIB_SUFFIX="dylib"
-               ;;
-
-       ppc_darwin_70)
-               AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework DiskArbitration"
-               LEX="lex -l"
-               MT_CFLAGS='-DAFS_PTHREAD_ENV -D_REENTRANT ${XCFLAGS}'
-               KROOT=
-               KINCLUDES='-I$(KROOT)/System/Library/Frameworks/Kernel.framework/Headers'
-               LWP_OPTMZ="-O2"
-               REGEX_OBJ="regex.o"
-               XCFLAGS="-no-cpp-precomp"
-               TXLIBS="-lncurses"
-               EXTRA_VLIBOBJS="fstab.o"
-               SHLIB_LINKER="${MT_CC} -dynamiclib"
-               SHLIB_SUFFIX="dylib"
-               ;;
-
-       *_darwin_80)
-               AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework DiskArbitration"
-               LEX="lex -l"
-               MT_CFLAGS='-DAFS_PTHREAD_ENV -D_REENTRANT ${XCFLAGS} ${ARCHFLAGS}'
-               KROOT=
-               KINCLUDES='-I$(KROOT)/System/Library/Frameworks/Kernel.framework/Headers'
-               KERN_OPTMZ="-Os"
-               LWP_OPTMZ="-Os"
-               OPTMZ="-Os"
-               REGEX_OBJ="regex.o"
-               TXLIBS="-lncurses"
-               EXTRA_VLIBOBJS="fstab.o"
-               SHLIB_LINKER="${MT_CC} -dynamiclib"
-               SHLIB_SUFFIX="dylib"
-               ;;
-
-       *_darwin_90)
-               AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework DiskArbitration"
-               LEX="lex -l"
-               MT_CFLAGS='-DAFS_PTHREAD_ENV -D_REENTRANT ${XCFLAGS} ${ARCHFLAGS}'
-               KROOT=
-               KINCLUDES='-I$(KROOT)/System/Library/Frameworks/Kernel.framework/Headers'
-               LD="cc"
-               KERN_OPTMZ="-Os"
-               LWP_OPTMZ="-Os"
-               OPTMZ="-Os"
-               REGEX_OBJ="regex.o"
-               TXLIBS="-lncurses"
-               EXTRA_VLIBOBJS="fstab.o"
-               SHLIB_LINKER="${MT_CC} -dynamiclib"
-               SHLIB_SUFFIX="dylib"
-               ;;
-
-       ppc_linux*)
-               KERN_OPTMZ=-O2
-               LEX="flex -l"
-               MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
-               MT_LIBS="-lpthread"
-               PAM_CFLAGS="-O2 -Dlinux -DLINUX_PAM -fPIC"
-               SHLIB_LDFLAGS="-shared -Xlinker -x"
-               TXLIBS="-lncurses"
-               XCFLAGS="-O2 -D_LARGEFILE64_SOURCE"
-               YACC="bison -y"
-               SHLIB_LINKER="${MT_CC} -shared"
-               ;;
-
-       rs_aix42)
-               DBG=""
-               LEX="lex"
-               LIBSYS_AIX_EXP="afsl.exp"
-               MT_CC="xlc_r"
-               MT_CFLAGS='-DAFS_PTHREAD_ENV ${XCFLAGS}'
-               MT_LIBS="-lpthreads"
-               SHLIB_SUFFIX="o"
-               TXLIBS="-lcurses"
-               XCFLAGS="-K -D_NONSTD_TYPES -D_MBI=void"
-               XLIBS="${LIB_AFSDB} -ldl"
-               SHLIB_LINKER="${MT_CC} -bM:SRE -berok"
-               AIX64="#"
-               ;;
-
-
-       rs_aix51)
-               DBG=""
-               LEX="lex"
-               LIBSYS_AIX_EXP="afsl.exp"
-               MT_CC="xlc_r"
-               MT_CFLAGS='-DAFS_PTHREAD_ENV ${XCFLAGS}'
-               MT_LIBS="-lpthreads"
-               SHLIB_SUFFIX="o"
-               TXLIBS="-lcurses"
-               XCFLAGS="-K -D_NONSTD_TYPES -D_MBI=void"
-               XLIBS="${LIB_AFSDB} -ldl"
-               SHLIB_LINKER="${MT_CC} -bM:SRE -berok"
-               AIX64=""
-               ;;
-
-       rs_aix52)       
-               DBG=""
-               LEX="lex"
-               LIBSYS_AIX_EXP="afsl.exp"
-               MT_CC="xlc_r"
-               MT_CFLAGS='-DAFS_PTHREAD_ENV ${XCFLAGS}'
-               MT_LIBS="-lpthreads"
-               SHLIB_SUFFIX="o"
-               TXLIBS="-lcurses"
-               XCFLAGS="-K -D_NONSTD_TYPES -D_MBI=void"
-               XLIBS="${LIB_AFSDB} -ldl"
-               SHLIB_LINKER="${MT_CC} -bM:SRE -berok"
-               AIX64=""
-               ;;
-
-       rs_aix53)       
-               DBG="-g"
-               LEX="lex"
-               LIBSYS_AIX_EXP="afsl.exp"
-               MT_CC="xlc_r"
-               MT_CFLAGS='-DAFS_PTHREAD_ENV ${XCFLAGS}'
-               MT_LIBS="-lpthreads"
-               SHLIB_SUFFIX="o"
-               TXLIBS="-lcurses"
-               XCFLAGS="-K -D_NONSTD_TYPES -D_MBI=void"
-               XLIBS="${LIB_AFSDB} -ldl"
-               SHLIB_LINKER="${MT_CC} -bM:SRE -berok"
-               AIX64=""
-               ;;
-
-       s390_linux22)
-               CC="gcc"
-               CCOBJ="gcc"
-               LD="ld"
-               KERN_OPTMZ=-O2
-               LEX="flex -l"
-               MT_CC="$CC"
-               MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
-               MT_LIBS="-lpthread"
-               PAM_CFLAGS="-O -Dlinux -DLINUX_PAM -fPIC"
-               SHLIB_LDFLAGS="-shared -Xlinker -x"
-               TXLIBS="-lncurses"
-               XCFLAGS="-O -g -D_LARGEFILE64_SOURCE"
-               YACC="bison -y"
-               SHLIB_LINKER="${MT_CC} -shared"
-               ;;
-
-       s390_linux24|s390_linux26)
-               CC="gcc"
-               CCOBJ="gcc"
-               LD="ld"
-               KERN_OPTMZ=-O2
-               LEX="flex -l"
-               MT_CC="$CC"
-               MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
-               MT_LIBS="-lpthread"
-               PAM_CFLAGS="-O -Dlinux -DLINUX_PAM -fPIC"
-               SHLIB_LDFLAGS="-shared -Xlinker -x"
-               TXLIBS="-lncurses"
-               XCFLAGS="-O -g -D_LARGEFILE64_SOURCE"
-               YACC="bison -y"
-               SHLIB_LINKER="${MT_CC} -shared"
-               ;;
-
-       s390x_linux24|s390x_linux26)
-               CC="gcc"
-               CCOBJ="gcc -fPIC"
-               LD="ld"
-               KERN_OPTMZ=-O2
-               LEX="flex -l"
-               MT_CC="$CC"
-               MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
-               MT_LIBS="-lpthread"
-               PAM_CFLAGS="-O -Dlinux -DLINUX_PAM -fPIC"
-               SHLIB_LDFLAGS="-shared -Xlinker -x -Xlinker -Bsymbolic"
-               TXLIBS="-lncurses"
-               XCFLAGS="-O -g -D_LARGEFILE64_SOURCE -D__s390x__"
-               YACC="bison -y"
-               SHLIB_LINKER="${MT_CC} -shared"
-               ;;
-
-       sgi_62)
-               PINSTALL_LIBS=-lmld
-               AFSD_LIBS="/usr/lib/libdwarf.a /usr/lib/libelf.a"
-               FSINCLUDES="-I/usr/include/sys/fs"
-               LEX="lex"
-               MT_CFLAGS='-D_SGI_MP_SOURCE -DAFS_PTHREAD_ENV ${XCFLAGS}'
-               MT_LIBS="-lpthread"
-               TXLIBS="-lcurses"
-               XCFLAGS64="-64 -mips3"
-               XCFLAGS="-o32"
-               XLDFLAGS64="-64"
-               XLDFLAGS="-o32"
-               SHLIB_LINKER="${CC} -shared"
-               ;;
-
-       sgi_63)
-               PINSTALL_LIBS=-lmld
-               AFSD_LIBS="/usr/lib/libdwarf.a /usr/lib/libelf.a"
-               FSINCLUDES="-I/usr/include/sys/fs"
-               LEX="lex"
-               MT_CFLAGS='-D_SGI_MP_SOURCE -DAFS_PTHREAD_ENV ${XCFLAGS}'
-               MT_LIBS="-lpthread"
-               TXLIBS="-lcurses"
-               XCFLAGS64="-D_BSD_COMPAT -64 -mips3"
-               XCFLAGS="-D_OLD_TERMIOS -D_BSD_COMPAT -o32"
-               XLDFLAGS64="-64"
-               XLDFLAGS="-o32"
-               SHLIB_LINKER="${CC} -shared"
-               ;;
-
-       sgi_64)
-               AFSD_LIBS="/usr/lib32/libdwarf.a /usr/lib32/libelf.a"
-               FSINCLUDES="-I/usr/include/sys/fs"
-               LEX="lex"
-               MT_CFLAGS='-D_SGI_MP_SOURCE -DAFS_PTHREAD_ENV ${XCFLAGS}'
-               MT_LIBS="-lpthread"
-               TXLIBS="-lcurses"
-               XCFLAGS64="-D_BSD_COMPAT -64 -mips3"
-               XCFLAGS="-D_OLD_TERMIOS -D_BSD_COMPAT -n32 -woff 1009,1110,1116,1164,1171,1177,1183,1185,1204,1233,1515,1516,1548,1169,1174,1177,1196,1498,1506,1552"
-               XLDFLAGS64="-64"
-               XLDFLAGS="-n32"
-               SHLIB_LINKER="${CC} -shared"
-               ;;
-
-       sgi_65)
-               AFSD_LIBS="/usr/lib32/libdwarf.a /usr/lib32/libelf.a"
-               CC="/usr/bin/cc"
-               CCOBJ="/usr/bin/cc"
-               FSINCLUDES="-I/usr/include/sys/fs"
-               LD="/usr/bin/ld"
-               LEX="lex"
-               MT_CC="/usr/bin/cc"
-               MT_CFLAGS='-D_SGI_MP_SOURCE -DAFS_PTHREAD_ENV ${XCFLAGS}'
-               MT_LIBS="-lpthread"
-               TXLIBS="-lcurses"
-               XCFLAGS64="-64 -mips3"
-               XCFLAGS="-n32 -mips3 -woff 1009,1110,1116,1164,1171,1177,1183,1185,1204,1233,1515,1516,1548,1169,1174,1177,1196,1498,1506,1552"
-               XLDFLAGS64="-64 -mips3"
-               XLDFLAGS="-n32 -mips3"
-               SHLIB_LINKER="${CC} -shared"
-               ;;
-
-       sparc64_linux*)
-               KERN_OPTMZ=-O2
-               LEX="flex -l"
-               MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
-               MT_LIBS="-lpthread"
-               PAM_CFLAGS="-O2 -Dlinux -DLINUX_PAM -fPIC"
-               SHLIB_LDFLAGS="-shared -Xlinker -x"
-               TXLIBS="-lncurses"
-               XCFLAGS="-O2 -D_LARGEFILE64_SOURCE"
-               XCFLAGS64="-O2 -D_LARGEFILE64_SOURCE -m64"
-               XLDFLAGS64="-m64"
-               YACC="bison -y"
-               SHLIB_LINKER="${MT_CC} -shared"
-               ;;
-
-       sparc_linux22)
-               KERN_OPTMZ=-O2
-               LEX="flex -l"
-               MT_CFLAGS='-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}'
-               MT_LIBS="-lpthread"
-               PAM_CFLAGS="-O2 -Dlinux -DLINUX_PAM -fPIC"
-               SHLIB_LDFLAGS="-shared -Xlinker -x"
-               TXLIBS="-lncurses"
-               XCFLAGS="-O2 -D_LARGEFILE64_SOURCE"
-               YACC="bison -y"
-               SHLIB_LINKER="${MT_CC} -shared"
-               ;;
-
-       sun4_413)
-               CCXPG2="/usr/xpg2bin/cc"
-               CC="gcc"
-               CCOBJ="gcc"
-               LEX="lex"
-               SHLIB_CFLAGS="-PIC"
-               TXLIBS="-lcurses -ltermcap"
-               XCFLAGS=""
-               XLIBELFA="-lelf"
-               XLIBKVM="-lkvm"
-               XLIBS="${LIB_AFSDB}"
-               LD="ld"
-               ;;
-
-       sun4x_55)
-               CC="/opt/SUNWspro/bin/cc"
-               CCOBJ="/opt/SUNWspro/bin/cc"
-               LEX="lex"
-               MT_CC="/opt/SUNWspro/bin/cc"
-               MT_CFLAGS='-mt -DAFS_PTHREAD_ENV ${XCFLAGS}'
-               MT_LIBS="-lpthread -lsocket"
-               SHLIB_CFLAGS="-KPIC"
-               TXLIBS="-lcurses"
-               XCFLAGS="-dy -Bdynamic"
-               XLIBELFA="-lelf"
-               XLIBKVM="-lkvm"
-               XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
-               LD="/usr/ccs/bin/ld"
-               SHLIB_LINKER="${CC} -G -dy -Wl,-M\$(srcdir)/mapfile -Bsymbolic -z text"
-               LWP_OPTMZ="-g"
-               ;;
-
-       sun4x_56)
-               CC="/opt/SUNWspro/bin/cc"
-               CCOBJ="/opt/SUNWspro/bin/cc"
-               LEX="lex"
-               MT_CC="/opt/SUNWspro/bin/cc"
-               MT_CFLAGS='-mt -DAFS_PTHREAD_ENV ${XCFLAGS}'
-               MT_LIBS="-lpthread -lsocket"
-               PAM_CFLAGS="-KPIC"
-               PAM_LIBS="-lc -lpam -lsocket -lnsl -lm"
-               SHLIB_CFLAGS="-KPIC"
-               SHLIB_LDFLAGS="-G -Bsymbolic"
-               TXLIBS="-L/usr/ccs/lib -lcurses"
-               XCFLAGS="-dy -Bdynamic"
-               XLIBELFA="-lelf"
-               LD="/usr/ccs/bin/ld"
-               XLIBKVM="-lkvm"
-               XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
-               SHLIB_LINKER="${CC} -G -dy -Wl,-M\$(srcdir)/mapfile -Bsymbolic -z text"
-               LWP_OPTMZ="-g"
-               ;;
-
-       sun4x_57)
-               CC="/opt/SUNWspro/bin/cc"
-               CCOBJ="/opt/SUNWspro/bin/cc"
-               LEX="lex"
-               LD="/usr/ccs/bin/ld"
-               MT_CC="/opt/SUNWspro/bin/cc"
-               MT_CFLAGS='-mt -DAFS_PTHREAD_ENV ${XCFLAGS}'
-               MT_LIBS="-lpthread -lsocket"
-               PAM_CFLAGS="-KPIC"
-               PAM_LIBS="-lc -lpam -lsocket -lnsl -lm"
-               SHLIB_CFLAGS="-KPIC"
-               SHLIB_LDFLAGS="-G -Bsymbolic"
-               TXLIBS="-lcurses"
-               XCFLAGS64='${XCFLAGS} -xarch=v9'
-               XCFLAGS="-dy -Bdynamic"
-               XLIBELFA="-lelf"
-               XLIBKVM="-lkvm"
-               XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
-               SHLIB_LINKER="${CC} -G -dy -Wl,-M\$(srcdir)/mapfile -Bsymbolic -z text"
-               LWP_OPTMZ="-g"
-               ;;
-
-       sun4x_58)
-               CC="/opt/SUNWspro/bin/cc"
-               CCOBJ="/opt/SUNWspro/bin/cc"
-               LEX="lex"
-               LD="/usr/ccs/bin/ld"
-               MT_CC="/opt/SUNWspro/bin/cc"
-               MT_CFLAGS='-mt -DAFS_PTHREAD_ENV ${XCFLAGS}'
-               MT_LIBS="-lpthread -lsocket"
-               PAM_CFLAGS="-KPIC"
-               PAM_LIBS="-lc -lpam -lsocket -lnsl -lm"
-               SHLIB_CFLAGS="-KPIC"
-               SHLIB_LDFLAGS="-G -Bsymbolic"
-               TXLIBS="-lcurses"
-               XCFLAGS64='${XCFLAGS} -xarch=v9'
-               XCFLAGS="-dy -Bdynamic"
-               XLIBELFA="-lelf"
-               XLIBKVM="-lkvm"
-               XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
-               SHLIB_LINKER="${CC} -G -dy -Wl,-M\$(srcdir)/mapfile -Bsymbolic -z text"
-               LWP_OPTMZ="-g"
-               ;;
-
-       sun4x_59)
-               CC="/opt/SUNWspro/bin/cc"
-               CCOBJ="/opt/SUNWspro/bin/cc"
-               LEX="lex"
-               LD="/usr/ccs/bin/ld"
-               MT_CC="/opt/SUNWspro/bin/cc"
-               MT_CFLAGS='-mt -DAFS_PTHREAD_ENV ${XCFLAGS}'
-               MT_LIBS="-lpthread -lsocket"
-               PAM_CFLAGS="-KPIC"
-               PAM_LIBS="-lc -lpam -lsocket -lnsl -lm"
-               SHLIB_CFLAGS="-KPIC"
-               SHLIB_LDFLAGS="-G -Bsymbolic"
-               TXLIBS="-lcurses"
-               XCFLAGS64='${XCFLAGS} -xarch=v9'
-               XCFLAGS="-dy -Bdynamic"
-               XLIBELFA="-lelf"
-               XLIBKVM="-lkvm"
-               XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
-               SHLIB_LINKER="${CC} -G -dy -Wl,-M\$(srcdir)/mapfile -Bsymbolic -z text"
-               LWP_OPTMZ="-g"
-               ;;
-
-       sun4x_510)
-               CC="/opt/SUNWspro/bin/cc"
-               CCOBJ="/opt/SUNWspro/bin/cc"
-               LEX="lex"
-               LD="/usr/ccs/bin/ld"
-               MT_CC="/opt/SUNWspro/bin/cc"
-               MT_CFLAGS='-mt -DAFS_PTHREAD_ENV ${XCFLAGS}'
-               MT_LIBS="-lpthread -lsocket"
-               PAM_CFLAGS="-KPIC"
-               PAM_LIBS="-lc -lpam -lsocket -lnsl -lm"
-               SHLIB_CFLAGS="-KPIC"
-               SHLIB_LDFLAGS="-G -Bsymbolic"
-               TXLIBS="-lcurses"
-               XCFLAGS64='${XCFLAGS} -xarch=v9'
-               XCFLAGS="-dy -Bdynamic"
-               XLIBELFA="-lelf"
-               XLIBKVM="-lkvm"
-               XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
-               SHLIB_LINKER="${CC} -G -dy -Wl,-M\$(srcdir)/mapfile -Bsymbolic -z text"
-               LWP_OPTMZ="-g"
-               ;;
-
-       sun4x_511)
-               CC="/opt/SUNWspro/bin/cc"
-               CCOBJ="/opt/SUNWspro/bin/cc"
-               LEX="lex"
-               LD="/usr/ccs/bin/ld"
-               MT_CC="/opt/SUNWspro/bin/cc"
-               MT_CFLAGS='-mt -DAFS_PTHREAD_ENV ${XCFLAGS}'
-               MT_LIBS="-lpthread -lsocket"
-               PAM_CFLAGS="-KPIC"
-               PAM_LIBS="-lc -lpam -lsocket -lnsl -lm"
-               SHLIB_CFLAGS="-KPIC"
-               SHLIB_LDFLAGS="-G -Bsymbolic"
-               TXLIBS="-lcurses"
-               XCFLAGS64='${XCFLAGS} -xarch=v9'
-               XCFLAGS="-dy -Bdynamic"
-               XLIBELFA="-lelf"
-               XLIBKVM="-lkvm"
-               XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
-               SHLIB_LINKER="${CC} -G -dy -Bsymbolic -z text"
-               LWP_OPTMZ="-g"
-               ;;
-
-       sunx86_57)
-               CC="/opt/SUNWspro/bin/cc"
-               CCOBJ="/opt/SUNWspro/bin/cc"
-               LEX="lex"
-               LD="/usr/ccs/bin/ld"
-               MT_CC="/opt/SUNWspro/bin/cc"
-               MT_CFLAGS='-mt -DAFS_PTHREAD_ENV ${XCFLAGS}'
-               MT_LIBS="-lpthread -lsocket"
-               PAM_CFLAGS="-KPIC"
-               PAM_LIBS="-lc -lpam -lsocket -lnsl -lm"
-               SHLIB_CFLAGS="-KPIC"
-               SHLIB_LDFLAGS="-G -Bsymbolic"
-               TXLIBS="-lcurses"
-               XCFLAGS64='${XCFLAGS} -xarch=amd64'
-               XCFLAGS="-dy -Bdynamic"
-               XLIBELFA="-lelf"
-               XLIBKVM="-lkvm"
-               XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
-               SHLIB_LINKER="${CC} -G -dy -Wl,-M\$(srcdir)/mapfile -Bsymbolic -z text"
-               ;;
-
-       sunx86_58)
-               CC="/opt/SUNWspro/bin/cc"
-               CCOBJ="/opt/SUNWspro/bin/cc"
-               LEX="lex"
-               LD="/usr/ccs/bin/ld"
-               MT_CC="/opt/SUNWspro/bin/cc"
-               MT_CFLAGS='-mt -DAFS_PTHREAD_ENV ${XCFLAGS}'
-               MT_LIBS="-lpthread -lsocket"
-               PAM_CFLAGS="-KPIC"
-               PAM_LIBS="-lc -lpam -lsocket -lnsl -lm"
-               SHLIB_CFLAGS="-KPIC"
-               SHLIB_LDFLAGS="-G -Bsymbolic"
-               TXLIBS="-lcurses"
-               XCFLAGS64='${XCFLAGS} -xarch=amd64'
-               XCFLAGS="-dy -Bdynamic"
-               XLIBELFA="-lelf"
-               XLIBKVM="-lkvm"
-               XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
-               SHLIB_LINKER="${CC} -G -dy -Wl,-M\$(srcdir)/mapfile -Bsymbolic -z text"
-               ;;
-
-       sunx86_59)
-               CC="/opt/SUNWspro/bin/cc"
-               CCOBJ="/opt/SUNWspro/bin/cc"
-               LEX="lex"
-               LD="/usr/ccs/bin/ld"
-               MT_CC="/opt/SUNWspro/bin/cc"
-               MT_CFLAGS='-mt -DAFS_PTHREAD_ENV ${XCFLAGS}'
-               MT_LIBS="-lpthread -lsocket"
-               PAM_CFLAGS="-KPIC"
-               PAM_LIBS="-lc -lpam -lsocket -lnsl -lm"
-               SHLIB_CFLAGS="-KPIC"
-               SHLIB_LDFLAGS="-G -Bsymbolic"
-               TXLIBS="-lcurses"
-               XCFLAGS64='${XCFLAGS} -xarch=amd64'
-               XCFLAGS="-dy -Bdynamic"
-               XLIBELFA="-lelf"
-               XLIBKVM="-lkvm"
-               XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
-               SHLIB_LINKER="${CC} -G -dy -Wl,-M\$(srcdir)/mapfile -Bsymbolic -z text"
-               ;;
-
-       sunx86_510)
-               CC="/opt/SUNWspro/bin/cc"
-               CCOBJ="/opt/SUNWspro/bin/cc"
-               LEX="lex"
-               LD="/usr/ccs/bin/ld"
-               MT_CC="/opt/SUNWspro/bin/cc"
-               MT_CFLAGS='-mt -DAFS_PTHREAD_ENV ${XCFLAGS}'
-               MT_LIBS="-lpthread -lsocket"
-               PAM_CFLAGS="-KPIC"
-               PAM_LIBS="-lc -lpam -lsocket -lnsl -lm"
-               SHLIB_CFLAGS="-KPIC"
-               SHLIB_LDFLAGS="-G -Bsymbolic"
-               TXLIBS="-lcurses"
-               XCFLAGS64='${XCFLAGS} -xarch=amd64'
-               XCFLAGS="-dy -Bdynamic"
-               XLIBELFA="-lelf"
-               XLIBKVM="-lkvm"
-               XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
-               SHLIB_LINKER="${CC} -G -dy -Wl,-M\$(srcdir)/mapfile -Bsymbolic -z text"
-               ;;
-
-       sunx86_511)
-               CC="/opt/SUNWspro/bin/cc"
-               CCOBJ="/opt/SUNWspro/bin/cc"
-               LEX="lex"
-               LD="/usr/ccs/bin/ld"
-               MT_CC="/opt/SUNWspro/bin/cc"
-               MT_CFLAGS='-mt -DAFS_PTHREAD_ENV ${XCFLAGS}'
-               MT_LIBS="-lpthread -lsocket"
-               PAM_CFLAGS="-KPIC"
-               PAM_LIBS="-lc -lpam -lsocket -lnsl -lm"
-               SHLIB_CFLAGS="-KPIC"
-               SHLIB_LDFLAGS="-G -Bsymbolic"
-               TXLIBS="-lcurses"
-               XCFLAGS64='${XCFLAGS} -xarch=amd64'
-               XCFLAGS="-dy -Bdynamic"
-               XLIBELFA="-lelf"
-               XLIBKVM="-lkvm"
-               XLIBS="${LIB_AFSDB} -lsocket -lnsl -lintl -ldl"
-               SHLIB_LINKER="${CC} -G -dy -Bsymbolic -z text"
-               ;;
-esac
-
-#
-# Special build targets
-#
-case $AFS_SYSNAME in
-       sgi_6*)
-               IRIX_SYS_SYSTM_H_HAS_MEM_FUNCS
-               XFS_SIZE_CHECK="xfs_size_check"
-               install_XFS_SIZE_CHECK='$(DESTDIR)${afssrvsbindir}/xfs_size_check'
-               dest_XFS_SIZE_CHECK='$(DEST)/root.server/usr/afs/bin/xfs_size_check'
-       
-               AC_SUBST(XFS_SIZE_CHECK)
-               AC_SUBST(install_XFS_SIZE_CHECK)
-               AC_SUBST(dest_XFS_SIZE_CHECK)
-       ;;
-       
-       sun4x_*|sunx86_*)
-               FS_CONV_SOL26="fs_conv_sol26"
-               install_FS_CONV_SOL26='$(DESTDIR)${afssrvsbindir}/fs_conv_sol26'
-               dest_FS_CONV_SOL26='$(DEST)/root.server/usr/afs/bin/fs_conv_sol26'
-
-               AC_SUBST(FS_CONV_SOL26)
-               AC_SUBST(install_FS_CONV_SOL26)
-               AC_SUBST(dest_FS_CONV_SOL26)
-       ;;
-
-       alpha_dux*)
-               FS_CONV_OSF40D="fs_conv_dux40D"
-               install_FS_CONV_OSF40D='$(DESTDIR)${afssrvsbindir}/fs_conv_dux40D'
-               dest_FS_CONV_OSF40D='$(DEST)/root.server/usr/afs/bin/fs_conv_dux40D'
-
-               AC_SUBST(FS_CONV_OSF40D)
-               AC_SUBST(install_FS_CONV_OSF40D)
-               AC_SUBST(dest_FS_CONV_OSF40D)
-       ;;
-esac
-
-dnl Disable the default for debugging/optimization if not enabled
-if test "x$enable_debug_kernel" = "xno"; then
-  KERN_DBG=
-fi
-
-if test "x$enable_optimize_kernel" = "xno"; then
-  KERN_OPTMZ=
-fi
-
-if test "x$enable_debug" = "xno"; then
-  DBG=
-fi
-
-if test "x$enable_optimize" = "xno"; then
-  OPTMZ=
-fi
-
-if test "x$enable_debug_lwp" = "xno"; then
-  LWP_DBG=
-fi
-
-if test "x$enable_optimize_lwp" = "xno"; then
-  LWP_OPTMZ=
-fi
-
-AC_SUBST(CCXPG2)
-AC_SUBST(CCOBJ)
-AC_SUBST(AFSD_LIBS)
-AC_SUBST(AFSD_LDFLAGS)
-AC_SUBST(AIX64)
-AC_SUBST(AR)
-AC_SUBST(AS)
-AC_SUBST(CP)
-AC_SUBST(DBG)
-AC_SUBST(FSINCLUDES)
-AC_SUBST(KERN_DBG)
-AC_SUBST(KERN_OPTMZ)
-AC_SUBST(LD)
-AC_SUBST(LEX)
-AC_SUBST(LWP_DBG)
-AC_SUBST(LWP_OPTMZ)
-AC_SUBST(MT_CC)
-AC_SUBST(MT_CFLAGS)
-AC_SUBST(MT_LIBS)
-AC_SUBST(MV)
-AC_SUBST(OPTMZ)
-AC_SUBST(PAM_CFLAGS)
-AC_SUBST(PAM_LIBS)
-AC_SUBST(PINSTALL_LIBS)
-AC_SUBST(RANLIB)
-AC_SUBST(REGEX_OBJ)
-AC_SUBST(RM)
-AC_SUBST(SHLIB_CFLAGS)
-AC_SUBST(SHLIB_LDFLAGS)
-AC_SUBST(SHLIB_LINKER)
-AC_SUBST(SHLIB_SUFFIX)
-AC_SUBST(TXLIBS)
-AC_SUBST(VFSCK_CFLAGS)
-AC_SUBST(XCFLAGS)
-AC_SUBST(XCFLAGS64)
-AC_SUBST(XLDFLAGS)
-AC_SUBST(XLDFLAGS64)
-AC_SUBST(XLIBELFA)
-AC_SUBST(XLIBKVM)
-AC_SUBST(XLIBS)
-AC_SUBST(YACC)
-
-
-])
-
-AC_DEFUN([IRIX_SYS_SYSTM_H_HAS_MEM_FUNCS], [
-AC_MSG_CHECKING(for mem* in sys/systm.h)
-save_CPPFLAGS="$CPPFLAGS"
-CPPFLAGS="$CPPFLAGS -D_KERNEL -D__STRING_H__"
-AC_CACHE_VAL(ac_cv_irix_sys_systm_h_has_mem_funcs,
-[
-AC_TRY_COMPILE(
-[#include <sys/types.h>
-#include <sys/systm.h>],
-[
-extern void     *memcpy(char *, const void *, size_t);
-],
-ac_cv_irix_sys_systm_h_has_mem_funcs=no,
-ac_cv_irix_sys_systm_h_has_mem_funcs=yes)])
-CPPFLAGS="$save_CPPFLAGS"
-if test "$ac_cv_irix_sys_systm_h_has_mem_funcs" = "yes"; then
-  AC_DEFINE(IRIX_HAS_MEM_FUNCS, 1, [define if irix has memcpy and friends])
-fi
-AC_MSG_RESULT($ac_cv_irix_sys_systm_h_has_mem_funcs)
-])
-
-dnl
-dnl $Id: kerberos.m4,v 1.1.2.10 2007/01/05 03:22:01 shadow Exp $
-dnl
-dnl Kerberos autoconf glue
-dnl
-
-AC_DEFUN([OPENAFS_KRB5CONF],[
-
-dnl AC_ARG_VAR(KRB5CFLAGS, [C flags to compile Kerberos 5 programs])
-dnl AC_ARG_VAR(KRB5LIBS, [Libraries and flags to compile Kerberos 5 programs])
-dnl AC_ARG_VAR(KRB5_CONFIG, [Location of krb5-config script])
-
-AC_ARG_WITH([krb5-conf],[--with-krb5-conf[=krb5-config-location]    Use a krb5-config script to configure Kerberos])
-if test X$with_krb5_conf != X; then
-               conf_krb5=YES
-               if test X$with_krb5_conf = Xyes; then
-                       AC_PATH_PROG(KRB5_CONFIG, krb5-config, not_found)
-                       if test X$KRB5_CONFIG = Xnot_found; then
-                               AC_MSG_ERROR([cannot find krb5-config script, you must configure Kerberos manually])
-                       fi
-               else
-                       KRB5_CONFIG=$withval
-               fi
-               KRB5CFLAGS=`$KRB5_CONFIG --cflags krb5`
-               retval=$?
-               if test $retval -ne 0; then
-                       AC_MSG_ERROR([$KRB5_CONFIG failed with an error code of $retval])
-               fi
-               KRB5LIBS=`$KRB5_CONFIG --libs krb5`
-               retval=$?
-               if test $retval -ne 0; then
-                       AC_MSG_ERROR([$KRB5_CONFIG failed with an error code of $retval])
-               fi
-               AC_MSG_RESULT([Adding $KRB5CFLAGS to KRB5CFLAGS])
-               AC_MSG_RESULT([Adding $KRB5LIBS to KRB5LIBS])
-fi
-
-AC_ARG_WITH([krb5], [--with-krb5 Support for Kerberos 5 (manual configuration)])
-
-if test X$with_krb5 = Xyes; then
-        if test X$conf_krb5 = XYES; then
-               AC_MSG_ERROR([--with-krb5-config and --with-krb5 are mutually exclusive, choose only one])
-       fi
-       if test "X$KRB5CFLAGS" = X; then
-               AC_MSG_WARN([KRB5CFLAGS is not set])
-       fi
-       if test "X$KRB5LIBS" = X; then
-               AC_MSG_WARN([KRB5LIBS is not set])
-       fi
-       conf_krb5=YES
-fi
-
-BUILD_KRB5=no
-if test X$conf_krb5 = XYES; then
-       AC_MSG_RESULT([Configuring support for Kerberos 5 utilities])
-       BUILD_KRB5=yes
-       save_CPPFLAGS="$CPPFLAGS"
-       CPPFLAGS="$CPPFLAGS $KRB5CFLAGS"
-       save_LIBS="$LIBS"
-       LIBS="$LIBS $KRB5LIBS"
-       AC_CHECK_FUNCS([add_to_error_table add_error_table krb5_princ_size krb5_principal_get_comp_string])
-       AC_CHECK_FUNCS([krb5_524_convert_creds], ,
-           [AC_CHECK_FUNCS([krb524_convert_creds_kdc], ,
-               [AC_CHECK_LIB([krb524], [krb524_convert_creds_kdc],
-                   [LIBS="-lkrb524 $LIBS"
-                    KRB5LIBS="-lkrb524 $LIBS"
-                    AC_DEFINE([HAVE_KRB524_CONVERT_CREDS_KDC], 1,
-                        [Define to 1 if you have the `krb524_convert_creds_kdc' function.])])])])
-       AC_CHECK_HEADERS([kerberosIV/krb.h])
-       AC_CHECK_HEADERS([kerberosV/heim_err.h])
-
-AC_MSG_CHECKING(for krb5_creds.keyblock existence)
-AC_CACHE_VAL(ac_cv_krb5_creds_keyblock_exists,
-[
-AC_TRY_COMPILE(
-[#include <krb5.h>],
-[krb5_creds _c;
-printf("%x\n", _c.keyblock);], 
-ac_cv_krb5_creds_keyblock_exists=yes,
-ac_cv_krb5_creds_keyblock_exists=no)])
-AC_MSG_RESULT($ac_cv_krb5_creds_keyblock_exists)
-       
-AC_MSG_CHECKING(for krb5_creds.session existence)
-AC_CACHE_VAL(ac_cv_krb5_creds_session_exists,
-[
-AC_TRY_COMPILE(
-[#include <krb5.h>],
-[krb5_creds _c;
-printf("%x\n", _c.session);], 
-ac_cv_krb5_creds_session_exists=yes,
-ac_cv_krb5_creds_session_exists=no)])
-AC_MSG_RESULT($ac_cv_krb5_creds_session_exists)
-
-if test "x$ac_cv_krb5_creds_keyblock_exists" = "xyes"; then
-       AC_DEFINE(HAVE_KRB5_CREDS_KEYBLOCK, 1, [define if krb5_creds has keyblock])
-fi
-if test "x$ac_cv_krb5_creds_session_exists" = "xyes"; then
-       AC_DEFINE(HAVE_KRB5_CREDS_SESSION, 1, [define if krb5_creds has session])
-fi
-       
-dnl    AC_CHECK_MEMBERS([krb5_creds.keyblock, krb5_creds.session],,, [#include <krb5.h>])
-       CPPFLAGS="$save_CPPFLAGS"
-       LIBS="$save_LIBS"
-fi
-
-AC_SUBST(BUILD_KRB5)
-AC_SUBST(KRB5CFLAGS)
-AC_SUBST(KRB5LIBS)
-
-])dnl
-
-# 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,
-# will think it sees a *use*, and therefore will trigger all it's
-# C support machinery.  Also note that it means that autoscan, seeing
-# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
-
-
-AC_PREREQ([2.54])
-
-# Autoconf 2.50 wants to disallow AM_ names.  We explicitly allow
-# the ones we care about.
-m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
-
-# 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
-
-# test whether we have cygpath
-if test -z "$CYGPATH_W"; then
-  if (cygpath --version) >/dev/null 2>/dev/null; then
-    CYGPATH_W='cygpath -w'
-  else
-    CYGPATH_W=echo
-  fi
-fi
-AC_SUBST([CYGPATH_W])
-
-# 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__api_version})
-AM_MISSING_PROG(AUTOCONF, autoconf)
-AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
-AM_MISSING_PROG(AUTOHEADER, autoheader)
-AM_MISSING_PROG(MAKEINFO, makeinfo)
-AM_MISSING_PROG(AMTAR, tar)
-AM_PROG_INSTALL_SH
-AM_PROG_INSTALL_STRIP
-# We need awk for the "check" target.  The system "awk" is bad on
-# some platforms.
-AC_REQUIRE([AC_PROG_AWK])dnl
-AC_REQUIRE([AC_PROG_MAKE_SET])dnl
-
-_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
-AC_PROVIDE_IFELSE([AC_PROG_CXX],
-                  [_AM_DEPENDENCIES(CXX)],
-                  [define([AC_PROG_CXX],
-                          defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
-])
-])
-
-
-# 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.  The stamp files are numbered to have different names.
-
-# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
-# loop where config.status creates the headers, so we can generate
-# our stamp files there.
-AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
-[_am_stamp_count=`expr ${_am_stamp_count-0} + 1`
-echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count])
-
-# 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.7"])
-
-# 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.7.2])])
-
-# 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
-# ---------------
-AC_DEFUN([AM_SANITY_CHECK],
-[AC_MSG_CHECKING([whether build environment is sane])
-# Just in case
-sleep 1
-echo timestamp > conftest.file
-# Do `set' in a subshell so we don't clobber the current shell's
-# arguments.  Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
-   set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
-   if test "$[*]" = "X"; then
-      # -L didn't work.
-      set X `ls -t $srcdir/configure conftest.file`
-   fi
-   rm -f conftest.file
-   if test "$[*]" != "X $srcdir/configure conftest.file" \
-      && test "$[*]" != "X conftest.file $srcdir/configure"; then
-
-      # If neither matched, then we have a broken ls.  This can happen
-      # if, for instance, CONFIG_SHELL is bash and it inherits a
-      # broken ls alias from the environment.  This has actually
-      # happened.  Such a system could not be considered "sane".
-      AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
-alias in your environment])
-   fi
-
-   test "$[2]" = conftest.file
-   )
-then
-   # Ok.
-   :
-else
-   AC_MSG_ERROR([newly created file is older than distributed files!
-Check your system clock])
-fi
-AC_MSG_RESULT(yes)])
-
-# 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
-# is unlikely to handle the host's binaries.
-# Fortunately install-sh will honor a STRIPPROG variable, so we
-# always use install-sh in `make install-strip', and initialize
-# 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
-# written in clear, in which case automake, when reading aclocal.m4,
-# will think it sees a *use*, and therefore will trigger all it's
-# C support machinery.  Also note that it means that autoscan, seeing
-# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
-
-
-
-# _AM_DEPENDENCIES(NAME)
-# ----------------------
-# See how the compiler implements dependency checking.
-# NAME is "CC", "CXX", "GCJ", or "OBJC".
-# We try a few techniques and use that to set a single cache variable.
+# _AM_DEPENDENCIES(NAME)
+# ----------------------
+# See how the compiler implements dependency checking.
+# 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
 # modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
@@ -4251,18 +168,34 @@ AC_CACHE_CHECK([dependency style of $depcc],
   # using a relative directory.
   cp "$am_depcomp" conftest.dir
   cd conftest.dir
+  # We will build objects and dependencies in a subdirectory because
+  # it helps to detect inapplicable dependency modes.  For instance
+  # both Tru64's cc and ICC support -MD to output dependencies as a
+  # side effect of compilation, but ICC will put the dependencies in
+  # the current directory while Tru64 will put them in the object
+  # directory.
+  mkdir sub
 
   am_cv_$1_dependencies_compiler_type=none
   if test "$am_compiler_list" = ""; then
      am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
   fi
   for depmode in $am_compiler_list; do
+    # Setup a source with many dependencies, because some compilers
+    # like to wrap large dependency lists on column 80 (with \), and
+    # we should not choose a depcomp mode which is confused by this.
+    #
     # We need to recreate these files for each test, as the compiler may
     # overwrite some of them when testing with obscure command lines.
     # This happens at least with the AIX C compiler.
-    echo '#include "conftest.h"' > conftest.c
-    echo 'int i;' > conftest.h
-    echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf
+    : > sub/conftest.c
+    for i in 1 2 3 4 5 6; do
+      echo '#include "conftst'$i'.h"' >> sub/conftest.c
+      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+      # Solaris 8's {/usr,}/bin/sh.
+      touch sub/conftst$i.h
+    done
+    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
 
     case $depmode in
     nosideeffect)
@@ -4280,13 +213,25 @@ AC_CACHE_CHECK([dependency style of $depcc],
     # mode.  It turns out that the SunPro C++ compiler does not properly
     # handle `-M -o', and we need to detect this.
     if depmode=$depmode \
-       source=conftest.c object=conftest.o \
-       depfile=conftest.Po tmpdepfile=conftest.TPo \
-       $SHELL ./depcomp $depcc -c -o conftest.o conftest.c >/dev/null 2>&1 &&
-       grep conftest.h conftest.Po > /dev/null 2>&1 &&
+       source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
+       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+       $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
+         >/dev/null 2>conftest.err &&
+       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
        ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
-      am_cv_$1_dependencies_compiler_type=$depmode
-      break
+      # icc doesn't choke on unknown options, it will just issue warnings
+      # or remarks (even with -Werror).  So we grep stderr for any message
+      # that says an option was ignored or not supported.
+      # When given -MP, icc 7.0 and 7.1 complain thusly:
+      #   icc: Command line warning: ignoring option '-M'; no argument required
+      # The diagnosis changed in icc 8.0:
+      #   icc: Command line remark: option '-MP' not supported
+      if (grep 'ignoring option' conftest.err ||
+          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+        am_cv_$1_dependencies_compiler_type=$depmode
+        break
+      fi
     fi
   done
 
@@ -4308,16 +253,8 @@ AM_CONDITIONAL([am__fastdep$1], [
 # Choose a directory name for dependency files.
 # This macro is AC_REQUIREd in _AM_DEPENDENCIES
 AC_DEFUN([AM_SET_DEPDIR],
-[rm -f .deps 2>/dev/null
-mkdir .deps 2>/dev/null
-if test -d .deps; then
-  DEPDIR=.deps
-else
-  # MS-DOS does not allow filenames that begin with a dot.
-  DEPDIR=_deps
-fi
-rmdir .deps 2>/dev/null
-AC_SUBST([DEPDIR])
+[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
 ])
 
 
@@ -4325,8 +262,8 @@ AC_SUBST([DEPDIR])
 # ------------
 AC_DEFUN([AM_DEP_TRACK],
 [AC_ARG_ENABLE(dependency-tracking,
-[  --disable-dependency-tracking Speeds up one-time builds
-  --enable-dependency-tracking  Do not reject slow dependency extractors])
+[  --disable-dependency-tracking  speeds up one-time build
+  --enable-dependency-tracking   do not reject slow dependency extractors])
 if test "x$enable_dependency_tracking" != xno; then
   am_depcomp="$ac_aux_dir/depcomp"
   AMDEPBACKSLASH='\'
@@ -4335,110 +272,253 @@ AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
 AC_SUBST([AMDEPBACKSLASH])
 ])
 
-# Generate code to set up dependency tracking.   -*- Autoconf -*-
+# Generate code to set up dependency tracking.              -*- Autoconf -*-
+
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+#serial 3
+
+# _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
+  # Extract the definition of DEPDIR, am__include, and am__quote
+  # from the Makefile without running `make'.
+  DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+  test -z "$DEPDIR" && continue
+  am__include=`sed -n 's/^am__include = //p' < "$mf"`
+  test -z "am__include" && continue
+  am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+  # When using ansi2knr, U may be empty or an underscore; expand it
+  U=`sed -n 's/^U = //p' < "$mf"`
+  # Find all dependency output files, they are included files with
+  # $(DEPDIR) in their names.  We invoke sed twice because it is the
+  # simplest approach to changing $(DEPDIR) to its actual value in the
+  # expansion.
+  for file in `sed -n "
+    s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+       sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+    # Make sure the directory exists.
+    test -f "$dirpart/$file" && continue
+    fdir=`AS_DIRNAME(["$file"])`
+    AS_MKDIR_P([$dirpart/$fdir])
+    # echo "creating $dirpart/$file"
+    echo '# dummy' > "$dirpart/$file"
+  done
+done
+])# _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"])
+])
+
+# Do all the work for Automake.                             -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 12
+
+# 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.
+
+# 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_PREREQ([2.58])dnl
+dnl Autoconf wants to disallow AM_ names.  We explicitly allow
+dnl the ones we care about.
+m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
+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
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+  if (cygpath --version) >/dev/null 2>/dev/null; then
+    CYGPATH_W='cygpath -w'
+  else
+    CYGPATH_W=echo
+  fi
+fi
+AC_SUBST([CYGPATH_W])
+
+# 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__api_version})
+AM_MISSING_PROG(AUTOCONF, autoconf)
+AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
+AM_MISSING_PROG(AUTOHEADER, autoheader)
+AM_MISSING_PROG(MAKEINFO, makeinfo)
+AM_PROG_INSTALL_SH
+AM_PROG_INSTALL_STRIP
+AC_REQUIRE([AM_PROG_MKDIR_P])dnl
+# We need awk for the "check" target.  The system "awk" is bad on
+# some platforms.
+AC_REQUIRE([AC_PROG_AWK])dnl
+AC_REQUIRE([AC_PROG_MAKE_SET])dnl
+AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
+              [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
+                            [_AM_PROG_TAR([v7])])])
+_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
+AC_PROVIDE_IFELSE([AC_PROG_CXX],
+                  [_AM_DEPENDENCIES(CXX)],
+                  [define([AC_PROG_CXX],
+                          defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
+])
+])
+
 
-# Copyright 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+# 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.  The stamp files are numbered to have different names.
 
-# 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.
+# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
+# loop where config.status creates the headers, so we can generate
+# our stamp files there.
+AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
+[# Compute $1's index in $config_headers.
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+  case $_am_header in
+    $1 | $1:* )
+      break ;;
+    * )
+      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+  esac
+done
+echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count])
 
-# 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.
+# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
 
-# 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.
+# AM_PROG_INSTALL_SH
+# ------------------
+# Define $install_sh.
+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)])
 
-#serial 2
+# Copyright (C) 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
 
-# _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"`
-  test -z "$DEPDIR" && continue
-  # When using ansi2knr, U may be empty or an underscore; expand it
-  U=`sed -n -e '/^U = / s///p' < "$mf"`
-  test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR"
-  # We invoke sed twice because it is the simplest approach to
-  # changing $(DEPDIR) to its actual value in the expansion.
-  for file in `sed -n -e '
-    /^DEP_FILES = .*\\\\$/ {
-      s/^DEP_FILES = //
-      :loop
-       s/\\\\$//
-       p
-       n
-       /\\\\$/ b loop
-      p
-    }
-    /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \
-       sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
-    # Make sure the directory exists.
-    test -f "$dirpart/$file" && continue
-    fdir=`AS_DIRNAME(["$file"])`
-    AS_MKDIR_P([$dirpart/$fdir])
-    # echo "creating $dirpart/$file"
-    echo '# dummy' > "$dirpart/$file"
-  done
-done
-])# _AM_OUTPUT_DEPENDENCY_COMMANDS
+# serial 2
 
+# Check whether the underlying file-system supports filenames
+# with a leading dot.  For instance MS-DOS doesn't.
+AC_DEFUN([AM_SET_LEADING_DOT],
+[rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+  am__leading_dot=.
+else
+  am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+AC_SUBST([am__leading_dot])])
 
-# AM_OUTPUT_DEPENDENCY_COMMANDS
-# -----------------------------
-# This macro should only be invoked once -- use via AC_REQUIRE.
+# Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2005
+# Free Software Foundation, Inc.
 #
-# 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"])
-])
-
-# Check to see how 'make' treats includes.     -*- Autoconf -*-
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
 
-# Copyright (C) 2001, 2002 Free Software Foundation, Inc.
+# serial 5
 
-# 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.
+# 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_PREREQ(2.50)dnl
+AC_REQUIRE([AM_MISSING_HAS_RUN])dnl
+AC_REQUIRE([AC_PROG_LEX])dnl
+if test "$LEX" = :; then
+  LEX=${am_missing_run}flex
+fi])
 
-# 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.
+# Check to see how 'make' treats includes.                 -*- Autoconf -*-
 
-# 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.
+# Copyright (C) 2001, 2002, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
 
-# serial 2
+# serial 3
 
 # AM_MAKE_INCLUDE()
 # -----------------
@@ -4446,8 +526,9 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
 AC_DEFUN([AM_MAKE_INCLUDE],
 [am_make=${MAKE-make}
 cat > confinc << 'END'
-doit:
+am__doit:
        @echo done
+.PHONY: am__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])
@@ -4475,53 +556,331 @@ if test "$am__include" = "#"; then
       _am_result=BSD
    fi
 fi
-AC_SUBST(am__include)
-AC_SUBST(am__quote)
-AC_MSG_RESULT($_am_result)
+AC_SUBST([am__include])
+AC_SUBST([am__quote])
+AC_MSG_RESULT([$_am_result])
 rm -f confinc confmf
 ])
 
-# AM_CONDITIONAL                                              -*- Autoconf -*-
+# Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
 
-# Copyright 1997, 2000, 2001 Free Software Foundation, Inc.
+# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
 
-# 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.
+# serial 4
 
-# 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.
+# AM_MISSING_PROG(NAME, PROGRAM)
+# ------------------------------
+AC_DEFUN([AM_MISSING_PROG],
+[AC_REQUIRE([AM_MISSING_HAS_RUN])
+$1=${$1-"${am_missing_run}$2"}
+AC_SUBST($1)])
 
-# 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
+# AM_MISSING_HAS_RUN
+# ------------------
+# Define MISSING if not defined so far and test if it supports --run.
+# If it does, set am_missing_run to use it, otherwise, to nothing.
+AC_DEFUN([AM_MISSING_HAS_RUN],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+  am_missing_run="$MISSING --run "
+else
+  am_missing_run=
+  AC_MSG_WARN([`missing' script is too old or missing])
+fi
+])
 
-AC_PREREQ(2.52)
+# Copyright (C) 2003, 2004, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
 
-# AM_CONDITIONAL(NAME, SHELL-CONDITION)
-# -------------------------------------
-# Define a conditional.
-AC_DEFUN([AM_CONDITIONAL],
-[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
-  $1_TRUE=
-  $1_FALSE='#'
+# AM_PROG_MKDIR_P
+# ---------------
+# Check whether `mkdir -p' is supported, fallback to mkinstalldirs otherwise.
+#
+# Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories
+# created by `make install' are always world readable, even if the
+# installer happens to have an overly restrictive umask (e.g. 077).
+# This was a mistake.  There are at least two reasons why we must not
+# use `-m 0755':
+#   - it causes special bits like SGID to be ignored,
+#   - it may be too restrictive (some setups expect 775 directories).
+#
+# Do not use -m 0755 and let people choose whatever they expect by
+# setting umask.
+#
+# We cannot accept any implementation of `mkdir' that recognizes `-p'.
+# Some implementations (such as Solaris 8's) are not thread-safe: if a
+# parallel make tries to run `mkdir -p a/b' and `mkdir -p a/c'
+# concurrently, both version can detect that a/ is missing, but only
+# one can create it and the other will error out.  Consequently we
+# restrict ourselves to GNU make (using the --version option ensures
+# this.)
+AC_DEFUN([AM_PROG_MKDIR_P],
+[if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
+  # We used to keeping the `.' as first argument, in order to
+  # allow $(mkdir_p) to be used without argument.  As in
+  #   $(mkdir_p) $(somedir)
+  # where $(somedir) is conditionally defined.  However this is wrong
+  # for two reasons:
+  #  1. if the package is installed by a user who cannot write `.'
+  #     make install will fail,
+  #  2. the above comment should most certainly read
+  #     $(mkdir_p) $(DESTDIR)$(somedir)
+  #     so it does not work when $(somedir) is undefined and
+  #     $(DESTDIR) is not.
+  #  To support the latter case, we have to write
+  #     test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir),
+  #  so the `.' trick is pointless.
+  mkdir_p='mkdir -p --'
 else
-  $1_TRUE='#'
-  $1_FALSE=
+  # On NextStep and OpenStep, the `mkdir' command does not
+  # recognize any option.  It will interpret all options as
+  # directories to create, and then abort because `.' already
+  # exists.
+  for d in ./-p ./--version;
+  do
+    test -d $d && rmdir $d
+  done
+  # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists.
+  if test -f "$ac_aux_dir/mkinstalldirs"; then
+    mkdir_p='$(mkinstalldirs)'
+  else
+    mkdir_p='$(install_sh) -d'
+  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])])
+AC_SUBST([mkdir_p])])
+
+# Helper functions for option handling.                     -*- Autoconf -*-
+
+# Copyright (C) 2001, 2002, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 3
+
+# _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.    -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 4
+
+# AM_SANITY_CHECK
+# ---------------
+AC_DEFUN([AM_SANITY_CHECK],
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments.  Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+   set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
+   if test "$[*]" = "X"; then
+      # -L didn't work.
+      set X `ls -t $srcdir/configure conftest.file`
+   fi
+   rm -f conftest.file
+   if test "$[*]" != "X $srcdir/configure conftest.file" \
+      && test "$[*]" != "X conftest.file $srcdir/configure"; then
+
+      # If neither matched, then we have a broken ls.  This can happen
+      # if, for instance, CONFIG_SHELL is bash and it inherits a
+      # broken ls alias from the environment.  This has actually
+      # happened.  Such a system could not be considered "sane".
+      AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
+alias in your environment])
+   fi
+
+   test "$[2]" = conftest.file
+   )
+then
+   # Ok.
+   :
+else
+   AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+AC_MSG_RESULT(yes)])
+
+# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_INSTALL_STRIP
+# ---------------------
+# 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
+# is unlikely to handle the host's binaries.
+# Fortunately install-sh will honor a STRIPPROG variable, so we
+# always use install-sh in `make install-strip', and initialize
+# 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])])
 
+# Check how to create a tarball.                            -*- Autoconf -*-
+
+# Copyright (C) 2004, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 2
+
+# _AM_PROG_TAR(FORMAT)
+# --------------------
+# Check how to create a tarball in format FORMAT.
+# FORMAT should be one of `v7', `ustar', or `pax'.
+#
+# Substitute a variable $(am__tar) that is a command
+# writing to stdout a FORMAT-tarball containing the directory
+# $tardir.
+#     tardir=directory && $(am__tar) > result.tar
+#
+# Substitute a variable $(am__untar) that extract such
+# a tarball read from stdin.
+#     $(am__untar) < result.tar
+AC_DEFUN([_AM_PROG_TAR],
+[# Always define AMTAR for backward compatibility.
+AM_MISSING_PROG([AMTAR], [tar])
+m4_if([$1], [v7],
+     [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
+     [m4_case([$1], [ustar],, [pax],,
+              [m4_fatal([Unknown tar format])])
+AC_MSG_CHECKING([how to create a $1 tar archive])
+# Loop over all known methods to create a tar archive until one works.
+_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
+_am_tools=${am_cv_prog_tar_$1-$_am_tools}
+# Do not fold the above two line into one, because Tru64 sh and
+# Solaris sh will not grok spaces in the rhs of `-'.
+for _am_tool in $_am_tools
+do
+  case $_am_tool in
+  gnutar)
+    for _am_tar in tar gnutar gtar;
+    do
+      AM_RUN_LOG([$_am_tar --version]) && break
+    done
+    am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
+    am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
+    am__untar="$_am_tar -xf -"
+    ;;
+  plaintar)
+    # Must skip GNU tar: if it does not support --format= it doesn't create
+    # ustar tarball either.
+    (tar --version) >/dev/null 2>&1 && continue
+    am__tar='tar chf - "$$tardir"'
+    am__tar_='tar chf - "$tardir"'
+    am__untar='tar xf -'
+    ;;
+  pax)
+    am__tar='pax -L -x $1 -w "$$tardir"'
+    am__tar_='pax -L -x $1 -w "$tardir"'
+    am__untar='pax -r'
+    ;;
+  cpio)
+    am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
+    am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
+    am__untar='cpio -i -H $1 -d'
+    ;;
+  none)
+    am__tar=false
+    am__tar_=false
+    am__untar=false
+    ;;
+  esac
+
+  # If the value was cached, stop now.  We just wanted to have am__tar
+  # and am__untar set.
+  test -n "${am_cv_prog_tar_$1}" && break
+
+  # tar/untar a dummy directory, and stop if the command works
+  rm -rf conftest.dir
+  mkdir conftest.dir
+  echo GrepMe > conftest.dir/file
+  AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+  rm -rf conftest.dir
+  if test -s conftest.tar; then
+    AM_RUN_LOG([$am__untar <conftest.tar])
+    grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
+  fi
+done
+rm -rf conftest.dir
+
+AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
+AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+AC_SUBST([am__tar])
+AC_SUBST([am__untar])
+]) # _AM_PROG_TAR
+
+m4_include([src/cf/bigendian.m4])
+m4_include([src/cf/function-macro.m4])
+m4_include([src/cf/irix-test.m4])
+m4_include([src/cf/kerberos.m4])
+m4_include([src/cf/linux-test1.m4])
+m4_include([src/cf/linux-test2.m4])
+m4_include([src/cf/linux-test3.m4])
+m4_include([src/cf/linux-test4.m4])
+m4_include([src/cf/linux-test5.m4])
+m4_include([src/cf/osconf.m4])
+m4_include([src/cf/ressearch.m4])
+m4_include([src/cf/solaris-dqrwlock.m4])
+m4_include([src/cf/solaris-fs-rolled.m4])
+m4_include([src/cf/solaris-pcorefile.m4])
+m4_include([acinclude.m4])
index 45e9323ad3711105ba7891f06ec1d506450a3b79..905b80e2590090ebbc7c0a78418bc18df7713e97 100755 (executable)
--- a/configure
+++ b/configure
@@ -1,9 +1,9 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.57.
+# Generated by GNU Autoconf 2.60.
 #
-# Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002
-# Free Software Foundation, Inc.
+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
 # This configure script is free software; the Free Software Foundation
 # gives unlimited permission to copy, distribute and modify it.
 ## --------------------- ##
@@ -17,20 +17,80 @@ if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
   # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
   # is contrary to our usage.  Disable this feature.
   alias -g '${1+"$@"}'='"$@"'
-elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
-  set -o posix
+  setopt NO_GLOB_SUBST
+else
+  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
+fi
+BIN_SH=xpg4; export BIN_SH # for Tru64
+DUALCASE=1; export DUALCASE # for MKS sh
+
+
+# PATH needs CR
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  echo "#! /bin/sh" >conf$$.sh
+  echo  "exit 0"   >>conf$$.sh
+  chmod +x conf$$.sh
+  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+    PATH_SEPARATOR=';'
+  else
+    PATH_SEPARATOR=:
+  fi
+  rm -f conf$$.sh
 fi
 
 # Support unset when possible.
-if (FOO=FOO; unset FOO) >/dev/null 2>&1; then
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
   as_unset=unset
 else
   as_unset=false
 fi
 
 
+# IFS
+# We need space, tab and new line, in precisely that order.  Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+as_nl='
+'
+IFS=" ""       $as_nl"
+
+# Find who we are.  Look in the path if we contain no directory separator.
+case $0 in
+  *[\\/]* ) as_myself=$0 ;;
+  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+IFS=$as_save_IFS
+
+     ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+  as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+  echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+  { (exit 1); exit 1; }
+fi
+
 # Work around bugs in pre-3.0 UWIN ksh.
-$as_unset ENV MAIL MAILPATH
+for as_var in ENV MAIL MAILPATH
+do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+done
 PS1='$ '
 PS2='> '
 PS4='+ '
@@ -41,21 +101,22 @@ for as_var in \
   LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
   LC_TELEPHONE LC_TIME
 do
-  if (set +x; test -n "`(eval $as_var=C; export $as_var) 2>&1`"); then
+  if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
     eval $as_var=C; export $as_var
   else
-    $as_unset $as_var
+    ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
   fi
 done
 
 # Required to use basename.
-if expr a : '\(a\)' >/dev/null 2>&1; then
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+   test "X`expr 00001 : '.*\(...\)'`" = X001; then
   as_expr=expr
 else
   as_expr=false
 fi
 
-if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
   as_basename=basename
 else
   as_basename=false
@@ -63,206 +124,436 @@ fi
 
 
 # Name of the executable.
-as_me=`$as_basename "$0" ||
+as_me=`$as_basename -- "$0" ||
 $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
         X"$0" : 'X\(//\)$' \| \
-        X"$0" : 'X\(/\)$' \| \
-        .     : '\(.\)' 2>/dev/null ||
+        X"$0" : 'X\(/\)' \| . 2>/dev/null ||
 echo X/"$0" |
-    sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
-         /^X\/\(\/\/\)$/{ s//\1/; q; }
-         /^X\/\(\/\).*/{ s//\1/; q; }
-         s/.*/./; q'`
+    sed '/^.*\/\([^/][^/]*\)\/*$/{
+           s//\1/
+           q
+         }
+         /^X\/\(\/\/\)$/{
+           s//\1/
+           q
+         }
+         /^X\/\(\/\).*/{
+           s//\1/
+           q
+         }
+         s/.*/./; q'`
 
+# CDPATH.
+$as_unset CDPATH
 
-# PATH needs CR, and LINENO needs CR and PATH.
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
 
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  echo "#! /bin/sh" >conf$$.sh
-  echo  "exit 0"   >>conf$$.sh
-  chmod +x conf$$.sh
-  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
-    PATH_SEPARATOR=';'
-  else
-    PATH_SEPARATOR=:
-  fi
-  rm -f conf$$.sh
+if test "x$CONFIG_SHELL" = x; then
+  if (eval ":") 2>/dev/null; then
+  as_have_required=yes
+else
+  as_have_required=no
 fi
 
+  if test $as_have_required = yes &&    (eval ":
+(as_func_return () {
+  (exit \$1)
+}
+as_func_success () {
+  as_func_return 0
+}
+as_func_failure () {
+  as_func_return 1
+}
+as_func_ret_success () {
+  return 0
+}
+as_func_ret_failure () {
+  return 1
+}
 
-  as_lineno_1=$LINENO
-  as_lineno_2=$LINENO
-  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
-  test "x$as_lineno_1" != "x$as_lineno_2" &&
-  test "x$as_lineno_3"  = "x$as_lineno_2"  || {
-  # Find who we are.  Look in the path if we contain no path at all
-  # relative or not.
-  case $0 in
-    *[\\/]* ) as_myself=$0 ;;
-    *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-done
+exitcode=0
+if as_func_success; then
+  :
+else
+  exitcode=1
+  echo as_func_success failed.
+fi
 
-       ;;
-  esac
-  # We did not find ourselves, most probably we were run as `sh COMMAND'
-  # in which case we are not to be found in the path.
-  if test "x$as_myself" = x; then
-    as_myself=$0
-  fi
-  if test ! -f "$as_myself"; then
-    { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2
-   { (exit 1); exit 1; }; }
-  fi
-  case $CONFIG_SHELL in
-  '')
+if as_func_failure; then
+  exitcode=1
+  echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+  :
+else
+  exitcode=1
+  echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+  exitcode=1
+  echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
+  :
+else
+  exitcode=1
+  echo positional parameters were not saved.
+fi
+
+test \$exitcode = 0) || { (exit 1); exit 1; }
+
+(
+  as_lineno_1=\$LINENO
+  as_lineno_2=\$LINENO
+  test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" &&
+  test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; }
+") 2> /dev/null; then
+  :
+else
+  as_candidate_shells=
     as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+for as_dir in /usr/bin/posix$PATH_SEPARATOR/bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  for as_base in sh bash ksh sh5; do
-        case $as_dir in
+  case $as_dir in
         /*)
-          if ("$as_dir/$as_base" -c '
+          for as_base in sh bash ksh sh5; do
+            as_candidate_shells="$as_candidate_shells $as_dir/$as_base"
+          done;;
+       esac
+done
+IFS=$as_save_IFS
+
+
+      for as_shell in $as_candidate_shells $SHELL; do
+        # Try only shells that exist, to save several forks.
+        if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
+               { ("$as_shell") 2> /dev/null <<\_ASEOF
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+  emulate sh
+  NULLCMD=:
+  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+  setopt NO_GLOB_SUBST
+else
+  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
+fi
+BIN_SH=xpg4; export BIN_SH # for Tru64
+DUALCASE=1; export DUALCASE # for MKS sh
+
+:
+_ASEOF
+}; then
+  CONFIG_SHELL=$as_shell
+              as_have_required=yes
+              if { "$as_shell" 2> /dev/null <<\_ASEOF
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+  emulate sh
+  NULLCMD=:
+  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+  setopt NO_GLOB_SUBST
+else
+  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
+fi
+BIN_SH=xpg4; export BIN_SH # for Tru64
+DUALCASE=1; export DUALCASE # for MKS sh
+
+:
+(as_func_return () {
+  (exit $1)
+}
+as_func_success () {
+  as_func_return 0
+}
+as_func_failure () {
+  as_func_return 1
+}
+as_func_ret_success () {
+  return 0
+}
+as_func_ret_failure () {
+  return 1
+}
+
+exitcode=0
+if as_func_success; then
+  :
+else
+  exitcode=1
+  echo as_func_success failed.
+fi
+
+if as_func_failure; then
+  exitcode=1
+  echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+  :
+else
+  exitcode=1
+  echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+  exitcode=1
+  echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = "$1" ); then
+  :
+else
+  exitcode=1
+  echo positional parameters were not saved.
+fi
+
+test $exitcode = 0) || { (exit 1); exit 1; }
+
+(
   as_lineno_1=$LINENO
   as_lineno_2=$LINENO
-  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
   test "x$as_lineno_1" != "x$as_lineno_2" &&
-  test "x$as_lineno_3"  = "x$as_lineno_2" ') 2>/dev/null; then
-            $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
-            $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
-            CONFIG_SHELL=$as_dir/$as_base
-            export CONFIG_SHELL
-            exec "$CONFIG_SHELL" "$0" ${1+"$@"}
-          fi;;
-        esac
-       done
-done
-;;
-  esac
+  test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; }
+
+_ASEOF
+}; then
+  break
+fi
+
+fi
+
+      done
+
+      if test "x$CONFIG_SHELL" != x; then
+  for as_var in BASH_ENV ENV
+        do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+        done
+        export CONFIG_SHELL
+        exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+fi
+
+
+    if test $as_have_required = no; then
+  echo This script requires a shell more modern than all the
+      echo shells that I found on your system.  Please install a
+      echo modern shell, or manually run the script under such a
+      echo shell if you do have one.
+      { (exit 1); exit 1; }
+fi
+
+
+fi
+
+fi
+
+
+
+(eval "as_func_return () {
+  (exit \$1)
+}
+as_func_success () {
+  as_func_return 0
+}
+as_func_failure () {
+  as_func_return 1
+}
+as_func_ret_success () {
+  return 0
+}
+as_func_ret_failure () {
+  return 1
+}
+
+exitcode=0
+if as_func_success; then
+  :
+else
+  exitcode=1
+  echo as_func_success failed.
+fi
+
+if as_func_failure; then
+  exitcode=1
+  echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+  :
+else
+  exitcode=1
+  echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+  exitcode=1
+  echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
+  :
+else
+  exitcode=1
+  echo positional parameters were not saved.
+fi
+
+test \$exitcode = 0") || {
+  echo No shell found that supports shell functions.
+  echo Please tell autoconf@gnu.org about your system,
+  echo including any error possibly output before this
+  echo message
+}
+
+
+
+  as_lineno_1=$LINENO
+  as_lineno_2=$LINENO
+  test "x$as_lineno_1" != "x$as_lineno_2" &&
+  test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
 
   # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
   # uniformly replaced by the line number.  The first 'sed' inserts a
-  # line-number line before each line; the second 'sed' does the real
-  # work.  The second script uses 'N' to pair each line-number line
-  # with the numbered line, and appends trailing '-' during
-  # substitution so that $LINENO is not a special case at line end.
+  # line-number line after each line using $LINENO; the second 'sed'
+  # does the real work.  The second script uses 'N' to pair each
+  # line-number line with the line containing $LINENO, and appends
+  # trailing '-' during substitution so that $LINENO is not a special
+  # case at line end.
   # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
-  # second 'sed' script.  Blame Lee E. McMahon for sed's syntax.  :-)
-  sed '=' <$as_myself |
+  # scripts with optimization help from Paolo Bonzini.  Blame Lee
+  # E. McMahon (1931-1989) for sed's syntax.  :-)
+  sed -n '
+    p
+    /[$]LINENO/=
+  ' <$as_myself |
     sed '
+      s/[$]LINENO.*/&-/
+      t lineno
+      b
+      :lineno
       N
-      s,$,-,
-      : loop
-      s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
+      :loop
+      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
       t loop
-      s,-$,,
-      s,^['$as_cr_digits']*\n,,
+      s/-\n.*//
     ' >$as_me.lineno &&
-  chmod +x $as_me.lineno ||
+  chmod +x "$as_me.lineno" ||
     { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
    { (exit 1); exit 1; }; }
 
   # Don't try to exec as it changes $[0], causing all sort of problems
   # (the dirname of $[0] is not the place where we might find the
-  # original and so on.  Autoconf is especially sensible to this).
-  . ./$as_me.lineno
+  # original and so on.  Autoconf is especially sensitive to this).
+  . "./$as_me.lineno"
   # Exit status is that of the last command.
   exit
 }
 
 
-case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
-  *c*,-n*) ECHO_N= ECHO_C='
-' ECHO_T='     ' ;;
-  *c*,*  ) ECHO_N=-n ECHO_C= ECHO_T= ;;
-  *)       ECHO_N= ECHO_C='\c' ECHO_T= ;;
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+  as_dirname=dirname
+else
+  as_dirname=false
+fi
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in
+-n*)
+  case `echo 'x\c'` in
+  *c*) ECHO_T='        ';;     # ECHO_T is single tab character.
+  *)   ECHO_C='\c';;
+  esac;;
+*)
+  ECHO_N='-n';;
 esac
 
-if expr a : '\(a\)' >/dev/null 2>&1; then
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+   test "X`expr 00001 : '.*\(...\)'`" = X001; then
   as_expr=expr
 else
   as_expr=false
 fi
 
 rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+  rm -f conf$$.dir/conf$$.file
+else
+  rm -f conf$$.dir
+  mkdir conf$$.dir
+fi
 echo >conf$$.file
 if ln -s conf$$.file conf$$ 2>/dev/null; then
-  # We could just check for DJGPP; but this test a) works b) is more generic
-  # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
-  if test -f conf$$.exe; then
-    # Don't use ln at all; we don't have any links
+  as_ln_s='ln -s'
+  # ... but there are two gotchas:
+  # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+  # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+  # In both cases, we have to default to `cp -p'.
+  ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
     as_ln_s='cp -p'
-  else
-    as_ln_s='ln -s'
-  fi
 elif ln conf$$.file conf$$ 2>/dev/null; then
   as_ln_s=ln
 else
   as_ln_s='cp -p'
 fi
-rm -f conf$$ conf$$.exe conf$$.file
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
 
 if mkdir -p . 2>/dev/null; then
   as_mkdir_p=:
 else
+  test -d ./-p && rmdir ./-p
   as_mkdir_p=false
 fi
 
-as_executable_p="test -f"
+# Find out whether ``test -x'' works.  Don't use a zero-byte file, as
+# systems may use methods other than mode bits to determine executability.
+cat >conf$$.file <<_ASEOF
+#! /bin/sh
+exit 0
+_ASEOF
+chmod +x conf$$.file
+if test -x conf$$.file >/dev/null 2>&1; then
+  as_executable_p="test -x"
+else
+  as_executable_p=:
+fi
+rm -f conf$$.file
 
 # Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g"
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
 
 # Sed expression to map a string onto a valid variable name.
-as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g"
-
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
 
-# IFS
-# We need space, tab and new line, in precisely that order.
-as_nl='
-'
-IFS="  $as_nl"
 
-# CDPATH.
-$as_unset CDPATH
 
+exec 7<&0 </dev/null 6>&1
 
 # Name of the host.
 # hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
 # so uname gets run too.
 ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
 
-exec 6>&1
-
 #
 # Initializations.
 #
 ac_default_prefix=/usr/local
+ac_clean_files=
 ac_config_libobj_dir=.
+LIBOBJS=
 cross_compiling=no
 subdirs=
 MFLAGS=
 MAKEFLAGS=
 SHELL=${CONFIG_SHELL-/bin/sh}
 
-# Maximum number of lines to put in a shell here document.
-# This variable seems obsolete.  It should probably be removed, and
-# only ac_max_sed_lines should be used.
-: ${ac_max_here_lines=38}
-
 # Identity of this package.
 PACKAGE_NAME=
 PACKAGE_TARNAME=
@@ -299,17 +590,214 @@ ac_includes_default="\
 #endif
 #if HAVE_INTTYPES_H
 # include <inttypes.h>
-#else
-# if HAVE_STDINT_H
-#  include <stdint.h>
-# endif
+#endif
+#if HAVE_STDINT_H
+# include <stdint.h>
 #endif
 #if HAVE_UNISTD_H
 # include <unistd.h>
 #endif"
 
-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO AMTAR install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM AWK SET_MAKE CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE build build_cpu build_vendor build_os host host_cpu host_vendor host_os CPP EGREP LN_S RANLIB ac_ct_RANLIB YACC LEX LEXLIB LEX_OUTPUT_ROOT HEADER_RT P5PLUS_KOPTS LINUX_GCC_KOPTS RHCONFIG_SP RHCONFIG_MP MPS PTHREAD_LIBS USE_UNIX_SOCKETS XBSA_CFLAGS HAVE_PAM BUILD_LOGIN afsconfdir viceetcdir afskerneldir afssrvbindir afssrvsbindir afssrvlibexecdir afsdbdir afslogsdir afslocaldir afsbackupdir afsbosconfigdir AFS_SYSNAME AFS_PARAM_COMMON ENABLE_KERNEL_MODULE LIB_AFSDB LINUX_KERNEL_PATH BSD_KERNEL_PATH BSD_KERNEL_BUILD LINUX_VERSION MKAFS_OSTYPE TOP_OBJDIR TOP_SRCDIR TOP_INCDIR TOP_LIBDIR DEST WITH_OBSOLETE DARWIN_INFOFILE IRIX_BUILD_IP35 AS AR MV RM LD CP LORDER XFS_SIZE_CHECK install_XFS_SIZE_CHECK dest_XFS_SIZE_CHECK FS_CONV_SOL26 install_FS_CONV_SOL26 dest_FS_CONV_SOL26 FS_CONV_OSF40D install_FS_CONV_OSF40D dest_FS_CONV_OSF40D CCXPG2 CCOBJ AFSD_LIBS AFSD_LDFLAGS AIX64 DBG FSINCLUDES KERN_DBG KERN_OPTMZ LWP_DBG LWP_OPTMZ MT_CC MT_CFLAGS MT_LIBS OPTMZ PAM_CFLAGS PAM_LIBS PINSTALL_LIBS REGEX_OBJ SHLIB_CFLAGS SHLIB_LDFLAGS SHLIB_LINKER SHLIB_SUFFIX TXLIBS VFSCK_CFLAGS XCFLAGS XCFLAGS64 XLDFLAGS XLDFLAGS64 XLIBELFA XLIBKVM XLIBS KRB5_CONFIG BUILD_KRB5 KRB5CFLAGS KRB5LIBS HELPER_SPLINT HELPER_SPLINTCFG LIBOBJS LTLIBOBJS'
+ac_subst_vars='SHELL
+PATH_SEPARATOR
+PACKAGE_NAME
+PACKAGE_TARNAME
+PACKAGE_VERSION
+PACKAGE_STRING
+PACKAGE_BUGREPORT
+exec_prefix
+prefix
+program_transform_name
+bindir
+sbindir
+libexecdir
+datarootdir
+datadir
+sysconfdir
+sharedstatedir
+localstatedir
+includedir
+oldincludedir
+docdir
+infodir
+htmldir
+dvidir
+pdfdir
+psdir
+libdir
+localedir
+mandir
+DEFS
+ECHO_C
+ECHO_N
+ECHO_T
+LIBS
+build_alias
+host_alias
+target_alias
+INSTALL_PROGRAM
+INSTALL_SCRIPT
+INSTALL_DATA
+CYGPATH_W
+PACKAGE
+VERSION
+ACLOCAL
+AUTOCONF
+AUTOMAKE
+AUTOHEADER
+MAKEINFO
+install_sh
+STRIP
+INSTALL_STRIP_PROGRAM
+mkdir_p
+AWK
+SET_MAKE
+am__leading_dot
+AMTAR
+am__tar
+am__untar
+MACOS_VERSION
+CC
+CFLAGS
+LDFLAGS
+CPPFLAGS
+ac_ct_CC
+EXEEXT
+OBJEXT
+DEPDIR
+am__include
+am__quote
+AMDEP_TRUE
+AMDEP_FALSE
+AMDEPBACKSLASH
+CCDEPMODE
+am__fastdepCC_TRUE
+am__fastdepCC_FALSE
+build
+build_cpu
+build_vendor
+build_os
+host
+host_cpu
+host_vendor
+host_os
+CPP
+GREP
+EGREP
+LN_S
+RANLIB
+YACC
+YFLAGS
+LEX
+LEXLIB
+LEX_OUTPUT_ROOT
+HEADER_RT
+P5PLUS_KOPTS
+LINUX_GCC_KOPTS
+RHCONFIG_SP
+RHCONFIG_MP
+MPS
+PTHREAD_LIBS
+USE_UNIX_SOCKETS
+XBSA_CFLAGS
+HAVE_PAM
+BUILD_LOGIN
+afsconfdir
+viceetcdir
+afskerneldir
+afssrvbindir
+afssrvsbindir
+afssrvlibexecdir
+afsdbdir
+afslogsdir
+afslocaldir
+afsbackupdir
+afsbosconfigdir
+AFS_SYSNAME
+AFS_PARAM_COMMON
+ENABLE_KERNEL_MODULE
+LIB_AFSDB
+LINUX_KERNEL_PATH
+BSD_KERNEL_PATH
+BSD_KERNEL_BUILD
+LINUX_VERSION
+MKAFS_OSTYPE
+TOP_OBJDIR
+TOP_SRCDIR
+TOP_INCDIR
+TOP_LIBDIR
+DEST
+WITH_OBSOLETE
+DARWIN_INFOFILE
+IRIX_BUILD_IP35
+AS
+AR
+MV
+RM
+LD
+CP
+LORDER
+XFS_SIZE_CHECK
+install_XFS_SIZE_CHECK
+dest_XFS_SIZE_CHECK
+FS_CONV_SOL26
+install_FS_CONV_SOL26
+dest_FS_CONV_SOL26
+FS_CONV_OSF40D
+install_FS_CONV_OSF40D
+dest_FS_CONV_OSF40D
+CCXPG2
+CCOBJ
+AFSD_LIBS
+AFSD_LDFLAGS
+AIX64
+DBG
+FSINCLUDES
+KERN_DBG
+KERN_OPTMZ
+LWP_DBG
+LWP_OPTMZ
+MT_CC
+MT_CFLAGS
+MT_LIBS
+OPTMZ
+PAM_CFLAGS
+PAM_LIBS
+PINSTALL_LIBS
+REGEX_OBJ
+SHLIB_CFLAGS
+SHLIB_LDFLAGS
+SHLIB_LINKER
+SHLIB_SUFFIX
+TXLIBS
+VFSCK_CFLAGS
+XCFLAGS
+XCFLAGS64
+XLDFLAGS
+XLDFLAGS64
+XLIBELFA
+XLIBKVM
+XLIBS
+KRB5_CONFIG
+BUILD_KRB5
+KRB5CFLAGS
+KRB5LIBS
+HELPER_SPLINT
+HELPER_SPLINTCFG
+LIBOBJS
+LTLIBOBJS'
 ac_subst_files=''
+      ac_precious_vars='build_alias
+host_alias
+target_alias
+CC
+CFLAGS
+LDFLAGS
+CPPFLAGS
+CPP
+YACC
+YFLAGS'
+
 
 # Initialize some variables set by options.
 ac_init_help=
@@ -336,34 +824,48 @@ x_libraries=NONE
 # and all the variables that are supposed to be based on exec_prefix
 # by default will actually change.
 # Use braces instead of parens because sh, perl, etc. also accept them.
+# (The list follows the same order as the GNU Coding Standards.)
 bindir='${exec_prefix}/bin'
 sbindir='${exec_prefix}/sbin'
 libexecdir='${exec_prefix}/libexec'
-datadir='${prefix}/share'
+datarootdir='${prefix}/share'
+datadir='${datarootdir}'
 sysconfdir='${prefix}/etc'
 sharedstatedir='${prefix}/com'
 localstatedir='${prefix}/var'
-libdir='${exec_prefix}/lib'
 includedir='${prefix}/include'
 oldincludedir='/usr/include'
-infodir='${prefix}/info'
-mandir='${prefix}/man'
+docdir='${datarootdir}/doc/${PACKAGE}'
+infodir='${datarootdir}/info'
+htmldir='${docdir}'
+dvidir='${docdir}'
+pdfdir='${docdir}'
+psdir='${docdir}'
+libdir='${exec_prefix}/lib'
+localedir='${datarootdir}/locale'
+mandir='${datarootdir}/man'
 
 ac_prev=
+ac_dashdash=
 for ac_option
 do
   # If the previous option needs an argument, assign it.
   if test -n "$ac_prev"; then
-    eval "$ac_prev=\$ac_option"
+    eval $ac_prev=\$ac_option
     ac_prev=
     continue
   fi
 
-  ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'`
+  case $ac_option in
+  *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+  *)   ac_optarg=yes ;;
+  esac
 
   # Accept the important Cygnus configure options, so we can diagnose typos.
 
-  case $ac_option in
+  case $ac_dashdash$ac_option in
+  --)
+    ac_dashdash=yes ;;
 
   -bindir | --bindir | --bindi | --bind | --bin | --bi)
     ac_prev=bindir ;;
@@ -385,12 +887,18 @@ do
   --config-cache | -C)
     cache_file=config.cache ;;
 
-  -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+  -datadir | --datadir | --datadi | --datad)
     ac_prev=datadir ;;
-  -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
-  | --da=*)
+  -datadir=* | --datadir=* | --datadi=* | --datad=*)
     datadir=$ac_optarg ;;
 
+  -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
+  | --dataroo | --dataro | --datar)
+    ac_prev=datarootdir ;;
+  -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
+  | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
+    datarootdir=$ac_optarg ;;
+
   -disable-* | --disable-*)
     ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
     # Reject names that are not valid shell variable names.
@@ -398,7 +906,17 @@ do
       { echo "$as_me: error: invalid feature name: $ac_feature" >&2
    { (exit 1); exit 1; }; }
     ac_feature=`echo $ac_feature | sed 's/-/_/g'`
-    eval "enable_$ac_feature=no" ;;
+    eval enable_$ac_feature=no ;;
+
+  -docdir | --docdir | --docdi | --doc | --do)
+    ac_prev=docdir ;;
+  -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
+    docdir=$ac_optarg ;;
+
+  -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
+    ac_prev=dvidir ;;
+  -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
+    dvidir=$ac_optarg ;;
 
   -enable-* | --enable-*)
     ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
@@ -407,11 +925,7 @@ do
       { echo "$as_me: error: invalid feature name: $ac_feature" >&2
    { (exit 1); exit 1; }; }
     ac_feature=`echo $ac_feature | sed 's/-/_/g'`
-    case $ac_option in
-      *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
-      *) ac_optarg=yes ;;
-    esac
-    eval "enable_$ac_feature='$ac_optarg'" ;;
+    eval enable_$ac_feature=\$ac_optarg ;;
 
   -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
   | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
@@ -438,6 +952,12 @@ do
   -host=* | --host=* | --hos=* | --ho=*)
     host_alias=$ac_optarg ;;
 
+  -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
+    ac_prev=htmldir ;;
+  -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
+  | --ht=*)
+    htmldir=$ac_optarg ;;
+
   -includedir | --includedir | --includedi | --included | --include \
   | --includ | --inclu | --incl | --inc)
     ac_prev=includedir ;;
@@ -462,13 +982,16 @@ do
   | --libexe=* | --libex=* | --libe=*)
     libexecdir=$ac_optarg ;;
 
+  -localedir | --localedir | --localedi | --localed | --locale)
+    ac_prev=localedir ;;
+  -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
+    localedir=$ac_optarg ;;
+
   -localstatedir | --localstatedir | --localstatedi | --localstated \
-  | --localstate | --localstat | --localsta | --localst \
-  | --locals | --local | --loca | --loc | --lo)
+  | --localstate | --localstat | --localsta | --localst | --locals)
     ac_prev=localstatedir ;;
   -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
-  | --localstate=* | --localstat=* | --localsta=* | --localst=* \
-  | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+  | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
     localstatedir=$ac_optarg ;;
 
   -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
@@ -533,6 +1056,16 @@ do
   | --progr-tra=* | --program-tr=* | --program-t=*)
     program_transform_name=$ac_optarg ;;
 
+  -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
+    ac_prev=pdfdir ;;
+  -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
+    pdfdir=$ac_optarg ;;
+
+  -psdir | --psdir | --psdi | --psd | --ps)
+    ac_prev=psdir ;;
+  -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
+    psdir=$ac_optarg ;;
+
   -q | -quiet | --quiet | --quie | --qui | --qu | --q \
   | -silent | --silent | --silen | --sile | --sil)
     silent=yes ;;
@@ -589,11 +1122,7 @@ do
       { echo "$as_me: error: invalid package name: $ac_package" >&2
    { (exit 1); exit 1; }; }
     ac_package=`echo $ac_package| sed 's/-/_/g'`
-    case $ac_option in
-      *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
-      *) ac_optarg=yes ;;
-    esac
-    eval "with_$ac_package='$ac_optarg'" ;;
+    eval with_$ac_package=\$ac_optarg ;;
 
   -without-* | --without-*)
     ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
@@ -602,7 +1131,7 @@ do
       { echo "$as_me: error: invalid package name: $ac_package" >&2
    { (exit 1); exit 1; }; }
     ac_package=`echo $ac_package | sed 's/-/_/g'`
-    eval "with_$ac_package=no" ;;
+    eval with_$ac_package=no ;;
 
   --x)
     # Obsolete; use --with-x.
@@ -633,8 +1162,7 @@ Try \`$0 --help' for more information." >&2
     expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
       { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
    { (exit 1); exit 1; }; }
-    ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`
-    eval "$ac_envvar='$ac_optarg'"
+    eval $ac_envvar=\$ac_optarg
     export $ac_envvar ;;
 
   *)
@@ -654,27 +1182,19 @@ if test -n "$ac_prev"; then
    { (exit 1); exit 1; }; }
 fi
 
-# Be sure to have absolute paths.
-for ac_var in exec_prefix prefix
+# Be sure to have absolute directory names.
+for ac_var in  exec_prefix prefix bindir sbindir libexecdir datarootdir \
+               datadir sysconfdir sharedstatedir localstatedir includedir \
+               oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
+               libdir localedir mandir
 do
-  eval ac_val=$`echo $ac_var`
+  eval ac_val=\$$ac_var
   case $ac_val in
-    [\\/$]* | ?:[\\/]* | NONE | '' ) ;;
-    *)  { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
-   { (exit 1); exit 1; }; };;
-  esac
-done
-
-# Be sure to have absolute paths.
-for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \
-              localstatedir libdir includedir oldincludedir infodir mandir
-do
-  eval ac_val=$`echo $ac_var`
-  case $ac_val in
-    [\\/$]* | ?:[\\/]* ) ;;
-    *)  { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
-   { (exit 1); exit 1; }; };;
+    [\\/$]* | ?:[\\/]* )  continue;;
+    NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
   esac
+  { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
+   { (exit 1); exit 1; }; }
 done
 
 # There might be people who depend on the old broken behavior: `$host'
@@ -701,74 +1221,76 @@ test -n "$host_alias" && ac_tool_prefix=$host_alias-
 test "$silent" = yes && exec 6>/dev/null
 
 
+ac_pwd=`pwd` && test -n "$ac_pwd" &&
+ac_ls_di=`ls -di .` &&
+ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
+  { echo "$as_me: error: Working directory cannot be determined" >&2
+   { (exit 1); exit 1; }; }
+test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
+  { echo "$as_me: error: pwd does not report name of working directory" >&2
+   { (exit 1); exit 1; }; }
+
+
 # Find the source files, if location was not specified.
 if test -z "$srcdir"; then
   ac_srcdir_defaulted=yes
-  # Try the directory containing this script, then its parent.
-  ac_confdir=`(dirname "$0") 2>/dev/null ||
+  # Try the directory containing this script, then the parent directory.
+  ac_confdir=`$as_dirname -- "$0" ||
 $as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-         X"$0" : 'X\(//\)[^/]' \| \
-         X"$0" : 'X\(//\)$' \| \
-         X"$0" : 'X\(/\)' \| \
-         .     : '\(.\)' 2>/dev/null ||
+        X"$0" : 'X\(//\)[^/]' \| \
+        X"$0" : 'X\(//\)$' \| \
+        X"$0" : 'X\(/\)' \| . 2>/dev/null ||
 echo X"$0" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
-         /^X\(\/\/\)[^/].*/{ s//\1/; q; }
-         /^X\(\/\/\)$/{ s//\1/; q; }
-         /^X\(\/\).*/{ s//\1/; q; }
-         s/.*/./; q'`
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)[^/].*/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\).*/{
+           s//\1/
+           q
+         }
+         s/.*/./; q'`
   srcdir=$ac_confdir
-  if test ! -r $srcdir/$ac_unique_file; then
+  if test ! -r "$srcdir/$ac_unique_file"; then
     srcdir=..
   fi
 else
   ac_srcdir_defaulted=no
 fi
-if test ! -r $srcdir/$ac_unique_file; then
-  if test "$ac_srcdir_defaulted" = yes; then
-    { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2
-   { (exit 1); exit 1; }; }
-  else
-    { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
+if test ! -r "$srcdir/$ac_unique_file"; then
+  test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
+  { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
    { (exit 1); exit 1; }; }
-  fi
 fi
-(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null ||
-  { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2
+ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
+ac_abs_confdir=`(
+       cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2
    { (exit 1); exit 1; }; }
-srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'`
-ac_env_build_alias_set=${build_alias+set}
-ac_env_build_alias_value=$build_alias
-ac_cv_env_build_alias_set=${build_alias+set}
-ac_cv_env_build_alias_value=$build_alias
-ac_env_host_alias_set=${host_alias+set}
-ac_env_host_alias_value=$host_alias
-ac_cv_env_host_alias_set=${host_alias+set}
-ac_cv_env_host_alias_value=$host_alias
-ac_env_target_alias_set=${target_alias+set}
-ac_env_target_alias_value=$target_alias
-ac_cv_env_target_alias_set=${target_alias+set}
-ac_cv_env_target_alias_value=$target_alias
-ac_env_CC_set=${CC+set}
-ac_env_CC_value=$CC
-ac_cv_env_CC_set=${CC+set}
-ac_cv_env_CC_value=$CC
-ac_env_CFLAGS_set=${CFLAGS+set}
-ac_env_CFLAGS_value=$CFLAGS
-ac_cv_env_CFLAGS_set=${CFLAGS+set}
-ac_cv_env_CFLAGS_value=$CFLAGS
-ac_env_LDFLAGS_set=${LDFLAGS+set}
-ac_env_LDFLAGS_value=$LDFLAGS
-ac_cv_env_LDFLAGS_set=${LDFLAGS+set}
-ac_cv_env_LDFLAGS_value=$LDFLAGS
-ac_env_CPPFLAGS_set=${CPPFLAGS+set}
-ac_env_CPPFLAGS_value=$CPPFLAGS
-ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set}
-ac_cv_env_CPPFLAGS_value=$CPPFLAGS
-ac_env_CPP_set=${CPP+set}
-ac_env_CPP_value=$CPP
-ac_cv_env_CPP_set=${CPP+set}
-ac_cv_env_CPP_value=$CPP
+       pwd)`
+# When building in place, set srcdir=.
+if test "$ac_abs_confdir" = "$ac_pwd"; then
+  srcdir=.
+fi
+# Remove unnecessary trailing slashes from srcdir.
+# Double slashes in file names in object file debugging info
+# mess up M-x gdb in Emacs.
+case $srcdir in
+*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
+esac
+for ac_var in $ac_precious_vars; do
+  eval ac_env_${ac_var}_set=\${${ac_var}+set}
+  eval ac_env_${ac_var}_value=\$${ac_var}
+  eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
+  eval ac_cv_env_${ac_var}_value=\$${ac_var}
+done
 
 #
 # Report the --help message.
@@ -797,14 +1319,11 @@ Configuration:
   -n, --no-create         do not create output files
       --srcdir=DIR        find the sources in DIR [configure dir or \`..']
 
-_ACEOF
-
-  cat <<_ACEOF
 Installation directories:
   --prefix=PREFIX         install architecture-independent files in PREFIX
-                          [$ac_default_prefix]
+                         [$ac_default_prefix]
   --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
-                          [PREFIX]
+                         [PREFIX]
 
 By default, \`make install' will install all the files in
 \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc.  You can specify
@@ -817,15 +1336,22 @@ Fine tuning of the installation directories:
   --bindir=DIR           user executables [EPREFIX/bin]
   --sbindir=DIR          system admin executables [EPREFIX/sbin]
   --libexecdir=DIR       program executables [EPREFIX/libexec]
-  --datadir=DIR          read-only architecture-independent data [PREFIX/share]
   --sysconfdir=DIR       read-only single-machine data [PREFIX/etc]
   --sharedstatedir=DIR   modifiable architecture-independent data [PREFIX/com]
   --localstatedir=DIR    modifiable single-machine data [PREFIX/var]
   --libdir=DIR           object code libraries [EPREFIX/lib]
   --includedir=DIR       C header files [PREFIX/include]
   --oldincludedir=DIR    C header files for non-gcc [/usr/include]
-  --infodir=DIR          info documentation [PREFIX/info]
-  --mandir=DIR           man documentation [PREFIX/man]
+  --datarootdir=DIR      read-only arch.-independent data root [PREFIX/share]
+  --datadir=DIR          read-only architecture-independent data [DATAROOTDIR]
+  --infodir=DIR          info documentation [DATAROOTDIR/info]
+  --localedir=DIR        locale-dependent data [DATAROOTDIR/locale]
+  --mandir=DIR           man documentation [DATAROOTDIR/man]
+  --docdir=DIR           documentation root [DATAROOTDIR/doc/PACKAGE]
+  --htmldir=DIR          html documentation [DOCDIR]
+  --dvidir=DIR           dvi documentation [DOCDIR]
+  --pdfdir=DIR           pdf documentation [DOCDIR]
+  --psdir=DIR            ps documentation [DOCDIR]
 _ACEOF
 
   cat <<\_ACEOF
@@ -848,8 +1374,8 @@ if test -n "$ac_init_help"; then
 Optional Features:
   --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-  --disable-dependency-tracking Speeds up one-time builds
-  --enable-dependency-tracking  Do not reject slow dependency extractors
+  --disable-dependency-tracking  speeds up one-time build
+  --enable-dependency-tracking   do not reject slow dependency extractors
   --enable-obsolete                    enable obsolete portions of AFS (mpp and package)
   --disable-afsdb                      disable AFSDB RR support
   --disable-pam                        disable PAM support
@@ -896,94 +1422,99 @@ Some influential environment variables:
   CFLAGS      C compiler flags
   LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
               nonstandard directory <lib dir>
-  CPPFLAGS    C/C++ preprocessor flags, e.g. -I<include dir> if you have
-              headers in a nonstandard directory <include dir>
+  CPPFLAGS    C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
+              you have headers in a nonstandard directory <include dir>
   CPP         C preprocessor
+  YACC        The `Yet Another C Compiler' implementation to use. Defaults to
+              the first program found out of: `bison -y', `byacc', `yacc'.
+  YFLAGS      The list of arguments that will be passed by default to $YACC.
+              This script will default YFLAGS to the empty string to avoid a
+              default value of `-d' given by some make applications.
 
 Use these variables to override the choices made by `configure' or to help
 it to find libraries and programs with nonstandard names/locations.
 
 _ACEOF
+ac_status=$?
 fi
 
 if test "$ac_init_help" = "recursive"; then
   # If there are subdirs, report their specific --help.
-  ac_popdir=`pwd`
   for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
-    test -d $ac_dir || continue
+    test -d "$ac_dir" || continue
     ac_builddir=.
 
-if test "$ac_dir" != .; then
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
   ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
-  # A "../" for each directory in $ac_dir_suffix.
-  ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
-else
-  ac_dir_suffix= ac_top_builddir=
-fi
+  # A ".." for each directory in $ac_dir_suffix.
+  ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
+  case $ac_top_builddir_sub in
+  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+  esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
 
 case $srcdir in
-  .)  # No --srcdir option.  We are building in place.
+  .)  # We are building in place.
     ac_srcdir=.
-    if test -z "$ac_top_builddir"; then
-       ac_top_srcdir=.
-    else
-       ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
-    fi ;;
-  [\\/]* | ?:[\\/]* )  # Absolute path.
+    ac_top_srcdir=$ac_top_builddir_sub
+    ac_abs_top_srcdir=$ac_pwd ;;
+  [\\/]* | ?:[\\/]* )  # Absolute name.
     ac_srcdir=$srcdir$ac_dir_suffix;
-    ac_top_srcdir=$srcdir ;;
-  *) # Relative path.
-    ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
-    ac_top_srcdir=$ac_top_builddir$srcdir ;;
-esac
-# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be
-# absolute.
-ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd`
-ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd`
-ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd`
-ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd`
-
-    cd $ac_dir
-    # Check for guested configure; otherwise get Cygnus style configure.
-    if test -f $ac_srcdir/configure.gnu; then
-      echo
-      $SHELL $ac_srcdir/configure.gnu  --help=recursive
-    elif test -f $ac_srcdir/configure; then
-      echo
-      $SHELL $ac_srcdir/configure  --help=recursive
-    elif test -f $ac_srcdir/configure.ac ||
-           test -f $ac_srcdir/configure.in; then
-      echo
-      $ac_configure --help
+    ac_top_srcdir=$srcdir
+    ac_abs_top_srcdir=$srcdir ;;
+  *) # Relative name.
+    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+    ac_top_srcdir=$ac_top_build_prefix$srcdir
+    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+    cd "$ac_dir" || { ac_status=$?; continue; }
+    # Check for guested configure.
+    if test -f "$ac_srcdir/configure.gnu"; then
+      echo &&
+      $SHELL "$ac_srcdir/configure.gnu" --help=recursive
+    elif test -f "$ac_srcdir/configure"; then
+      echo &&
+      $SHELL "$ac_srcdir/configure" --help=recursive
     else
       echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
-    fi
-    cd $ac_popdir
+    fi || ac_status=$?
+    cd "$ac_pwd" || { ac_status=$?; break; }
   done
 fi
 
-test -n "$ac_init_help" && exit 0
+test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
+configure
+generated by GNU Autoconf 2.60
 
-Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002
-Free Software Foundation, Inc.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
 This configure script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it.
 _ACEOF
-  exit 0
+  exit
 fi
-exec 5>config.log
-cat >&5 <<_ACEOF
+cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
 It was created by $as_me, which was
-generated by GNU Autoconf 2.57.  Invocation command line was
+generated by GNU Autoconf 2.60.  Invocation command line was
 
   $ $0 $@
 
 _ACEOF
+exec 5>>config.log
 {
 cat <<_ASUNAME
 ## --------- ##
@@ -1002,7 +1533,7 @@ uname -v = `(uname -v) 2>/dev/null || echo unknown`
 /bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
 /usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
 /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-hostinfo               = `(hostinfo) 2>/dev/null               || echo unknown`
+/usr/bin/hostinfo      = `(/usr/bin/hostinfo) 2>/dev/null      || echo unknown`
 /bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
 /usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
 /bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`
@@ -1016,6 +1547,7 @@ do
   test -z "$as_dir" && as_dir=.
   echo "PATH: $as_dir"
 done
+IFS=$as_save_IFS
 
 } >&5
 
@@ -1037,7 +1569,6 @@ _ACEOF
 ac_configure_args=
 ac_configure_args0=
 ac_configure_args1=
-ac_sep=
 ac_must_keep_next=false
 for ac_pass in 1 2
 do
@@ -1048,7 +1579,7 @@ do
     -q | -quiet | --quiet | --quie | --qui | --qu | --q \
     | -silent | --silent | --silen | --sile | --sil)
       continue ;;
-    *" "*|*"   "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
+    *\'*)
       ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
     esac
     case $ac_pass in
@@ -1056,23 +1587,21 @@ do
     2)
       ac_configure_args1="$ac_configure_args1 '$ac_arg'"
       if test $ac_must_keep_next = true; then
-        ac_must_keep_next=false # Got value, back to normal.
+       ac_must_keep_next=false # Got value, back to normal.
       else
-        case $ac_arg in
-          *=* | --config-cache | -C | -disable-* | --disable-* \
-          | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
-          | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
-          | -with-* | --with-* | -without-* | --without-* | --x)
-            case "$ac_configure_args0 " in
-              "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
-            esac
-            ;;
-          -* ) ac_must_keep_next=true ;;
-        esac
+       case $ac_arg in
+         *=* | --config-cache | -C | -disable-* | --disable-* \
+         | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
+         | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
+         | -with-* | --with-* | -without-* | --without-* | --x)
+           case "$ac_configure_args0 " in
+             "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
+           esac
+           ;;
+         -* ) ac_must_keep_next=true ;;
+       esac
       fi
-      ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'"
-      # Get rid of the leading space.
-      ac_sep=" "
+      ac_configure_args="$ac_configure_args '$ac_arg'"
       ;;
     esac
   done
@@ -1083,8 +1612,8 @@ $as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_
 # When interrupted or exit'd, cleanup temporary files, and complete
 # config.log.  We remove comments because anyway the quotes in there
 # would cause problems or look ugly.
-# WARNING: Be sure not to use single quotes in there, as some shells,
-# such as our DU 5.0 friend, will then `close' the trap.
+# WARNING: Use '\'' to represent an apostrophe within the trap.
+# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
 trap 'exit_status=$?
   # Save into config.log some information that might help in debugging.
   {
@@ -1097,20 +1626,34 @@ trap 'exit_status=$?
 _ASBOX
     echo
     # The following way of writing the cache mishandles newlines in values,
-{
+(
+  for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
+    eval ac_val=\$$ac_var
+    case $ac_val in #(
+    *${as_nl}*)
+      case $ac_var in #(
+      *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
+echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
+      esac
+      case $ac_var in #(
+      _ | IFS | as_nl) ;; #(
+      *) $as_unset $ac_var ;;
+      esac ;;
+    esac
+  done
   (set) 2>&1 |
-    case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in
-    *ac_space=\ *)
+    case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
+    *${as_nl}ac_space=\ *)
       sed -n \
-        "s/'"'"'/'"'"'\\\\'"'"''"'"'/g;
-         s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p"
-      ;;
+       "s/'\''/'\''\\\\'\'''\''/g;
+         s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
+      ;; #(
     *)
-      sed -n \
-        "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
       ;;
-    esac;
-}
+    esac |
+    sort
+)
     echo
 
     cat <<\_ASBOX
@@ -1121,22 +1664,28 @@ _ASBOX
     echo
     for ac_var in $ac_subst_vars
     do
-      eval ac_val=$`echo $ac_var`
-      echo "$ac_var='"'"'$ac_val'"'"'"
+      eval ac_val=\$$ac_var
+      case $ac_val in
+      *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+      esac
+      echo "$ac_var='\''$ac_val'\''"
     done | sort
     echo
 
     if test -n "$ac_subst_files"; then
       cat <<\_ASBOX
-## ------------- ##
-## Output files. ##
-## ------------- ##
+## ------------------- ##
+## File substitutions. ##
+## ------------------- ##
 _ASBOX
       echo
       for ac_var in $ac_subst_files
       do
-       eval ac_val=$`echo $ac_var`
-        echo "$ac_var='"'"'$ac_val'"'"'"
+       eval ac_val=\$$ac_var
+       case $ac_val in
+       *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+       esac
+       echo "$ac_var='\''$ac_val'\''"
       done | sort
       echo
     fi
@@ -1148,26 +1697,24 @@ _ASBOX
 ## ----------- ##
 _ASBOX
       echo
-      sed "/^$/d" confdefs.h | sort
+      cat confdefs.h
       echo
     fi
     test "$ac_signal" != 0 &&
       echo "$as_me: caught signal $ac_signal"
     echo "$as_me: exit $exit_status"
   } >&5
-  rm -f core core.* *.core &&
-  rm -rf conftest* confdefs* conf$$* $ac_clean_files &&
+  rm -f core *.core core.conftest.* &&
+    rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
     exit $exit_status
-     ' 0
+' 0
 for ac_signal in 1 2 13 15; do
   trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
 done
 ac_signal=0
 
 # confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -rf conftest* confdefs.h
-# AIX cpp loses on an empty file, so make sure it contains at least a newline.
-echo >confdefs.h
+rm -f -r conftest* confdefs.h
 
 # Predefined preprocessor variables.
 
@@ -1198,14 +1745,17 @@ _ACEOF
 
 # Let the site file select an alternate cache file if it wants to.
 # Prefer explicitly selected file to automatically selected ones.
-if test -z "$CONFIG_SITE"; then
-  if test "x$prefix" != xNONE; then
-    CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
-  else
-    CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
-  fi
+if test -n "$CONFIG_SITE"; then
+  set x "$CONFIG_SITE"
+elif test "x$prefix" != xNONE; then
+  set x "$prefix/share/config.site" "$prefix/etc/config.site"
+else
+  set x "$ac_default_prefix/share/config.site" \
+       "$ac_default_prefix/etc/config.site"
 fi
-for ac_site_file in $CONFIG_SITE; do
+shift
+for ac_site_file
+do
   if test -r "$ac_site_file"; then
     { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
 echo "$as_me: loading site script $ac_site_file" >&6;}
@@ -1221,8 +1771,8 @@ if test -r "$cache_file"; then
     { echo "$as_me:$LINENO: loading cache $cache_file" >&5
 echo "$as_me: loading cache $cache_file" >&6;}
     case $cache_file in
-      [\\/]* | ?:[\\/]* ) . $cache_file;;
-      *)                      . ./$cache_file;;
+      [\\/]* | ?:[\\/]* ) . "$cache_file";;
+      *)                      . "./$cache_file";;
     esac
   fi
 else
@@ -1234,12 +1784,11 @@ fi
 # Check that the precious variables saved in the cache have kept the same
 # value.
 ac_cache_corrupted=false
-for ac_var in `(set) 2>&1 |
-               sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do
+for ac_var in $ac_precious_vars; do
   eval ac_old_set=\$ac_cv_env_${ac_var}_set
   eval ac_new_set=\$ac_env_${ac_var}_set
-  eval ac_old_val="\$ac_cv_env_${ac_var}_value"
-  eval ac_new_val="\$ac_env_${ac_var}_value"
+  eval ac_old_val=\$ac_cv_env_${ac_var}_value
+  eval ac_new_val=\$ac_env_${ac_var}_value
   case $ac_old_set,$ac_new_set in
     set,)
       { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
@@ -1252,20 +1801,19 @@ echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
     ,);;
     *)
       if test "x$ac_old_val" != "x$ac_new_val"; then
-        { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
+       { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
 echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
-        { echo "$as_me:$LINENO:   former value:  $ac_old_val" >&5
+       { echo "$as_me:$LINENO:   former value:  $ac_old_val" >&5
 echo "$as_me:   former value:  $ac_old_val" >&2;}
-        { echo "$as_me:$LINENO:   current value: $ac_new_val" >&5
+       { echo "$as_me:$LINENO:   current value: $ac_new_val" >&5
 echo "$as_me:   current value: $ac_new_val" >&2;}
-        ac_cache_corrupted=:
+       ac_cache_corrupted=:
       fi;;
   esac
   # Pass precious variables to config.status.
   if test "$ac_new_set" = set; then
     case $ac_new_val in
-    *" "*|*"   "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
-      ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+    *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
     *) ac_arg=$ac_var=$ac_new_val ;;
     esac
     case " $ac_configure_args " in
@@ -1282,12 +1830,6 @@ echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start ov
    { (exit 1); exit 1; }; }
 fi
 
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
 
 
 
@@ -1304,33 +1846,44 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
-am__api_version="1.7"
+am__api_version="1.9"
 ac_aux_dir=
-for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
-  if test -f $ac_dir/install-sh; then
+for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
+  if test -f "$ac_dir/install-sh"; then
     ac_aux_dir=$ac_dir
     ac_install_sh="$ac_aux_dir/install-sh -c"
     break
-  elif test -f $ac_dir/install.sh; then
+  elif test -f "$ac_dir/install.sh"; then
     ac_aux_dir=$ac_dir
     ac_install_sh="$ac_aux_dir/install.sh -c"
     break
-  elif test -f $ac_dir/shtool; then
+  elif test -f "$ac_dir/shtool"; then
     ac_aux_dir=$ac_dir
     ac_install_sh="$ac_aux_dir/shtool install -c"
     break
   fi
 done
 if test -z "$ac_aux_dir"; then
-  { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5
-echo "$as_me: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&2;}
+  { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5
+echo "$as_me: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&2;}
    { (exit 1); exit 1; }; }
 fi
-ac_config_guess="$SHELL $ac_aux_dir/config.guess"
-ac_config_sub="$SHELL $ac_aux_dir/config.sub"
-ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
+
+# These three variables are undocumented and unsupported,
+# and are intended to be withdrawn in a future Autoconf release.
+# They can cause serious problems if a builder's source tree is in a directory
+# whose full name contains unusual characters.
+ac_config_guess="$SHELL $ac_aux_dir/config.guess"  # Please don't use this var.
+ac_config_sub="$SHELL $ac_aux_dir/config.sub"  # Please don't use this var.
+ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.
+
 
 # Find a good install program.  We prefer a C program (faster),
 # so one script is as good as another.  But avoid the broken or
@@ -1343,9 +1896,10 @@ ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
 # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
 # AFS /usr/afsws/bin/install, which mishandles nonexistent args
 # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# OS/2's system install, which has a completely different semantic
 # ./install, which can be erroneously created by make from ./install.sh.
-echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
-echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
+echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; }
 if test -z "$INSTALL"; then
 if test "${ac_cv_path_install+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -1359,6 +1913,7 @@ do
 case $as_dir/ in
   ./ | .// | /cC/* | \
   /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
+  ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \
   /usr/ucb/* ) ;;
   *)
     # OSF1 and SCO ODT 3.0 have their own names for install.
@@ -1366,40 +1921,41 @@ case $as_dir/ in
     # by default.
     for ac_prog in ginstall scoinst install; do
       for ac_exec_ext in '' $ac_executable_extensions; do
-        if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
-          if test $ac_prog = install &&
-            grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
-            # AIX install.  It has an incompatible calling convention.
-            :
-          elif test $ac_prog = install &&
-            grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
-            # program-specific install script used by HP pwplus--don't use.
-            :
-          else
-            ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
-            break 3
-          fi
-        fi
+       if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; }; then
+         if test $ac_prog = install &&
+           grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+           # AIX install.  It has an incompatible calling convention.
+           :
+         elif test $ac_prog = install &&
+           grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+           # program-specific install script used by HP pwplus--don't use.
+           :
+         else
+           ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
+           break 3
+         fi
+       fi
       done
     done
     ;;
 esac
 done
+IFS=$as_save_IFS
 
 
 fi
   if test "${ac_cv_path_install+set}" = set; then
     INSTALL=$ac_cv_path_install
   else
-    # As a last resort, use the slow shell script.  We don't cache a
-    # path for INSTALL within a source directory, because that will
+    # As a last resort, use the slow shell script.  Don't cache a
+    # value for INSTALL within a source directory, because that will
     # break other packages using the cache if that directory is
-    # removed, or if the path is relative.
+    # removed, or if the value is a relative name.
     INSTALL=$ac_install_sh
   fi
 fi
-echo "$as_me:$LINENO: result: $INSTALL" >&5
-echo "${ECHO_T}$INSTALL" >&6
+echo "$as_me:$LINENO: result: $INSTALL" >&5
+echo "${ECHO_T}$INSTALL" >&6; }
 
 # Use test -z because SunOS4 sh mishandles braces in ${var-val}.
 # It thinks the first close brace ends the variable substitution.
@@ -1409,8 +1965,8 @@ test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
 
 test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
 
-echo "$as_me:$LINENO: checking whether build environment is sane" >&5
-echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking whether build environment is sane" >&5
+echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6; }
 # Just in case
 sleep 1
 echo timestamp > conftest.file
@@ -1452,21 +2008,20 @@ echo "$as_me: error: newly created file is older than distributed files!
 Check your system clock" >&2;}
    { (exit 1); exit 1; }; }
 fi
-echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
 test "$program_prefix" != NONE &&
-  program_transform_name="s,^,$program_prefix,;$program_transform_name"
+  program_transform_name="s&^&$program_prefix&;$program_transform_name"
 # Use a double $ so make ignores it.
 test "$program_suffix" != NONE &&
-  program_transform_name="s,\$,$program_suffix,;$program_transform_name"
+  program_transform_name="s&\$&$program_suffix&;$program_transform_name"
 # Double any \ or $.  echo might interpret backslashes.
 # By default was `s,x,x', remove it if useless.
 cat <<\_ACEOF >conftest.sed
 s/[\\$]/&&/g;s/;s,x,x,$//
 _ACEOF
 program_transform_name=`echo $program_transform_name | sed -f conftest.sed`
-rm conftest.sed
-
+rm -f conftest.sed
 
 # expand $ac_aux_dir to an absolute path
 am_aux_dir=`cd $ac_aux_dir && pwd`
@@ -1481,12 +2036,45 @@ else
 echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
 fi
 
+if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
+  # We used to keeping the `.' as first argument, in order to
+  # allow $(mkdir_p) to be used without argument.  As in
+  #   $(mkdir_p) $(somedir)
+  # where $(somedir) is conditionally defined.  However this is wrong
+  # for two reasons:
+  #  1. if the package is installed by a user who cannot write `.'
+  #     make install will fail,
+  #  2. the above comment should most certainly read
+  #     $(mkdir_p) $(DESTDIR)$(somedir)
+  #     so it does not work when $(somedir) is undefined and
+  #     $(DESTDIR) is not.
+  #  To support the latter case, we have to write
+  #     test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir),
+  #  so the `.' trick is pointless.
+  mkdir_p='mkdir -p --'
+else
+  # On NextStep and OpenStep, the `mkdir' command does not
+  # recognize any option.  It will interpret all options as
+  # directories to create, and then abort because `.' already
+  # exists.
+  for d in ./-p ./--version;
+  do
+    test -d $d && rmdir $d
+  done
+  # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists.
+  if test -f "$ac_aux_dir/mkinstalldirs"; then
+    mkdir_p='$(mkinstalldirs)'
+  else
+    mkdir_p='$(install_sh) -d'
+  fi
+fi
+
 for ac_prog in gawk mawk nawk awk
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_AWK+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -1499,58 +2087,70 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_AWK="$ac_prog"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 AWK=$ac_cv_prog_AWK
 if test -n "$AWK"; then
-  echo "$as_me:$LINENO: result: $AWK" >&5
-echo "${ECHO_T}$AWK" >&6
+  echo "$as_me:$LINENO: result: $AWK" >&5
+echo "${ECHO_T}$AWK" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
+
   test -n "$AWK" && break
 done
 
-echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6
-set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,./+-,__p_,'`
-if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then
+echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; }
+set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
+if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.make <<\_ACEOF
+SHELL = /bin/sh
 all:
-       @echo 'ac_maketemp="$(MAKE)"'
+       @echo '@@@%%%=$(MAKE)=@@@%%%'
 _ACEOF
 # GNU make sometimes prints "make[1]: Entering...", which would confuse us.
-eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=`
-if test -n "$ac_maketemp"; then
-  eval ac_cv_prog_make_${ac_make}_set=yes
-else
-  eval ac_cv_prog_make_${ac_make}_set=no
-fi
+case `${MAKE-make} -f conftest.make 2>/dev/null` in
+  *@@@%%%=?*=@@@%%%*)
+    eval ac_cv_prog_make_${ac_make}_set=yes;;
+  *)
+    eval ac_cv_prog_make_${ac_make}_set=no;;
+esac
 rm -f conftest.make
 fi
-if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
+  echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
   SET_MAKE=
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
   SET_MAKE="MAKE=${MAKE-make}"
 fi
 
- # test to see if srcdir already configured
+rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+  am__leading_dot=.
+else
+  am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+
+# test to see if srcdir already configured
 if test "`cd $srcdir && pwd`" != "`pwd`" &&
    test -f $srcdir/config.status; then
   { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5
@@ -1570,7 +2170,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE=openafs
- VERSION=1.4.4
+ VERSION=1.4.5pre2
 
 
 cat >>confdefs.h <<_ACEOF
@@ -1598,9 +2198,6 @@ AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
 
 MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
 
-
-AMTAR=${AMTAR-"${am_missing_run}tar"}
-
 install_sh=${install_sh-"$am_aux_dir/install-sh"}
 
 # Installed binaries are usually stripped using `strip' when the user
@@ -1611,8 +2208,8 @@ if test "$cross_compiling" != no; then
   if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
 set dummy ${ac_tool_prefix}strip; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_STRIP+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -1625,32 +2222,34 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_STRIP="${ac_tool_prefix}strip"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 STRIP=$ac_cv_prog_STRIP
 if test -n "$STRIP"; then
-  echo "$as_me:$LINENO: result: $STRIP" >&5
-echo "${ECHO_T}$STRIP" >&6
+  echo "$as_me:$LINENO: result: $STRIP" >&5
+echo "${ECHO_T}$STRIP" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
+
 fi
 if test -z "$ac_cv_prog_STRIP"; then
   ac_ct_STRIP=$STRIP
   # Extract the first word of "strip", so it can be a program name with args.
 set dummy strip; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -1663,27 +2262,41 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_ac_ct_STRIP="strip"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
-  test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":"
 fi
 fi
 ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
 if test -n "$ac_ct_STRIP"; then
-  echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
-echo "${ECHO_T}$ac_ct_STRIP" >&6
+  echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
+echo "${ECHO_T}$ac_ct_STRIP" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
-  STRIP=$ac_ct_STRIP
+  if test "x$ac_ct_STRIP" = x; then
+    STRIP=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+    STRIP=$ac_ct_STRIP
+  fi
 else
   STRIP="$ac_cv_prog_STRIP"
 fi
@@ -1693,10 +2306,20 @@ INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
 
 # We need awk for the "check" target.  The system "awk" is bad on
 # some platforms.
+# Always define AMTAR for backward compatibility.
+
+AMTAR=${AMTAR-"${am_missing_run}tar"}
 
+am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
 
 
-          ac_config_headers="$ac_config_headers src/config/afsconfig.h"
+
+
+
+ac_config_headers="$ac_config_headers src/config/afsconfig.h"
+
+MACOS_VERSION=1.4.5fc2
+
 
 
 ac_ext=c
@@ -1707,8 +2330,8 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
 set dummy ${ac_tool_prefix}gcc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_CC+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -1721,32 +2344,34 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_CC="${ac_tool_prefix}gcc"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 CC=$ac_cv_prog_CC
 if test -n "$CC"; then
-  echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
+  echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
+
 fi
 if test -z "$ac_cv_prog_CC"; then
   ac_ct_CC=$CC
   # Extract the first word of "gcc", so it can be a program name with args.
 set dummy gcc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -1759,36 +2384,51 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_ac_ct_CC="gcc"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 ac_ct_CC=$ac_cv_prog_ac_ct_CC
 if test -n "$ac_ct_CC"; then
-  echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6
+  echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+echo "${ECHO_T}$ac_ct_CC" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
-  CC=$ac_ct_CC
+  if test "x$ac_ct_CC" = x; then
+    CC=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+    CC=$ac_ct_CC
+  fi
 else
   CC="$ac_cv_prog_CC"
 fi
 
 if test -z "$CC"; then
-  if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
+          if test -n "$ac_tool_prefix"; then
+    # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
 set dummy ${ac_tool_prefix}cc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_CC+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -1801,74 +2441,34 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_CC="${ac_tool_prefix}cc"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 CC=$ac_cv_prog_CC
 if test -n "$CC"; then
-  echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
-else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-fi
-if test -z "$ac_cv_prog_CC"; then
-  ac_ct_CC=$CC
-  # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$ac_ct_CC"; then
-  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_CC="cc"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
-  echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6
+  { echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
-  CC=$ac_ct_CC
-else
-  CC="$ac_cv_prog_CC"
-fi
 
+  fi
 fi
 if test -z "$CC"; then
   # Extract the first word of "cc", so it can be a program name with args.
 set dummy cc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_CC+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -1882,7 +2482,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
     if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
        ac_prog_rejected=yes
        continue
@@ -1893,6 +2493,7 @@ do
   fi
 done
 done
+IFS=$as_save_IFS
 
 if test $ac_prog_rejected = yes; then
   # We found a bogon in the path, so make sure we never use it.
@@ -1910,22 +2511,23 @@ fi
 fi
 CC=$ac_cv_prog_CC
 if test -n "$CC"; then
-  echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
+  echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
+
 fi
 if test -z "$CC"; then
   if test -n "$ac_tool_prefix"; then
-  for ac_prog in cl
+  for ac_prog in cl.exe
   do
     # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_CC+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -1938,36 +2540,38 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 CC=$ac_cv_prog_CC
 if test -n "$CC"; then
-  echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
+  echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
+
     test -n "$CC" && break
   done
 fi
 if test -z "$CC"; then
   ac_ct_CC=$CC
-  for ac_prog in cl
+  for ac_prog in cl.exe
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -1980,29 +2584,45 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_ac_ct_CC="$ac_prog"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 ac_ct_CC=$ac_cv_prog_ac_ct_CC
 if test -n "$ac_ct_CC"; then
-  echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6
+  echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+echo "${ECHO_T}$ac_ct_CC" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
+
   test -n "$ac_ct_CC" && break
 done
 
-  CC=$ac_ct_CC
+  if test "x$ac_ct_CC" = x; then
+    CC=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+    CC=$ac_ct_CC
+  fi
 fi
 
 fi
@@ -2015,27 +2635,40 @@ See \`config.log' for more details." >&2;}
    { (exit 1); exit 1; }; }
 
 # Provide some information about the compiler.
-echo "$as_me:$LINENO:" \
-     "checking for C compiler version" >&5
+echo "$as_me:$LINENO: checking for C compiler version" >&5
 ac_compiler=`set X $ac_compile; echo $2`
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
-  (eval $ac_compiler --version </dev/null >&5) 2>&5
+{ (ac_try="$ac_compiler --version >&5"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compiler --version >&5") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5
-  (eval $ac_compiler -v </dev/null >&5) 2>&5
+{ (ac_try="$ac_compiler -v >&5"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compiler -v >&5") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5
-  (eval $ac_compiler -V </dev/null >&5) 2>&5
+{ (ac_try="$ac_compiler -V >&5"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compiler -V >&5") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }
 
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -2055,46 +2688,70 @@ ac_clean_files="$ac_clean_files a.out a.exe b.out"
 # Try to create an executable without -o first, disregard a.out.
 # It will help us diagnose broken compilers, and finding out an intuition
 # of exeext.
-echo "$as_me:$LINENO: checking for C compiler default output" >&5
-echo $ECHO_N "checking for C compiler default output... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for C compiler default output file name" >&5
+echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6; }
 ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5
-  (eval $ac_link_default) 2>&5
+#
+# List of possible output files, starting from the most likely.
+# The algorithm is not robust to junk in `.', hence go to wildcards (a.*)
+# only as a last resort.  b.out is created by i960 compilers.
+ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out'
+#
+# The IRIX 6 linker writes into existing files which may not be
+# executable, retaining their permissions.  Remove them first so a
+# subsequent execution test works.
+ac_rmfiles=
+for ac_file in $ac_files
+do
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;;
+    * ) ac_rmfiles="$ac_rmfiles $ac_file";;
+  esac
+done
+rm -f $ac_rmfiles
+
+if { (ac_try="$ac_link_default"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link_default") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; then
-  # Find the output, starting from the most likely.  This scheme is
-# not robust to junk in `.', hence go to wildcards (a.*) only as a last
-# resort.
-
-# Be careful to initialize this variable, since it used to be cached.
-# Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile.
-ac_cv_exeext=
-# b.out is created by i960 compilers.
-for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out
+  # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
+# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
+# in a Makefile.  We should not override ac_cv_exeext if it was cached,
+# so that the user can short-circuit this test for compilers unknown to
+# Autoconf.
+for ac_file in $ac_files
 do
   test -f "$ac_file" || continue
   case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj )
-        ;;
-    conftest.$ac_ext )
-        # This is the source file.
-        ;;
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj )
+       ;;
     [ab].out )
-        # We found the default executable, but exeext='' is most
-        # certainly right.
-        break;;
+       # We found the default executable, but exeext='' is most
+       # certainly right.
+       break;;
     *.* )
-        ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-        # FIXME: I believe we export ac_cv_exeext for Libtool,
-        # but it would be cool to find out if it's true.  Does anybody
-        # maintain Libtool? --akim.
-        export ac_cv_exeext
-        break;;
+        if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
+       then :; else
+          ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+       fi
+       # We set ac_cv_exeext here because the later test for it is not
+       # safe: cross compilers may not add the suffix if given an `-o'
+       # argument, so we may need to know it at that point already.
+       # Even if this section looks crufty: it has the advantage of
+       # actually working.
+       break;;
     * )
-        break;;
+       break;;
   esac
 done
+test "$ac_cv_exeext" = no && ac_cv_exeext=
+
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
@@ -2107,19 +2764,23 @@ See \`config.log' for more details." >&2;}
 fi
 
 ac_exeext=$ac_cv_exeext
-echo "$as_me:$LINENO: result: $ac_file" >&5
-echo "${ECHO_T}$ac_file" >&6
+echo "$as_me:$LINENO: result: $ac_file" >&5
+echo "${ECHO_T}$ac_file" >&6; }
 
-# Check the compiler produces executables we can run.  If not, either
+# Check that the compiler produces executables we can run.  If not, either
 # the compiler is broken, or we cross compile.
-echo "$as_me:$LINENO: checking whether the C compiler works" >&5
-echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking whether the C compiler works" >&5
+echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6; }
 # FIXME: These cross compiler hacks should be removed for Autoconf 3.0
 # If not cross compiling, check that we can run a simple program.
 if test "$cross_compiling" != yes; then
   if { ac_try='./$ac_file'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -2138,22 +2799,27 @@ See \`config.log' for more details." >&2;}
     fi
   fi
 fi
-echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
 
 rm -f a.out a.exe conftest$ac_cv_exeext b.out
 ac_clean_files=$ac_clean_files_save
-# Check the compiler produces executables we can run.  If not, either
+# Check that the compiler produces executables we can run.  If not, either
 # the compiler is broken, or we cross compile.
-echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
-echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6
-echo "$as_me:$LINENO: result: $cross_compiling" >&5
-echo "${ECHO_T}$cross_compiling" >&6
-
-echo "$as_me:$LINENO: checking for suffix of executables" >&5
-echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+{ echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
+echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: $cross_compiling" >&5
+echo "${ECHO_T}$cross_compiling" >&6; }
+
+{ echo "$as_me:$LINENO: checking for suffix of executables" >&5
+echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; }
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; then
@@ -2164,10 +2830,9 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
 for ac_file in conftest.exe conftest conftest.*; do
   test -f "$ac_file" || continue
   case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;;
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;;
     *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-          export ac_cv_exeext
-          break;;
+         break;;
     * ) break;;
   esac
 done
@@ -2180,19 +2845,18 @@ See \`config.log' for more details." >&2;}
 fi
 
 rm -f conftest$ac_cv_exeext
-echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
-echo "${ECHO_T}$ac_cv_exeext" >&6
+echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
+echo "${ECHO_T}$ac_cv_exeext" >&6; }
 
 rm -f conftest.$ac_ext
 EXEEXT=$ac_cv_exeext
 ac_exeext=$EXEEXT
-echo "$as_me:$LINENO: checking for suffix of object files" >&5
-echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for suffix of object files" >&5
+echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; }
 if test "${ac_cv_objext+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -2208,14 +2872,20 @@ main ()
 }
 _ACEOF
 rm -f conftest.o conftest.obj
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; then
-  for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do
+  for ac_file in conftest.o conftest.obj conftest.*; do
+  test -f "$ac_file" || continue;
   case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;;
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;;
     *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
        break;;
   esac
@@ -2233,17 +2903,16 @@ fi
 
 rm -f conftest.$ac_cv_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
-echo "${ECHO_T}$ac_cv_objext" >&6
+echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
+echo "${ECHO_T}$ac_cv_objext" >&6; }
 OBJEXT=$ac_cv_objext
 ac_objext=$OBJEXT
-echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
-echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
+echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; }
 if test "${ac_cv_c_compiler_gnu+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -2262,14 +2931,36 @@ main ()
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -2278,25 +2969,139 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_compiler_gnu=no
+       ac_compiler_gnu=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 ac_cv_c_compiler_gnu=$ac_compiler_gnu
 
 fi
-echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6
+echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
+echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; }
 GCC=`test $ac_compiler_gnu = yes && echo yes`
 ac_test_CFLAGS=${CFLAGS+set}
 ac_save_CFLAGS=$CFLAGS
-CFLAGS="-g"
-echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
-echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
+echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; }
 if test "${ac_cv_prog_cc_g+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
+  ac_save_c_werror_flag=$ac_c_werror_flag
+   ac_c_werror_flag=yes
+   ac_cv_prog_cc_g=no
+   CFLAGS="-g"
+   cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_prog_cc_g=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       CFLAGS=""
+      cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  :
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_c_werror_flag=$ac_save_c_werror_flag
+        CFLAGS="-g"
+        cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -2312,14 +3117,36 @@ main ()
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -2328,12 +3155,20 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_prog_cc_g=no
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+   ac_c_werror_flag=$ac_save_c_werror_flag
 fi
-echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
-echo "${ECHO_T}$ac_cv_prog_cc_g" >&6
+echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
+echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; }
 if test "$ac_test_CFLAGS" = set; then
   CFLAGS=$ac_save_CFLAGS
 elif test $ac_cv_prog_cc_g = yes; then
@@ -2349,15 +3184,14 @@ else
     CFLAGS=
   fi
 fi
-echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5
-echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6
-if test "${ac_cv_prog_cc_stdc+set}" = set; then
+{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5
+echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; }
+if test "${ac_cv_prog_cc_c89+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  ac_cv_prog_cc_stdc=no
+  ac_cv_prog_cc_c89=no
 ac_save_CC=$CC
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -2385,6 +3219,21 @@ static char *f (char * (*g) (char **, int), char **p, ...)
   va_end (v);
   return s;
 }
+
+/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
+   function prototypes and stuff, but not '\xHH' hex character constants.
+   These don't provoke an error unfortunately, instead are silently treated
+   as 'x'.  The following induces an error, until -std is added to get
+   proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
+   array size at least.  It's necessary to write '\x00'==0 to get something
+   that's true only with -std.  */
+int osf4_cc_array ['\x00' == 0 ? 1 : -1];
+
+/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
+   inside strings and character constants.  */
+#define FOO(x) 'x'
+int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
+
 int test (int i, double x);
 struct s1 {int (*f) (int a);};
 struct s2 {int (*f) (double a);};
@@ -2399,195 +3248,93 @@ return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
   return 0;
 }
 _ACEOF
-# Don't try gcc -ansi; that turns off useful extensions and
-# breaks some systems' header files.
-# AIX                  -qlanglvl=ansi
-# Ultrix and OSF/1     -std1
-# HP-UX 10.20 and later        -Ae
-# HP-UX older versions -Aa -D_HPUX_SOURCE
-# SVR4                 -Xc -D__EXTENSIONS__
-for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
+       -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
 do
   CC="$ac_save_CC $ac_arg"
   rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_prog_cc_stdc=$ac_arg
-break
+  ac_cv_prog_cc_c89=$ac_arg
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
+
 fi
-rm -f conftest.$ac_objext
+
+rm -f core conftest.err conftest.$ac_objext
+  test "x$ac_cv_prog_cc_c89" != "xno" && break
 done
-rm -f conftest.$ac_ext conftest.$ac_objext
+rm -f conftest.$ac_ext
 CC=$ac_save_CC
 
 fi
-
-case "x$ac_cv_prog_cc_stdc" in
-  x|xno)
-    echo "$as_me:$LINENO: result: none needed" >&5
-echo "${ECHO_T}none needed" >&6 ;;
+# AC_CACHE_VAL
+case "x$ac_cv_prog_cc_c89" in
+  x)
+    { echo "$as_me:$LINENO: result: none needed" >&5
+echo "${ECHO_T}none needed" >&6; } ;;
+  xno)
+    { echo "$as_me:$LINENO: result: unsupported" >&5
+echo "${ECHO_T}unsupported" >&6; } ;;
   *)
-    echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5
-echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6
-    CC="$CC $ac_cv_prog_cc_stdc" ;;
+    CC="$CC $ac_cv_prog_cc_c89"
+    { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5
+echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;;
 esac
 
-# Some people use a C++ compiler to compile C.  Since we use `exit',
-# in C++ we need to declare it.  In case someone uses the same compiler
-# for both compiling C and C++ we need to have the C++ compiler decide
-# the declaration of exit, since it's the most demanding environment.
-cat >conftest.$ac_ext <<_ACEOF
-#ifndef __cplusplus
-  choke me
-#endif
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  for ac_declaration in \
-   ''\
-   '#include <stdlib.h>' \
-   'extern "C" void std::exit (int) throw (); using std::exit;' \
-   'extern "C" void std::exit (int); using std::exit;' \
-   'extern "C" void exit (int) throw ();' \
-   'extern "C" void exit (int);' \
-   'void exit (int);'
-do
-  cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <stdlib.h>
-$ac_declaration
-int
-main ()
-{
-exit (42);
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  :
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-continue
-fi
-rm -f conftest.$ac_objext conftest.$ac_ext
-  cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_declaration
-int
-main ()
-{
-exit (42);
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  break
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.$ac_objext conftest.$ac_ext
-done
-rm -f conftest*
-if test -n "$ac_declaration"; then
-  echo '#ifdef __cplusplus' >>confdefs.h
-  echo $ac_declaration      >>confdefs.h
-  echo '#endif'             >>confdefs.h
-fi
-
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
-fi
-rm -f conftest.$ac_objext conftest.$ac_ext
 ac_ext=c
 ac_cpp='$CPP $CPPFLAGS'
 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
-rm -f .deps 2>/dev/null
-mkdir .deps 2>/dev/null
-if test -d .deps; then
-  DEPDIR=.deps
-else
-  # MS-DOS does not allow filenames that begin with a dot.
-  DEPDIR=_deps
-fi
-rmdir .deps 2>/dev/null
-
+DEPDIR="${am__leading_dot}deps"
 
-          ac_config_commands="$ac_config_commands depfiles"
+ac_config_commands="$ac_config_commands depfiles"
 
 
 am_make=${MAKE-make}
 cat > confinc << 'END'
-doit:
+am__doit:
        @echo done
+.PHONY: am__doit
 END
 # If we don't find an include directive, just comment out the code.
-echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5
-echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5
+echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6; }
 am__include="#"
 am__quote=
 _am_result=none
@@ -2614,15 +3361,15 @@ if test "$am__include" = "#"; then
 fi
 
 
-echo "$as_me:$LINENO: result: $_am_result" >&5
-echo "${ECHO_T}$_am_result" >&6
+echo "$as_me:$LINENO: result: $_am_result" >&5
+echo "${ECHO_T}$_am_result" >&6; }
 rm -f confinc confmf
 
-# Check whether --enable-dependency-tracking or --disable-dependency-tracking was given.
+# Check whether --enable-dependency-tracking was given.
 if test "${enable_dependency_tracking+set}" = set; then
-  enableval="$enable_dependency_tracking"
+  enableval=$enable_dependency_tracking;
+fi
 
-fi;
 if test "x$enable_dependency_tracking" != xno; then
   am_depcomp="$ac_aux_dir/depcomp"
   AMDEPBACKSLASH='\'
@@ -2642,8 +3389,8 @@ fi
 
 depcc="$CC"   am_compiler_list=
 
-echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
-echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
+echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; }
 if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -2658,18 +3405,34 @@ else
   # using a relative directory.
   cp "$am_depcomp" conftest.dir
   cd conftest.dir
+  # We will build objects and dependencies in a subdirectory because
+  # it helps to detect inapplicable dependency modes.  For instance
+  # both Tru64's cc and ICC support -MD to output dependencies as a
+  # side effect of compilation, but ICC will put the dependencies in
+  # the current directory while Tru64 will put them in the object
+  # directory.
+  mkdir sub
 
   am_cv_CC_dependencies_compiler_type=none
   if test "$am_compiler_list" = ""; then
      am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
   fi
   for depmode in $am_compiler_list; do
+    # Setup a source with many dependencies, because some compilers
+    # like to wrap large dependency lists on column 80 (with \), and
+    # we should not choose a depcomp mode which is confused by this.
+    #
     # We need to recreate these files for each test, as the compiler may
     # overwrite some of them when testing with obscure command lines.
     # This happens at least with the AIX C compiler.
-    echo '#include "conftest.h"' > conftest.c
-    echo 'int i;' > conftest.h
-    echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf
+    : > sub/conftest.c
+    for i in 1 2 3 4 5 6; do
+      echo '#include "conftst'$i'.h"' >> sub/conftest.c
+      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+      # Solaris 8's {/usr,}/bin/sh.
+      touch sub/conftst$i.h
+    done
+    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
 
     case $depmode in
     nosideeffect)
@@ -2687,13 +3450,25 @@ else
     # mode.  It turns out that the SunPro C++ compiler does not properly
     # handle `-M -o', and we need to detect this.
     if depmode=$depmode \
-       source=conftest.c object=conftest.o \
-       depfile=conftest.Po tmpdepfile=conftest.TPo \
-       $SHELL ./depcomp $depcc -c -o conftest.o conftest.c >/dev/null 2>&1 &&
-       grep conftest.h conftest.Po > /dev/null 2>&1 &&
+       source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
+       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+       $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
+         >/dev/null 2>conftest.err &&
+       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
        ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
-      am_cv_CC_dependencies_compiler_type=$depmode
-      break
+      # icc doesn't choke on unknown options, it will just issue warnings
+      # or remarks (even with -Werror).  So we grep stderr for any message
+      # that says an option was ignored or not supported.
+      # When given -MP, icc 7.0 and 7.1 complain thusly:
+      #   icc: Command line warning: ignoring option '-M'; no argument required
+      # The diagnosis changed in icc 8.0:
+      #   icc: Command line remark: option '-MP' not supported
+      if (grep 'ignoring option' conftest.err ||
+          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+        am_cv_CC_dependencies_compiler_type=$depmode
+        break
+      fi
     fi
   done
 
@@ -2704,8 +3479,8 @@ else
 fi
 
 fi
-echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5
-echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6
+echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5
+echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; }
 CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
 
 
@@ -2722,35 +3497,49 @@ fi
 
 
 # Make sure we can run config.sub.
-$ac_config_sub sun4 >/dev/null 2>&1 ||
-  { { echo "$as_me:$LINENO: error: cannot run $ac_config_sub" >&5
-echo "$as_me: error: cannot run $ac_config_sub" >&2;}
+$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
+  { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5
+echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;}
    { (exit 1); exit 1; }; }
 
-echo "$as_me:$LINENO: checking build system type" >&5
-echo $ECHO_N "checking build system type... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking build system type" >&5
+echo $ECHO_N "checking build system type... $ECHO_C" >&6; }
 if test "${ac_cv_build+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  ac_cv_build_alias=$build_alias
-test -z "$ac_cv_build_alias" &&
-  ac_cv_build_alias=`$ac_config_guess`
-test -z "$ac_cv_build_alias" &&
+  ac_build_alias=$build_alias
+test "x$ac_build_alias" = x &&
+  ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
+test "x$ac_build_alias" = x &&
   { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
 echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
    { (exit 1); exit 1; }; }
-ac_cv_build=`$ac_config_sub $ac_cv_build_alias` ||
-  { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_build_alias failed" >&5
-echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed" >&2;}
+ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
+  { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5
+echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;}
    { (exit 1); exit 1; }; }
 
 fi
-echo "$as_me:$LINENO: result: $ac_cv_build" >&5
-echo "${ECHO_T}$ac_cv_build" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_build" >&5
+echo "${ECHO_T}$ac_cv_build" >&6; }
+case $ac_cv_build in
+*-*-*) ;;
+*) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5
+echo "$as_me: error: invalid value of canonical build" >&2;}
+   { (exit 1); exit 1; }; };;
+esac
 build=$ac_cv_build
-build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_build
+shift
+build_cpu=$1
+build_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+build_os=$*
+IFS=$ac_save_IFS
+case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
 
 
 
@@ -2759,8 +3548,8 @@ ac_cpp='$CPP $CPPFLAGS'
 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
-echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
-echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
+echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; }
 # On Suns, sometimes $CPP names a directory.
 if test -n "$CPP" && test -d "$CPP"; then
   CPP=
@@ -2782,7 +3571,6 @@ do
   # On the NeXT, cc -E runs the code through the compiler's parser,
   # not just through cpp. "Syntax error" is here to catch this case.
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -2793,10 +3581,15 @@ cat >>conftest.$ac_ext <<_ACEOF
 #else
 # include <assert.h>
 #endif
-                     Syntax error
+                    Syntax error
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
@@ -2805,6 +3598,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
   (exit $ac_status); } >/dev/null; then
   if test -s conftest.err; then
     ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
   else
     ac_cpp_err=
   fi
@@ -2820,12 +3614,12 @@ sed 's/^/| /' conftest.$ac_ext >&5
   # Broken: fails on valid input.
 continue
 fi
+
 rm -f conftest.err conftest.$ac_ext
 
-  # OK, works on sane cases.  Now check whether non-existent headers
+  # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -2833,8 +3627,13 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 #include <ac_nonexistent.h>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
@@ -2843,6 +3642,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
   (exit $ac_status); } >/dev/null; then
   if test -s conftest.err; then
     ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
   else
     ac_cpp_err=
   fi
@@ -2860,6 +3660,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
 ac_preproc_ok=:
 break
 fi
+
 rm -f conftest.err conftest.$ac_ext
 
 done
@@ -2877,8 +3678,8 @@ fi
 else
   ac_cv_prog_CPP=$CPP
 fi
-echo "$as_me:$LINENO: result: $CPP" >&5
-echo "${ECHO_T}$CPP" >&6
+echo "$as_me:$LINENO: result: $CPP" >&5
+echo "${ECHO_T}$CPP" >&6; }
 ac_preproc_ok=false
 for ac_c_preproc_warn_flag in '' yes
 do
@@ -2889,7 +3690,6 @@ do
   # On the NeXT, cc -E runs the code through the compiler's parser,
   # not just through cpp. "Syntax error" is here to catch this case.
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -2900,10 +3700,15 @@ cat >>conftest.$ac_ext <<_ACEOF
 #else
 # include <assert.h>
 #endif
-                     Syntax error
+                    Syntax error
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
@@ -2912,6 +3717,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
   (exit $ac_status); } >/dev/null; then
   if test -s conftest.err; then
     ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
   else
     ac_cpp_err=
   fi
@@ -2927,12 +3733,12 @@ sed 's/^/| /' conftest.$ac_ext >&5
   # Broken: fails on valid input.
 continue
 fi
+
 rm -f conftest.err conftest.$ac_ext
 
-  # OK, works on sane cases.  Now check whether non-existent headers
+  # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -2940,8 +3746,13 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 #include <ac_nonexistent.h>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
@@ -2950,6 +3761,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
   (exit $ac_status); } >/dev/null; then
   if test -s conftest.err; then
     ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
   else
     ac_cpp_err=
   fi
@@ -2967,6 +3779,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
 ac_preproc_ok=:
 break
 fi
+
 rm -f conftest.err conftest.$ac_ext
 
 done
@@ -2989,28 +3802,174 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
-echo "$as_me:$LINENO: checking for egrep" >&5
-echo $ECHO_N "checking for egrep... $ECHO_C" >&6
-if test "${ac_cv_prog_egrep+set}" = set; then
+{ echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5
+echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; }
+if test "${ac_cv_path_GREP+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  # Extract the first word of "grep ggrep" to use in msg output
+if test -z "$GREP"; then
+set dummy grep ggrep; ac_prog_name=$2
+if test "${ac_cv_path_GREP+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_path_GREP_found=false
+# Loop through the user's path and test for each of PROGNAME-LIST
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_prog in grep ggrep; do
+  for ac_exec_ext in '' $ac_executable_extensions; do
+    ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
+    { test -f "$ac_path_GREP" && $as_executable_p "$ac_path_GREP"; } || continue
+    # Check for GNU ac_path_GREP and select it if it is found.
+  # Check for GNU $ac_path_GREP
+case `"$ac_path_GREP" --version 2>&1` in
+*GNU*)
+  ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
+*)
+  ac_count=0
+  echo $ECHO_N "0123456789$ECHO_C" >"conftest.in"
+  while :
+  do
+    cat "conftest.in" "conftest.in" >"conftest.tmp"
+    mv "conftest.tmp" "conftest.in"
+    cp "conftest.in" "conftest.nl"
+    echo 'GREP' >> "conftest.nl"
+    "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+    ac_count=`expr $ac_count + 1`
+    if test $ac_count -gt ${ac_path_GREP_max-0}; then
+      # Best one so far, save it but keep looking for a better one
+      ac_cv_path_GREP="$ac_path_GREP"
+      ac_path_GREP_max=$ac_count
+    fi
+    # 10*(2^10) chars as input seems more than enough
+    test $ac_count -gt 10 && break
+  done
+  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+
+    $ac_path_GREP_found && break 3
+  done
+done
+
+done
+IFS=$as_save_IFS
+
+
+fi
+
+GREP="$ac_cv_path_GREP"
+if test -z "$GREP"; then
+  { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
+echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+else
+  ac_cv_path_GREP=$GREP
+fi
+
+
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5
+echo "${ECHO_T}$ac_cv_path_GREP" >&6; }
+ GREP="$ac_cv_path_GREP"
+
+
+{ echo "$as_me:$LINENO: checking for egrep" >&5
+echo $ECHO_N "checking for egrep... $ECHO_C" >&6; }
+if test "${ac_cv_path_EGREP+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  if echo a | (grep -E '(a|b)') >/dev/null 2>&1
-    then ac_cv_prog_egrep='grep -E'
-    else ac_cv_prog_egrep='egrep'
+  if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
+   then ac_cv_path_EGREP="$GREP -E"
+   else
+     # Extract the first word of "egrep" to use in msg output
+if test -z "$EGREP"; then
+set dummy egrep; ac_prog_name=$2
+if test "${ac_cv_path_EGREP+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_path_EGREP_found=false
+# Loop through the user's path and test for each of PROGNAME-LIST
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_prog in egrep; do
+  for ac_exec_ext in '' $ac_executable_extensions; do
+    ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
+    { test -f "$ac_path_EGREP" && $as_executable_p "$ac_path_EGREP"; } || continue
+    # Check for GNU ac_path_EGREP and select it if it is found.
+  # Check for GNU $ac_path_EGREP
+case `"$ac_path_EGREP" --version 2>&1` in
+*GNU*)
+  ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
+*)
+  ac_count=0
+  echo $ECHO_N "0123456789$ECHO_C" >"conftest.in"
+  while :
+  do
+    cat "conftest.in" "conftest.in" >"conftest.tmp"
+    mv "conftest.tmp" "conftest.in"
+    cp "conftest.in" "conftest.nl"
+    echo 'EGREP' >> "conftest.nl"
+    "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+    ac_count=`expr $ac_count + 1`
+    if test $ac_count -gt ${ac_path_EGREP_max-0}; then
+      # Best one so far, save it but keep looking for a better one
+      ac_cv_path_EGREP="$ac_path_EGREP"
+      ac_path_EGREP_max=$ac_count
     fi
+    # 10*(2^10) chars as input seems more than enough
+    test $ac_count -gt 10 && break
+  done
+  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+
+    $ac_path_EGREP_found && break 3
+  done
+done
+
+done
+IFS=$as_save_IFS
+
+
+fi
+
+EGREP="$ac_cv_path_EGREP"
+if test -z "$EGREP"; then
+  { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
+echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+else
+  ac_cv_path_EGREP=$EGREP
+fi
+
+
+   fi
 fi
-echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5
-echo "${ECHO_T}$ac_cv_prog_egrep" >&6
- EGREP=$ac_cv_prog_egrep
+{ echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5
+echo "${ECHO_T}$ac_cv_path_EGREP" >&6; }
+ EGREP="$ac_cv_path_EGREP"
 
 
-echo "$as_me:$LINENO: checking for ANSI C header files" >&5
-echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for ANSI C header files" >&5
+echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; }
 if test "${ac_cv_header_stdc+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -3030,14 +3989,36 @@ main ()
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -3046,14 +4027,14 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_header_stdc=no
+       ac_cv_header_stdc=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
 if test $ac_cv_header_stdc = yes; then
   # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -3075,7 +4056,6 @@ fi
 if test $ac_cv_header_stdc = yes; then
   # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -3100,21 +4080,21 @@ if test $ac_cv_header_stdc = yes; then
   :
 else
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 #include <ctype.h>
+#include <stdlib.h>
 #if ((' ' & 0x0FF) == 0x020)
 # define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
 # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
 #else
 # define ISLOWER(c) \
-                   (('a' <= (c) && (c) <= 'i') \
-                     || ('j' <= (c) && (c) <= 'r') \
-                     || ('s' <= (c) && (c) <= 'z'))
+                  (('a' <= (c) && (c) <= 'i') \
+                    || ('j' <= (c) && (c) <= 'r') \
+                    || ('s' <= (c) && (c) <= 'z'))
 # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
 #endif
 
@@ -3125,19 +4105,28 @@ main ()
   int i;
   for (i = 0; i < 256; i++)
     if (XOR (islower (i), ISLOWER (i))
-        || toupper (i) != TOUPPER (i))
-      exit(2);
-  exit (0);
+       || toupper (i) != TOUPPER (i))
+      return 2;
+  return 0;
 }
 _ACEOF
 rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -3150,12 +4139,14 @@ sed 's/^/| /' conftest.$ac_ext >&5
 ( exit $ac_status )
 ac_cv_header_stdc=no
 fi
-rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
+
+
 fi
 fi
-echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
-echo "${ECHO_T}$ac_cv_header_stdc" >&6
+echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
+echo "${ECHO_T}$ac_cv_header_stdc" >&6; }
 if test $ac_cv_header_stdc = yes; then
 
 cat >>confdefs.h <<\_ACEOF
@@ -3175,16 +4166,15 @@ fi
 
 
 for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
-                  inttypes.h stdint.h unistd.h
+                 inttypes.h stdint.h unistd.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -3195,14 +4185,36 @@ $ac_includes_default
 #include <$ac_header>
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -3211,12 +4223,14 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-eval "$as_ac_Header=no"
+       eval "$as_ac_Header=no"
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+              { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 if test `eval echo '${'$as_ac_Header'}'` = yes; then
   cat >>confdefs.h <<_ACEOF
 #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
@@ -3231,8 +4245,8 @@ for ac_prog in flex lex
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_LEX+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -3245,70 +4259,93 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_LEX="$ac_prog"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 LEX=$ac_cv_prog_LEX
 if test -n "$LEX"; then
-  echo "$as_me:$LINENO: result: $LEX" >&5
-echo "${ECHO_T}$LEX" >&6
+  echo "$as_me:$LINENO: result: $LEX" >&5
+echo "${ECHO_T}$LEX" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
+
   test -n "$LEX" && break
 done
 test -n "$LEX" || LEX=":"
 
 if test -z "$LEXLIB"
 then
-  echo "$as_me:$LINENO: checking for yywrap in -lfl" >&5
-echo $ECHO_N "checking for yywrap in -lfl... $ECHO_C" >&6
+  echo "$as_me:$LINENO: checking for yywrap in -lfl" >&5
+echo $ECHO_N "checking for yywrap in -lfl... $ECHO_C" >&6; }
 if test "${ac_cv_lib_fl_yywrap+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lfl  $LIBS"
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char yywrap ();
 int
 main ()
 {
-yywrap ();
+return yywrap ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -3317,55 +4354,78 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_fl_yywrap=no
+       ac_cv_lib_fl_yywrap=no
 fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_fl_yywrap" >&5
-echo "${ECHO_T}$ac_cv_lib_fl_yywrap" >&6
+echo "$as_me:$LINENO: result: $ac_cv_lib_fl_yywrap" >&5
+echo "${ECHO_T}$ac_cv_lib_fl_yywrap" >&6; }
 if test $ac_cv_lib_fl_yywrap = yes; then
   LEXLIB="-lfl"
 else
-  echo "$as_me:$LINENO: checking for yywrap in -ll" >&5
-echo $ECHO_N "checking for yywrap in -ll... $ECHO_C" >&6
+  echo "$as_me:$LINENO: checking for yywrap in -ll" >&5
+echo $ECHO_N "checking for yywrap in -ll... $ECHO_C" >&6; }
 if test "${ac_cv_lib_l_yywrap+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-ll  $LIBS"
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char yywrap ();
 int
 main ()
 {
-yywrap ();
+return yywrap ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -3374,13 +4434,15 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_l_yywrap=no
+       ac_cv_lib_l_yywrap=no
 fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_l_yywrap" >&5
-echo "${ECHO_T}$ac_cv_lib_l_yywrap" >&6
+echo "$as_me:$LINENO: result: $ac_cv_lib_l_yywrap" >&5
+echo "${ECHO_T}$ac_cv_lib_l_yywrap" >&6; }
 if test $ac_cv_lib_l_yywrap = yes; then
   LEXLIB="-ll"
 fi
@@ -3390,8 +4452,8 @@ fi
 fi
 
 if test "x$LEX" != "x:"; then
-  echo "$as_me:$LINENO: checking lex output file root" >&5
-echo $ECHO_N "checking lex output file root... $ECHO_C" >&6
+  echo "$as_me:$LINENO: checking lex output file root" >&5
+echo $ECHO_N "checking lex output file root... $ECHO_C" >&6; }
 if test "${ac_cv_prog_lex_root+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -3401,8 +4463,13 @@ cat >conftest.l <<_ACEOF
 %%
 %%
 _ACEOF
-{ (eval echo "$as_me:$LINENO: \"$LEX conftest.l\"") >&5
-  (eval $LEX conftest.l) 2>&5
+{ (ac_try="$LEX conftest.l"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$LEX conftest.l") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }
@@ -3416,13 +4483,13 @@ echo "$as_me: error: cannot find output from $LEX; giving up" >&2;}
    { (exit 1); exit 1; }; }
 fi
 fi
-echo "$as_me:$LINENO: result: $ac_cv_prog_lex_root" >&5
-echo "${ECHO_T}$ac_cv_prog_lex_root" >&6
+echo "$as_me:$LINENO: result: $ac_cv_prog_lex_root" >&5
+echo "${ECHO_T}$ac_cv_prog_lex_root" >&6; }
 rm -f conftest.l
 LEX_OUTPUT_ROOT=$ac_cv_prog_lex_root
 
-echo "$as_me:$LINENO: checking whether yytext is a pointer" >&5
-echo $ECHO_N "checking whether yytext is a pointer... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking whether yytext is a pointer" >&5
+echo $ECHO_N "checking whether yytext is a pointer... $ECHO_C" >&6; }
 if test "${ac_cv_prog_lex_yytext_pointer+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -3437,14 +4504,36 @@ cat >conftest.$ac_ext <<_ACEOF
 `cat $LEX_OUTPUT_ROOT.c`
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -3453,14 +4542,17 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
+
 fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_save_LIBS
 rm -f "${LEX_OUTPUT_ROOT}.c"
 
 fi
-echo "$as_me:$LINENO: result: $ac_cv_prog_lex_yytext_pointer" >&5
-echo "${ECHO_T}$ac_cv_prog_lex_yytext_pointer" >&6
+echo "$as_me:$LINENO: result: $ac_cv_prog_lex_yytext_pointer" >&5
+echo "${ECHO_T}$ac_cv_prog_lex_yytext_pointer" >&6; }
 if test $ac_cv_prog_lex_yytext_pointer = yes; then
 
 cat >>confdefs.h <<\_ACEOF
@@ -3470,11 +4562,11 @@ _ACEOF
 fi
 
 fi
-echo "$as_me:$LINENO: checking for function prototypes" >&5
-echo $ECHO_N "checking for function prototypes... $ECHO_C" >&6
-if test "$ac_cv_prog_cc_stdc" != no; then
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+echo "$as_me:$LINENO: checking for function prototypes" >&5
+echo $ECHO_N "checking for function prototypes... $ECHO_C" >&6; }
+if test "$ac_cv_prog_cc_c89" != no; then
+  echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 #define PROTOTYPES 1
@@ -3486,239 +4578,253 @@ cat >>confdefs.h <<\_ACEOF
 _ACEOF
 
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
 
 
-echo "$as_me:$LINENO: checking host system type" >&5
-echo $ECHO_N "checking host system type... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking host system type" >&5
+echo $ECHO_N "checking host system type... $ECHO_C" >&6; }
 if test "${ac_cv_host+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  ac_cv_host_alias=$host_alias
-test -z "$ac_cv_host_alias" &&
-  ac_cv_host_alias=$ac_cv_build_alias
-ac_cv_host=`$ac_config_sub $ac_cv_host_alias` ||
-  { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_host_alias failed" >&5
-echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;}
+  if test "x$host_alias" = x; then
+  ac_cv_host=$ac_cv_build
+else
+  ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
+    { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5
+echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;}
    { (exit 1); exit 1; }; }
+fi
 
 fi
-echo "$as_me:$LINENO: result: $ac_cv_host" >&5
-echo "${ECHO_T}$ac_cv_host" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_host" >&5
+echo "${ECHO_T}$ac_cv_host" >&6; }
+case $ac_cv_host in
+*-*-*) ;;
+*) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5
+echo "$as_me: error: invalid value of canonical host" >&2;}
+   { (exit 1); exit 1; }; };;
+esac
 host=$ac_cv_host
-host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_host
+shift
+host_cpu=$1
+host_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+host_os=$*
+IFS=$ac_save_IFS
+case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
 
 
 SRCDIR_PARENT=`pwd`
 
 #BOZO_SAVE_CORES pam sia
 
-# Check whether --with-afs-sysname or --without-afs-sysname was given.
+# Check whether --with-afs-sysname was given.
 if test "${with_afs_sysname+set}" = set; then
-  withval="$with_afs_sysname"
+  withval=$with_afs_sysname;
+fi
 
-fi;
-# Check whether --enable-obsolete or --disable-obsolete was given.
+# Check whether --enable-obsolete was given.
 if test "${enable_obsolete+set}" = set; then
-  enableval="$enable_obsolete"
-
+  enableval=$enable_obsolete;
 else
   enable_obsolete="no"
-fi;
-# Check whether --enable-afsdb or --disable-afsdb was given.
-if test "${enable_afsdb+set}" = set; then
-  enableval="$enable_afsdb"
+fi
 
+# Check whether --enable-afsdb was given.
+if test "${enable_afsdb+set}" = set; then
+  enableval=$enable_afsdb;
 else
   enable_afsdb="yes"
-fi;
-# Check whether --enable-pam or --disable-pam was given.
-if test "${enable_pam+set}" = set; then
-  enableval="$enable_pam"
+fi
 
+# Check whether --enable-pam was given.
+if test "${enable_pam+set}" = set; then
+  enableval=$enable_pam;
 else
   enable_pam="yes"
-fi;
-# Check whether --enable-bos-restricted-mode or --disable-bos-restricted-mode was given.
-if test "${enable_bos_restricted_mode+set}" = set; then
-  enableval="$enable_bos_restricted_mode"
+fi
 
+# Check whether --enable-bos-restricted-mode was given.
+if test "${enable_bos_restricted_mode+set}" = set; then
+  enableval=$enable_bos_restricted_mode;
 else
   enable_bos_restricted_mode="no"
-fi;
-# Check whether --enable-bos-new-config or --disable-bos-new-config was given.
-if test "${enable_bos_new_config+set}" = set; then
-  enableval="$enable_bos_new_config"
+fi
 
+# Check whether --enable-bos-new-config was given.
+if test "${enable_bos_new_config+set}" = set; then
+  enableval=$enable_bos_new_config;
 else
   enable_bos_new_config="no"
-fi;
-# Check whether --enable-largefile-fileserver or --disable-largefile-fileserver was given.
-if test "${enable_largefile_fileserver+set}" = set; then
-  enableval="$enable_largefile_fileserver"
+fi
 
+# Check whether --enable-largefile-fileserver was given.
+if test "${enable_largefile_fileserver+set}" = set; then
+  enableval=$enable_largefile_fileserver;
 else
   enable_largefile_fileserver="yes"
-fi;
-# Check whether --enable-namei-fileserver or --disable-namei-fileserver was given.
-if test "${enable_namei_fileserver+set}" = set; then
-  enableval="$enable_namei_fileserver"
+fi
 
+# Check whether --enable-namei-fileserver was given.
+if test "${enable_namei_fileserver+set}" = set; then
+  enableval=$enable_namei_fileserver;
 else
   enable_namei_fileserver="no"
-fi;
-# Check whether --enable-supergroups or --disable-supergroups was given.
-if test "${enable_supergroups+set}" = set; then
-  enableval="$enable_supergroups"
+fi
 
+# Check whether --enable-supergroups was given.
+if test "${enable_supergroups+set}" = set; then
+  enableval=$enable_supergroups;
 else
   enable_supergroups="no"
-fi;
-# Check whether --enable-fast-restart or --disable-fast-restart was given.
-if test "${enable_fast_restart+set}" = set; then
-  enableval="$enable_fast_restart"
+fi
 
+# Check whether --enable-fast-restart was given.
+if test "${enable_fast_restart+set}" = set; then
+  enableval=$enable_fast_restart;
 else
   enable_fast_restart="no"
-fi;
-# Check whether --enable-bitmap-later or --disable-bitmap-later was given.
-if test "${enable_bitmap_later+set}" = set; then
-  enableval="$enable_bitmap_later"
+fi
 
+# Check whether --enable-bitmap-later was given.
+if test "${enable_bitmap_later+set}" = set; then
+  enableval=$enable_bitmap_later;
 else
   enable_bitmap_later="no"
-fi;
-# Check whether --enable-unix-sockets or --disable-unix-sockets was given.
-if test "${enable_unix_sockets+set}" = set; then
-  enableval="$enable_unix_sockets"
+fi
 
+# Check whether --enable-unix-sockets was given.
+if test "${enable_unix_sockets+set}" = set; then
+  enableval=$enable_unix_sockets;
 else
   enable_unix_sockets="yes"
-fi;
-# Check whether --enable-full-vos-listvol-switch or --disable-full-vos-listvol-switch was given.
-if test "${enable_full_vos_listvol_switch+set}" = set; then
-  enableval="$enable_full_vos_listvol_switch"
+fi
 
+# Check whether --enable-full-vos-listvol-switch was given.
+if test "${enable_full_vos_listvol_switch+set}" = set; then
+  enableval=$enable_full_vos_listvol_switch;
 else
   enable_full_vos_listvol_switch="yes"
-fi;
+fi
+
 
-# Check whether --with-dux-kernel-headers or --without-dux-kernel-headers was given.
+# Check whether --with-dux-kernel-headers was given.
 if test "${with_dux_kernel_headers+set}" = set; then
-  withval="$with_dux_kernel_headers"
+  withval=$with_dux_kernel_headers;
+fi
 
-fi;
 
-# Check whether --with-linux-kernel-headers or --without-linux-kernel-headers was given.
+# Check whether --with-linux-kernel-headers was given.
 if test "${with_linux_kernel_headers+set}" = set; then
-  withval="$with_linux_kernel_headers"
+  withval=$with_linux_kernel_headers;
+fi
 
-fi;
 
-# Check whether --with-bsd-kernel-headers or --without-bsd-kernel-headers was given.
+# Check whether --with-bsd-kernel-headers was given.
 if test "${with_bsd_kernel_headers+set}" = set; then
-  withval="$with_bsd_kernel_headers"
+  withval=$with_bsd_kernel_headers;
+fi
 
-fi;
 
-# Check whether --with-bsd-kernel-build or --without-bsd-kernel-build was given.
+# Check whether --with-bsd-kernel-build was given.
 if test "${with_bsd_kernel_build+set}" = set; then
-  withval="$with_bsd_kernel_build"
+  withval=$with_bsd_kernel_build;
+fi
 
-fi;
-# Check whether --enable-kernel-module or --disable-kernel-module was given.
+# Check whether --enable-kernel-module was given.
 if test "${enable_kernel_module+set}" = set; then
-  enableval="$enable_kernel_module"
-
+  enableval=$enable_kernel_module;
 else
   enable_kernel_module="yes"
 
-fi;
-# Check whether --enable-redhat-buildsys or --disable-redhat-buildsys was given.
-if test "${enable_redhat_buildsys+set}" = set; then
-  enableval="$enable_redhat_buildsys"
+fi
 
+# Check whether --enable-redhat-buildsys was given.
+if test "${enable_redhat_buildsys+set}" = set; then
+  enableval=$enable_redhat_buildsys;
 else
   enable_redhat_buildsys="no"
 
-fi;
-# Check whether --enable-transarc-paths or --disable-transarc-paths was given.
-if test "${enable_transarc_paths+set}" = set; then
-  enableval="$enable_transarc_paths"
+fi
 
+# Check whether --enable-transarc-paths was given.
+if test "${enable_transarc_paths+set}" = set; then
+  enableval=$enable_transarc_paths;
 else
   enable_transarc_paths="no"
 
-fi;
-# Check whether --enable-tivoli-tsm or --disable-tivoli-tsm was given.
-if test "${enable_tivoli_tsm+set}" = set; then
-  enableval="$enable_tivoli_tsm"
+fi
 
+# Check whether --enable-tivoli-tsm was given.
+if test "${enable_tivoli_tsm+set}" = set; then
+  enableval=$enable_tivoli_tsm;
 else
   enable_tivoli_tsm="no"
 
-fi;
-# Check whether --enable-debug-kernel or --disable-debug-kernel was given.
-if test "${enable_debug_kernel+set}" = set; then
-  enableval="$enable_debug_kernel"
+fi
 
+# Check whether --enable-debug-kernel was given.
+if test "${enable_debug_kernel+set}" = set; then
+  enableval=$enable_debug_kernel;
 else
   enable_debug_kernel="no"
 
-fi;
-# Check whether --enable-optimize-kernel or --disable-optimize-kernel was given.
-if test "${enable_optimize_kernel+set}" = set; then
-  enableval="$enable_optimize_kernel"
+fi
 
+# Check whether --enable-optimize-kernel was given.
+if test "${enable_optimize_kernel+set}" = set; then
+  enableval=$enable_optimize_kernel;
 else
   enable_optimize_kernel="yes"
 
-fi;
-# Check whether --enable-debug or --disable-debug was given.
-if test "${enable_debug+set}" = set; then
-  enableval="$enable_debug"
+fi
 
+# Check whether --enable-debug was given.
+if test "${enable_debug+set}" = set; then
+  enableval=$enable_debug;
 else
   enable_debug="no"
 
-fi;
-# Check whether --enable-optimize or --disable-optimize was given.
-if test "${enable_optimize+set}" = set; then
-  enableval="$enable_optimize"
+fi
 
+# Check whether --enable-optimize was given.
+if test "${enable_optimize+set}" = set; then
+  enableval=$enable_optimize;
 else
   enable_optimize="yes"
 
-fi;
-# Check whether --enable-debug-lwp or --disable-debug-lwp was given.
-if test "${enable_debug_lwp+set}" = set; then
-  enableval="$enable_debug_lwp"
+fi
 
+# Check whether --enable-debug-lwp was given.
+if test "${enable_debug_lwp+set}" = set; then
+  enableval=$enable_debug_lwp;
 else
   enable_debug_lwp="no"
 
-fi;
-# Check whether --enable-optimize-lwp or --disable-optimize-lwp was given.
-if test "${enable_optimize_lwp+set}" = set; then
-  enableval="$enable_optimize_lwp"
+fi
 
+# Check whether --enable-optimize-lwp was given.
+if test "${enable_optimize_lwp+set}" = set; then
+  enableval=$enable_optimize_lwp;
 else
   enable_optimize_lwp="yes"
 
-fi;
+fi
+
 
 enable_login="no"
 
 
-echo "$as_me:$LINENO: checking for AIX" >&5
-echo $ECHO_N "checking for AIX... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for AIX" >&5
+echo $ECHO_N "checking for AIX... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -3731,94 +4837,131 @@ cat >>conftest.$ac_ext <<_ACEOF
 _ACEOF
 if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
   $EGREP "yes" >/dev/null 2>&1; then
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+  echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
 cat >>confdefs.h <<\_ACEOF
 #define _ALL_SOURCE 1
 _ACEOF
 
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 rm -f conftest*
 
 
-
-        echo "$as_me:$LINENO: checking for strerror in -lcposix" >&5
-echo $ECHO_N "checking for strerror in -lcposix... $ECHO_C" >&6
-if test "${ac_cv_lib_cposix_strerror+set}" = set; then
+{ echo "$as_me:$LINENO: checking for library containing strerror" >&5
+echo $ECHO_N "checking for library containing strerror... $ECHO_C" >&6; }
+if test "${ac_cv_search_strerror+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lcposix  $LIBS"
+  ac_func_search_save_LIBS=$LIBS
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char strerror ();
 int
 main ()
 {
-strerror ();
+return strerror ();
   ;
   return 0;
 }
 _ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+for ac_lib in '' cposix; do
+  if test -z "$ac_lib"; then
+    ac_res="none required"
+  else
+    ac_res=-l$ac_lib
+    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
+  fi
+  rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_lib_cposix_strerror=yes
+  ac_cv_search_strerror=$ac_res
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_cposix_strerror=no
+
 fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
+
+rm -f core conftest.err conftest.$ac_objext \
+      conftest$ac_exeext
+  if test "${ac_cv_search_strerror+set}" = set; then
+  break
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_cposix_strerror" >&5
-echo "${ECHO_T}$ac_cv_lib_cposix_strerror" >&6
-if test $ac_cv_lib_cposix_strerror = yes; then
-  LIBS="$LIBS -lcposix"
+done
+if test "${ac_cv_search_strerror+set}" = set; then
+  :
+else
+  ac_cv_search_strerror=no
 fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_search_strerror" >&5
+echo "${ECHO_T}$ac_cv_search_strerror" >&6; }
+ac_res=$ac_cv_search_strerror
+if test "$ac_res" != no; then
+  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
 
-
+fi
 
 if test "${ac_cv_header_minix_config_h+set}" = set; then
-  echo "$as_me:$LINENO: checking for minix/config.h" >&5
-echo $ECHO_N "checking for minix/config.h... $ECHO_C" >&6
+  echo "$as_me:$LINENO: checking for minix/config.h" >&5
+echo $ECHO_N "checking for minix/config.h... $ECHO_C" >&6; }
 if test "${ac_cv_header_minix_config_h+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 fi
-echo "$as_me:$LINENO: result: $ac_cv_header_minix_config_h" >&5
-echo "${ECHO_T}$ac_cv_header_minix_config_h" >&6
+echo "$as_me:$LINENO: result: $ac_cv_header_minix_config_h" >&5
+echo "${ECHO_T}$ac_cv_header_minix_config_h" >&6; }
 else
   # Is the header compilable?
-echo "$as_me:$LINENO: checking minix/config.h usability" >&5
-echo $ECHO_N "checking minix/config.h usability... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking minix/config.h usability" >&5
+echo $ECHO_N "checking minix/config.h usability... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -3828,14 +4971,36 @@ $ac_includes_default
 #include <minix/config.h>
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -3844,17 +5009,17 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_header_compiler=no
+       ac_header_compiler=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
 
 # Is the header present?
-echo "$as_me:$LINENO: checking minix/config.h presence" >&5
-echo $ECHO_N "checking minix/config.h presence... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking minix/config.h presence" >&5
+echo $ECHO_N "checking minix/config.h presence... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -3862,8 +5027,13 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 #include <minix/config.h>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
@@ -3872,6 +5042,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
   (exit $ac_status); } >/dev/null; then
   if test -s conftest.err; then
     ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
   else
     ac_cpp_err=
   fi
@@ -3886,52 +5057,45 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
   ac_header_preproc=no
 fi
+
 rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
+echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
 
 # So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc in
-  yes:no )
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+  yes:no: )
     { echo "$as_me:$LINENO: WARNING: minix/config.h: accepted by the compiler, rejected by the preprocessor!" >&5
 echo "$as_me: WARNING: minix/config.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { echo "$as_me:$LINENO: WARNING: minix/config.h: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: minix/config.h: proceeding with the preprocessor's result" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to bug-autoconf@gnu.org. ##
-## ------------------------------------ ##
-_ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+    { echo "$as_me:$LINENO: WARNING: minix/config.h: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: minix/config.h: proceeding with the compiler's result" >&2;}
+    ac_header_preproc=yes
     ;;
-  no:yes )
+  no:yes:* )
     { echo "$as_me:$LINENO: WARNING: minix/config.h: present but cannot be compiled" >&5
 echo "$as_me: WARNING: minix/config.h: present but cannot be compiled" >&2;}
-    { echo "$as_me:$LINENO: WARNING: minix/config.h: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: minix/config.h: check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: minix/config.h:     check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: minix/config.h:     check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: minix/config.h: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: minix/config.h: see the Autoconf documentation" >&2;}
+    { echo "$as_me:$LINENO: WARNING: minix/config.h:     section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: minix/config.h:     section \"Present But Cannot Be Compiled\"" >&2;}
     { echo "$as_me:$LINENO: WARNING: minix/config.h: proceeding with the preprocessor's result" >&5
 echo "$as_me: WARNING: minix/config.h: proceeding with the preprocessor's result" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to bug-autoconf@gnu.org. ##
-## ------------------------------------ ##
-_ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+    { echo "$as_me:$LINENO: WARNING: minix/config.h: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: minix/config.h: in the future, the compiler will take precedence" >&2;}
+
     ;;
 esac
-echo "$as_me:$LINENO: checking for minix/config.h" >&5
-echo $ECHO_N "checking for minix/config.h... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for minix/config.h" >&5
+echo $ECHO_N "checking for minix/config.h... $ECHO_C" >&6; }
 if test "${ac_cv_header_minix_config_h+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   ac_cv_header_minix_config_h=$ac_header_preproc
 fi
-echo "$as_me:$LINENO: result: $ac_cv_header_minix_config_h" >&5
-echo "${ECHO_T}$ac_cv_header_minix_config_h" >&6
+echo "$as_me:$LINENO: result: $ac_cv_header_minix_config_h" >&5
+echo "${ECHO_T}$ac_cv_header_minix_config_h" >&6; }
 
 fi
 if test $ac_cv_header_minix_config_h = yes; then
@@ -3960,39 +5124,61 @@ _ACEOF
 fi
 
 
-echo "$as_me:$LINENO: checking for pid_t" >&5
-echo $ECHO_N "checking for pid_t... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for pid_t" >&5
+echo $ECHO_N "checking for pid_t... $ECHO_C" >&6; }
 if test "${ac_cv_type_pid_t+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+typedef pid_t ac__type_new_;
 int
 main ()
 {
-if ((pid_t *) 0)
+if ((ac__type_new_ *) 0)
   return 0;
-if (sizeof (pid_t))
+if (sizeof (ac__type_new_))
   return 0;
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -4001,12 +5187,13 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_type_pid_t=no
+       ac_cv_type_pid_t=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_type_pid_t" >&5
-echo "${ECHO_T}$ac_cv_type_pid_t" >&6
+echo "$as_me:$LINENO: result: $ac_cv_type_pid_t" >&5
+echo "${ECHO_T}$ac_cv_type_pid_t" >&6; }
 if test $ac_cv_type_pid_t = yes; then
   :
 else
@@ -4017,39 +5204,61 @@ _ACEOF
 
 fi
 
-echo "$as_me:$LINENO: checking for size_t" >&5
-echo $ECHO_N "checking for size_t... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for size_t" >&5
+echo $ECHO_N "checking for size_t... $ECHO_C" >&6; }
 if test "${ac_cv_type_size_t+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+typedef size_t ac__type_new_;
 int
 main ()
 {
-if ((size_t *) 0)
+if ((ac__type_new_ *) 0)
   return 0;
-if (sizeof (size_t))
+if (sizeof (ac__type_new_))
   return 0;
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -4058,29 +5267,29 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_type_size_t=no
+       ac_cv_type_size_t=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5
-echo "${ECHO_T}$ac_cv_type_size_t" >&6
+echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5
+echo "${ECHO_T}$ac_cv_type_size_t" >&6; }
 if test $ac_cv_type_size_t = yes; then
   :
 else
 
 cat >>confdefs.h <<_ACEOF
-#define size_t unsigned
+#define size_t unsigned int
 _ACEOF
 
 fi
 
-echo "$as_me:$LINENO: checking return type of signal handlers" >&5
-echo $ECHO_N "checking return type of signal handlers... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking return type of signal handlers" >&5
+echo $ECHO_N "checking return type of signal handlers... $ECHO_C" >&6; }
 if test "${ac_cv_type_signal+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -4088,46 +5297,61 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 #include <sys/types.h>
 #include <signal.h>
-#ifdef signal
-# undef signal
-#endif
-#ifdef __cplusplus
-extern "C" void (*signal (int, void (*)(int)))(int);
-#else
-void (*signal ()) ();
-#endif
 
 int
 main ()
 {
-int i;
+return *(signal (0, 0)) (0) == 1;
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_type_signal=void
+  ac_cv_type_signal=int
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_type_signal=int
+       ac_cv_type_signal=void
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_type_signal" >&5
-echo "${ECHO_T}$ac_cv_type_signal" >&6
+echo "$as_me:$LINENO: result: $ac_cv_type_signal" >&5
+echo "${ECHO_T}$ac_cv_type_signal" >&6; }
 
 cat >>confdefs.h <<_ACEOF
 #define RETSIGTYPE $ac_cv_type_signal
@@ -4135,14 +5359,13 @@ _ACEOF
 
 
 
-echo "$as_me:$LINENO: checking for __FUNCTION__ and __LINE__ macros" >&5
-echo $ECHO_N "checking for __FUNCTION__ and __LINE__ macros... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for __FUNCTION__ and __LINE__ macros" >&5
+echo $ECHO_N "checking for __FUNCTION__ and __LINE__ macros... $ECHO_C" >&6; }
 if test "${ac_cv_compiler_has_function_macro+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -4158,14 +5381,36 @@ printf("%s:%d", __FUNCTION__, __LINE__);
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -4174,13 +5419,14 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_compiler_has_function_macro=no
+       ac_cv_compiler_has_function_macro=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 
-echo "$as_me:$LINENO: result: $ac_cv_compiler_has_function_macro" >&5
-echo "${ECHO_T}$ac_cv_compiler_has_function_macro" >&6
+echo "$as_me:$LINENO: result: $ac_cv_compiler_has_function_macro" >&5
+echo "${ECHO_T}$ac_cv_compiler_has_function_macro" >&6; }
 if test "$ac_cv_compiler_has_function_macro" = "yes"; then
 
 cat >>confdefs.h <<\_ACEOF
@@ -4201,9 +5447,10 @@ fi
 # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
 # AFS /usr/afsws/bin/install, which mishandles nonexistent args
 # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# OS/2's system install, which has a completely different semantic
 # ./install, which can be erroneously created by make from ./install.sh.
-echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
-echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
+echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; }
 if test -z "$INSTALL"; then
 if test "${ac_cv_path_install+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -4217,6 +5464,7 @@ do
 case $as_dir/ in
   ./ | .// | /cC/* | \
   /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
+  ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \
   /usr/ucb/* ) ;;
   *)
     # OSF1 and SCO ODT 3.0 have their own names for install.
@@ -4224,40 +5472,41 @@ case $as_dir/ in
     # by default.
     for ac_prog in ginstall scoinst install; do
       for ac_exec_ext in '' $ac_executable_extensions; do
-        if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
-          if test $ac_prog = install &&
-            grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
-            # AIX install.  It has an incompatible calling convention.
-            :
-          elif test $ac_prog = install &&
-            grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
-            # program-specific install script used by HP pwplus--don't use.
-            :
-          else
-            ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
-            break 3
-          fi
-        fi
+       if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; }; then
+         if test $ac_prog = install &&
+           grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+           # AIX install.  It has an incompatible calling convention.
+           :
+         elif test $ac_prog = install &&
+           grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+           # program-specific install script used by HP pwplus--don't use.
+           :
+         else
+           ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
+           break 3
+         fi
+       fi
       done
     done
     ;;
 esac
 done
+IFS=$as_save_IFS
 
 
 fi
   if test "${ac_cv_path_install+set}" = set; then
     INSTALL=$ac_cv_path_install
   else
-    # As a last resort, use the slow shell script.  We don't cache a
-    # path for INSTALL within a source directory, because that will
+    # As a last resort, use the slow shell script.  Don't cache a
+    # value for INSTALL within a source directory, because that will
     # break other packages using the cache if that directory is
-    # removed, or if the path is relative.
+    # removed, or if the value is a relative name.
     INSTALL=$ac_install_sh
   fi
 fi
-echo "$as_me:$LINENO: result: $INSTALL" >&5
-echo "${ECHO_T}$INSTALL" >&6
+echo "$as_me:$LINENO: result: $INSTALL" >&5
+echo "${ECHO_T}$INSTALL" >&6; }
 
 # Use test -z because SunOS4 sh mishandles braces in ${var-val}.
 # It thinks the first close brace ends the variable substitution.
@@ -4267,22 +5516,22 @@ test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
 
 test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
 
-echo "$as_me:$LINENO: checking whether ln -s works" >&5
-echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking whether ln -s works" >&5
+echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6; }
 LN_S=$as_ln_s
 if test "$LN_S" = "ln -s"; then
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+  echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
 else
-  echo "$as_me:$LINENO: result: no, using $LN_S" >&5
-echo "${ECHO_T}no, using $LN_S" >&6
+  echo "$as_me:$LINENO: result: no, using $LN_S" >&5
+echo "${ECHO_T}no, using $LN_S" >&6; }
 fi
 
 if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_RANLIB+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -4295,32 +5544,34 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 RANLIB=$ac_cv_prog_RANLIB
 if test -n "$RANLIB"; then
-  echo "$as_me:$LINENO: result: $RANLIB" >&5
-echo "${ECHO_T}$RANLIB" >&6
+  echo "$as_me:$LINENO: result: $RANLIB" >&5
+echo "${ECHO_T}$RANLIB" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
+
 fi
 if test -z "$ac_cv_prog_RANLIB"; then
   ac_ct_RANLIB=$RANLIB
   # Extract the first word of "ranlib", so it can be a program name with args.
 set dummy ranlib; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -4333,27 +5584,41 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_ac_ct_RANLIB="ranlib"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
-  test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":"
 fi
 fi
 ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
 if test -n "$ac_ct_RANLIB"; then
-  echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
-echo "${ECHO_T}$ac_ct_RANLIB" >&6
+  echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
+echo "${ECHO_T}$ac_ct_RANLIB" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
-  RANLIB=$ac_ct_RANLIB
+  if test "x$ac_ct_RANLIB" = x; then
+    RANLIB=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+    RANLIB=$ac_ct_RANLIB
+  fi
 else
   RANLIB="$ac_cv_prog_RANLIB"
 fi
@@ -4362,8 +5627,8 @@ for ac_prog in 'bison -y' byacc
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_YACC+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -4376,25 +5641,27 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_YACC="$ac_prog"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 YACC=$ac_cv_prog_YACC
 if test -n "$YACC"; then
-  echo "$as_me:$LINENO: result: $YACC" >&5
-echo "${ECHO_T}$YACC" >&6
+  echo "$as_me:$LINENO: result: $YACC" >&5
+echo "${ECHO_T}$YACC" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
+
   test -n "$YACC" && break
 done
 test -n "$YACC" || YACC="yacc"
@@ -4404,23 +5671,22 @@ if test "$LEX" = :; then
 fi
 
 
-# Check whether --enable-bigendian or --disable-bigendian was given.
+# Check whether --enable-bigendian was given.
 if test "${enable_bigendian+set}" = set; then
-  enableval="$enable_bigendian"
-  openafs_cv_c_bigendian=yes
-fi;
-# Check whether --enable-littleendian or --disable-littleendian was given.
+  enableval=$enable_bigendian; openafs_cv_c_bigendian=yes
+fi
+
+# Check whether --enable-littleendian was given.
 if test "${enable_littleendian+set}" = set; then
-  enableval="$enable_littleendian"
-  openafs_cv_c_bigendian=no
-fi;
-echo "$as_me:$LINENO: checking whether byte order is known at compile time" >&5
-echo $ECHO_N "checking whether byte order is known at compile time... $ECHO_C" >&6
+  enableval=$enable_littleendian; openafs_cv_c_bigendian=no
+fi
+
+echo "$as_me:$LINENO: checking whether byte order is known at compile time" >&5
+echo $ECHO_N "checking whether byte order is known at compile time... $ECHO_C" >&6; }
 if test "${openafs_cv_c_bigendian_compile+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -4441,14 +5707,36 @@ main ()
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -4457,21 +5745,21 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-openafs_cv_c_bigendian_compile=no
+       openafs_cv_c_bigendian_compile=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $openafs_cv_c_bigendian_compile" >&5
-echo "${ECHO_T}$openafs_cv_c_bigendian_compile" >&6
-echo "$as_me:$LINENO: checking whether byte ordering is bigendian" >&5
-echo $ECHO_N "checking whether byte ordering is bigendian... $ECHO_C" >&6
+echo "$as_me:$LINENO: result: $openafs_cv_c_bigendian_compile" >&5
+echo "${ECHO_T}$openafs_cv_c_bigendian_compile" >&6; }
+echo "$as_me:$LINENO: checking whether byte ordering is bigendian" >&5
+echo $ECHO_N "checking whether byte ordering is bigendian... $ECHO_C" >&6; }
 if test "${openafs_cv_c_bigendian+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
   if test "$openafs_cv_c_bigendian_compile" = "yes"; then
     cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -4492,14 +5780,36 @@ main ()
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -4508,9 +5818,10 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-openafs_cv_c_bigendian=no
+       openafs_cv_c_bigendian=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   else
     if test "$cross_compiling" = yes; then
   { { echo "$as_me:$LINENO: error: specify either --enable-bigendian or --enable-littleendian" >&5
@@ -4518,7 +5829,6 @@ echo "$as_me: error: specify either --enable-bigendian or --enable-littleendian"
    { (exit 1); exit 1; }; }
 else
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -4536,13 +5846,22 @@ main () {
   }
 _ACEOF
 rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -4555,13 +5874,15 @@ sed 's/^/| /' conftest.$ac_ext >&5
 ( exit $ac_status )
 openafs_cv_c_bigendian=yes
 fi
-rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
+
+
   fi
 
 fi
-echo "$as_me:$LINENO: result: $openafs_cv_c_bigendian" >&5
-echo "${ECHO_T}$openafs_cv_c_bigendian" >&6
+echo "$as_me:$LINENO: result: $openafs_cv_c_bigendian" >&5
+echo "${ECHO_T}$openafs_cv_c_bigendian" >&6; }
 if test "$openafs_cv_c_bigendian" = "yes"; then
 
 cat >>confdefs.h <<\_ACEOF
@@ -4576,8 +5897,8 @@ _ACEOF
 fi
 
 
-echo "$as_me:$LINENO: checking your OS" >&5
-echo $ECHO_N "checking your OS... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking your OS" >&5
+echo $ECHO_N "checking your OS... $ECHO_C" >&6; }
 system=$host
 case $system in
         *-linux*)
@@ -4652,8 +5973,8 @@ echo "$as_me: WARNING: No usable linux headers found at $LINUX_KERNEL_PATH so di
                 fi
                                   SUBARCH=default
                fi
-               echo "$as_me:$LINENO: result: linux" >&5
-echo "${ECHO_T}linux" >&6
+               echo "$as_me:$LINENO: result: linux" >&5
+echo "${ECHO_T}linux" >&6; }
                 if test "x$enable_kernel_module" = "xyes"; then
                  AFS_SYSKVERS=`echo $LINUX_VERSION | awk -F\. '{print $1 $2}'`
                  if test "x${AFS_SYSKVERS}" = "x"; then
@@ -4665,17 +5986,16 @@ echo "$as_me: error: Couldn't guess your Linux version 2" >&2;}
                 ;;
         *-solaris*)
                MKAFS_OSTYPE=SOLARIS
-                echo "$as_me:$LINENO: result: sun4" >&5
-echo "${ECHO_T}sun4" >&6
+                echo "$as_me:$LINENO: result: sun4" >&5
+echo "${ECHO_T}sun4" >&6; }
 
-echo "$as_me:$LINENO: checking for vfs_dqrwlock in struct ufsvfs" >&5
-echo $ECHO_N "checking for vfs_dqrwlock in struct ufsvfs... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for vfs_dqrwlock in struct ufsvfs" >&5
+echo $ECHO_N "checking for vfs_dqrwlock in struct ufsvfs... $ECHO_C" >&6; }
 if test "${ac_cv_solaris_ufsvfs_has_dqrwlock+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -4693,14 +6013,36 @@ struct ufsvfs _ufsvfs;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -4709,13 +6051,14 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_solaris_ufsvfs_has_dqrwlock=no
+       ac_cv_solaris_ufsvfs_has_dqrwlock=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 
-echo "$as_me:$LINENO: result: $ac_cv_solaris_ufsvfs_has_dqrwlock" >&5
-echo "${ECHO_T}$ac_cv_solaris_ufsvfs_has_dqrwlock" >&6
+echo "$as_me:$LINENO: result: $ac_cv_solaris_ufsvfs_has_dqrwlock" >&5
+echo "${ECHO_T}$ac_cv_solaris_ufsvfs_has_dqrwlock" >&6; }
 if test "$ac_cv_solaris_ufsvfs_has_dqrwlock" = "yes"; then
 
 cat >>confdefs.h <<\_ACEOF
@@ -4725,14 +6068,13 @@ _ACEOF
 fi
 
 
-echo "$as_me:$LINENO: checking for p_corefile in struct proc" >&5
-echo $ECHO_N "checking for p_corefile in struct proc... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for p_corefile in struct proc" >&5
+echo $ECHO_N "checking for p_corefile in struct proc... $ECHO_C" >&6; }
 if test "${ac_cv_solaris_proc_has_p_corefile+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -4750,14 +6092,36 @@ struct proc _proc;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -4766,13 +6130,14 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_solaris_proc_has_p_corefile=no
+       ac_cv_solaris_proc_has_p_corefile=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 
-echo "$as_me:$LINENO: result: $ac_cv_solaris_proc_has_p_corefile" >&5
-echo "${ECHO_T}$ac_cv_solaris_proc_has_p_corefile" >&6
+echo "$as_me:$LINENO: result: $ac_cv_solaris_proc_has_p_corefile" >&5
+echo "${ECHO_T}$ac_cv_solaris_proc_has_p_corefile" >&6; }
 if test "$ac_cv_solaris_proc_has_p_corefile" = "yes"; then
 
 cat >>confdefs.h <<\_ACEOF
@@ -4782,14 +6147,13 @@ _ACEOF
 fi
 
 
-echo "$as_me:$LINENO: checking for fs_rolled in struct proc" >&5
-echo $ECHO_N "checking for fs_rolled in struct proc... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for fs_rolled in struct proc" >&5
+echo $ECHO_N "checking for fs_rolled in struct proc... $ECHO_C" >&6; }
 if test "${ac_cv_solaris_fs_has_fs_rolled+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -4806,14 +6170,36 @@ struct fs _fs;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -4822,13 +6208,14 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_solaris_fs_has_fs_rolled=no
+       ac_cv_solaris_fs_has_fs_rolled=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 
-echo "$as_me:$LINENO: result: $ac_cv_solaris_fs_has_fs_rolled" >&5
-echo "${ECHO_T}$ac_cv_solaris_fs_has_fs_rolled" >&6
+echo "$as_me:$LINENO: result: $ac_cv_solaris_fs_has_fs_rolled" >&5
+echo "${ECHO_T}$ac_cv_solaris_fs_has_fs_rolled" >&6; }
 if test "$ac_cv_solaris_fs_has_fs_rolled" = "yes"; then
 
 cat >>confdefs.h <<\_ACEOF
@@ -4841,13 +6228,13 @@ fi
         *-sunos*)
                MKAFS_OSTYPE=SUNOS
                enable_kernel_module=no
-                echo "$as_me:$LINENO: result: sun4" >&5
-echo "${ECHO_T}sun4" >&6
+                echo "$as_me:$LINENO: result: sun4" >&5
+echo "${ECHO_T}sun4" >&6; }
                 ;;
         *-hpux*)
                MKAFS_OSTYPE=HPUX
-                echo "$as_me:$LINENO: result: hp_ux" >&5
-echo "${ECHO_T}hp_ux" >&6
+                echo "$as_me:$LINENO: result: hp_ux" >&5
+echo "${ECHO_T}hp_ux" >&6; }
                if test -f "/usr/old/usr/include/ndir.h"; then
 
 cat >>confdefs.h <<\_ACEOF
@@ -4861,18 +6248,18 @@ _ACEOF
                 IRIX_BUILD_IP35="IP35"
                fi
                MKAFS_OSTYPE=IRIX
-                echo "$as_me:$LINENO: result: sgi" >&5
-echo "${ECHO_T}sgi" >&6
+                echo "$as_me:$LINENO: result: sgi" >&5
+echo "${ECHO_T}sgi" >&6; }
                 ;;
         *-aix*)
                MKAFS_OSTYPE=AIX
-                echo "$as_me:$LINENO: result: rs_aix" >&5
-echo "${ECHO_T}rs_aix" >&6
+                echo "$as_me:$LINENO: result: rs_aix" >&5
+echo "${ECHO_T}rs_aix" >&6; }
                 ;;
         *-osf*)
                MKAFS_OSTYPE=DUX
-                echo "$as_me:$LINENO: result: alpha_dux" >&5
-echo "${ECHO_T}alpha_dux" >&6
+                echo "$as_me:$LINENO: result: alpha_dux" >&5
+echo "${ECHO_T}alpha_dux" >&6; }
                if test "x$enable_kernel_module" = "xyes"; then
                 if test "x$with_dux_kernel_headers" != "x"; then
                   HEADER_RT=`ls ${with_dux_kernel_headers}/rt_preempt.h | head -1 | sed 's,/rt_preempt.h,,;s,/usr/sys/,,'`
@@ -4889,40 +6276,40 @@ echo "$as_me: error: Need a configured kernel directory" >&2;}
                 ;;
         powerpc-*-darwin*)
                MKAFS_OSTYPE=DARWIN
-                echo "$as_me:$LINENO: result: ppc_darwin" >&5
-echo "${ECHO_T}ppc_darwin" >&6
+                echo "$as_me:$LINENO: result: ppc_darwin" >&5
+echo "${ECHO_T}ppc_darwin" >&6; }
                 ;;
         i386-*-darwin*)
                MKAFS_OSTYPE=DARWIN
-                echo "$as_me:$LINENO: result: x86_darwin" >&5
-echo "${ECHO_T}x86_darwin" >&6
+                echo "$as_me:$LINENO: result: x86_darwin" >&5
+echo "${ECHO_T}x86_darwin" >&6; }
                 ;;
        *-freebsd*)
                MKAFS_OSTYPE=FBSD
-               echo "$as_me:$LINENO: result: i386_fbsd" >&5
-echo "${ECHO_T}i386_fbsd" >&6
+               echo "$as_me:$LINENO: result: i386_fbsd" >&5
+echo "${ECHO_T}i386_fbsd" >&6; }
                ;;
        *-netbsd*)
                MKAFS_OSTYPE=NBSD
-               echo "$as_me:$LINENO: result: nbsd" >&5
-echo "${ECHO_T}nbsd" >&6
+               echo "$as_me:$LINENO: result: nbsd" >&5
+echo "${ECHO_T}nbsd" >&6; }
                ;;
        *-openbsd*)
                MKAFS_OSTYPE=OBSD
-               echo "$as_me:$LINENO: result: i386_obsd" >&5
-echo "${ECHO_T}i386_obsd" >&6
+               echo "$as_me:$LINENO: result: i386_obsd" >&5
+echo "${ECHO_T}i386_obsd" >&6; }
                ;;
         *)
-                echo "$as_me:$LINENO: result: $system" >&5
-echo "${ECHO_T}$system" >&6
+                echo "$as_me:$LINENO: result: $system" >&5
+echo "${ECHO_T}$system" >&6; }
                 ;;
 esac
 
 if test "x$with_afs_sysname" != "x"; then
         AFS_SYSNAME="$with_afs_sysname"
 else
-       echo "$as_me:$LINENO: checking your AFS sysname" >&5
-echo $ECHO_N "checking your AFS sysname... $ECHO_C" >&6
+       echo "$as_me:$LINENO: checking your AFS sysname" >&5
+echo $ECHO_N "checking your AFS sysname... $ECHO_C" >&6; }
        case $host in
                i?86-*-openbsd?.?)
                        v=${host#*openbsd}
@@ -5162,7 +6549,7 @@ echo $ECHO_N "checking your AFS sysname... $ECHO_C" >&6
                        AFS_SYSNAME="s390x_linuxXX"
                        ;;
                sparc-*-linux*)
-                       AFS_SYSNAME="sparc_linuxXX"
+                       AFS_SYSNAME="`/bin/arch`_linuxXX"
                        ;;
                sparc64-*-linux*)
                        AFS_SYSNAME="sparc64_linuxXX"
@@ -5217,7 +6604,6 @@ echo "$as_me: error: Couldn't guess your Linux version. Please use the --with-af
                        save_CPPFLAGS="$CPPFLAGS"
                        CPPFLAGS="-I${LINUX_KERNEL_PATH}/include $CPPFLAGS"
                        cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -5235,14 +6621,36 @@ main ()
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -5251,8 +6659,10 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
+
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
                        if test "${ac_cv_linux_is_uml}" = yes; then
                         _AFS_SYSNAME=`echo $AFS_SYSNAME|sed s/linux/umlinux/`
                        fi
@@ -5260,8 +6670,8 @@ rm -f conftest.$ac_objext conftest.$ac_ext
                        AFS_SYSNAME="$_AFS_SYSNAME"
                        ;;
        esac
-        echo "$as_me:$LINENO: result: $AFS_SYSNAME" >&5
-echo "${ECHO_T}$AFS_SYSNAME" >&6
+        echo "$as_me:$LINENO: result: $AFS_SYSNAME" >&5
+echo "${ECHO_T}$AFS_SYSNAME" >&6; }
 fi
 
 case $AFS_SYSNAME in *_linux* | *_umlinux*)
@@ -5280,8 +6690,8 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*)
                        LINUX_GCC_KOPTS="$LINUX_GCC_KOPTS -fomit-frame-pointer"
                 fi
 
-echo "$as_me:$LINENO: checking if $CC accepts -march=pentium" >&5
-echo $ECHO_N "checking if $CC accepts -march=pentium... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking if $CC accepts -march=pentium" >&5
+echo $ECHO_N "checking if $CC accepts -march=pentium... $ECHO_C" >&6; }
 save_CFLAGS="$CFLAGS"
 CFLAGS="-MARCH=pentium"
 if test "${openafs_gcc_supports_march+set}" = set; then
@@ -5289,7 +6699,6 @@ if test "${openafs_gcc_supports_march+set}" = set; then
 else
 
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -5305,14 +6714,36 @@ int x;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -5321,13 +6752,14 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-openafs_gcc_supports_march=no
+       openafs_gcc_supports_march=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 
-echo "$as_me:$LINENO: result: $openafs_gcc_supports_march" >&5
-echo "${ECHO_T}$openafs_gcc_supports_march" >&6
+echo "$as_me:$LINENO: result: $openafs_gcc_supports_march" >&5
+echo "${ECHO_T}$openafs_gcc_supports_march" >&6; }
 if test x$openafs_gcc_supports_march = xyes; then
   P5PLUS_KOPTS="-march=pentium"
 else
@@ -5337,8 +6769,8 @@ CFLAGS="$save_CFLAGS"
 
 
 
-echo "$as_me:$LINENO: checking if $CC needs -fno-strength-reduce" >&5
-echo $ECHO_N "checking if $CC needs -fno-strength-reduce... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking if $CC needs -fno-strength-reduce" >&5
+echo $ECHO_N "checking if $CC needs -fno-strength-reduce... $ECHO_C" >&6; }
 save_CFLAGS="$CFLAGS"
 CFLAGS="-fno-strength-reduce"
 if test "${openafs_gcc_needs_no_strength_reduce+set}" = set; then
@@ -5346,7 +6778,6 @@ if test "${openafs_gcc_needs_no_strength_reduce+set}" = set; then
 else
 
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -5362,14 +6793,36 @@ int x;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -5378,21 +6831,22 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-openafs_gcc_needs_no_strength_reduce=no
+       openafs_gcc_needs_no_strength_reduce=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 
-echo "$as_me:$LINENO: result: $openafs_gcc_needs_no_strength_reduce" >&5
-echo "${ECHO_T}$openafs_gcc_needs_no_strength_reduce" >&6
+echo "$as_me:$LINENO: result: $openafs_gcc_needs_no_strength_reduce" >&5
+echo "${ECHO_T}$openafs_gcc_needs_no_strength_reduce" >&6; }
 if test x$openafs_gcc_needs_no_strength_reduce = xyes; then
   LINUX_GCC_KOPTS="$LINUX_GCC_KOPTS -fno-strength-reduce"
 fi
 CFLAGS="$save_CFLAGS"
 
 
-echo "$as_me:$LINENO: checking if $CC needs -fno-strict-aliasing" >&5
-echo $ECHO_N "checking if $CC needs -fno-strict-aliasing... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking if $CC needs -fno-strict-aliasing" >&5
+echo $ECHO_N "checking if $CC needs -fno-strict-aliasing... $ECHO_C" >&6; }
 save_CFLAGS="$CFLAGS"
 CFLAGS="-fno-strict-aliasing"
 if test "${openafs_gcc_needs_no_strict_aliasing+set}" = set; then
@@ -5400,7 +6854,6 @@ if test "${openafs_gcc_needs_no_strict_aliasing+set}" = set; then
 else
 
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -5416,14 +6869,36 @@ int x;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -5432,21 +6907,22 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-openafs_gcc_needs_no_strict_aliasing=no
+       openafs_gcc_needs_no_strict_aliasing=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 
-echo "$as_me:$LINENO: result: $openafs_gcc_needs_no_strict_aliasing" >&5
-echo "${ECHO_T}$openafs_gcc_needs_no_strict_aliasing" >&6
+echo "$as_me:$LINENO: result: $openafs_gcc_needs_no_strict_aliasing" >&5
+echo "${ECHO_T}$openafs_gcc_needs_no_strict_aliasing" >&6; }
 if test x$openafs_gcc_needs_no_strict_aliasing = xyes; then
   LINUX_GCC_KOPTS="$LINUX_GCC_KOPTS -fno-strict-aliasing"
 fi
 CFLAGS="$save_CFLAGS"
 
 
-echo "$as_me:$LINENO: checking if $CC supports -fno-common" >&5
-echo $ECHO_N "checking if $CC supports -fno-common... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking if $CC supports -fno-common" >&5
+echo $ECHO_N "checking if $CC supports -fno-common... $ECHO_C" >&6; }
 save_CFLAGS="$CFLAGS"
 CFLAGS="-fno-common"
 if test "${openafs_gcc_supports_no_common+set}" = set; then
@@ -5454,7 +6930,6 @@ if test "${openafs_gcc_supports_no_common+set}" = set; then
 else
 
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -5470,14 +6945,36 @@ int x;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -5486,21 +6983,22 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-openafs_gcc_supports_no_common=no
+       openafs_gcc_supports_no_common=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 
-echo "$as_me:$LINENO: result: $openafs_gcc_supports_no_common" >&5
-echo "${ECHO_T}$openafs_gcc_supports_no_common" >&6
+echo "$as_me:$LINENO: result: $openafs_gcc_supports_no_common" >&5
+echo "${ECHO_T}$openafs_gcc_supports_no_common" >&6; }
 if test x$openafs_gcc_supports_no_common = xyes; then
   LINUX_GCC_KOPTS="$LINUX_GCC_KOPTS -fno-common"
 fi
 CFLAGS="$save_CFLAGS"
 
 
-echo "$as_me:$LINENO: checking if $CC supports -pipe" >&5
-echo $ECHO_N "checking if $CC supports -pipe... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking if $CC supports -pipe" >&5
+echo $ECHO_N "checking if $CC supports -pipe... $ECHO_C" >&6; }
 save_CFLAGS="$CFLAGS"
 CFLAGS="-pipe"
 if test "${openafs_gcc_supports_pipe+set}" = set; then
@@ -5508,7 +7006,6 @@ if test "${openafs_gcc_supports_pipe+set}" = set; then
 else
 
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -5524,14 +7021,36 @@ int x;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -5540,13 +7059,14 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-openafs_gcc_supports_pipe=no
+       openafs_gcc_supports_pipe=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 
-echo "$as_me:$LINENO: result: $openafs_gcc_supports_pipe" >&5
-echo "${ECHO_T}$openafs_gcc_supports_pipe" >&6
+echo "$as_me:$LINENO: result: $openafs_gcc_supports_pipe" >&5
+echo "${ECHO_T}$openafs_gcc_supports_pipe" >&6; }
 if test x$openafs_gcc_supports_pipe = xyes; then
   LINUX_GCC_KOPTS="$LINUX_GCC_KOPTS -pipe"
 fi
@@ -5554,8 +7074,8 @@ CFLAGS="$save_CFLAGS"
 
 
 
-echo "$as_me:$LINENO: checking whether to build osi_vfs.h" >&5
-echo $ECHO_N "checking whether to build osi_vfs.h... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking whether to build osi_vfs.h" >&5
+echo $ECHO_N "checking whether to build osi_vfs.h... $ECHO_C" >&6; }
 configdir=${srcdir}/src/config
 outputdir=src/afs/LINUX
 tmpldir=${srcdir}/src/afs/LINUX
@@ -5563,12 +7083,14 @@ mkdir -p $outputdir
 cp  $tmpldir/osi_vfs.hin $outputdir/osi_vfs.h
 # chmod +x $configdir/make_vnode.pl
 # $configdir/make_vnode.pl -i $LINUX_KERNEL_PATH -t ${tmpldir} -o $outputdir
+  { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
 
 
 
 
-  echo "$as_me:$LINENO: checking for linux kernel module build works" >&5
-echo $ECHO_N "checking for linux kernel module build works... $ECHO_C" >&6
+  echo "$as_me:$LINENO: checking for linux kernel module build works" >&5
+echo $ECHO_N "checking for linux kernel module build works... $ECHO_C" >&6; }
 
   if test $AFS_SYSKVERS -ge 26 ; then
       rm -fr conftest.dir
@@ -5604,8 +7126,8 @@ _ACEOF
       sed 's/^/| /' conftest.dir/Makefile >&5
       echo "$as_me: and program was:" >&5
       sed 's/^/| /' conftest.dir/conftest.c >&5
-      echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+      echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
     { { echo "$as_me:$LINENO: error: Fix problem or use --disable-kernel-module...
 See \`config.log' for more details." >&5
 echo "$as_me: error: Fix problem or use --disable-kernel-module...
@@ -5617,7 +7139,6 @@ See \`config.log' for more details." >&2;}
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -5634,14 +7155,36 @@ main ()
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -5650,23 +7193,24 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+       { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
     { { echo "$as_me:$LINENO: error: Fix problem or use --disable-kernel-module...
 See \`config.log' for more details." >&5
 echo "$as_me: error: Fix problem or use --disable-kernel-module...
 See \`config.log' for more details." >&2;}
    { (exit 1); exit 1; }; }
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+  echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
 
-  echo "$as_me:$LINENO: checking for linux/config.h existance" >&5
-echo $ECHO_N "checking for linux/config.h existance... $ECHO_C" >&6
-  if test "${ac_cv_linux_config_h_exists+set}" = set; then
+  { echo "$as_me:$LINENO: checking whether kmem_cache_t exists" >&5
+echo $ECHO_N "checking whether kmem_cache_t exists... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_have_kmem_cache_t+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
@@ -5686,83 +7230,98 @@ _ACEOF
     cat >>conftest.dir/conftest.c <<\_ACEOF &&
 /* end confdefs.h */
 #include <linux/module.h>
-#include <linux/config.h>
+#include <linux/slab.h>
 
 void conftest(void)
 {
-return;
+kmem_cache_t *k;
 }
 
 MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
 _ACEOF
     echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
     make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
-    then ac_cv_linux_config_h_exists=yes
+    then ac_cv_linux_have_kmem_cache_t=yes
     else
       sed '/^ *+/d' conftest.err >&5
       echo "$as_me: failed using Makefile:" >&5
       sed 's/^/| /' conftest.dir/Makefile >&5
       echo "$as_me: and program was:" >&5
       sed 's/^/| /' conftest.dir/conftest.c >&5
-      ac_cv_linux_config_h_exists=no
+      ac_cv_linux_have_kmem_cache_t=no
   fi; rm -fr conftest.err conftest.dir
   else
 
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-#include <linux/config.h>
+#include <linux/slab.h>
 int
 main ()
 {
-return;
+kmem_cache_t *k;
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_linux_config_h_exists=yes
+  ac_cv_linux_have_kmem_cache_t=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_config_h_exists=no
+       ac_cv_linux_have_kmem_cache_t=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_config_h_exists" >&5
-echo "${ECHO_T}$ac_cv_linux_config_h_exists" >&6
-  if test "x$ac_cv_linux_config_h_exists" = "xyes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define CONFIG_H_EXISTS 1
-_ACEOF
-
-  fi
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_have_kmem_cache_t" >&5
+echo "${ECHO_T}$ac_cv_linux_have_kmem_cache_t" >&6; }
 
-  echo "$as_me:$LINENO: checking for linux/completion.h existance" >&5
-echo $ECHO_N "checking for linux/completion.h existance... $ECHO_C" >&6
-  if test "${ac_cv_linux_completion_h_exists+set}" = set; then
+  { echo "$as_me:$LINENO: checking whether kmem_cache_create takes a destructor argument" >&5
+echo $ECHO_N "checking whether kmem_cache_create takes a destructor argument... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_kmem_cache_create_takes_dtor+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
@@ -5782,8 +7341,237 @@ _ACEOF
     cat >>conftest.dir/conftest.c <<\_ACEOF &&
 /* end confdefs.h */
 #include <linux/module.h>
-#include <linux/version.h>
-#include <linux/completion.h>
+#include <linux/slab.h>
+
+void conftest(void)
+{
+kmem_cache_create(NULL, 0, 0, 0, NULL, NULL);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+    echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
+    make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
+    then ac_cv_linux_kmem_cache_create_takes_dtor=yes
+    else
+      sed '/^ *+/d' conftest.err >&5
+      echo "$as_me: failed using Makefile:" >&5
+      sed 's/^/| /' conftest.dir/Makefile >&5
+      echo "$as_me: and program was:" >&5
+      sed 's/^/| /' conftest.dir/conftest.c >&5
+      ac_cv_linux_kmem_cache_create_takes_dtor=no
+  fi; rm -fr conftest.err conftest.dir
+  else
+
+  ac_save_CPPFLAGS="$CPPFLAGS"
+  CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <linux/slab.h>
+int
+main ()
+{
+kmem_cache_create(NULL, 0, 0, 0, NULL, NULL);
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_linux_kmem_cache_create_takes_dtor=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_cv_linux_kmem_cache_create_takes_dtor=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CPPFLAGS="$ac_save_CPPFLAGS"
+  fi
+fi
+
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_kmem_cache_create_takes_dtor" >&5
+echo "${ECHO_T}$ac_cv_linux_kmem_cache_create_takes_dtor" >&6; }
+
+  { echo "$as_me:$LINENO: checking for linux/config.h existance" >&5
+echo $ECHO_N "checking for linux/config.h existance... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_config_h_exists+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+  if test $AFS_SYSKVERS -ge 26 ; then
+      rm -fr conftest.dir
+  if mkdir conftest.dir &&
+    cat >conftest.dir/Makefile <<_ACEOF &&
+CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+    cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+    cat confdefs.h >>conftest.dir/conftest.c &&
+    cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/config.h>
+
+void conftest(void)
+{
+return;
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+    echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
+    make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
+    then ac_cv_linux_config_h_exists=yes
+    else
+      sed '/^ *+/d' conftest.err >&5
+      echo "$as_me: failed using Makefile:" >&5
+      sed 's/^/| /' conftest.dir/Makefile >&5
+      echo "$as_me: and program was:" >&5
+      sed 's/^/| /' conftest.dir/conftest.c >&5
+      ac_cv_linux_config_h_exists=no
+  fi; rm -fr conftest.err conftest.dir
+  else
+
+  ac_save_CPPFLAGS="$CPPFLAGS"
+  CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <linux/config.h>
+int
+main ()
+{
+return;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_linux_config_h_exists=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_cv_linux_config_h_exists=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CPPFLAGS="$ac_save_CPPFLAGS"
+  fi
+fi
+
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_config_h_exists" >&5
+echo "${ECHO_T}$ac_cv_linux_config_h_exists" >&6; }
+  if test "x$ac_cv_linux_config_h_exists" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define CONFIG_H_EXISTS 1
+_ACEOF
+
+  fi
+
+  { echo "$as_me:$LINENO: checking for linux/completion.h existance" >&5
+echo $ECHO_N "checking for linux/completion.h existance... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_completion_h_exists+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+  if test $AFS_SYSKVERS -ge 26 ; then
+      rm -fr conftest.dir
+  if mkdir conftest.dir &&
+    cat >conftest.dir/Makefile <<_ACEOF &&
+CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+    cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+    cat confdefs.h >>conftest.dir/conftest.c &&
+    cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/version.h>
+#include <linux/completion.h>
 
 void conftest(void)
 {
@@ -5811,7 +7599,6 @@ _ACEOF
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -5831,14 +7618,36 @@ lose
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -5847,18 +7656,19 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_completion_h_exists=no
+       ac_cv_linux_completion_h_exists=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_completion_h_exists" >&5
-echo "${ECHO_T}$ac_cv_linux_completion_h_exists" >&6
+  echo "$as_me:$LINENO: result: $ac_cv_linux_completion_h_exists" >&5
+echo "${ECHO_T}$ac_cv_linux_completion_h_exists" >&6; }
 
-  echo "$as_me:$LINENO: checking for defined for_each_process" >&5
-echo $ECHO_N "checking for defined for_each_process... $ECHO_C" >&6
+  echo "$as_me:$LINENO: checking for defined for_each_process" >&5
+echo $ECHO_N "checking for defined for_each_process... $ECHO_C" >&6; }
   if test "${ac_cv_linux_defines_for_each_process+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -5906,7 +7716,6 @@ _ACEOF
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -5924,14 +7733,36 @@ main ()
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -5940,18 +7771,19 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_defines_for_each_process=no
+       ac_cv_linux_defines_for_each_process=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_defines_for_each_process" >&5
-echo "${ECHO_T}$ac_cv_linux_defines_for_each_process" >&6
+  echo "$as_me:$LINENO: result: $ac_cv_linux_defines_for_each_process" >&5
+echo "${ECHO_T}$ac_cv_linux_defines_for_each_process" >&6; }
 
-  echo "$as_me:$LINENO: checking for defined prev_task" >&5
-echo $ECHO_N "checking for defined prev_task... $ECHO_C" >&6
+  echo "$as_me:$LINENO: checking for defined prev_task" >&5
+echo $ECHO_N "checking for defined prev_task... $ECHO_C" >&6; }
   if test "${ac_cv_linux_defines_prev_task+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -5999,7 +7831,6 @@ _ACEOF
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -6017,14 +7848,36 @@ main ()
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -6033,18 +7886,19 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_defines_prev_task=no
+       ac_cv_linux_defines_prev_task=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_defines_prev_task" >&5
-echo "${ECHO_T}$ac_cv_linux_defines_prev_task" >&6
+  echo "$as_me:$LINENO: result: $ac_cv_linux_defines_prev_task" >&5
+echo "${ECHO_T}$ac_cv_linux_defines_prev_task" >&6; }
 
-  echo "$as_me:$LINENO: checking for alloc_inode in struct super_operations" >&5
-echo $ECHO_N "checking for alloc_inode in struct super_operations... $ECHO_C" >&6
+  echo "$as_me:$LINENO: checking for alloc_inode in struct super_operations" >&5
+echo $ECHO_N "checking for alloc_inode in struct super_operations... $ECHO_C" >&6; }
   if test "${ac_cv_linux_fs_struct_super_has_alloc_inode+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -6091,7 +7945,6 @@ _ACEOF
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -6108,14 +7961,36 @@ printk("%p\n", _super.alloc_inode);
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -6124,18 +7999,19 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_fs_struct_super_has_alloc_inode=no
+       ac_cv_linux_fs_struct_super_has_alloc_inode=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_super_has_alloc_inode" >&5
-echo "${ECHO_T}$ac_cv_linux_fs_struct_super_has_alloc_inode" >&6
+  echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_super_has_alloc_inode" >&5
+echo "${ECHO_T}$ac_cv_linux_fs_struct_super_has_alloc_inode" >&6; }
 
-  echo "$as_me:$LINENO: checking for page_lock in struct address_space" >&5
-echo $ECHO_N "checking for page_lock in struct address_space... $ECHO_C" >&6
+  echo "$as_me:$LINENO: checking for page_lock in struct address_space" >&5
+echo $ECHO_N "checking for page_lock in struct address_space... $ECHO_C" >&6; }
   if test "${ac_cv_linux_fs_struct_address_space_has_page_lock+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -6182,7 +8058,6 @@ _ACEOF
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -6199,14 +8074,36 @@ printk("%x\n", _a_s.page_lock);
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -6215,18 +8112,19 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_fs_struct_address_space_has_page_lock=no
+       ac_cv_linux_fs_struct_address_space_has_page_lock=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_address_space_has_page_lock" >&5
-echo "${ECHO_T}$ac_cv_linux_fs_struct_address_space_has_page_lock" >&6
+  echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_address_space_has_page_lock" >&5
+echo "${ECHO_T}$ac_cv_linux_fs_struct_address_space_has_page_lock" >&6; }
 
-  echo "$as_me:$LINENO: checking for gfp_mask in struct address_space" >&5
-echo $ECHO_N "checking for gfp_mask in struct address_space... $ECHO_C" >&6
+  echo "$as_me:$LINENO: checking for gfp_mask in struct address_space" >&5
+echo $ECHO_N "checking for gfp_mask in struct address_space... $ECHO_C" >&6; }
   if test "${ac_cv_linux_fs_struct_address_space_has_gfp_mask+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -6273,7 +8171,6 @@ _ACEOF
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -6290,14 +8187,36 @@ printk("%d\n", _a.gfp_mask);
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -6306,18 +8225,19 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_fs_struct_address_space_has_gfp_mask=no
+       ac_cv_linux_fs_struct_address_space_has_gfp_mask=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_address_space_has_gfp_mask" >&5
-echo "${ECHO_T}$ac_cv_linux_fs_struct_address_space_has_gfp_mask" >&6
+  echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_address_space_has_gfp_mask" >&5
+echo "${ECHO_T}$ac_cv_linux_fs_struct_address_space_has_gfp_mask" >&6; }
 
-  echo "$as_me:$LINENO: checking for i_alloc_sem in struct inode" >&5
-echo $ECHO_N "checking for i_alloc_sem in struct inode... $ECHO_C" >&6
+  echo "$as_me:$LINENO: checking for i_alloc_sem in struct inode" >&5
+echo $ECHO_N "checking for i_alloc_sem in struct inode... $ECHO_C" >&6; }
   if test "${ac_cv_linux_fs_struct_inode_has_i_alloc_sem+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -6364,7 +8284,6 @@ _ACEOF
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -6381,14 +8300,36 @@ printk("%x\n", _i.i_alloc_sem);
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -6397,18 +8338,19 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_fs_struct_inode_has_i_alloc_sem=no
+       ac_cv_linux_fs_struct_inode_has_i_alloc_sem=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_alloc_sem" >&5
-echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_alloc_sem" >&6
+  echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_alloc_sem" >&5
+echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_alloc_sem" >&6; }
 
-  echo "$as_me:$LINENO: checking for i_blkbits in struct inode" >&5
-echo $ECHO_N "checking for i_blkbits in struct inode... $ECHO_C" >&6
+  echo "$as_me:$LINENO: checking for i_blkbits in struct inode" >&5
+echo $ECHO_N "checking for i_blkbits in struct inode... $ECHO_C" >&6; }
   if test "${ac_cv_linux_fs_struct_inode_has_i_blkbits+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -6455,7 +8397,6 @@ _ACEOF
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -6472,14 +8413,36 @@ printk("%d\n", _inode.i_blkbits);
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -6488,15 +8451,16 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_fs_struct_inode_has_i_blkbits=no
+       ac_cv_linux_fs_struct_inode_has_i_blkbits=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_blkbits" >&5
-echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_blkbits" >&6
+  echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_blkbits" >&5
+echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_blkbits" >&6; }
   if test "x$ac_cv_linux_fs_struct_inode_has_i_blkbits" = "xyes"; then
 
 cat >>confdefs.h <<\_ACEOF
@@ -6505,8 +8469,8 @@ _ACEOF
 
   fi
 
-  echo "$as_me:$LINENO: checking for i_blksize in struct inode" >&5
-echo $ECHO_N "checking for i_blksize in struct inode... $ECHO_C" >&6
+  echo "$as_me:$LINENO: checking for i_blksize in struct inode" >&5
+echo $ECHO_N "checking for i_blksize in struct inode... $ECHO_C" >&6; }
   if test "${ac_cv_linux_fs_struct_inode_has_i_blksize+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -6553,7 +8517,6 @@ _ACEOF
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -6570,14 +8533,36 @@ printk("%d\n", _inode.i_blksize);
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -6586,18 +8571,19 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_fs_struct_inode_has_i_blksize=no
+       ac_cv_linux_fs_struct_inode_has_i_blksize=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_blksize" >&5
-echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_blksize" >&6
+  echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_blksize" >&5
+echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_blksize" >&6; }
 
-  echo "$as_me:$LINENO: checking for i_truncate_sem in struct inode" >&5
-echo $ECHO_N "checking for i_truncate_sem in struct inode... $ECHO_C" >&6
+  echo "$as_me:$LINENO: checking for i_truncate_sem in struct inode" >&5
+echo $ECHO_N "checking for i_truncate_sem in struct inode... $ECHO_C" >&6; }
   if test "${ac_cv_linux_fs_struct_inode_has_i_truncate_sem+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -6644,7 +8630,6 @@ _ACEOF
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -6661,14 +8646,36 @@ printk("%x\n", _i.i_truncate_sem);
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -6677,18 +8684,19 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_fs_struct_inode_has_i_truncate_sem=no
+       ac_cv_linux_fs_struct_inode_has_i_truncate_sem=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_truncate_sem" >&5
-echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_truncate_sem" >&6
+  echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_truncate_sem" >&5
+echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_truncate_sem" >&6; }
 
-  echo "$as_me:$LINENO: checking for i_dirty_data_buffers in struct inode" >&5
-echo $ECHO_N "checking for i_dirty_data_buffers in struct inode... $ECHO_C" >&6
+  echo "$as_me:$LINENO: checking for i_dirty_data_buffers in struct inode" >&5
+echo $ECHO_N "checking for i_dirty_data_buffers in struct inode... $ECHO_C" >&6; }
   if test "${ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -6735,7 +8743,6 @@ _ACEOF
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -6752,14 +8759,36 @@ printk("%d\n", _inode.i_dirty_data_buffers);
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -6768,18 +8797,19 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers=no
+       ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers" >&5
-echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers" >&6
+  echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers" >&5
+echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers" >&6; }
 
-  echo "$as_me:$LINENO: checking for i_devices in struct inode" >&5
-echo $ECHO_N "checking for i_devices in struct inode... $ECHO_C" >&6
+  echo "$as_me:$LINENO: checking for i_devices in struct inode" >&5
+echo $ECHO_N "checking for i_devices in struct inode... $ECHO_C" >&6; }
   if test "${ac_cv_linux_fs_struct_inode_has_i_devices+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -6826,7 +8856,6 @@ _ACEOF
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -6843,14 +8872,36 @@ printk("%d\n", _inode.i_devices);
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -6859,18 +8910,19 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_fs_struct_inode_has_i_devices=no
+       ac_cv_linux_fs_struct_inode_has_i_devices=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_devices" >&5
-echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_devices" >&6
+  echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_devices" >&5
+echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_devices" >&6; }
 
-  echo "$as_me:$LINENO: checking for i_mmap_shared in struct inode" >&5
-echo $ECHO_N "checking for i_mmap_shared in struct inode... $ECHO_C" >&6
+  echo "$as_me:$LINENO: checking for i_mmap_shared in struct inode" >&5
+echo $ECHO_N "checking for i_mmap_shared in struct inode... $ECHO_C" >&6; }
   if test "${ac_cv_linux_fs_struct_inode_has_i_mmap_shared+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -6917,7 +8969,6 @@ _ACEOF
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -6934,14 +8985,36 @@ printk("%d\n", _inode.i_mmap_shared);
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -6950,18 +9023,19 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_fs_struct_inode_has_i_mmap_shared=no
+       ac_cv_linux_fs_struct_inode_has_i_mmap_shared=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_mmap_shared" >&5
-echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_mmap_shared" >&6
+  echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_mmap_shared" >&5
+echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_mmap_shared" >&6; }
 
-  echo "$as_me:$LINENO: checking for i_mutex in struct inode" >&5
-echo $ECHO_N "checking for i_mutex in struct inode... $ECHO_C" >&6
+  echo "$as_me:$LINENO: checking for i_mutex in struct inode" >&5
+echo $ECHO_N "checking for i_mutex in struct inode... $ECHO_C" >&6; }
   if test "${ac_cv_linux_fs_struct_inode_has_i_mutex+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -7008,7 +9082,6 @@ _ACEOF
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -7025,14 +9098,36 @@ printk("%d\n", _inode.i_mutex);
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -7041,18 +9136,19 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_fs_struct_inode_has_i_mutex=no
+       ac_cv_linux_fs_struct_inode_has_i_mutex=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_mutex" >&5
-echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_mutex" >&6
+  echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_mutex" >&5
+echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_mutex" >&6; }
 
-  echo "$as_me:$LINENO: checking for i_sb_list in struct inode" >&5
-echo $ECHO_N "checking for i_sb_list in struct inode... $ECHO_C" >&6
+  echo "$as_me:$LINENO: checking for i_sb_list in struct inode" >&5
+echo $ECHO_N "checking for i_sb_list in struct inode... $ECHO_C" >&6; }
   if test "${ac_cv_linux_fs_struct_inode_has_i_sb_list+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -7099,7 +9195,6 @@ _ACEOF
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -7116,14 +9211,36 @@ printk("%d\n", _inode.i_sb_list);
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -7132,18 +9249,19 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_fs_struct_inode_has_i_sb_list=no
+       ac_cv_linux_fs_struct_inode_has_i_sb_list=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_sb_list" >&5
-echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_sb_list" >&6
+  echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_sb_list" >&5
+echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_sb_list" >&6; }
 
-  echo "$as_me:$LINENO: checking for i_security in struct inode" >&5
-echo $ECHO_N "checking for i_security in struct inode... $ECHO_C" >&6
+  echo "$as_me:$LINENO: checking for i_security in struct inode" >&5
+echo $ECHO_N "checking for i_security in struct inode... $ECHO_C" >&6; }
   if test "${ac_cv_linux_fs_struct_inode_has_i_security+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -7190,7 +9308,6 @@ _ACEOF
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -7207,14 +9324,36 @@ printk("%d\n", _inode.i_security);
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -7223,18 +9362,19 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_fs_struct_inode_has_i_security=no
+       ac_cv_linux_fs_struct_inode_has_i_security=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_security" >&5
-echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_security" >&6
+  echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_security" >&5
+echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_security" >&6; }
 
-  echo "$as_me:$LINENO: checking for inotify_lock in struct inode" >&5
-echo $ECHO_N "checking for inotify_lock in struct inode... $ECHO_C" >&6
+  echo "$as_me:$LINENO: checking for inotify_lock in struct inode" >&5
+echo $ECHO_N "checking for inotify_lock in struct inode... $ECHO_C" >&6; }
   if test "${ac_cv_linux_fs_struct_inode_has_inotify_lock+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -7281,7 +9421,6 @@ _ACEOF
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -7298,14 +9437,36 @@ printk("%d\n", _inode.inotify_lock);
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -7314,18 +9475,19 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_fs_struct_inode_has_inotify_lock=no
+       ac_cv_linux_fs_struct_inode_has_inotify_lock=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_inotify_lock" >&5
-echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_inotify_lock" >&6
+  echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_inotify_lock" >&5
+echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_inotify_lock" >&6; }
 
-  echo "$as_me:$LINENO: checking for inotify_sem in struct inode" >&5
-echo $ECHO_N "checking for inotify_sem in struct inode... $ECHO_C" >&6
+  echo "$as_me:$LINENO: checking for inotify_sem in struct inode" >&5
+echo $ECHO_N "checking for inotify_sem in struct inode... $ECHO_C" >&6; }
   if test "${ac_cv_linux_fs_struct_inode_has_inotify_sem+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -7372,7 +9534,6 @@ _ACEOF
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -7389,14 +9550,36 @@ printk("%x\n", _inode.inotify_sem);
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -7405,18 +9588,19 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_fs_struct_inode_has_inotify_sem=no
+       ac_cv_linux_fs_struct_inode_has_inotify_sem=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_inotify_sem" >&5
-echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_inotify_sem" >&6
+  echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_inotify_sem" >&5
+echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_inotify_sem" >&6; }
 
-  echo "$as_me:$LINENO: checking for inode_setattr return type" >&5
-echo $ECHO_N "checking for inode_setattr return type... $ECHO_C" >&6
+  echo "$as_me:$LINENO: checking for inode_setattr return type" >&5
+echo $ECHO_N "checking for inode_setattr return type... $ECHO_C" >&6; }
   if test "${ac_cv_linux_func_inode_setattr_returns_int+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -7465,7 +9649,6 @@ _ACEOF
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -7484,14 +9667,36 @@ i = inode_setattr(&_inode, &_iattr);
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -7500,18 +9705,19 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_func_inode_setattr_returns_int=no
+       ac_cv_linux_func_inode_setattr_returns_int=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_func_inode_setattr_returns_int" >&5
-echo "${ECHO_T}$ac_cv_linux_func_inode_setattr_returns_int" >&6
+  echo "$as_me:$LINENO: result: $ac_cv_linux_func_inode_setattr_returns_int" >&5
+echo "${ECHO_T}$ac_cv_linux_func_inode_setattr_returns_int" >&6; }
 
-  echo "$as_me:$LINENO: checking for write_inode return type" >&5
-echo $ECHO_N "checking for write_inode return type... $ECHO_C" >&6
+  echo "$as_me:$LINENO: checking for write_inode return type" >&5
+echo $ECHO_N "checking for write_inode return type... $ECHO_C" >&6; }
   if test "${ac_cv_linux_func_write_inode_returns_int+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -7560,7 +9766,6 @@ _ACEOF
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -7579,14 +9784,36 @@ i = _sops.write_inode(&_inode, 0);
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -7595,18 +9822,19 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_func_write_inode_returns_int=no
+       ac_cv_linux_func_write_inode_returns_int=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_func_write_inode_returns_int" >&5
-echo "${ECHO_T}$ac_cv_linux_func_write_inode_returns_int" >&6
+  echo "$as_me:$LINENO: result: $ac_cv_linux_func_write_inode_returns_int" >&5
+echo "${ECHO_T}$ac_cv_linux_func_write_inode_returns_int" >&6; }
 
-  echo "$as_me:$LINENO: checking whether inode_operations.create takes a nameidata" >&5
-echo $ECHO_N "checking whether inode_operations.create takes a nameidata... $ECHO_C" >&6
+  echo "$as_me:$LINENO: checking whether inode_operations.create takes a nameidata" >&5
+echo $ECHO_N "checking whether inode_operations.create takes a nameidata... $ECHO_C" >&6; }
   if test "${ac_cv_linux_func_i_create_takes_nameidata+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -7656,7 +9884,6 @@ _ACEOF
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -7676,14 +9903,36 @@ struct nameidata _nameidata;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -7692,18 +9941,19 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_func_i_create_takes_nameidata=no
+       ac_cv_linux_func_i_create_takes_nameidata=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_func_i_create_takes_nameidata" >&5
-echo "${ECHO_T}$ac_cv_linux_func_i_create_takes_nameidata" >&6
+  echo "$as_me:$LINENO: result: $ac_cv_linux_func_i_create_takes_nameidata" >&5
+echo "${ECHO_T}$ac_cv_linux_func_i_create_takes_nameidata" >&6; }
 
-  echo "$as_me:$LINENO: checking whether inode_operations.lookup takes a nameidata" >&5
-echo $ECHO_N "checking whether inode_operations.lookup takes a nameidata... $ECHO_C" >&6
+  echo "$as_me:$LINENO: checking whether inode_operations.lookup takes a nameidata" >&5
+echo $ECHO_N "checking whether inode_operations.lookup takes a nameidata... $ECHO_C" >&6; }
   if test "${ac_cv_linux_func_i_lookup_takes_nameidata+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -7753,7 +10003,6 @@ _ACEOF
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -7773,14 +10022,36 @@ struct nameidata _nameidata;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -7789,18 +10060,19 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_func_i_lookup_takes_nameidata=no
+       ac_cv_linux_func_i_lookup_takes_nameidata=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_func_i_lookup_takes_nameidata" >&5
-echo "${ECHO_T}$ac_cv_linux_func_i_lookup_takes_nameidata" >&6
+  echo "$as_me:$LINENO: result: $ac_cv_linux_func_i_lookup_takes_nameidata" >&5
+echo "${ECHO_T}$ac_cv_linux_func_i_lookup_takes_nameidata" >&6; }
 
-  echo "$as_me:$LINENO: checking whether inode_operations.permission takes a nameidata" >&5
-echo $ECHO_N "checking whether inode_operations.permission takes a nameidata... $ECHO_C" >&6
+  echo "$as_me:$LINENO: checking whether inode_operations.permission takes a nameidata" >&5
+echo $ECHO_N "checking whether inode_operations.permission takes a nameidata... $ECHO_C" >&6; }
   if test "${ac_cv_linux_func_i_permission_takes_nameidata+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -7850,7 +10122,6 @@ _ACEOF
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -7870,14 +10141,36 @@ struct nameidata _nameidata;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -7886,19 +10179,20 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_func_i_permission_takes_nameidata=no
+       ac_cv_linux_func_i_permission_takes_nameidata=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_func_i_permission_takes_nameidata" >&5
-echo "${ECHO_T}$ac_cv_linux_func_i_permission_takes_nameidata" >&6
+  echo "$as_me:$LINENO: result: $ac_cv_linux_func_i_permission_takes_nameidata" >&5
+echo "${ECHO_T}$ac_cv_linux_func_i_permission_takes_nameidata" >&6; }
 
-  echo "$as_me:$LINENO: checking whether dentry_operations.d_revalidate takes a nameidata" >&5
-echo $ECHO_N "checking whether dentry_operations.d_revalidate takes a nameidata... $ECHO_C" >&6
-  if test "${ac_cv_linux_func_d_revalidate_takes_nameidata+set}" = set; then
+  { echo "$as_me:$LINENO: checking whether inode_operations.put_link takes an opaque cookie" >&5
+echo $ECHO_N "checking whether inode_operations.put_link takes an opaque cookie... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_func_i_put_link_takes_cookie+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
@@ -7923,30 +10217,31 @@ _ACEOF
 
 void conftest(void)
 {
+struct inode _inode;
 struct dentry _dentry;
 struct nameidata _nameidata;
-(void)_dentry.d_op->d_revalidate(&_dentry, &_nameidata);
+void *cookie;
+(void)_inode.i_op->put_link(&_dentry, &_nameidata, cookie);
 }
 
 MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
 _ACEOF
     echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
     make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
-    then ac_cv_linux_func_d_revalidate_takes_nameidata=yes
+    then ac_cv_linux_func_i_put_link_takes_cookie=yes
     else
       sed '/^ *+/d' conftest.err >&5
       echo "$as_me: failed using Makefile:" >&5
       sed 's/^/| /' conftest.dir/Makefile >&5
       echo "$as_me: and program was:" >&5
       sed 's/^/| /' conftest.dir/conftest.c >&5
-      ac_cv_linux_func_d_revalidate_takes_nameidata=no
+      ac_cv_linux_func_i_put_link_takes_cookie=no
   fi; rm -fr conftest.err conftest.dir
   else
 
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -7957,43 +10252,68 @@ cat >>conftest.$ac_ext <<_ACEOF
 int
 main ()
 {
+struct inode _inode;
 struct dentry _dentry;
 struct nameidata _nameidata;
-(void)_dentry.d_op->d_revalidate(&_dentry, &_nameidata);
+void *cookie;
+(void)_inode.i_op->put_link(&_dentry, &_nameidata, cookie);
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_linux_func_d_revalidate_takes_nameidata=yes
+  ac_cv_linux_func_i_put_link_takes_cookie=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_func_d_revalidate_takes_nameidata=no
+       ac_cv_linux_func_i_put_link_takes_cookie=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_func_d_revalidate_takes_nameidata" >&5
-echo "${ECHO_T}$ac_cv_linux_func_d_revalidate_takes_nameidata" >&6
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_func_i_put_link_takes_cookie" >&5
+echo "${ECHO_T}$ac_cv_linux_func_i_put_link_takes_cookie" >&6; }
 
-  echo "$as_me:$LINENO: checking whether address_space_operations.writepage takes a writeback_control" >&5
-echo $ECHO_N "checking whether address_space_operations.writepage takes a writeback_control... $ECHO_C" >&6
-  if test "${ac_cv_linux_func_a_writepage_takes_writeback_control+set}" = set; then
+  { echo "$as_me:$LINENO: checking whether dentry_operations.d_revalidate takes a nameidata" >&5
+echo $ECHO_N "checking whether dentry_operations.d_revalidate takes a nameidata... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_func_d_revalidate_takes_nameidata+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
@@ -8014,85 +10334,103 @@ _ACEOF
 /* end confdefs.h */
 #include <linux/module.h>
 #include <linux/fs.h>
-#include <linux/mm.h>
-#include <linux/writeback.h>
+#include <linux/namei.h>
 
 void conftest(void)
 {
-struct address_space_operations _aops;
-struct page _page;
-struct writeback_control _writeback_control;
-(void)_aops.writepage(&_page, &_writeback_control);
+struct dentry _dentry;
+struct nameidata _nameidata;
+(void)_dentry.d_op->d_revalidate(&_dentry, &_nameidata);
 }
 
 MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
 _ACEOF
     echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
     make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
-    then ac_cv_linux_func_a_writepage_takes_writeback_control=yes
+    then ac_cv_linux_func_d_revalidate_takes_nameidata=yes
     else
       sed '/^ *+/d' conftest.err >&5
       echo "$as_me: failed using Makefile:" >&5
       sed 's/^/| /' conftest.dir/Makefile >&5
       echo "$as_me: and program was:" >&5
       sed 's/^/| /' conftest.dir/conftest.c >&5
-      ac_cv_linux_func_a_writepage_takes_writeback_control=no
+      ac_cv_linux_func_d_revalidate_takes_nameidata=no
   fi; rm -fr conftest.err conftest.dir
   else
 
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 #include <linux/fs.h>
-#include <linux/mm.h>
-#include <linux/writeback.h>
+#include <linux/namei.h>
 int
 main ()
 {
-struct address_space_operations _aops;
-struct page _page;
-struct writeback_control _writeback_control;
-(void)_aops.writepage(&_page, &_writeback_control);
+struct dentry _dentry;
+struct nameidata _nameidata;
+(void)_dentry.d_op->d_revalidate(&_dentry, &_nameidata);
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_linux_func_a_writepage_takes_writeback_control=yes
+  ac_cv_linux_func_d_revalidate_takes_nameidata=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_func_a_writepage_takes_writeback_control=no
+       ac_cv_linux_func_d_revalidate_takes_nameidata=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_func_a_writepage_takes_writeback_control" >&5
-echo "${ECHO_T}$ac_cv_linux_func_a_writepage_takes_writeback_control" >&6
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_func_d_revalidate_takes_nameidata" >&5
+echo "${ECHO_T}$ac_cv_linux_func_d_revalidate_takes_nameidata" >&6; }
 
-  echo "$as_me:$LINENO: checking for flock in struct file_operations" >&5
-echo $ECHO_N "checking for flock in struct file_operations... $ECHO_C" >&6
-  if test "${ac_cv_linux_fs_struct_fop_has_flock+set}" = set; then
+  { echo "$as_me:$LINENO: checking whether file_operations.flush takes a fl_owner_t" >&5
+echo $ECHO_N "checking whether file_operations.flush takes a fl_owner_t... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_func_f_flush_takes_fl_owner_t+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
@@ -8116,29 +10454,30 @@ _ACEOF
 
 void conftest(void)
 {
-struct file_operations _fop;
-_fop.flock(NULL, 0, NULL);
+struct inode _inode;
+struct file _file;
+fl_owner_t id;
+(void)_inode.i_fop->flush(&_file, &id);
 }
 
 MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
 _ACEOF
     echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
     make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
-    then ac_cv_linux_fs_struct_fop_has_flock=yes
+    then ac_cv_linux_func_f_flush_takes_fl_owner_t=yes
     else
       sed '/^ *+/d' conftest.err >&5
       echo "$as_me: failed using Makefile:" >&5
       sed 's/^/| /' conftest.dir/Makefile >&5
       echo "$as_me: and program was:" >&5
       sed 's/^/| /' conftest.dir/conftest.c >&5
-      ac_cv_linux_fs_struct_fop_has_flock=no
+      ac_cv_linux_func_f_flush_takes_fl_owner_t=no
   fi; rm -fr conftest.err conftest.dir
   else
 
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -8148,120 +10487,67 @@ cat >>conftest.$ac_ext <<_ACEOF
 int
 main ()
 {
-struct file_operations _fop;
-_fop.flock(NULL, 0, NULL);
+struct inode _inode;
+struct file _file;
+fl_owner_t id;
+(void)_inode.i_fop->flush(&_file, &id);
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_cv_linux_fs_struct_fop_has_flock=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_linux_fs_struct_fop_has_flock=no
-fi
-rm -f conftest.$ac_objext conftest.$ac_ext
-  CPPFLAGS="$ac_save_CPPFLAGS"
-  fi
-fi
-
-  echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_fop_has_flock" >&5
-echo "${ECHO_T}$ac_cv_linux_fs_struct_fop_has_flock" >&6
-
-  echo "$as_me:$LINENO: checking for linux/syscall.h in kernel" >&5
-echo $ECHO_N "checking for linux/syscall.h in kernel... $ECHO_C" >&6
-  if test -f "${LINUX_KERNEL_PATH}/include/linux/syscall.h"; then
-    ac_linux_syscall=yes
-    echo "$as_me:$LINENO: result: $ac_linux_syscall" >&5
-echo "${ECHO_T}$ac_linux_syscall" >&6
-  else
-    ac_linux_syscall=no
-    echo "$as_me:$LINENO: result: $ac_linux_syscall" >&5
-echo "${ECHO_T}$ac_linux_syscall" >&6
-  fi
-
-
-  echo "$as_me:$LINENO: checking for linux/seq_file.h in kernel" >&5
-echo $ECHO_N "checking for linux/seq_file.h in kernel... $ECHO_C" >&6
-  if test -f "${LINUX_KERNEL_PATH}/include/linux/seq_file.h"; then
-    ac_linux_seq_file=yes
-    echo "$as_me:$LINENO: result: $ac_linux_seq_file" >&5
-echo "${ECHO_T}$ac_linux_seq_file" >&6
-  else
-    ac_linux_seq_file=no
-    echo "$as_me:$LINENO: result: $ac_linux_seq_file" >&5
-echo "${ECHO_T}$ac_linux_seq_file" >&6
-  fi
-
-
-echo "$as_me:$LINENO: checking for SELinux kernel" >&5
-echo $ECHO_N "checking for SELinux kernel... $ECHO_C" >&6
-save_CPPFLAGS="$CPPFLAGS"
-CPPFLAGS="-I${LINUX_KERNEL_PATH}/include $CPPFLAGS"
-if test "${ac_cv_linux_kernel_is_selinux+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <linux/autoconf.h>
-int
-main ()
-{
-#ifndef CONFIG_SECURITY_SELINUX
-   #error not SELINUX
-   #endif
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_linux_kernel_is_selinux=yes
+  ac_cv_linux_func_f_flush_takes_fl_owner_t=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_kernel_is_selinux=no
+       ac_cv_linux_func_f_flush_takes_fl_owner_t=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CPPFLAGS="$ac_save_CPPFLAGS"
+  fi
 fi
 
-echo "$as_me:$LINENO: result: $ac_cv_linux_kernel_is_selinux" >&5
-echo "${ECHO_T}$ac_cv_linux_kernel_is_selinux" >&6
-CPPFLAGS="$save_CPPFLAGS"
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_func_f_flush_takes_fl_owner_t" >&5
+echo "${ECHO_T}$ac_cv_linux_func_f_flush_takes_fl_owner_t" >&6; }
 
-  echo "$as_me:$LINENO: checking for 5th argument in sock_create found in some SELinux kernels" >&5
-echo $ECHO_N "checking for 5th argument in sock_create found in some SELinux kernels... $ECHO_C" >&6
-  if test "${ac_cv_linux_kernel_sock_create_v+set}" = set; then
+  { echo "$as_me:$LINENO: checking whether address_space_operations.writepage takes a writeback_control" >&5
+echo $ECHO_N "checking whether address_space_operations.writepage takes a writeback_control... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_func_a_writepage_takes_writeback_control+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
@@ -8281,81 +10567,111 @@ _ACEOF
     cat >>conftest.dir/conftest.c <<\_ACEOF &&
 /* end confdefs.h */
 #include <linux/module.h>
-#include <linux/net.h>
-
+#include <linux/fs.h>
+#include <linux/mm.h>
+#include <linux/writeback.h>
+
 void conftest(void)
 {
-sock_create(0,0,0,0,0);
+struct address_space_operations _aops;
+struct page _page;
+struct writeback_control _writeback_control;
+(void)_aops.writepage(&_page, &_writeback_control);
 }
 
 MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
 _ACEOF
     echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
     make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
-    then ac_cv_linux_kernel_sock_create_v=yes
+    then ac_cv_linux_func_a_writepage_takes_writeback_control=yes
     else
       sed '/^ *+/d' conftest.err >&5
       echo "$as_me: failed using Makefile:" >&5
       sed 's/^/| /' conftest.dir/Makefile >&5
       echo "$as_me: and program was:" >&5
       sed 's/^/| /' conftest.dir/conftest.c >&5
-      ac_cv_linux_kernel_sock_create_v=no
+      ac_cv_linux_func_a_writepage_takes_writeback_control=no
   fi; rm -fr conftest.err conftest.dir
   else
 
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-#include <linux/net.h>
+#include <linux/fs.h>
+#include <linux/mm.h>
+#include <linux/writeback.h>
 int
 main ()
 {
-sock_create(0,0,0,0,0);
+struct address_space_operations _aops;
+struct page _page;
+struct writeback_control _writeback_control;
+(void)_aops.writepage(&_page, &_writeback_control);
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_linux_kernel_sock_create_v=yes
+  ac_cv_linux_func_a_writepage_takes_writeback_control=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_kernel_sock_create_v=no
+       ac_cv_linux_func_a_writepage_takes_writeback_control=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_kernel_sock_create_v" >&5
-echo "${ECHO_T}$ac_cv_linux_kernel_sock_create_v" >&6
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_func_a_writepage_takes_writeback_control" >&5
+echo "${ECHO_T}$ac_cv_linux_func_a_writepage_takes_writeback_control" >&6; }
 
-  echo "$as_me:$LINENO: checking for page_follow_link_light vs page_follow_link" >&5
-echo $ECHO_N "checking for page_follow_link_light vs page_follow_link... $ECHO_C" >&6
-  if test "${ac_cv_linux_kernel_page_follow_link+set}" = set; then
+  { echo "$as_me:$LINENO: checking for flock in struct file_operations" >&5
+echo $ECHO_N "checking for flock in struct file_operations... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_fs_struct_fop_has_flock+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
-    save_CPPFLAGS="$CPPFLAGS"
-    CPPFLAGS="$CPPFLAGS -Werror-implicit-function-declaration"
 
   if test $AFS_SYSKVERS -ge 26 ; then
       rm -fr conftest.dir
@@ -8376,28 +10692,28 @@ _ACEOF
 
 void conftest(void)
 {
-page_follow_link(0,0);
+struct file_operations _fop;
+_fop.flock(NULL, 0, NULL);
 }
 
 MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
 _ACEOF
     echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
     make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
-    then ac_cv_linux_kernel_page_follow_link=yes
+    then ac_cv_linux_fs_struct_fop_has_flock=yes
     else
       sed '/^ *+/d' conftest.err >&5
       echo "$as_me: failed using Makefile:" >&5
       sed 's/^/| /' conftest.dir/Makefile >&5
       echo "$as_me: and program was:" >&5
       sed 's/^/| /' conftest.dir/conftest.c >&5
-      ac_cv_linux_kernel_page_follow_link=no
+      ac_cv_linux_fs_struct_fop_has_flock=no
   fi; rm -fr conftest.err conftest.dir
   else
 
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -8407,70 +10723,65 @@ cat >>conftest.$ac_ext <<_ACEOF
 int
 main ()
 {
-page_follow_link(0,0);
+struct file_operations _fop;
+_fop.flock(NULL, 0, NULL);
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_linux_kernel_page_follow_link=yes
+  ac_cv_linux_fs_struct_fop_has_flock=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_kernel_page_follow_link=no
-fi
-rm -f conftest.$ac_objext conftest.$ac_ext
-  CPPFLAGS="$ac_save_CPPFLAGS"
-  fi
-    CPPFLAGS="$save_CPPFLAGS"
+       ac_cv_linux_fs_struct_fop_has_flock=no
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_kernel_page_follow_link" >&5
-echo "${ECHO_T}$ac_cv_linux_kernel_page_follow_link" >&6
-
-RHCONFIG_SP=""
-RHCONFIG_MP=""
-if test "x$enable_redhat_buildsys" = "xyes"; then
-  { echo "$as_me:$LINENO: WARNING: Configured to build from a Red Hat SPEC file" >&5
-echo "$as_me: WARNING: Configured to build from a Red Hat SPEC file" >&2;}
-else
-  echo "$as_me:$LINENO: checking for redhat kernel configuration" >&5
-echo $ECHO_N "checking for redhat kernel configuration... $ECHO_C" >&6
-  if test -f "${LINUX_KERNEL_PATH}/include/linux/rhconfig.h"; then
-    ac_linux_rhconfig=yes
-    RHCONFIG_SP="-D__BOOT_KERNEL_UP=1 -D__BOOT_KERNEL_SMP=0"
-    RHCONFIG_MP="-D__BOOT_KERNEL_UP=0 -D__BOOT_KERNEL_SMP=1"
-    echo "$as_me:$LINENO: result: $ac_linux_rhconfig" >&5
-echo "${ECHO_T}$ac_linux_rhconfig" >&6
-    if test ! -f "/boot/kernel.h"; then
-        { echo "$as_me:$LINENO: WARNING: /boot/kernel.h does not exist. build may fail" >&5
-echo "$as_me: WARNING: /boot/kernel.h does not exist. build may fail" >&2;}
-    fi
-  else
-    ac_linux_rhconfig=no
-    echo "$as_me:$LINENO: result: $ac_linux_rhconfig" >&5
-echo "${ECHO_T}$ac_linux_rhconfig" >&6
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_fop_has_flock" >&5
+echo "${ECHO_T}$ac_cv_linux_fs_struct_fop_has_flock" >&6; }
 
-
-
-  echo "$as_me:$LINENO: checking for recalc_sigpending arg type" >&5
-echo $ECHO_N "checking for recalc_sigpending arg type... $ECHO_C" >&6
-  if test "${ac_cv_linux_func_recalc_sigpending_takes_void+set}" = set; then
+  { echo "$as_me:$LINENO: checking for sendfile in struct file_operations" >&5
+echo $ECHO_N "checking for sendfile in struct file_operations... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_fs_struct_fop_has_sendfile+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
@@ -8490,76 +10801,126 @@ _ACEOF
     cat >>conftest.dir/conftest.c <<\_ACEOF &&
 /* end confdefs.h */
 #include <linux/module.h>
-#include <linux/sched.h>
+#include <linux/fs.h>
 
 void conftest(void)
 {
-recalc_sigpending();
+struct file_operations _fop;
+_fop.sendfile(NULL, NULL, 0, 0, NULL);
 }
 
 MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
 _ACEOF
     echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
     make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
-    then ac_cv_linux_func_recalc_sigpending_takes_void=yes
+    then ac_cv_linux_fs_struct_fop_has_sendfile=yes
     else
       sed '/^ *+/d' conftest.err >&5
       echo "$as_me: failed using Makefile:" >&5
       sed 's/^/| /' conftest.dir/Makefile >&5
       echo "$as_me: and program was:" >&5
       sed 's/^/| /' conftest.dir/conftest.c >&5
-      ac_cv_linux_func_recalc_sigpending_takes_void=no
+      ac_cv_linux_fs_struct_fop_has_sendfile=no
   fi; rm -fr conftest.err conftest.dir
   else
 
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-#include <linux/sched.h>
+#include <linux/fs.h>
 int
 main ()
 {
-recalc_sigpending();
+struct file_operations _fop;
+_fop.sendfile(NULL, NULL, 0, 0, NULL);
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_linux_func_recalc_sigpending_takes_void=yes
+  ac_cv_linux_fs_struct_fop_has_sendfile=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_func_recalc_sigpending_takes_void=no
+       ac_cv_linux_fs_struct_fop_has_sendfile=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_func_recalc_sigpending_takes_void" >&5
-echo "${ECHO_T}$ac_cv_linux_func_recalc_sigpending_takes_void" >&6
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_fop_has_sendfile" >&5
+echo "${ECHO_T}$ac_cv_linux_fs_struct_fop_has_sendfile" >&6; }
 
-  echo "$as_me:$LINENO: checking for parent in struct task_struct" >&5
-echo $ECHO_N "checking for parent in struct task_struct... $ECHO_C" >&6
-  if test "${ac_cv_linux_sched_struct_task_struct_has_parent+set}" = set; then
+  { echo "$as_me:$LINENO: checking for linux/syscall.h in kernel" >&5
+echo $ECHO_N "checking for linux/syscall.h in kernel... $ECHO_C" >&6; }
+  if test -f "${LINUX_KERNEL_PATH}/include/linux/syscall.h"; then
+    ac_linux_syscall=yes
+    { echo "$as_me:$LINENO: result: $ac_linux_syscall" >&5
+echo "${ECHO_T}$ac_linux_syscall" >&6; }
+  else
+    ac_linux_syscall=no
+    { echo "$as_me:$LINENO: result: $ac_linux_syscall" >&5
+echo "${ECHO_T}$ac_linux_syscall" >&6; }
+  fi
+
+
+  { echo "$as_me:$LINENO: checking for linux/seq_file.h in kernel" >&5
+echo $ECHO_N "checking for linux/seq_file.h in kernel... $ECHO_C" >&6; }
+  if test -f "${LINUX_KERNEL_PATH}/include/linux/seq_file.h"; then
+    ac_linux_seq_file=yes
+    { echo "$as_me:$LINENO: result: $ac_linux_seq_file" >&5
+echo "${ECHO_T}$ac_linux_seq_file" >&6; }
+  else
+    ac_linux_seq_file=no
+    { echo "$as_me:$LINENO: result: $ac_linux_seq_file" >&5
+echo "${ECHO_T}$ac_linux_seq_file" >&6; }
+  fi
+
+
+  { echo "$as_me:$LINENO: checking for 3rd argument in posix_lock_file found in new kernels" >&5
+echo $ECHO_N "checking for 3rd argument in posix_lock_file found in new kernels... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_kernel_posix_lock_file_wait_arg+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
@@ -8579,169 +10940,172 @@ _ACEOF
     cat >>conftest.dir/conftest.c <<\_ACEOF &&
 /* end confdefs.h */
 #include <linux/module.h>
-#include <linux/sched.h>
+#include <linux/fs.h>
 
 void conftest(void)
 {
-struct task_struct _tsk;
-printk("%d\n", _tsk.parent);
+posix_lock_file(0,0,0);
 }
 
 MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
 _ACEOF
     echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
     make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
-    then ac_cv_linux_sched_struct_task_struct_has_parent=yes
+    then ac_cv_linux_kernel_posix_lock_file_wait_arg=yes
     else
       sed '/^ *+/d' conftest.err >&5
       echo "$as_me: failed using Makefile:" >&5
       sed 's/^/| /' conftest.dir/Makefile >&5
       echo "$as_me: and program was:" >&5
       sed 's/^/| /' conftest.dir/conftest.c >&5
-      ac_cv_linux_sched_struct_task_struct_has_parent=no
+      ac_cv_linux_kernel_posix_lock_file_wait_arg=no
   fi; rm -fr conftest.err conftest.dir
   else
 
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-#include <linux/sched.h>
+#include <linux/fs.h>
 int
 main ()
 {
-struct task_struct _tsk;
-printk("%d\n", _tsk.parent);
+posix_lock_file(0,0,0);
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_linux_sched_struct_task_struct_has_parent=yes
+  ac_cv_linux_kernel_posix_lock_file_wait_arg=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_sched_struct_task_struct_has_parent=no
+       ac_cv_linux_kernel_posix_lock_file_wait_arg=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_parent" >&5
-echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_parent" >&6
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_kernel_posix_lock_file_wait_arg" >&5
+echo "${ECHO_T}$ac_cv_linux_kernel_posix_lock_file_wait_arg" >&6; }
 
-  echo "$as_me:$LINENO: checking for real_parent in struct task_struct" >&5
-echo $ECHO_N "checking for real_parent in struct task_struct... $ECHO_C" >&6
-  if test "${ac_cv_linux_sched_struct_task_struct_has_real_parent+set}" = set; then
+{ echo "$as_me:$LINENO: checking for SELinux kernel" >&5
+echo $ECHO_N "checking for SELinux kernel... $ECHO_C" >&6; }
+save_CPPFLAGS="$CPPFLAGS"
+CPPFLAGS="-I${LINUX_KERNEL_PATH}/include $CPPFLAGS"
+if test "${ac_cv_linux_kernel_is_selinux+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
-
-  if test $AFS_SYSKVERS -ge 26 ; then
-      rm -fr conftest.dir
-  if mkdir conftest.dir &&
-    cat >conftest.dir/Makefile <<_ACEOF &&
-CFLAGS += $CPPFLAGS
-
-obj-m += conftest.o
-_ACEOF
-    cat >conftest.dir/conftest.c <<\_ACEOF &&
-/* confdefs.h */
-_ACEOF
-    cat confdefs.h >>conftest.dir/conftest.c &&
-    cat >>conftest.dir/conftest.c <<\_ACEOF &&
-/* end confdefs.h */
-#include <linux/module.h>
-#include <linux/sched.h>
-
-void conftest(void)
-{
-struct task_struct _tsk;
-printk("%d\n", _tsk.real_parent);
-}
-
-MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
-_ACEOF
-    echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
-    make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
-    then ac_cv_linux_sched_struct_task_struct_has_real_parent=yes
-    else
-      sed '/^ *+/d' conftest.err >&5
-      echo "$as_me: failed using Makefile:" >&5
-      sed 's/^/| /' conftest.dir/Makefile >&5
-      echo "$as_me: and program was:" >&5
-      sed 's/^/| /' conftest.dir/conftest.c >&5
-      ac_cv_linux_sched_struct_task_struct_has_real_parent=no
-  fi; rm -fr conftest.err conftest.dir
-  else
-
-  ac_save_CPPFLAGS="$CPPFLAGS"
-  CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
-  cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
+cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-#include <linux/sched.h>
+#include <linux/autoconf.h>
 int
 main ()
 {
-struct task_struct _tsk;
-printk("%d\n", _tsk.real_parent);
+#ifndef CONFIG_SECURITY_SELINUX
+   #error not SELINUX
+   #endif
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_linux_sched_struct_task_struct_has_real_parent=yes
+  ac_cv_linux_kernel_is_selinux=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_sched_struct_task_struct_has_real_parent=no
+       ac_cv_linux_kernel_is_selinux=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
-  CPPFLAGS="$ac_save_CPPFLAGS"
-  fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_real_parent" >&5
-echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_real_parent" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_linux_kernel_is_selinux" >&5
+echo "${ECHO_T}$ac_cv_linux_kernel_is_selinux" >&6; }
+CPPFLAGS="$save_CPPFLAGS"
 
-  echo "$as_me:$LINENO: checking for sig in struct task_struct" >&5
-echo $ECHO_N "checking for sig in struct task_struct... $ECHO_C" >&6
-  if test "${ac_cv_linux_sched_struct_task_struct_has_sig+set}" = set; then
+  { echo "$as_me:$LINENO: checking for 5th argument in sock_create found in some SELinux kernels" >&5
+echo $ECHO_N "checking for 5th argument in sock_create found in some SELinux kernels... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_kernel_sock_create_v+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
@@ -8761,81 +11125,103 @@ _ACEOF
     cat >>conftest.dir/conftest.c <<\_ACEOF &&
 /* end confdefs.h */
 #include <linux/module.h>
-#include <linux/sched.h>
+#include <linux/net.h>
 
 void conftest(void)
 {
-struct task_struct _tsk;
-printk("%d\n", _tsk.sig);
+sock_create(0,0,0,0,0);
 }
 
 MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
 _ACEOF
     echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
     make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
-    then ac_cv_linux_sched_struct_task_struct_has_sig=yes
+    then ac_cv_linux_kernel_sock_create_v=yes
     else
       sed '/^ *+/d' conftest.err >&5
       echo "$as_me: failed using Makefile:" >&5
       sed 's/^/| /' conftest.dir/Makefile >&5
       echo "$as_me: and program was:" >&5
       sed 's/^/| /' conftest.dir/conftest.c >&5
-      ac_cv_linux_sched_struct_task_struct_has_sig=no
+      ac_cv_linux_kernel_sock_create_v=no
   fi; rm -fr conftest.err conftest.dir
   else
 
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-#include <linux/sched.h>
+#include <linux/net.h>
 int
 main ()
 {
-struct task_struct _tsk;
-printk("%d\n", _tsk.sig);
+sock_create(0,0,0,0,0);
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_linux_sched_struct_task_struct_has_sig=yes
+  ac_cv_linux_kernel_sock_create_v=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_sched_struct_task_struct_has_sig=no
+       ac_cv_linux_kernel_sock_create_v=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_sig" >&5
-echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_sig" >&6
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_kernel_sock_create_v" >&5
+echo "${ECHO_T}$ac_cv_linux_kernel_sock_create_v" >&6; }
 
-  echo "$as_me:$LINENO: checking for sighand in struct task_struct" >&5
-echo $ECHO_N "checking for sighand in struct task_struct... $ECHO_C" >&6
-  if test "${ac_cv_linux_sched_struct_task_struct_has_sighand+set}" = set; then
+  { echo "$as_me:$LINENO: checking for page_follow_link_light vs page_follow_link" >&5
+echo $ECHO_N "checking for page_follow_link_light vs page_follow_link... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_kernel_page_follow_link+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
+    save_CPPFLAGS="$CPPFLAGS"
+    CPPFLAGS="$CPPFLAGS -Werror-implicit-function-declaration"
 
   if test $AFS_SYSKVERS -ge 26 ; then
       rm -fr conftest.dir
@@ -8852,78 +11238,127 @@ _ACEOF
     cat >>conftest.dir/conftest.c <<\_ACEOF &&
 /* end confdefs.h */
 #include <linux/module.h>
-#include <linux/sched.h>
+#include <linux/fs.h>
 
 void conftest(void)
 {
-struct task_struct _tsk;
-printk("%d\n", _tsk.sighand);
+page_follow_link(0,0);
 }
 
 MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
 _ACEOF
     echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
     make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
-    then ac_cv_linux_sched_struct_task_struct_has_sighand=yes
+    then ac_cv_linux_kernel_page_follow_link=yes
     else
       sed '/^ *+/d' conftest.err >&5
       echo "$as_me: failed using Makefile:" >&5
       sed 's/^/| /' conftest.dir/Makefile >&5
       echo "$as_me: and program was:" >&5
       sed 's/^/| /' conftest.dir/conftest.c >&5
-      ac_cv_linux_sched_struct_task_struct_has_sighand=no
+      ac_cv_linux_kernel_page_follow_link=no
   fi; rm -fr conftest.err conftest.dir
   else
 
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-#include <linux/sched.h>
+#include <linux/fs.h>
 int
 main ()
 {
-struct task_struct _tsk;
-printk("%d\n", _tsk.sighand);
+page_follow_link(0,0);
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_cv_linux_sched_struct_task_struct_has_sighand=yes
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_linux_kernel_page_follow_link=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_sched_struct_task_struct_has_sighand=no
+       ac_cv_linux_kernel_page_follow_link=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
+    CPPFLAGS="$save_CPPFLAGS"
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_sighand" >&5
-echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_sighand" >&6
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_kernel_page_follow_link" >&5
+echo "${ECHO_T}$ac_cv_linux_kernel_page_follow_link" >&6; }
 
-  echo "$as_me:$LINENO: checking for sigmask_lock in struct task_struct" >&5
-echo $ECHO_N "checking for sigmask_lock in struct task_struct... $ECHO_C" >&6
-  if test "${ac_cv_linux_sched_struct_task_struct_has_sigmask_lock+set}" = set; then
+RHCONFIG_SP=""
+RHCONFIG_MP=""
+if test "x$enable_redhat_buildsys" = "xyes"; then
+  { echo "$as_me:$LINENO: WARNING: Configured to build from a Red Hat SPEC file" >&5
+echo "$as_me: WARNING: Configured to build from a Red Hat SPEC file" >&2;}
+else
+  { echo "$as_me:$LINENO: checking for redhat kernel configuration" >&5
+echo $ECHO_N "checking for redhat kernel configuration... $ECHO_C" >&6; }
+  if test -f "${LINUX_KERNEL_PATH}/include/linux/rhconfig.h"; then
+    ac_linux_rhconfig=yes
+    RHCONFIG_SP="-D__BOOT_KERNEL_UP=1 -D__BOOT_KERNEL_SMP=0"
+    RHCONFIG_MP="-D__BOOT_KERNEL_UP=0 -D__BOOT_KERNEL_SMP=1"
+    { echo "$as_me:$LINENO: result: $ac_linux_rhconfig" >&5
+echo "${ECHO_T}$ac_linux_rhconfig" >&6; }
+    if test ! -f "/boot/kernel.h"; then
+        { echo "$as_me:$LINENO: WARNING: /boot/kernel.h does not exist. build may fail" >&5
+echo "$as_me: WARNING: /boot/kernel.h does not exist. build may fail" >&2;}
+    fi
+  else
+    ac_linux_rhconfig=no
+    { echo "$as_me:$LINENO: result: $ac_linux_rhconfig" >&5
+echo "${ECHO_T}$ac_linux_rhconfig" >&6; }
+  fi
+fi
+
+
+
+
+  { echo "$as_me:$LINENO: checking for recalc_sigpending arg type" >&5
+echo $ECHO_N "checking for recalc_sigpending arg type... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_func_recalc_sigpending_takes_void+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
@@ -8947,29 +11382,27 @@ _ACEOF
 
 void conftest(void)
 {
-struct task_struct _tsk;
-printk("%d\n", _tsk.sigmask_lock);
+recalc_sigpending();
 }
 
 MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
 _ACEOF
     echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
     make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
-    then ac_cv_linux_sched_struct_task_struct_has_sigmask_lock=yes
+    then ac_cv_linux_func_recalc_sigpending_takes_void=yes
     else
       sed '/^ *+/d' conftest.err >&5
       echo "$as_me: failed using Makefile:" >&5
       sed 's/^/| /' conftest.dir/Makefile >&5
       echo "$as_me: and program was:" >&5
       sed 's/^/| /' conftest.dir/conftest.c >&5
-      ac_cv_linux_sched_struct_task_struct_has_sigmask_lock=no
+      ac_cv_linux_func_recalc_sigpending_takes_void=no
   fi; rm -fr conftest.err conftest.dir
   else
 
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -8979,42 +11412,64 @@ cat >>conftest.$ac_ext <<_ACEOF
 int
 main ()
 {
-struct task_struct _tsk;
-printk("%d\n", _tsk.sigmask_lock);
+recalc_sigpending();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_linux_sched_struct_task_struct_has_sigmask_lock=yes
+  ac_cv_linux_func_recalc_sigpending_takes_void=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_sched_struct_task_struct_has_sigmask_lock=no
+       ac_cv_linux_func_recalc_sigpending_takes_void=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_sigmask_lock" >&5
-echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_sigmask_lock" >&6
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_func_recalc_sigpending_takes_void" >&5
+echo "${ECHO_T}$ac_cv_linux_func_recalc_sigpending_takes_void" >&6; }
 
-  echo "$as_me:$LINENO: checking for rlim in struct task_struct" >&5
-echo $ECHO_N "checking for rlim in struct task_struct... $ECHO_C" >&6
-  if test "${ac_cv_linux_sched_struct_task_struct_has_rlim+set}" = set; then
+  { echo "$as_me:$LINENO: checking for parent in struct task_struct" >&5
+echo $ECHO_N "checking for parent in struct task_struct... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_sched_struct_task_struct_has_parent+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
@@ -9039,28 +11494,27 @@ _ACEOF
 void conftest(void)
 {
 struct task_struct _tsk;
-printk("%d\n", _tsk.rlim);
+printk("%d\n", _tsk.parent);
 }
 
 MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
 _ACEOF
     echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
     make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
-    then ac_cv_linux_sched_struct_task_struct_has_rlim=yes
+    then ac_cv_linux_sched_struct_task_struct_has_parent=yes
     else
       sed '/^ *+/d' conftest.err >&5
       echo "$as_me: failed using Makefile:" >&5
       sed 's/^/| /' conftest.dir/Makefile >&5
       echo "$as_me: and program was:" >&5
       sed 's/^/| /' conftest.dir/conftest.c >&5
-      ac_cv_linux_sched_struct_task_struct_has_rlim=no
+      ac_cv_linux_sched_struct_task_struct_has_parent=no
   fi; rm -fr conftest.err conftest.dir
   else
 
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -9071,41 +11525,64 @@ int
 main ()
 {
 struct task_struct _tsk;
-printk("%d\n", _tsk.rlim);
+printk("%d\n", _tsk.parent);
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_linux_sched_struct_task_struct_has_rlim=yes
+  ac_cv_linux_sched_struct_task_struct_has_parent=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_sched_struct_task_struct_has_rlim=no
+       ac_cv_linux_sched_struct_task_struct_has_parent=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_rlim" >&5
-echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_rlim" >&6
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_parent" >&5
+echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_parent" >&6; }
 
-  echo "$as_me:$LINENO: checking for signal->rlim in struct task_struct" >&5
-echo $ECHO_N "checking for signal->rlim in struct task_struct... $ECHO_C" >&6
-  if test "${ac_cv_linux_sched_struct_task_struct_has_signal_rlim+set}" = set; then
+  { echo "$as_me:$LINENO: checking for real_parent in struct task_struct" >&5
+echo $ECHO_N "checking for real_parent in struct task_struct... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_sched_struct_task_struct_has_real_parent+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
@@ -9130,28 +11607,27 @@ _ACEOF
 void conftest(void)
 {
 struct task_struct _tsk;
-printk("%d\n", _tsk.signal->rlim);
+printk("%d\n", _tsk.real_parent);
 }
 
 MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
 _ACEOF
     echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
     make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
-    then ac_cv_linux_sched_struct_task_struct_has_signal_rlim=yes
+    then ac_cv_linux_sched_struct_task_struct_has_real_parent=yes
     else
       sed '/^ *+/d' conftest.err >&5
       echo "$as_me: failed using Makefile:" >&5
       sed 's/^/| /' conftest.dir/Makefile >&5
       echo "$as_me: and program was:" >&5
       sed 's/^/| /' conftest.dir/conftest.c >&5
-      ac_cv_linux_sched_struct_task_struct_has_signal_rlim=no
+      ac_cv_linux_sched_struct_task_struct_has_real_parent=no
   fi; rm -fr conftest.err conftest.dir
   else
 
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -9162,41 +11638,64 @@ int
 main ()
 {
 struct task_struct _tsk;
-printk("%d\n", _tsk.signal->rlim);
+printk("%d\n", _tsk.real_parent);
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_linux_sched_struct_task_struct_has_signal_rlim=yes
+  ac_cv_linux_sched_struct_task_struct_has_real_parent=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_sched_struct_task_struct_has_signal_rlim=no
+       ac_cv_linux_sched_struct_task_struct_has_real_parent=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_signal_rlim" >&5
-echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_signal_rlim" >&6
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_real_parent" >&5
+echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_real_parent" >&6; }
 
-  echo "$as_me:$LINENO: checking for exit_state in struct task_struct" >&5
-echo $ECHO_N "checking for exit_state in struct task_struct... $ECHO_C" >&6
-  if test "${ac_cv_linux_sched_struct_task_struct_has_exit_state+set}" = set; then
+  { echo "$as_me:$LINENO: checking for sig in struct task_struct" >&5
+echo $ECHO_N "checking for sig in struct task_struct... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_sched_struct_task_struct_has_sig+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
@@ -9221,28 +11720,27 @@ _ACEOF
 void conftest(void)
 {
 struct task_struct _tsk;
-printk("%d\n", _tsk.exit_state);
+printk("%d\n", _tsk.sig);
 }
 
 MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
 _ACEOF
     echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
     make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
-    then ac_cv_linux_sched_struct_task_struct_has_exit_state=yes
+    then ac_cv_linux_sched_struct_task_struct_has_sig=yes
     else
       sed '/^ *+/d' conftest.err >&5
       echo "$as_me: failed using Makefile:" >&5
       sed 's/^/| /' conftest.dir/Makefile >&5
       echo "$as_me: and program was:" >&5
       sed 's/^/| /' conftest.dir/conftest.c >&5
-      ac_cv_linux_sched_struct_task_struct_has_exit_state=no
+      ac_cv_linux_sched_struct_task_struct_has_sig=no
   fi; rm -fr conftest.err conftest.dir
   else
 
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -9253,41 +11751,64 @@ int
 main ()
 {
 struct task_struct _tsk;
-printk("%d\n", _tsk.exit_state);
+printk("%d\n", _tsk.sig);
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_linux_sched_struct_task_struct_has_exit_state=yes
+  ac_cv_linux_sched_struct_task_struct_has_sig=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_sched_struct_task_struct_has_exit_state=no
+       ac_cv_linux_sched_struct_task_struct_has_sig=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_exit_state" >&5
-echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_exit_state" >&6
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_sig" >&5
+echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_sig" >&6; }
 
-  echo "$as_me:$LINENO: checking for tgid in struct task_struct" >&5
-echo $ECHO_N "checking for tgid in struct task_struct... $ECHO_C" >&6
-  if test "${ac_cv_linux_sched_struct_task_struct_has_tgid+set}" = set; then
+  { echo "$as_me:$LINENO: checking for sighand in struct task_struct" >&5
+echo $ECHO_N "checking for sighand in struct task_struct... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_sched_struct_task_struct_has_sighand+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
@@ -9312,28 +11833,27 @@ _ACEOF
 void conftest(void)
 {
 struct task_struct _tsk;
-printk("%d\n", _tsk.tgid);
+printk("%d\n", _tsk.sighand);
 }
 
 MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
 _ACEOF
     echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
     make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
-    then ac_cv_linux_sched_struct_task_struct_has_tgid=yes
+    then ac_cv_linux_sched_struct_task_struct_has_sighand=yes
     else
       sed '/^ *+/d' conftest.err >&5
       echo "$as_me: failed using Makefile:" >&5
       sed 's/^/| /' conftest.dir/Makefile >&5
       echo "$as_me: and program was:" >&5
       sed 's/^/| /' conftest.dir/conftest.c >&5
-      ac_cv_linux_sched_struct_task_struct_has_tgid=no
+      ac_cv_linux_sched_struct_task_struct_has_sighand=no
   fi; rm -fr conftest.err conftest.dir
   else
 
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -9344,41 +11864,64 @@ int
 main ()
 {
 struct task_struct _tsk;
-printk("%d\n", _tsk.tgid);
+printk("%d\n", _tsk.sighand);
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_linux_sched_struct_task_struct_has_tgid=yes
+  ac_cv_linux_sched_struct_task_struct_has_sighand=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_sched_struct_task_struct_has_tgid=no
+       ac_cv_linux_sched_struct_task_struct_has_sighand=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_tgid" >&5
-echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_tgid" >&6
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_sighand" >&5
+echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_sighand" >&6; }
 
-  echo "$as_me:$LINENO: checking for todo in struct task_struct" >&5
-echo $ECHO_N "checking for todo in struct task_struct... $ECHO_C" >&6
-  if test "${ac_cv_linux_sched_struct_task_struct_has_todo+set}" = set; then
+  { echo "$as_me:$LINENO: checking for sigmask_lock in struct task_struct" >&5
+echo $ECHO_N "checking for sigmask_lock in struct task_struct... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_sched_struct_task_struct_has_sigmask_lock+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
@@ -9403,28 +11946,27 @@ _ACEOF
 void conftest(void)
 {
 struct task_struct _tsk;
-printk("%d\n", _tsk.todo);
+printk("%d\n", _tsk.sigmask_lock);
 }
 
 MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
 _ACEOF
     echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
     make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
-    then ac_cv_linux_sched_struct_task_struct_has_todo=yes
+    then ac_cv_linux_sched_struct_task_struct_has_sigmask_lock=yes
     else
       sed '/^ *+/d' conftest.err >&5
       echo "$as_me: failed using Makefile:" >&5
       sed 's/^/| /' conftest.dir/Makefile >&5
       echo "$as_me: and program was:" >&5
       sed 's/^/| /' conftest.dir/conftest.c >&5
-      ac_cv_linux_sched_struct_task_struct_has_todo=no
+      ac_cv_linux_sched_struct_task_struct_has_sigmask_lock=no
   fi; rm -fr conftest.err conftest.dir
   else
 
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -9435,41 +11977,64 @@ int
 main ()
 {
 struct task_struct _tsk;
-printk("%d\n", _tsk.todo);
+printk("%d\n", _tsk.sigmask_lock);
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_linux_sched_struct_task_struct_has_todo=yes
+  ac_cv_linux_sched_struct_task_struct_has_sigmask_lock=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_sched_struct_task_struct_has_todo=no
+       ac_cv_linux_sched_struct_task_struct_has_sigmask_lock=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_todo" >&5
-echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_todo" >&6
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_sigmask_lock" >&5
+echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_sigmask_lock" >&6; }
 
-  echo "$as_me:$LINENO: checking for exported tasklist_lock" >&5
-echo $ECHO_N "checking for exported tasklist_lock... $ECHO_C" >&6
-  if test "${ac_cv_linux_exports_tasklist_lock+set}" = set; then
+  { echo "$as_me:$LINENO: checking for rlim in struct task_struct" >&5
+echo $ECHO_N "checking for rlim in struct task_struct... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_sched_struct_task_struct_has_rlim+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
@@ -9489,84 +12054,100 @@ _ACEOF
     cat >>conftest.dir/conftest.c <<\_ACEOF &&
 /* end confdefs.h */
 #include <linux/module.h>
-
 #include <linux/sched.h>
 
 void conftest(void)
 {
-
-extern rwlock_t tasklist_lock __attribute__((weak));
-read_lock(&tasklist_lock);
-
+struct task_struct _tsk;
+printk("%d\n", _tsk.rlim);
 }
 
 MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
 _ACEOF
     echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
     make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
-    then ac_cv_linux_exports_tasklist_lock=yes
+    then ac_cv_linux_sched_struct_task_struct_has_rlim=yes
     else
       sed '/^ *+/d' conftest.err >&5
       echo "$as_me: failed using Makefile:" >&5
       sed 's/^/| /' conftest.dir/Makefile >&5
       echo "$as_me: and program was:" >&5
       sed 's/^/| /' conftest.dir/conftest.c >&5
-      ac_cv_linux_exports_tasklist_lock=no
+      ac_cv_linux_sched_struct_task_struct_has_rlim=no
   fi; rm -fr conftest.err conftest.dir
   else
 
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-
 #include <linux/sched.h>
 int
 main ()
 {
-
-extern rwlock_t tasklist_lock __attribute__((weak));
-read_lock(&tasklist_lock);
-
+struct task_struct _tsk;
+printk("%d\n", _tsk.rlim);
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_linux_exports_tasklist_lock=yes
+  ac_cv_linux_sched_struct_task_struct_has_rlim=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_exports_tasklist_lock=no
+       ac_cv_linux_sched_struct_task_struct_has_rlim=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_exports_tasklist_lock" >&5
-echo "${ECHO_T}$ac_cv_linux_exports_tasklist_lock" >&6
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_rlim" >&5
+echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_rlim" >&6; }
 
-  echo "$as_me:$LINENO: checking for struct vfsmount * in get_sb_nodev()" >&5
-echo $ECHO_N "checking for struct vfsmount * in get_sb_nodev()... $ECHO_C" >&6
-  if test "${ac_cv_linux_get_sb_has_struct_vfsmount+set}" = set; then
+  { echo "$as_me:$LINENO: checking for signal->rlim in struct task_struct" >&5
+echo $ECHO_N "checking for signal->rlim in struct task_struct... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_sched_struct_task_struct_has_signal_rlim+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
@@ -9586,76 +12167,100 @@ _ACEOF
     cat >>conftest.dir/conftest.c <<\_ACEOF &&
 /* end confdefs.h */
 #include <linux/module.h>
-#include <linux/fs.h>
+#include <linux/sched.h>
 
 void conftest(void)
 {
-get_sb_nodev(0,0,0,0,0);
+struct task_struct _tsk;
+printk("%d\n", _tsk.signal->rlim);
 }
 
 MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
 _ACEOF
     echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
     make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
-    then ac_cv_linux_get_sb_has_struct_vfsmount=yes
+    then ac_cv_linux_sched_struct_task_struct_has_signal_rlim=yes
     else
       sed '/^ *+/d' conftest.err >&5
       echo "$as_me: failed using Makefile:" >&5
       sed 's/^/| /' conftest.dir/Makefile >&5
       echo "$as_me: and program was:" >&5
       sed 's/^/| /' conftest.dir/conftest.c >&5
-      ac_cv_linux_get_sb_has_struct_vfsmount=no
+      ac_cv_linux_sched_struct_task_struct_has_signal_rlim=no
   fi; rm -fr conftest.err conftest.dir
   else
 
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-#include <linux/fs.h>
+#include <linux/sched.h>
 int
 main ()
 {
-get_sb_nodev(0,0,0,0,0);
+struct task_struct _tsk;
+printk("%d\n", _tsk.signal->rlim);
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_linux_get_sb_has_struct_vfsmount=yes
+  ac_cv_linux_sched_struct_task_struct_has_signal_rlim=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_get_sb_has_struct_vfsmount=no
+       ac_cv_linux_sched_struct_task_struct_has_signal_rlim=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_get_sb_has_struct_vfsmount" >&5
-echo "${ECHO_T}$ac_cv_linux_get_sb_has_struct_vfsmount" >&6
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_signal_rlim" >&5
+echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_signal_rlim" >&6; }
 
-  echo "$as_me:$LINENO: checking for dentry in statfs" >&5
-echo $ECHO_N "checking for dentry in statfs... $ECHO_C" >&6
-  if test "${ac_cv_linux_statfs_takes_dentry+set}" = set; then
+  { echo "$as_me:$LINENO: checking for exit_state in struct task_struct" >&5
+echo $ECHO_N "checking for exit_state in struct task_struct... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_sched_struct_task_struct_has_exit_state+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
@@ -9675,82 +12280,100 @@ _ACEOF
     cat >>conftest.dir/conftest.c <<\_ACEOF &&
 /* end confdefs.h */
 #include <linux/module.h>
-#include <linux/fs.h>
-#include <linux/statfs.h>
+#include <linux/sched.h>
 
 void conftest(void)
 {
-
-extern int vfs_statfs(struct dentry *, struct kstatfs *);
-
+struct task_struct _tsk;
+printk("%d\n", _tsk.exit_state);
 }
 
 MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
 _ACEOF
     echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
     make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
-    then ac_cv_linux_statfs_takes_dentry=yes
+    then ac_cv_linux_sched_struct_task_struct_has_exit_state=yes
     else
       sed '/^ *+/d' conftest.err >&5
       echo "$as_me: failed using Makefile:" >&5
       sed 's/^/| /' conftest.dir/Makefile >&5
       echo "$as_me: and program was:" >&5
       sed 's/^/| /' conftest.dir/conftest.c >&5
-      ac_cv_linux_statfs_takes_dentry=no
+      ac_cv_linux_sched_struct_task_struct_has_exit_state=no
   fi; rm -fr conftest.err conftest.dir
   else
 
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-#include <linux/fs.h>
-#include <linux/statfs.h>
+#include <linux/sched.h>
 int
 main ()
 {
-
-extern int vfs_statfs(struct dentry *, struct kstatfs *);
-
+struct task_struct _tsk;
+printk("%d\n", _tsk.exit_state);
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_linux_statfs_takes_dentry=yes
+  ac_cv_linux_sched_struct_task_struct_has_exit_state=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_statfs_takes_dentry=no
+       ac_cv_linux_sched_struct_task_struct_has_exit_state=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_statfs_takes_dentry" >&5
-echo "${ECHO_T}$ac_cv_linux_statfs_takes_dentry" >&6
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_exit_state" >&5
+echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_exit_state" >&6; }
 
-  echo "$as_me:$LINENO: checking for linux/freezer.h existance" >&5
-echo $ECHO_N "checking for linux/freezer.h existance... $ECHO_C" >&6
-  if test "${ac_cv_linux_freezer_h_exists+set}" = set; then
+  { echo "$as_me:$LINENO: checking for tgid in struct task_struct" >&5
+echo $ECHO_N "checking for tgid in struct task_struct... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_sched_struct_task_struct_has_tgid+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
@@ -9770,90 +12393,100 @@ _ACEOF
     cat >>conftest.dir/conftest.c <<\_ACEOF &&
 /* end confdefs.h */
 #include <linux/module.h>
-#include <linux/freezer.h>
+#include <linux/sched.h>
 
 void conftest(void)
 {
-return;
+struct task_struct _tsk;
+printk("%d\n", _tsk.tgid);
 }
 
 MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
 _ACEOF
     echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
     make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
-    then ac_cv_linux_freezer_h_exists=yes
+    then ac_cv_linux_sched_struct_task_struct_has_tgid=yes
     else
       sed '/^ *+/d' conftest.err >&5
       echo "$as_me: failed using Makefile:" >&5
       sed 's/^/| /' conftest.dir/Makefile >&5
       echo "$as_me: and program was:" >&5
       sed 's/^/| /' conftest.dir/conftest.c >&5
-      ac_cv_linux_freezer_h_exists=no
+      ac_cv_linux_sched_struct_task_struct_has_tgid=no
   fi; rm -fr conftest.err conftest.dir
   else
 
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-#include <linux/freezer.h>
+#include <linux/sched.h>
 int
 main ()
 {
-return;
+struct task_struct _tsk;
+printk("%d\n", _tsk.tgid);
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_linux_freezer_h_exists=yes
+  ac_cv_linux_sched_struct_task_struct_has_tgid=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_freezer_h_exists=no
+       ac_cv_linux_sched_struct_task_struct_has_tgid=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_freezer_h_exists" >&5
-echo "${ECHO_T}$ac_cv_linux_freezer_h_exists" >&6
-  if test "x$ac_cv_linux_freezer_h_exists" = "xyes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define FREEZER_H_EXISTS 1
-_ACEOF
-
-  fi
-                if test "x$ac_cv_linux_freezer_h_exists" = "xyes" ; then
-
-cat >>confdefs.h <<\_ACEOF
-#define FREEZER_H_EXISTS 1
-_ACEOF
-
-                fi
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_tgid" >&5
+echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_tgid" >&6; }
 
-  echo "$as_me:$LINENO: checking whether refrigerator takes PF_FREEZE" >&5
-echo $ECHO_N "checking whether refrigerator takes PF_FREEZE... $ECHO_C" >&6
-  if test "${ac_cv_linux_func_refrigerator_takes_pf_freeze+set}" = set; then
+  { echo "$as_me:$LINENO: checking for todo in struct task_struct" >&5
+echo $ECHO_N "checking for todo in struct task_struct... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_sched_struct_task_struct_has_todo+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
@@ -9874,81 +12507,99 @@ _ACEOF
 /* end confdefs.h */
 #include <linux/module.h>
 #include <linux/sched.h>
-#ifdef FREEZER_H_EXISTS
-#include <linux/freezer.h>
-#endif
 
 void conftest(void)
 {
-refrigerator(PF_FREEZE);
+struct task_struct _tsk;
+printk("%d\n", _tsk.todo);
 }
 
 MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
 _ACEOF
     echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
     make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
-    then ac_cv_linux_func_refrigerator_takes_pf_freeze=yes
+    then ac_cv_linux_sched_struct_task_struct_has_todo=yes
     else
       sed '/^ *+/d' conftest.err >&5
       echo "$as_me: failed using Makefile:" >&5
       sed 's/^/| /' conftest.dir/Makefile >&5
       echo "$as_me: and program was:" >&5
       sed 's/^/| /' conftest.dir/conftest.c >&5
-      ac_cv_linux_func_refrigerator_takes_pf_freeze=no
+      ac_cv_linux_sched_struct_task_struct_has_todo=no
   fi; rm -fr conftest.err conftest.dir
   else
 
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 #include <linux/sched.h>
-#ifdef FREEZER_H_EXISTS
-#include <linux/freezer.h>
-#endif
 int
 main ()
 {
-refrigerator(PF_FREEZE);
+struct task_struct _tsk;
+printk("%d\n", _tsk.todo);
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_linux_func_refrigerator_takes_pf_freeze=yes
+  ac_cv_linux_sched_struct_task_struct_has_todo=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_func_refrigerator_takes_pf_freeze=no
+       ac_cv_linux_sched_struct_task_struct_has_todo=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_func_refrigerator_takes_pf_freeze" >&5
-echo "${ECHO_T}$ac_cv_linux_func_refrigerator_takes_pf_freeze" >&6
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_todo" >&5
+echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_todo" >&6; }
 
-  echo "$as_me:$LINENO: checking for linux kernel keyring support" >&5
-echo $ECHO_N "checking for linux kernel keyring support... $ECHO_C" >&6
-  if test "${ac_cv_linux_keyring_support+set}" = set; then
+  { echo "$as_me:$LINENO: checking for thread_info in struct task_struct" >&5
+echo $ECHO_N "checking for thread_info in struct task_struct... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_sched_struct_task_struct_has_thread_info+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
@@ -9968,101 +12619,100 @@ _ACEOF
     cat >>conftest.dir/conftest.c <<\_ACEOF &&
 /* end confdefs.h */
 #include <linux/module.h>
-#include <linux/rwsem.h>
-#include <linux/key.h>
-#include <linux/keyctl.h>
+#include <linux/sched.h>
 
 void conftest(void)
 {
-#ifdef CONFIG_KEYS
-request_key(NULL, NULL, NULL);
-#if !defined(KEY_POS_VIEW) || !defined(KEY_POS_SEARCH) || !defined(KEY_POS_SETATTR)
-#error "Your linux/key.h does not contain KEY_POS_VIEW or KEY_POS_SEARCH or KEY_POS_SETATTR"
-#endif
-#else
-#error rebuild your kernel with CONFIG_KEYS
-#endif
+struct task_struct _tsk;
+printk("%d\n", _tsk.thread_info);
 }
 
 MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
 _ACEOF
     echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
     make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
-    then ac_cv_linux_keyring_support=yes
+    then ac_cv_linux_sched_struct_task_struct_has_thread_info=yes
     else
       sed '/^ *+/d' conftest.err >&5
       echo "$as_me: failed using Makefile:" >&5
       sed 's/^/| /' conftest.dir/Makefile >&5
       echo "$as_me: and program was:" >&5
       sed 's/^/| /' conftest.dir/conftest.c >&5
-      ac_cv_linux_keyring_support=no
+      ac_cv_linux_sched_struct_task_struct_has_thread_info=no
   fi; rm -fr conftest.err conftest.dir
   else
 
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-#include <linux/rwsem.h>
-#include <linux/key.h>
-#include <linux/keyctl.h>
+#include <linux/sched.h>
 int
 main ()
 {
-#ifdef CONFIG_KEYS
-request_key(NULL, NULL, NULL);
-#if !defined(KEY_POS_VIEW) || !defined(KEY_POS_SEARCH) || !defined(KEY_POS_SETATTR)
-#error "Your linux/key.h does not contain KEY_POS_VIEW or KEY_POS_SEARCH or KEY_POS_SETATTR"
-#endif
-#else
-#error rebuild your kernel with CONFIG_KEYS
-#endif
+struct task_struct _tsk;
+printk("%d\n", _tsk.thread_info);
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_linux_keyring_support=yes
+  ac_cv_linux_sched_struct_task_struct_has_thread_info=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_keyring_support=no
+       ac_cv_linux_sched_struct_task_struct_has_thread_info=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_keyring_support" >&5
-echo "${ECHO_T}$ac_cv_linux_keyring_support" >&6
-  if test "x$ac_cv_linux_keyring_support" = "xyes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define LINUX_KEYRING_SUPPORT 1
-_ACEOF
-
-  fi
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_thread_info" >&5
+echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_thread_info" >&6; }
 
-  echo "$as_me:$LINENO: checking if key_alloc() takes a struct task *" >&5
-echo $ECHO_N "checking if key_alloc() takes a struct task *... $ECHO_C" >&6
-  if test "${ac_cv_key_alloc_needs_struct_task+set}" = set; then
+  { echo "$as_me:$LINENO: checking for exported tasklist_lock" >&5
+echo $ECHO_N "checking for exported tasklist_lock... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_exports_tasklist_lock+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
@@ -10082,92 +12732,109 @@ _ACEOF
     cat >>conftest.dir/conftest.c <<\_ACEOF &&
 /* end confdefs.h */
 #include <linux/module.h>
-#include <linux/rwsem.h>
-#include <linux/key.h>
 
+#include <linux/sched.h>
 
 void conftest(void)
 {
-(void) key_alloc(NULL, NULL, 0, 0, NULL, 0, 0);
+
+extern rwlock_t tasklist_lock __attribute__((weak));
+read_lock(&tasklist_lock);
+
 }
 
 MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
 _ACEOF
     echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
     make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
-    then ac_cv_key_alloc_needs_struct_task=yes
+    then ac_cv_linux_exports_tasklist_lock=yes
     else
       sed '/^ *+/d' conftest.err >&5
       echo "$as_me: failed using Makefile:" >&5
       sed 's/^/| /' conftest.dir/Makefile >&5
       echo "$as_me: and program was:" >&5
       sed 's/^/| /' conftest.dir/conftest.c >&5
-      ac_cv_key_alloc_needs_struct_task=no
+      ac_cv_linux_exports_tasklist_lock=no
   fi; rm -fr conftest.err conftest.dir
   else
 
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-#include <linux/rwsem.h>
-#include <linux/key.h>
 
+#include <linux/sched.h>
 int
 main ()
 {
-(void) key_alloc(NULL, NULL, 0, 0, NULL, 0, 0);
+
+extern rwlock_t tasklist_lock __attribute__((weak));
+read_lock(&tasklist_lock);
+
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_key_alloc_needs_struct_task=yes
+  ac_cv_linux_exports_tasklist_lock=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_key_alloc_needs_struct_task=no
+       ac_cv_linux_exports_tasklist_lock=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_key_alloc_needs_struct_task" >&5
-echo "${ECHO_T}$ac_cv_key_alloc_needs_struct_task" >&6
-  if test "x$ac_cv_key_alloc_needs_struct_task" = "xyes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define KEY_ALLOC_NEEDS_STRUCT_TASK 1
-_ACEOF
-
-  fi
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_exports_tasklist_lock" >&5
+echo "${ECHO_T}$ac_cv_linux_exports_tasklist_lock" >&6; }
 
-  echo "$as_me:$LINENO: checking for linux do_sync_read()" >&5
-echo $ECHO_N "checking for linux do_sync_read()... $ECHO_C" >&6
-  if test "${ac_cv_linux_do_sync_read+set}" = set; then
+  { echo "$as_me:$LINENO: checking for struct vfsmount * in get_sb_nodev()" >&5
+echo $ECHO_N "checking for struct vfsmount * in get_sb_nodev()... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_get_sb_has_struct_vfsmount+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
-    save_CPPFLAGS="$CPPFLAGS"
-    CPPFLAGS="$CPPFLAGS -Werror-implicit-function-declaration"
 
   if test $AFS_SYSKVERS -ge 26 ; then
       rm -fr conftest.dir
@@ -10188,28 +12855,27 @@ _ACEOF
 
 void conftest(void)
 {
-do_sync_read(NULL, NULL, 0, NULL);
+get_sb_nodev(0,0,0,0,0);
 }
 
 MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
 _ACEOF
     echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
     make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
-    then ac_cv_linux_do_sync_read=yes
+    then ac_cv_linux_get_sb_has_struct_vfsmount=yes
     else
       sed '/^ *+/d' conftest.err >&5
       echo "$as_me: failed using Makefile:" >&5
       sed 's/^/| /' conftest.dir/Makefile >&5
       echo "$as_me: and program was:" >&5
       sed 's/^/| /' conftest.dir/conftest.c >&5
-      ac_cv_linux_do_sync_read=no
+      ac_cv_linux_get_sb_has_struct_vfsmount=no
   fi; rm -fr conftest.err conftest.dir
   else
 
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -10219,54 +12885,67 @@ cat >>conftest.$ac_ext <<_ACEOF
 int
 main ()
 {
-do_sync_read(NULL, NULL, 0, NULL);
+get_sb_nodev(0,0,0,0,0);
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_linux_do_sync_read=yes
+  ac_cv_linux_get_sb_has_struct_vfsmount=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_do_sync_read=no
+       ac_cv_linux_get_sb_has_struct_vfsmount=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
-    CPPFLAGS="$save_CPPFLAGS"
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_do_sync_read" >&5
-echo "${ECHO_T}$ac_cv_linux_do_sync_read" >&6
-  if test "x$ac_cv_linux_do_sync_read" = "xyes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define DO_SYNC_READ 1
-_ACEOF
-
-  fi
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_get_sb_has_struct_vfsmount" >&5
+echo "${ECHO_T}$ac_cv_linux_get_sb_has_struct_vfsmount" >&6; }
 
-  echo "$as_me:$LINENO: checking for linux generic_file_aio_read()" >&5
-echo $ECHO_N "checking for linux generic_file_aio_read()... $ECHO_C" >&6
-  if test "${ac_cv_linux_generic_file_aio_read+set}" = set; then
+  { echo "$as_me:$LINENO: checking for dentry in statfs" >&5
+echo $ECHO_N "checking for dentry in statfs... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_statfs_takes_dentry+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
-    save_CPPFLAGS="$CPPFLAGS"
-    CPPFLAGS="$CPPFLAGS -Werror-implicit-function-declaration"
 
   if test $AFS_SYSKVERS -ge 26 ; then
       rm -fr conftest.dir
@@ -10284,83 +12963,103 @@ _ACEOF
 /* end confdefs.h */
 #include <linux/module.h>
 #include <linux/fs.h>
+#include <linux/statfs.h>
 
 void conftest(void)
 {
-generic_file_aio_read(NULL, NULL, 0, 0);
+
+extern int vfs_statfs(struct dentry *, struct kstatfs *);
+
 }
 
 MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
 _ACEOF
     echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
     make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
-    then ac_cv_linux_generic_file_aio_read=yes
+    then ac_cv_linux_statfs_takes_dentry=yes
     else
       sed '/^ *+/d' conftest.err >&5
       echo "$as_me: failed using Makefile:" >&5
       sed 's/^/| /' conftest.dir/Makefile >&5
       echo "$as_me: and program was:" >&5
       sed 's/^/| /' conftest.dir/conftest.c >&5
-      ac_cv_linux_generic_file_aio_read=no
+      ac_cv_linux_statfs_takes_dentry=no
   fi; rm -fr conftest.err conftest.dir
   else
 
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 #include <linux/fs.h>
+#include <linux/statfs.h>
 int
 main ()
 {
-generic_file_aio_read(NULL, NULL, 0, 0);
+
+extern int vfs_statfs(struct dentry *, struct kstatfs *);
+
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_linux_generic_file_aio_read=yes
+  ac_cv_linux_statfs_takes_dentry=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_generic_file_aio_read=no
+       ac_cv_linux_statfs_takes_dentry=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
-    CPPFLAGS="$save_CPPFLAGS"
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_generic_file_aio_read" >&5
-echo "${ECHO_T}$ac_cv_linux_generic_file_aio_read" >&6
-  if test "x$ac_cv_linux_generic_file_aio_read" = "xyes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define GENERIC_FILE_AIO_READ 1
-_ACEOF
-
-  fi
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_statfs_takes_dentry" >&5
+echo "${ECHO_T}$ac_cv_linux_statfs_takes_dentry" >&6; }
 
-  echo "$as_me:$LINENO: checking whether INIT_WORK has a _data argument" >&5
-echo $ECHO_N "checking whether INIT_WORK has a _data argument... $ECHO_C" >&6
-  if test "${ac_cv_linux_init_work_has_data+set}" = set; then
+  { echo "$as_me:$LINENO: checking for linux/freezer.h existance" >&5
+echo $ECHO_N "checking for linux/freezer.h existance... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_freezer_h_exists+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
@@ -10380,88 +13079,114 @@ _ACEOF
     cat >>conftest.dir/conftest.c <<\_ACEOF &&
 /* end confdefs.h */
 #include <linux/module.h>
-#include <linux/kernel.h>
-#include <linux/workqueue.h>
+#include <linux/freezer.h>
 
 void conftest(void)
 {
-
-void f(struct work_struct *w) {}
-struct work_struct *w;
-int *i;
-INIT_WORK(w,f,i);
+return;
 }
 
 MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
 _ACEOF
     echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
     make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
-    then ac_cv_linux_init_work_has_data=yes
+    then ac_cv_linux_freezer_h_exists=yes
     else
       sed '/^ *+/d' conftest.err >&5
       echo "$as_me: failed using Makefile:" >&5
       sed 's/^/| /' conftest.dir/Makefile >&5
       echo "$as_me: and program was:" >&5
       sed 's/^/| /' conftest.dir/conftest.c >&5
-      ac_cv_linux_init_work_has_data=no
+      ac_cv_linux_freezer_h_exists=no
   fi; rm -fr conftest.err conftest.dir
   else
 
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-#include <linux/kernel.h>
-#include <linux/workqueue.h>
+#include <linux/freezer.h>
 int
 main ()
 {
-
-void f(struct work_struct *w) {}
-struct work_struct *w;
-int *i;
-INIT_WORK(w,f,i);
+return;
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_linux_init_work_has_data=yes
+  ac_cv_linux_freezer_h_exists=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_init_work_has_data=no
+       ac_cv_linux_freezer_h_exists=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_init_work_has_data" >&5
-echo "${ECHO_T}$ac_cv_linux_init_work_has_data" >&6
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_freezer_h_exists" >&5
+echo "${ECHO_T}$ac_cv_linux_freezer_h_exists" >&6; }
+  if test "x$ac_cv_linux_freezer_h_exists" = "xyes"; then
 
-  echo "$as_me:$LINENO: checking whether register_sysctl_table has an insert_at_head flag argument" >&5
-echo $ECHO_N "checking whether register_sysctl_table has an insert_at_head flag argument... $ECHO_C" >&6
-  if test "${ac_cv_linux_register_sysctl_table_noflag+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
+cat >>confdefs.h <<\_ACEOF
+#define FREEZER_H_EXISTS 1
+_ACEOF
+
+  fi
+                if test "x$ac_cv_linux_freezer_h_exists" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define FREEZER_H_EXISTS 1
+_ACEOF
+
+                fi
+
+  { echo "$as_me:$LINENO: checking whether refrigerator takes PF_FREEZE" >&5
+echo $ECHO_N "checking whether refrigerator takes PF_FREEZE... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_func_refrigerator_takes_pf_freeze+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
 
 
   if test $AFS_SYSKVERS -ge 26 ; then
@@ -10479,78 +13204,104 @@ _ACEOF
     cat >>conftest.dir/conftest.c <<\_ACEOF &&
 /* end confdefs.h */
 #include <linux/module.h>
-#include <linux/sysctl.h>
+#include <linux/sched.h>
+#ifdef FREEZER_H_EXISTS
+#include <linux/freezer.h>
+#endif
 
 void conftest(void)
 {
-ctl_table *t;
-register_sysctl_table (t);
+refrigerator(PF_FREEZE);
 }
 
 MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
 _ACEOF
     echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
     make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
-    then ac_cv_linux_register_sysctl_table_noflag=yes
+    then ac_cv_linux_func_refrigerator_takes_pf_freeze=yes
     else
       sed '/^ *+/d' conftest.err >&5
       echo "$as_me: failed using Makefile:" >&5
       sed 's/^/| /' conftest.dir/Makefile >&5
       echo "$as_me: and program was:" >&5
       sed 's/^/| /' conftest.dir/conftest.c >&5
-      ac_cv_linux_register_sysctl_table_noflag=no
+      ac_cv_linux_func_refrigerator_takes_pf_freeze=no
   fi; rm -fr conftest.err conftest.dir
   else
 
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-#include <linux/sysctl.h>
+#include <linux/sched.h>
+#ifdef FREEZER_H_EXISTS
+#include <linux/freezer.h>
+#endif
 int
 main ()
 {
-ctl_table *t;
-register_sysctl_table (t);
+refrigerator(PF_FREEZE);
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_linux_register_sysctl_table_noflag=yes
+  ac_cv_linux_func_refrigerator_takes_pf_freeze=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_register_sysctl_table_noflag=no
+       ac_cv_linux_func_refrigerator_takes_pf_freeze=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_register_sysctl_table_noflag" >&5
-echo "${ECHO_T}$ac_cv_linux_register_sysctl_table_noflag" >&6
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_func_refrigerator_takes_pf_freeze" >&5
+echo "${ECHO_T}$ac_cv_linux_func_refrigerator_takes_pf_freeze" >&6; }
 
-  echo "$as_me:$LINENO: checking for exported sys_chdir" >&5
-echo $ECHO_N "checking for exported sys_chdir... $ECHO_C" >&6
-  if test "${ac_cv_linux_exports_sys_chdir+set}" = set; then
+  { echo "$as_me:$LINENO: checking for linux kernel keyring support" >&5
+echo $ECHO_N "checking for linux kernel keyring support... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_keyring_support+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
@@ -10570,78 +13321,123 @@ _ACEOF
     cat >>conftest.dir/conftest.c <<\_ACEOF &&
 /* end confdefs.h */
 #include <linux/module.h>
-extern asmlinkage long sys_chdir(void) __attribute__((weak));
+#include <linux/rwsem.h>
+#include <linux/key.h>
+#include <linux/keyctl.h>
 
 void conftest(void)
 {
-void *address = &sys_chdir;
-printk("%p\n", address);
+#ifdef CONFIG_KEYS
+request_key(NULL, NULL, NULL);
+#if !defined(KEY_POS_VIEW) || !defined(KEY_POS_SEARCH) || !defined(KEY_POS_SETATTR)
+#error "Your linux/key.h does not contain KEY_POS_VIEW or KEY_POS_SEARCH or KEY_POS_SETATTR"
+#endif
+#else
+#error rebuild your kernel with CONFIG_KEYS
+#endif
 }
 
 MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
 _ACEOF
     echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
     make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
-    then ac_cv_linux_exports_sys_chdir=yes
+    then ac_cv_linux_keyring_support=yes
     else
       sed '/^ *+/d' conftest.err >&5
       echo "$as_me: failed using Makefile:" >&5
       sed 's/^/| /' conftest.dir/Makefile >&5
       echo "$as_me: and program was:" >&5
       sed 's/^/| /' conftest.dir/conftest.c >&5
-      ac_cv_linux_exports_sys_chdir=no
+      ac_cv_linux_keyring_support=no
   fi; rm -fr conftest.err conftest.dir
   else
 
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-extern asmlinkage long sys_chdir(void) __attribute__((weak));
+#include <linux/rwsem.h>
+#include <linux/key.h>
+#include <linux/keyctl.h>
 int
 main ()
 {
-void *address = &sys_chdir;
-printk("%p\n", address);
+#ifdef CONFIG_KEYS
+request_key(NULL, NULL, NULL);
+#if !defined(KEY_POS_VIEW) || !defined(KEY_POS_SEARCH) || !defined(KEY_POS_SETATTR)
+#error "Your linux/key.h does not contain KEY_POS_VIEW or KEY_POS_SEARCH or KEY_POS_SETATTR"
+#endif
+#else
+#error rebuild your kernel with CONFIG_KEYS
+#endif
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_linux_exports_sys_chdir=yes
+  ac_cv_linux_keyring_support=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_exports_sys_chdir=no
+       ac_cv_linux_keyring_support=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_exports_sys_chdir" >&5
-echo "${ECHO_T}$ac_cv_linux_exports_sys_chdir" >&6
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_keyring_support" >&5
+echo "${ECHO_T}$ac_cv_linux_keyring_support" >&6; }
+  if test "x$ac_cv_linux_keyring_support" = "xyes"; then
 
-  echo "$as_me:$LINENO: checking for exported sys_close" >&5
-echo $ECHO_N "checking for exported sys_close... $ECHO_C" >&6
-  if test "${ac_cv_linux_exports_sys_close+set}" = set; then
+cat >>confdefs.h <<\_ACEOF
+#define LINUX_KEYRING_SUPPORT 1
+_ACEOF
+
+  fi
+
+  { echo "$as_me:$LINENO: checking if key_alloc() takes a struct task *" >&5
+echo $ECHO_N "checking if key_alloc() takes a struct task *... $ECHO_C" >&6; }
+  if test "${ac_cv_key_alloc_needs_struct_task+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
@@ -10661,81 +13457,114 @@ _ACEOF
     cat >>conftest.dir/conftest.c <<\_ACEOF &&
 /* end confdefs.h */
 #include <linux/module.h>
-extern asmlinkage long sys_close(void) __attribute__((weak));
+#include <linux/rwsem.h>
+#include <linux/key.h>
+
 
 void conftest(void)
 {
-void *address = &sys_close;
-printk("%p\n", address);
+(void) key_alloc(NULL, NULL, 0, 0, NULL, 0, 0);
 }
 
 MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
 _ACEOF
     echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
     make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
-    then ac_cv_linux_exports_sys_close=yes
+    then ac_cv_key_alloc_needs_struct_task=yes
     else
       sed '/^ *+/d' conftest.err >&5
       echo "$as_me: failed using Makefile:" >&5
       sed 's/^/| /' conftest.dir/Makefile >&5
       echo "$as_me: and program was:" >&5
       sed 's/^/| /' conftest.dir/conftest.c >&5
-      ac_cv_linux_exports_sys_close=no
+      ac_cv_key_alloc_needs_struct_task=no
   fi; rm -fr conftest.err conftest.dir
   else
 
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-extern asmlinkage long sys_close(void) __attribute__((weak));
+#include <linux/rwsem.h>
+#include <linux/key.h>
+
 int
 main ()
 {
-void *address = &sys_close;
-printk("%p\n", address);
+(void) key_alloc(NULL, NULL, 0, 0, NULL, 0, 0);
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_linux_exports_sys_close=yes
+  ac_cv_key_alloc_needs_struct_task=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_exports_sys_close=no
+       ac_cv_key_alloc_needs_struct_task=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_exports_sys_close" >&5
-echo "${ECHO_T}$ac_cv_linux_exports_sys_close" >&6
+  { echo "$as_me:$LINENO: result: $ac_cv_key_alloc_needs_struct_task" >&5
+echo "${ECHO_T}$ac_cv_key_alloc_needs_struct_task" >&6; }
+  if test "x$ac_cv_key_alloc_needs_struct_task" = "xyes"; then
 
-  echo "$as_me:$LINENO: checking for exported sys_open" >&5
-echo $ECHO_N "checking for exported sys_open... $ECHO_C" >&6
-  if test "${ac_cv_linux_exports_sys_open+set}" = set; then
+cat >>confdefs.h <<\_ACEOF
+#define KEY_ALLOC_NEEDS_STRUCT_TASK 1
+_ACEOF
+
+  fi
+
+  { echo "$as_me:$LINENO: checking for linux do_sync_read()" >&5
+echo $ECHO_N "checking for linux do_sync_read()... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_do_sync_read+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
+    save_CPPFLAGS="$CPPFLAGS"
+    CPPFLAGS="$CPPFLAGS -Werror-implicit-function-declaration"
 
   if test $AFS_SYSKVERS -ge 26 ; then
       rm -fr conftest.dir
@@ -10752,81 +13581,111 @@ _ACEOF
     cat >>conftest.dir/conftest.c <<\_ACEOF &&
 /* end confdefs.h */
 #include <linux/module.h>
-extern asmlinkage long sys_open(void) __attribute__((weak));
+#include <linux/fs.h>
 
 void conftest(void)
 {
-void *address = &sys_open;
-printk("%p\n", address);
+do_sync_read(NULL, NULL, 0, NULL);
 }
 
 MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
 _ACEOF
     echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
     make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
-    then ac_cv_linux_exports_sys_open=yes
+    then ac_cv_linux_do_sync_read=yes
     else
       sed '/^ *+/d' conftest.err >&5
       echo "$as_me: failed using Makefile:" >&5
       sed 's/^/| /' conftest.dir/Makefile >&5
       echo "$as_me: and program was:" >&5
       sed 's/^/| /' conftest.dir/conftest.c >&5
-      ac_cv_linux_exports_sys_open=no
+      ac_cv_linux_do_sync_read=no
   fi; rm -fr conftest.err conftest.dir
   else
 
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-extern asmlinkage long sys_open(void) __attribute__((weak));
+#include <linux/fs.h>
 int
 main ()
 {
-void *address = &sys_open;
-printk("%p\n", address);
+do_sync_read(NULL, NULL, 0, NULL);
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_linux_exports_sys_open=yes
+  ac_cv_linux_do_sync_read=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_exports_sys_open=no
+       ac_cv_linux_do_sync_read=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
+    CPPFLAGS="$save_CPPFLAGS"
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_exports_sys_open" >&5
-echo "${ECHO_T}$ac_cv_linux_exports_sys_open" >&6
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_do_sync_read" >&5
+echo "${ECHO_T}$ac_cv_linux_do_sync_read" >&6; }
+  if test "x$ac_cv_linux_do_sync_read" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define DO_SYNC_READ 1
+_ACEOF
+
+  fi
 
-  echo "$as_me:$LINENO: checking for exported sys_wait4" >&5
-echo $ECHO_N "checking for exported sys_wait4... $ECHO_C" >&6
-  if test "${ac_cv_linux_exports_sys_wait4+set}" = set; then
+  { echo "$as_me:$LINENO: checking for linux generic_file_aio_read()" >&5
+echo $ECHO_N "checking for linux generic_file_aio_read()... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_generic_file_aio_read+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
+    save_CPPFLAGS="$CPPFLAGS"
+    CPPFLAGS="$CPPFLAGS -Werror-implicit-function-declaration"
 
   if test $AFS_SYSKVERS -ge 26 ; then
       rm -fr conftest.dir
@@ -10843,89 +13702,106 @@ _ACEOF
     cat >>conftest.dir/conftest.c <<\_ACEOF &&
 /* end confdefs.h */
 #include <linux/module.h>
-extern asmlinkage long sys_wait4(void) __attribute__((weak));
+#include <linux/fs.h>
 
 void conftest(void)
 {
-void *address = &sys_wait4;
-printk("%p\n", address);
+generic_file_aio_read(NULL, NULL, 0, 0);
 }
 
 MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
 _ACEOF
     echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
     make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
-    then ac_cv_linux_exports_sys_wait4=yes
+    then ac_cv_linux_generic_file_aio_read=yes
     else
       sed '/^ *+/d' conftest.err >&5
       echo "$as_me: failed using Makefile:" >&5
       sed 's/^/| /' conftest.dir/Makefile >&5
       echo "$as_me: and program was:" >&5
       sed 's/^/| /' conftest.dir/conftest.c >&5
-      ac_cv_linux_exports_sys_wait4=no
+      ac_cv_linux_generic_file_aio_read=no
   fi; rm -fr conftest.err conftest.dir
   else
 
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-extern asmlinkage long sys_wait4(void) __attribute__((weak));
+#include <linux/fs.h>
 int
 main ()
 {
-void *address = &sys_wait4;
-printk("%p\n", address);
+generic_file_aio_read(NULL, NULL, 0, 0);
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_linux_exports_sys_wait4=yes
+  ac_cv_linux_generic_file_aio_read=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_exports_sys_wait4=no
+       ac_cv_linux_generic_file_aio_read=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
+    CPPFLAGS="$save_CPPFLAGS"
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_exports_sys_wait4" >&5
-echo "${ECHO_T}$ac_cv_linux_exports_sys_wait4" >&6
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_generic_file_aio_read" >&5
+echo "${ECHO_T}$ac_cv_linux_generic_file_aio_read" >&6; }
+  if test "x$ac_cv_linux_generic_file_aio_read" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define GENERIC_FILE_AIO_READ 1
+_ACEOF
 
-if test "x$enable_redhat_buildsys" = "xyes"; then
-  MPS=Default
-else
-  save_CPPFLAGS="$CPPFLAGS"
-  CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -D__KERNEL__ $RHCONFIG_SP $CPPFLAGS"
-  echo "$as_me:$LINENO: checking which kernel modules to build" >&5
-echo $ECHO_N "checking which kernel modules to build... $ECHO_C" >&6
-  if test "x$ac_cv_linux_config_h_exists" = "xyes"; then
-    CPPFLAGS="-DCONFIG_H_EXISTS $CPPFLAGS"
   fi
-  if test "x$ac_linux_rhconfig" = "xyes"; then
-      MPS="MP SP"
-  else
-  if test "${ac_cv_linux_config_smp+set}" = set; then
+
+  { echo "$as_me:$LINENO: checking whether INIT_WORK has a _data argument" >&5
+echo $ECHO_N "checking whether INIT_WORK has a _data argument... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_init_work_has_data+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
@@ -10945,106 +13821,108 @@ _ACEOF
     cat >>conftest.dir/conftest.c <<\_ACEOF &&
 /* end confdefs.h */
 #include <linux/module.h>
-#ifdef CONFIG_H_EXISTS
-#include <linux/config.h>
-#endif
-
+#include <linux/kernel.h>
+#include <linux/workqueue.h>
 
 void conftest(void)
 {
-#ifndef CONFIG_SMP
-lose;
-#endif
 
+void f(struct work_struct *w) {}
+struct work_struct *w;
+int *i;
+INIT_WORK(w,f,i);
 }
 
 MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
 _ACEOF
     echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
     make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
-    then ac_cv_linux_config_smp=yes
+    then ac_cv_linux_init_work_has_data=yes
     else
       sed '/^ *+/d' conftest.err >&5
       echo "$as_me: failed using Makefile:" >&5
       sed 's/^/| /' conftest.dir/Makefile >&5
       echo "$as_me: and program was:" >&5
       sed 's/^/| /' conftest.dir/conftest.c >&5
-      ac_cv_linux_config_smp=no
+      ac_cv_linux_init_work_has_data=no
   fi; rm -fr conftest.err conftest.dir
   else
 
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-#ifdef CONFIG_H_EXISTS
-#include <linux/config.h>
-#endif
-
+#include <linux/kernel.h>
+#include <linux/workqueue.h>
 int
 main ()
 {
-#ifndef CONFIG_SMP
-lose;
-#endif
 
+void f(struct work_struct *w) {}
+struct work_struct *w;
+int *i;
+INIT_WORK(w,f,i);
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_linux_config_smp=yes
+  ac_cv_linux_init_work_has_data=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_config_smp=no
-fi
-rm -f conftest.$ac_objext conftest.$ac_ext
-  CPPFLAGS="$ac_save_CPPFLAGS"
-  fi
+       ac_cv_linux_init_work_has_data=no
 fi
 
-        if test "x$ac_cv_linux_config_smp" = "xyes"; then
-          MPS=MP
-      else
-          MPS=SP
-      fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CPPFLAGS="$ac_save_CPPFLAGS"
   fi
-  CPPFLAGS=$save_CPPFLAGS
-  echo "$as_me:$LINENO: result: $MPS" >&5
-echo "${ECHO_T}$MPS" >&6
 fi
 
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_init_work_has_data" >&5
+echo "${ECHO_T}$ac_cv_linux_init_work_has_data" >&6; }
 
-                 if test "x$ac_cv_linux_config_modversions" = "xno" -o $AFS_SYSKVERS -ge 26; then
-                   { echo "$as_me:$LINENO: WARNING: Cannot determine sys_call_table status. assuming it isn't exported" >&5
-echo "$as_me: WARNING: Cannot determine sys_call_table status. assuming it isn't exported" >&2;}
-                   ac_cv_linux_exports_sys_call_table=no
-                  if test -f "$LINUX_KERNEL_PATH/include/asm/ia32_unistd.h"; then
-                    ac_cv_linux_exports_ia32_sys_call_table=yes
-                  fi
-                 else
-
-  echo "$as_me:$LINENO: checking for exported init_mm" >&5
-echo $ECHO_N "checking for exported init_mm... $ECHO_C" >&6
-  if test "${ac_cv_linux_exports_init_mm+set}" = set; then
+  { echo "$as_me:$LINENO: checking whether register_sysctl_table has an insert_at_head flag argument" >&5
+echo $ECHO_N "checking whether register_sysctl_table has an insert_at_head flag argument... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_register_sysctl_table_noflag+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
@@ -11064,80 +13942,100 @@ _ACEOF
     cat >>conftest.dir/conftest.c <<\_ACEOF &&
 /* end confdefs.h */
 #include <linux/module.h>
-#include <linux/modversions.h>
+#include <linux/sysctl.h>
 
 void conftest(void)
 {
-#ifndef __ver_init_mm
-#error init_mm not exported
-#endif
+ctl_table *t;
+register_sysctl_table (t);
 }
 
 MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
 _ACEOF
     echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
     make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
-    then ac_cv_linux_exports_init_mm=yes
+    then ac_cv_linux_register_sysctl_table_noflag=yes
     else
       sed '/^ *+/d' conftest.err >&5
       echo "$as_me: failed using Makefile:" >&5
       sed 's/^/| /' conftest.dir/Makefile >&5
       echo "$as_me: and program was:" >&5
       sed 's/^/| /' conftest.dir/conftest.c >&5
-      ac_cv_linux_exports_init_mm=no
+      ac_cv_linux_register_sysctl_table_noflag=no
   fi; rm -fr conftest.err conftest.dir
   else
 
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-#include <linux/modversions.h>
+#include <linux/sysctl.h>
 int
 main ()
 {
-#ifndef __ver_init_mm
-#error init_mm not exported
-#endif
+ctl_table *t;
+register_sysctl_table (t);
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_linux_exports_init_mm=yes
+  ac_cv_linux_register_sysctl_table_noflag=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_exports_init_mm=no
+       ac_cv_linux_register_sysctl_table_noflag=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_exports_init_mm" >&5
-echo "${ECHO_T}$ac_cv_linux_exports_init_mm" >&6
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_register_sysctl_table_noflag" >&5
+echo "${ECHO_T}$ac_cv_linux_register_sysctl_table_noflag" >&6; }
 
-  echo "$as_me:$LINENO: checking for exported kallsyms_address_to_symbol" >&5
-echo $ECHO_N "checking for exported kallsyms_address_to_symbol... $ECHO_C" >&6
-  if test "${ac_cv_linux_exports_kallsyms_address+set}" = set; then
+  { echo "$as_me:$LINENO: checking for exported sys_chdir" >&5
+echo $ECHO_N "checking for exported sys_chdir... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_exports_sys_chdir+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
@@ -11157,80 +14055,100 @@ _ACEOF
     cat >>conftest.dir/conftest.c <<\_ACEOF &&
 /* end confdefs.h */
 #include <linux/module.h>
-#include <linux/modversions.h>
+extern asmlinkage long sys_chdir(void) __attribute__((weak));
 
 void conftest(void)
 {
-#ifndef __ver_kallsyms_address_to_symbol
-#error kallsyms_address_to_symbol not exported
-#endif
+void *address = &sys_chdir;
+printk("%p\n", address);
 }
 
 MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
 _ACEOF
     echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
     make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
-    then ac_cv_linux_exports_kallsyms_address=yes
+    then ac_cv_linux_exports_sys_chdir=yes
     else
       sed '/^ *+/d' conftest.err >&5
       echo "$as_me: failed using Makefile:" >&5
       sed 's/^/| /' conftest.dir/Makefile >&5
       echo "$as_me: and program was:" >&5
       sed 's/^/| /' conftest.dir/conftest.c >&5
-      ac_cv_linux_exports_kallsyms_address=no
+      ac_cv_linux_exports_sys_chdir=no
   fi; rm -fr conftest.err conftest.dir
   else
 
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-#include <linux/modversions.h>
+extern asmlinkage long sys_chdir(void) __attribute__((weak));
 int
 main ()
 {
-#ifndef __ver_kallsyms_address_to_symbol
-#error kallsyms_address_to_symbol not exported
-#endif
+void *address = &sys_chdir;
+printk("%p\n", address);
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_linux_exports_kallsyms_address=yes
+  ac_cv_linux_exports_sys_chdir=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_exports_kallsyms_address=no
+       ac_cv_linux_exports_sys_chdir=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_exports_kallsyms_address" >&5
-echo "${ECHO_T}$ac_cv_linux_exports_kallsyms_address" >&6
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_exports_sys_chdir" >&5
+echo "${ECHO_T}$ac_cv_linux_exports_sys_chdir" >&6; }
 
-  echo "$as_me:$LINENO: checking for exported kallsyms_symbol_to_address" >&5
-echo $ECHO_N "checking for exported kallsyms_symbol_to_address... $ECHO_C" >&6
-  if test "${ac_cv_linux_exports_kallsyms_symbol+set}" = set; then
+  { echo "$as_me:$LINENO: checking for exported sys_close" >&5
+echo $ECHO_N "checking for exported sys_close... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_exports_sys_close+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
@@ -11250,80 +14168,100 @@ _ACEOF
     cat >>conftest.dir/conftest.c <<\_ACEOF &&
 /* end confdefs.h */
 #include <linux/module.h>
-#include <linux/modversions.h>
+extern asmlinkage long sys_close(void) __attribute__((weak));
 
 void conftest(void)
 {
-#ifndef __ver_kallsyms_symbol_to_address
-#error kallsyms_symbol_to_address not exported
-#endif
+void *address = &sys_close;
+printk("%p\n", address);
 }
 
 MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
 _ACEOF
     echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
     make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
-    then ac_cv_linux_exports_kallsyms_symbol=yes
+    then ac_cv_linux_exports_sys_close=yes
     else
       sed '/^ *+/d' conftest.err >&5
       echo "$as_me: failed using Makefile:" >&5
       sed 's/^/| /' conftest.dir/Makefile >&5
       echo "$as_me: and program was:" >&5
       sed 's/^/| /' conftest.dir/conftest.c >&5
-      ac_cv_linux_exports_kallsyms_symbol=no
+      ac_cv_linux_exports_sys_close=no
   fi; rm -fr conftest.err conftest.dir
   else
 
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-#include <linux/modversions.h>
+extern asmlinkage long sys_close(void) __attribute__((weak));
 int
 main ()
 {
-#ifndef __ver_kallsyms_symbol_to_address
-#error kallsyms_symbol_to_address not exported
-#endif
+void *address = &sys_close;
+printk("%p\n", address);
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_linux_exports_kallsyms_symbol=yes
+  ac_cv_linux_exports_sys_close=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_exports_kallsyms_symbol=no
+       ac_cv_linux_exports_sys_close=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_exports_kallsyms_symbol" >&5
-echo "${ECHO_T}$ac_cv_linux_exports_kallsyms_symbol" >&6
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_exports_sys_close" >&5
+echo "${ECHO_T}$ac_cv_linux_exports_sys_close" >&6; }
 
-  echo "$as_me:$LINENO: checking for exported sys_call_table" >&5
-echo $ECHO_N "checking for exported sys_call_table... $ECHO_C" >&6
-  if test "${ac_cv_linux_exports_sys_call_table+set}" = set; then
+  { echo "$as_me:$LINENO: checking for exported sys_open" >&5
+echo $ECHO_N "checking for exported sys_open... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_exports_sys_open+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
@@ -11343,80 +14281,100 @@ _ACEOF
     cat >>conftest.dir/conftest.c <<\_ACEOF &&
 /* end confdefs.h */
 #include <linux/module.h>
-#include <linux/modversions.h>
+extern asmlinkage long sys_open(void) __attribute__((weak));
 
 void conftest(void)
 {
-#ifndef __ver_sys_call_table
-#error sys_call_table not exported
-#endif
+void *address = &sys_open;
+printk("%p\n", address);
 }
 
 MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
 _ACEOF
     echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
     make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
-    then ac_cv_linux_exports_sys_call_table=yes
+    then ac_cv_linux_exports_sys_open=yes
     else
       sed '/^ *+/d' conftest.err >&5
       echo "$as_me: failed using Makefile:" >&5
       sed 's/^/| /' conftest.dir/Makefile >&5
       echo "$as_me: and program was:" >&5
       sed 's/^/| /' conftest.dir/conftest.c >&5
-      ac_cv_linux_exports_sys_call_table=no
+      ac_cv_linux_exports_sys_open=no
   fi; rm -fr conftest.err conftest.dir
   else
 
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-#include <linux/modversions.h>
+extern asmlinkage long sys_open(void) __attribute__((weak));
 int
 main ()
 {
-#ifndef __ver_sys_call_table
-#error sys_call_table not exported
-#endif
+void *address = &sys_open;
+printk("%p\n", address);
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_linux_exports_sys_call_table=yes
+  ac_cv_linux_exports_sys_open=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_exports_sys_call_table=no
+       ac_cv_linux_exports_sys_open=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_exports_sys_call_table" >&5
-echo "${ECHO_T}$ac_cv_linux_exports_sys_call_table" >&6
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_exports_sys_open" >&5
+echo "${ECHO_T}$ac_cv_linux_exports_sys_open" >&6; }
 
-  echo "$as_me:$LINENO: checking for exported ia32_sys_call_table" >&5
-echo $ECHO_N "checking for exported ia32_sys_call_table... $ECHO_C" >&6
-  if test "${ac_cv_linux_exports_ia32_sys_call_table+set}" = set; then
+  { echo "$as_me:$LINENO: checking for exported sys_wait4" >&5
+echo $ECHO_N "checking for exported sys_wait4... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_exports_sys_wait4+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
@@ -11436,125 +14394,872 @@ _ACEOF
     cat >>conftest.dir/conftest.c <<\_ACEOF &&
 /* end confdefs.h */
 #include <linux/module.h>
-#include <linux/modversions.h>
+extern asmlinkage long sys_wait4(void) __attribute__((weak));
 
 void conftest(void)
 {
-#ifndef __ver_ia32_sys_call_table
-#error ia32_sys_call_table not exported
-#endif
+void *address = &sys_wait4;
+printk("%p\n", address);
 }
 
 MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
 _ACEOF
     echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
     make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
-    then ac_cv_linux_exports_ia32_sys_call_table=yes
+    then ac_cv_linux_exports_sys_wait4=yes
     else
       sed '/^ *+/d' conftest.err >&5
       echo "$as_me: failed using Makefile:" >&5
       sed 's/^/| /' conftest.dir/Makefile >&5
       echo "$as_me: and program was:" >&5
       sed 's/^/| /' conftest.dir/conftest.c >&5
-      ac_cv_linux_exports_ia32_sys_call_table=no
+      ac_cv_linux_exports_sys_wait4=no
   fi; rm -fr conftest.err conftest.dir
   else
 
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-#include <linux/modversions.h>
+extern asmlinkage long sys_wait4(void) __attribute__((weak));
 int
 main ()
 {
-#ifndef __ver_ia32_sys_call_table
-#error ia32_sys_call_table not exported
-#endif
+void *address = &sys_wait4;
+printk("%p\n", address);
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_linux_exports_ia32_sys_call_table=yes
+  ac_cv_linux_exports_sys_wait4=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_exports_ia32_sys_call_table=no
+       ac_cv_linux_exports_sys_wait4=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_exports_ia32_sys_call_table" >&5
-echo "${ECHO_T}$ac_cv_linux_exports_ia32_sys_call_table" >&6
-                   if test "x$ac_cv_linux_exports_sys_call_table" = "xno"; then
-                         linux_syscall_method=none
-                         if test "x$ac_cv_linux_exports_init_mm" = "xyes"; then
-                            linux_syscall_method=scan
-                            if test "x$ac_cv_linux_exports_kallsyms_address" = "xyes"; then
-                               linux_syscall_method=scan_with_kallsyms_address
-                            fi
-                         fi
-                         if test "x$ac_cv_linux_exports_kallsyms_symbol" = "xyes"; then
-                            linux_syscall_method=kallsyms_symbol
-                         fi
-                         if test "x$linux_syscall_method" = "xnone"; then
-                           { echo "$as_me:$LINENO: WARNING: no available sys_call_table access method -- guessing scan" >&5
-echo "$as_me: WARNING: no available sys_call_table access method -- guessing scan" >&2;}
-                            linux_syscall_method=scan
-                         fi
-                   fi
-                 fi
-                if test -f "$LINUX_KERNEL_PATH/include/linux/in_systm.h"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_IN_SYSTM_H 1
-_ACEOF
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_exports_sys_wait4" >&5
+echo "${ECHO_T}$ac_cv_linux_exports_sys_wait4" >&6; }
 
-                fi
-                if test -f "$LINUX_KERNEL_PATH/include/linux/mm_inline.h"; then
+if test "x$enable_redhat_buildsys" = "xyes"; then
+  MPS=Default
+else
+  save_CPPFLAGS="$CPPFLAGS"
+  CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -D__KERNEL__ $RHCONFIG_SP $CPPFLAGS"
+  { echo "$as_me:$LINENO: checking which kernel modules to build" >&5
+echo $ECHO_N "checking which kernel modules to build... $ECHO_C" >&6; }
+  if test "x$ac_cv_linux_config_h_exists" = "xyes"; then
+    CPPFLAGS="-DCONFIG_H_EXISTS $CPPFLAGS"
+  fi
+  if test "x$ac_linux_rhconfig" = "xyes"; then
+      MPS="MP SP"
+  else
+  if test "${ac_cv_linux_config_smp+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
 
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_MM_INLINE_H 1
-_ACEOF
 
-                fi
-                if test -f "$LINUX_KERNEL_PATH/include/linux/in_systm.h"; then
+  if test $AFS_SYSKVERS -ge 26 ; then
+      rm -fr conftest.dir
+  if mkdir conftest.dir &&
+    cat >conftest.dir/Makefile <<_ACEOF &&
+CFLAGS += $CPPFLAGS
 
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_IN_SYSTM_H 1
+obj-m += conftest.o
 _ACEOF
+    cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+    cat confdefs.h >>conftest.dir/conftest.c &&
+    cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#ifdef CONFIG_H_EXISTS
+#include <linux/config.h>
+#endif
 
-                fi
-                if test "x$ac_cv_linux_exports_sys_chdir" = "xyes" ; then
 
-cat >>confdefs.h <<\_ACEOF
-#define EXPORTED_SYS_CHDIR 1
-_ACEOF
+void conftest(void)
+{
+#ifndef CONFIG_SMP
+lose;
+#endif
 
-                fi
-                if test "x$ac_cv_linux_exports_sys_open" = "xyes" ; then
+}
 
-cat >>confdefs.h <<\_ACEOF
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+    echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
+    make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
+    then ac_cv_linux_config_smp=yes
+    else
+      sed '/^ *+/d' conftest.err >&5
+      echo "$as_me: failed using Makefile:" >&5
+      sed 's/^/| /' conftest.dir/Makefile >&5
+      echo "$as_me: and program was:" >&5
+      sed 's/^/| /' conftest.dir/conftest.c >&5
+      ac_cv_linux_config_smp=no
+  fi; rm -fr conftest.err conftest.dir
+  else
+
+  ac_save_CPPFLAGS="$CPPFLAGS"
+  CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#ifdef CONFIG_H_EXISTS
+#include <linux/config.h>
+#endif
+
+int
+main ()
+{
+#ifndef CONFIG_SMP
+lose;
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_linux_config_smp=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_cv_linux_config_smp=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CPPFLAGS="$ac_save_CPPFLAGS"
+  fi
+fi
+
+        if test "x$ac_cv_linux_config_smp" = "xyes"; then
+          MPS=MP
+      else
+          MPS=SP
+      fi
+  fi
+  CPPFLAGS=$save_CPPFLAGS
+  { echo "$as_me:$LINENO: result: $MPS" >&5
+echo "${ECHO_T}$MPS" >&6; }
+fi
+
+
+                 if test "x$ac_cv_linux_config_modversions" = "xno" -o $AFS_SYSKVERS -ge 26; then
+                   { echo "$as_me:$LINENO: WARNING: Cannot determine sys_call_table status. assuming it isn't exported" >&5
+echo "$as_me: WARNING: Cannot determine sys_call_table status. assuming it isn't exported" >&2;}
+                   ac_cv_linux_exports_sys_call_table=no
+                  if test -f "$LINUX_KERNEL_PATH/include/asm/ia32_unistd.h"; then
+                    ac_cv_linux_exports_ia32_sys_call_table=yes
+                  fi
+                 else
+
+  { echo "$as_me:$LINENO: checking for exported init_mm" >&5
+echo $ECHO_N "checking for exported init_mm... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_exports_init_mm+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+  if test $AFS_SYSKVERS -ge 26 ; then
+      rm -fr conftest.dir
+  if mkdir conftest.dir &&
+    cat >conftest.dir/Makefile <<_ACEOF &&
+CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+    cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+    cat confdefs.h >>conftest.dir/conftest.c &&
+    cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/modversions.h>
+
+void conftest(void)
+{
+#ifndef __ver_init_mm
+#error init_mm not exported
+#endif
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+    echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
+    make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
+    then ac_cv_linux_exports_init_mm=yes
+    else
+      sed '/^ *+/d' conftest.err >&5
+      echo "$as_me: failed using Makefile:" >&5
+      sed 's/^/| /' conftest.dir/Makefile >&5
+      echo "$as_me: and program was:" >&5
+      sed 's/^/| /' conftest.dir/conftest.c >&5
+      ac_cv_linux_exports_init_mm=no
+  fi; rm -fr conftest.err conftest.dir
+  else
+
+  ac_save_CPPFLAGS="$CPPFLAGS"
+  CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <linux/modversions.h>
+int
+main ()
+{
+#ifndef __ver_init_mm
+#error init_mm not exported
+#endif
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_linux_exports_init_mm=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_cv_linux_exports_init_mm=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CPPFLAGS="$ac_save_CPPFLAGS"
+  fi
+fi
+
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_exports_init_mm" >&5
+echo "${ECHO_T}$ac_cv_linux_exports_init_mm" >&6; }
+
+  { echo "$as_me:$LINENO: checking for exported kallsyms_address_to_symbol" >&5
+echo $ECHO_N "checking for exported kallsyms_address_to_symbol... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_exports_kallsyms_address+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+  if test $AFS_SYSKVERS -ge 26 ; then
+      rm -fr conftest.dir
+  if mkdir conftest.dir &&
+    cat >conftest.dir/Makefile <<_ACEOF &&
+CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+    cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+    cat confdefs.h >>conftest.dir/conftest.c &&
+    cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/modversions.h>
+
+void conftest(void)
+{
+#ifndef __ver_kallsyms_address_to_symbol
+#error kallsyms_address_to_symbol not exported
+#endif
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+    echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
+    make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
+    then ac_cv_linux_exports_kallsyms_address=yes
+    else
+      sed '/^ *+/d' conftest.err >&5
+      echo "$as_me: failed using Makefile:" >&5
+      sed 's/^/| /' conftest.dir/Makefile >&5
+      echo "$as_me: and program was:" >&5
+      sed 's/^/| /' conftest.dir/conftest.c >&5
+      ac_cv_linux_exports_kallsyms_address=no
+  fi; rm -fr conftest.err conftest.dir
+  else
+
+  ac_save_CPPFLAGS="$CPPFLAGS"
+  CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <linux/modversions.h>
+int
+main ()
+{
+#ifndef __ver_kallsyms_address_to_symbol
+#error kallsyms_address_to_symbol not exported
+#endif
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_linux_exports_kallsyms_address=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_cv_linux_exports_kallsyms_address=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CPPFLAGS="$ac_save_CPPFLAGS"
+  fi
+fi
+
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_exports_kallsyms_address" >&5
+echo "${ECHO_T}$ac_cv_linux_exports_kallsyms_address" >&6; }
+
+  { echo "$as_me:$LINENO: checking for exported kallsyms_symbol_to_address" >&5
+echo $ECHO_N "checking for exported kallsyms_symbol_to_address... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_exports_kallsyms_symbol+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+  if test $AFS_SYSKVERS -ge 26 ; then
+      rm -fr conftest.dir
+  if mkdir conftest.dir &&
+    cat >conftest.dir/Makefile <<_ACEOF &&
+CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+    cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+    cat confdefs.h >>conftest.dir/conftest.c &&
+    cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/modversions.h>
+
+void conftest(void)
+{
+#ifndef __ver_kallsyms_symbol_to_address
+#error kallsyms_symbol_to_address not exported
+#endif
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+    echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
+    make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
+    then ac_cv_linux_exports_kallsyms_symbol=yes
+    else
+      sed '/^ *+/d' conftest.err >&5
+      echo "$as_me: failed using Makefile:" >&5
+      sed 's/^/| /' conftest.dir/Makefile >&5
+      echo "$as_me: and program was:" >&5
+      sed 's/^/| /' conftest.dir/conftest.c >&5
+      ac_cv_linux_exports_kallsyms_symbol=no
+  fi; rm -fr conftest.err conftest.dir
+  else
+
+  ac_save_CPPFLAGS="$CPPFLAGS"
+  CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <linux/modversions.h>
+int
+main ()
+{
+#ifndef __ver_kallsyms_symbol_to_address
+#error kallsyms_symbol_to_address not exported
+#endif
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_linux_exports_kallsyms_symbol=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_cv_linux_exports_kallsyms_symbol=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CPPFLAGS="$ac_save_CPPFLAGS"
+  fi
+fi
+
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_exports_kallsyms_symbol" >&5
+echo "${ECHO_T}$ac_cv_linux_exports_kallsyms_symbol" >&6; }
+
+  { echo "$as_me:$LINENO: checking for exported sys_call_table" >&5
+echo $ECHO_N "checking for exported sys_call_table... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_exports_sys_call_table+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+  if test $AFS_SYSKVERS -ge 26 ; then
+      rm -fr conftest.dir
+  if mkdir conftest.dir &&
+    cat >conftest.dir/Makefile <<_ACEOF &&
+CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+    cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+    cat confdefs.h >>conftest.dir/conftest.c &&
+    cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/modversions.h>
+
+void conftest(void)
+{
+#ifndef __ver_sys_call_table
+#error sys_call_table not exported
+#endif
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+    echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
+    make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
+    then ac_cv_linux_exports_sys_call_table=yes
+    else
+      sed '/^ *+/d' conftest.err >&5
+      echo "$as_me: failed using Makefile:" >&5
+      sed 's/^/| /' conftest.dir/Makefile >&5
+      echo "$as_me: and program was:" >&5
+      sed 's/^/| /' conftest.dir/conftest.c >&5
+      ac_cv_linux_exports_sys_call_table=no
+  fi; rm -fr conftest.err conftest.dir
+  else
+
+  ac_save_CPPFLAGS="$CPPFLAGS"
+  CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <linux/modversions.h>
+int
+main ()
+{
+#ifndef __ver_sys_call_table
+#error sys_call_table not exported
+#endif
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_linux_exports_sys_call_table=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_cv_linux_exports_sys_call_table=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CPPFLAGS="$ac_save_CPPFLAGS"
+  fi
+fi
+
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_exports_sys_call_table" >&5
+echo "${ECHO_T}$ac_cv_linux_exports_sys_call_table" >&6; }
+
+  { echo "$as_me:$LINENO: checking for exported ia32_sys_call_table" >&5
+echo $ECHO_N "checking for exported ia32_sys_call_table... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_exports_ia32_sys_call_table+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+  if test $AFS_SYSKVERS -ge 26 ; then
+      rm -fr conftest.dir
+  if mkdir conftest.dir &&
+    cat >conftest.dir/Makefile <<_ACEOF &&
+CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+    cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+    cat confdefs.h >>conftest.dir/conftest.c &&
+    cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/modversions.h>
+
+void conftest(void)
+{
+#ifndef __ver_ia32_sys_call_table
+#error ia32_sys_call_table not exported
+#endif
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+    echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
+    make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
+    then ac_cv_linux_exports_ia32_sys_call_table=yes
+    else
+      sed '/^ *+/d' conftest.err >&5
+      echo "$as_me: failed using Makefile:" >&5
+      sed 's/^/| /' conftest.dir/Makefile >&5
+      echo "$as_me: and program was:" >&5
+      sed 's/^/| /' conftest.dir/conftest.c >&5
+      ac_cv_linux_exports_ia32_sys_call_table=no
+  fi; rm -fr conftest.err conftest.dir
+  else
+
+  ac_save_CPPFLAGS="$CPPFLAGS"
+  CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <linux/modversions.h>
+int
+main ()
+{
+#ifndef __ver_ia32_sys_call_table
+#error ia32_sys_call_table not exported
+#endif
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_linux_exports_ia32_sys_call_table=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_cv_linux_exports_ia32_sys_call_table=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CPPFLAGS="$ac_save_CPPFLAGS"
+  fi
+fi
+
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_exports_ia32_sys_call_table" >&5
+echo "${ECHO_T}$ac_cv_linux_exports_ia32_sys_call_table" >&6; }
+                   if test "x$ac_cv_linux_exports_sys_call_table" = "xno"; then
+                         linux_syscall_method=none
+                         if test "x$ac_cv_linux_exports_init_mm" = "xyes"; then
+                            linux_syscall_method=scan
+                            if test "x$ac_cv_linux_exports_kallsyms_address" = "xyes"; then
+                               linux_syscall_method=scan_with_kallsyms_address
+                            fi
+                         fi
+                         if test "x$ac_cv_linux_exports_kallsyms_symbol" = "xyes"; then
+                            linux_syscall_method=kallsyms_symbol
+                         fi
+                         if test "x$linux_syscall_method" = "xnone"; then
+                           { echo "$as_me:$LINENO: WARNING: no available sys_call_table access method -- guessing scan" >&5
+echo "$as_me: WARNING: no available sys_call_table access method -- guessing scan" >&2;}
+                            linux_syscall_method=scan
+                         fi
+                   fi
+                 fi
+                if test -f "$LINUX_KERNEL_PATH/include/linux/in_systm.h"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_IN_SYSTM_H 1
+_ACEOF
+
+                fi
+                if test -f "$LINUX_KERNEL_PATH/include/linux/mm_inline.h"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_MM_INLINE_H 1
+_ACEOF
+
+                fi
+                if test -f "$LINUX_KERNEL_PATH/include/linux/in_systm.h"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_IN_SYSTM_H 1
+_ACEOF
+
+                fi
+                if test "x$ac_cv_linux_exports_sys_chdir" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define EXPORTED_SYS_CHDIR 1
+_ACEOF
+
+                fi
+                if test "x$ac_cv_linux_exports_sys_open" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
 #define EXPORTED_SYS_OPEN 1
 _ACEOF
 
@@ -11734,6 +15439,13 @@ _ACEOF
 
 cat >>confdefs.h <<\_ACEOF
 #define RECALC_SIGPENDING_TAKES_VOID 1
+_ACEOF
+
+                fi
+                if test "x$ac_cv_linux_kernel_posix_lock_file_wait_arg" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define POSIX_LOCK_FILE_WAIT_ARG 1
 _ACEOF
 
                 fi
@@ -11839,6 +15551,13 @@ _ACEOF
 
 cat >>confdefs.h <<\_ACEOF
 #define STRUCT_TASK_STRUCT_HAS_TODO 1
+_ACEOF
+
+                fi
+                if test "x$ac_cv_linux_sched_struct_task_struct_has_thread_info" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STRUCT_TASK_STRUCT_HAS_THREAD_INFO 1
 _ACEOF
 
                 fi
@@ -11874,6 +15593,13 @@ _ACEOF
 
 cat >>confdefs.h <<\_ACEOF
 #define IOP_CREATE_TAKES_NAMEIDATA 1
+_ACEOF
+
+                fi
+                if test "x$ac_cv_linux_func_f_flush_takes_fl_owner_t" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define FOP_FLUSH_TAKES_FL_OWNER_T 1
 _ACEOF
 
                 fi
@@ -11908,6 +15634,13 @@ _ACEOF
                 if test "x$ac_cv_linux_fs_struct_fop_has_flock" = "xyes" ; then
                  echo flock support is currently disabled in OpenAFS 1.4 for Linux
                 fi
+                if test "x$ac_cv_linux_fs_struct_fop_has_sendfile" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STRUCT_FILE_OPERATIONS_HAS_SENDFILE 1
+_ACEOF
+
+                fi
                 if test "x$ac_cv_linux_register_sysctl_table_noflag" = "xyes" ; then
 
 cat >>confdefs.h <<\_ACEOF
@@ -11922,6 +15655,30 @@ cat >>confdefs.h <<\_ACEOF
 _ACEOF
 
                 fi
+                if test "x$ac_cv_linux_have_kmem_cache_t" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_KMEM_CACHE_T 1
+_ACEOF
+
+                fi
+                if test "x$ac_cv_linux_have_kmem_cache_t" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define KMEM_CACHE_TAKES_DTOR 1
+_ACEOF
+
+                fi
+                if test "x$ac_cv_linux_kernel_page_follow_link" = "xyes" -o "x$ac_cv_linux_func_i_put_link_takes_cookie" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define USABLE_KERNEL_PAGE_SYMLINK_CACHE 1
+_ACEOF
+
+                else
+                 { echo "$as_me:$LINENO: WARNING: your kernel does not have a usable symlink cache API" >&5
+echo "$as_me: WARNING: your kernel does not have a usable symlink cache API" >&2;}
+                fi
                 :
                fi
 esac
@@ -11938,15 +15695,14 @@ _ACEOF
 
                ;;
         *)
-echo "$as_me:$LINENO: checking for definition of struct buf" >&5
-echo $ECHO_N "checking for definition of struct buf... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for definition of struct buf" >&5
+echo $ECHO_N "checking for definition of struct buf... $ECHO_C" >&6; }
 if test "${ac_cv_have_struct_buf+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
        ac_cv_have_struct_buf=no
        cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -11963,14 +15719,36 @@ struct buf x;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -11979,14 +15757,16 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
+
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
 
 fi
 
-echo "$as_me:$LINENO: result: $ac_cv_have_struct_buf" >&5
-echo "${ECHO_T}$ac_cv_have_struct_buf" >&6
+echo "$as_me:$LINENO: result: $ac_cv_have_struct_buf" >&5
+echo "${ECHO_T}$ac_cv_have_struct_buf" >&6; }
 if test "$ac_cv_have_struct_buf" = yes; then
 
 cat >>confdefs.h <<\_ACEOF
@@ -12002,10 +15782,9 @@ if test "${ac_cv_sockaddr_len+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
-echo "$as_me:$LINENO: checking if struct sockaddr has sa_len field" >&5
-echo $ECHO_N "checking if struct sockaddr has sa_len field... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking if struct sockaddr has sa_len field" >&5
+echo $ECHO_N "checking if struct sockaddr has sa_len field... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -12023,14 +15802,36 @@ a->sa_len=0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -12039,11 +15840,12 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_sockaddr_len=no
+       ac_cv_sockaddr_len=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_cv_sockaddr_len" >&5
-echo "${ECHO_T}$ac_cv_sockaddr_len" >&6
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_cv_sockaddr_len" >&5
+echo "${ECHO_T}$ac_cv_sockaddr_len" >&6; }
 fi
 
 if test "$ac_cv_sockaddr_len" = "yes"; then
@@ -12060,64 +15862,87 @@ else
 for ac_func in socket
 do
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
+echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
+#define $ac_func innocuous_$ac_func
+
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func (); below.
     Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
     <limits.h> exists even on freestanding compilers.  */
+
 #ifdef __STDC__
 # include <limits.h>
 #else
 # include <assert.h>
 #endif
-/* Override any gcc2 internal prototype to avoid an error.  */
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
-{
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char $ac_func ();
 /* The GNU C library defines this for functions which it implements
     to always fail with ENOSYS.  Some functions are actually named
     something starting with __ and the normal name is an alias.  */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+#if defined __stub_$ac_func || defined __stub___$ac_func
 choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
 #endif
 
 int
 main ()
 {
-return f != $ac_func;
+return $ac_func ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -12126,12 +15951,15 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-eval "$as_ac_var=no"
+       eval "$as_ac_var=no"
 fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+ac_res=`eval echo '${'$as_ac_var'}'`
+              { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 if test `eval echo '${'$as_ac_var'}'` = yes; then
   cat >>confdefs.h <<_ACEOF
 #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
@@ -12145,45 +15973,66 @@ done
     for lib in socket inet; do
         if test "$HAVE_SOCKET" != 1; then
                 as_ac_Lib=`echo "ac_cv_lib_${lib}''_socket" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for socket in -l${lib}" >&5
-echo $ECHO_N "checking for socket in -l${lib}... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Lib+set}\" = set"; then
+echo "$as_me:$LINENO: checking for socket in -l${lib}" >&5
+echo $ECHO_N "checking for socket in -l${lib}... $ECHO_C" >&6; }
+if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-l${lib}  $LIBS"
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char socket ();
 int
 main ()
 {
-socket ();
+return socket ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -12192,13 +16041,16 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-eval "$as_ac_Lib=no"
+       eval "$as_ac_Lib=no"
 fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Lib'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Lib'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Lib'}'`
+              { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 if test `eval echo '${'$as_ac_Lib'}'` = yes; then
   LIBS="$LIBS -l$lib";HAVE_SOCKET=1;
 cat >>confdefs.h <<\_ACEOF
 for ac_func in connect
 do
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
+echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
+#define $ac_func innocuous_$ac_func
+
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func (); below.
     Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
     <limits.h> exists even on freestanding compilers.  */
+
 #ifdef __STDC__
 # include <limits.h>
 #else
 # include <assert.h>
 #endif
-/* Override any gcc2 internal prototype to avoid an error.  */
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
-{
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char $ac_func ();
 /* The GNU C library defines this for functions which it implements
     to always fail with ENOSYS.  Some functions are actually named
     something starting with __ and the normal name is an alias.  */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+#if defined __stub_$ac_func || defined __stub___$ac_func
 choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
 #endif
 
 int
 main ()
 {
-return f != $ac_func;
+return $ac_func ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -12281,12 +16156,15 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-eval "$as_ac_var=no"
+       eval "$as_ac_var=no"
 fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+ac_res=`eval echo '${'$as_ac_var'}'`
+              { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 if test `eval echo '${'$as_ac_var'}'` = yes; then
   cat >>confdefs.h <<_ACEOF
 #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
@@ -12300,45 +16178,66 @@ done
     for lib in nsl; do
         if test "$HAVE_CONNECT" != 1; then
                 as_ac_Lib=`echo "ac_cv_lib_${lib}''_connect" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for connect in -l${lib}" >&5
-echo $ECHO_N "checking for connect in -l${lib}... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Lib+set}\" = set"; then
+echo "$as_me:$LINENO: checking for connect in -l${lib}" >&5
+echo $ECHO_N "checking for connect in -l${lib}... $ECHO_C" >&6; }
+if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-l${lib}  $LIBS"
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char connect ();
 int
 main ()
 {
-connect ();
+return connect ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -12347,13 +16246,16 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-eval "$as_ac_Lib=no"
+       eval "$as_ac_Lib=no"
 fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Lib'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Lib'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Lib'}'`
+              { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 if test `eval echo '${'$as_ac_Lib'}'` = yes; then
   LIBS="$LIBS -l$lib";HAVE_CONNECT=1;
 cat >>confdefs.h <<\_ACEOF
 for ac_func in gethostbyname
 do
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
+echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
+#define $ac_func innocuous_$ac_func
+
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func (); below.
     Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
     <limits.h> exists even on freestanding compilers.  */
+
 #ifdef __STDC__
 # include <limits.h>
 #else
 # include <assert.h>
 #endif
-/* Override any gcc2 internal prototype to avoid an error.  */
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
-{
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char $ac_func ();
 /* The GNU C library defines this for functions which it implements
     to always fail with ENOSYS.  Some functions are actually named
     something starting with __ and the normal name is an alias.  */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+#if defined __stub_$ac_func || defined __stub___$ac_func
 choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
 #endif
 
 int
 main ()
 {
-return f != $ac_func;
+return $ac_func ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -12436,12 +16361,15 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-eval "$as_ac_var=no"
+       eval "$as_ac_var=no"
 fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+ac_res=`eval echo '${'$as_ac_var'}'`
+              { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 if test `eval echo '${'$as_ac_var'}'` = yes; then
   cat >>confdefs.h <<_ACEOF
 #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
@@ -12454,45 +16382,66 @@ done
         for lib in dns nsl resolv; do
           if test "$HAVE_GETHOSTBYNAME" != 1; then
             as_ac_Lib=`echo "ac_cv_lib_${lib}''_gethostbyname" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for gethostbyname in -l${lib}" >&5
-echo $ECHO_N "checking for gethostbyname in -l${lib}... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Lib+set}\" = set"; then
+echo "$as_me:$LINENO: checking for gethostbyname in -l${lib}" >&5
+echo $ECHO_N "checking for gethostbyname in -l${lib}... $ECHO_C" >&6; }
+if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-l${lib}  $LIBS"
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char gethostbyname ();
 int
 main ()
 {
-gethostbyname ();
+return gethostbyname ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -12501,13 +16450,16 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-eval "$as_ac_Lib=no"
+       eval "$as_ac_Lib=no"
 fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Lib'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Lib'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Lib'}'`
+              { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 if test `eval echo '${'$as_ac_Lib'}'` = yes; then
   LIBS="$LIBS -l$lib";HAVE_GETHOSTBYNAME=1;
 cat >>confdefs.h <<\_ACEOF
         done
   fi
 
-    echo "$as_me:$LINENO: checking for the useability of arpa/nameser_compat.h" >&5
-echo $ECHO_N "checking for the useability of arpa/nameser_compat.h... $ECHO_C" >&6
+    echo "$as_me:$LINENO: checking for the useability of arpa/nameser_compat.h" >&5
+echo $ECHO_N "checking for the useability of arpa/nameser_compat.h... $ECHO_C" >&6; }
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -12549,19 +16500,41 @@ static int i; i = 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+  echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
    cat >>confdefs.h <<\_ACEOF
 #define HAVE_ARPA_NAMESER_COMPAT_H 1
 _ACEOF
@@ -12570,19 +16543,19 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+       { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
   openafs_save_libs="$LIBS"
-  echo "$as_me:$LINENO: checking for res_search" >&5
-echo $ECHO_N "checking for res_search... $ECHO_C" >&6
+  echo "$as_me:$LINENO: checking for res_search" >&5
+echo $ECHO_N "checking for res_search... $ECHO_C" >&6; }
 
   ac_cv_func_res_search=no
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -12615,14 +16588,36 @@ return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -12631,8 +16626,11 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
+
 fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
 
 
   if test "$ac_cv_func_res_search" = no; then
@@ -12642,7 +16640,6 @@ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
 
   ac_cv_func_res_search=no
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -12675,14 +16672,36 @@ return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -12691,8 +16710,11 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
+
 fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
 
           LIBS="$openafs_save_libs"
         fi
@@ -12703,63 +16725,84 @@ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
 #define HAVE_RES_SEARCH 1
 _ACEOF
 
-        echo "$as_me:$LINENO: result: yes, in lib$lib" >&5
-echo "${ECHO_T}yes, in lib$lib" >&6
+        echo "$as_me:$LINENO: result: yes, in lib$lib" >&5
+echo "${ECHO_T}yes, in lib$lib" >&6; }
       else
-        echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+        echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
       fi
   else
     cat >>confdefs.h <<\_ACEOF
 #define HAVE_RES_SEARCH 1
 _ACEOF
 
-    echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+    echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
   fi
 
 fi
 
 PTHREAD_LIBS=error
-echo "$as_me:$LINENO: checking for pthread_attr_init in -lpthread" >&5
-echo $ECHO_N "checking for pthread_attr_init in -lpthread... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for pthread_attr_init in -lpthread" >&5
+echo $ECHO_N "checking for pthread_attr_init in -lpthread... $ECHO_C" >&6; }
 if test "${ac_cv_lib_pthread_pthread_attr_init+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lpthread  $LIBS"
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char pthread_attr_init ();
 int
 main ()
 {
-pthread_attr_init ();
+return pthread_attr_init ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -12768,57 +16811,80 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_pthread_pthread_attr_init=no
+       ac_cv_lib_pthread_pthread_attr_init=no
 fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_pthread_pthread_attr_init" >&5
-echo "${ECHO_T}$ac_cv_lib_pthread_pthread_attr_init" >&6
+echo "$as_me:$LINENO: result: $ac_cv_lib_pthread_pthread_attr_init" >&5
+echo "${ECHO_T}$ac_cv_lib_pthread_pthread_attr_init" >&6; }
 if test $ac_cv_lib_pthread_pthread_attr_init = yes; then
   PTHREAD_LIBS="-lpthread"
 fi
 
 if test "x$PTHREAD_LIBS" = xerror; then
-        echo "$as_me:$LINENO: checking for pthread_attr_init in -lpthreads" >&5
-echo $ECHO_N "checking for pthread_attr_init in -lpthreads... $ECHO_C" >&6
+        echo "$as_me:$LINENO: checking for pthread_attr_init in -lpthreads" >&5
+echo $ECHO_N "checking for pthread_attr_init in -lpthreads... $ECHO_C" >&6; }
 if test "${ac_cv_lib_pthreads_pthread_attr_init+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lpthreads  $LIBS"
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char pthread_attr_init ();
 int
 main ()
 {
-pthread_attr_init ();
+return pthread_attr_init ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -12827,58 +16893,81 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_pthreads_pthread_attr_init=no
+       ac_cv_lib_pthreads_pthread_attr_init=no
 fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_pthreads_pthread_attr_init" >&5
-echo "${ECHO_T}$ac_cv_lib_pthreads_pthread_attr_init" >&6
+echo "$as_me:$LINENO: result: $ac_cv_lib_pthreads_pthread_attr_init" >&5
+echo "${ECHO_T}$ac_cv_lib_pthreads_pthread_attr_init" >&6; }
 if test $ac_cv_lib_pthreads_pthread_attr_init = yes; then
   PTHREAD_LIBS="-lpthreads"
 fi
 
 fi
 if test "x$PTHREAD_LIBS" = xerror; then
-        echo "$as_me:$LINENO: checking for pthread_attr_init in -lc_r" >&5
-echo $ECHO_N "checking for pthread_attr_init in -lc_r... $ECHO_C" >&6
+        echo "$as_me:$LINENO: checking for pthread_attr_init in -lc_r" >&5
+echo $ECHO_N "checking for pthread_attr_init in -lc_r... $ECHO_C" >&6; }
 if test "${ac_cv_lib_c_r_pthread_attr_init+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lc_r  $LIBS"
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char pthread_attr_init ();
 int
 main ()
 {
-pthread_attr_init ();
+return pthread_attr_init ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -12887,77 +16976,102 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_c_r_pthread_attr_init=no
+       ac_cv_lib_c_r_pthread_attr_init=no
 fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_c_r_pthread_attr_init" >&5
-echo "${ECHO_T}$ac_cv_lib_c_r_pthread_attr_init" >&6
+echo "$as_me:$LINENO: result: $ac_cv_lib_c_r_pthread_attr_init" >&5
+echo "${ECHO_T}$ac_cv_lib_c_r_pthread_attr_init" >&6; }
 if test $ac_cv_lib_c_r_pthread_attr_init = yes; then
   PTHREAD_LIBS="-lc_r"
 fi
 
 fi
 if test "x$PTHREAD_LIBS" = xerror; then
-        echo "$as_me:$LINENO: checking for pthread_attr_init" >&5
-echo $ECHO_N "checking for pthread_attr_init... $ECHO_C" >&6
+        echo "$as_me:$LINENO: checking for pthread_attr_init" >&5
+echo $ECHO_N "checking for pthread_attr_init... $ECHO_C" >&6; }
 if test "${ac_cv_func_pthread_attr_init+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
+/* Define pthread_attr_init to an innocuous variant, in case <limits.h> declares pthread_attr_init.
+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
+#define pthread_attr_init innocuous_pthread_attr_init
+
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char pthread_attr_init (); below.
     Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
     <limits.h> exists even on freestanding compilers.  */
+
 #ifdef __STDC__
 # include <limits.h>
 #else
 # include <assert.h>
 #endif
-/* Override any gcc2 internal prototype to avoid an error.  */
+
+#undef pthread_attr_init
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
-{
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char pthread_attr_init ();
 /* The GNU C library defines this for functions which it implements
     to always fail with ENOSYS.  Some functions are actually named
     something starting with __ and the normal name is an alias.  */
-#if defined (__stub_pthread_attr_init) || defined (__stub___pthread_attr_init)
+#if defined __stub_pthread_attr_init || defined __stub___pthread_attr_init
 choke me
-#else
-char (*f) () = pthread_attr_init;
-#endif
-#ifdef __cplusplus
-}
 #endif
 
 int
 main ()
 {
-return f != pthread_attr_init;
+return pthread_attr_init ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -12966,12 +17080,14 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_func_pthread_attr_init=no
+       ac_cv_func_pthread_attr_init=no
 fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_func_pthread_attr_init" >&5
-echo "${ECHO_T}$ac_cv_func_pthread_attr_init" >&6
+echo "$as_me:$LINENO: result: $ac_cv_func_pthread_attr_init" >&5
+echo "${ECHO_T}$ac_cv_func_pthread_attr_init" >&6; }
 if test $ac_cv_func_pthread_attr_init = yes; then
   PTHREAD_LIBS=""
 fi
 fi
 if test "x$PTHREAD_LIBS" = xerror; then
         # pthread_attr_init is a macro under HPUX 11.0 and 11.11
-        echo "$as_me:$LINENO: checking for pthread_attr_destroy in -lpthread" >&5
-echo $ECHO_N "checking for pthread_attr_destroy in -lpthread... $ECHO_C" >&6
+        echo "$as_me:$LINENO: checking for pthread_attr_destroy in -lpthread" >&5
+echo $ECHO_N "checking for pthread_attr_destroy in -lpthread... $ECHO_C" >&6; }
 if test "${ac_cv_lib_pthread_pthread_attr_destroy+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lpthread  $LIBS"
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char pthread_attr_destroy ();
 int
 main ()
 {
-pthread_attr_destroy ();
+return pthread_attr_destroy ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -13026,13 +17163,15 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_pthread_pthread_attr_destroy=no
+       ac_cv_lib_pthread_pthread_attr_destroy=no
 fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_pthread_pthread_attr_destroy" >&5
-echo "${ECHO_T}$ac_cv_lib_pthread_pthread_attr_destroy" >&6
+echo "$as_me:$LINENO: result: $ac_cv_lib_pthread_pthread_attr_destroy" >&5
+echo "${ECHO_T}$ac_cv_lib_pthread_pthread_attr_destroy" >&6; }
 if test $ac_cv_lib_pthread_pthread_attr_destroy = yes; then
   PTHREAD_LIBS="-lpthread"
 fi
@@ -13154,8 +17293,8 @@ _ACEOF
 
 fi
 
-echo "$as_me:$LINENO: checking for tivoli tsm butc support" >&5
-echo $ECHO_N "checking for tivoli tsm butc support... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for tivoli tsm butc support" >&5
+echo $ECHO_N "checking for tivoli tsm butc support... $ECHO_C" >&6; }
 XBSA_CFLAGS=""
 if test "$enable_tivoli_tsm" = "yes"; then
        XBSADIR1=/usr/tivoli/tsm/client/api/bin/xopen
@@ -13163,29 +17302,28 @@ if test "$enable_tivoli_tsm" = "yes"; then
 
        if test -r "$XBSADIR1/xbsa.h"; then
                XBSA_CFLAGS="-Dxbsa -I$XBSADIR1"
-               echo "$as_me:$LINENO: result: yes, $XBSA_CFLAGS" >&5
-echo "${ECHO_T}yes, $XBSA_CFLAGS" >&6
+               echo "$as_me:$LINENO: result: yes, $XBSA_CFLAGS" >&5
+echo "${ECHO_T}yes, $XBSA_CFLAGS" >&6; }
        elif test -r "$XBSADIR2/xbsa.h"; then
                XBSA_CFLAGS="-Dxbsa -I$XBSADIR2"
-               echo "$as_me:$LINENO: result: yes, $XBSA_CFLAGS" >&5
-echo "${ECHO_T}yes, $XBSA_CFLAGS" >&6
+               echo "$as_me:$LINENO: result: yes, $XBSA_CFLAGS" >&5
+echo "${ECHO_T}yes, $XBSA_CFLAGS" >&6; }
        else
-               echo "$as_me:$LINENO: result: no, missing xbsa.h header file" >&5
-echo "${ECHO_T}no, missing xbsa.h header file" >&6
+               echo "$as_me:$LINENO: result: no, missing xbsa.h header file" >&5
+echo "${ECHO_T}no, missing xbsa.h header file" >&6; }
        fi
 else
-       echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+       echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
 
-echo "$as_me:$LINENO: checking for ANSI C header files" >&5
-echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for ANSI C header files" >&5
+echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; }
 if test "${ac_cv_header_stdc+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -13205,14 +17343,36 @@ main ()
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -13221,14 +17381,14 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_header_stdc=no
+       ac_cv_header_stdc=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
 if test $ac_cv_header_stdc = yes; then
   # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -13250,7 +17410,6 @@ fi
 if test $ac_cv_header_stdc = yes; then
   # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -13275,21 +17434,21 @@ if test $ac_cv_header_stdc = yes; then
   :
 else
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 #include <ctype.h>
+#include <stdlib.h>
 #if ((' ' & 0x0FF) == 0x020)
 # define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
 # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
 #else
 # define ISLOWER(c) \
-                   (('a' <= (c) && (c) <= 'i') \
-                     || ('j' <= (c) && (c) <= 'r') \
-                     || ('s' <= (c) && (c) <= 'z'))
+                  (('a' <= (c) && (c) <= 'i') \
+                    || ('j' <= (c) && (c) <= 'r') \
+                    || ('s' <= (c) && (c) <= 'z'))
 # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
 #endif
 
@@ -13300,19 +17459,28 @@ main ()
   int i;
   for (i = 0; i < 256; i++)
     if (XOR (islower (i), ISLOWER (i))
-        || toupper (i) != TOUPPER (i))
-      exit(2);
-  exit (0);
+       || toupper (i) != TOUPPER (i))
+      return 2;
+  return 0;
 }
 _ACEOF
 rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -13325,12 +17493,14 @@ sed 's/^/| /' conftest.$ac_ext >&5
 ( exit $ac_status )
 ac_cv_header_stdc=no
 fi
-rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
+
+
 fi
 fi
-echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
-echo "${ECHO_T}$ac_cv_header_stdc" >&6
+echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
+echo "${ECHO_T}$ac_cv_header_stdc" >&6; }
 if test $ac_cv_header_stdc = yes; then
 
 cat >>confdefs.h <<\_ACEOF
@@ -13339,13 +17509,12 @@ _ACEOF
 
 fi
 
-echo "$as_me:$LINENO: checking for sys/wait.h that is POSIX.1 compatible" >&5
-echo $ECHO_N "checking for sys/wait.h that is POSIX.1 compatible... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for sys/wait.h that is POSIX.1 compatible" >&5
+echo $ECHO_N "checking for sys/wait.h that is POSIX.1 compatible... $ECHO_C" >&6; }
 if test "${ac_cv_header_sys_wait_h+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -13354,7 +17523,7 @@ cat >>conftest.$ac_ext <<_ACEOF
 #include <sys/types.h>
 #include <sys/wait.h>
 #ifndef WEXITSTATUS
-# define WEXITSTATUS(stat_val) ((unsigned)(stat_val) >> 8)
+# define WEXITSTATUS(stat_val) ((unsigned int) (stat_val) >> 8)
 #endif
 #ifndef WIFEXITED
 # define WIFEXITED(stat_val) (((stat_val) & 255) == 0)
@@ -13371,14 +17540,36 @@ main ()
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -13387,12 +17578,13 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_header_sys_wait_h=no
+       ac_cv_header_sys_wait_h=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_header_sys_wait_h" >&5
-echo "${ECHO_T}$ac_cv_header_sys_wait_h" >&6
+echo "$as_me:$LINENO: result: $ac_cv_header_sys_wait_h" >&5
+echo "${ECHO_T}$ac_cv_header_sys_wait_h" >&6; }
 if test $ac_cv_header_sys_wait_h = yes; then
 
 cat >>confdefs.h <<\_ACEOF
 ac_header_dirent=no
 for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do
   as_ac_Header=`echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_hdr that defines DIR" >&5
-echo $ECHO_N "checking for $ac_hdr that defines DIR... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+echo "$as_me:$LINENO: checking for $ac_hdr that defines DIR" >&5
+echo $ECHO_N "checking for $ac_hdr that defines DIR... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -13434,14 +17625,36 @@ return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -13450,12 +17663,14 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-eval "$as_ac_Header=no"
+       eval "$as_ac_Header=no"
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+              { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 if test `eval echo '${'$as_ac_Header'}'` = yes; then
   cat >>confdefs.h <<_ACEOF
 #define `echo "HAVE_$ac_hdr" | $as_tr_cpp` 1
 done
 # Two versions of opendir et al. are in -ldir and -lx on SCO Xenix.
 if test $ac_header_dirent = dirent.h; then
-  echo "$as_me:$LINENO: checking for library containing opendir" >&5
-echo $ECHO_N "checking for library containing opendir... $ECHO_C" >&6
+  echo "$as_me:$LINENO: checking for library containing opendir" >&5
+echo $ECHO_N "checking for library containing opendir... $ECHO_C" >&6; }
 if test "${ac_cv_search_opendir+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   ac_func_search_save_LIBS=$LIBS
-ac_cv_search_opendir=no
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char opendir ();
 int
 main ()
 {
-opendir ();
+return opendir ();
   ;
   return 0;
 }
 _ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+for ac_lib in '' dir; do
+  if test -z "$ac_lib"; then
+    ac_res="none required"
+  else
+    ac_res=-l$ac_lib
+    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
+  fi
+  rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_cv_search_opendir="none required"
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
-if test "$ac_cv_search_opendir" = no; then
-  for ac_lib in dir; do
-    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
-    cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-/* Override any gcc2 internal prototype to avoid an error.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
-char opendir ();
-int
-main ()
-{
-opendir ();
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-         { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_search_opendir="-l$ac_lib"
-break
+  ac_cv_search_opendir=$ac_res
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
+
 fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
-  done
+
+rm -f core conftest.err conftest.$ac_objext \
+      conftest$ac_exeext
+  if test "${ac_cv_search_opendir+set}" = set; then
+  break
+fi
+done
+if test "${ac_cv_search_opendir+set}" = set; then
+  :
+else
+  ac_cv_search_opendir=no
 fi
+rm conftest.$ac_ext
 LIBS=$ac_func_search_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_search_opendir" >&5
-echo "${ECHO_T}$ac_cv_search_opendir" >&6
-if test "$ac_cv_search_opendir" != no; then
-  test "$ac_cv_search_opendir" = "none required" || LIBS="$ac_cv_search_opendir $LIBS"
+{ echo "$as_me:$LINENO: result: $ac_cv_search_opendir" >&5
+echo "${ECHO_T}$ac_cv_search_opendir" >&6; }
+ac_res=$ac_cv_search_opendir
+if test "$ac_res" != no; then
+  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
 
 fi
 
 else
-  echo "$as_me:$LINENO: checking for library containing opendir" >&5
-echo $ECHO_N "checking for library containing opendir... $ECHO_C" >&6
+  echo "$as_me:$LINENO: checking for library containing opendir" >&5
+echo $ECHO_N "checking for library containing opendir... $ECHO_C" >&6; }
 if test "${ac_cv_search_opendir+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   ac_func_search_save_LIBS=$LIBS
-ac_cv_search_opendir=no
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char opendir ();
 int
 main ()
 {
-opendir ();
+return opendir ();
   ;
   return 0;
 }
 _ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+for ac_lib in '' x; do
+  if test -z "$ac_lib"; then
+    ac_res="none required"
+  else
+    ac_res=-l$ac_lib
+    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
+  fi
+  rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_cv_search_opendir="none required"
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
-if test "$ac_cv_search_opendir" = no; then
-  for ac_lib in x; do
-    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
-    cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-/* Override any gcc2 internal prototype to avoid an error.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
-char opendir ();
-int
-main ()
-{
-opendir ();
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-         { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_search_opendir="-l$ac_lib"
-break
+  ac_cv_search_opendir=$ac_res
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
+
 fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
-  done
+
+rm -f core conftest.err conftest.$ac_objext \
+      conftest$ac_exeext
+  if test "${ac_cv_search_opendir+set}" = set; then
+  break
+fi
+done
+if test "${ac_cv_search_opendir+set}" = set; then
+  :
+else
+  ac_cv_search_opendir=no
 fi
+rm conftest.$ac_ext
 LIBS=$ac_func_search_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_search_opendir" >&5
-echo "${ECHO_T}$ac_cv_search_opendir" >&6
-if test "$ac_cv_search_opendir" != no; then
-  test "$ac_cv_search_opendir" = "none required" || LIBS="$ac_cv_search_opendir $LIBS"
+{ echo "$as_me:$LINENO: result: $ac_cv_search_opendir" >&5
+echo "${ECHO_T}$ac_cv_search_opendir" >&6; }
+ac_res=$ac_cv_search_opendir
+if test "$ac_res" != no; then
+  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
 
 fi
 
 for ac_header in stdlib.h string.h unistd.h fcntl.h sys/time.h sys/file.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+              { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 else
   # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -13714,14 +17915,36 @@ $ac_includes_default
 #include <$ac_header>
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -13730,17 +17953,17 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_header_compiler=no
+       ac_header_compiler=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
 
 # Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -13748,8 +17971,13 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
@@ -13758,6 +17986,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
   (exit $ac_status); } >/dev/null; then
   if test -s conftest.err; then
     ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
   else
     ac_cpp_err=
   fi
@@ -13772,52 +18001,46 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
   ac_header_preproc=no
 fi
+
 rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
+echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
 
 # So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc in
-  yes:no )
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+  yes:no: )
     { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to bug-autoconf@gnu.org. ##
-## ------------------------------------ ##
-_ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+    ac_header_preproc=yes
     ;;
-  no:yes )
+  no:yes:* )
     { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
     { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to bug-autoconf@gnu.org. ##
-## ------------------------------------ ##
-_ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+    { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+
     ;;
 esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  eval "$as_ac_Header=$ac_header_preproc"
+  eval "$as_ac_Header=\$ac_header_preproc"
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+              { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 
 fi
 if test `eval echo '${'$as_ac_Header'}'` = yes; then
@@ -13837,20 +18060,20 @@ done
 for ac_header in netinet/in.h netdb.h sys/fcntl.h sys/mnttab.h sys/mntent.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+              { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 else
   # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -13860,14 +18083,36 @@ $ac_includes_default
 #include <$ac_header>
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -13876,17 +18121,17 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_header_compiler=no
+       ac_header_compiler=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
 
 # Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -13894,8 +18139,13 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
@@ -13904,6 +18154,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
   (exit $ac_status); } >/dev/null; then
   if test -s conftest.err; then
     ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
   else
     ac_cpp_err=
   fi
@@ -13918,52 +18169,46 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
   ac_header_preproc=no
 fi
+
 rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
+echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
 
 # So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc in
-  yes:no )
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+  yes:no: )
     { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to bug-autoconf@gnu.org. ##
-## ------------------------------------ ##
-_ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+    ac_header_preproc=yes
     ;;
-  no:yes )
+  no:yes:* )
     { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
     { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to bug-autoconf@gnu.org. ##
-## ------------------------------------ ##
-_ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+    { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+
     ;;
 esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  eval "$as_ac_Header=$ac_header_preproc"
+  eval "$as_ac_Header=\$ac_header_preproc"
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+              { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 
 fi
 if test `eval echo '${'$as_ac_Header'}'` = yes; then
@@ -13983,20 +18228,20 @@ done
 for ac_header in mntent.h sys/vfs.h sys/param.h sys/fs_types.h sys/fstyp.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+              { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 else
   # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -14006,14 +18251,36 @@ $ac_includes_default
 #include <$ac_header>
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -14022,17 +18289,17 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_header_compiler=no
+       ac_header_compiler=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
 
 # Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -14040,8 +18307,13 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
@@ -14050,6 +18322,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
   (exit $ac_status); } >/dev/null; then
   if test -s conftest.err; then
     ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
   else
     ac_cpp_err=
   fi
@@ -14064,52 +18337,46 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
   ac_header_preproc=no
 fi
+
 rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
+echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
 
 # So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc in
-  yes:no )
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+  yes:no: )
     { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to bug-autoconf@gnu.org. ##
-## ------------------------------------ ##
-_ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+    ac_header_preproc=yes
     ;;
-  no:yes )
+  no:yes:* )
     { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
     { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to bug-autoconf@gnu.org. ##
-## ------------------------------------ ##
-_ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+    { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+
     ;;
 esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  eval "$as_ac_Header=$ac_header_preproc"
+  eval "$as_ac_Header=\$ac_header_preproc"
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+              { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 
 fi
 if test `eval echo '${'$as_ac_Header'}'` = yes; then
@@ -14128,20 +18395,20 @@ done
 for ac_header in sys/mount.h strings.h termios.h signal.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+              { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 else
   # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -14151,14 +18418,36 @@ $ac_includes_default
 #include <$ac_header>
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -14167,17 +18456,17 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_header_compiler=no
+       ac_header_compiler=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
 
 # Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -14185,8 +18474,13 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
@@ -14195,6 +18489,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
   (exit $ac_status); } >/dev/null; then
   if test -s conftest.err; then
     ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
   else
     ac_cpp_err=
   fi
@@ -14209,52 +18504,46 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
   ac_header_preproc=no
 fi
+
 rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
+echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
 
 # So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc in
-  yes:no )
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+  yes:no: )
     { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to bug-autoconf@gnu.org. ##
-## ------------------------------------ ##
-_ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+    ac_header_preproc=yes
     ;;
-  no:yes )
+  no:yes:* )
     { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
     { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to bug-autoconf@gnu.org. ##
-## ------------------------------------ ##
-_ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+    { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+
     ;;
 esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  eval "$as_ac_Header=$ac_header_preproc"
+  eval "$as_ac_Header=\$ac_header_preproc"
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+              { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 
 fi
 if test `eval echo '${'$as_ac_Header'}'` = yes; then
@@ -14275,20 +18564,20 @@ done
 for ac_header in windows.h malloc.h winsock2.h direct.h io.h sys/user.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+              { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 else
   # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -14298,14 +18587,36 @@ $ac_includes_default
 #include <$ac_header>
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -14314,17 +18625,17 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_header_compiler=no
+       ac_header_compiler=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
 
 # Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -14332,8 +18643,13 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
@@ -14342,6 +18658,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
   (exit $ac_status); } >/dev/null; then
   if test -s conftest.err; then
     ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
   else
     ac_cpp_err=
   fi
@@ -14356,52 +18673,46 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
   ac_header_preproc=no
 fi
+
 rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
+echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
 
 # So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc in
-  yes:no )
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+  yes:no: )
     { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to bug-autoconf@gnu.org. ##
-## ------------------------------------ ##
-_ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+    ac_header_preproc=yes
     ;;
-  no:yes )
+  no:yes:* )
     { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
     { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to bug-autoconf@gnu.org. ##
-## ------------------------------------ ##
-_ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+    { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+
     ;;
 esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  eval "$as_ac_Header=$ac_header_preproc"
+  eval "$as_ac_Header=\$ac_header_preproc"
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+              { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 
 fi
 if test `eval echo '${'$as_ac_Header'}'` = yes; then
@@ -14421,20 +18732,20 @@ done
 for ac_header in security/pam_modules.h siad.h usersec.h ucontext.h regex.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+              { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 else
   # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -14444,14 +18755,36 @@ $ac_includes_default
 #include <$ac_header>
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -14460,17 +18793,17 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_header_compiler=no
+       ac_header_compiler=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
 
 # Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -14478,8 +18811,13 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
@@ -14488,6 +18826,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
   (exit $ac_status); } >/dev/null; then
   if test -s conftest.err; then
     ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
   else
     ac_cpp_err=
   fi
@@ -14502,52 +18841,46 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
   ac_header_preproc=no
 fi
+
 rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
+echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
 
 # So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc in
-  yes:no )
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+  yes:no: )
     { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to bug-autoconf@gnu.org. ##
-## ------------------------------------ ##
-_ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+    ac_header_preproc=yes
     ;;
-  no:yes )
+  no:yes:* )
     { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
     { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to bug-autoconf@gnu.org. ##
-## ------------------------------------ ##
-_ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+    { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+
     ;;
 esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  eval "$as_ac_Header=$ac_header_preproc"
+  eval "$as_ac_Header=\$ac_header_preproc"
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+              { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 
 fi
 if test `eval echo '${'$as_ac_Header'}'` = yes; then
 for ac_func in utimes random srandom getdtablesize snprintf strlcat strlcpy re_comp re_exec flock
 do
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
+echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
+#define $ac_func innocuous_$ac_func
+
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func (); below.
     Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
     <limits.h> exists even on freestanding compilers.  */
+
 #ifdef __STDC__
 # include <limits.h>
 #else
 # include <assert.h>
 #endif
-/* Override any gcc2 internal prototype to avoid an error.  */
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
-{
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char $ac_func ();
 /* The GNU C library defines this for functions which it implements
     to always fail with ENOSYS.  Some functions are actually named
     something starting with __ and the normal name is an alias.  */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+#if defined __stub_$ac_func || defined __stub___$ac_func
 choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
 #endif
 
 int
 main ()
 {
-return f != $ac_func;
+return $ac_func ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -14653,12 +19009,15 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-eval "$as_ac_var=no"
+       eval "$as_ac_var=no"
 fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+ac_res=`eval echo '${'$as_ac_var'}'`
+              { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 if test `eval echo '${'$as_ac_var'}'` = yes; then
   cat >>confdefs.h <<_ACEOF
 #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
@@ -14677,64 +19036,87 @@ done
 for ac_func in setprogname getprogname sigaction mkstemp vsnprintf strerror strcasestr
 do
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
+echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
+#define $ac_func innocuous_$ac_func
+
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func (); below.
     Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
     <limits.h> exists even on freestanding compilers.  */
+
 #ifdef __STDC__
 # include <limits.h>
 #else
 # include <assert.h>
 #endif
-/* Override any gcc2 internal prototype to avoid an error.  */
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
-{
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char $ac_func ();
 /* The GNU C library defines this for functions which it implements
     to always fail with ENOSYS.  Some functions are actually named
     something starting with __ and the normal name is an alias.  */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+#if defined __stub_$ac_func || defined __stub___$ac_func
 choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
 #endif
 
 int
 main ()
 {
-return f != $ac_func;
+return $ac_func ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -14743,12 +19125,15 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-eval "$as_ac_var=no"
+       eval "$as_ac_var=no"
 fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+ac_res=`eval echo '${'$as_ac_var'}'`
+              { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 if test `eval echo '${'$as_ac_var'}'` = yes; then
   cat >>confdefs.h <<_ACEOF
 #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
@@ -14761,64 +19146,87 @@ done
 for ac_func in setvbuf
 do
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
+echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
+#define $ac_func innocuous_$ac_func
+
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func (); below.
     Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
     <limits.h> exists even on freestanding compilers.  */
+
 #ifdef __STDC__
 # include <limits.h>
 #else
 # include <assert.h>
 #endif
-/* Override any gcc2 internal prototype to avoid an error.  */
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
-{
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char $ac_func ();
 /* The GNU C library defines this for functions which it implements
     to always fail with ENOSYS.  Some functions are actually named
     something starting with __ and the normal name is an alias.  */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+#if defined __stub_$ac_func || defined __stub___$ac_func
 choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
 #endif
 
 int
 main ()
 {
-return f != $ac_func;
+return $ac_func ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -14827,12 +19235,15 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-eval "$as_ac_var=no"
+       eval "$as_ac_var=no"
 fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+ac_res=`eval echo '${'$as_ac_var'}'`
+              { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 if test `eval echo '${'$as_ac_var'}'` = yes; then
   cat >>confdefs.h <<_ACEOF
 #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
@@ -14841,14 +19252,13 @@ _ACEOF
 fi
 done
 
-echo "$as_me:$LINENO: checking whether setvbuf arguments are reversed" >&5
-echo $ECHO_N "checking whether setvbuf arguments are reversed... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking whether setvbuf arguments are reversed" >&5
+echo $ECHO_N "checking whether setvbuf arguments are reversed... $ECHO_C" >&6; }
 if test "${ac_cv_func_setvbuf_reversed+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   ac_cv_func_setvbuf_reversed=no
    cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -14867,19 +19277,40 @@ char buf; return setvbuf (stdout, _IOLBF, &buf, 1);
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -14898,14 +19329,36 @@ char buf; return setvbuf (stdout, &buf, _IOLBF, 1);
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -14916,13 +19369,12 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   : # Assume setvbuf is not reversed when cross-compiling.
 else
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-#include <stdio.h>
+$ac_includes_default
 int
 main ()
 {
@@ -14931,21 +19383,30 @@ main ()
                   is not _IOLBF, _IONBF, or _IOFBF, and return nonzero.  */
                char buf;
                if (setvbuf (stdout, _IOLBF, &buf, 1) != 0)
-                 exit (1);
+                 return 1;
                putchar ('\r');
-               exit (0); /* Non-reversed systems SEGV here.  */
+               return 0; /* Non-reversed systems SEGV here.  */
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -14955,27 +19416,33 @@ else
 echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-( exit $ac_status )
-rm -f core core.* *.core
 fi
-rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
+
+
        ac_cv_func_setvbuf_reversed=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
+
 fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
+
 fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_func_setvbuf_reversed" >&5
-echo "${ECHO_T}$ac_cv_func_setvbuf_reversed" >&6
+echo "$as_me:$LINENO: result: $ac_cv_func_setvbuf_reversed" >&5
+echo "${ECHO_T}$ac_cv_func_setvbuf_reversed" >&6; }
 if test $ac_cv_func_setvbuf_reversed = yes; then
 
 cat >>confdefs.h <<\_ACEOF
 for ac_func in regcomp regexec regerror
 do
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
+echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
+#define $ac_func innocuous_$ac_func
+
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func (); below.
     Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
     <limits.h> exists even on freestanding compilers.  */
+
 #ifdef __STDC__
 # include <limits.h>
 #else
 # include <assert.h>
 #endif
-/* Override any gcc2 internal prototype to avoid an error.  */
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
-{
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char $ac_func ();
 /* The GNU C library defines this for functions which it implements
     to always fail with ENOSYS.  Some functions are actually named
     something starting with __ and the normal name is an alias.  */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+#if defined __stub_$ac_func || defined __stub___$ac_func
 choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
 #endif
 
 int
 main ()
 {
-return f != $ac_func;
+return $ac_func ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -15056,12 +19546,15 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-eval "$as_ac_var=no"
+       eval "$as_ac_var=no"
 fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+ac_res=`eval echo '${'$as_ac_var'}'`
+              { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 if test `eval echo '${'$as_ac_var'}'` = yes; then
   cat >>confdefs.h <<_ACEOF
 #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
@@ -15070,8 +19563,8 @@ _ACEOF
 fi
 done
 
-echo "$as_me:$LINENO: checking for POSIX regex library" >&5
-echo $ECHO_N "checking for POSIX regex library... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for POSIX regex library" >&5
+echo $ECHO_N "checking for POSIX regex library... $ECHO_C" >&6; }
 if test "$ac_cv_header_regex_h" = "yes" && \
        test "$ac_cv_func_regcomp" = "yes" && \
        test "$ac_cv_func_regexec" = "yes" && \
@@ -15081,46 +19574,68 @@ cat >>confdefs.h <<\_ACEOF
 #define HAVE_POSIX_REGEX 1
 _ACEOF
 
-    echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+    echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
 else
-    echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+    echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
-echo "$as_me:$LINENO: checking for ssize_t" >&5
-echo $ECHO_N "checking for ssize_t... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for ssize_t" >&5
+echo $ECHO_N "checking for ssize_t... $ECHO_C" >&6; }
 if test "${ac_cv_type_ssize_t+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+typedef ssize_t ac__type_new_;
 int
 main ()
 {
-if ((ssize_t *) 0)
+if ((ac__type_new_ *) 0)
   return 0;
-if (sizeof (ssize_t))
+if (sizeof (ac__type_new_))
   return 0;
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -15129,12 +19644,13 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_type_ssize_t=no
+       ac_cv_type_ssize_t=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_type_ssize_t" >&5
-echo "${ECHO_T}$ac_cv_type_ssize_t" >&6
+echo "$as_me:$LINENO: result: $ac_cv_type_ssize_t" >&5
+echo "${ECHO_T}$ac_cv_type_ssize_t" >&6; }
 if test $ac_cv_type_ssize_t = yes; then
   :
 else
@@ -15145,39 +19661,61 @@ _ACEOF
 
 fi
 
-echo "$as_me:$LINENO: checking for long" >&5
-echo $ECHO_N "checking for long... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for long" >&5
+echo $ECHO_N "checking for long... $ECHO_C" >&6; }
 if test "${ac_cv_type_long+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+typedef long ac__type_new_;
 int
 main ()
 {
-if ((long *) 0)
+if ((ac__type_new_ *) 0)
   return 0;
-if (sizeof (long))
+if (sizeof (ac__type_new_))
   return 0;
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -15186,37 +19724,38 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_type_long=no
+       ac_cv_type_long=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_type_long" >&5
-echo "${ECHO_T}$ac_cv_type_long" >&6
+echo "$as_me:$LINENO: result: $ac_cv_type_long" >&5
+echo "${ECHO_T}$ac_cv_type_long" >&6; }
 
-echo "$as_me:$LINENO: checking size of long" >&5
-echo $ECHO_N "checking size of long... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking size of long" >&5
+echo $ECHO_N "checking size of long... $ECHO_C" >&6; }
 if test "${ac_cv_sizeof_long+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   if test "$ac_cv_type_long" = yes; then
-  # The cast to unsigned long works around a bug in the HP C Compiler
+  # The cast to long int works around a bug in the HP C Compiler
   # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
   # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
   # This bug is HP SR number 8606223364.
   if test "$cross_compiling" = yes; then
   # Depending upon the size, compute the lo and hi bounds.
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+                  typedef long ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (long))) >= 0)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)];
 test_array [0] = 0
 
   ;
@@ -15224,31 +19763,53 @@ test_array [0] = 0
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
   ac_lo=0 ac_mid=0
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+                  typedef long ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (long))) <= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -15256,14 +19817,36 @@ test_array [0] = 0
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -15272,31 +19855,32 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo=`expr $ac_mid + 1`
-                    if test $ac_lo -le $ac_mid; then
-                      ac_lo= ac_hi=
-                      break
-                    fi
-                    ac_mid=`expr 2 '*' $ac_mid + 1`
+       ac_lo=`expr $ac_mid + 1`
+                       if test $ac_lo -le $ac_mid; then
+                         ac_lo= ac_hi=
+                         break
+                       fi
+                       ac_mid=`expr 2 '*' $ac_mid + 1`
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   done
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
+       cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+                  typedef long ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (long))) < 0)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)];
 test_array [0] = 0
 
   ;
@@ -15304,31 +19888,53 @@ test_array [0] = 0
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
   ac_hi=-1 ac_mid=-1
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+                  typedef long ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (long))) >= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -15336,14 +19942,36 @@ test_array [0] = 0
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -15352,39 +19980,42 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_hi=`expr '(' $ac_mid ')' - 1`
-                       if test $ac_mid -le $ac_hi; then
-                         ac_lo= ac_hi=
-                         break
-                       fi
-                       ac_mid=`expr 2 '*' $ac_mid`
+       ac_hi=`expr '(' $ac_mid ')' - 1`
+                       if test $ac_mid -le $ac_hi; then
+                         ac_lo= ac_hi=
+                         break
+                       fi
+                       ac_mid=`expr 2 '*' $ac_mid`
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   done
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo= ac_hi=
+       ac_lo= ac_hi=
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 # Binary search between lo and hi bounds.
 while test "x$ac_lo" != "x$ac_hi"; do
   ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+                  typedef long ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (long))) <= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -15392,14 +20023,36 @@ test_array [0] = 0
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -15408,36 +20061,30 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo=`expr '(' $ac_mid ')' + 1`
+       ac_lo=`expr '(' $ac_mid ')' + 1`
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 done
 case $ac_lo in
 ?*) ac_cv_sizeof_long=$ac_lo;;
-'') { { echo "$as_me:$LINENO: error: cannot compute sizeof (long), 77
+'') { { echo "$as_me:$LINENO: error: cannot compute sizeof (long)
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (long), 77
+echo "$as_me: error: cannot compute sizeof (long)
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; } ;;
+   { (exit 77); exit 77; }; } ;;
 esac
-else
-  if test "$cross_compiling" = yes; then
-  { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
 else
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-long longval () { return (long) (sizeof (long)); }
-unsigned long ulongval () { return (long) (sizeof (long)); }
+                  typedef long ac__type_sizeof_;
+static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); }
+static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); }
 #include <stdio.h>
 #include <stdlib.h>
 int
@@ -15446,35 +20093,44 @@ main ()
 
   FILE *f = fopen ("conftest.val", "w");
   if (! f)
-    exit (1);
-  if (((long) (sizeof (long))) < 0)
+    return 1;
+  if (((long int) (sizeof (ac__type_sizeof_))) < 0)
     {
-      long i = longval ();
-      if (i != ((long) (sizeof (long))))
-       exit (1);
+      long int i = longval ();
+      if (i != ((long int) (sizeof (ac__type_sizeof_))))
+       return 1;
       fprintf (f, "%ld\n", i);
     }
   else
     {
-      unsigned long i = ulongval ();
-      if (i != ((long) (sizeof (long))))
-       exit (1);
+      unsigned long int i = ulongval ();
+      if (i != ((long int) (sizeof (ac__type_sizeof_))))
+       return 1;
       fprintf (f, "%lu\n", i);
     }
-  exit (ferror (f) || fclose (f) != 0);
+  return ferror (f) || fclose (f) != 0;
 
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -15485,30 +20141,29 @@ echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
-{ { echo "$as_me:$LINENO: error: cannot compute sizeof (long), 77
+{ { echo "$as_me:$LINENO: error: cannot compute sizeof (long)
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (long), 77
+echo "$as_me: error: cannot compute sizeof (long)
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
-fi
-rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+   { (exit 77); exit 77; }; }
 fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
 rm -f conftest.val
 else
   ac_cv_sizeof_long=0
 fi
 fi
-echo "$as_me:$LINENO: result: $ac_cv_sizeof_long" >&5
-echo "${ECHO_T}$ac_cv_sizeof_long" >&6
+echo "$as_me:$LINENO: result: $ac_cv_sizeof_long" >&5
+echo "${ECHO_T}$ac_cv_sizeof_long" >&6; }
 cat >>confdefs.h <<_ACEOF
 #define SIZEOF_LONG $ac_cv_sizeof_long
 _ACEOF
 
 
 
-echo "$as_me:$LINENO: checking size of time_t" >&5
-echo $ECHO_N "checking size of time_t... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking size of time_t" >&5
+echo $ECHO_N "checking size of time_t... $ECHO_C" >&6; }
 if test "${ac_cv_sizeof_time_t+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -15520,7 +20175,6 @@ See \`config.log' for more details." >&2;}
    { (exit 1); exit 1; }; }
 else
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -15537,13 +20191,22 @@ main()
 }
 _ACEOF
 rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -15556,13 +20219,15 @@ sed 's/^/| /' conftest.$ac_ext >&5
 ( exit $ac_status )
 ac_cv_sizeof_time_t=0
 fi
-rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
 
+
+
 fi
 
-echo "$as_me:$LINENO: result: $ac_cv_sizeof_time_t" >&5
-echo "${ECHO_T}$ac_cv_sizeof_time_t" >&6
+echo "$as_me:$LINENO: result: $ac_cv_sizeof_time_t" >&5
+echo "${ECHO_T}$ac_cv_sizeof_time_t" >&6; }
 cat >>confdefs.h <<_ACEOF
 #define SIZEOF_TIME_T $ac_cv_sizeof_time_t
 _ACEOF
@@ -15572,64 +20237,87 @@ _ACEOF
 for ac_func in timegm
 do
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
+echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
+#define $ac_func innocuous_$ac_func
+
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func (); below.
     Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
     <limits.h> exists even on freestanding compilers.  */
+
 #ifdef __STDC__
 # include <limits.h>
 #else
 # include <assert.h>
 #endif
-/* Override any gcc2 internal prototype to avoid an error.  */
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
-{
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char $ac_func ();
 /* The GNU C library defines this for functions which it implements
     to always fail with ENOSYS.  Some functions are actually named
     something starting with __ and the normal name is an alias.  */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+#if defined __stub_$ac_func || defined __stub___$ac_func
 choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
 #endif
 
 int
 main ()
 {
-return f != $ac_func;
+return $ac_func ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -15638,12 +20326,15 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-eval "$as_ac_var=no"
+       eval "$as_ac_var=no"
 fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+ac_res=`eval echo '${'$as_ac_var'}'`
+              { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 if test `eval echo '${'$as_ac_var'}'` = yes; then
   cat >>confdefs.h <<_ACEOF
 #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
@@ -15656,64 +20347,87 @@ done
 for ac_func in daemon
 do
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
+echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
+#define $ac_func innocuous_$ac_func
+
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func (); below.
     Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
     <limits.h> exists even on freestanding compilers.  */
+
 #ifdef __STDC__
 # include <limits.h>
 #else
 # include <assert.h>
 #endif
-/* Override any gcc2 internal prototype to avoid an error.  */
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
-{
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char $ac_func ();
 /* The GNU C library defines this for functions which it implements
     to always fail with ENOSYS.  Some functions are actually named
     something starting with __ and the normal name is an alias.  */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+#if defined __stub_$ac_func || defined __stub___$ac_func
 choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
 #endif
 
 int
 main ()
 {
-return f != $ac_func;
+return $ac_func ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -15722,12 +20436,15 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-eval "$as_ac_var=no"
+       eval "$as_ac_var=no"
 fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+ac_res=`eval echo '${'$as_ac_var'}'`
+              { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 if test `eval echo '${'$as_ac_var'}'` = yes; then
   cat >>confdefs.h <<_ACEOF
 #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
@@ -15815,8 +20532,8 @@ LWP_OPTMZ=-O
 if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_RANLIB+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 RANLIB=$ac_cv_prog_RANLIB
 if test -n "$RANLIB"; then
-  echo "$as_me:$LINENO: result: $RANLIB" >&5
-echo "${ECHO_T}$RANLIB" >&6
+  echo "$as_me:$LINENO: result: $RANLIB" >&5
+echo "${ECHO_T}$RANLIB" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
+
 fi
 if test -z "$ac_cv_prog_RANLIB"; then
   ac_ct_RANLIB=$RANLIB
   # Extract the first word of "ranlib", so it can be a program name with args.
 set dummy ranlib; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_ac_ct_RANLIB="ranlib"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
-  test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":"
 fi
 fi
 ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
 if test -n "$ac_ct_RANLIB"; then
-  echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
-echo "${ECHO_T}$ac_ct_RANLIB" >&6
+  echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
+echo "${ECHO_T}$ac_ct_RANLIB" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
-  RANLIB=$ac_ct_RANLIB
+  if test "x$ac_ct_RANLIB" = x; then
+    RANLIB=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+    RANLIB=$ac_ct_RANLIB
+  fi
 else
   RANLIB="$ac_cv_prog_RANLIB"
 fi
@@ -15896,8 +20629,8 @@ for ac_prog in as
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_AS+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_AS="$ac_prog"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 AS=$ac_cv_prog_AS
 if test -n "$AS"; then
-  echo "$as_me:$LINENO: result: $AS" >&5
-echo "${ECHO_T}$AS" >&6
+  echo "$as_me:$LINENO: result: $AS" >&5
+echo "${ECHO_T}$AS" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
+
   test -n "$AS" && break
 done
 test -n "$AS" || AS="${am_missing_run}as"
@@ -15937,8 +20672,8 @@ for ac_prog in ar
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_AR+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_AR="$ac_prog"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 AR=$ac_cv_prog_AR
 if test -n "$AR"; then
-  echo "$as_me:$LINENO: result: $AR" >&5
-echo "${ECHO_T}$AR" >&6
+  echo "$as_me:$LINENO: result: $AR" >&5
+echo "${ECHO_T}$AR" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
+
   test -n "$AR" && break
 done
 test -n "$AR" || AR="${am_missing_run}ar"
@@ -15978,8 +20715,8 @@ for ac_prog in mv
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_MV+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_MV="$ac_prog"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 MV=$ac_cv_prog_MV
 if test -n "$MV"; then
-  echo "$as_me:$LINENO: result: $MV" >&5
-echo "${ECHO_T}$MV" >&6
+  echo "$as_me:$LINENO: result: $MV" >&5
+echo "${ECHO_T}$MV" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
+
   test -n "$MV" && break
 done
 test -n "$MV" || MV="${am_missing_run}mv"
@@ -16019,8 +20758,8 @@ for ac_prog in rm
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_RM+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_RM="$ac_prog"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 RM=$ac_cv_prog_RM
 if test -n "$RM"; then
-  echo "$as_me:$LINENO: result: $RM" >&5
-echo "${ECHO_T}$RM" >&6
+  echo "$as_me:$LINENO: result: $RM" >&5
+echo "${ECHO_T}$RM" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
+
   test -n "$RM" && break
 done
 test -n "$RM" || RM="${am_missing_run}rm"
@@ -16060,8 +20801,8 @@ for ac_prog in ld
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_LD+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_LD="$ac_prog"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 LD=$ac_cv_prog_LD
 if test -n "$LD"; then
-  echo "$as_me:$LINENO: result: $LD" >&5
-echo "${ECHO_T}$LD" >&6
+  echo "$as_me:$LINENO: result: $LD" >&5
+echo "${ECHO_T}$LD" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
+
   test -n "$LD" && break
 done
 test -n "$LD" || LD="${am_missing_run}ld"
@@ -16101,8 +20844,8 @@ for ac_prog in cp
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_CP+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_CP="$ac_prog"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 CP=$ac_cv_prog_CP
 if test -n "$CP"; then
-  echo "$as_me:$LINENO: result: $CP" >&5
-echo "${ECHO_T}$CP" >&6
+  echo "$as_me:$LINENO: result: $CP" >&5
+echo "${ECHO_T}$CP" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
+
   test -n "$CP" && break
 done
 test -n "$CP" || CP="${am_missing_run}cp"
@@ -16142,8 +20887,8 @@ for ac_prog in strip
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_STRIP+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_STRIP="$ac_prog"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 STRIP=$ac_cv_prog_STRIP
 if test -n "$STRIP"; then
-  echo "$as_me:$LINENO: result: $STRIP" >&5
-echo "${ECHO_T}$STRIP" >&6
+  echo "$as_me:$LINENO: result: $STRIP" >&5
+echo "${ECHO_T}$STRIP" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
+
   test -n "$STRIP" && break
 done
 test -n "$STRIP" || STRIP="${am_missing_run}strip"
@@ -16183,8 +20930,8 @@ for ac_prog in lorder
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_LORDER+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_LORDER="$ac_prog"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 LORDER=$ac_cv_prog_LORDER
 if test -n "$LORDER"; then
-  echo "$as_me:$LINENO: result: $LORDER" >&5
-echo "${ECHO_T}$LORDER" >&6
+  echo "$as_me:$LINENO: result: $LORDER" >&5
+echo "${ECHO_T}$LORDER" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
+
   test -n "$LORDER" && break
 done
 test -n "$LORDER" || LORDER="${am_missing_run}lorder"
@@ -16638,7 +21387,7 @@ case $AFS_SYSNAME in
                ;;
 
        *_darwin_80)
-               AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework DiskArbitration"
+               AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework DiskArbitration -framework SystemConfiguration -framework IOKit -framework CoreFoundation"
                LEX="lex -l"
                MT_CFLAGS='-DAFS_PTHREAD_ENV -D_REENTRANT ${XCFLAGS} ${ARCHFLAGS}'
                KROOT=
@@ -16651,10 +21400,11 @@ case $AFS_SYSNAME in
                EXTRA_VLIBOBJS="fstab.o"
                SHLIB_LINKER="${MT_CC} -dynamiclib"
                SHLIB_SUFFIX="dylib"
+               RANLIB="ranlib -c"
                ;;
 
        *_darwin_90)
-               AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework DiskArbitration"
+               AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework DiskArbitration -framework SystemConfiguration -framework IOKit -framework CoreFoundation"
                LEX="lex -l"
                MT_CFLAGS='-DAFS_PTHREAD_ENV -D_REENTRANT ${XCFLAGS} ${ARCHFLAGS}'
                KROOT=
@@ -16668,6 +21418,7 @@ case $AFS_SYSNAME in
                EXTRA_VLIBOBJS="fstab.o"
                SHLIB_LINKER="${MT_CC} -dynamiclib"
                SHLIB_SUFFIX="dylib"
+               RANLIB="ranlib -c"
                ;;
 
        ppc_linux*)
@@ -17160,8 +21911,8 @@ esac
 case $AFS_SYSNAME in
        sgi_6*)
 
-echo "$as_me:$LINENO: checking for mem* in sys/systm.h" >&5
-echo $ECHO_N "checking for mem* in sys/systm.h... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for mem* in sys/systm.h" >&5
+echo $ECHO_N "checking for mem* in sys/systm.h... $ECHO_C" >&6; }
 save_CPPFLAGS="$CPPFLAGS"
 CPPFLAGS="$CPPFLAGS -D_KERNEL -D__STRING_H__"
 if test "${ac_cv_irix_sys_systm_h_has_mem_funcs+set}" = set; then
@@ -17169,7 +21920,6 @@ if test "${ac_cv_irix_sys_systm_h_has_mem_funcs+set}" = set; then
 else
 
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -17188,14 +21938,36 @@ extern void     *memcpy(char *, const void *, size_t);
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -17204,9 +21976,10 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_irix_sys_systm_h_has_mem_funcs=yes
+       ac_cv_irix_sys_systm_h_has_mem_funcs=yes
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 
 CPPFLAGS="$save_CPPFLAGS"
@@ -17217,8 +21990,8 @@ cat >>confdefs.h <<\_ACEOF
 _ACEOF
 
 fi
-echo "$as_me:$LINENO: result: $ac_cv_irix_sys_systm_h_has_mem_funcs" >&5
-echo "${ECHO_T}$ac_cv_irix_sys_systm_h_has_mem_funcs" >&6
+echo "$as_me:$LINENO: result: $ac_cv_irix_sys_systm_h_has_mem_funcs" >&5
+echo "${ECHO_T}$ac_cv_irix_sys_systm_h_has_mem_funcs" >&6; }
 
                XFS_SIZE_CHECK="xfs_size_check"
                install_XFS_SIZE_CHECK='$(DESTDIR)${afssrvsbindir}/xfs_size_check'
 
 
 
-# Check whether --with-krb5-conf or --without-krb5-conf was given.
+# Check whether --with-krb5-conf was given.
 if test "${with_krb5_conf+set}" = set; then
-  withval="$with_krb5_conf"
+  withval=$with_krb5_conf;
+fi
 
-fi;
 if test X$with_krb5_conf != X; then
                conf_krb5=YES
                if test X$with_krb5_conf = Xyes; then
                        # Extract the first word of "krb5-config", so it can be a program name with args.
 set dummy krb5-config; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_path_KRB5_CONFIG+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_path_KRB5_CONFIG="$as_dir/$ac_word$ac_exec_ext"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
   test -z "$ac_cv_path_KRB5_CONFIG" && ac_cv_path_KRB5_CONFIG="not_found"
   ;;
 esac
 fi
 KRB5_CONFIG=$ac_cv_path_KRB5_CONFIG
-
 if test -n "$KRB5_CONFIG"; then
-  echo "$as_me:$LINENO: result: $KRB5_CONFIG" >&5
-echo "${ECHO_T}$KRB5_CONFIG" >&6
+  echo "$as_me:$LINENO: result: $KRB5_CONFIG" >&5
+echo "${ECHO_T}$KRB5_CONFIG" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
+
                        if test X$KRB5_CONFIG = Xnot_found; then
                                { { echo "$as_me:$LINENO: error: cannot find krb5-config script, you must configure Kerberos manually" >&5
 echo "$as_me: error: cannot find krb5-config script, you must configure Kerberos manually" >&2;}
@@ -17392,18 +22166,18 @@ echo "$as_me: error: $KRB5_CONFIG failed with an error code of $retval" >&2;}
 echo "$as_me: error: $KRB5_CONFIG failed with an error code of $retval" >&2;}
    { (exit 1); exit 1; }; }
                fi
-               echo "$as_me:$LINENO: result: Adding $KRB5CFLAGS to KRB5CFLAGS" >&5
-echo "${ECHO_T}Adding $KRB5CFLAGS to KRB5CFLAGS" >&6
-               echo "$as_me:$LINENO: result: Adding $KRB5LIBS to KRB5LIBS" >&5
-echo "${ECHO_T}Adding $KRB5LIBS to KRB5LIBS" >&6
+               echo "$as_me:$LINENO: result: Adding $KRB5CFLAGS to KRB5CFLAGS" >&5
+echo "${ECHO_T}Adding $KRB5CFLAGS to KRB5CFLAGS" >&6; }
+               echo "$as_me:$LINENO: result: Adding $KRB5LIBS to KRB5LIBS" >&5
+echo "${ECHO_T}Adding $KRB5LIBS to KRB5LIBS" >&6; }
 fi
 
 
-# Check whether --with-krb5 or --without-krb5 was given.
+# Check whether --with-krb5 was given.
 if test "${with_krb5+set}" = set; then
-  withval="$with_krb5"
+  withval=$with_krb5;
+fi
 
-fi;
 
 if test X$with_krb5 = Xyes; then
         if test X$conf_krb5 = XYES; then
@@ -17424,8 +22198,8 @@ fi
 
 BUILD_KRB5=no
 if test X$conf_krb5 = XYES; then
-       echo "$as_me:$LINENO: result: Configuring support for Kerberos 5 utilities" >&5
-echo "${ECHO_T}Configuring support for Kerberos 5 utilities" >&6
+       echo "$as_me:$LINENO: result: Configuring support for Kerberos 5 utilities" >&5
+echo "${ECHO_T}Configuring support for Kerberos 5 utilities" >&6; }
        BUILD_KRB5=yes
        save_CPPFLAGS="$CPPFLAGS"
        CPPFLAGS="$CPPFLAGS $KRB5CFLAGS"
@@ -17435,67 +22209,92 @@ echo "${ECHO_T}Configuring support for Kerberos 5 utilities" >&6
 
 
 
-for ac_func in add_to_error_table add_error_table krb5_princ_size krb5_principal_get_comp_string
+
+
+for ac_func in add_to_error_table add_error_table krb5_princ_size krb5_principal_get_comp_string encode_krb5_enc_tkt_part encode_krb5_ticket
 do
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
+echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
+#define $ac_func innocuous_$ac_func
+
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func (); below.
     Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
     <limits.h> exists even on freestanding compilers.  */
+
 #ifdef __STDC__
 # include <limits.h>
 #else
 # include <assert.h>
 #endif
-/* Override any gcc2 internal prototype to avoid an error.  */
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
-{
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char $ac_func ();
 /* The GNU C library defines this for functions which it implements
     to always fail with ENOSYS.  Some functions are actually named
     something starting with __ and the normal name is an alias.  */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+#if defined __stub_$ac_func || defined __stub___$ac_func
 choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
 #endif
 
 int
 main ()
 {
-return f != $ac_func;
+return $ac_func ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -17504,12 +22303,15 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-eval "$as_ac_var=no"
+       eval "$as_ac_var=no"
 fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+ac_res=`eval echo '${'$as_ac_var'}'`
+              { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 if test `eval echo '${'$as_ac_var'}'` = yes; then
   cat >>confdefs.h <<_ACEOF
 #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
@@ -17522,64 +22324,87 @@ done
 for ac_func in krb5_524_convert_creds
 do
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
+echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
+#define $ac_func innocuous_$ac_func
+
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func (); below.
     Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
     <limits.h> exists even on freestanding compilers.  */
+
 #ifdef __STDC__
 # include <limits.h>
 #else
 # include <assert.h>
 #endif
-/* Override any gcc2 internal prototype to avoid an error.  */
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
-{
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char $ac_func ();
 /* The GNU C library defines this for functions which it implements
     to always fail with ENOSYS.  Some functions are actually named
     something starting with __ and the normal name is an alias.  */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+#if defined __stub_$ac_func || defined __stub___$ac_func
 choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
 #endif
 
 int
 main ()
 {
-return f != $ac_func;
+return $ac_func ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -17588,12 +22413,15 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-eval "$as_ac_var=no"
+       eval "$as_ac_var=no"
 fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+ac_res=`eval echo '${'$as_ac_var'}'`
+              { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 if test `eval echo '${'$as_ac_var'}'` = yes; then
   cat >>confdefs.h <<_ACEOF
 #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
@@ -17604,64 +22432,87 @@ else
 for ac_func in krb524_convert_creds_kdc
 do
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
+echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
+#define $ac_func innocuous_$ac_func
+
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func (); below.
     Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
     <limits.h> exists even on freestanding compilers.  */
+
 #ifdef __STDC__
 # include <limits.h>
 #else
 # include <assert.h>
 #endif
-/* Override any gcc2 internal prototype to avoid an error.  */
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
-{
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char $ac_func ();
 /* The GNU C library defines this for functions which it implements
     to always fail with ENOSYS.  Some functions are actually named
     something starting with __ and the normal name is an alias.  */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+#if defined __stub_$ac_func || defined __stub___$ac_func
 choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
 #endif
 
 int
 main ()
 {
-return f != $ac_func;
+return $ac_func ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -17670,57 +22521,81 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-eval "$as_ac_var=no"
+       eval "$as_ac_var=no"
 fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+ac_res=`eval echo '${'$as_ac_var'}'`
+              { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 if test `eval echo '${'$as_ac_var'}'` = yes; then
   cat >>confdefs.h <<_ACEOF
 #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
 
 else
-  echo "$as_me:$LINENO: checking for krb524_convert_creds_kdc in -lkrb524" >&5
-echo $ECHO_N "checking for krb524_convert_creds_kdc in -lkrb524... $ECHO_C" >&6
+  echo "$as_me:$LINENO: checking for krb524_convert_creds_kdc in -lkrb524" >&5
+echo $ECHO_N "checking for krb524_convert_creds_kdc in -lkrb524... $ECHO_C" >&6; }
 if test "${ac_cv_lib_krb524_krb524_convert_creds_kdc+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lkrb524  $LIBS"
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char krb524_convert_creds_kdc ();
 int
 main ()
 {
-krb524_convert_creds_kdc ();
+return krb524_convert_creds_kdc ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -17729,13 +22604,15 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_krb524_krb524_convert_creds_kdc=no
+       ac_cv_lib_krb524_krb524_convert_creds_kdc=no
 fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_krb524_krb524_convert_creds_kdc" >&5
-echo "${ECHO_T}$ac_cv_lib_krb524_krb524_convert_creds_kdc" >&6
+echo "$as_me:$LINENO: result: $ac_cv_lib_krb524_krb524_convert_creds_kdc" >&5
+echo "${ECHO_T}$ac_cv_lib_krb524_krb524_convert_creds_kdc" >&6; }
 if test $ac_cv_lib_krb524_krb524_convert_creds_kdc = yes; then
   LIBS="-lkrb524 $LIBS"
                     KRB5LIBS="-lkrb524 $LIBS"
@@ -17756,20 +22633,20 @@ done
 for ac_header in kerberosIV/krb.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+              { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 else
   # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -17779,14 +22656,36 @@ $ac_includes_default
 #include <$ac_header>
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -17795,17 +22694,17 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_header_compiler=no
+       ac_header_compiler=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
 
 # Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -17813,8 +22712,13 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
@@ -17823,6 +22727,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
   (exit $ac_status); } >/dev/null; then
   if test -s conftest.err; then
     ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
   else
     ac_cpp_err=
   fi
@@ -17837,52 +22742,46 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
   ac_header_preproc=no
 fi
+
 rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
+echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
 
 # So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc in
-  yes:no )
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+  yes:no: )
     { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to bug-autoconf@gnu.org. ##
-## ------------------------------------ ##
-_ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+    ac_header_preproc=yes
     ;;
-  no:yes )
+  no:yes:* )
     { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
     { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to bug-autoconf@gnu.org. ##
-## ------------------------------------ ##
-_ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+    { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+
     ;;
 esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  eval "$as_ac_Header=$ac_header_preproc"
+  eval "$as_ac_Header=\$ac_header_preproc"
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+              { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 
 fi
 if test `eval echo '${'$as_ac_Header'}'` = yes; then
@@ -17898,20 +22797,20 @@ done
 for ac_header in kerberosV/heim_err.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+              { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 else
   # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -17921,14 +22820,36 @@ $ac_includes_default
 #include <$ac_header>
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -17937,17 +22858,17 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_header_compiler=no
+       ac_header_compiler=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
 
 # Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -17955,8 +22876,13 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
@@ -17965,6 +22891,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
   (exit $ac_status); } >/dev/null; then
   if test -s conftest.err; then
     ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
   else
     ac_cpp_err=
   fi
@@ -17979,52 +22906,46 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
   ac_header_preproc=no
 fi
+
 rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
+echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
 
 # So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc in
-  yes:no )
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+  yes:no: )
     { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to bug-autoconf@gnu.org. ##
-## ------------------------------------ ##
-_ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+    ac_header_preproc=yes
     ;;
-  no:yes )
+  no:yes:* )
     { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
     { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to bug-autoconf@gnu.org. ##
-## ------------------------------------ ##
-_ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+    { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+
     ;;
 esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  eval "$as_ac_Header=$ac_header_preproc"
+  eval "$as_ac_Header=\$ac_header_preproc"
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+              { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 
 fi
 if test `eval echo '${'$as_ac_Header'}'` = yes; then
 done
 
 
-echo "$as_me:$LINENO: checking for krb5_creds.keyblock existence" >&5
-echo $ECHO_N "checking for krb5_creds.keyblock existence... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for krb5_creds.keyblock existence" >&5
+echo $ECHO_N "checking for krb5_creds.keyblock existence... $ECHO_C" >&6; }
 if test "${ac_cv_krb5_creds_keyblock_exists+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -18061,14 +22981,36 @@ printf("%x\n", _c.keyblock);
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -18077,22 +23019,22 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_krb5_creds_keyblock_exists=no
+       ac_cv_krb5_creds_keyblock_exists=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 
-echo "$as_me:$LINENO: result: $ac_cv_krb5_creds_keyblock_exists" >&5
-echo "${ECHO_T}$ac_cv_krb5_creds_keyblock_exists" >&6
+echo "$as_me:$LINENO: result: $ac_cv_krb5_creds_keyblock_exists" >&5
+echo "${ECHO_T}$ac_cv_krb5_creds_keyblock_exists" >&6; }
 
-echo "$as_me:$LINENO: checking for krb5_creds.session existence" >&5
-echo $ECHO_N "checking for krb5_creds.session existence... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for krb5_creds.session existence" >&5
+echo $ECHO_N "checking for krb5_creds.session existence... $ECHO_C" >&6; }
 if test "${ac_cv_krb5_creds_session_exists+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -18109,14 +23051,36 @@ printf("%x\n", _c.session);
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -18125,13 +23089,14 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_krb5_creds_session_exists=no
+       ac_cv_krb5_creds_session_exists=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 
-echo "$as_me:$LINENO: result: $ac_cv_krb5_creds_session_exists" >&5
-echo "${ECHO_T}$ac_cv_krb5_creds_session_exists" >&6
+echo "$as_me:$LINENO: result: $ac_cv_krb5_creds_session_exists" >&5
+echo "${ECHO_T}$ac_cv_krb5_creds_session_exists" >&6; }
 
 if test "x$ac_cv_krb5_creds_keyblock_exists" = "xyes"; then
 
@@ -18189,7 +23154,8 @@ else
     MAN_MAKEFILE=
 fi
 
-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  ac_config_files="$ac_config_files Makefile ${MAN_MAKEFILE} src/afs/Makefile src/afsd/Makefile src/afsmonitor/Makefile src/afsweb/Makefile src/aklog/Makefile src/audit/Makefile src/auth/Makefile src/auth/test/Makefile src/bozo/Makefile src/bozo/test/Makefile src/bu_utils/Makefile src/bubasics/Makefile src/bucoord/Makefile src/budb/Makefile src/butc/Makefile src/butm/Makefile src/cmd/Makefile src/cmd/test/Makefile src/comerr/Makefile src/comerr/test/Makefile src/config/Makefile src/config/Makefile.config src/config/Makefile.version-NOCML src/dauth/Makefile src/des/Makefile src/des/test/Makefile src/des_stub/Makefile src/dir/Makefile src/dir/test/Makefile src/export/Makefile src/finale/Makefile src/fsint/Makefile src/fsprobe/Makefile src/gtx/Makefile src/JAVA/libjafs/Makefile src/kauth/Makefile src/kauth/test/Makefile src/libacl/Makefile src/libacl/test/Makefile src/libadmin/Makefile src/libadmin/adminutil/Makefile src/libadmin/bos/Makefile src/libadmin/cfg/Makefile src/libadmin/cfg/test/Makefile src/libadmin/client/Makefile src/libadmin/kas/Makefile src/libadmin/pts/Makefile src/libadmin/samples/Makefile src/libadmin/test/Makefile src/libadmin/vos/Makefile src/libafs/Makefile.common src/libafs/MakefileProto.${MKAFS_OSTYPE} ${DARWIN_PLIST} src/libafsauthent/Makefile src/libafsrpc/Makefile src/libuafs/Makefile.common src/libuafs/MakefileProto.${MKAFS_OSTYPE} src/log/Makefile src/log/test/Makefile src/login/Makefile src/lwp/Makefile src/lwp/test/Makefile src/mpp/Makefile src/null/Makefile src/package/Makefile src/pam/Makefile src/pinstall/Makefile src/pinstall/test/Makefile src/platform/Makefile src/platform/${MKAFS_OSTYPE}/Makefile src/procmgmt/Makefile src/procmgmt/test/Makefile src/ptserver/Makefile src/rx/Makefile src/rx/bulk.example/Makefile src/rx/bulktest/Makefile src/rx/multi.example/Makefile src/rx/simple.example/Makefile src/rx/test/Makefile src/rxdebug/Makefile src/rxgen/Makefile src/rxkad/Makefile src/rxkad/test/Makefile src/rxstat/Makefile src/scout/Makefile src/sgistuff/Makefile src/shlibafsauthent/Makefile src/shlibafsrpc/Makefile src/sia/Makefile src/sys/Makefile src/tbutc/Makefile src/tests/Makefile src/tests/run-tests src/tests/OpenAFS/Dirpath.pm src/tsm41/Makefile src/tviced/Makefile src/tvolser/Makefile src/ubik/Makefile src/update/Makefile src/usd/Makefile src/usd/test/Makefile src/uss/Makefile src/util/Makefile src/util/test/Makefile src/venus/Makefile src/venus/test/Makefile src/vfsck/Makefile src/viced/Makefile src/vlserver/Makefile src/vol/Makefile src/vol/test/Makefile src/volser/Makefile src/wsadmin.src/Makefile src/xstat/Makefile src/helper-splint.sh"
+ac_config_files="$ac_config_files Makefile ${MAN_MAKEFILE} src/afs/Makefile src/afsd/Makefile src/afsmonitor/Makefile src/afsweb/Makefile src/aklog/Makefile src/audit/Makefile src/auth/Makefile src/auth/test/Makefile src/bozo/Makefile src/bozo/test/Makefile src/bu_utils/Makefile src/bubasics/Makefile src/bucoord/Makefile src/budb/Makefile src/butc/Makefile src/butm/Makefile src/cmd/Makefile src/cmd/test/Makefile src/comerr/Makefile src/comerr/test/Makefile src/config/Makefile src/config/Makefile.config src/config/Makefile.version-NOCML src/dauth/Makefile src/des/Makefile src/des/test/Makefile src/des_stub/Makefile src/dir/Makefile src/dir/test/Makefile src/export/Makefile src/finale/Makefile src/fsint/Makefile src/fsprobe/Makefile src/gtx/Makefile src/JAVA/libjafs/Makefile src/kauth/Makefile src/kauth/test/Makefile src/libacl/Makefile src/libacl/test/Makefile src/libadmin/Makefile src/libadmin/adminutil/Makefile src/libadmin/bos/Makefile src/libadmin/cfg/Makefile src/libadmin/cfg/test/Makefile src/libadmin/client/Makefile src/libadmin/kas/Makefile src/libadmin/pts/Makefile src/libadmin/samples/Makefile src/libadmin/test/Makefile src/libadmin/vos/Makefile src/libafs/Makefile.common src/libafs/MakefileProto.${MKAFS_OSTYPE} ${DARWIN_PLIST} src/libafsauthent/Makefile src/libafsrpc/Makefile src/libuafs/Makefile.common src/libuafs/MakefileProto.${MKAFS_OSTYPE} src/log/Makefile src/log/test/Makefile src/login/Makefile src/lwp/Makefile src/lwp/test/Makefile src/mpp/Makefile src/null/Makefile src/package/Makefile src/packaging/MacOS/OpenAFS.Info.plist src/packaging/MacOS/OpenAFS.info src/packaging/RedHat/openafs.spec src/pam/Makefile src/pinstall/Makefile src/pinstall/test/Makefile src/platform/Makefile src/platform/${MKAFS_OSTYPE}/Makefile src/procmgmt/Makefile src/procmgmt/test/Makefile src/ptserver/Makefile src/rx/Makefile src/rx/bulk.example/Makefile src/rx/bulktest/Makefile src/rx/multi.example/Makefile src/rx/simple.example/Makefile src/rx/test/Makefile src/rxdebug/Makefile src/rxgen/Makefile src/rxkad/Makefile src/rxkad/test/Makefile src/rxstat/Makefile src/scout/Makefile src/sgistuff/Makefile src/shlibafsauthent/Makefile src/shlibafsrpc/Makefile src/sia/Makefile src/sys/Makefile src/tbutc/Makefile src/tests/Makefile src/tests/run-tests src/tests/OpenAFS/Dirpath.pm src/tsm41/Makefile src/tviced/Makefile src/tvolser/Makefile src/ubik/Makefile src/update/Makefile src/usd/Makefile src/usd/test/Makefile src/uss/Makefile src/util/Makefile src/util/test/Makefile src/venus/Makefile src/venus/test/Makefile src/vfsck/Makefile src/viced/Makefile src/vlserver/Makefile src/vol/Makefile src/vol/test/Makefile src/volser/Makefile src/wsadmin.src/Makefile src/xstat/Makefile src/helper-splint.sh"
+
 cat >confcache <<\_ACEOF
 # This file is a shell script that caches the results of configure
 # tests run on this system so they can be shared between configure
@@ -18208,39 +23174,58 @@ _ACEOF
 
 # The following way of writing the cache mishandles newlines in values,
 # but we know of no workaround that is simple, portable, and efficient.
-# So, don't put newlines in cache variables' values.
+# So, we kill variables containing newlines.
 # Ultrix sh set writes to stderr and can't be redirected directly,
 # and sets the high bit in the cache file unless we assign to the vars.
-{
+(
+  for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
+    eval ac_val=\$$ac_var
+    case $ac_val in #(
+    *${as_nl}*)
+      case $ac_var in #(
+      *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
+echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
+      esac
+      case $ac_var in #(
+      _ | IFS | as_nl) ;; #(
+      *) $as_unset $ac_var ;;
+      esac ;;
+    esac
+  done
+
   (set) 2>&1 |
-    case `(ac_space=' '; set | grep ac_space) 2>&1` in
-    *ac_space=\ *)
+    case $as_nl`(ac_space=' '; set) 2>&1` in #(
+    *${as_nl}ac_space=\ *)
       # `set' does not quote correctly, so add quotes (double-quote
       # substitution turns \\\\ into \\, and sed turns \\ into \).
       sed -n \
-        "s/'/'\\\\''/g;
-         s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
-      ;;
+       "s/'/'\\\\''/g;
+         s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
+      ;; #(
     *)
       # `set' quotes correctly as required by POSIX, so do not add quotes.
-      sed -n \
-        "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
       ;;
-    esac;
-} |
+    esac |
+    sort
+) |
   sed '
+     /^ac_cv_env_/b end
      t clear
-     : clear
+     :clear
      s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
      t end
-     /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
-     : end' >>confcache
-if diff $cache_file confcache >/dev/null 2>&1; then :; else
-  if test -w $cache_file; then
-    test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
+     s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+     :end' >>confcache
+if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
+  if test -w "$cache_file"; then
+    test "x$cache_file" != "x/dev/null" &&
+      { echo "$as_me:$LINENO: updating cache $cache_file" >&5
+echo "$as_me: updating cache $cache_file" >&6;}
     cat confcache >$cache_file
   else
-    echo "not updating unwritable cache $cache_file"
+    { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5
+echo "$as_me: not updating unwritable cache $cache_file" >&6;}
   fi
 fi
 rm -f confcache
@@ -18249,32 +23234,18 @@ test "x$prefix" = xNONE && prefix=$ac_default_prefix
 # Let make expand exec_prefix.
 test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
 
-# VPATH may cause trouble with some makes, so we remove $(srcdir),
-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
-# trailing colons and then remove the whole line if VPATH becomes empty
-# (actually we leave an empty line to preserve line numbers).
-if test "x$srcdir" = x.; then
-  ac_vpsub='/^[        ]*VPATH[        ]*=/{
-s/:*\$(srcdir):*/:/;
-s/:*\${srcdir}:*/:/;
-s/:*@srcdir@:*/:/;
-s/^\([^=]*=[   ]*\):*/\1/;
-s/:*$//;
-s/^[^=]*=[     ]*$//;
-}'
-fi
-
 DEFS=-DHAVE_CONFIG_H
 
 ac_libobjs=
 ac_ltlibobjs=
 for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
   # 1. Remove the extension, and $U if already installed.
-  ac_i=`echo "$ac_i" |
-         sed 's/\$U\././;s/\.o$//;s/\.obj$//'`
-  # 2. Add them.
-  ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext"
-  ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo'
+  ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
+  ac_i=`echo "$ac_i" | sed "$ac_script"`
+  # 2. Prepend LIBOBJDIR.  When used with automake>=1.10 LIBOBJDIR
+  #    will be set to the directory where LIBOBJS objects are built.
+  ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext"
+  ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo'
 done
 LIBOBJS=$ac_libobjs
 
@@ -18326,20 +23297,80 @@ if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
   # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
   # is contrary to our usage.  Disable this feature.
   alias -g '${1+"$@"}'='"$@"'
-elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
-  set -o posix
+  setopt NO_GLOB_SUBST
+else
+  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
+fi
+BIN_SH=xpg4; export BIN_SH # for Tru64
+DUALCASE=1; export DUALCASE # for MKS sh
+
+
+# PATH needs CR
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  echo "#! /bin/sh" >conf$$.sh
+  echo  "exit 0"   >>conf$$.sh
+  chmod +x conf$$.sh
+  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+    PATH_SEPARATOR=';'
+  else
+    PATH_SEPARATOR=:
+  fi
+  rm -f conf$$.sh
 fi
 
 # Support unset when possible.
-if (FOO=FOO; unset FOO) >/dev/null 2>&1; then
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
   as_unset=unset
 else
   as_unset=false
 fi
 
 
+# IFS
+# We need space, tab and new line, in precisely that order.  Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+as_nl='
+'
+IFS=" ""       $as_nl"
+
+# Find who we are.  Look in the path if we contain no directory separator.
+case $0 in
+  *[\\/]* ) as_myself=$0 ;;
+  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+IFS=$as_save_IFS
+
+     ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+  as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+  echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+  { (exit 1); exit 1; }
+fi
+
 # Work around bugs in pre-3.0 UWIN ksh.
-$as_unset ENV MAIL MAILPATH
+for as_var in ENV MAIL MAILPATH
+do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+done
 PS1='$ '
 PS2='> '
 PS4='+ '
@@ -18350,222 +23381,180 @@ for as_var in \
   LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
   LC_TELEPHONE LC_TIME
 do
-  if (set +x; test -n "`(eval $as_var=C; export $as_var) 2>&1`"); then
+  if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
     eval $as_var=C; export $as_var
   else
-    $as_unset $as_var
+    ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
   fi
 done
 
 # Required to use basename.
-if expr a : '\(a\)' >/dev/null 2>&1; then
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+   test "X`expr 00001 : '.*\(...\)'`" = X001; then
   as_expr=expr
 else
   as_expr=false
 fi
 
-if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
-  as_basename=basename
-else
-  as_basename=false
-fi
-
-
-# Name of the executable.
-as_me=`$as_basename "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
-        X"$0" : 'X\(//\)$' \| \
-        X"$0" : 'X\(/\)$' \| \
-        .     : '\(.\)' 2>/dev/null ||
-echo X/"$0" |
-    sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
-         /^X\/\(\/\/\)$/{ s//\1/; q; }
-         /^X\/\(\/\).*/{ s//\1/; q; }
-         s/.*/./; q'`
-
-
-# PATH needs CR, and LINENO needs CR and PATH.
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  echo "#! /bin/sh" >conf$$.sh
-  echo  "exit 0"   >>conf$$.sh
-  chmod +x conf$$.sh
-  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
-    PATH_SEPARATOR=';'
-  else
-    PATH_SEPARATOR=:
-  fi
-  rm -f conf$$.sh
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+  as_basename=basename
+else
+  as_basename=false
 fi
 
 
-  as_lineno_1=$LINENO
-  as_lineno_2=$LINENO
-  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
-  test "x$as_lineno_1" != "x$as_lineno_2" &&
-  test "x$as_lineno_3"  = "x$as_lineno_2"  || {
-  # Find who we are.  Look in the path if we contain no path at all
-  # relative or not.
-  case $0 in
-    *[\\/]* ) as_myself=$0 ;;
-    *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-done
+# Name of the executable.
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+        X"$0" : 'X\(//\)$' \| \
+        X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+echo X/"$0" |
+    sed '/^.*\/\([^/][^/]*\)\/*$/{
+           s//\1/
+           q
+         }
+         /^X\/\(\/\/\)$/{
+           s//\1/
+           q
+         }
+         /^X\/\(\/\).*/{
+           s//\1/
+           q
+         }
+         s/.*/./; q'`
+
+# CDPATH.
+$as_unset CDPATH
+
+
 
-       ;;
-  esac
-  # We did not find ourselves, most probably we were run as `sh COMMAND'
-  # in which case we are not to be found in the path.
-  if test "x$as_myself" = x; then
-    as_myself=$0
-  fi
-  if test ! -f "$as_myself"; then
-    { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5
-echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;}
-   { (exit 1); exit 1; }; }
-  fi
-  case $CONFIG_SHELL in
-  '')
-    as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for as_base in sh bash ksh sh5; do
-        case $as_dir in
-        /*)
-          if ("$as_dir/$as_base" -c '
   as_lineno_1=$LINENO
   as_lineno_2=$LINENO
-  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
   test "x$as_lineno_1" != "x$as_lineno_2" &&
-  test "x$as_lineno_3"  = "x$as_lineno_2" ') 2>/dev/null; then
-            $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
-            $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
-            CONFIG_SHELL=$as_dir/$as_base
-            export CONFIG_SHELL
-            exec "$CONFIG_SHELL" "$0" ${1+"$@"}
-          fi;;
-        esac
-       done
-done
-;;
-  esac
+  test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
 
   # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
   # uniformly replaced by the line number.  The first 'sed' inserts a
-  # line-number line before each line; the second 'sed' does the real
-  # work.  The second script uses 'N' to pair each line-number line
-  # with the numbered line, and appends trailing '-' during
-  # substitution so that $LINENO is not a special case at line end.
+  # line-number line after each line using $LINENO; the second 'sed'
+  # does the real work.  The second script uses 'N' to pair each
+  # line-number line with the line containing $LINENO, and appends
+  # trailing '-' during substitution so that $LINENO is not a special
+  # case at line end.
   # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
-  # second 'sed' script.  Blame Lee E. McMahon for sed's syntax.  :-)
-  sed '=' <$as_myself |
+  # scripts with optimization help from Paolo Bonzini.  Blame Lee
+  # E. McMahon (1931-1989) for sed's syntax.  :-)
+  sed -n '
+    p
+    /[$]LINENO/=
+  ' <$as_myself |
     sed '
+      s/[$]LINENO.*/&-/
+      t lineno
+      b
+      :lineno
       N
-      s,$,-,
-      : loop
-      s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
+      :loop
+      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
       t loop
-      s,-$,,
-      s,^['$as_cr_digits']*\n,,
+      s/-\n.*//
     ' >$as_me.lineno &&
-  chmod +x $as_me.lineno ||
-    { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5
-echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;}
+  chmod +x "$as_me.lineno" ||
+    { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
    { (exit 1); exit 1; }; }
 
   # Don't try to exec as it changes $[0], causing all sort of problems
   # (the dirname of $[0] is not the place where we might find the
-  # original and so on.  Autoconf is especially sensible to this).
-  . ./$as_me.lineno
+  # original and so on.  Autoconf is especially sensitive to this).
+  . "./$as_me.lineno"
   # Exit status is that of the last command.
   exit
 }
 
 
-case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
-  *c*,-n*) ECHO_N= ECHO_C='
-' ECHO_T='     ' ;;
-  *c*,*  ) ECHO_N=-n ECHO_C= ECHO_T= ;;
-  *)       ECHO_N= ECHO_C='\c' ECHO_T= ;;
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+  as_dirname=dirname
+else
+  as_dirname=false
+fi
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in
+-n*)
+  case `echo 'x\c'` in
+  *c*) ECHO_T='        ';;     # ECHO_T is single tab character.
+  *)   ECHO_C='\c';;
+  esac;;
+*)
+  ECHO_N='-n';;
 esac
 
-if expr a : '\(a\)' >/dev/null 2>&1; then
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+   test "X`expr 00001 : '.*\(...\)'`" = X001; then
   as_expr=expr
 else
   as_expr=false
 fi
 
 rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+  rm -f conf$$.dir/conf$$.file
+else
+  rm -f conf$$.dir
+  mkdir conf$$.dir
+fi
 echo >conf$$.file
 if ln -s conf$$.file conf$$ 2>/dev/null; then
-  # We could just check for DJGPP; but this test a) works b) is more generic
-  # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
-  if test -f conf$$.exe; then
-    # Don't use ln at all; we don't have any links
+  as_ln_s='ln -s'
+  # ... but there are two gotchas:
+  # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+  # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+  # In both cases, we have to default to `cp -p'.
+  ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
     as_ln_s='cp -p'
-  else
-    as_ln_s='ln -s'
-  fi
 elif ln conf$$.file conf$$ 2>/dev/null; then
   as_ln_s=ln
 else
   as_ln_s='cp -p'
 fi
-rm -f conf$$ conf$$.exe conf$$.file
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
 
 if mkdir -p . 2>/dev/null; then
   as_mkdir_p=:
 else
+  test -d ./-p && rmdir ./-p
   as_mkdir_p=false
 fi
 
-as_executable_p="test -f"
+# Find out whether ``test -x'' works.  Don't use a zero-byte file, as
+# systems may use methods other than mode bits to determine executability.
+cat >conf$$.file <<_ASEOF
+#! /bin/sh
+exit 0
+_ASEOF
+chmod +x conf$$.file
+if test -x conf$$.file >/dev/null 2>&1; then
+  as_executable_p="test -x"
+else
+  as_executable_p=:
+fi
+rm -f conf$$.file
 
 # Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g"
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
 
 # Sed expression to map a string onto a valid variable name.
-as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g"
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.
-as_nl='
-'
-IFS="  $as_nl"
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
 
-# CDPATH.
-$as_unset CDPATH
 
 exec 6>&1
 
-# Open the log real soon, to keep \$[0] and so on meaningful, and to
+# Save the log message, to keep $[0] and so on meaningful, and to
 # report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling.  Logging --version etc. is OK.
-exec 5>>config.log
-{
-  echo
-  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
-## Running $as_me. ##
-_ASBOX
-} >&5
-cat >&5 <<_CSEOF
-
+# values after options handling.
+ac_log="
 This file was extended by $as_me, which was
-generated by GNU Autoconf 2.57.  Invocation command line was
+generated by GNU Autoconf 2.60.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
   CONFIG_HEADERS  = $CONFIG_HEADERS
@@ -18573,30 +23562,20 @@ generated by GNU Autoconf 2.57.  Invocation command line was
   CONFIG_COMMANDS = $CONFIG_COMMANDS
   $ $0 $@
 
-_CSEOF
-echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5
-echo >&5
+on `(hostname || uname -n) 2>/dev/null | sed 1q`
+"
+
 _ACEOF
 
+cat >>$CONFIG_STATUS <<_ACEOF
 # Files that config.status was made for.
-if test -n "$ac_config_files"; then
-  echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS
-fi
+config_files="$ac_config_files"
+config_headers="$ac_config_headers"
+config_commands="$ac_config_commands"
 
-if test -n "$ac_config_headers"; then
-  echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS
-fi
-
-if test -n "$ac_config_links"; then
-  echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS
-fi
-
-if test -n "$ac_config_commands"; then
-  echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS
-fi
+_ACEOF
 
 cat >>$CONFIG_STATUS <<\_ACEOF
-
 ac_cs_usage="\
 \`$as_me' instantiates files from templates according to the
 current configuration.
@@ -18609,9 +23588,9 @@ Usage: $0 [OPTIONS] [FILE]...
   -d, --debug      don't remove temporary files
       --recheck    update $as_me by reconfiguring in the same conditions
   --file=FILE[:TEMPLATE]
-                   instantiate the configuration file FILE
+                  instantiate the configuration file FILE
   --header=FILE[:TEMPLATE]
-                   instantiate the configuration header FILE
+                  instantiate the configuration header FILE
 
 Configuration files:
 $config_files
@@ -18623,20 +23602,21 @@ Configuration commands:
 $config_commands
 
 Report bugs to <bug-autoconf@gnu.org>."
-_ACEOF
 
+_ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF
 ac_cs_version="\\
 config.status
-configured by $0, generated by GNU Autoconf 2.57,
-  with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
+configured by $0, generated by GNU Autoconf 2.60,
+  with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
 
-Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001
-Free Software Foundation, Inc.
+Copyright (C) 2006 Free Software Foundation, Inc.
 This config.status script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it."
-srcdir=$srcdir
-INSTALL="$INSTALL"
+
+ac_pwd='$ac_pwd'
+srcdir='$srcdir'
+INSTALL='$INSTALL'
 _ACEOF
 
 cat >>$CONFIG_STATUS <<\_ACEOF
@@ -18647,39 +23627,24 @@ while test $# != 0
 do
   case $1 in
   --*=*)
-    ac_option=`expr "x$1" : 'x\([^=]*\)='`
-    ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
+    ac_option=`expr "X$1" : 'X\([^=]*\)='`
+    ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
     ac_shift=:
     ;;
-  -*)
+  *)
     ac_option=$1
     ac_optarg=$2
     ac_shift=shift
     ;;
-  *) # This is not an option, so the user has probably given explicit
-     # arguments.
-     ac_option=$1
-     ac_need_defaults=false;;
   esac
 
   case $ac_option in
   # Handling of the options.
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
   -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
     ac_cs_recheck=: ;;
-  --version | --vers* | -V )
-    echo "$ac_cs_version"; exit 0 ;;
-  --he | --h)
-    # Conflict between --help and --header
-    { { echo "$as_me:$LINENO: error: ambiguous option: $1
-Try \`$0 --help' for more information." >&5
-echo "$as_me: error: ambiguous option: $1
-Try \`$0 --help' for more information." >&2;}
-   { (exit 1); exit 1; }; };;
-  --help | --hel | -h )
-    echo "$ac_cs_usage"; exit 0 ;;
-  --debug | --d* | -d )
+  --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
+    echo "$ac_cs_version"; exit ;;
+  --debug | --debu | --deb | --de | --d | -d )
     debug=: ;;
   --file | --fil | --fi | --f )
     $ac_shift
@@ -18689,18 +23654,24 @@ Try \`$0 --help' for more information." >&2;}
     $ac_shift
     CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg"
     ac_need_defaults=false;;
+  --he | --h)
+    # Conflict between --help and --header
+    { echo "$as_me: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&2
+   { (exit 1); exit 1; }; };;
+  --help | --hel | -h )
+    echo "$ac_cs_usage"; exit ;;
   -q | -quiet | --quiet | --quie | --qui | --qu | --q \
   | -silent | --silent | --silen | --sile | --sil | --si | --s)
     ac_cs_silent=: ;;
 
   # This is an error.
-  -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1
-Try \`$0 --help' for more information." >&5
-echo "$as_me: error: unrecognized option: $1
-Try \`$0 --help' for more information." >&2;}
+  -*) { echo "$as_me: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&2
    { (exit 1); exit 1; }; } ;;
 
-  *) ac_config_targets="$ac_config_targets $1" ;;
+  *) ac_config_targets="$ac_config_targets $1"
+     ac_need_defaults=false ;;
 
   esac
   shift
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF
 if \$ac_cs_recheck; then
-  echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
-  exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+  echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
+  CONFIG_SHELL=$SHELL
+  export CONFIG_SHELL
+  exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
 fi
 
 _ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+exec 5>>config.log
+{
+  echo
+  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
+## Running $as_me. ##
+_ASBOX
+  echo "$ac_log"
+} >&5
 
+_ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF
 #
-# INIT-COMMANDS section.
+# INIT-COMMANDS
 #
-
 AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
 
 _ACEOF
 
-
-
 cat >>$CONFIG_STATUS <<\_ACEOF
+
+# Handling of arguments.
 for ac_config_target in $ac_config_targets
 do
-  case "$ac_config_target" in
-  # Handling of arguments.
-  "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
-  "${MAN_MAKEFILE}" ) CONFIG_FILES="$CONFIG_FILES ${MAN_MAKEFILE}" ;;
-  "src/afs/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/afs/Makefile" ;;
-  "src/afsd/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/afsd/Makefile" ;;
-  "src/afsmonitor/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/afsmonitor/Makefile" ;;
-  "src/afsweb/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/afsweb/Makefile" ;;
-  "src/aklog/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/aklog/Makefile" ;;
-  "src/audit/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/audit/Makefile" ;;
-  "src/auth/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/auth/Makefile" ;;
-  "src/auth/test/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/auth/test/Makefile" ;;
-  "src/bozo/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/bozo/Makefile" ;;
-  "src/bozo/test/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/bozo/test/Makefile" ;;
-  "src/bu_utils/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/bu_utils/Makefile" ;;
-  "src/bubasics/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/bubasics/Makefile" ;;
-  "src/bucoord/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/bucoord/Makefile" ;;
-  "src/budb/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/budb/Makefile" ;;
-  "src/butc/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/butc/Makefile" ;;
-  "src/butm/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/butm/Makefile" ;;
-  "src/cmd/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/cmd/Makefile" ;;
-  "src/cmd/test/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/cmd/test/Makefile" ;;
-  "src/comerr/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/comerr/Makefile" ;;
-  "src/comerr/test/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/comerr/test/Makefile" ;;
-  "src/config/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/config/Makefile" ;;
-  "src/config/Makefile.config" ) CONFIG_FILES="$CONFIG_FILES src/config/Makefile.config" ;;
-  "src/config/Makefile.version-NOCML" ) CONFIG_FILES="$CONFIG_FILES src/config/Makefile.version-NOCML" ;;
-  "src/dauth/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/dauth/Makefile" ;;
-  "src/des/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/des/Makefile" ;;
-  "src/des/test/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/des/test/Makefile" ;;
-  "src/des_stub/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/des_stub/Makefile" ;;
-  "src/dir/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/dir/Makefile" ;;
-  "src/dir/test/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/dir/test/Makefile" ;;
-  "src/export/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/export/Makefile" ;;
-  "src/finale/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/finale/Makefile" ;;
-  "src/fsint/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/fsint/Makefile" ;;
-  "src/fsprobe/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/fsprobe/Makefile" ;;
-  "src/gtx/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/gtx/Makefile" ;;
-  "src/JAVA/libjafs/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/JAVA/libjafs/Makefile" ;;
-  "src/kauth/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/kauth/Makefile" ;;
-  "src/kauth/test/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/kauth/test/Makefile" ;;
-  "src/libacl/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/libacl/Makefile" ;;
-  "src/libacl/test/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/libacl/test/Makefile" ;;
-  "src/libadmin/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/libadmin/Makefile" ;;
-  "src/libadmin/adminutil/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/libadmin/adminutil/Makefile" ;;
-  "src/libadmin/bos/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/libadmin/bos/Makefile" ;;
-  "src/libadmin/cfg/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/libadmin/cfg/Makefile" ;;
-  "src/libadmin/cfg/test/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/libadmin/cfg/test/Makefile" ;;
-  "src/libadmin/client/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/libadmin/client/Makefile" ;;
-  "src/libadmin/kas/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/libadmin/kas/Makefile" ;;
-  "src/libadmin/pts/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/libadmin/pts/Makefile" ;;
-  "src/libadmin/samples/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/libadmin/samples/Makefile" ;;
-  "src/libadmin/test/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/libadmin/test/Makefile" ;;
-  "src/libadmin/vos/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/libadmin/vos/Makefile" ;;
-  "src/libafs/Makefile.common" ) CONFIG_FILES="$CONFIG_FILES src/libafs/Makefile.common" ;;
-  "src/libafs/MakefileProto.${MKAFS_OSTYPE}" ) CONFIG_FILES="$CONFIG_FILES src/libafs/MakefileProto.${MKAFS_OSTYPE}" ;;
-  "${DARWIN_PLIST}" ) CONFIG_FILES="$CONFIG_FILES ${DARWIN_PLIST}" ;;
-  "src/libafsauthent/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/libafsauthent/Makefile" ;;
-  "src/libafsrpc/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/libafsrpc/Makefile" ;;
-  "src/libuafs/Makefile.common" ) CONFIG_FILES="$CONFIG_FILES src/libuafs/Makefile.common" ;;
-  "src/libuafs/MakefileProto.${MKAFS_OSTYPE}" ) CONFIG_FILES="$CONFIG_FILES src/libuafs/MakefileProto.${MKAFS_OSTYPE}" ;;
-  "src/log/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/log/Makefile" ;;
-  "src/log/test/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/log/test/Makefile" ;;
-  "src/login/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/login/Makefile" ;;
-  "src/lwp/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/lwp/Makefile" ;;
-  "src/lwp/test/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/lwp/test/Makefile" ;;
-  "src/mpp/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/mpp/Makefile" ;;
-  "src/null/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/null/Makefile" ;;
-  "src/package/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/package/Makefile" ;;
-  "src/pam/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/pam/Makefile" ;;
-  "src/pinstall/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/pinstall/Makefile" ;;
-  "src/pinstall/test/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/pinstall/test/Makefile" ;;
-  "src/platform/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/platform/Makefile" ;;
-  "src/platform/${MKAFS_OSTYPE}/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/platform/${MKAFS_OSTYPE}/Makefile" ;;
-  "src/procmgmt/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/procmgmt/Makefile" ;;
-  "src/procmgmt/test/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/procmgmt/test/Makefile" ;;
-  "src/ptserver/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/ptserver/Makefile" ;;
-  "src/rx/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/rx/Makefile" ;;
-  "src/rx/bulk.example/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/rx/bulk.example/Makefile" ;;
-  "src/rx/bulktest/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/rx/bulktest/Makefile" ;;
-  "src/rx/multi.example/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/rx/multi.example/Makefile" ;;
-  "src/rx/simple.example/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/rx/simple.example/Makefile" ;;
-  "src/rx/test/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/rx/test/Makefile" ;;
-  "src/rxdebug/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/rxdebug/Makefile" ;;
-  "src/rxgen/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/rxgen/Makefile" ;;
-  "src/rxkad/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/rxkad/Makefile" ;;
-  "src/rxkad/test/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/rxkad/test/Makefile" ;;
-  "src/rxstat/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/rxstat/Makefile" ;;
-  "src/scout/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/scout/Makefile" ;;
-  "src/sgistuff/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/sgistuff/Makefile" ;;
-  "src/shlibafsauthent/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/shlibafsauthent/Makefile" ;;
-  "src/shlibafsrpc/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/shlibafsrpc/Makefile" ;;
-  "src/sia/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/sia/Makefile" ;;
-  "src/sys/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/sys/Makefile" ;;
-  "src/tbutc/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/tbutc/Makefile" ;;
-  "src/tests/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/tests/Makefile" ;;
-  "src/tests/run-tests" ) CONFIG_FILES="$CONFIG_FILES src/tests/run-tests" ;;
-  "src/tests/OpenAFS/Dirpath.pm" ) CONFIG_FILES="$CONFIG_FILES src/tests/OpenAFS/Dirpath.pm" ;;
-  "src/tsm41/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/tsm41/Makefile" ;;
-  "src/tviced/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/tviced/Makefile" ;;
-  "src/tvolser/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/tvolser/Makefile" ;;
-  "src/ubik/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/ubik/Makefile" ;;
-  "src/update/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/update/Makefile" ;;
-  "src/usd/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/usd/Makefile" ;;
-  "src/usd/test/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/usd/test/Makefile" ;;
-  "src/uss/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/uss/Makefile" ;;
-  "src/util/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/util/Makefile" ;;
-  "src/util/test/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/util/test/Makefile" ;;
-  "src/venus/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/venus/Makefile" ;;
-  "src/venus/test/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/venus/test/Makefile" ;;
-  "src/vfsck/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/vfsck/Makefile" ;;
-  "src/viced/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/viced/Makefile" ;;
-  "src/vlserver/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/vlserver/Makefile" ;;
-  "src/vol/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/vol/Makefile" ;;
-  "src/vol/test/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/vol/test/Makefile" ;;
-  "src/volser/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/volser/Makefile" ;;
-  "src/wsadmin.src/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/wsadmin.src/Makefile" ;;
-  "src/xstat/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/xstat/Makefile" ;;
-  "src/helper-splint.sh" ) CONFIG_FILES="$CONFIG_FILES src/helper-splint.sh" ;;
-  "depfiles" ) CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
-  "src/config/afsconfig.h" ) CONFIG_HEADERS="$CONFIG_HEADERS src/config/afsconfig.h" ;;
+  case $ac_config_target in
+    "src/config/afsconfig.h") CONFIG_HEADERS="$CONFIG_HEADERS src/config/afsconfig.h" ;;
+    "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
+    "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+    "${MAN_MAKEFILE}") CONFIG_FILES="$CONFIG_FILES ${MAN_MAKEFILE}" ;;
+    "src/afs/Makefile") CONFIG_FILES="$CONFIG_FILES src/afs/Makefile" ;;
+    "src/afsd/Makefile") CONFIG_FILES="$CONFIG_FILES src/afsd/Makefile" ;;
+    "src/afsmonitor/Makefile") CONFIG_FILES="$CONFIG_FILES src/afsmonitor/Makefile" ;;
+    "src/afsweb/Makefile") CONFIG_FILES="$CONFIG_FILES src/afsweb/Makefile" ;;
+    "src/aklog/Makefile") CONFIG_FILES="$CONFIG_FILES src/aklog/Makefile" ;;
+    "src/audit/Makefile") CONFIG_FILES="$CONFIG_FILES src/audit/Makefile" ;;
+    "src/auth/Makefile") CONFIG_FILES="$CONFIG_FILES src/auth/Makefile" ;;
+    "src/auth/test/Makefile") CONFIG_FILES="$CONFIG_FILES src/auth/test/Makefile" ;;
+    "src/bozo/Makefile") CONFIG_FILES="$CONFIG_FILES src/bozo/Makefile" ;;
+    "src/bozo/test/Makefile") CONFIG_FILES="$CONFIG_FILES src/bozo/test/Makefile" ;;
+    "src/bu_utils/Makefile") CONFIG_FILES="$CONFIG_FILES src/bu_utils/Makefile" ;;
+    "src/bubasics/Makefile") CONFIG_FILES="$CONFIG_FILES src/bubasics/Makefile" ;;
+    "src/bucoord/Makefile") CONFIG_FILES="$CONFIG_FILES src/bucoord/Makefile" ;;
+    "src/budb/Makefile") CONFIG_FILES="$CONFIG_FILES src/budb/Makefile" ;;
+    "src/butc/Makefile") CONFIG_FILES="$CONFIG_FILES src/butc/Makefile" ;;
+    "src/butm/Makefile") CONFIG_FILES="$CONFIG_FILES src/butm/Makefile" ;;
+    "src/cmd/Makefile") CONFIG_FILES="$CONFIG_FILES src/cmd/Makefile" ;;
+    "src/cmd/test/Makefile") CONFIG_FILES="$CONFIG_FILES src/cmd/test/Makefile" ;;
+    "src/comerr/Makefile") CONFIG_FILES="$CONFIG_FILES src/comerr/Makefile" ;;
+    "src/comerr/test/Makefile") CONFIG_FILES="$CONFIG_FILES src/comerr/test/Makefile" ;;
+    "src/config/Makefile") CONFIG_FILES="$CONFIG_FILES src/config/Makefile" ;;
+    "src/config/Makefile.config") CONFIG_FILES="$CONFIG_FILES src/config/Makefile.config" ;;
+    "src/config/Makefile.version-NOCML") CONFIG_FILES="$CONFIG_FILES src/config/Makefile.version-NOCML" ;;
+    "src/dauth/Makefile") CONFIG_FILES="$CONFIG_FILES src/dauth/Makefile" ;;
+    "src/des/Makefile") CONFIG_FILES="$CONFIG_FILES src/des/Makefile" ;;
+    "src/des/test/Makefile") CONFIG_FILES="$CONFIG_FILES src/des/test/Makefile" ;;
+    "src/des_stub/Makefile") CONFIG_FILES="$CONFIG_FILES src/des_stub/Makefile" ;;
+    "src/dir/Makefile") CONFIG_FILES="$CONFIG_FILES src/dir/Makefile" ;;
+    "src/dir/test/Makefile") CONFIG_FILES="$CONFIG_FILES src/dir/test/Makefile" ;;
+    "src/export/Makefile") CONFIG_FILES="$CONFIG_FILES src/export/Makefile" ;;
+    "src/finale/Makefile") CONFIG_FILES="$CONFIG_FILES src/finale/Makefile" ;;
+    "src/fsint/Makefile") CONFIG_FILES="$CONFIG_FILES src/fsint/Makefile" ;;
+    "src/fsprobe/Makefile") CONFIG_FILES="$CONFIG_FILES src/fsprobe/Makefile" ;;
+    "src/gtx/Makefile") CONFIG_FILES="$CONFIG_FILES src/gtx/Makefile" ;;
+    "src/JAVA/libjafs/Makefile") CONFIG_FILES="$CONFIG_FILES src/JAVA/libjafs/Makefile" ;;
+    "src/kauth/Makefile") CONFIG_FILES="$CONFIG_FILES src/kauth/Makefile" ;;
+    "src/kauth/test/Makefile") CONFIG_FILES="$CONFIG_FILES src/kauth/test/Makefile" ;;
+    "src/libacl/Makefile") CONFIG_FILES="$CONFIG_FILES src/libacl/Makefile" ;;
+    "src/libacl/test/Makefile") CONFIG_FILES="$CONFIG_FILES src/libacl/test/Makefile" ;;
+    "src/libadmin/Makefile") CONFIG_FILES="$CONFIG_FILES src/libadmin/Makefile" ;;
+    "src/libadmin/adminutil/Makefile") CONFIG_FILES="$CONFIG_FILES src/libadmin/adminutil/Makefile" ;;
+    "src/libadmin/bos/Makefile") CONFIG_FILES="$CONFIG_FILES src/libadmin/bos/Makefile" ;;
+    "src/libadmin/cfg/Makefile") CONFIG_FILES="$CONFIG_FILES src/libadmin/cfg/Makefile" ;;
+    "src/libadmin/cfg/test/Makefile") CONFIG_FILES="$CONFIG_FILES src/libadmin/cfg/test/Makefile" ;;
+    "src/libadmin/client/Makefile") CONFIG_FILES="$CONFIG_FILES src/libadmin/client/Makefile" ;;
+    "src/libadmin/kas/Makefile") CONFIG_FILES="$CONFIG_FILES src/libadmin/kas/Makefile" ;;
+    "src/libadmin/pts/Makefile") CONFIG_FILES="$CONFIG_FILES src/libadmin/pts/Makefile" ;;
+    "src/libadmin/samples/Makefile") CONFIG_FILES="$CONFIG_FILES src/libadmin/samples/Makefile" ;;
+    "src/libadmin/test/Makefile") CONFIG_FILES="$CONFIG_FILES src/libadmin/test/Makefile" ;;
+    "src/libadmin/vos/Makefile") CONFIG_FILES="$CONFIG_FILES src/libadmin/vos/Makefile" ;;
+    "src/libafs/Makefile.common") CONFIG_FILES="$CONFIG_FILES src/libafs/Makefile.common" ;;
+    "src/libafs/MakefileProto.${MKAFS_OSTYPE}") CONFIG_FILES="$CONFIG_FILES src/libafs/MakefileProto.${MKAFS_OSTYPE}" ;;
+    "${DARWIN_PLIST}") CONFIG_FILES="$CONFIG_FILES ${DARWIN_PLIST}" ;;
+    "src/libafsauthent/Makefile") CONFIG_FILES="$CONFIG_FILES src/libafsauthent/Makefile" ;;
+    "src/libafsrpc/Makefile") CONFIG_FILES="$CONFIG_FILES src/libafsrpc/Makefile" ;;
+    "src/libuafs/Makefile.common") CONFIG_FILES="$CONFIG_FILES src/libuafs/Makefile.common" ;;
+    "src/libuafs/MakefileProto.${MKAFS_OSTYPE}") CONFIG_FILES="$CONFIG_FILES src/libuafs/MakefileProto.${MKAFS_OSTYPE}" ;;
+    "src/log/Makefile") CONFIG_FILES="$CONFIG_FILES src/log/Makefile" ;;
+    "src/log/test/Makefile") CONFIG_FILES="$CONFIG_FILES src/log/test/Makefile" ;;
+    "src/login/Makefile") CONFIG_FILES="$CONFIG_FILES src/login/Makefile" ;;
+    "src/lwp/Makefile") CONFIG_FILES="$CONFIG_FILES src/lwp/Makefile" ;;
+    "src/lwp/test/Makefile") CONFIG_FILES="$CONFIG_FILES src/lwp/test/Makefile" ;;
+    "src/mpp/Makefile") CONFIG_FILES="$CONFIG_FILES src/mpp/Makefile" ;;
+    "src/null/Makefile") CONFIG_FILES="$CONFIG_FILES src/null/Makefile" ;;
+    "src/package/Makefile") CONFIG_FILES="$CONFIG_FILES src/package/Makefile" ;;
+    "src/packaging/MacOS/OpenAFS.Info.plist") CONFIG_FILES="$CONFIG_FILES src/packaging/MacOS/OpenAFS.Info.plist" ;;
+    "src/packaging/MacOS/OpenAFS.info") CONFIG_FILES="$CONFIG_FILES src/packaging/MacOS/OpenAFS.info" ;;
+    "src/packaging/RedHat/openafs.spec") CONFIG_FILES="$CONFIG_FILES src/packaging/RedHat/openafs.spec" ;;
+    "src/pam/Makefile") CONFIG_FILES="$CONFIG_FILES src/pam/Makefile" ;;
+    "src/pinstall/Makefile") CONFIG_FILES="$CONFIG_FILES src/pinstall/Makefile" ;;
+    "src/pinstall/test/Makefile") CONFIG_FILES="$CONFIG_FILES src/pinstall/test/Makefile" ;;
+    "src/platform/Makefile") CONFIG_FILES="$CONFIG_FILES src/platform/Makefile" ;;
+    "src/platform/${MKAFS_OSTYPE}/Makefile") CONFIG_FILES="$CONFIG_FILES src/platform/${MKAFS_OSTYPE}/Makefile" ;;
+    "src/procmgmt/Makefile") CONFIG_FILES="$CONFIG_FILES src/procmgmt/Makefile" ;;
+    "src/procmgmt/test/Makefile") CONFIG_FILES="$CONFIG_FILES src/procmgmt/test/Makefile" ;;
+    "src/ptserver/Makefile") CONFIG_FILES="$CONFIG_FILES src/ptserver/Makefile" ;;
+    "src/rx/Makefile") CONFIG_FILES="$CONFIG_FILES src/rx/Makefile" ;;
+    "src/rx/bulk.example/Makefile") CONFIG_FILES="$CONFIG_FILES src/rx/bulk.example/Makefile" ;;
+    "src/rx/bulktest/Makefile") CONFIG_FILES="$CONFIG_FILES src/rx/bulktest/Makefile" ;;
+    "src/rx/multi.example/Makefile") CONFIG_FILES="$CONFIG_FILES src/rx/multi.example/Makefile" ;;
+    "src/rx/simple.example/Makefile") CONFIG_FILES="$CONFIG_FILES src/rx/simple.example/Makefile" ;;
+    "src/rx/test/Makefile") CONFIG_FILES="$CONFIG_FILES src/rx/test/Makefile" ;;
+    "src/rxdebug/Makefile") CONFIG_FILES="$CONFIG_FILES src/rxdebug/Makefile" ;;
+    "src/rxgen/Makefile") CONFIG_FILES="$CONFIG_FILES src/rxgen/Makefile" ;;
+    "src/rxkad/Makefile") CONFIG_FILES="$CONFIG_FILES src/rxkad/Makefile" ;;
+    "src/rxkad/test/Makefile") CONFIG_FILES="$CONFIG_FILES src/rxkad/test/Makefile" ;;
+    "src/rxstat/Makefile") CONFIG_FILES="$CONFIG_FILES src/rxstat/Makefile" ;;
+    "src/scout/Makefile") CONFIG_FILES="$CONFIG_FILES src/scout/Makefile" ;;
+    "src/sgistuff/Makefile") CONFIG_FILES="$CONFIG_FILES src/sgistuff/Makefile" ;;
+    "src/shlibafsauthent/Makefile") CONFIG_FILES="$CONFIG_FILES src/shlibafsauthent/Makefile" ;;
+    "src/shlibafsrpc/Makefile") CONFIG_FILES="$CONFIG_FILES src/shlibafsrpc/Makefile" ;;
+    "src/sia/Makefile") CONFIG_FILES="$CONFIG_FILES src/sia/Makefile" ;;
+    "src/sys/Makefile") CONFIG_FILES="$CONFIG_FILES src/sys/Makefile" ;;
+    "src/tbutc/Makefile") CONFIG_FILES="$CONFIG_FILES src/tbutc/Makefile" ;;
+    "src/tests/Makefile") CONFIG_FILES="$CONFIG_FILES src/tests/Makefile" ;;
+    "src/tests/run-tests") CONFIG_FILES="$CONFIG_FILES src/tests/run-tests" ;;
+    "src/tests/OpenAFS/Dirpath.pm") CONFIG_FILES="$CONFIG_FILES src/tests/OpenAFS/Dirpath.pm" ;;
+    "src/tsm41/Makefile") CONFIG_FILES="$CONFIG_FILES src/tsm41/Makefile" ;;
+    "src/tviced/Makefile") CONFIG_FILES="$CONFIG_FILES src/tviced/Makefile" ;;
+    "src/tvolser/Makefile") CONFIG_FILES="$CONFIG_FILES src/tvolser/Makefile" ;;
+    "src/ubik/Makefile") CONFIG_FILES="$CONFIG_FILES src/ubik/Makefile" ;;
+    "src/update/Makefile") CONFIG_FILES="$CONFIG_FILES src/update/Makefile" ;;
+    "src/usd/Makefile") CONFIG_FILES="$CONFIG_FILES src/usd/Makefile" ;;
+    "src/usd/test/Makefile") CONFIG_FILES="$CONFIG_FILES src/usd/test/Makefile" ;;
+    "src/uss/Makefile") CONFIG_FILES="$CONFIG_FILES src/uss/Makefile" ;;
+    "src/util/Makefile") CONFIG_FILES="$CONFIG_FILES src/util/Makefile" ;;
+    "src/util/test/Makefile") CONFIG_FILES="$CONFIG_FILES src/util/test/Makefile" ;;
+    "src/venus/Makefile") CONFIG_FILES="$CONFIG_FILES src/venus/Makefile" ;;
+    "src/venus/test/Makefile") CONFIG_FILES="$CONFIG_FILES src/venus/test/Makefile" ;;
+    "src/vfsck/Makefile") CONFIG_FILES="$CONFIG_FILES src/vfsck/Makefile" ;;
+    "src/viced/Makefile") CONFIG_FILES="$CONFIG_FILES src/viced/Makefile" ;;
+    "src/vlserver/Makefile") CONFIG_FILES="$CONFIG_FILES src/vlserver/Makefile" ;;
+    "src/vol/Makefile") CONFIG_FILES="$CONFIG_FILES src/vol/Makefile" ;;
+    "src/vol/test/Makefile") CONFIG_FILES="$CONFIG_FILES src/vol/test/Makefile" ;;
+    "src/volser/Makefile") CONFIG_FILES="$CONFIG_FILES src/volser/Makefile" ;;
+    "src/wsadmin.src/Makefile") CONFIG_FILES="$CONFIG_FILES src/wsadmin.src/Makefile" ;;
+    "src/xstat/Makefile") CONFIG_FILES="$CONFIG_FILES src/xstat/Makefile" ;;
+    "src/helper-splint.sh") CONFIG_FILES="$CONFIG_FILES src/helper-splint.sh" ;;
+
   *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
 echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
    { (exit 1); exit 1; }; };;
   esac
 done
 
+
 # If the user did not use the arguments to specify the items to instantiate,
 # then the envvar interface is used.  Set only those that are not.
 # We use the long form for the default assignment because of an extremely
@@ -18874,397 +23860,543 @@ if $ac_need_defaults; then
 fi
 
 # Have a temporary directory for convenience.  Make it in the build tree
-# simply because there is no reason to put it here, and in addition,
+# simply because there is no reason against having it here, and in addition,
 # creating and moving files from /tmp can sometimes cause problems.
-# Create a temporary directory, and hook for its removal unless debugging.
+# Hook for its removal unless debugging.
+# Note that there is a small window in which the directory will not be cleaned:
+# after its creation but before its name has been assigned to `$tmp'.
 $debug ||
 {
-  trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
+  tmp=
+  trap 'exit_status=$?
+  { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
+' 0
   trap '{ (exit 1); exit 1; }' 1 2 13 15
 }
-
 # Create a (secure) tmp directory for tmp files.
 
 {
-  tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` &&
+  tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
   test -n "$tmp" && test -d "$tmp"
 }  ||
 {
-  tmp=./confstat$$-$RANDOM
-  (umask 077 && mkdir $tmp)
+  tmp=./conf$$-$RANDOM
+  (umask 077 && mkdir "$tmp")
 } ||
 {
    echo "$me: cannot create a temporary directory in ." >&2
    { (exit 1); exit 1; }
 }
 
-_ACEOF
-
-cat >>$CONFIG_STATUS <<_ACEOF
-
 #
-# CONFIG_FILES section.
+# Set up the sed scripts for CONFIG_FILES section.
 #
 
 # No need to generate the scripts if there are no CONFIG_FILES.
 # This happens for instance when ./config.status config.h
-if test -n "\$CONFIG_FILES"; then
-  # Protect against being on the right side of a sed subst in config.status.
-  sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g;
-   s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF
-s,@SHELL@,$SHELL,;t t
-s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t
-s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t
-s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t
-s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t
-s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t
-s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t
-s,@exec_prefix@,$exec_prefix,;t t
-s,@prefix@,$prefix,;t t
-s,@program_transform_name@,$program_transform_name,;t t
-s,@bindir@,$bindir,;t t
-s,@sbindir@,$sbindir,;t t
-s,@libexecdir@,$libexecdir,;t t
-s,@datadir@,$datadir,;t t
-s,@sysconfdir@,$sysconfdir,;t t
-s,@sharedstatedir@,$sharedstatedir,;t t
-s,@localstatedir@,$localstatedir,;t t
-s,@libdir@,$libdir,;t t
-s,@includedir@,$includedir,;t t
-s,@oldincludedir@,$oldincludedir,;t t
-s,@infodir@,$infodir,;t t
-s,@mandir@,$mandir,;t t
-s,@build_alias@,$build_alias,;t t
-s,@host_alias@,$host_alias,;t t
-s,@target_alias@,$target_alias,;t t
-s,@DEFS@,$DEFS,;t t
-s,@ECHO_C@,$ECHO_C,;t t
-s,@ECHO_N@,$ECHO_N,;t t
-s,@ECHO_T@,$ECHO_T,;t t
-s,@LIBS@,$LIBS,;t t
-s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t
-s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t
-s,@INSTALL_DATA@,$INSTALL_DATA,;t t
-s,@CYGPATH_W@,$CYGPATH_W,;t t
-s,@PACKAGE@,$PACKAGE,;t t
-s,@VERSION@,$VERSION,;t t
-s,@ACLOCAL@,$ACLOCAL,;t t
-s,@AUTOCONF@,$AUTOCONF,;t t
-s,@AUTOMAKE@,$AUTOMAKE,;t t
-s,@AUTOHEADER@,$AUTOHEADER,;t t
-s,@MAKEINFO@,$MAKEINFO,;t t
-s,@AMTAR@,$AMTAR,;t t
-s,@install_sh@,$install_sh,;t t
-s,@STRIP@,$STRIP,;t t
-s,@ac_ct_STRIP@,$ac_ct_STRIP,;t t
-s,@INSTALL_STRIP_PROGRAM@,$INSTALL_STRIP_PROGRAM,;t t
-s,@AWK@,$AWK,;t t
-s,@SET_MAKE@,$SET_MAKE,;t t
-s,@CC@,$CC,;t t
-s,@CFLAGS@,$CFLAGS,;t t
-s,@LDFLAGS@,$LDFLAGS,;t t
-s,@CPPFLAGS@,$CPPFLAGS,;t t
-s,@ac_ct_CC@,$ac_ct_CC,;t t
-s,@EXEEXT@,$EXEEXT,;t t
-s,@OBJEXT@,$OBJEXT,;t t
-s,@DEPDIR@,$DEPDIR,;t t
-s,@am__include@,$am__include,;t t
-s,@am__quote@,$am__quote,;t t
-s,@AMDEP_TRUE@,$AMDEP_TRUE,;t t
-s,@AMDEP_FALSE@,$AMDEP_FALSE,;t t
-s,@AMDEPBACKSLASH@,$AMDEPBACKSLASH,;t t
-s,@CCDEPMODE@,$CCDEPMODE,;t t
-s,@am__fastdepCC_TRUE@,$am__fastdepCC_TRUE,;t t
-s,@am__fastdepCC_FALSE@,$am__fastdepCC_FALSE,;t t
-s,@build@,$build,;t t
-s,@build_cpu@,$build_cpu,;t t
-s,@build_vendor@,$build_vendor,;t t
-s,@build_os@,$build_os,;t t
-s,@host@,$host,;t t
-s,@host_cpu@,$host_cpu,;t t
-s,@host_vendor@,$host_vendor,;t t
-s,@host_os@,$host_os,;t t
-s,@CPP@,$CPP,;t t
-s,@EGREP@,$EGREP,;t t
-s,@LN_S@,$LN_S,;t t
-s,@RANLIB@,$RANLIB,;t t
-s,@ac_ct_RANLIB@,$ac_ct_RANLIB,;t t
-s,@YACC@,$YACC,;t t
-s,@LEX@,$LEX,;t t
-s,@LEXLIB@,$LEXLIB,;t t
-s,@LEX_OUTPUT_ROOT@,$LEX_OUTPUT_ROOT,;t t
-s,@HEADER_RT@,$HEADER_RT,;t t
-s,@P5PLUS_KOPTS@,$P5PLUS_KOPTS,;t t
-s,@LINUX_GCC_KOPTS@,$LINUX_GCC_KOPTS,;t t
-s,@RHCONFIG_SP@,$RHCONFIG_SP,;t t
-s,@RHCONFIG_MP@,$RHCONFIG_MP,;t t
-s,@MPS@,$MPS,;t t
-s,@PTHREAD_LIBS@,$PTHREAD_LIBS,;t t
-s,@USE_UNIX_SOCKETS@,$USE_UNIX_SOCKETS,;t t
-s,@XBSA_CFLAGS@,$XBSA_CFLAGS,;t t
-s,@HAVE_PAM@,$HAVE_PAM,;t t
-s,@BUILD_LOGIN@,$BUILD_LOGIN,;t t
-s,@afsconfdir@,$afsconfdir,;t t
-s,@viceetcdir@,$viceetcdir,;t t
-s,@afskerneldir@,$afskerneldir,;t t
-s,@afssrvbindir@,$afssrvbindir,;t t
-s,@afssrvsbindir@,$afssrvsbindir,;t t
-s,@afssrvlibexecdir@,$afssrvlibexecdir,;t t
-s,@afsdbdir@,$afsdbdir,;t t
-s,@afslogsdir@,$afslogsdir,;t t
-s,@afslocaldir@,$afslocaldir,;t t
-s,@afsbackupdir@,$afsbackupdir,;t t
-s,@afsbosconfigdir@,$afsbosconfigdir,;t t
-s,@AFS_SYSNAME@,$AFS_SYSNAME,;t t
-s,@AFS_PARAM_COMMON@,$AFS_PARAM_COMMON,;t t
-s,@ENABLE_KERNEL_MODULE@,$ENABLE_KERNEL_MODULE,;t t
-s,@LIB_AFSDB@,$LIB_AFSDB,;t t
-s,@LINUX_KERNEL_PATH@,$LINUX_KERNEL_PATH,;t t
-s,@BSD_KERNEL_PATH@,$BSD_KERNEL_PATH,;t t
-s,@BSD_KERNEL_BUILD@,$BSD_KERNEL_BUILD,;t t
-s,@LINUX_VERSION@,$LINUX_VERSION,;t t
-s,@MKAFS_OSTYPE@,$MKAFS_OSTYPE,;t t
-s,@TOP_OBJDIR@,$TOP_OBJDIR,;t t
-s,@TOP_SRCDIR@,$TOP_SRCDIR,;t t
-s,@TOP_INCDIR@,$TOP_INCDIR,;t t
-s,@TOP_LIBDIR@,$TOP_LIBDIR,;t t
-s,@DEST@,$DEST,;t t
-s,@WITH_OBSOLETE@,$WITH_OBSOLETE,;t t
-s,@DARWIN_INFOFILE@,$DARWIN_INFOFILE,;t t
-s,@IRIX_BUILD_IP35@,$IRIX_BUILD_IP35,;t t
-s,@AS@,$AS,;t t
-s,@AR@,$AR,;t t
-s,@MV@,$MV,;t t
-s,@RM@,$RM,;t t
-s,@LD@,$LD,;t t
-s,@CP@,$CP,;t t
-s,@LORDER@,$LORDER,;t t
-s,@XFS_SIZE_CHECK@,$XFS_SIZE_CHECK,;t t
-s,@install_XFS_SIZE_CHECK@,$install_XFS_SIZE_CHECK,;t t
-s,@dest_XFS_SIZE_CHECK@,$dest_XFS_SIZE_CHECK,;t t
-s,@FS_CONV_SOL26@,$FS_CONV_SOL26,;t t
-s,@install_FS_CONV_SOL26@,$install_FS_CONV_SOL26,;t t
-s,@dest_FS_CONV_SOL26@,$dest_FS_CONV_SOL26,;t t
-s,@FS_CONV_OSF40D@,$FS_CONV_OSF40D,;t t
-s,@install_FS_CONV_OSF40D@,$install_FS_CONV_OSF40D,;t t
-s,@dest_FS_CONV_OSF40D@,$dest_FS_CONV_OSF40D,;t t
-s,@CCXPG2@,$CCXPG2,;t t
-s,@CCOBJ@,$CCOBJ,;t t
-s,@AFSD_LIBS@,$AFSD_LIBS,;t t
-s,@AFSD_LDFLAGS@,$AFSD_LDFLAGS,;t t
-s,@AIX64@,$AIX64,;t t
-s,@DBG@,$DBG,;t t
-s,@FSINCLUDES@,$FSINCLUDES,;t t
-s,@KERN_DBG@,$KERN_DBG,;t t
-s,@KERN_OPTMZ@,$KERN_OPTMZ,;t t
-s,@LWP_DBG@,$LWP_DBG,;t t
-s,@LWP_OPTMZ@,$LWP_OPTMZ,;t t
-s,@MT_CC@,$MT_CC,;t t
-s,@MT_CFLAGS@,$MT_CFLAGS,;t t
-s,@MT_LIBS@,$MT_LIBS,;t t
-s,@OPTMZ@,$OPTMZ,;t t
-s,@PAM_CFLAGS@,$PAM_CFLAGS,;t t
-s,@PAM_LIBS@,$PAM_LIBS,;t t
-s,@PINSTALL_LIBS@,$PINSTALL_LIBS,;t t
-s,@REGEX_OBJ@,$REGEX_OBJ,;t t
-s,@SHLIB_CFLAGS@,$SHLIB_CFLAGS,;t t
-s,@SHLIB_LDFLAGS@,$SHLIB_LDFLAGS,;t t
-s,@SHLIB_LINKER@,$SHLIB_LINKER,;t t
-s,@SHLIB_SUFFIX@,$SHLIB_SUFFIX,;t t
-s,@TXLIBS@,$TXLIBS,;t t
-s,@VFSCK_CFLAGS@,$VFSCK_CFLAGS,;t t
-s,@XCFLAGS@,$XCFLAGS,;t t
-s,@XCFLAGS64@,$XCFLAGS64,;t t
-s,@XLDFLAGS@,$XLDFLAGS,;t t
-s,@XLDFLAGS64@,$XLDFLAGS64,;t t
-s,@XLIBELFA@,$XLIBELFA,;t t
-s,@XLIBKVM@,$XLIBKVM,;t t
-s,@XLIBS@,$XLIBS,;t t
-s,@KRB5_CONFIG@,$KRB5_CONFIG,;t t
-s,@BUILD_KRB5@,$BUILD_KRB5,;t t
-s,@KRB5CFLAGS@,$KRB5CFLAGS,;t t
-s,@KRB5LIBS@,$KRB5LIBS,;t t
-s,@HELPER_SPLINT@,$HELPER_SPLINT,;t t
-s,@HELPER_SPLINTCFG@,$HELPER_SPLINTCFG,;t t
-s,@LIBOBJS@,$LIBOBJS,;t t
-s,@LTLIBOBJS@,$LTLIBOBJS,;t t
-CEOF
-
-_ACEOF
-
-  cat >>$CONFIG_STATUS <<\_ACEOF
-  # Split the substitutions into bite-sized pieces for seds with
-  # small command number limits, like on Digital OSF/1 and HP-UX.
-  ac_max_sed_lines=48
-  ac_sed_frag=1 # Number of current file.
-  ac_beg=1 # First line for current file.
-  ac_end=$ac_max_sed_lines # Line after last line for current file.
-  ac_more_lines=:
-  ac_sed_cmds=
-  while $ac_more_lines; do
-    if test $ac_beg -gt 1; then
-      sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
-    else
-      sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
-    fi
-    if test ! -s $tmp/subs.frag; then
-      ac_more_lines=false
-    else
-      # The purpose of the label and of the branching condition is to
-      # speed up the sed processing (if there are no `@' at all, there
-      # is no need to browse any of the substitutions).
-      # These are the two extra sed commands mentioned above.
-      (echo ':t
-  /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
-      if test -z "$ac_sed_cmds"; then
-       ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
-      else
-       ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
-      fi
-      ac_sed_frag=`expr $ac_sed_frag + 1`
-      ac_beg=$ac_end
-      ac_end=`expr $ac_end + $ac_max_sed_lines`
-    fi
-  done
-  if test -z "$ac_sed_cmds"; then
-    ac_sed_cmds=cat
+if test -n "$CONFIG_FILES"; then
+
+_ACEOF
+
+
+
+ac_delim='%!_!# '
+for ac_last_try in false false false false false :; do
+  cat >conf$$subs.sed <<_ACEOF
+SHELL!$SHELL$ac_delim
+PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim
+PACKAGE_NAME!$PACKAGE_NAME$ac_delim
+PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim
+PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim
+PACKAGE_STRING!$PACKAGE_STRING$ac_delim
+PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim
+exec_prefix!$exec_prefix$ac_delim
+prefix!$prefix$ac_delim
+program_transform_name!$program_transform_name$ac_delim
+bindir!$bindir$ac_delim
+sbindir!$sbindir$ac_delim
+libexecdir!$libexecdir$ac_delim
+datarootdir!$datarootdir$ac_delim
+datadir!$datadir$ac_delim
+sysconfdir!$sysconfdir$ac_delim
+sharedstatedir!$sharedstatedir$ac_delim
+localstatedir!$localstatedir$ac_delim
+includedir!$includedir$ac_delim
+oldincludedir!$oldincludedir$ac_delim
+docdir!$docdir$ac_delim
+infodir!$infodir$ac_delim
+htmldir!$htmldir$ac_delim
+dvidir!$dvidir$ac_delim
+pdfdir!$pdfdir$ac_delim
+psdir!$psdir$ac_delim
+libdir!$libdir$ac_delim
+localedir!$localedir$ac_delim
+mandir!$mandir$ac_delim
+DEFS!$DEFS$ac_delim
+ECHO_C!$ECHO_C$ac_delim
+ECHO_N!$ECHO_N$ac_delim
+ECHO_T!$ECHO_T$ac_delim
+LIBS!$LIBS$ac_delim
+build_alias!$build_alias$ac_delim
+host_alias!$host_alias$ac_delim
+target_alias!$target_alias$ac_delim
+INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim
+INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim
+INSTALL_DATA!$INSTALL_DATA$ac_delim
+CYGPATH_W!$CYGPATH_W$ac_delim
+PACKAGE!$PACKAGE$ac_delim
+VERSION!$VERSION$ac_delim
+ACLOCAL!$ACLOCAL$ac_delim
+AUTOCONF!$AUTOCONF$ac_delim
+AUTOMAKE!$AUTOMAKE$ac_delim
+AUTOHEADER!$AUTOHEADER$ac_delim
+MAKEINFO!$MAKEINFO$ac_delim
+install_sh!$install_sh$ac_delim
+STRIP!$STRIP$ac_delim
+INSTALL_STRIP_PROGRAM!$INSTALL_STRIP_PROGRAM$ac_delim
+mkdir_p!$mkdir_p$ac_delim
+AWK!$AWK$ac_delim
+SET_MAKE!$SET_MAKE$ac_delim
+am__leading_dot!$am__leading_dot$ac_delim
+AMTAR!$AMTAR$ac_delim
+am__tar!$am__tar$ac_delim
+am__untar!$am__untar$ac_delim
+MACOS_VERSION!$MACOS_VERSION$ac_delim
+CC!$CC$ac_delim
+CFLAGS!$CFLAGS$ac_delim
+LDFLAGS!$LDFLAGS$ac_delim
+CPPFLAGS!$CPPFLAGS$ac_delim
+ac_ct_CC!$ac_ct_CC$ac_delim
+EXEEXT!$EXEEXT$ac_delim
+OBJEXT!$OBJEXT$ac_delim
+DEPDIR!$DEPDIR$ac_delim
+am__include!$am__include$ac_delim
+am__quote!$am__quote$ac_delim
+AMDEP_TRUE!$AMDEP_TRUE$ac_delim
+AMDEP_FALSE!$AMDEP_FALSE$ac_delim
+AMDEPBACKSLASH!$AMDEPBACKSLASH$ac_delim
+CCDEPMODE!$CCDEPMODE$ac_delim
+am__fastdepCC_TRUE!$am__fastdepCC_TRUE$ac_delim
+am__fastdepCC_FALSE!$am__fastdepCC_FALSE$ac_delim
+build!$build$ac_delim
+build_cpu!$build_cpu$ac_delim
+build_vendor!$build_vendor$ac_delim
+build_os!$build_os$ac_delim
+host!$host$ac_delim
+host_cpu!$host_cpu$ac_delim
+host_vendor!$host_vendor$ac_delim
+host_os!$host_os$ac_delim
+CPP!$CPP$ac_delim
+GREP!$GREP$ac_delim
+EGREP!$EGREP$ac_delim
+LN_S!$LN_S$ac_delim
+RANLIB!$RANLIB$ac_delim
+YACC!$YACC$ac_delim
+YFLAGS!$YFLAGS$ac_delim
+LEX!$LEX$ac_delim
+LEXLIB!$LEXLIB$ac_delim
+LEX_OUTPUT_ROOT!$LEX_OUTPUT_ROOT$ac_delim
+HEADER_RT!$HEADER_RT$ac_delim
+P5PLUS_KOPTS!$P5PLUS_KOPTS$ac_delim
+LINUX_GCC_KOPTS!$LINUX_GCC_KOPTS$ac_delim
+RHCONFIG_SP!$RHCONFIG_SP$ac_delim
+_ACEOF
+
+  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
+    break
+  elif $ac_last_try; then
+    { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
+   { (exit 1); exit 1; }; }
+  else
+    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
-fi # test -n "$CONFIG_FILES"
+done
+
+ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed`
+if test -n "$ac_eof"; then
+  ac_eof=`echo "$ac_eof" | sort -nru | sed 1q`
+  ac_eof=`expr $ac_eof + 1`
+fi
+
+cat >>$CONFIG_STATUS <<_ACEOF
+cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+_ACEOF
+sed '
+s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g
+s/^/s,@/; s/!/@,|#_!!_#|/
+:n
+t n
+s/'"$ac_delim"'$/,g/; t
+s/$/\\/; p
+N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n
+' >>$CONFIG_STATUS <conf$$subs.sed
+rm -f conf$$subs.sed
+cat >>$CONFIG_STATUS <<_ACEOF
+CEOF$ac_eof
+_ACEOF
+
+
+ac_delim='%!_!# '
+for ac_last_try in false false false false false :; do
+  cat >conf$$subs.sed <<_ACEOF
+RHCONFIG_MP!$RHCONFIG_MP$ac_delim
+MPS!$MPS$ac_delim
+PTHREAD_LIBS!$PTHREAD_LIBS$ac_delim
+USE_UNIX_SOCKETS!$USE_UNIX_SOCKETS$ac_delim
+XBSA_CFLAGS!$XBSA_CFLAGS$ac_delim
+HAVE_PAM!$HAVE_PAM$ac_delim
+BUILD_LOGIN!$BUILD_LOGIN$ac_delim
+afsconfdir!$afsconfdir$ac_delim
+viceetcdir!$viceetcdir$ac_delim
+afskerneldir!$afskerneldir$ac_delim
+afssrvbindir!$afssrvbindir$ac_delim
+afssrvsbindir!$afssrvsbindir$ac_delim
+afssrvlibexecdir!$afssrvlibexecdir$ac_delim
+afsdbdir!$afsdbdir$ac_delim
+afslogsdir!$afslogsdir$ac_delim
+afslocaldir!$afslocaldir$ac_delim
+afsbackupdir!$afsbackupdir$ac_delim
+afsbosconfigdir!$afsbosconfigdir$ac_delim
+AFS_SYSNAME!$AFS_SYSNAME$ac_delim
+AFS_PARAM_COMMON!$AFS_PARAM_COMMON$ac_delim
+ENABLE_KERNEL_MODULE!$ENABLE_KERNEL_MODULE$ac_delim
+LIB_AFSDB!$LIB_AFSDB$ac_delim
+LINUX_KERNEL_PATH!$LINUX_KERNEL_PATH$ac_delim
+BSD_KERNEL_PATH!$BSD_KERNEL_PATH$ac_delim
+BSD_KERNEL_BUILD!$BSD_KERNEL_BUILD$ac_delim
+LINUX_VERSION!$LINUX_VERSION$ac_delim
+MKAFS_OSTYPE!$MKAFS_OSTYPE$ac_delim
+TOP_OBJDIR!$TOP_OBJDIR$ac_delim
+TOP_SRCDIR!$TOP_SRCDIR$ac_delim
+TOP_INCDIR!$TOP_INCDIR$ac_delim
+TOP_LIBDIR!$TOP_LIBDIR$ac_delim
+DEST!$DEST$ac_delim
+WITH_OBSOLETE!$WITH_OBSOLETE$ac_delim
+DARWIN_INFOFILE!$DARWIN_INFOFILE$ac_delim
+IRIX_BUILD_IP35!$IRIX_BUILD_IP35$ac_delim
+AS!$AS$ac_delim
+AR!$AR$ac_delim
+MV!$MV$ac_delim
+RM!$RM$ac_delim
+LD!$LD$ac_delim
+CP!$CP$ac_delim
+LORDER!$LORDER$ac_delim
+XFS_SIZE_CHECK!$XFS_SIZE_CHECK$ac_delim
+install_XFS_SIZE_CHECK!$install_XFS_SIZE_CHECK$ac_delim
+dest_XFS_SIZE_CHECK!$dest_XFS_SIZE_CHECK$ac_delim
+FS_CONV_SOL26!$FS_CONV_SOL26$ac_delim
+install_FS_CONV_SOL26!$install_FS_CONV_SOL26$ac_delim
+dest_FS_CONV_SOL26!$dest_FS_CONV_SOL26$ac_delim
+FS_CONV_OSF40D!$FS_CONV_OSF40D$ac_delim
+install_FS_CONV_OSF40D!$install_FS_CONV_OSF40D$ac_delim
+dest_FS_CONV_OSF40D!$dest_FS_CONV_OSF40D$ac_delim
+CCXPG2!$CCXPG2$ac_delim
+CCOBJ!$CCOBJ$ac_delim
+AFSD_LIBS!$AFSD_LIBS$ac_delim
+AFSD_LDFLAGS!$AFSD_LDFLAGS$ac_delim
+AIX64!$AIX64$ac_delim
+DBG!$DBG$ac_delim
+FSINCLUDES!$FSINCLUDES$ac_delim
+KERN_DBG!$KERN_DBG$ac_delim
+KERN_OPTMZ!$KERN_OPTMZ$ac_delim
+LWP_DBG!$LWP_DBG$ac_delim
+LWP_OPTMZ!$LWP_OPTMZ$ac_delim
+MT_CC!$MT_CC$ac_delim
+MT_CFLAGS!$MT_CFLAGS$ac_delim
+MT_LIBS!$MT_LIBS$ac_delim
+OPTMZ!$OPTMZ$ac_delim
+PAM_CFLAGS!$PAM_CFLAGS$ac_delim
+PAM_LIBS!$PAM_LIBS$ac_delim
+PINSTALL_LIBS!$PINSTALL_LIBS$ac_delim
+REGEX_OBJ!$REGEX_OBJ$ac_delim
+SHLIB_CFLAGS!$SHLIB_CFLAGS$ac_delim
+SHLIB_LDFLAGS!$SHLIB_LDFLAGS$ac_delim
+SHLIB_LINKER!$SHLIB_LINKER$ac_delim
+SHLIB_SUFFIX!$SHLIB_SUFFIX$ac_delim
+TXLIBS!$TXLIBS$ac_delim
+VFSCK_CFLAGS!$VFSCK_CFLAGS$ac_delim
+XCFLAGS!$XCFLAGS$ac_delim
+XCFLAGS64!$XCFLAGS64$ac_delim
+XLDFLAGS!$XLDFLAGS$ac_delim
+XLDFLAGS64!$XLDFLAGS64$ac_delim
+XLIBELFA!$XLIBELFA$ac_delim
+XLIBKVM!$XLIBKVM$ac_delim
+XLIBS!$XLIBS$ac_delim
+KRB5_CONFIG!$KRB5_CONFIG$ac_delim
+BUILD_KRB5!$BUILD_KRB5$ac_delim
+KRB5CFLAGS!$KRB5CFLAGS$ac_delim
+KRB5LIBS!$KRB5LIBS$ac_delim
+HELPER_SPLINT!$HELPER_SPLINT$ac_delim
+HELPER_SPLINTCFG!$HELPER_SPLINTCFG$ac_delim
+LIBOBJS!$LIBOBJS$ac_delim
+LTLIBOBJS!$LTLIBOBJS$ac_delim
+_ACEOF
+
+  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 91; then
+    break
+  elif $ac_last_try; then
+    { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
+   { (exit 1); exit 1; }; }
+  else
+    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+  fi
+done
+
+ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed`
+if test -n "$ac_eof"; then
+  ac_eof=`echo "$ac_eof" | sort -nru | sed 1q`
+  ac_eof=`expr $ac_eof + 1`
+fi
 
+cat >>$CONFIG_STATUS <<_ACEOF
+cat >"\$tmp/subs-2.sed" <<\CEOF$ac_eof
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end
+_ACEOF
+sed '
+s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g
+s/^/s,@/; s/!/@,|#_!!_#|/
+:n
+t n
+s/'"$ac_delim"'$/,g/; t
+s/$/\\/; p
+N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n
+' >>$CONFIG_STATUS <conf$$subs.sed
+rm -f conf$$subs.sed
+cat >>$CONFIG_STATUS <<_ACEOF
+:end
+s/|#_!!_#|//g
+CEOF$ac_eof
 _ACEOF
+
+
+# VPATH may cause trouble with some makes, so we remove $(srcdir),
+# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+  ac_vpsub='/^[         ]*VPATH[        ]*=/{
+s/:*\$(srcdir):*/:/
+s/:*\${srcdir}:*/:/
+s/:*@srcdir@:*/:/
+s/^\([^=]*=[    ]*\):*/\1/
+s/:*$//
+s/^[^=]*=[      ]*$//
+}'
+fi
+
 cat >>$CONFIG_STATUS <<\_ACEOF
-for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
-  # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
-  case $ac_file in
-  - | *:- | *:-:* ) # input from stdin
-        cat >$tmp/stdin
-        ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
-        ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
-  *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
-        ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
-  * )   ac_file_in=$ac_file.in ;;
+fi # test -n "$CONFIG_FILES"
+
+
+for ac_tag in  :F $CONFIG_FILES  :H $CONFIG_HEADERS    :C $CONFIG_COMMANDS
+do
+  case $ac_tag in
+  :[FHLC]) ac_mode=$ac_tag; continue;;
+  esac
+  case $ac_mode$ac_tag in
+  :[FHL]*:*);;
+  :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5
+echo "$as_me: error: Invalid tag $ac_tag." >&2;}
+   { (exit 1); exit 1; }; };;
+  :[FH]-) ac_tag=-:-;;
+  :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
+  esac
+  ac_save_IFS=$IFS
+  IFS=:
+  set x $ac_tag
+  IFS=$ac_save_IFS
+  shift
+  ac_file=$1
+  shift
+
+  case $ac_mode in
+  :L) ac_source=$1;;
+  :[FH])
+    ac_file_inputs=
+    for ac_f
+    do
+      case $ac_f in
+      -) ac_f="$tmp/stdin";;
+      *) # Look for the file first in the build tree, then in the source tree
+        # (if the path is not absolute).  The absolute path cannot be DOS-style,
+        # because $ac_f cannot contain `:'.
+        test -f "$ac_f" ||
+          case $ac_f in
+          [\\/$]*) false;;
+          *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
+          esac ||
+          { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5
+echo "$as_me: error: cannot find input file: $ac_f" >&2;}
+   { (exit 1); exit 1; }; };;
+      esac
+      ac_file_inputs="$ac_file_inputs $ac_f"
+    done
+
+    # Let's still pretend it is `configure' which instantiates (i.e., don't
+    # use $as_me), people would be surprised to read:
+    #    /* config.h.  Generated by config.status.  */
+    configure_input="Generated from "`IFS=:
+         echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure."
+    if test x"$ac_file" != x-; then
+      configure_input="$ac_file.  $configure_input"
+      { echo "$as_me:$LINENO: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+    fi
+
+    case $ac_tag in
+    *:-:* | *:-) cat >"$tmp/stdin";;
+    esac
+    ;;
   esac
 
-  # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
-  ac_dir=`(dirname "$ac_file") 2>/dev/null ||
+  ac_dir=`$as_dirname -- "$ac_file" ||
 $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-         X"$ac_file" : 'X\(//\)[^/]' \| \
-         X"$ac_file" : 'X\(//\)$' \| \
-         X"$ac_file" : 'X\(/\)' \| \
-         .     : '\(.\)' 2>/dev/null ||
+        X"$ac_file" : 'X\(//\)[^/]' \| \
+        X"$ac_file" : 'X\(//\)$' \| \
+        X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
 echo X"$ac_file" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
-         /^X\(\/\/\)[^/].*/{ s//\1/; q; }
-         /^X\(\/\/\)$/{ s//\1/; q; }
-         /^X\(\/\).*/{ s//\1/; q; }
-         s/.*/./; q'`
-  { if $as_mkdir_p; then
-    mkdir -p "$ac_dir"
-  else
-    as_dir="$ac_dir"
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)[^/].*/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\).*/{
+           s//\1/
+           q
+         }
+         s/.*/./; q'`
+  { as_dir="$ac_dir"
+  case $as_dir in #(
+  -*) as_dir=./$as_dir;;
+  esac
+  test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
     as_dirs=
-    while test ! -d "$as_dir"; do
-      as_dirs="$as_dir $as_dirs"
-      as_dir=`(dirname "$as_dir") 2>/dev/null ||
+    while :; do
+      case $as_dir in #(
+      *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #(
+      *) as_qdir=$as_dir;;
+      esac
+      as_dirs="'$as_qdir' $as_dirs"
+      as_dir=`$as_dirname -- "$as_dir" ||
 $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-         X"$as_dir" : 'X\(//\)[^/]' \| \
-         X"$as_dir" : 'X\(//\)$' \| \
-         X"$as_dir" : 'X\(/\)' \| \
-         .     : '\(.\)' 2>/dev/null ||
+        X"$as_dir" : 'X\(//\)[^/]' \| \
+        X"$as_dir" : 'X\(//\)$' \| \
+        X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
 echo X"$as_dir" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
-         /^X\(\/\/\)[^/].*/{ s//\1/; q; }
-         /^X\(\/\/\)$/{ s//\1/; q; }
-         /^X\(\/\).*/{ s//\1/; q; }
-         s/.*/./; q'`
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)[^/].*/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\).*/{
+           s//\1/
+           q
+         }
+         s/.*/./; q'`
+      test -d "$as_dir" && break
     done
-    test ! -n "$as_dirs" || mkdir $as_dirs
-  fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
-echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
+    test -z "$as_dirs" || eval "mkdir $as_dirs"
+  } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
+echo "$as_me: error: cannot create directory $as_dir" >&2;}
    { (exit 1); exit 1; }; }; }
-
   ac_builddir=.
 
-if test "$ac_dir" != .; then
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
   ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
-  # A "../" for each directory in $ac_dir_suffix.
-  ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
-else
-  ac_dir_suffix= ac_top_builddir=
-fi
+  # A ".." for each directory in $ac_dir_suffix.
+  ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
+  case $ac_top_builddir_sub in
+  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+  esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
 
 case $srcdir in
-  .)  # No --srcdir option.  We are building in place.
+  .)  # We are building in place.
     ac_srcdir=.
-    if test -z "$ac_top_builddir"; then
-       ac_top_srcdir=.
-    else
-       ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
-    fi ;;
-  [\\/]* | ?:[\\/]* )  # Absolute path.
+    ac_top_srcdir=$ac_top_builddir_sub
+    ac_abs_top_srcdir=$ac_pwd ;;
+  [\\/]* | ?:[\\/]* )  # Absolute name.
     ac_srcdir=$srcdir$ac_dir_suffix;
-    ac_top_srcdir=$srcdir ;;
-  *) # Relative path.
-    ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
-    ac_top_srcdir=$ac_top_builddir$srcdir ;;
+    ac_top_srcdir=$srcdir
+    ac_abs_top_srcdir=$srcdir ;;
+  *) # Relative name.
+    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+    ac_top_srcdir=$ac_top_build_prefix$srcdir
+    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
 esac
-# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be
-# absolute.
-ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd`
-ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd`
-ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd`
-ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd`
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
 
 
+  case $ac_mode in
+  :F)
+  #
+  # CONFIG_FILE
+  #
+
   case $INSTALL in
   [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
-  *) ac_INSTALL=$ac_top_builddir$INSTALL ;;
+  *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
   esac
+_ACEOF
 
-  if test x"$ac_file" != x-; then
-    { echo "$as_me:$LINENO: creating $ac_file" >&5
-echo "$as_me: creating $ac_file" >&6;}
-    rm -f "$ac_file"
-  fi
-  # Let's still pretend it is `configure' which instantiates (i.e., don't
-  # use $as_me), people would be surprised to read:
-  #    /* config.h.  Generated by config.status.  */
-  if test x"$ac_file" = x-; then
-    configure_input=
-  else
-    configure_input="$ac_file.  "
-  fi
-  configure_input=$configure_input"Generated from `echo $ac_file_in |
-                                     sed 's,.*/,,'` by configure."
-
-  # First look for the input files in the build tree, otherwise in the
-  # src tree.
-  ac_file_inputs=`IFS=:
-    for f in $ac_file_in; do
-      case $f in
-      -) echo $tmp/stdin ;;
-      [\\/$]*)
-         # Absolute (can't be DOS-style, as IFS=:)
-         test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
-   { (exit 1); exit 1; }; }
-         echo $f;;
-      *) # Relative
-         if test -f "$f"; then
-           # Build tree
-           echo $f
-         elif test -f "$srcdir/$f"; then
-           # Source tree
-           echo $srcdir/$f
-         else
-           # /dev/null tree
-           { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
-   { (exit 1); exit 1; }; }
-         fi;;
-      esac
-    done` || { (exit 1); exit 1; }
+cat >>$CONFIG_STATUS <<\_ACEOF
+# If the template does not know about datarootdir, expand it.
+# FIXME: This hack should be removed a few years after 2.60.
+ac_datarootdir_hack=; ac_datarootdir_seen=
+
+case `sed -n '/datarootdir/ {
+  p
+  q
+}
+/@datadir@/p
+/@docdir@/p
+/@infodir@/p
+/@localedir@/p
+/@mandir@/p
+' $ac_file_inputs` in
+*datarootdir*) ac_datarootdir_seen=yes;;
+*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
+  { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
+echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+  ac_datarootdir_hack='
+  s&@datadir@&$datadir&g
+  s&@docdir@&$docdir&g
+  s&@infodir@&$infodir&g
+  s&@localedir@&$localedir&g
+  s&@mandir@&$mandir&g
+    s&\\\${datarootdir}&$datarootdir&g' ;;
+esac
 _ACEOF
+
+# Neutralize VPATH when `$srcdir' = `.'.
+# Shell code in configure.ac might set extrasub.
+# FIXME: do we really want to maintain this feature?
 cat >>$CONFIG_STATUS <<_ACEOF
   sed "$ac_vpsub
 $extrasub
@@ -19272,319 +24404,173 @@ _ACEOF
 cat >>$CONFIG_STATUS <<\_ACEOF
 :t
 /@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s,@configure_input@,$configure_input,;t t
-s,@srcdir@,$ac_srcdir,;t t
-s,@abs_srcdir@,$ac_abs_srcdir,;t t
-s,@top_srcdir@,$ac_top_srcdir,;t t
-s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t
-s,@builddir@,$ac_builddir,;t t
-s,@abs_builddir@,$ac_abs_builddir,;t t
-s,@top_builddir@,$ac_top_builddir,;t t
-s,@abs_top_builddir@,$ac_abs_top_builddir,;t t
-s,@INSTALL@,$ac_INSTALL,;t t
-" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
-  rm -f $tmp/stdin
-  if test x"$ac_file" != x-; then
-    mv $tmp/out $ac_file
-  else
-    cat $tmp/out
-    rm -f $tmp/out
-  fi
-
-done
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-
-#
-# CONFIG_HEADER section.
-#
-
-# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
-# NAME is the cpp macro being defined and VALUE is the value it is being given.
-#
-# ac_d sets the value in "#define NAME VALUE" lines.
-ac_dA='s,^\([  ]*\)#\([        ]*define[       ][      ]*\)'
-ac_dB='[       ].*$,\1#\2'
-ac_dC=' '
-ac_dD=',;t'
-# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
-ac_uA='s,^\([  ]*\)#\([        ]*\)undef\([    ][      ]*\)'
-ac_uB='$,\1#\2define\3'
-ac_uC=' '
-ac_uD=',;t'
-
-for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue
-  # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+s&@configure_input@&$configure_input&;t t
+s&@top_builddir@&$ac_top_builddir_sub&;t t
+s&@srcdir@&$ac_srcdir&;t t
+s&@abs_srcdir@&$ac_abs_srcdir&;t t
+s&@top_srcdir@&$ac_top_srcdir&;t t
+s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
+s&@builddir@&$ac_builddir&;t t
+s&@abs_builddir@&$ac_abs_builddir&;t t
+s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
+s&@INSTALL@&$ac_INSTALL&;t t
+$ac_datarootdir_hack
+" $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" >$tmp/out
+
+test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
+  { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
+  { ac_out=`sed -n '/^[         ]*datarootdir[  ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
+  { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined.  Please make sure it is defined." >&5
+echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined.  Please make sure it is defined." >&2;}
+
+  rm -f "$tmp/stdin"
   case $ac_file in
-  - | *:- | *:-:* ) # input from stdin
-        cat >$tmp/stdin
-        ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
-        ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
-  *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
-        ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
-  * )   ac_file_in=$ac_file.in ;;
+  -) cat "$tmp/out"; rm -f "$tmp/out";;
+  *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;;
   esac
-
-  test x"$ac_file" != x- && { echo "$as_me:$LINENO: creating $ac_file" >&5
-echo "$as_me: creating $ac_file" >&6;}
-
-  # First look for the input files in the build tree, otherwise in the
-  # src tree.
-  ac_file_inputs=`IFS=:
-    for f in $ac_file_in; do
-      case $f in
-      -) echo $tmp/stdin ;;
-      [\\/$]*)
-         # Absolute (can't be DOS-style, as IFS=:)
-         test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
-   { (exit 1); exit 1; }; }
-         echo $f;;
-      *) # Relative
-         if test -f "$f"; then
-           # Build tree
-           echo $f
-         elif test -f "$srcdir/$f"; then
-           # Source tree
-           echo $srcdir/$f
-         else
-           # /dev/null tree
-           { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
-   { (exit 1); exit 1; }; }
-         fi;;
-      esac
-    done` || { (exit 1); exit 1; }
-  # Remove the trailing spaces.
-  sed 's/[     ]*$//' $ac_file_inputs >$tmp/in
-
-_ACEOF
-
-# Transform confdefs.h into two sed scripts, `conftest.defines' and
-# `conftest.undefs', that substitutes the proper values into
-# config.h.in to produce config.h.  The first handles `#define'
-# templates, and the second `#undef' templates.
-# And first: Protect against being on the right side of a sed subst in
-# config.status.  Protect against being in an unquoted here document
-# in config.status.
-rm -f conftest.defines conftest.undefs
-# Using a here document instead of a string reduces the quoting nightmare.
-# Putting comments in sed scripts is not portable.
-#
-# `end' is used to avoid that the second main sed command (meant for
-# 0-ary CPP macros) applies to n-ary macro definitions.
-# See the Autoconf documentation for `clear'.
-cat >confdef2sed.sed <<\_ACEOF
-s/[\\&,]/\\&/g
-s,[\\$`],\\&,g
-t clear
-: clear
-s,^[   ]*#[    ]*define[       ][      ]*\([^  (][^    (]*\)\(([^)]*)\)[       ]*\(.*\)$,${ac_dA}\1${ac_dB}\1\2${ac_dC}\3${ac_dD},gp
-t end
-s,^[   ]*#[    ]*define[       ][      ]*\([^  ][^     ]*\)[   ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp
-: end
-_ACEOF
-# If some macros were called several times there might be several times
-# the same #defines, which is useless.  Nevertheless, we may not want to
-# sort them, since we want the *last* AC-DEFINE to be honored.
-uniq confdefs.h | sed -n -f confdef2sed.sed >conftest.defines
-sed 's/ac_d/ac_u/g' conftest.defines >conftest.undefs
-rm -f confdef2sed.sed
-
-# This sed command replaces #undef with comments.  This is necessary, for
+ ;;
+  :H)
+  #
+  # CONFIG_HEADER
+  #
+_ACEOF
+
+# Transform confdefs.h into a sed script `conftest.defines', that
+# substitutes the proper values into config.h.in to produce config.h.
+rm -f conftest.defines conftest.tail
+# First, append a space to every undef/define line, to ease matching.
+echo 's/$/ /' >conftest.defines
+# Then, protect against being on the right side of a sed subst, or in
+# an unquoted here document, in config.status.  If some macros were
+# called several times there might be several #defines for the same
+# symbol, which is useless.  But do not sort them, since the last
+# AC_DEFINE must be honored.
+ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
+# These sed commands are passed to sed as "A NAME B PARAMS C VALUE D", where
+# NAME is the cpp macro being defined, VALUE is the value it is being given.
+# PARAMS is the parameter list in the macro definition--in most cases, it's
+# just an empty string.
+ac_dA='s,^\\([  #]*\\)[^        ]*\\([  ]*'
+ac_dB='\\)[     (].*,\\1define\\2'
+ac_dC=' '
+ac_dD=' ,'
+
+uniq confdefs.h |
+  sed -n '
+       t rset
+       :rset
+       s/^[     ]*#[    ]*define[       ][      ]*//
+       t ok
+       d
+       :ok
+       s/[\\&,]/\\&/g
+       s/^\('"$ac_word_re"'\)\(([^()]*)\)[      ]*\(.*\)/ '"$ac_dA"'\1'"$ac_dB"'\2'"${ac_dC}"'\3'"$ac_dD"'/p
+       s/^\('"$ac_word_re"'\)[  ]*\(.*\)/'"$ac_dA"'\1'"$ac_dB$ac_dC"'\2'"$ac_dD"'/p
+  ' >>conftest.defines
+
+# Remove the space that was appended to ease matching.
+# Then replace #undef with comments.  This is necessary, for
 # example, in the case of _POSIX_SOURCE, which is predefined and required
 # on some systems where configure will not decide to define it.
-cat >>conftest.undefs <<\_ACEOF
-s,^[   ]*#[    ]*undef[        ][      ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */,
-_ACEOF
-
-# Break up conftest.defines because some shells have a limit on the size
-# of here documents, and old seds have small limits too (100 cmds).
-echo '  # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS
-echo '  if grep "^[    ]*#[    ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS
-echo '  # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS
-echo '  :' >>$CONFIG_STATUS
-rm -f conftest.tail
-while grep . conftest.defines >/dev/null
+# (The regexp can be short, since the line contains either #define or #undef.)
+echo 's/ $//
+s,^[    #]*u.*,/* & */,' >>conftest.defines
+
+# Break up conftest.defines:
+ac_max_sed_lines=50
+
+# First sed command is:         sed -f defines.sed $ac_file_inputs >"$tmp/out1"
+# Second one is:        sed -f defines.sed "$tmp/out1" >"$tmp/out2"
+# Third one will be:    sed -f defines.sed "$tmp/out2" >"$tmp/out1"
+# et cetera.
+ac_in='$ac_file_inputs'
+ac_out='"$tmp/out1"'
+ac_nxt='"$tmp/out2"'
+
+while :
 do
-  # Write a limited-size here document to $tmp/defines.sed.
-  echo '  cat >$tmp/defines.sed <<CEOF' >>$CONFIG_STATUS
-  # Speed up: don't consider the non `#define' lines.
-  echo '/^[    ]*#[    ]*define/!b' >>$CONFIG_STATUS
-  # Work around the forget-to-reset-the-flag bug.
-  echo 't clr' >>$CONFIG_STATUS
-  echo ': clr' >>$CONFIG_STATUS
-  sed ${ac_max_here_lines}q conftest.defines >>$CONFIG_STATUS
+  # Write a here document:
+    cat >>$CONFIG_STATUS <<_ACEOF
+    # First, check the format of the line:
+    cat >"\$tmp/defines.sed" <<\\CEOF
+/^[     ]*#[    ]*undef[        ][      ]*$ac_word_re[  ]*\$/b def
+/^[     ]*#[    ]*define[       ][      ]*$ac_word_re[(         ]/b def
+b
+:def
+_ACEOF
+  sed ${ac_max_sed_lines}q conftest.defines >>$CONFIG_STATUS
   echo 'CEOF
-  sed -f $tmp/defines.sed $tmp/in >$tmp/out
-  rm -f $tmp/in
-  mv $tmp/out $tmp/in
-' >>$CONFIG_STATUS
-  sed 1,${ac_max_here_lines}d conftest.defines >conftest.tail
+    sed -f "$tmp/defines.sed"' "$ac_in >$ac_out" >>$CONFIG_STATUS
+  ac_in=$ac_out; ac_out=$ac_nxt; ac_nxt=$ac_in
+  sed 1,${ac_max_sed_lines}d conftest.defines >conftest.tail
+  grep . conftest.tail >/dev/null || break
   rm -f conftest.defines
   mv conftest.tail conftest.defines
 done
-rm -f conftest.defines
-echo '  fi # grep' >>$CONFIG_STATUS
-echo >>$CONFIG_STATUS
-
-# Break up conftest.undefs because some shells have a limit on the size
-# of here documents, and old seds have small limits too (100 cmds).
-echo '  # Handle all the #undef templates' >>$CONFIG_STATUS
-rm -f conftest.tail
-while grep . conftest.undefs >/dev/null
-do
-  # Write a limited-size here document to $tmp/undefs.sed.
-  echo '  cat >$tmp/undefs.sed <<CEOF' >>$CONFIG_STATUS
-  # Speed up: don't consider the non `#undef'
-  echo '/^[    ]*#[    ]*undef/!b' >>$CONFIG_STATUS
-  # Work around the forget-to-reset-the-flag bug.
-  echo 't clr' >>$CONFIG_STATUS
-  echo ': clr' >>$CONFIG_STATUS
-  sed ${ac_max_here_lines}q conftest.undefs >>$CONFIG_STATUS
-  echo 'CEOF
-  sed -f $tmp/undefs.sed $tmp/in >$tmp/out
-  rm -f $tmp/in
-  mv $tmp/out $tmp/in
-' >>$CONFIG_STATUS
-  sed 1,${ac_max_here_lines}d conftest.undefs >conftest.tail
-  rm -f conftest.undefs
-  mv conftest.tail conftest.undefs
-done
-rm -f conftest.undefs
+rm -f conftest.defines conftest.tail
 
+echo "ac_result=$ac_in" >>$CONFIG_STATUS
 cat >>$CONFIG_STATUS <<\_ACEOF
-  # Let's still pretend it is `configure' which instantiates (i.e., don't
-  # use $as_me), people would be surprised to read:
-  #    /* config.h.  Generated by config.status.  */
-  if test x"$ac_file" = x-; then
-    echo "/* Generated by configure.  */" >$tmp/config.h
-  else
-    echo "/* $ac_file.  Generated by configure.  */" >$tmp/config.h
-  fi
-  cat $tmp/in >>$tmp/config.h
-  rm -f $tmp/in
   if test x"$ac_file" != x-; then
-    if diff $ac_file $tmp/config.h >/dev/null 2>&1; then
+    echo "/* $configure_input  */" >"$tmp/config.h"
+    cat "$ac_result" >>"$tmp/config.h"
+    if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then
       { echo "$as_me:$LINENO: $ac_file is unchanged" >&5
 echo "$as_me: $ac_file is unchanged" >&6;}
     else
-      ac_dir=`(dirname "$ac_file") 2>/dev/null ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-         X"$ac_file" : 'X\(//\)[^/]' \| \
-         X"$ac_file" : 'X\(//\)$' \| \
-         X"$ac_file" : 'X\(/\)' \| \
-         .     : '\(.\)' 2>/dev/null ||
-echo X"$ac_file" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
-         /^X\(\/\/\)[^/].*/{ s//\1/; q; }
-         /^X\(\/\/\)$/{ s//\1/; q; }
-         /^X\(\/\).*/{ s//\1/; q; }
-         s/.*/./; q'`
-      { if $as_mkdir_p; then
-    mkdir -p "$ac_dir"
-  else
-    as_dir="$ac_dir"
-    as_dirs=
-    while test ! -d "$as_dir"; do
-      as_dirs="$as_dir $as_dirs"
-      as_dir=`(dirname "$as_dir") 2>/dev/null ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-         X"$as_dir" : 'X\(//\)[^/]' \| \
-         X"$as_dir" : 'X\(//\)$' \| \
-         X"$as_dir" : 'X\(/\)' \| \
-         .     : '\(.\)' 2>/dev/null ||
-echo X"$as_dir" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
-         /^X\(\/\/\)[^/].*/{ s//\1/; q; }
-         /^X\(\/\/\)$/{ s//\1/; q; }
-         /^X\(\/\).*/{ s//\1/; q; }
-         s/.*/./; q'`
-    done
-    test ! -n "$as_dirs" || mkdir $as_dirs
-  fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
-echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
-   { (exit 1); exit 1; }; }; }
-
       rm -f $ac_file
-      mv $tmp/config.h $ac_file
+      mv "$tmp/config.h" $ac_file
     fi
   else
-    cat $tmp/config.h
-    rm -f $tmp/config.h
+    echo "/* $configure_input  */"
+    cat "$ac_result"
   fi
-_am_stamp_count=`expr ${_am_stamp_count-0} + 1`
-echo "timestamp for $ac_file" >`(dirname $ac_file) 2>/dev/null ||
+  rm -f "$tmp/out12"
+# Compute $ac_file's index in $config_headers.
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+  case $_am_header in
+    $ac_file | $ac_file:* )
+      break ;;
+    * )
+      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+  esac
+done
+echo "timestamp for $ac_file" >`$as_dirname -- $ac_file ||
 $as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-         X$ac_file : 'X\(//\)[^/]' \| \
-         X$ac_file : 'X\(//\)$' \| \
-         X$ac_file : 'X\(/\)' \| \
-         .     : '\(.\)' 2>/dev/null ||
+        X$ac_file : 'X\(//\)[^/]' \| \
+        X$ac_file : 'X\(//\)$' \| \
+        X$ac_file : 'X\(/\)' \| . 2>/dev/null ||
 echo X$ac_file |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
-         /^X\(\/\/\)[^/].*/{ s//\1/; q; }
-         /^X\(\/\/\)$/{ s//\1/; q; }
-         /^X\(\/\).*/{ s//\1/; q; }
-         s/.*/./; q'`/stamp-h$_am_stamp_count
-done
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)[^/].*/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\).*/{
+           s//\1/
+           q
+         }
+         s/.*/./; q'`/stamp-h$_am_stamp_count
+ ;;
 
-#
-# CONFIG_COMMANDS section.
-#
-for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue
-  ac_dest=`echo "$ac_file" | sed 's,:.*,,'`
-  ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'`
-  ac_dir=`(dirname "$ac_dest") 2>/dev/null ||
-$as_expr X"$ac_dest" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-         X"$ac_dest" : 'X\(//\)[^/]' \| \
-         X"$ac_dest" : 'X\(//\)$' \| \
-         X"$ac_dest" : 'X\(/\)' \| \
-         .     : '\(.\)' 2>/dev/null ||
-echo X"$ac_dest" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
-         /^X\(\/\/\)[^/].*/{ s//\1/; q; }
-         /^X\(\/\/\)$/{ s//\1/; q; }
-         /^X\(\/\).*/{ s//\1/; q; }
-         s/.*/./; q'`
-  ac_builddir=.
+  :C)  { echo "$as_me:$LINENO: executing $ac_file commands" >&5
+echo "$as_me: executing $ac_file commands" >&6;}
+ ;;
+  esac
 
-if test "$ac_dir" != .; then
-  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
-  # A "../" for each directory in $ac_dir_suffix.
-  ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
-else
-  ac_dir_suffix= ac_top_builddir=
-fi
 
-case $srcdir in
-  .)  # No --srcdir option.  We are building in place.
-    ac_srcdir=.
-    if test -z "$ac_top_builddir"; then
-       ac_top_srcdir=.
-    else
-       ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
-    fi ;;
-  [\\/]* | ?:[\\/]* )  # Absolute path.
-    ac_srcdir=$srcdir$ac_dir_suffix;
-    ac_top_srcdir=$srcdir ;;
-  *) # Relative path.
-    ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
-    ac_top_srcdir=$ac_top_builddir$srcdir ;;
-esac
-# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be
-# absolute.
-ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd`
-ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd`
-ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd`
-ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd`
-
-
-  { echo "$as_me:$LINENO: executing $ac_dest commands" >&5
-echo "$as_me: executing $ac_dest commands" >&6;}
-  case $ac_dest in
-    depfiles ) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do
+  case $ac_file$ac_mode in
+    "depfiles":C) test x"$AMDEP_TRUE" != x"" || 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.
@@ -19594,92 +24580,123 @@ echo "$as_me: executing $ac_dest commands" >&6;}
   # 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=`(dirname "$mf") 2>/dev/null ||
+    dirpart=`$as_dirname -- "$mf" ||
 $as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-         X"$mf" : 'X\(//\)[^/]' \| \
-         X"$mf" : 'X\(//\)$' \| \
-         X"$mf" : 'X\(/\)' \| \
-         .     : '\(.\)' 2>/dev/null ||
+        X"$mf" : 'X\(//\)[^/]' \| \
+        X"$mf" : 'X\(//\)$' \| \
+        X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
 echo X"$mf" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
-         /^X\(\/\/\)[^/].*/{ s//\1/; q; }
-         /^X\(\/\/\)$/{ s//\1/; q; }
-         /^X\(\/\).*/{ s//\1/; q; }
-         s/.*/./; q'`
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)[^/].*/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\).*/{
+           s//\1/
+           q
+         }
+         s/.*/./; q'`
   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"`
+  # Extract the definition of DEPDIR, am__include, and am__quote
+  # from the Makefile without running `make'.
+  DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
   test -z "$DEPDIR" && continue
+  am__include=`sed -n 's/^am__include = //p' < "$mf"`
+  test -z "am__include" && continue
+  am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
   # When using ansi2knr, U may be empty or an underscore; expand it
-  U=`sed -n -e '/^U = / s///p' < "$mf"`
-  test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR"
-  # We invoke sed twice because it is the simplest approach to
-  # changing $(DEPDIR) to its actual value in the expansion.
-  for file in `sed -n -e '
-    /^DEP_FILES = .*\\\\$/ {
-      s/^DEP_FILES = //
-      :loop
-       s/\\\\$//
-       p
-       n
-       /\\\\$/ b loop
-      p
-    }
-    /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \
+  U=`sed -n 's/^U = //p' < "$mf"`
+  # Find all dependency output files, they are included files with
+  # $(DEPDIR) in their names.  We invoke sed twice because it is the
+  # simplest approach to changing $(DEPDIR) to its actual value in the
+  # expansion.
+  for file in `sed -n "
+    s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
        sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
     # Make sure the directory exists.
     test -f "$dirpart/$file" && continue
-    fdir=`(dirname "$file") 2>/dev/null ||
+    fdir=`$as_dirname -- "$file" ||
 $as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-         X"$file" : 'X\(//\)[^/]' \| \
-         X"$file" : 'X\(//\)$' \| \
-         X"$file" : 'X\(/\)' \| \
-         .     : '\(.\)' 2>/dev/null ||
+        X"$file" : 'X\(//\)[^/]' \| \
+        X"$file" : 'X\(//\)$' \| \
+        X"$file" : 'X\(/\)' \| . 2>/dev/null ||
 echo X"$file" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
-         /^X\(\/\/\)[^/].*/{ s//\1/; q; }
-         /^X\(\/\/\)$/{ s//\1/; q; }
-         /^X\(\/\).*/{ s//\1/; q; }
-         s/.*/./; q'`
-    { if $as_mkdir_p; then
-    mkdir -p $dirpart/$fdir
-  else
-    as_dir=$dirpart/$fdir
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)[^/].*/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\).*/{
+           s//\1/
+           q
+         }
+         s/.*/./; q'`
+    { as_dir=$dirpart/$fdir
+  case $as_dir in #(
+  -*) as_dir=./$as_dir;;
+  esac
+  test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
     as_dirs=
-    while test ! -d "$as_dir"; do
-      as_dirs="$as_dir $as_dirs"
-      as_dir=`(dirname "$as_dir") 2>/dev/null ||
+    while :; do
+      case $as_dir in #(
+      *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #(
+      *) as_qdir=$as_dir;;
+      esac
+      as_dirs="'$as_qdir' $as_dirs"
+      as_dir=`$as_dirname -- "$as_dir" ||
 $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-         X"$as_dir" : 'X\(//\)[^/]' \| \
-         X"$as_dir" : 'X\(//\)$' \| \
-         X"$as_dir" : 'X\(/\)' \| \
-         .     : '\(.\)' 2>/dev/null ||
+        X"$as_dir" : 'X\(//\)[^/]' \| \
+        X"$as_dir" : 'X\(//\)$' \| \
+        X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
 echo X"$as_dir" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
-         /^X\(\/\/\)[^/].*/{ s//\1/; q; }
-         /^X\(\/\/\)$/{ s//\1/; q; }
-         /^X\(\/\).*/{ s//\1/; q; }
-         s/.*/./; q'`
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)[^/].*/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\).*/{
+           s//\1/
+           q
+         }
+         s/.*/./; q'`
+      test -d "$as_dir" && break
     done
-    test ! -n "$as_dirs" || mkdir $as_dirs
-  fi || { { echo "$as_me:$LINENO: error: cannot create directory $dirpart/$fdir" >&5
-echo "$as_me: error: cannot create directory $dirpart/$fdir" >&2;}
+    test -z "$as_dirs" || eval "mkdir $as_dirs"
+  } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
+echo "$as_me: error: cannot create directory $as_dir" >&2;}
    { (exit 1); exit 1; }; }; }
-
     # echo "creating $dirpart/$file"
     echo '# dummy' > "$dirpart/$file"
   done
 done
  ;;
+
   esac
-done
-_ACEOF
+done # for ac_tag
 
-cat >>$CONFIG_STATUS <<\_ACEOF
 
 { (exit 0); exit 0; }
 _ACEOF
index 5a310e3e28f5fd480b7e176e0c2bdedd9eb95bf4..141f0003a98ff622297bcc3d857675b2398abe79 100755 (executable)
@@ -1,9 +1,9 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.57.
+# Generated by GNU Autoconf 2.60.
 #
-# Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002
-# Free Software Foundation, Inc.
+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
 # This configure script is free software; the Free Software Foundation
 # gives unlimited permission to copy, distribute and modify it.
 ## --------------------- ##
@@ -17,20 +17,80 @@ if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
   # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
   # is contrary to our usage.  Disable this feature.
   alias -g '${1+"$@"}'='"$@"'
-elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
-  set -o posix
+  setopt NO_GLOB_SUBST
+else
+  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
+fi
+BIN_SH=xpg4; export BIN_SH # for Tru64
+DUALCASE=1; export DUALCASE # for MKS sh
+
+
+# PATH needs CR
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  echo "#! /bin/sh" >conf$$.sh
+  echo  "exit 0"   >>conf$$.sh
+  chmod +x conf$$.sh
+  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+    PATH_SEPARATOR=';'
+  else
+    PATH_SEPARATOR=:
+  fi
+  rm -f conf$$.sh
 fi
 
 # Support unset when possible.
-if (FOO=FOO; unset FOO) >/dev/null 2>&1; then
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
   as_unset=unset
 else
   as_unset=false
 fi
 
 
+# IFS
+# We need space, tab and new line, in precisely that order.  Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+as_nl='
+'
+IFS=" ""       $as_nl"
+
+# Find who we are.  Look in the path if we contain no directory separator.
+case $0 in
+  *[\\/]* ) as_myself=$0 ;;
+  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+IFS=$as_save_IFS
+
+     ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+  as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+  echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+  { (exit 1); exit 1; }
+fi
+
 # Work around bugs in pre-3.0 UWIN ksh.
-$as_unset ENV MAIL MAILPATH
+for as_var in ENV MAIL MAILPATH
+do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+done
 PS1='$ '
 PS2='> '
 PS4='+ '
@@ -41,21 +101,22 @@ for as_var in \
   LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
   LC_TELEPHONE LC_TIME
 do
-  if (set +x; test -n "`(eval $as_var=C; export $as_var) 2>&1`"); then
+  if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
     eval $as_var=C; export $as_var
   else
-    $as_unset $as_var
+    ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
   fi
 done
 
 # Required to use basename.
-if expr a : '\(a\)' >/dev/null 2>&1; then
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+   test "X`expr 00001 : '.*\(...\)'`" = X001; then
   as_expr=expr
 else
   as_expr=false
 fi
 
-if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
   as_basename=basename
 else
   as_basename=false
@@ -63,206 +124,436 @@ fi
 
 
 # Name of the executable.
-as_me=`$as_basename "$0" ||
+as_me=`$as_basename -- "$0" ||
 $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
         X"$0" : 'X\(//\)$' \| \
-        X"$0" : 'X\(/\)$' \| \
-        .     : '\(.\)' 2>/dev/null ||
+        X"$0" : 'X\(/\)' \| . 2>/dev/null ||
 echo X/"$0" |
-    sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
-         /^X\/\(\/\/\)$/{ s//\1/; q; }
-         /^X\/\(\/\).*/{ s//\1/; q; }
-         s/.*/./; q'`
+    sed '/^.*\/\([^/][^/]*\)\/*$/{
+           s//\1/
+           q
+         }
+         /^X\/\(\/\/\)$/{
+           s//\1/
+           q
+         }
+         /^X\/\(\/\).*/{
+           s//\1/
+           q
+         }
+         s/.*/./; q'`
 
+# CDPATH.
+$as_unset CDPATH
 
-# PATH needs CR, and LINENO needs CR and PATH.
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
 
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  echo "#! /bin/sh" >conf$$.sh
-  echo  "exit 0"   >>conf$$.sh
-  chmod +x conf$$.sh
-  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
-    PATH_SEPARATOR=';'
-  else
-    PATH_SEPARATOR=:
-  fi
-  rm -f conf$$.sh
+if test "x$CONFIG_SHELL" = x; then
+  if (eval ":") 2>/dev/null; then
+  as_have_required=yes
+else
+  as_have_required=no
 fi
 
+  if test $as_have_required = yes &&    (eval ":
+(as_func_return () {
+  (exit \$1)
+}
+as_func_success () {
+  as_func_return 0
+}
+as_func_failure () {
+  as_func_return 1
+}
+as_func_ret_success () {
+  return 0
+}
+as_func_ret_failure () {
+  return 1
+}
 
-  as_lineno_1=$LINENO
-  as_lineno_2=$LINENO
-  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
-  test "x$as_lineno_1" != "x$as_lineno_2" &&
-  test "x$as_lineno_3"  = "x$as_lineno_2"  || {
-  # Find who we are.  Look in the path if we contain no path at all
-  # relative or not.
-  case $0 in
-    *[\\/]* ) as_myself=$0 ;;
-    *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-done
+exitcode=0
+if as_func_success; then
+  :
+else
+  exitcode=1
+  echo as_func_success failed.
+fi
 
-       ;;
-  esac
-  # We did not find ourselves, most probably we were run as `sh COMMAND'
-  # in which case we are not to be found in the path.
-  if test "x$as_myself" = x; then
-    as_myself=$0
-  fi
-  if test ! -f "$as_myself"; then
-    { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2
-   { (exit 1); exit 1; }; }
-  fi
-  case $CONFIG_SHELL in
-  '')
+if as_func_failure; then
+  exitcode=1
+  echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+  :
+else
+  exitcode=1
+  echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+  exitcode=1
+  echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
+  :
+else
+  exitcode=1
+  echo positional parameters were not saved.
+fi
+
+test \$exitcode = 0) || { (exit 1); exit 1; }
+
+(
+  as_lineno_1=\$LINENO
+  as_lineno_2=\$LINENO
+  test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" &&
+  test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; }
+") 2> /dev/null; then
+  :
+else
+  as_candidate_shells=
     as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+for as_dir in /usr/bin/posix$PATH_SEPARATOR/bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  for as_base in sh bash ksh sh5; do
-        case $as_dir in
+  case $as_dir in
         /*)
-          if ("$as_dir/$as_base" -c '
+          for as_base in sh bash ksh sh5; do
+            as_candidate_shells="$as_candidate_shells $as_dir/$as_base"
+          done;;
+       esac
+done
+IFS=$as_save_IFS
+
+
+      for as_shell in $as_candidate_shells $SHELL; do
+        # Try only shells that exist, to save several forks.
+        if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
+               { ("$as_shell") 2> /dev/null <<\_ASEOF
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+  emulate sh
+  NULLCMD=:
+  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+  setopt NO_GLOB_SUBST
+else
+  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
+fi
+BIN_SH=xpg4; export BIN_SH # for Tru64
+DUALCASE=1; export DUALCASE # for MKS sh
+
+:
+_ASEOF
+}; then
+  CONFIG_SHELL=$as_shell
+              as_have_required=yes
+              if { "$as_shell" 2> /dev/null <<\_ASEOF
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+  emulate sh
+  NULLCMD=:
+  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+  setopt NO_GLOB_SUBST
+else
+  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
+fi
+BIN_SH=xpg4; export BIN_SH # for Tru64
+DUALCASE=1; export DUALCASE # for MKS sh
+
+:
+(as_func_return () {
+  (exit $1)
+}
+as_func_success () {
+  as_func_return 0
+}
+as_func_failure () {
+  as_func_return 1
+}
+as_func_ret_success () {
+  return 0
+}
+as_func_ret_failure () {
+  return 1
+}
+
+exitcode=0
+if as_func_success; then
+  :
+else
+  exitcode=1
+  echo as_func_success failed.
+fi
+
+if as_func_failure; then
+  exitcode=1
+  echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+  :
+else
+  exitcode=1
+  echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+  exitcode=1
+  echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = "$1" ); then
+  :
+else
+  exitcode=1
+  echo positional parameters were not saved.
+fi
+
+test $exitcode = 0) || { (exit 1); exit 1; }
+
+(
   as_lineno_1=$LINENO
   as_lineno_2=$LINENO
-  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
   test "x$as_lineno_1" != "x$as_lineno_2" &&
-  test "x$as_lineno_3"  = "x$as_lineno_2" ') 2>/dev/null; then
-            $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
-            $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
-            CONFIG_SHELL=$as_dir/$as_base
-            export CONFIG_SHELL
-            exec "$CONFIG_SHELL" "$0" ${1+"$@"}
-          fi;;
-        esac
-       done
-done
-;;
-  esac
+  test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; }
+
+_ASEOF
+}; then
+  break
+fi
+
+fi
+
+      done
+
+      if test "x$CONFIG_SHELL" != x; then
+  for as_var in BASH_ENV ENV
+        do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+        done
+        export CONFIG_SHELL
+        exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+fi
+
+
+    if test $as_have_required = no; then
+  echo This script requires a shell more modern than all the
+      echo shells that I found on your system.  Please install a
+      echo modern shell, or manually run the script under such a
+      echo shell if you do have one.
+      { (exit 1); exit 1; }
+fi
+
+
+fi
+
+fi
+
+
+
+(eval "as_func_return () {
+  (exit \$1)
+}
+as_func_success () {
+  as_func_return 0
+}
+as_func_failure () {
+  as_func_return 1
+}
+as_func_ret_success () {
+  return 0
+}
+as_func_ret_failure () {
+  return 1
+}
+
+exitcode=0
+if as_func_success; then
+  :
+else
+  exitcode=1
+  echo as_func_success failed.
+fi
+
+if as_func_failure; then
+  exitcode=1
+  echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+  :
+else
+  exitcode=1
+  echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+  exitcode=1
+  echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
+  :
+else
+  exitcode=1
+  echo positional parameters were not saved.
+fi
+
+test \$exitcode = 0") || {
+  echo No shell found that supports shell functions.
+  echo Please tell autoconf@gnu.org about your system,
+  echo including any error possibly output before this
+  echo message
+}
+
+
+
+  as_lineno_1=$LINENO
+  as_lineno_2=$LINENO
+  test "x$as_lineno_1" != "x$as_lineno_2" &&
+  test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
 
   # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
   # uniformly replaced by the line number.  The first 'sed' inserts a
-  # line-number line before each line; the second 'sed' does the real
-  # work.  The second script uses 'N' to pair each line-number line
-  # with the numbered line, and appends trailing '-' during
-  # substitution so that $LINENO is not a special case at line end.
+  # line-number line after each line using $LINENO; the second 'sed'
+  # does the real work.  The second script uses 'N' to pair each
+  # line-number line with the line containing $LINENO, and appends
+  # trailing '-' during substitution so that $LINENO is not a special
+  # case at line end.
   # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
-  # second 'sed' script.  Blame Lee E. McMahon for sed's syntax.  :-)
-  sed '=' <$as_myself |
+  # scripts with optimization help from Paolo Bonzini.  Blame Lee
+  # E. McMahon (1931-1989) for sed's syntax.  :-)
+  sed -n '
+    p
+    /[$]LINENO/=
+  ' <$as_myself |
     sed '
+      s/[$]LINENO.*/&-/
+      t lineno
+      b
+      :lineno
       N
-      s,$,-,
-      : loop
-      s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
+      :loop
+      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
       t loop
-      s,-$,,
-      s,^['$as_cr_digits']*\n,,
+      s/-\n.*//
     ' >$as_me.lineno &&
-  chmod +x $as_me.lineno ||
+  chmod +x "$as_me.lineno" ||
     { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
    { (exit 1); exit 1; }; }
 
   # Don't try to exec as it changes $[0], causing all sort of problems
   # (the dirname of $[0] is not the place where we might find the
-  # original and so on.  Autoconf is especially sensible to this).
-  . ./$as_me.lineno
+  # original and so on.  Autoconf is especially sensitive to this).
+  . "./$as_me.lineno"
   # Exit status is that of the last command.
   exit
 }
 
 
-case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
-  *c*,-n*) ECHO_N= ECHO_C='
-' ECHO_T='     ' ;;
-  *c*,*  ) ECHO_N=-n ECHO_C= ECHO_T= ;;
-  *)       ECHO_N= ECHO_C='\c' ECHO_T= ;;
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+  as_dirname=dirname
+else
+  as_dirname=false
+fi
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in
+-n*)
+  case `echo 'x\c'` in
+  *c*) ECHO_T='        ';;     # ECHO_T is single tab character.
+  *)   ECHO_C='\c';;
+  esac;;
+*)
+  ECHO_N='-n';;
 esac
 
-if expr a : '\(a\)' >/dev/null 2>&1; then
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+   test "X`expr 00001 : '.*\(...\)'`" = X001; then
   as_expr=expr
 else
   as_expr=false
 fi
 
 rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+  rm -f conf$$.dir/conf$$.file
+else
+  rm -f conf$$.dir
+  mkdir conf$$.dir
+fi
 echo >conf$$.file
 if ln -s conf$$.file conf$$ 2>/dev/null; then
-  # We could just check for DJGPP; but this test a) works b) is more generic
-  # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
-  if test -f conf$$.exe; then
-    # Don't use ln at all; we don't have any links
+  as_ln_s='ln -s'
+  # ... but there are two gotchas:
+  # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+  # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+  # In both cases, we have to default to `cp -p'.
+  ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
     as_ln_s='cp -p'
-  else
-    as_ln_s='ln -s'
-  fi
 elif ln conf$$.file conf$$ 2>/dev/null; then
   as_ln_s=ln
 else
   as_ln_s='cp -p'
 fi
-rm -f conf$$ conf$$.exe conf$$.file
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
 
 if mkdir -p . 2>/dev/null; then
   as_mkdir_p=:
 else
+  test -d ./-p && rmdir ./-p
   as_mkdir_p=false
 fi
 
-as_executable_p="test -f"
+# Find out whether ``test -x'' works.  Don't use a zero-byte file, as
+# systems may use methods other than mode bits to determine executability.
+cat >conf$$.file <<_ASEOF
+#! /bin/sh
+exit 0
+_ASEOF
+chmod +x conf$$.file
+if test -x conf$$.file >/dev/null 2>&1; then
+  as_executable_p="test -x"
+else
+  as_executable_p=:
+fi
+rm -f conf$$.file
 
 # Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g"
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
 
 # Sed expression to map a string onto a valid variable name.
-as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g"
-
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
 
-# IFS
-# We need space, tab and new line, in precisely that order.
-as_nl='
-'
-IFS="  $as_nl"
 
-# CDPATH.
-$as_unset CDPATH
 
+exec 7<&0 </dev/null 6>&1
 
 # Name of the host.
 # hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
 # so uname gets run too.
 ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
 
-exec 6>&1
-
 #
 # Initializations.
 #
 ac_default_prefix=/usr/local
+ac_clean_files=
 ac_config_libobj_dir=.
+LIBOBJS=
 cross_compiling=no
 subdirs=
 MFLAGS=
 MAKEFLAGS=
 SHELL=${CONFIG_SHELL-/bin/sh}
 
-# Maximum number of lines to put in a shell here document.
-# This variable seems obsolete.  It should probably be removed, and
-# only ac_max_sed_lines should be used.
-: ${ac_max_here_lines=38}
-
 # Identity of this package.
 PACKAGE_NAME=
 PACKAGE_TARNAME=
@@ -299,17 +590,214 @@ ac_includes_default="\
 #endif
 #if HAVE_INTTYPES_H
 # include <inttypes.h>
-#else
-# if HAVE_STDINT_H
-#  include <stdint.h>
-# endif
+#endif
+#if HAVE_STDINT_H
+# include <stdint.h>
 #endif
 #if HAVE_UNISTD_H
 # include <unistd.h>
 #endif"
 
-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO AMTAR install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM AWK SET_MAKE CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE build build_cpu build_vendor build_os host host_cpu host_vendor host_os CPP EGREP LN_S RANLIB ac_ct_RANLIB YACC LEX LEXLIB LEX_OUTPUT_ROOT HEADER_RT P5PLUS_KOPTS LINUX_GCC_KOPTS RHCONFIG_SP RHCONFIG_MP MPS PTHREAD_LIBS USE_UNIX_SOCKETS XBSA_CFLAGS HAVE_PAM BUILD_LOGIN afsconfdir viceetcdir afskerneldir afssrvbindir afssrvsbindir afssrvlibexecdir afsdbdir afslogsdir afslocaldir afsbackupdir afsbosconfigdir AFS_SYSNAME AFS_PARAM_COMMON ENABLE_KERNEL_MODULE LIB_AFSDB LINUX_KERNEL_PATH BSD_KERNEL_PATH BSD_KERNEL_BUILD LINUX_VERSION MKAFS_OSTYPE TOP_OBJDIR TOP_SRCDIR TOP_INCDIR TOP_LIBDIR DEST WITH_OBSOLETE DARWIN_INFOFILE IRIX_BUILD_IP35 AS AR MV RM LD CP LORDER XFS_SIZE_CHECK install_XFS_SIZE_CHECK dest_XFS_SIZE_CHECK FS_CONV_SOL26 install_FS_CONV_SOL26 dest_FS_CONV_SOL26 FS_CONV_OSF40D install_FS_CONV_OSF40D dest_FS_CONV_OSF40D CCXPG2 CCOBJ AFSD_LIBS AFSD_LDFLAGS AIX64 DBG FSINCLUDES KERN_DBG KERN_OPTMZ LWP_DBG LWP_OPTMZ MT_CC MT_CFLAGS MT_LIBS OPTMZ PAM_CFLAGS PAM_LIBS PINSTALL_LIBS REGEX_OBJ SHLIB_CFLAGS SHLIB_LDFLAGS SHLIB_LINKER SHLIB_SUFFIX TXLIBS VFSCK_CFLAGS XCFLAGS XCFLAGS64 XLDFLAGS XLDFLAGS64 XLIBELFA XLIBKVM XLIBS KRB5_CONFIG BUILD_KRB5 KRB5CFLAGS KRB5LIBS HELPER_SPLINT HELPER_SPLINTCFG LIBOBJS LTLIBOBJS'
+ac_subst_vars='SHELL
+PATH_SEPARATOR
+PACKAGE_NAME
+PACKAGE_TARNAME
+PACKAGE_VERSION
+PACKAGE_STRING
+PACKAGE_BUGREPORT
+exec_prefix
+prefix
+program_transform_name
+bindir
+sbindir
+libexecdir
+datarootdir
+datadir
+sysconfdir
+sharedstatedir
+localstatedir
+includedir
+oldincludedir
+docdir
+infodir
+htmldir
+dvidir
+pdfdir
+psdir
+libdir
+localedir
+mandir
+DEFS
+ECHO_C
+ECHO_N
+ECHO_T
+LIBS
+build_alias
+host_alias
+target_alias
+INSTALL_PROGRAM
+INSTALL_SCRIPT
+INSTALL_DATA
+CYGPATH_W
+PACKAGE
+VERSION
+ACLOCAL
+AUTOCONF
+AUTOMAKE
+AUTOHEADER
+MAKEINFO
+install_sh
+STRIP
+INSTALL_STRIP_PROGRAM
+mkdir_p
+AWK
+SET_MAKE
+am__leading_dot
+AMTAR
+am__tar
+am__untar
+MACOS_VERSION
+CC
+CFLAGS
+LDFLAGS
+CPPFLAGS
+ac_ct_CC
+EXEEXT
+OBJEXT
+DEPDIR
+am__include
+am__quote
+AMDEP_TRUE
+AMDEP_FALSE
+AMDEPBACKSLASH
+CCDEPMODE
+am__fastdepCC_TRUE
+am__fastdepCC_FALSE
+build
+build_cpu
+build_vendor
+build_os
+host
+host_cpu
+host_vendor
+host_os
+CPP
+GREP
+EGREP
+LN_S
+RANLIB
+YACC
+YFLAGS
+LEX
+LEXLIB
+LEX_OUTPUT_ROOT
+HEADER_RT
+P5PLUS_KOPTS
+LINUX_GCC_KOPTS
+RHCONFIG_SP
+RHCONFIG_MP
+MPS
+PTHREAD_LIBS
+USE_UNIX_SOCKETS
+XBSA_CFLAGS
+HAVE_PAM
+BUILD_LOGIN
+afsconfdir
+viceetcdir
+afskerneldir
+afssrvbindir
+afssrvsbindir
+afssrvlibexecdir
+afsdbdir
+afslogsdir
+afslocaldir
+afsbackupdir
+afsbosconfigdir
+AFS_SYSNAME
+AFS_PARAM_COMMON
+ENABLE_KERNEL_MODULE
+LIB_AFSDB
+LINUX_KERNEL_PATH
+BSD_KERNEL_PATH
+BSD_KERNEL_BUILD
+LINUX_VERSION
+MKAFS_OSTYPE
+TOP_OBJDIR
+TOP_SRCDIR
+TOP_INCDIR
+TOP_LIBDIR
+DEST
+WITH_OBSOLETE
+DARWIN_INFOFILE
+IRIX_BUILD_IP35
+AS
+AR
+MV
+RM
+LD
+CP
+LORDER
+XFS_SIZE_CHECK
+install_XFS_SIZE_CHECK
+dest_XFS_SIZE_CHECK
+FS_CONV_SOL26
+install_FS_CONV_SOL26
+dest_FS_CONV_SOL26
+FS_CONV_OSF40D
+install_FS_CONV_OSF40D
+dest_FS_CONV_OSF40D
+CCXPG2
+CCOBJ
+AFSD_LIBS
+AFSD_LDFLAGS
+AIX64
+DBG
+FSINCLUDES
+KERN_DBG
+KERN_OPTMZ
+LWP_DBG
+LWP_OPTMZ
+MT_CC
+MT_CFLAGS
+MT_LIBS
+OPTMZ
+PAM_CFLAGS
+PAM_LIBS
+PINSTALL_LIBS
+REGEX_OBJ
+SHLIB_CFLAGS
+SHLIB_LDFLAGS
+SHLIB_LINKER
+SHLIB_SUFFIX
+TXLIBS
+VFSCK_CFLAGS
+XCFLAGS
+XCFLAGS64
+XLDFLAGS
+XLDFLAGS64
+XLIBELFA
+XLIBKVM
+XLIBS
+KRB5_CONFIG
+BUILD_KRB5
+KRB5CFLAGS
+KRB5LIBS
+HELPER_SPLINT
+HELPER_SPLINTCFG
+LIBOBJS
+LTLIBOBJS'
 ac_subst_files=''
+      ac_precious_vars='build_alias
+host_alias
+target_alias
+CC
+CFLAGS
+LDFLAGS
+CPPFLAGS
+CPP
+YACC
+YFLAGS'
+
 
 # Initialize some variables set by options.
 ac_init_help=
@@ -336,34 +824,48 @@ x_libraries=NONE
 # and all the variables that are supposed to be based on exec_prefix
 # by default will actually change.
 # Use braces instead of parens because sh, perl, etc. also accept them.
+# (The list follows the same order as the GNU Coding Standards.)
 bindir='${exec_prefix}/bin'
 sbindir='${exec_prefix}/sbin'
 libexecdir='${exec_prefix}/libexec'
-datadir='${prefix}/share'
+datarootdir='${prefix}/share'
+datadir='${datarootdir}'
 sysconfdir='${prefix}/etc'
 sharedstatedir='${prefix}/com'
 localstatedir='${prefix}/var'
-libdir='${exec_prefix}/lib'
 includedir='${prefix}/include'
 oldincludedir='/usr/include'
-infodir='${prefix}/info'
-mandir='${prefix}/man'
+docdir='${datarootdir}/doc/${PACKAGE}'
+infodir='${datarootdir}/info'
+htmldir='${docdir}'
+dvidir='${docdir}'
+pdfdir='${docdir}'
+psdir='${docdir}'
+libdir='${exec_prefix}/lib'
+localedir='${datarootdir}/locale'
+mandir='${datarootdir}/man'
 
 ac_prev=
+ac_dashdash=
 for ac_option
 do
   # If the previous option needs an argument, assign it.
   if test -n "$ac_prev"; then
-    eval "$ac_prev=\$ac_option"
+    eval $ac_prev=\$ac_option
     ac_prev=
     continue
   fi
 
-  ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'`
+  case $ac_option in
+  *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+  *)   ac_optarg=yes ;;
+  esac
 
   # Accept the important Cygnus configure options, so we can diagnose typos.
 
-  case $ac_option in
+  case $ac_dashdash$ac_option in
+  --)
+    ac_dashdash=yes ;;
 
   -bindir | --bindir | --bindi | --bind | --bin | --bi)
     ac_prev=bindir ;;
@@ -385,12 +887,18 @@ do
   --config-cache | -C)
     cache_file=config.cache ;;
 
-  -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+  -datadir | --datadir | --datadi | --datad)
     ac_prev=datadir ;;
-  -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
-  | --da=*)
+  -datadir=* | --datadir=* | --datadi=* | --datad=*)
     datadir=$ac_optarg ;;
 
+  -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
+  | --dataroo | --dataro | --datar)
+    ac_prev=datarootdir ;;
+  -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
+  | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
+    datarootdir=$ac_optarg ;;
+
   -disable-* | --disable-*)
     ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
     # Reject names that are not valid shell variable names.
@@ -398,7 +906,17 @@ do
       { echo "$as_me: error: invalid feature name: $ac_feature" >&2
    { (exit 1); exit 1; }; }
     ac_feature=`echo $ac_feature | sed 's/-/_/g'`
-    eval "enable_$ac_feature=no" ;;
+    eval enable_$ac_feature=no ;;
+
+  -docdir | --docdir | --docdi | --doc | --do)
+    ac_prev=docdir ;;
+  -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
+    docdir=$ac_optarg ;;
+
+  -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
+    ac_prev=dvidir ;;
+  -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
+    dvidir=$ac_optarg ;;
 
   -enable-* | --enable-*)
     ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
@@ -407,11 +925,7 @@ do
       { echo "$as_me: error: invalid feature name: $ac_feature" >&2
    { (exit 1); exit 1; }; }
     ac_feature=`echo $ac_feature | sed 's/-/_/g'`
-    case $ac_option in
-      *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
-      *) ac_optarg=yes ;;
-    esac
-    eval "enable_$ac_feature='$ac_optarg'" ;;
+    eval enable_$ac_feature=\$ac_optarg ;;
 
   -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
   | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
@@ -438,6 +952,12 @@ do
   -host=* | --host=* | --hos=* | --ho=*)
     host_alias=$ac_optarg ;;
 
+  -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
+    ac_prev=htmldir ;;
+  -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
+  | --ht=*)
+    htmldir=$ac_optarg ;;
+
   -includedir | --includedir | --includedi | --included | --include \
   | --includ | --inclu | --incl | --inc)
     ac_prev=includedir ;;
@@ -462,13 +982,16 @@ do
   | --libexe=* | --libex=* | --libe=*)
     libexecdir=$ac_optarg ;;
 
+  -localedir | --localedir | --localedi | --localed | --locale)
+    ac_prev=localedir ;;
+  -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
+    localedir=$ac_optarg ;;
+
   -localstatedir | --localstatedir | --localstatedi | --localstated \
-  | --localstate | --localstat | --localsta | --localst \
-  | --locals | --local | --loca | --loc | --lo)
+  | --localstate | --localstat | --localsta | --localst | --locals)
     ac_prev=localstatedir ;;
   -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
-  | --localstate=* | --localstat=* | --localsta=* | --localst=* \
-  | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+  | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
     localstatedir=$ac_optarg ;;
 
   -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
@@ -533,6 +1056,16 @@ do
   | --progr-tra=* | --program-tr=* | --program-t=*)
     program_transform_name=$ac_optarg ;;
 
+  -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
+    ac_prev=pdfdir ;;
+  -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
+    pdfdir=$ac_optarg ;;
+
+  -psdir | --psdir | --psdi | --psd | --ps)
+    ac_prev=psdir ;;
+  -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
+    psdir=$ac_optarg ;;
+
   -q | -quiet | --quiet | --quie | --qui | --qu | --q \
   | -silent | --silent | --silen | --sile | --sil)
     silent=yes ;;
@@ -589,11 +1122,7 @@ do
       { echo "$as_me: error: invalid package name: $ac_package" >&2
    { (exit 1); exit 1; }; }
     ac_package=`echo $ac_package| sed 's/-/_/g'`
-    case $ac_option in
-      *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
-      *) ac_optarg=yes ;;
-    esac
-    eval "with_$ac_package='$ac_optarg'" ;;
+    eval with_$ac_package=\$ac_optarg ;;
 
   -without-* | --without-*)
     ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
@@ -602,7 +1131,7 @@ do
       { echo "$as_me: error: invalid package name: $ac_package" >&2
    { (exit 1); exit 1; }; }
     ac_package=`echo $ac_package | sed 's/-/_/g'`
-    eval "with_$ac_package=no" ;;
+    eval with_$ac_package=no ;;
 
   --x)
     # Obsolete; use --with-x.
@@ -633,8 +1162,7 @@ Try \`$0 --help' for more information." >&2
     expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
       { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
    { (exit 1); exit 1; }; }
-    ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`
-    eval "$ac_envvar='$ac_optarg'"
+    eval $ac_envvar=\$ac_optarg
     export $ac_envvar ;;
 
   *)
@@ -654,27 +1182,19 @@ if test -n "$ac_prev"; then
    { (exit 1); exit 1; }; }
 fi
 
-# Be sure to have absolute paths.
-for ac_var in exec_prefix prefix
+# Be sure to have absolute directory names.
+for ac_var in  exec_prefix prefix bindir sbindir libexecdir datarootdir \
+               datadir sysconfdir sharedstatedir localstatedir includedir \
+               oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
+               libdir localedir mandir
 do
-  eval ac_val=$`echo $ac_var`
+  eval ac_val=\$$ac_var
   case $ac_val in
-    [\\/$]* | ?:[\\/]* | NONE | '' ) ;;
-    *)  { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
-   { (exit 1); exit 1; }; };;
-  esac
-done
-
-# Be sure to have absolute paths.
-for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \
-              localstatedir libdir includedir oldincludedir infodir mandir
-do
-  eval ac_val=$`echo $ac_var`
-  case $ac_val in
-    [\\/$]* | ?:[\\/]* ) ;;
-    *)  { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
-   { (exit 1); exit 1; }; };;
+    [\\/$]* | ?:[\\/]* )  continue;;
+    NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
   esac
+  { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
+   { (exit 1); exit 1; }; }
 done
 
 # There might be people who depend on the old broken behavior: `$host'
@@ -701,74 +1221,76 @@ test -n "$host_alias" && ac_tool_prefix=$host_alias-
 test "$silent" = yes && exec 6>/dev/null
 
 
+ac_pwd=`pwd` && test -n "$ac_pwd" &&
+ac_ls_di=`ls -di .` &&
+ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
+  { echo "$as_me: error: Working directory cannot be determined" >&2
+   { (exit 1); exit 1; }; }
+test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
+  { echo "$as_me: error: pwd does not report name of working directory" >&2
+   { (exit 1); exit 1; }; }
+
+
 # Find the source files, if location was not specified.
 if test -z "$srcdir"; then
   ac_srcdir_defaulted=yes
-  # Try the directory containing this script, then its parent.
-  ac_confdir=`(dirname "$0") 2>/dev/null ||
+  # Try the directory containing this script, then the parent directory.
+  ac_confdir=`$as_dirname -- "$0" ||
 $as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-         X"$0" : 'X\(//\)[^/]' \| \
-         X"$0" : 'X\(//\)$' \| \
-         X"$0" : 'X\(/\)' \| \
-         .     : '\(.\)' 2>/dev/null ||
+        X"$0" : 'X\(//\)[^/]' \| \
+        X"$0" : 'X\(//\)$' \| \
+        X"$0" : 'X\(/\)' \| . 2>/dev/null ||
 echo X"$0" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
-         /^X\(\/\/\)[^/].*/{ s//\1/; q; }
-         /^X\(\/\/\)$/{ s//\1/; q; }
-         /^X\(\/\).*/{ s//\1/; q; }
-         s/.*/./; q'`
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)[^/].*/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\).*/{
+           s//\1/
+           q
+         }
+         s/.*/./; q'`
   srcdir=$ac_confdir
-  if test ! -r $srcdir/$ac_unique_file; then
+  if test ! -r "$srcdir/$ac_unique_file"; then
     srcdir=..
   fi
 else
   ac_srcdir_defaulted=no
 fi
-if test ! -r $srcdir/$ac_unique_file; then
-  if test "$ac_srcdir_defaulted" = yes; then
-    { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2
-   { (exit 1); exit 1; }; }
-  else
-    { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
+if test ! -r "$srcdir/$ac_unique_file"; then
+  test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
+  { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
    { (exit 1); exit 1; }; }
-  fi
 fi
-(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null ||
-  { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2
+ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
+ac_abs_confdir=`(
+       cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2
    { (exit 1); exit 1; }; }
-srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'`
-ac_env_build_alias_set=${build_alias+set}
-ac_env_build_alias_value=$build_alias
-ac_cv_env_build_alias_set=${build_alias+set}
-ac_cv_env_build_alias_value=$build_alias
-ac_env_host_alias_set=${host_alias+set}
-ac_env_host_alias_value=$host_alias
-ac_cv_env_host_alias_set=${host_alias+set}
-ac_cv_env_host_alias_value=$host_alias
-ac_env_target_alias_set=${target_alias+set}
-ac_env_target_alias_value=$target_alias
-ac_cv_env_target_alias_set=${target_alias+set}
-ac_cv_env_target_alias_value=$target_alias
-ac_env_CC_set=${CC+set}
-ac_env_CC_value=$CC
-ac_cv_env_CC_set=${CC+set}
-ac_cv_env_CC_value=$CC
-ac_env_CFLAGS_set=${CFLAGS+set}
-ac_env_CFLAGS_value=$CFLAGS
-ac_cv_env_CFLAGS_set=${CFLAGS+set}
-ac_cv_env_CFLAGS_value=$CFLAGS
-ac_env_LDFLAGS_set=${LDFLAGS+set}
-ac_env_LDFLAGS_value=$LDFLAGS
-ac_cv_env_LDFLAGS_set=${LDFLAGS+set}
-ac_cv_env_LDFLAGS_value=$LDFLAGS
-ac_env_CPPFLAGS_set=${CPPFLAGS+set}
-ac_env_CPPFLAGS_value=$CPPFLAGS
-ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set}
-ac_cv_env_CPPFLAGS_value=$CPPFLAGS
-ac_env_CPP_set=${CPP+set}
-ac_env_CPP_value=$CPP
-ac_cv_env_CPP_set=${CPP+set}
-ac_cv_env_CPP_value=$CPP
+       pwd)`
+# When building in place, set srcdir=.
+if test "$ac_abs_confdir" = "$ac_pwd"; then
+  srcdir=.
+fi
+# Remove unnecessary trailing slashes from srcdir.
+# Double slashes in file names in object file debugging info
+# mess up M-x gdb in Emacs.
+case $srcdir in
+*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
+esac
+for ac_var in $ac_precious_vars; do
+  eval ac_env_${ac_var}_set=\${${ac_var}+set}
+  eval ac_env_${ac_var}_value=\$${ac_var}
+  eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
+  eval ac_cv_env_${ac_var}_value=\$${ac_var}
+done
 
 #
 # Report the --help message.
@@ -797,14 +1319,11 @@ Configuration:
   -n, --no-create         do not create output files
       --srcdir=DIR        find the sources in DIR [configure dir or \`..']
 
-_ACEOF
-
-  cat <<_ACEOF
 Installation directories:
   --prefix=PREFIX         install architecture-independent files in PREFIX
-                          [$ac_default_prefix]
+                         [$ac_default_prefix]
   --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
-                          [PREFIX]
+                         [PREFIX]
 
 By default, \`make install' will install all the files in
 \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc.  You can specify
@@ -817,15 +1336,22 @@ Fine tuning of the installation directories:
   --bindir=DIR           user executables [EPREFIX/bin]
   --sbindir=DIR          system admin executables [EPREFIX/sbin]
   --libexecdir=DIR       program executables [EPREFIX/libexec]
-  --datadir=DIR          read-only architecture-independent data [PREFIX/share]
   --sysconfdir=DIR       read-only single-machine data [PREFIX/etc]
   --sharedstatedir=DIR   modifiable architecture-independent data [PREFIX/com]
   --localstatedir=DIR    modifiable single-machine data [PREFIX/var]
   --libdir=DIR           object code libraries [EPREFIX/lib]
   --includedir=DIR       C header files [PREFIX/include]
   --oldincludedir=DIR    C header files for non-gcc [/usr/include]
-  --infodir=DIR          info documentation [PREFIX/info]
-  --mandir=DIR           man documentation [PREFIX/man]
+  --datarootdir=DIR      read-only arch.-independent data root [PREFIX/share]
+  --datadir=DIR          read-only architecture-independent data [DATAROOTDIR]
+  --infodir=DIR          info documentation [DATAROOTDIR/info]
+  --localedir=DIR        locale-dependent data [DATAROOTDIR/locale]
+  --mandir=DIR           man documentation [DATAROOTDIR/man]
+  --docdir=DIR           documentation root [DATAROOTDIR/doc/PACKAGE]
+  --htmldir=DIR          html documentation [DOCDIR]
+  --dvidir=DIR           dvi documentation [DOCDIR]
+  --pdfdir=DIR           pdf documentation [DOCDIR]
+  --psdir=DIR            ps documentation [DOCDIR]
 _ACEOF
 
   cat <<\_ACEOF
@@ -848,8 +1374,8 @@ if test -n "$ac_init_help"; then
 Optional Features:
   --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-  --disable-dependency-tracking Speeds up one-time builds
-  --enable-dependency-tracking  Do not reject slow dependency extractors
+  --disable-dependency-tracking  speeds up one-time build
+  --enable-dependency-tracking   do not reject slow dependency extractors
   --enable-obsolete                    enable obsolete portions of AFS (mpp and package)
   --disable-afsdb                      disable AFSDB RR support
   --disable-pam                        disable PAM support
@@ -896,94 +1422,99 @@ Some influential environment variables:
   CFLAGS      C compiler flags
   LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
               nonstandard directory <lib dir>
-  CPPFLAGS    C/C++ preprocessor flags, e.g. -I<include dir> if you have
-              headers in a nonstandard directory <include dir>
+  CPPFLAGS    C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
+              you have headers in a nonstandard directory <include dir>
   CPP         C preprocessor
+  YACC        The `Yet Another C Compiler' implementation to use. Defaults to
+              the first program found out of: `bison -y', `byacc', `yacc'.
+  YFLAGS      The list of arguments that will be passed by default to $YACC.
+              This script will default YFLAGS to the empty string to avoid a
+              default value of `-d' given by some make applications.
 
 Use these variables to override the choices made by `configure' or to help
 it to find libraries and programs with nonstandard names/locations.
 
 _ACEOF
+ac_status=$?
 fi
 
 if test "$ac_init_help" = "recursive"; then
   # If there are subdirs, report their specific --help.
-  ac_popdir=`pwd`
   for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
-    test -d $ac_dir || continue
+    test -d "$ac_dir" || continue
     ac_builddir=.
 
-if test "$ac_dir" != .; then
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
   ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
-  # A "../" for each directory in $ac_dir_suffix.
-  ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
-else
-  ac_dir_suffix= ac_top_builddir=
-fi
+  # A ".." for each directory in $ac_dir_suffix.
+  ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
+  case $ac_top_builddir_sub in
+  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+  esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
 
 case $srcdir in
-  .)  # No --srcdir option.  We are building in place.
+  .)  # We are building in place.
     ac_srcdir=.
-    if test -z "$ac_top_builddir"; then
-       ac_top_srcdir=.
-    else
-       ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
-    fi ;;
-  [\\/]* | ?:[\\/]* )  # Absolute path.
+    ac_top_srcdir=$ac_top_builddir_sub
+    ac_abs_top_srcdir=$ac_pwd ;;
+  [\\/]* | ?:[\\/]* )  # Absolute name.
     ac_srcdir=$srcdir$ac_dir_suffix;
-    ac_top_srcdir=$srcdir ;;
-  *) # Relative path.
-    ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
-    ac_top_srcdir=$ac_top_builddir$srcdir ;;
-esac
-# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be
-# absolute.
-ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd`
-ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd`
-ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd`
-ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd`
-
-    cd $ac_dir
-    # Check for guested configure; otherwise get Cygnus style configure.
-    if test -f $ac_srcdir/configure.gnu; then
-      echo
-      $SHELL $ac_srcdir/configure.gnu  --help=recursive
-    elif test -f $ac_srcdir/configure; then
-      echo
-      $SHELL $ac_srcdir/configure  --help=recursive
-    elif test -f $ac_srcdir/configure.ac ||
-           test -f $ac_srcdir/configure.in; then
-      echo
-      $ac_configure --help
+    ac_top_srcdir=$srcdir
+    ac_abs_top_srcdir=$srcdir ;;
+  *) # Relative name.
+    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+    ac_top_srcdir=$ac_top_build_prefix$srcdir
+    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+    cd "$ac_dir" || { ac_status=$?; continue; }
+    # Check for guested configure.
+    if test -f "$ac_srcdir/configure.gnu"; then
+      echo &&
+      $SHELL "$ac_srcdir/configure.gnu" --help=recursive
+    elif test -f "$ac_srcdir/configure"; then
+      echo &&
+      $SHELL "$ac_srcdir/configure" --help=recursive
     else
       echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
-    fi
-    cd $ac_popdir
+    fi || ac_status=$?
+    cd "$ac_pwd" || { ac_status=$?; break; }
   done
 fi
 
-test -n "$ac_init_help" && exit 0
+test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
+configure
+generated by GNU Autoconf 2.60
 
-Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002
-Free Software Foundation, Inc.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
 This configure script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it.
 _ACEOF
-  exit 0
+  exit
 fi
-exec 5>config.log
-cat >&5 <<_ACEOF
+cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
 It was created by $as_me, which was
-generated by GNU Autoconf 2.57.  Invocation command line was
+generated by GNU Autoconf 2.60.  Invocation command line was
 
   $ $0 $@
 
 _ACEOF
+exec 5>>config.log
 {
 cat <<_ASUNAME
 ## --------- ##
@@ -1002,7 +1533,7 @@ uname -v = `(uname -v) 2>/dev/null || echo unknown`
 /bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
 /usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
 /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-hostinfo               = `(hostinfo) 2>/dev/null               || echo unknown`
+/usr/bin/hostinfo      = `(/usr/bin/hostinfo) 2>/dev/null      || echo unknown`
 /bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
 /usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
 /bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`
@@ -1016,6 +1547,7 @@ do
   test -z "$as_dir" && as_dir=.
   echo "PATH: $as_dir"
 done
+IFS=$as_save_IFS
 
 } >&5
 
@@ -1037,7 +1569,6 @@ _ACEOF
 ac_configure_args=
 ac_configure_args0=
 ac_configure_args1=
-ac_sep=
 ac_must_keep_next=false
 for ac_pass in 1 2
 do
@@ -1048,7 +1579,7 @@ do
     -q | -quiet | --quiet | --quie | --qui | --qu | --q \
     | -silent | --silent | --silen | --sile | --sil)
       continue ;;
-    *" "*|*"   "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
+    *\'*)
       ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
     esac
     case $ac_pass in
@@ -1056,23 +1587,21 @@ do
     2)
       ac_configure_args1="$ac_configure_args1 '$ac_arg'"
       if test $ac_must_keep_next = true; then
-        ac_must_keep_next=false # Got value, back to normal.
+       ac_must_keep_next=false # Got value, back to normal.
       else
-        case $ac_arg in
-          *=* | --config-cache | -C | -disable-* | --disable-* \
-          | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
-          | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
-          | -with-* | --with-* | -without-* | --without-* | --x)
-            case "$ac_configure_args0 " in
-              "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
-            esac
-            ;;
-          -* ) ac_must_keep_next=true ;;
-        esac
+       case $ac_arg in
+         *=* | --config-cache | -C | -disable-* | --disable-* \
+         | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
+         | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
+         | -with-* | --with-* | -without-* | --without-* | --x)
+           case "$ac_configure_args0 " in
+             "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
+           esac
+           ;;
+         -* ) ac_must_keep_next=true ;;
+       esac
       fi
-      ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'"
-      # Get rid of the leading space.
-      ac_sep=" "
+      ac_configure_args="$ac_configure_args '$ac_arg'"
       ;;
     esac
   done
@@ -1083,8 +1612,8 @@ $as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_
 # When interrupted or exit'd, cleanup temporary files, and complete
 # config.log.  We remove comments because anyway the quotes in there
 # would cause problems or look ugly.
-# WARNING: Be sure not to use single quotes in there, as some shells,
-# such as our DU 5.0 friend, will then `close' the trap.
+# WARNING: Use '\'' to represent an apostrophe within the trap.
+# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
 trap 'exit_status=$?
   # Save into config.log some information that might help in debugging.
   {
@@ -1097,20 +1626,34 @@ trap 'exit_status=$?
 _ASBOX
     echo
     # The following way of writing the cache mishandles newlines in values,
-{
+(
+  for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
+    eval ac_val=\$$ac_var
+    case $ac_val in #(
+    *${as_nl}*)
+      case $ac_var in #(
+      *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
+echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
+      esac
+      case $ac_var in #(
+      _ | IFS | as_nl) ;; #(
+      *) $as_unset $ac_var ;;
+      esac ;;
+    esac
+  done
   (set) 2>&1 |
-    case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in
-    *ac_space=\ *)
+    case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
+    *${as_nl}ac_space=\ *)
       sed -n \
-        "s/'"'"'/'"'"'\\\\'"'"''"'"'/g;
-         s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p"
-      ;;
+       "s/'\''/'\''\\\\'\'''\''/g;
+         s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
+      ;; #(
     *)
-      sed -n \
-        "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
       ;;
-    esac;
-}
+    esac |
+    sort
+)
     echo
 
     cat <<\_ASBOX
@@ -1121,22 +1664,28 @@ _ASBOX
     echo
     for ac_var in $ac_subst_vars
     do
-      eval ac_val=$`echo $ac_var`
-      echo "$ac_var='"'"'$ac_val'"'"'"
+      eval ac_val=\$$ac_var
+      case $ac_val in
+      *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+      esac
+      echo "$ac_var='\''$ac_val'\''"
     done | sort
     echo
 
     if test -n "$ac_subst_files"; then
       cat <<\_ASBOX
-## ------------- ##
-## Output files. ##
-## ------------- ##
+## ------------------- ##
+## File substitutions. ##
+## ------------------- ##
 _ASBOX
       echo
       for ac_var in $ac_subst_files
       do
-       eval ac_val=$`echo $ac_var`
-        echo "$ac_var='"'"'$ac_val'"'"'"
+       eval ac_val=\$$ac_var
+       case $ac_val in
+       *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+       esac
+       echo "$ac_var='\''$ac_val'\''"
       done | sort
       echo
     fi
@@ -1148,26 +1697,24 @@ _ASBOX
 ## ----------- ##
 _ASBOX
       echo
-      sed "/^$/d" confdefs.h | sort
+      cat confdefs.h
       echo
     fi
     test "$ac_signal" != 0 &&
       echo "$as_me: caught signal $ac_signal"
     echo "$as_me: exit $exit_status"
   } >&5
-  rm -f core core.* *.core &&
-  rm -rf conftest* confdefs* conf$$* $ac_clean_files &&
+  rm -f core *.core core.conftest.* &&
+    rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
     exit $exit_status
-     ' 0
+' 0
 for ac_signal in 1 2 13 15; do
   trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
 done
 ac_signal=0
 
 # confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -rf conftest* confdefs.h
-# AIX cpp loses on an empty file, so make sure it contains at least a newline.
-echo >confdefs.h
+rm -f -r conftest* confdefs.h
 
 # Predefined preprocessor variables.
 
@@ -1198,14 +1745,17 @@ _ACEOF
 
 # Let the site file select an alternate cache file if it wants to.
 # Prefer explicitly selected file to automatically selected ones.
-if test -z "$CONFIG_SITE"; then
-  if test "x$prefix" != xNONE; then
-    CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
-  else
-    CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
-  fi
+if test -n "$CONFIG_SITE"; then
+  set x "$CONFIG_SITE"
+elif test "x$prefix" != xNONE; then
+  set x "$prefix/share/config.site" "$prefix/etc/config.site"
+else
+  set x "$ac_default_prefix/share/config.site" \
+       "$ac_default_prefix/etc/config.site"
 fi
-for ac_site_file in $CONFIG_SITE; do
+shift
+for ac_site_file
+do
   if test -r "$ac_site_file"; then
     { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
 echo "$as_me: loading site script $ac_site_file" >&6;}
@@ -1221,8 +1771,8 @@ if test -r "$cache_file"; then
     { echo "$as_me:$LINENO: loading cache $cache_file" >&5
 echo "$as_me: loading cache $cache_file" >&6;}
     case $cache_file in
-      [\\/]* | ?:[\\/]* ) . $cache_file;;
-      *)                      . ./$cache_file;;
+      [\\/]* | ?:[\\/]* ) . "$cache_file";;
+      *)                      . "./$cache_file";;
     esac
   fi
 else
@@ -1234,12 +1784,11 @@ fi
 # Check that the precious variables saved in the cache have kept the same
 # value.
 ac_cache_corrupted=false
-for ac_var in `(set) 2>&1 |
-               sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do
+for ac_var in $ac_precious_vars; do
   eval ac_old_set=\$ac_cv_env_${ac_var}_set
   eval ac_new_set=\$ac_env_${ac_var}_set
-  eval ac_old_val="\$ac_cv_env_${ac_var}_value"
-  eval ac_new_val="\$ac_env_${ac_var}_value"
+  eval ac_old_val=\$ac_cv_env_${ac_var}_value
+  eval ac_new_val=\$ac_env_${ac_var}_value
   case $ac_old_set,$ac_new_set in
     set,)
       { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
@@ -1252,20 +1801,19 @@ echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
     ,);;
     *)
       if test "x$ac_old_val" != "x$ac_new_val"; then
-        { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
+       { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
 echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
-        { echo "$as_me:$LINENO:   former value:  $ac_old_val" >&5
+       { echo "$as_me:$LINENO:   former value:  $ac_old_val" >&5
 echo "$as_me:   former value:  $ac_old_val" >&2;}
-        { echo "$as_me:$LINENO:   current value: $ac_new_val" >&5
+       { echo "$as_me:$LINENO:   current value: $ac_new_val" >&5
 echo "$as_me:   current value: $ac_new_val" >&2;}
-        ac_cache_corrupted=:
+       ac_cache_corrupted=:
       fi;;
   esac
   # Pass precious variables to config.status.
   if test "$ac_new_set" = set; then
     case $ac_new_val in
-    *" "*|*"   "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
-      ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+    *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
     *) ac_arg=$ac_var=$ac_new_val ;;
     esac
     case " $ac_configure_args " in
@@ -1282,12 +1830,6 @@ echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start ov
    { (exit 1); exit 1; }; }
 fi
 
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
 
 
 
@@ -1304,33 +1846,44 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
-am__api_version="1.7"
+am__api_version="1.9"
 ac_aux_dir=
-for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
-  if test -f $ac_dir/install-sh; then
+for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
+  if test -f "$ac_dir/install-sh"; then
     ac_aux_dir=$ac_dir
     ac_install_sh="$ac_aux_dir/install-sh -c"
     break
-  elif test -f $ac_dir/install.sh; then
+  elif test -f "$ac_dir/install.sh"; then
     ac_aux_dir=$ac_dir
     ac_install_sh="$ac_aux_dir/install.sh -c"
     break
-  elif test -f $ac_dir/shtool; then
+  elif test -f "$ac_dir/shtool"; then
     ac_aux_dir=$ac_dir
     ac_install_sh="$ac_aux_dir/shtool install -c"
     break
   fi
 done
 if test -z "$ac_aux_dir"; then
-  { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5
-echo "$as_me: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&2;}
+  { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5
+echo "$as_me: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&2;}
    { (exit 1); exit 1; }; }
 fi
-ac_config_guess="$SHELL $ac_aux_dir/config.guess"
-ac_config_sub="$SHELL $ac_aux_dir/config.sub"
-ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
+
+# These three variables are undocumented and unsupported,
+# and are intended to be withdrawn in a future Autoconf release.
+# They can cause serious problems if a builder's source tree is in a directory
+# whose full name contains unusual characters.
+ac_config_guess="$SHELL $ac_aux_dir/config.guess"  # Please don't use this var.
+ac_config_sub="$SHELL $ac_aux_dir/config.sub"  # Please don't use this var.
+ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.
+
 
 # Find a good install program.  We prefer a C program (faster),
 # so one script is as good as another.  But avoid the broken or
@@ -1343,9 +1896,10 @@ ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
 # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
 # AFS /usr/afsws/bin/install, which mishandles nonexistent args
 # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# OS/2's system install, which has a completely different semantic
 # ./install, which can be erroneously created by make from ./install.sh.
-echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
-echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
+echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; }
 if test -z "$INSTALL"; then
 if test "${ac_cv_path_install+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -1359,6 +1913,7 @@ do
 case $as_dir/ in
   ./ | .// | /cC/* | \
   /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
+  ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \
   /usr/ucb/* ) ;;
   *)
     # OSF1 and SCO ODT 3.0 have their own names for install.
@@ -1366,40 +1921,41 @@ case $as_dir/ in
     # by default.
     for ac_prog in ginstall scoinst install; do
       for ac_exec_ext in '' $ac_executable_extensions; do
-        if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
-          if test $ac_prog = install &&
-            grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
-            # AIX install.  It has an incompatible calling convention.
-            :
-          elif test $ac_prog = install &&
-            grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
-            # program-specific install script used by HP pwplus--don't use.
-            :
-          else
-            ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
-            break 3
-          fi
-        fi
+       if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; }; then
+         if test $ac_prog = install &&
+           grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+           # AIX install.  It has an incompatible calling convention.
+           :
+         elif test $ac_prog = install &&
+           grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+           # program-specific install script used by HP pwplus--don't use.
+           :
+         else
+           ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
+           break 3
+         fi
+       fi
       done
     done
     ;;
 esac
 done
+IFS=$as_save_IFS
 
 
 fi
   if test "${ac_cv_path_install+set}" = set; then
     INSTALL=$ac_cv_path_install
   else
-    # As a last resort, use the slow shell script.  We don't cache a
-    # path for INSTALL within a source directory, because that will
+    # As a last resort, use the slow shell script.  Don't cache a
+    # value for INSTALL within a source directory, because that will
     # break other packages using the cache if that directory is
-    # removed, or if the path is relative.
+    # removed, or if the value is a relative name.
     INSTALL=$ac_install_sh
   fi
 fi
-echo "$as_me:$LINENO: result: $INSTALL" >&5
-echo "${ECHO_T}$INSTALL" >&6
+echo "$as_me:$LINENO: result: $INSTALL" >&5
+echo "${ECHO_T}$INSTALL" >&6; }
 
 # Use test -z because SunOS4 sh mishandles braces in ${var-val}.
 # It thinks the first close brace ends the variable substitution.
@@ -1409,8 +1965,8 @@ test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
 
 test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
 
-echo "$as_me:$LINENO: checking whether build environment is sane" >&5
-echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking whether build environment is sane" >&5
+echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6; }
 # Just in case
 sleep 1
 echo timestamp > conftest.file
@@ -1452,21 +2008,20 @@ echo "$as_me: error: newly created file is older than distributed files!
 Check your system clock" >&2;}
    { (exit 1); exit 1; }; }
 fi
-echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
 test "$program_prefix" != NONE &&
-  program_transform_name="s,^,$program_prefix,;$program_transform_name"
+  program_transform_name="s&^&$program_prefix&;$program_transform_name"
 # Use a double $ so make ignores it.
 test "$program_suffix" != NONE &&
-  program_transform_name="s,\$,$program_suffix,;$program_transform_name"
+  program_transform_name="s&\$&$program_suffix&;$program_transform_name"
 # Double any \ or $.  echo might interpret backslashes.
 # By default was `s,x,x', remove it if useless.
 cat <<\_ACEOF >conftest.sed
 s/[\\$]/&&/g;s/;s,x,x,$//
 _ACEOF
 program_transform_name=`echo $program_transform_name | sed -f conftest.sed`
-rm conftest.sed
-
+rm -f conftest.sed
 
 # expand $ac_aux_dir to an absolute path
 am_aux_dir=`cd $ac_aux_dir && pwd`
@@ -1481,12 +2036,45 @@ else
 echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
 fi
 
+if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
+  # We used to keeping the `.' as first argument, in order to
+  # allow $(mkdir_p) to be used without argument.  As in
+  #   $(mkdir_p) $(somedir)
+  # where $(somedir) is conditionally defined.  However this is wrong
+  # for two reasons:
+  #  1. if the package is installed by a user who cannot write `.'
+  #     make install will fail,
+  #  2. the above comment should most certainly read
+  #     $(mkdir_p) $(DESTDIR)$(somedir)
+  #     so it does not work when $(somedir) is undefined and
+  #     $(DESTDIR) is not.
+  #  To support the latter case, we have to write
+  #     test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir),
+  #  so the `.' trick is pointless.
+  mkdir_p='mkdir -p --'
+else
+  # On NextStep and OpenStep, the `mkdir' command does not
+  # recognize any option.  It will interpret all options as
+  # directories to create, and then abort because `.' already
+  # exists.
+  for d in ./-p ./--version;
+  do
+    test -d $d && rmdir $d
+  done
+  # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists.
+  if test -f "$ac_aux_dir/mkinstalldirs"; then
+    mkdir_p='$(mkinstalldirs)'
+  else
+    mkdir_p='$(install_sh) -d'
+  fi
+fi
+
 for ac_prog in gawk mawk nawk awk
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_AWK+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -1499,58 +2087,70 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_AWK="$ac_prog"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 AWK=$ac_cv_prog_AWK
 if test -n "$AWK"; then
-  echo "$as_me:$LINENO: result: $AWK" >&5
-echo "${ECHO_T}$AWK" >&6
+  echo "$as_me:$LINENO: result: $AWK" >&5
+echo "${ECHO_T}$AWK" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
+
   test -n "$AWK" && break
 done
 
-echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6
-set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,./+-,__p_,'`
-if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then
+echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; }
+set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
+if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.make <<\_ACEOF
+SHELL = /bin/sh
 all:
-       @echo 'ac_maketemp="$(MAKE)"'
+       @echo '@@@%%%=$(MAKE)=@@@%%%'
 _ACEOF
 # GNU make sometimes prints "make[1]: Entering...", which would confuse us.
-eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=`
-if test -n "$ac_maketemp"; then
-  eval ac_cv_prog_make_${ac_make}_set=yes
-else
-  eval ac_cv_prog_make_${ac_make}_set=no
-fi
+case `${MAKE-make} -f conftest.make 2>/dev/null` in
+  *@@@%%%=?*=@@@%%%*)
+    eval ac_cv_prog_make_${ac_make}_set=yes;;
+  *)
+    eval ac_cv_prog_make_${ac_make}_set=no;;
+esac
 rm -f conftest.make
 fi
-if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
+  echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
   SET_MAKE=
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
   SET_MAKE="MAKE=${MAKE-make}"
 fi
 
- # test to see if srcdir already configured
+rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+  am__leading_dot=.
+else
+  am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+
+# test to see if srcdir already configured
 if test "`cd $srcdir && pwd`" != "`pwd`" &&
    test -f $srcdir/config.status; then
   { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5
@@ -1570,7 +2170,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE=openafs-libafs
- VERSION=1.4.4
+ VERSION=1.4.5pre2
 
 
 cat >>confdefs.h <<_ACEOF
@@ -1598,9 +2198,6 @@ AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
 
 MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
 
-
-AMTAR=${AMTAR-"${am_missing_run}tar"}
-
 install_sh=${install_sh-"$am_aux_dir/install-sh"}
 
 # Installed binaries are usually stripped using `strip' when the user
@@ -1611,8 +2208,8 @@ if test "$cross_compiling" != no; then
   if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
 set dummy ${ac_tool_prefix}strip; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_STRIP+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -1625,32 +2222,34 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_STRIP="${ac_tool_prefix}strip"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 STRIP=$ac_cv_prog_STRIP
 if test -n "$STRIP"; then
-  echo "$as_me:$LINENO: result: $STRIP" >&5
-echo "${ECHO_T}$STRIP" >&6
+  echo "$as_me:$LINENO: result: $STRIP" >&5
+echo "${ECHO_T}$STRIP" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
+
 fi
 if test -z "$ac_cv_prog_STRIP"; then
   ac_ct_STRIP=$STRIP
   # Extract the first word of "strip", so it can be a program name with args.
 set dummy strip; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -1663,27 +2262,41 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_ac_ct_STRIP="strip"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
-  test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":"
 fi
 fi
 ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
 if test -n "$ac_ct_STRIP"; then
-  echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
-echo "${ECHO_T}$ac_ct_STRIP" >&6
+  echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
+echo "${ECHO_T}$ac_ct_STRIP" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
-  STRIP=$ac_ct_STRIP
+  if test "x$ac_ct_STRIP" = x; then
+    STRIP=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+    STRIP=$ac_ct_STRIP
+  fi
 else
   STRIP="$ac_cv_prog_STRIP"
 fi
@@ -1693,10 +2306,20 @@ INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
 
 # We need awk for the "check" target.  The system "awk" is bad on
 # some platforms.
+# Always define AMTAR for backward compatibility.
+
+AMTAR=${AMTAR-"${am_missing_run}tar"}
 
+am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
 
 
-          ac_config_headers="$ac_config_headers src/config/afsconfig.h"
+
+
+
+ac_config_headers="$ac_config_headers src/config/afsconfig.h"
+
+MACOS_VERSION=1.4.5fc2
+
 
 
 
@@ -1708,8 +2331,8 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
 set dummy ${ac_tool_prefix}gcc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_CC+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -1722,32 +2345,34 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_CC="${ac_tool_prefix}gcc"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 CC=$ac_cv_prog_CC
 if test -n "$CC"; then
-  echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
+  echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
+
 fi
 if test -z "$ac_cv_prog_CC"; then
   ac_ct_CC=$CC
   # Extract the first word of "gcc", so it can be a program name with args.
 set dummy gcc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -1760,36 +2385,51 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_ac_ct_CC="gcc"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 ac_ct_CC=$ac_cv_prog_ac_ct_CC
 if test -n "$ac_ct_CC"; then
-  echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6
+  echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+echo "${ECHO_T}$ac_ct_CC" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
-  CC=$ac_ct_CC
+  if test "x$ac_ct_CC" = x; then
+    CC=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+    CC=$ac_ct_CC
+  fi
 else
   CC="$ac_cv_prog_CC"
 fi
 
 if test -z "$CC"; then
-  if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
+          if test -n "$ac_tool_prefix"; then
+    # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
 set dummy ${ac_tool_prefix}cc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_CC+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -1802,74 +2442,34 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_CC="${ac_tool_prefix}cc"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 CC=$ac_cv_prog_CC
 if test -n "$CC"; then
-  echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
-else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-fi
-if test -z "$ac_cv_prog_CC"; then
-  ac_ct_CC=$CC
-  # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$ac_ct_CC"; then
-  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_CC="cc"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
-  echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6
+  { echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
-  CC=$ac_ct_CC
-else
-  CC="$ac_cv_prog_CC"
-fi
 
+  fi
 fi
 if test -z "$CC"; then
   # Extract the first word of "cc", so it can be a program name with args.
 set dummy cc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_CC+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -1883,7 +2483,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
     if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
        ac_prog_rejected=yes
        continue
@@ -1894,6 +2494,7 @@ do
   fi
 done
 done
+IFS=$as_save_IFS
 
 if test $ac_prog_rejected = yes; then
   # We found a bogon in the path, so make sure we never use it.
@@ -1911,22 +2512,23 @@ fi
 fi
 CC=$ac_cv_prog_CC
 if test -n "$CC"; then
-  echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
+  echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
+
 fi
 if test -z "$CC"; then
   if test -n "$ac_tool_prefix"; then
-  for ac_prog in cl
+  for ac_prog in cl.exe
   do
     # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_CC+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -1939,36 +2541,38 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 CC=$ac_cv_prog_CC
 if test -n "$CC"; then
-  echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
+  echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
+
     test -n "$CC" && break
   done
 fi
 if test -z "$CC"; then
   ac_ct_CC=$CC
-  for ac_prog in cl
+  for ac_prog in cl.exe
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -1981,29 +2585,45 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_ac_ct_CC="$ac_prog"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 ac_ct_CC=$ac_cv_prog_ac_ct_CC
 if test -n "$ac_ct_CC"; then
-  echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6
+  echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+echo "${ECHO_T}$ac_ct_CC" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
+
   test -n "$ac_ct_CC" && break
 done
 
-  CC=$ac_ct_CC
+  if test "x$ac_ct_CC" = x; then
+    CC=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+    CC=$ac_ct_CC
+  fi
 fi
 
 fi
@@ -2016,27 +2636,40 @@ See \`config.log' for more details." >&2;}
    { (exit 1); exit 1; }; }
 
 # Provide some information about the compiler.
-echo "$as_me:$LINENO:" \
-     "checking for C compiler version" >&5
+echo "$as_me:$LINENO: checking for C compiler version" >&5
 ac_compiler=`set X $ac_compile; echo $2`
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
-  (eval $ac_compiler --version </dev/null >&5) 2>&5
+{ (ac_try="$ac_compiler --version >&5"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compiler --version >&5") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5
-  (eval $ac_compiler -v </dev/null >&5) 2>&5
+{ (ac_try="$ac_compiler -v >&5"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compiler -v >&5") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5
-  (eval $ac_compiler -V </dev/null >&5) 2>&5
+{ (ac_try="$ac_compiler -V >&5"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compiler -V >&5") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }
 
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -2056,46 +2689,70 @@ ac_clean_files="$ac_clean_files a.out a.exe b.out"
 # Try to create an executable without -o first, disregard a.out.
 # It will help us diagnose broken compilers, and finding out an intuition
 # of exeext.
-echo "$as_me:$LINENO: checking for C compiler default output" >&5
-echo $ECHO_N "checking for C compiler default output... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking for C compiler default output file name" >&5
+echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6; }
 ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5
-  (eval $ac_link_default) 2>&5
+#
+# List of possible output files, starting from the most likely.
+# The algorithm is not robust to junk in `.', hence go to wildcards (a.*)
+# only as a last resort.  b.out is created by i960 compilers.
+ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out'
+#
+# The IRIX 6 linker writes into existing files which may not be
+# executable, retaining their permissions.  Remove them first so a
+# subsequent execution test works.
+ac_rmfiles=
+for ac_file in $ac_files
+do
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;;
+    * ) ac_rmfiles="$ac_rmfiles $ac_file";;
+  esac
+done
+rm -f $ac_rmfiles
+
+if { (ac_try="$ac_link_default"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link_default") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; then
-  # Find the output, starting from the most likely.  This scheme is
-# not robust to junk in `.', hence go to wildcards (a.*) only as a last
-# resort.
-
-# Be careful to initialize this variable, since it used to be cached.
-# Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile.
-ac_cv_exeext=
-# b.out is created by i960 compilers.
-for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out
+  # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
+# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
+# in a Makefile.  We should not override ac_cv_exeext if it was cached,
+# so that the user can short-circuit this test for compilers unknown to
+# Autoconf.
+for ac_file in $ac_files
 do
   test -f "$ac_file" || continue
   case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj )
-        ;;
-    conftest.$ac_ext )
-        # This is the source file.
-        ;;
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj )
+       ;;
     [ab].out )
-        # We found the default executable, but exeext='' is most
-        # certainly right.
-        break;;
+       # We found the default executable, but exeext='' is most
+       # certainly right.
+       break;;
     *.* )
-        ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-        # FIXME: I believe we export ac_cv_exeext for Libtool,
-        # but it would be cool to find out if it's true.  Does anybody
-        # maintain Libtool? --akim.
-        export ac_cv_exeext
-        break;;
+        if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
+       then :; else
+          ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+       fi
+       # We set ac_cv_exeext here because the later test for it is not
+       # safe: cross compilers may not add the suffix if given an `-o'
+       # argument, so we may need to know it at that point already.
+       # Even if this section looks crufty: it has the advantage of
+       # actually working.
+       break;;
     * )
-        break;;
+       break;;
   esac
 done
+test "$ac_cv_exeext" = no && ac_cv_exeext=
+
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
@@ -2108,19 +2765,23 @@ See \`config.log' for more details." >&2;}
 fi
 
 ac_exeext=$ac_cv_exeext
-echo "$as_me:$LINENO: result: $ac_file" >&5
-echo "${ECHO_T}$ac_file" >&6
+echo "$as_me:$LINENO: result: $ac_file" >&5
+echo "${ECHO_T}$ac_file" >&6; }
 
-# Check the compiler produces executables we can run.  If not, either
+# Check that the compiler produces executables we can run.  If not, either
 # the compiler is broken, or we cross compile.
-echo "$as_me:$LINENO: checking whether the C compiler works" >&5
-echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking whether the C compiler works" >&5
+echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6; }
 # FIXME: These cross compiler hacks should be removed for Autoconf 3.0
 # If not cross compiling, check that we can run a simple program.
 if test "$cross_compiling" != yes; then
   if { ac_try='./$ac_file'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -2139,22 +2800,27 @@ See \`config.log' for more details." >&2;}
     fi
   fi
 fi
-echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
 
 rm -f a.out a.exe conftest$ac_cv_exeext b.out
 ac_clean_files=$ac_clean_files_save
-# Check the compiler produces executables we can run.  If not, either
+# Check that the compiler produces executables we can run.  If not, either
 # the compiler is broken, or we cross compile.
-echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
-echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6
-echo "$as_me:$LINENO: result: $cross_compiling" >&5
-echo "${ECHO_T}$cross_compiling" >&6
-
-echo "$as_me:$LINENO: checking for suffix of executables" >&5
-echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+{ echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
+echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: $cross_compiling" >&5
+echo "${ECHO_T}$cross_compiling" >&6; }
+
+{ echo "$as_me:$LINENO: checking for suffix of executables" >&5
+echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; }
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; then
@@ -2165,10 +2831,9 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
 for ac_file in conftest.exe conftest conftest.*; do
   test -f "$ac_file" || continue
   case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;;
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;;
     *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-          export ac_cv_exeext
-          break;;
+         break;;
     * ) break;;
   esac
 done
@@ -2181,19 +2846,18 @@ See \`config.log' for more details." >&2;}
 fi
 
 rm -f conftest$ac_cv_exeext
-echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
-echo "${ECHO_T}$ac_cv_exeext" >&6
+echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
+echo "${ECHO_T}$ac_cv_exeext" >&6; }
 
 rm -f conftest.$ac_ext
 EXEEXT=$ac_cv_exeext
 ac_exeext=$EXEEXT
-echo "$as_me:$LINENO: checking for suffix of object files" >&5
-echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for suffix of object files" >&5
+echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; }
 if test "${ac_cv_objext+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -2209,14 +2873,20 @@ main ()
 }
 _ACEOF
 rm -f conftest.o conftest.obj
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; then
-  for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do
+  for ac_file in conftest.o conftest.obj conftest.*; do
+  test -f "$ac_file" || continue;
   case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;;
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;;
     *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
        break;;
   esac
@@ -2234,17 +2904,16 @@ fi
 
 rm -f conftest.$ac_cv_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
-echo "${ECHO_T}$ac_cv_objext" >&6
+echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
+echo "${ECHO_T}$ac_cv_objext" >&6; }
 OBJEXT=$ac_cv_objext
 ac_objext=$OBJEXT
-echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
-echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
+echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; }
 if test "${ac_cv_c_compiler_gnu+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -2263,14 +2932,36 @@ main ()
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -2279,25 +2970,139 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_compiler_gnu=no
+       ac_compiler_gnu=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 ac_cv_c_compiler_gnu=$ac_compiler_gnu
 
 fi
-echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6
+echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
+echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; }
 GCC=`test $ac_compiler_gnu = yes && echo yes`
 ac_test_CFLAGS=${CFLAGS+set}
 ac_save_CFLAGS=$CFLAGS
-CFLAGS="-g"
-echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
-echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6
+{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
+echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; }
 if test "${ac_cv_prog_cc_g+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
+  ac_save_c_werror_flag=$ac_c_werror_flag
+   ac_c_werror_flag=yes
+   ac_cv_prog_cc_g=no
+   CFLAGS="-g"
+   cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_prog_cc_g=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       CFLAGS=""
+      cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  :
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_c_werror_flag=$ac_save_c_werror_flag
+        CFLAGS="-g"
+        cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -2313,14 +3118,36 @@ main ()
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -2329,12 +3156,20 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_prog_cc_g=no
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+   ac_c_werror_flag=$ac_save_c_werror_flag
 fi
-echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
-echo "${ECHO_T}$ac_cv_prog_cc_g" >&6
+echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
+echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; }
 if test "$ac_test_CFLAGS" = set; then
   CFLAGS=$ac_save_CFLAGS
 elif test $ac_cv_prog_cc_g = yes; then
@@ -2350,15 +3185,14 @@ else
     CFLAGS=
   fi
 fi
-echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5
-echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6
-if test "${ac_cv_prog_cc_stdc+set}" = set; then
+{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5
+echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; }
+if test "${ac_cv_prog_cc_c89+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  ac_cv_prog_cc_stdc=no
+  ac_cv_prog_cc_c89=no
 ac_save_CC=$CC
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -2386,6 +3220,21 @@ static char *f (char * (*g) (char **, int), char **p, ...)
   va_end (v);
   return s;
 }
+
+/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
+   function prototypes and stuff, but not '\xHH' hex character constants.
+   These don't provoke an error unfortunately, instead are silently treated
+   as 'x'.  The following induces an error, until -std is added to get
+   proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
+   array size at least.  It's necessary to write '\x00'==0 to get something
+   that's true only with -std.  */
+int osf4_cc_array ['\x00' == 0 ? 1 : -1];
+
+/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
+   inside strings and character constants.  */
+#define FOO(x) 'x'
+int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
+
 int test (int i, double x);
 struct s1 {int (*f) (int a);};
 struct s2 {int (*f) (double a);};
@@ -2400,195 +3249,93 @@ return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
   return 0;
 }
 _ACEOF
-# Don't try gcc -ansi; that turns off useful extensions and
-# breaks some systems' header files.
-# AIX                  -qlanglvl=ansi
-# Ultrix and OSF/1     -std1
-# HP-UX 10.20 and later        -Ae
-# HP-UX older versions -Aa -D_HPUX_SOURCE
-# SVR4                 -Xc -D__EXTENSIONS__
-for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
+       -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
 do
   CC="$ac_save_CC $ac_arg"
   rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_prog_cc_stdc=$ac_arg
-break
+  ac_cv_prog_cc_c89=$ac_arg
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
+
 fi
-rm -f conftest.$ac_objext
+
+rm -f core conftest.err conftest.$ac_objext
+  test "x$ac_cv_prog_cc_c89" != "xno" && break
 done
-rm -f conftest.$ac_ext conftest.$ac_objext
+rm -f conftest.$ac_ext
 CC=$ac_save_CC
 
 fi
-
-case "x$ac_cv_prog_cc_stdc" in
-  x|xno)
-    echo "$as_me:$LINENO: result: none needed" >&5
-echo "${ECHO_T}none needed" >&6 ;;
+# AC_CACHE_VAL
+case "x$ac_cv_prog_cc_c89" in
+  x)
+    { echo "$as_me:$LINENO: result: none needed" >&5
+echo "${ECHO_T}none needed" >&6; } ;;
+  xno)
+    { echo "$as_me:$LINENO: result: unsupported" >&5
+echo "${ECHO_T}unsupported" >&6; } ;;
   *)
-    echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5
-echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6
-    CC="$CC $ac_cv_prog_cc_stdc" ;;
+    CC="$CC $ac_cv_prog_cc_c89"
+    { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5
+echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;;
 esac
 
-# Some people use a C++ compiler to compile C.  Since we use `exit',
-# in C++ we need to declare it.  In case someone uses the same compiler
-# for both compiling C and C++ we need to have the C++ compiler decide
-# the declaration of exit, since it's the most demanding environment.
-cat >conftest.$ac_ext <<_ACEOF
-#ifndef __cplusplus
-  choke me
-#endif
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  for ac_declaration in \
-   ''\
-   '#include <stdlib.h>' \
-   'extern "C" void std::exit (int) throw (); using std::exit;' \
-   'extern "C" void std::exit (int); using std::exit;' \
-   'extern "C" void exit (int) throw ();' \
-   'extern "C" void exit (int);' \
-   'void exit (int);'
-do
-  cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <stdlib.h>
-$ac_declaration
-int
-main ()
-{
-exit (42);
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  :
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-continue
-fi
-rm -f conftest.$ac_objext conftest.$ac_ext
-  cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_declaration
-int
-main ()
-{
-exit (42);
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  break
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.$ac_objext conftest.$ac_ext
-done
-rm -f conftest*
-if test -n "$ac_declaration"; then
-  echo '#ifdef __cplusplus' >>confdefs.h
-  echo $ac_declaration      >>confdefs.h
-  echo '#endif'             >>confdefs.h
-fi
-
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
-fi
-rm -f conftest.$ac_objext conftest.$ac_ext
 ac_ext=c
 ac_cpp='$CPP $CPPFLAGS'
 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
-rm -f .deps 2>/dev/null
-mkdir .deps 2>/dev/null
-if test -d .deps; then
-  DEPDIR=.deps
-else
-  # MS-DOS does not allow filenames that begin with a dot.
-  DEPDIR=_deps
-fi
-rmdir .deps 2>/dev/null
-
+DEPDIR="${am__leading_dot}deps"
 
-          ac_config_commands="$ac_config_commands depfiles"
+ac_config_commands="$ac_config_commands depfiles"
 
 
 am_make=${MAKE-make}
 cat > confinc << 'END'
-doit:
+am__doit:
        @echo done
+.PHONY: am__doit
 END
 # If we don't find an include directive, just comment out the code.
-echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5
-echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5
+echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6; }
 am__include="#"
 am__quote=
 _am_result=none
@@ -2615,15 +3362,15 @@ if test "$am__include" = "#"; then
 fi
 
 
-echo "$as_me:$LINENO: result: $_am_result" >&5
-echo "${ECHO_T}$_am_result" >&6
+echo "$as_me:$LINENO: result: $_am_result" >&5
+echo "${ECHO_T}$_am_result" >&6; }
 rm -f confinc confmf
 
-# Check whether --enable-dependency-tracking or --disable-dependency-tracking was given.
+# Check whether --enable-dependency-tracking was given.
 if test "${enable_dependency_tracking+set}" = set; then
-  enableval="$enable_dependency_tracking"
+  enableval=$enable_dependency_tracking;
+fi
 
-fi;
 if test "x$enable_dependency_tracking" != xno; then
   am_depcomp="$ac_aux_dir/depcomp"
   AMDEPBACKSLASH='\'
@@ -2643,8 +3390,8 @@ fi
 
 depcc="$CC"   am_compiler_list=
 
-echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
-echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
+echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; }
 if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -2659,18 +3406,34 @@ else
   # using a relative directory.
   cp "$am_depcomp" conftest.dir
   cd conftest.dir
+  # We will build objects and dependencies in a subdirectory because
+  # it helps to detect inapplicable dependency modes.  For instance
+  # both Tru64's cc and ICC support -MD to output dependencies as a
+  # side effect of compilation, but ICC will put the dependencies in
+  # the current directory while Tru64 will put them in the object
+  # directory.
+  mkdir sub
 
   am_cv_CC_dependencies_compiler_type=none
   if test "$am_compiler_list" = ""; then
      am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
   fi
   for depmode in $am_compiler_list; do
+    # Setup a source with many dependencies, because some compilers
+    # like to wrap large dependency lists on column 80 (with \), and
+    # we should not choose a depcomp mode which is confused by this.
+    #
     # We need to recreate these files for each test, as the compiler may
     # overwrite some of them when testing with obscure command lines.
     # This happens at least with the AIX C compiler.
-    echo '#include "conftest.h"' > conftest.c
-    echo 'int i;' > conftest.h
-    echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf
+    : > sub/conftest.c
+    for i in 1 2 3 4 5 6; do
+      echo '#include "conftst'$i'.h"' >> sub/conftest.c
+      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+      # Solaris 8's {/usr,}/bin/sh.
+      touch sub/conftst$i.h
+    done
+    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
 
     case $depmode in
     nosideeffect)
@@ -2688,13 +3451,25 @@ else
     # mode.  It turns out that the SunPro C++ compiler does not properly
     # handle `-M -o', and we need to detect this.
     if depmode=$depmode \
-       source=conftest.c object=conftest.o \
-       depfile=conftest.Po tmpdepfile=conftest.TPo \
-       $SHELL ./depcomp $depcc -c -o conftest.o conftest.c >/dev/null 2>&1 &&
-       grep conftest.h conftest.Po > /dev/null 2>&1 &&
+       source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
+       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+       $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
+         >/dev/null 2>conftest.err &&
+       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
        ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
-      am_cv_CC_dependencies_compiler_type=$depmode
-      break
+      # icc doesn't choke on unknown options, it will just issue warnings
+      # or remarks (even with -Werror).  So we grep stderr for any message
+      # that says an option was ignored or not supported.
+      # When given -MP, icc 7.0 and 7.1 complain thusly:
+      #   icc: Command line warning: ignoring option '-M'; no argument required
+      # The diagnosis changed in icc 8.0:
+      #   icc: Command line remark: option '-MP' not supported
+      if (grep 'ignoring option' conftest.err ||
+          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+        am_cv_CC_dependencies_compiler_type=$depmode
+        break
+      fi
     fi
   done
 
@@ -2705,8 +3480,8 @@ else
 fi
 
 fi
-echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5
-echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6
+echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5
+echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; }
 CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
 
 
@@ -2723,35 +3498,49 @@ fi
 
 
 # Make sure we can run config.sub.
-$ac_config_sub sun4 >/dev/null 2>&1 ||
-  { { echo "$as_me:$LINENO: error: cannot run $ac_config_sub" >&5
-echo "$as_me: error: cannot run $ac_config_sub" >&2;}
+$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
+  { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5
+echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;}
    { (exit 1); exit 1; }; }
 
-echo "$as_me:$LINENO: checking build system type" >&5
-echo $ECHO_N "checking build system type... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking build system type" >&5
+echo $ECHO_N "checking build system type... $ECHO_C" >&6; }
 if test "${ac_cv_build+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  ac_cv_build_alias=$build_alias
-test -z "$ac_cv_build_alias" &&
-  ac_cv_build_alias=`$ac_config_guess`
-test -z "$ac_cv_build_alias" &&
+  ac_build_alias=$build_alias
+test "x$ac_build_alias" = x &&
+  ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
+test "x$ac_build_alias" = x &&
   { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
 echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
    { (exit 1); exit 1; }; }
-ac_cv_build=`$ac_config_sub $ac_cv_build_alias` ||
-  { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_build_alias failed" >&5
-echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed" >&2;}
+ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
+  { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5
+echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;}
    { (exit 1); exit 1; }; }
 
 fi
-echo "$as_me:$LINENO: result: $ac_cv_build" >&5
-echo "${ECHO_T}$ac_cv_build" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_build" >&5
+echo "${ECHO_T}$ac_cv_build" >&6; }
+case $ac_cv_build in
+*-*-*) ;;
+*) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5
+echo "$as_me: error: invalid value of canonical build" >&2;}
+   { (exit 1); exit 1; }; };;
+esac
 build=$ac_cv_build
-build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_build
+shift
+build_cpu=$1
+build_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+build_os=$*
+IFS=$ac_save_IFS
+case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
 
 
 
@@ -2760,8 +3549,8 @@ ac_cpp='$CPP $CPPFLAGS'
 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
-echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
-echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
+echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; }
 # On Suns, sometimes $CPP names a directory.
 if test -n "$CPP" && test -d "$CPP"; then
   CPP=
@@ -2783,7 +3572,6 @@ do
   # On the NeXT, cc -E runs the code through the compiler's parser,
   # not just through cpp. "Syntax error" is here to catch this case.
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -2794,10 +3582,15 @@ cat >>conftest.$ac_ext <<_ACEOF
 #else
 # include <assert.h>
 #endif
-                     Syntax error
+                    Syntax error
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
@@ -2806,6 +3599,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
   (exit $ac_status); } >/dev/null; then
   if test -s conftest.err; then
     ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
   else
     ac_cpp_err=
   fi
@@ -2821,12 +3615,12 @@ sed 's/^/| /' conftest.$ac_ext >&5
   # Broken: fails on valid input.
 continue
 fi
+
 rm -f conftest.err conftest.$ac_ext
 
-  # OK, works on sane cases.  Now check whether non-existent headers
+  # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -2834,8 +3628,13 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 #include <ac_nonexistent.h>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
@@ -2844,6 +3643,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
   (exit $ac_status); } >/dev/null; then
   if test -s conftest.err; then
     ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
   else
     ac_cpp_err=
   fi
@@ -2861,6 +3661,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
 ac_preproc_ok=:
 break
 fi
+
 rm -f conftest.err conftest.$ac_ext
 
 done
@@ -2878,8 +3679,8 @@ fi
 else
   ac_cv_prog_CPP=$CPP
 fi
-echo "$as_me:$LINENO: result: $CPP" >&5
-echo "${ECHO_T}$CPP" >&6
+echo "$as_me:$LINENO: result: $CPP" >&5
+echo "${ECHO_T}$CPP" >&6; }
 ac_preproc_ok=false
 for ac_c_preproc_warn_flag in '' yes
 do
@@ -2890,7 +3691,6 @@ do
   # On the NeXT, cc -E runs the code through the compiler's parser,
   # not just through cpp. "Syntax error" is here to catch this case.
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -2901,10 +3701,15 @@ cat >>conftest.$ac_ext <<_ACEOF
 #else
 # include <assert.h>
 #endif
-                     Syntax error
+                    Syntax error
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
@@ -2913,6 +3718,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
   (exit $ac_status); } >/dev/null; then
   if test -s conftest.err; then
     ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
   else
     ac_cpp_err=
   fi
@@ -2928,12 +3734,12 @@ sed 's/^/| /' conftest.$ac_ext >&5
   # Broken: fails on valid input.
 continue
 fi
+
 rm -f conftest.err conftest.$ac_ext
 
-  # OK, works on sane cases.  Now check whether non-existent headers
+  # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -2941,8 +3747,13 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 #include <ac_nonexistent.h>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
@@ -2951,6 +3762,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
   (exit $ac_status); } >/dev/null; then
   if test -s conftest.err; then
     ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
   else
     ac_cpp_err=
   fi
@@ -2968,6 +3780,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
 ac_preproc_ok=:
 break
 fi
+
 rm -f conftest.err conftest.$ac_ext
 
 done
@@ -2990,28 +3803,174 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
-echo "$as_me:$LINENO: checking for egrep" >&5
-echo $ECHO_N "checking for egrep... $ECHO_C" >&6
-if test "${ac_cv_prog_egrep+set}" = set; then
+{ echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5
+echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; }
+if test "${ac_cv_path_GREP+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  # Extract the first word of "grep ggrep" to use in msg output
+if test -z "$GREP"; then
+set dummy grep ggrep; ac_prog_name=$2
+if test "${ac_cv_path_GREP+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_path_GREP_found=false
+# Loop through the user's path and test for each of PROGNAME-LIST
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_prog in grep ggrep; do
+  for ac_exec_ext in '' $ac_executable_extensions; do
+    ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
+    { test -f "$ac_path_GREP" && $as_executable_p "$ac_path_GREP"; } || continue
+    # Check for GNU ac_path_GREP and select it if it is found.
+  # Check for GNU $ac_path_GREP
+case `"$ac_path_GREP" --version 2>&1` in
+*GNU*)
+  ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
+*)
+  ac_count=0
+  echo $ECHO_N "0123456789$ECHO_C" >"conftest.in"
+  while :
+  do
+    cat "conftest.in" "conftest.in" >"conftest.tmp"
+    mv "conftest.tmp" "conftest.in"
+    cp "conftest.in" "conftest.nl"
+    echo 'GREP' >> "conftest.nl"
+    "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+    ac_count=`expr $ac_count + 1`
+    if test $ac_count -gt ${ac_path_GREP_max-0}; then
+      # Best one so far, save it but keep looking for a better one
+      ac_cv_path_GREP="$ac_path_GREP"
+      ac_path_GREP_max=$ac_count
+    fi
+    # 10*(2^10) chars as input seems more than enough
+    test $ac_count -gt 10 && break
+  done
+  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+
+    $ac_path_GREP_found && break 3
+  done
+done
+
+done
+IFS=$as_save_IFS
+
+
+fi
+
+GREP="$ac_cv_path_GREP"
+if test -z "$GREP"; then
+  { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
+echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+else
+  ac_cv_path_GREP=$GREP
+fi
+
+
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5
+echo "${ECHO_T}$ac_cv_path_GREP" >&6; }
+ GREP="$ac_cv_path_GREP"
+
+
+{ echo "$as_me:$LINENO: checking for egrep" >&5
+echo $ECHO_N "checking for egrep... $ECHO_C" >&6; }
+if test "${ac_cv_path_EGREP+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  if echo a | (grep -E '(a|b)') >/dev/null 2>&1
-    then ac_cv_prog_egrep='grep -E'
-    else ac_cv_prog_egrep='egrep'
+  if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
+   then ac_cv_path_EGREP="$GREP -E"
+   else
+     # Extract the first word of "egrep" to use in msg output
+if test -z "$EGREP"; then
+set dummy egrep; ac_prog_name=$2
+if test "${ac_cv_path_EGREP+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_path_EGREP_found=false
+# Loop through the user's path and test for each of PROGNAME-LIST
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_prog in egrep; do
+  for ac_exec_ext in '' $ac_executable_extensions; do
+    ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
+    { test -f "$ac_path_EGREP" && $as_executable_p "$ac_path_EGREP"; } || continue
+    # Check for GNU ac_path_EGREP and select it if it is found.
+  # Check for GNU $ac_path_EGREP
+case `"$ac_path_EGREP" --version 2>&1` in
+*GNU*)
+  ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
+*)
+  ac_count=0
+  echo $ECHO_N "0123456789$ECHO_C" >"conftest.in"
+  while :
+  do
+    cat "conftest.in" "conftest.in" >"conftest.tmp"
+    mv "conftest.tmp" "conftest.in"
+    cp "conftest.in" "conftest.nl"
+    echo 'EGREP' >> "conftest.nl"
+    "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+    ac_count=`expr $ac_count + 1`
+    if test $ac_count -gt ${ac_path_EGREP_max-0}; then
+      # Best one so far, save it but keep looking for a better one
+      ac_cv_path_EGREP="$ac_path_EGREP"
+      ac_path_EGREP_max=$ac_count
     fi
+    # 10*(2^10) chars as input seems more than enough
+    test $ac_count -gt 10 && break
+  done
+  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+
+    $ac_path_EGREP_found && break 3
+  done
+done
+
+done
+IFS=$as_save_IFS
+
+
+fi
+
+EGREP="$ac_cv_path_EGREP"
+if test -z "$EGREP"; then
+  { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
+echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+else
+  ac_cv_path_EGREP=$EGREP
+fi
+
+
+   fi
 fi
-echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5
-echo "${ECHO_T}$ac_cv_prog_egrep" >&6
- EGREP=$ac_cv_prog_egrep
+{ echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5
+echo "${ECHO_T}$ac_cv_path_EGREP" >&6; }
+ EGREP="$ac_cv_path_EGREP"
 
 
-echo "$as_me:$LINENO: checking for ANSI C header files" >&5
-echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for ANSI C header files" >&5
+echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; }
 if test "${ac_cv_header_stdc+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -3031,14 +3990,36 @@ main ()
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -3047,14 +4028,14 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_header_stdc=no
+       ac_cv_header_stdc=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
 if test $ac_cv_header_stdc = yes; then
   # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -3076,7 +4057,6 @@ fi
 if test $ac_cv_header_stdc = yes; then
   # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -3101,21 +4081,21 @@ if test $ac_cv_header_stdc = yes; then
   :
 else
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 #include <ctype.h>
+#include <stdlib.h>
 #if ((' ' & 0x0FF) == 0x020)
 # define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
 # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
 #else
 # define ISLOWER(c) \
-                   (('a' <= (c) && (c) <= 'i') \
-                     || ('j' <= (c) && (c) <= 'r') \
-                     || ('s' <= (c) && (c) <= 'z'))
+                  (('a' <= (c) && (c) <= 'i') \
+                    || ('j' <= (c) && (c) <= 'r') \
+                    || ('s' <= (c) && (c) <= 'z'))
 # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
 #endif
 
@@ -3126,19 +4106,28 @@ main ()
   int i;
   for (i = 0; i < 256; i++)
     if (XOR (islower (i), ISLOWER (i))
-        || toupper (i) != TOUPPER (i))
-      exit(2);
-  exit (0);
+       || toupper (i) != TOUPPER (i))
+      return 2;
+  return 0;
 }
 _ACEOF
 rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -3151,12 +4140,14 @@ sed 's/^/| /' conftest.$ac_ext >&5
 ( exit $ac_status )
 ac_cv_header_stdc=no
 fi
-rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
+
+
 fi
 fi
-echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
-echo "${ECHO_T}$ac_cv_header_stdc" >&6
+echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
+echo "${ECHO_T}$ac_cv_header_stdc" >&6; }
 if test $ac_cv_header_stdc = yes; then
 
 cat >>confdefs.h <<\_ACEOF
@@ -3176,16 +4167,15 @@ fi
 
 
 for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
-                  inttypes.h stdint.h unistd.h
+                 inttypes.h stdint.h unistd.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -3196,14 +4186,36 @@ $ac_includes_default
 #include <$ac_header>
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -3212,12 +4224,14 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-eval "$as_ac_Header=no"
+       eval "$as_ac_Header=no"
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+              { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 if test `eval echo '${'$as_ac_Header'}'` = yes; then
   cat >>confdefs.h <<_ACEOF
 #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
@@ -3232,8 +4246,8 @@ for ac_prog in flex lex
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_LEX+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -3246,70 +4260,93 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_LEX="$ac_prog"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 LEX=$ac_cv_prog_LEX
 if test -n "$LEX"; then
-  echo "$as_me:$LINENO: result: $LEX" >&5
-echo "${ECHO_T}$LEX" >&6
+  echo "$as_me:$LINENO: result: $LEX" >&5
+echo "${ECHO_T}$LEX" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
+
   test -n "$LEX" && break
 done
 test -n "$LEX" || LEX=":"
 
 if test -z "$LEXLIB"
 then
-  echo "$as_me:$LINENO: checking for yywrap in -lfl" >&5
-echo $ECHO_N "checking for yywrap in -lfl... $ECHO_C" >&6
+  echo "$as_me:$LINENO: checking for yywrap in -lfl" >&5
+echo $ECHO_N "checking for yywrap in -lfl... $ECHO_C" >&6; }
 if test "${ac_cv_lib_fl_yywrap+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lfl  $LIBS"
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char yywrap ();
 int
 main ()
 {
-yywrap ();
+return yywrap ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -3318,55 +4355,78 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_fl_yywrap=no
+       ac_cv_lib_fl_yywrap=no
 fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_fl_yywrap" >&5
-echo "${ECHO_T}$ac_cv_lib_fl_yywrap" >&6
+echo "$as_me:$LINENO: result: $ac_cv_lib_fl_yywrap" >&5
+echo "${ECHO_T}$ac_cv_lib_fl_yywrap" >&6; }
 if test $ac_cv_lib_fl_yywrap = yes; then
   LEXLIB="-lfl"
 else
-  echo "$as_me:$LINENO: checking for yywrap in -ll" >&5
-echo $ECHO_N "checking for yywrap in -ll... $ECHO_C" >&6
+  echo "$as_me:$LINENO: checking for yywrap in -ll" >&5
+echo $ECHO_N "checking for yywrap in -ll... $ECHO_C" >&6; }
 if test "${ac_cv_lib_l_yywrap+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-ll  $LIBS"
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char yywrap ();
 int
 main ()
 {
-yywrap ();
+return yywrap ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -3375,13 +4435,15 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_l_yywrap=no
+       ac_cv_lib_l_yywrap=no
 fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_l_yywrap" >&5
-echo "${ECHO_T}$ac_cv_lib_l_yywrap" >&6
+echo "$as_me:$LINENO: result: $ac_cv_lib_l_yywrap" >&5
+echo "${ECHO_T}$ac_cv_lib_l_yywrap" >&6; }
 if test $ac_cv_lib_l_yywrap = yes; then
   LEXLIB="-ll"
 fi
@@ -3391,8 +4453,8 @@ fi
 fi
 
 if test "x$LEX" != "x:"; then
-  echo "$as_me:$LINENO: checking lex output file root" >&5
-echo $ECHO_N "checking lex output file root... $ECHO_C" >&6
+  echo "$as_me:$LINENO: checking lex output file root" >&5
+echo $ECHO_N "checking lex output file root... $ECHO_C" >&6; }
 if test "${ac_cv_prog_lex_root+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -3402,8 +4464,13 @@ cat >conftest.l <<_ACEOF
 %%
 %%
 _ACEOF
-{ (eval echo "$as_me:$LINENO: \"$LEX conftest.l\"") >&5
-  (eval $LEX conftest.l) 2>&5
+{ (ac_try="$LEX conftest.l"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$LEX conftest.l") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }
@@ -3417,13 +4484,13 @@ echo "$as_me: error: cannot find output from $LEX; giving up" >&2;}
    { (exit 1); exit 1; }; }
 fi
 fi
-echo "$as_me:$LINENO: result: $ac_cv_prog_lex_root" >&5
-echo "${ECHO_T}$ac_cv_prog_lex_root" >&6
+echo "$as_me:$LINENO: result: $ac_cv_prog_lex_root" >&5
+echo "${ECHO_T}$ac_cv_prog_lex_root" >&6; }
 rm -f conftest.l
 LEX_OUTPUT_ROOT=$ac_cv_prog_lex_root
 
-echo "$as_me:$LINENO: checking whether yytext is a pointer" >&5
-echo $ECHO_N "checking whether yytext is a pointer... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking whether yytext is a pointer" >&5
+echo $ECHO_N "checking whether yytext is a pointer... $ECHO_C" >&6; }
 if test "${ac_cv_prog_lex_yytext_pointer+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -3438,14 +4505,36 @@ cat >conftest.$ac_ext <<_ACEOF
 `cat $LEX_OUTPUT_ROOT.c`
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -3454,14 +4543,17 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
+
 fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_save_LIBS
 rm -f "${LEX_OUTPUT_ROOT}.c"
 
 fi
-echo "$as_me:$LINENO: result: $ac_cv_prog_lex_yytext_pointer" >&5
-echo "${ECHO_T}$ac_cv_prog_lex_yytext_pointer" >&6
+echo "$as_me:$LINENO: result: $ac_cv_prog_lex_yytext_pointer" >&5
+echo "${ECHO_T}$ac_cv_prog_lex_yytext_pointer" >&6; }
 if test $ac_cv_prog_lex_yytext_pointer = yes; then
 
 cat >>confdefs.h <<\_ACEOF
@@ -3471,11 +4563,11 @@ _ACEOF
 fi
 
 fi
-echo "$as_me:$LINENO: checking for function prototypes" >&5
-echo $ECHO_N "checking for function prototypes... $ECHO_C" >&6
-if test "$ac_cv_prog_cc_stdc" != no; then
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+echo "$as_me:$LINENO: checking for function prototypes" >&5
+echo $ECHO_N "checking for function prototypes... $ECHO_C" >&6; }
+if test "$ac_cv_prog_cc_c89" != no; then
+  echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 #define PROTOTYPES 1
@@ -3487,239 +4579,253 @@ cat >>confdefs.h <<\_ACEOF
 _ACEOF
 
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
 
 
-echo "$as_me:$LINENO: checking host system type" >&5
-echo $ECHO_N "checking host system type... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking host system type" >&5
+echo $ECHO_N "checking host system type... $ECHO_C" >&6; }
 if test "${ac_cv_host+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  ac_cv_host_alias=$host_alias
-test -z "$ac_cv_host_alias" &&
-  ac_cv_host_alias=$ac_cv_build_alias
-ac_cv_host=`$ac_config_sub $ac_cv_host_alias` ||
-  { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_host_alias failed" >&5
-echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;}
+  if test "x$host_alias" = x; then
+  ac_cv_host=$ac_cv_build
+else
+  ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
+    { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5
+echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;}
    { (exit 1); exit 1; }; }
+fi
 
 fi
-echo "$as_me:$LINENO: result: $ac_cv_host" >&5
-echo "${ECHO_T}$ac_cv_host" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_host" >&5
+echo "${ECHO_T}$ac_cv_host" >&6; }
+case $ac_cv_host in
+*-*-*) ;;
+*) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5
+echo "$as_me: error: invalid value of canonical host" >&2;}
+   { (exit 1); exit 1; }; };;
+esac
 host=$ac_cv_host
-host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_host
+shift
+host_cpu=$1
+host_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+host_os=$*
+IFS=$ac_save_IFS
+case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
 
 
 SRCDIR_PARENT=`pwd`
 
 #BOZO_SAVE_CORES pam sia
 
-# Check whether --with-afs-sysname or --without-afs-sysname was given.
+# Check whether --with-afs-sysname was given.
 if test "${with_afs_sysname+set}" = set; then
-  withval="$with_afs_sysname"
+  withval=$with_afs_sysname;
+fi
 
-fi;
-# Check whether --enable-obsolete or --disable-obsolete was given.
+# Check whether --enable-obsolete was given.
 if test "${enable_obsolete+set}" = set; then
-  enableval="$enable_obsolete"
-
+  enableval=$enable_obsolete;
 else
   enable_obsolete="no"
-fi;
-# Check whether --enable-afsdb or --disable-afsdb was given.
-if test "${enable_afsdb+set}" = set; then
-  enableval="$enable_afsdb"
+fi
 
+# Check whether --enable-afsdb was given.
+if test "${enable_afsdb+set}" = set; then
+  enableval=$enable_afsdb;
 else
   enable_afsdb="yes"
-fi;
-# Check whether --enable-pam or --disable-pam was given.
-if test "${enable_pam+set}" = set; then
-  enableval="$enable_pam"
+fi
 
+# Check whether --enable-pam was given.
+if test "${enable_pam+set}" = set; then
+  enableval=$enable_pam;
 else
   enable_pam="yes"
-fi;
-# Check whether --enable-bos-restricted-mode or --disable-bos-restricted-mode was given.
-if test "${enable_bos_restricted_mode+set}" = set; then
-  enableval="$enable_bos_restricted_mode"
+fi
 
+# Check whether --enable-bos-restricted-mode was given.
+if test "${enable_bos_restricted_mode+set}" = set; then
+  enableval=$enable_bos_restricted_mode;
 else
   enable_bos_restricted_mode="no"
-fi;
-# Check whether --enable-bos-new-config or --disable-bos-new-config was given.
-if test "${enable_bos_new_config+set}" = set; then
-  enableval="$enable_bos_new_config"
+fi
 
+# Check whether --enable-bos-new-config was given.
+if test "${enable_bos_new_config+set}" = set; then
+  enableval=$enable_bos_new_config;
 else
   enable_bos_new_config="no"
-fi;
-# Check whether --enable-largefile-fileserver or --disable-largefile-fileserver was given.
-if test "${enable_largefile_fileserver+set}" = set; then
-  enableval="$enable_largefile_fileserver"
+fi
 
+# Check whether --enable-largefile-fileserver was given.
+if test "${enable_largefile_fileserver+set}" = set; then
+  enableval=$enable_largefile_fileserver;
 else
   enable_largefile_fileserver="yes"
-fi;
-# Check whether --enable-namei-fileserver or --disable-namei-fileserver was given.
-if test "${enable_namei_fileserver+set}" = set; then
-  enableval="$enable_namei_fileserver"
+fi
 
+# Check whether --enable-namei-fileserver was given.
+if test "${enable_namei_fileserver+set}" = set; then
+  enableval=$enable_namei_fileserver;
 else
   enable_namei_fileserver="no"
-fi;
-# Check whether --enable-supergroups or --disable-supergroups was given.
-if test "${enable_supergroups+set}" = set; then
-  enableval="$enable_supergroups"
+fi
 
+# Check whether --enable-supergroups was given.
+if test "${enable_supergroups+set}" = set; then
+  enableval=$enable_supergroups;
 else
   enable_supergroups="no"
-fi;
-# Check whether --enable-fast-restart or --disable-fast-restart was given.
-if test "${enable_fast_restart+set}" = set; then
-  enableval="$enable_fast_restart"
+fi
 
+# Check whether --enable-fast-restart was given.
+if test "${enable_fast_restart+set}" = set; then
+  enableval=$enable_fast_restart;
 else
   enable_fast_restart="no"
-fi;
-# Check whether --enable-bitmap-later or --disable-bitmap-later was given.
-if test "${enable_bitmap_later+set}" = set; then
-  enableval="$enable_bitmap_later"
+fi
 
+# Check whether --enable-bitmap-later was given.
+if test "${enable_bitmap_later+set}" = set; then
+  enableval=$enable_bitmap_later;
 else
   enable_bitmap_later="no"
-fi;
-# Check whether --enable-unix-sockets or --disable-unix-sockets was given.
-if test "${enable_unix_sockets+set}" = set; then
-  enableval="$enable_unix_sockets"
+fi
 
+# Check whether --enable-unix-sockets was given.
+if test "${enable_unix_sockets+set}" = set; then
+  enableval=$enable_unix_sockets;
 else
   enable_unix_sockets="yes"
-fi;
-# Check whether --enable-full-vos-listvol-switch or --disable-full-vos-listvol-switch was given.
-if test "${enable_full_vos_listvol_switch+set}" = set; then
-  enableval="$enable_full_vos_listvol_switch"
+fi
 
+# Check whether --enable-full-vos-listvol-switch was given.
+if test "${enable_full_vos_listvol_switch+set}" = set; then
+  enableval=$enable_full_vos_listvol_switch;
 else
   enable_full_vos_listvol_switch="yes"
-fi;
+fi
+
 
-# Check whether --with-dux-kernel-headers or --without-dux-kernel-headers was given.
+# Check whether --with-dux-kernel-headers was given.
 if test "${with_dux_kernel_headers+set}" = set; then
-  withval="$with_dux_kernel_headers"
+  withval=$with_dux_kernel_headers;
+fi
 
-fi;
 
-# Check whether --with-linux-kernel-headers or --without-linux-kernel-headers was given.
+# Check whether --with-linux-kernel-headers was given.
 if test "${with_linux_kernel_headers+set}" = set; then
-  withval="$with_linux_kernel_headers"
+  withval=$with_linux_kernel_headers;
+fi
 
-fi;
 
-# Check whether --with-bsd-kernel-headers or --without-bsd-kernel-headers was given.
+# Check whether --with-bsd-kernel-headers was given.
 if test "${with_bsd_kernel_headers+set}" = set; then
-  withval="$with_bsd_kernel_headers"
+  withval=$with_bsd_kernel_headers;
+fi
 
-fi;
 
-# Check whether --with-bsd-kernel-build or --without-bsd-kernel-build was given.
+# Check whether --with-bsd-kernel-build was given.
 if test "${with_bsd_kernel_build+set}" = set; then
-  withval="$with_bsd_kernel_build"
+  withval=$with_bsd_kernel_build;
+fi
 
-fi;
-# Check whether --enable-kernel-module or --disable-kernel-module was given.
+# Check whether --enable-kernel-module was given.
 if test "${enable_kernel_module+set}" = set; then
-  enableval="$enable_kernel_module"
-
+  enableval=$enable_kernel_module;
 else
   enable_kernel_module="yes"
 
-fi;
-# Check whether --enable-redhat-buildsys or --disable-redhat-buildsys was given.
-if test "${enable_redhat_buildsys+set}" = set; then
-  enableval="$enable_redhat_buildsys"
+fi
 
+# Check whether --enable-redhat-buildsys was given.
+if test "${enable_redhat_buildsys+set}" = set; then
+  enableval=$enable_redhat_buildsys;
 else
   enable_redhat_buildsys="no"
 
-fi;
-# Check whether --enable-transarc-paths or --disable-transarc-paths was given.
-if test "${enable_transarc_paths+set}" = set; then
-  enableval="$enable_transarc_paths"
+fi
 
+# Check whether --enable-transarc-paths was given.
+if test "${enable_transarc_paths+set}" = set; then
+  enableval=$enable_transarc_paths;
 else
   enable_transarc_paths="no"
 
-fi;
-# Check whether --enable-tivoli-tsm or --disable-tivoli-tsm was given.
-if test "${enable_tivoli_tsm+set}" = set; then
-  enableval="$enable_tivoli_tsm"
+fi
 
+# Check whether --enable-tivoli-tsm was given.
+if test "${enable_tivoli_tsm+set}" = set; then
+  enableval=$enable_tivoli_tsm;
 else
   enable_tivoli_tsm="no"
 
-fi;
-# Check whether --enable-debug-kernel or --disable-debug-kernel was given.
-if test "${enable_debug_kernel+set}" = set; then
-  enableval="$enable_debug_kernel"
+fi
 
+# Check whether --enable-debug-kernel was given.
+if test "${enable_debug_kernel+set}" = set; then
+  enableval=$enable_debug_kernel;
 else
   enable_debug_kernel="no"
 
-fi;
-# Check whether --enable-optimize-kernel or --disable-optimize-kernel was given.
-if test "${enable_optimize_kernel+set}" = set; then
-  enableval="$enable_optimize_kernel"
+fi
 
+# Check whether --enable-optimize-kernel was given.
+if test "${enable_optimize_kernel+set}" = set; then
+  enableval=$enable_optimize_kernel;
 else
   enable_optimize_kernel="yes"
 
-fi;
-# Check whether --enable-debug or --disable-debug was given.
-if test "${enable_debug+set}" = set; then
-  enableval="$enable_debug"
+fi
 
+# Check whether --enable-debug was given.
+if test "${enable_debug+set}" = set; then
+  enableval=$enable_debug;
 else
   enable_debug="no"
 
-fi;
-# Check whether --enable-optimize or --disable-optimize was given.
-if test "${enable_optimize+set}" = set; then
-  enableval="$enable_optimize"
+fi
 
+# Check whether --enable-optimize was given.
+if test "${enable_optimize+set}" = set; then
+  enableval=$enable_optimize;
 else
   enable_optimize="yes"
 
-fi;
-# Check whether --enable-debug-lwp or --disable-debug-lwp was given.
-if test "${enable_debug_lwp+set}" = set; then
-  enableval="$enable_debug_lwp"
+fi
 
+# Check whether --enable-debug-lwp was given.
+if test "${enable_debug_lwp+set}" = set; then
+  enableval=$enable_debug_lwp;
 else
   enable_debug_lwp="no"
 
-fi;
-# Check whether --enable-optimize-lwp or --disable-optimize-lwp was given.
-if test "${enable_optimize_lwp+set}" = set; then
-  enableval="$enable_optimize_lwp"
+fi
 
+# Check whether --enable-optimize-lwp was given.
+if test "${enable_optimize_lwp+set}" = set; then
+  enableval=$enable_optimize_lwp;
 else
   enable_optimize_lwp="yes"
 
-fi;
+fi
+
 
 enable_login="no"
 
 
-echo "$as_me:$LINENO: checking for AIX" >&5
-echo $ECHO_N "checking for AIX... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for AIX" >&5
+echo $ECHO_N "checking for AIX... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -3732,94 +4838,131 @@ cat >>conftest.$ac_ext <<_ACEOF
 _ACEOF
 if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
   $EGREP "yes" >/dev/null 2>&1; then
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+  echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
 cat >>confdefs.h <<\_ACEOF
 #define _ALL_SOURCE 1
 _ACEOF
 
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 rm -f conftest*
 
 
-
-        echo "$as_me:$LINENO: checking for strerror in -lcposix" >&5
-echo $ECHO_N "checking for strerror in -lcposix... $ECHO_C" >&6
-if test "${ac_cv_lib_cposix_strerror+set}" = set; then
+{ echo "$as_me:$LINENO: checking for library containing strerror" >&5
+echo $ECHO_N "checking for library containing strerror... $ECHO_C" >&6; }
+if test "${ac_cv_search_strerror+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lcposix  $LIBS"
+  ac_func_search_save_LIBS=$LIBS
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char strerror ();
 int
 main ()
 {
-strerror ();
+return strerror ();
   ;
   return 0;
 }
 _ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+for ac_lib in '' cposix; do
+  if test -z "$ac_lib"; then
+    ac_res="none required"
+  else
+    ac_res=-l$ac_lib
+    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
+  fi
+  rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_lib_cposix_strerror=yes
+  ac_cv_search_strerror=$ac_res
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_cposix_strerror=no
+
 fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
+
+rm -f core conftest.err conftest.$ac_objext \
+      conftest$ac_exeext
+  if test "${ac_cv_search_strerror+set}" = set; then
+  break
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_cposix_strerror" >&5
-echo "${ECHO_T}$ac_cv_lib_cposix_strerror" >&6
-if test $ac_cv_lib_cposix_strerror = yes; then
-  LIBS="$LIBS -lcposix"
+done
+if test "${ac_cv_search_strerror+set}" = set; then
+  :
+else
+  ac_cv_search_strerror=no
 fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_search_strerror" >&5
+echo "${ECHO_T}$ac_cv_search_strerror" >&6; }
+ac_res=$ac_cv_search_strerror
+if test "$ac_res" != no; then
+  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
 
-
+fi
 
 if test "${ac_cv_header_minix_config_h+set}" = set; then
-  echo "$as_me:$LINENO: checking for minix/config.h" >&5
-echo $ECHO_N "checking for minix/config.h... $ECHO_C" >&6
+  echo "$as_me:$LINENO: checking for minix/config.h" >&5
+echo $ECHO_N "checking for minix/config.h... $ECHO_C" >&6; }
 if test "${ac_cv_header_minix_config_h+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 fi
-echo "$as_me:$LINENO: result: $ac_cv_header_minix_config_h" >&5
-echo "${ECHO_T}$ac_cv_header_minix_config_h" >&6
+echo "$as_me:$LINENO: result: $ac_cv_header_minix_config_h" >&5
+echo "${ECHO_T}$ac_cv_header_minix_config_h" >&6; }
 else
   # Is the header compilable?
-echo "$as_me:$LINENO: checking minix/config.h usability" >&5
-echo $ECHO_N "checking minix/config.h usability... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking minix/config.h usability" >&5
+echo $ECHO_N "checking minix/config.h usability... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -3829,14 +4972,36 @@ $ac_includes_default
 #include <minix/config.h>
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -3845,17 +5010,17 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_header_compiler=no
+       ac_header_compiler=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
 
 # Is the header present?
-echo "$as_me:$LINENO: checking minix/config.h presence" >&5
-echo $ECHO_N "checking minix/config.h presence... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking minix/config.h presence" >&5
+echo $ECHO_N "checking minix/config.h presence... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -3863,8 +5028,13 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 #include <minix/config.h>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
@@ -3873,6 +5043,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
   (exit $ac_status); } >/dev/null; then
   if test -s conftest.err; then
     ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
   else
     ac_cpp_err=
   fi
@@ -3887,52 +5058,45 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
   ac_header_preproc=no
 fi
+
 rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
+echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
 
 # So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc in
-  yes:no )
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+  yes:no: )
     { echo "$as_me:$LINENO: WARNING: minix/config.h: accepted by the compiler, rejected by the preprocessor!" >&5
 echo "$as_me: WARNING: minix/config.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { echo "$as_me:$LINENO: WARNING: minix/config.h: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: minix/config.h: proceeding with the preprocessor's result" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to bug-autoconf@gnu.org. ##
-## ------------------------------------ ##
-_ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+    { echo "$as_me:$LINENO: WARNING: minix/config.h: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: minix/config.h: proceeding with the compiler's result" >&2;}
+    ac_header_preproc=yes
     ;;
-  no:yes )
+  no:yes:* )
     { echo "$as_me:$LINENO: WARNING: minix/config.h: present but cannot be compiled" >&5
 echo "$as_me: WARNING: minix/config.h: present but cannot be compiled" >&2;}
-    { echo "$as_me:$LINENO: WARNING: minix/config.h: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: minix/config.h: check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: minix/config.h:     check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: minix/config.h:     check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: minix/config.h: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: minix/config.h: see the Autoconf documentation" >&2;}
+    { echo "$as_me:$LINENO: WARNING: minix/config.h:     section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: minix/config.h:     section \"Present But Cannot Be Compiled\"" >&2;}
     { echo "$as_me:$LINENO: WARNING: minix/config.h: proceeding with the preprocessor's result" >&5
 echo "$as_me: WARNING: minix/config.h: proceeding with the preprocessor's result" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to bug-autoconf@gnu.org. ##
-## ------------------------------------ ##
-_ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+    { echo "$as_me:$LINENO: WARNING: minix/config.h: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: minix/config.h: in the future, the compiler will take precedence" >&2;}
+
     ;;
 esac
-echo "$as_me:$LINENO: checking for minix/config.h" >&5
-echo $ECHO_N "checking for minix/config.h... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for minix/config.h" >&5
+echo $ECHO_N "checking for minix/config.h... $ECHO_C" >&6; }
 if test "${ac_cv_header_minix_config_h+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   ac_cv_header_minix_config_h=$ac_header_preproc
 fi
-echo "$as_me:$LINENO: result: $ac_cv_header_minix_config_h" >&5
-echo "${ECHO_T}$ac_cv_header_minix_config_h" >&6
+echo "$as_me:$LINENO: result: $ac_cv_header_minix_config_h" >&5
+echo "${ECHO_T}$ac_cv_header_minix_config_h" >&6; }
 
 fi
 if test $ac_cv_header_minix_config_h = yes; then
@@ -3961,39 +5125,61 @@ _ACEOF
 fi
 
 
-echo "$as_me:$LINENO: checking for pid_t" >&5
-echo $ECHO_N "checking for pid_t... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for pid_t" >&5
+echo $ECHO_N "checking for pid_t... $ECHO_C" >&6; }
 if test "${ac_cv_type_pid_t+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+typedef pid_t ac__type_new_;
 int
 main ()
 {
-if ((pid_t *) 0)
+if ((ac__type_new_ *) 0)
   return 0;
-if (sizeof (pid_t))
+if (sizeof (ac__type_new_))
   return 0;
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -4002,12 +5188,13 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_type_pid_t=no
+       ac_cv_type_pid_t=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_type_pid_t" >&5
-echo "${ECHO_T}$ac_cv_type_pid_t" >&6
+echo "$as_me:$LINENO: result: $ac_cv_type_pid_t" >&5
+echo "${ECHO_T}$ac_cv_type_pid_t" >&6; }
 if test $ac_cv_type_pid_t = yes; then
   :
 else
@@ -4018,39 +5205,61 @@ _ACEOF
 
 fi
 
-echo "$as_me:$LINENO: checking for size_t" >&5
-echo $ECHO_N "checking for size_t... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for size_t" >&5
+echo $ECHO_N "checking for size_t... $ECHO_C" >&6; }
 if test "${ac_cv_type_size_t+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+typedef size_t ac__type_new_;
 int
 main ()
 {
-if ((size_t *) 0)
+if ((ac__type_new_ *) 0)
   return 0;
-if (sizeof (size_t))
+if (sizeof (ac__type_new_))
   return 0;
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -4059,29 +5268,29 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_type_size_t=no
+       ac_cv_type_size_t=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5
-echo "${ECHO_T}$ac_cv_type_size_t" >&6
+echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5
+echo "${ECHO_T}$ac_cv_type_size_t" >&6; }
 if test $ac_cv_type_size_t = yes; then
   :
 else
 
 cat >>confdefs.h <<_ACEOF
-#define size_t unsigned
+#define size_t unsigned int
 _ACEOF
 
 fi
 
-echo "$as_me:$LINENO: checking return type of signal handlers" >&5
-echo $ECHO_N "checking return type of signal handlers... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking return type of signal handlers" >&5
+echo $ECHO_N "checking return type of signal handlers... $ECHO_C" >&6; }
 if test "${ac_cv_type_signal+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -4089,46 +5298,61 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 #include <sys/types.h>
 #include <signal.h>
-#ifdef signal
-# undef signal
-#endif
-#ifdef __cplusplus
-extern "C" void (*signal (int, void (*)(int)))(int);
-#else
-void (*signal ()) ();
-#endif
 
 int
 main ()
 {
-int i;
+return *(signal (0, 0)) (0) == 1;
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_type_signal=void
+  ac_cv_type_signal=int
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_type_signal=int
+       ac_cv_type_signal=void
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_type_signal" >&5
-echo "${ECHO_T}$ac_cv_type_signal" >&6
+echo "$as_me:$LINENO: result: $ac_cv_type_signal" >&5
+echo "${ECHO_T}$ac_cv_type_signal" >&6; }
 
 cat >>confdefs.h <<_ACEOF
 #define RETSIGTYPE $ac_cv_type_signal
@@ -4136,14 +5360,13 @@ _ACEOF
 
 
 
-echo "$as_me:$LINENO: checking for __FUNCTION__ and __LINE__ macros" >&5
-echo $ECHO_N "checking for __FUNCTION__ and __LINE__ macros... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for __FUNCTION__ and __LINE__ macros" >&5
+echo $ECHO_N "checking for __FUNCTION__ and __LINE__ macros... $ECHO_C" >&6; }
 if test "${ac_cv_compiler_has_function_macro+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -4159,14 +5382,36 @@ printf("%s:%d", __FUNCTION__, __LINE__);
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -4175,13 +5420,14 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_compiler_has_function_macro=no
+       ac_cv_compiler_has_function_macro=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 
-echo "$as_me:$LINENO: result: $ac_cv_compiler_has_function_macro" >&5
-echo "${ECHO_T}$ac_cv_compiler_has_function_macro" >&6
+echo "$as_me:$LINENO: result: $ac_cv_compiler_has_function_macro" >&5
+echo "${ECHO_T}$ac_cv_compiler_has_function_macro" >&6; }
 if test "$ac_cv_compiler_has_function_macro" = "yes"; then
 
 cat >>confdefs.h <<\_ACEOF
@@ -4202,9 +5448,10 @@ fi
 # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
 # AFS /usr/afsws/bin/install, which mishandles nonexistent args
 # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# OS/2's system install, which has a completely different semantic
 # ./install, which can be erroneously created by make from ./install.sh.
-echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
-echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
+echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; }
 if test -z "$INSTALL"; then
 if test "${ac_cv_path_install+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -4218,6 +5465,7 @@ do
 case $as_dir/ in
   ./ | .// | /cC/* | \
   /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
+  ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \
   /usr/ucb/* ) ;;
   *)
     # OSF1 and SCO ODT 3.0 have their own names for install.
@@ -4225,40 +5473,41 @@ case $as_dir/ in
     # by default.
     for ac_prog in ginstall scoinst install; do
       for ac_exec_ext in '' $ac_executable_extensions; do
-        if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
-          if test $ac_prog = install &&
-            grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
-            # AIX install.  It has an incompatible calling convention.
-            :
-          elif test $ac_prog = install &&
-            grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
-            # program-specific install script used by HP pwplus--don't use.
-            :
-          else
-            ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
-            break 3
-          fi
-        fi
+       if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; }; then
+         if test $ac_prog = install &&
+           grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+           # AIX install.  It has an incompatible calling convention.
+           :
+         elif test $ac_prog = install &&
+           grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+           # program-specific install script used by HP pwplus--don't use.
+           :
+         else
+           ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
+           break 3
+         fi
+       fi
       done
     done
     ;;
 esac
 done
+IFS=$as_save_IFS
 
 
 fi
   if test "${ac_cv_path_install+set}" = set; then
     INSTALL=$ac_cv_path_install
   else
-    # As a last resort, use the slow shell script.  We don't cache a
-    # path for INSTALL within a source directory, because that will
+    # As a last resort, use the slow shell script.  Don't cache a
+    # value for INSTALL within a source directory, because that will
     # break other packages using the cache if that directory is
-    # removed, or if the path is relative.
+    # removed, or if the value is a relative name.
     INSTALL=$ac_install_sh
   fi
 fi
-echo "$as_me:$LINENO: result: $INSTALL" >&5
-echo "${ECHO_T}$INSTALL" >&6
+echo "$as_me:$LINENO: result: $INSTALL" >&5
+echo "${ECHO_T}$INSTALL" >&6; }
 
 # Use test -z because SunOS4 sh mishandles braces in ${var-val}.
 # It thinks the first close brace ends the variable substitution.
@@ -4268,22 +5517,22 @@ test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
 
 test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
 
-echo "$as_me:$LINENO: checking whether ln -s works" >&5
-echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking whether ln -s works" >&5
+echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6; }
 LN_S=$as_ln_s
 if test "$LN_S" = "ln -s"; then
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+  echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
 else
-  echo "$as_me:$LINENO: result: no, using $LN_S" >&5
-echo "${ECHO_T}no, using $LN_S" >&6
+  echo "$as_me:$LINENO: result: no, using $LN_S" >&5
+echo "${ECHO_T}no, using $LN_S" >&6; }
 fi
 
 if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_RANLIB+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -4296,32 +5545,34 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 RANLIB=$ac_cv_prog_RANLIB
 if test -n "$RANLIB"; then
-  echo "$as_me:$LINENO: result: $RANLIB" >&5
-echo "${ECHO_T}$RANLIB" >&6
+  echo "$as_me:$LINENO: result: $RANLIB" >&5
+echo "${ECHO_T}$RANLIB" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
+
 fi
 if test -z "$ac_cv_prog_RANLIB"; then
   ac_ct_RANLIB=$RANLIB
   # Extract the first word of "ranlib", so it can be a program name with args.
 set dummy ranlib; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -4334,27 +5585,41 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_ac_ct_RANLIB="ranlib"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
-  test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":"
 fi
 fi
 ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
 if test -n "$ac_ct_RANLIB"; then
-  echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
-echo "${ECHO_T}$ac_ct_RANLIB" >&6
+  echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
+echo "${ECHO_T}$ac_ct_RANLIB" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
-  RANLIB=$ac_ct_RANLIB
+  if test "x$ac_ct_RANLIB" = x; then
+    RANLIB=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+    RANLIB=$ac_ct_RANLIB
+  fi
 else
   RANLIB="$ac_cv_prog_RANLIB"
 fi
@@ -4363,8 +5628,8 @@ for ac_prog in 'bison -y' byacc
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_YACC+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -4377,25 +5642,27 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_YACC="$ac_prog"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 YACC=$ac_cv_prog_YACC
 if test -n "$YACC"; then
-  echo "$as_me:$LINENO: result: $YACC" >&5
-echo "${ECHO_T}$YACC" >&6
+  echo "$as_me:$LINENO: result: $YACC" >&5
+echo "${ECHO_T}$YACC" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
+
   test -n "$YACC" && break
 done
 test -n "$YACC" || YACC="yacc"
@@ -4405,23 +5672,22 @@ if test "$LEX" = :; then
 fi
 
 
-# Check whether --enable-bigendian or --disable-bigendian was given.
+# Check whether --enable-bigendian was given.
 if test "${enable_bigendian+set}" = set; then
-  enableval="$enable_bigendian"
-  openafs_cv_c_bigendian=yes
-fi;
-# Check whether --enable-littleendian or --disable-littleendian was given.
+  enableval=$enable_bigendian; openafs_cv_c_bigendian=yes
+fi
+
+# Check whether --enable-littleendian was given.
 if test "${enable_littleendian+set}" = set; then
-  enableval="$enable_littleendian"
-  openafs_cv_c_bigendian=no
-fi;
-echo "$as_me:$LINENO: checking whether byte order is known at compile time" >&5
-echo $ECHO_N "checking whether byte order is known at compile time... $ECHO_C" >&6
+  enableval=$enable_littleendian; openafs_cv_c_bigendian=no
+fi
+
+echo "$as_me:$LINENO: checking whether byte order is known at compile time" >&5
+echo $ECHO_N "checking whether byte order is known at compile time... $ECHO_C" >&6; }
 if test "${openafs_cv_c_bigendian_compile+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -4442,14 +5708,36 @@ main ()
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -4458,21 +5746,21 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-openafs_cv_c_bigendian_compile=no
+       openafs_cv_c_bigendian_compile=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $openafs_cv_c_bigendian_compile" >&5
-echo "${ECHO_T}$openafs_cv_c_bigendian_compile" >&6
-echo "$as_me:$LINENO: checking whether byte ordering is bigendian" >&5
-echo $ECHO_N "checking whether byte ordering is bigendian... $ECHO_C" >&6
+echo "$as_me:$LINENO: result: $openafs_cv_c_bigendian_compile" >&5
+echo "${ECHO_T}$openafs_cv_c_bigendian_compile" >&6; }
+echo "$as_me:$LINENO: checking whether byte ordering is bigendian" >&5
+echo $ECHO_N "checking whether byte ordering is bigendian... $ECHO_C" >&6; }
 if test "${openafs_cv_c_bigendian+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
   if test "$openafs_cv_c_bigendian_compile" = "yes"; then
     cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -4493,14 +5781,36 @@ main ()
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -4509,9 +5819,10 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-openafs_cv_c_bigendian=no
+       openafs_cv_c_bigendian=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   else
     if test "$cross_compiling" = yes; then
   { { echo "$as_me:$LINENO: error: specify either --enable-bigendian or --enable-littleendian" >&5
@@ -4519,7 +5830,6 @@ echo "$as_me: error: specify either --enable-bigendian or --enable-littleendian"
    { (exit 1); exit 1; }; }
 else
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -4537,13 +5847,22 @@ main () {
   }
 _ACEOF
 rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -4556,13 +5875,15 @@ sed 's/^/| /' conftest.$ac_ext >&5
 ( exit $ac_status )
 openafs_cv_c_bigendian=yes
 fi
-rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
+
+
   fi
 
 fi
-echo "$as_me:$LINENO: result: $openafs_cv_c_bigendian" >&5
-echo "${ECHO_T}$openafs_cv_c_bigendian" >&6
+echo "$as_me:$LINENO: result: $openafs_cv_c_bigendian" >&5
+echo "${ECHO_T}$openafs_cv_c_bigendian" >&6; }
 if test "$openafs_cv_c_bigendian" = "yes"; then
 
 cat >>confdefs.h <<\_ACEOF
@@ -4577,8 +5898,8 @@ _ACEOF
 fi
 
 
-echo "$as_me:$LINENO: checking your OS" >&5
-echo $ECHO_N "checking your OS... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking your OS" >&5
+echo $ECHO_N "checking your OS... $ECHO_C" >&6; }
 system=$host
 case $system in
         *-linux*)
@@ -4653,8 +5974,8 @@ echo "$as_me: WARNING: No usable linux headers found at $LINUX_KERNEL_PATH so di
                 fi
                                   SUBARCH=default
                fi
-               echo "$as_me:$LINENO: result: linux" >&5
-echo "${ECHO_T}linux" >&6
+               echo "$as_me:$LINENO: result: linux" >&5
+echo "${ECHO_T}linux" >&6; }
                 if test "x$enable_kernel_module" = "xyes"; then
                  AFS_SYSKVERS=`echo $LINUX_VERSION | awk -F\. '{print $1 $2}'`
                  if test "x${AFS_SYSKVERS}" = "x"; then
@@ -4666,17 +5987,16 @@ echo "$as_me: error: Couldn't guess your Linux version 2" >&2;}
                 ;;
         *-solaris*)
                MKAFS_OSTYPE=SOLARIS
-                echo "$as_me:$LINENO: result: sun4" >&5
-echo "${ECHO_T}sun4" >&6
+                echo "$as_me:$LINENO: result: sun4" >&5
+echo "${ECHO_T}sun4" >&6; }
 
-echo "$as_me:$LINENO: checking for vfs_dqrwlock in struct ufsvfs" >&5
-echo $ECHO_N "checking for vfs_dqrwlock in struct ufsvfs... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for vfs_dqrwlock in struct ufsvfs" >&5
+echo $ECHO_N "checking for vfs_dqrwlock in struct ufsvfs... $ECHO_C" >&6; }
 if test "${ac_cv_solaris_ufsvfs_has_dqrwlock+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -4694,14 +6014,36 @@ struct ufsvfs _ufsvfs;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -4710,13 +6052,14 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_solaris_ufsvfs_has_dqrwlock=no
+       ac_cv_solaris_ufsvfs_has_dqrwlock=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 
-echo "$as_me:$LINENO: result: $ac_cv_solaris_ufsvfs_has_dqrwlock" >&5
-echo "${ECHO_T}$ac_cv_solaris_ufsvfs_has_dqrwlock" >&6
+echo "$as_me:$LINENO: result: $ac_cv_solaris_ufsvfs_has_dqrwlock" >&5
+echo "${ECHO_T}$ac_cv_solaris_ufsvfs_has_dqrwlock" >&6; }
 if test "$ac_cv_solaris_ufsvfs_has_dqrwlock" = "yes"; then
 
 cat >>confdefs.h <<\_ACEOF
@@ -4726,14 +6069,13 @@ _ACEOF
 fi
 
 
-echo "$as_me:$LINENO: checking for p_corefile in struct proc" >&5
-echo $ECHO_N "checking for p_corefile in struct proc... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for p_corefile in struct proc" >&5
+echo $ECHO_N "checking for p_corefile in struct proc... $ECHO_C" >&6; }
 if test "${ac_cv_solaris_proc_has_p_corefile+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -4751,14 +6093,36 @@ struct proc _proc;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -4767,13 +6131,14 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_solaris_proc_has_p_corefile=no
+       ac_cv_solaris_proc_has_p_corefile=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 
-echo "$as_me:$LINENO: result: $ac_cv_solaris_proc_has_p_corefile" >&5
-echo "${ECHO_T}$ac_cv_solaris_proc_has_p_corefile" >&6
+echo "$as_me:$LINENO: result: $ac_cv_solaris_proc_has_p_corefile" >&5
+echo "${ECHO_T}$ac_cv_solaris_proc_has_p_corefile" >&6; }
 if test "$ac_cv_solaris_proc_has_p_corefile" = "yes"; then
 
 cat >>confdefs.h <<\_ACEOF
@@ -4783,14 +6148,13 @@ _ACEOF
 fi
 
 
-echo "$as_me:$LINENO: checking for fs_rolled in struct proc" >&5
-echo $ECHO_N "checking for fs_rolled in struct proc... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for fs_rolled in struct proc" >&5
+echo $ECHO_N "checking for fs_rolled in struct proc... $ECHO_C" >&6; }
 if test "${ac_cv_solaris_fs_has_fs_rolled+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -4807,14 +6171,36 @@ struct fs _fs;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -4823,13 +6209,14 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_solaris_fs_has_fs_rolled=no
+       ac_cv_solaris_fs_has_fs_rolled=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 
-echo "$as_me:$LINENO: result: $ac_cv_solaris_fs_has_fs_rolled" >&5
-echo "${ECHO_T}$ac_cv_solaris_fs_has_fs_rolled" >&6
+echo "$as_me:$LINENO: result: $ac_cv_solaris_fs_has_fs_rolled" >&5
+echo "${ECHO_T}$ac_cv_solaris_fs_has_fs_rolled" >&6; }
 if test "$ac_cv_solaris_fs_has_fs_rolled" = "yes"; then
 
 cat >>confdefs.h <<\_ACEOF
@@ -4842,13 +6229,13 @@ fi
         *-sunos*)
                MKAFS_OSTYPE=SUNOS
                enable_kernel_module=no
-                echo "$as_me:$LINENO: result: sun4" >&5
-echo "${ECHO_T}sun4" >&6
+                echo "$as_me:$LINENO: result: sun4" >&5
+echo "${ECHO_T}sun4" >&6; }
                 ;;
         *-hpux*)
                MKAFS_OSTYPE=HPUX
-                echo "$as_me:$LINENO: result: hp_ux" >&5
-echo "${ECHO_T}hp_ux" >&6
+                echo "$as_me:$LINENO: result: hp_ux" >&5
+echo "${ECHO_T}hp_ux" >&6; }
                if test -f "/usr/old/usr/include/ndir.h"; then
 
 cat >>confdefs.h <<\_ACEOF
@@ -4862,18 +6249,18 @@ _ACEOF
                 IRIX_BUILD_IP35="IP35"
                fi
                MKAFS_OSTYPE=IRIX
-                echo "$as_me:$LINENO: result: sgi" >&5
-echo "${ECHO_T}sgi" >&6
+                echo "$as_me:$LINENO: result: sgi" >&5
+echo "${ECHO_T}sgi" >&6; }
                 ;;
         *-aix*)
                MKAFS_OSTYPE=AIX
-                echo "$as_me:$LINENO: result: rs_aix" >&5
-echo "${ECHO_T}rs_aix" >&6
+                echo "$as_me:$LINENO: result: rs_aix" >&5
+echo "${ECHO_T}rs_aix" >&6; }
                 ;;
         *-osf*)
                MKAFS_OSTYPE=DUX
-                echo "$as_me:$LINENO: result: alpha_dux" >&5
-echo "${ECHO_T}alpha_dux" >&6
+                echo "$as_me:$LINENO: result: alpha_dux" >&5
+echo "${ECHO_T}alpha_dux" >&6; }
                if test "x$enable_kernel_module" = "xyes"; then
                 if test "x$with_dux_kernel_headers" != "x"; then
                   HEADER_RT=`ls ${with_dux_kernel_headers}/rt_preempt.h | head -1 | sed 's,/rt_preempt.h,,;s,/usr/sys/,,'`
@@ -4890,40 +6277,40 @@ echo "$as_me: error: Need a configured kernel directory" >&2;}
                 ;;
         powerpc-*-darwin*)
                MKAFS_OSTYPE=DARWIN
-                echo "$as_me:$LINENO: result: ppc_darwin" >&5
-echo "${ECHO_T}ppc_darwin" >&6
+                echo "$as_me:$LINENO: result: ppc_darwin" >&5
+echo "${ECHO_T}ppc_darwin" >&6; }
                 ;;
         i386-*-darwin*)
                MKAFS_OSTYPE=DARWIN
-                echo "$as_me:$LINENO: result: x86_darwin" >&5
-echo "${ECHO_T}x86_darwin" >&6
+                echo "$as_me:$LINENO: result: x86_darwin" >&5
+echo "${ECHO_T}x86_darwin" >&6; }
                 ;;
        *-freebsd*)
                MKAFS_OSTYPE=FBSD
-               echo "$as_me:$LINENO: result: i386_fbsd" >&5
-echo "${ECHO_T}i386_fbsd" >&6
+               echo "$as_me:$LINENO: result: i386_fbsd" >&5
+echo "${ECHO_T}i386_fbsd" >&6; }
                ;;
        *-netbsd*)
                MKAFS_OSTYPE=NBSD
-               echo "$as_me:$LINENO: result: nbsd" >&5
-echo "${ECHO_T}nbsd" >&6
+               echo "$as_me:$LINENO: result: nbsd" >&5
+echo "${ECHO_T}nbsd" >&6; }
                ;;
        *-openbsd*)
                MKAFS_OSTYPE=OBSD
-               echo "$as_me:$LINENO: result: i386_obsd" >&5
-echo "${ECHO_T}i386_obsd" >&6
+               echo "$as_me:$LINENO: result: i386_obsd" >&5
+echo "${ECHO_T}i386_obsd" >&6; }
                ;;
         *)
-                echo "$as_me:$LINENO: result: $system" >&5
-echo "${ECHO_T}$system" >&6
+                echo "$as_me:$LINENO: result: $system" >&5
+echo "${ECHO_T}$system" >&6; }
                 ;;
 esac
 
 if test "x$with_afs_sysname" != "x"; then
         AFS_SYSNAME="$with_afs_sysname"
 else
-       echo "$as_me:$LINENO: checking your AFS sysname" >&5
-echo $ECHO_N "checking your AFS sysname... $ECHO_C" >&6
+       echo "$as_me:$LINENO: checking your AFS sysname" >&5
+echo $ECHO_N "checking your AFS sysname... $ECHO_C" >&6; }
        case $host in
                i?86-*-openbsd?.?)
                        v=${host#*openbsd}
@@ -5163,7 +6550,7 @@ echo $ECHO_N "checking your AFS sysname... $ECHO_C" >&6
                        AFS_SYSNAME="s390x_linuxXX"
                        ;;
                sparc-*-linux*)
-                       AFS_SYSNAME="sparc_linuxXX"
+                       AFS_SYSNAME="`/bin/arch`_linuxXX"
                        ;;
                sparc64-*-linux*)
                        AFS_SYSNAME="sparc64_linuxXX"
@@ -5218,7 +6605,6 @@ echo "$as_me: error: Couldn't guess your Linux version. Please use the --with-af
                        save_CPPFLAGS="$CPPFLAGS"
                        CPPFLAGS="-I${LINUX_KERNEL_PATH}/include $CPPFLAGS"
                        cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -5236,14 +6622,36 @@ main ()
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -5252,8 +6660,10 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
+
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
                        if test "${ac_cv_linux_is_uml}" = yes; then
                         _AFS_SYSNAME=`echo $AFS_SYSNAME|sed s/linux/umlinux/`
                        fi
@@ -5261,8 +6671,8 @@ rm -f conftest.$ac_objext conftest.$ac_ext
                        AFS_SYSNAME="$_AFS_SYSNAME"
                        ;;
        esac
-        echo "$as_me:$LINENO: result: $AFS_SYSNAME" >&5
-echo "${ECHO_T}$AFS_SYSNAME" >&6
+        echo "$as_me:$LINENO: result: $AFS_SYSNAME" >&5
+echo "${ECHO_T}$AFS_SYSNAME" >&6; }
 fi
 
 case $AFS_SYSNAME in *_linux* | *_umlinux*)
@@ -5281,8 +6691,8 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*)
                        LINUX_GCC_KOPTS="$LINUX_GCC_KOPTS -fomit-frame-pointer"
                 fi
 
-echo "$as_me:$LINENO: checking if $CC accepts -march=pentium" >&5
-echo $ECHO_N "checking if $CC accepts -march=pentium... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking if $CC accepts -march=pentium" >&5
+echo $ECHO_N "checking if $CC accepts -march=pentium... $ECHO_C" >&6; }
 save_CFLAGS="$CFLAGS"
 CFLAGS="-MARCH=pentium"
 if test "${openafs_gcc_supports_march+set}" = set; then
@@ -5290,7 +6700,6 @@ if test "${openafs_gcc_supports_march+set}" = set; then
 else
 
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -5306,14 +6715,36 @@ int x;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -5322,13 +6753,14 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-openafs_gcc_supports_march=no
+       openafs_gcc_supports_march=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 
-echo "$as_me:$LINENO: result: $openafs_gcc_supports_march" >&5
-echo "${ECHO_T}$openafs_gcc_supports_march" >&6
+echo "$as_me:$LINENO: result: $openafs_gcc_supports_march" >&5
+echo "${ECHO_T}$openafs_gcc_supports_march" >&6; }
 if test x$openafs_gcc_supports_march = xyes; then
   P5PLUS_KOPTS="-march=pentium"
 else
@@ -5338,8 +6770,8 @@ CFLAGS="$save_CFLAGS"
 
 
 
-echo "$as_me:$LINENO: checking if $CC needs -fno-strength-reduce" >&5
-echo $ECHO_N "checking if $CC needs -fno-strength-reduce... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking if $CC needs -fno-strength-reduce" >&5
+echo $ECHO_N "checking if $CC needs -fno-strength-reduce... $ECHO_C" >&6; }
 save_CFLAGS="$CFLAGS"
 CFLAGS="-fno-strength-reduce"
 if test "${openafs_gcc_needs_no_strength_reduce+set}" = set; then
@@ -5347,7 +6779,6 @@ if test "${openafs_gcc_needs_no_strength_reduce+set}" = set; then
 else
 
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -5363,14 +6794,36 @@ int x;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -5379,21 +6832,22 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-openafs_gcc_needs_no_strength_reduce=no
+       openafs_gcc_needs_no_strength_reduce=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 
-echo "$as_me:$LINENO: result: $openafs_gcc_needs_no_strength_reduce" >&5
-echo "${ECHO_T}$openafs_gcc_needs_no_strength_reduce" >&6
+echo "$as_me:$LINENO: result: $openafs_gcc_needs_no_strength_reduce" >&5
+echo "${ECHO_T}$openafs_gcc_needs_no_strength_reduce" >&6; }
 if test x$openafs_gcc_needs_no_strength_reduce = xyes; then
   LINUX_GCC_KOPTS="$LINUX_GCC_KOPTS -fno-strength-reduce"
 fi
 CFLAGS="$save_CFLAGS"
 
 
-echo "$as_me:$LINENO: checking if $CC needs -fno-strict-aliasing" >&5
-echo $ECHO_N "checking if $CC needs -fno-strict-aliasing... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking if $CC needs -fno-strict-aliasing" >&5
+echo $ECHO_N "checking if $CC needs -fno-strict-aliasing... $ECHO_C" >&6; }
 save_CFLAGS="$CFLAGS"
 CFLAGS="-fno-strict-aliasing"
 if test "${openafs_gcc_needs_no_strict_aliasing+set}" = set; then
@@ -5401,7 +6855,6 @@ if test "${openafs_gcc_needs_no_strict_aliasing+set}" = set; then
 else
 
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -5417,14 +6870,36 @@ int x;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -5433,21 +6908,22 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-openafs_gcc_needs_no_strict_aliasing=no
+       openafs_gcc_needs_no_strict_aliasing=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 
-echo "$as_me:$LINENO: result: $openafs_gcc_needs_no_strict_aliasing" >&5
-echo "${ECHO_T}$openafs_gcc_needs_no_strict_aliasing" >&6
+echo "$as_me:$LINENO: result: $openafs_gcc_needs_no_strict_aliasing" >&5
+echo "${ECHO_T}$openafs_gcc_needs_no_strict_aliasing" >&6; }
 if test x$openafs_gcc_needs_no_strict_aliasing = xyes; then
   LINUX_GCC_KOPTS="$LINUX_GCC_KOPTS -fno-strict-aliasing"
 fi
 CFLAGS="$save_CFLAGS"
 
 
-echo "$as_me:$LINENO: checking if $CC supports -fno-common" >&5
-echo $ECHO_N "checking if $CC supports -fno-common... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking if $CC supports -fno-common" >&5
+echo $ECHO_N "checking if $CC supports -fno-common... $ECHO_C" >&6; }
 save_CFLAGS="$CFLAGS"
 CFLAGS="-fno-common"
 if test "${openafs_gcc_supports_no_common+set}" = set; then
@@ -5455,7 +6931,6 @@ if test "${openafs_gcc_supports_no_common+set}" = set; then
 else
 
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -5471,14 +6946,36 @@ int x;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -5487,21 +6984,22 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-openafs_gcc_supports_no_common=no
+       openafs_gcc_supports_no_common=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 
-echo "$as_me:$LINENO: result: $openafs_gcc_supports_no_common" >&5
-echo "${ECHO_T}$openafs_gcc_supports_no_common" >&6
+echo "$as_me:$LINENO: result: $openafs_gcc_supports_no_common" >&5
+echo "${ECHO_T}$openafs_gcc_supports_no_common" >&6; }
 if test x$openafs_gcc_supports_no_common = xyes; then
   LINUX_GCC_KOPTS="$LINUX_GCC_KOPTS -fno-common"
 fi
 CFLAGS="$save_CFLAGS"
 
 
-echo "$as_me:$LINENO: checking if $CC supports -pipe" >&5
-echo $ECHO_N "checking if $CC supports -pipe... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking if $CC supports -pipe" >&5
+echo $ECHO_N "checking if $CC supports -pipe... $ECHO_C" >&6; }
 save_CFLAGS="$CFLAGS"
 CFLAGS="-pipe"
 if test "${openafs_gcc_supports_pipe+set}" = set; then
@@ -5509,7 +7007,6 @@ if test "${openafs_gcc_supports_pipe+set}" = set; then
 else
 
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -5525,14 +7022,36 @@ int x;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -5541,13 +7060,14 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-openafs_gcc_supports_pipe=no
+       openafs_gcc_supports_pipe=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 
-echo "$as_me:$LINENO: result: $openafs_gcc_supports_pipe" >&5
-echo "${ECHO_T}$openafs_gcc_supports_pipe" >&6
+echo "$as_me:$LINENO: result: $openafs_gcc_supports_pipe" >&5
+echo "${ECHO_T}$openafs_gcc_supports_pipe" >&6; }
 if test x$openafs_gcc_supports_pipe = xyes; then
   LINUX_GCC_KOPTS="$LINUX_GCC_KOPTS -pipe"
 fi
@@ -5555,8 +7075,8 @@ CFLAGS="$save_CFLAGS"
 
 
 
-echo "$as_me:$LINENO: checking whether to build osi_vfs.h" >&5
-echo $ECHO_N "checking whether to build osi_vfs.h... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking whether to build osi_vfs.h" >&5
+echo $ECHO_N "checking whether to build osi_vfs.h... $ECHO_C" >&6; }
 configdir=src/config
 outputdir=src/afs
 tmpldir=src/afs/LINUX
@@ -5564,11 +7084,13 @@ mkdir -p $outputdir
 cp  $tmpldir/osi_vfs.hin $outputdir/osi_vfs.h
 # chmod +x $configdir/make_vnode.pl
 # $configdir/make_vnode.pl -i $LINUX_KERNEL_PATH -t ${tmpldir} -o $outputdir
+  { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
 
 
 
-  echo "$as_me:$LINENO: checking for linux kernel module build works" >&5
-echo $ECHO_N "checking for linux kernel module build works... $ECHO_C" >&6
+  echo "$as_me:$LINENO: checking for linux kernel module build works" >&5
+echo $ECHO_N "checking for linux kernel module build works... $ECHO_C" >&6; }
 
   if test $AFS_SYSKVERS -ge 26 ; then
       rm -fr conftest.dir
@@ -5604,8 +7126,8 @@ _ACEOF
       sed 's/^/| /' conftest.dir/Makefile >&5
       echo "$as_me: and program was:" >&5
       sed 's/^/| /' conftest.dir/conftest.c >&5
-      echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+      echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
     { { echo "$as_me:$LINENO: error: Fix problem or use --disable-kernel-module...
 See \`config.log' for more details." >&5
 echo "$as_me: error: Fix problem or use --disable-kernel-module...
@@ -5617,7 +7139,6 @@ See \`config.log' for more details." >&2;}
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -5634,14 +7155,36 @@ main ()
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -5650,23 +7193,24 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+       { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
     { { echo "$as_me:$LINENO: error: Fix problem or use --disable-kernel-module...
 See \`config.log' for more details." >&5
 echo "$as_me: error: Fix problem or use --disable-kernel-module...
 See \`config.log' for more details." >&2;}
    { (exit 1); exit 1; }; }
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+  echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
 
-  echo "$as_me:$LINENO: checking for linux/config.h existance" >&5
-echo $ECHO_N "checking for linux/config.h existance... $ECHO_C" >&6
-  if test "${ac_cv_linux_config_h_exists+set}" = set; then
+  { echo "$as_me:$LINENO: checking whether kmem_cache_t exists" >&5
+echo $ECHO_N "checking whether kmem_cache_t exists... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_have_kmem_cache_t+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
@@ -5686,83 +7230,98 @@ _ACEOF
     cat >>conftest.dir/conftest.c <<\_ACEOF &&
 /* end confdefs.h */
 #include <linux/module.h>
-#include <linux/config.h>
+#include <linux/slab.h>
 
 void conftest(void)
 {
-return;
+kmem_cache_t *k;
 }
 
 MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
 _ACEOF
     echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
     make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
-    then ac_cv_linux_config_h_exists=yes
+    then ac_cv_linux_have_kmem_cache_t=yes
     else
       sed '/^ *+/d' conftest.err >&5
       echo "$as_me: failed using Makefile:" >&5
       sed 's/^/| /' conftest.dir/Makefile >&5
       echo "$as_me: and program was:" >&5
       sed 's/^/| /' conftest.dir/conftest.c >&5
-      ac_cv_linux_config_h_exists=no
+      ac_cv_linux_have_kmem_cache_t=no
   fi; rm -fr conftest.err conftest.dir
   else
 
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-#include <linux/config.h>
+#include <linux/slab.h>
 int
 main ()
 {
-return;
+kmem_cache_t *k;
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_linux_config_h_exists=yes
+  ac_cv_linux_have_kmem_cache_t=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_config_h_exists=no
+       ac_cv_linux_have_kmem_cache_t=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_config_h_exists" >&5
-echo "${ECHO_T}$ac_cv_linux_config_h_exists" >&6
-  if test "x$ac_cv_linux_config_h_exists" = "xyes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define CONFIG_H_EXISTS 1
-_ACEOF
-
-  fi
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_have_kmem_cache_t" >&5
+echo "${ECHO_T}$ac_cv_linux_have_kmem_cache_t" >&6; }
 
-  echo "$as_me:$LINENO: checking for linux/completion.h existance" >&5
-echo $ECHO_N "checking for linux/completion.h existance... $ECHO_C" >&6
-  if test "${ac_cv_linux_completion_h_exists+set}" = set; then
+  { echo "$as_me:$LINENO: checking whether kmem_cache_create takes a destructor argument" >&5
+echo $ECHO_N "checking whether kmem_cache_create takes a destructor argument... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_kmem_cache_create_takes_dtor+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
@@ -5782,8 +7341,237 @@ _ACEOF
     cat >>conftest.dir/conftest.c <<\_ACEOF &&
 /* end confdefs.h */
 #include <linux/module.h>
-#include <linux/version.h>
-#include <linux/completion.h>
+#include <linux/slab.h>
+
+void conftest(void)
+{
+kmem_cache_create(NULL, 0, 0, 0, NULL, NULL);
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+    echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
+    make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
+    then ac_cv_linux_kmem_cache_create_takes_dtor=yes
+    else
+      sed '/^ *+/d' conftest.err >&5
+      echo "$as_me: failed using Makefile:" >&5
+      sed 's/^/| /' conftest.dir/Makefile >&5
+      echo "$as_me: and program was:" >&5
+      sed 's/^/| /' conftest.dir/conftest.c >&5
+      ac_cv_linux_kmem_cache_create_takes_dtor=no
+  fi; rm -fr conftest.err conftest.dir
+  else
+
+  ac_save_CPPFLAGS="$CPPFLAGS"
+  CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <linux/slab.h>
+int
+main ()
+{
+kmem_cache_create(NULL, 0, 0, 0, NULL, NULL);
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_linux_kmem_cache_create_takes_dtor=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_cv_linux_kmem_cache_create_takes_dtor=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CPPFLAGS="$ac_save_CPPFLAGS"
+  fi
+fi
+
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_kmem_cache_create_takes_dtor" >&5
+echo "${ECHO_T}$ac_cv_linux_kmem_cache_create_takes_dtor" >&6; }
+
+  { echo "$as_me:$LINENO: checking for linux/config.h existance" >&5
+echo $ECHO_N "checking for linux/config.h existance... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_config_h_exists+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+  if test $AFS_SYSKVERS -ge 26 ; then
+      rm -fr conftest.dir
+  if mkdir conftest.dir &&
+    cat >conftest.dir/Makefile <<_ACEOF &&
+CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+    cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+    cat confdefs.h >>conftest.dir/conftest.c &&
+    cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/config.h>
+
+void conftest(void)
+{
+return;
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+    echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
+    make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
+    then ac_cv_linux_config_h_exists=yes
+    else
+      sed '/^ *+/d' conftest.err >&5
+      echo "$as_me: failed using Makefile:" >&5
+      sed 's/^/| /' conftest.dir/Makefile >&5
+      echo "$as_me: and program was:" >&5
+      sed 's/^/| /' conftest.dir/conftest.c >&5
+      ac_cv_linux_config_h_exists=no
+  fi; rm -fr conftest.err conftest.dir
+  else
+
+  ac_save_CPPFLAGS="$CPPFLAGS"
+  CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <linux/config.h>
+int
+main ()
+{
+return;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_linux_config_h_exists=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_cv_linux_config_h_exists=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CPPFLAGS="$ac_save_CPPFLAGS"
+  fi
+fi
+
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_config_h_exists" >&5
+echo "${ECHO_T}$ac_cv_linux_config_h_exists" >&6; }
+  if test "x$ac_cv_linux_config_h_exists" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define CONFIG_H_EXISTS 1
+_ACEOF
+
+  fi
+
+  { echo "$as_me:$LINENO: checking for linux/completion.h existance" >&5
+echo $ECHO_N "checking for linux/completion.h existance... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_completion_h_exists+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+  if test $AFS_SYSKVERS -ge 26 ; then
+      rm -fr conftest.dir
+  if mkdir conftest.dir &&
+    cat >conftest.dir/Makefile <<_ACEOF &&
+CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+    cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+    cat confdefs.h >>conftest.dir/conftest.c &&
+    cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/version.h>
+#include <linux/completion.h>
 
 void conftest(void)
 {
@@ -5811,7 +7599,6 @@ _ACEOF
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -5831,14 +7618,36 @@ lose
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -5847,18 +7656,19 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_completion_h_exists=no
+       ac_cv_linux_completion_h_exists=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_completion_h_exists" >&5
-echo "${ECHO_T}$ac_cv_linux_completion_h_exists" >&6
+  echo "$as_me:$LINENO: result: $ac_cv_linux_completion_h_exists" >&5
+echo "${ECHO_T}$ac_cv_linux_completion_h_exists" >&6; }
 
-  echo "$as_me:$LINENO: checking for defined for_each_process" >&5
-echo $ECHO_N "checking for defined for_each_process... $ECHO_C" >&6
+  echo "$as_me:$LINENO: checking for defined for_each_process" >&5
+echo $ECHO_N "checking for defined for_each_process... $ECHO_C" >&6; }
   if test "${ac_cv_linux_defines_for_each_process+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -5906,7 +7716,6 @@ _ACEOF
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -5924,14 +7733,36 @@ main ()
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -5940,18 +7771,19 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_defines_for_each_process=no
+       ac_cv_linux_defines_for_each_process=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_defines_for_each_process" >&5
-echo "${ECHO_T}$ac_cv_linux_defines_for_each_process" >&6
+  echo "$as_me:$LINENO: result: $ac_cv_linux_defines_for_each_process" >&5
+echo "${ECHO_T}$ac_cv_linux_defines_for_each_process" >&6; }
 
-  echo "$as_me:$LINENO: checking for defined prev_task" >&5
-echo $ECHO_N "checking for defined prev_task... $ECHO_C" >&6
+  echo "$as_me:$LINENO: checking for defined prev_task" >&5
+echo $ECHO_N "checking for defined prev_task... $ECHO_C" >&6; }
   if test "${ac_cv_linux_defines_prev_task+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -5999,7 +7831,6 @@ _ACEOF
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -6017,14 +7848,36 @@ main ()
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -6033,18 +7886,19 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_defines_prev_task=no
+       ac_cv_linux_defines_prev_task=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_defines_prev_task" >&5
-echo "${ECHO_T}$ac_cv_linux_defines_prev_task" >&6
+  echo "$as_me:$LINENO: result: $ac_cv_linux_defines_prev_task" >&5
+echo "${ECHO_T}$ac_cv_linux_defines_prev_task" >&6; }
 
-  echo "$as_me:$LINENO: checking for alloc_inode in struct super_operations" >&5
-echo $ECHO_N "checking for alloc_inode in struct super_operations... $ECHO_C" >&6
+  echo "$as_me:$LINENO: checking for alloc_inode in struct super_operations" >&5
+echo $ECHO_N "checking for alloc_inode in struct super_operations... $ECHO_C" >&6; }
   if test "${ac_cv_linux_fs_struct_super_has_alloc_inode+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -6091,7 +7945,6 @@ _ACEOF
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -6108,14 +7961,36 @@ printk("%p\n", _super.alloc_inode);
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -6124,18 +7999,19 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_fs_struct_super_has_alloc_inode=no
+       ac_cv_linux_fs_struct_super_has_alloc_inode=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_super_has_alloc_inode" >&5
-echo "${ECHO_T}$ac_cv_linux_fs_struct_super_has_alloc_inode" >&6
+  echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_super_has_alloc_inode" >&5
+echo "${ECHO_T}$ac_cv_linux_fs_struct_super_has_alloc_inode" >&6; }
 
-  echo "$as_me:$LINENO: checking for page_lock in struct address_space" >&5
-echo $ECHO_N "checking for page_lock in struct address_space... $ECHO_C" >&6
+  echo "$as_me:$LINENO: checking for page_lock in struct address_space" >&5
+echo $ECHO_N "checking for page_lock in struct address_space... $ECHO_C" >&6; }
   if test "${ac_cv_linux_fs_struct_address_space_has_page_lock+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -6182,7 +8058,6 @@ _ACEOF
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -6199,14 +8074,36 @@ printk("%x\n", _a_s.page_lock);
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -6215,18 +8112,19 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_fs_struct_address_space_has_page_lock=no
+       ac_cv_linux_fs_struct_address_space_has_page_lock=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_address_space_has_page_lock" >&5
-echo "${ECHO_T}$ac_cv_linux_fs_struct_address_space_has_page_lock" >&6
+  echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_address_space_has_page_lock" >&5
+echo "${ECHO_T}$ac_cv_linux_fs_struct_address_space_has_page_lock" >&6; }
 
-  echo "$as_me:$LINENO: checking for gfp_mask in struct address_space" >&5
-echo $ECHO_N "checking for gfp_mask in struct address_space... $ECHO_C" >&6
+  echo "$as_me:$LINENO: checking for gfp_mask in struct address_space" >&5
+echo $ECHO_N "checking for gfp_mask in struct address_space... $ECHO_C" >&6; }
   if test "${ac_cv_linux_fs_struct_address_space_has_gfp_mask+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -6273,7 +8171,6 @@ _ACEOF
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -6290,14 +8187,36 @@ printk("%d\n", _a.gfp_mask);
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -6306,18 +8225,19 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_fs_struct_address_space_has_gfp_mask=no
+       ac_cv_linux_fs_struct_address_space_has_gfp_mask=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_address_space_has_gfp_mask" >&5
-echo "${ECHO_T}$ac_cv_linux_fs_struct_address_space_has_gfp_mask" >&6
+  echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_address_space_has_gfp_mask" >&5
+echo "${ECHO_T}$ac_cv_linux_fs_struct_address_space_has_gfp_mask" >&6; }
 
-  echo "$as_me:$LINENO: checking for i_alloc_sem in struct inode" >&5
-echo $ECHO_N "checking for i_alloc_sem in struct inode... $ECHO_C" >&6
+  echo "$as_me:$LINENO: checking for i_alloc_sem in struct inode" >&5
+echo $ECHO_N "checking for i_alloc_sem in struct inode... $ECHO_C" >&6; }
   if test "${ac_cv_linux_fs_struct_inode_has_i_alloc_sem+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -6364,7 +8284,6 @@ _ACEOF
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -6381,14 +8300,36 @@ printk("%x\n", _i.i_alloc_sem);
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -6397,18 +8338,19 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_fs_struct_inode_has_i_alloc_sem=no
+       ac_cv_linux_fs_struct_inode_has_i_alloc_sem=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_alloc_sem" >&5
-echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_alloc_sem" >&6
+  echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_alloc_sem" >&5
+echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_alloc_sem" >&6; }
 
-  echo "$as_me:$LINENO: checking for i_blkbits in struct inode" >&5
-echo $ECHO_N "checking for i_blkbits in struct inode... $ECHO_C" >&6
+  echo "$as_me:$LINENO: checking for i_blkbits in struct inode" >&5
+echo $ECHO_N "checking for i_blkbits in struct inode... $ECHO_C" >&6; }
   if test "${ac_cv_linux_fs_struct_inode_has_i_blkbits+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -6455,7 +8397,6 @@ _ACEOF
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -6472,14 +8413,36 @@ printk("%d\n", _inode.i_blkbits);
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -6488,15 +8451,16 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_fs_struct_inode_has_i_blkbits=no
+       ac_cv_linux_fs_struct_inode_has_i_blkbits=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_blkbits" >&5
-echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_blkbits" >&6
+  echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_blkbits" >&5
+echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_blkbits" >&6; }
   if test "x$ac_cv_linux_fs_struct_inode_has_i_blkbits" = "xyes"; then
 
 cat >>confdefs.h <<\_ACEOF
@@ -6505,8 +8469,8 @@ _ACEOF
 
   fi
 
-  echo "$as_me:$LINENO: checking for i_blksize in struct inode" >&5
-echo $ECHO_N "checking for i_blksize in struct inode... $ECHO_C" >&6
+  echo "$as_me:$LINENO: checking for i_blksize in struct inode" >&5
+echo $ECHO_N "checking for i_blksize in struct inode... $ECHO_C" >&6; }
   if test "${ac_cv_linux_fs_struct_inode_has_i_blksize+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -6553,7 +8517,6 @@ _ACEOF
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -6570,14 +8533,36 @@ printk("%d\n", _inode.i_blksize);
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -6586,18 +8571,19 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_fs_struct_inode_has_i_blksize=no
+       ac_cv_linux_fs_struct_inode_has_i_blksize=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_blksize" >&5
-echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_blksize" >&6
+  echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_blksize" >&5
+echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_blksize" >&6; }
 
-  echo "$as_me:$LINENO: checking for i_truncate_sem in struct inode" >&5
-echo $ECHO_N "checking for i_truncate_sem in struct inode... $ECHO_C" >&6
+  echo "$as_me:$LINENO: checking for i_truncate_sem in struct inode" >&5
+echo $ECHO_N "checking for i_truncate_sem in struct inode... $ECHO_C" >&6; }
   if test "${ac_cv_linux_fs_struct_inode_has_i_truncate_sem+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -6644,7 +8630,6 @@ _ACEOF
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -6661,14 +8646,36 @@ printk("%x\n", _i.i_truncate_sem);
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -6677,18 +8684,19 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_fs_struct_inode_has_i_truncate_sem=no
+       ac_cv_linux_fs_struct_inode_has_i_truncate_sem=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_truncate_sem" >&5
-echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_truncate_sem" >&6
+  echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_truncate_sem" >&5
+echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_truncate_sem" >&6; }
 
-  echo "$as_me:$LINENO: checking for i_dirty_data_buffers in struct inode" >&5
-echo $ECHO_N "checking for i_dirty_data_buffers in struct inode... $ECHO_C" >&6
+  echo "$as_me:$LINENO: checking for i_dirty_data_buffers in struct inode" >&5
+echo $ECHO_N "checking for i_dirty_data_buffers in struct inode... $ECHO_C" >&6; }
   if test "${ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -6735,7 +8743,6 @@ _ACEOF
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -6752,14 +8759,36 @@ printk("%d\n", _inode.i_dirty_data_buffers);
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -6768,18 +8797,19 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers=no
+       ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers" >&5
-echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers" >&6
+  echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers" >&5
+echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_dirty_data_buffers" >&6; }
 
-  echo "$as_me:$LINENO: checking for i_devices in struct inode" >&5
-echo $ECHO_N "checking for i_devices in struct inode... $ECHO_C" >&6
+  echo "$as_me:$LINENO: checking for i_devices in struct inode" >&5
+echo $ECHO_N "checking for i_devices in struct inode... $ECHO_C" >&6; }
   if test "${ac_cv_linux_fs_struct_inode_has_i_devices+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -6826,7 +8856,6 @@ _ACEOF
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -6843,14 +8872,36 @@ printk("%d\n", _inode.i_devices);
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -6859,18 +8910,19 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_fs_struct_inode_has_i_devices=no
+       ac_cv_linux_fs_struct_inode_has_i_devices=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_devices" >&5
-echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_devices" >&6
+  echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_devices" >&5
+echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_devices" >&6; }
 
-  echo "$as_me:$LINENO: checking for i_mmap_shared in struct inode" >&5
-echo $ECHO_N "checking for i_mmap_shared in struct inode... $ECHO_C" >&6
+  echo "$as_me:$LINENO: checking for i_mmap_shared in struct inode" >&5
+echo $ECHO_N "checking for i_mmap_shared in struct inode... $ECHO_C" >&6; }
   if test "${ac_cv_linux_fs_struct_inode_has_i_mmap_shared+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -6917,7 +8969,6 @@ _ACEOF
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -6934,14 +8985,36 @@ printk("%d\n", _inode.i_mmap_shared);
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -6950,18 +9023,19 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_fs_struct_inode_has_i_mmap_shared=no
+       ac_cv_linux_fs_struct_inode_has_i_mmap_shared=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_mmap_shared" >&5
-echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_mmap_shared" >&6
+  echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_mmap_shared" >&5
+echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_mmap_shared" >&6; }
 
-  echo "$as_me:$LINENO: checking for i_mutex in struct inode" >&5
-echo $ECHO_N "checking for i_mutex in struct inode... $ECHO_C" >&6
+  echo "$as_me:$LINENO: checking for i_mutex in struct inode" >&5
+echo $ECHO_N "checking for i_mutex in struct inode... $ECHO_C" >&6; }
   if test "${ac_cv_linux_fs_struct_inode_has_i_mutex+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -7008,7 +9082,6 @@ _ACEOF
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -7025,14 +9098,36 @@ printk("%d\n", _inode.i_mutex);
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -7041,18 +9136,19 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_fs_struct_inode_has_i_mutex=no
+       ac_cv_linux_fs_struct_inode_has_i_mutex=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_mutex" >&5
-echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_mutex" >&6
+  echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_mutex" >&5
+echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_mutex" >&6; }
 
-  echo "$as_me:$LINENO: checking for i_sb_list in struct inode" >&5
-echo $ECHO_N "checking for i_sb_list in struct inode... $ECHO_C" >&6
+  echo "$as_me:$LINENO: checking for i_sb_list in struct inode" >&5
+echo $ECHO_N "checking for i_sb_list in struct inode... $ECHO_C" >&6; }
   if test "${ac_cv_linux_fs_struct_inode_has_i_sb_list+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -7099,7 +9195,6 @@ _ACEOF
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -7116,14 +9211,36 @@ printk("%d\n", _inode.i_sb_list);
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -7132,18 +9249,19 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_fs_struct_inode_has_i_sb_list=no
+       ac_cv_linux_fs_struct_inode_has_i_sb_list=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_sb_list" >&5
-echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_sb_list" >&6
+  echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_sb_list" >&5
+echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_sb_list" >&6; }
 
-  echo "$as_me:$LINENO: checking for i_security in struct inode" >&5
-echo $ECHO_N "checking for i_security in struct inode... $ECHO_C" >&6
+  echo "$as_me:$LINENO: checking for i_security in struct inode" >&5
+echo $ECHO_N "checking for i_security in struct inode... $ECHO_C" >&6; }
   if test "${ac_cv_linux_fs_struct_inode_has_i_security+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -7190,7 +9308,6 @@ _ACEOF
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -7207,14 +9324,36 @@ printk("%d\n", _inode.i_security);
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -7223,18 +9362,19 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_fs_struct_inode_has_i_security=no
+       ac_cv_linux_fs_struct_inode_has_i_security=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_security" >&5
-echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_security" >&6
+  echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_i_security" >&5
+echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_i_security" >&6; }
 
-  echo "$as_me:$LINENO: checking for inotify_lock in struct inode" >&5
-echo $ECHO_N "checking for inotify_lock in struct inode... $ECHO_C" >&6
+  echo "$as_me:$LINENO: checking for inotify_lock in struct inode" >&5
+echo $ECHO_N "checking for inotify_lock in struct inode... $ECHO_C" >&6; }
   if test "${ac_cv_linux_fs_struct_inode_has_inotify_lock+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -7281,7 +9421,6 @@ _ACEOF
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -7298,14 +9437,36 @@ printk("%d\n", _inode.inotify_lock);
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -7314,18 +9475,19 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_fs_struct_inode_has_inotify_lock=no
+       ac_cv_linux_fs_struct_inode_has_inotify_lock=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_inotify_lock" >&5
-echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_inotify_lock" >&6
+  echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_inotify_lock" >&5
+echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_inotify_lock" >&6; }
 
-  echo "$as_me:$LINENO: checking for inotify_sem in struct inode" >&5
-echo $ECHO_N "checking for inotify_sem in struct inode... $ECHO_C" >&6
+  echo "$as_me:$LINENO: checking for inotify_sem in struct inode" >&5
+echo $ECHO_N "checking for inotify_sem in struct inode... $ECHO_C" >&6; }
   if test "${ac_cv_linux_fs_struct_inode_has_inotify_sem+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -7372,7 +9534,6 @@ _ACEOF
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -7389,14 +9550,36 @@ printk("%x\n", _inode.inotify_sem);
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -7405,18 +9588,19 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_fs_struct_inode_has_inotify_sem=no
+       ac_cv_linux_fs_struct_inode_has_inotify_sem=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_inotify_sem" >&5
-echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_inotify_sem" >&6
+  echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_inode_has_inotify_sem" >&5
+echo "${ECHO_T}$ac_cv_linux_fs_struct_inode_has_inotify_sem" >&6; }
 
-  echo "$as_me:$LINENO: checking for inode_setattr return type" >&5
-echo $ECHO_N "checking for inode_setattr return type... $ECHO_C" >&6
+  echo "$as_me:$LINENO: checking for inode_setattr return type" >&5
+echo $ECHO_N "checking for inode_setattr return type... $ECHO_C" >&6; }
   if test "${ac_cv_linux_func_inode_setattr_returns_int+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -7465,7 +9649,6 @@ _ACEOF
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -7484,14 +9667,36 @@ i = inode_setattr(&_inode, &_iattr);
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -7500,18 +9705,19 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_func_inode_setattr_returns_int=no
+       ac_cv_linux_func_inode_setattr_returns_int=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_func_inode_setattr_returns_int" >&5
-echo "${ECHO_T}$ac_cv_linux_func_inode_setattr_returns_int" >&6
+  echo "$as_me:$LINENO: result: $ac_cv_linux_func_inode_setattr_returns_int" >&5
+echo "${ECHO_T}$ac_cv_linux_func_inode_setattr_returns_int" >&6; }
 
-  echo "$as_me:$LINENO: checking for write_inode return type" >&5
-echo $ECHO_N "checking for write_inode return type... $ECHO_C" >&6
+  echo "$as_me:$LINENO: checking for write_inode return type" >&5
+echo $ECHO_N "checking for write_inode return type... $ECHO_C" >&6; }
   if test "${ac_cv_linux_func_write_inode_returns_int+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -7560,7 +9766,6 @@ _ACEOF
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -7579,14 +9784,36 @@ i = _sops.write_inode(&_inode, 0);
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -7595,18 +9822,19 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_func_write_inode_returns_int=no
+       ac_cv_linux_func_write_inode_returns_int=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_func_write_inode_returns_int" >&5
-echo "${ECHO_T}$ac_cv_linux_func_write_inode_returns_int" >&6
+  echo "$as_me:$LINENO: result: $ac_cv_linux_func_write_inode_returns_int" >&5
+echo "${ECHO_T}$ac_cv_linux_func_write_inode_returns_int" >&6; }
 
-  echo "$as_me:$LINENO: checking whether inode_operations.create takes a nameidata" >&5
-echo $ECHO_N "checking whether inode_operations.create takes a nameidata... $ECHO_C" >&6
+  echo "$as_me:$LINENO: checking whether inode_operations.create takes a nameidata" >&5
+echo $ECHO_N "checking whether inode_operations.create takes a nameidata... $ECHO_C" >&6; }
   if test "${ac_cv_linux_func_i_create_takes_nameidata+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -7656,7 +9884,6 @@ _ACEOF
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -7676,14 +9903,36 @@ struct nameidata _nameidata;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -7692,18 +9941,19 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_func_i_create_takes_nameidata=no
+       ac_cv_linux_func_i_create_takes_nameidata=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_func_i_create_takes_nameidata" >&5
-echo "${ECHO_T}$ac_cv_linux_func_i_create_takes_nameidata" >&6
+  echo "$as_me:$LINENO: result: $ac_cv_linux_func_i_create_takes_nameidata" >&5
+echo "${ECHO_T}$ac_cv_linux_func_i_create_takes_nameidata" >&6; }
 
-  echo "$as_me:$LINENO: checking whether inode_operations.lookup takes a nameidata" >&5
-echo $ECHO_N "checking whether inode_operations.lookup takes a nameidata... $ECHO_C" >&6
+  echo "$as_me:$LINENO: checking whether inode_operations.lookup takes a nameidata" >&5
+echo $ECHO_N "checking whether inode_operations.lookup takes a nameidata... $ECHO_C" >&6; }
   if test "${ac_cv_linux_func_i_lookup_takes_nameidata+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -7753,7 +10003,6 @@ _ACEOF
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -7773,14 +10022,36 @@ struct nameidata _nameidata;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -7789,18 +10060,19 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_func_i_lookup_takes_nameidata=no
+       ac_cv_linux_func_i_lookup_takes_nameidata=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_func_i_lookup_takes_nameidata" >&5
-echo "${ECHO_T}$ac_cv_linux_func_i_lookup_takes_nameidata" >&6
+  echo "$as_me:$LINENO: result: $ac_cv_linux_func_i_lookup_takes_nameidata" >&5
+echo "${ECHO_T}$ac_cv_linux_func_i_lookup_takes_nameidata" >&6; }
 
-  echo "$as_me:$LINENO: checking whether inode_operations.permission takes a nameidata" >&5
-echo $ECHO_N "checking whether inode_operations.permission takes a nameidata... $ECHO_C" >&6
+  echo "$as_me:$LINENO: checking whether inode_operations.permission takes a nameidata" >&5
+echo $ECHO_N "checking whether inode_operations.permission takes a nameidata... $ECHO_C" >&6; }
   if test "${ac_cv_linux_func_i_permission_takes_nameidata+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -7850,7 +10122,6 @@ _ACEOF
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -7870,14 +10141,36 @@ struct nameidata _nameidata;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -7886,19 +10179,20 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_func_i_permission_takes_nameidata=no
+       ac_cv_linux_func_i_permission_takes_nameidata=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_func_i_permission_takes_nameidata" >&5
-echo "${ECHO_T}$ac_cv_linux_func_i_permission_takes_nameidata" >&6
+  echo "$as_me:$LINENO: result: $ac_cv_linux_func_i_permission_takes_nameidata" >&5
+echo "${ECHO_T}$ac_cv_linux_func_i_permission_takes_nameidata" >&6; }
 
-  echo "$as_me:$LINENO: checking whether dentry_operations.d_revalidate takes a nameidata" >&5
-echo $ECHO_N "checking whether dentry_operations.d_revalidate takes a nameidata... $ECHO_C" >&6
-  if test "${ac_cv_linux_func_d_revalidate_takes_nameidata+set}" = set; then
+  { echo "$as_me:$LINENO: checking whether inode_operations.put_link takes an opaque cookie" >&5
+echo $ECHO_N "checking whether inode_operations.put_link takes an opaque cookie... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_func_i_put_link_takes_cookie+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
@@ -7923,30 +10217,31 @@ _ACEOF
 
 void conftest(void)
 {
+struct inode _inode;
 struct dentry _dentry;
 struct nameidata _nameidata;
-(void)_dentry.d_op->d_revalidate(&_dentry, &_nameidata);
+void *cookie;
+(void)_inode.i_op->put_link(&_dentry, &_nameidata, cookie);
 }
 
 MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
 _ACEOF
     echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
     make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
-    then ac_cv_linux_func_d_revalidate_takes_nameidata=yes
+    then ac_cv_linux_func_i_put_link_takes_cookie=yes
     else
       sed '/^ *+/d' conftest.err >&5
       echo "$as_me: failed using Makefile:" >&5
       sed 's/^/| /' conftest.dir/Makefile >&5
       echo "$as_me: and program was:" >&5
       sed 's/^/| /' conftest.dir/conftest.c >&5
-      ac_cv_linux_func_d_revalidate_takes_nameidata=no
+      ac_cv_linux_func_i_put_link_takes_cookie=no
   fi; rm -fr conftest.err conftest.dir
   else
 
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -7957,43 +10252,68 @@ cat >>conftest.$ac_ext <<_ACEOF
 int
 main ()
 {
+struct inode _inode;
 struct dentry _dentry;
 struct nameidata _nameidata;
-(void)_dentry.d_op->d_revalidate(&_dentry, &_nameidata);
+void *cookie;
+(void)_inode.i_op->put_link(&_dentry, &_nameidata, cookie);
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_linux_func_d_revalidate_takes_nameidata=yes
+  ac_cv_linux_func_i_put_link_takes_cookie=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_func_d_revalidate_takes_nameidata=no
+       ac_cv_linux_func_i_put_link_takes_cookie=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_func_d_revalidate_takes_nameidata" >&5
-echo "${ECHO_T}$ac_cv_linux_func_d_revalidate_takes_nameidata" >&6
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_func_i_put_link_takes_cookie" >&5
+echo "${ECHO_T}$ac_cv_linux_func_i_put_link_takes_cookie" >&6; }
 
-  echo "$as_me:$LINENO: checking whether address_space_operations.writepage takes a writeback_control" >&5
-echo $ECHO_N "checking whether address_space_operations.writepage takes a writeback_control... $ECHO_C" >&6
-  if test "${ac_cv_linux_func_a_writepage_takes_writeback_control+set}" = set; then
+  { echo "$as_me:$LINENO: checking whether dentry_operations.d_revalidate takes a nameidata" >&5
+echo $ECHO_N "checking whether dentry_operations.d_revalidate takes a nameidata... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_func_d_revalidate_takes_nameidata+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
@@ -8014,85 +10334,103 @@ _ACEOF
 /* end confdefs.h */
 #include <linux/module.h>
 #include <linux/fs.h>
-#include <linux/mm.h>
-#include <linux/writeback.h>
+#include <linux/namei.h>
 
 void conftest(void)
 {
-struct address_space_operations _aops;
-struct page _page;
-struct writeback_control _writeback_control;
-(void)_aops.writepage(&_page, &_writeback_control);
+struct dentry _dentry;
+struct nameidata _nameidata;
+(void)_dentry.d_op->d_revalidate(&_dentry, &_nameidata);
 }
 
 MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
 _ACEOF
     echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
     make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
-    then ac_cv_linux_func_a_writepage_takes_writeback_control=yes
+    then ac_cv_linux_func_d_revalidate_takes_nameidata=yes
     else
       sed '/^ *+/d' conftest.err >&5
       echo "$as_me: failed using Makefile:" >&5
       sed 's/^/| /' conftest.dir/Makefile >&5
       echo "$as_me: and program was:" >&5
       sed 's/^/| /' conftest.dir/conftest.c >&5
-      ac_cv_linux_func_a_writepage_takes_writeback_control=no
+      ac_cv_linux_func_d_revalidate_takes_nameidata=no
   fi; rm -fr conftest.err conftest.dir
   else
 
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 #include <linux/fs.h>
-#include <linux/mm.h>
-#include <linux/writeback.h>
+#include <linux/namei.h>
 int
 main ()
 {
-struct address_space_operations _aops;
-struct page _page;
-struct writeback_control _writeback_control;
-(void)_aops.writepage(&_page, &_writeback_control);
+struct dentry _dentry;
+struct nameidata _nameidata;
+(void)_dentry.d_op->d_revalidate(&_dentry, &_nameidata);
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_linux_func_a_writepage_takes_writeback_control=yes
+  ac_cv_linux_func_d_revalidate_takes_nameidata=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_func_a_writepage_takes_writeback_control=no
+       ac_cv_linux_func_d_revalidate_takes_nameidata=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_func_a_writepage_takes_writeback_control" >&5
-echo "${ECHO_T}$ac_cv_linux_func_a_writepage_takes_writeback_control" >&6
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_func_d_revalidate_takes_nameidata" >&5
+echo "${ECHO_T}$ac_cv_linux_func_d_revalidate_takes_nameidata" >&6; }
 
-  echo "$as_me:$LINENO: checking for flock in struct file_operations" >&5
-echo $ECHO_N "checking for flock in struct file_operations... $ECHO_C" >&6
-  if test "${ac_cv_linux_fs_struct_fop_has_flock+set}" = set; then
+  { echo "$as_me:$LINENO: checking whether file_operations.flush takes a fl_owner_t" >&5
+echo $ECHO_N "checking whether file_operations.flush takes a fl_owner_t... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_func_f_flush_takes_fl_owner_t+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
@@ -8116,29 +10454,30 @@ _ACEOF
 
 void conftest(void)
 {
-struct file_operations _fop;
-_fop.flock(NULL, 0, NULL);
+struct inode _inode;
+struct file _file;
+fl_owner_t id;
+(void)_inode.i_fop->flush(&_file, &id);
 }
 
 MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
 _ACEOF
     echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
     make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
-    then ac_cv_linux_fs_struct_fop_has_flock=yes
+    then ac_cv_linux_func_f_flush_takes_fl_owner_t=yes
     else
       sed '/^ *+/d' conftest.err >&5
       echo "$as_me: failed using Makefile:" >&5
       sed 's/^/| /' conftest.dir/Makefile >&5
       echo "$as_me: and program was:" >&5
       sed 's/^/| /' conftest.dir/conftest.c >&5
-      ac_cv_linux_fs_struct_fop_has_flock=no
+      ac_cv_linux_func_f_flush_takes_fl_owner_t=no
   fi; rm -fr conftest.err conftest.dir
   else
 
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -8148,120 +10487,67 @@ cat >>conftest.$ac_ext <<_ACEOF
 int
 main ()
 {
-struct file_operations _fop;
-_fop.flock(NULL, 0, NULL);
+struct inode _inode;
+struct file _file;
+fl_owner_t id;
+(void)_inode.i_fop->flush(&_file, &id);
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_cv_linux_fs_struct_fop_has_flock=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_linux_fs_struct_fop_has_flock=no
-fi
-rm -f conftest.$ac_objext conftest.$ac_ext
-  CPPFLAGS="$ac_save_CPPFLAGS"
-  fi
-fi
-
-  echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_fop_has_flock" >&5
-echo "${ECHO_T}$ac_cv_linux_fs_struct_fop_has_flock" >&6
-
-  echo "$as_me:$LINENO: checking for linux/syscall.h in kernel" >&5
-echo $ECHO_N "checking for linux/syscall.h in kernel... $ECHO_C" >&6
-  if test -f "${LINUX_KERNEL_PATH}/include/linux/syscall.h"; then
-    ac_linux_syscall=yes
-    echo "$as_me:$LINENO: result: $ac_linux_syscall" >&5
-echo "${ECHO_T}$ac_linux_syscall" >&6
-  else
-    ac_linux_syscall=no
-    echo "$as_me:$LINENO: result: $ac_linux_syscall" >&5
-echo "${ECHO_T}$ac_linux_syscall" >&6
-  fi
-
-
-  echo "$as_me:$LINENO: checking for linux/seq_file.h in kernel" >&5
-echo $ECHO_N "checking for linux/seq_file.h in kernel... $ECHO_C" >&6
-  if test -f "${LINUX_KERNEL_PATH}/include/linux/seq_file.h"; then
-    ac_linux_seq_file=yes
-    echo "$as_me:$LINENO: result: $ac_linux_seq_file" >&5
-echo "${ECHO_T}$ac_linux_seq_file" >&6
-  else
-    ac_linux_seq_file=no
-    echo "$as_me:$LINENO: result: $ac_linux_seq_file" >&5
-echo "${ECHO_T}$ac_linux_seq_file" >&6
-  fi
-
-
-echo "$as_me:$LINENO: checking for SELinux kernel" >&5
-echo $ECHO_N "checking for SELinux kernel... $ECHO_C" >&6
-save_CPPFLAGS="$CPPFLAGS"
-CPPFLAGS="-I${LINUX_KERNEL_PATH}/include $CPPFLAGS"
-if test "${ac_cv_linux_kernel_is_selinux+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <linux/autoconf.h>
-int
-main ()
-{
-#ifndef CONFIG_SECURITY_SELINUX
-   #error not SELINUX
-   #endif
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_linux_kernel_is_selinux=yes
+  ac_cv_linux_func_f_flush_takes_fl_owner_t=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_kernel_is_selinux=no
+       ac_cv_linux_func_f_flush_takes_fl_owner_t=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CPPFLAGS="$ac_save_CPPFLAGS"
+  fi
 fi
 
-echo "$as_me:$LINENO: result: $ac_cv_linux_kernel_is_selinux" >&5
-echo "${ECHO_T}$ac_cv_linux_kernel_is_selinux" >&6
-CPPFLAGS="$save_CPPFLAGS"
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_func_f_flush_takes_fl_owner_t" >&5
+echo "${ECHO_T}$ac_cv_linux_func_f_flush_takes_fl_owner_t" >&6; }
 
-  echo "$as_me:$LINENO: checking for 5th argument in sock_create found in some SELinux kernels" >&5
-echo $ECHO_N "checking for 5th argument in sock_create found in some SELinux kernels... $ECHO_C" >&6
-  if test "${ac_cv_linux_kernel_sock_create_v+set}" = set; then
+  { echo "$as_me:$LINENO: checking whether address_space_operations.writepage takes a writeback_control" >&5
+echo $ECHO_N "checking whether address_space_operations.writepage takes a writeback_control... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_func_a_writepage_takes_writeback_control+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
@@ -8281,81 +10567,111 @@ _ACEOF
     cat >>conftest.dir/conftest.c <<\_ACEOF &&
 /* end confdefs.h */
 #include <linux/module.h>
-#include <linux/net.h>
-
+#include <linux/fs.h>
+#include <linux/mm.h>
+#include <linux/writeback.h>
+
 void conftest(void)
 {
-sock_create(0,0,0,0,0);
+struct address_space_operations _aops;
+struct page _page;
+struct writeback_control _writeback_control;
+(void)_aops.writepage(&_page, &_writeback_control);
 }
 
 MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
 _ACEOF
     echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
     make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
-    then ac_cv_linux_kernel_sock_create_v=yes
+    then ac_cv_linux_func_a_writepage_takes_writeback_control=yes
     else
       sed '/^ *+/d' conftest.err >&5
       echo "$as_me: failed using Makefile:" >&5
       sed 's/^/| /' conftest.dir/Makefile >&5
       echo "$as_me: and program was:" >&5
       sed 's/^/| /' conftest.dir/conftest.c >&5
-      ac_cv_linux_kernel_sock_create_v=no
+      ac_cv_linux_func_a_writepage_takes_writeback_control=no
   fi; rm -fr conftest.err conftest.dir
   else
 
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-#include <linux/net.h>
+#include <linux/fs.h>
+#include <linux/mm.h>
+#include <linux/writeback.h>
 int
 main ()
 {
-sock_create(0,0,0,0,0);
+struct address_space_operations _aops;
+struct page _page;
+struct writeback_control _writeback_control;
+(void)_aops.writepage(&_page, &_writeback_control);
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_linux_kernel_sock_create_v=yes
+  ac_cv_linux_func_a_writepage_takes_writeback_control=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_kernel_sock_create_v=no
+       ac_cv_linux_func_a_writepage_takes_writeback_control=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_kernel_sock_create_v" >&5
-echo "${ECHO_T}$ac_cv_linux_kernel_sock_create_v" >&6
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_func_a_writepage_takes_writeback_control" >&5
+echo "${ECHO_T}$ac_cv_linux_func_a_writepage_takes_writeback_control" >&6; }
 
-  echo "$as_me:$LINENO: checking for page_follow_link_light vs page_follow_link" >&5
-echo $ECHO_N "checking for page_follow_link_light vs page_follow_link... $ECHO_C" >&6
-  if test "${ac_cv_linux_kernel_page_follow_link+set}" = set; then
+  { echo "$as_me:$LINENO: checking for flock in struct file_operations" >&5
+echo $ECHO_N "checking for flock in struct file_operations... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_fs_struct_fop_has_flock+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
-    save_CPPFLAGS="$CPPFLAGS"
-    CPPFLAGS="$CPPFLAGS -Werror-implicit-function-declaration"
 
   if test $AFS_SYSKVERS -ge 26 ; then
       rm -fr conftest.dir
@@ -8376,28 +10692,28 @@ _ACEOF
 
 void conftest(void)
 {
-page_follow_link(0,0);
+struct file_operations _fop;
+_fop.flock(NULL, 0, NULL);
 }
 
 MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
 _ACEOF
     echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
     make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
-    then ac_cv_linux_kernel_page_follow_link=yes
+    then ac_cv_linux_fs_struct_fop_has_flock=yes
     else
       sed '/^ *+/d' conftest.err >&5
       echo "$as_me: failed using Makefile:" >&5
       sed 's/^/| /' conftest.dir/Makefile >&5
       echo "$as_me: and program was:" >&5
       sed 's/^/| /' conftest.dir/conftest.c >&5
-      ac_cv_linux_kernel_page_follow_link=no
+      ac_cv_linux_fs_struct_fop_has_flock=no
   fi; rm -fr conftest.err conftest.dir
   else
 
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -8407,70 +10723,65 @@ cat >>conftest.$ac_ext <<_ACEOF
 int
 main ()
 {
-page_follow_link(0,0);
+struct file_operations _fop;
+_fop.flock(NULL, 0, NULL);
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_linux_kernel_page_follow_link=yes
+  ac_cv_linux_fs_struct_fop_has_flock=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_kernel_page_follow_link=no
-fi
-rm -f conftest.$ac_objext conftest.$ac_ext
-  CPPFLAGS="$ac_save_CPPFLAGS"
-  fi
-    CPPFLAGS="$save_CPPFLAGS"
+       ac_cv_linux_fs_struct_fop_has_flock=no
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_kernel_page_follow_link" >&5
-echo "${ECHO_T}$ac_cv_linux_kernel_page_follow_link" >&6
-
-RHCONFIG_SP=""
-RHCONFIG_MP=""
-if test "x$enable_redhat_buildsys" = "xyes"; then
-  { echo "$as_me:$LINENO: WARNING: Configured to build from a Red Hat SPEC file" >&5
-echo "$as_me: WARNING: Configured to build from a Red Hat SPEC file" >&2;}
-else
-  echo "$as_me:$LINENO: checking for redhat kernel configuration" >&5
-echo $ECHO_N "checking for redhat kernel configuration... $ECHO_C" >&6
-  if test -f "${LINUX_KERNEL_PATH}/include/linux/rhconfig.h"; then
-    ac_linux_rhconfig=yes
-    RHCONFIG_SP="-D__BOOT_KERNEL_UP=1 -D__BOOT_KERNEL_SMP=0"
-    RHCONFIG_MP="-D__BOOT_KERNEL_UP=0 -D__BOOT_KERNEL_SMP=1"
-    echo "$as_me:$LINENO: result: $ac_linux_rhconfig" >&5
-echo "${ECHO_T}$ac_linux_rhconfig" >&6
-    if test ! -f "/boot/kernel.h"; then
-        { echo "$as_me:$LINENO: WARNING: /boot/kernel.h does not exist. build may fail" >&5
-echo "$as_me: WARNING: /boot/kernel.h does not exist. build may fail" >&2;}
-    fi
-  else
-    ac_linux_rhconfig=no
-    echo "$as_me:$LINENO: result: $ac_linux_rhconfig" >&5
-echo "${ECHO_T}$ac_linux_rhconfig" >&6
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_fop_has_flock" >&5
+echo "${ECHO_T}$ac_cv_linux_fs_struct_fop_has_flock" >&6; }
 
-
-
-  echo "$as_me:$LINENO: checking for recalc_sigpending arg type" >&5
-echo $ECHO_N "checking for recalc_sigpending arg type... $ECHO_C" >&6
-  if test "${ac_cv_linux_func_recalc_sigpending_takes_void+set}" = set; then
+  { echo "$as_me:$LINENO: checking for sendfile in struct file_operations" >&5
+echo $ECHO_N "checking for sendfile in struct file_operations... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_fs_struct_fop_has_sendfile+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
@@ -8490,76 +10801,126 @@ _ACEOF
     cat >>conftest.dir/conftest.c <<\_ACEOF &&
 /* end confdefs.h */
 #include <linux/module.h>
-#include <linux/sched.h>
+#include <linux/fs.h>
 
 void conftest(void)
 {
-recalc_sigpending();
+struct file_operations _fop;
+_fop.sendfile(NULL, NULL, 0, 0, NULL);
 }
 
 MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
 _ACEOF
     echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
     make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
-    then ac_cv_linux_func_recalc_sigpending_takes_void=yes
+    then ac_cv_linux_fs_struct_fop_has_sendfile=yes
     else
       sed '/^ *+/d' conftest.err >&5
       echo "$as_me: failed using Makefile:" >&5
       sed 's/^/| /' conftest.dir/Makefile >&5
       echo "$as_me: and program was:" >&5
       sed 's/^/| /' conftest.dir/conftest.c >&5
-      ac_cv_linux_func_recalc_sigpending_takes_void=no
+      ac_cv_linux_fs_struct_fop_has_sendfile=no
   fi; rm -fr conftest.err conftest.dir
   else
 
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-#include <linux/sched.h>
+#include <linux/fs.h>
 int
 main ()
 {
-recalc_sigpending();
+struct file_operations _fop;
+_fop.sendfile(NULL, NULL, 0, 0, NULL);
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_linux_func_recalc_sigpending_takes_void=yes
+  ac_cv_linux_fs_struct_fop_has_sendfile=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_func_recalc_sigpending_takes_void=no
+       ac_cv_linux_fs_struct_fop_has_sendfile=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_func_recalc_sigpending_takes_void" >&5
-echo "${ECHO_T}$ac_cv_linux_func_recalc_sigpending_takes_void" >&6
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_fs_struct_fop_has_sendfile" >&5
+echo "${ECHO_T}$ac_cv_linux_fs_struct_fop_has_sendfile" >&6; }
 
-  echo "$as_me:$LINENO: checking for parent in struct task_struct" >&5
-echo $ECHO_N "checking for parent in struct task_struct... $ECHO_C" >&6
-  if test "${ac_cv_linux_sched_struct_task_struct_has_parent+set}" = set; then
+  { echo "$as_me:$LINENO: checking for linux/syscall.h in kernel" >&5
+echo $ECHO_N "checking for linux/syscall.h in kernel... $ECHO_C" >&6; }
+  if test -f "${LINUX_KERNEL_PATH}/include/linux/syscall.h"; then
+    ac_linux_syscall=yes
+    { echo "$as_me:$LINENO: result: $ac_linux_syscall" >&5
+echo "${ECHO_T}$ac_linux_syscall" >&6; }
+  else
+    ac_linux_syscall=no
+    { echo "$as_me:$LINENO: result: $ac_linux_syscall" >&5
+echo "${ECHO_T}$ac_linux_syscall" >&6; }
+  fi
+
+
+  { echo "$as_me:$LINENO: checking for linux/seq_file.h in kernel" >&5
+echo $ECHO_N "checking for linux/seq_file.h in kernel... $ECHO_C" >&6; }
+  if test -f "${LINUX_KERNEL_PATH}/include/linux/seq_file.h"; then
+    ac_linux_seq_file=yes
+    { echo "$as_me:$LINENO: result: $ac_linux_seq_file" >&5
+echo "${ECHO_T}$ac_linux_seq_file" >&6; }
+  else
+    ac_linux_seq_file=no
+    { echo "$as_me:$LINENO: result: $ac_linux_seq_file" >&5
+echo "${ECHO_T}$ac_linux_seq_file" >&6; }
+  fi
+
+
+  { echo "$as_me:$LINENO: checking for 3rd argument in posix_lock_file found in new kernels" >&5
+echo $ECHO_N "checking for 3rd argument in posix_lock_file found in new kernels... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_kernel_posix_lock_file_wait_arg+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
@@ -8579,169 +10940,172 @@ _ACEOF
     cat >>conftest.dir/conftest.c <<\_ACEOF &&
 /* end confdefs.h */
 #include <linux/module.h>
-#include <linux/sched.h>
+#include <linux/fs.h>
 
 void conftest(void)
 {
-struct task_struct _tsk;
-printk("%d\n", _tsk.parent);
+posix_lock_file(0,0,0);
 }
 
 MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
 _ACEOF
     echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
     make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
-    then ac_cv_linux_sched_struct_task_struct_has_parent=yes
+    then ac_cv_linux_kernel_posix_lock_file_wait_arg=yes
     else
       sed '/^ *+/d' conftest.err >&5
       echo "$as_me: failed using Makefile:" >&5
       sed 's/^/| /' conftest.dir/Makefile >&5
       echo "$as_me: and program was:" >&5
       sed 's/^/| /' conftest.dir/conftest.c >&5
-      ac_cv_linux_sched_struct_task_struct_has_parent=no
+      ac_cv_linux_kernel_posix_lock_file_wait_arg=no
   fi; rm -fr conftest.err conftest.dir
   else
 
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-#include <linux/sched.h>
+#include <linux/fs.h>
 int
 main ()
 {
-struct task_struct _tsk;
-printk("%d\n", _tsk.parent);
+posix_lock_file(0,0,0);
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_linux_sched_struct_task_struct_has_parent=yes
+  ac_cv_linux_kernel_posix_lock_file_wait_arg=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_sched_struct_task_struct_has_parent=no
+       ac_cv_linux_kernel_posix_lock_file_wait_arg=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_parent" >&5
-echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_parent" >&6
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_kernel_posix_lock_file_wait_arg" >&5
+echo "${ECHO_T}$ac_cv_linux_kernel_posix_lock_file_wait_arg" >&6; }
 
-  echo "$as_me:$LINENO: checking for real_parent in struct task_struct" >&5
-echo $ECHO_N "checking for real_parent in struct task_struct... $ECHO_C" >&6
-  if test "${ac_cv_linux_sched_struct_task_struct_has_real_parent+set}" = set; then
+{ echo "$as_me:$LINENO: checking for SELinux kernel" >&5
+echo $ECHO_N "checking for SELinux kernel... $ECHO_C" >&6; }
+save_CPPFLAGS="$CPPFLAGS"
+CPPFLAGS="-I${LINUX_KERNEL_PATH}/include $CPPFLAGS"
+if test "${ac_cv_linux_kernel_is_selinux+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
-
-  if test $AFS_SYSKVERS -ge 26 ; then
-      rm -fr conftest.dir
-  if mkdir conftest.dir &&
-    cat >conftest.dir/Makefile <<_ACEOF &&
-CFLAGS += $CPPFLAGS
-
-obj-m += conftest.o
-_ACEOF
-    cat >conftest.dir/conftest.c <<\_ACEOF &&
-/* confdefs.h */
-_ACEOF
-    cat confdefs.h >>conftest.dir/conftest.c &&
-    cat >>conftest.dir/conftest.c <<\_ACEOF &&
-/* end confdefs.h */
-#include <linux/module.h>
-#include <linux/sched.h>
-
-void conftest(void)
-{
-struct task_struct _tsk;
-printk("%d\n", _tsk.real_parent);
-}
-
-MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
-_ACEOF
-    echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
-    make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
-    then ac_cv_linux_sched_struct_task_struct_has_real_parent=yes
-    else
-      sed '/^ *+/d' conftest.err >&5
-      echo "$as_me: failed using Makefile:" >&5
-      sed 's/^/| /' conftest.dir/Makefile >&5
-      echo "$as_me: and program was:" >&5
-      sed 's/^/| /' conftest.dir/conftest.c >&5
-      ac_cv_linux_sched_struct_task_struct_has_real_parent=no
-  fi; rm -fr conftest.err conftest.dir
-  else
-
-  ac_save_CPPFLAGS="$CPPFLAGS"
-  CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
-  cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
+cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-#include <linux/sched.h>
+#include <linux/autoconf.h>
 int
 main ()
 {
-struct task_struct _tsk;
-printk("%d\n", _tsk.real_parent);
+#ifndef CONFIG_SECURITY_SELINUX
+   #error not SELINUX
+   #endif
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_linux_sched_struct_task_struct_has_real_parent=yes
+  ac_cv_linux_kernel_is_selinux=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_sched_struct_task_struct_has_real_parent=no
+       ac_cv_linux_kernel_is_selinux=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
-  CPPFLAGS="$ac_save_CPPFLAGS"
-  fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_real_parent" >&5
-echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_real_parent" >&6
+{ echo "$as_me:$LINENO: result: $ac_cv_linux_kernel_is_selinux" >&5
+echo "${ECHO_T}$ac_cv_linux_kernel_is_selinux" >&6; }
+CPPFLAGS="$save_CPPFLAGS"
 
-  echo "$as_me:$LINENO: checking for sig in struct task_struct" >&5
-echo $ECHO_N "checking for sig in struct task_struct... $ECHO_C" >&6
-  if test "${ac_cv_linux_sched_struct_task_struct_has_sig+set}" = set; then
+  { echo "$as_me:$LINENO: checking for 5th argument in sock_create found in some SELinux kernels" >&5
+echo $ECHO_N "checking for 5th argument in sock_create found in some SELinux kernels... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_kernel_sock_create_v+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
@@ -8761,81 +11125,103 @@ _ACEOF
     cat >>conftest.dir/conftest.c <<\_ACEOF &&
 /* end confdefs.h */
 #include <linux/module.h>
-#include <linux/sched.h>
+#include <linux/net.h>
 
 void conftest(void)
 {
-struct task_struct _tsk;
-printk("%d\n", _tsk.sig);
+sock_create(0,0,0,0,0);
 }
 
 MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
 _ACEOF
     echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
     make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
-    then ac_cv_linux_sched_struct_task_struct_has_sig=yes
+    then ac_cv_linux_kernel_sock_create_v=yes
     else
       sed '/^ *+/d' conftest.err >&5
       echo "$as_me: failed using Makefile:" >&5
       sed 's/^/| /' conftest.dir/Makefile >&5
       echo "$as_me: and program was:" >&5
       sed 's/^/| /' conftest.dir/conftest.c >&5
-      ac_cv_linux_sched_struct_task_struct_has_sig=no
+      ac_cv_linux_kernel_sock_create_v=no
   fi; rm -fr conftest.err conftest.dir
   else
 
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-#include <linux/sched.h>
+#include <linux/net.h>
 int
 main ()
 {
-struct task_struct _tsk;
-printk("%d\n", _tsk.sig);
+sock_create(0,0,0,0,0);
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_linux_sched_struct_task_struct_has_sig=yes
+  ac_cv_linux_kernel_sock_create_v=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_sched_struct_task_struct_has_sig=no
+       ac_cv_linux_kernel_sock_create_v=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_sig" >&5
-echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_sig" >&6
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_kernel_sock_create_v" >&5
+echo "${ECHO_T}$ac_cv_linux_kernel_sock_create_v" >&6; }
 
-  echo "$as_me:$LINENO: checking for sighand in struct task_struct" >&5
-echo $ECHO_N "checking for sighand in struct task_struct... $ECHO_C" >&6
-  if test "${ac_cv_linux_sched_struct_task_struct_has_sighand+set}" = set; then
+  { echo "$as_me:$LINENO: checking for page_follow_link_light vs page_follow_link" >&5
+echo $ECHO_N "checking for page_follow_link_light vs page_follow_link... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_kernel_page_follow_link+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
+    save_CPPFLAGS="$CPPFLAGS"
+    CPPFLAGS="$CPPFLAGS -Werror-implicit-function-declaration"
 
   if test $AFS_SYSKVERS -ge 26 ; then
       rm -fr conftest.dir
@@ -8852,78 +11238,127 @@ _ACEOF
     cat >>conftest.dir/conftest.c <<\_ACEOF &&
 /* end confdefs.h */
 #include <linux/module.h>
-#include <linux/sched.h>
+#include <linux/fs.h>
 
 void conftest(void)
 {
-struct task_struct _tsk;
-printk("%d\n", _tsk.sighand);
+page_follow_link(0,0);
 }
 
 MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
 _ACEOF
     echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
     make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
-    then ac_cv_linux_sched_struct_task_struct_has_sighand=yes
+    then ac_cv_linux_kernel_page_follow_link=yes
     else
       sed '/^ *+/d' conftest.err >&5
       echo "$as_me: failed using Makefile:" >&5
       sed 's/^/| /' conftest.dir/Makefile >&5
       echo "$as_me: and program was:" >&5
       sed 's/^/| /' conftest.dir/conftest.c >&5
-      ac_cv_linux_sched_struct_task_struct_has_sighand=no
+      ac_cv_linux_kernel_page_follow_link=no
   fi; rm -fr conftest.err conftest.dir
   else
 
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-#include <linux/sched.h>
+#include <linux/fs.h>
 int
 main ()
 {
-struct task_struct _tsk;
-printk("%d\n", _tsk.sighand);
+page_follow_link(0,0);
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_cv_linux_sched_struct_task_struct_has_sighand=yes
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_linux_kernel_page_follow_link=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_sched_struct_task_struct_has_sighand=no
+       ac_cv_linux_kernel_page_follow_link=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
+    CPPFLAGS="$save_CPPFLAGS"
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_sighand" >&5
-echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_sighand" >&6
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_kernel_page_follow_link" >&5
+echo "${ECHO_T}$ac_cv_linux_kernel_page_follow_link" >&6; }
 
-  echo "$as_me:$LINENO: checking for sigmask_lock in struct task_struct" >&5
-echo $ECHO_N "checking for sigmask_lock in struct task_struct... $ECHO_C" >&6
-  if test "${ac_cv_linux_sched_struct_task_struct_has_sigmask_lock+set}" = set; then
+RHCONFIG_SP=""
+RHCONFIG_MP=""
+if test "x$enable_redhat_buildsys" = "xyes"; then
+  { echo "$as_me:$LINENO: WARNING: Configured to build from a Red Hat SPEC file" >&5
+echo "$as_me: WARNING: Configured to build from a Red Hat SPEC file" >&2;}
+else
+  { echo "$as_me:$LINENO: checking for redhat kernel configuration" >&5
+echo $ECHO_N "checking for redhat kernel configuration... $ECHO_C" >&6; }
+  if test -f "${LINUX_KERNEL_PATH}/include/linux/rhconfig.h"; then
+    ac_linux_rhconfig=yes
+    RHCONFIG_SP="-D__BOOT_KERNEL_UP=1 -D__BOOT_KERNEL_SMP=0"
+    RHCONFIG_MP="-D__BOOT_KERNEL_UP=0 -D__BOOT_KERNEL_SMP=1"
+    { echo "$as_me:$LINENO: result: $ac_linux_rhconfig" >&5
+echo "${ECHO_T}$ac_linux_rhconfig" >&6; }
+    if test ! -f "/boot/kernel.h"; then
+        { echo "$as_me:$LINENO: WARNING: /boot/kernel.h does not exist. build may fail" >&5
+echo "$as_me: WARNING: /boot/kernel.h does not exist. build may fail" >&2;}
+    fi
+  else
+    ac_linux_rhconfig=no
+    { echo "$as_me:$LINENO: result: $ac_linux_rhconfig" >&5
+echo "${ECHO_T}$ac_linux_rhconfig" >&6; }
+  fi
+fi
+
+
+
+
+  { echo "$as_me:$LINENO: checking for recalc_sigpending arg type" >&5
+echo $ECHO_N "checking for recalc_sigpending arg type... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_func_recalc_sigpending_takes_void+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
@@ -8947,29 +11382,27 @@ _ACEOF
 
 void conftest(void)
 {
-struct task_struct _tsk;
-printk("%d\n", _tsk.sigmask_lock);
+recalc_sigpending();
 }
 
 MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
 _ACEOF
     echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
     make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
-    then ac_cv_linux_sched_struct_task_struct_has_sigmask_lock=yes
+    then ac_cv_linux_func_recalc_sigpending_takes_void=yes
     else
       sed '/^ *+/d' conftest.err >&5
       echo "$as_me: failed using Makefile:" >&5
       sed 's/^/| /' conftest.dir/Makefile >&5
       echo "$as_me: and program was:" >&5
       sed 's/^/| /' conftest.dir/conftest.c >&5
-      ac_cv_linux_sched_struct_task_struct_has_sigmask_lock=no
+      ac_cv_linux_func_recalc_sigpending_takes_void=no
   fi; rm -fr conftest.err conftest.dir
   else
 
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -8979,42 +11412,64 @@ cat >>conftest.$ac_ext <<_ACEOF
 int
 main ()
 {
-struct task_struct _tsk;
-printk("%d\n", _tsk.sigmask_lock);
+recalc_sigpending();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_linux_sched_struct_task_struct_has_sigmask_lock=yes
+  ac_cv_linux_func_recalc_sigpending_takes_void=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_sched_struct_task_struct_has_sigmask_lock=no
+       ac_cv_linux_func_recalc_sigpending_takes_void=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_sigmask_lock" >&5
-echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_sigmask_lock" >&6
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_func_recalc_sigpending_takes_void" >&5
+echo "${ECHO_T}$ac_cv_linux_func_recalc_sigpending_takes_void" >&6; }
 
-  echo "$as_me:$LINENO: checking for rlim in struct task_struct" >&5
-echo $ECHO_N "checking for rlim in struct task_struct... $ECHO_C" >&6
-  if test "${ac_cv_linux_sched_struct_task_struct_has_rlim+set}" = set; then
+  { echo "$as_me:$LINENO: checking for parent in struct task_struct" >&5
+echo $ECHO_N "checking for parent in struct task_struct... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_sched_struct_task_struct_has_parent+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
@@ -9039,28 +11494,27 @@ _ACEOF
 void conftest(void)
 {
 struct task_struct _tsk;
-printk("%d\n", _tsk.rlim);
+printk("%d\n", _tsk.parent);
 }
 
 MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
 _ACEOF
     echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
     make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
-    then ac_cv_linux_sched_struct_task_struct_has_rlim=yes
+    then ac_cv_linux_sched_struct_task_struct_has_parent=yes
     else
       sed '/^ *+/d' conftest.err >&5
       echo "$as_me: failed using Makefile:" >&5
       sed 's/^/| /' conftest.dir/Makefile >&5
       echo "$as_me: and program was:" >&5
       sed 's/^/| /' conftest.dir/conftest.c >&5
-      ac_cv_linux_sched_struct_task_struct_has_rlim=no
+      ac_cv_linux_sched_struct_task_struct_has_parent=no
   fi; rm -fr conftest.err conftest.dir
   else
 
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -9071,41 +11525,64 @@ int
 main ()
 {
 struct task_struct _tsk;
-printk("%d\n", _tsk.rlim);
+printk("%d\n", _tsk.parent);
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_linux_sched_struct_task_struct_has_rlim=yes
+  ac_cv_linux_sched_struct_task_struct_has_parent=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_sched_struct_task_struct_has_rlim=no
+       ac_cv_linux_sched_struct_task_struct_has_parent=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_rlim" >&5
-echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_rlim" >&6
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_parent" >&5
+echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_parent" >&6; }
 
-  echo "$as_me:$LINENO: checking for signal->rlim in struct task_struct" >&5
-echo $ECHO_N "checking for signal->rlim in struct task_struct... $ECHO_C" >&6
-  if test "${ac_cv_linux_sched_struct_task_struct_has_signal_rlim+set}" = set; then
+  { echo "$as_me:$LINENO: checking for real_parent in struct task_struct" >&5
+echo $ECHO_N "checking for real_parent in struct task_struct... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_sched_struct_task_struct_has_real_parent+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
@@ -9130,28 +11607,27 @@ _ACEOF
 void conftest(void)
 {
 struct task_struct _tsk;
-printk("%d\n", _tsk.signal->rlim);
+printk("%d\n", _tsk.real_parent);
 }
 
 MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
 _ACEOF
     echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
     make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
-    then ac_cv_linux_sched_struct_task_struct_has_signal_rlim=yes
+    then ac_cv_linux_sched_struct_task_struct_has_real_parent=yes
     else
       sed '/^ *+/d' conftest.err >&5
       echo "$as_me: failed using Makefile:" >&5
       sed 's/^/| /' conftest.dir/Makefile >&5
       echo "$as_me: and program was:" >&5
       sed 's/^/| /' conftest.dir/conftest.c >&5
-      ac_cv_linux_sched_struct_task_struct_has_signal_rlim=no
+      ac_cv_linux_sched_struct_task_struct_has_real_parent=no
   fi; rm -fr conftest.err conftest.dir
   else
 
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -9162,41 +11638,64 @@ int
 main ()
 {
 struct task_struct _tsk;
-printk("%d\n", _tsk.signal->rlim);
+printk("%d\n", _tsk.real_parent);
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_linux_sched_struct_task_struct_has_signal_rlim=yes
+  ac_cv_linux_sched_struct_task_struct_has_real_parent=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_sched_struct_task_struct_has_signal_rlim=no
+       ac_cv_linux_sched_struct_task_struct_has_real_parent=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_signal_rlim" >&5
-echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_signal_rlim" >&6
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_real_parent" >&5
+echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_real_parent" >&6; }
 
-  echo "$as_me:$LINENO: checking for exit_state in struct task_struct" >&5
-echo $ECHO_N "checking for exit_state in struct task_struct... $ECHO_C" >&6
-  if test "${ac_cv_linux_sched_struct_task_struct_has_exit_state+set}" = set; then
+  { echo "$as_me:$LINENO: checking for sig in struct task_struct" >&5
+echo $ECHO_N "checking for sig in struct task_struct... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_sched_struct_task_struct_has_sig+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
@@ -9221,28 +11720,27 @@ _ACEOF
 void conftest(void)
 {
 struct task_struct _tsk;
-printk("%d\n", _tsk.exit_state);
+printk("%d\n", _tsk.sig);
 }
 
 MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
 _ACEOF
     echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
     make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
-    then ac_cv_linux_sched_struct_task_struct_has_exit_state=yes
+    then ac_cv_linux_sched_struct_task_struct_has_sig=yes
     else
       sed '/^ *+/d' conftest.err >&5
       echo "$as_me: failed using Makefile:" >&5
       sed 's/^/| /' conftest.dir/Makefile >&5
       echo "$as_me: and program was:" >&5
       sed 's/^/| /' conftest.dir/conftest.c >&5
-      ac_cv_linux_sched_struct_task_struct_has_exit_state=no
+      ac_cv_linux_sched_struct_task_struct_has_sig=no
   fi; rm -fr conftest.err conftest.dir
   else
 
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -9253,41 +11751,64 @@ int
 main ()
 {
 struct task_struct _tsk;
-printk("%d\n", _tsk.exit_state);
+printk("%d\n", _tsk.sig);
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_linux_sched_struct_task_struct_has_exit_state=yes
+  ac_cv_linux_sched_struct_task_struct_has_sig=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_sched_struct_task_struct_has_exit_state=no
+       ac_cv_linux_sched_struct_task_struct_has_sig=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_exit_state" >&5
-echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_exit_state" >&6
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_sig" >&5
+echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_sig" >&6; }
 
-  echo "$as_me:$LINENO: checking for tgid in struct task_struct" >&5
-echo $ECHO_N "checking for tgid in struct task_struct... $ECHO_C" >&6
-  if test "${ac_cv_linux_sched_struct_task_struct_has_tgid+set}" = set; then
+  { echo "$as_me:$LINENO: checking for sighand in struct task_struct" >&5
+echo $ECHO_N "checking for sighand in struct task_struct... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_sched_struct_task_struct_has_sighand+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
@@ -9312,28 +11833,27 @@ _ACEOF
 void conftest(void)
 {
 struct task_struct _tsk;
-printk("%d\n", _tsk.tgid);
+printk("%d\n", _tsk.sighand);
 }
 
 MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
 _ACEOF
     echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
     make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
-    then ac_cv_linux_sched_struct_task_struct_has_tgid=yes
+    then ac_cv_linux_sched_struct_task_struct_has_sighand=yes
     else
       sed '/^ *+/d' conftest.err >&5
       echo "$as_me: failed using Makefile:" >&5
       sed 's/^/| /' conftest.dir/Makefile >&5
       echo "$as_me: and program was:" >&5
       sed 's/^/| /' conftest.dir/conftest.c >&5
-      ac_cv_linux_sched_struct_task_struct_has_tgid=no
+      ac_cv_linux_sched_struct_task_struct_has_sighand=no
   fi; rm -fr conftest.err conftest.dir
   else
 
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -9344,41 +11864,64 @@ int
 main ()
 {
 struct task_struct _tsk;
-printk("%d\n", _tsk.tgid);
+printk("%d\n", _tsk.sighand);
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_linux_sched_struct_task_struct_has_tgid=yes
+  ac_cv_linux_sched_struct_task_struct_has_sighand=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_sched_struct_task_struct_has_tgid=no
+       ac_cv_linux_sched_struct_task_struct_has_sighand=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_tgid" >&5
-echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_tgid" >&6
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_sighand" >&5
+echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_sighand" >&6; }
 
-  echo "$as_me:$LINENO: checking for todo in struct task_struct" >&5
-echo $ECHO_N "checking for todo in struct task_struct... $ECHO_C" >&6
-  if test "${ac_cv_linux_sched_struct_task_struct_has_todo+set}" = set; then
+  { echo "$as_me:$LINENO: checking for sigmask_lock in struct task_struct" >&5
+echo $ECHO_N "checking for sigmask_lock in struct task_struct... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_sched_struct_task_struct_has_sigmask_lock+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
@@ -9403,28 +11946,27 @@ _ACEOF
 void conftest(void)
 {
 struct task_struct _tsk;
-printk("%d\n", _tsk.todo);
+printk("%d\n", _tsk.sigmask_lock);
 }
 
 MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
 _ACEOF
     echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
     make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
-    then ac_cv_linux_sched_struct_task_struct_has_todo=yes
+    then ac_cv_linux_sched_struct_task_struct_has_sigmask_lock=yes
     else
       sed '/^ *+/d' conftest.err >&5
       echo "$as_me: failed using Makefile:" >&5
       sed 's/^/| /' conftest.dir/Makefile >&5
       echo "$as_me: and program was:" >&5
       sed 's/^/| /' conftest.dir/conftest.c >&5
-      ac_cv_linux_sched_struct_task_struct_has_todo=no
+      ac_cv_linux_sched_struct_task_struct_has_sigmask_lock=no
   fi; rm -fr conftest.err conftest.dir
   else
 
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -9435,41 +11977,64 @@ int
 main ()
 {
 struct task_struct _tsk;
-printk("%d\n", _tsk.todo);
+printk("%d\n", _tsk.sigmask_lock);
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_linux_sched_struct_task_struct_has_todo=yes
+  ac_cv_linux_sched_struct_task_struct_has_sigmask_lock=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_sched_struct_task_struct_has_todo=no
+       ac_cv_linux_sched_struct_task_struct_has_sigmask_lock=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_todo" >&5
-echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_todo" >&6
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_sigmask_lock" >&5
+echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_sigmask_lock" >&6; }
 
-  echo "$as_me:$LINENO: checking for exported tasklist_lock" >&5
-echo $ECHO_N "checking for exported tasklist_lock... $ECHO_C" >&6
-  if test "${ac_cv_linux_exports_tasklist_lock+set}" = set; then
+  { echo "$as_me:$LINENO: checking for rlim in struct task_struct" >&5
+echo $ECHO_N "checking for rlim in struct task_struct... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_sched_struct_task_struct_has_rlim+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
@@ -9489,84 +12054,100 @@ _ACEOF
     cat >>conftest.dir/conftest.c <<\_ACEOF &&
 /* end confdefs.h */
 #include <linux/module.h>
-
 #include <linux/sched.h>
 
 void conftest(void)
 {
-
-extern rwlock_t tasklist_lock __attribute__((weak));
-read_lock(&tasklist_lock);
-
+struct task_struct _tsk;
+printk("%d\n", _tsk.rlim);
 }
 
 MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
 _ACEOF
     echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
     make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
-    then ac_cv_linux_exports_tasklist_lock=yes
+    then ac_cv_linux_sched_struct_task_struct_has_rlim=yes
     else
       sed '/^ *+/d' conftest.err >&5
       echo "$as_me: failed using Makefile:" >&5
       sed 's/^/| /' conftest.dir/Makefile >&5
       echo "$as_me: and program was:" >&5
       sed 's/^/| /' conftest.dir/conftest.c >&5
-      ac_cv_linux_exports_tasklist_lock=no
+      ac_cv_linux_sched_struct_task_struct_has_rlim=no
   fi; rm -fr conftest.err conftest.dir
   else
 
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-
 #include <linux/sched.h>
 int
 main ()
 {
-
-extern rwlock_t tasklist_lock __attribute__((weak));
-read_lock(&tasklist_lock);
-
+struct task_struct _tsk;
+printk("%d\n", _tsk.rlim);
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_linux_exports_tasklist_lock=yes
+  ac_cv_linux_sched_struct_task_struct_has_rlim=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_exports_tasklist_lock=no
+       ac_cv_linux_sched_struct_task_struct_has_rlim=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_exports_tasklist_lock" >&5
-echo "${ECHO_T}$ac_cv_linux_exports_tasklist_lock" >&6
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_rlim" >&5
+echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_rlim" >&6; }
 
-  echo "$as_me:$LINENO: checking for struct vfsmount * in get_sb_nodev()" >&5
-echo $ECHO_N "checking for struct vfsmount * in get_sb_nodev()... $ECHO_C" >&6
-  if test "${ac_cv_linux_get_sb_has_struct_vfsmount+set}" = set; then
+  { echo "$as_me:$LINENO: checking for signal->rlim in struct task_struct" >&5
+echo $ECHO_N "checking for signal->rlim in struct task_struct... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_sched_struct_task_struct_has_signal_rlim+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
@@ -9586,76 +12167,100 @@ _ACEOF
     cat >>conftest.dir/conftest.c <<\_ACEOF &&
 /* end confdefs.h */
 #include <linux/module.h>
-#include <linux/fs.h>
+#include <linux/sched.h>
 
 void conftest(void)
 {
-get_sb_nodev(0,0,0,0,0);
+struct task_struct _tsk;
+printk("%d\n", _tsk.signal->rlim);
 }
 
 MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
 _ACEOF
     echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
     make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
-    then ac_cv_linux_get_sb_has_struct_vfsmount=yes
+    then ac_cv_linux_sched_struct_task_struct_has_signal_rlim=yes
     else
       sed '/^ *+/d' conftest.err >&5
       echo "$as_me: failed using Makefile:" >&5
       sed 's/^/| /' conftest.dir/Makefile >&5
       echo "$as_me: and program was:" >&5
       sed 's/^/| /' conftest.dir/conftest.c >&5
-      ac_cv_linux_get_sb_has_struct_vfsmount=no
+      ac_cv_linux_sched_struct_task_struct_has_signal_rlim=no
   fi; rm -fr conftest.err conftest.dir
   else
 
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-#include <linux/fs.h>
+#include <linux/sched.h>
 int
 main ()
 {
-get_sb_nodev(0,0,0,0,0);
+struct task_struct _tsk;
+printk("%d\n", _tsk.signal->rlim);
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_linux_get_sb_has_struct_vfsmount=yes
+  ac_cv_linux_sched_struct_task_struct_has_signal_rlim=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_get_sb_has_struct_vfsmount=no
+       ac_cv_linux_sched_struct_task_struct_has_signal_rlim=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_get_sb_has_struct_vfsmount" >&5
-echo "${ECHO_T}$ac_cv_linux_get_sb_has_struct_vfsmount" >&6
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_signal_rlim" >&5
+echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_signal_rlim" >&6; }
 
-  echo "$as_me:$LINENO: checking for dentry in statfs" >&5
-echo $ECHO_N "checking for dentry in statfs... $ECHO_C" >&6
-  if test "${ac_cv_linux_statfs_takes_dentry+set}" = set; then
+  { echo "$as_me:$LINENO: checking for exit_state in struct task_struct" >&5
+echo $ECHO_N "checking for exit_state in struct task_struct... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_sched_struct_task_struct_has_exit_state+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
@@ -9675,82 +12280,100 @@ _ACEOF
     cat >>conftest.dir/conftest.c <<\_ACEOF &&
 /* end confdefs.h */
 #include <linux/module.h>
-#include <linux/fs.h>
-#include <linux/statfs.h>
+#include <linux/sched.h>
 
 void conftest(void)
 {
-
-extern int vfs_statfs(struct dentry *, struct kstatfs *);
-
+struct task_struct _tsk;
+printk("%d\n", _tsk.exit_state);
 }
 
 MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
 _ACEOF
     echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
     make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
-    then ac_cv_linux_statfs_takes_dentry=yes
+    then ac_cv_linux_sched_struct_task_struct_has_exit_state=yes
     else
       sed '/^ *+/d' conftest.err >&5
       echo "$as_me: failed using Makefile:" >&5
       sed 's/^/| /' conftest.dir/Makefile >&5
       echo "$as_me: and program was:" >&5
       sed 's/^/| /' conftest.dir/conftest.c >&5
-      ac_cv_linux_statfs_takes_dentry=no
+      ac_cv_linux_sched_struct_task_struct_has_exit_state=no
   fi; rm -fr conftest.err conftest.dir
   else
 
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-#include <linux/fs.h>
-#include <linux/statfs.h>
+#include <linux/sched.h>
 int
 main ()
 {
-
-extern int vfs_statfs(struct dentry *, struct kstatfs *);
-
+struct task_struct _tsk;
+printk("%d\n", _tsk.exit_state);
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_linux_statfs_takes_dentry=yes
+  ac_cv_linux_sched_struct_task_struct_has_exit_state=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_statfs_takes_dentry=no
+       ac_cv_linux_sched_struct_task_struct_has_exit_state=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_statfs_takes_dentry" >&5
-echo "${ECHO_T}$ac_cv_linux_statfs_takes_dentry" >&6
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_exit_state" >&5
+echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_exit_state" >&6; }
 
-  echo "$as_me:$LINENO: checking for linux/freezer.h existance" >&5
-echo $ECHO_N "checking for linux/freezer.h existance... $ECHO_C" >&6
-  if test "${ac_cv_linux_freezer_h_exists+set}" = set; then
+  { echo "$as_me:$LINENO: checking for tgid in struct task_struct" >&5
+echo $ECHO_N "checking for tgid in struct task_struct... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_sched_struct_task_struct_has_tgid+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
@@ -9770,90 +12393,100 @@ _ACEOF
     cat >>conftest.dir/conftest.c <<\_ACEOF &&
 /* end confdefs.h */
 #include <linux/module.h>
-#include <linux/freezer.h>
+#include <linux/sched.h>
 
 void conftest(void)
 {
-return;
+struct task_struct _tsk;
+printk("%d\n", _tsk.tgid);
 }
 
 MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
 _ACEOF
     echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
     make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
-    then ac_cv_linux_freezer_h_exists=yes
+    then ac_cv_linux_sched_struct_task_struct_has_tgid=yes
     else
       sed '/^ *+/d' conftest.err >&5
       echo "$as_me: failed using Makefile:" >&5
       sed 's/^/| /' conftest.dir/Makefile >&5
       echo "$as_me: and program was:" >&5
       sed 's/^/| /' conftest.dir/conftest.c >&5
-      ac_cv_linux_freezer_h_exists=no
+      ac_cv_linux_sched_struct_task_struct_has_tgid=no
   fi; rm -fr conftest.err conftest.dir
   else
 
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-#include <linux/freezer.h>
+#include <linux/sched.h>
 int
 main ()
 {
-return;
+struct task_struct _tsk;
+printk("%d\n", _tsk.tgid);
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_linux_freezer_h_exists=yes
+  ac_cv_linux_sched_struct_task_struct_has_tgid=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_freezer_h_exists=no
+       ac_cv_linux_sched_struct_task_struct_has_tgid=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_freezer_h_exists" >&5
-echo "${ECHO_T}$ac_cv_linux_freezer_h_exists" >&6
-  if test "x$ac_cv_linux_freezer_h_exists" = "xyes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define FREEZER_H_EXISTS 1
-_ACEOF
-
-  fi
-                if test "x$ac_cv_linux_freezer_h_exists" = "xyes" ; then
-
-cat >>confdefs.h <<\_ACEOF
-#define FREEZER_H_EXISTS 1
-_ACEOF
-
-                fi
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_tgid" >&5
+echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_tgid" >&6; }
 
-  echo "$as_me:$LINENO: checking whether refrigerator takes PF_FREEZE" >&5
-echo $ECHO_N "checking whether refrigerator takes PF_FREEZE... $ECHO_C" >&6
-  if test "${ac_cv_linux_func_refrigerator_takes_pf_freeze+set}" = set; then
+  { echo "$as_me:$LINENO: checking for todo in struct task_struct" >&5
+echo $ECHO_N "checking for todo in struct task_struct... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_sched_struct_task_struct_has_todo+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
@@ -9874,81 +12507,99 @@ _ACEOF
 /* end confdefs.h */
 #include <linux/module.h>
 #include <linux/sched.h>
-#ifdef FREEZER_H_EXISTS
-#include <linux/freezer.h>
-#endif
 
 void conftest(void)
 {
-refrigerator(PF_FREEZE);
+struct task_struct _tsk;
+printk("%d\n", _tsk.todo);
 }
 
 MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
 _ACEOF
     echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
     make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
-    then ac_cv_linux_func_refrigerator_takes_pf_freeze=yes
+    then ac_cv_linux_sched_struct_task_struct_has_todo=yes
     else
       sed '/^ *+/d' conftest.err >&5
       echo "$as_me: failed using Makefile:" >&5
       sed 's/^/| /' conftest.dir/Makefile >&5
       echo "$as_me: and program was:" >&5
       sed 's/^/| /' conftest.dir/conftest.c >&5
-      ac_cv_linux_func_refrigerator_takes_pf_freeze=no
+      ac_cv_linux_sched_struct_task_struct_has_todo=no
   fi; rm -fr conftest.err conftest.dir
   else
 
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 #include <linux/sched.h>
-#ifdef FREEZER_H_EXISTS
-#include <linux/freezer.h>
-#endif
 int
 main ()
 {
-refrigerator(PF_FREEZE);
+struct task_struct _tsk;
+printk("%d\n", _tsk.todo);
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_linux_func_refrigerator_takes_pf_freeze=yes
+  ac_cv_linux_sched_struct_task_struct_has_todo=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_func_refrigerator_takes_pf_freeze=no
+       ac_cv_linux_sched_struct_task_struct_has_todo=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_func_refrigerator_takes_pf_freeze" >&5
-echo "${ECHO_T}$ac_cv_linux_func_refrigerator_takes_pf_freeze" >&6
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_todo" >&5
+echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_todo" >&6; }
 
-  echo "$as_me:$LINENO: checking for linux kernel keyring support" >&5
-echo $ECHO_N "checking for linux kernel keyring support... $ECHO_C" >&6
-  if test "${ac_cv_linux_keyring_support+set}" = set; then
+  { echo "$as_me:$LINENO: checking for thread_info in struct task_struct" >&5
+echo $ECHO_N "checking for thread_info in struct task_struct... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_sched_struct_task_struct_has_thread_info+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
@@ -9968,101 +12619,100 @@ _ACEOF
     cat >>conftest.dir/conftest.c <<\_ACEOF &&
 /* end confdefs.h */
 #include <linux/module.h>
-#include <linux/rwsem.h>
-#include <linux/key.h>
-#include <linux/keyctl.h>
+#include <linux/sched.h>
 
 void conftest(void)
 {
-#ifdef CONFIG_KEYS
-request_key(NULL, NULL, NULL);
-#if !defined(KEY_POS_VIEW) || !defined(KEY_POS_SEARCH) || !defined(KEY_POS_SETATTR)
-#error "Your linux/key.h does not contain KEY_POS_VIEW or KEY_POS_SEARCH or KEY_POS_SETATTR"
-#endif
-#else
-#error rebuild your kernel with CONFIG_KEYS
-#endif
+struct task_struct _tsk;
+printk("%d\n", _tsk.thread_info);
 }
 
 MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
 _ACEOF
     echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
     make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
-    then ac_cv_linux_keyring_support=yes
+    then ac_cv_linux_sched_struct_task_struct_has_thread_info=yes
     else
       sed '/^ *+/d' conftest.err >&5
       echo "$as_me: failed using Makefile:" >&5
       sed 's/^/| /' conftest.dir/Makefile >&5
       echo "$as_me: and program was:" >&5
       sed 's/^/| /' conftest.dir/conftest.c >&5
-      ac_cv_linux_keyring_support=no
+      ac_cv_linux_sched_struct_task_struct_has_thread_info=no
   fi; rm -fr conftest.err conftest.dir
   else
 
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-#include <linux/rwsem.h>
-#include <linux/key.h>
-#include <linux/keyctl.h>
+#include <linux/sched.h>
 int
 main ()
 {
-#ifdef CONFIG_KEYS
-request_key(NULL, NULL, NULL);
-#if !defined(KEY_POS_VIEW) || !defined(KEY_POS_SEARCH) || !defined(KEY_POS_SETATTR)
-#error "Your linux/key.h does not contain KEY_POS_VIEW or KEY_POS_SEARCH or KEY_POS_SETATTR"
-#endif
-#else
-#error rebuild your kernel with CONFIG_KEYS
-#endif
+struct task_struct _tsk;
+printk("%d\n", _tsk.thread_info);
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_linux_keyring_support=yes
+  ac_cv_linux_sched_struct_task_struct_has_thread_info=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_keyring_support=no
+       ac_cv_linux_sched_struct_task_struct_has_thread_info=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_keyring_support" >&5
-echo "${ECHO_T}$ac_cv_linux_keyring_support" >&6
-  if test "x$ac_cv_linux_keyring_support" = "xyes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define LINUX_KEYRING_SUPPORT 1
-_ACEOF
-
-  fi
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_sched_struct_task_struct_has_thread_info" >&5
+echo "${ECHO_T}$ac_cv_linux_sched_struct_task_struct_has_thread_info" >&6; }
 
-  echo "$as_me:$LINENO: checking if key_alloc() takes a struct task *" >&5
-echo $ECHO_N "checking if key_alloc() takes a struct task *... $ECHO_C" >&6
-  if test "${ac_cv_key_alloc_needs_struct_task+set}" = set; then
+  { echo "$as_me:$LINENO: checking for exported tasklist_lock" >&5
+echo $ECHO_N "checking for exported tasklist_lock... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_exports_tasklist_lock+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
@@ -10082,92 +12732,109 @@ _ACEOF
     cat >>conftest.dir/conftest.c <<\_ACEOF &&
 /* end confdefs.h */
 #include <linux/module.h>
-#include <linux/rwsem.h>
-#include <linux/key.h>
 
+#include <linux/sched.h>
 
 void conftest(void)
 {
-(void) key_alloc(NULL, NULL, 0, 0, NULL, 0, 0);
+
+extern rwlock_t tasklist_lock __attribute__((weak));
+read_lock(&tasklist_lock);
+
 }
 
 MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
 _ACEOF
     echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
     make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
-    then ac_cv_key_alloc_needs_struct_task=yes
+    then ac_cv_linux_exports_tasklist_lock=yes
     else
       sed '/^ *+/d' conftest.err >&5
       echo "$as_me: failed using Makefile:" >&5
       sed 's/^/| /' conftest.dir/Makefile >&5
       echo "$as_me: and program was:" >&5
       sed 's/^/| /' conftest.dir/conftest.c >&5
-      ac_cv_key_alloc_needs_struct_task=no
+      ac_cv_linux_exports_tasklist_lock=no
   fi; rm -fr conftest.err conftest.dir
   else
 
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-#include <linux/rwsem.h>
-#include <linux/key.h>
 
+#include <linux/sched.h>
 int
 main ()
 {
-(void) key_alloc(NULL, NULL, 0, 0, NULL, 0, 0);
+
+extern rwlock_t tasklist_lock __attribute__((weak));
+read_lock(&tasklist_lock);
+
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_key_alloc_needs_struct_task=yes
+  ac_cv_linux_exports_tasklist_lock=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_key_alloc_needs_struct_task=no
+       ac_cv_linux_exports_tasklist_lock=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_key_alloc_needs_struct_task" >&5
-echo "${ECHO_T}$ac_cv_key_alloc_needs_struct_task" >&6
-  if test "x$ac_cv_key_alloc_needs_struct_task" = "xyes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define KEY_ALLOC_NEEDS_STRUCT_TASK 1
-_ACEOF
-
-  fi
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_exports_tasklist_lock" >&5
+echo "${ECHO_T}$ac_cv_linux_exports_tasklist_lock" >&6; }
 
-  echo "$as_me:$LINENO: checking for linux do_sync_read()" >&5
-echo $ECHO_N "checking for linux do_sync_read()... $ECHO_C" >&6
-  if test "${ac_cv_linux_do_sync_read+set}" = set; then
+  { echo "$as_me:$LINENO: checking for struct vfsmount * in get_sb_nodev()" >&5
+echo $ECHO_N "checking for struct vfsmount * in get_sb_nodev()... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_get_sb_has_struct_vfsmount+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
-    save_CPPFLAGS="$CPPFLAGS"
-    CPPFLAGS="$CPPFLAGS -Werror-implicit-function-declaration"
 
   if test $AFS_SYSKVERS -ge 26 ; then
       rm -fr conftest.dir
@@ -10188,28 +12855,27 @@ _ACEOF
 
 void conftest(void)
 {
-do_sync_read(NULL, NULL, 0, NULL);
+get_sb_nodev(0,0,0,0,0);
 }
 
 MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
 _ACEOF
     echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
     make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
-    then ac_cv_linux_do_sync_read=yes
+    then ac_cv_linux_get_sb_has_struct_vfsmount=yes
     else
       sed '/^ *+/d' conftest.err >&5
       echo "$as_me: failed using Makefile:" >&5
       sed 's/^/| /' conftest.dir/Makefile >&5
       echo "$as_me: and program was:" >&5
       sed 's/^/| /' conftest.dir/conftest.c >&5
-      ac_cv_linux_do_sync_read=no
+      ac_cv_linux_get_sb_has_struct_vfsmount=no
   fi; rm -fr conftest.err conftest.dir
   else
 
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -10219,54 +12885,67 @@ cat >>conftest.$ac_ext <<_ACEOF
 int
 main ()
 {
-do_sync_read(NULL, NULL, 0, NULL);
+get_sb_nodev(0,0,0,0,0);
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_linux_do_sync_read=yes
+  ac_cv_linux_get_sb_has_struct_vfsmount=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_do_sync_read=no
+       ac_cv_linux_get_sb_has_struct_vfsmount=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
-    CPPFLAGS="$save_CPPFLAGS"
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_do_sync_read" >&5
-echo "${ECHO_T}$ac_cv_linux_do_sync_read" >&6
-  if test "x$ac_cv_linux_do_sync_read" = "xyes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define DO_SYNC_READ 1
-_ACEOF
-
-  fi
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_get_sb_has_struct_vfsmount" >&5
+echo "${ECHO_T}$ac_cv_linux_get_sb_has_struct_vfsmount" >&6; }
 
-  echo "$as_me:$LINENO: checking for linux generic_file_aio_read()" >&5
-echo $ECHO_N "checking for linux generic_file_aio_read()... $ECHO_C" >&6
-  if test "${ac_cv_linux_generic_file_aio_read+set}" = set; then
+  { echo "$as_me:$LINENO: checking for dentry in statfs" >&5
+echo $ECHO_N "checking for dentry in statfs... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_statfs_takes_dentry+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
-    save_CPPFLAGS="$CPPFLAGS"
-    CPPFLAGS="$CPPFLAGS -Werror-implicit-function-declaration"
 
   if test $AFS_SYSKVERS -ge 26 ; then
       rm -fr conftest.dir
@@ -10284,83 +12963,103 @@ _ACEOF
 /* end confdefs.h */
 #include <linux/module.h>
 #include <linux/fs.h>
+#include <linux/statfs.h>
 
 void conftest(void)
 {
-generic_file_aio_read(NULL, NULL, 0, 0);
+
+extern int vfs_statfs(struct dentry *, struct kstatfs *);
+
 }
 
 MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
 _ACEOF
     echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
     make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
-    then ac_cv_linux_generic_file_aio_read=yes
+    then ac_cv_linux_statfs_takes_dentry=yes
     else
       sed '/^ *+/d' conftest.err >&5
       echo "$as_me: failed using Makefile:" >&5
       sed 's/^/| /' conftest.dir/Makefile >&5
       echo "$as_me: and program was:" >&5
       sed 's/^/| /' conftest.dir/conftest.c >&5
-      ac_cv_linux_generic_file_aio_read=no
+      ac_cv_linux_statfs_takes_dentry=no
   fi; rm -fr conftest.err conftest.dir
   else
 
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 #include <linux/fs.h>
+#include <linux/statfs.h>
 int
 main ()
 {
-generic_file_aio_read(NULL, NULL, 0, 0);
+
+extern int vfs_statfs(struct dentry *, struct kstatfs *);
+
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_linux_generic_file_aio_read=yes
+  ac_cv_linux_statfs_takes_dentry=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_generic_file_aio_read=no
+       ac_cv_linux_statfs_takes_dentry=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
-    CPPFLAGS="$save_CPPFLAGS"
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_generic_file_aio_read" >&5
-echo "${ECHO_T}$ac_cv_linux_generic_file_aio_read" >&6
-  if test "x$ac_cv_linux_generic_file_aio_read" = "xyes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define GENERIC_FILE_AIO_READ 1
-_ACEOF
-
-  fi
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_statfs_takes_dentry" >&5
+echo "${ECHO_T}$ac_cv_linux_statfs_takes_dentry" >&6; }
 
-  echo "$as_me:$LINENO: checking whether INIT_WORK has a _data argument" >&5
-echo $ECHO_N "checking whether INIT_WORK has a _data argument... $ECHO_C" >&6
-  if test "${ac_cv_linux_init_work_has_data+set}" = set; then
+  { echo "$as_me:$LINENO: checking for linux/freezer.h existance" >&5
+echo $ECHO_N "checking for linux/freezer.h existance... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_freezer_h_exists+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
@@ -10380,88 +13079,114 @@ _ACEOF
     cat >>conftest.dir/conftest.c <<\_ACEOF &&
 /* end confdefs.h */
 #include <linux/module.h>
-#include <linux/kernel.h>
-#include <linux/workqueue.h>
+#include <linux/freezer.h>
 
 void conftest(void)
 {
-
-void f(struct work_struct *w) {}
-struct work_struct *w;
-int *i;
-INIT_WORK(w,f,i);
+return;
 }
 
 MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
 _ACEOF
     echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
     make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
-    then ac_cv_linux_init_work_has_data=yes
+    then ac_cv_linux_freezer_h_exists=yes
     else
       sed '/^ *+/d' conftest.err >&5
       echo "$as_me: failed using Makefile:" >&5
       sed 's/^/| /' conftest.dir/Makefile >&5
       echo "$as_me: and program was:" >&5
       sed 's/^/| /' conftest.dir/conftest.c >&5
-      ac_cv_linux_init_work_has_data=no
+      ac_cv_linux_freezer_h_exists=no
   fi; rm -fr conftest.err conftest.dir
   else
 
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-#include <linux/kernel.h>
-#include <linux/workqueue.h>
+#include <linux/freezer.h>
 int
 main ()
 {
-
-void f(struct work_struct *w) {}
-struct work_struct *w;
-int *i;
-INIT_WORK(w,f,i);
+return;
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_linux_init_work_has_data=yes
+  ac_cv_linux_freezer_h_exists=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_init_work_has_data=no
+       ac_cv_linux_freezer_h_exists=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_init_work_has_data" >&5
-echo "${ECHO_T}$ac_cv_linux_init_work_has_data" >&6
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_freezer_h_exists" >&5
+echo "${ECHO_T}$ac_cv_linux_freezer_h_exists" >&6; }
+  if test "x$ac_cv_linux_freezer_h_exists" = "xyes"; then
 
-  echo "$as_me:$LINENO: checking whether register_sysctl_table has an insert_at_head flag argument" >&5
-echo $ECHO_N "checking whether register_sysctl_table has an insert_at_head flag argument... $ECHO_C" >&6
-  if test "${ac_cv_linux_register_sysctl_table_noflag+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
+cat >>confdefs.h <<\_ACEOF
+#define FREEZER_H_EXISTS 1
+_ACEOF
+
+  fi
+                if test "x$ac_cv_linux_freezer_h_exists" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define FREEZER_H_EXISTS 1
+_ACEOF
+
+                fi
+
+  { echo "$as_me:$LINENO: checking whether refrigerator takes PF_FREEZE" >&5
+echo $ECHO_N "checking whether refrigerator takes PF_FREEZE... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_func_refrigerator_takes_pf_freeze+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
 
 
   if test $AFS_SYSKVERS -ge 26 ; then
@@ -10479,78 +13204,104 @@ _ACEOF
     cat >>conftest.dir/conftest.c <<\_ACEOF &&
 /* end confdefs.h */
 #include <linux/module.h>
-#include <linux/sysctl.h>
+#include <linux/sched.h>
+#ifdef FREEZER_H_EXISTS
+#include <linux/freezer.h>
+#endif
 
 void conftest(void)
 {
-ctl_table *t;
-register_sysctl_table (t);
+refrigerator(PF_FREEZE);
 }
 
 MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
 _ACEOF
     echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
     make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
-    then ac_cv_linux_register_sysctl_table_noflag=yes
+    then ac_cv_linux_func_refrigerator_takes_pf_freeze=yes
     else
       sed '/^ *+/d' conftest.err >&5
       echo "$as_me: failed using Makefile:" >&5
       sed 's/^/| /' conftest.dir/Makefile >&5
       echo "$as_me: and program was:" >&5
       sed 's/^/| /' conftest.dir/conftest.c >&5
-      ac_cv_linux_register_sysctl_table_noflag=no
+      ac_cv_linux_func_refrigerator_takes_pf_freeze=no
   fi; rm -fr conftest.err conftest.dir
   else
 
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-#include <linux/sysctl.h>
+#include <linux/sched.h>
+#ifdef FREEZER_H_EXISTS
+#include <linux/freezer.h>
+#endif
 int
 main ()
 {
-ctl_table *t;
-register_sysctl_table (t);
+refrigerator(PF_FREEZE);
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_linux_register_sysctl_table_noflag=yes
+  ac_cv_linux_func_refrigerator_takes_pf_freeze=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_register_sysctl_table_noflag=no
+       ac_cv_linux_func_refrigerator_takes_pf_freeze=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_register_sysctl_table_noflag" >&5
-echo "${ECHO_T}$ac_cv_linux_register_sysctl_table_noflag" >&6
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_func_refrigerator_takes_pf_freeze" >&5
+echo "${ECHO_T}$ac_cv_linux_func_refrigerator_takes_pf_freeze" >&6; }
 
-  echo "$as_me:$LINENO: checking for exported sys_chdir" >&5
-echo $ECHO_N "checking for exported sys_chdir... $ECHO_C" >&6
-  if test "${ac_cv_linux_exports_sys_chdir+set}" = set; then
+  { echo "$as_me:$LINENO: checking for linux kernel keyring support" >&5
+echo $ECHO_N "checking for linux kernel keyring support... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_keyring_support+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
@@ -10570,78 +13321,123 @@ _ACEOF
     cat >>conftest.dir/conftest.c <<\_ACEOF &&
 /* end confdefs.h */
 #include <linux/module.h>
-extern asmlinkage long sys_chdir(void) __attribute__((weak));
+#include <linux/rwsem.h>
+#include <linux/key.h>
+#include <linux/keyctl.h>
 
 void conftest(void)
 {
-void *address = &sys_chdir;
-printk("%p\n", address);
+#ifdef CONFIG_KEYS
+request_key(NULL, NULL, NULL);
+#if !defined(KEY_POS_VIEW) || !defined(KEY_POS_SEARCH) || !defined(KEY_POS_SETATTR)
+#error "Your linux/key.h does not contain KEY_POS_VIEW or KEY_POS_SEARCH or KEY_POS_SETATTR"
+#endif
+#else
+#error rebuild your kernel with CONFIG_KEYS
+#endif
 }
 
 MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
 _ACEOF
     echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
     make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
-    then ac_cv_linux_exports_sys_chdir=yes
+    then ac_cv_linux_keyring_support=yes
     else
       sed '/^ *+/d' conftest.err >&5
       echo "$as_me: failed using Makefile:" >&5
       sed 's/^/| /' conftest.dir/Makefile >&5
       echo "$as_me: and program was:" >&5
       sed 's/^/| /' conftest.dir/conftest.c >&5
-      ac_cv_linux_exports_sys_chdir=no
+      ac_cv_linux_keyring_support=no
   fi; rm -fr conftest.err conftest.dir
   else
 
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-extern asmlinkage long sys_chdir(void) __attribute__((weak));
+#include <linux/rwsem.h>
+#include <linux/key.h>
+#include <linux/keyctl.h>
 int
 main ()
 {
-void *address = &sys_chdir;
-printk("%p\n", address);
+#ifdef CONFIG_KEYS
+request_key(NULL, NULL, NULL);
+#if !defined(KEY_POS_VIEW) || !defined(KEY_POS_SEARCH) || !defined(KEY_POS_SETATTR)
+#error "Your linux/key.h does not contain KEY_POS_VIEW or KEY_POS_SEARCH or KEY_POS_SETATTR"
+#endif
+#else
+#error rebuild your kernel with CONFIG_KEYS
+#endif
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_linux_exports_sys_chdir=yes
+  ac_cv_linux_keyring_support=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_exports_sys_chdir=no
+       ac_cv_linux_keyring_support=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_exports_sys_chdir" >&5
-echo "${ECHO_T}$ac_cv_linux_exports_sys_chdir" >&6
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_keyring_support" >&5
+echo "${ECHO_T}$ac_cv_linux_keyring_support" >&6; }
+  if test "x$ac_cv_linux_keyring_support" = "xyes"; then
 
-  echo "$as_me:$LINENO: checking for exported sys_close" >&5
-echo $ECHO_N "checking for exported sys_close... $ECHO_C" >&6
-  if test "${ac_cv_linux_exports_sys_close+set}" = set; then
+cat >>confdefs.h <<\_ACEOF
+#define LINUX_KEYRING_SUPPORT 1
+_ACEOF
+
+  fi
+
+  { echo "$as_me:$LINENO: checking if key_alloc() takes a struct task *" >&5
+echo $ECHO_N "checking if key_alloc() takes a struct task *... $ECHO_C" >&6; }
+  if test "${ac_cv_key_alloc_needs_struct_task+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
@@ -10661,81 +13457,114 @@ _ACEOF
     cat >>conftest.dir/conftest.c <<\_ACEOF &&
 /* end confdefs.h */
 #include <linux/module.h>
-extern asmlinkage long sys_close(void) __attribute__((weak));
+#include <linux/rwsem.h>
+#include <linux/key.h>
+
 
 void conftest(void)
 {
-void *address = &sys_close;
-printk("%p\n", address);
+(void) key_alloc(NULL, NULL, 0, 0, NULL, 0, 0);
 }
 
 MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
 _ACEOF
     echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
     make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
-    then ac_cv_linux_exports_sys_close=yes
+    then ac_cv_key_alloc_needs_struct_task=yes
     else
       sed '/^ *+/d' conftest.err >&5
       echo "$as_me: failed using Makefile:" >&5
       sed 's/^/| /' conftest.dir/Makefile >&5
       echo "$as_me: and program was:" >&5
       sed 's/^/| /' conftest.dir/conftest.c >&5
-      ac_cv_linux_exports_sys_close=no
+      ac_cv_key_alloc_needs_struct_task=no
   fi; rm -fr conftest.err conftest.dir
   else
 
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-extern asmlinkage long sys_close(void) __attribute__((weak));
+#include <linux/rwsem.h>
+#include <linux/key.h>
+
 int
 main ()
 {
-void *address = &sys_close;
-printk("%p\n", address);
+(void) key_alloc(NULL, NULL, 0, 0, NULL, 0, 0);
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_linux_exports_sys_close=yes
+  ac_cv_key_alloc_needs_struct_task=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_exports_sys_close=no
+       ac_cv_key_alloc_needs_struct_task=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_exports_sys_close" >&5
-echo "${ECHO_T}$ac_cv_linux_exports_sys_close" >&6
+  { echo "$as_me:$LINENO: result: $ac_cv_key_alloc_needs_struct_task" >&5
+echo "${ECHO_T}$ac_cv_key_alloc_needs_struct_task" >&6; }
+  if test "x$ac_cv_key_alloc_needs_struct_task" = "xyes"; then
 
-  echo "$as_me:$LINENO: checking for exported sys_open" >&5
-echo $ECHO_N "checking for exported sys_open... $ECHO_C" >&6
-  if test "${ac_cv_linux_exports_sys_open+set}" = set; then
+cat >>confdefs.h <<\_ACEOF
+#define KEY_ALLOC_NEEDS_STRUCT_TASK 1
+_ACEOF
+
+  fi
+
+  { echo "$as_me:$LINENO: checking for linux do_sync_read()" >&5
+echo $ECHO_N "checking for linux do_sync_read()... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_do_sync_read+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
+    save_CPPFLAGS="$CPPFLAGS"
+    CPPFLAGS="$CPPFLAGS -Werror-implicit-function-declaration"
 
   if test $AFS_SYSKVERS -ge 26 ; then
       rm -fr conftest.dir
@@ -10752,81 +13581,111 @@ _ACEOF
     cat >>conftest.dir/conftest.c <<\_ACEOF &&
 /* end confdefs.h */
 #include <linux/module.h>
-extern asmlinkage long sys_open(void) __attribute__((weak));
+#include <linux/fs.h>
 
 void conftest(void)
 {
-void *address = &sys_open;
-printk("%p\n", address);
+do_sync_read(NULL, NULL, 0, NULL);
 }
 
 MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
 _ACEOF
     echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
     make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
-    then ac_cv_linux_exports_sys_open=yes
+    then ac_cv_linux_do_sync_read=yes
     else
       sed '/^ *+/d' conftest.err >&5
       echo "$as_me: failed using Makefile:" >&5
       sed 's/^/| /' conftest.dir/Makefile >&5
       echo "$as_me: and program was:" >&5
       sed 's/^/| /' conftest.dir/conftest.c >&5
-      ac_cv_linux_exports_sys_open=no
+      ac_cv_linux_do_sync_read=no
   fi; rm -fr conftest.err conftest.dir
   else
 
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-extern asmlinkage long sys_open(void) __attribute__((weak));
+#include <linux/fs.h>
 int
 main ()
 {
-void *address = &sys_open;
-printk("%p\n", address);
+do_sync_read(NULL, NULL, 0, NULL);
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_linux_exports_sys_open=yes
+  ac_cv_linux_do_sync_read=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_exports_sys_open=no
+       ac_cv_linux_do_sync_read=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
+    CPPFLAGS="$save_CPPFLAGS"
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_exports_sys_open" >&5
-echo "${ECHO_T}$ac_cv_linux_exports_sys_open" >&6
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_do_sync_read" >&5
+echo "${ECHO_T}$ac_cv_linux_do_sync_read" >&6; }
+  if test "x$ac_cv_linux_do_sync_read" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define DO_SYNC_READ 1
+_ACEOF
+
+  fi
 
-  echo "$as_me:$LINENO: checking for exported sys_wait4" >&5
-echo $ECHO_N "checking for exported sys_wait4... $ECHO_C" >&6
-  if test "${ac_cv_linux_exports_sys_wait4+set}" = set; then
+  { echo "$as_me:$LINENO: checking for linux generic_file_aio_read()" >&5
+echo $ECHO_N "checking for linux generic_file_aio_read()... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_generic_file_aio_read+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
+    save_CPPFLAGS="$CPPFLAGS"
+    CPPFLAGS="$CPPFLAGS -Werror-implicit-function-declaration"
 
   if test $AFS_SYSKVERS -ge 26 ; then
       rm -fr conftest.dir
@@ -10843,89 +13702,106 @@ _ACEOF
     cat >>conftest.dir/conftest.c <<\_ACEOF &&
 /* end confdefs.h */
 #include <linux/module.h>
-extern asmlinkage long sys_wait4(void) __attribute__((weak));
+#include <linux/fs.h>
 
 void conftest(void)
 {
-void *address = &sys_wait4;
-printk("%p\n", address);
+generic_file_aio_read(NULL, NULL, 0, 0);
 }
 
 MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
 _ACEOF
     echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
     make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
-    then ac_cv_linux_exports_sys_wait4=yes
+    then ac_cv_linux_generic_file_aio_read=yes
     else
       sed '/^ *+/d' conftest.err >&5
       echo "$as_me: failed using Makefile:" >&5
       sed 's/^/| /' conftest.dir/Makefile >&5
       echo "$as_me: and program was:" >&5
       sed 's/^/| /' conftest.dir/conftest.c >&5
-      ac_cv_linux_exports_sys_wait4=no
+      ac_cv_linux_generic_file_aio_read=no
   fi; rm -fr conftest.err conftest.dir
   else
 
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-extern asmlinkage long sys_wait4(void) __attribute__((weak));
+#include <linux/fs.h>
 int
 main ()
 {
-void *address = &sys_wait4;
-printk("%p\n", address);
+generic_file_aio_read(NULL, NULL, 0, 0);
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_linux_exports_sys_wait4=yes
+  ac_cv_linux_generic_file_aio_read=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_exports_sys_wait4=no
+       ac_cv_linux_generic_file_aio_read=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
+    CPPFLAGS="$save_CPPFLAGS"
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_exports_sys_wait4" >&5
-echo "${ECHO_T}$ac_cv_linux_exports_sys_wait4" >&6
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_generic_file_aio_read" >&5
+echo "${ECHO_T}$ac_cv_linux_generic_file_aio_read" >&6; }
+  if test "x$ac_cv_linux_generic_file_aio_read" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define GENERIC_FILE_AIO_READ 1
+_ACEOF
 
-if test "x$enable_redhat_buildsys" = "xyes"; then
-  MPS=Default
-else
-  save_CPPFLAGS="$CPPFLAGS"
-  CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -D__KERNEL__ $RHCONFIG_SP $CPPFLAGS"
-  echo "$as_me:$LINENO: checking which kernel modules to build" >&5
-echo $ECHO_N "checking which kernel modules to build... $ECHO_C" >&6
-  if test "x$ac_cv_linux_config_h_exists" = "xyes"; then
-    CPPFLAGS="-DCONFIG_H_EXISTS $CPPFLAGS"
   fi
-  if test "x$ac_linux_rhconfig" = "xyes"; then
-      MPS="MP SP"
-  else
-  if test "${ac_cv_linux_config_smp+set}" = set; then
+
+  { echo "$as_me:$LINENO: checking whether INIT_WORK has a _data argument" >&5
+echo $ECHO_N "checking whether INIT_WORK has a _data argument... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_init_work_has_data+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
@@ -10945,106 +13821,108 @@ _ACEOF
     cat >>conftest.dir/conftest.c <<\_ACEOF &&
 /* end confdefs.h */
 #include <linux/module.h>
-#ifdef CONFIG_H_EXISTS
-#include <linux/config.h>
-#endif
-
+#include <linux/kernel.h>
+#include <linux/workqueue.h>
 
 void conftest(void)
 {
-#ifndef CONFIG_SMP
-lose;
-#endif
 
+void f(struct work_struct *w) {}
+struct work_struct *w;
+int *i;
+INIT_WORK(w,f,i);
 }
 
 MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
 _ACEOF
     echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
     make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
-    then ac_cv_linux_config_smp=yes
+    then ac_cv_linux_init_work_has_data=yes
     else
       sed '/^ *+/d' conftest.err >&5
       echo "$as_me: failed using Makefile:" >&5
       sed 's/^/| /' conftest.dir/Makefile >&5
       echo "$as_me: and program was:" >&5
       sed 's/^/| /' conftest.dir/conftest.c >&5
-      ac_cv_linux_config_smp=no
+      ac_cv_linux_init_work_has_data=no
   fi; rm -fr conftest.err conftest.dir
   else
 
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-#ifdef CONFIG_H_EXISTS
-#include <linux/config.h>
-#endif
-
+#include <linux/kernel.h>
+#include <linux/workqueue.h>
 int
 main ()
 {
-#ifndef CONFIG_SMP
-lose;
-#endif
 
+void f(struct work_struct *w) {}
+struct work_struct *w;
+int *i;
+INIT_WORK(w,f,i);
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_linux_config_smp=yes
+  ac_cv_linux_init_work_has_data=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_config_smp=no
-fi
-rm -f conftest.$ac_objext conftest.$ac_ext
-  CPPFLAGS="$ac_save_CPPFLAGS"
-  fi
+       ac_cv_linux_init_work_has_data=no
 fi
 
-        if test "x$ac_cv_linux_config_smp" = "xyes"; then
-          MPS=MP
-      else
-          MPS=SP
-      fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CPPFLAGS="$ac_save_CPPFLAGS"
   fi
-  CPPFLAGS=$save_CPPFLAGS
-  echo "$as_me:$LINENO: result: $MPS" >&5
-echo "${ECHO_T}$MPS" >&6
 fi
 
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_init_work_has_data" >&5
+echo "${ECHO_T}$ac_cv_linux_init_work_has_data" >&6; }
 
-                 if test "x$ac_cv_linux_config_modversions" = "xno" -o $AFS_SYSKVERS -ge 26; then
-                   { echo "$as_me:$LINENO: WARNING: Cannot determine sys_call_table status. assuming it isn't exported" >&5
-echo "$as_me: WARNING: Cannot determine sys_call_table status. assuming it isn't exported" >&2;}
-                   ac_cv_linux_exports_sys_call_table=no
-                  if test -f "$LINUX_KERNEL_PATH/include/asm/ia32_unistd.h"; then
-                    ac_cv_linux_exports_ia32_sys_call_table=yes
-                  fi
-                 else
-
-  echo "$as_me:$LINENO: checking for exported init_mm" >&5
-echo $ECHO_N "checking for exported init_mm... $ECHO_C" >&6
-  if test "${ac_cv_linux_exports_init_mm+set}" = set; then
+  { echo "$as_me:$LINENO: checking whether register_sysctl_table has an insert_at_head flag argument" >&5
+echo $ECHO_N "checking whether register_sysctl_table has an insert_at_head flag argument... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_register_sysctl_table_noflag+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
@@ -11064,80 +13942,100 @@ _ACEOF
     cat >>conftest.dir/conftest.c <<\_ACEOF &&
 /* end confdefs.h */
 #include <linux/module.h>
-#include <linux/modversions.h>
+#include <linux/sysctl.h>
 
 void conftest(void)
 {
-#ifndef __ver_init_mm
-#error init_mm not exported
-#endif
+ctl_table *t;
+register_sysctl_table (t);
 }
 
 MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
 _ACEOF
     echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
     make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
-    then ac_cv_linux_exports_init_mm=yes
+    then ac_cv_linux_register_sysctl_table_noflag=yes
     else
       sed '/^ *+/d' conftest.err >&5
       echo "$as_me: failed using Makefile:" >&5
       sed 's/^/| /' conftest.dir/Makefile >&5
       echo "$as_me: and program was:" >&5
       sed 's/^/| /' conftest.dir/conftest.c >&5
-      ac_cv_linux_exports_init_mm=no
+      ac_cv_linux_register_sysctl_table_noflag=no
   fi; rm -fr conftest.err conftest.dir
   else
 
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-#include <linux/modversions.h>
+#include <linux/sysctl.h>
 int
 main ()
 {
-#ifndef __ver_init_mm
-#error init_mm not exported
-#endif
+ctl_table *t;
+register_sysctl_table (t);
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_linux_exports_init_mm=yes
+  ac_cv_linux_register_sysctl_table_noflag=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_exports_init_mm=no
+       ac_cv_linux_register_sysctl_table_noflag=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_exports_init_mm" >&5
-echo "${ECHO_T}$ac_cv_linux_exports_init_mm" >&6
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_register_sysctl_table_noflag" >&5
+echo "${ECHO_T}$ac_cv_linux_register_sysctl_table_noflag" >&6; }
 
-  echo "$as_me:$LINENO: checking for exported kallsyms_address_to_symbol" >&5
-echo $ECHO_N "checking for exported kallsyms_address_to_symbol... $ECHO_C" >&6
-  if test "${ac_cv_linux_exports_kallsyms_address+set}" = set; then
+  { echo "$as_me:$LINENO: checking for exported sys_chdir" >&5
+echo $ECHO_N "checking for exported sys_chdir... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_exports_sys_chdir+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
@@ -11157,80 +14055,100 @@ _ACEOF
     cat >>conftest.dir/conftest.c <<\_ACEOF &&
 /* end confdefs.h */
 #include <linux/module.h>
-#include <linux/modversions.h>
+extern asmlinkage long sys_chdir(void) __attribute__((weak));
 
 void conftest(void)
 {
-#ifndef __ver_kallsyms_address_to_symbol
-#error kallsyms_address_to_symbol not exported
-#endif
+void *address = &sys_chdir;
+printk("%p\n", address);
 }
 
 MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
 _ACEOF
     echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
     make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
-    then ac_cv_linux_exports_kallsyms_address=yes
+    then ac_cv_linux_exports_sys_chdir=yes
     else
       sed '/^ *+/d' conftest.err >&5
       echo "$as_me: failed using Makefile:" >&5
       sed 's/^/| /' conftest.dir/Makefile >&5
       echo "$as_me: and program was:" >&5
       sed 's/^/| /' conftest.dir/conftest.c >&5
-      ac_cv_linux_exports_kallsyms_address=no
+      ac_cv_linux_exports_sys_chdir=no
   fi; rm -fr conftest.err conftest.dir
   else
 
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-#include <linux/modversions.h>
+extern asmlinkage long sys_chdir(void) __attribute__((weak));
 int
 main ()
 {
-#ifndef __ver_kallsyms_address_to_symbol
-#error kallsyms_address_to_symbol not exported
-#endif
+void *address = &sys_chdir;
+printk("%p\n", address);
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_linux_exports_kallsyms_address=yes
+  ac_cv_linux_exports_sys_chdir=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_exports_kallsyms_address=no
+       ac_cv_linux_exports_sys_chdir=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_exports_kallsyms_address" >&5
-echo "${ECHO_T}$ac_cv_linux_exports_kallsyms_address" >&6
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_exports_sys_chdir" >&5
+echo "${ECHO_T}$ac_cv_linux_exports_sys_chdir" >&6; }
 
-  echo "$as_me:$LINENO: checking for exported kallsyms_symbol_to_address" >&5
-echo $ECHO_N "checking for exported kallsyms_symbol_to_address... $ECHO_C" >&6
-  if test "${ac_cv_linux_exports_kallsyms_symbol+set}" = set; then
+  { echo "$as_me:$LINENO: checking for exported sys_close" >&5
+echo $ECHO_N "checking for exported sys_close... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_exports_sys_close+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
@@ -11250,80 +14168,100 @@ _ACEOF
     cat >>conftest.dir/conftest.c <<\_ACEOF &&
 /* end confdefs.h */
 #include <linux/module.h>
-#include <linux/modversions.h>
+extern asmlinkage long sys_close(void) __attribute__((weak));
 
 void conftest(void)
 {
-#ifndef __ver_kallsyms_symbol_to_address
-#error kallsyms_symbol_to_address not exported
-#endif
+void *address = &sys_close;
+printk("%p\n", address);
 }
 
 MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
 _ACEOF
     echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
     make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
-    then ac_cv_linux_exports_kallsyms_symbol=yes
+    then ac_cv_linux_exports_sys_close=yes
     else
       sed '/^ *+/d' conftest.err >&5
       echo "$as_me: failed using Makefile:" >&5
       sed 's/^/| /' conftest.dir/Makefile >&5
       echo "$as_me: and program was:" >&5
       sed 's/^/| /' conftest.dir/conftest.c >&5
-      ac_cv_linux_exports_kallsyms_symbol=no
+      ac_cv_linux_exports_sys_close=no
   fi; rm -fr conftest.err conftest.dir
   else
 
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-#include <linux/modversions.h>
+extern asmlinkage long sys_close(void) __attribute__((weak));
 int
 main ()
 {
-#ifndef __ver_kallsyms_symbol_to_address
-#error kallsyms_symbol_to_address not exported
-#endif
+void *address = &sys_close;
+printk("%p\n", address);
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_linux_exports_kallsyms_symbol=yes
+  ac_cv_linux_exports_sys_close=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_exports_kallsyms_symbol=no
+       ac_cv_linux_exports_sys_close=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_exports_kallsyms_symbol" >&5
-echo "${ECHO_T}$ac_cv_linux_exports_kallsyms_symbol" >&6
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_exports_sys_close" >&5
+echo "${ECHO_T}$ac_cv_linux_exports_sys_close" >&6; }
 
-  echo "$as_me:$LINENO: checking for exported sys_call_table" >&5
-echo $ECHO_N "checking for exported sys_call_table... $ECHO_C" >&6
-  if test "${ac_cv_linux_exports_sys_call_table+set}" = set; then
+  { echo "$as_me:$LINENO: checking for exported sys_open" >&5
+echo $ECHO_N "checking for exported sys_open... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_exports_sys_open+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
@@ -11343,80 +14281,100 @@ _ACEOF
     cat >>conftest.dir/conftest.c <<\_ACEOF &&
 /* end confdefs.h */
 #include <linux/module.h>
-#include <linux/modversions.h>
+extern asmlinkage long sys_open(void) __attribute__((weak));
 
 void conftest(void)
 {
-#ifndef __ver_sys_call_table
-#error sys_call_table not exported
-#endif
+void *address = &sys_open;
+printk("%p\n", address);
 }
 
 MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
 _ACEOF
     echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
     make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
-    then ac_cv_linux_exports_sys_call_table=yes
+    then ac_cv_linux_exports_sys_open=yes
     else
       sed '/^ *+/d' conftest.err >&5
       echo "$as_me: failed using Makefile:" >&5
       sed 's/^/| /' conftest.dir/Makefile >&5
       echo "$as_me: and program was:" >&5
       sed 's/^/| /' conftest.dir/conftest.c >&5
-      ac_cv_linux_exports_sys_call_table=no
+      ac_cv_linux_exports_sys_open=no
   fi; rm -fr conftest.err conftest.dir
   else
 
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-#include <linux/modversions.h>
+extern asmlinkage long sys_open(void) __attribute__((weak));
 int
 main ()
 {
-#ifndef __ver_sys_call_table
-#error sys_call_table not exported
-#endif
+void *address = &sys_open;
+printk("%p\n", address);
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_linux_exports_sys_call_table=yes
+  ac_cv_linux_exports_sys_open=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_exports_sys_call_table=no
+       ac_cv_linux_exports_sys_open=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_exports_sys_call_table" >&5
-echo "${ECHO_T}$ac_cv_linux_exports_sys_call_table" >&6
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_exports_sys_open" >&5
+echo "${ECHO_T}$ac_cv_linux_exports_sys_open" >&6; }
 
-  echo "$as_me:$LINENO: checking for exported ia32_sys_call_table" >&5
-echo $ECHO_N "checking for exported ia32_sys_call_table... $ECHO_C" >&6
-  if test "${ac_cv_linux_exports_ia32_sys_call_table+set}" = set; then
+  { echo "$as_me:$LINENO: checking for exported sys_wait4" >&5
+echo $ECHO_N "checking for exported sys_wait4... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_exports_sys_wait4+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
@@ -11436,125 +14394,872 @@ _ACEOF
     cat >>conftest.dir/conftest.c <<\_ACEOF &&
 /* end confdefs.h */
 #include <linux/module.h>
-#include <linux/modversions.h>
+extern asmlinkage long sys_wait4(void) __attribute__((weak));
 
 void conftest(void)
 {
-#ifndef __ver_ia32_sys_call_table
-#error ia32_sys_call_table not exported
-#endif
+void *address = &sys_wait4;
+printk("%p\n", address);
 }
 
 MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
 _ACEOF
     echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
     make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
-    then ac_cv_linux_exports_ia32_sys_call_table=yes
+    then ac_cv_linux_exports_sys_wait4=yes
     else
       sed '/^ *+/d' conftest.err >&5
       echo "$as_me: failed using Makefile:" >&5
       sed 's/^/| /' conftest.dir/Makefile >&5
       echo "$as_me: and program was:" >&5
       sed 's/^/| /' conftest.dir/conftest.c >&5
-      ac_cv_linux_exports_ia32_sys_call_table=no
+      ac_cv_linux_exports_sys_wait4=no
   fi; rm -fr conftest.err conftest.dir
   else
 
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-#include <linux/modversions.h>
+extern asmlinkage long sys_wait4(void) __attribute__((weak));
 int
 main ()
 {
-#ifndef __ver_ia32_sys_call_table
-#error ia32_sys_call_table not exported
-#endif
+void *address = &sys_wait4;
+printk("%p\n", address);
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_linux_exports_ia32_sys_call_table=yes
+  ac_cv_linux_exports_sys_wait4=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_linux_exports_ia32_sys_call_table=no
+       ac_cv_linux_exports_sys_wait4=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS="$ac_save_CPPFLAGS"
   fi
 fi
 
-  echo "$as_me:$LINENO: result: $ac_cv_linux_exports_ia32_sys_call_table" >&5
-echo "${ECHO_T}$ac_cv_linux_exports_ia32_sys_call_table" >&6
-                   if test "x$ac_cv_linux_exports_sys_call_table" = "xno"; then
-                         linux_syscall_method=none
-                         if test "x$ac_cv_linux_exports_init_mm" = "xyes"; then
-                            linux_syscall_method=scan
-                            if test "x$ac_cv_linux_exports_kallsyms_address" = "xyes"; then
-                               linux_syscall_method=scan_with_kallsyms_address
-                            fi
-                         fi
-                         if test "x$ac_cv_linux_exports_kallsyms_symbol" = "xyes"; then
-                            linux_syscall_method=kallsyms_symbol
-                         fi
-                         if test "x$linux_syscall_method" = "xnone"; then
-                           { echo "$as_me:$LINENO: WARNING: no available sys_call_table access method -- guessing scan" >&5
-echo "$as_me: WARNING: no available sys_call_table access method -- guessing scan" >&2;}
-                            linux_syscall_method=scan
-                         fi
-                   fi
-                 fi
-                if test -f "$LINUX_KERNEL_PATH/include/linux/in_systm.h"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_IN_SYSTM_H 1
-_ACEOF
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_exports_sys_wait4" >&5
+echo "${ECHO_T}$ac_cv_linux_exports_sys_wait4" >&6; }
 
-                fi
-                if test -f "$LINUX_KERNEL_PATH/include/linux/mm_inline.h"; then
+if test "x$enable_redhat_buildsys" = "xyes"; then
+  MPS=Default
+else
+  save_CPPFLAGS="$CPPFLAGS"
+  CPPFLAGS="-I${LINUX_KERNEL_PATH}/include -D__KERNEL__ $RHCONFIG_SP $CPPFLAGS"
+  { echo "$as_me:$LINENO: checking which kernel modules to build" >&5
+echo $ECHO_N "checking which kernel modules to build... $ECHO_C" >&6; }
+  if test "x$ac_cv_linux_config_h_exists" = "xyes"; then
+    CPPFLAGS="-DCONFIG_H_EXISTS $CPPFLAGS"
+  fi
+  if test "x$ac_linux_rhconfig" = "xyes"; then
+      MPS="MP SP"
+  else
+  if test "${ac_cv_linux_config_smp+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
 
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_MM_INLINE_H 1
-_ACEOF
 
-                fi
-                if test -f "$LINUX_KERNEL_PATH/include/linux/in_systm.h"; then
+  if test $AFS_SYSKVERS -ge 26 ; then
+      rm -fr conftest.dir
+  if mkdir conftest.dir &&
+    cat >conftest.dir/Makefile <<_ACEOF &&
+CFLAGS += $CPPFLAGS
 
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_IN_SYSTM_H 1
+obj-m += conftest.o
 _ACEOF
+    cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+    cat confdefs.h >>conftest.dir/conftest.c &&
+    cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#ifdef CONFIG_H_EXISTS
+#include <linux/config.h>
+#endif
 
-                fi
-                if test "x$ac_cv_linux_exports_sys_chdir" = "xyes" ; then
 
-cat >>confdefs.h <<\_ACEOF
-#define EXPORTED_SYS_CHDIR 1
-_ACEOF
+void conftest(void)
+{
+#ifndef CONFIG_SMP
+lose;
+#endif
 
-                fi
-                if test "x$ac_cv_linux_exports_sys_open" = "xyes" ; then
+}
 
-cat >>confdefs.h <<\_ACEOF
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+    echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
+    make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
+    then ac_cv_linux_config_smp=yes
+    else
+      sed '/^ *+/d' conftest.err >&5
+      echo "$as_me: failed using Makefile:" >&5
+      sed 's/^/| /' conftest.dir/Makefile >&5
+      echo "$as_me: and program was:" >&5
+      sed 's/^/| /' conftest.dir/conftest.c >&5
+      ac_cv_linux_config_smp=no
+  fi; rm -fr conftest.err conftest.dir
+  else
+
+  ac_save_CPPFLAGS="$CPPFLAGS"
+  CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#ifdef CONFIG_H_EXISTS
+#include <linux/config.h>
+#endif
+
+int
+main ()
+{
+#ifndef CONFIG_SMP
+lose;
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_linux_config_smp=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_cv_linux_config_smp=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CPPFLAGS="$ac_save_CPPFLAGS"
+  fi
+fi
+
+        if test "x$ac_cv_linux_config_smp" = "xyes"; then
+          MPS=MP
+      else
+          MPS=SP
+      fi
+  fi
+  CPPFLAGS=$save_CPPFLAGS
+  { echo "$as_me:$LINENO: result: $MPS" >&5
+echo "${ECHO_T}$MPS" >&6; }
+fi
+
+
+                 if test "x$ac_cv_linux_config_modversions" = "xno" -o $AFS_SYSKVERS -ge 26; then
+                   { echo "$as_me:$LINENO: WARNING: Cannot determine sys_call_table status. assuming it isn't exported" >&5
+echo "$as_me: WARNING: Cannot determine sys_call_table status. assuming it isn't exported" >&2;}
+                   ac_cv_linux_exports_sys_call_table=no
+                  if test -f "$LINUX_KERNEL_PATH/include/asm/ia32_unistd.h"; then
+                    ac_cv_linux_exports_ia32_sys_call_table=yes
+                  fi
+                 else
+
+  { echo "$as_me:$LINENO: checking for exported init_mm" >&5
+echo $ECHO_N "checking for exported init_mm... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_exports_init_mm+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+  if test $AFS_SYSKVERS -ge 26 ; then
+      rm -fr conftest.dir
+  if mkdir conftest.dir &&
+    cat >conftest.dir/Makefile <<_ACEOF &&
+CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+    cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+    cat confdefs.h >>conftest.dir/conftest.c &&
+    cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/modversions.h>
+
+void conftest(void)
+{
+#ifndef __ver_init_mm
+#error init_mm not exported
+#endif
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+    echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
+    make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
+    then ac_cv_linux_exports_init_mm=yes
+    else
+      sed '/^ *+/d' conftest.err >&5
+      echo "$as_me: failed using Makefile:" >&5
+      sed 's/^/| /' conftest.dir/Makefile >&5
+      echo "$as_me: and program was:" >&5
+      sed 's/^/| /' conftest.dir/conftest.c >&5
+      ac_cv_linux_exports_init_mm=no
+  fi; rm -fr conftest.err conftest.dir
+  else
+
+  ac_save_CPPFLAGS="$CPPFLAGS"
+  CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <linux/modversions.h>
+int
+main ()
+{
+#ifndef __ver_init_mm
+#error init_mm not exported
+#endif
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_linux_exports_init_mm=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_cv_linux_exports_init_mm=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CPPFLAGS="$ac_save_CPPFLAGS"
+  fi
+fi
+
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_exports_init_mm" >&5
+echo "${ECHO_T}$ac_cv_linux_exports_init_mm" >&6; }
+
+  { echo "$as_me:$LINENO: checking for exported kallsyms_address_to_symbol" >&5
+echo $ECHO_N "checking for exported kallsyms_address_to_symbol... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_exports_kallsyms_address+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+  if test $AFS_SYSKVERS -ge 26 ; then
+      rm -fr conftest.dir
+  if mkdir conftest.dir &&
+    cat >conftest.dir/Makefile <<_ACEOF &&
+CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+    cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+    cat confdefs.h >>conftest.dir/conftest.c &&
+    cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/modversions.h>
+
+void conftest(void)
+{
+#ifndef __ver_kallsyms_address_to_symbol
+#error kallsyms_address_to_symbol not exported
+#endif
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+    echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
+    make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
+    then ac_cv_linux_exports_kallsyms_address=yes
+    else
+      sed '/^ *+/d' conftest.err >&5
+      echo "$as_me: failed using Makefile:" >&5
+      sed 's/^/| /' conftest.dir/Makefile >&5
+      echo "$as_me: and program was:" >&5
+      sed 's/^/| /' conftest.dir/conftest.c >&5
+      ac_cv_linux_exports_kallsyms_address=no
+  fi; rm -fr conftest.err conftest.dir
+  else
+
+  ac_save_CPPFLAGS="$CPPFLAGS"
+  CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <linux/modversions.h>
+int
+main ()
+{
+#ifndef __ver_kallsyms_address_to_symbol
+#error kallsyms_address_to_symbol not exported
+#endif
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_linux_exports_kallsyms_address=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_cv_linux_exports_kallsyms_address=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CPPFLAGS="$ac_save_CPPFLAGS"
+  fi
+fi
+
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_exports_kallsyms_address" >&5
+echo "${ECHO_T}$ac_cv_linux_exports_kallsyms_address" >&6; }
+
+  { echo "$as_me:$LINENO: checking for exported kallsyms_symbol_to_address" >&5
+echo $ECHO_N "checking for exported kallsyms_symbol_to_address... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_exports_kallsyms_symbol+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+  if test $AFS_SYSKVERS -ge 26 ; then
+      rm -fr conftest.dir
+  if mkdir conftest.dir &&
+    cat >conftest.dir/Makefile <<_ACEOF &&
+CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+    cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+    cat confdefs.h >>conftest.dir/conftest.c &&
+    cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/modversions.h>
+
+void conftest(void)
+{
+#ifndef __ver_kallsyms_symbol_to_address
+#error kallsyms_symbol_to_address not exported
+#endif
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+    echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
+    make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
+    then ac_cv_linux_exports_kallsyms_symbol=yes
+    else
+      sed '/^ *+/d' conftest.err >&5
+      echo "$as_me: failed using Makefile:" >&5
+      sed 's/^/| /' conftest.dir/Makefile >&5
+      echo "$as_me: and program was:" >&5
+      sed 's/^/| /' conftest.dir/conftest.c >&5
+      ac_cv_linux_exports_kallsyms_symbol=no
+  fi; rm -fr conftest.err conftest.dir
+  else
+
+  ac_save_CPPFLAGS="$CPPFLAGS"
+  CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <linux/modversions.h>
+int
+main ()
+{
+#ifndef __ver_kallsyms_symbol_to_address
+#error kallsyms_symbol_to_address not exported
+#endif
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_linux_exports_kallsyms_symbol=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_cv_linux_exports_kallsyms_symbol=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CPPFLAGS="$ac_save_CPPFLAGS"
+  fi
+fi
+
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_exports_kallsyms_symbol" >&5
+echo "${ECHO_T}$ac_cv_linux_exports_kallsyms_symbol" >&6; }
+
+  { echo "$as_me:$LINENO: checking for exported sys_call_table" >&5
+echo $ECHO_N "checking for exported sys_call_table... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_exports_sys_call_table+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+  if test $AFS_SYSKVERS -ge 26 ; then
+      rm -fr conftest.dir
+  if mkdir conftest.dir &&
+    cat >conftest.dir/Makefile <<_ACEOF &&
+CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+    cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+    cat confdefs.h >>conftest.dir/conftest.c &&
+    cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/modversions.h>
+
+void conftest(void)
+{
+#ifndef __ver_sys_call_table
+#error sys_call_table not exported
+#endif
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+    echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
+    make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
+    then ac_cv_linux_exports_sys_call_table=yes
+    else
+      sed '/^ *+/d' conftest.err >&5
+      echo "$as_me: failed using Makefile:" >&5
+      sed 's/^/| /' conftest.dir/Makefile >&5
+      echo "$as_me: and program was:" >&5
+      sed 's/^/| /' conftest.dir/conftest.c >&5
+      ac_cv_linux_exports_sys_call_table=no
+  fi; rm -fr conftest.err conftest.dir
+  else
+
+  ac_save_CPPFLAGS="$CPPFLAGS"
+  CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <linux/modversions.h>
+int
+main ()
+{
+#ifndef __ver_sys_call_table
+#error sys_call_table not exported
+#endif
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_linux_exports_sys_call_table=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_cv_linux_exports_sys_call_table=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CPPFLAGS="$ac_save_CPPFLAGS"
+  fi
+fi
+
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_exports_sys_call_table" >&5
+echo "${ECHO_T}$ac_cv_linux_exports_sys_call_table" >&6; }
+
+  { echo "$as_me:$LINENO: checking for exported ia32_sys_call_table" >&5
+echo $ECHO_N "checking for exported ia32_sys_call_table... $ECHO_C" >&6; }
+  if test "${ac_cv_linux_exports_ia32_sys_call_table+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+
+  if test $AFS_SYSKVERS -ge 26 ; then
+      rm -fr conftest.dir
+  if mkdir conftest.dir &&
+    cat >conftest.dir/Makefile <<_ACEOF &&
+CFLAGS += $CPPFLAGS
+
+obj-m += conftest.o
+_ACEOF
+    cat >conftest.dir/conftest.c <<\_ACEOF &&
+/* confdefs.h */
+_ACEOF
+    cat confdefs.h >>conftest.dir/conftest.c &&
+    cat >>conftest.dir/conftest.c <<\_ACEOF &&
+/* end confdefs.h */
+#include <linux/module.h>
+#include <linux/modversions.h>
+
+void conftest(void)
+{
+#ifndef __ver_ia32_sys_call_table
+#error ia32_sys_call_table not exported
+#endif
+}
+
+MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
+_ACEOF
+    echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5
+    make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&5 2>conftest.err
+    then ac_cv_linux_exports_ia32_sys_call_table=yes
+    else
+      sed '/^ *+/d' conftest.err >&5
+      echo "$as_me: failed using Makefile:" >&5
+      sed 's/^/| /' conftest.dir/Makefile >&5
+      echo "$as_me: and program was:" >&5
+      sed 's/^/| /' conftest.dir/conftest.c >&5
+      ac_cv_linux_exports_ia32_sys_call_table=no
+  fi; rm -fr conftest.err conftest.dir
+  else
+
+  ac_save_CPPFLAGS="$CPPFLAGS"
+  CPPFLAGS="-I$LINUX_KERNEL_PATH/include -D__KERNEL__ $CPPFLAGS"
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <linux/modversions.h>
+int
+main ()
+{
+#ifndef __ver_ia32_sys_call_table
+#error ia32_sys_call_table not exported
+#endif
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_linux_exports_ia32_sys_call_table=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_cv_linux_exports_ia32_sys_call_table=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  CPPFLAGS="$ac_save_CPPFLAGS"
+  fi
+fi
+
+  { echo "$as_me:$LINENO: result: $ac_cv_linux_exports_ia32_sys_call_table" >&5
+echo "${ECHO_T}$ac_cv_linux_exports_ia32_sys_call_table" >&6; }
+                   if test "x$ac_cv_linux_exports_sys_call_table" = "xno"; then
+                         linux_syscall_method=none
+                         if test "x$ac_cv_linux_exports_init_mm" = "xyes"; then
+                            linux_syscall_method=scan
+                            if test "x$ac_cv_linux_exports_kallsyms_address" = "xyes"; then
+                               linux_syscall_method=scan_with_kallsyms_address
+                            fi
+                         fi
+                         if test "x$ac_cv_linux_exports_kallsyms_symbol" = "xyes"; then
+                            linux_syscall_method=kallsyms_symbol
+                         fi
+                         if test "x$linux_syscall_method" = "xnone"; then
+                           { echo "$as_me:$LINENO: WARNING: no available sys_call_table access method -- guessing scan" >&5
+echo "$as_me: WARNING: no available sys_call_table access method -- guessing scan" >&2;}
+                            linux_syscall_method=scan
+                         fi
+                   fi
+                 fi
+                if test -f "$LINUX_KERNEL_PATH/include/linux/in_systm.h"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_IN_SYSTM_H 1
+_ACEOF
+
+                fi
+                if test -f "$LINUX_KERNEL_PATH/include/linux/mm_inline.h"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_MM_INLINE_H 1
+_ACEOF
+
+                fi
+                if test -f "$LINUX_KERNEL_PATH/include/linux/in_systm.h"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_IN_SYSTM_H 1
+_ACEOF
+
+                fi
+                if test "x$ac_cv_linux_exports_sys_chdir" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define EXPORTED_SYS_CHDIR 1
+_ACEOF
+
+                fi
+                if test "x$ac_cv_linux_exports_sys_open" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
 #define EXPORTED_SYS_OPEN 1
 _ACEOF
 
@@ -11734,6 +15439,13 @@ _ACEOF
 
 cat >>confdefs.h <<\_ACEOF
 #define RECALC_SIGPENDING_TAKES_VOID 1
+_ACEOF
+
+                fi
+                if test "x$ac_cv_linux_kernel_posix_lock_file_wait_arg" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define POSIX_LOCK_FILE_WAIT_ARG 1
 _ACEOF
 
                 fi
@@ -11839,6 +15551,13 @@ _ACEOF
 
 cat >>confdefs.h <<\_ACEOF
 #define STRUCT_TASK_STRUCT_HAS_TODO 1
+_ACEOF
+
+                fi
+                if test "x$ac_cv_linux_sched_struct_task_struct_has_thread_info" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STRUCT_TASK_STRUCT_HAS_THREAD_INFO 1
 _ACEOF
 
                 fi
@@ -11874,6 +15593,13 @@ _ACEOF
 
 cat >>confdefs.h <<\_ACEOF
 #define IOP_CREATE_TAKES_NAMEIDATA 1
+_ACEOF
+
+                fi
+                if test "x$ac_cv_linux_func_f_flush_takes_fl_owner_t" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define FOP_FLUSH_TAKES_FL_OWNER_T 1
 _ACEOF
 
                 fi
@@ -11908,6 +15634,13 @@ _ACEOF
                 if test "x$ac_cv_linux_fs_struct_fop_has_flock" = "xyes" ; then
                  echo flock support is currently disabled in OpenAFS 1.4 for Linux
                 fi
+                if test "x$ac_cv_linux_fs_struct_fop_has_sendfile" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STRUCT_FILE_OPERATIONS_HAS_SENDFILE 1
+_ACEOF
+
+                fi
                 if test "x$ac_cv_linux_register_sysctl_table_noflag" = "xyes" ; then
 
 cat >>confdefs.h <<\_ACEOF
@@ -11922,6 +15655,30 @@ cat >>confdefs.h <<\_ACEOF
 _ACEOF
 
                 fi
+                if test "x$ac_cv_linux_have_kmem_cache_t" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_KMEM_CACHE_T 1
+_ACEOF
+
+                fi
+                if test "x$ac_cv_linux_have_kmem_cache_t" = "xyes" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define KMEM_CACHE_TAKES_DTOR 1
+_ACEOF
+
+                fi
+                if test "x$ac_cv_linux_kernel_page_follow_link" = "xyes" -o "x$ac_cv_linux_func_i_put_link_takes_cookie" = "xyes"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define USABLE_KERNEL_PAGE_SYMLINK_CACHE 1
+_ACEOF
+
+                else
+                 { echo "$as_me:$LINENO: WARNING: your kernel does not have a usable symlink cache API" >&5
+echo "$as_me: WARNING: your kernel does not have a usable symlink cache API" >&2;}
+                fi
                 :
                fi
 esac
@@ -11938,15 +15695,14 @@ _ACEOF
 
                ;;
         *)
-echo "$as_me:$LINENO: checking for definition of struct buf" >&5
-echo $ECHO_N "checking for definition of struct buf... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for definition of struct buf" >&5
+echo $ECHO_N "checking for definition of struct buf... $ECHO_C" >&6; }
 if test "${ac_cv_have_struct_buf+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
        ac_cv_have_struct_buf=no
        cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -11963,14 +15719,36 @@ struct buf x;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -11979,14 +15757,16 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
+
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
 
 fi
 
-echo "$as_me:$LINENO: result: $ac_cv_have_struct_buf" >&5
-echo "${ECHO_T}$ac_cv_have_struct_buf" >&6
+echo "$as_me:$LINENO: result: $ac_cv_have_struct_buf" >&5
+echo "${ECHO_T}$ac_cv_have_struct_buf" >&6; }
 if test "$ac_cv_have_struct_buf" = yes; then
 
 cat >>confdefs.h <<\_ACEOF
@@ -12002,10 +15782,9 @@ if test "${ac_cv_sockaddr_len+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
-echo "$as_me:$LINENO: checking if struct sockaddr has sa_len field" >&5
-echo $ECHO_N "checking if struct sockaddr has sa_len field... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking if struct sockaddr has sa_len field" >&5
+echo $ECHO_N "checking if struct sockaddr has sa_len field... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -12023,14 +15802,36 @@ a->sa_len=0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -12039,11 +15840,12 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_sockaddr_len=no
+       ac_cv_sockaddr_len=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_cv_sockaddr_len" >&5
-echo "${ECHO_T}$ac_cv_sockaddr_len" >&6
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_cv_sockaddr_len" >&5
+echo "${ECHO_T}$ac_cv_sockaddr_len" >&6; }
 fi
 
 if test "$ac_cv_sockaddr_len" = "yes"; then
@@ -12060,64 +15862,87 @@ else
 for ac_func in socket
 do
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
+echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
+#define $ac_func innocuous_$ac_func
+
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func (); below.
     Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
     <limits.h> exists even on freestanding compilers.  */
+
 #ifdef __STDC__
 # include <limits.h>
 #else
 # include <assert.h>
 #endif
-/* Override any gcc2 internal prototype to avoid an error.  */
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
-{
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char $ac_func ();
 /* The GNU C library defines this for functions which it implements
     to always fail with ENOSYS.  Some functions are actually named
     something starting with __ and the normal name is an alias.  */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+#if defined __stub_$ac_func || defined __stub___$ac_func
 choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
 #endif
 
 int
 main ()
 {
-return f != $ac_func;
+return $ac_func ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -12126,12 +15951,15 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-eval "$as_ac_var=no"
+       eval "$as_ac_var=no"
 fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+ac_res=`eval echo '${'$as_ac_var'}'`
+              { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 if test `eval echo '${'$as_ac_var'}'` = yes; then
   cat >>confdefs.h <<_ACEOF
 #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
@@ -12145,45 +15973,66 @@ done
     for lib in socket inet; do
         if test "$HAVE_SOCKET" != 1; then
                 as_ac_Lib=`echo "ac_cv_lib_${lib}''_socket" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for socket in -l${lib}" >&5
-echo $ECHO_N "checking for socket in -l${lib}... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Lib+set}\" = set"; then
+echo "$as_me:$LINENO: checking for socket in -l${lib}" >&5
+echo $ECHO_N "checking for socket in -l${lib}... $ECHO_C" >&6; }
+if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-l${lib}  $LIBS"
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char socket ();
 int
 main ()
 {
-socket ();
+return socket ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -12192,13 +16041,16 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-eval "$as_ac_Lib=no"
+       eval "$as_ac_Lib=no"
 fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Lib'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Lib'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Lib'}'`
+              { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 if test `eval echo '${'$as_ac_Lib'}'` = yes; then
   LIBS="$LIBS -l$lib";HAVE_SOCKET=1;
 cat >>confdefs.h <<\_ACEOF
 for ac_func in connect
 do
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
+echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
+#define $ac_func innocuous_$ac_func
+
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func (); below.
     Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
     <limits.h> exists even on freestanding compilers.  */
+
 #ifdef __STDC__
 # include <limits.h>
 #else
 # include <assert.h>
 #endif
-/* Override any gcc2 internal prototype to avoid an error.  */
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
-{
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char $ac_func ();
 /* The GNU C library defines this for functions which it implements
     to always fail with ENOSYS.  Some functions are actually named
     something starting with __ and the normal name is an alias.  */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+#if defined __stub_$ac_func || defined __stub___$ac_func
 choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
 #endif
 
 int
 main ()
 {
-return f != $ac_func;
+return $ac_func ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -12281,12 +16156,15 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-eval "$as_ac_var=no"
+       eval "$as_ac_var=no"
 fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+ac_res=`eval echo '${'$as_ac_var'}'`
+              { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 if test `eval echo '${'$as_ac_var'}'` = yes; then
   cat >>confdefs.h <<_ACEOF
 #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
@@ -12300,45 +16178,66 @@ done
     for lib in nsl; do
         if test "$HAVE_CONNECT" != 1; then
                 as_ac_Lib=`echo "ac_cv_lib_${lib}''_connect" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for connect in -l${lib}" >&5
-echo $ECHO_N "checking for connect in -l${lib}... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Lib+set}\" = set"; then
+echo "$as_me:$LINENO: checking for connect in -l${lib}" >&5
+echo $ECHO_N "checking for connect in -l${lib}... $ECHO_C" >&6; }
+if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-l${lib}  $LIBS"
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char connect ();
 int
 main ()
 {
-connect ();
+return connect ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -12347,13 +16246,16 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-eval "$as_ac_Lib=no"
+       eval "$as_ac_Lib=no"
 fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Lib'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Lib'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Lib'}'`
+              { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 if test `eval echo '${'$as_ac_Lib'}'` = yes; then
   LIBS="$LIBS -l$lib";HAVE_CONNECT=1;
 cat >>confdefs.h <<\_ACEOF
 for ac_func in gethostbyname
 do
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
+echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
+#define $ac_func innocuous_$ac_func
+
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func (); below.
     Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
     <limits.h> exists even on freestanding compilers.  */
+
 #ifdef __STDC__
 # include <limits.h>
 #else
 # include <assert.h>
 #endif
-/* Override any gcc2 internal prototype to avoid an error.  */
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
-{
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char $ac_func ();
 /* The GNU C library defines this for functions which it implements
     to always fail with ENOSYS.  Some functions are actually named
     something starting with __ and the normal name is an alias.  */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+#if defined __stub_$ac_func || defined __stub___$ac_func
 choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
 #endif
 
 int
 main ()
 {
-return f != $ac_func;
+return $ac_func ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -12436,12 +16361,15 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-eval "$as_ac_var=no"
+       eval "$as_ac_var=no"
 fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+ac_res=`eval echo '${'$as_ac_var'}'`
+              { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 if test `eval echo '${'$as_ac_var'}'` = yes; then
   cat >>confdefs.h <<_ACEOF
 #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
@@ -12454,45 +16382,66 @@ done
         for lib in dns nsl resolv; do
           if test "$HAVE_GETHOSTBYNAME" != 1; then
             as_ac_Lib=`echo "ac_cv_lib_${lib}''_gethostbyname" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for gethostbyname in -l${lib}" >&5
-echo $ECHO_N "checking for gethostbyname in -l${lib}... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Lib+set}\" = set"; then
+echo "$as_me:$LINENO: checking for gethostbyname in -l${lib}" >&5
+echo $ECHO_N "checking for gethostbyname in -l${lib}... $ECHO_C" >&6; }
+if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-l${lib}  $LIBS"
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char gethostbyname ();
 int
 main ()
 {
-gethostbyname ();
+return gethostbyname ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -12501,13 +16450,16 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-eval "$as_ac_Lib=no"
+       eval "$as_ac_Lib=no"
 fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Lib'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Lib'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Lib'}'`
+              { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 if test `eval echo '${'$as_ac_Lib'}'` = yes; then
   LIBS="$LIBS -l$lib";HAVE_GETHOSTBYNAME=1;
 cat >>confdefs.h <<\_ACEOF
         done
   fi
 
-    echo "$as_me:$LINENO: checking for the useability of arpa/nameser_compat.h" >&5
-echo $ECHO_N "checking for the useability of arpa/nameser_compat.h... $ECHO_C" >&6
+    echo "$as_me:$LINENO: checking for the useability of arpa/nameser_compat.h" >&5
+echo $ECHO_N "checking for the useability of arpa/nameser_compat.h... $ECHO_C" >&6; }
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -12549,19 +16500,41 @@ static int i; i = 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+  echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
    cat >>confdefs.h <<\_ACEOF
 #define HAVE_ARPA_NAMESER_COMPAT_H 1
 _ACEOF
@@ -12570,19 +16543,19 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+       { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
   openafs_save_libs="$LIBS"
-  echo "$as_me:$LINENO: checking for res_search" >&5
-echo $ECHO_N "checking for res_search... $ECHO_C" >&6
+  echo "$as_me:$LINENO: checking for res_search" >&5
+echo $ECHO_N "checking for res_search... $ECHO_C" >&6; }
 
   ac_cv_func_res_search=no
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -12615,14 +16588,36 @@ return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -12631,8 +16626,11 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
+
 fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
 
 
   if test "$ac_cv_func_res_search" = no; then
@@ -12642,7 +16640,6 @@ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
 
   ac_cv_func_res_search=no
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -12675,14 +16672,36 @@ return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -12691,8 +16710,11 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
+
 fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
 
           LIBS="$openafs_save_libs"
         fi
@@ -12703,63 +16725,84 @@ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
 #define HAVE_RES_SEARCH 1
 _ACEOF
 
-        echo "$as_me:$LINENO: result: yes, in lib$lib" >&5
-echo "${ECHO_T}yes, in lib$lib" >&6
+        echo "$as_me:$LINENO: result: yes, in lib$lib" >&5
+echo "${ECHO_T}yes, in lib$lib" >&6; }
       else
-        echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+        echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
       fi
   else
     cat >>confdefs.h <<\_ACEOF
 #define HAVE_RES_SEARCH 1
 _ACEOF
 
-    echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+    echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
   fi
 
 fi
 
 PTHREAD_LIBS=error
-echo "$as_me:$LINENO: checking for pthread_attr_init in -lpthread" >&5
-echo $ECHO_N "checking for pthread_attr_init in -lpthread... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for pthread_attr_init in -lpthread" >&5
+echo $ECHO_N "checking for pthread_attr_init in -lpthread... $ECHO_C" >&6; }
 if test "${ac_cv_lib_pthread_pthread_attr_init+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lpthread  $LIBS"
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char pthread_attr_init ();
 int
 main ()
 {
-pthread_attr_init ();
+return pthread_attr_init ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -12768,57 +16811,80 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_pthread_pthread_attr_init=no
+       ac_cv_lib_pthread_pthread_attr_init=no
 fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_pthread_pthread_attr_init" >&5
-echo "${ECHO_T}$ac_cv_lib_pthread_pthread_attr_init" >&6
+echo "$as_me:$LINENO: result: $ac_cv_lib_pthread_pthread_attr_init" >&5
+echo "${ECHO_T}$ac_cv_lib_pthread_pthread_attr_init" >&6; }
 if test $ac_cv_lib_pthread_pthread_attr_init = yes; then
   PTHREAD_LIBS="-lpthread"
 fi
 
 if test "x$PTHREAD_LIBS" = xerror; then
-        echo "$as_me:$LINENO: checking for pthread_attr_init in -lpthreads" >&5
-echo $ECHO_N "checking for pthread_attr_init in -lpthreads... $ECHO_C" >&6
+        echo "$as_me:$LINENO: checking for pthread_attr_init in -lpthreads" >&5
+echo $ECHO_N "checking for pthread_attr_init in -lpthreads... $ECHO_C" >&6; }
 if test "${ac_cv_lib_pthreads_pthread_attr_init+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lpthreads  $LIBS"
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char pthread_attr_init ();
 int
 main ()
 {
-pthread_attr_init ();
+return pthread_attr_init ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -12827,58 +16893,81 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_pthreads_pthread_attr_init=no
+       ac_cv_lib_pthreads_pthread_attr_init=no
 fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_pthreads_pthread_attr_init" >&5
-echo "${ECHO_T}$ac_cv_lib_pthreads_pthread_attr_init" >&6
+echo "$as_me:$LINENO: result: $ac_cv_lib_pthreads_pthread_attr_init" >&5
+echo "${ECHO_T}$ac_cv_lib_pthreads_pthread_attr_init" >&6; }
 if test $ac_cv_lib_pthreads_pthread_attr_init = yes; then
   PTHREAD_LIBS="-lpthreads"
 fi
 
 fi
 if test "x$PTHREAD_LIBS" = xerror; then
-        echo "$as_me:$LINENO: checking for pthread_attr_init in -lc_r" >&5
-echo $ECHO_N "checking for pthread_attr_init in -lc_r... $ECHO_C" >&6
+        echo "$as_me:$LINENO: checking for pthread_attr_init in -lc_r" >&5
+echo $ECHO_N "checking for pthread_attr_init in -lc_r... $ECHO_C" >&6; }
 if test "${ac_cv_lib_c_r_pthread_attr_init+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lc_r  $LIBS"
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char pthread_attr_init ();
 int
 main ()
 {
-pthread_attr_init ();
+return pthread_attr_init ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -12887,77 +16976,102 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_c_r_pthread_attr_init=no
+       ac_cv_lib_c_r_pthread_attr_init=no
 fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_c_r_pthread_attr_init" >&5
-echo "${ECHO_T}$ac_cv_lib_c_r_pthread_attr_init" >&6
+echo "$as_me:$LINENO: result: $ac_cv_lib_c_r_pthread_attr_init" >&5
+echo "${ECHO_T}$ac_cv_lib_c_r_pthread_attr_init" >&6; }
 if test $ac_cv_lib_c_r_pthread_attr_init = yes; then
   PTHREAD_LIBS="-lc_r"
 fi
 
 fi
 if test "x$PTHREAD_LIBS" = xerror; then
-        echo "$as_me:$LINENO: checking for pthread_attr_init" >&5
-echo $ECHO_N "checking for pthread_attr_init... $ECHO_C" >&6
+        echo "$as_me:$LINENO: checking for pthread_attr_init" >&5
+echo $ECHO_N "checking for pthread_attr_init... $ECHO_C" >&6; }
 if test "${ac_cv_func_pthread_attr_init+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
+/* Define pthread_attr_init to an innocuous variant, in case <limits.h> declares pthread_attr_init.
+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
+#define pthread_attr_init innocuous_pthread_attr_init
+
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char pthread_attr_init (); below.
     Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
     <limits.h> exists even on freestanding compilers.  */
+
 #ifdef __STDC__
 # include <limits.h>
 #else
 # include <assert.h>
 #endif
-/* Override any gcc2 internal prototype to avoid an error.  */
+
+#undef pthread_attr_init
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
-{
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char pthread_attr_init ();
 /* The GNU C library defines this for functions which it implements
     to always fail with ENOSYS.  Some functions are actually named
     something starting with __ and the normal name is an alias.  */
-#if defined (__stub_pthread_attr_init) || defined (__stub___pthread_attr_init)
+#if defined __stub_pthread_attr_init || defined __stub___pthread_attr_init
 choke me
-#else
-char (*f) () = pthread_attr_init;
-#endif
-#ifdef __cplusplus
-}
 #endif
 
 int
 main ()
 {
-return f != pthread_attr_init;
+return pthread_attr_init ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -12966,12 +17080,14 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_func_pthread_attr_init=no
+       ac_cv_func_pthread_attr_init=no
 fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_func_pthread_attr_init" >&5
-echo "${ECHO_T}$ac_cv_func_pthread_attr_init" >&6
+echo "$as_me:$LINENO: result: $ac_cv_func_pthread_attr_init" >&5
+echo "${ECHO_T}$ac_cv_func_pthread_attr_init" >&6; }
 if test $ac_cv_func_pthread_attr_init = yes; then
   PTHREAD_LIBS=""
 fi
 fi
 if test "x$PTHREAD_LIBS" = xerror; then
         # pthread_attr_init is a macro under HPUX 11.0 and 11.11
-        echo "$as_me:$LINENO: checking for pthread_attr_destroy in -lpthread" >&5
-echo $ECHO_N "checking for pthread_attr_destroy in -lpthread... $ECHO_C" >&6
+        echo "$as_me:$LINENO: checking for pthread_attr_destroy in -lpthread" >&5
+echo $ECHO_N "checking for pthread_attr_destroy in -lpthread... $ECHO_C" >&6; }
 if test "${ac_cv_lib_pthread_pthread_attr_destroy+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lpthread  $LIBS"
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char pthread_attr_destroy ();
 int
 main ()
 {
-pthread_attr_destroy ();
+return pthread_attr_destroy ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -13026,13 +17163,15 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_pthread_pthread_attr_destroy=no
+       ac_cv_lib_pthread_pthread_attr_destroy=no
 fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_pthread_pthread_attr_destroy" >&5
-echo "${ECHO_T}$ac_cv_lib_pthread_pthread_attr_destroy" >&6
+echo "$as_me:$LINENO: result: $ac_cv_lib_pthread_pthread_attr_destroy" >&5
+echo "${ECHO_T}$ac_cv_lib_pthread_pthread_attr_destroy" >&6; }
 if test $ac_cv_lib_pthread_pthread_attr_destroy = yes; then
   PTHREAD_LIBS="-lpthread"
 fi
@@ -13154,8 +17293,8 @@ _ACEOF
 
 fi
 
-echo "$as_me:$LINENO: checking for tivoli tsm butc support" >&5
-echo $ECHO_N "checking for tivoli tsm butc support... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for tivoli tsm butc support" >&5
+echo $ECHO_N "checking for tivoli tsm butc support... $ECHO_C" >&6; }
 XBSA_CFLAGS=""
 if test "$enable_tivoli_tsm" = "yes"; then
        XBSADIR1=/usr/tivoli/tsm/client/api/bin/xopen
@@ -13163,29 +17302,28 @@ if test "$enable_tivoli_tsm" = "yes"; then
 
        if test -r "$XBSADIR1/xbsa.h"; then
                XBSA_CFLAGS="-Dxbsa -I$XBSADIR1"
-               echo "$as_me:$LINENO: result: yes, $XBSA_CFLAGS" >&5
-echo "${ECHO_T}yes, $XBSA_CFLAGS" >&6
+               echo "$as_me:$LINENO: result: yes, $XBSA_CFLAGS" >&5
+echo "${ECHO_T}yes, $XBSA_CFLAGS" >&6; }
        elif test -r "$XBSADIR2/xbsa.h"; then
                XBSA_CFLAGS="-Dxbsa -I$XBSADIR2"
-               echo "$as_me:$LINENO: result: yes, $XBSA_CFLAGS" >&5
-echo "${ECHO_T}yes, $XBSA_CFLAGS" >&6
+               echo "$as_me:$LINENO: result: yes, $XBSA_CFLAGS" >&5
+echo "${ECHO_T}yes, $XBSA_CFLAGS" >&6; }
        else
-               echo "$as_me:$LINENO: result: no, missing xbsa.h header file" >&5
-echo "${ECHO_T}no, missing xbsa.h header file" >&6
+               echo "$as_me:$LINENO: result: no, missing xbsa.h header file" >&5
+echo "${ECHO_T}no, missing xbsa.h header file" >&6; }
        fi
 else
-       echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+       echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
 
-echo "$as_me:$LINENO: checking for ANSI C header files" >&5
-echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for ANSI C header files" >&5
+echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; }
 if test "${ac_cv_header_stdc+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -13205,14 +17343,36 @@ main ()
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -13221,14 +17381,14 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_header_stdc=no
+       ac_cv_header_stdc=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
 if test $ac_cv_header_stdc = yes; then
   # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -13250,7 +17410,6 @@ fi
 if test $ac_cv_header_stdc = yes; then
   # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -13275,21 +17434,21 @@ if test $ac_cv_header_stdc = yes; then
   :
 else
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 #include <ctype.h>
+#include <stdlib.h>
 #if ((' ' & 0x0FF) == 0x020)
 # define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
 # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
 #else
 # define ISLOWER(c) \
-                   (('a' <= (c) && (c) <= 'i') \
-                     || ('j' <= (c) && (c) <= 'r') \
-                     || ('s' <= (c) && (c) <= 'z'))
+                  (('a' <= (c) && (c) <= 'i') \
+                    || ('j' <= (c) && (c) <= 'r') \
+                    || ('s' <= (c) && (c) <= 'z'))
 # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
 #endif
 
@@ -13300,19 +17459,28 @@ main ()
   int i;
   for (i = 0; i < 256; i++)
     if (XOR (islower (i), ISLOWER (i))
-        || toupper (i) != TOUPPER (i))
-      exit(2);
-  exit (0);
+       || toupper (i) != TOUPPER (i))
+      return 2;
+  return 0;
 }
 _ACEOF
 rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -13325,12 +17493,14 @@ sed 's/^/| /' conftest.$ac_ext >&5
 ( exit $ac_status )
 ac_cv_header_stdc=no
 fi
-rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
+
+
 fi
 fi
-echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
-echo "${ECHO_T}$ac_cv_header_stdc" >&6
+echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
+echo "${ECHO_T}$ac_cv_header_stdc" >&6; }
 if test $ac_cv_header_stdc = yes; then
 
 cat >>confdefs.h <<\_ACEOF
@@ -13339,13 +17509,12 @@ _ACEOF
 
 fi
 
-echo "$as_me:$LINENO: checking for sys/wait.h that is POSIX.1 compatible" >&5
-echo $ECHO_N "checking for sys/wait.h that is POSIX.1 compatible... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for sys/wait.h that is POSIX.1 compatible" >&5
+echo $ECHO_N "checking for sys/wait.h that is POSIX.1 compatible... $ECHO_C" >&6; }
 if test "${ac_cv_header_sys_wait_h+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -13354,7 +17523,7 @@ cat >>conftest.$ac_ext <<_ACEOF
 #include <sys/types.h>
 #include <sys/wait.h>
 #ifndef WEXITSTATUS
-# define WEXITSTATUS(stat_val) ((unsigned)(stat_val) >> 8)
+# define WEXITSTATUS(stat_val) ((unsigned int) (stat_val) >> 8)
 #endif
 #ifndef WIFEXITED
 # define WIFEXITED(stat_val) (((stat_val) & 255) == 0)
@@ -13371,14 +17540,36 @@ main ()
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -13387,12 +17578,13 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_header_sys_wait_h=no
+       ac_cv_header_sys_wait_h=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_header_sys_wait_h" >&5
-echo "${ECHO_T}$ac_cv_header_sys_wait_h" >&6
+echo "$as_me:$LINENO: result: $ac_cv_header_sys_wait_h" >&5
+echo "${ECHO_T}$ac_cv_header_sys_wait_h" >&6; }
 if test $ac_cv_header_sys_wait_h = yes; then
 
 cat >>confdefs.h <<\_ACEOF
 ac_header_dirent=no
 for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do
   as_ac_Header=`echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_hdr that defines DIR" >&5
-echo $ECHO_N "checking for $ac_hdr that defines DIR... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+echo "$as_me:$LINENO: checking for $ac_hdr that defines DIR" >&5
+echo $ECHO_N "checking for $ac_hdr that defines DIR... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -13434,14 +17625,36 @@ return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -13450,12 +17663,14 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-eval "$as_ac_Header=no"
+       eval "$as_ac_Header=no"
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+              { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 if test `eval echo '${'$as_ac_Header'}'` = yes; then
   cat >>confdefs.h <<_ACEOF
 #define `echo "HAVE_$ac_hdr" | $as_tr_cpp` 1
 done
 # Two versions of opendir et al. are in -ldir and -lx on SCO Xenix.
 if test $ac_header_dirent = dirent.h; then
-  echo "$as_me:$LINENO: checking for library containing opendir" >&5
-echo $ECHO_N "checking for library containing opendir... $ECHO_C" >&6
+  echo "$as_me:$LINENO: checking for library containing opendir" >&5
+echo $ECHO_N "checking for library containing opendir... $ECHO_C" >&6; }
 if test "${ac_cv_search_opendir+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   ac_func_search_save_LIBS=$LIBS
-ac_cv_search_opendir=no
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char opendir ();
 int
 main ()
 {
-opendir ();
+return opendir ();
   ;
   return 0;
 }
 _ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+for ac_lib in '' dir; do
+  if test -z "$ac_lib"; then
+    ac_res="none required"
+  else
+    ac_res=-l$ac_lib
+    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
+  fi
+  rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_cv_search_opendir="none required"
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
-if test "$ac_cv_search_opendir" = no; then
-  for ac_lib in dir; do
-    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
-    cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-/* Override any gcc2 internal prototype to avoid an error.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
-char opendir ();
-int
-main ()
-{
-opendir ();
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-         { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_search_opendir="-l$ac_lib"
-break
+  ac_cv_search_opendir=$ac_res
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
+
 fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
-  done
+
+rm -f core conftest.err conftest.$ac_objext \
+      conftest$ac_exeext
+  if test "${ac_cv_search_opendir+set}" = set; then
+  break
+fi
+done
+if test "${ac_cv_search_opendir+set}" = set; then
+  :
+else
+  ac_cv_search_opendir=no
 fi
+rm conftest.$ac_ext
 LIBS=$ac_func_search_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_search_opendir" >&5
-echo "${ECHO_T}$ac_cv_search_opendir" >&6
-if test "$ac_cv_search_opendir" != no; then
-  test "$ac_cv_search_opendir" = "none required" || LIBS="$ac_cv_search_opendir $LIBS"
+{ echo "$as_me:$LINENO: result: $ac_cv_search_opendir" >&5
+echo "${ECHO_T}$ac_cv_search_opendir" >&6; }
+ac_res=$ac_cv_search_opendir
+if test "$ac_res" != no; then
+  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
 
 fi
 
 else
-  echo "$as_me:$LINENO: checking for library containing opendir" >&5
-echo $ECHO_N "checking for library containing opendir... $ECHO_C" >&6
+  echo "$as_me:$LINENO: checking for library containing opendir" >&5
+echo $ECHO_N "checking for library containing opendir... $ECHO_C" >&6; }
 if test "${ac_cv_search_opendir+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   ac_func_search_save_LIBS=$LIBS
-ac_cv_search_opendir=no
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char opendir ();
 int
 main ()
 {
-opendir ();
+return opendir ();
   ;
   return 0;
 }
 _ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+for ac_lib in '' x; do
+  if test -z "$ac_lib"; then
+    ac_res="none required"
+  else
+    ac_res=-l$ac_lib
+    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
+  fi
+  rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_cv_search_opendir="none required"
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
-if test "$ac_cv_search_opendir" = no; then
-  for ac_lib in x; do
-    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
-    cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-/* Override any gcc2 internal prototype to avoid an error.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
-char opendir ();
-int
-main ()
-{
-opendir ();
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-         { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  ac_cv_search_opendir="-l$ac_lib"
-break
+  ac_cv_search_opendir=$ac_res
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
+
 fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
-  done
+
+rm -f core conftest.err conftest.$ac_objext \
+      conftest$ac_exeext
+  if test "${ac_cv_search_opendir+set}" = set; then
+  break
+fi
+done
+if test "${ac_cv_search_opendir+set}" = set; then
+  :
+else
+  ac_cv_search_opendir=no
 fi
+rm conftest.$ac_ext
 LIBS=$ac_func_search_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_search_opendir" >&5
-echo "${ECHO_T}$ac_cv_search_opendir" >&6
-if test "$ac_cv_search_opendir" != no; then
-  test "$ac_cv_search_opendir" = "none required" || LIBS="$ac_cv_search_opendir $LIBS"
+{ echo "$as_me:$LINENO: result: $ac_cv_search_opendir" >&5
+echo "${ECHO_T}$ac_cv_search_opendir" >&6; }
+ac_res=$ac_cv_search_opendir
+if test "$ac_res" != no; then
+  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
 
 fi
 
 for ac_header in stdlib.h string.h unistd.h fcntl.h sys/time.h sys/file.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+              { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 else
   # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -13714,14 +17915,36 @@ $ac_includes_default
 #include <$ac_header>
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -13730,17 +17953,17 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_header_compiler=no
+       ac_header_compiler=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
 
 # Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -13748,8 +17971,13 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
@@ -13758,6 +17986,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
   (exit $ac_status); } >/dev/null; then
   if test -s conftest.err; then
     ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
   else
     ac_cpp_err=
   fi
@@ -13772,52 +18001,46 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
   ac_header_preproc=no
 fi
+
 rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
+echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
 
 # So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc in
-  yes:no )
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+  yes:no: )
     { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to bug-autoconf@gnu.org. ##
-## ------------------------------------ ##
-_ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+    ac_header_preproc=yes
     ;;
-  no:yes )
+  no:yes:* )
     { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
     { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to bug-autoconf@gnu.org. ##
-## ------------------------------------ ##
-_ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+    { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+
     ;;
 esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  eval "$as_ac_Header=$ac_header_preproc"
+  eval "$as_ac_Header=\$ac_header_preproc"
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+              { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 
 fi
 if test `eval echo '${'$as_ac_Header'}'` = yes; then
@@ -13837,20 +18060,20 @@ done
 for ac_header in netinet/in.h netdb.h sys/fcntl.h sys/mnttab.h sys/mntent.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+              { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 else
   # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -13860,14 +18083,36 @@ $ac_includes_default
 #include <$ac_header>
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -13876,17 +18121,17 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_header_compiler=no
+       ac_header_compiler=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
 
 # Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -13894,8 +18139,13 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
@@ -13904,6 +18154,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
   (exit $ac_status); } >/dev/null; then
   if test -s conftest.err; then
     ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
   else
     ac_cpp_err=
   fi
@@ -13918,52 +18169,46 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
   ac_header_preproc=no
 fi
+
 rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
+echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
 
 # So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc in
-  yes:no )
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+  yes:no: )
     { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to bug-autoconf@gnu.org. ##
-## ------------------------------------ ##
-_ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+    ac_header_preproc=yes
     ;;
-  no:yes )
+  no:yes:* )
     { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
     { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to bug-autoconf@gnu.org. ##
-## ------------------------------------ ##
-_ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+    { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+
     ;;
 esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  eval "$as_ac_Header=$ac_header_preproc"
+  eval "$as_ac_Header=\$ac_header_preproc"
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+              { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 
 fi
 if test `eval echo '${'$as_ac_Header'}'` = yes; then
@@ -13983,20 +18228,20 @@ done
 for ac_header in mntent.h sys/vfs.h sys/param.h sys/fs_types.h sys/fstyp.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+              { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 else
   # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -14006,14 +18251,36 @@ $ac_includes_default
 #include <$ac_header>
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -14022,17 +18289,17 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_header_compiler=no
+       ac_header_compiler=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
 
 # Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -14040,8 +18307,13 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
@@ -14050,6 +18322,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
   (exit $ac_status); } >/dev/null; then
   if test -s conftest.err; then
     ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
   else
     ac_cpp_err=
   fi
@@ -14064,52 +18337,46 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
   ac_header_preproc=no
 fi
+
 rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
+echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
 
 # So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc in
-  yes:no )
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+  yes:no: )
     { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to bug-autoconf@gnu.org. ##
-## ------------------------------------ ##
-_ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+    ac_header_preproc=yes
     ;;
-  no:yes )
+  no:yes:* )
     { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
     { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to bug-autoconf@gnu.org. ##
-## ------------------------------------ ##
-_ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+    { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+
     ;;
 esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  eval "$as_ac_Header=$ac_header_preproc"
+  eval "$as_ac_Header=\$ac_header_preproc"
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+              { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 
 fi
 if test `eval echo '${'$as_ac_Header'}'` = yes; then
@@ -14128,20 +18395,20 @@ done
 for ac_header in sys/mount.h strings.h termios.h signal.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+              { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 else
   # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -14151,14 +18418,36 @@ $ac_includes_default
 #include <$ac_header>
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -14167,17 +18456,17 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_header_compiler=no
+       ac_header_compiler=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
 
 # Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -14185,8 +18474,13 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
@@ -14195,6 +18489,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
   (exit $ac_status); } >/dev/null; then
   if test -s conftest.err; then
     ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
   else
     ac_cpp_err=
   fi
@@ -14209,52 +18504,46 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
   ac_header_preproc=no
 fi
+
 rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
+echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
 
 # So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc in
-  yes:no )
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+  yes:no: )
     { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to bug-autoconf@gnu.org. ##
-## ------------------------------------ ##
-_ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+    ac_header_preproc=yes
     ;;
-  no:yes )
+  no:yes:* )
     { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
     { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to bug-autoconf@gnu.org. ##
-## ------------------------------------ ##
-_ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+    { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+
     ;;
 esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  eval "$as_ac_Header=$ac_header_preproc"
+  eval "$as_ac_Header=\$ac_header_preproc"
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+              { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 
 fi
 if test `eval echo '${'$as_ac_Header'}'` = yes; then
@@ -14275,20 +18564,20 @@ done
 for ac_header in windows.h malloc.h winsock2.h direct.h io.h sys/user.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+              { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 else
   # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -14298,14 +18587,36 @@ $ac_includes_default
 #include <$ac_header>
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -14314,17 +18625,17 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_header_compiler=no
+       ac_header_compiler=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
 
 # Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -14332,8 +18643,13 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
@@ -14342,6 +18658,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
   (exit $ac_status); } >/dev/null; then
   if test -s conftest.err; then
     ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
   else
     ac_cpp_err=
   fi
@@ -14356,52 +18673,46 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
   ac_header_preproc=no
 fi
+
 rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
+echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
 
 # So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc in
-  yes:no )
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+  yes:no: )
     { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to bug-autoconf@gnu.org. ##
-## ------------------------------------ ##
-_ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+    ac_header_preproc=yes
     ;;
-  no:yes )
+  no:yes:* )
     { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
     { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to bug-autoconf@gnu.org. ##
-## ------------------------------------ ##
-_ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+    { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+
     ;;
 esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  eval "$as_ac_Header=$ac_header_preproc"
+  eval "$as_ac_Header=\$ac_header_preproc"
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+              { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 
 fi
 if test `eval echo '${'$as_ac_Header'}'` = yes; then
@@ -14421,20 +18732,20 @@ done
 for ac_header in security/pam_modules.h siad.h usersec.h ucontext.h regex.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+              { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 else
   # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -14444,14 +18755,36 @@ $ac_includes_default
 #include <$ac_header>
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -14460,17 +18793,17 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_header_compiler=no
+       ac_header_compiler=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
 
 # Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -14478,8 +18811,13 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
@@ -14488,6 +18826,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
   (exit $ac_status); } >/dev/null; then
   if test -s conftest.err; then
     ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
   else
     ac_cpp_err=
   fi
@@ -14502,52 +18841,46 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
   ac_header_preproc=no
 fi
+
 rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
+echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
 
 # So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc in
-  yes:no )
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+  yes:no: )
     { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to bug-autoconf@gnu.org. ##
-## ------------------------------------ ##
-_ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+    ac_header_preproc=yes
     ;;
-  no:yes )
+  no:yes:* )
     { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
     { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to bug-autoconf@gnu.org. ##
-## ------------------------------------ ##
-_ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+    { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+
     ;;
 esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  eval "$as_ac_Header=$ac_header_preproc"
+  eval "$as_ac_Header=\$ac_header_preproc"
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+              { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 
 fi
 if test `eval echo '${'$as_ac_Header'}'` = yes; then
 for ac_func in utimes random srandom getdtablesize snprintf strlcat strlcpy re_comp re_exec flock
 do
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
+echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
+#define $ac_func innocuous_$ac_func
+
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func (); below.
     Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
     <limits.h> exists even on freestanding compilers.  */
+
 #ifdef __STDC__
 # include <limits.h>
 #else
 # include <assert.h>
 #endif
-/* Override any gcc2 internal prototype to avoid an error.  */
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
-{
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char $ac_func ();
 /* The GNU C library defines this for functions which it implements
     to always fail with ENOSYS.  Some functions are actually named
     something starting with __ and the normal name is an alias.  */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+#if defined __stub_$ac_func || defined __stub___$ac_func
 choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
 #endif
 
 int
 main ()
 {
-return f != $ac_func;
+return $ac_func ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -14653,12 +19009,15 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-eval "$as_ac_var=no"
+       eval "$as_ac_var=no"
 fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+ac_res=`eval echo '${'$as_ac_var'}'`
+              { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 if test `eval echo '${'$as_ac_var'}'` = yes; then
   cat >>confdefs.h <<_ACEOF
 #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
@@ -14677,64 +19036,87 @@ done
 for ac_func in setprogname getprogname sigaction mkstemp vsnprintf strerror strcasestr
 do
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
+echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
+#define $ac_func innocuous_$ac_func
+
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func (); below.
     Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
     <limits.h> exists even on freestanding compilers.  */
+
 #ifdef __STDC__
 # include <limits.h>
 #else
 # include <assert.h>
 #endif
-/* Override any gcc2 internal prototype to avoid an error.  */
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
-{
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char $ac_func ();
 /* The GNU C library defines this for functions which it implements
     to always fail with ENOSYS.  Some functions are actually named
     something starting with __ and the normal name is an alias.  */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+#if defined __stub_$ac_func || defined __stub___$ac_func
 choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
 #endif
 
 int
 main ()
 {
-return f != $ac_func;
+return $ac_func ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -14743,12 +19125,15 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-eval "$as_ac_var=no"
+       eval "$as_ac_var=no"
 fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+ac_res=`eval echo '${'$as_ac_var'}'`
+              { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 if test `eval echo '${'$as_ac_var'}'` = yes; then
   cat >>confdefs.h <<_ACEOF
 #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
@@ -14761,64 +19146,87 @@ done
 for ac_func in setvbuf
 do
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
+echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
+#define $ac_func innocuous_$ac_func
+
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func (); below.
     Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
     <limits.h> exists even on freestanding compilers.  */
+
 #ifdef __STDC__
 # include <limits.h>
 #else
 # include <assert.h>
 #endif
-/* Override any gcc2 internal prototype to avoid an error.  */
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
-{
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char $ac_func ();
 /* The GNU C library defines this for functions which it implements
     to always fail with ENOSYS.  Some functions are actually named
     something starting with __ and the normal name is an alias.  */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+#if defined __stub_$ac_func || defined __stub___$ac_func
 choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
 #endif
 
 int
 main ()
 {
-return f != $ac_func;
+return $ac_func ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -14827,12 +19235,15 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-eval "$as_ac_var=no"
+       eval "$as_ac_var=no"
 fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+ac_res=`eval echo '${'$as_ac_var'}'`
+              { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 if test `eval echo '${'$as_ac_var'}'` = yes; then
   cat >>confdefs.h <<_ACEOF
 #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
@@ -14841,14 +19252,13 @@ _ACEOF
 fi
 done
 
-echo "$as_me:$LINENO: checking whether setvbuf arguments are reversed" >&5
-echo $ECHO_N "checking whether setvbuf arguments are reversed... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking whether setvbuf arguments are reversed" >&5
+echo $ECHO_N "checking whether setvbuf arguments are reversed... $ECHO_C" >&6; }
 if test "${ac_cv_func_setvbuf_reversed+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   ac_cv_func_setvbuf_reversed=no
    cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -14867,19 +19277,40 @@ char buf; return setvbuf (stdout, _IOLBF, &buf, 1);
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -14898,14 +19329,36 @@ char buf; return setvbuf (stdout, &buf, _IOLBF, 1);
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -14916,13 +19369,12 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
   : # Assume setvbuf is not reversed when cross-compiling.
 else
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-#include <stdio.h>
+$ac_includes_default
 int
 main ()
 {
@@ -14931,21 +19383,30 @@ main ()
                   is not _IOLBF, _IONBF, or _IOFBF, and return nonzero.  */
                char buf;
                if (setvbuf (stdout, _IOLBF, &buf, 1) != 0)
-                 exit (1);
+                 return 1;
                putchar ('\r');
-               exit (0); /* Non-reversed systems SEGV here.  */
+               return 0; /* Non-reversed systems SEGV here.  */
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -14955,27 +19416,33 @@ else
 echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-( exit $ac_status )
-rm -f core core.* *.core
 fi
-rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
+
+
        ac_cv_func_setvbuf_reversed=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
+
 fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
+
 fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_func_setvbuf_reversed" >&5
-echo "${ECHO_T}$ac_cv_func_setvbuf_reversed" >&6
+echo "$as_me:$LINENO: result: $ac_cv_func_setvbuf_reversed" >&5
+echo "${ECHO_T}$ac_cv_func_setvbuf_reversed" >&6; }
 if test $ac_cv_func_setvbuf_reversed = yes; then
 
 cat >>confdefs.h <<\_ACEOF
 for ac_func in regcomp regexec regerror
 do
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
+echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
+#define $ac_func innocuous_$ac_func
+
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func (); below.
     Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
     <limits.h> exists even on freestanding compilers.  */
+
 #ifdef __STDC__
 # include <limits.h>
 #else
 # include <assert.h>
 #endif
-/* Override any gcc2 internal prototype to avoid an error.  */
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
-{
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char $ac_func ();
 /* The GNU C library defines this for functions which it implements
     to always fail with ENOSYS.  Some functions are actually named
     something starting with __ and the normal name is an alias.  */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+#if defined __stub_$ac_func || defined __stub___$ac_func
 choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
 #endif
 
 int
 main ()
 {
-return f != $ac_func;
+return $ac_func ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -15056,12 +19546,15 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-eval "$as_ac_var=no"
+       eval "$as_ac_var=no"
 fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+ac_res=`eval echo '${'$as_ac_var'}'`
+              { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 if test `eval echo '${'$as_ac_var'}'` = yes; then
   cat >>confdefs.h <<_ACEOF
 #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
@@ -15070,8 +19563,8 @@ _ACEOF
 fi
 done
 
-echo "$as_me:$LINENO: checking for POSIX regex library" >&5
-echo $ECHO_N "checking for POSIX regex library... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for POSIX regex library" >&5
+echo $ECHO_N "checking for POSIX regex library... $ECHO_C" >&6; }
 if test "$ac_cv_header_regex_h" = "yes" && \
        test "$ac_cv_func_regcomp" = "yes" && \
        test "$ac_cv_func_regexec" = "yes" && \
@@ -15081,46 +19574,68 @@ cat >>confdefs.h <<\_ACEOF
 #define HAVE_POSIX_REGEX 1
 _ACEOF
 
-    echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+    echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
 else
-    echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+    echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
-echo "$as_me:$LINENO: checking for ssize_t" >&5
-echo $ECHO_N "checking for ssize_t... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for ssize_t" >&5
+echo $ECHO_N "checking for ssize_t... $ECHO_C" >&6; }
 if test "${ac_cv_type_ssize_t+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+typedef ssize_t ac__type_new_;
 int
 main ()
 {
-if ((ssize_t *) 0)
+if ((ac__type_new_ *) 0)
   return 0;
-if (sizeof (ssize_t))
+if (sizeof (ac__type_new_))
   return 0;
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -15129,12 +19644,13 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_type_ssize_t=no
+       ac_cv_type_ssize_t=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_type_ssize_t" >&5
-echo "${ECHO_T}$ac_cv_type_ssize_t" >&6
+echo "$as_me:$LINENO: result: $ac_cv_type_ssize_t" >&5
+echo "${ECHO_T}$ac_cv_type_ssize_t" >&6; }
 if test $ac_cv_type_ssize_t = yes; then
   :
 else
@@ -15145,39 +19661,61 @@ _ACEOF
 
 fi
 
-echo "$as_me:$LINENO: checking for long" >&5
-echo $ECHO_N "checking for long... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for long" >&5
+echo $ECHO_N "checking for long... $ECHO_C" >&6; }
 if test "${ac_cv_type_long+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+typedef long ac__type_new_;
 int
 main ()
 {
-if ((long *) 0)
+if ((ac__type_new_ *) 0)
   return 0;
-if (sizeof (long))
+if (sizeof (ac__type_new_))
   return 0;
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -15186,37 +19724,38 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_type_long=no
+       ac_cv_type_long=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_type_long" >&5
-echo "${ECHO_T}$ac_cv_type_long" >&6
+echo "$as_me:$LINENO: result: $ac_cv_type_long" >&5
+echo "${ECHO_T}$ac_cv_type_long" >&6; }
 
-echo "$as_me:$LINENO: checking size of long" >&5
-echo $ECHO_N "checking size of long... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking size of long" >&5
+echo $ECHO_N "checking size of long... $ECHO_C" >&6; }
 if test "${ac_cv_sizeof_long+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   if test "$ac_cv_type_long" = yes; then
-  # The cast to unsigned long works around a bug in the HP C Compiler
+  # The cast to long int works around a bug in the HP C Compiler
   # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
   # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
   # This bug is HP SR number 8606223364.
   if test "$cross_compiling" = yes; then
   # Depending upon the size, compute the lo and hi bounds.
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+                  typedef long ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (long))) >= 0)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)];
 test_array [0] = 0
 
   ;
@@ -15224,31 +19763,53 @@ test_array [0] = 0
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
   ac_lo=0 ac_mid=0
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+                  typedef long ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (long))) <= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -15256,14 +19817,36 @@ test_array [0] = 0
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -15272,31 +19855,32 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo=`expr $ac_mid + 1`
-                    if test $ac_lo -le $ac_mid; then
-                      ac_lo= ac_hi=
-                      break
-                    fi
-                    ac_mid=`expr 2 '*' $ac_mid + 1`
+       ac_lo=`expr $ac_mid + 1`
+                       if test $ac_lo -le $ac_mid; then
+                         ac_lo= ac_hi=
+                         break
+                       fi
+                       ac_mid=`expr 2 '*' $ac_mid + 1`
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   done
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
+       cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+                  typedef long ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (long))) < 0)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)];
 test_array [0] = 0
 
   ;
@@ -15304,31 +19888,53 @@ test_array [0] = 0
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
   ac_hi=-1 ac_mid=-1
   while :; do
     cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+                  typedef long ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (long))) >= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -15336,14 +19942,36 @@ test_array [0] = 0
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -15352,39 +19980,42 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_hi=`expr '(' $ac_mid ')' - 1`
-                       if test $ac_mid -le $ac_hi; then
-                         ac_lo= ac_hi=
-                         break
-                       fi
-                       ac_mid=`expr 2 '*' $ac_mid`
+       ac_hi=`expr '(' $ac_mid ')' - 1`
+                       if test $ac_mid -le $ac_hi; then
+                         ac_lo= ac_hi=
+                         break
+                       fi
+                       ac_mid=`expr 2 '*' $ac_mid`
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   done
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo= ac_hi=
+       ac_lo= ac_hi=
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 # Binary search between lo and hi bounds.
 while test "x$ac_lo" != "x$ac_hi"; do
   ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+                  typedef long ac__type_sizeof_;
 int
 main ()
 {
-static int test_array [1 - 2 * !(((long) (sizeof (long))) <= $ac_mid)];
+static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)];
 test_array [0] = 0
 
   ;
@@ -15392,14 +20023,36 @@ test_array [0] = 0
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -15408,36 +20061,30 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_lo=`expr '(' $ac_mid ')' + 1`
+       ac_lo=`expr '(' $ac_mid ')' + 1`
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 done
 case $ac_lo in
 ?*) ac_cv_sizeof_long=$ac_lo;;
-'') { { echo "$as_me:$LINENO: error: cannot compute sizeof (long), 77
+'') { { echo "$as_me:$LINENO: error: cannot compute sizeof (long)
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (long), 77
+echo "$as_me: error: cannot compute sizeof (long)
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; } ;;
+   { (exit 77); exit 77; }; } ;;
 esac
-else
-  if test "$cross_compiling" = yes; then
-  { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
 else
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
-long longval () { return (long) (sizeof (long)); }
-unsigned long ulongval () { return (long) (sizeof (long)); }
+                  typedef long ac__type_sizeof_;
+static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); }
+static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); }
 #include <stdio.h>
 #include <stdlib.h>
 int
@@ -15446,35 +20093,44 @@ main ()
 
   FILE *f = fopen ("conftest.val", "w");
   if (! f)
-    exit (1);
-  if (((long) (sizeof (long))) < 0)
+    return 1;
+  if (((long int) (sizeof (ac__type_sizeof_))) < 0)
     {
-      long i = longval ();
-      if (i != ((long) (sizeof (long))))
-       exit (1);
+      long int i = longval ();
+      if (i != ((long int) (sizeof (ac__type_sizeof_))))
+       return 1;
       fprintf (f, "%ld\n", i);
     }
   else
     {
-      unsigned long i = ulongval ();
-      if (i != ((long) (sizeof (long))))
-       exit (1);
+      unsigned long int i = ulongval ();
+      if (i != ((long int) (sizeof (ac__type_sizeof_))))
+       return 1;
       fprintf (f, "%lu\n", i);
     }
-  exit (ferror (f) || fclose (f) != 0);
+  return ferror (f) || fclose (f) != 0;
 
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -15485,30 +20141,29 @@ echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
-{ { echo "$as_me:$LINENO: error: cannot compute sizeof (long), 77
+{ { echo "$as_me:$LINENO: error: cannot compute sizeof (long)
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (long), 77
+echo "$as_me: error: cannot compute sizeof (long)
 See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
-fi
-rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+   { (exit 77); exit 77; }; }
 fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
 rm -f conftest.val
 else
   ac_cv_sizeof_long=0
 fi
 fi
-echo "$as_me:$LINENO: result: $ac_cv_sizeof_long" >&5
-echo "${ECHO_T}$ac_cv_sizeof_long" >&6
+echo "$as_me:$LINENO: result: $ac_cv_sizeof_long" >&5
+echo "${ECHO_T}$ac_cv_sizeof_long" >&6; }
 cat >>confdefs.h <<_ACEOF
 #define SIZEOF_LONG $ac_cv_sizeof_long
 _ACEOF
 
 
 
-echo "$as_me:$LINENO: checking size of time_t" >&5
-echo $ECHO_N "checking size of time_t... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking size of time_t" >&5
+echo $ECHO_N "checking size of time_t... $ECHO_C" >&6; }
 if test "${ac_cv_sizeof_time_t+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
@@ -15520,7 +20175,6 @@ See \`config.log' for more details." >&2;}
    { (exit 1); exit 1; }; }
 else
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -15537,13 +20191,22 @@ main()
 }
 _ACEOF
 rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -15556,13 +20219,15 @@ sed 's/^/| /' conftest.$ac_ext >&5
 ( exit $ac_status )
 ac_cv_sizeof_time_t=0
 fi
-rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
 
+
+
 fi
 
-echo "$as_me:$LINENO: result: $ac_cv_sizeof_time_t" >&5
-echo "${ECHO_T}$ac_cv_sizeof_time_t" >&6
+echo "$as_me:$LINENO: result: $ac_cv_sizeof_time_t" >&5
+echo "${ECHO_T}$ac_cv_sizeof_time_t" >&6; }
 cat >>confdefs.h <<_ACEOF
 #define SIZEOF_TIME_T $ac_cv_sizeof_time_t
 _ACEOF
@@ -15572,64 +20237,87 @@ _ACEOF
 for ac_func in timegm
 do
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
+echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
+#define $ac_func innocuous_$ac_func
+
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func (); below.
     Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
     <limits.h> exists even on freestanding compilers.  */
+
 #ifdef __STDC__
 # include <limits.h>
 #else
 # include <assert.h>
 #endif
-/* Override any gcc2 internal prototype to avoid an error.  */
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
-{
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char $ac_func ();
 /* The GNU C library defines this for functions which it implements
     to always fail with ENOSYS.  Some functions are actually named
     something starting with __ and the normal name is an alias.  */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+#if defined __stub_$ac_func || defined __stub___$ac_func
 choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
 #endif
 
 int
 main ()
 {
-return f != $ac_func;
+return $ac_func ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -15638,12 +20326,15 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-eval "$as_ac_var=no"
+       eval "$as_ac_var=no"
 fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+ac_res=`eval echo '${'$as_ac_var'}'`
+              { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 if test `eval echo '${'$as_ac_var'}'` = yes; then
   cat >>confdefs.h <<_ACEOF
 #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
@@ -15656,64 +20347,87 @@ done
 for ac_func in daemon
 do
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
+echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
+#define $ac_func innocuous_$ac_func
+
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func (); below.
     Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
     <limits.h> exists even on freestanding compilers.  */
+
 #ifdef __STDC__
 # include <limits.h>
 #else
 # include <assert.h>
 #endif
-/* Override any gcc2 internal prototype to avoid an error.  */
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
-{
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char $ac_func ();
 /* The GNU C library defines this for functions which it implements
     to always fail with ENOSYS.  Some functions are actually named
     something starting with __ and the normal name is an alias.  */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+#if defined __stub_$ac_func || defined __stub___$ac_func
 choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
 #endif
 
 int
 main ()
 {
-return f != $ac_func;
+return $ac_func ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -15722,12 +20436,15 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-eval "$as_ac_var=no"
+       eval "$as_ac_var=no"
 fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+ac_res=`eval echo '${'$as_ac_var'}'`
+              { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 if test `eval echo '${'$as_ac_var'}'` = yes; then
   cat >>confdefs.h <<_ACEOF
 #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
@@ -15815,8 +20532,8 @@ LWP_OPTMZ=-O
 if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_RANLIB+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 RANLIB=$ac_cv_prog_RANLIB
 if test -n "$RANLIB"; then
-  echo "$as_me:$LINENO: result: $RANLIB" >&5
-echo "${ECHO_T}$RANLIB" >&6
+  echo "$as_me:$LINENO: result: $RANLIB" >&5
+echo "${ECHO_T}$RANLIB" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
+
 fi
 if test -z "$ac_cv_prog_RANLIB"; then
   ac_ct_RANLIB=$RANLIB
   # Extract the first word of "ranlib", so it can be a program name with args.
 set dummy ranlib; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_ac_ct_RANLIB="ranlib"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
-  test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":"
 fi
 fi
 ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
 if test -n "$ac_ct_RANLIB"; then
-  echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
-echo "${ECHO_T}$ac_ct_RANLIB" >&6
+  echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
+echo "${ECHO_T}$ac_ct_RANLIB" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
-  RANLIB=$ac_ct_RANLIB
+  if test "x$ac_ct_RANLIB" = x; then
+    RANLIB=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+    RANLIB=$ac_ct_RANLIB
+  fi
 else
   RANLIB="$ac_cv_prog_RANLIB"
 fi
@@ -15896,8 +20629,8 @@ for ac_prog in as
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_AS+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_AS="$ac_prog"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 AS=$ac_cv_prog_AS
 if test -n "$AS"; then
-  echo "$as_me:$LINENO: result: $AS" >&5
-echo "${ECHO_T}$AS" >&6
+  echo "$as_me:$LINENO: result: $AS" >&5
+echo "${ECHO_T}$AS" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
+
   test -n "$AS" && break
 done
 test -n "$AS" || AS="${am_missing_run}as"
@@ -15937,8 +20672,8 @@ for ac_prog in ar
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_AR+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_AR="$ac_prog"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 AR=$ac_cv_prog_AR
 if test -n "$AR"; then
-  echo "$as_me:$LINENO: result: $AR" >&5
-echo "${ECHO_T}$AR" >&6
+  echo "$as_me:$LINENO: result: $AR" >&5
+echo "${ECHO_T}$AR" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
+
   test -n "$AR" && break
 done
 test -n "$AR" || AR="${am_missing_run}ar"
@@ -15978,8 +20715,8 @@ for ac_prog in mv
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_MV+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_MV="$ac_prog"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 MV=$ac_cv_prog_MV
 if test -n "$MV"; then
-  echo "$as_me:$LINENO: result: $MV" >&5
-echo "${ECHO_T}$MV" >&6
+  echo "$as_me:$LINENO: result: $MV" >&5
+echo "${ECHO_T}$MV" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
+
   test -n "$MV" && break
 done
 test -n "$MV" || MV="${am_missing_run}mv"
@@ -16019,8 +20758,8 @@ for ac_prog in rm
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_RM+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_RM="$ac_prog"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 RM=$ac_cv_prog_RM
 if test -n "$RM"; then
-  echo "$as_me:$LINENO: result: $RM" >&5
-echo "${ECHO_T}$RM" >&6
+  echo "$as_me:$LINENO: result: $RM" >&5
+echo "${ECHO_T}$RM" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
+
   test -n "$RM" && break
 done
 test -n "$RM" || RM="${am_missing_run}rm"
@@ -16060,8 +20801,8 @@ for ac_prog in ld
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_LD+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_LD="$ac_prog"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 LD=$ac_cv_prog_LD
 if test -n "$LD"; then
-  echo "$as_me:$LINENO: result: $LD" >&5
-echo "${ECHO_T}$LD" >&6
+  echo "$as_me:$LINENO: result: $LD" >&5
+echo "${ECHO_T}$LD" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
+
   test -n "$LD" && break
 done
 test -n "$LD" || LD="${am_missing_run}ld"
@@ -16101,8 +20844,8 @@ for ac_prog in cp
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_CP+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_CP="$ac_prog"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 CP=$ac_cv_prog_CP
 if test -n "$CP"; then
-  echo "$as_me:$LINENO: result: $CP" >&5
-echo "${ECHO_T}$CP" >&6
+  echo "$as_me:$LINENO: result: $CP" >&5
+echo "${ECHO_T}$CP" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
+
   test -n "$CP" && break
 done
 test -n "$CP" || CP="${am_missing_run}cp"
@@ -16142,8 +20887,8 @@ for ac_prog in strip
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_STRIP+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_STRIP="$ac_prog"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 STRIP=$ac_cv_prog_STRIP
 if test -n "$STRIP"; then
-  echo "$as_me:$LINENO: result: $STRIP" >&5
-echo "${ECHO_T}$STRIP" >&6
+  echo "$as_me:$LINENO: result: $STRIP" >&5
+echo "${ECHO_T}$STRIP" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
+
   test -n "$STRIP" && break
 done
 test -n "$STRIP" || STRIP="${am_missing_run}strip"
@@ -16183,8 +20930,8 @@ for ac_prog in lorder
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_prog_LORDER+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_LORDER="$ac_prog"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 LORDER=$ac_cv_prog_LORDER
 if test -n "$LORDER"; then
-  echo "$as_me:$LINENO: result: $LORDER" >&5
-echo "${ECHO_T}$LORDER" >&6
+  echo "$as_me:$LINENO: result: $LORDER" >&5
+echo "${ECHO_T}$LORDER" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
+
   test -n "$LORDER" && break
 done
 test -n "$LORDER" || LORDER="${am_missing_run}lorder"
@@ -16638,7 +21387,7 @@ case $AFS_SYSNAME in
                ;;
 
        *_darwin_80)
-               AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework DiskArbitration"
+               AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework DiskArbitration -framework SystemConfiguration -framework IOKit -framework CoreFoundation"
                LEX="lex -l"
                MT_CFLAGS='-DAFS_PTHREAD_ENV -D_REENTRANT ${XCFLAGS} ${ARCHFLAGS}'
                KROOT=
@@ -16651,10 +21400,11 @@ case $AFS_SYSNAME in
                EXTRA_VLIBOBJS="fstab.o"
                SHLIB_LINKER="${MT_CC} -dynamiclib"
                SHLIB_SUFFIX="dylib"
+               RANLIB="ranlib -c"
                ;;
 
        *_darwin_90)
-               AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework DiskArbitration"
+               AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework DiskArbitration -framework SystemConfiguration -framework IOKit -framework CoreFoundation"
                LEX="lex -l"
                MT_CFLAGS='-DAFS_PTHREAD_ENV -D_REENTRANT ${XCFLAGS} ${ARCHFLAGS}'
                KROOT=
@@ -16668,6 +21418,7 @@ case $AFS_SYSNAME in
                EXTRA_VLIBOBJS="fstab.o"
                SHLIB_LINKER="${MT_CC} -dynamiclib"
                SHLIB_SUFFIX="dylib"
+               RANLIB="ranlib -c"
                ;;
 
        ppc_linux*)
@@ -17160,8 +21911,8 @@ esac
 case $AFS_SYSNAME in
        sgi_6*)
 
-echo "$as_me:$LINENO: checking for mem* in sys/systm.h" >&5
-echo $ECHO_N "checking for mem* in sys/systm.h... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for mem* in sys/systm.h" >&5
+echo $ECHO_N "checking for mem* in sys/systm.h... $ECHO_C" >&6; }
 save_CPPFLAGS="$CPPFLAGS"
 CPPFLAGS="$CPPFLAGS -D_KERNEL -D__STRING_H__"
 if test "${ac_cv_irix_sys_systm_h_has_mem_funcs+set}" = set; then
@@ -17169,7 +21920,6 @@ if test "${ac_cv_irix_sys_systm_h_has_mem_funcs+set}" = set; then
 else
 
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -17188,14 +21938,36 @@ extern void     *memcpy(char *, const void *, size_t);
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -17204,9 +21976,10 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_irix_sys_systm_h_has_mem_funcs=yes
+       ac_cv_irix_sys_systm_h_has_mem_funcs=yes
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 
 CPPFLAGS="$save_CPPFLAGS"
@@ -17217,8 +21990,8 @@ cat >>confdefs.h <<\_ACEOF
 _ACEOF
 
 fi
-echo "$as_me:$LINENO: result: $ac_cv_irix_sys_systm_h_has_mem_funcs" >&5
-echo "${ECHO_T}$ac_cv_irix_sys_systm_h_has_mem_funcs" >&6
+echo "$as_me:$LINENO: result: $ac_cv_irix_sys_systm_h_has_mem_funcs" >&5
+echo "${ECHO_T}$ac_cv_irix_sys_systm_h_has_mem_funcs" >&6; }
 
                XFS_SIZE_CHECK="xfs_size_check"
                install_XFS_SIZE_CHECK='$(DESTDIR)${afssrvsbindir}/xfs_size_check'
 
 
 
-# Check whether --with-krb5-conf or --without-krb5-conf was given.
+# Check whether --with-krb5-conf was given.
 if test "${with_krb5_conf+set}" = set; then
-  withval="$with_krb5_conf"
+  withval=$with_krb5_conf;
+fi
 
-fi;
 if test X$with_krb5_conf != X; then
                conf_krb5=YES
                if test X$with_krb5_conf = Xyes; then
                        # Extract the first word of "krb5-config", so it can be a program name with args.
 set dummy krb5-config; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
 if test "${ac_cv_path_KRB5_CONFIG+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_path_KRB5_CONFIG="$as_dir/$ac_word$ac_exec_ext"
     echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
   test -z "$ac_cv_path_KRB5_CONFIG" && ac_cv_path_KRB5_CONFIG="not_found"
   ;;
 esac
 fi
 KRB5_CONFIG=$ac_cv_path_KRB5_CONFIG
-
 if test -n "$KRB5_CONFIG"; then
-  echo "$as_me:$LINENO: result: $KRB5_CONFIG" >&5
-echo "${ECHO_T}$KRB5_CONFIG" >&6
+  echo "$as_me:$LINENO: result: $KRB5_CONFIG" >&5
+echo "${ECHO_T}$KRB5_CONFIG" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
 fi
 
+
                        if test X$KRB5_CONFIG = Xnot_found; then
                                { { echo "$as_me:$LINENO: error: cannot find krb5-config script, you must configure Kerberos manually" >&5
 echo "$as_me: error: cannot find krb5-config script, you must configure Kerberos manually" >&2;}
@@ -17392,18 +22166,18 @@ echo "$as_me: error: $KRB5_CONFIG failed with an error code of $retval" >&2;}
 echo "$as_me: error: $KRB5_CONFIG failed with an error code of $retval" >&2;}
    { (exit 1); exit 1; }; }
                fi
-               echo "$as_me:$LINENO: result: Adding $KRB5CFLAGS to KRB5CFLAGS" >&5
-echo "${ECHO_T}Adding $KRB5CFLAGS to KRB5CFLAGS" >&6
-               echo "$as_me:$LINENO: result: Adding $KRB5LIBS to KRB5LIBS" >&5
-echo "${ECHO_T}Adding $KRB5LIBS to KRB5LIBS" >&6
+               echo "$as_me:$LINENO: result: Adding $KRB5CFLAGS to KRB5CFLAGS" >&5
+echo "${ECHO_T}Adding $KRB5CFLAGS to KRB5CFLAGS" >&6; }
+               echo "$as_me:$LINENO: result: Adding $KRB5LIBS to KRB5LIBS" >&5
+echo "${ECHO_T}Adding $KRB5LIBS to KRB5LIBS" >&6; }
 fi
 
 
-# Check whether --with-krb5 or --without-krb5 was given.
+# Check whether --with-krb5 was given.
 if test "${with_krb5+set}" = set; then
-  withval="$with_krb5"
+  withval=$with_krb5;
+fi
 
-fi;
 
 if test X$with_krb5 = Xyes; then
         if test X$conf_krb5 = XYES; then
@@ -17424,8 +22198,8 @@ fi
 
 BUILD_KRB5=no
 if test X$conf_krb5 = XYES; then
-       echo "$as_me:$LINENO: result: Configuring support for Kerberos 5 utilities" >&5
-echo "${ECHO_T}Configuring support for Kerberos 5 utilities" >&6
+       echo "$as_me:$LINENO: result: Configuring support for Kerberos 5 utilities" >&5
+echo "${ECHO_T}Configuring support for Kerberos 5 utilities" >&6; }
        BUILD_KRB5=yes
        save_CPPFLAGS="$CPPFLAGS"
        CPPFLAGS="$CPPFLAGS $KRB5CFLAGS"
@@ -17435,67 +22209,92 @@ echo "${ECHO_T}Configuring support for Kerberos 5 utilities" >&6
 
 
 
-for ac_func in add_to_error_table add_error_table krb5_princ_size krb5_principal_get_comp_string
+
+
+for ac_func in add_to_error_table add_error_table krb5_princ_size krb5_principal_get_comp_string encode_krb5_enc_tkt_part encode_krb5_ticket
 do
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
+echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
+#define $ac_func innocuous_$ac_func
+
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func (); below.
     Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
     <limits.h> exists even on freestanding compilers.  */
+
 #ifdef __STDC__
 # include <limits.h>
 #else
 # include <assert.h>
 #endif
-/* Override any gcc2 internal prototype to avoid an error.  */
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
-{
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char $ac_func ();
 /* The GNU C library defines this for functions which it implements
     to always fail with ENOSYS.  Some functions are actually named
     something starting with __ and the normal name is an alias.  */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+#if defined __stub_$ac_func || defined __stub___$ac_func
 choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
 #endif
 
 int
 main ()
 {
-return f != $ac_func;
+return $ac_func ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -17504,12 +22303,15 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-eval "$as_ac_var=no"
+       eval "$as_ac_var=no"
 fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+ac_res=`eval echo '${'$as_ac_var'}'`
+              { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 if test `eval echo '${'$as_ac_var'}'` = yes; then
   cat >>confdefs.h <<_ACEOF
 #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
@@ -17522,64 +22324,87 @@ done
 for ac_func in krb5_524_convert_creds
 do
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
+echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
+#define $ac_func innocuous_$ac_func
+
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func (); below.
     Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
     <limits.h> exists even on freestanding compilers.  */
+
 #ifdef __STDC__
 # include <limits.h>
 #else
 # include <assert.h>
 #endif
-/* Override any gcc2 internal prototype to avoid an error.  */
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
-{
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char $ac_func ();
 /* The GNU C library defines this for functions which it implements
     to always fail with ENOSYS.  Some functions are actually named
     something starting with __ and the normal name is an alias.  */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+#if defined __stub_$ac_func || defined __stub___$ac_func
 choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
 #endif
 
 int
 main ()
 {
-return f != $ac_func;
+return $ac_func ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -17588,12 +22413,15 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-eval "$as_ac_var=no"
+       eval "$as_ac_var=no"
 fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+ac_res=`eval echo '${'$as_ac_var'}'`
+              { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 if test `eval echo '${'$as_ac_var'}'` = yes; then
   cat >>confdefs.h <<_ACEOF
 #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
@@ -17604,64 +22432,87 @@ else
 for ac_func in krb524_convert_creds_kdc
 do
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
+echo "$as_me:$LINENO: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
+#define $ac_func innocuous_$ac_func
+
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func (); below.
     Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
     <limits.h> exists even on freestanding compilers.  */
+
 #ifdef __STDC__
 # include <limits.h>
 #else
 # include <assert.h>
 #endif
-/* Override any gcc2 internal prototype to avoid an error.  */
+
+#undef $ac_func
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
-{
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char $ac_func ();
 /* The GNU C library defines this for functions which it implements
     to always fail with ENOSYS.  Some functions are actually named
     something starting with __ and the normal name is an alias.  */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+#if defined __stub_$ac_func || defined __stub___$ac_func
 choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
 #endif
 
 int
 main ()
 {
-return f != $ac_func;
+return $ac_func ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -17670,57 +22521,81 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-eval "$as_ac_var=no"
+       eval "$as_ac_var=no"
 fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+ac_res=`eval echo '${'$as_ac_var'}'`
+              { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 if test `eval echo '${'$as_ac_var'}'` = yes; then
   cat >>confdefs.h <<_ACEOF
 #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
 
 else
-  echo "$as_me:$LINENO: checking for krb524_convert_creds_kdc in -lkrb524" >&5
-echo $ECHO_N "checking for krb524_convert_creds_kdc in -lkrb524... $ECHO_C" >&6
+  echo "$as_me:$LINENO: checking for krb524_convert_creds_kdc in -lkrb524" >&5
+echo $ECHO_N "checking for krb524_convert_creds_kdc in -lkrb524... $ECHO_C" >&6; }
 if test "${ac_cv_lib_krb524_krb524_convert_creds_kdc+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lkrb524  $LIBS"
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char krb524_convert_creds_kdc ();
 int
 main ()
 {
-krb524_convert_creds_kdc ();
+return krb524_convert_creds_kdc ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -17729,13 +22604,15 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_krb524_krb524_convert_creds_kdc=no
+       ac_cv_lib_krb524_krb524_convert_creds_kdc=no
 fi
-rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_krb524_krb524_convert_creds_kdc" >&5
-echo "${ECHO_T}$ac_cv_lib_krb524_krb524_convert_creds_kdc" >&6
+echo "$as_me:$LINENO: result: $ac_cv_lib_krb524_krb524_convert_creds_kdc" >&5
+echo "${ECHO_T}$ac_cv_lib_krb524_krb524_convert_creds_kdc" >&6; }
 if test $ac_cv_lib_krb524_krb524_convert_creds_kdc = yes; then
   LIBS="-lkrb524 $LIBS"
                     KRB5LIBS="-lkrb524 $LIBS"
@@ -17756,20 +22633,20 @@ done
 for ac_header in kerberosIV/krb.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+              { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 else
   # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -17779,14 +22656,36 @@ $ac_includes_default
 #include <$ac_header>
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -17795,17 +22694,17 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_header_compiler=no
+       ac_header_compiler=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
 
 # Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -17813,8 +22712,13 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
@@ -17823,6 +22727,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
   (exit $ac_status); } >/dev/null; then
   if test -s conftest.err; then
     ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
   else
     ac_cpp_err=
   fi
@@ -17837,52 +22742,46 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
   ac_header_preproc=no
 fi
+
 rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
+echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
 
 # So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc in
-  yes:no )
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+  yes:no: )
     { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to bug-autoconf@gnu.org. ##
-## ------------------------------------ ##
-_ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+    ac_header_preproc=yes
     ;;
-  no:yes )
+  no:yes:* )
     { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
     { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to bug-autoconf@gnu.org. ##
-## ------------------------------------ ##
-_ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+    { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+
     ;;
 esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  eval "$as_ac_Header=$ac_header_preproc"
+  eval "$as_ac_Header=\$ac_header_preproc"
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+              { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 
 fi
 if test `eval echo '${'$as_ac_Header'}'` = yes; then
@@ -17898,20 +22797,20 @@ done
 for ac_header in kerberosV/heim_err.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+              { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 else
   # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking $ac_header usability" >&5
+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -17921,14 +22820,36 @@ $ac_includes_default
 #include <$ac_header>
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -17937,17 +22858,17 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_header_compiler=no
+       ac_header_compiler=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
 
 # Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking $ac_header presence" >&5
+echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -17955,8 +22876,13 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
@@ -17965,6 +22891,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
   (exit $ac_status); } >/dev/null; then
   if test -s conftest.err; then
     ac_cpp_err=$ac_c_preproc_warn_flag
+    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
   else
     ac_cpp_err=
   fi
@@ -17979,52 +22906,46 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
   ac_header_preproc=no
 fi
+
 rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
+echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
 
 # So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc in
-  yes:no )
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+  yes:no: )
     { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to bug-autoconf@gnu.org. ##
-## ------------------------------------ ##
-_ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+    ac_header_preproc=yes
     ;;
-  no:yes )
+  no:yes:* )
     { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+    { echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
     { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to bug-autoconf@gnu.org. ##
-## ------------------------------------ ##
-_ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+    { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+
     ;;
 esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
+echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  eval "$as_ac_Header=$ac_header_preproc"
+  eval "$as_ac_Header=\$ac_header_preproc"
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval echo '${'$as_ac_Header'}'`
+              { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
 
 fi
 if test `eval echo '${'$as_ac_Header'}'` = yes; then
 done
 
 
-echo "$as_me:$LINENO: checking for krb5_creds.keyblock existence" >&5
-echo $ECHO_N "checking for krb5_creds.keyblock existence... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for krb5_creds.keyblock existence" >&5
+echo $ECHO_N "checking for krb5_creds.keyblock existence... $ECHO_C" >&6; }
 if test "${ac_cv_krb5_creds_keyblock_exists+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -18061,14 +22981,36 @@ printf("%x\n", _c.keyblock);
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -18077,22 +23019,22 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_krb5_creds_keyblock_exists=no
+       ac_cv_krb5_creds_keyblock_exists=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 
-echo "$as_me:$LINENO: result: $ac_cv_krb5_creds_keyblock_exists" >&5
-echo "${ECHO_T}$ac_cv_krb5_creds_keyblock_exists" >&6
+echo "$as_me:$LINENO: result: $ac_cv_krb5_creds_keyblock_exists" >&5
+echo "${ECHO_T}$ac_cv_krb5_creds_keyblock_exists" >&6; }
 
-echo "$as_me:$LINENO: checking for krb5_creds.session existence" >&5
-echo $ECHO_N "checking for krb5_creds.session existence... $ECHO_C" >&6
+echo "$as_me:$LINENO: checking for krb5_creds.session existence" >&5
+echo $ECHO_N "checking for krb5_creds.session existence... $ECHO_C" >&6; }
 if test "${ac_cv_krb5_creds_session_exists+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
 
 cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -18109,14 +23051,36 @@ printf("%x\n", _c.session);
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+        { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
@@ -18125,13 +23089,14 @@ else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_krb5_creds_session_exists=no
+       ac_cv_krb5_creds_session_exists=no
 fi
-rm -f conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 
-echo "$as_me:$LINENO: result: $ac_cv_krb5_creds_session_exists" >&5
-echo "${ECHO_T}$ac_cv_krb5_creds_session_exists" >&6
+echo "$as_me:$LINENO: result: $ac_cv_krb5_creds_session_exists" >&5
+echo "${ECHO_T}$ac_cv_krb5_creds_session_exists" >&6; }
 
 if test "x$ac_cv_krb5_creds_keyblock_exists" = "xyes"; then
 
@@ -18183,7 +23148,8 @@ mkdir -p ${TOP_OBJDIR}/src/JAVA/libjafs
 
 
 
-                                                  ac_config_files="$ac_config_files Makefile src/config/Makefile.config src/config/Makefile.version:src/config/Makefile.version-NOCML.in src/libafs/Makefile.common src/libafs/Makefile"
+ac_config_files="$ac_config_files Makefile src/config/Makefile.config src/config/Makefile.version:src/config/Makefile.version-NOCML.in src/libafs/Makefile.common src/libafs/Makefile"
+
 cat >confcache <<\_ACEOF
 # This file is a shell script that caches the results of configure
 # tests run on this system so they can be shared between configure
@@ -18202,39 +23168,58 @@ _ACEOF
 
 # The following way of writing the cache mishandles newlines in values,
 # but we know of no workaround that is simple, portable, and efficient.
-# So, don't put newlines in cache variables' values.
+# So, we kill variables containing newlines.
 # Ultrix sh set writes to stderr and can't be redirected directly,
 # and sets the high bit in the cache file unless we assign to the vars.
-{
+(
+  for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
+    eval ac_val=\$$ac_var
+    case $ac_val in #(
+    *${as_nl}*)
+      case $ac_var in #(
+      *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
+echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
+      esac
+      case $ac_var in #(
+      _ | IFS | as_nl) ;; #(
+      *) $as_unset $ac_var ;;
+      esac ;;
+    esac
+  done
+
   (set) 2>&1 |
-    case `(ac_space=' '; set | grep ac_space) 2>&1` in
-    *ac_space=\ *)
+    case $as_nl`(ac_space=' '; set) 2>&1` in #(
+    *${as_nl}ac_space=\ *)
       # `set' does not quote correctly, so add quotes (double-quote
       # substitution turns \\\\ into \\, and sed turns \\ into \).
       sed -n \
-        "s/'/'\\\\''/g;
-         s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
-      ;;
+       "s/'/'\\\\''/g;
+         s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
+      ;; #(
     *)
       # `set' quotes correctly as required by POSIX, so do not add quotes.
-      sed -n \
-        "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
       ;;
-    esac;
-} |
+    esac |
+    sort
+) |
   sed '
+     /^ac_cv_env_/b end
      t clear
-     : clear
+     :clear
      s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
      t end
-     /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
-     : end' >>confcache
-if diff $cache_file confcache >/dev/null 2>&1; then :; else
-  if test -w $cache_file; then
-    test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
+     s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+     :end' >>confcache
+if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
+  if test -w "$cache_file"; then
+    test "x$cache_file" != "x/dev/null" &&
+      { echo "$as_me:$LINENO: updating cache $cache_file" >&5
+echo "$as_me: updating cache $cache_file" >&6;}
     cat confcache >$cache_file
   else
-    echo "not updating unwritable cache $cache_file"
+    { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5
+echo "$as_me: not updating unwritable cache $cache_file" >&6;}
   fi
 fi
 rm -f confcache
@@ -18243,32 +23228,18 @@ test "x$prefix" = xNONE && prefix=$ac_default_prefix
 # Let make expand exec_prefix.
 test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
 
-# VPATH may cause trouble with some makes, so we remove $(srcdir),
-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
-# trailing colons and then remove the whole line if VPATH becomes empty
-# (actually we leave an empty line to preserve line numbers).
-if test "x$srcdir" = x.; then
-  ac_vpsub='/^[        ]*VPATH[        ]*=/{
-s/:*\$(srcdir):*/:/;
-s/:*\${srcdir}:*/:/;
-s/:*@srcdir@:*/:/;
-s/^\([^=]*=[   ]*\):*/\1/;
-s/:*$//;
-s/^[^=]*=[     ]*$//;
-}'
-fi
-
 DEFS=-DHAVE_CONFIG_H
 
 ac_libobjs=
 ac_ltlibobjs=
 for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
   # 1. Remove the extension, and $U if already installed.
-  ac_i=`echo "$ac_i" |
-         sed 's/\$U\././;s/\.o$//;s/\.obj$//'`
-  # 2. Add them.
-  ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext"
-  ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo'
+  ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
+  ac_i=`echo "$ac_i" | sed "$ac_script"`
+  # 2. Prepend LIBOBJDIR.  When used with automake>=1.10 LIBOBJDIR
+  #    will be set to the directory where LIBOBJS objects are built.
+  ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext"
+  ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo'
 done
 LIBOBJS=$ac_libobjs
 
@@ -18320,20 +23291,80 @@ if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
   # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
   # is contrary to our usage.  Disable this feature.
   alias -g '${1+"$@"}'='"$@"'
-elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
-  set -o posix
+  setopt NO_GLOB_SUBST
+else
+  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
+fi
+BIN_SH=xpg4; export BIN_SH # for Tru64
+DUALCASE=1; export DUALCASE # for MKS sh
+
+
+# PATH needs CR
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  echo "#! /bin/sh" >conf$$.sh
+  echo  "exit 0"   >>conf$$.sh
+  chmod +x conf$$.sh
+  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+    PATH_SEPARATOR=';'
+  else
+    PATH_SEPARATOR=:
+  fi
+  rm -f conf$$.sh
 fi
 
 # Support unset when possible.
-if (FOO=FOO; unset FOO) >/dev/null 2>&1; then
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
   as_unset=unset
 else
   as_unset=false
 fi
 
 
+# IFS
+# We need space, tab and new line, in precisely that order.  Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+as_nl='
+'
+IFS=" ""       $as_nl"
+
+# Find who we are.  Look in the path if we contain no directory separator.
+case $0 in
+  *[\\/]* ) as_myself=$0 ;;
+  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+IFS=$as_save_IFS
+
+     ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+  as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+  echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+  { (exit 1); exit 1; }
+fi
+
 # Work around bugs in pre-3.0 UWIN ksh.
-$as_unset ENV MAIL MAILPATH
+for as_var in ENV MAIL MAILPATH
+do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+done
 PS1='$ '
 PS2='> '
 PS4='+ '
@@ -18344,222 +23375,180 @@ for as_var in \
   LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
   LC_TELEPHONE LC_TIME
 do
-  if (set +x; test -n "`(eval $as_var=C; export $as_var) 2>&1`"); then
+  if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
     eval $as_var=C; export $as_var
   else
-    $as_unset $as_var
+    ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
   fi
 done
 
 # Required to use basename.
-if expr a : '\(a\)' >/dev/null 2>&1; then
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+   test "X`expr 00001 : '.*\(...\)'`" = X001; then
   as_expr=expr
 else
   as_expr=false
 fi
 
-if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
-  as_basename=basename
-else
-  as_basename=false
-fi
-
-
-# Name of the executable.
-as_me=`$as_basename "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
-        X"$0" : 'X\(//\)$' \| \
-        X"$0" : 'X\(/\)$' \| \
-        .     : '\(.\)' 2>/dev/null ||
-echo X/"$0" |
-    sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
-         /^X\/\(\/\/\)$/{ s//\1/; q; }
-         /^X\/\(\/\).*/{ s//\1/; q; }
-         s/.*/./; q'`
-
-
-# PATH needs CR, and LINENO needs CR and PATH.
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  echo "#! /bin/sh" >conf$$.sh
-  echo  "exit 0"   >>conf$$.sh
-  chmod +x conf$$.sh
-  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
-    PATH_SEPARATOR=';'
-  else
-    PATH_SEPARATOR=:
-  fi
-  rm -f conf$$.sh
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+  as_basename=basename
+else
+  as_basename=false
 fi
 
 
-  as_lineno_1=$LINENO
-  as_lineno_2=$LINENO
-  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
-  test "x$as_lineno_1" != "x$as_lineno_2" &&
-  test "x$as_lineno_3"  = "x$as_lineno_2"  || {
-  # Find who we are.  Look in the path if we contain no path at all
-  # relative or not.
-  case $0 in
-    *[\\/]* ) as_myself=$0 ;;
-    *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-done
+# Name of the executable.
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+        X"$0" : 'X\(//\)$' \| \
+        X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+echo X/"$0" |
+    sed '/^.*\/\([^/][^/]*\)\/*$/{
+           s//\1/
+           q
+         }
+         /^X\/\(\/\/\)$/{
+           s//\1/
+           q
+         }
+         /^X\/\(\/\).*/{
+           s//\1/
+           q
+         }
+         s/.*/./; q'`
+
+# CDPATH.
+$as_unset CDPATH
+
+
 
-       ;;
-  esac
-  # We did not find ourselves, most probably we were run as `sh COMMAND'
-  # in which case we are not to be found in the path.
-  if test "x$as_myself" = x; then
-    as_myself=$0
-  fi
-  if test ! -f "$as_myself"; then
-    { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5
-echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;}
-   { (exit 1); exit 1; }; }
-  fi
-  case $CONFIG_SHELL in
-  '')
-    as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for as_base in sh bash ksh sh5; do
-        case $as_dir in
-        /*)
-          if ("$as_dir/$as_base" -c '
   as_lineno_1=$LINENO
   as_lineno_2=$LINENO
-  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
   test "x$as_lineno_1" != "x$as_lineno_2" &&
-  test "x$as_lineno_3"  = "x$as_lineno_2" ') 2>/dev/null; then
-            $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
-            $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
-            CONFIG_SHELL=$as_dir/$as_base
-            export CONFIG_SHELL
-            exec "$CONFIG_SHELL" "$0" ${1+"$@"}
-          fi;;
-        esac
-       done
-done
-;;
-  esac
+  test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
 
   # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
   # uniformly replaced by the line number.  The first 'sed' inserts a
-  # line-number line before each line; the second 'sed' does the real
-  # work.  The second script uses 'N' to pair each line-number line
-  # with the numbered line, and appends trailing '-' during
-  # substitution so that $LINENO is not a special case at line end.
+  # line-number line after each line using $LINENO; the second 'sed'
+  # does the real work.  The second script uses 'N' to pair each
+  # line-number line with the line containing $LINENO, and appends
+  # trailing '-' during substitution so that $LINENO is not a special
+  # case at line end.
   # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
-  # second 'sed' script.  Blame Lee E. McMahon for sed's syntax.  :-)
-  sed '=' <$as_myself |
+  # scripts with optimization help from Paolo Bonzini.  Blame Lee
+  # E. McMahon (1931-1989) for sed's syntax.  :-)
+  sed -n '
+    p
+    /[$]LINENO/=
+  ' <$as_myself |
     sed '
+      s/[$]LINENO.*/&-/
+      t lineno
+      b
+      :lineno
       N
-      s,$,-,
-      : loop
-      s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
+      :loop
+      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
       t loop
-      s,-$,,
-      s,^['$as_cr_digits']*\n,,
+      s/-\n.*//
     ' >$as_me.lineno &&
-  chmod +x $as_me.lineno ||
-    { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5
-echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;}
+  chmod +x "$as_me.lineno" ||
+    { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
    { (exit 1); exit 1; }; }
 
   # Don't try to exec as it changes $[0], causing all sort of problems
   # (the dirname of $[0] is not the place where we might find the
-  # original and so on.  Autoconf is especially sensible to this).
-  . ./$as_me.lineno
+  # original and so on.  Autoconf is especially sensitive to this).
+  . "./$as_me.lineno"
   # Exit status is that of the last command.
   exit
 }
 
 
-case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
-  *c*,-n*) ECHO_N= ECHO_C='
-' ECHO_T='     ' ;;
-  *c*,*  ) ECHO_N=-n ECHO_C= ECHO_T= ;;
-  *)       ECHO_N= ECHO_C='\c' ECHO_T= ;;
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+  as_dirname=dirname
+else
+  as_dirname=false
+fi
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in
+-n*)
+  case `echo 'x\c'` in
+  *c*) ECHO_T='        ';;     # ECHO_T is single tab character.
+  *)   ECHO_C='\c';;
+  esac;;
+*)
+  ECHO_N='-n';;
 esac
 
-if expr a : '\(a\)' >/dev/null 2>&1; then
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+   test "X`expr 00001 : '.*\(...\)'`" = X001; then
   as_expr=expr
 else
   as_expr=false
 fi
 
 rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+  rm -f conf$$.dir/conf$$.file
+else
+  rm -f conf$$.dir
+  mkdir conf$$.dir
+fi
 echo >conf$$.file
 if ln -s conf$$.file conf$$ 2>/dev/null; then
-  # We could just check for DJGPP; but this test a) works b) is more generic
-  # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
-  if test -f conf$$.exe; then
-    # Don't use ln at all; we don't have any links
+  as_ln_s='ln -s'
+  # ... but there are two gotchas:
+  # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+  # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+  # In both cases, we have to default to `cp -p'.
+  ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
     as_ln_s='cp -p'
-  else
-    as_ln_s='ln -s'
-  fi
 elif ln conf$$.file conf$$ 2>/dev/null; then
   as_ln_s=ln
 else
   as_ln_s='cp -p'
 fi
-rm -f conf$$ conf$$.exe conf$$.file
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
 
 if mkdir -p . 2>/dev/null; then
   as_mkdir_p=:
 else
+  test -d ./-p && rmdir ./-p
   as_mkdir_p=false
 fi
 
-as_executable_p="test -f"
+# Find out whether ``test -x'' works.  Don't use a zero-byte file, as
+# systems may use methods other than mode bits to determine executability.
+cat >conf$$.file <<_ASEOF
+#! /bin/sh
+exit 0
+_ASEOF
+chmod +x conf$$.file
+if test -x conf$$.file >/dev/null 2>&1; then
+  as_executable_p="test -x"
+else
+  as_executable_p=:
+fi
+rm -f conf$$.file
 
 # Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g"
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
 
 # Sed expression to map a string onto a valid variable name.
-as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g"
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.
-as_nl='
-'
-IFS="  $as_nl"
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
 
-# CDPATH.
-$as_unset CDPATH
 
 exec 6>&1
 
-# Open the log real soon, to keep \$[0] and so on meaningful, and to
+# Save the log message, to keep $[0] and so on meaningful, and to
 # report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling.  Logging --version etc. is OK.
-exec 5>>config.log
-{
-  echo
-  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
-## Running $as_me. ##
-_ASBOX
-} >&5
-cat >&5 <<_CSEOF
-
+# values after options handling.
+ac_log="
 This file was extended by $as_me, which was
-generated by GNU Autoconf 2.57.  Invocation command line was
+generated by GNU Autoconf 2.60.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
   CONFIG_HEADERS  = $CONFIG_HEADERS
@@ -18567,30 +23556,20 @@ generated by GNU Autoconf 2.57.  Invocation command line was
   CONFIG_COMMANDS = $CONFIG_COMMANDS
   $ $0 $@
 
-_CSEOF
-echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5
-echo >&5
+on `(hostname || uname -n) 2>/dev/null | sed 1q`
+"
+
 _ACEOF
 
+cat >>$CONFIG_STATUS <<_ACEOF
 # Files that config.status was made for.
-if test -n "$ac_config_files"; then
-  echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS
-fi
+config_files="$ac_config_files"
+config_headers="$ac_config_headers"
+config_commands="$ac_config_commands"
 
-if test -n "$ac_config_headers"; then
-  echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS
-fi
-
-if test -n "$ac_config_links"; then
-  echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS
-fi
-
-if test -n "$ac_config_commands"; then
-  echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS
-fi
+_ACEOF
 
 cat >>$CONFIG_STATUS <<\_ACEOF
-
 ac_cs_usage="\
 \`$as_me' instantiates files from templates according to the
 current configuration.
@@ -18603,9 +23582,9 @@ Usage: $0 [OPTIONS] [FILE]...
   -d, --debug      don't remove temporary files
       --recheck    update $as_me by reconfiguring in the same conditions
   --file=FILE[:TEMPLATE]
-                   instantiate the configuration file FILE
+                  instantiate the configuration file FILE
   --header=FILE[:TEMPLATE]
-                   instantiate the configuration header FILE
+                  instantiate the configuration header FILE
 
 Configuration files:
 $config_files
@@ -18617,20 +23596,21 @@ Configuration commands:
 $config_commands
 
 Report bugs to <bug-autoconf@gnu.org>."
-_ACEOF
 
+_ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF
 ac_cs_version="\\
 config.status
-configured by $0, generated by GNU Autoconf 2.57,
-  with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
+configured by $0, generated by GNU Autoconf 2.60,
+  with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
 
-Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001
-Free Software Foundation, Inc.
+Copyright (C) 2006 Free Software Foundation, Inc.
 This config.status script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it."
-srcdir=$srcdir
-INSTALL="$INSTALL"
+
+ac_pwd='$ac_pwd'
+srcdir='$srcdir'
+INSTALL='$INSTALL'
 _ACEOF
 
 cat >>$CONFIG_STATUS <<\_ACEOF
@@ -18641,39 +23621,24 @@ while test $# != 0
 do
   case $1 in
   --*=*)
-    ac_option=`expr "x$1" : 'x\([^=]*\)='`
-    ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
+    ac_option=`expr "X$1" : 'X\([^=]*\)='`
+    ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
     ac_shift=:
     ;;
-  -*)
+  *)
     ac_option=$1
     ac_optarg=$2
     ac_shift=shift
     ;;
-  *) # This is not an option, so the user has probably given explicit
-     # arguments.
-     ac_option=$1
-     ac_need_defaults=false;;
   esac
 
   case $ac_option in
   # Handling of the options.
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
   -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
     ac_cs_recheck=: ;;
-  --version | --vers* | -V )
-    echo "$ac_cs_version"; exit 0 ;;
-  --he | --h)
-    # Conflict between --help and --header
-    { { echo "$as_me:$LINENO: error: ambiguous option: $1
-Try \`$0 --help' for more information." >&5
-echo "$as_me: error: ambiguous option: $1
-Try \`$0 --help' for more information." >&2;}
-   { (exit 1); exit 1; }; };;
-  --help | --hel | -h )
-    echo "$ac_cs_usage"; exit 0 ;;
-  --debug | --d* | -d )
+  --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
+    echo "$ac_cs_version"; exit ;;
+  --debug | --debu | --deb | --de | --d | -d )
     debug=: ;;
   --file | --fil | --fi | --f )
     $ac_shift
@@ -18683,18 +23648,24 @@ Try \`$0 --help' for more information." >&2;}
     $ac_shift
     CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg"
     ac_need_defaults=false;;
+  --he | --h)
+    # Conflict between --help and --header
+    { echo "$as_me: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&2
+   { (exit 1); exit 1; }; };;
+  --help | --hel | -h )
+    echo "$ac_cs_usage"; exit ;;
   -q | -quiet | --quiet | --quie | --qui | --qu | --q \
   | -silent | --silent | --silen | --sile | --sil | --si | --s)
     ac_cs_silent=: ;;
 
   # This is an error.
-  -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1
-Try \`$0 --help' for more information." >&5
-echo "$as_me: error: unrecognized option: $1
-Try \`$0 --help' for more information." >&2;}
+  -*) { echo "$as_me: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&2
    { (exit 1); exit 1; }; } ;;
 
-  *) ac_config_targets="$ac_config_targets $1" ;;
+  *) ac_config_targets="$ac_config_targets $1"
+     ac_need_defaults=false ;;
 
   esac
   shift
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF
 if \$ac_cs_recheck; then
-  echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
-  exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+  echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
+  CONFIG_SHELL=$SHELL
+  export CONFIG_SHELL
+  exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
 fi
 
 _ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+exec 5>>config.log
+{
+  echo
+  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
+## Running $as_me. ##
+_ASBOX
+  echo "$ac_log"
+} >&5
 
+_ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF
 #
-# INIT-COMMANDS section.
+# INIT-COMMANDS
 #
-
 AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
 
 _ACEOF
 
-
-
 cat >>$CONFIG_STATUS <<\_ACEOF
+
+# Handling of arguments.
 for ac_config_target in $ac_config_targets
 do
-  case "$ac_config_target" in
-  # Handling of arguments.
-  "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
-  "src/config/Makefile.config" ) CONFIG_FILES="$CONFIG_FILES src/config/Makefile.config" ;;
-  "src/config/Makefile.version" ) CONFIG_FILES="$CONFIG_FILES src/config/Makefile.version:src/config/Makefile.version-NOCML.in" ;;
-  "src/libafs/Makefile.common" ) CONFIG_FILES="$CONFIG_FILES src/libafs/Makefile.common" ;;
-  "src/libafs/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/libafs/Makefile" ;;
-  "depfiles" ) CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
-  "src/config/afsconfig.h" ) CONFIG_HEADERS="$CONFIG_HEADERS src/config/afsconfig.h" ;;
+  case $ac_config_target in
+    "src/config/afsconfig.h") CONFIG_HEADERS="$CONFIG_HEADERS src/config/afsconfig.h" ;;
+    "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
+    "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+    "src/config/Makefile.config") CONFIG_FILES="$CONFIG_FILES src/config/Makefile.config" ;;
+    "src/config/Makefile.version") CONFIG_FILES="$CONFIG_FILES src/config/Makefile.version:src/config/Makefile.version-NOCML.in" ;;
+    "src/libafs/Makefile.common") CONFIG_FILES="$CONFIG_FILES src/libafs/Makefile.common" ;;
+    "src/libafs/Makefile") CONFIG_FILES="$CONFIG_FILES src/libafs/Makefile" ;;
+
   *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
 echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
    { (exit 1); exit 1; }; };;
   esac
 done
 
+
 # If the user did not use the arguments to specify the items to instantiate,
 # then the envvar interface is used.  Set only those that are not.
 # We use the long form for the default assignment because of an extremely
@@ -18756,397 +23739,543 @@ if $ac_need_defaults; then
 fi
 
 # Have a temporary directory for convenience.  Make it in the build tree
-# simply because there is no reason to put it here, and in addition,
+# simply because there is no reason against having it here, and in addition,
 # creating and moving files from /tmp can sometimes cause problems.
-# Create a temporary directory, and hook for its removal unless debugging.
+# Hook for its removal unless debugging.
+# Note that there is a small window in which the directory will not be cleaned:
+# after its creation but before its name has been assigned to `$tmp'.
 $debug ||
 {
-  trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
+  tmp=
+  trap 'exit_status=$?
+  { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
+' 0
   trap '{ (exit 1); exit 1; }' 1 2 13 15
 }
-
 # Create a (secure) tmp directory for tmp files.
 
 {
-  tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` &&
+  tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
   test -n "$tmp" && test -d "$tmp"
 }  ||
 {
-  tmp=./confstat$$-$RANDOM
-  (umask 077 && mkdir $tmp)
+  tmp=./conf$$-$RANDOM
+  (umask 077 && mkdir "$tmp")
 } ||
 {
    echo "$me: cannot create a temporary directory in ." >&2
    { (exit 1); exit 1; }
 }
 
-_ACEOF
-
-cat >>$CONFIG_STATUS <<_ACEOF
-
 #
-# CONFIG_FILES section.
+# Set up the sed scripts for CONFIG_FILES section.
 #
 
 # No need to generate the scripts if there are no CONFIG_FILES.
 # This happens for instance when ./config.status config.h
-if test -n "\$CONFIG_FILES"; then
-  # Protect against being on the right side of a sed subst in config.status.
-  sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g;
-   s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF
-s,@SHELL@,$SHELL,;t t
-s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t
-s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t
-s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t
-s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t
-s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t
-s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t
-s,@exec_prefix@,$exec_prefix,;t t
-s,@prefix@,$prefix,;t t
-s,@program_transform_name@,$program_transform_name,;t t
-s,@bindir@,$bindir,;t t
-s,@sbindir@,$sbindir,;t t
-s,@libexecdir@,$libexecdir,;t t
-s,@datadir@,$datadir,;t t
-s,@sysconfdir@,$sysconfdir,;t t
-s,@sharedstatedir@,$sharedstatedir,;t t
-s,@localstatedir@,$localstatedir,;t t
-s,@libdir@,$libdir,;t t
-s,@includedir@,$includedir,;t t
-s,@oldincludedir@,$oldincludedir,;t t
-s,@infodir@,$infodir,;t t
-s,@mandir@,$mandir,;t t
-s,@build_alias@,$build_alias,;t t
-s,@host_alias@,$host_alias,;t t
-s,@target_alias@,$target_alias,;t t
-s,@DEFS@,$DEFS,;t t
-s,@ECHO_C@,$ECHO_C,;t t
-s,@ECHO_N@,$ECHO_N,;t t
-s,@ECHO_T@,$ECHO_T,;t t
-s,@LIBS@,$LIBS,;t t
-s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t
-s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t
-s,@INSTALL_DATA@,$INSTALL_DATA,;t t
-s,@CYGPATH_W@,$CYGPATH_W,;t t
-s,@PACKAGE@,$PACKAGE,;t t
-s,@VERSION@,$VERSION,;t t
-s,@ACLOCAL@,$ACLOCAL,;t t
-s,@AUTOCONF@,$AUTOCONF,;t t
-s,@AUTOMAKE@,$AUTOMAKE,;t t
-s,@AUTOHEADER@,$AUTOHEADER,;t t
-s,@MAKEINFO@,$MAKEINFO,;t t
-s,@AMTAR@,$AMTAR,;t t
-s,@install_sh@,$install_sh,;t t
-s,@STRIP@,$STRIP,;t t
-s,@ac_ct_STRIP@,$ac_ct_STRIP,;t t
-s,@INSTALL_STRIP_PROGRAM@,$INSTALL_STRIP_PROGRAM,;t t
-s,@AWK@,$AWK,;t t
-s,@SET_MAKE@,$SET_MAKE,;t t
-s,@CC@,$CC,;t t
-s,@CFLAGS@,$CFLAGS,;t t
-s,@LDFLAGS@,$LDFLAGS,;t t
-s,@CPPFLAGS@,$CPPFLAGS,;t t
-s,@ac_ct_CC@,$ac_ct_CC,;t t
-s,@EXEEXT@,$EXEEXT,;t t
-s,@OBJEXT@,$OBJEXT,;t t
-s,@DEPDIR@,$DEPDIR,;t t
-s,@am__include@,$am__include,;t t
-s,@am__quote@,$am__quote,;t t
-s,@AMDEP_TRUE@,$AMDEP_TRUE,;t t
-s,@AMDEP_FALSE@,$AMDEP_FALSE,;t t
-s,@AMDEPBACKSLASH@,$AMDEPBACKSLASH,;t t
-s,@CCDEPMODE@,$CCDEPMODE,;t t
-s,@am__fastdepCC_TRUE@,$am__fastdepCC_TRUE,;t t
-s,@am__fastdepCC_FALSE@,$am__fastdepCC_FALSE,;t t
-s,@build@,$build,;t t
-s,@build_cpu@,$build_cpu,;t t
-s,@build_vendor@,$build_vendor,;t t
-s,@build_os@,$build_os,;t t
-s,@host@,$host,;t t
-s,@host_cpu@,$host_cpu,;t t
-s,@host_vendor@,$host_vendor,;t t
-s,@host_os@,$host_os,;t t
-s,@CPP@,$CPP,;t t
-s,@EGREP@,$EGREP,;t t
-s,@LN_S@,$LN_S,;t t
-s,@RANLIB@,$RANLIB,;t t
-s,@ac_ct_RANLIB@,$ac_ct_RANLIB,;t t
-s,@YACC@,$YACC,;t t
-s,@LEX@,$LEX,;t t
-s,@LEXLIB@,$LEXLIB,;t t
-s,@LEX_OUTPUT_ROOT@,$LEX_OUTPUT_ROOT,;t t
-s,@HEADER_RT@,$HEADER_RT,;t t
-s,@P5PLUS_KOPTS@,$P5PLUS_KOPTS,;t t
-s,@LINUX_GCC_KOPTS@,$LINUX_GCC_KOPTS,;t t
-s,@RHCONFIG_SP@,$RHCONFIG_SP,;t t
-s,@RHCONFIG_MP@,$RHCONFIG_MP,;t t
-s,@MPS@,$MPS,;t t
-s,@PTHREAD_LIBS@,$PTHREAD_LIBS,;t t
-s,@USE_UNIX_SOCKETS@,$USE_UNIX_SOCKETS,;t t
-s,@XBSA_CFLAGS@,$XBSA_CFLAGS,;t t
-s,@HAVE_PAM@,$HAVE_PAM,;t t
-s,@BUILD_LOGIN@,$BUILD_LOGIN,;t t
-s,@afsconfdir@,$afsconfdir,;t t
-s,@viceetcdir@,$viceetcdir,;t t
-s,@afskerneldir@,$afskerneldir,;t t
-s,@afssrvbindir@,$afssrvbindir,;t t
-s,@afssrvsbindir@,$afssrvsbindir,;t t
-s,@afssrvlibexecdir@,$afssrvlibexecdir,;t t
-s,@afsdbdir@,$afsdbdir,;t t
-s,@afslogsdir@,$afslogsdir,;t t
-s,@afslocaldir@,$afslocaldir,;t t
-s,@afsbackupdir@,$afsbackupdir,;t t
-s,@afsbosconfigdir@,$afsbosconfigdir,;t t
-s,@AFS_SYSNAME@,$AFS_SYSNAME,;t t
-s,@AFS_PARAM_COMMON@,$AFS_PARAM_COMMON,;t t
-s,@ENABLE_KERNEL_MODULE@,$ENABLE_KERNEL_MODULE,;t t
-s,@LIB_AFSDB@,$LIB_AFSDB,;t t
-s,@LINUX_KERNEL_PATH@,$LINUX_KERNEL_PATH,;t t
-s,@BSD_KERNEL_PATH@,$BSD_KERNEL_PATH,;t t
-s,@BSD_KERNEL_BUILD@,$BSD_KERNEL_BUILD,;t t
-s,@LINUX_VERSION@,$LINUX_VERSION,;t t
-s,@MKAFS_OSTYPE@,$MKAFS_OSTYPE,;t t
-s,@TOP_OBJDIR@,$TOP_OBJDIR,;t t
-s,@TOP_SRCDIR@,$TOP_SRCDIR,;t t
-s,@TOP_INCDIR@,$TOP_INCDIR,;t t
-s,@TOP_LIBDIR@,$TOP_LIBDIR,;t t
-s,@DEST@,$DEST,;t t
-s,@WITH_OBSOLETE@,$WITH_OBSOLETE,;t t
-s,@DARWIN_INFOFILE@,$DARWIN_INFOFILE,;t t
-s,@IRIX_BUILD_IP35@,$IRIX_BUILD_IP35,;t t
-s,@AS@,$AS,;t t
-s,@AR@,$AR,;t t
-s,@MV@,$MV,;t t
-s,@RM@,$RM,;t t
-s,@LD@,$LD,;t t
-s,@CP@,$CP,;t t
-s,@LORDER@,$LORDER,;t t
-s,@XFS_SIZE_CHECK@,$XFS_SIZE_CHECK,;t t
-s,@install_XFS_SIZE_CHECK@,$install_XFS_SIZE_CHECK,;t t
-s,@dest_XFS_SIZE_CHECK@,$dest_XFS_SIZE_CHECK,;t t
-s,@FS_CONV_SOL26@,$FS_CONV_SOL26,;t t
-s,@install_FS_CONV_SOL26@,$install_FS_CONV_SOL26,;t t
-s,@dest_FS_CONV_SOL26@,$dest_FS_CONV_SOL26,;t t
-s,@FS_CONV_OSF40D@,$FS_CONV_OSF40D,;t t
-s,@install_FS_CONV_OSF40D@,$install_FS_CONV_OSF40D,;t t
-s,@dest_FS_CONV_OSF40D@,$dest_FS_CONV_OSF40D,;t t
-s,@CCXPG2@,$CCXPG2,;t t
-s,@CCOBJ@,$CCOBJ,;t t
-s,@AFSD_LIBS@,$AFSD_LIBS,;t t
-s,@AFSD_LDFLAGS@,$AFSD_LDFLAGS,;t t
-s,@AIX64@,$AIX64,;t t
-s,@DBG@,$DBG,;t t
-s,@FSINCLUDES@,$FSINCLUDES,;t t
-s,@KERN_DBG@,$KERN_DBG,;t t
-s,@KERN_OPTMZ@,$KERN_OPTMZ,;t t
-s,@LWP_DBG@,$LWP_DBG,;t t
-s,@LWP_OPTMZ@,$LWP_OPTMZ,;t t
-s,@MT_CC@,$MT_CC,;t t
-s,@MT_CFLAGS@,$MT_CFLAGS,;t t
-s,@MT_LIBS@,$MT_LIBS,;t t
-s,@OPTMZ@,$OPTMZ,;t t
-s,@PAM_CFLAGS@,$PAM_CFLAGS,;t t
-s,@PAM_LIBS@,$PAM_LIBS,;t t
-s,@PINSTALL_LIBS@,$PINSTALL_LIBS,;t t
-s,@REGEX_OBJ@,$REGEX_OBJ,;t t
-s,@SHLIB_CFLAGS@,$SHLIB_CFLAGS,;t t
-s,@SHLIB_LDFLAGS@,$SHLIB_LDFLAGS,;t t
-s,@SHLIB_LINKER@,$SHLIB_LINKER,;t t
-s,@SHLIB_SUFFIX@,$SHLIB_SUFFIX,;t t
-s,@TXLIBS@,$TXLIBS,;t t
-s,@VFSCK_CFLAGS@,$VFSCK_CFLAGS,;t t
-s,@XCFLAGS@,$XCFLAGS,;t t
-s,@XCFLAGS64@,$XCFLAGS64,;t t
-s,@XLDFLAGS@,$XLDFLAGS,;t t
-s,@XLDFLAGS64@,$XLDFLAGS64,;t t
-s,@XLIBELFA@,$XLIBELFA,;t t
-s,@XLIBKVM@,$XLIBKVM,;t t
-s,@XLIBS@,$XLIBS,;t t
-s,@KRB5_CONFIG@,$KRB5_CONFIG,;t t
-s,@BUILD_KRB5@,$BUILD_KRB5,;t t
-s,@KRB5CFLAGS@,$KRB5CFLAGS,;t t
-s,@KRB5LIBS@,$KRB5LIBS,;t t
-s,@HELPER_SPLINT@,$HELPER_SPLINT,;t t
-s,@HELPER_SPLINTCFG@,$HELPER_SPLINTCFG,;t t
-s,@LIBOBJS@,$LIBOBJS,;t t
-s,@LTLIBOBJS@,$LTLIBOBJS,;t t
-CEOF
-
-_ACEOF
-
-  cat >>$CONFIG_STATUS <<\_ACEOF
-  # Split the substitutions into bite-sized pieces for seds with
-  # small command number limits, like on Digital OSF/1 and HP-UX.
-  ac_max_sed_lines=48
-  ac_sed_frag=1 # Number of current file.
-  ac_beg=1 # First line for current file.
-  ac_end=$ac_max_sed_lines # Line after last line for current file.
-  ac_more_lines=:
-  ac_sed_cmds=
-  while $ac_more_lines; do
-    if test $ac_beg -gt 1; then
-      sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
-    else
-      sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
-    fi
-    if test ! -s $tmp/subs.frag; then
-      ac_more_lines=false
-    else
-      # The purpose of the label and of the branching condition is to
-      # speed up the sed processing (if there are no `@' at all, there
-      # is no need to browse any of the substitutions).
-      # These are the two extra sed commands mentioned above.
-      (echo ':t
-  /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
-      if test -z "$ac_sed_cmds"; then
-       ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
-      else
-       ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
-      fi
-      ac_sed_frag=`expr $ac_sed_frag + 1`
-      ac_beg=$ac_end
-      ac_end=`expr $ac_end + $ac_max_sed_lines`
-    fi
-  done
-  if test -z "$ac_sed_cmds"; then
-    ac_sed_cmds=cat
+if test -n "$CONFIG_FILES"; then
+
+_ACEOF
+
+
+
+ac_delim='%!_!# '
+for ac_last_try in false false false false false :; do
+  cat >conf$$subs.sed <<_ACEOF
+SHELL!$SHELL$ac_delim
+PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim
+PACKAGE_NAME!$PACKAGE_NAME$ac_delim
+PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim
+PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim
+PACKAGE_STRING!$PACKAGE_STRING$ac_delim
+PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim
+exec_prefix!$exec_prefix$ac_delim
+prefix!$prefix$ac_delim
+program_transform_name!$program_transform_name$ac_delim
+bindir!$bindir$ac_delim
+sbindir!$sbindir$ac_delim
+libexecdir!$libexecdir$ac_delim
+datarootdir!$datarootdir$ac_delim
+datadir!$datadir$ac_delim
+sysconfdir!$sysconfdir$ac_delim
+sharedstatedir!$sharedstatedir$ac_delim
+localstatedir!$localstatedir$ac_delim
+includedir!$includedir$ac_delim
+oldincludedir!$oldincludedir$ac_delim
+docdir!$docdir$ac_delim
+infodir!$infodir$ac_delim
+htmldir!$htmldir$ac_delim
+dvidir!$dvidir$ac_delim
+pdfdir!$pdfdir$ac_delim
+psdir!$psdir$ac_delim
+libdir!$libdir$ac_delim
+localedir!$localedir$ac_delim
+mandir!$mandir$ac_delim
+DEFS!$DEFS$ac_delim
+ECHO_C!$ECHO_C$ac_delim
+ECHO_N!$ECHO_N$ac_delim
+ECHO_T!$ECHO_T$ac_delim
+LIBS!$LIBS$ac_delim
+build_alias!$build_alias$ac_delim
+host_alias!$host_alias$ac_delim
+target_alias!$target_alias$ac_delim
+INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim
+INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim
+INSTALL_DATA!$INSTALL_DATA$ac_delim
+CYGPATH_W!$CYGPATH_W$ac_delim
+PACKAGE!$PACKAGE$ac_delim
+VERSION!$VERSION$ac_delim
+ACLOCAL!$ACLOCAL$ac_delim
+AUTOCONF!$AUTOCONF$ac_delim
+AUTOMAKE!$AUTOMAKE$ac_delim
+AUTOHEADER!$AUTOHEADER$ac_delim
+MAKEINFO!$MAKEINFO$ac_delim
+install_sh!$install_sh$ac_delim
+STRIP!$STRIP$ac_delim
+INSTALL_STRIP_PROGRAM!$INSTALL_STRIP_PROGRAM$ac_delim
+mkdir_p!$mkdir_p$ac_delim
+AWK!$AWK$ac_delim
+SET_MAKE!$SET_MAKE$ac_delim
+am__leading_dot!$am__leading_dot$ac_delim
+AMTAR!$AMTAR$ac_delim
+am__tar!$am__tar$ac_delim
+am__untar!$am__untar$ac_delim
+MACOS_VERSION!$MACOS_VERSION$ac_delim
+CC!$CC$ac_delim
+CFLAGS!$CFLAGS$ac_delim
+LDFLAGS!$LDFLAGS$ac_delim
+CPPFLAGS!$CPPFLAGS$ac_delim
+ac_ct_CC!$ac_ct_CC$ac_delim
+EXEEXT!$EXEEXT$ac_delim
+OBJEXT!$OBJEXT$ac_delim
+DEPDIR!$DEPDIR$ac_delim
+am__include!$am__include$ac_delim
+am__quote!$am__quote$ac_delim
+AMDEP_TRUE!$AMDEP_TRUE$ac_delim
+AMDEP_FALSE!$AMDEP_FALSE$ac_delim
+AMDEPBACKSLASH!$AMDEPBACKSLASH$ac_delim
+CCDEPMODE!$CCDEPMODE$ac_delim
+am__fastdepCC_TRUE!$am__fastdepCC_TRUE$ac_delim
+am__fastdepCC_FALSE!$am__fastdepCC_FALSE$ac_delim
+build!$build$ac_delim
+build_cpu!$build_cpu$ac_delim
+build_vendor!$build_vendor$ac_delim
+build_os!$build_os$ac_delim
+host!$host$ac_delim
+host_cpu!$host_cpu$ac_delim
+host_vendor!$host_vendor$ac_delim
+host_os!$host_os$ac_delim
+CPP!$CPP$ac_delim
+GREP!$GREP$ac_delim
+EGREP!$EGREP$ac_delim
+LN_S!$LN_S$ac_delim
+RANLIB!$RANLIB$ac_delim
+YACC!$YACC$ac_delim
+YFLAGS!$YFLAGS$ac_delim
+LEX!$LEX$ac_delim
+LEXLIB!$LEXLIB$ac_delim
+LEX_OUTPUT_ROOT!$LEX_OUTPUT_ROOT$ac_delim
+HEADER_RT!$HEADER_RT$ac_delim
+P5PLUS_KOPTS!$P5PLUS_KOPTS$ac_delim
+LINUX_GCC_KOPTS!$LINUX_GCC_KOPTS$ac_delim
+RHCONFIG_SP!$RHCONFIG_SP$ac_delim
+_ACEOF
+
+  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
+    break
+  elif $ac_last_try; then
+    { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
+   { (exit 1); exit 1; }; }
+  else
+    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
-fi # test -n "$CONFIG_FILES"
+done
+
+ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed`
+if test -n "$ac_eof"; then
+  ac_eof=`echo "$ac_eof" | sort -nru | sed 1q`
+  ac_eof=`expr $ac_eof + 1`
+fi
+
+cat >>$CONFIG_STATUS <<_ACEOF
+cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+_ACEOF
+sed '
+s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g
+s/^/s,@/; s/!/@,|#_!!_#|/
+:n
+t n
+s/'"$ac_delim"'$/,g/; t
+s/$/\\/; p
+N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n
+' >>$CONFIG_STATUS <conf$$subs.sed
+rm -f conf$$subs.sed
+cat >>$CONFIG_STATUS <<_ACEOF
+CEOF$ac_eof
+_ACEOF
+
+
+ac_delim='%!_!# '
+for ac_last_try in false false false false false :; do
+  cat >conf$$subs.sed <<_ACEOF
+RHCONFIG_MP!$RHCONFIG_MP$ac_delim
+MPS!$MPS$ac_delim
+PTHREAD_LIBS!$PTHREAD_LIBS$ac_delim
+USE_UNIX_SOCKETS!$USE_UNIX_SOCKETS$ac_delim
+XBSA_CFLAGS!$XBSA_CFLAGS$ac_delim
+HAVE_PAM!$HAVE_PAM$ac_delim
+BUILD_LOGIN!$BUILD_LOGIN$ac_delim
+afsconfdir!$afsconfdir$ac_delim
+viceetcdir!$viceetcdir$ac_delim
+afskerneldir!$afskerneldir$ac_delim
+afssrvbindir!$afssrvbindir$ac_delim
+afssrvsbindir!$afssrvsbindir$ac_delim
+afssrvlibexecdir!$afssrvlibexecdir$ac_delim
+afsdbdir!$afsdbdir$ac_delim
+afslogsdir!$afslogsdir$ac_delim
+afslocaldir!$afslocaldir$ac_delim
+afsbackupdir!$afsbackupdir$ac_delim
+afsbosconfigdir!$afsbosconfigdir$ac_delim
+AFS_SYSNAME!$AFS_SYSNAME$ac_delim
+AFS_PARAM_COMMON!$AFS_PARAM_COMMON$ac_delim
+ENABLE_KERNEL_MODULE!$ENABLE_KERNEL_MODULE$ac_delim
+LIB_AFSDB!$LIB_AFSDB$ac_delim
+LINUX_KERNEL_PATH!$LINUX_KERNEL_PATH$ac_delim
+BSD_KERNEL_PATH!$BSD_KERNEL_PATH$ac_delim
+BSD_KERNEL_BUILD!$BSD_KERNEL_BUILD$ac_delim
+LINUX_VERSION!$LINUX_VERSION$ac_delim
+MKAFS_OSTYPE!$MKAFS_OSTYPE$ac_delim
+TOP_OBJDIR!$TOP_OBJDIR$ac_delim
+TOP_SRCDIR!$TOP_SRCDIR$ac_delim
+TOP_INCDIR!$TOP_INCDIR$ac_delim
+TOP_LIBDIR!$TOP_LIBDIR$ac_delim
+DEST!$DEST$ac_delim
+WITH_OBSOLETE!$WITH_OBSOLETE$ac_delim
+DARWIN_INFOFILE!$DARWIN_INFOFILE$ac_delim
+IRIX_BUILD_IP35!$IRIX_BUILD_IP35$ac_delim
+AS!$AS$ac_delim
+AR!$AR$ac_delim
+MV!$MV$ac_delim
+RM!$RM$ac_delim
+LD!$LD$ac_delim
+CP!$CP$ac_delim
+LORDER!$LORDER$ac_delim
+XFS_SIZE_CHECK!$XFS_SIZE_CHECK$ac_delim
+install_XFS_SIZE_CHECK!$install_XFS_SIZE_CHECK$ac_delim
+dest_XFS_SIZE_CHECK!$dest_XFS_SIZE_CHECK$ac_delim
+FS_CONV_SOL26!$FS_CONV_SOL26$ac_delim
+install_FS_CONV_SOL26!$install_FS_CONV_SOL26$ac_delim
+dest_FS_CONV_SOL26!$dest_FS_CONV_SOL26$ac_delim
+FS_CONV_OSF40D!$FS_CONV_OSF40D$ac_delim
+install_FS_CONV_OSF40D!$install_FS_CONV_OSF40D$ac_delim
+dest_FS_CONV_OSF40D!$dest_FS_CONV_OSF40D$ac_delim
+CCXPG2!$CCXPG2$ac_delim
+CCOBJ!$CCOBJ$ac_delim
+AFSD_LIBS!$AFSD_LIBS$ac_delim
+AFSD_LDFLAGS!$AFSD_LDFLAGS$ac_delim
+AIX64!$AIX64$ac_delim
+DBG!$DBG$ac_delim
+FSINCLUDES!$FSINCLUDES$ac_delim
+KERN_DBG!$KERN_DBG$ac_delim
+KERN_OPTMZ!$KERN_OPTMZ$ac_delim
+LWP_DBG!$LWP_DBG$ac_delim
+LWP_OPTMZ!$LWP_OPTMZ$ac_delim
+MT_CC!$MT_CC$ac_delim
+MT_CFLAGS!$MT_CFLAGS$ac_delim
+MT_LIBS!$MT_LIBS$ac_delim
+OPTMZ!$OPTMZ$ac_delim
+PAM_CFLAGS!$PAM_CFLAGS$ac_delim
+PAM_LIBS!$PAM_LIBS$ac_delim
+PINSTALL_LIBS!$PINSTALL_LIBS$ac_delim
+REGEX_OBJ!$REGEX_OBJ$ac_delim
+SHLIB_CFLAGS!$SHLIB_CFLAGS$ac_delim
+SHLIB_LDFLAGS!$SHLIB_LDFLAGS$ac_delim
+SHLIB_LINKER!$SHLIB_LINKER$ac_delim
+SHLIB_SUFFIX!$SHLIB_SUFFIX$ac_delim
+TXLIBS!$TXLIBS$ac_delim
+VFSCK_CFLAGS!$VFSCK_CFLAGS$ac_delim
+XCFLAGS!$XCFLAGS$ac_delim
+XCFLAGS64!$XCFLAGS64$ac_delim
+XLDFLAGS!$XLDFLAGS$ac_delim
+XLDFLAGS64!$XLDFLAGS64$ac_delim
+XLIBELFA!$XLIBELFA$ac_delim
+XLIBKVM!$XLIBKVM$ac_delim
+XLIBS!$XLIBS$ac_delim
+KRB5_CONFIG!$KRB5_CONFIG$ac_delim
+BUILD_KRB5!$BUILD_KRB5$ac_delim
+KRB5CFLAGS!$KRB5CFLAGS$ac_delim
+KRB5LIBS!$KRB5LIBS$ac_delim
+HELPER_SPLINT!$HELPER_SPLINT$ac_delim
+HELPER_SPLINTCFG!$HELPER_SPLINTCFG$ac_delim
+LIBOBJS!$LIBOBJS$ac_delim
+LTLIBOBJS!$LTLIBOBJS$ac_delim
+_ACEOF
+
+  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 91; then
+    break
+  elif $ac_last_try; then
+    { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
+   { (exit 1); exit 1; }; }
+  else
+    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+  fi
+done
+
+ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed`
+if test -n "$ac_eof"; then
+  ac_eof=`echo "$ac_eof" | sort -nru | sed 1q`
+  ac_eof=`expr $ac_eof + 1`
+fi
 
+cat >>$CONFIG_STATUS <<_ACEOF
+cat >"\$tmp/subs-2.sed" <<\CEOF$ac_eof
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end
+_ACEOF
+sed '
+s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g
+s/^/s,@/; s/!/@,|#_!!_#|/
+:n
+t n
+s/'"$ac_delim"'$/,g/; t
+s/$/\\/; p
+N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n
+' >>$CONFIG_STATUS <conf$$subs.sed
+rm -f conf$$subs.sed
+cat >>$CONFIG_STATUS <<_ACEOF
+:end
+s/|#_!!_#|//g
+CEOF$ac_eof
 _ACEOF
+
+
+# VPATH may cause trouble with some makes, so we remove $(srcdir),
+# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+  ac_vpsub='/^[         ]*VPATH[        ]*=/{
+s/:*\$(srcdir):*/:/
+s/:*\${srcdir}:*/:/
+s/:*@srcdir@:*/:/
+s/^\([^=]*=[    ]*\):*/\1/
+s/:*$//
+s/^[^=]*=[      ]*$//
+}'
+fi
+
 cat >>$CONFIG_STATUS <<\_ACEOF
-for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
-  # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
-  case $ac_file in
-  - | *:- | *:-:* ) # input from stdin
-        cat >$tmp/stdin
-        ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
-        ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
-  *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
-        ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
-  * )   ac_file_in=$ac_file.in ;;
+fi # test -n "$CONFIG_FILES"
+
+
+for ac_tag in  :F $CONFIG_FILES  :H $CONFIG_HEADERS    :C $CONFIG_COMMANDS
+do
+  case $ac_tag in
+  :[FHLC]) ac_mode=$ac_tag; continue;;
+  esac
+  case $ac_mode$ac_tag in
+  :[FHL]*:*);;
+  :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5
+echo "$as_me: error: Invalid tag $ac_tag." >&2;}
+   { (exit 1); exit 1; }; };;
+  :[FH]-) ac_tag=-:-;;
+  :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
+  esac
+  ac_save_IFS=$IFS
+  IFS=:
+  set x $ac_tag
+  IFS=$ac_save_IFS
+  shift
+  ac_file=$1
+  shift
+
+  case $ac_mode in
+  :L) ac_source=$1;;
+  :[FH])
+    ac_file_inputs=
+    for ac_f
+    do
+      case $ac_f in
+      -) ac_f="$tmp/stdin";;
+      *) # Look for the file first in the build tree, then in the source tree
+        # (if the path is not absolute).  The absolute path cannot be DOS-style,
+        # because $ac_f cannot contain `:'.
+        test -f "$ac_f" ||
+          case $ac_f in
+          [\\/$]*) false;;
+          *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
+          esac ||
+          { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5
+echo "$as_me: error: cannot find input file: $ac_f" >&2;}
+   { (exit 1); exit 1; }; };;
+      esac
+      ac_file_inputs="$ac_file_inputs $ac_f"
+    done
+
+    # Let's still pretend it is `configure' which instantiates (i.e., don't
+    # use $as_me), people would be surprised to read:
+    #    /* config.h.  Generated by config.status.  */
+    configure_input="Generated from "`IFS=:
+         echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure."
+    if test x"$ac_file" != x-; then
+      configure_input="$ac_file.  $configure_input"
+      { echo "$as_me:$LINENO: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+    fi
+
+    case $ac_tag in
+    *:-:* | *:-) cat >"$tmp/stdin";;
+    esac
+    ;;
   esac
 
-  # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
-  ac_dir=`(dirname "$ac_file") 2>/dev/null ||
+  ac_dir=`$as_dirname -- "$ac_file" ||
 $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-         X"$ac_file" : 'X\(//\)[^/]' \| \
-         X"$ac_file" : 'X\(//\)$' \| \
-         X"$ac_file" : 'X\(/\)' \| \
-         .     : '\(.\)' 2>/dev/null ||
+        X"$ac_file" : 'X\(//\)[^/]' \| \
+        X"$ac_file" : 'X\(//\)$' \| \
+        X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
 echo X"$ac_file" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
-         /^X\(\/\/\)[^/].*/{ s//\1/; q; }
-         /^X\(\/\/\)$/{ s//\1/; q; }
-         /^X\(\/\).*/{ s//\1/; q; }
-         s/.*/./; q'`
-  { if $as_mkdir_p; then
-    mkdir -p "$ac_dir"
-  else
-    as_dir="$ac_dir"
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)[^/].*/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\).*/{
+           s//\1/
+           q
+         }
+         s/.*/./; q'`
+  { as_dir="$ac_dir"
+  case $as_dir in #(
+  -*) as_dir=./$as_dir;;
+  esac
+  test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
     as_dirs=
-    while test ! -d "$as_dir"; do
-      as_dirs="$as_dir $as_dirs"
-      as_dir=`(dirname "$as_dir") 2>/dev/null ||
+    while :; do
+      case $as_dir in #(
+      *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #(
+      *) as_qdir=$as_dir;;
+      esac
+      as_dirs="'$as_qdir' $as_dirs"
+      as_dir=`$as_dirname -- "$as_dir" ||
 $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-         X"$as_dir" : 'X\(//\)[^/]' \| \
-         X"$as_dir" : 'X\(//\)$' \| \
-         X"$as_dir" : 'X\(/\)' \| \
-         .     : '\(.\)' 2>/dev/null ||
+        X"$as_dir" : 'X\(//\)[^/]' \| \
+        X"$as_dir" : 'X\(//\)$' \| \
+        X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
 echo X"$as_dir" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
-         /^X\(\/\/\)[^/].*/{ s//\1/; q; }
-         /^X\(\/\/\)$/{ s//\1/; q; }
-         /^X\(\/\).*/{ s//\1/; q; }
-         s/.*/./; q'`
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)[^/].*/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\).*/{
+           s//\1/
+           q
+         }
+         s/.*/./; q'`
+      test -d "$as_dir" && break
     done
-    test ! -n "$as_dirs" || mkdir $as_dirs
-  fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
-echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
+    test -z "$as_dirs" || eval "mkdir $as_dirs"
+  } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
+echo "$as_me: error: cannot create directory $as_dir" >&2;}
    { (exit 1); exit 1; }; }; }
-
   ac_builddir=.
 
-if test "$ac_dir" != .; then
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
   ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
-  # A "../" for each directory in $ac_dir_suffix.
-  ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
-else
-  ac_dir_suffix= ac_top_builddir=
-fi
+  # A ".." for each directory in $ac_dir_suffix.
+  ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
+  case $ac_top_builddir_sub in
+  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+  esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
 
 case $srcdir in
-  .)  # No --srcdir option.  We are building in place.
+  .)  # We are building in place.
     ac_srcdir=.
-    if test -z "$ac_top_builddir"; then
-       ac_top_srcdir=.
-    else
-       ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
-    fi ;;
-  [\\/]* | ?:[\\/]* )  # Absolute path.
+    ac_top_srcdir=$ac_top_builddir_sub
+    ac_abs_top_srcdir=$ac_pwd ;;
+  [\\/]* | ?:[\\/]* )  # Absolute name.
     ac_srcdir=$srcdir$ac_dir_suffix;
-    ac_top_srcdir=$srcdir ;;
-  *) # Relative path.
-    ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
-    ac_top_srcdir=$ac_top_builddir$srcdir ;;
+    ac_top_srcdir=$srcdir
+    ac_abs_top_srcdir=$srcdir ;;
+  *) # Relative name.
+    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+    ac_top_srcdir=$ac_top_build_prefix$srcdir
+    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
 esac
-# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be
-# absolute.
-ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd`
-ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd`
-ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd`
-ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd`
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
 
 
+  case $ac_mode in
+  :F)
+  #
+  # CONFIG_FILE
+  #
+
   case $INSTALL in
   [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
-  *) ac_INSTALL=$ac_top_builddir$INSTALL ;;
+  *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
   esac
+_ACEOF
 
-  if test x"$ac_file" != x-; then
-    { echo "$as_me:$LINENO: creating $ac_file" >&5
-echo "$as_me: creating $ac_file" >&6;}
-    rm -f "$ac_file"
-  fi
-  # Let's still pretend it is `configure' which instantiates (i.e., don't
-  # use $as_me), people would be surprised to read:
-  #    /* config.h.  Generated by config.status.  */
-  if test x"$ac_file" = x-; then
-    configure_input=
-  else
-    configure_input="$ac_file.  "
-  fi
-  configure_input=$configure_input"Generated from `echo $ac_file_in |
-                                     sed 's,.*/,,'` by configure."
-
-  # First look for the input files in the build tree, otherwise in the
-  # src tree.
-  ac_file_inputs=`IFS=:
-    for f in $ac_file_in; do
-      case $f in
-      -) echo $tmp/stdin ;;
-      [\\/$]*)
-         # Absolute (can't be DOS-style, as IFS=:)
-         test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
-   { (exit 1); exit 1; }; }
-         echo $f;;
-      *) # Relative
-         if test -f "$f"; then
-           # Build tree
-           echo $f
-         elif test -f "$srcdir/$f"; then
-           # Source tree
-           echo $srcdir/$f
-         else
-           # /dev/null tree
-           { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
-   { (exit 1); exit 1; }; }
-         fi;;
-      esac
-    done` || { (exit 1); exit 1; }
+cat >>$CONFIG_STATUS <<\_ACEOF
+# If the template does not know about datarootdir, expand it.
+# FIXME: This hack should be removed a few years after 2.60.
+ac_datarootdir_hack=; ac_datarootdir_seen=
+
+case `sed -n '/datarootdir/ {
+  p
+  q
+}
+/@datadir@/p
+/@docdir@/p
+/@infodir@/p
+/@localedir@/p
+/@mandir@/p
+' $ac_file_inputs` in
+*datarootdir*) ac_datarootdir_seen=yes;;
+*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
+  { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
+echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+  ac_datarootdir_hack='
+  s&@datadir@&$datadir&g
+  s&@docdir@&$docdir&g
+  s&@infodir@&$infodir&g
+  s&@localedir@&$localedir&g
+  s&@mandir@&$mandir&g
+    s&\\\${datarootdir}&$datarootdir&g' ;;
+esac
 _ACEOF
+
+# Neutralize VPATH when `$srcdir' = `.'.
+# Shell code in configure.ac might set extrasub.
+# FIXME: do we really want to maintain this feature?
 cat >>$CONFIG_STATUS <<_ACEOF
   sed "$ac_vpsub
 $extrasub
@@ -19154,319 +24283,173 @@ _ACEOF
 cat >>$CONFIG_STATUS <<\_ACEOF
 :t
 /@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s,@configure_input@,$configure_input,;t t
-s,@srcdir@,$ac_srcdir,;t t
-s,@abs_srcdir@,$ac_abs_srcdir,;t t
-s,@top_srcdir@,$ac_top_srcdir,;t t
-s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t
-s,@builddir@,$ac_builddir,;t t
-s,@abs_builddir@,$ac_abs_builddir,;t t
-s,@top_builddir@,$ac_top_builddir,;t t
-s,@abs_top_builddir@,$ac_abs_top_builddir,;t t
-s,@INSTALL@,$ac_INSTALL,;t t
-" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
-  rm -f $tmp/stdin
-  if test x"$ac_file" != x-; then
-    mv $tmp/out $ac_file
-  else
-    cat $tmp/out
-    rm -f $tmp/out
-  fi
-
-done
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-
-#
-# CONFIG_HEADER section.
-#
-
-# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
-# NAME is the cpp macro being defined and VALUE is the value it is being given.
-#
-# ac_d sets the value in "#define NAME VALUE" lines.
-ac_dA='s,^\([  ]*\)#\([        ]*define[       ][      ]*\)'
-ac_dB='[       ].*$,\1#\2'
-ac_dC=' '
-ac_dD=',;t'
-# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
-ac_uA='s,^\([  ]*\)#\([        ]*\)undef\([    ][      ]*\)'
-ac_uB='$,\1#\2define\3'
-ac_uC=' '
-ac_uD=',;t'
-
-for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue
-  # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+s&@configure_input@&$configure_input&;t t
+s&@top_builddir@&$ac_top_builddir_sub&;t t
+s&@srcdir@&$ac_srcdir&;t t
+s&@abs_srcdir@&$ac_abs_srcdir&;t t
+s&@top_srcdir@&$ac_top_srcdir&;t t
+s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
+s&@builddir@&$ac_builddir&;t t
+s&@abs_builddir@&$ac_abs_builddir&;t t
+s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
+s&@INSTALL@&$ac_INSTALL&;t t
+$ac_datarootdir_hack
+" $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" >$tmp/out
+
+test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
+  { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
+  { ac_out=`sed -n '/^[         ]*datarootdir[  ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
+  { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined.  Please make sure it is defined." >&5
+echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined.  Please make sure it is defined." >&2;}
+
+  rm -f "$tmp/stdin"
   case $ac_file in
-  - | *:- | *:-:* ) # input from stdin
-        cat >$tmp/stdin
-        ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
-        ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
-  *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
-        ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
-  * )   ac_file_in=$ac_file.in ;;
+  -) cat "$tmp/out"; rm -f "$tmp/out";;
+  *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;;
   esac
-
-  test x"$ac_file" != x- && { echo "$as_me:$LINENO: creating $ac_file" >&5
-echo "$as_me: creating $ac_file" >&6;}
-
-  # First look for the input files in the build tree, otherwise in the
-  # src tree.
-  ac_file_inputs=`IFS=:
-    for f in $ac_file_in; do
-      case $f in
-      -) echo $tmp/stdin ;;
-      [\\/$]*)
-         # Absolute (can't be DOS-style, as IFS=:)
-         test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
-   { (exit 1); exit 1; }; }
-         echo $f;;
-      *) # Relative
-         if test -f "$f"; then
-           # Build tree
-           echo $f
-         elif test -f "$srcdir/$f"; then
-           # Source tree
-           echo $srcdir/$f
-         else
-           # /dev/null tree
-           { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
-   { (exit 1); exit 1; }; }
-         fi;;
-      esac
-    done` || { (exit 1); exit 1; }
-  # Remove the trailing spaces.
-  sed 's/[     ]*$//' $ac_file_inputs >$tmp/in
-
-_ACEOF
-
-# Transform confdefs.h into two sed scripts, `conftest.defines' and
-# `conftest.undefs', that substitutes the proper values into
-# config.h.in to produce config.h.  The first handles `#define'
-# templates, and the second `#undef' templates.
-# And first: Protect against being on the right side of a sed subst in
-# config.status.  Protect against being in an unquoted here document
-# in config.status.
-rm -f conftest.defines conftest.undefs
-# Using a here document instead of a string reduces the quoting nightmare.
-# Putting comments in sed scripts is not portable.
-#
-# `end' is used to avoid that the second main sed command (meant for
-# 0-ary CPP macros) applies to n-ary macro definitions.
-# See the Autoconf documentation for `clear'.
-cat >confdef2sed.sed <<\_ACEOF
-s/[\\&,]/\\&/g
-s,[\\$`],\\&,g
-t clear
-: clear
-s,^[   ]*#[    ]*define[       ][      ]*\([^  (][^    (]*\)\(([^)]*)\)[       ]*\(.*\)$,${ac_dA}\1${ac_dB}\1\2${ac_dC}\3${ac_dD},gp
-t end
-s,^[   ]*#[    ]*define[       ][      ]*\([^  ][^     ]*\)[   ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp
-: end
-_ACEOF
-# If some macros were called several times there might be several times
-# the same #defines, which is useless.  Nevertheless, we may not want to
-# sort them, since we want the *last* AC-DEFINE to be honored.
-uniq confdefs.h | sed -n -f confdef2sed.sed >conftest.defines
-sed 's/ac_d/ac_u/g' conftest.defines >conftest.undefs
-rm -f confdef2sed.sed
-
-# This sed command replaces #undef with comments.  This is necessary, for
+ ;;
+  :H)
+  #
+  # CONFIG_HEADER
+  #
+_ACEOF
+
+# Transform confdefs.h into a sed script `conftest.defines', that
+# substitutes the proper values into config.h.in to produce config.h.
+rm -f conftest.defines conftest.tail
+# First, append a space to every undef/define line, to ease matching.
+echo 's/$/ /' >conftest.defines
+# Then, protect against being on the right side of a sed subst, or in
+# an unquoted here document, in config.status.  If some macros were
+# called several times there might be several #defines for the same
+# symbol, which is useless.  But do not sort them, since the last
+# AC_DEFINE must be honored.
+ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
+# These sed commands are passed to sed as "A NAME B PARAMS C VALUE D", where
+# NAME is the cpp macro being defined, VALUE is the value it is being given.
+# PARAMS is the parameter list in the macro definition--in most cases, it's
+# just an empty string.
+ac_dA='s,^\\([  #]*\\)[^        ]*\\([  ]*'
+ac_dB='\\)[     (].*,\\1define\\2'
+ac_dC=' '
+ac_dD=' ,'
+
+uniq confdefs.h |
+  sed -n '
+       t rset
+       :rset
+       s/^[     ]*#[    ]*define[       ][      ]*//
+       t ok
+       d
+       :ok
+       s/[\\&,]/\\&/g
+       s/^\('"$ac_word_re"'\)\(([^()]*)\)[      ]*\(.*\)/ '"$ac_dA"'\1'"$ac_dB"'\2'"${ac_dC}"'\3'"$ac_dD"'/p
+       s/^\('"$ac_word_re"'\)[  ]*\(.*\)/'"$ac_dA"'\1'"$ac_dB$ac_dC"'\2'"$ac_dD"'/p
+  ' >>conftest.defines
+
+# Remove the space that was appended to ease matching.
+# Then replace #undef with comments.  This is necessary, for
 # example, in the case of _POSIX_SOURCE, which is predefined and required
 # on some systems where configure will not decide to define it.
-cat >>conftest.undefs <<\_ACEOF
-s,^[   ]*#[    ]*undef[        ][      ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */,
-_ACEOF
-
-# Break up conftest.defines because some shells have a limit on the size
-# of here documents, and old seds have small limits too (100 cmds).
-echo '  # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS
-echo '  if grep "^[    ]*#[    ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS
-echo '  # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS
-echo '  :' >>$CONFIG_STATUS
-rm -f conftest.tail
-while grep . conftest.defines >/dev/null
+# (The regexp can be short, since the line contains either #define or #undef.)
+echo 's/ $//
+s,^[    #]*u.*,/* & */,' >>conftest.defines
+
+# Break up conftest.defines:
+ac_max_sed_lines=50
+
+# First sed command is:         sed -f defines.sed $ac_file_inputs >"$tmp/out1"
+# Second one is:        sed -f defines.sed "$tmp/out1" >"$tmp/out2"
+# Third one will be:    sed -f defines.sed "$tmp/out2" >"$tmp/out1"
+# et cetera.
+ac_in='$ac_file_inputs'
+ac_out='"$tmp/out1"'
+ac_nxt='"$tmp/out2"'
+
+while :
 do
-  # Write a limited-size here document to $tmp/defines.sed.
-  echo '  cat >$tmp/defines.sed <<CEOF' >>$CONFIG_STATUS
-  # Speed up: don't consider the non `#define' lines.
-  echo '/^[    ]*#[    ]*define/!b' >>$CONFIG_STATUS
-  # Work around the forget-to-reset-the-flag bug.
-  echo 't clr' >>$CONFIG_STATUS
-  echo ': clr' >>$CONFIG_STATUS
-  sed ${ac_max_here_lines}q conftest.defines >>$CONFIG_STATUS
+  # Write a here document:
+    cat >>$CONFIG_STATUS <<_ACEOF
+    # First, check the format of the line:
+    cat >"\$tmp/defines.sed" <<\\CEOF
+/^[     ]*#[    ]*undef[        ][      ]*$ac_word_re[  ]*\$/b def
+/^[     ]*#[    ]*define[       ][      ]*$ac_word_re[(         ]/b def
+b
+:def
+_ACEOF
+  sed ${ac_max_sed_lines}q conftest.defines >>$CONFIG_STATUS
   echo 'CEOF
-  sed -f $tmp/defines.sed $tmp/in >$tmp/out
-  rm -f $tmp/in
-  mv $tmp/out $tmp/in
-' >>$CONFIG_STATUS
-  sed 1,${ac_max_here_lines}d conftest.defines >conftest.tail
+    sed -f "$tmp/defines.sed"' "$ac_in >$ac_out" >>$CONFIG_STATUS
+  ac_in=$ac_out; ac_out=$ac_nxt; ac_nxt=$ac_in
+  sed 1,${ac_max_sed_lines}d conftest.defines >conftest.tail
+  grep . conftest.tail >/dev/null || break
   rm -f conftest.defines
   mv conftest.tail conftest.defines
 done
-rm -f conftest.defines
-echo '  fi # grep' >>$CONFIG_STATUS
-echo >>$CONFIG_STATUS
-
-# Break up conftest.undefs because some shells have a limit on the size
-# of here documents, and old seds have small limits too (100 cmds).
-echo '  # Handle all the #undef templates' >>$CONFIG_STATUS
-rm -f conftest.tail
-while grep . conftest.undefs >/dev/null
-do
-  # Write a limited-size here document to $tmp/undefs.sed.
-  echo '  cat >$tmp/undefs.sed <<CEOF' >>$CONFIG_STATUS
-  # Speed up: don't consider the non `#undef'
-  echo '/^[    ]*#[    ]*undef/!b' >>$CONFIG_STATUS
-  # Work around the forget-to-reset-the-flag bug.
-  echo 't clr' >>$CONFIG_STATUS
-  echo ': clr' >>$CONFIG_STATUS
-  sed ${ac_max_here_lines}q conftest.undefs >>$CONFIG_STATUS
-  echo 'CEOF
-  sed -f $tmp/undefs.sed $tmp/in >$tmp/out
-  rm -f $tmp/in
-  mv $tmp/out $tmp/in
-' >>$CONFIG_STATUS
-  sed 1,${ac_max_here_lines}d conftest.undefs >conftest.tail
-  rm -f conftest.undefs
-  mv conftest.tail conftest.undefs
-done
-rm -f conftest.undefs
+rm -f conftest.defines conftest.tail
 
+echo "ac_result=$ac_in" >>$CONFIG_STATUS
 cat >>$CONFIG_STATUS <<\_ACEOF
-  # Let's still pretend it is `configure' which instantiates (i.e., don't
-  # use $as_me), people would be surprised to read:
-  #    /* config.h.  Generated by config.status.  */
-  if test x"$ac_file" = x-; then
-    echo "/* Generated by configure.  */" >$tmp/config.h
-  else
-    echo "/* $ac_file.  Generated by configure.  */" >$tmp/config.h
-  fi
-  cat $tmp/in >>$tmp/config.h
-  rm -f $tmp/in
   if test x"$ac_file" != x-; then
-    if diff $ac_file $tmp/config.h >/dev/null 2>&1; then
+    echo "/* $configure_input  */" >"$tmp/config.h"
+    cat "$ac_result" >>"$tmp/config.h"
+    if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then
       { echo "$as_me:$LINENO: $ac_file is unchanged" >&5
 echo "$as_me: $ac_file is unchanged" >&6;}
     else
-      ac_dir=`(dirname "$ac_file") 2>/dev/null ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-         X"$ac_file" : 'X\(//\)[^/]' \| \
-         X"$ac_file" : 'X\(//\)$' \| \
-         X"$ac_file" : 'X\(/\)' \| \
-         .     : '\(.\)' 2>/dev/null ||
-echo X"$ac_file" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
-         /^X\(\/\/\)[^/].*/{ s//\1/; q; }
-         /^X\(\/\/\)$/{ s//\1/; q; }
-         /^X\(\/\).*/{ s//\1/; q; }
-         s/.*/./; q'`
-      { if $as_mkdir_p; then
-    mkdir -p "$ac_dir"
-  else
-    as_dir="$ac_dir"
-    as_dirs=
-    while test ! -d "$as_dir"; do
-      as_dirs="$as_dir $as_dirs"
-      as_dir=`(dirname "$as_dir") 2>/dev/null ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-         X"$as_dir" : 'X\(//\)[^/]' \| \
-         X"$as_dir" : 'X\(//\)$' \| \
-         X"$as_dir" : 'X\(/\)' \| \
-         .     : '\(.\)' 2>/dev/null ||
-echo X"$as_dir" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
-         /^X\(\/\/\)[^/].*/{ s//\1/; q; }
-         /^X\(\/\/\)$/{ s//\1/; q; }
-         /^X\(\/\).*/{ s//\1/; q; }
-         s/.*/./; q'`
-    done
-    test ! -n "$as_dirs" || mkdir $as_dirs
-  fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
-echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
-   { (exit 1); exit 1; }; }; }
-
       rm -f $ac_file
-      mv $tmp/config.h $ac_file
+      mv "$tmp/config.h" $ac_file
     fi
   else
-    cat $tmp/config.h
-    rm -f $tmp/config.h
+    echo "/* $configure_input  */"
+    cat "$ac_result"
   fi
-_am_stamp_count=`expr ${_am_stamp_count-0} + 1`
-echo "timestamp for $ac_file" >`(dirname $ac_file) 2>/dev/null ||
+  rm -f "$tmp/out12"
+# Compute $ac_file's index in $config_headers.
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+  case $_am_header in
+    $ac_file | $ac_file:* )
+      break ;;
+    * )
+      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+  esac
+done
+echo "timestamp for $ac_file" >`$as_dirname -- $ac_file ||
 $as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-         X$ac_file : 'X\(//\)[^/]' \| \
-         X$ac_file : 'X\(//\)$' \| \
-         X$ac_file : 'X\(/\)' \| \
-         .     : '\(.\)' 2>/dev/null ||
+        X$ac_file : 'X\(//\)[^/]' \| \
+        X$ac_file : 'X\(//\)$' \| \
+        X$ac_file : 'X\(/\)' \| . 2>/dev/null ||
 echo X$ac_file |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
-         /^X\(\/\/\)[^/].*/{ s//\1/; q; }
-         /^X\(\/\/\)$/{ s//\1/; q; }
-         /^X\(\/\).*/{ s//\1/; q; }
-         s/.*/./; q'`/stamp-h$_am_stamp_count
-done
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)[^/].*/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\).*/{
+           s//\1/
+           q
+         }
+         s/.*/./; q'`/stamp-h$_am_stamp_count
+ ;;
 
-#
-# CONFIG_COMMANDS section.
-#
-for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue
-  ac_dest=`echo "$ac_file" | sed 's,:.*,,'`
-  ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'`
-  ac_dir=`(dirname "$ac_dest") 2>/dev/null ||
-$as_expr X"$ac_dest" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-         X"$ac_dest" : 'X\(//\)[^/]' \| \
-         X"$ac_dest" : 'X\(//\)$' \| \
-         X"$ac_dest" : 'X\(/\)' \| \
-         .     : '\(.\)' 2>/dev/null ||
-echo X"$ac_dest" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
-         /^X\(\/\/\)[^/].*/{ s//\1/; q; }
-         /^X\(\/\/\)$/{ s//\1/; q; }
-         /^X\(\/\).*/{ s//\1/; q; }
-         s/.*/./; q'`
-  ac_builddir=.
+  :C)  { echo "$as_me:$LINENO: executing $ac_file commands" >&5
+echo "$as_me: executing $ac_file commands" >&6;}
+ ;;
+  esac
 
-if test "$ac_dir" != .; then
-  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
-  # A "../" for each directory in $ac_dir_suffix.
-  ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
-else
-  ac_dir_suffix= ac_top_builddir=
-fi
 
-case $srcdir in
-  .)  # No --srcdir option.  We are building in place.
-    ac_srcdir=.
-    if test -z "$ac_top_builddir"; then
-       ac_top_srcdir=.
-    else
-       ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
-    fi ;;
-  [\\/]* | ?:[\\/]* )  # Absolute path.
-    ac_srcdir=$srcdir$ac_dir_suffix;
-    ac_top_srcdir=$srcdir ;;
-  *) # Relative path.
-    ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
-    ac_top_srcdir=$ac_top_builddir$srcdir ;;
-esac
-# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be
-# absolute.
-ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd`
-ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd`
-ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd`
-ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd`
-
-
-  { echo "$as_me:$LINENO: executing $ac_dest commands" >&5
-echo "$as_me: executing $ac_dest commands" >&6;}
-  case $ac_dest in
-    depfiles ) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do
+  case $ac_file$ac_mode in
+    "depfiles":C) test x"$AMDEP_TRUE" != x"" || 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.
@@ -19476,92 +24459,123 @@ echo "$as_me: executing $ac_dest commands" >&6;}
   # 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=`(dirname "$mf") 2>/dev/null ||
+    dirpart=`$as_dirname -- "$mf" ||
 $as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-         X"$mf" : 'X\(//\)[^/]' \| \
-         X"$mf" : 'X\(//\)$' \| \
-         X"$mf" : 'X\(/\)' \| \
-         .     : '\(.\)' 2>/dev/null ||
+        X"$mf" : 'X\(//\)[^/]' \| \
+        X"$mf" : 'X\(//\)$' \| \
+        X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
 echo X"$mf" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
-         /^X\(\/\/\)[^/].*/{ s//\1/; q; }
-         /^X\(\/\/\)$/{ s//\1/; q; }
-         /^X\(\/\).*/{ s//\1/; q; }
-         s/.*/./; q'`
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)[^/].*/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\).*/{
+           s//\1/
+           q
+         }
+         s/.*/./; q'`
   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"`
+  # Extract the definition of DEPDIR, am__include, and am__quote
+  # from the Makefile without running `make'.
+  DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
   test -z "$DEPDIR" && continue
+  am__include=`sed -n 's/^am__include = //p' < "$mf"`
+  test -z "am__include" && continue
+  am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
   # When using ansi2knr, U may be empty or an underscore; expand it
-  U=`sed -n -e '/^U = / s///p' < "$mf"`
-  test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR"
-  # We invoke sed twice because it is the simplest approach to
-  # changing $(DEPDIR) to its actual value in the expansion.
-  for file in `sed -n -e '
-    /^DEP_FILES = .*\\\\$/ {
-      s/^DEP_FILES = //
-      :loop
-       s/\\\\$//
-       p
-       n
-       /\\\\$/ b loop
-      p
-    }
-    /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \
+  U=`sed -n 's/^U = //p' < "$mf"`
+  # Find all dependency output files, they are included files with
+  # $(DEPDIR) in their names.  We invoke sed twice because it is the
+  # simplest approach to changing $(DEPDIR) to its actual value in the
+  # expansion.
+  for file in `sed -n "
+    s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
        sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
     # Make sure the directory exists.
     test -f "$dirpart/$file" && continue
-    fdir=`(dirname "$file") 2>/dev/null ||
+    fdir=`$as_dirname -- "$file" ||
 $as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-         X"$file" : 'X\(//\)[^/]' \| \
-         X"$file" : 'X\(//\)$' \| \
-         X"$file" : 'X\(/\)' \| \
-         .     : '\(.\)' 2>/dev/null ||
+        X"$file" : 'X\(//\)[^/]' \| \
+        X"$file" : 'X\(//\)$' \| \
+        X"$file" : 'X\(/\)' \| . 2>/dev/null ||
 echo X"$file" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
-         /^X\(\/\/\)[^/].*/{ s//\1/; q; }
-         /^X\(\/\/\)$/{ s//\1/; q; }
-         /^X\(\/\).*/{ s//\1/; q; }
-         s/.*/./; q'`
-    { if $as_mkdir_p; then
-    mkdir -p $dirpart/$fdir
-  else
-    as_dir=$dirpart/$fdir
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)[^/].*/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\).*/{
+           s//\1/
+           q
+         }
+         s/.*/./; q'`
+    { as_dir=$dirpart/$fdir
+  case $as_dir in #(
+  -*) as_dir=./$as_dir;;
+  esac
+  test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
     as_dirs=
-    while test ! -d "$as_dir"; do
-      as_dirs="$as_dir $as_dirs"
-      as_dir=`(dirname "$as_dir") 2>/dev/null ||
+    while :; do
+      case $as_dir in #(
+      *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #(
+      *) as_qdir=$as_dir;;
+      esac
+      as_dirs="'$as_qdir' $as_dirs"
+      as_dir=`$as_dirname -- "$as_dir" ||
 $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-         X"$as_dir" : 'X\(//\)[^/]' \| \
-         X"$as_dir" : 'X\(//\)$' \| \
-         X"$as_dir" : 'X\(/\)' \| \
-         .     : '\(.\)' 2>/dev/null ||
+        X"$as_dir" : 'X\(//\)[^/]' \| \
+        X"$as_dir" : 'X\(//\)$' \| \
+        X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
 echo X"$as_dir" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
-         /^X\(\/\/\)[^/].*/{ s//\1/; q; }
-         /^X\(\/\/\)$/{ s//\1/; q; }
-         /^X\(\/\).*/{ s//\1/; q; }
-         s/.*/./; q'`
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)[^/].*/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\).*/{
+           s//\1/
+           q
+         }
+         s/.*/./; q'`
+      test -d "$as_dir" && break
     done
-    test ! -n "$as_dirs" || mkdir $as_dirs
-  fi || { { echo "$as_me:$LINENO: error: cannot create directory $dirpart/$fdir" >&5
-echo "$as_me: error: cannot create directory $dirpart/$fdir" >&2;}
+    test -z "$as_dirs" || eval "mkdir $as_dirs"
+  } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
+echo "$as_me: error: cannot create directory $as_dir" >&2;}
    { (exit 1); exit 1; }; }; }
-
     # echo "creating $dirpart/$file"
     echo '# dummy' > "$dirpart/$file"
   done
 done
  ;;
+
   esac
-done
-_ACEOF
+done # for ac_tag
 
-cat >>$CONFIG_STATUS <<\_ACEOF
 
 { (exit 0); exit 0; }
 _ACEOF
index af2b83ee15fc8d3f2307d808e107f2d05e546dc1..7799910bfe959f2620dae3d8a6466850cd9164fb 100644 (file)
@@ -1,8 +1,11 @@
 AC_INIT(src/libafs/Makefile.common.in)
-AM_INIT_AUTOMAKE(openafs-libafs,1.4.4)
+AM_INIT_AUTOMAKE(openafs-libafs,1.4.5pre2)
 AC_CONFIG_HEADER(src/config/afsconfig.h)
-define(OPENAFS_CONFIGURE_LIBAFS)
+MACOS_VERSION=1.4.5fc2
+
+AC_SUBST(MACOS_VERSION)
 
+define(OPENAFS_CONFIGURE_LIBAFS)
 AC_PROG_CC
 OPENAFS_CONFIGURE_COMMON
 
index 2fc58b3ae52e2809618b9015144bb808b6fc848f..1e21ca7324e5ab12b79c368bce54c1be94e67439 100644 (file)
@@ -1,6 +1,9 @@
 AC_INIT(src/config/stds.h)
-AM_INIT_AUTOMAKE(openafs,1.4.4)
+AM_INIT_AUTOMAKE(openafs,1.4.5pre2)
 AC_CONFIG_HEADER(src/config/afsconfig.h)
+MACOS_VERSION=1.4.5fc2
+
+AC_SUBST(MACOS_VERSION)
 
 AC_PROG_CC
 OPENAFS_CONFIGURE_COMMON
@@ -79,6 +82,9 @@ src/lwp/test/Makefile \
 src/mpp/Makefile \
 src/null/Makefile \
 src/package/Makefile \
+src/packaging/MacOS/OpenAFS.Info.plist \
+src/packaging/MacOS/OpenAFS.info \
+src/packaging/RedHat/openafs.spec \
 src/pam/Makefile \
 src/pinstall/Makefile \
 src/pinstall/test/Makefile \
index afbc42ad61bfd6ca38058d02154bc6053ed745ba..31fcdccf1722a14bab45b5a5b784e0e823250ed6 100644 (file)
@@ -1,3 +1,15 @@
+openafs (1.4.5~pre2.dfsg1-1) UNRELEASED; urgency=low
+
+  * New upstream release candidate.
+    - Fix errors when compiled with gcc 4.2.  (Closes: #443937)
+    - Add a frightening hack to work around the lack of getcontext and
+      savecontext for 32-bit SPARc.  (Closes: #415952, #446837)
+    - Add support for Linux 2.6.23.
+    - Multiple bug fixes for client tracking in the file server.
+    - Prevent one client from consuming all file server threads.
+
+ -- Russ Allbery <rra@debian.org>  Mon, 15 Oct 2007 23:09:08 -0700
+
 openafs (1.4.4.dfsg1-7) unstable; urgency=low
 
   * Switch to quilt for managing patches to the upstream source.
index b39a291f57dd03cedef9483f09c4f2694603143c..81234672c30a4d3ca207322e7681275840bca694 100755 (executable)
@@ -46,9 +46,9 @@ DOC_PACKAGES = libpam-openafs-kaserver openafs-dbserver openafs-fileserver \
 
 # These variable is used only by get-orig-source, which will normally only be
 # run by maintainers.
-VERSION   = 1.4.4
-DEBVERS   = 1.4.4.dfsg1
-UPSTREAM  = /afs/grand.central.org/software/openafs/$(VERSION)
+VERSION   = 1.4.5pre2
+DEBVERS   = 1.4.5~pre2.dfsg1
+UPSTREAM  = /afs/grand.central.org/software/openafs/candidate/$(VERSION)
 
 # Download the upstream source, merge in the doc tarball, and do the
 # repackaging that we have to do for DFSG reasons.  This assumes AFS is
diff --git a/doc/html/AdminGuide/cachmgr.gif b/doc/html/AdminGuide/cachmgr.gif
new file mode 100755 (executable)
index 0000000..48dda88
Binary files /dev/null and b/doc/html/AdminGuide/cachmgr.gif differ
diff --git a/doc/html/AdminGuide/fserver1.gif b/doc/html/AdminGuide/fserver1.gif
new file mode 100755 (executable)
index 0000000..5d62af5
Binary files /dev/null and b/doc/html/AdminGuide/fserver1.gif differ
diff --git a/doc/html/AdminGuide/fserver2.gif b/doc/html/AdminGuide/fserver2.gif
new file mode 100755 (executable)
index 0000000..47cad10
Binary files /dev/null and b/doc/html/AdminGuide/fserver2.gif differ
diff --git a/doc/html/AdminGuide/overview.gif b/doc/html/AdminGuide/overview.gif
new file mode 100755 (executable)
index 0000000..dd17f94
Binary files /dev/null and b/doc/html/AdminGuide/overview.gif differ
diff --git a/doc/html/AdminGuide/scout1.gif b/doc/html/AdminGuide/scout1.gif
new file mode 100755 (executable)
index 0000000..00bcb9d
Binary files /dev/null and b/doc/html/AdminGuide/scout1.gif differ
diff --git a/doc/html/AdminGuide/scout2.gif b/doc/html/AdminGuide/scout2.gif
new file mode 100755 (executable)
index 0000000..391982b
Binary files /dev/null and b/doc/html/AdminGuide/scout2.gif differ
diff --git a/doc/html/AdminGuide/scout3.gif b/doc/html/AdminGuide/scout3.gif
new file mode 100755 (executable)
index 0000000..7212d94
Binary files /dev/null and b/doc/html/AdminGuide/scout3.gif differ
diff --git a/doc/html/AdminGuide/scout4.gif b/doc/html/AdminGuide/scout4.gif
new file mode 100755 (executable)
index 0000000..556b97a
Binary files /dev/null and b/doc/html/AdminGuide/scout4.gif differ
diff --git a/doc/html/AdminGuide/vnode.gif b/doc/html/AdminGuide/vnode.gif
new file mode 100755 (executable)
index 0000000..bbf7f69
Binary files /dev/null and b/doc/html/AdminGuide/vnode.gif differ
index 1e384400aa08048ab531cfbc2a449303ce1f9cac..7c8c5b209c60ad5d16a56ffb2962a0aa2dc5101b 100644 (file)
@@ -123,7 +123,11 @@ Formatting Standards
   References to functions should be noted like function() with the
   trailing parens.  The POD converters know how to format these sorts of
   references appropriately.  References to other sections in the same page
-  should be given as L<SECTION>.
+  should be given as L<SECTION>.  Man pages for all other AFS commands or
+  file formats referenced in the page should be listed in the SYNOPSIS.
+  List each reference on its own line for easier addition of other
+  references later, but don't put blank lines between them.  Don't forget
+  the commas at the end of each line but the last.
 
   Command and output examples should be indented three spaces.  Commands
   entered by the user should be given on a line beginning with %.  If the
@@ -181,6 +185,11 @@ How You Can Help
   the bug number so that I'm aware of it, as I don't always notice new
   bugs.
 
+  You can test your new POD documentation by running the check-pod script
+  in this directory with "prove check-pod".  (And check other people's
+  documentation and find any problems that have crept in.)  You will need
+  to have Test::Pod installed.
+
 Known Problems
 
   The current man pages have the following known deficiencies.  Please
@@ -189,37 +198,21 @@ Known Problems
 
    * The following installed commands have no man pages:
 
-       bos_util
        copyauth
-       fs getcalleraccess
-       fs getcrypt
-       fs listaliases
-       fs newalias
        fs rxstatpeer
        fs rxstatproc
        fs setcbaddr
-       fs setcrypt
        kseal
-       pts interactive
-       pts quit
-       pts sleep
-       pts source
        read_tape
        restorevol
        rmtsysd
        vldb_convert
-       vos changeloc
        vos clone
        vos convertROtoRW
        vos copy
        vos shadow
-       vos size
        vsys
 
-   * The following configuration files have no man pages:
-
-       CellAlias
-
    * klog.krb, pagsh.krb, and tokens.krb need to be listed as alternative
      names in the NAME line of the non-.krb man pages, links should be
      installed on man page installation, and the behavior of pagsh.krb
@@ -231,15 +224,12 @@ Known Problems
    * fs sysname documentation needs to include the possibility of setting
      multiple sysnames and the resulting behavior.
 
-   * The afsd man page is horribly out of date.  It doesn't explain
-     dynroot, many options are missing, and some of the options described
-     are no longer valid.  It also still assumes that -settime is the
-     default and says that the system must be rebooted after shutdown,
-     which isn't the case at least on Linux.
-
    * bos listkeys and the KeyFile man page assume that you're using the
      kaserver.
 
+   * bos addkey should be marked deprecated in favor of using asetkey with
+     a keytab.
+
    * I'm fairly sure that the fileserver man page no longer documents all
      of the fileserver options.
 
diff --git a/doc/man-pages/check-pod b/doc/man-pages/check-pod
new file mode 100755 (executable)
index 0000000..640035b
--- /dev/null
@@ -0,0 +1,17 @@
+#!/usr/bin/perl
+#
+# Written by Jason Edgecombe based on the Test::Pod documentation.  The
+# best way to run it is to run:
+#
+#     prove check-pod
+#
+# from the doc/man-pages directory, which will show any errors found in
+# any of the POD files.
+
+use strict;
+use Test::More;
+eval "use Test::Pod 1.00";
+
+plan skip_all => "Test::Pod 1.00 required for testing POD" if $@;
+my @poddirs = qw( pod1 pod5 pod8 );
+all_pod_files_ok( all_pod_files( @poddirs ) );
index 229f841c99307d97c2d40f51d86d65db61edebe7..213510a0d2f91139eacf3559222acfb86e5d8a09 100644 (file)
@@ -93,7 +93,7 @@
 .nr % 0
 .rr F
 .\}
-.TH FS 1 "OpenAFS" "28/Feb/2006" "AFS Command Reference"
+.TH FS 1 "OpenAFS" "17/Aug/2007" "AFS Command Reference"
 .UC
 .if n .hy 0
 .if n .na
@@ -201,10 +201,12 @@ Commands to set and report how the Cache Manager interacts with server
 machines:
 \fBfs checkservers\fR,
 \fBfs getcellstatus\fR,
+\fBfs getcrypt\fR,
 \fBfs getserverprefs\fR,
 \fBfs listcells\fR,
 \fBfs newcell\fR,
 \fBfs setcell\fR,
+\fBfs setcrypt\fR,
 \fBfs setserverprefs\fR,
 \fBfs sysname\fR,
 and \fBfs wscell\fR.
@@ -212,6 +214,7 @@ and \fBfs wscell\fR.
 Commands to administer access control lists (ACLs):
 \fBfs cleanacl\fR,
 \fBfs copyacl\fR,
+\fBfs getcalleraccess\fR,
 \fBfs listacl\fR,
 and \fBfs setacl\fR.
 .Ip "\(bu" 4
@@ -229,8 +232,11 @@ and \fBfs whichcell\fR.
 Commands to administer the local client cache and related information:
 \fBfs checkvolumes\fR,
 \fBfs flush\fR,
+\fBfs flushall\fR,
 \fBfs flushvolume\fR,
 \fBfs getcacheparms\fR,
+\fBfs listaliases\fR,
+\fBfs newalias\fR,
 and \fBfs setcachesize\fR.
 .Ip "\(bu" 4
 Commands to administer volume mount points:
@@ -313,19 +319,24 @@ the \fIfs_diskfree(1)\fR manpage,
 the \fIfs_examine(1)\fR manpage,
 the \fIfs_exportafs(1)\fR manpage,
 the \fIfs_flush(1)\fR manpage,
+the \fIfs_flushall(1)\fR manpage,
 the \fIfs_flushmount(1)\fR manpage,
 the \fIfs_flushvolume(1)\fR manpage,
 the \fIfs_getcacheparms(1)\fR manpage,
+the \fIfs_getcalleraccess(1)\fR manpage,
 the \fIfs_getcellstatus(1)\fR manpage,
 the \fIfs_getclientaddrs(1)\fR manpage,
+the \fIfs_getcrypt(1)\fR manpage,
 the \fIfs_getserverprefs(1)\fR manpage,
 the \fIfs_help(1)\fR manpage,
 the \fIfs_listacl(1)\fR manpage,
+the \fIfs_listaliases(1)\fR manpage,
 the \fIfs_listcells(1)\fR manpage,
 the \fIfs_listquota(1)\fR manpage,
 the \fIfs_lsmount(1)\fR manpage,
 the \fIfs_messages(1)\fR manpage,
 the \fIfs_mkmount(1)\fR manpage,
+the \fIfs_newalias(1)\fR manpage,
 the \fIfs_newcell(1)\fR manpage,
 the \fIfs_quota(1)\fR manpage,
 the \fIfs_rmmount(1)\fR manpage,
@@ -333,6 +344,7 @@ the \fIfs_setacl(1)\fR manpage,
 the \fIfs_setcachesize(1)\fR manpage,
 the \fIfs_setcell(1)\fR manpage,
 the \fIfs_setclientaddrs(1)\fR manpage,
+the \fIfs_setcrypt(1)\fR manpage,
 the \fIfs_setquota(1)\fR manpage,
 the \fIfs_setserverprefs(1)\fR manpage,
 the \fIfs_setvol(1)\fR manpage,
diff --git a/doc/man-pages/man1/fs_flushall.1 b/doc/man-pages/man1/fs_flushall.1
new file mode 100644 (file)
index 0000000..252d1ab
--- /dev/null
@@ -0,0 +1,250 @@
+.rn '' }`
+''' $RCSfile$$Revision$$Date$
+'''
+''' $Log$
+'''
+.de Sh
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp
+.if t .sp .5v
+.if n .sp
+..
+.de Ip
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.de Vb
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve
+.ft R
+
+.fi
+..
+'''
+'''
+'''     Set up \*(-- to give an unbreakable dash;
+'''     string Tr holds user defined translation string.
+'''     Bell System Logo is used as a dummy character.
+'''
+.tr \(*W-|\(bv\*(Tr
+.ie n \{\
+.ds -- \(*W-
+.ds PI pi
+.if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+.if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+.ds L" ""
+.ds R" ""
+'''   \*(M", \*(S", \*(N" and \*(T" are the equivalent of
+'''   \*(L" and \*(R", except that they are used on ".xx" lines,
+'''   such as .IP and .SH, which do another additional levels of
+'''   double-quote interpretation
+.ds M" """
+.ds S" """
+.ds N" """""
+.ds T" """""
+.ds L' '
+.ds R' '
+.ds M' '
+.ds S' '
+.ds N' '
+.ds T' '
+'br\}
+.el\{\
+.ds -- \(em\|
+.tr \*(Tr
+.ds L" ``
+.ds R" ''
+.ds M" ``
+.ds S" ''
+.ds N" ``
+.ds T" ''
+.ds L' `
+.ds R' '
+.ds M' `
+.ds S' '
+.ds N' `
+.ds T' '
+.ds PI \(*p
+'br\}
+.\"    If the F register is turned on, we'll generate
+.\"    index entries out stderr for the following things:
+.\"            TH      Title 
+.\"            SH      Header
+.\"            Sh      Subsection 
+.\"            Ip      Item
+.\"            X<>     Xref  (embedded
+.\"    Of course, you have to process the output yourself
+.\"    in some meaninful fashion.
+.if \nF \{
+.de IX
+.tm Index:\\$1\t\\n%\t"\\$2"
+..
+.nr % 0
+.rr F
+.\}
+.TH FS_FLUSHALL 1 "OpenAFS" "17/Aug/2007" "AFS Command Reference"
+.UC
+.if n .hy 0
+.if n .na
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.de CQ          \" put $1 in typewriter font
+.ft CW
+'if n "\c
+'if t \\&\\$1\c
+'if n \\&\\$1\c
+'if n \&"
+\\&\\$2 \\$3 \\$4 \\$5 \\$6 \\$7
+'.ft R
+..
+.\" @(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2
+.      \" AM - accent mark definitions
+.bd B 3
+.      \" fudge factors for nroff and troff
+.if n \{\
+.      ds #H 0
+.      ds #V .8m
+.      ds #F .3m
+.      ds #[ \f1
+.      ds #] \fP
+.\}
+.if t \{\
+.      ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+.      ds #V .6m
+.      ds #F 0
+.      ds #[ \&
+.      ds #] \&
+.\}
+.      \" simple accents for nroff and troff
+.if n \{\
+.      ds ' \&
+.      ds ` \&
+.      ds ^ \&
+.      ds , \&
+.      ds ~ ~
+.      ds ? ?
+.      ds ! !
+.      ds /
+.      ds q
+.\}
+.if t \{\
+.      ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+.      ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+.      ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+.      ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+.      ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+.      ds ? \s-2c\h'-\w'c'u*7/10'\u\h'\*(#H'\zi\d\s+2\h'\w'c'u*8/10'
+.      ds ! \s-2\(or\s+2\h'-\w'\(or'u'\v'-.8m'.\v'.8m'
+.      ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.      ds q o\h'-\w'o'u*8/10'\s-4\v'.4m'\z\(*i\v'-.4m'\s+4\h'\w'o'u*8/10'
+.\}
+.      \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds v \\k:\h'-(\\n(.wu*9/10-\*(#H)'\v'-\*(#V'\*(#[\s-4v\s0\v'\*(#V'\h'|\\n:u'\*(#]
+.ds _ \\k:\h'-(\\n(.wu*9/10-\*(#H+(\*(#F*2/3))'\v'-.4m'\z\(hy\v'.4m'\h'|\\n:u'
+.ds . \\k:\h'-(\\n(.wu*8/10)'\v'\*(#V*4/10'\z.\v'-\*(#V*4/10'\h'|\\n:u'
+.ds 3 \*(#[\v'.2m'\s-2\&3\s0\v'-.2m'\*(#]
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+.ds oe o\h'-(\w'o'u*4/10)'e
+.ds Oe O\h'-(\w'O'u*4/10)'E
+.      \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+.      \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+.      ds : e
+.      ds 8 ss
+.      ds v \h'-1'\o'\(aa\(ga'
+.      ds _ \h'-1'^
+.      ds . \h'-1'.
+.      ds 3 3
+.      ds o a
+.      ds d- d\h'-1'\(ga
+.      ds D- D\h'-1'\(hy
+.      ds th \o'bp'
+.      ds Th \o'LP'
+.      ds ae ae
+.      ds Ae AE
+.      ds oe oe
+.      ds Oe OE
+.\}
+.rm #[ #] #H #V #F C
+.SH "NAME"
+fs flushall \- Force the AFS Cache Manager to discard all data
+.SH "SYNOPSIS"
+\fBfs flushall\fR [\fB\-help\fR]
+.PP
+\fBfs flusha\fR [\fB\-h\fR]
+.SH "DESCRIPTION"
+The \fBfs flushall\fR command flushes all data from the AFS cache.
+.SH "CAUTIONS"
+This command is only available on Windows.
+.SH "OPTIONS"
+.Ip "\fB\-help\fR" 4
+Prints the online help for this command.
+.SH "OUTPUT"
+This command has no output.
+.SH "EXAMPLES"
+Aside from the help, there is only one way to run \fBfs flushall\fR, which is
+as follows:
+.PP
+.Vb 2
+\&   % fs flushall
+\&   %
+.Ve
+.SH "PRIVILEGE REQUIRED"
+No special privileges are required for this command.
+.SH "SEE ALSO"
+the \fIfs_flush(1)\fR manpage,
+the \fIfs_flushmount(1)\fR manpage,
+the \fIfs_flushvolume(1)\fR manpage
+.SH "COPYRIGHT"
+Copyright 2007 Jason Edgecombe <jason@rampaginggeek.com>
+.PP
+This documentation is covered by the IBM Public License Version 1.0. This
+man page was written by Jason Edgecombe for OpenAFS.
+
+.rn }` ''
+.IX Title "FS_FLUSHALL 1"
+.IX Name "fs flushall - Force the AFS Cache Manager to discard all data"
+
+.IX Header "NAME"
+
+.IX Header "SYNOPSIS"
+
+.IX Header "DESCRIPTION"
+
+.IX Header "CAUTIONS"
+
+.IX Header "OPTIONS"
+
+.IX Item "\fB\-help\fR"
+
+.IX Header "OUTPUT"
+
+.IX Header "EXAMPLES"
+
+.IX Header "PRIVILEGE REQUIRED"
+
+.IX Header "SEE ALSO"
+
+.IX Header "COPYRIGHT"
+
diff --git a/doc/man-pages/man1/fs_getcalleraccess.1 b/doc/man-pages/man1/fs_getcalleraccess.1
new file mode 100644 (file)
index 0000000..5912f27
--- /dev/null
@@ -0,0 +1,262 @@
+.rn '' }`
+''' $RCSfile$$Revision$$Date$
+'''
+''' $Log$
+'''
+.de Sh
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp
+.if t .sp .5v
+.if n .sp
+..
+.de Ip
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.de Vb
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve
+.ft R
+
+.fi
+..
+'''
+'''
+'''     Set up \*(-- to give an unbreakable dash;
+'''     string Tr holds user defined translation string.
+'''     Bell System Logo is used as a dummy character.
+'''
+.tr \(*W-|\(bv\*(Tr
+.ie n \{\
+.ds -- \(*W-
+.ds PI pi
+.if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+.if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+.ds L" ""
+.ds R" ""
+'''   \*(M", \*(S", \*(N" and \*(T" are the equivalent of
+'''   \*(L" and \*(R", except that they are used on ".xx" lines,
+'''   such as .IP and .SH, which do another additional levels of
+'''   double-quote interpretation
+.ds M" """
+.ds S" """
+.ds N" """""
+.ds T" """""
+.ds L' '
+.ds R' '
+.ds M' '
+.ds S' '
+.ds N' '
+.ds T' '
+'br\}
+.el\{\
+.ds -- \(em\|
+.tr \*(Tr
+.ds L" ``
+.ds R" ''
+.ds M" ``
+.ds S" ''
+.ds N" ``
+.ds T" ''
+.ds L' `
+.ds R' '
+.ds M' `
+.ds S' '
+.ds N' `
+.ds T' '
+.ds PI \(*p
+'br\}
+.\"    If the F register is turned on, we'll generate
+.\"    index entries out stderr for the following things:
+.\"            TH      Title 
+.\"            SH      Header
+.\"            Sh      Subsection 
+.\"            Ip      Item
+.\"            X<>     Xref  (embedded
+.\"    Of course, you have to process the output yourself
+.\"    in some meaninful fashion.
+.if \nF \{
+.de IX
+.tm Index:\\$1\t\\n%\t"\\$2"
+..
+.nr % 0
+.rr F
+.\}
+.TH FS_GETCALLERACCESS 1 "OpenAFS" "17/Aug/2007" "AFS Command Reference"
+.UC
+.if n .hy 0
+.if n .na
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.de CQ          \" put $1 in typewriter font
+.ft CW
+'if n "\c
+'if t \\&\\$1\c
+'if n \\&\\$1\c
+'if n \&"
+\\&\\$2 \\$3 \\$4 \\$5 \\$6 \\$7
+'.ft R
+..
+.\" @(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2
+.      \" AM - accent mark definitions
+.bd B 3
+.      \" fudge factors for nroff and troff
+.if n \{\
+.      ds #H 0
+.      ds #V .8m
+.      ds #F .3m
+.      ds #[ \f1
+.      ds #] \fP
+.\}
+.if t \{\
+.      ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+.      ds #V .6m
+.      ds #F 0
+.      ds #[ \&
+.      ds #] \&
+.\}
+.      \" simple accents for nroff and troff
+.if n \{\
+.      ds ' \&
+.      ds ` \&
+.      ds ^ \&
+.      ds , \&
+.      ds ~ ~
+.      ds ? ?
+.      ds ! !
+.      ds /
+.      ds q
+.\}
+.if t \{\
+.      ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+.      ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+.      ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+.      ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+.      ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+.      ds ? \s-2c\h'-\w'c'u*7/10'\u\h'\*(#H'\zi\d\s+2\h'\w'c'u*8/10'
+.      ds ! \s-2\(or\s+2\h'-\w'\(or'u'\v'-.8m'.\v'.8m'
+.      ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.      ds q o\h'-\w'o'u*8/10'\s-4\v'.4m'\z\(*i\v'-.4m'\s+4\h'\w'o'u*8/10'
+.\}
+.      \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds v \\k:\h'-(\\n(.wu*9/10-\*(#H)'\v'-\*(#V'\*(#[\s-4v\s0\v'\*(#V'\h'|\\n:u'\*(#]
+.ds _ \\k:\h'-(\\n(.wu*9/10-\*(#H+(\*(#F*2/3))'\v'-.4m'\z\(hy\v'.4m'\h'|\\n:u'
+.ds . \\k:\h'-(\\n(.wu*8/10)'\v'\*(#V*4/10'\z.\v'-\*(#V*4/10'\h'|\\n:u'
+.ds 3 \*(#[\v'.2m'\s-2\&3\s0\v'-.2m'\*(#]
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+.ds oe o\h'-(\w'o'u*4/10)'e
+.ds Oe O\h'-(\w'O'u*4/10)'E
+.      \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+.      \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+.      ds : e
+.      ds 8 ss
+.      ds v \h'-1'\o'\(aa\(ga'
+.      ds _ \h'-1'^
+.      ds . \h'-1'.
+.      ds 3 3
+.      ds o a
+.      ds d- d\h'-1'\(ga
+.      ds D- D\h'-1'\(hy
+.      ds th \o'bp'
+.      ds Th \o'LP'
+.      ds ae ae
+.      ds Ae AE
+.      ds oe oe
+.      ds Oe OE
+.\}
+.rm #[ #] #H #V #F C
+.SH "NAME"
+fs getcalleraccess \- Show the current user's access to a file or directory
+.SH "SYNOPSIS"
+\fBfs getcalleraccess\fR <<\ [\fB\-path\fR\ <\fIpath\fR+] >>> [\fB\-help\fR]
+.PP
+\fBfs gca\fR <<\ [\fB\-p\fR\ <\fIpath\fR] >>> [\fB\-h\fR]
+.SH "DESCRIPTION"
+The \fBfs getcalleraccess\fR command displays the access that the current
+user has to the specified path using the same representation as \fBfs
+listacl\fR.
+.SH "OPTIONS"
+.Ip "\fB\-help\fR" 4
+Prints the online help for this command. All other valid options are
+ignored.
+.Ip "\fB\-path\fR <\fIpath\fR>+" 4
+The \fB\-path\fR option specifies the path on which to operate. \fB\-path\fR may
+be omitted. If this option isn't given, the default is to act on the
+current directory.
+.SH "OUTPUT"
+For each path, \fBfs getcalleraccess\fR outputs a line like:
+.PP
+.Vb 1
+\&    Callers access to <directory> is <rights>
+.Ve
+where <directory> is the path on which it is operating and <rights> is an
+ACL string in the same format as is returned by \fBfs listacl\fR. See
+the \fIfs_listacl(1)\fR manpage for more information about AFS ACL strings.
+.SH "EXAMPLES"
+The following command shows the current user's access to the path
+\fI/afs/openafs.org\fR, which is read and lookup access.
+.PP
+.Vb 3
+\&   % fs getcalleraccess /afs/openafs.org
+\&   Callers access to /afs/openafs.org is rl
+\&   %
+.Ve
+.SH "PRIVILEGE REQUIRED"
+No special privileges are required for this command.
+.SH "SEE ALSO"
+the \fIfs_listacl(1)\fR manpage,
+the \fIfs_setacl(1)\fR manpage
+.SH "COPYRIGHT"
+Copyright 2007 Jason Edgecombe <jason@rampaginggeek.com>
+.PP
+This documentation is covered by the IBM Public License Version 1.0. This
+man page was written by Jason Edgecombe for OpenAFS.
+
+.rn }` ''
+.IX Title "FS_GETCALLERACCESS 1"
+.IX Name "fs getcalleraccess - Show the current user's access to a file or directory"
+
+.IX Header "NAME"
+
+.IX Header "SYNOPSIS"
+
+.IX Header "DESCRIPTION"
+
+.IX Header "OPTIONS"
+
+.IX Item "\fB\-help\fR"
+
+.IX Item "\fB\-path\fR <\fIpath\fR>+"
+
+.IX Header "OUTPUT"
+
+.IX Header "EXAMPLES"
+
+.IX Header "PRIVILEGE REQUIRED"
+
+.IX Header "SEE ALSO"
+
+.IX Header "COPYRIGHT"
+
diff --git a/doc/man-pages/man1/fs_getcrypt.1 b/doc/man-pages/man1/fs_getcrypt.1
new file mode 100644 (file)
index 0000000..b1ea6b5
--- /dev/null
@@ -0,0 +1,268 @@
+.rn '' }`
+''' $RCSfile$$Revision$$Date$
+'''
+''' $Log$
+'''
+.de Sh
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp
+.if t .sp .5v
+.if n .sp
+..
+.de Ip
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.de Vb
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve
+.ft R
+
+.fi
+..
+'''
+'''
+'''     Set up \*(-- to give an unbreakable dash;
+'''     string Tr holds user defined translation string.
+'''     Bell System Logo is used as a dummy character.
+'''
+.tr \(*W-|\(bv\*(Tr
+.ie n \{\
+.ds -- \(*W-
+.ds PI pi
+.if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+.if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+.ds L" ""
+.ds R" ""
+'''   \*(M", \*(S", \*(N" and \*(T" are the equivalent of
+'''   \*(L" and \*(R", except that they are used on ".xx" lines,
+'''   such as .IP and .SH, which do another additional levels of
+'''   double-quote interpretation
+.ds M" """
+.ds S" """
+.ds N" """""
+.ds T" """""
+.ds L' '
+.ds R' '
+.ds M' '
+.ds S' '
+.ds N' '
+.ds T' '
+'br\}
+.el\{\
+.ds -- \(em\|
+.tr \*(Tr
+.ds L" ``
+.ds R" ''
+.ds M" ``
+.ds S" ''
+.ds N" ``
+.ds T" ''
+.ds L' `
+.ds R' '
+.ds M' `
+.ds S' '
+.ds N' `
+.ds T' '
+.ds PI \(*p
+'br\}
+.\"    If the F register is turned on, we'll generate
+.\"    index entries out stderr for the following things:
+.\"            TH      Title 
+.\"            SH      Header
+.\"            Sh      Subsection 
+.\"            Ip      Item
+.\"            X<>     Xref  (embedded
+.\"    Of course, you have to process the output yourself
+.\"    in some meaninful fashion.
+.if \nF \{
+.de IX
+.tm Index:\\$1\t\\n%\t"\\$2"
+..
+.nr % 0
+.rr F
+.\}
+.TH FS_GETCRYPT 1 "OpenAFS" "17/Aug/2007" "AFS Command Reference"
+.UC
+.if n .hy 0
+.if n .na
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.de CQ          \" put $1 in typewriter font
+.ft CW
+'if n "\c
+'if t \\&\\$1\c
+'if n \\&\\$1\c
+'if n \&"
+\\&\\$2 \\$3 \\$4 \\$5 \\$6 \\$7
+'.ft R
+..
+.\" @(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2
+.      \" AM - accent mark definitions
+.bd B 3
+.      \" fudge factors for nroff and troff
+.if n \{\
+.      ds #H 0
+.      ds #V .8m
+.      ds #F .3m
+.      ds #[ \f1
+.      ds #] \fP
+.\}
+.if t \{\
+.      ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+.      ds #V .6m
+.      ds #F 0
+.      ds #[ \&
+.      ds #] \&
+.\}
+.      \" simple accents for nroff and troff
+.if n \{\
+.      ds ' \&
+.      ds ` \&
+.      ds ^ \&
+.      ds , \&
+.      ds ~ ~
+.      ds ? ?
+.      ds ! !
+.      ds /
+.      ds q
+.\}
+.if t \{\
+.      ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+.      ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+.      ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+.      ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+.      ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+.      ds ? \s-2c\h'-\w'c'u*7/10'\u\h'\*(#H'\zi\d\s+2\h'\w'c'u*8/10'
+.      ds ! \s-2\(or\s+2\h'-\w'\(or'u'\v'-.8m'.\v'.8m'
+.      ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.      ds q o\h'-\w'o'u*8/10'\s-4\v'.4m'\z\(*i\v'-.4m'\s+4\h'\w'o'u*8/10'
+.\}
+.      \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds v \\k:\h'-(\\n(.wu*9/10-\*(#H)'\v'-\*(#V'\*(#[\s-4v\s0\v'\*(#V'\h'|\\n:u'\*(#]
+.ds _ \\k:\h'-(\\n(.wu*9/10-\*(#H+(\*(#F*2/3))'\v'-.4m'\z\(hy\v'.4m'\h'|\\n:u'
+.ds . \\k:\h'-(\\n(.wu*8/10)'\v'\*(#V*4/10'\z.\v'-\*(#V*4/10'\h'|\\n:u'
+.ds 3 \*(#[\v'.2m'\s-2\&3\s0\v'-.2m'\*(#]
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+.ds oe o\h'-(\w'o'u*4/10)'e
+.ds Oe O\h'-(\w'O'u*4/10)'E
+.      \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+.      \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+.      ds : e
+.      ds 8 ss
+.      ds v \h'-1'\o'\(aa\(ga'
+.      ds _ \h'-1'^
+.      ds . \h'-1'.
+.      ds 3 3
+.      ds o a
+.      ds d- d\h'-1'\(ga
+.      ds D- D\h'-1'\(hy
+.      ds th \o'bp'
+.      ds Th \o'LP'
+.      ds ae ae
+.      ds Ae AE
+.      ds oe oe
+.      ds Oe OE
+.\}
+.rm #[ #] #H #V #F C
+.SH "NAME"
+fs getcrypt \- Displays the state of encryption for AFS file transfers
+.SH "SYNOPSIS"
+\fBfs getcrypt\fR [\fB\-help\fR]
+.SH "DESCRIPTION"
+The \fBfs getcrypt\fR command shows the status of network traffic encryption
+for file traffic in the AFS client. This encryption applies to file
+traffic going to and coming from the AFS server for users with valid
+tokens. The complement of this command is \fBfs setcrypt\fR which sets the
+status of encryption on the client.
+.SH "CAUTIONS"
+AFS uses an encryption scheme called fcrypt, based on but slightly weaker
+than DES. Because fcrypt and DES are obsolete, the user must decide how
+much to trust the encryption. Consider using a Virtual Private Network at
+the IP level if better encryption is needed.
+.PP
+Encrypting file traffic requires a token. Unauthenticated connections or
+connections authorized via IP\-based ACLs will not be encrypted even when
+encryption is turned on.
+.SH "OPTIONS"
+.Ip "\fB\-help\fR" 4
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+If encryption is enabled, the output is:
+.PP
+.Vb 1
+\&   Security level is currently crypt (data security).
+.Ve
+If encryption if disabled, the output is:
+.PP
+.Vb 1
+\&   Security level is currently clear.
+.Ve
+.SH "EXAMPLES"
+There is only one way to invoke \fBfs getcrypt\fR:
+.PP
+.Vb 1
+\&   % fs getcrypt
+.Ve
+.SH "PRIVILEGE REQUIRED"
+No special priviledges are required for this command.
+.SH "SEE ALSO"
+the \fIfs_setcrypt(1)\fR manpage
+.PP
+The description of the fcrypt encryption mechanism at
+the section on \fI/surfvi.com/~ota/fcrypt-paper.txt\fR in the \fIhttp:\fR manpage.
+.SH "COPYRIGHT"
+Copyright 2007 Jason Edgecombe <jason@rampaginggeek.com>
+.PP
+This documentation is covered by the IBM Public License Version 1.0. This
+man page was written by Jason Edgecombe for OpenAFS.
+
+.rn }` ''
+.IX Title "FS_GETCRYPT 1"
+.IX Name "fs getcrypt - Displays the state of encryption for AFS file transfers"
+
+.IX Header "NAME"
+
+.IX Header "SYNOPSIS"
+
+.IX Header "DESCRIPTION"
+
+.IX Header "CAUTIONS"
+
+.IX Header "OPTIONS"
+
+.IX Item "\fB\-help\fR"
+
+.IX Header "OUTPUT"
+
+.IX Header "EXAMPLES"
+
+.IX Header "PRIVILEGE REQUIRED"
+
+.IX Header "SEE ALSO"
+
+.IX Header "COPYRIGHT"
+
diff --git a/doc/man-pages/man1/fs_listaliases.1 b/doc/man-pages/man1/fs_listaliases.1
new file mode 100644 (file)
index 0000000..7aa4610
--- /dev/null
@@ -0,0 +1,251 @@
+.rn '' }`
+''' $RCSfile$$Revision$$Date$
+'''
+''' $Log$
+'''
+.de Sh
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp
+.if t .sp .5v
+.if n .sp
+..
+.de Ip
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.de Vb
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve
+.ft R
+
+.fi
+..
+'''
+'''
+'''     Set up \*(-- to give an unbreakable dash;
+'''     string Tr holds user defined translation string.
+'''     Bell System Logo is used as a dummy character.
+'''
+.tr \(*W-|\(bv\*(Tr
+.ie n \{\
+.ds -- \(*W-
+.ds PI pi
+.if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+.if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+.ds L" ""
+.ds R" ""
+'''   \*(M", \*(S", \*(N" and \*(T" are the equivalent of
+'''   \*(L" and \*(R", except that they are used on ".xx" lines,
+'''   such as .IP and .SH, which do another additional levels of
+'''   double-quote interpretation
+.ds M" """
+.ds S" """
+.ds N" """""
+.ds T" """""
+.ds L' '
+.ds R' '
+.ds M' '
+.ds S' '
+.ds N' '
+.ds T' '
+'br\}
+.el\{\
+.ds -- \(em\|
+.tr \*(Tr
+.ds L" ``
+.ds R" ''
+.ds M" ``
+.ds S" ''
+.ds N" ``
+.ds T" ''
+.ds L' `
+.ds R' '
+.ds M' `
+.ds S' '
+.ds N' `
+.ds T' '
+.ds PI \(*p
+'br\}
+.\"    If the F register is turned on, we'll generate
+.\"    index entries out stderr for the following things:
+.\"            TH      Title 
+.\"            SH      Header
+.\"            Sh      Subsection 
+.\"            Ip      Item
+.\"            X<>     Xref  (embedded
+.\"    Of course, you have to process the output yourself
+.\"    in some meaninful fashion.
+.if \nF \{
+.de IX
+.tm Index:\\$1\t\\n%\t"\\$2"
+..
+.nr % 0
+.rr F
+.\}
+.TH FS_LISTALIASES 1 "OpenAFS" "17/Aug/2007" "AFS Command Reference"
+.UC
+.if n .hy 0
+.if n .na
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.de CQ          \" put $1 in typewriter font
+.ft CW
+'if n "\c
+'if t \\&\\$1\c
+'if n \\&\\$1\c
+'if n \&"
+\\&\\$2 \\$3 \\$4 \\$5 \\$6 \\$7
+'.ft R
+..
+.\" @(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2
+.      \" AM - accent mark definitions
+.bd B 3
+.      \" fudge factors for nroff and troff
+.if n \{\
+.      ds #H 0
+.      ds #V .8m
+.      ds #F .3m
+.      ds #[ \f1
+.      ds #] \fP
+.\}
+.if t \{\
+.      ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+.      ds #V .6m
+.      ds #F 0
+.      ds #[ \&
+.      ds #] \&
+.\}
+.      \" simple accents for nroff and troff
+.if n \{\
+.      ds ' \&
+.      ds ` \&
+.      ds ^ \&
+.      ds , \&
+.      ds ~ ~
+.      ds ? ?
+.      ds ! !
+.      ds /
+.      ds q
+.\}
+.if t \{\
+.      ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+.      ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+.      ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+.      ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+.      ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+.      ds ? \s-2c\h'-\w'c'u*7/10'\u\h'\*(#H'\zi\d\s+2\h'\w'c'u*8/10'
+.      ds ! \s-2\(or\s+2\h'-\w'\(or'u'\v'-.8m'.\v'.8m'
+.      ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.      ds q o\h'-\w'o'u*8/10'\s-4\v'.4m'\z\(*i\v'-.4m'\s+4\h'\w'o'u*8/10'
+.\}
+.      \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds v \\k:\h'-(\\n(.wu*9/10-\*(#H)'\v'-\*(#V'\*(#[\s-4v\s0\v'\*(#V'\h'|\\n:u'\*(#]
+.ds _ \\k:\h'-(\\n(.wu*9/10-\*(#H+(\*(#F*2/3))'\v'-.4m'\z\(hy\v'.4m'\h'|\\n:u'
+.ds . \\k:\h'-(\\n(.wu*8/10)'\v'\*(#V*4/10'\z.\v'-\*(#V*4/10'\h'|\\n:u'
+.ds 3 \*(#[\v'.2m'\s-2\&3\s0\v'-.2m'\*(#]
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+.ds oe o\h'-(\w'o'u*4/10)'e
+.ds Oe O\h'-(\w'O'u*4/10)'E
+.      \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+.      \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+.      ds : e
+.      ds 8 ss
+.      ds v \h'-1'\o'\(aa\(ga'
+.      ds _ \h'-1'^
+.      ds . \h'-1'.
+.      ds 3 3
+.      ds o a
+.      ds d- d\h'-1'\(ga
+.      ds D- D\h'-1'\(hy
+.      ds th \o'bp'
+.      ds Th \o'LP'
+.      ds ae ae
+.      ds Ae AE
+.      ds oe oe
+.      ds Oe OE
+.\}
+.rm #[ #] #H #V #F C
+.SH "NAME"
+fs listaliases \- Displays the current list of aliases for AFS cells
+.SH "SYNOPSIS"
+\fBfs listaliases\fR [\fB\-help\fR]
+.SH "DESCRIPTION"
+The \fBfs listaliases\fR command shows the list of cell aliases currently in
+effect, both from \fICellAlias\fR and created using \fBfs newalias\fR.  Cell
+aliases can only be used when the using a Dynamic Root (the \fB\-dynroot\fR
+option to \fBafsd\fR).
+.SH "OPTIONS"
+.Ip "\fB\-help\fR" 4
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+If an alias \f(CWopenafs\fR exists for the cell \f(CWopenafs.org\fR, the output
+include the following line:
+.PP
+.Vb 1
+\&   Alias openafs for cell openafs.org
+.Ve
+.SH "EXAMPLES"
+There is only one way to invoke \fBfs listaliases\fR:
+.PP
+.Vb 1
+\&   % fs listaliases
+.Ve
+.SH "PRIVILEGE REQUIRED"
+No special priviledges are required for this command.
+.SH "SEE ALSO"
+the \fIafsd(8)\fR manpage,
+the \fICellAlias(5)\fR manpage,
+the \fIfs_newalias(1)\fR manpage
+.SH "COPYRIGHT"
+Copyright 2007 Jason Edgecombe <jason@rampaginggeek.com>
+.PP
+This documentation is covered by the IBM Public License Version 1.0. This
+man page was written by Jason Edgecombe for OpenAFS.
+
+.rn }` ''
+.IX Title "FS_LISTALIASES 1"
+.IX Name "fs listaliases - Displays the current list of aliases for AFS cells"
+
+.IX Header "NAME"
+
+.IX Header "SYNOPSIS"
+
+.IX Header "DESCRIPTION"
+
+.IX Header "OPTIONS"
+
+.IX Item "\fB\-help\fR"
+
+.IX Header "OUTPUT"
+
+.IX Header "EXAMPLES"
+
+.IX Header "PRIVILEGE REQUIRED"
+
+.IX Header "SEE ALSO"
+
+.IX Header "COPYRIGHT"
+
diff --git a/doc/man-pages/man1/fs_newalias.1 b/doc/man-pages/man1/fs_newalias.1
new file mode 100644 (file)
index 0000000..c8af379
--- /dev/null
@@ -0,0 +1,285 @@
+.rn '' }`
+''' $RCSfile$$Revision$$Date$
+'''
+''' $Log$
+'''
+.de Sh
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp
+.if t .sp .5v
+.if n .sp
+..
+.de Ip
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.de Vb
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve
+.ft R
+
+.fi
+..
+'''
+'''
+'''     Set up \*(-- to give an unbreakable dash;
+'''     string Tr holds user defined translation string.
+'''     Bell System Logo is used as a dummy character.
+'''
+.tr \(*W-|\(bv\*(Tr
+.ie n \{\
+.ds -- \(*W-
+.ds PI pi
+.if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+.if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+.ds L" ""
+.ds R" ""
+'''   \*(M", \*(S", \*(N" and \*(T" are the equivalent of
+'''   \*(L" and \*(R", except that they are used on ".xx" lines,
+'''   such as .IP and .SH, which do another additional levels of
+'''   double-quote interpretation
+.ds M" """
+.ds S" """
+.ds N" """""
+.ds T" """""
+.ds L' '
+.ds R' '
+.ds M' '
+.ds S' '
+.ds N' '
+.ds T' '
+'br\}
+.el\{\
+.ds -- \(em\|
+.tr \*(Tr
+.ds L" ``
+.ds R" ''
+.ds M" ``
+.ds S" ''
+.ds N" ``
+.ds T" ''
+.ds L' `
+.ds R' '
+.ds M' `
+.ds S' '
+.ds N' `
+.ds T' '
+.ds PI \(*p
+'br\}
+.\"    If the F register is turned on, we'll generate
+.\"    index entries out stderr for the following things:
+.\"            TH      Title 
+.\"            SH      Header
+.\"            Sh      Subsection 
+.\"            Ip      Item
+.\"            X<>     Xref  (embedded
+.\"    Of course, you have to process the output yourself
+.\"    in some meaninful fashion.
+.if \nF \{
+.de IX
+.tm Index:\\$1\t\\n%\t"\\$2"
+..
+.nr % 0
+.rr F
+.\}
+.TH FS_NEWALIAS 1 "OpenAFS" "5/Aug/2007" "AFS Command Reference"
+.UC
+.if n .hy 0
+.if n .na
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.de CQ          \" put $1 in typewriter font
+.ft CW
+'if n "\c
+'if t \\&\\$1\c
+'if n \\&\\$1\c
+'if n \&"
+\\&\\$2 \\$3 \\$4 \\$5 \\$6 \\$7
+'.ft R
+..
+.\" @(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2
+.      \" AM - accent mark definitions
+.bd B 3
+.      \" fudge factors for nroff and troff
+.if n \{\
+.      ds #H 0
+.      ds #V .8m
+.      ds #F .3m
+.      ds #[ \f1
+.      ds #] \fP
+.\}
+.if t \{\
+.      ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+.      ds #V .6m
+.      ds #F 0
+.      ds #[ \&
+.      ds #] \&
+.\}
+.      \" simple accents for nroff and troff
+.if n \{\
+.      ds ' \&
+.      ds ` \&
+.      ds ^ \&
+.      ds , \&
+.      ds ~ ~
+.      ds ? ?
+.      ds ! !
+.      ds /
+.      ds q
+.\}
+.if t \{\
+.      ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+.      ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+.      ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+.      ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+.      ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+.      ds ? \s-2c\h'-\w'c'u*7/10'\u\h'\*(#H'\zi\d\s+2\h'\w'c'u*8/10'
+.      ds ! \s-2\(or\s+2\h'-\w'\(or'u'\v'-.8m'.\v'.8m'
+.      ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.      ds q o\h'-\w'o'u*8/10'\s-4\v'.4m'\z\(*i\v'-.4m'\s+4\h'\w'o'u*8/10'
+.\}
+.      \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds v \\k:\h'-(\\n(.wu*9/10-\*(#H)'\v'-\*(#V'\*(#[\s-4v\s0\v'\*(#V'\h'|\\n:u'\*(#]
+.ds _ \\k:\h'-(\\n(.wu*9/10-\*(#H+(\*(#F*2/3))'\v'-.4m'\z\(hy\v'.4m'\h'|\\n:u'
+.ds . \\k:\h'-(\\n(.wu*8/10)'\v'\*(#V*4/10'\z.\v'-\*(#V*4/10'\h'|\\n:u'
+.ds 3 \*(#[\v'.2m'\s-2\&3\s0\v'-.2m'\*(#]
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+.ds oe o\h'-(\w'o'u*4/10)'e
+.ds Oe O\h'-(\w'O'u*4/10)'E
+.      \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+.      \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+.      ds : e
+.      ds 8 ss
+.      ds v \h'-1'\o'\(aa\(ga'
+.      ds _ \h'-1'^
+.      ds . \h'-1'.
+.      ds 3 3
+.      ds o a
+.      ds d- d\h'-1'\(ga
+.      ds D- D\h'-1'\(hy
+.      ds th \o'bp'
+.      ds Th \o'LP'
+.      ds ae ae
+.      ds Ae AE
+.      ds oe oe
+.      ds Oe OE
+.\}
+.rm #[ #] #H #V #F C
+.SH "NAME"
+fs newalias \- Creates a new alias for a cell
+.SH "SYNOPSIS"
+\fBfs newalias\fR <<\ [\fB\-alias\fR]\ <\fIalias\ name\fR >>>
+    <<\ [\fB\-name\fR]\ <\fIcell\ name\fR >>> [\fB\-help\fR]
+.SH "DESCRIPTION"
+The \fBfs newalias\fR command is used when the AFS Cache Manager is in
+Dynamic Root (\fB\-dynroot\fR) mode. It creates a symbolic link in \fI/afs\fR
+from an alias to the full name of the cell. It also creates a symbolic
+link from the alias prepended with \f(CW.\fR to the full name of the cell
+prepended with \f(CW.\fR, the convention for access to the read/write version
+of the \f(CWroot.cell\fR volume of that cell.
+.PP
+This command is used to supplement aliases created via the \fICellAlias\fR
+configuration file when \fBafsd\fR starts.
+.PP
+Traditionally, these aliases would be created by the local AFS
+administrator by creating symbolic links in the \f(CWroot.afs\fR volume. Such
+symlinks do not appear when Dynamic Root is enabled because, with Dynamic
+Root, the Cache Manager does not mount or look at the \f(CWroot.afs\fR
+volume. This alias capability is a replacement that allows such short
+names to be created under client control.
+.SH "CAUTIONS"
+Aliases created with \fBfs newcell\fR are only temporary and will be lost
+when the AFS Cache Manager is restarted or the client machine is
+rebooted. In order to make the alias permanent, it must be put into the
+\fICellAlias\fR file.
+.PP
+There is no way to remove an alias once created without restarting the
+AFS Cache Manager.
+.SH "OPTIONS"
+.Ip "\fB\-alias\fR <\fIalias name\fR>" 4
+This is the short name to which the user wants to map the real cell name.
+.Ip "\fB\-name\fR <\fIcell name\fR>" 4
+This is the real cell name.
+.Ip "\fB\-help\fR" 4
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+This command has no output.
+.SH "EXAMPLES"
+There are two ways to call \fBfs newalias\fR:
+.PP
+.Vb 2
+\&   % fs newalias openafs openafs.org
+\&   % fs newalias -alias openafs -name openafs.org
+.Ve
+Both of the above examples create an alias \f(CWopenafs\fR for the cell
+\f(CWopenafs.org\fR. Two links wil be created in \fI/afs\fR:
+.PP
+.Vb 2
+\&   /afs/openafs   ->  /afs/openafs.org
+\&   /afs/.openafs  ->  /afs/.openafs.org
+.Ve
+.SH "PRIVILEGE REQUIRED"
+The issuer must be logged in as the local superuser root.
+.SH "SEE ALSO"
+the \fIafsd(8)\fR manpage,
+the \fICellAlias(5)\fR manpage,
+the \fIfs_listaliases(1)\fR manpage
+.SH "COPYRIGHT"
+Copyright 2007 Jason Edgecombe <jason@rampaginggeek.com>
+.PP
+This documentation is covered by the IBM Public License Version 1.0. This
+man page was written by Jason Edgecombe for OpenAFS.
+
+.rn }` ''
+.IX Title "FS_NEWALIAS 1"
+.IX Name "fs newalias - Creates a new alias for a cell"
+
+.IX Header "NAME"
+
+.IX Header "SYNOPSIS"
+
+.IX Header "DESCRIPTION"
+
+.IX Header "CAUTIONS"
+
+.IX Header "OPTIONS"
+
+.IX Item "\fB\-alias\fR <\fIalias name\fR>"
+
+.IX Item "\fB\-name\fR <\fIcell name\fR>"
+
+.IX Item "\fB\-help\fR"
+
+.IX Header "OUTPUT"
+
+.IX Header "EXAMPLES"
+
+.IX Header "PRIVILEGE REQUIRED"
+
+.IX Header "SEE ALSO"
+
+.IX Header "COPYRIGHT"
+
diff --git a/doc/man-pages/man1/fs_setcrypt.1 b/doc/man-pages/man1/fs_setcrypt.1
new file mode 100644 (file)
index 0000000..e69d30b
--- /dev/null
@@ -0,0 +1,286 @@
+.rn '' }`
+''' $RCSfile$$Revision$$Date$
+'''
+''' $Log$
+'''
+.de Sh
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp
+.if t .sp .5v
+.if n .sp
+..
+.de Ip
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.de Vb
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve
+.ft R
+
+.fi
+..
+'''
+'''
+'''     Set up \*(-- to give an unbreakable dash;
+'''     string Tr holds user defined translation string.
+'''     Bell System Logo is used as a dummy character.
+'''
+.tr \(*W-|\(bv\*(Tr
+.ie n \{\
+.ds -- \(*W-
+.ds PI pi
+.if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+.if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+.ds L" ""
+.ds R" ""
+'''   \*(M", \*(S", \*(N" and \*(T" are the equivalent of
+'''   \*(L" and \*(R", except that they are used on ".xx" lines,
+'''   such as .IP and .SH, which do another additional levels of
+'''   double-quote interpretation
+.ds M" """
+.ds S" """
+.ds N" """""
+.ds T" """""
+.ds L' '
+.ds R' '
+.ds M' '
+.ds S' '
+.ds N' '
+.ds T' '
+'br\}
+.el\{\
+.ds -- \(em\|
+.tr \*(Tr
+.ds L" ``
+.ds R" ''
+.ds M" ``
+.ds S" ''
+.ds N" ``
+.ds T" ''
+.ds L' `
+.ds R' '
+.ds M' `
+.ds S' '
+.ds N' `
+.ds T' '
+.ds PI \(*p
+'br\}
+.\"    If the F register is turned on, we'll generate
+.\"    index entries out stderr for the following things:
+.\"            TH      Title 
+.\"            SH      Header
+.\"            Sh      Subsection 
+.\"            Ip      Item
+.\"            X<>     Xref  (embedded
+.\"    Of course, you have to process the output yourself
+.\"    in some meaninful fashion.
+.if \nF \{
+.de IX
+.tm Index:\\$1\t\\n%\t"\\$2"
+..
+.nr % 0
+.rr F
+.\}
+.TH FS_SETCRYPT 1 "OpenAFS" "5/Aug/2007" "AFS Command Reference"
+.UC
+.if n .hy 0
+.if n .na
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.de CQ          \" put $1 in typewriter font
+.ft CW
+'if n "\c
+'if t \\&\\$1\c
+'if n \\&\\$1\c
+'if n \&"
+\\&\\$2 \\$3 \\$4 \\$5 \\$6 \\$7
+'.ft R
+..
+.\" @(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2
+.      \" AM - accent mark definitions
+.bd B 3
+.      \" fudge factors for nroff and troff
+.if n \{\
+.      ds #H 0
+.      ds #V .8m
+.      ds #F .3m
+.      ds #[ \f1
+.      ds #] \fP
+.\}
+.if t \{\
+.      ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+.      ds #V .6m
+.      ds #F 0
+.      ds #[ \&
+.      ds #] \&
+.\}
+.      \" simple accents for nroff and troff
+.if n \{\
+.      ds ' \&
+.      ds ` \&
+.      ds ^ \&
+.      ds , \&
+.      ds ~ ~
+.      ds ? ?
+.      ds ! !
+.      ds /
+.      ds q
+.\}
+.if t \{\
+.      ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+.      ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+.      ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+.      ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+.      ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+.      ds ? \s-2c\h'-\w'c'u*7/10'\u\h'\*(#H'\zi\d\s+2\h'\w'c'u*8/10'
+.      ds ! \s-2\(or\s+2\h'-\w'\(or'u'\v'-.8m'.\v'.8m'
+.      ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.      ds q o\h'-\w'o'u*8/10'\s-4\v'.4m'\z\(*i\v'-.4m'\s+4\h'\w'o'u*8/10'
+.\}
+.      \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds v \\k:\h'-(\\n(.wu*9/10-\*(#H)'\v'-\*(#V'\*(#[\s-4v\s0\v'\*(#V'\h'|\\n:u'\*(#]
+.ds _ \\k:\h'-(\\n(.wu*9/10-\*(#H+(\*(#F*2/3))'\v'-.4m'\z\(hy\v'.4m'\h'|\\n:u'
+.ds . \\k:\h'-(\\n(.wu*8/10)'\v'\*(#V*4/10'\z.\v'-\*(#V*4/10'\h'|\\n:u'
+.ds 3 \*(#[\v'.2m'\s-2\&3\s0\v'-.2m'\*(#]
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+.ds oe o\h'-(\w'o'u*4/10)'e
+.ds Oe O\h'-(\w'O'u*4/10)'E
+.      \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+.      \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+.      ds : e
+.      ds 8 ss
+.      ds v \h'-1'\o'\(aa\(ga'
+.      ds _ \h'-1'^
+.      ds . \h'-1'.
+.      ds 3 3
+.      ds o a
+.      ds d- d\h'-1'\(ga
+.      ds D- D\h'-1'\(hy
+.      ds th \o'bp'
+.      ds Th \o'LP'
+.      ds ae ae
+.      ds Ae AE
+.      ds oe oe
+.      ds Oe OE
+.\}
+.rm #[ #] #H #V #F C
+.SH "NAME"
+fs setcrypt \- Enables of disables the encryption of AFS file transfers
+.SH "SYNOPSIS"
+\fBfs setcrypt\fR <<\ [\fB\-crypt\fR]\ <\fIon/off\fR >>> [\fB\-help\fR]
+.SH "DESCRIPTION"
+The \fBfs setcrypt\fR command sets the status of network traffic encryption
+for file traffic in the AFS client. This encryption applies to file
+traffic going to and coming from the AFS File Server for users with valid
+tokens.  This command does not control the encryption used for
+authentication, which uses Kerberos 5 or klog/kaserver. The complement of
+this command is \fBfs getcrypt\fR, which shows the status of encryption on
+the client.
+.PP
+The default encryption status is enabled.
+.PP
+This is a global setting and applies to all subsequent connections to an
+AFS File Server from this Cache Manager. There is no way to enable or
+disable encryption for specific connections.
+.SH "CAUTIONS"
+AFS uses an encryption scheme called fcrypt, based on but slightly weaker
+than DES, and there is currently no way to specify a different encryption
+mechanism. Because fcrypt and DES are obsolete, the user must decide how
+much to trust the encryption. Consider using a Virtual Private Network at
+the IP level if better encryption is needed.
+.PP
+Encrypting file traffic requires a token. Unauthenticated connections or
+connections authorized via IP\-based ACLs will not be encrypted even when
+encryption is turned on.
+.SH "OPTIONS"
+.Ip "\fB\-crypt\fR <\fIon/off\fR>" 4
+This is the only option to \fBfs setcrypt\fR. The \fB\-crypt\fR option takes
+either \f(CWon\fR or \f(CWoff\fR. \f(CWon\fR enables encryption. \f(CWoff\fR disables
+encryption. Since this is the only option, the \f(CW-crypt\fR flag may be
+omitted.
+.Sp
+\f(CW0\fR and \f(CW1\fR or \f(CWtrue\fR and \f(CWfalse\fR are not supported as replacements
+for \f(CWon\fR and \f(CWoff\fR.
+.Ip "\fB\-help\fR" 4
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+This command produces no output other than error messages.
+.SH "EXAMPLES"
+There are only four ways to invoke \fBfs setcrypt\fR.  Either of:
+.PP
+.Vb 2
+\&   % fs setcrypt -crypt on
+\&   % fs setcrypt on
+.Ve
+will enable encryption for authenticated connections and:
+.PP
+.Vb 2
+\&   % fs setcrypt -crypt off
+\&   % fs setcrypt off
+.Ve
+will disable encryption.
+.SH "PRIVILEGE REQUIRED"
+The issuer must be logged in as the local superuser root.
+.SH "SEE ALSO"
+the \fIfs_getcrypt(1)\fR manpage
+.PP
+The description of the fcrypt encryption mechanism at
+the section on \fI/surfvi.com/~ota/fcrypt-paper.txt\fR in the \fIhttp:\fR manpage.
+.SH "COPYRIGHT"
+Copyright 2007 Jason Edgecombe <jason@rampaginggeek.com>
+.PP
+This documentation is covered by the IBM Public License Version 1.0. This
+man page was written by Jason Edgecombe for OpenAFS.
+
+.rn }` ''
+.IX Title "FS_SETCRYPT 1"
+.IX Name "fs setcrypt - Enables of disables the encryption of AFS file transfers"
+
+.IX Header "NAME"
+
+.IX Header "SYNOPSIS"
+
+.IX Header "DESCRIPTION"
+
+.IX Header "CAUTIONS"
+
+.IX Header "OPTIONS"
+
+.IX Item "\fB\-crypt\fR <\fIon/off\fR>"
+
+.IX Item "\fB\-help\fR"
+
+.IX Header "OUTPUT"
+
+.IX Header "EXAMPLES"
+
+.IX Header "PRIVILEGE REQUIRED"
+
+.IX Header "SEE ALSO"
+
+.IX Header "COPYRIGHT"
+
index f1968cbcd3669172e673bf815e7b3dd8ad65879f..1d81e74ec70dbac32aa2f75672e2a7bfd8f05b01 100644 (file)
@@ -93,7 +93,7 @@
 .nr % 0
 .rr F
 .\}
-.TH KLOG 1 "OpenAFS" "1/Mar/2006" "AFS Command Reference"
+.TH KLOG 1 "OpenAFS" "27/Jul/2007" "AFS Command Reference"
 .UC
 .if n .hy 0
 .if n .na
@@ -227,8 +227,12 @@ token per cell per connection to the client machine. If the user's
 credential structure already contains a token for the requested cell, the
 token resulting from this command replaces it.
 .PP
-Sites that employ standard Kerberos authentication instead of the AFS
-Authentication Server must use the Kerberos version of this command,
+Sites that employ Kerberos authentication instead of the AFS
+Authentication Server should normally use the combination of \fBkinit\fR and
+\fBaklog\fR instead of \fBklog\fR.
+.PP
+Sites using Kerberos v4 authentication (perhaps with the AFS
+Authentication Server) must use the Kerberos version of this command,
 \fBklog.krb\fR, on all client machines. It automatically places the issuer's
 Kerberos tickets in the file named by the KRBTKFILE environment variable,
 which the \fBpagsh.krb\fR command defines automatically as \fI/tmp/tktp\fIX\fR\fR
index 2c0c0b4c9493a67c252471334d710dda85806f29..6a8714568e6c1f8b672cc3b740fb65e1b34823b2 100644 (file)
@@ -93,7 +93,7 @@
 .nr % 0
 .rr F
 .\}
-.TH PTS 1 "OpenAFS" "5/Jan/2006" "AFS Command Reference"
+.TH PTS 1 "OpenAFS" "17/Aug/2007" "AFS Command Reference"
 .UC
 .if n .hy 0
 .if n .na
@@ -226,6 +226,11 @@ other than membership: \fBpts chown\fR, \fBpts examine\fR, \fBpts listentries\fR
 Commands to set and examine the counters used when assigning IDs to users
 and groups: \fBpts listmax\fR and \fBpts setmax\fR.
 .Ip "\(bu" 4
+Commands to run commands interactively: \fBpts interactive\fR, \fBpts
+sleep\fR, and \fBpts quit\fR.
+.Ip "\(bu" 4
+A command to run commands from a file: \fBpts source\fR.
+.Ip "\(bu" 4
 Commands to obtain help: \fBpts apropos\fR and \fBpts help\fR.
 .SH "OPTIONS"
 The following arguments and flags are available on many commands in the
@@ -282,14 +287,18 @@ the \fIpts_createuser(1)\fR manpage,
 the \fIpts_delete(1)\fR manpage,
 the \fIpts_examine(1)\fR manpage,
 the \fIpts_help(1)\fR manpage,
+the \fIpts_interactive(1)\fR manpage,
 the \fIpts_listentries(1)\fR manpage,
 the \fIpts_listmax(1)\fR manpage,
 the \fIpts_listowned(1)\fR manpage,
 the \fIpts_membership(1)\fR manpage,
+the \fIpts_quit(1)\fR manpage,
 the \fIpts_removeuser(1)\fR manpage,
 the \fIpts_rename(1)\fR manpage,
 the \fIpts_setfields(1)\fR manpage,
-the \fIpts_setmax(1)\fR manpage
+the \fIpts_setmax(1)\fR manpage,
+the \fIpts_sleep(1)\fR manpage,
+the \fIpts_source(1)\fR manpage
 .SH "COPYRIGHT"
 IBM Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
 .PP
@@ -315,6 +324,10 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
 
 .IX Item "\(bu"
 
+.IX Item "\(bu"
+
+.IX Item "\(bu"
+
 .IX Header "OPTIONS"
 
 .IX Item "\fB\-cell\fR <\fIcell name\fR>"
diff --git a/doc/man-pages/man1/pts_interactive.1 b/doc/man-pages/man1/pts_interactive.1
new file mode 100644 (file)
index 0000000..cb357c1
--- /dev/null
@@ -0,0 +1,306 @@
+.rn '' }`
+''' $RCSfile$$Revision$$Date$
+'''
+''' $Log$
+'''
+.de Sh
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp
+.if t .sp .5v
+.if n .sp
+..
+.de Ip
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.de Vb
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve
+.ft R
+
+.fi
+..
+'''
+'''
+'''     Set up \*(-- to give an unbreakable dash;
+'''     string Tr holds user defined translation string.
+'''     Bell System Logo is used as a dummy character.
+'''
+.tr \(*W-|\(bv\*(Tr
+.ie n \{\
+.ds -- \(*W-
+.ds PI pi
+.if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+.if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+.ds L" ""
+.ds R" ""
+'''   \*(M", \*(S", \*(N" and \*(T" are the equivalent of
+'''   \*(L" and \*(R", except that they are used on ".xx" lines,
+'''   such as .IP and .SH, which do another additional levels of
+'''   double-quote interpretation
+.ds M" """
+.ds S" """
+.ds N" """""
+.ds T" """""
+.ds L' '
+.ds R' '
+.ds M' '
+.ds S' '
+.ds N' '
+.ds T' '
+'br\}
+.el\{\
+.ds -- \(em\|
+.tr \*(Tr
+.ds L" ``
+.ds R" ''
+.ds M" ``
+.ds S" ''
+.ds N" ``
+.ds T" ''
+.ds L' `
+.ds R' '
+.ds M' `
+.ds S' '
+.ds N' `
+.ds T' '
+.ds PI \(*p
+'br\}
+.\"    If the F register is turned on, we'll generate
+.\"    index entries out stderr for the following things:
+.\"            TH      Title 
+.\"            SH      Header
+.\"            Sh      Subsection 
+.\"            Ip      Item
+.\"            X<>     Xref  (embedded
+.\"    Of course, you have to process the output yourself
+.\"    in some meaninful fashion.
+.if \nF \{
+.de IX
+.tm Index:\\$1\t\\n%\t"\\$2"
+..
+.nr % 0
+.rr F
+.\}
+.TH PTS_INTERACTIVE 1 "OpenAFS" "17/Aug/2007" "AFS Command Reference"
+.UC
+.if n .hy 0
+.if n .na
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.de CQ          \" put $1 in typewriter font
+.ft CW
+'if n "\c
+'if t \\&\\$1\c
+'if n \\&\\$1\c
+'if n \&"
+\\&\\$2 \\$3 \\$4 \\$5 \\$6 \\$7
+'.ft R
+..
+.\" @(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2
+.      \" AM - accent mark definitions
+.bd B 3
+.      \" fudge factors for nroff and troff
+.if n \{\
+.      ds #H 0
+.      ds #V .8m
+.      ds #F .3m
+.      ds #[ \f1
+.      ds #] \fP
+.\}
+.if t \{\
+.      ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+.      ds #V .6m
+.      ds #F 0
+.      ds #[ \&
+.      ds #] \&
+.\}
+.      \" simple accents for nroff and troff
+.if n \{\
+.      ds ' \&
+.      ds ` \&
+.      ds ^ \&
+.      ds , \&
+.      ds ~ ~
+.      ds ? ?
+.      ds ! !
+.      ds /
+.      ds q
+.\}
+.if t \{\
+.      ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+.      ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+.      ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+.      ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+.      ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+.      ds ? \s-2c\h'-\w'c'u*7/10'\u\h'\*(#H'\zi\d\s+2\h'\w'c'u*8/10'
+.      ds ! \s-2\(or\s+2\h'-\w'\(or'u'\v'-.8m'.\v'.8m'
+.      ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.      ds q o\h'-\w'o'u*8/10'\s-4\v'.4m'\z\(*i\v'-.4m'\s+4\h'\w'o'u*8/10'
+.\}
+.      \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds v \\k:\h'-(\\n(.wu*9/10-\*(#H)'\v'-\*(#V'\*(#[\s-4v\s0\v'\*(#V'\h'|\\n:u'\*(#]
+.ds _ \\k:\h'-(\\n(.wu*9/10-\*(#H+(\*(#F*2/3))'\v'-.4m'\z\(hy\v'.4m'\h'|\\n:u'
+.ds . \\k:\h'-(\\n(.wu*8/10)'\v'\*(#V*4/10'\z.\v'-\*(#V*4/10'\h'|\\n:u'
+.ds 3 \*(#[\v'.2m'\s-2\&3\s0\v'-.2m'\*(#]
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+.ds oe o\h'-(\w'o'u*4/10)'e
+.ds Oe O\h'-(\w'O'u*4/10)'E
+.      \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+.      \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+.      ds : e
+.      ds 8 ss
+.      ds v \h'-1'\o'\(aa\(ga'
+.      ds _ \h'-1'^
+.      ds . \h'-1'.
+.      ds 3 3
+.      ds o a
+.      ds d- d\h'-1'\(ga
+.      ds D- D\h'-1'\(hy
+.      ds th \o'bp'
+.      ds Th \o'LP'
+.      ds ae ae
+.      ds Ae AE
+.      ds oe oe
+.      ds Oe OE
+.\}
+.rm #[ #] #H #V #F C
+.SH "NAME"
+pts interactive \- Enters interactive mode
+.SH "SYNOPSIS"
+\fBpts interactive\fR <<\ [\fB\-cell\fR]\ <\fIcell\ name\fR >>> [\fB\-noauth\fR]
+    [\fB\-force\fR]
+.PP
+\fBpts in\fR <<\ [\fB\-c\fR]\ <\fIcell\ name\fR >>> [\fB\-n\fR] [\fB\-f\fR]
+.SH "DESCRIPTION"
+The \fBpts interactive\fR command allows the user to enter an interactive
+mode, useful for running bulk commands like creating new users or groups.
+.SH "CAUTIONS"
+Prior to OpenAFS 1.4.5 and OpenAFS 1.5.23, the \fBpts interactive\fR command
+was only available on Unix or Linux and when OpenAFS was compiled with the
+supergroups option (disabled by default).  As of OpenAFS 1.4.5 and 1.5.23,
+it is always available.
+.PP
+Running bulk \fBpts\fR commands may degrade the performance of the Protection
+Server while they are run and server resources may not be released
+immediately after commands are run. The \fBpts sleep\fR command can be used
+in interactive mode or with \fBpts source\fR to give the Protection Server a
+change to catch up.
+.SH "OPTIONS"
+\fBpts interactive\fR only takes the standard \fBpts\fR options.
+.Ip "\fB\-cell\fR <\fIcell name\fR>" 4
+Names the cell in which to run the command. For more details, see
+the \fIpts(1)\fR manpage.
+.Ip "\fB\-force\fR" 4
+Enables the command to continue executing as far as possible when errors
+or other problems occur, rather than halting execution at the first error.
+This is useful for bulk operations where you would like to continue even
+if one of many operations fails.
+.Ip "\fB\-noauth\fR" 4
+Assigns the unprivileged identity anonymous to the issuer. For more
+details, see the \fIpts(1)\fR manpage.
+.SH "OUTPUT"
+The output is the same as if each individual command were run from the
+command line.
+.SH "EXAMPLES"
+Here is an example of a \fBpts interactive\fR session:
+.PP
+.Vb 28
+\&   % pts interactive
+\&   pts> examine admin
+\&   Name: admin, id: 1, owner: system:administrators, creator: anonymous,
+\&     membership: 2, flags: S----, group quota: 20.
+\&   pts> help
+\&   pts: Commands are:
+\&   adduser         add a user to a group
+\&   apropos         search by help text
+\&   chown           change ownership of a group
+\&   creategroup     create a new group
+\&   createuser      create a new user
+\&   delete          delete a user or group from database
+\&   examine         examine an entry
+\&   help            get help on commands
+\&   interactive     enter interactive mode
+\&   listentries     list users/groups in the protection database
+\&   listmax         list max id
+\&   listowned       list groups owned by an entry or zero id gets orphaned groups
+\&   membership      list membership of a user or group
+\&   quit            exit program
+\&   removeuser      remove a user from a group
+\&   rename          rename user or group
+\&   setfields       set fields for an entry
+\&   setmax          set max id
+\&   sleep           pause for a bit
+\&   source          read commands from file
+\&   pts> quit
+\&   %
+.Ve
+.SH "PRIVILEGE REQUIRED"
+The same privilege is required to run the command in interactive mode as
+is required to run the command by itself on the command line. Some
+commands such as \fBpts createuser\fR require that the user belong to the
+system:administrators group, while others do not.
+.SH "SEE ALSO"
+the \fIpts(1)\fR manpage,
+the \fIpts_quit(1)\fR manpage,
+the \fIpts_sleep(1)\fR manpage,
+the \fIpts_source(1)\fR manpage,
+the \fIptserver(8)\fR manpage
+.SH "COPYRIGHT"
+Copyright 2007 Jason Edgecombe <jason@rampaginggeek.com>
+.PP
+This documentation is covered by the IBM Public License Version 1.0. This
+man page was written by Jason Edgecombe for OpenAFS.
+
+.rn }` ''
+.IX Title "PTS_INTERACTIVE 1"
+.IX Name "pts interactive - Enters interactive mode"
+
+.IX Header "NAME"
+
+.IX Header "SYNOPSIS"
+
+.IX Header "DESCRIPTION"
+
+.IX Header "CAUTIONS"
+
+.IX Header "OPTIONS"
+
+.IX Item "\fB\-cell\fR <\fIcell name\fR>"
+
+.IX Item "\fB\-force\fR"
+
+.IX Item "\fB\-noauth\fR"
+
+.IX Header "OUTPUT"
+
+.IX Header "EXAMPLES"
+
+.IX Header "PRIVILEGE REQUIRED"
+
+.IX Header "SEE ALSO"
+
+.IX Header "COPYRIGHT"
+
diff --git a/doc/man-pages/man1/pts_quit.1 b/doc/man-pages/man1/pts_quit.1
new file mode 100644 (file)
index 0000000..892f641
--- /dev/null
@@ -0,0 +1,263 @@
+.rn '' }`
+''' $RCSfile$$Revision$$Date$
+'''
+''' $Log$
+'''
+.de Sh
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp
+.if t .sp .5v
+.if n .sp
+..
+.de Ip
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.de Vb
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve
+.ft R
+
+.fi
+..
+'''
+'''
+'''     Set up \*(-- to give an unbreakable dash;
+'''     string Tr holds user defined translation string.
+'''     Bell System Logo is used as a dummy character.
+'''
+.tr \(*W-|\(bv\*(Tr
+.ie n \{\
+.ds -- \(*W-
+.ds PI pi
+.if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+.if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+.ds L" ""
+.ds R" ""
+'''   \*(M", \*(S", \*(N" and \*(T" are the equivalent of
+'''   \*(L" and \*(R", except that they are used on ".xx" lines,
+'''   such as .IP and .SH, which do another additional levels of
+'''   double-quote interpretation
+.ds M" """
+.ds S" """
+.ds N" """""
+.ds T" """""
+.ds L' '
+.ds R' '
+.ds M' '
+.ds S' '
+.ds N' '
+.ds T' '
+'br\}
+.el\{\
+.ds -- \(em\|
+.tr \*(Tr
+.ds L" ``
+.ds R" ''
+.ds M" ``
+.ds S" ''
+.ds N" ``
+.ds T" ''
+.ds L' `
+.ds R' '
+.ds M' `
+.ds S' '
+.ds N' `
+.ds T' '
+.ds PI \(*p
+'br\}
+.\"    If the F register is turned on, we'll generate
+.\"    index entries out stderr for the following things:
+.\"            TH      Title 
+.\"            SH      Header
+.\"            Sh      Subsection 
+.\"            Ip      Item
+.\"            X<>     Xref  (embedded
+.\"    Of course, you have to process the output yourself
+.\"    in some meaninful fashion.
+.if \nF \{
+.de IX
+.tm Index:\\$1\t\\n%\t"\\$2"
+..
+.nr % 0
+.rr F
+.\}
+.TH PTS_QUIT 1 "OpenAFS" "17/Aug/2007" "AFS Command Reference"
+.UC
+.if n .hy 0
+.if n .na
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.de CQ          \" put $1 in typewriter font
+.ft CW
+'if n "\c
+'if t \\&\\$1\c
+'if n \\&\\$1\c
+'if n \&"
+\\&\\$2 \\$3 \\$4 \\$5 \\$6 \\$7
+'.ft R
+..
+.\" @(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2
+.      \" AM - accent mark definitions
+.bd B 3
+.      \" fudge factors for nroff and troff
+.if n \{\
+.      ds #H 0
+.      ds #V .8m
+.      ds #F .3m
+.      ds #[ \f1
+.      ds #] \fP
+.\}
+.if t \{\
+.      ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+.      ds #V .6m
+.      ds #F 0
+.      ds #[ \&
+.      ds #] \&
+.\}
+.      \" simple accents for nroff and troff
+.if n \{\
+.      ds ' \&
+.      ds ` \&
+.      ds ^ \&
+.      ds , \&
+.      ds ~ ~
+.      ds ? ?
+.      ds ! !
+.      ds /
+.      ds q
+.\}
+.if t \{\
+.      ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+.      ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+.      ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+.      ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+.      ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+.      ds ? \s-2c\h'-\w'c'u*7/10'\u\h'\*(#H'\zi\d\s+2\h'\w'c'u*8/10'
+.      ds ! \s-2\(or\s+2\h'-\w'\(or'u'\v'-.8m'.\v'.8m'
+.      ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.      ds q o\h'-\w'o'u*8/10'\s-4\v'.4m'\z\(*i\v'-.4m'\s+4\h'\w'o'u*8/10'
+.\}
+.      \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds v \\k:\h'-(\\n(.wu*9/10-\*(#H)'\v'-\*(#V'\*(#[\s-4v\s0\v'\*(#V'\h'|\\n:u'\*(#]
+.ds _ \\k:\h'-(\\n(.wu*9/10-\*(#H+(\*(#F*2/3))'\v'-.4m'\z\(hy\v'.4m'\h'|\\n:u'
+.ds . \\k:\h'-(\\n(.wu*8/10)'\v'\*(#V*4/10'\z.\v'-\*(#V*4/10'\h'|\\n:u'
+.ds 3 \*(#[\v'.2m'\s-2\&3\s0\v'-.2m'\*(#]
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+.ds oe o\h'-(\w'o'u*4/10)'e
+.ds Oe O\h'-(\w'O'u*4/10)'E
+.      \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+.      \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+.      ds : e
+.      ds 8 ss
+.      ds v \h'-1'\o'\(aa\(ga'
+.      ds _ \h'-1'^
+.      ds . \h'-1'.
+.      ds 3 3
+.      ds o a
+.      ds d- d\h'-1'\(ga
+.      ds D- D\h'-1'\(hy
+.      ds th \o'bp'
+.      ds Th \o'LP'
+.      ds ae ae
+.      ds Ae AE
+.      ds oe oe
+.      ds Oe OE
+.\}
+.rm #[ #] #H #V #F C
+.SH "NAME"
+pts quit \- Exit from pts interactive mode
+.SH "SYNOPSIS"
+\fBpts quit\fR <<\ [\fB\-cell\fR]\ <\fIcell\ name\fR >>> [\fB\-noauth\fR] [\fB\-force\fR]
+.PP
+\fBpts q\fR <<\ [\fB\-c\fR]\ <\fIcell\ name\fR >>> [\fB\-n\fR] [\fB\-f\fR]
+.SH "DESCRIPTION"
+The \fBpts quit\fR command exits from \fBpts interactive\fR mode.  The command
+can be run from the command line or interactively, but on the command line
+it does nothing and is therefore of questionable utility.
+.SH "CAUTIONS"
+Prior to OpenAFS 1.4.5 and OpenAFS 1.5.23, the \fBpts quit\fR command was
+only available on Unix or Linux and when OpenAFS was compiled with the
+supergroups option (disabled by default).  As of OpenAFS 1.4.5 and 1.5.23,
+it is always available.
+.SH "OPTIONS"
+Although they have no effect, \fBpts quit\fR takes the following standard
+\fBpts\fR options:
+.Ip "\fB\-cell\fR <\fIcell name\fR>" 4
+Names the cell in which to run the command. For more details, see
+the \fIpts(1)\fR manpage.
+.Ip "\fB\-force\fR" 4
+Enables the command to continue executing as far as possible when errors
+or other problems occur, rather than halting execution at the first error.
+.Ip "\fB\-noauth\fR" 4
+Assigns the unprivileged identity anonymous to the issuer. For more
+details, see the \fIpts(1)\fR manpage.
+.SH "OUTPUT"
+This command produces no output.
+.SH "EXAMPLES"
+Here is an example of a \fBpts interactive\fR session:
+.PP
+.Vb 3
+\&   % pts interactive
+\&   pts> quit
+\&   %
+.Ve
+.SH "SEE ALSO"
+the \fIpts(1)\fR manpage,
+the \fIpts_interactive(1)\fR manpage
+.SH "COPYRIGHT"
+Copyright 2007 Jason Edgecombe <jason@rampaginggeek.com>
+.PP
+This documentation is covered by the IBM Public License Version 1.0. This
+man page was written by Jason Edgecombe for OpenAFS.
+
+.rn }` ''
+.IX Title "PTS_QUIT 1"
+.IX Name "pts quit - Exit from pts interactive mode"
+
+.IX Header "NAME"
+
+.IX Header "SYNOPSIS"
+
+.IX Header "DESCRIPTION"
+
+.IX Header "CAUTIONS"
+
+.IX Header "OPTIONS"
+
+.IX Item "\fB\-cell\fR <\fIcell name\fR>"
+
+.IX Item "\fB\-force\fR"
+
+.IX Item "\fB\-noauth\fR"
+
+.IX Header "OUTPUT"
+
+.IX Header "EXAMPLES"
+
+.IX Header "SEE ALSO"
+
+.IX Header "COPYRIGHT"
+
diff --git a/doc/man-pages/man1/pts_sleep.1 b/doc/man-pages/man1/pts_sleep.1
new file mode 100644 (file)
index 0000000..05db0ac
--- /dev/null
@@ -0,0 +1,268 @@
+.rn '' }`
+''' $RCSfile$$Revision$$Date$
+'''
+''' $Log$
+'''
+.de Sh
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp
+.if t .sp .5v
+.if n .sp
+..
+.de Ip
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.de Vb
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve
+.ft R
+
+.fi
+..
+'''
+'''
+'''     Set up \*(-- to give an unbreakable dash;
+'''     string Tr holds user defined translation string.
+'''     Bell System Logo is used as a dummy character.
+'''
+.tr \(*W-|\(bv\*(Tr
+.ie n \{\
+.ds -- \(*W-
+.ds PI pi
+.if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+.if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+.ds L" ""
+.ds R" ""
+'''   \*(M", \*(S", \*(N" and \*(T" are the equivalent of
+'''   \*(L" and \*(R", except that they are used on ".xx" lines,
+'''   such as .IP and .SH, which do another additional levels of
+'''   double-quote interpretation
+.ds M" """
+.ds S" """
+.ds N" """""
+.ds T" """""
+.ds L' '
+.ds R' '
+.ds M' '
+.ds S' '
+.ds N' '
+.ds T' '
+'br\}
+.el\{\
+.ds -- \(em\|
+.tr \*(Tr
+.ds L" ``
+.ds R" ''
+.ds M" ``
+.ds S" ''
+.ds N" ``
+.ds T" ''
+.ds L' `
+.ds R' '
+.ds M' `
+.ds S' '
+.ds N' `
+.ds T' '
+.ds PI \(*p
+'br\}
+.\"    If the F register is turned on, we'll generate
+.\"    index entries out stderr for the following things:
+.\"            TH      Title 
+.\"            SH      Header
+.\"            Sh      Subsection 
+.\"            Ip      Item
+.\"            X<>     Xref  (embedded
+.\"    Of course, you have to process the output yourself
+.\"    in some meaninful fashion.
+.if \nF \{
+.de IX
+.tm Index:\\$1\t\\n%\t"\\$2"
+..
+.nr % 0
+.rr F
+.\}
+.TH PTS_SLEEP 1 "OpenAFS" "17/Aug/2007" "AFS Command Reference"
+.UC
+.if n .hy 0
+.if n .na
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.de CQ          \" put $1 in typewriter font
+.ft CW
+'if n "\c
+'if t \\&\\$1\c
+'if n \\&\\$1\c
+'if n \&"
+\\&\\$2 \\$3 \\$4 \\$5 \\$6 \\$7
+'.ft R
+..
+.\" @(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2
+.      \" AM - accent mark definitions
+.bd B 3
+.      \" fudge factors for nroff and troff
+.if n \{\
+.      ds #H 0
+.      ds #V .8m
+.      ds #F .3m
+.      ds #[ \f1
+.      ds #] \fP
+.\}
+.if t \{\
+.      ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+.      ds #V .6m
+.      ds #F 0
+.      ds #[ \&
+.      ds #] \&
+.\}
+.      \" simple accents for nroff and troff
+.if n \{\
+.      ds ' \&
+.      ds ` \&
+.      ds ^ \&
+.      ds , \&
+.      ds ~ ~
+.      ds ? ?
+.      ds ! !
+.      ds /
+.      ds q
+.\}
+.if t \{\
+.      ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+.      ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+.      ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+.      ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+.      ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+.      ds ? \s-2c\h'-\w'c'u*7/10'\u\h'\*(#H'\zi\d\s+2\h'\w'c'u*8/10'
+.      ds ! \s-2\(or\s+2\h'-\w'\(or'u'\v'-.8m'.\v'.8m'
+.      ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.      ds q o\h'-\w'o'u*8/10'\s-4\v'.4m'\z\(*i\v'-.4m'\s+4\h'\w'o'u*8/10'
+.\}
+.      \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds v \\k:\h'-(\\n(.wu*9/10-\*(#H)'\v'-\*(#V'\*(#[\s-4v\s0\v'\*(#V'\h'|\\n:u'\*(#]
+.ds _ \\k:\h'-(\\n(.wu*9/10-\*(#H+(\*(#F*2/3))'\v'-.4m'\z\(hy\v'.4m'\h'|\\n:u'
+.ds . \\k:\h'-(\\n(.wu*8/10)'\v'\*(#V*4/10'\z.\v'-\*(#V*4/10'\h'|\\n:u'
+.ds 3 \*(#[\v'.2m'\s-2\&3\s0\v'-.2m'\*(#]
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+.ds oe o\h'-(\w'o'u*4/10)'e
+.ds Oe O\h'-(\w'O'u*4/10)'E
+.      \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+.      \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+.      ds : e
+.      ds 8 ss
+.      ds v \h'-1'\o'\(aa\(ga'
+.      ds _ \h'-1'^
+.      ds . \h'-1'.
+.      ds 3 3
+.      ds o a
+.      ds d- d\h'-1'\(ga
+.      ds D- D\h'-1'\(hy
+.      ds th \o'bp'
+.      ds Th \o'LP'
+.      ds ae ae
+.      ds Ae AE
+.      ds oe oe
+.      ds Oe OE
+.\}
+.rm #[ #] #H #V #F C
+.SH "NAME"
+pts sleep \- Pauses for a few seconds
+.SH "SYNOPSIS"
+\fBpts sleep\fR <<\ [\fB\-delay\fR]\ <\fI#\ of\ seconds\fR >>>
+   <<\ [\fB\-cell\fR]\ <\fIcell\ name\fR >>> [\fB\-noauth\fR] [\fB\-force\fR]
+.PP
+\fBpts sl\fR <<\ [\fB\-d\fR]\ <\fI#\ of\ seconds\fR >>> <<\ [\fB\-c\fR]\ <\fIcell\ name\fR >>>
+   [\fB\-n\fR] [\fB\-f\fR]
+.SH "DESCRIPTION"
+The \fBpts sleep\fR pauses for a specified number of seconds. The command can
+be run from the command line or interactively, although from the command
+line it's essentially equivalent to the \fBsleep\fR command. It is intended
+for use in interactive mode to pause for a few seconds between batch
+commands to allow the Protection Server to catch up.
+.SH "CAUTIONS"
+Prior to OpenAFS 1.4.5 and OpenAFS 1.5.23, the \fBpts sleep\fR command was
+only available on Unix or Linux and when OpenAFS was compiled with the
+supergroups option (disabled by default).  As of OpenAFS 1.4.5 and 1.5.23,
+it is always available.
+.SH "OPTIONS"
+Although they have no effect, \fBpts quit\fR takes the following standard
+\fBpts\fR options:
+.Ip "\fB\-cell\fR <\fIcell name\fR>" 4
+Names the cell in which to run the command. For more details, see
+the \fIpts(1)\fR manpage.
+.Ip "\fB\-force\fR" 4
+Enables the command to continue executing as far as possible when errors
+or other problems occur, rather than halting execution at the first error.
+.Ip "\fB\-noauth\fR" 4
+Assigns the unprivileged identity anonymous to the issuer. For more
+details, see the \fIpts(1)\fR manpage.
+.SH "OUTPUT"
+This command produces no output.
+.SH "EXAMPLES"
+Here is an example of a \fBpts interactive\fR session:
+.PP
+.Vb 4
+\&   % pts interactive
+\&   pts> sleep 5
+\&   pts> quit
+\&   %
+.Ve
+.SH "SEE ALSO"
+the \fIpts(1)\fR manpage,
+the \fIpts_interactive(1)\fR manpage
+.SH "COPYRIGHT"
+Copyright 2007 Jason Edgecombe <jason@rampaginggeek.com>
+.PP
+This documentation is covered by the IBM Public License Version 1.0. This
+man page was written by Jason Edgecombe for OpenAFS.
+
+.rn }` ''
+.IX Title "PTS_SLEEP 1"
+.IX Name "pts sleep - Pauses for a few seconds"
+
+.IX Header "NAME"
+
+.IX Header "SYNOPSIS"
+
+.IX Header "DESCRIPTION"
+
+.IX Header "CAUTIONS"
+
+.IX Header "OPTIONS"
+
+.IX Item "\fB\-cell\fR <\fIcell name\fR>"
+
+.IX Item "\fB\-force\fR"
+
+.IX Item "\fB\-noauth\fR"
+
+.IX Header "OUTPUT"
+
+.IX Header "EXAMPLES"
+
+.IX Header "SEE ALSO"
+
+.IX Header "COPYRIGHT"
+
diff --git a/doc/man-pages/man1/pts_source.1 b/doc/man-pages/man1/pts_source.1
new file mode 100644 (file)
index 0000000..ba3247a
--- /dev/null
@@ -0,0 +1,277 @@
+.rn '' }`
+''' $RCSfile$$Revision$$Date$
+'''
+''' $Log$
+'''
+.de Sh
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp
+.if t .sp .5v
+.if n .sp
+..
+.de Ip
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.de Vb
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve
+.ft R
+
+.fi
+..
+'''
+'''
+'''     Set up \*(-- to give an unbreakable dash;
+'''     string Tr holds user defined translation string.
+'''     Bell System Logo is used as a dummy character.
+'''
+.tr \(*W-|\(bv\*(Tr
+.ie n \{\
+.ds -- \(*W-
+.ds PI pi
+.if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+.if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+.ds L" ""
+.ds R" ""
+'''   \*(M", \*(S", \*(N" and \*(T" are the equivalent of
+'''   \*(L" and \*(R", except that they are used on ".xx" lines,
+'''   such as .IP and .SH, which do another additional levels of
+'''   double-quote interpretation
+.ds M" """
+.ds S" """
+.ds N" """""
+.ds T" """""
+.ds L' '
+.ds R' '
+.ds M' '
+.ds S' '
+.ds N' '
+.ds T' '
+'br\}
+.el\{\
+.ds -- \(em\|
+.tr \*(Tr
+.ds L" ``
+.ds R" ''
+.ds M" ``
+.ds S" ''
+.ds N" ``
+.ds T" ''
+.ds L' `
+.ds R' '
+.ds M' `
+.ds S' '
+.ds N' `
+.ds T' '
+.ds PI \(*p
+'br\}
+.\"    If the F register is turned on, we'll generate
+.\"    index entries out stderr for the following things:
+.\"            TH      Title 
+.\"            SH      Header
+.\"            Sh      Subsection 
+.\"            Ip      Item
+.\"            X<>     Xref  (embedded
+.\"    Of course, you have to process the output yourself
+.\"    in some meaninful fashion.
+.if \nF \{
+.de IX
+.tm Index:\\$1\t\\n%\t"\\$2"
+..
+.nr % 0
+.rr F
+.\}
+.TH PTS_SOURCE 1 "OpenAFS" "17/Aug/2007" "AFS Command Reference"
+.UC
+.if n .hy 0
+.if n .na
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.de CQ          \" put $1 in typewriter font
+.ft CW
+'if n "\c
+'if t \\&\\$1\c
+'if n \\&\\$1\c
+'if n \&"
+\\&\\$2 \\$3 \\$4 \\$5 \\$6 \\$7
+'.ft R
+..
+.\" @(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2
+.      \" AM - accent mark definitions
+.bd B 3
+.      \" fudge factors for nroff and troff
+.if n \{\
+.      ds #H 0
+.      ds #V .8m
+.      ds #F .3m
+.      ds #[ \f1
+.      ds #] \fP
+.\}
+.if t \{\
+.      ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+.      ds #V .6m
+.      ds #F 0
+.      ds #[ \&
+.      ds #] \&
+.\}
+.      \" simple accents for nroff and troff
+.if n \{\
+.      ds ' \&
+.      ds ` \&
+.      ds ^ \&
+.      ds , \&
+.      ds ~ ~
+.      ds ? ?
+.      ds ! !
+.      ds /
+.      ds q
+.\}
+.if t \{\
+.      ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+.      ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+.      ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+.      ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+.      ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+.      ds ? \s-2c\h'-\w'c'u*7/10'\u\h'\*(#H'\zi\d\s+2\h'\w'c'u*8/10'
+.      ds ! \s-2\(or\s+2\h'-\w'\(or'u'\v'-.8m'.\v'.8m'
+.      ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.      ds q o\h'-\w'o'u*8/10'\s-4\v'.4m'\z\(*i\v'-.4m'\s+4\h'\w'o'u*8/10'
+.\}
+.      \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds v \\k:\h'-(\\n(.wu*9/10-\*(#H)'\v'-\*(#V'\*(#[\s-4v\s0\v'\*(#V'\h'|\\n:u'\*(#]
+.ds _ \\k:\h'-(\\n(.wu*9/10-\*(#H+(\*(#F*2/3))'\v'-.4m'\z\(hy\v'.4m'\h'|\\n:u'
+.ds . \\k:\h'-(\\n(.wu*8/10)'\v'\*(#V*4/10'\z.\v'-\*(#V*4/10'\h'|\\n:u'
+.ds 3 \*(#[\v'.2m'\s-2\&3\s0\v'-.2m'\*(#]
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+.ds oe o\h'-(\w'o'u*4/10)'e
+.ds Oe O\h'-(\w'O'u*4/10)'E
+.      \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+.      \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+.      ds : e
+.      ds 8 ss
+.      ds v \h'-1'\o'\(aa\(ga'
+.      ds _ \h'-1'^
+.      ds . \h'-1'.
+.      ds 3 3
+.      ds o a
+.      ds d- d\h'-1'\(ga
+.      ds D- D\h'-1'\(hy
+.      ds th \o'bp'
+.      ds Th \o'LP'
+.      ds ae ae
+.      ds Ae AE
+.      ds oe oe
+.      ds Oe OE
+.\}
+.rm #[ #] #H #V #F C
+.SH "NAME"
+pts source \- Read pts commands from a file
+.SH "SYNOPSIS"
+\fBpts source\fR <<\ [\fB\-file\fR]\ <\fIfile\ name\fR >>> <<\ [\fB\-cell\fR]\ <\fIcell\ name\fR >>>
+   [\fB\-noauth\fR] [\fB\-force\fR]
+.PP
+\fBpts so\fR <<\ [\fB\-f\fR]\ <\fIfile\ name\fR >>> <<\ [\fB\-c\fR]\ <\fIcell\ name\fR >>>
+   [\fB\-n\fR] [\fB\-f\fR]
+.SH "DESCRIPTION"
+The \fBpts source\fR runs commands from a file as if they were typed in \fBpts
+interactive\fR mode. The command can be run from the command line or
+interactively.
+.SH "CAUTIONS"
+Prior to OpenAFS 1.4.5 and OpenAFS 1.5.23, the \fBpts source\fR command was
+only available on Unix or Linux and when OpenAFS was compiled with the
+supergroups option (disabled by default).  As of OpenAFS 1.4.5 and 1.5.23,
+it is always available.
+.SH "OPTIONS"
+\fBpts source\fR takes the following options:
+.Ip "\fB\-cell\fR <\fIcell name\fR>" 4
+Names the cell in which to run the command. For more details, see
+the \fIpts(1)\fR manpage.
+.Ip "\fB\-file\fR <\fIfile name\fR>" 4
+Specifies the filename from which to read commands.
+.Ip "\fB\-force\fR" 4
+Enables the command to continue executing as far as possible when errors
+or other problems occur, rather than halting execution at the first error.
+This is useful for bulk operations where you would like to continue even
+if one of many operations fails.
+.Ip "\fB\-noauth\fR" 4
+Assigns the unprivileged identity anonymous to the issuer. For more
+details, see the \fIpts(1)\fR manpage.
+.SH "OUTPUT"
+This command shows the output of each comand in the file as if it were
+run normally.
+.SH "EXAMPLES"
+Here is an example of using \fBpts source\fR in a \fBpts interactive\fR session:
+.PP
+.Vb 7
+\&   % echo examine admin > /tmp/commands.txt 
+\&   % pts interactive
+\&   pts> source /tmp/commands.txt
+\&   Name: admin, id: 1, owner: system:administrators, creator: anonymous,
+\&     membership: 2, flags: S----, group quota: 20.
+\&   pts> quit
+\&   %
+.Ve
+.SH "SEE ALSO"
+the \fIpts(1)\fR manpage,
+the \fIpts_interactive(1)\fR manpage,
+the \fIpts_quit(1)\fR manpage,
+the \fIpts_sleep(1)\fR manpage
+.SH "COPYRIGHT"
+Copyright 2007 Jason Edgecombe <jason@rampaginggeek.com>
+.PP
+This documentation is covered by the IBM Public License Version 1.0. This
+man page was written by Jason Edgecombe for OpenAFS.
+
+.rn }` ''
+.IX Title "PTS_SOURCE 1"
+.IX Name "pts source - Read pts commands from a file"
+
+.IX Header "NAME"
+
+.IX Header "SYNOPSIS"
+
+.IX Header "DESCRIPTION"
+
+.IX Header "CAUTIONS"
+
+.IX Header "OPTIONS"
+
+.IX Item "\fB\-cell\fR <\fIcell name\fR>"
+
+.IX Item "\fB\-file\fR <\fIfile name\fR>"
+
+.IX Item "\fB\-force\fR"
+
+.IX Item "\fB\-noauth\fR"
+
+.IX Header "OUTPUT"
+
+.IX Header "EXAMPLES"
+
+.IX Header "SEE ALSO"
+
+.IX Header "COPYRIGHT"
+
index aba6792adefe16cf7b5845a65cc1f215ad458782..7a8cfdccede165bd85a2540de0beb28bdb942420 100644 (file)
@@ -93,7 +93,7 @@
 .nr % 0
 .rr F
 .\}
-.TH VOS 1 "OpenAFS" "5/Jan/2006" "AFS Command Reference"
+.TH VOS 1 "OpenAFS" "17/Aug/2007" "AFS Command Reference"
 .UC
 .if n .hy 0
 .if n .na
@@ -223,7 +223,8 @@ use the \fBvos syncserv\fR and \fBvos syncvldb\fR commands.
 There are several categories of commands in the vos command suite:
 .Ip "\(bu" 4
 Commands to create, move, and rename volumes: \fBvos backup\fR, \fBvos
-backupsys\fR, \fBvos create\fR, \fBvos move\fR, and \fBvos rename\fR.
+backupsys\fR, \fBvos changeloc\fR, \fBvos create\fR, \fBvos move\fR, and \fBvos
+rename\fR.
 .Ip "\(bu" 4
 Commands to remove \s-1VLDB\s0 volume records or volumes or both: \fBvos
 delentry\fR, \fBvos remove\fR, and \fBvos zap\fR.
@@ -231,7 +232,8 @@ delentry\fR, \fBvos remove\fR, and \fBvos zap\fR.
 Commands to edit or display \s-1VLDB\s0 server entries: \fBvos changeaddr\fR and
 \fBvos listaddrs\fR.
 .Ip "\(bu" 4
-Commands to create and restore dump files: \fBvos dump\fR and \fBvos restore\fR.
+Commands to create, size, and restore dump files: \fBvos dump\fR, \fBvos
+restore\fR, and \fBvos size\fR.
 .Ip "\(bu" 4
 Commands to administer replicated volumes: \fBvos addsite\fR, \fBvos release\fR,
 and \fBvos remsite\fR.
@@ -366,6 +368,7 @@ the \fIvos_apropos(1)\fR manpage,
 the \fIvos_backup(1)\fR manpage,
 the \fIvos_backupsys(1)\fR manpage,
 the \fIvos_changeaddr(1)\fR manpage,
+the \fIvos_changeloc(1)\fR manpage,
 the \fIvos_create(1)\fR manpage,
 the \fIvos_delentry(1)\fR manpage,
 the \fIvos_dump(1)\fR manpage,
@@ -383,6 +386,7 @@ the \fIvos_remove(1)\fR manpage,
 the \fIvos_remsite(1)\fR manpage,
 the \fIvos_rename(1)\fR manpage,
 the \fIvos_restore(1)\fR manpage,
+the \fIvos_size(1)\fR manpage,
 the \fIvos_status(1)\fR manpage,
 the \fIvos_syncserv(1)\fR manpage,
 the \fIvos_syncvldb(1)\fR manpage,
index 06bc5e9175b08cccf8adf4ad27dea7c6229da311..6acbc5585b60f4f846156f1f92c0be073d5c66dc 100644 (file)
@@ -93,7 +93,7 @@
 .nr % 0
 .rr F
 .\}
-.TH VOS_BACKUPSYS 1 "OpenAFS" "1/Mar/2006" "AFS Command Reference"
+.TH VOS_BACKUPSYS 1 "OpenAFS" "17/Aug/2007" "AFS Command Reference"
 .UC
 .if n .hy 0
 .if n .na
diff --git a/doc/man-pages/man1/vos_changeloc.1 b/doc/man-pages/man1/vos_changeloc.1
new file mode 100644 (file)
index 0000000..76f917a
--- /dev/null
@@ -0,0 +1,340 @@
+.rn '' }`
+''' $RCSfile$$Revision$$Date$
+'''
+''' $Log$
+'''
+.de Sh
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp
+.if t .sp .5v
+.if n .sp
+..
+.de Ip
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.de Vb
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve
+.ft R
+
+.fi
+..
+'''
+'''
+'''     Set up \*(-- to give an unbreakable dash;
+'''     string Tr holds user defined translation string.
+'''     Bell System Logo is used as a dummy character.
+'''
+.tr \(*W-|\(bv\*(Tr
+.ie n \{\
+.ds -- \(*W-
+.ds PI pi
+.if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+.if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+.ds L" ""
+.ds R" ""
+'''   \*(M", \*(S", \*(N" and \*(T" are the equivalent of
+'''   \*(L" and \*(R", except that they are used on ".xx" lines,
+'''   such as .IP and .SH, which do another additional levels of
+'''   double-quote interpretation
+.ds M" """
+.ds S" """
+.ds N" """""
+.ds T" """""
+.ds L' '
+.ds R' '
+.ds M' '
+.ds S' '
+.ds N' '
+.ds T' '
+'br\}
+.el\{\
+.ds -- \(em\|
+.tr \*(Tr
+.ds L" ``
+.ds R" ''
+.ds M" ``
+.ds S" ''
+.ds N" ``
+.ds T" ''
+.ds L' `
+.ds R' '
+.ds M' `
+.ds S' '
+.ds N' `
+.ds T' '
+.ds PI \(*p
+'br\}
+.\"    If the F register is turned on, we'll generate
+.\"    index entries out stderr for the following things:
+.\"            TH      Title 
+.\"            SH      Header
+.\"            Sh      Subsection 
+.\"            Ip      Item
+.\"            X<>     Xref  (embedded
+.\"    Of course, you have to process the output yourself
+.\"    in some meaninful fashion.
+.if \nF \{
+.de IX
+.tm Index:\\$1\t\\n%\t"\\$2"
+..
+.nr % 0
+.rr F
+.\}
+.TH VOS_CHANGELOC 1 "OpenAFS" "19/Aug/2007" "AFS Command Reference"
+.UC
+.if n .hy 0
+.if n .na
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.de CQ          \" put $1 in typewriter font
+.ft CW
+'if n "\c
+'if t \\&\\$1\c
+'if n \\&\\$1\c
+'if n \&"
+\\&\\$2 \\$3 \\$4 \\$5 \\$6 \\$7
+'.ft R
+..
+.\" @(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2
+.      \" AM - accent mark definitions
+.bd B 3
+.      \" fudge factors for nroff and troff
+.if n \{\
+.      ds #H 0
+.      ds #V .8m
+.      ds #F .3m
+.      ds #[ \f1
+.      ds #] \fP
+.\}
+.if t \{\
+.      ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+.      ds #V .6m
+.      ds #F 0
+.      ds #[ \&
+.      ds #] \&
+.\}
+.      \" simple accents for nroff and troff
+.if n \{\
+.      ds ' \&
+.      ds ` \&
+.      ds ^ \&
+.      ds , \&
+.      ds ~ ~
+.      ds ? ?
+.      ds ! !
+.      ds /
+.      ds q
+.\}
+.if t \{\
+.      ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+.      ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+.      ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+.      ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+.      ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+.      ds ? \s-2c\h'-\w'c'u*7/10'\u\h'\*(#H'\zi\d\s+2\h'\w'c'u*8/10'
+.      ds ! \s-2\(or\s+2\h'-\w'\(or'u'\v'-.8m'.\v'.8m'
+.      ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.      ds q o\h'-\w'o'u*8/10'\s-4\v'.4m'\z\(*i\v'-.4m'\s+4\h'\w'o'u*8/10'
+.\}
+.      \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds v \\k:\h'-(\\n(.wu*9/10-\*(#H)'\v'-\*(#V'\*(#[\s-4v\s0\v'\*(#V'\h'|\\n:u'\*(#]
+.ds _ \\k:\h'-(\\n(.wu*9/10-\*(#H+(\*(#F*2/3))'\v'-.4m'\z\(hy\v'.4m'\h'|\\n:u'
+.ds . \\k:\h'-(\\n(.wu*8/10)'\v'\*(#V*4/10'\z.\v'-\*(#V*4/10'\h'|\\n:u'
+.ds 3 \*(#[\v'.2m'\s-2\&3\s0\v'-.2m'\*(#]
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+.ds oe o\h'-(\w'o'u*4/10)'e
+.ds Oe O\h'-(\w'O'u*4/10)'E
+.      \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+.      \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+.      ds : e
+.      ds 8 ss
+.      ds v \h'-1'\o'\(aa\(ga'
+.      ds _ \h'-1'^
+.      ds . \h'-1'.
+.      ds 3 3
+.      ds o a
+.      ds d- d\h'-1'\(ga
+.      ds D- D\h'-1'\(hy
+.      ds th \o'bp'
+.      ds Th \o'LP'
+.      ds ae ae
+.      ds Ae AE
+.      ds oe oe
+.      ds Oe OE
+.\}
+.rm #[ #] #H #V #F C
+.SH "NAME"
+vos changeloc \- Change a volume's entry in the VLDB
+.SH "SYNOPSIS"
+\fBvos changeloc\fR <<\ [\fB\-server\fR]\ <\fInew\ server\ name\fR >>>
+   <<\ [\fB\-partition\fR]\ <\fInew\ partition\ location\fR >>>
+   <<\ [\fB\-id\fR]\ <\fIvolume\ name\ or\ ID\fR >>>
+   <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> [\fB\-noauth\fR] [\fB\-localauth\fR]
+   [\fB\-verbose\fR] [\fB\-encrypt\fR] [\fB\-help\fR]
+.PP
+\fBvos changel\fR <<\ [\fB\-s\fR]\ <\fInew\ server\ name\fR >>>
+   <<\ [\fB\-p\fR]\ <\fInew\ partition\ location\fR >>>
+   <<\ [\fB\-i\fR]\ <\fIvolume\ name\ or\ ID\fR >>>
+   <<\ [\fB\-c\fR\ <\fIcell\ name\fR] >>> [\fB\-n\fR] [\fB\-l\fR] [\fB\-v\fR] [\fB\-e\fR] [\fB\-h\fR]
+.SH "DESCRIPTION"
+The \fBvos changeloc\fR command changes the location of a volume in the
+Volume Location Database (VLDB) without needing to contact the original
+file server on which the volume was hosted. This is useful when a file
+server has gone down permanently and the data that was stored on that
+server has been moved to a new file server with a different name and IP
+address (perhaps by mounting the same /vicepX partitions on a different
+host). After moving the data and running \fBvos changeloc\fR, run \fBvos
+syncvldb\fR and then \fBvos syncserv\fR against the new server to ensure full
+synchronization of the VLDB with the file server.
+.PP
+In essence, \fBvos changeloc\fR performs the same operations on the VLDB as
+\fBvos move\fR, but it does NOT move the data from one server's file system
+to another.
+.SH "CAUTIONS"
+Using \fBvos changeloc\fR changes the VLDB without modifying the file server
+data, so it inherently causes the VLDB to be out of sync with the data on
+the servers. It should only be used when recovering from server failure.
+If the servers are on-line, \fBvos move\fR should be used instead. It is
+highly recommended that \fBvos syncvldb\fR and \fBvos syncserv\fR be run after
+using the \fBvos changeloc\fR command to ensure properly synchronization of
+the VLDB with the file servers.
+.SH "OPTIONS"
+\fBvos changeloc\fR takes the following options:
+.Ip "\fB\-server\fR <\fInew server name\fR>" 4
+Specifies the new server where the \s-1VLDB\s0 should believe the volume resides.
+Provide the machine's \s-1IP\s0 address or its host name (either fully qualified
+or using an unambiguous abbreviation). For details, see the \fIvos(1)\fR manpage.
+.Ip "\fB\-partition\fR <\fIpartition name\fR>" 4
+Specifies the partition where the \s-1VLDB\s0 should believe the volume resides.
+entries. Provide the \fB\-server\fR argument along with this one. Provide the
+partition's complete name with preceding slash (for example, \f(CW/vicepa\fR)
+or use one of the three acceptable abbreviated forms. For details, see
+the \fIvos(1)\fR manpage.
+.Ip "\fB\-id\fR <\fIvolume name or \s-1ID\s0\fR>" 4
+Specifies the name or volume \s-1ID\s0 number on which to operate.
+.Ip "\fB\-cell\fR <\fIcell name\fR>" 4
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see the \fIvos(1)\fR manpage.
+.Ip "\fB\-noauth\fR" 4
+Assigns the unprivileged identity \f(CWanonymous\fR to the issuer. Do not
+combine this flag with the \fB\-localauth\fR flag. For more details, see
+the \fIvos(1)\fR manpage.
+.Ip "\fB\-localauth\fR" 4
+Constructs a server ticket using a key from the local
+\fI/usr/afs/etc/KeyFile\fR file. The \fBvos\fR command interpreter presents it
+to the Volume Server and Volume Location Server during mutual
+authentication. Do not combine this flag with the \fB\-cell\fR argument or
+\fB\-noauth\fR flag. For more details, see the \fIvos(1)\fR manpage.
+.Ip "\fB\-verbose\fR" 4
+Produces on the standard output stream a detailed trace of the command's
+execution. If this argument is omitted, only warnings and error messages
+appear.
+.Ip "\fB\-encrypt\fR" 4
+Encrypts the commands that are sent to the server.
+.Ip "\fB\-help\fR" 4
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "OUTPUT"
+\fBvos changeloc\fR shows a brief message upon completion:
+.PP
+.Vb 1
+\&   Changed location to server2 /vicepa for volume user.jdoe
+.Ve
+.SH "EXAMPLES"
+The following command changes the location of the \f(CWuser.jdoe\fR volume to
+be \fI/vicepa\fR on the file server machine \f(CWserver2\fR while being verbose:
+.PP
+.Vb 3
+\&   % vos changeloc server2 a user.jdoe -verbose
+\&    done
+\&   Changed location to server2 /vicepa for volume user.jdoe
+.Ve
+The following command changes the location of the \f(CWuser.jdoe\fR volume to
+be \fI/vicepa\fR on \f(CWserver1\fR without being verbose:
+.PP
+.Vb 2
+\&   % vos changeloc server1 a user.jdoe
+\&   Changed location to server1 /vicepa for volume user.jdoe
+.Ve
+.SH "PRIVILEGE REQUIRED"
+The issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on each
+database server machine. If the \fB\-localauth\fR flag is included, the issuer
+must instead be logged on to a server machine as the local superuser
+\f(CWroot\fR.
+.SH "SEE ALSO"
+the \fIvos(1)\fR manpage,
+the \fIvos_move(1)\fR manpage,
+the \fIvos_syncserv(1)\fR manpage,
+the \fIvos_syncvldb(1)\fR manpage
+.SH "COPYRIGHT"
+Copyright 2007 Jason Edgecombe <jason@rampaginggeek.com>
+.PP
+This documentation is covered by the IBM Public License Version 1.0. This
+man page was written by Jason Edgecombe for OpenAFS.
+
+.rn }` ''
+.IX Title "VOS_CHANGELOC 1"
+.IX Name "vos changeloc - Change a volume's entry in the VLDB"
+
+.IX Header "NAME"
+
+.IX Header "SYNOPSIS"
+
+.IX Header "DESCRIPTION"
+
+.IX Header "CAUTIONS"
+
+.IX Header "OPTIONS"
+
+.IX Item "\fB\-server\fR <\fInew server name\fR>"
+
+.IX Item "\fB\-partition\fR <\fIpartition name\fR>"
+
+.IX Item "\fB\-id\fR <\fIvolume name or \s-1ID\s0\fR>"
+
+.IX Item "\fB\-cell\fR <\fIcell name\fR>"
+
+.IX Item "\fB\-noauth\fR"
+
+.IX Item "\fB\-localauth\fR"
+
+.IX Item "\fB\-verbose\fR"
+
+.IX Item "\fB\-encrypt\fR"
+
+.IX Item "\fB\-help\fR"
+
+.IX Header "OUTPUT"
+
+.IX Header "EXAMPLES"
+
+.IX Header "PRIVILEGE REQUIRED"
+
+.IX Header "SEE ALSO"
+
+.IX Header "COPYRIGHT"
+
diff --git a/doc/man-pages/man1/vos_offline.1 b/doc/man-pages/man1/vos_offline.1
new file mode 100644 (file)
index 0000000..2c41bea
--- /dev/null
@@ -0,0 +1,313 @@
+.rn '' }`
+''' $RCSfile$$Revision$$Date$
+'''
+''' $Log$
+'''
+.de Sh
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp
+.if t .sp .5v
+.if n .sp
+..
+.de Ip
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.de Vb
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve
+.ft R
+
+.fi
+..
+'''
+'''
+'''     Set up \*(-- to give an unbreakable dash;
+'''     string Tr holds user defined translation string.
+'''     Bell System Logo is used as a dummy character.
+'''
+.tr \(*W-|\(bv\*(Tr
+.ie n \{\
+.ds -- \(*W-
+.ds PI pi
+.if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+.if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+.ds L" ""
+.ds R" ""
+'''   \*(M", \*(S", \*(N" and \*(T" are the equivalent of
+'''   \*(L" and \*(R", except that they are used on ".xx" lines,
+'''   such as .IP and .SH, which do another additional levels of
+'''   double-quote interpretation
+.ds M" """
+.ds S" """
+.ds N" """""
+.ds T" """""
+.ds L' '
+.ds R' '
+.ds M' '
+.ds S' '
+.ds N' '
+.ds T' '
+'br\}
+.el\{\
+.ds -- \(em\|
+.tr \*(Tr
+.ds L" ``
+.ds R" ''
+.ds M" ``
+.ds S" ''
+.ds N" ``
+.ds T" ''
+.ds L' `
+.ds R' '
+.ds M' `
+.ds S' '
+.ds N' `
+.ds T' '
+.ds PI \(*p
+'br\}
+.\"    If the F register is turned on, we'll generate
+.\"    index entries out stderr for the following things:
+.\"            TH      Title 
+.\"            SH      Header
+.\"            Sh      Subsection 
+.\"            Ip      Item
+.\"            X<>     Xref  (embedded
+.\"    Of course, you have to process the output yourself
+.\"    in some meaninful fashion.
+.if \nF \{
+.de IX
+.tm Index:\\$1\t\\n%\t"\\$2"
+..
+.nr % 0
+.rr F
+.\}
+.TH VOS_OFFLINE 1 "OpenAFS" "12/Jun/2007" "AFS Command Reference"
+.UC
+.if n .hy 0
+.if n .na
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.de CQ          \" put $1 in typewriter font
+.ft CW
+'if n "\c
+'if t \\&\\$1\c
+'if n \\&\\$1\c
+'if n \&"
+\\&\\$2 \\$3 \\$4 \\$5 \\$6 \\$7
+'.ft R
+..
+.\" @(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2
+.      \" AM - accent mark definitions
+.bd B 3
+.      \" fudge factors for nroff and troff
+.if n \{\
+.      ds #H 0
+.      ds #V .8m
+.      ds #F .3m
+.      ds #[ \f1
+.      ds #] \fP
+.\}
+.if t \{\
+.      ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+.      ds #V .6m
+.      ds #F 0
+.      ds #[ \&
+.      ds #] \&
+.\}
+.      \" simple accents for nroff and troff
+.if n \{\
+.      ds ' \&
+.      ds ` \&
+.      ds ^ \&
+.      ds , \&
+.      ds ~ ~
+.      ds ? ?
+.      ds ! !
+.      ds /
+.      ds q
+.\}
+.if t \{\
+.      ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+.      ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+.      ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+.      ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+.      ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+.      ds ? \s-2c\h'-\w'c'u*7/10'\u\h'\*(#H'\zi\d\s+2\h'\w'c'u*8/10'
+.      ds ! \s-2\(or\s+2\h'-\w'\(or'u'\v'-.8m'.\v'.8m'
+.      ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.      ds q o\h'-\w'o'u*8/10'\s-4\v'.4m'\z\(*i\v'-.4m'\s+4\h'\w'o'u*8/10'
+.\}
+.      \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds v \\k:\h'-(\\n(.wu*9/10-\*(#H)'\v'-\*(#V'\*(#[\s-4v\s0\v'\*(#V'\h'|\\n:u'\*(#]
+.ds _ \\k:\h'-(\\n(.wu*9/10-\*(#H+(\*(#F*2/3))'\v'-.4m'\z\(hy\v'.4m'\h'|\\n:u'
+.ds . \\k:\h'-(\\n(.wu*8/10)'\v'\*(#V*4/10'\z.\v'-\*(#V*4/10'\h'|\\n:u'
+.ds 3 \*(#[\v'.2m'\s-2\&3\s0\v'-.2m'\*(#]
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+.ds oe o\h'-(\w'o'u*4/10)'e
+.ds Oe O\h'-(\w'O'u*4/10)'E
+.      \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+.      \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+.      ds : e
+.      ds 8 ss
+.      ds v \h'-1'\o'\(aa\(ga'
+.      ds _ \h'-1'^
+.      ds . \h'-1'.
+.      ds 3 3
+.      ds o a
+.      ds d- d\h'-1'\(ga
+.      ds D- D\h'-1'\(hy
+.      ds th \o'bp'
+.      ds Th \o'LP'
+.      ds ae ae
+.      ds Ae AE
+.      ds oe oe
+.      ds Oe OE
+.\}
+.rm #[ #] #H #V #F C
+.SH "NAME"
+vos offline \- Takes a volume offline
+.SH "SYNOPSIS"
+\fBvos offline\fR <<\ \fB\-server\fR\ <\fImachine\ name\fR >>> <<\ \fB\-partition\fR\ <\fIpartition\ name\fR >>> 
+    <<\ \fB\-id\fR\ <\fIvolume\ name\ or\ ID\fR >>> <<\ [\fB\-unbless\fR]\ >> <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> 
+    <<\ [\fB\-noauth\fR]\ |\ \fB\-localauth\fR]\ >> <<\ [\fB\-verbose\fR]\ >> <<\ [\fB\-encrypt\fR]\ >> <<\ [\fB\-help\fR]\ >>
+.SH "DESCRIPTION"
+The \fBvos offline\fR command takes a volume offline on the 
+\fBfileserver\fR.  
+.SH "CAUTIONS"
+Taking a volume offline that has existing 
+callbacks will result in those callbacks being broken
+and clients not being able to access the volume.
+.SH "OPTIONS"
+.Ip "\fB\-server\fR <\fImachine name\fR>" 4
+Identifies the file server machine where the volume resides. 
+Provide the machine's \s-1IP\s0 address or its host name (either fully
+qualified or using an unambiguous abbreviation). For details, see
+the \fIvos(1)\fR manpage.
+.Ip "\fB\-partition\fR <\fIpartition name\fR>" 4
+Identifies the partition where the volume resides, on the
+file server machine named by the \fB\-server\fR argument. Provide the
+partition's complete name with preceding slash (for example, \f(CW/vicepa\fR)
+or use one of the three acceptable abbreviated forms. For details, see
+the \fIvos(1)\fR manpage.
+.Ip "\fB\-id\fR <\fIvolume name or \s-1ID\s0\fR>" 4
+Specifies either the complete name or volume \s-1ID\s0 number of the volume.
+.Ip "\fB\-unbless\fR" 4
+If the volume resides on a fileserver running as a \fIdafs\fR (Demand
+Attach File Server), then the volume may be marked as \fIblessed\fR or
+\fIunblessed\fR.  A \fIdafs\fR server will not bring \fIunblessed\fR volumes
+online unless the \fB\-bless\fR option to the \fIvos_online\fR manpage is specified.
+See the \fIvos_online(1)\fR manpage for setting a volume to be \fIblessed\fR.
+.Ip "\fB\-cell\fR <\fIcell name\fR>" 4
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see the \fIvos(1)\fR manpage.
+.Ip "\fB\-noauth\fR" 4
+Assigns the unprivileged identity anonymous to the issuer. Do not combine
+this flag with the \fB\-localauth\fR flag. For more details, see the \fIvos(1)\fR manpage.
+.Ip "\fB\-localauth\fR" 4
+Constructs a server ticket using a key from the local
+\fI/usr/afs/etc/KeyFile\fR file. The \fBvos\fR command interpreter presents it
+to the Volume Server and Volume Location Server during mutual
+authentication. Do not combine this flag with the \fB\-cell\fR argument or
+\fB\-noauth\fR flag. For more details, see the \fIvos(1)\fR manpage.
+.Ip "\fB\-verbose\fR" 4
+Produces on the standard output stream a detailed trace of the command's
+execution. If this argument is omitted, only warnings and error messages
+appear.
+.Ip "\fB\-encrypt\fR" 4
+Encrypts the command so that the operation's results are
+not transmitted across the network in clear text.
+.Ip "\fB\-help\fR" 4
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+The following example takes an online volume offline:
+.PP
+.Vb 1
+\&   % vos offline -server sv7.stateu.edu -partition /vicepb -id root.afs
+.Ve
+The following example takes an online volume offline and marks it
+so that a \fBvos online\fR without \fB\-bless\fR will not bring it online:
+.PP
+.Vb 2
+\&   % vos offline -server sv7.stateu.edu -partition /vicepb -id root.afs \e
+\&        -unbless
+.Ve
+.SH "PRIVILEGE REQUIRED"
+The issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on the
+machine specified with the \fB\-server\fR argument and on each database server
+machine. If the \fB\-localauth\fR flag is included, the issuer must instead be
+logged on to a server machine as the local superuser \f(CWroot\fR.
+.SH "SEE ALSO"
+the \fIvos(1)\fR manpage,
+the \fIvos_online(1)\fR manpage,
+the \fIbos_salvage(8)\fR manpage,
+.SH "COPYRIGHT"
+IBM Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This man page was created by Steven Jenkins.
+
+.rn }` ''
+.IX Title "VOS_OFFLINE 1"
+.IX Name "vos offline - Takes a volume offline"
+
+.IX Header "NAME"
+
+.IX Header "SYNOPSIS"
+
+.IX Header "DESCRIPTION"
+
+.IX Header "CAUTIONS"
+
+.IX Header "OPTIONS"
+
+.IX Item "\fB\-server\fR <\fImachine name\fR>"
+
+.IX Item "\fB\-partition\fR <\fIpartition name\fR>"
+
+.IX Item "\fB\-id\fR <\fIvolume name or \s-1ID\s0\fR>"
+
+.IX Item "\fB\-unbless\fR"
+
+.IX Item "\fB\-cell\fR <\fIcell name\fR>"
+
+.IX Item "\fB\-noauth\fR"
+
+.IX Item "\fB\-localauth\fR"
+
+.IX Item "\fB\-verbose\fR"
+
+.IX Item "\fB\-encrypt\fR"
+
+.IX Item "\fB\-help\fR"
+
+.IX Header "EXAMPLES"
+
+.IX Header "PRIVILEGE REQUIRED"
+
+.IX Header "SEE ALSO"
+
+.IX Header "COPYRIGHT"
+
diff --git a/doc/man-pages/man1/vos_online.1 b/doc/man-pages/man1/vos_online.1
new file mode 100644 (file)
index 0000000..e073182
--- /dev/null
@@ -0,0 +1,309 @@
+.rn '' }`
+''' $RCSfile$$Revision$$Date$
+'''
+''' $Log$
+'''
+.de Sh
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp
+.if t .sp .5v
+.if n .sp
+..
+.de Ip
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.de Vb
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve
+.ft R
+
+.fi
+..
+'''
+'''
+'''     Set up \*(-- to give an unbreakable dash;
+'''     string Tr holds user defined translation string.
+'''     Bell System Logo is used as a dummy character.
+'''
+.tr \(*W-|\(bv\*(Tr
+.ie n \{\
+.ds -- \(*W-
+.ds PI pi
+.if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+.if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+.ds L" ""
+.ds R" ""
+'''   \*(M", \*(S", \*(N" and \*(T" are the equivalent of
+'''   \*(L" and \*(R", except that they are used on ".xx" lines,
+'''   such as .IP and .SH, which do another additional levels of
+'''   double-quote interpretation
+.ds M" """
+.ds S" """
+.ds N" """""
+.ds T" """""
+.ds L' '
+.ds R' '
+.ds M' '
+.ds S' '
+.ds N' '
+.ds T' '
+'br\}
+.el\{\
+.ds -- \(em\|
+.tr \*(Tr
+.ds L" ``
+.ds R" ''
+.ds M" ``
+.ds S" ''
+.ds N" ``
+.ds T" ''
+.ds L' `
+.ds R' '
+.ds M' `
+.ds S' '
+.ds N' `
+.ds T' '
+.ds PI \(*p
+'br\}
+.\"    If the F register is turned on, we'll generate
+.\"    index entries out stderr for the following things:
+.\"            TH      Title 
+.\"            SH      Header
+.\"            Sh      Subsection 
+.\"            Ip      Item
+.\"            X<>     Xref  (embedded
+.\"    Of course, you have to process the output yourself
+.\"    in some meaninful fashion.
+.if \nF \{
+.de IX
+.tm Index:\\$1\t\\n%\t"\\$2"
+..
+.nr % 0
+.rr F
+.\}
+.TH VOS_ONLINE 1 "OpenAFS" "12/Jun/2007" "AFS Command Reference"
+.UC
+.if n .hy 0
+.if n .na
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.de CQ          \" put $1 in typewriter font
+.ft CW
+'if n "\c
+'if t \\&\\$1\c
+'if n \\&\\$1\c
+'if n \&"
+\\&\\$2 \\$3 \\$4 \\$5 \\$6 \\$7
+'.ft R
+..
+.\" @(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2
+.      \" AM - accent mark definitions
+.bd B 3
+.      \" fudge factors for nroff and troff
+.if n \{\
+.      ds #H 0
+.      ds #V .8m
+.      ds #F .3m
+.      ds #[ \f1
+.      ds #] \fP
+.\}
+.if t \{\
+.      ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+.      ds #V .6m
+.      ds #F 0
+.      ds #[ \&
+.      ds #] \&
+.\}
+.      \" simple accents for nroff and troff
+.if n \{\
+.      ds ' \&
+.      ds ` \&
+.      ds ^ \&
+.      ds , \&
+.      ds ~ ~
+.      ds ? ?
+.      ds ! !
+.      ds /
+.      ds q
+.\}
+.if t \{\
+.      ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+.      ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+.      ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+.      ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+.      ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+.      ds ? \s-2c\h'-\w'c'u*7/10'\u\h'\*(#H'\zi\d\s+2\h'\w'c'u*8/10'
+.      ds ! \s-2\(or\s+2\h'-\w'\(or'u'\v'-.8m'.\v'.8m'
+.      ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.      ds q o\h'-\w'o'u*8/10'\s-4\v'.4m'\z\(*i\v'-.4m'\s+4\h'\w'o'u*8/10'
+.\}
+.      \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds v \\k:\h'-(\\n(.wu*9/10-\*(#H)'\v'-\*(#V'\*(#[\s-4v\s0\v'\*(#V'\h'|\\n:u'\*(#]
+.ds _ \\k:\h'-(\\n(.wu*9/10-\*(#H+(\*(#F*2/3))'\v'-.4m'\z\(hy\v'.4m'\h'|\\n:u'
+.ds . \\k:\h'-(\\n(.wu*8/10)'\v'\*(#V*4/10'\z.\v'-\*(#V*4/10'\h'|\\n:u'
+.ds 3 \*(#[\v'.2m'\s-2\&3\s0\v'-.2m'\*(#]
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+.ds oe o\h'-(\w'o'u*4/10)'e
+.ds Oe O\h'-(\w'O'u*4/10)'E
+.      \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+.      \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+.      ds : e
+.      ds 8 ss
+.      ds v \h'-1'\o'\(aa\(ga'
+.      ds _ \h'-1'^
+.      ds . \h'-1'.
+.      ds 3 3
+.      ds o a
+.      ds d- d\h'-1'\(ga
+.      ds D- D\h'-1'\(hy
+.      ds th \o'bp'
+.      ds Th \o'LP'
+.      ds ae ae
+.      ds Ae AE
+.      ds oe oe
+.      ds Oe OE
+.\}
+.rm #[ #] #H #V #F C
+.SH "NAME"
+vos online \- Brings a volume online
+.SH "SYNOPSIS"
+\fBvos online\fR <<\ \fB\-server\fR\ <\fImachine\ name\fR >>> <<\ \fB\-partition\fR\ <\fIpartition\ name\fR >>> 
+    <<\ \fB\-id\fR\ <\fIvolume\ name\ or\ ID\fR >>> <<\ [\fB\-bless\fR]\ >> <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> 
+    <<\ [\fB\-noauth\fR]\ |\ \fB\-localauth\fR]\ >> <<\ [\fB\-verbose\fR]\ >> <<\ [\fB\-encrypt\fR]\ >> <<\ [\fB\-help\fR]\ >>
+.SH "DESCRIPTION"
+The \fBvos online\fR command brings an offline volume on line with the 
+\fBfileserver\fR.
+.SH "CAUTIONS"
+None.
+.SH "OPTIONS"
+.Ip "\fB\-server\fR <\fImachine name\fR>" 4
+Identifies the file server machine where the volume resides. 
+Provide the machine's \s-1IP\s0 address or its host name (either fully
+qualified or using an unambiguous abbreviation). For details, see
+the \fIvos(1)\fR manpage.
+.Ip "\fB\-partition\fR <\fIpartition name\fR>" 4
+Identifies the partition where the volume resides, on the
+file server machine named by the \fB\-server\fR argument. Provide the
+partition's complete name with preceding slash (for example, \f(CW/vicepa\fR)
+or use one of the three acceptable abbreviated forms. For details, see
+the \fIvos(1)\fR manpage.
+.Ip "\fB\-id\fR <\fIvolume name or \s-1ID\s0\fR>" 4
+Specifies either the complete name or volume \s-1ID\s0 number of the volume.
+.Ip "\fB\-bless\fR" 4
+If the volume resides on a fileserver running as a \fIdafs\fR (Demand
+Attach File Server), then the volume may be marked as \fIblessed\fR or
+\fIunblessed\fR.  A \fIdafs\fR server will not bring \fIunblessed\fR volumes
+online unless the \fB\-bless\fR option to the \fIvos_online\fR manpage is specified.
+See the \fIvos_offline(1)\fR manpage for setting a volume to be \fIunblessed\fR.
+.Ip "\fB\-cell\fR <\fIcell name\fR>" 4
+Names the cell in which to run the command. Do not combine this argument
+with the \fB\-localauth\fR flag. For more details, see the \fIvos(1)\fR manpage.
+.Ip "\fB\-noauth\fR" 4
+Assigns the unprivileged identity anonymous to the issuer. Do not combine
+this flag with the \fB\-localauth\fR flag. For more details, see the \fIvos(1)\fR manpage.
+.Ip "\fB\-localauth\fR" 4
+Constructs a server ticket using a key from the local
+\fI/usr/afs/etc/KeyFile\fR file. The \fBvos\fR command interpreter presents it
+to the Volume Server and Volume Location Server during mutual
+authentication. Do not combine this flag with the \fB\-cell\fR argument or
+\fB\-noauth\fR flag. For more details, see the \fIvos(1)\fR manpage.
+.Ip "\fB\-verbose\fR" 4
+Produces on the standard output stream a detailed trace of the command's
+execution. If this argument is omitted, only warnings and error messages
+appear.
+.Ip "\fB\-encrypt\fR" 4
+Encrypts the command so that the operation's results are
+not transmitted across the network in clear text.
+.Ip "\fB\-help\fR" 4
+Prints the online help for this command. All other valid options are
+ignored.
+.SH "EXAMPLES"
+The following example brings an offline volume online:
+.PP
+.Vb 1
+\&   % vos online -server sv7.stateu.edu -partition /vicepb -id root.afs
+.Ve
+The following example brings an offline, unblessed volume online:
+.PP
+.Vb 1
+\&   % vos online -server sv7.stateu.edu -partition /vicepb -id root.afs -bless
+.Ve
+.SH "PRIVILEGE REQUIRED"
+The issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on the
+machine specified with the \fB\-server\fR argument and on each database server
+machine. If the \fB\-localauth\fR flag is included, the issuer must instead be
+logged on to a server machine as the local superuser \f(CWroot\fR.
+.SH "SEE ALSO"
+the \fIvos(1)\fR manpage,
+the \fIvos_offline(1)\fR manpage,
+the \fIbos_salvage(8)\fR manpage,
+.SH "COPYRIGHT"
+IBM Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+.PP
+This man page was created by Steven Jenkins.
+
+.rn }` ''
+.IX Title "VOS_ONLINE 1"
+.IX Name "vos online - Brings a volume online"
+
+.IX Header "NAME"
+
+.IX Header "SYNOPSIS"
+
+.IX Header "DESCRIPTION"
+
+.IX Header "CAUTIONS"
+
+.IX Header "OPTIONS"
+
+.IX Item "\fB\-server\fR <\fImachine name\fR>"
+
+.IX Item "\fB\-partition\fR <\fIpartition name\fR>"
+
+.IX Item "\fB\-id\fR <\fIvolume name or \s-1ID\s0\fR>"
+
+.IX Item "\fB\-bless\fR"
+
+.IX Item "\fB\-cell\fR <\fIcell name\fR>"
+
+.IX Item "\fB\-noauth\fR"
+
+.IX Item "\fB\-localauth\fR"
+
+.IX Item "\fB\-verbose\fR"
+
+.IX Item "\fB\-encrypt\fR"
+
+.IX Item "\fB\-help\fR"
+
+.IX Header "EXAMPLES"
+
+.IX Header "PRIVILEGE REQUIRED"
+
+.IX Header "SEE ALSO"
+
+.IX Header "COPYRIGHT"
+
diff --git a/doc/man-pages/man1/vos_size.1 b/doc/man-pages/man1/vos_size.1
new file mode 100644 (file)
index 0000000..838b7da
--- /dev/null
@@ -0,0 +1,338 @@
+.rn '' }`
+''' $RCSfile$$Revision$$Date$
+'''
+''' $Log$
+'''
+.de Sh
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp
+.if t .sp .5v
+.if n .sp
+..
+.de Ip
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.de Vb
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve
+.ft R
+
+.fi
+..
+'''
+'''
+'''     Set up \*(-- to give an unbreakable dash;
+'''     string Tr holds user defined translation string.
+'''     Bell System Logo is used as a dummy character.
+'''
+.tr \(*W-|\(bv\*(Tr
+.ie n \{\
+.ds -- \(*W-
+.ds PI pi
+.if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+.if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+.ds L" ""
+.ds R" ""
+'''   \*(M", \*(S", \*(N" and \*(T" are the equivalent of
+'''   \*(L" and \*(R", except that they are used on ".xx" lines,
+'''   such as .IP and .SH, which do another additional levels of
+'''   double-quote interpretation
+.ds M" """
+.ds S" """
+.ds N" """""
+.ds T" """""
+.ds L' '
+.ds R' '
+.ds M' '
+.ds S' '
+.ds N' '
+.ds T' '
+'br\}
+.el\{\
+.ds -- \(em\|
+.tr \*(Tr
+.ds L" ``
+.ds R" ''
+.ds M" ``
+.ds S" ''
+.ds N" ``
+.ds T" ''
+.ds L' `
+.ds R' '
+.ds M' `
+.ds S' '
+.ds N' `
+.ds T' '
+.ds PI \(*p
+'br\}
+.\"    If the F register is turned on, we'll generate
+.\"    index entries out stderr for the following things:
+.\"            TH      Title 
+.\"            SH      Header
+.\"            Sh      Subsection 
+.\"            Ip      Item
+.\"            X<>     Xref  (embedded
+.\"    Of course, you have to process the output yourself
+.\"    in some meaninful fashion.
+.if \nF \{
+.de IX
+.tm Index:\\$1\t\\n%\t"\\$2"
+..
+.nr % 0
+.rr F
+.\}
+.TH VOS_SIZE 1 "OpenAFS" "17/Aug/2007" "AFS Command Reference"
+.UC
+.if n .hy 0
+.if n .na
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.de CQ          \" put $1 in typewriter font
+.ft CW
+'if n "\c
+'if t \\&\\$1\c
+'if n \\&\\$1\c
+'if n \&"
+\\&\\$2 \\$3 \\$4 \\$5 \\$6 \\$7
+'.ft R
+..
+.\" @(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2
+.      \" AM - accent mark definitions
+.bd B 3
+.      \" fudge factors for nroff and troff
+.if n \{\
+.      ds #H 0
+.      ds #V .8m
+.      ds #F .3m
+.      ds #[ \f1
+.      ds #] \fP
+.\}
+.if t \{\
+.      ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+.      ds #V .6m
+.      ds #F 0
+.      ds #[ \&
+.      ds #] \&
+.\}
+.      \" simple accents for nroff and troff
+.if n \{\
+.      ds ' \&
+.      ds ` \&
+.      ds ^ \&
+.      ds , \&
+.      ds ~ ~
+.      ds ? ?
+.      ds ! !
+.      ds /
+.      ds q
+.\}
+.if t \{\
+.      ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+.      ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+.      ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+.      ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+.      ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+.      ds ? \s-2c\h'-\w'c'u*7/10'\u\h'\*(#H'\zi\d\s+2\h'\w'c'u*8/10'
+.      ds ! \s-2\(or\s+2\h'-\w'\(or'u'\v'-.8m'.\v'.8m'
+.      ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.      ds q o\h'-\w'o'u*8/10'\s-4\v'.4m'\z\(*i\v'-.4m'\s+4\h'\w'o'u*8/10'
+.\}
+.      \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds v \\k:\h'-(\\n(.wu*9/10-\*(#H)'\v'-\*(#V'\*(#[\s-4v\s0\v'\*(#V'\h'|\\n:u'\*(#]
+.ds _ \\k:\h'-(\\n(.wu*9/10-\*(#H+(\*(#F*2/3))'\v'-.4m'\z\(hy\v'.4m'\h'|\\n:u'
+.ds . \\k:\h'-(\\n(.wu*8/10)'\v'\*(#V*4/10'\z.\v'-\*(#V*4/10'\h'|\\n:u'
+.ds 3 \*(#[\v'.2m'\s-2\&3\s0\v'-.2m'\*(#]
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+.ds oe o\h'-(\w'o'u*4/10)'e
+.ds Oe O\h'-(\w'O'u*4/10)'E
+.      \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+.      \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+.      ds : e
+.      ds 8 ss
+.      ds v \h'-1'\o'\(aa\(ga'
+.      ds _ \h'-1'^
+.      ds . \h'-1'.
+.      ds 3 3
+.      ds o a
+.      ds d- d\h'-1'\(ga
+.      ds D- D\h'-1'\(hy
+.      ds th \o'bp'
+.      ds Th \o'LP'
+.      ds ae ae
+.      ds Ae AE
+.      ds oe oe
+.      ds Oe OE
+.\}
+.rm #[ #] #H #V #F C
+.SH "NAME"
+vos size \- Computes the size of a volume dump
+.SH "SYNOPSIS"
+\fBvos size\fR <<\ [\fB\-cell\fR\ <\fIcell\ name\fR] >>> [\fB\-dump\fR]
+    [\fB\-encrypt\fR] [\fB\-help\fR] [\fB\-id\fR] <\fIvolume name or id\fR>
+    [\fB\-localauth\fR] [\fB\-noauth\fR]
+    <<\ [\fB\-partition\fR\ <\fIpartition\ name\fR] >>>
+    <<\ [\fB\-server\fR\ <\fImachine\ name\fR] >>>
+    <<\ [\fB\-time\fR\ <\fIdump\ from\ time\fR] >>> [\fB\-verbose\fR]
+.SH "DESCRIPTION"
+The \fBvos size\fR command shows the size of a volume's dump for backup
+purposes. The size of the dump may differ from the volume size as reported
+by \fBvos examine\fR or \fBfs listquota\fR. The size is shown in bytes.
+.PP
+This command is intended for use with backup systems that want to size
+volume dumps before performing them (to optimize use of tape resources,
+for example).
+.SH "OPTIONS"
+.Ip "\fB\-cell\fR <\fIcell name\fR>" 4
+The cell in which the volume resides, if it's not in the current cell.
+.Ip "\fB\-dump\fR" 4
+Show the size of the volume dump for the specified volume. Currently, this
+flag should always be given for \fBvos size\fR to give useful information.
+It is present to allow this command to provide other size estimates in the
+future.
+.Ip "\fB\-encrypt\fR" 4
+Encrypt the command.
+.Ip "\fB\-help\fR" 4
+Prints the online help for this command. All other valid options are
+ignored.
+.Ip "\fB\-id\fR <\fIvolume name or id\fR>" 4
+Specifies either the complete name or volume \s-1ID\s0 number of the read/write,
+read-only, or backup volume to size.
+.Ip "\fB\-localauth\fR" 4
+Constructs a server ticket using a key from the local
+\fI/usr/afs/etc/KeyFile\fR file. The \fBvos\fR command interpreter presents it
+to the Volume Server and Volume Location Server during mutual
+authentication. Do not combine this flag with the \fB\-cell\fR argument or
+\fB\-noauth\fR flag. For more details, see the \fIvos(1)\fR manpage.
+.Ip "\fB\-noauth\fR" 4
+Assigns the unprivileged identity anonymous to the issuer. Do not combine
+this flag with the \fB\-localauth\fR flag. For more details, see the \fIvos(1)\fR manpage.
+.Ip "\fB\-partition\fR <\fIpartition name\fR>" 4
+Specifies the partition on which the volume resides. Provide the
+\fB\-server\fR argument along with this one.
+.Ip "\fB\-server\fR <\fImachine name\fR>" 4
+Specifies the file server machine on which the volume resides.  Provide
+the \fB\-partition\fR argument along with this one.
+.Ip "\fB\-time\fR <\fIdump from time\fR>" 4
+Specifies whether the dump is full or incremental. Omit this argument to
+size a full dump. See the \fIvos_dump(1)\fR manpage for the valid values for this
+option.
+.Ip "\fB\-verbose\fR" 4
+Show more output about what's going on.
+.SH "OUTPUT"
+When run without \fB\-verbose\fR, the output will be:
+.PP
+.Vb 2
+\&   Volume: <volume>
+\&   dump_size: <size>
+.Ve
+where <volume> is the name of the volume and <size> is the size of the
+dump in bytes. With \fB\-verbose\fR, additional status messages will be
+printed between those two lines.
+.SH "EXAMPLES"
+Sizing a single user volume:
+.PP
+.Vb 3
+\&   % vos size user.thoron -dump
+\&   Volume: user.thoron
+\&   dump_size: 36430
+.Ve
+or, more verbosely:
+.PP
+.Vb 6
+\&   % vos size user.thoron -dump -verbose
+\&   Volume: user.thoron
+\&   Starting transaction on volume 2003434023... done
+\&   Getting size of volume on volume 2003434023... done
+\&   Ending transaction on volume 2003434023... done
+\&   dump_size: 36430
+.Ve
+Sizing an incremental dump for the same volume:
+.PP
+.Vb 3
+\&   % vos size -id user.thoron -time '05/04/2007 00:00:00' -dump 
+\&   Volume: user.thoron
+\&   dump_size: 21095
+.Ve
+.SH "PRIVILEGE REQUIRED"
+The issuer must be listed in the \fI/usr/afs/etc/UserList\fR file on the
+machine specified with the \fB\-server\fR argument or the machine on which the
+volume is located if \fB\-server\fR was not given.  If the \fB\-localauth\fR flag
+is included, the issuer must instead be logged on to a server machine as
+the local superuser \f(CWroot\fR.
+.SH "SEE ALSO"
+the \fIfs_listquota(1)\fR manpage,
+the \fIvos_dump(1)\fR manpage,
+the \fIvos_examine(1)\fR manpage
+.SH "COPYRIGHT"
+Copyright 2007 Jason Edgecombe <jason@rampaginggeek.com>
+.PP
+This documentation is covered by the IBM Public License Version
+1.0. This man page was written by Jason Edgecombe for OpenAFS.
+
+.rn }` ''
+.IX Title "VOS_SIZE 1"
+.IX Name "vos size - Computes the size of a volume dump"
+
+.IX Header "NAME"
+
+.IX Header "SYNOPSIS"
+
+.IX Header "DESCRIPTION"
+
+.IX Header "OPTIONS"
+
+.IX Item "\fB\-cell\fR <\fIcell name\fR>"
+
+.IX Item "\fB\-dump\fR"
+
+.IX Item "\fB\-encrypt\fR"
+
+.IX Item "\fB\-help\fR"
+
+.IX Item "\fB\-id\fR <\fIvolume name or id\fR>"
+
+.IX Item "\fB\-localauth\fR"
+
+.IX Item "\fB\-noauth\fR"
+
+.IX Item "\fB\-partition\fR <\fIpartition name\fR>"
+
+.IX Item "\fB\-server\fR <\fImachine name\fR>"
+
+.IX Item "\fB\-time\fR <\fIdump from time\fR>"
+
+.IX Item "\fB\-verbose\fR"
+
+.IX Header "OUTPUT"
+
+.IX Header "EXAMPLES"
+
+.IX Header "PRIVILEGE REQUIRED"
+
+.IX Header "SEE ALSO"
+
+.IX Header "COPYRIGHT"
+
diff --git a/doc/man-pages/man5/CellAlias.5 b/doc/man-pages/man5/CellAlias.5
new file mode 100644 (file)
index 0000000..a5f276b
--- /dev/null
@@ -0,0 +1,253 @@
+.rn '' }`
+''' $RCSfile$$Revision$$Date$
+'''
+''' $Log$
+'''
+.de Sh
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp
+.if t .sp .5v
+.if n .sp
+..
+.de Ip
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.de Vb
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve
+.ft R
+
+.fi
+..
+'''
+'''
+'''     Set up \*(-- to give an unbreakable dash;
+'''     string Tr holds user defined translation string.
+'''     Bell System Logo is used as a dummy character.
+'''
+.tr \(*W-|\(bv\*(Tr
+.ie n \{\
+.ds -- \(*W-
+.ds PI pi
+.if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+.if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+.ds L" ""
+.ds R" ""
+'''   \*(M", \*(S", \*(N" and \*(T" are the equivalent of
+'''   \*(L" and \*(R", except that they are used on ".xx" lines,
+'''   such as .IP and .SH, which do another additional levels of
+'''   double-quote interpretation
+.ds M" """
+.ds S" """
+.ds N" """""
+.ds T" """""
+.ds L' '
+.ds R' '
+.ds M' '
+.ds S' '
+.ds N' '
+.ds T' '
+'br\}
+.el\{\
+.ds -- \(em\|
+.tr \*(Tr
+.ds L" ``
+.ds R" ''
+.ds M" ``
+.ds S" ''
+.ds N" ``
+.ds T" ''
+.ds L' `
+.ds R' '
+.ds M' `
+.ds S' '
+.ds N' `
+.ds T' '
+.ds PI \(*p
+'br\}
+.\"    If the F register is turned on, we'll generate
+.\"    index entries out stderr for the following things:
+.\"            TH      Title 
+.\"            SH      Header
+.\"            Sh      Subsection 
+.\"            Ip      Item
+.\"            X<>     Xref  (embedded
+.\"    Of course, you have to process the output yourself
+.\"    in some meaninful fashion.
+.if \nF \{
+.de IX
+.tm Index:\\$1\t\\n%\t"\\$2"
+..
+.nr % 0
+.rr F
+.\}
+.TH CellAlias 5 "OpenAFS" "5/Aug/2007" "AFS File Reference"
+.UC
+.if n .hy 0
+.if n .na
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.de CQ          \" put $1 in typewriter font
+.ft CW
+'if n "\c
+'if t \\&\\$1\c
+'if n \\&\\$1\c
+'if n \&"
+\\&\\$2 \\$3 \\$4 \\$5 \\$6 \\$7
+'.ft R
+..
+.\" @(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2
+.      \" AM - accent mark definitions
+.bd B 3
+.      \" fudge factors for nroff and troff
+.if n \{\
+.      ds #H 0
+.      ds #V .8m
+.      ds #F .3m
+.      ds #[ \f1
+.      ds #] \fP
+.\}
+.if t \{\
+.      ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+.      ds #V .6m
+.      ds #F 0
+.      ds #[ \&
+.      ds #] \&
+.\}
+.      \" simple accents for nroff and troff
+.if n \{\
+.      ds ' \&
+.      ds ` \&
+.      ds ^ \&
+.      ds , \&
+.      ds ~ ~
+.      ds ? ?
+.      ds ! !
+.      ds /
+.      ds q
+.\}
+.if t \{\
+.      ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+.      ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+.      ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+.      ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+.      ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+.      ds ? \s-2c\h'-\w'c'u*7/10'\u\h'\*(#H'\zi\d\s+2\h'\w'c'u*8/10'
+.      ds ! \s-2\(or\s+2\h'-\w'\(or'u'\v'-.8m'.\v'.8m'
+.      ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.      ds q o\h'-\w'o'u*8/10'\s-4\v'.4m'\z\(*i\v'-.4m'\s+4\h'\w'o'u*8/10'
+.\}
+.      \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds v \\k:\h'-(\\n(.wu*9/10-\*(#H)'\v'-\*(#V'\*(#[\s-4v\s0\v'\*(#V'\h'|\\n:u'\*(#]
+.ds _ \\k:\h'-(\\n(.wu*9/10-\*(#H+(\*(#F*2/3))'\v'-.4m'\z\(hy\v'.4m'\h'|\\n:u'
+.ds . \\k:\h'-(\\n(.wu*8/10)'\v'\*(#V*4/10'\z.\v'-\*(#V*4/10'\h'|\\n:u'
+.ds 3 \*(#[\v'.2m'\s-2\&3\s0\v'-.2m'\*(#]
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+.ds oe o\h'-(\w'o'u*4/10)'e
+.ds Oe O\h'-(\w'O'u*4/10)'E
+.      \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+.      \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+.      ds : e
+.      ds 8 ss
+.      ds v \h'-1'\o'\(aa\(ga'
+.      ds _ \h'-1'^
+.      ds . \h'-1'.
+.      ds 3 3
+.      ds o a
+.      ds d- d\h'-1'\(ga
+.      ds D- D\h'-1'\(hy
+.      ds th \o'bp'
+.      ds Th \o'LP'
+.      ds ae ae
+.      ds Ae AE
+.      ds oe oe
+.      ds Oe OE
+.\}
+.rm #[ #] #H #V #F C
+.SH "NAME"
+CellAlias \- Maps cell names to aliases in /afs
+.SH "DESCRIPTION"
+The \fICellAlias\fR file is used when the AFS Cache Manager is Dynamic Root
+(\fB\-dynroot\fR) mode. It creates symbolic links in the dynamic root that
+link an alias for a cell (usually a short name) to the full name for the
+cell.
+.PP
+The most common use of this configuration file is to allow short names for
+frequently used cell names. Traditionally, such short names would be
+created by the local AFS administrator by creating symbolic links in the
+\f(CWroot.afs\fR volume. Such symlinks do not appear when Dynamic Root is
+enabled because, with Dynamic Root, the Cache Manager does not mount or
+look at the \f(CWroot.afs\fR volume. \fICellAlias\fR is a replacement that allows
+such short names to be created under the client control.
+.PP
+If you configure a short name mapping such as \f(CWir\fR for
+\f(CWir.stanford.edu\fR, the mapping of \f(CW.ir\fR to \f(CW.ir.stanford.edu\fR for the
+read/write version of the \f(CWroot.cell\fR volume for that cell will be
+created automatically. There is no need to list that alias separately (and
+it is listed separately, \fBafsd\fR will report an error on startup).
+.PP
+The contents of the \fICellAlias\fR file should consist of one line of two
+whitespace-separated columns per alias. The first column is the real name
+of the cell, and the second column is the alias that should be created.
+.SH "EXAMPLES"
+The following \fICellAlias\fR file:
+.PP
+.Vb 2
+\&   openafs.org openafs
+\&   uncc.edu uncc
+.Ve
+results in the following symbolic links:
+.PP
+.Vb 4
+\&   /afs/.openafs  ->  /afs/.openafs.org
+\&   /afs/openafs   ->  /afs/openafs.org
+\&   /afs/.uncc     ->  /afs/.uncc.edu
+\&   /afs/uncc      ->  /afs/uncc.edu
+.Ve
+.SH "SEE ALSO"
+the \fIfs_newalias(1)\fR manpage,
+the \fIfs_listaliases(1)\fR manpage,
+the \fIafsd(8)\fR manpage
+.SH "COPYRIGHT"
+Copyright 2007 Jason Edgecombe <jason@rampaginggeek.com>
+.PP
+This documentation is covered by the IBM Public License Version 1.0. This
+man page was written by Jason Edgecombe for OpenAFS.
+
+.rn }` ''
+.IX Title "CellAlias 5"
+.IX Name "CellAlias - Maps cell names to aliases in /afs"
+
+.IX Header "NAME"
+
+.IX Header "DESCRIPTION"
+
+.IX Header "EXAMPLES"
+
+.IX Header "SEE ALSO"
+
+.IX Header "COPYRIGHT"
+
index a2c5cd45da7d50b3f2d6920f5056795e00c3fc04..9dcdaae5d15aa67d4ac00c8c855a5d5f94bc2a4c 100644 (file)
@@ -93,7 +93,7 @@
 .nr % 0
 .rr F
 .\}
-.TH NetInfo 5 "OpenAFS" "5/Jan/2006" "AFS File Reference"
+.TH NetInfo 5 "OpenAFS" "19/Jun/2007" "AFS File Reference"
 .UC
 .if n .hy 0
 .if n .na
@@ -257,6 +257,7 @@ is not significant.
 To display the File Server interface addresses registered in the \s-1VLDB\s0, use
 the \fBvos listaddrs\fR command.
 .SH "SEE ALSO"
+the \fINetRestrict(5)\fR manpage,
 the \fIsysid(5)\fR manpage,
 the \fIvldb.DB0(5)\fR manpage,
 the \fIfileserver(8)\fR manpage,
index 703901ea834f4d89ea4816768d1772b20c4b35ef..f6fabf615d818c833c40c716620d6cd9e5e849d3 100644 (file)
@@ -93,7 +93,7 @@
 .nr % 0
 .rr F
 .\}
-.TH NetRestrict 5 "OpenAFS" "5/Jan/2006" "AFS File Reference"
+.TH NetRestrict 5 "OpenAFS" "19/Jun/2007" "AFS File Reference"
 .UC
 .if n .hy 0
 .if n .na
@@ -193,9 +193,9 @@ NetRestrict \- Defines interfaces not to register with AFS servers
 There are two \fINetRestrict\fR files, one for an AFS client and one for an
 AFS File Server or database server.  The AFS client \fINetRestrict\fR file
 specifies the IP addresses that the client should not register with the
-File Servers it connects to.  The server \fINetInfo\fR file specifies what
-interfaces should not be registered with AFS Database Servers or used to
-talk to other database servers.
+File Servers it connects to.  The server \fINetRestrict\fR file specifies
+what interfaces should not be registered with AFS Database Servers or used
+to talk to other database servers.
 .Sh "Client NetRestrict"
 The \fINetRestrict\fR file, if present in a client machine's \fI/usr/vice/etc\fR
 directory, defines the \s-1IP\s0 addresses of the interfaces that the local Cache
@@ -251,6 +251,7 @@ register or use any of the addresses in the \f(CW192.12.105\fR subnet.
 To display the File Server interface addresses registered in the \s-1VLDB\s0, use
 the \fBvos listaddrs\fR command.
 .SH "SEE ALSO"
+the \fINetInfo(5)\fR manpage,
 the \fIsysid(5)\fR manpage,
 the \fIvldb.DB0(5)\fR manpage,
 the \fIfileserver(8)\fR manpage,
index 9cc2f1bdf53264329a0a49bbb9105a594f3623c9..0d5fc461b9defe5851e517452f4b481e9c991876 100644 (file)
@@ -93,7 +93,7 @@
 .nr % 0
 .rr F
 .\}
-.TH afsd 8 "OpenAFS" "9/Nov/2006" "AFS Command Reference"
+.TH afsd 8 "OpenAFS" "5/Aug/2007" "AFS Command Reference"
 .UC
 .if n .hy 0
 .if n .na
 .SH "NAME"
 afsd \- Initializes the Cache Manager and starts related daemons
 .SH "SYNOPSIS"
-\fBafsd\fR <<\ [\fB\-blocks\fR\ <\fI1024\ byte\ blocks\ in\ cache\fR] >>>
-     <<\ [\fB\-files\fR\ <\fIfiles\ in\ cache\fR] >>>
-     <<\ [\fB\-rootvol\fR\ <\fIname\ of\ AFS\ root\ volume\fR] >>>
-     <<\ [\fB\-stat\fR\ <\fInumber\ of\ stat\ entries\fR] >>>
-     [\fB\-memcache\fR] <<\ [\fB\-cachedir\fR\ <\fIcache\ directory\fR] >>>
-     <<\ [\fB\-mountdir\fR\ <\fImount\ location\fR] >>>
-     <<\ [\fB\-daemons\fR\ <\fInumber\ of\ daemons\ to\ use\fR] >>>
-     [\fB\-nosettime\fR] [\fB\-verbose\fR] [\fB\-rmtsys\fR] [\fB\-debug\fR]
-     <<\ [\fB\-chunksize\fR\ <\fIlog(2)\ of\ chunk\ size\fR] >>>
-     <<\ [\fB\-dcache\fR\ <\fInumber\ of\ dcache\ entries\fR] >>>
-     <<\ [\fB\-volumes\fR\ <\fInumber\ of\ volume\ entries\fR] >>>
+\fBafsd\fR [\fB\-afsdb\fR] [\fB\-backuptree\fR]
      <<\ [\fB\-biods\fR\ <\fInumber\ of\ bkg\ I/O\ daemons\ (aix\ vm)\fR] >>>
-     <<\ [\fB\-prealloc\fR\ <\fInumber\ of\ \*(L'small\*(R'\ preallocated\ blocks\fR] >>>
+     <<\ [\fB\-blocks\fR\ <\fI1024\ byte\ blocks\ in\ cache\fR] >>>
+     <<\ [\fB\-cachedir\fR\ <\fIcache\ directory\fR] >>>
+     <<\ [\fB\-chunksize\fR\ <\fIlog(2)\ of\ chunk\ size\fR] >>>
      <<\ [\fB\-confdir\fR\ <\fIconfiguration\ directory\fR] >>>
-     <<\ [\fB\-logfile\fR\ <\fIPlace\ to\ keep\ the\ CM\ log\fR] >>>
-     [\fB\-waitclose\fR] [\fB\-shutdown\fR] [\fB\-enable_peer_stats\fR]
-     [\fB\-enable_process_stats\fR] [\fB\-help\fR]
+     <<\ [\fB\-daemons\fR\ <\fInumber\ of\ daemons\ to\ use\fR] >>>
+     <<\ [\fB\-dcache\fR\ <\fInumber\ of\ dcache\ entries\fR] >>> [\fB\-debug\fR]
+     [\fB\-dynroot\fR] [\fB\-enable_peer_stats\fR] [\fB\-enable_process_stats\fR]
+     [\fB\-fakestat\fR] [\fB\-fakestat-all\fR]
+     <<\ [\fB\-files\fR\ <\fIfiles\ in\ cache\fR] >>>
+     <<\ [\fB\-files_per_subdir\fR\ <\fIlog(2)\ of\ files\ per\ dir\fR ] >>>
+     [\fB\-help\fR] <<\ [\fB\-logfile\fR\ <\fIPlace\ to\ keep\ the\ CM\ log\fR] >>>
+     [\fB\-mem_alloc_sleep\fR] [\fB\-memcache\fR]
+     <<\ [\fB\-mountdir\fR\ <\fImount\ location\fR] >>> [\fB\-nomount\fR]
+     [\fB\-nosettime\fR]
+     <<\ [\fB\-prealloc\fR\ <\fInumber\ of\ \*(L'small\*(R'\ preallocated\ blocks\fR] >>>
+     [\fB\-rmtsys\fR] <<\ [\fB\-rootvol\fR\ <\fIname\ of\ AFS\ root\ volume\fR] >>>
+     [\fB\-rxbind\fR] <<\ [\fB\-rxpck\fR\ value\ for\ rx_extraPackets\ ]\ >>
+     [\fB\-settime\fR] [\fB\-shutdown\fR]
+     <<\ [\fB\-splitcache\fR\ <\fIRW/RO\ ratio\fR] >>>
+     <<\ [\fB\-stat\fR\ <\fInumber\ of\ stat\ entries\fR] >>> [\fB\-verbose\fR]
+     <<\ [\fB\-volumes\fR\ <\fInumber\ of\ volume\ entries\fR] >>>
+     [\fB\-waitclose\fR]
 .SH "DESCRIPTION"
 The \fBafsd\fR command initializes the Cache Manager on an AFS client machine
 by transferring AFS\-related configuration information into kernel memory
@@ -228,9 +235,11 @@ Cache Manager to contact them and to access files in the cell. Omission of
 a cell from this list, or incorrect information about its database server
 machines, prevents the Cache Manager from accessing files in it.
 .Sp
-The list of database server machines is transferred into the kernel from
-the \fI/usr/vice/etc/CellServDB\fR file. After initialization, use the \fBfs
-newcell\fR command to change the kernel-resident list without having to
+By default, the list of database server machines is transferred into the
+kernel from the \fI/usr/vice/etc/CellServDB\fR file. Alternatively, when the
+\fB\-afsdb\fR option is used, the list of database server machines is taken
+from the \s-1AFSDB\s0 \s-1DNS\s0 records for each cell. After initialization, use the
+\fBfs newcell\fR command to change the kernel-resident list without having to
 reboot.
 .Ip "\(bu" 4
 Mounts the root of the \s-1AFS\s0 filespace on a directory on the machine's local
@@ -257,8 +266,8 @@ not remove the directory that formerly served this function, if one
 exists.
 .Sp
 The second field in the \fI/usr/vice/etc/cacheinfo\fR file is the source for
-this name, and the standard value is the \fI/usr/vice/cache\fR directory. Use
-the \fB\-cachedir\fR argument to override the value in the \fBcacheinfo\fR file.
+this name. The standard value is \fI/usr/vice/cache\fR. Use the \fB\-cachedir\fR
+argument to override the value in the \fBcacheinfo\fR file.
 .Ip "\(bu" 4
 Sets the size of the cache. The default source for the value is the third
 field in the \fI/usr/vice/etc/cacheinfo\fR file, which specifies a number of
@@ -362,14 +371,12 @@ Sets the number of \fIstat\fR entries available in machine memory for caching
 status information about cached \s-1AFS\s0 files. The default is 300; use the
 \fB\-stat\fR argument to override the default.
 .Ip "\(bu" 4
-Randomly selects a file server machine in the local cell as the source for
-the correct time. Every five minutes thereafter, the local clock is
-adjusted (if necessary) to match the file server machine's clock.
-.Sp
-Use the \fB\-nosettime\fR flag to prevent the afsd command from selecting a
-time standard. This is recommended only on file server machines that are
-also acting as clients. File server machines maintain the correct time
-using the Network Time Protocol Daemon instead.
+If the \fB\-settime\fR option is specified, then it randomly selects a file
+server machine in the local cell as the source for the correct time. Every
+five minutes thereafter, the local clock is adjusted (if necessary) to
+match the file server machine's clock. This is not enabled by default.  It
+is recommended, instead, that the Network Time Protocol Daemon be used to
+synchronize the time.
 .PP
 In addition to setting cache configuration parameters, the \fBafsd\fR program
 starts the following daemons. (On most system types, these daemons appear
@@ -395,11 +402,11 @@ One \fIcache-truncation\fR daemon, which flushes the cache when free space is
 required, by writing cached data and status information to the File
 Server.
 .Ip "\(bu" 4
-One \fIserver connection\fR daemon, which sends a probe to the File Server
-every few minutes to check that it is still accessible. It also
-synchronizes the machine's clock with the clock on a randomly-chosen file
-server machine, unless the \fB\-nosettime\fR flag is used. There is always one
-server connection daemon.
+One \fIserver connection\fR daemon, which sends a probe to the File
+Server every few minutes to check that it is still accessible. If the
+\fB\-settime\fR option is set, it also synchronizes the machine's clock
+with the clock on a randomly-chosen file server machine. There is
+always one server connection daemon.
 .Ip "\(bu" 4
 One or more \fIbackground\fR daemons that improve performance by pre-fetching
 files and performing background (delayed) writes of saved data into \s-1AFS\s0.
@@ -440,8 +447,54 @@ AFS has for years had difficulties with being stopped and restarted
 without an intervening reboot.  While most of these issues have been
 ironed out, stopping and restarting AFS is not recommended unless
 necessary and rebooting before restarting AFS is still the safest course
-of action.
+of action. This does not apply to Linux; it should be safe to restart the
+AFS client on Linux without rebooting.
+.PP
+In contrast to many client-server applications, not all communication is
+initiated by the client. When the AFS client opens a file, it registers a
+callback with the AFS server. If the file changes, the server notifies the
+client that the file has changed and that all cached copies should be
+discarded. In order to enable full functionality on the AFS client,
+including all command-line utilities, the following UDP ports must be open
+on an firewalls between the client and the server:
+.PP
+.Vb 8
+\&   fileserver      7000/udp 
+\&   cachemanager    7001/udp (OpenAFS client. Arla uses 4711/udp)
+\&   ptserver        7002/udp
+\&   vlserver        7003/udp
+\&   kaserver        7004/udp (not needed with Kerberos v5)
+\&   volserver       7005/udp
+\&   reserved        7006/udp (for future use)
+\&   bosserver       7007/udp
+.Ve
+Additionally, for \fBklog\fR to work through the firewall you need to allow
+inbound and outbound UDP on ports >1024 (probably 1024<port<2048 would
+suffice depending on the number of simultaneous \fBklog\fRs).
+.PP
+Be sure to set the UDP timeouts on the firewall to be at least twenty
+minutes for the best callback performance.
 .SH "OPTIONS"
+.Ip "\fB\-afsdb\fR" 4
+Enable afsdb support. This will use \s-1DNS\s0 to lookup the \s-1AFSDB\s0 record and use
+that for the database servers for each cell instead of the values in the
+\fICellServDB\fR file. This has the advantage of only needing to update one
+\s-1DNS\s0 record to reconfigure the \s-1AFS\s0 clients for a new database server as
+opposed to touching all of the clients, and also allows one to access a
+cell without preconfiguring its database servers in \fICellServDB\fR.
+.Ip "\fB\-backuptree\fR" 4
+Prefer backup volumes for mountpoints in backup volumes. This option means
+that the \s-1AFS\s0 client will prefer to resolve mount points to backup volumes
+when a parent of the current volume is a backup volume. This is similar to
+the standard behaviour of preferring read-only volumes over read-write
+volumes when the parent volume is a read-only volume.
+.Ip "\fB\-biods\fR <\fInumber of I/O daemons\fR>" 4
+Sets the number of \s-1VM\s0 daemons dedicated to performing I/O operations on a
+machine running a version of \s-1AIX\s0 with virtual memory (\s-1VM\s0) integration.  If
+both this argument and the \fB\-daemons\fR argument are omitted, the default
+is five. If this argument is omitted but the \fB\-daemons\fR argument is
+provided, the number of \s-1VM\s0 daemons is set to twice the value of the
+\fB\-daemons\fR argument.
 .Ip "\fB\-blocks\fR <\fIblocks in cache\fR>" 4
 Specifies the number of kilobyte blocks to be made available for caching
 in the machine's cache directory (for a disk cache) or memory (for a
@@ -450,33 +503,27 @@ memory cache), overriding the default defined in the third field of the
 95% of the space available in the cache partition. If using a memory
 cache, do not combine this argument with the \fB\-dcache\fR argument, since
 doing so can possibly result in a chunk size that is not an exponent of 2.
-.Ip "\fB\-files\fR <\fIfiles in cache\fR>" 4
-Specifies the number of \fIV\fIn\fR\fR files to create in the cache
-directory for a disk cache, overriding the default that is calculated as
-described in the \fI\s-1DESCRIPTION\s0\fR manpage. Each \fIV\fIn\fR\fR file accommodates a
-chunk of data, and can grow to a maximum size of 64 \s-1KB\s0 by default. Do not
-combine this argument with the \fB\-memcache\fR argument.
-.Ip "\fB\-rootvol\fR <\fIname of \s-1AFS\s0 root volume\fR>" 4
-Names the read/write volume corresponding to the root directory for the
-\s-1AFS\s0 file tree (which is usually the \fI/afs\fR directory). This value
-overrides the default of the \f(CWroot.afs\fR volume.
-.Ip "\fB\-stat\fR <\fInumber of stat entries\fR>" 4
-Specifies the number of entries to allocate in the machine's memory for
-recording status information about the \s-1AFS\s0 files in the cache. This value
-overrides the default of \f(CW300\fR.
-.Ip "\fB\-memcache\fR" 4
-Initializes a memory cache rather than a disk cache. Do not combine this
-flag with the \fB\-files\fR argument.
 .Ip "\fB\-cachedir\fR <\fIcache directory\fR>" 4
 Names the local disk directory to be used as the cache. This value
 overrides the default defined in the second field of the
 \fI/usr/vice/etc/cacheinfo\fR file.
-.Ip "\fB\-mountdir\fR <\fImount location\fR>" 4
-Names the local disk directory on which to mount the root of the \s-1AFS\s0
-filespace. This value overrides the default defined in the first field of
-the \fI/usr/vice/etc/cacheinfo\fR file. If a value other than the \fI/afs\fR
-directory is used, the machine cannot access the filespace of cells that
-do use that value.
+.Ip "\fB\-chunksize\fR <\fIchunk size\fR>" 4
+Sets the size of each cache chunk. The integer provided, which must be
+from the range \f(CW0\fR to \f(CW30\fR, is used as an exponent on the number 2. It
+overrides the default of 16 for a disk cache (2^16 is 64 \s-1KB\s0) and 13 for a
+memory cache (2^13 is 8 \s-1KB\s0). A value of \f(CW0\fR or less, or greater than
+\f(CW30\fR, sets chunk size to the appropriate default. Values less than \f(CW10\fR
+(which sets chunk size to a 1 \s-1KB\s0) are not recommended.  Combining this
+argument with the \fB\-dcache\fR argument is not recommended because it
+requires that the issuer calculate the cache size that results.
+.Sp
+\fB\-chunksize\fR is an important option when tuning for performance. Setting
+this option to larger values can increase performance when dealing with
+large files.
+.Ip "\fB\-confdir\fR <\fIconfiguration directory\fR>" 4
+Names a directory other than the \fI/usr/vice/etc\fR directory from which to
+fetch the \fIcacheinfo\fR, \fIThisCell\fR, and \fICellServDB\fR configuration
+files.
 .Ip "\fB\-daemons\fR <\fInumber of daemons to use\fR>" 4
 Specifies the number of background daemons to run on the machine.  These
 daemons improve efficiency by doing prefetching and background writing of
@@ -488,73 +535,48 @@ Note: On \s-1AIX\s0 machines with integrated virtual memory (\s-1VM\s0), the num
 \s-1VM\s0 daemons is set to twice the value of this argument, if it is provided
 and the \fB\-biods\fR argument is not. If both arguments are omitted, there
 are five \s-1VM\s0 daemons.
-.Ip "\fB\-nosettime\fR" 4
-Prevents the Cache Manager from synchronizing its clock with the clock on
-a server machine selected at random, by checking the time on the server
-machine every five minutes. Use this flag only on a machine that is
-already using another time synchronization protocol (for example, a server
-machine that is running the \fBrunntp\fR process).
-.Ip "\fB\-verbose\fR" 4
-Generates a detailed trace of the \fBafsd\fR program's actions on the
-standard output stream.
-.Ip "\fB\-rmtsys\fR" 4
-Initializes an additional daemon to execute \s-1AFS\s0\-specific system calls on
-behalf of \s-1NFS\s0 client machines. Use this flag only if the machine is an
-\s-1NFS/AFS\s0 translator machine serving users of \s-1NFS\s0 client machines who
-execute \s-1AFS\s0 commands.
+.Ip "\fB\-dcache\fR <\fInumber of dcache entries\fR>" 4
+Sets the number of dcache entries in memory, which are used to store
+information about cache chunks. For a disk cache, this overrides the
+default, which is 50% of the number of \fIV\fIn\fR\fR files (cache chunks). For
+a memory cache, this argument effectively sets the number of cache chunks,
+but its use is not recommended, because it requires the issuer to
+calculate the resulting total cache size (derived by multiplying this
+value by the chunk size). Do not combine this argument with the \fB\-blocks\fR
+argument, since doing so can possibly result in a chunk size that is not
+an exponent of 2.
 .Ip "\fB\-debug\fR" 4
 Generates a highly detailed trace of the \fBafsd\fR program's actions on the
 standard output stream. The information is useful mostly for debugging
 purposes.
-.Ip "\fB\-chunksize\fR <\fIchunk size\fR>" 4
-Sets the size of each cache chunk. The integer provided, which must be
-from the range \f(CW0\fR to \f(CW30\fR, is used as an exponent on the number 2. It
-overrides the default of 16 for a disk cache (2^16 is 64 \s-1KB\s0) and 13 for a
-memory cache (2^13 is 8 \s-1KB\s0). A value of \f(CW0\fR or less, or greater than
-\f(CW30\fR, sets chunk size to the appropriate default. Values less than \f(CW10\fR
-(which sets chunk size to a 1 \s-1KB\s0) are not recommended.  Combining this
-argument with the \fB\-dcache\fR argument is not recommended because it
-requires that the issuer calculate the cache size that results.
-.Ip "\fB\-dcache\fR <\fInumber of dcache entries\fR>" 4
-Sets the number of dcache entries in memory, which are used to store
-information about cache chunks. For a disk cache, this overrides the
-default, which is 50% of the number of \fIV\fIn\fR\fR files (cache
-chunks). For a memory cache, this argument effectively sets the number of
-cache chunks, but its use is not recommended, because it requires the
-issuer to calculate the resulting total cache size (derived by multiplying
-this value by the chunk size). Do not combine this argument with the
-\fB\-blocks\fR argument, since doing so can possibly result in a chunk size
-that is not an exponent of 2.
-.Ip "\fB\-volumes\fR <\fInumber of volume entries\fR>" 4
-Specifies the number of memory structures to allocate for storing volume
-location information. The default value is \f(CW50\fR.
-.Ip "\fB\-biods\fR <\fInumber of I/O daemons\fR>" 4
-Sets the number of \s-1VM\s0 daemons dedicated to performing I/O operations on a
-machine running a version of \s-1AIX\s0 with virtual memory (\s-1VM\s0) integration.  If
-both this argument and the \fB\-daemons\fR argument are omitted, the default
-is five. If this argument is omitted but the \fB\-daemons\fR argument is
-provided, the number of \s-1VM\s0 daemons is set to twice the value of the
-\fB\-daemons\fR argument.
-.Ip "\fB\-prealloc\fR <\fInumber of preallocated blocks\fR>" 4
-Specifies the number of pieces of memory to preallocate for the Cache
-Manager's internal use. The default initial value is \f(CW400\fR, but the Cache
-Manager dynamically allocates more memory as it needs it.
-.Ip "\fB\-confdir\fR <\fIconfiguration directory\fR>" 4
-Names a directory other than the \fI/usr/vice/etc\fR directory from which to
-fetch the \fIcacheinfo\fR, \fIThisCell\fR, and \fICellServDB\fR configuration
-files.
-.Ip "\fB\-logfile\fR <\fIlog file location\fR>" 4
-Is obsolete and has no real effect. It specifies an alternate file in
-which to record a type of trace that the Cache Manager no longer
-generates; the default value is \fI/usr/vice/etc/AFSLog\fR.
-.Ip "\fB\-waitclose\fR" 4
-Has no effect on the operation of the Cache Manager. The behavior it
-affected in previous versions of the Cache Manager, to perform synchronous
-writes to the File Server, is now the default behavior. To perform
-asynchronous writes in certain cases, use the \fBfs storebehind\fR command.
-.Ip "\fB\-shutdown\fR" 4
-Shuts down the Cache Manager, but not in the most effective possible
-way. Do not use this flag.
+.Ip "\fB\-dynroot\fR" 4
+The standard behaviour of the \s-1AFS\s0 client without the \fB\-dynroot\fR option is
+to mount the root.afs volume from the default cell on the \fI/afs\fR path. The 
+\fI/afs\fR folder and root.afs volume traditionally shows the folders for 
+\fIThisCell\fR and other cells as configured by the \s-1AFS\s0 cell administrator.
+.Sp
+The \fB\-dynroot\fR option changes this. Using this option, the \s-1AFS\s0 client
+does not mount the root.afs volume on \fI/afs\fR. Instead it uses the
+contents of the \fICellServDB\fR file to populate the listing of cells in
+\fI/afs\fR. This is known as a DYNamic \s-1ROOT\s0. A cell is not contacted until
+the path \fI/afs/\fIcellname\fR\fR if accessed. This functions similarly to an
+automounter.  The main advantage of using \fB\-dynroot\fR is that the \s-1AFS\s0
+client will start properly even without network access, whereas the client
+not using \fB\-dynroot\fR will freeze upon startup if cannot contact the
+default cell specified in \fIThisCell\fR and mount the root.afs
+volume. Dynamic root mode is also sometimes called travelling mode because
+it works well for laptops which don't always have network connectivity.
+.Sp
+Two advantages of not using dynroot are that listing \fI/afs\fR will usually
+be faster because the contents of \fI/afs\fR are limited to what the \s-1AFS\s0
+administrator decides and that symbolic links are traditionally created
+by the \s-1AFS\s0 administrator to provide a short name for the cell (i.e.
+cellname.domain.com is aliased to cellname).  However, with dynroot, the
+local system administrator can limit the default contents of \fI/afs\fR by
+installing a stripped-down \fICellServDB\fR file, and if dynroot is in effect,
+the \fICellAlias\fR file can be used to provide shortname for common \s-1AFS\s0 cells
+which provides equivalent functionality to the most commonly used symbolic
+links.
 .Ip "\fB\-enable_peer_stats\fR" 4
 Activates the collection of Rx statistics and allocates memory for their
 storage. For each connection with a specific \s-1UDP\s0 port on another machine,
@@ -567,41 +589,132 @@ storage. A separate record is kept for each type of \s-1RPC\s0 (FetchFile,
 GetStatus, and so on) sent or received, aggregated over all connections to
 other machines. To display or otherwise access the records, use the Rx
 Monitoring \s-1API\s0.
+.Ip "\fB\-fakestat\fR" 4
+Return fake values for stat calls on cross-cell mounts. This option makes
+an \f(CWls -l\fR of \fI/afs\fR much faster since each cell isn't contacted, and
+this and the \fB\-fakestat-all\fR options are useful on Mac \s-1OS\s0 X so that the
+Finder program doesn't try to contact every \s-1AFS\s0 cell the system knows
+about.
+.Ip "\fB\-fakestat-all\fR" 4
+Return fake values for stat calls on all mounts, not just cross-cell
+mounts. This and the \fB\-fakestat\fR options are useful on Mac \s-1OS\s0 X so that
+the Finder program doesn't hang when browsing \s-1AFS\s0 directories.
+.Ip "\fB\-files\fR <\fIfiles in cache\fR>" 4
+Specifies the number of \fIV\fIn\fR\fR files to create in the cache directory
+for a disk cache, overriding the default that is calculated as described
+in the \fI\s-1DESCRIPTION\s0\fR manpage. Each \fIV\fIn\fR\fR file accommodates a chunk of data, and
+can grow to a maximum size of 64 \s-1KB\s0 by default. Do not combine this
+argument with the \fB\-memcache\fR argument.
+.Ip "\fB\-files_per_subdir\fR <\fIfiles per cache subdirectory\fR>" 4
+Limits the number of cache files in each subdirectory of the cache
+directory. The value of the option should be the base-two log of the
+number of cache files per cache subdirectory (so 10 for 1024 files, 14 for
+16384 files, and so forth).
 .Ip "\fB\-help\fR" 4
 Prints the online help for this command. All other valid options are
 ignored.
+.Ip "\fB\-logfile\fR <\fIlog file location\fR>" 4
+This option is obsolete and no longer has any effect.
+.Ip "\fB\-mem_alloc_sleep\fR" 4
+Allows sleeps when allocating a memory cache.
+.Ip "\fB\-memcache\fR" 4
+Initializes a memory cache rather than a disk cache. Do not combine this
+flag with the \fB\-files\fR argument.
+.Ip "\fB\-mountdir\fR <\fImount location\fR>" 4
+Names the local disk directory on which to mount the root of the \s-1AFS\s0
+filespace. This value overrides the default defined in the first field of
+the \fI/usr/vice/etc/cacheinfo\fR file. If a value other than the \fI/afs\fR
+directory is used, the machine cannot access the filespace of cells that
+do use that value.
+.Ip "\fB\-nomount\fR" 4
+Do not mount \s-1AFS\s0 on startup. The afs global mount must be mounted via
+some other means. This is useful on Mac \s-1OS\s0 X where /afs is sometimes
+mounted in /Network/afs like other network file systems.
+.Ip "\fB\-nosettime\fR" 4
+This is enabled by default. It prevents the Cache Manager from
+synchronizing its clock with the clock on a server machine selected at
+random by checking the time on the server machine every five minutes.
+This is the recommended behavior; instead of the \s-1AFS\s0 Cache Manager, the
+Network Time Protocol Daemon should be used to synchronize the system
+time.
+.Ip "\fB\-prealloc\fR <\fInumber of preallocated blocks\fR>" 4
+Specifies the number of pieces of memory to preallocate for the Cache
+Manager's internal use. The default initial value is \f(CW400\fR, but the Cache
+Manager dynamically allocates more memory as it needs it.
+.Ip "\fB\-rmtsys\fR" 4
+Initializes an additional daemon to execute \s-1AFS\s0\-specific system calls on
+behalf of \s-1NFS\s0 client machines. Use this flag only if the machine is an
+\s-1NFS/AFS\s0 translator machine serving users of \s-1NFS\s0 client machines who
+execute \s-1AFS\s0 commands.
+.Ip "\fB\-rootvol\fR <\fIname of \s-1AFS\s0 root volume\fR>" 4
+Names the read/write volume corresponding to the root directory for the
+\s-1AFS\s0 file tree (which is usually the \fI/afs\fR directory). This value
+overrides the default of the \f(CWroot.afs\fR volume. This option is ignored if
+\fB\-dynroot\fR is given.
+.Ip "\fB\-rxbind\fR" 4
+Bind the Rx socket (one interface only).
+.Ip "\fB\-rxpck\fR <\fIvalue for rx_extraPackets\fR>" 4
+Set rx_extraPackets to this value.
+.Ip "\fB\-settime\fR" 4
+Enable native \s-1AFS\s0 time synchronization. This option is the opposite of
+\fB\-nosettime\fR and cannot be used with the \fB\-nosettime\fR option.
+.Ip "\fB\-shutdown\fR" 4
+Shuts down the Cache Manager. Before calling \fBafsd\fR with this option,
+unmount the \s-1AFS\s0 file system with \fBumount\fR.
+.Ip "\fB\-splitcache\fR <\fI\s-1RW/RO\s0 Ratio\fR>" 4
+This allows the user to set a certain percentage of the \s-1AFS\s0 cache be
+reserved for read/write content and the rest to be reserved for read-only
+content. The ratio should be written as a fraction.  For example,
+\f(CW-splitcache 75/25\fR devotes 75% of your cache space to read/write content
+and 25% to read-only.
+.Ip "\fB\-stat\fR <\fInumber of stat entries\fR>" 4
+Specifies the number of entries to allocate in the machine's memory for
+recording status information about the \s-1AFS\s0 files in the cache. This value
+overrides the default of \f(CW300\fR.
+.Ip "\fB\-verbose\fR" 4
+Generates a detailed trace of the \fBafsd\fR program's actions on the
+standard output stream.
+.Ip "\fB\-volumes\fR <\fInumber of volume entries\fR>" 4
+Specifies the number of memory structures to allocate for storing volume
+location information. The default value is \f(CW50\fR.
+.Ip "\fB\-waitclose\fR" 4
+Has no effect on the operation of the Cache Manager. The behavior it
+affected in previous versions of the Cache Manager, to perform synchronous
+writes to the File Server, is now the default behavior. To perform
+asynchronous writes in certain cases, use the \fBfs storebehind\fR command.
 .SH "EXAMPLES"
 The \fBafsd\fR command is normally included in the machine's AFS
 initialization file, rather than typed at the command shell prompt. For
 most disk caches, the appropriate form is
 .PP
 .Vb 1
-\&   /usr/vice/etc/afsd
+\&   /usr/vice/etc/afsd
 .Ve
 The following command is appropriate when enabling a machine to act as an
 NFS/AFS Translator machine serving more than five users.
 .PP
 .Vb 1
-\&   /usr/vice/etc/afsd -daemons 4 -rmtsys
+\&   /usr/vice/etc/afsd -daemons 4 -rmtsys
 .Ve
 The following command initializes a memory cache and sets chunk size to 16
 KB (2^14).
 .PP
 .Vb 1
-\&   /usr/vice/etc/afsd -memcache -chunksize 14
+\&   /usr/vice/etc/afsd -memcache -chunksize 14
 .Ve
 .SH "PRIVILEGE REQUIRED"
 The issuer must be logged in as the local superuser root.
 .SH "SEE ALSO"
+the \fIfs_newcell(1)\fR manpage,
 the \fIafs_cache(5)\fR manpage,
 the \fICellServDB(5)\fR manpage,
 the \fIcacheinfo(5)\fR manpage
 .SH "COPYRIGHT"
 IBM Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
 .PP
-This documentation is covered by the IBM Public License Version 1.0.  It was
-converted from HTML to POD by software written by Chas Williams and Russ
-Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
+This documentation is covered by the IBM Public License Version 1.0.  It
+was converted from HTML to POD by software written by Chas Williams and
+Russ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
 
 .rn }` ''
 .IX Title "afsd 8"
@@ -683,53 +796,77 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
 
 .IX Header "OPTIONS"
 
-.IX Item "\fB\-blocks\fR <\fIblocks in cache\fR>"
-
-.IX Item "\fB\-files\fR <\fIfiles in cache\fR>"
+.IX Item "\fB\-afsdb\fR"
 
-.IX Item "\fB\-rootvol\fR <\fIname of \s-1AFS\s0 root volume\fR>"
+.IX Item "\fB\-backuptree\fR"
 
-.IX Item "\fB\-stat\fR <\fInumber of stat entries\fR>"
+.IX Item "\fB\-biods\fR <\fInumber of I/O daemons\fR>"
 
-.IX Item "\fB\-memcache\fR"
+.IX Item "\fB\-blocks\fR <\fIblocks in cache\fR>"
 
 .IX Item "\fB\-cachedir\fR <\fIcache directory\fR>"
 
-.IX Item "\fB\-mountdir\fR <\fImount location\fR>"
+.IX Item "\fB\-chunksize\fR <\fIchunk size\fR>"
+
+.IX Item "\fB\-confdir\fR <\fIconfiguration directory\fR>"
 
 .IX Item "\fB\-daemons\fR <\fInumber of daemons to use\fR>"
 
-.IX Item "\fB\-nosettime\fR"
+.IX Item "\fB\-dcache\fR <\fInumber of dcache entries\fR>"
 
-.IX Item "\fB\-verbose\fR"
+.IX Item "\fB\-debug\fR"
 
-.IX Item "\fB\-rmtsys\fR"
+.IX Item "\fB\-dynroot\fR"
 
-.IX Item "\fB\-debug\fR"
+.IX Item "\fB\-enable_peer_stats\fR"
 
-.IX Item "\fB\-chunksize\fR <\fIchunk size\fR>"
+.IX Item "\fB\-enable_process_stats\fR"
 
-.IX Item "\fB\-dcache\fR <\fInumber of dcache entries\fR>"
+.IX Item "\fB\-fakestat\fR"
 
-.IX Item "\fB\-volumes\fR <\fInumber of volume entries\fR>"
+.IX Item "\fB\-fakestat-all\fR"
 
-.IX Item "\fB\-biods\fR <\fInumber of I/O daemons\fR>"
+.IX Item "\fB\-files\fR <\fIfiles in cache\fR>"
 
-.IX Item "\fB\-prealloc\fR <\fInumber of preallocated blocks\fR>"
+.IX Item "\fB\-files_per_subdir\fR <\fIfiles per cache subdirectory\fR>"
 
-.IX Item "\fB\-confdir\fR <\fIconfiguration directory\fR>"
+.IX Item "\fB\-help\fR"
 
 .IX Item "\fB\-logfile\fR <\fIlog file location\fR>"
 
-.IX Item "\fB\-waitclose\fR"
+.IX Item "\fB\-mem_alloc_sleep\fR"
+
+.IX Item "\fB\-memcache\fR"
+
+.IX Item "\fB\-mountdir\fR <\fImount location\fR>"
+
+.IX Item "\fB\-nomount\fR"
+
+.IX Item "\fB\-nosettime\fR"
+
+.IX Item "\fB\-prealloc\fR <\fInumber of preallocated blocks\fR>"
+
+.IX Item "\fB\-rmtsys\fR"
+
+.IX Item "\fB\-rootvol\fR <\fIname of \s-1AFS\s0 root volume\fR>"
+
+.IX Item "\fB\-rxbind\fR"
+
+.IX Item "\fB\-rxpck\fR <\fIvalue for rx_extraPackets\fR>"
+
+.IX Item "\fB\-settime\fR"
 
 .IX Item "\fB\-shutdown\fR"
 
-.IX Item "\fB\-enable_peer_stats\fR"
+.IX Item "\fB\-splitcache\fR <\fI\s-1RW/RO\s0 Ratio\fR>"
 
-.IX Item "\fB\-enable_process_stats\fR"
+.IX Item "\fB\-stat\fR <\fInumber of stat entries\fR>"
 
-.IX Item "\fB\-help\fR"
+.IX Item "\fB\-verbose\fR"
+
+.IX Item "\fB\-volumes\fR <\fInumber of volume entries\fR>"
+
+.IX Item "\fB\-waitclose\fR"
 
 .IX Header "EXAMPLES"
 
diff --git a/doc/man-pages/man8/bos_util.8 b/doc/man-pages/man8/bos_util.8
new file mode 100644 (file)
index 0000000..864f628
--- /dev/null
@@ -0,0 +1,303 @@
+.rn '' }`
+''' $RCSfile$$Revision$$Date$
+'''
+''' $Log$
+'''
+.de Sh
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp
+.if t .sp .5v
+.if n .sp
+..
+.de Ip
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.de Vb
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve
+.ft R
+
+.fi
+..
+'''
+'''
+'''     Set up \*(-- to give an unbreakable dash;
+'''     string Tr holds user defined translation string.
+'''     Bell System Logo is used as a dummy character.
+'''
+.tr \(*W-|\(bv\*(Tr
+.ie n \{\
+.ds -- \(*W-
+.ds PI pi
+.if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+.if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+.ds L" ""
+.ds R" ""
+'''   \*(M", \*(S", \*(N" and \*(T" are the equivalent of
+'''   \*(L" and \*(R", except that they are used on ".xx" lines,
+'''   such as .IP and .SH, which do another additional levels of
+'''   double-quote interpretation
+.ds M" """
+.ds S" """
+.ds N" """""
+.ds T" """""
+.ds L' '
+.ds R' '
+.ds M' '
+.ds S' '
+.ds N' '
+.ds T' '
+'br\}
+.el\{\
+.ds -- \(em\|
+.tr \*(Tr
+.ds L" ``
+.ds R" ''
+.ds M" ``
+.ds S" ''
+.ds N" ``
+.ds T" ''
+.ds L' `
+.ds R' '
+.ds M' `
+.ds S' '
+.ds N' `
+.ds T' '
+.ds PI \(*p
+'br\}
+.\"    If the F register is turned on, we'll generate
+.\"    index entries out stderr for the following things:
+.\"            TH      Title 
+.\"            SH      Header
+.\"            Sh      Subsection 
+.\"            Ip      Item
+.\"            X<>     Xref  (embedded
+.\"    Of course, you have to process the output yourself
+.\"    in some meaninful fashion.
+.if \nF \{
+.de IX
+.tm Index:\\$1\t\\n%\t"\\$2"
+..
+.nr % 0
+.rr F
+.\}
+.TH bos_util 8 "OpenAFS" "17/Aug/2007" "AFS Command Reference"
+.UC
+.if n .hy 0
+.if n .na
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.de CQ          \" put $1 in typewriter font
+.ft CW
+'if n "\c
+'if t \\&\\$1\c
+'if n \\&\\$1\c
+'if n \&"
+\\&\\$2 \\$3 \\$4 \\$5 \\$6 \\$7
+'.ft R
+..
+.\" @(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2
+.      \" AM - accent mark definitions
+.bd B 3
+.      \" fudge factors for nroff and troff
+.if n \{\
+.      ds #H 0
+.      ds #V .8m
+.      ds #F .3m
+.      ds #[ \f1
+.      ds #] \fP
+.\}
+.if t \{\
+.      ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+.      ds #V .6m
+.      ds #F 0
+.      ds #[ \&
+.      ds #] \&
+.\}
+.      \" simple accents for nroff and troff
+.if n \{\
+.      ds ' \&
+.      ds ` \&
+.      ds ^ \&
+.      ds , \&
+.      ds ~ ~
+.      ds ? ?
+.      ds ! !
+.      ds /
+.      ds q
+.\}
+.if t \{\
+.      ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+.      ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+.      ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+.      ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+.      ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+.      ds ? \s-2c\h'-\w'c'u*7/10'\u\h'\*(#H'\zi\d\s+2\h'\w'c'u*8/10'
+.      ds ! \s-2\(or\s+2\h'-\w'\(or'u'\v'-.8m'.\v'.8m'
+.      ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.      ds q o\h'-\w'o'u*8/10'\s-4\v'.4m'\z\(*i\v'-.4m'\s+4\h'\w'o'u*8/10'
+.\}
+.      \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds v \\k:\h'-(\\n(.wu*9/10-\*(#H)'\v'-\*(#V'\*(#[\s-4v\s0\v'\*(#V'\h'|\\n:u'\*(#]
+.ds _ \\k:\h'-(\\n(.wu*9/10-\*(#H+(\*(#F*2/3))'\v'-.4m'\z\(hy\v'.4m'\h'|\\n:u'
+.ds . \\k:\h'-(\\n(.wu*8/10)'\v'\*(#V*4/10'\z.\v'-\*(#V*4/10'\h'|\\n:u'
+.ds 3 \*(#[\v'.2m'\s-2\&3\s0\v'-.2m'\*(#]
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+.ds oe o\h'-(\w'o'u*4/10)'e
+.ds Oe O\h'-(\w'O'u*4/10)'E
+.      \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+.      \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+.      ds : e
+.      ds 8 ss
+.      ds v \h'-1'\o'\(aa\(ga'
+.      ds _ \h'-1'^
+.      ds . \h'-1'.
+.      ds 3 3
+.      ds o a
+.      ds d- d\h'-1'\(ga
+.      ds D- D\h'-1'\(hy
+.      ds th \o'bp'
+.      ds Th \o'LP'
+.      ds ae ae
+.      ds Ae AE
+.      ds oe oe
+.      ds Oe OE
+.\}
+.rm #[ #] #H #V #F C
+.SH "NAME"
+bos_util \- Manipulate the AFS server Keyfile
+.SH "SYNOPSIS"
+\fBbos_util\fR add <\fIkvno\fR>
+.PP
+\fBbos_util\fR adddes <\fIkvno\fR>
+.PP
+\fBbos_util\fR delete <\fIkvno\fR>
+.PP
+\fBbos_util\fR list
+.SH "DESCRIPTION"
+The \fBbos_util\fR command manipulates the AFS server \fBKeyfile\fR. It can take
+a password from standard input, convert it to a key, and add it to the
+\fIKeyFile\fR; list the keys in the \fIKeyFile\fR; or remove a key from thet
+\fIKeyFile\fR. It is very similar in function to \fBasetkey\fR, but \fBasetkey\fR
+works with keytab files wheras \fBbos_util\fR works with passwords directly.
+.PP
+\fBbos_util\fR expects one of the following subcommands:
+.Ip "add <\fIkvno\fR>" 4
+Add a key with key version <\fIkvno\fR> to the \fIKeyFile\fR using a password
+from standard input. This command uses the normal \s-1AFS\s0 password salt
+algorithm to generate the key (equivalent to the des-cbc-crc:afs3 enctype
+in Kerberos v5). This command is basically equivalent to \fBbos addkey\fR.
+.Ip "adddes <\fIkvno\fR>" 4
+Add a key with key version <\fIkvno\fR> to the \fBKeyFile\fR using a password
+from standard input.  This command does not salt the password when
+generating the key (equivalent to the des-cbc-crc:v4 enctype in Kerberos
+v5).
+.Sp
+Since this command applies no salt to the password, it can be used as a
+last resort for generating a \s-1DES\s0 key with a salt algorithm that other
+utilities don't know how to use by giving this command the pre-salted
+password. This can be useful when, for example, using Microsoft Active
+Directory as the Kerberos \s-1KDC\s0, since Active Directory uses a different
+salt algorithm for service principals than most Unix Kerberos
+implementations. The best approach, however, is to find a way to generate
+a keytab and then use \fBasetkey\fR.
+.Ip "delete <\fIkvno\fR>" 4
+Delete the key with the specified key version from the \fIKeyFile\fR. This
+command is equivalent to \fBasetkey delete\fR or \fBbos removekey\fR.
+.Ip "list" 4
+List the keys in the \fIKeyFile\fR. This command is equivalent to \fBasetkey
+list\fR or \fBbos listkeys\fR.
+.PP
+The \fBbos_util\fR command does not use the normal \s-1AFS\s0 option parsing library
+and its subcommands cannot be abbreviated.
+.SH "CAUTIONS"
+\fBbos_util\fR is intended for use with a Kerberos v4 environment and
+therefore is mostly obsolete. Normally, rather than using this command,
+you will want to use \fBktutil\fR to create a keytab (perhaps with its
+\fBadd_entry\fR command) and then use \fBasetkey\fR as normal. \fBbos_util\fR only
+supports the AFS password salt algorithm and no password salt algorithm
+and therefore may not produce the same key from a given password as
+Kerberos v5 utilities unless one is careful to use that same salt
+algorithm when creating the key in the KDC.
+.PP
+Creating an AFS key with a known password and then using \fBbos_util\fR or
+\fBbos addkey\fR to add that key to the \fIKeyFile\fR is not recommended.
+Human-created passwords are usually not as strong as a random key
+generated using a good entropy source, such as with the \fB\-randkey\fR option
+to the MIT Kerberos v5 \fBkadmin ktadd\fR command or the equivalent in other
+Kerberos v5 implementations. The security of AFS depends on the strength
+of the AFS service key; it should therefore be as random as possible.
+.PP
+It is imperative that the key version number (kvno) given matches the kvno
+on the Kerberos server. If it doesn't, users won't be able to
+authenticate. The key generated by \fBbos_util\fR must also match the
+internal representation on the Kerberos server including the salt.
+.SH "OPTIONS"
+\fBbos_util\fR takes no options.
+.SH "PRIVILEGE REQUIRED"
+The issuer must be logged onto a file server machine as the local
+superuser \f(CWroot\fR.
+.SH "SEE ALSO"
+the \fIasetkey(8)\fR manpage,
+the \fIbos_addkey(8)\fR manpage,
+the \fIbos_listkeys(8)\fR manpage,
+the \fIbos_removekey(8)\fR manpage,
+\fIkadmin\fR\|(8),
+\fIktutil\fR\|(8)
+.SH "COPYRIGHT"
+Copyright 2007 Jason Edgecombe <jason@rampaginggeek.com>
+.PP
+This documentation is covered by the IBM Public License Version 1.0.
+This man page was written by Jason Edgecombe for OpenAFS.
+
+.rn }` ''
+.IX Title "bos_util 8"
+.IX Name "bos_util - Manipulate the AFS server Keyfile"
+
+.IX Header "NAME"
+
+.IX Header "SYNOPSIS"
+
+.IX Header "DESCRIPTION"
+
+.IX Item "add <\fIkvno\fR>"
+
+.IX Item "adddes <\fIkvno\fR>"
+
+.IX Item "delete <\fIkvno\fR>"
+
+.IX Item "list"
+
+.IX Header "CAUTIONS"
+
+.IX Header "OPTIONS"
+
+.IX Header "PRIVILEGE REQUIRED"
+
+.IX Header "SEE ALSO"
+
+.IX Header "COPYRIGHT"
+
index 624e96eb40d53d1cac011d5548dad553edb83e8f..bf6f115f3bc476f1292925071680eaf3c3ee2074 100644 (file)
@@ -93,7 +93,7 @@
 .nr % 0
 .rr F
 .\}
-.TH fileserver 8 "OpenAFS" "1/Mar/2006" "AFS Command Reference"
+.TH fileserver 8 "OpenAFS" "11/Jun/2007" "AFS Command Reference"
 .UC
 .if n .hy 0
 .if n .na
 .SH "NAME"
 fileserver \- Initializes the File Server component of the fs process
 .SH "SYNOPSIS"
-\fBfileserver\fR <<\ [\fB\-d\fR\ <\fIdebug\ level\fR] >>> <<\ [\fB\-p\fR\ <\fInumber\ of\ processes\fR] >>>
+\fBfileserver\fR <<\ [\fB\-auditlog\fR\ <\fIlog\ path\fR] >>>
+    <<\ [\fB\-d\fR\ <\fIdebug\ level\fR] >>>
+    <<\ [\fB\-p\fR\ <\fInumber\ of\ processes\fR] >>>
     <<\ [\fB\-spare\fR\ <\fInumber\ of\ spare\ blocks\fR] >>>
     <<\ [\fB\-pctspare\fR\ <\fIpercentage\ spare\fR] >>> <<\ [\fB\-b\fR\ <\fIbuffers\fR] >>>
     <<\ [\fB\-l\fR\ <\fIlarge\ vnodes\fR] >>> <<\ [\fB\-s\fR\ <\fIsmall\ nodes\fR] >>>
     <<\ [\fB\-vc\fR\ <\fIvolume\ cachesize\fR] >>> <<\ [\fB\-w\fR\ <\fIcall\ back\ wait\ interval\fR] >>>
     <<\ [\fB\-cb\fR\ <\fInumber\ of\ call\ backs\fR] >>> [\fB\-banner\fR] [\fB\-novbc\fR]
-    <<\ [\fB\-implicit\fR\ <\fIadmin\ mode\ bits:\ rlidwka\fR] >>>
+    <<\ [\fB\-implicit\fR\ <\fIadmin\ mode\ bits:\ rlidwka\fR] >>> [\fB\-readonly\fR]
     <<\ [\fB\-hr\fR\ <\fInumber\ of\ hours\ between\ refreshing\ the\ host\ cps\fR] >>>
     [\fB\-busyat\fR <\fI< redirect clients when queue \fR n >>>]
-    <<\ [\fB\-rxpck\fR\ <\fInumber\ of\ rx\ extra\ packets\fR] >>>
-    [\fB\-rxdbg\fR] [\fB\-rxdbge\fR] <<\ [\fB\-m\fR\ <\fImin\ percentage\ spare\ in\ partition\fR] >>>
+    [\fB\-nobusy\fR] <<\ [\fB\-rxpck\fR\ <\fInumber\ of\ rx\ extra\ packets\fR] >>>
+    [\fB\-rxdbg\fR] [\fB\-rxdbge\fR] <<\ [\fB\-rxmaxmtu\fR\ <\fIbytes\fR] >>>
+    <<\ [\fB\-rxbind\fR\ <\fIaddress\ to\ bind\ the\ Rx\ socket\ to\fR] >>>
+    <<\ [\fB\-vattachpar\fR\ <\fInumber\ of\ volume\ attach\ threads\fR] >>>
+    <<\ [\fB\-m\fR\ <\fImin\ percentage\ spare\ in\ partition\fR] >>>
     [\fB\-lock\fR] [\fB\-L\fR] [\fB\-S\fR] <<\ [\fB\-k\fR\ <\fIstack\ size\fR] >>>
     <<\ [\fB\-realm\fR\ <\fIKerberos\ realm\ name\fR] >>>
     <<\ [\fB\-udpsize\fR\ <\fIsize\ of\ socket\ buffer\ in\ bytes\fR] >>>
+    <<\ [\fB\-sendsize\fR\ <\fIsize\ of\ send\ buffer\ in\ bytes\fR] >>>
+    <<\ [\fB\-abortthreshold\fR\ <\fIabort\ threshold\fR] >>>
+    <<\ [\fB\-auditlog\fR\ <\fIpath\ to\ log\ file\fR] >>>
     [\fB\-enable_peer_stats\fR] [\fB\-enable_process_stats\fR] [\fB\-help\fR]
 .SH "DESCRIPTION"
 The \fBfileserver\fR command initializes the File Server component of the
@@ -337,6 +345,8 @@ Options that are available only on some system types, such as the \fB\-m\fR
 and \fB\-lock\fR options, appear in the output generated by the \fB\-help\fR
 option only on the relevant system type.
 .SH "OPTIONS"
+.Ip "\fB\-auditlog\fR <\fIlog path\fR>" 4
+Set and enable auditing.
 .Ip "\fB\-d\fR <\fIdebug level\fR>" 4
 Sets the detail level for the debugging trace written to the
 \fI/usr/afs/logs/FileLog\fR file. Provide one of the following values, each
@@ -530,6 +540,8 @@ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
 
 .IX Header "OPTIONS"
 
+.IX Item "\fB\-auditlog\fR <\fIlog path\fR>"
+
 .IX Item "\fB\-d\fR <\fIdebug level\fR>"
 
 .IX Item "\fB\-p\fR <\fInumber of processes\fR>"
diff --git a/doc/man-pages/man8/ka-forwarder.8 b/doc/man-pages/man8/ka-forwarder.8
new file mode 100644 (file)
index 0000000..90ee6dc
--- /dev/null
@@ -0,0 +1,272 @@
+.rn '' }`
+''' $RCSfile$$Revision$$Date$
+'''
+''' $Log$
+'''
+.de Sh
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp
+.if t .sp .5v
+.if n .sp
+..
+.de Ip
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.de Vb
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve
+.ft R
+
+.fi
+..
+'''
+'''
+'''     Set up \*(-- to give an unbreakable dash;
+'''     string Tr holds user defined translation string.
+'''     Bell System Logo is used as a dummy character.
+'''
+.tr \(*W-|\(bv\*(Tr
+.ie n \{\
+.ds -- \(*W-
+.ds PI pi
+.if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+.if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+.ds L" ""
+.ds R" ""
+'''   \*(M", \*(S", \*(N" and \*(T" are the equivalent of
+'''   \*(L" and \*(R", except that they are used on ".xx" lines,
+'''   such as .IP and .SH, which do another additional levels of
+'''   double-quote interpretation
+.ds M" """
+.ds S" """
+.ds N" """""
+.ds T" """""
+.ds L' '
+.ds R' '
+.ds M' '
+.ds S' '
+.ds N' '
+.ds T' '
+'br\}
+.el\{\
+.ds -- \(em\|
+.tr \*(Tr
+.ds L" ``
+.ds R" ''
+.ds M" ``
+.ds S" ''
+.ds N" ``
+.ds T" ''
+.ds L' `
+.ds R' '
+.ds M' `
+.ds S' '
+.ds N' `
+.ds T' '
+.ds PI \(*p
+'br\}
+.\"    If the F register is turned on, we'll generate
+.\"    index entries out stderr for the following things:
+.\"            TH      Title 
+.\"            SH      Header
+.\"            Sh      Subsection 
+.\"            Ip      Item
+.\"            X<>     Xref  (embedded
+.\"    Of course, you have to process the output yourself
+.\"    in some meaninful fashion.
+.if \nF \{
+.de IX
+.tm Index:\\$1\t\\n%\t"\\$2"
+..
+.nr % 0
+.rr F
+.\}
+.TH ka-forwarder 8 "OpenAFS" "19/Aug/2007" "AFS Command Reference"
+.UC
+.if n .hy 0
+.if n .na
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.de CQ          \" put $1 in typewriter font
+.ft CW
+'if n "\c
+'if t \\&\\$1\c
+'if n \\&\\$1\c
+'if n \&"
+\\&\\$2 \\$3 \\$4 \\$5 \\$6 \\$7
+'.ft R
+..
+.\" @(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2
+.      \" AM - accent mark definitions
+.bd B 3
+.      \" fudge factors for nroff and troff
+.if n \{\
+.      ds #H 0
+.      ds #V .8m
+.      ds #F .3m
+.      ds #[ \f1
+.      ds #] \fP
+.\}
+.if t \{\
+.      ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+.      ds #V .6m
+.      ds #F 0
+.      ds #[ \&
+.      ds #] \&
+.\}
+.      \" simple accents for nroff and troff
+.if n \{\
+.      ds ' \&
+.      ds ` \&
+.      ds ^ \&
+.      ds , \&
+.      ds ~ ~
+.      ds ? ?
+.      ds ! !
+.      ds /
+.      ds q
+.\}
+.if t \{\
+.      ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+.      ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+.      ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+.      ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+.      ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+.      ds ? \s-2c\h'-\w'c'u*7/10'\u\h'\*(#H'\zi\d\s+2\h'\w'c'u*8/10'
+.      ds ! \s-2\(or\s+2\h'-\w'\(or'u'\v'-.8m'.\v'.8m'
+.      ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.      ds q o\h'-\w'o'u*8/10'\s-4\v'.4m'\z\(*i\v'-.4m'\s+4\h'\w'o'u*8/10'
+.\}
+.      \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds v \\k:\h'-(\\n(.wu*9/10-\*(#H)'\v'-\*(#V'\*(#[\s-4v\s0\v'\*(#V'\h'|\\n:u'\*(#]
+.ds _ \\k:\h'-(\\n(.wu*9/10-\*(#H+(\*(#F*2/3))'\v'-.4m'\z\(hy\v'.4m'\h'|\\n:u'
+.ds . \\k:\h'-(\\n(.wu*8/10)'\v'\*(#V*4/10'\z.\v'-\*(#V*4/10'\h'|\\n:u'
+.ds 3 \*(#[\v'.2m'\s-2\&3\s0\v'-.2m'\*(#]
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+.ds oe o\h'-(\w'o'u*4/10)'e
+.ds Oe O\h'-(\w'O'u*4/10)'E
+.      \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+.      \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+.      ds : e
+.      ds 8 ss
+.      ds v \h'-1'\o'\(aa\(ga'
+.      ds _ \h'-1'^
+.      ds . \h'-1'.
+.      ds 3 3
+.      ds o a
+.      ds d- d\h'-1'\(ga
+.      ds D- D\h'-1'\(hy
+.      ds th \o'bp'
+.      ds Th \o'LP'
+.      ds ae ae
+.      ds Ae AE
+.      ds oe oe
+.      ds Oe OE
+.\}
+.rm #[ #] #H #V #F C
+.SH "NAME"
+ka-forwarder \- Forward AFS Authentication Server requests to another server
+.SH "SYNOPSIS"
+\fBka-forwarder\fR <<\ [\fB\-p\fR\ <\fIport\fR] >>> <\fIserver\fR>[/<\fIport\fR>] [...]
+.SH "DESCRIPTION"
+\fBka-forwarder\fR listens for requests for an AFS Authentication Server and
+forwards them to a remove \fBfakeka\fR server.  \fBfakeka\fR is a server that
+answers AFS Authentication Server protocol requests using a regular
+Kerberos KDC and is provided with some Kerberos 5 implementations.
+\fBfakeka\fR has to run on the same host as the Kerberos KDC, however, and
+AFS clients send all native AFS authentication requests to the AFS
+database servers.  If you don't want to run your Kerberos KDCs and your
+AFS database servers on the same host, run \fBka-forwarder\fR on the AFS
+database servers and point it to \fBfakeka\fR running on the Kerberos KDCs.
+.PP
+\fBka-forwarder\fR takes one or more servers to which to forward the
+requests.  The default port on the remote server to which to forward the
+command is 7004, but a different port can be specified by following the
+server name with a slash (\f(CW/\fR) and the port number.  If multiple servers
+are given, \fBka-forwarder\fR will send queries to each server in turn in a
+round-robin fashion.
+.SH "CAUTIONS"
+Due to the way that \fBka-forwarder\fR distinguishes from client requests and
+server responses, any messages from one of the servers to which
+\fBka-forwarder\fR is forwarding will be considered a reply rather than a
+command and will not be forwarded.  This means that the servers running
+\fBfakeka\fR will not be able to use native AFS authentication requests and
+rely on \fBka-forwarder\fR to send the requests to the right server.
+.PP
+\fBka-forwarder\fR does not background itself.  It should either be run in
+the background via the shell, or run via the Basic OverSeer Server (see
+the \fIbosserver(8)\fR manpage).
+.SH "OPTIONS"
+.Ip "\fB\-p\fR <\fIport\fR>" 4
+By default, \fBka-forwarder\fR listens to the standard \s-1AFS\s0 Authentication
+Server port (7004).  To listen to a different port, specify it with the
+\fB\-p\fR option.
+.SH "EXAMPLES"
+Forward AFS Authentication Server reqests to the \fBfakeka\fR servers on
+kdc1.example.com and kdc2.example.com:
+.PP
+.Vb 1
+\&    % ka-forwarder kdc1.example.com kdc2.example.com &
+.Ve
+Note the \f(CW&\fR to tell the shell to run this command in the background.
+.SH "PRIVILEGE REQUIRED"
+\fBka-forwarder\fR only has to listen to port 7004 and therefore does not
+require any special privileges unless a privileged port is specified with
+the \fB\-p\fR option.
+.SH "SEE ALSO"
+the \fIbosserver(8)\fR manpage,
+\fIfakeka\fR\|(8),
+the \fIkaserver(8)\fR manpage
+.SH "COPYRIGHT"
+Copyright 2006 Russ Allbery <rra@stanford.edu>
+.PP
+This documentation is covered by the IBM Public License Version 1.0.  This
+man page was written by Russ Allbery for OpenAFS.
+
+.rn }` ''
+.IX Title "ka-forwarder 8"
+.IX Name "ka-forwarder - Forward AFS Authentication Server requests to another server"
+
+.IX Header "NAME"
+
+.IX Header "SYNOPSIS"
+
+.IX Header "DESCRIPTION"
+
+.IX Header "CAUTIONS"
+
+.IX Header "OPTIONS"
+
+.IX Item "\fB\-p\fR <\fIport\fR>"
+
+.IX Header "EXAMPLES"
+
+.IX Header "PRIVILEGE REQUIRED"
+
+.IX Header "SEE ALSO"
+
+.IX Header "COPYRIGHT"
+
diff --git a/doc/man-pages/man8/pt_util.8 b/doc/man-pages/man8/pt_util.8
new file mode 100644 (file)
index 0000000..2d66b91
--- /dev/null
@@ -0,0 +1,376 @@
+.rn '' }`
+''' $RCSfile$$Revision$$Date$
+'''
+''' $Log$
+'''
+.de Sh
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp
+.if t .sp .5v
+.if n .sp
+..
+.de Ip
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.de Vb
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve
+.ft R
+
+.fi
+..
+'''
+'''
+'''     Set up \*(-- to give an unbreakable dash;
+'''     string Tr holds user defined translation string.
+'''     Bell System Logo is used as a dummy character.
+'''
+.tr \(*W-|\(bv\*(Tr
+.ie n \{\
+.ds -- \(*W-
+.ds PI pi
+.if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+.if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+.ds L" ""
+.ds R" ""
+'''   \*(M", \*(S", \*(N" and \*(T" are the equivalent of
+'''   \*(L" and \*(R", except that they are used on ".xx" lines,
+'''   such as .IP and .SH, which do another additional levels of
+'''   double-quote interpretation
+.ds M" """
+.ds S" """
+.ds N" """""
+.ds T" """""
+.ds L' '
+.ds R' '
+.ds M' '
+.ds S' '
+.ds N' '
+.ds T' '
+'br\}
+.el\{\
+.ds -- \(em\|
+.tr \*(Tr
+.ds L" ``
+.ds R" ''
+.ds M" ``
+.ds S" ''
+.ds N" ``
+.ds T" ''
+.ds L' `
+.ds R' '
+.ds M' `
+.ds S' '
+.ds N' `
+.ds T' '
+.ds PI \(*p
+'br\}
+.\"    If the F register is turned on, we'll generate
+.\"    index entries out stderr for the following things:
+.\"            TH      Title 
+.\"            SH      Header
+.\"            Sh      Subsection 
+.\"            Ip      Item
+.\"            X<>     Xref  (embedded
+.\"    Of course, you have to process the output yourself
+.\"    in some meaninful fashion.
+.if \nF \{
+.de IX
+.tm Index:\\$1\t\\n%\t"\\$2"
+..
+.nr % 0
+.rr F
+.\}
+.TH pt_util 8 "OpenAFS" "20/Aug/2007" "AFS Command Reference"
+.UC
+.if n .hy 0
+.if n .na
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.de CQ          \" put $1 in typewriter font
+.ft CW
+'if n "\c
+'if t \\&\\$1\c
+'if n \\&\\$1\c
+'if n \&"
+\\&\\$2 \\$3 \\$4 \\$5 \\$6 \\$7
+'.ft R
+..
+.\" @(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2
+.      \" AM - accent mark definitions
+.bd B 3
+.      \" fudge factors for nroff and troff
+.if n \{\
+.      ds #H 0
+.      ds #V .8m
+.      ds #F .3m
+.      ds #[ \f1
+.      ds #] \fP
+.\}
+.if t \{\
+.      ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+.      ds #V .6m
+.      ds #F 0
+.      ds #[ \&
+.      ds #] \&
+.\}
+.      \" simple accents for nroff and troff
+.if n \{\
+.      ds ' \&
+.      ds ` \&
+.      ds ^ \&
+.      ds , \&
+.      ds ~ ~
+.      ds ? ?
+.      ds ! !
+.      ds /
+.      ds q
+.\}
+.if t \{\
+.      ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+.      ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+.      ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+.      ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+.      ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+.      ds ? \s-2c\h'-\w'c'u*7/10'\u\h'\*(#H'\zi\d\s+2\h'\w'c'u*8/10'
+.      ds ! \s-2\(or\s+2\h'-\w'\(or'u'\v'-.8m'.\v'.8m'
+.      ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+.      ds q o\h'-\w'o'u*8/10'\s-4\v'.4m'\z\(*i\v'-.4m'\s+4\h'\w'o'u*8/10'
+.\}
+.      \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds v \\k:\h'-(\\n(.wu*9/10-\*(#H)'\v'-\*(#V'\*(#[\s-4v\s0\v'\*(#V'\h'|\\n:u'\*(#]
+.ds _ \\k:\h'-(\\n(.wu*9/10-\*(#H+(\*(#F*2/3))'\v'-.4m'\z\(hy\v'.4m'\h'|\\n:u'
+.ds . \\k:\h'-(\\n(.wu*8/10)'\v'\*(#V*4/10'\z.\v'-\*(#V*4/10'\h'|\\n:u'
+.ds 3 \*(#[\v'.2m'\s-2\&3\s0\v'-.2m'\*(#]
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+.ds oe o\h'-(\w'o'u*4/10)'e
+.ds Oe O\h'-(\w'O'u*4/10)'E
+.      \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+.      \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+.      ds : e
+.      ds 8 ss
+.      ds v \h'-1'\o'\(aa\(ga'
+.      ds _ \h'-1'^
+.      ds . \h'-1'.
+.      ds 3 3
+.      ds o a
+.      ds d- d\h'-1'\(ga
+.      ds D- D\h'-1'\(hy
+.      ds th \o'bp'
+.      ds Th \o'LP'
+.      ds ae ae
+.      ds Ae AE
+.      ds oe oe
+.      ds Oe OE
+.\}
+.rm #[ #] #H #V #F C
+.SH "NAME"
+pt_util \- Load or dump a Protection Server database
+.SH "SYNOPSIS"
+\fBpt_util\fR
+   <<\ [\fB\-w\fR]\ >> <<\ [\fB\-user\fR]\ >> <<\ [\fB\-group\fR]\ >>
+   <<\ [\fB\-members\fR]\ >> <<\ [\fB\-name\fR]\ >> <<\ [\fB\-system\fR]\ >>
+   <<\ [\fB\-xtra\fR]\ >> <<\ [\fB\-prdb\fR\ <\fIprdb\ file\fR] >>>
+   <<\ [\fB\-datafile\fR\ <\fIdata\ file\fR] >>> <<\ [\fB\-help\fR]\ >>
+.SH "DESCRIPTION"
+The \fBpt_util\fR command can be used to load or dump the protection
+database.  It should only be used when \fBptserver\fR is not running.
+.PP
+The most likely reason to use it is to initialize the protection database
+when bringing up a new cell.  The current syntax for this, presented
+below, needs improvement.  \fBpt_util\fR can also be used when problems are
+suspected with the database.  It can be used to dump the database or
+portions thereof, in several different ways, and to reload it.
+.PP
+The textual representation of the database has the following form:
+For users,
+.PP
+.Vb 1
+\&    name flags/quota viceid ownerid creatorid
+.Ve
+For groups,
+.PP
+.Vb 2
+\&    name flags/quota viceid ownerid creatorid
+\&     a-username a-user-viceid
+.Ve
+The second line is repeated for each member of the group.  When reading
+the database, membership is not reported unless \fB\-members\fR is also
+included.
+.SH "OPTIONS"
+If you don't specify any options, the only thing you'll learn is the ubik
+database epoch and version.
+.Ip "\fB\-w\fR" 4
+Write to the protection database instead of reading.  Only the file
+arguments make sense in combination with this argument.
+.Ip "\fB\-user\fR" 4
+When reading, display users.
+.Ip "\fB\-group\fR" 4
+When reading, display groups (but not necessarily members).
+.Ip "\fB\-members\fR" 4
+When reading, display groups and also group members.
+.Ip "\fB\-name\fR" 4
+When reading,
+follow name hashes, instead of id hashes.
+This may print different information if the database was corrupted.
+Otherwise, it should print exactly the same information, except
+in a different order.
+.Ip "\fB\-system\fR" 4
+When reading, display system data, or more precisely, do not display
+entries with a viced <= \-32768 or >= +97537.
+.Ip "\fB\-xtra\fR" 4
+When reading, display extra users and groups, or more precisely, do not
+display entries that are in the range \-32767...+97536 inclusive.
+.Ip "\fB\-prdb\fR <\fIprdb file\fR>" 4
+Specifies the complete pathname of the file in which the Protection
+Database resides.  Provide the complete name, including the ending
+\&\fI.\s-1DB0\s0\fR.
+.Ip "\fB\-datafile\fR <\fIdata file\fR>" 4
+Specify the file to which to dump (or \fB\-w\fR from which to read) textual
+database records.
+.SH "CAUTIONS"
+The file dump format does not include supergroup information, so should
+not be used if you have and are using groups within groups.
+.PP
+In all cases, entry timestamps and other information is also not
+preserved.
+.PP
+The epoch and version are reported on standard error.  On little-endian
+machines, they'll be byte swapped, so may be very random.
+.SH "EXAMPLES"
+The following example shows how to initialize the database from scratch.
+.PP
+Before you do this, make sure \fBptserver\fR is not running.  If you have
+multiple database servers, make sure \fIprdb.*\fR does not exist on any
+server machine.
+.PP
+Now, type this in EXACTLY, including the leading space on the line
+indicated.  But do use Control-D at the end, not up-arrow D.
+.PP
+.Vb 5
+\&    pt_util -w
+\&    admin 128/20 1 -204 -204
+\&    system:administrators 130/20 -204 -204 -204
+\&     admin 1
+\&    ^D
+.Ve
+You will see this:
+.PP
+.Vb 10
+\&    # pt_util -w
+\&    pt_util: /usr/afs/db/prdb.DB0: Bad UBIK_MAGIC. Is 0 should be 354545
+\&    Ubik Version is: 2.0
+\&    admin 128/20 1 -204 -204
+\&    system:administrators 130/20 -204 -204 -204
+\&    Error while creating system:administrators: Entry for id already exists
+\&     admin 1
+\&    pt_util: Ubik Version number changed during execution.
+\&    Old Version = 2.0, new version = 33554432.0
+\&    #
+.Ve
+To make a complete copy of the database,
+.PP
+.Vb 1
+\&    # pt_util -user -members -datafile /tmp/out
+.Ve
+To load from the complete copy,
+.PP
+.Vb 1
+\&    # pt_util -w -datafile /tmp/out
+.Ve
+Don't do this until you read cautions, above.
+.SH "PRIVILEGE REQUIRED"
+The issuer must be logged in as the superuser \f(CWroot\fR on a file server
+machine to use \fBpt_util\fR.
+.SH "SEE ALSO"
+the \fIprdb.DB0(5)\fR manpage,
+the \fIptserver(8)\fR manpage
+.SH "COPYRIGHT"
+The following copyright covers this documentation:
+.PP
+Copyright (c) 2005 The Regents of the University of Michigan.  ALL RIGHTS
+RESERVED.
+.PP
+Permission is granted to use, copy, create derivative works and
+redistribute this software and such derivative works for any purpose, so
+long as the name of the University of Michigan is not used in any
+advertising or publicity pertaining to the use or distribution of this
+software without specific, written prior authorization.  If the above
+copyright notice or any other identification of the University of Michigan
+is included in any copy of any portion of this software, then the
+disclaimer below must also be included.
+.PP
+This software is provided as is, without representation from the
+University of Michigan as to its fitness for any purpose, and without
+warranty by the University of Michigan of any kind, either express or
+implied, including without limitation the implied warranties of
+merchantability and fitness for a particular purpose.  The regents of the
+University of Michigan shall not be liable for any damages, including
+special, indirect, incidental, or consequential damages, with respect to
+any claim arising out of or in connection with the use of the software,
+even if it has been or is hereafter advised of the possibility of such
+damages.
+
+.rn }` ''
+.IX Title "pt_util 8"
+.IX Name "pt_util - Load or dump a Protection Server database"
+
+.IX Header "NAME"
+
+.IX Header "SYNOPSIS"
+
+.IX Header "DESCRIPTION"
+
+.IX Header "OPTIONS"
+
+.IX Item "\fB\-w\fR"
+
+.IX Item "\fB\-user\fR"
+
+.IX Item "\fB\-group\fR"
+
+.IX Item "\fB\-members\fR"
+
+.IX Item "\fB\-name\fR"
+
+.IX Item "\fB\-system\fR"
+
+.IX Item "\fB\-xtra\fR"
+
+.IX Item "\fB\-prdb\fR <\fIprdb file\fR>"
+
+.IX Item "\fB\-datafile\fR <\fIdata file\fR>"
+
+.IX Header "CAUTIONS"
+
+.IX Header "EXAMPLES"
+
+.IX Header "PRIVILEGE REQUIRED"
+
+.IX Header "SEE ALSO"
+
+.IX Header "COPYRIGHT"
+
index afdf9993ff3617ddc38b813fa9051cf431112102..69f9bf19f4f5c99a1ef7b32a2f7acc78bf8d0b53 100644 (file)
@@ -93,7 +93,7 @@
 .nr % 0
 .rr F
 .\}
-.TH uss 8 "OpenAFS" "5/Jan/2006" "AFS Command Reference"
+.TH uss 8 "OpenAFS" "27/Jul/2007" "AFS Command Reference"
 .UC
 .if n .hy 0
 .if n .na
@@ -243,9 +243,11 @@ not combine this flag with any of the command's other options; when it is
 provided, the command interpreter ignores all other options, and only
 prints the help message.
 .Ip "\fB\-skipauth\fR" 4
-Bypasses mutual authentication with the \s-1AFS\s0 Authentication Server,
-allowing a site that uses Kerberos instead of the \s-1AFS\s0 Authentication
-Server to substitute that form of authentication.
+Bypasses mutual authentication with the \s-1AFS\s0 Authentication Server, allowing
+a site that uses Kerberos instead of the \s-1AFS\s0 Authentication Server to
+substitute that form of authentication. If this option is given, \fBuss\fR does
+not create or manipulate Kerberos principals. A Kerberos principal must be
+created separately from the \fBuss add\fR command.
 .SH "PRIVILEGE REQUIRED"
 The issuer of a \fBuss\fR command must have all the rights required for
 performing the equivalent actions individually. See each \fBuss\fR command's
index 6c88f5e0e0848dd3799e11189a0cc64a35f65aeb..75dce00cbe4062c898771ad10373afa0fca791e9 100644 (file)
@@ -19,10 +19,12 @@ Commands to set and report how the Cache Manager interacts with server
 machines:
 L<B<fs checkservers>|fs_checkservers(1)>,
 L<B<fs getcellstatus>|fs_getcellstatus(1)>,
+L<B<fs getcrypt>|fs_getcrypt(1)>,
 L<B<fs getserverprefs>|fs_getserverprefs(1)>,
 L<B<fs listcells>|fs_listcells(1)>,
 L<B<fs newcell>|fs_newcell(1)>,
 L<B<fs setcell>|fs_setcell(1)>,
+L<B<fs setcrypt>|fs_setcrypt(1)>,
 L<B<fs setserverprefs>|fs_setserverprefs(1)>,
 L<B<fs sysname>|fs_sysname(1)>,
 and L<B<fs wscell>|fs_wscell(1)>.
@@ -32,6 +34,7 @@ and L<B<fs wscell>|fs_wscell(1)>.
 Commands to administer access control lists (ACLs):
 L<B<fs cleanacl>|fs_cleanacl(1)>,
 L<B<fs copyacl>|fs_copyacl(1)>,
+L<B<fs getcalleraccess>|fs_getcalleraccess(1)>,
 L<B<fs listacl>|fs_listacl(1)>,
 and L<B<fs setacl>|fs_setacl(1)>.
 
@@ -53,8 +56,11 @@ and L<B<fs whichcell>|fs_whichcell(1)>.
 Commands to administer the local client cache and related information:
 L<B<fs checkvolumes>|fs_checkvolumes(1)>,
 L<B<fs flush>|fs_flush(1)>,
+L<B<fs flushall>|fs_flushall(1)>,
 L<B<fs flushvolume>|fs_flushvolume(1)>,
 L<B<fs getcacheparms>|fs_getcacheparms(1)>,
+L<B<fs listaliases>|fs_listaliases(1)>,
+L<B<fs newalias>|fs_newalias(1)>,
 and L<B<fs setcachesize>|fs_setcachesize(1)>.
 
 =item *
@@ -181,19 +187,24 @@ L<fs_diskfree(1)>,
 L<fs_examine(1)>,
 L<fs_exportafs(1)>,
 L<fs_flush(1)>,
+L<fs_flushall(1)>,
 L<fs_flushmount(1)>,
 L<fs_flushvolume(1)>,
 L<fs_getcacheparms(1)>,
+L<fs_getcalleraccess(1)>,
 L<fs_getcellstatus(1)>,
 L<fs_getclientaddrs(1)>,
+L<fs_getcrypt(1)>,
 L<fs_getserverprefs(1)>,
 L<fs_help(1)>,
 L<fs_listacl(1)>,
+L<fs_listaliases(1)>,
 L<fs_listcells(1)>,
 L<fs_listquota(1)>,
 L<fs_lsmount(1)>,
 L<fs_messages(1)>,
 L<fs_mkmount(1)>,
+L<fs_newalias(1)>,
 L<fs_newcell(1)>,
 L<fs_quota(1)>,
 L<fs_rmmount(1)>,
@@ -201,6 +212,7 @@ L<fs_setacl(1)>,
 L<fs_setcachesize(1)>,
 L<fs_setcell(1)>,
 L<fs_setclientaddrs(1)>,
+L<fs_setcrypt(1)>,
 L<fs_setquota(1)>,
 L<fs_setserverprefs(1)>,
 L<fs_setvol(1)>,
diff --git a/doc/man-pages/pod1/fs_flushall.pod b/doc/man-pages/pod1/fs_flushall.pod
new file mode 100644 (file)
index 0000000..3fac90f
--- /dev/null
@@ -0,0 +1,62 @@
+=head1 NAME
+
+fs flushall - Force the AFS Cache Manager to discard all data
+
+=head1 SYNOPSIS
+
+=for html
+<div class="synopsis">
+
+B<fs flushall> [B<-help>]
+
+B<fs flusha> [B<-h>]
+
+=for html
+</div>
+
+=head1 DESCRIPTION
+
+The B<fs flushall> command flushes all data from the AFS cache.
+
+=head1 CAUTIONS
+
+This command is only available on Windows.
+
+=head1 OPTIONS
+
+=over 4
+
+=item B<-help>
+
+Prints the online help for this command.
+
+=back
+
+=head1 OUTPUT
+
+This command has no output.
+
+=head1 EXAMPLES
+
+Aside from the help, there is only one way to run B<fs flushall>, which is
+as follows:
+
+   % fs flushall
+   %
+
+=head1 PRIVILEGE REQUIRED
+
+No special privileges are required for this command.
+
+=head1 SEE ALSO
+
+L<fs_flush(1)>,
+L<fs_flushmount(1)>,
+L<fs_flushvolume(1)>
+
+=head1 COPYRIGHT
+
+Copyright 2007 Jason Edgecombe <jason@rampaginggeek.com>
+
+This documentation is covered by the IBM Public License Version 1.0. This
+man page was written by Jason Edgecombe for OpenAFS.
diff --git a/doc/man-pages/pod1/fs_getcalleraccess.pod b/doc/man-pages/pod1/fs_getcalleraccess.pod
new file mode 100644 (file)
index 0000000..56a14f8
--- /dev/null
@@ -0,0 +1,73 @@
+=head1 NAME
+
+fs getcalleraccess - Show the current user's access to a file or directory
+
+=head1 SYNOPSIS
+
+=for html
+<div class="synopsis">
+
+B<fs getcalleraccess> S<<< [B<-path> <I<path>>+] >>> [B<-help>]
+
+B<fs gca> S<<< [B<-p> <I<path>>] >>> [B<-h>]
+
+=for html
+</div>
+
+=head1 DESCRIPTION
+
+The B<fs getcalleraccess> command displays the access that the current
+user has to the specified path using the same representation as B<fs
+listacl>.
+
+=head1 OPTIONS
+
+=over 4
+
+=item B<-help>
+
+Prints the online help for this command. All other valid options are
+ignored.
+
+=item B<-path> <I<path>>+
+
+The B<-path> option specifies the path on which to operate. B<-path> may
+be omitted. If this option isn't given, the default is to act on the
+current directory.
+
+=back
+
+=head1 OUTPUT
+
+For each path, B<fs getcalleraccess> outputs a line like:
+
+    Callers access to <directory> is <rights>
+
+where <directory> is the path on which it is operating and <rights> is an
+ACL string in the same format as is returned by B<fs listacl>. See
+L<fs_listacl(1)> for more information about AFS ACL strings.
+
+=head1 EXAMPLES
+
+The following command shows the current user's access to the path
+F</afs/openafs.org>, which is read and lookup access.
+
+   % fs getcalleraccess /afs/openafs.org
+   Callers access to /afs/openafs.org is rl
+   %
+
+=head1 PRIVILEGE REQUIRED
+
+No special privileges are required for this command.
+
+=head1 SEE ALSO
+
+L<fs_listacl(1)>,
+L<fs_setacl(1)>
+
+=head1 COPYRIGHT
+
+Copyright 2007 Jason Edgecombe <jason@rampaginggeek.com>
+
+This documentation is covered by the IBM Public License Version 1.0. This
+man page was written by Jason Edgecombe for OpenAFS.
diff --git a/doc/man-pages/pod1/fs_getcrypt.pod b/doc/man-pages/pod1/fs_getcrypt.pod
new file mode 100644 (file)
index 0000000..a1402f5
--- /dev/null
@@ -0,0 +1,77 @@
+=head1 NAME
+
+fs getcrypt - Displays the state of encryption for AFS file transfers
+
+=head1 SYNOPSIS
+
+=for html
+<div class="synopsis">
+
+B<fs getcrypt> [B<-help>]
+
+=for html
+</div>
+
+=head1 DESCRIPTION
+
+The B<fs getcrypt> command shows the status of network traffic encryption
+for file traffic in the AFS client. This encryption applies to file
+traffic going to and coming from the AFS server for users with valid
+tokens. The complement of this command is B<fs setcrypt> which sets the
+status of encryption on the client.
+
+=head1 CAUTIONS
+
+AFS uses an encryption scheme called fcrypt, based on but slightly weaker
+than DES. Because fcrypt and DES are obsolete, the user must decide how
+much to trust the encryption. Consider using a Virtual Private Network at
+the IP level if better encryption is needed.
+
+Encrypting file traffic requires a token. Unauthenticated connections or
+connections authorized via IP-based ACLs will not be encrypted even when
+encryption is turned on.
+
+=head1 OPTIONS
+
+=over 4
+
+=item B<-help>
+
+Prints the online help for this command. All other valid options are
+ignored.
+
+=back
+
+=head1 OUTPUT
+
+If encryption is enabled, the output is:
+
+   Security level is currently crypt (data security).
+
+If encryption if disabled, the output is:
+
+   Security level is currently clear.
+
+=head1 EXAMPLES
+
+There is only one way to invoke B<fs getcrypt>:
+
+   % fs getcrypt
+
+=head1 PRIVILEGE REQUIRED
+
+No special priviledges are required for this command.
+
+=head1 SEE ALSO
+
+L<fs_setcrypt(1)>
+
+The description of the fcrypt encryption mechanism at
+L<http://surfvi.com/~ota/fcrypt-paper.txt>.
+
+=head1 COPYRIGHT
+
+Copyright 2007 Jason Edgecombe <jason@rampaginggeek.com>
+
+This documentation is covered by the IBM Public License Version 1.0. This
+man page was written by Jason Edgecombe for OpenAFS.
diff --git a/doc/man-pages/pod1/fs_listaliases.pod b/doc/man-pages/pod1/fs_listaliases.pod
new file mode 100644 (file)
index 0000000..225aa42
--- /dev/null
@@ -0,0 +1,61 @@
+=head1 NAME
+
+fs listaliases - Displays the current list of aliases for AFS cells
+
+=head1 SYNOPSIS
+
+=for html
+<div class="synopsis">
+
+B<fs listaliases> [B<-help>]
+
+=for html
+</div>
+
+=head1 DESCRIPTION
+
+The B<fs listaliases> command shows the list of cell aliases currently in
+effect, both from F<CellAlias> and created using B<fs newalias>.  Cell
+aliases can only be used when the using a Dynamic Root (the B<-dynroot>
+option to B<afsd>).
+
+=head1 OPTIONS
+
+=over 4
+
+=item B<-help>
+
+Prints the online help for this command. All other valid options are
+ignored.
+
+=back
+
+=head1 OUTPUT
+
+If an alias C<openafs> exists for the cell C<openafs.org>, the output
+include the following line:
+
+   Alias openafs for cell openafs.org
+
+=head1 EXAMPLES
+
+There is only one way to invoke B<fs listaliases>:
+
+   % fs listaliases
+
+=head1 PRIVILEGE REQUIRED
+
+No special priviledges are required for this command.
+
+=head1 SEE ALSO
+
+L<afsd(8)>,
+L<CellAlias(5)>,
+L<fs_newalias(1)>
+
+=head1 COPYRIGHT
+
+Copyright 2007 Jason Edgecombe <jason@rampaginggeek.com>
+
+This documentation is covered by the IBM Public License Version 1.0. This
+man page was written by Jason Edgecombe for OpenAFS.
diff --git a/doc/man-pages/pod1/fs_newalias.pod b/doc/man-pages/pod1/fs_newalias.pod
new file mode 100644 (file)
index 0000000..2c56c83
--- /dev/null
@@ -0,0 +1,96 @@
+=head1 NAME
+
+fs newalias - Creates a new alias for a cell
+
+=head1 SYNOPSIS
+
+=for html
+<div class="synopsis">
+
+B<fs newalias> S<<< [B<-alias>] <I<alias name>> >>>
+    S<<< [B<-name>] <I<cell name>> >>> [B<-help>]
+
+=for html
+</div>
+
+=head1 DESCRIPTION
+
+The B<fs newalias> command is used when the AFS Cache Manager is in
+Dynamic Root (B<-dynroot>) mode. It creates a symbolic link in F</afs>
+from an alias to the full name of the cell. It also creates a symbolic
+link from the alias prepended with C<.> to the full name of the cell
+prepended with C<.>, the convention for access to the read/write version
+of the C<root.cell> volume of that cell.
+
+This command is used to supplement aliases created via the F<CellAlias>
+configuration file when B<afsd> starts.
+
+Traditionally, these aliases would be created by the local AFS
+administrator by creating symbolic links in the C<root.afs> volume. Such
+symlinks do not appear when Dynamic Root is enabled because, with Dynamic
+Root, the Cache Manager does not mount or look at the C<root.afs>
+volume. This alias capability is a replacement that allows such short
+names to be created under client control.
+
+=head1 CAUTIONS
+
+Aliases created with B<fs newcell> are only temporary and will be lost
+when the AFS Cache Manager is restarted or the client machine is
+rebooted. In order to make the alias permanent, it must be put into the
+F<CellAlias> file.
+
+There is no way to remove an alias once created without restarting the
+AFS Cache Manager.
+
+=head1 OPTIONS
+
+=over 4
+
+=item B<-alias> <I<alias name>>
+
+This is the short name to which the user wants to map the real cell name.
+
+=item B<-name> <I<cell name>>
+
+This is the real cell name.
+
+=item B<-help>
+
+Prints the online help for this command. All other valid options are
+ignored.
+
+=back
+
+=head1 OUTPUT
+
+This command has no output.
+
+=head1 EXAMPLES
+
+There are two ways to call B<fs newalias>:
+
+   % fs newalias openafs openafs.org
+   % fs newalias -alias openafs -name openafs.org
+
+Both of the above examples create an alias C<openafs> for the cell
+C<openafs.org>. Two links wil be created in F</afs>:
+
+   /afs/openafs   ->  /afs/openafs.org
+   /afs/.openafs  ->  /afs/.openafs.org
+
+=head1 PRIVILEGE REQUIRED
+
+The issuer must be logged in as the local superuser root.
+
+=head1 SEE ALSO
+
+L<afsd(8)>,
+L<CellAlias(5)>,
+L<fs_listaliases(1)>
+
+=head1 COPYRIGHT
+
+Copyright 2007 Jason Edgecombe <jason@rampaginggeek.com>
+
+This documentation is covered by the IBM Public License Version 1.0. This
+man page was written by Jason Edgecombe for OpenAFS.
diff --git a/doc/man-pages/pod1/fs_setcrypt.pod b/doc/man-pages/pod1/fs_setcrypt.pod
new file mode 100644 (file)
index 0000000..76676f1
--- /dev/null
@@ -0,0 +1,98 @@
+=head1 NAME
+
+fs setcrypt - Enables of disables the encryption of AFS file transfers
+
+=head1 SYNOPSIS
+
+=for html
+<div class="synopsis">
+
+B<fs setcrypt> S<<< [B<-crypt>] <I<on/off>> >>> [B<-help>]
+
+=for html
+</div>
+
+=head1 DESCRIPTION
+
+The B<fs setcrypt> command sets the status of network traffic encryption
+for file traffic in the AFS client. This encryption applies to file
+traffic going to and coming from the AFS File Server for users with valid
+tokens.  This command does not control the encryption used for
+authentication, which uses Kerberos 5 or klog/kaserver. The complement of
+this command is B<fs getcrypt>, which shows the status of encryption on
+the client.
+
+The default encryption status is enabled.
+
+This is a global setting and applies to all subsequent connections to an
+AFS File Server from this Cache Manager. There is no way to enable or
+disable encryption for specific connections.
+
+=head1 CAUTIONS
+
+AFS uses an encryption scheme called fcrypt, based on but slightly weaker
+than DES, and there is currently no way to specify a different encryption
+mechanism. Because fcrypt and DES are obsolete, the user must decide how
+much to trust the encryption. Consider using a Virtual Private Network at
+the IP level if better encryption is needed.
+
+Encrypting file traffic requires a token. Unauthenticated connections or
+connections authorized via IP-based ACLs will not be encrypted even when
+encryption is turned on.
+
+=head1 OPTIONS
+
+=over 4
+
+=item B<-crypt> <I<on/off>>
+
+This is the only option to B<fs setcrypt>. The B<-crypt> option takes
+either C<on> or C<off>. C<on> enables encryption. C<off> disables
+encryption. Since this is the only option, the C<-crypt> flag may be
+omitted.
+
+C<0> and C<1> or C<true> and C<false> are not supported as replacements
+for C<on> and C<off>.
+
+=item B<-help>
+
+Prints the online help for this command. All other valid options are
+ignored.
+
+=back
+
+=head1 OUTPUT
+
+This command produces no output other than error messages.
+
+=head1 EXAMPLES
+
+There are only four ways to invoke B<fs setcrypt>.  Either of:
+
+   % fs setcrypt -crypt on
+   % fs setcrypt on
+
+will enable encryption for authenticated connections and:
+
+   % fs setcrypt -crypt off
+   % fs setcrypt off
+
+will disable encryption.
+
+=head1 PRIVILEGE REQUIRED
+
+The issuer must be logged in as the local superuser root.
+
+=head1 SEE ALSO
+
+L<fs_getcrypt(1)>
+
+The description of the fcrypt encryption mechanism at
+L<http://surfvi.com/~ota/fcrypt-paper.txt>.
+
+=head1 COPYRIGHT
+
+Copyright 2007 Jason Edgecombe <jason@rampaginggeek.com>
+
+This documentation is covered by the IBM Public License Version 1.0. This
+man page was written by Jason Edgecombe for OpenAFS.
index 089805a89a4621c82a99b4bc40d8034ebc2b41db..45dd68be6811b547c8c49a37df9c40156938bf6c 100644 (file)
@@ -49,8 +49,12 @@ token per cell per connection to the client machine. If the user's
 credential structure already contains a token for the requested cell, the
 token resulting from this command replaces it.
 
-Sites that employ standard Kerberos authentication instead of the AFS
-Authentication Server must use the Kerberos version of this command,
+Sites that employ Kerberos authentication instead of the AFS
+Authentication Server should normally use the combination of B<kinit> and
+B<aklog> instead of B<klog>.
+
+Sites using Kerberos v4 authentication (perhaps with the AFS
+Authentication Server) must use the Kerberos version of this command,
 B<klog.krb>, on all client machines. It automatically places the issuer's
 Kerberos tickets in the file named by the KRBTKFILE environment variable,
 which the B<pagsh.krb> command defines automatically as F</tmp/tktpI<X>>
index 8c31340e70876a421453dbc006b7c14808349859..47611748532e1843cad8397b1d8013afeb38da90 100644 (file)
@@ -52,6 +52,15 @@ and groups: B<pts listmax> and B<pts setmax>.
 
 =item *
 
+Commands to run commands interactively: B<pts interactive>, B<pts
+sleep>, and B<pts quit>.
+
+=item *
+
+A command to run commands from a file: B<pts source>.
+
+=item *
+
 Commands to obtain help: B<pts apropos> and B<pts help>.
 
 =back
@@ -136,14 +145,18 @@ L<pts_createuser(1)>,
 L<pts_delete(1)>,
 L<pts_examine(1)>,
 L<pts_help(1)>,
+L<pts_interactive(1)>,
 L<pts_listentries(1)>,
 L<pts_listmax(1)>,
 L<pts_listowned(1)>,
 L<pts_membership(1)>,
+L<pts_quit(1)>,
 L<pts_removeuser(1)>,
 L<pts_rename(1)>,
 L<pts_setfields(1)>,
-L<pts_setmax(1)>
+L<pts_setmax(1)>,
+L<pts_sleep(1)>,
+L<pts_source(1)>
 
 =head1 COPYRIGHT
 
diff --git a/doc/man-pages/pod1/pts_interactive.pod b/doc/man-pages/pod1/pts_interactive.pod
new file mode 100644 (file)
index 0000000..9d62572
--- /dev/null
@@ -0,0 +1,119 @@
+=head1 NAME
+
+pts interactive - Enters interactive mode
+
+=head1 SYNOPSIS
+
+=for html
+<div class="synopsis">
+
+B<pts interactive> S<<< [B<-cell>] <I<cell name>> >>> [B<-noauth>]
+    [B<-force>]
+
+B<pts in> S<<< [B<-c>] <I<cell name>> >>> [B<-n>] [B<-f>]
+
+=for html
+</div>
+
+=head1 DESCRIPTION
+
+The B<pts interactive> command allows the user to enter an interactive
+mode, useful for running bulk commands like creating new users or groups.
+
+=head1 CAUTIONS
+
+Prior to OpenAFS 1.4.5 and OpenAFS 1.5.23, the B<pts interactive> command
+was only available on Unix or Linux and when OpenAFS was compiled with the
+supergroups option (disabled by default).  As of OpenAFS 1.4.5 and 1.5.23,
+it is always available.
+
+Running bulk B<pts> commands may degrade the performance of the Protection
+Server while they are run and server resources may not be released
+immediately after commands are run. The B<pts sleep> command can be used
+in interactive mode or with B<pts source> to give the Protection Server a
+change to catch up.
+
+=head1 OPTIONS
+
+B<pts interactive> only takes the standard B<pts> options.
+
+=over 4
+
+=item B<-cell> <I<cell name>>
+
+Names the cell in which to run the command. For more details, see
+L<pts(1)>.
+
+=item B<-force>
+
+Enables the command to continue executing as far as possible when errors
+or other problems occur, rather than halting execution at the first error.
+This is useful for bulk operations where you would like to continue even
+if one of many operations fails.
+
+=item B<-noauth>
+
+Assigns the unprivileged identity anonymous to the issuer. For more
+details, see L<pts(1)>.
+
+=back
+
+=head1 OUTPUT
+
+The output is the same as if each individual command were run from the
+command line.
+
+=head1 EXAMPLES
+
+Here is an example of a B<pts interactive> session:
+
+   % pts interactive
+   pts> examine admin
+   Name: admin, id: 1, owner: system:administrators, creator: anonymous,
+     membership: 2, flags: S----, group quota: 20.
+   pts> help
+   pts: Commands are:
+   adduser         add a user to a group
+   apropos         search by help text
+   chown           change ownership of a group
+   creategroup     create a new group
+   createuser      create a new user
+   delete          delete a user or group from database
+   examine         examine an entry
+   help            get help on commands
+   interactive     enter interactive mode
+   listentries     list users/groups in the protection database
+   listmax         list max id
+   listowned       list groups owned by an entry or zero id gets orphaned groups
+   membership      list membership of a user or group
+   quit            exit program
+   removeuser      remove a user from a group
+   rename          rename user or group
+   setfields       set fields for an entry
+   setmax          set max id
+   sleep           pause for a bit
+   source          read commands from file
+   pts> quit
+   %
+
+=head1 PRIVILEGE REQUIRED
+
+The same privilege is required to run the command in interactive mode as
+is required to run the command by itself on the command line. Some
+commands such as B<pts createuser> require that the user belong to the
+system:administrators group, while others do not.
+
+=head1 SEE ALSO
+
+L<pts(1)>,
+L<pts_quit(1)>,
+L<pts_sleep(1)>,
+L<pts_source(1)>,
+L<ptserver(8)>
+
+=head1 COPYRIGHT
+
+Copyright 2007 Jason Edgecombe <jason@rampaginggeek.com>
+
+This documentation is covered by the IBM Public License Version 1.0. This
+man page was written by Jason Edgecombe for OpenAFS.
diff --git a/doc/man-pages/pod1/pts_quit.pod b/doc/man-pages/pod1/pts_quit.pod
new file mode 100644 (file)
index 0000000..4f8abfa
--- /dev/null
@@ -0,0 +1,76 @@
+=head1 NAME
+
+pts quit - Exit from pts interactive mode
+
+=head1 SYNOPSIS
+
+=for html
+<div class="synopsis">
+
+B<pts quit> S<<< [B<-cell>] <I<cell name>> >>> [B<-noauth>] [B<-force>]
+
+B<pts q> S<<< [B<-c>] <I<cell name>> >>> [B<-n>] [B<-f>]
+
+=for html
+</div>
+
+=head1 DESCRIPTION
+
+The B<pts quit> command exits from B<pts interactive> mode.  The command
+can be run from the command line or interactively, but on the command line
+it does nothing and is therefore of questionable utility.
+
+=head1 CAUTIONS
+
+Prior to OpenAFS 1.4.5 and OpenAFS 1.5.23, the B<pts quit> command was
+only available on Unix or Linux and when OpenAFS was compiled with the
+supergroups option (disabled by default).  As of OpenAFS 1.4.5 and 1.5.23,
+it is always available.
+
+=head1 OPTIONS
+
+Although they have no effect, B<pts quit> takes the following standard
+B<pts> options:
+
+=over 4
+
+=item B<-cell> <I<cell name>>
+
+Names the cell in which to run the command. For more details, see
+L<pts(1)>.
+
+=item B<-force>
+
+Enables the command to continue executing as far as possible when errors
+or other problems occur, rather than halting execution at the first error.
+
+=item B<-noauth>
+
+Assigns the unprivileged identity anonymous to the issuer. For more
+details, see L<pts(1)>.
+
+=back
+
+=head1 OUTPUT
+
+This command produces no output.
+
+=head1 EXAMPLES
+
+Here is an example of a B<pts interactive> session:
+
+   % pts interactive
+   pts> quit
+   %
+
+=head1 SEE ALSO
+
+L<pts(1)>,
+L<pts_interactive(1)>
+
+=head1 COPYRIGHT
+
+Copyright 2007 Jason Edgecombe <jason@rampaginggeek.com>
+
+This documentation is covered by the IBM Public License Version 1.0. This
+man page was written by Jason Edgecombe for OpenAFS.
diff --git a/doc/man-pages/pod1/pts_sleep.pod b/doc/man-pages/pod1/pts_sleep.pod
new file mode 100644 (file)
index 0000000..23db3b5
--- /dev/null
@@ -0,0 +1,81 @@
+=head1 NAME
+
+pts sleep - Pauses for a few seconds
+
+=head1 SYNOPSIS
+
+=for html
+<div class="synopsis">
+
+B<pts sleep> S<<< [B<-delay>] <I<# of seconds>> >>>
+   S<<< [B<-cell>] <I<cell name>> >>> [B<-noauth>] [B<-force>]
+
+B<pts sl> S<<< [B<-d>] <I<# of seconds>> >>> S<<< [B<-c>] <I<cell name>> >>>
+   [B<-n>] [B<-f>]
+
+=for html
+</div>
+
+=head1 DESCRIPTION
+
+The B<pts sleep> pauses for a specified number of seconds. The command can
+be run from the command line or interactively, although from the command
+line it's essentially equivalent to the B<sleep> command. It is intended
+for use in interactive mode to pause for a few seconds between batch
+commands to allow the Protection Server to catch up.
+
+=head1 CAUTIONS
+
+Prior to OpenAFS 1.4.5 and OpenAFS 1.5.23, the B<pts sleep> command was
+only available on Unix or Linux and when OpenAFS was compiled with the
+supergroups option (disabled by default).  As of OpenAFS 1.4.5 and 1.5.23,
+it is always available.
+
+=head1 OPTIONS
+
+Although they have no effect, B<pts quit> takes the following standard
+B<pts> options:
+
+=over 4
+
+=item B<-cell> <I<cell name>>
+
+Names the cell in which to run the command. For more details, see
+L<pts(1)>.
+
+=item B<-force>
+
+Enables the command to continue executing as far as possible when errors
+or other problems occur, rather than halting execution at the first error.
+
+=item B<-noauth>
+
+Assigns the unprivileged identity anonymous to the issuer. For more
+details, see L<pts(1)>.
+
+=back
+
+=head1 OUTPUT
+
+This command produces no output.
+
+=head1 EXAMPLES
+
+Here is an example of a B<pts interactive> session:
+
+   % pts interactive
+   pts> sleep 5
+   pts> quit
+   %
+
+=head1 SEE ALSO
+
+L<pts(1)>,
+L<pts_interactive(1)>
+
+=head1 COPYRIGHT
+
+Copyright 2007 Jason Edgecombe <jason@rampaginggeek.com>
+
+This documentation is covered by the IBM Public License Version 1.0. This
+man page was written by Jason Edgecombe for OpenAFS.
diff --git a/doc/man-pages/pod1/pts_source.pod b/doc/man-pages/pod1/pts_source.pod
new file mode 100644 (file)
index 0000000..0992690
--- /dev/null
@@ -0,0 +1,90 @@
+=head1 NAME
+
+pts source - Read pts commands from a file
+
+=head1 SYNOPSIS
+
+=for html
+<div class="synopsis">
+
+B<pts source> S<<< [B<-file>] <I<file name>> >>> S<<< [B<-cell>] <I<cell name>> >>>
+   [B<-noauth>] [B<-force>]
+
+B<pts so> S<<< [B<-f>] <I<file name>> >>> S<<< [B<-c>] <I<cell name>> >>>
+   [B<-n>] [B<-f>]
+
+=for html
+</div>
+
+=head1 DESCRIPTION
+
+The B<pts source> runs commands from a file as if they were typed in B<pts
+interactive> mode. The command can be run from the command line or
+interactively.
+
+=head1 CAUTIONS
+
+Prior to OpenAFS 1.4.5 and OpenAFS 1.5.23, the B<pts source> command was
+only available on Unix or Linux and when OpenAFS was compiled with the
+supergroups option (disabled by default).  As of OpenAFS 1.4.5 and 1.5.23,
+it is always available.
+
+=head1 OPTIONS
+
+B<pts source> takes the following options:
+
+=over 4
+
+=item B<-cell> <I<cell name>>
+
+Names the cell in which to run the command. For more details, see
+L<pts(1)>.
+
+=item B<-file> <I<file name>>
+
+Specifies the filename from which to read commands.
+
+=item B<-force>
+
+Enables the command to continue executing as far as possible when errors
+or other problems occur, rather than halting execution at the first error.
+This is useful for bulk operations where you would like to continue even
+if one of many operations fails.
+
+=item B<-noauth>
+
+Assigns the unprivileged identity anonymous to the issuer. For more
+details, see L<pts(1)>.
+
+=back
+
+=head1 OUTPUT
+
+This command shows the output of each comand in the file as if it were
+run normally.
+
+=head1 EXAMPLES
+
+Here is an example of using B<pts source> in a B<pts interactive> session:
+
+   % echo examine admin > /tmp/commands.txt 
+   % pts interactive
+   pts> source /tmp/commands.txt
+   Name: admin, id: 1, owner: system:administrators, creator: anonymous,
+     membership: 2, flags: S----, group quota: 20.
+   pts> quit
+   %
+
+=head1 SEE ALSO
+
+L<pts(1)>,
+L<pts_interactive(1)>,
+L<pts_quit(1)>,
+L<pts_sleep(1)>
+
+=head1 COPYRIGHT
+
+Copyright 2007 Jason Edgecombe <jason@rampaginggeek.com>
+
+This documentation is covered by the IBM Public License Version 1.0. This
+man page was written by Jason Edgecombe for OpenAFS.
index 12d8423d40e4cbe3fb978cb3250ea880f6cf0511..d81af1031b8bf337a463202f8e3f732ccede38de 100644 (file)
@@ -41,7 +41,8 @@ There are several categories of commands in the vos command suite:
 =item *
 
 Commands to create, move, and rename volumes: B<vos backup>, B<vos
-backupsys>, B<vos create>, B<vos move>, and B<vos rename>.
+backupsys>, B<vos changeloc>, B<vos create>, B<vos move>, and B<vos
+rename>.
 
 =item *
 
@@ -55,7 +56,8 @@ B<vos listaddrs>.
 
 =item *
 
-Commands to create and restore dump files: B<vos dump> and B<vos restore>.
+Commands to create, size, and restore dump files: B<vos dump>, B<vos
+restore>, and B<vos size>.
 
 =item *
 
@@ -235,6 +237,7 @@ L<vos_apropos(1)>,
 L<vos_backup(1)>,
 L<vos_backupsys(1)>,
 L<vos_changeaddr(1)>,
+L<vos_changeloc(1)>,
 L<vos_create(1)>,
 L<vos_delentry(1)>,
 L<vos_dump(1)>,
@@ -252,6 +255,7 @@ L<vos_remove(1)>,
 L<vos_remsite(1)>,
 L<vos_rename(1)>,
 L<vos_restore(1)>,
+L<vos_size(1)>,
 L<vos_status(1)>,
 L<vos_syncserv(1)>,
 L<vos_syncvldb(1)>,
index cea4a30682cd8e93679aa0cffd04701d00bc6f49..e430f6d2633a5dd181d011e1c84cd61123817b87 100644 (file)
@@ -109,7 +109,7 @@ volumes that have the string C<aix> anywhere in their names:
 
    -prefix  '^.*aix'
 
-=back 4
+=back
 
 To display a list of the volumes to be cloned, without actually cloning
 them, include the B<-dryrun> flag. To display a statement that summarizes
diff --git a/doc/man-pages/pod1/vos_changeloc.pod b/doc/man-pages/pod1/vos_changeloc.pod
new file mode 100644 (file)
index 0000000..ff40f92
--- /dev/null
@@ -0,0 +1,150 @@
+=head1 NAME
+
+vos changeloc - Change a volume's entry in the VLDB
+
+=head1 SYNOPSIS
+
+=for html
+<div class="synopsis">
+
+B<vos changeloc> S<<< [B<-server>] <I<new server name>> >>>
+   S<<< [B<-partition>] <I<new partition location>> >>>
+   S<<< [B<-id>] <I<volume name or ID>> >>>
+   S<<< [B<-cell> <I<cell name>>] >>> [B<-noauth>] [B<-localauth>]
+   [B<-verbose>] [B<-encrypt>] [B<-help>]
+
+B<vos changel> S<<< [B<-s>] <I<new server name>> >>>
+   S<<< [B<-p>] <I<new partition location>> >>>
+   S<<< [B<-i>] <I<volume name or ID>> >>>
+   S<<< [B<-c> <I<cell name>>] >>> [B<-n>] [B<-l>] [B<-v>] [B<-e>] [B<-h>]
+
+=for html
+</div>
+
+=head1 DESCRIPTION
+
+The B<vos changeloc> command changes the location of a volume in the
+Volume Location Database (VLDB) without needing to contact the original
+file server on which the volume was hosted. This is useful when a file
+server has gone down permanently and the data that was stored on that
+server has been moved to a new file server with a different name and IP
+address (perhaps by mounting the same /vicepX partitions on a different
+host). After moving the data and running B<vos changeloc>, run B<vos
+syncvldb> and then B<vos syncserv> against the new server to ensure full
+synchronization of the VLDB with the file server.
+
+In essence, B<vos changeloc> performs the same operations on the VLDB as
+B<vos move>, but it does NOT move the data from one server's file system
+to another.
+
+=head1 CAUTIONS
+
+Using B<vos changeloc> changes the VLDB without modifying the file server
+data, so it inherently causes the VLDB to be out of sync with the data on
+the servers. It should only be used when recovering from server failure.
+If the servers are on-line, B<vos move> should be used instead. It is
+highly recommended that B<vos syncvldb> and B<vos syncserv> be run after
+using the B<vos changeloc> command to ensure properly synchronization of
+the VLDB with the file servers.
+
+=head1 OPTIONS
+
+B<vos changeloc> takes the following options:
+
+=over 4
+
+=item B<-server> <I<new server name>>
+
+Specifies the new server where the VLDB should believe the volume resides.
+Provide the machine's IP address or its host name (either fully qualified
+or using an unambiguous abbreviation). For details, see L<vos(1)>.
+
+=item B<-partition> <I<partition name>>
+
+Specifies the partition where the VLDB should believe the volume resides.
+entries. Provide the B<-server> argument along with this one. Provide the
+partition's complete name with preceding slash (for example, C</vicepa>)
+or use one of the three acceptable abbreviated forms. For details, see
+L<vos(1)>.
+
+=item B<-id> <I<volume name or ID>>
+
+Specifies the name or volume ID number on which to operate.
+
+=item B<-cell> <I<cell name>>
+
+Names the cell in which to run the command. Do not combine this argument
+with the B<-localauth> flag. For more details, see L<vos(1)>.
+
+=item B<-noauth>
+
+Assigns the unprivileged identity C<anonymous> to the issuer. Do not
+combine this flag with the B<-localauth> flag. For more details, see
+L<vos(1)>.
+
+=item B<-localauth>
+
+Constructs a server ticket using a key from the local
+F</usr/afs/etc/KeyFile> file. The B<vos> command interpreter presents it
+to the Volume Server and Volume Location Server during mutual
+authentication. Do not combine this flag with the B<-cell> argument or
+B<-noauth> flag. For more details, see L<vos(1)>.
+
+=item B<-verbose>
+
+Produces on the standard output stream a detailed trace of the command's
+execution. If this argument is omitted, only warnings and error messages
+appear.
+
+=item B<-encrypt>
+
+Encrypts the commands that are sent to the server.
+
+=item B<-help>
+
+Prints the online help for this command. All other valid options are
+ignored.
+
+=back
+
+=head1 OUTPUT
+
+B<vos changeloc> shows a brief message upon completion:
+
+   Changed location to server2 /vicepa for volume user.jdoe
+
+=head1 EXAMPLES
+
+The following command changes the location of the C<user.jdoe> volume to
+be F</vicepa> on the file server machine C<server2> while being verbose:
+
+   % vos changeloc server2 a user.jdoe -verbose
+    done
+   Changed location to server2 /vicepa for volume user.jdoe
+
+The following command changes the location of the C<user.jdoe> volume to
+be F</vicepa> on C<server1> without being verbose:
+
+   % vos changeloc server1 a user.jdoe
+   Changed location to server1 /vicepa for volume user.jdoe
+
+=head1 PRIVILEGE REQUIRED
+
+The issuer must be listed in the F</usr/afs/etc/UserList> file on each
+database server machine. If the B<-localauth> flag is included, the issuer
+must instead be logged on to a server machine as the local superuser
+C<root>.
+
+=head1 SEE ALSO
+
+L<vos(1)>,
+L<vos_move(1)>,
+L<vos_syncserv(1)>,
+L<vos_syncvldb(1)>
+
+=head1 COPYRIGHT
+
+Copyright 2007 Jason Edgecombe <jason@rampaginggeek.com>
+
+This documentation is covered by the IBM Public License Version 1.0. This
+man page was written by Jason Edgecombe for OpenAFS.
diff --git a/doc/man-pages/pod1/vos_offline.pod b/doc/man-pages/pod1/vos_offline.pod
new file mode 100644 (file)
index 0000000..fd134e8
--- /dev/null
@@ -0,0 +1,124 @@
+=head1 NAME
+
+vos offline - Takes a volume offline
+
+=head1 SYNOPSIS
+
+=for html
+<div class="synopsis">
+
+B<vos offline> S<<< B<-server> <I<machine name>> >>> S<<< B<-partition> <I<partition name>> >>> 
+    S<<< B<-id> <I<volume name or ID>> >>> S<<< [B<-unbless>] >>> S<<< [B<-cell> <I<cell name>>] >>> 
+    S<<< [B<-noauth>] | B<-localauth>] >>> S<<< [B<-verbose>] >>> S<<< [B<-encrypt>] >>> S<<< [B<-help>] >>>
+
+=for html
+</div>
+
+=head1 DESCRIPTION
+
+The B<vos offline> command takes a volume offline on the 
+B<fileserver>.  
+
+=head1 CAUTIONS
+
+Taking a volume offline that has existing 
+callbacks will result in those callbacks being broken
+and clients not being able to access the volume.
+
+=head1 OPTIONS
+
+=over 4
+
+=item B<-server> <I<machine name>>
+
+Identifies the file server machine where the volume resides. 
+Provide the machine's IP address or its host name (either fully
+qualified or using an unambiguous abbreviation). For details, see
+L<vos(1)>.
+
+=item B<-partition> <I<partition name>>
+
+Identifies the partition where the volume resides, on the
+file server machine named by the B<-server> argument. Provide the
+partition's complete name with preceding slash (for example, C</vicepa>)
+or use one of the three acceptable abbreviated forms. For details, see
+L<vos(1)>.
+
+=item B<-id> <I<volume name or ID>>
+
+Specifies either the complete name or volume ID number of the volume.
+
+=item B<-unbless>
+
+If the volume resides on a fileserver running as a I<dafs> (Demand
+Attach File Server), then the volume may be marked as I<blessed> or
+I<unblessed>.  A I<dafs> server will not bring I<unblessed> volumes
+online unless the B<-bless> option to L<vos_online> is specified.
+See L<vos_online(1)> for setting a volume to be I<blessed>.
+
+=item B<-cell> <I<cell name>>
+
+Names the cell in which to run the command. Do not combine this argument
+with the B<-localauth> flag. For more details, see L<vos(1)>.
+
+=item B<-noauth>
+
+Assigns the unprivileged identity anonymous to the issuer. Do not combine
+this flag with the B<-localauth> flag. For more details, see L<vos(1)>.
+
+=item B<-localauth>
+
+Constructs a server ticket using a key from the local
+F</usr/afs/etc/KeyFile> file. The B<vos> command interpreter presents it
+to the Volume Server and Volume Location Server during mutual
+authentication. Do not combine this flag with the B<-cell> argument or
+B<-noauth> flag. For more details, see L<vos(1)>.
+
+=item B<-verbose>
+
+Produces on the standard output stream a detailed trace of the command's
+execution. If this argument is omitted, only warnings and error messages
+appear.
+
+=item B<-encrypt>
+
+Encrypts the command so that the operation's results are
+not transmitted across the network in clear text.
+
+=item B<-help>
+
+Prints the online help for this command. All other valid options are
+ignored.
+
+=back
+
+=head1 EXAMPLES
+
+The following example takes an online volume offline:
+
+   % vos offline -server sv7.stateu.edu -partition /vicepb -id root.afs
+
+The following example takes an online volume offline and marks it
+so that a B<vos online> without B<-bless> will not bring it online:
+
+   % vos offline -server sv7.stateu.edu -partition /vicepb -id root.afs \
+       -unbless
+
+=head1 PRIVILEGE REQUIRED
+
+The issuer must be listed in the F</usr/afs/etc/UserList> file on the
+machine specified with the B<-server> argument and on each database server
+machine. If the B<-localauth> flag is included, the issuer must instead be
+logged on to a server machine as the local superuser C<root>.
+
+=head1 SEE ALSO
+
+L<vos(1)>,
+L<vos_online(1)>,
+L<bos_salvage(8)>,
+
+=head1 COPYRIGHT
+
+IBM Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+
+This man page was created by Steven Jenkins.
diff --git a/doc/man-pages/pod1/vos_online.pod b/doc/man-pages/pod1/vos_online.pod
new file mode 100644 (file)
index 0000000..409af7d
--- /dev/null
@@ -0,0 +1,120 @@
+=head1 NAME
+
+vos online - Brings a volume online
+
+=head1 SYNOPSIS
+
+=for html
+<div class="synopsis">
+
+B<vos online> S<<< B<-server> <I<machine name>> >>> S<<< B<-partition> <I<partition name>> >>> 
+    S<<< B<-id> <I<volume name or ID>> >>> S<<< [B<-bless>] >>> S<<< [B<-cell> <I<cell name>>] >>> 
+    S<<< [B<-noauth>] | B<-localauth>] >>> S<<< [B<-verbose>] >>> S<<< [B<-encrypt>] >>> S<<< [B<-help>] >>>
+
+=for html
+</div>
+
+=head1 DESCRIPTION
+
+The B<vos online> command brings an offline volume on line with the 
+B<fileserver>.
+
+=head1 CAUTIONS
+
+None.
+
+=head1 OPTIONS
+
+=over 4
+
+=item B<-server> <I<machine name>>
+
+Identifies the file server machine where the volume resides. 
+Provide the machine's IP address or its host name (either fully
+qualified or using an unambiguous abbreviation). For details, see
+L<vos(1)>.
+
+=item B<-partition> <I<partition name>>
+
+Identifies the partition where the volume resides, on the
+file server machine named by the B<-server> argument. Provide the
+partition's complete name with preceding slash (for example, C</vicepa>)
+or use one of the three acceptable abbreviated forms. For details, see
+L<vos(1)>.
+
+=item B<-id> <I<volume name or ID>>
+
+Specifies either the complete name or volume ID number of the volume.
+
+=item B<-bless>
+
+If the volume resides on a fileserver running as a I<dafs> (Demand
+Attach File Server), then the volume may be marked as I<blessed> or
+I<unblessed>.  A I<dafs> server will not bring I<unblessed> volumes
+online unless the B<-bless> option to L<vos_online> is specified.
+See L<vos_offline(1)> for setting a volume to be I<unblessed>.
+
+=item B<-cell> <I<cell name>>
+
+Names the cell in which to run the command. Do not combine this argument
+with the B<-localauth> flag. For more details, see L<vos(1)>.
+
+=item B<-noauth>
+
+Assigns the unprivileged identity anonymous to the issuer. Do not combine
+this flag with the B<-localauth> flag. For more details, see L<vos(1)>.
+
+=item B<-localauth>
+
+Constructs a server ticket using a key from the local
+F</usr/afs/etc/KeyFile> file. The B<vos> command interpreter presents it
+to the Volume Server and Volume Location Server during mutual
+authentication. Do not combine this flag with the B<-cell> argument or
+B<-noauth> flag. For more details, see L<vos(1)>.
+
+=item B<-verbose>
+
+Produces on the standard output stream a detailed trace of the command's
+execution. If this argument is omitted, only warnings and error messages
+appear.
+
+=item B<-encrypt>
+
+Encrypts the command so that the operation's results are
+not transmitted across the network in clear text.
+
+=item B<-help>
+
+Prints the online help for this command. All other valid options are
+ignored.
+
+=back
+
+=head1 EXAMPLES
+
+The following example brings an offline volume online:
+
+   % vos online -server sv7.stateu.edu -partition /vicepb -id root.afs
+
+The following example brings an offline, unblessed volume online:
+
+   % vos online -server sv7.stateu.edu -partition /vicepb -id root.afs -bless
+
+=head1 PRIVILEGE REQUIRED
+
+The issuer must be listed in the F</usr/afs/etc/UserList> file on the
+machine specified with the B<-server> argument and on each database server
+machine. If the B<-localauth> flag is included, the issuer must instead be
+logged on to a server machine as the local superuser C<root>.
+
+=head1 SEE ALSO
+
+L<vos(1)>,
+L<vos_offline(1)>,
+L<bos_salvage(8)>,
+
+=head1 COPYRIGHT
+
+IBM Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
+
+This man page was created by Steven Jenkins.
diff --git a/doc/man-pages/pod1/vos_size.pod b/doc/man-pages/pod1/vos_size.pod
new file mode 100644 (file)
index 0000000..8465d9f
--- /dev/null
@@ -0,0 +1,147 @@
+=head1 NAME
+
+vos size - Computes the size of a volume dump
+
+=head1 SYNOPSIS
+
+=for html
+<div class="synopsis">
+
+B<vos size> S<<< [B<-cell> <I<cell name>>] >>> [B<-dump>]
+    [B<-encrypt>] [B<-help>] [B<-id>] <I<volume name or id>>
+    [B<-localauth>] [B<-noauth>]
+    S<<< [B<-partition> <I<partition name>>] >>>
+    S<<< [B<-server> <I<machine name>>] >>>
+    S<<< [B<-time> <I<dump from time>>] >>> [B<-verbose>]
+
+=for html
+</div>
+
+=head1 DESCRIPTION
+
+The B<vos size> command shows the size of a volume's dump for backup
+purposes. The size of the dump may differ from the volume size as reported
+by B<vos examine> or B<fs listquota>. The size is shown in bytes.
+
+This command is intended for use with backup systems that want to size
+volume dumps before performing them (to optimize use of tape resources,
+for example).
+
+=head1 OPTIONS
+
+=over 4
+
+=item B<-cell> <I<cell name>>
+
+The cell in which the volume resides, if it's not in the current cell.
+
+=item B<-dump>
+
+Show the size of the volume dump for the specified volume. Currently, this
+flag should always be given for B<vos size> to give useful information.
+It is present to allow this command to provide other size estimates in the
+future.
+
+=item B<-encrypt>
+
+Encrypt the command.
+
+=item B<-help>
+
+Prints the online help for this command. All other valid options are
+ignored.
+
+=item B<-id> <I<volume name or id>>
+
+Specifies either the complete name or volume ID number of the read/write,
+read-only, or backup volume to size.
+
+=item B<-localauth>
+
+Constructs a server ticket using a key from the local
+F</usr/afs/etc/KeyFile> file. The B<vos> command interpreter presents it
+to the Volume Server and Volume Location Server during mutual
+authentication. Do not combine this flag with the B<-cell> argument or
+B<-noauth> flag. For more details, see L<vos(1)>.
+
+=item B<-noauth>
+
+Assigns the unprivileged identity anonymous to the issuer. Do not combine
+this flag with the B<-localauth> flag. For more details, see L<vos(1)>.
+
+=item B<-partition> <I<partition name>>
+
+Specifies the partition on which the volume resides. Provide the
+B<-server> argument along with this one.
+
+=item B<-server> <I<machine name>>
+
+Specifies the file server machine on which the volume resides.  Provide
+the B<-partition> argument along with this one.
+
+=item B<-time> <I<dump from time>>
+
+Specifies whether the dump is full or incremental. Omit this argument to
+size a full dump. See L<vos_dump(1)> for the valid values for this
+option.
+
+=item B<-verbose>
+
+Show more output about what's going on.
+
+=back
+
+=head1 OUTPUT
+
+When run without B<-verbose>, the output will be:
+
+   Volume: <volume>
+   dump_size: <size>
+
+where <volume> is the name of the volume and <size> is the size of the
+dump in bytes. With B<-verbose>, additional status messages will be
+printed between those two lines.
+
+=head1 EXAMPLES
+
+Sizing a single user volume:
+
+   % vos size user.thoron -dump
+   Volume: user.thoron
+   dump_size: 36430
+
+or, more verbosely:
+
+   % vos size user.thoron -dump -verbose
+   Volume: user.thoron
+   Starting transaction on volume 2003434023... done
+   Getting size of volume on volume 2003434023... done
+   Ending transaction on volume 2003434023... done
+   dump_size: 36430
+
+Sizing an incremental dump for the same volume:
+
+   % vos size -id user.thoron -time '05/04/2007 00:00:00' -dump 
+   Volume: user.thoron
+   dump_size: 21095
+
+=head1 PRIVILEGE REQUIRED
+
+The issuer must be listed in the F</usr/afs/etc/UserList> file on the
+machine specified with the B<-server> argument or the machine on which the
+volume is located if B<-server> was not given.  If the B<-localauth> flag
+is included, the issuer must instead be logged on to a server machine as
+the local superuser C<root>.
+
+=head1 SEE ALSO
+
+L<fs_listquota(1)>,
+L<vos_dump(1)>,
+L<vos_examine(1)>
+
+=head1 COPYRIGHT
+
+Copyright 2007 Jason Edgecombe <jason@rampaginggeek.com>
+
+This documentation is covered by the IBM Public License Version
+1.0. This man page was written by Jason Edgecombe for OpenAFS.
diff --git a/doc/man-pages/pod5/CellAlias.pod b/doc/man-pages/pod5/CellAlias.pod
new file mode 100644 (file)
index 0000000..5fb3eb0
--- /dev/null
@@ -0,0 +1,55 @@
+=head1 NAME
+
+CellAlias - Maps cell names to aliases in /afs
+
+=head1 DESCRIPTION
+
+The F<CellAlias> file is used when the AFS Cache Manager is Dynamic Root
+(B<-dynroot>) mode. It creates symbolic links in the dynamic root that
+link an alias for a cell (usually a short name) to the full name for the
+cell.
+
+The most common use of this configuration file is to allow short names for
+frequently used cell names. Traditionally, such short names would be
+created by the local AFS administrator by creating symbolic links in the
+C<root.afs> volume. Such symlinks do not appear when Dynamic Root is
+enabled because, with Dynamic Root, the Cache Manager does not mount or
+look at the C<root.afs> volume. F<CellAlias> is a replacement that allows
+such short names to be created under the client control.
+
+If you configure a short name mapping such as C<ir> for
+C<ir.stanford.edu>, the mapping of C<.ir> to C<.ir.stanford.edu> for the
+read/write version of the C<root.cell> volume for that cell will be
+created automatically. There is no need to list that alias separately (and
+it is listed separately, B<afsd> will report an error on startup).
+
+The contents of the F<CellAlias> file should consist of one line of two
+whitespace-separated columns per alias. The first column is the real name
+of the cell, and the second column is the alias that should be created.
+
+=head1 EXAMPLES
+
+The following F<CellAlias> file:
+
+   openafs.org openafs
+   uncc.edu uncc
+
+results in the following symbolic links:
+
+   /afs/.openafs  ->  /afs/.openafs.org
+   /afs/openafs   ->  /afs/openafs.org
+   /afs/.uncc     ->  /afs/.uncc.edu
+   /afs/uncc      ->  /afs/uncc.edu
+
+=head1 SEE ALSO
+
+L<fs_newalias(1)>,
+L<fs_listaliases(1)>,
+L<afsd(8)>
+
+=head1 COPYRIGHT
+
+Copyright 2007 Jason Edgecombe <jason@rampaginggeek.com>
+
+This documentation is covered by the IBM Public License Version 1.0. This
+man page was written by Jason Edgecombe for OpenAFS.
index 95054c8ada414e3fb3f751d60cada3879f6b60b1..94b27b01aa8ab411c9942e9befba5e6e5cb9f7d9 100644 (file)
@@ -85,6 +85,7 @@ the B<vos listaddrs> command.
 
 =head1 SEE ALSO
 
+L<NetRestrict(5)>,
 L<sysid(5)>,
 L<vldb.DB0(5)>,
 L<fileserver(8)>,
index 8d343ec15d5b11ea3c03e84b4baa1118e4b88bd0..50c2df4502b907bba6ed5bbf30dd828345643aa9 100644 (file)
@@ -7,9 +7,9 @@ NetRestrict - Defines interfaces not to register with AFS servers
 There are two F<NetRestrict> files, one for an AFS client and one for an
 AFS File Server or database server.  The AFS client F<NetRestrict> file
 specifies the IP addresses that the client should not register with the
-File Servers it connects to.  The server F<NetInfo> file specifies what
-interfaces should not be registered with AFS Database Servers or used to
-talk to other database servers.
+File Servers it connects to.  The server F<NetRestrict> file specifies
+what interfaces should not be registered with AFS Database Servers or used
+to talk to other database servers.
 
 =head2 Client NetRestrict
 
@@ -79,6 +79,7 @@ the B<vos listaddrs> command.
 
 =head1 SEE ALSO
 
+L<NetInfo(5)>,
 L<sysid(5)>,
 L<vldb.DB0(5)>,
 L<fileserver(8)>,
index 24c07889f774314e431cd8964d8b8f54442c705e..4c92513e27d54294a4624e4210f868c6b13eae96 100644 (file)
@@ -7,23 +7,30 @@ afsd - Initializes the Cache Manager and starts related daemons
 =for html
 <div class="synopsis">
 
-B<afsd> S<<< [B<-blocks> <I<1024 byte blocks in cache>>] >>>
-     S<<< [B<-files> <I<files in cache>>] >>>
-     S<<< [B<-rootvol> <I<name of AFS root volume>>] >>>
-     S<<< [B<-stat> <I<number of stat entries>>] >>>
-     [B<-memcache>] S<<< [B<-cachedir> <I<cache directory>>] >>>
-     S<<< [B<-mountdir> <I<mount location>>] >>>
-     S<<< [B<-daemons> <I<number of daemons to use>>] >>>
-     [B<-nosettime>] [B<-verbose>] [B<-rmtsys>] [B<-debug>]
-     S<<< [B<-chunksize> <I<log(2) of chunk size>>] >>>
-     S<<< [B<-dcache> <I<number of dcache entries>>] >>>
-     S<<< [B<-volumes> <I<number of volume entries>>] >>>
+B<afsd> [B<-afsdb>] [B<-backuptree>]
      S<<< [B<-biods> <I<number of bkg I/O daemons (aix vm)>>] >>>
-     S<<< [B<-prealloc> <I<number of 'small' preallocated blocks>>] >>>
+     S<<< [B<-blocks> <I<1024 byte blocks in cache>>] >>>
+     S<<< [B<-cachedir> <I<cache directory>>] >>>
+     S<<< [B<-chunksize> <I<log(2) of chunk size>>] >>>
      S<<< [B<-confdir> <I<configuration directory>>] >>>
-     S<<< [B<-logfile> <I<Place to keep the CM log>>] >>>
-     [B<-waitclose>] [B<-shutdown>] [B<-enable_peer_stats>]
-     [B<-enable_process_stats>] [B<-help>]
+     S<<< [B<-daemons> <I<number of daemons to use>>] >>>
+     S<<< [B<-dcache> <I<number of dcache entries>>] >>> [B<-debug>]
+     [B<-dynroot>] [B<-enable_peer_stats>] [B<-enable_process_stats>]
+     [B<-fakestat>] [B<-fakestat-all>]
+     S<<< [B<-files> <I<files in cache>>] >>>
+     S<<< [B<-files_per_subdir> <I<log(2) of files per dir>> ] >>>
+     [B<-help>] S<<< [B<-logfile> <I<Place to keep the CM log>>] >>>
+     [B<-mem_alloc_sleep>] [B<-memcache>]
+     S<<< [B<-mountdir> <I<mount location>>] >>> [B<-nomount>]
+     [B<-nosettime>]
+     S<<< [B<-prealloc> <I<number of 'small' preallocated blocks>>] >>>
+     [B<-rmtsys>] S<<< [B<-rootvol> <I<name of AFS root volume>>] >>>
+     [B<-rxbind>] S<<< [B<-rxpck> value for rx_extraPackets ] >>>
+     [B<-settime>] [B<-shutdown>]
+     S<<< [B<-splitcache> <I<RW/RO ratio>>] >>>
+     S<<< [B<-stat> <I<number of stat entries>>] >>> [B<-verbose>]
+     S<<< [B<-volumes> <I<number of volume entries>>] >>>
+     [B<-waitclose>]
 
 =for html
 </div>
@@ -56,9 +63,11 @@ Cache Manager to contact them and to access files in the cell. Omission of
 a cell from this list, or incorrect information about its database server
 machines, prevents the Cache Manager from accessing files in it.
 
-The list of database server machines is transferred into the kernel from
-the F</usr/vice/etc/CellServDB> file. After initialization, use the B<fs
-newcell> command to change the kernel-resident list without having to
+By default, the list of database server machines is transferred into the
+kernel from the F</usr/vice/etc/CellServDB> file. Alternatively, when the
+B<-afsdb> option is used, the list of database server machines is taken
+from the AFSDB DNS records for each cell. After initialization, use the
+B<fs newcell> command to change the kernel-resident list without having to
 reboot.
 
 =item *
@@ -93,8 +102,8 @@ not remove the directory that formerly served this function, if one
 exists.
 
 The second field in the F</usr/vice/etc/cacheinfo> file is the source for
-this name, and the standard value is the F</usr/vice/cache> directory. Use
-the B<-cachedir> argument to override the value in the B<cacheinfo> file.
+this name. The standard value is F</usr/vice/cache>. Use the B<-cachedir>
+argument to override the value in the B<cacheinfo> file.
 
 =item *
 
@@ -229,14 +238,12 @@ B<-stat> argument to override the default.
 
 =item *
 
-Randomly selects a file server machine in the local cell as the source for
-the correct time. Every five minutes thereafter, the local clock is
-adjusted (if necessary) to match the file server machine's clock.
-
-Use the B<-nosettime> flag to prevent the afsd command from selecting a
-time standard. This is recommended only on file server machines that are
-also acting as clients. File server machines maintain the correct time
-using the Network Time Protocol Daemon instead.
+If the B<-settime> option is specified, then it randomly selects a file
+server machine in the local cell as the source for the correct time. Every
+five minutes thereafter, the local clock is adjusted (if necessary) to
+match the file server machine's clock. This is not enabled by default.  It
+is recommended, instead, that the Network Time Protocol Daemon be used to
+synchronize the time.
 
 =back
 
@@ -286,11 +293,11 @@ Server.
 
 =item *
 
-One I<server connection> daemon, which sends a probe to the File Server
-every few minutes to check that it is still accessible. It also
-synchronizes the machine's clock with the clock on a randomly-chosen file
-server machine, unless the B<-nosettime> flag is used. There is always one
-server connection daemon.
+One I<server connection> daemon, which sends a probe to the File
+Server every few minutes to check that it is still accessible. If the
+B<-settime> option is set, it also synchronizes the machine's clock
+with the clock on a randomly-chosen file server machine. There is
+always one server connection daemon.
 
 =item *
 
@@ -353,12 +360,63 @@ AFS has for years had difficulties with being stopped and restarted
 without an intervening reboot.  While most of these issues have been
 ironed out, stopping and restarting AFS is not recommended unless
 necessary and rebooting before restarting AFS is still the safest course
-of action.
+of action. This does not apply to Linux; it should be safe to restart the
+AFS client on Linux without rebooting.
+
+In contrast to many client-server applications, not all communication is
+initiated by the client. When the AFS client opens a file, it registers a
+callback with the AFS server. If the file changes, the server notifies the
+client that the file has changed and that all cached copies should be
+discarded. In order to enable full functionality on the AFS client,
+including all command-line utilities, the following UDP ports must be open
+on an firewalls between the client and the server:
+
+   fileserver      7000/udp 
+   cachemanager    7001/udp (OpenAFS client. Arla uses 4711/udp)
+   ptserver        7002/udp
+   vlserver        7003/udp
+   kaserver        7004/udp (not needed with Kerberos v5)
+   volserver       7005/udp
+   reserved        7006/udp (for future use)
+   bosserver       7007/udp
+
+Additionally, for B<klog> to work through the firewall you need to allow
+inbound and outbound UDP on ports >1024 (probably 1024<port<2048 would
+suffice depending on the number of simultaneous B<klog>s).
+
+Be sure to set the UDP timeouts on the firewall to be at least twenty
+minutes for the best callback performance.
 
 =head1 OPTIONS
 
 =over 4
 
+=item B<-afsdb>
+
+Enable afsdb support. This will use DNS to lookup the AFSDB record and use
+that for the database servers for each cell instead of the values in the
+F<CellServDB> file. This has the advantage of only needing to update one
+DNS record to reconfigure the AFS clients for a new database server as
+opposed to touching all of the clients, and also allows one to access a
+cell without preconfiguring its database servers in F<CellServDB>.
+
+=item B<-backuptree>
+
+Prefer backup volumes for mountpoints in backup volumes. This option means
+that the AFS client will prefer to resolve mount points to backup volumes
+when a parent of the current volume is a backup volume. This is similar to
+the standard behaviour of preferring read-only volumes over read-write
+volumes when the parent volume is a read-only volume.
+
+=item B<-biods> <I<number of I/O daemons>>
+
+Sets the number of VM daemons dedicated to performing I/O operations on a
+machine running a version of AIX with virtual memory (VM) integration.  If
+both this argument and the B<-daemons> argument are omitted, the default
+is five. If this argument is omitted but the B<-daemons> argument is
+provided, the number of VM daemons is set to twice the value of the
+B<-daemons> argument.
+
 =item B<-blocks> <I<blocks in cache>>
 
 Specifies the number of kilobyte blocks to be made available for caching
@@ -369,44 +427,32 @@ F</usr/vice/etc/cacheinfo> file. For a disk cache, the value cannot exceed
 cache, do not combine this argument with the B<-dcache> argument, since
 doing so can possibly result in a chunk size that is not an exponent of 2.
 
-=item B<-files> <I<files in cache>>
-
-Specifies the number of F<VI<n>> files to create in the cache
-directory for a disk cache, overriding the default that is calculated as
-described in L<DESCRIPTION>. Each F<VI<n>> file accommodates a
-chunk of data, and can grow to a maximum size of 64 KB by default. Do not
-combine this argument with the B<-memcache> argument.
-
-=item B<-rootvol> <I<name of AFS root volume>>
-
-Names the read/write volume corresponding to the root directory for the
-AFS file tree (which is usually the F</afs> directory). This value
-overrides the default of the C<root.afs> volume.
-
-=item B<-stat> <I<number of stat entries>>
-
-Specifies the number of entries to allocate in the machine's memory for
-recording status information about the AFS files in the cache. This value
-overrides the default of C<300>.
-
-=item B<-memcache>
-
-Initializes a memory cache rather than a disk cache. Do not combine this
-flag with the B<-files> argument.
-
 =item B<-cachedir> <I<cache directory>>
 
 Names the local disk directory to be used as the cache. This value
 overrides the default defined in the second field of the
 F</usr/vice/etc/cacheinfo> file.
 
-=item B<-mountdir> <I<mount location>>
+=item B<-chunksize> <I<chunk size>>
 
-Names the local disk directory on which to mount the root of the AFS
-filespace. This value overrides the default defined in the first field of
-the F</usr/vice/etc/cacheinfo> file. If a value other than the F</afs>
-directory is used, the machine cannot access the filespace of cells that
-do use that value.
+Sets the size of each cache chunk. The integer provided, which must be
+from the range C<0> to C<30>, is used as an exponent on the number 2. It
+overrides the default of 16 for a disk cache (2^16 is 64 KB) and 13 for a
+memory cache (2^13 is 8 KB). A value of C<0> or less, or greater than
+C<30>, sets chunk size to the appropriate default. Values less than C<10>
+(which sets chunk size to a 1 KB) are not recommended.  Combining this
+argument with the B<-dcache> argument is not recommended because it
+requires that the issuer calculate the cache size that results.
+
+B<-chunksize> is an important option when tuning for performance. Setting
+this option to larger values can increase performance when dealing with
+large files.
+
+=item B<-confdir> <I<configuration directory>>
+
+Names a directory other than the F</usr/vice/etc> directory from which to
+fetch the F<cacheinfo>, F<ThisCell>, and F<CellServDB> configuration
+files.
 
 =item B<-daemons> <I<number of daemons to use>>
 
@@ -421,25 +467,17 @@ VM daemons is set to twice the value of this argument, if it is provided
 and the B<-biods> argument is not. If both arguments are omitted, there
 are five VM daemons.
 
-=item B<-nosettime>
-
-Prevents the Cache Manager from synchronizing its clock with the clock on
-a server machine selected at random, by checking the time on the server
-machine every five minutes. Use this flag only on a machine that is
-already using another time synchronization protocol (for example, a server
-machine that is running the B<runntp> process).
-
-=item B<-verbose>
-
-Generates a detailed trace of the B<afsd> program's actions on the
-standard output stream.
-
-=item B<-rmtsys>
+=item B<-dcache> <I<number of dcache entries>>
 
-Initializes an additional daemon to execute AFS-specific system calls on
-behalf of NFS client machines. Use this flag only if the machine is an
-NFS/AFS translator machine serving users of NFS client machines who
-execute AFS commands.
+Sets the number of dcache entries in memory, which are used to store
+information about cache chunks. For a disk cache, this overrides the
+default, which is 50% of the number of F<VI<n>> files (cache chunks). For
+a memory cache, this argument effectively sets the number of cache chunks,
+but its use is not recommended, because it requires the issuer to
+calculate the resulting total cache size (derived by multiplying this
+value by the chunk size). Do not combine this argument with the B<-blocks>
+argument, since doing so can possibly result in a chunk size that is not
+an exponent of 2.
 
 =item B<-debug>
 
@@ -447,42 +485,121 @@ Generates a highly detailed trace of the B<afsd> program's actions on the
 standard output stream. The information is useful mostly for debugging
 purposes.
 
-=item B<-chunksize> <I<chunk size>>
+=item B<-dynroot>
+
+The standard behaviour of the AFS client without the B<-dynroot> option is
+to mount the root.afs volume from the default cell on the F</afs> path. The 
+F</afs> folder and root.afs volume traditionally shows the folders for 
+F<ThisCell> and other cells as configured by the AFS cell administrator.
+
+The B<-dynroot> option changes this. Using this option, the AFS client
+does not mount the root.afs volume on F</afs>. Instead it uses the
+contents of the F<CellServDB> file to populate the listing of cells in
+F</afs>. This is known as a DYNamic ROOT. A cell is not contacted until
+the path F</afs/I<cellname>> if accessed. This functions similarly to an
+automounter.  The main advantage of using B<-dynroot> is that the AFS
+client will start properly even without network access, whereas the client
+not using B<-dynroot> will freeze upon startup if cannot contact the
+default cell specified in F<ThisCell> and mount the root.afs
+volume. Dynamic root mode is also sometimes called travelling mode because
+it works well for laptops which don't always have network connectivity.
+
+Two advantages of not using dynroot are that listing F</afs> will usually
+be faster because the contents of F</afs> are limited to what the AFS
+administrator decides and that symbolic links are traditionally created
+by the AFS administrator to provide a short name for the cell (i.e.
+cellname.domain.com is aliased to cellname).  However, with dynroot, the
+local system administrator can limit the default contents of F</afs> by
+installing a stripped-down F<CellServDB> file, and if dynroot is in effect,
+the F<CellAlias> file can be used to provide shortname for common AFS cells
+which provides equivalent functionality to the most commonly used symbolic
+links.
 
-Sets the size of each cache chunk. The integer provided, which must be
-from the range C<0> to C<30>, is used as an exponent on the number 2. It
-overrides the default of 16 for a disk cache (2^16 is 64 KB) and 13 for a
-memory cache (2^13 is 8 KB). A value of C<0> or less, or greater than
-C<30>, sets chunk size to the appropriate default. Values less than C<10>
-(which sets chunk size to a 1 KB) are not recommended.  Combining this
-argument with the B<-dcache> argument is not recommended because it
-requires that the issuer calculate the cache size that results.
+=item B<-enable_peer_stats>
 
-=item B<-dcache> <I<number of dcache entries>>
+Activates the collection of Rx statistics and allocates memory for their
+storage. For each connection with a specific UDP port on another machine,
+a separate record is kept for each type of RPC (FetchFile, GetStatus, and
+so on) sent or received. To display or otherwise access the records, use
+the Rx Monitoring API.
 
-Sets the number of dcache entries in memory, which are used to store
-information about cache chunks. For a disk cache, this overrides the
-default, which is 50% of the number of F<VI<n>> files (cache
-chunks). For a memory cache, this argument effectively sets the number of
-cache chunks, but its use is not recommended, because it requires the
-issuer to calculate the resulting total cache size (derived by multiplying
-this value by the chunk size). Do not combine this argument with the
-B<-blocks> argument, since doing so can possibly result in a chunk size
-that is not an exponent of 2.
+=item B<-enable_process_stats>
 
-=item B<-volumes> <I<number of volume entries>>
+Activates the collection of Rx statistics and allocates memory for their
+storage. A separate record is kept for each type of RPC (FetchFile,
+GetStatus, and so on) sent or received, aggregated over all connections to
+other machines. To display or otherwise access the records, use the Rx
+Monitoring API.
 
-Specifies the number of memory structures to allocate for storing volume
-location information. The default value is C<50>.
+=item B<-fakestat>
 
-=item B<-biods> <I<number of I/O daemons>>
+Return fake values for stat calls on cross-cell mounts. This option makes
+an C<ls -l> of F</afs> much faster since each cell isn't contacted, and
+this and the B<-fakestat-all> options are useful on Mac OS X so that the
+Finder program doesn't try to contact every AFS cell the system knows
+about.
 
-Sets the number of VM daemons dedicated to performing I/O operations on a
-machine running a version of AIX with virtual memory (VM) integration.  If
-both this argument and the B<-daemons> argument are omitted, the default
-is five. If this argument is omitted but the B<-daemons> argument is
-provided, the number of VM daemons is set to twice the value of the
-B<-daemons> argument.
+=item B<-fakestat-all>
+
+Return fake values for stat calls on all mounts, not just cross-cell
+mounts. This and the B<-fakestat> options are useful on Mac OS X so that
+the Finder program doesn't hang when browsing AFS directories.
+
+=item B<-files> <I<files in cache>>
+
+Specifies the number of F<VI<n>> files to create in the cache directory
+for a disk cache, overriding the default that is calculated as described
+in L<DESCRIPTION>. Each F<VI<n>> file accommodates a chunk of data, and
+can grow to a maximum size of 64 KB by default. Do not combine this
+argument with the B<-memcache> argument.
+
+=item B<-files_per_subdir> <I<files per cache subdirectory>>
+
+Limits the number of cache files in each subdirectory of the cache
+directory. The value of the option should be the base-two log of the
+number of cache files per cache subdirectory (so 10 for 1024 files, 14 for
+16384 files, and so forth).
+
+=item B<-help>
+
+Prints the online help for this command. All other valid options are
+ignored.
+
+=item B<-logfile> <I<log file location>>
+
+This option is obsolete and no longer has any effect.
+
+=item B<-mem_alloc_sleep>
+
+Allows sleeps when allocating a memory cache.
+
+=item B<-memcache>
+
+Initializes a memory cache rather than a disk cache. Do not combine this
+flag with the B<-files> argument.
+
+=item B<-mountdir> <I<mount location>>
+
+Names the local disk directory on which to mount the root of the AFS
+filespace. This value overrides the default defined in the first field of
+the F</usr/vice/etc/cacheinfo> file. If a value other than the F</afs>
+directory is used, the machine cannot access the filespace of cells that
+do use that value.
+
+=item B<-nomount>
+
+Do not mount AFS on startup. The afs global mount must be mounted via
+some other means. This is useful on Mac OS X where /afs is sometimes
+mounted in /Network/afs like other network file systems.
+
+=item B<-nosettime>
+
+This is enabled by default. It prevents the Cache Manager from
+synchronizing its clock with the clock on a server machine selected at
+random by checking the time on the server machine every five minutes.
+This is the recommended behavior; instead of the AFS Cache Manager, the
+Network Time Protocol Daemon should be used to synchronize the system
+time.
 
 =item B<-prealloc> <I<number of preallocated blocks>>
 
@@ -490,50 +607,68 @@ Specifies the number of pieces of memory to preallocate for the Cache
 Manager's internal use. The default initial value is C<400>, but the Cache
 Manager dynamically allocates more memory as it needs it.
 
-=item B<-confdir> <I<configuration directory>>
+=item B<-rmtsys>
 
-Names a directory other than the F</usr/vice/etc> directory from which to
-fetch the F<cacheinfo>, F<ThisCell>, and F<CellServDB> configuration
-files.
+Initializes an additional daemon to execute AFS-specific system calls on
+behalf of NFS client machines. Use this flag only if the machine is an
+NFS/AFS translator machine serving users of NFS client machines who
+execute AFS commands.
 
-=item B<-logfile> <I<log file location>>
+=item B<-rootvol> <I<name of AFS root volume>>
 
-Is obsolete and has no real effect. It specifies an alternate file in
-which to record a type of trace that the Cache Manager no longer
-generates; the default value is F</usr/vice/etc/AFSLog>.
+Names the read/write volume corresponding to the root directory for the
+AFS file tree (which is usually the F</afs> directory). This value
+overrides the default of the C<root.afs> volume. This option is ignored if
+B<-dynroot> is given.
 
-=item B<-waitclose>
+=item B<-rxbind>
 
-Has no effect on the operation of the Cache Manager. The behavior it
-affected in previous versions of the Cache Manager, to perform synchronous
-writes to the File Server, is now the default behavior. To perform
-asynchronous writes in certain cases, use the B<fs storebehind> command.
+Bind the Rx socket (one interface only).
+
+=item B<-rxpck> <I<value for rx_extraPackets>>
+
+Set rx_extraPackets to this value.
+
+=item B<-settime>
+
+Enable native AFS time synchronization. This option is the opposite of
+B<-nosettime> and cannot be used with the B<-nosettime> option.
 
 =item B<-shutdown>
 
-Shuts down the Cache Manager, but not in the most effective possible
-way. Do not use this flag.
+Shuts down the Cache Manager. Before calling B<afsd> with this option,
+unmount the AFS file system with B<umount>.
 
-=item B<-enable_peer_stats>
+=item B<-splitcache> <I<RW/RO Ratio>>
 
-Activates the collection of Rx statistics and allocates memory for their
-storage. For each connection with a specific UDP port on another machine,
-a separate record is kept for each type of RPC (FetchFile, GetStatus, and
-so on) sent or received. To display or otherwise access the records, use
-the Rx Monitoring API.
+This allows the user to set a certain percentage of the AFS cache be
+reserved for read/write content and the rest to be reserved for read-only
+content. The ratio should be written as a fraction.  For example,
+C<-splitcache 75/25> devotes 75% of your cache space to read/write content
+and 25% to read-only.
 
-=item B<-enable_process_stats>
+=item B<-stat> <I<number of stat entries>>
 
-Activates the collection of Rx statistics and allocates memory for their
-storage. A separate record is kept for each type of RPC (FetchFile,
-GetStatus, and so on) sent or received, aggregated over all connections to
-other machines. To display or otherwise access the records, use the Rx
-Monitoring API.
+Specifies the number of entries to allocate in the machine's memory for
+recording status information about the AFS files in the cache. This value
+overrides the default of C<300>.
 
-=item B<-help>
+=item B<-verbose>
 
-Prints the online help for this command. All other valid options are
-ignored.
+Generates a detailed trace of the B<afsd> program's actions on the
+standard output stream.
+
+=item B<-volumes> <I<number of volume entries>>
+
+Specifies the number of memory structures to allocate for storing volume
+location information. The default value is C<50>.
+
+=item B<-waitclose>
+
+Has no effect on the operation of the Cache Manager. The behavior it
+affected in previous versions of the Cache Manager, to perform synchronous
+writes to the File Server, is now the default behavior. To perform
+asynchronous writes in certain cases, use the B<fs storebehind> command.
 
 =back
 
@@ -543,17 +678,17 @@ The B<afsd> command is normally included in the machine's AFS
 initialization file, rather than typed at the command shell prompt. For
 most disk caches, the appropriate form is
 
-   /usr/vice/etc/afsd
+   /usr/vice/etc/afsd
 
 The following command is appropriate when enabling a machine to act as an
 NFS/AFS Translator machine serving more than five users.
 
-   /usr/vice/etc/afsd -daemons 4 -rmtsys
+   /usr/vice/etc/afsd -daemons 4 -rmtsys
 
 The following command initializes a memory cache and sets chunk size to 16
 KB (2^14).
 
-   /usr/vice/etc/afsd -memcache -chunksize 14
+   /usr/vice/etc/afsd -memcache -chunksize 14
 
 =head1 PRIVILEGE REQUIRED
 
@@ -561,6 +696,7 @@ The issuer must be logged in as the local superuser root.
 
 =head1 SEE ALSO
 
+L<fs_newcell(1)>,
 L<afs_cache(5)>,
 L<CellServDB(5)>,
 L<cacheinfo(5)>
@@ -569,6 +705,6 @@ L<cacheinfo(5)>
 
 IBM Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
 
-This documentation is covered by the IBM Public License Version 1.0.  It was
-converted from HTML to POD by software written by Chas Williams and Russ
-Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
+This documentation is covered by the IBM Public License Version 1.0.  It
+was converted from HTML to POD by software written by Chas Williams and
+Russ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.
diff --git a/doc/man-pages/pod8/bos_util.pod b/doc/man-pages/pod8/bos_util.pod
new file mode 100644 (file)
index 0000000..a26fccc
--- /dev/null
@@ -0,0 +1,118 @@
+=head1 NAME
+
+bos_util - Manipulate the AFS server Keyfile
+
+=head1 SYNOPSIS
+
+=for html
+<div class="synopsis">
+
+B<bos_util> add <I<kvno>>
+
+B<bos_util> adddes <I<kvno>>
+
+B<bos_util> delete <I<kvno>>
+
+B<bos_util> list
+
+=for html
+</div>
+
+=head1 DESCRIPTION
+
+The B<bos_util> command manipulates the AFS server B<Keyfile>. It can take
+a password from standard input, convert it to a key, and add it to the
+F<KeyFile>; list the keys in the F<KeyFile>; or remove a key from thet
+F<KeyFile>. It is very similar in function to B<asetkey>, but B<asetkey>
+works with keytab files wheras B<bos_util> works with passwords directly.
+
+B<bos_util> expects one of the following subcommands:
+
+=over 4
+
+=item add <I<kvno>>
+
+Add a key with key version <I<kvno>> to the F<KeyFile> using a password
+from standard input. This command uses the normal AFS password salt
+algorithm to generate the key (equivalent to the des-cbc-crc:afs3 enctype
+in Kerberos v5). This command is basically equivalent to B<bos addkey>.
+
+=item adddes <I<kvno>>
+
+Add a key with key version <I<kvno>> to the B<KeyFile> using a password
+from standard input.  This command does not salt the password when
+generating the key (equivalent to the des-cbc-crc:v4 enctype in Kerberos
+v5).
+
+Since this command applies no salt to the password, it can be used as a
+last resort for generating a DES key with a salt algorithm that other
+utilities don't know how to use by giving this command the pre-salted
+password. This can be useful when, for example, using Microsoft Active
+Directory as the Kerberos KDC, since Active Directory uses a different
+salt algorithm for service principals than most Unix Kerberos
+implementations. The best approach, however, is to find a way to generate
+a keytab and then use B<asetkey>.
+
+=item delete <I<kvno>>
+
+Delete the key with the specified key version from the F<KeyFile>. This
+command is equivalent to B<asetkey delete> or B<bos removekey>.
+
+=item list
+
+List the keys in the F<KeyFile>. This command is equivalent to B<asetkey
+list> or B<bos listkeys>.
+
+=back
+
+The B<bos_util> command does not use the normal AFS option parsing library
+and its subcommands cannot be abbreviated.
+
+=head1 CAUTIONS
+
+B<bos_util> is intended for use with a Kerberos v4 environment and
+therefore is mostly obsolete. Normally, rather than using this command,
+you will want to use B<ktutil> to create a keytab (perhaps with its
+B<add_entry> command) and then use B<asetkey> as normal. B<bos_util> only
+supports the AFS password salt algorithm and no password salt algorithm
+and therefore may not produce the same key from a given password as
+Kerberos v5 utilities unless one is careful to use that same salt
+algorithm when creating the key in the KDC.
+
+Creating an AFS key with a known password and then using B<bos_util> or
+B<bos addkey> to add that key to the F<KeyFile> is not recommended.
+Human-created passwords are usually not as strong as a random key
+generated using a good entropy source, such as with the B<-randkey> option
+to the MIT Kerberos v5 B<kadmin ktadd> command or the equivalent in other
+Kerberos v5 implementations. The security of AFS depends on the strength
+of the AFS service key; it should therefore be as random as possible.
+
+It is imperative that the key version number (kvno) given matches the kvno
+on the Kerberos server. If it doesn't, users won't be able to
+authenticate. The key generated by B<bos_util> must also match the
+internal representation on the Kerberos server including the salt.
+
+=head1 OPTIONS
+
+B<bos_util> takes no options.
+
+=head1 PRIVILEGE REQUIRED
+
+The issuer must be logged onto a file server machine as the local
+superuser C<root>.
+
+=head1 SEE ALSO
+
+L<asetkey(8)>,
+L<bos_addkey(8)>,
+L<bos_listkeys(8)>,
+L<bos_removekey(8)>,
+kadmin(8),
+ktutil(8)
+
+=head1 COPYRIGHT
+
+Copyright 2007 Jason Edgecombe <jason@rampaginggeek.com>
+
+This documentation is covered by the IBM Public License Version 1.0.
+This man page was written by Jason Edgecombe for OpenAFS.
index a33732de1d3c72e9deb7812e5f8c4bf7e8e2cd4b..5b82544a6785841ed26e93f7641369ff240cfcf6 100644 (file)
@@ -7,20 +7,28 @@ fileserver - Initializes the File Server component of the fs process
 =for html
 <div class="synopsis">
 
-B<fileserver> S<<< [B<-d> <I<debug level>>] >>> S<<< [B<-p> <I<number of processes>>] >>>
+B<fileserver> S<<< [B<-auditlog> <I<log path>>] >>>
+    S<<< [B<-d> <I<debug level>>] >>>
+    S<<< [B<-p> <I<number of processes>>] >>>
     S<<< [B<-spare> <I<number of spare blocks>>] >>>
     S<<< [B<-pctspare> <I<percentage spare>>] >>> S<<< [B<-b> <I<buffers>>] >>>
     S<<< [B<-l> <I<large vnodes>>] >>> S<<< [B<-s> <I<small nodes>>] >>>
     S<<< [B<-vc> <I<volume cachesize>>] >>> S<<< [B<-w> <I<call back wait interval>>] >>>
     S<<< [B<-cb> <I<number of call backs>>] >>> [B<-banner>] [B<-novbc>]
-    S<<< [B<-implicit> <I<admin mode bits: rlidwka>>] >>>
+    S<<< [B<-implicit> <I<admin mode bits: rlidwka>>] >>> [B<-readonly>]
     S<<< [B<-hr> <I<number of hours between refreshing the host cps>>] >>>
     [B<-busyat> <I<< redirect clients when queue > n >>>]
-    S<<< [B<-rxpck> <I<number of rx extra packets>>] >>>
-    [B<-rxdbg>] [B<-rxdbge>] S<<< [B<-m> <I<min percentage spare in partition>>] >>>
+    [B<-nobusy>] S<<< [B<-rxpck> <I<number of rx extra packets>>] >>>
+    [B<-rxdbg>] [B<-rxdbge>] S<<< [B<-rxmaxmtu> <I<bytes>>] >>>
+    S<<< [B<-rxbind> <I<address to bind the Rx socket to>>] >>>
+    S<<< [B<-vattachpar> <I<number of volume attach threads>>] >>>
+    S<<< [B<-m> <I<min percentage spare in partition>>] >>>
     [B<-lock>] [B<-L>] [B<-S>] S<<< [B<-k> <I<stack size>>] >>>
     S<<< [B<-realm> <I<Kerberos realm name>>] >>>
     S<<< [B<-udpsize> <I<size of socket buffer in bytes>>] >>>
+    S<<< [B<-sendsize> <I<size of send buffer in bytes>>] >>>
+    S<<< [B<-abortthreshold> <I<abort threshold>>] >>>
+    S<<< [B<-auditlog> <I<path to log file>>] >>>
     [B<-enable_peer_stats>] [B<-enable_process_stats>] [B<-help>]
 
 =for html
@@ -189,6 +197,10 @@ option only on the relevant system type.
 
 =over 4
 
+=item B<-auditlog> <I<log path>>
+
+Set and enable auditing.
+
 =item B<-d> <I<debug level>>
 
 Sets the detail level for the debugging trace written to the
diff --git a/doc/man-pages/pod8/ka-forwarder.pod b/doc/man-pages/pod8/ka-forwarder.pod
new file mode 100644 (file)
index 0000000..321f900
--- /dev/null
@@ -0,0 +1,85 @@
+=head1 NAME
+
+ka-forwarder - Forward AFS Authentication Server requests to another server
+
+=head1 SYNOPSIS
+
+=for html
+<div class="synopsis">
+
+B<ka-forwarder> S<<< [B<-p> <I<port>>] >>> <I<server>>[/<I<port>>] [...]
+
+=for html
+</div>
+
+=head1 DESCRIPTION
+
+B<ka-forwarder> listens for requests for an AFS Authentication Server and
+forwards them to a remove B<fakeka> server.  B<fakeka> is a server that
+answers AFS Authentication Server protocol requests using a regular
+Kerberos KDC and is provided with some Kerberos 5 implementations.
+B<fakeka> has to run on the same host as the Kerberos KDC, however, and
+AFS clients send all native AFS authentication requests to the AFS
+database servers.  If you don't want to run your Kerberos KDCs and your
+AFS database servers on the same host, run B<ka-forwarder> on the AFS
+database servers and point it to B<fakeka> running on the Kerberos KDCs.
+
+B<ka-forwarder> takes one or more servers to which to forward the
+requests.  The default port on the remote server to which to forward the
+command is 7004, but a different port can be specified by following the
+server name with a slash (C</>) and the port number.  If multiple servers
+are given, B<ka-forwarder> will send queries to each server in turn in a
+round-robin fashion.
+
+=head1 CAUTIONS
+
+Due to the way that B<ka-forwarder> distinguishes from client requests and
+server responses, any messages from one of the servers to which
+B<ka-forwarder> is forwarding will be considered a reply rather than a
+command and will not be forwarded.  This means that the servers running
+B<fakeka> will not be able to use native AFS authentication requests and
+rely on B<ka-forwarder> to send the requests to the right server.
+
+B<ka-forwarder> does not background itself.  It should either be run in
+the background via the shell, or run via the Basic OverSeer Server (see
+L<bosserver(8)>).
+
+=head1 OPTIONS
+
+=over 4
+
+=item B<-p> <I<port>>
+
+By default, B<ka-forwarder> listens to the standard AFS Authentication
+Server port (7004).  To listen to a different port, specify it with the
+B<-p> option.
+
+=back
+
+=head1 EXAMPLES
+
+Forward AFS Authentication Server reqests to the B<fakeka> servers on
+kdc1.example.com and kdc2.example.com:
+
+    % ka-forwarder kdc1.example.com kdc2.example.com &
+
+Note the C<&> to tell the shell to run this command in the background.
+
+=head1 PRIVILEGE REQUIRED
+
+B<ka-forwarder> only has to listen to port 7004 and therefore does not
+require any special privileges unless a privileged port is specified with
+the B<-p> option.
+
+=head1 SEE ALSO
+
+L<bosserver(8)>,
+fakeka(8),
+L<kaserver(8)>
+
+=head1 COPYRIGHT
+
+Copyright 2006 Russ Allbery <rra@stanford.edu>
+
+This documentation is covered by the IBM Public License Version 1.0.  This
+man page was written by Russ Allbery for OpenAFS.
diff --git a/doc/man-pages/pod8/pt_util.pod b/doc/man-pages/pod8/pt_util.pod
new file mode 100644 (file)
index 0000000..69c4dd3
--- /dev/null
@@ -0,0 +1,187 @@
+=head1 NAME
+
+pt_util - Load or dump a Protection Server database
+
+=head1 SYNOPSIS
+
+=for html
+<div class="synopsis">
+
+B<pt_util>
+   S<<< [B<-w>] >>> S<<< [B<-user>] >>> S<<< [B<-group>] >>>
+   S<<< [B<-members>] >>> S<<< [B<-name>] >>> S<<< [B<-system>] >>>
+   S<<< [B<-xtra>] >>> S<<< [B<-prdb> <I<prdb file>>] >>>
+   S<<< [B<-datafile> <I<data file>>] >>> S<<< [B<-help>] >>>
+
+=for html
+</div>
+
+=head1 DESCRIPTION
+
+The B<pt_util> command can be used to load or dump the protection
+database.  It should only be used when B<ptserver> is not running.
+
+The most likely reason to use it is to initialize the protection database
+when bringing up a new cell.  The current syntax for this, presented
+below, needs improvement.  B<pt_util> can also be used when problems are
+suspected with the database.  It can be used to dump the database or
+portions thereof, in several different ways, and to reload it.
+
+The textual representation of the database has the following form:
+For users,
+
+    name flags/quota viceid ownerid creatorid
+
+For groups,
+
+    name flags/quota viceid ownerid creatorid
+     a-username a-user-viceid
+
+The second line is repeated for each member of the group.  When reading
+the database, membership is not reported unless B<-members> is also
+included.
+
+=head1 OPTIONS
+
+If you don't specify any options, the only thing you'll learn is the ubik
+database epoch and version.
+
+=over 4
+
+=item B<-w>
+
+Write to the protection database instead of reading.  Only the file
+arguments make sense in combination with this argument.
+
+=item B<-user>
+
+When reading, display users.
+
+=item B<-group>
+
+When reading, display groups (but not necessarily members).
+
+=item B<-members>
+
+When reading, display groups and also group members.
+
+=item B<-name>
+
+When reading,
+follow name hashes, instead of id hashes.
+This may print different information if the database was corrupted.
+Otherwise, it should print exactly the same information, except
+in a different order.
+
+=item B<-system>
+
+When reading, display system data, or more precisely, do not display
+entries with a viced <= -32768 or >= +97537.
+
+=item B<-xtra>
+
+When reading, display extra users and groups, or more precisely, do not
+display entries that are in the range -32767...+97536 inclusive.
+
+=item B<-prdb> <I<prdb file>>
+
+Specifies the complete pathname of the file in which the Protection
+Database resides.  Provide the complete name, including the ending
+F<.DB0>.
+
+=item B<-datafile> <I<data file>>
+
+Specify the file to which to dump (or B<-w> from which to read) textual
+database records.
+
+=back
+
+=head1 CAUTIONS
+
+The file dump format does not include supergroup information, so should
+not be used if you have and are using groups within groups.
+
+In all cases, entry timestamps and other information is also not
+preserved.
+
+The epoch and version are reported on standard error.  On little-endian
+machines, they'll be byte swapped, so may be very random.
+
+=head1 EXAMPLES
+
+The following example shows how to initialize the database from scratch.
+
+Before you do this, make sure B<ptserver> is not running.  If you have
+multiple database servers, make sure F<prdb.*> does not exist on any
+server machine.
+
+Now, type this in EXACTLY, including the leading space on the line
+indicated.  But do use Control-D at the end, not up-arrow D.
+
+    pt_util -w
+    admin 128/20 1 -204 -204
+    system:administrators 130/20 -204 -204 -204
+     admin 1
+    ^D
+
+You will see this:
+
+    # pt_util -w
+    pt_util: /usr/afs/db/prdb.DB0: Bad UBIK_MAGIC. Is 0 should be 354545
+    Ubik Version is: 2.0
+    admin 128/20 1 -204 -204
+    system:administrators 130/20 -204 -204 -204
+    Error while creating system:administrators: Entry for id already exists
+     admin 1
+    pt_util: Ubik Version number changed during execution.
+    Old Version = 2.0, new version = 33554432.0
+    #
+
+To make a complete copy of the database,
+
+    # pt_util -user -members -datafile /tmp/out
+
+To load from the complete copy,
+
+    # pt_util -w -datafile /tmp/out
+
+Don't do this until you read cautions, above.
+
+=head1 PRIVILEGE REQUIRED
+
+The issuer must be logged in as the superuser C<root> on a file server
+machine to use B<pt_util>.
+
+=head1 SEE ALSO
+
+L<prdb.DB0(5)>,
+L<ptserver(8)>
+
+=head1 COPYRIGHT
+
+The following copyright covers this documentation:
+
+Copyright (c) 2005 The Regents of the University of Michigan.  ALL RIGHTS
+RESERVED.
+
+Permission is granted to use, copy, create derivative works and
+redistribute this software and such derivative works for any purpose, so
+long as the name of the University of Michigan is not used in any
+advertising or publicity pertaining to the use or distribution of this
+software without specific, written prior authorization.  If the above
+copyright notice or any other identification of the University of Michigan
+is included in any copy of any portion of this software, then the
+disclaimer below must also be included.
+
+This software is provided as is, without representation from the
+University of Michigan as to its fitness for any purpose, and without
+warranty by the University of Michigan of any kind, either express or
+implied, including without limitation the implied warranties of
+merchantability and fitness for a particular purpose.  The regents of the
+University of Michigan shall not be liable for any damages, including
+special, indirect, incidental, or consequential damages, with respect to
+any claim arising out of or in connection with the use of the software,
+even if it has been or is hereafter advised of the possibility of such
+damages.
+
+=cut
index e309385ba660330ed0406545beb649901cd63fda..8c1c716b1e32c5581b7e873982703111c942aeb9 100644 (file)
@@ -89,9 +89,11 @@ prints the help message.
 
 =item B<-skipauth>
 
-Bypasses mutual authentication with the AFS Authentication Server,
-allowing a site that uses Kerberos instead of the AFS Authentication
-Server to substitute that form of authentication.
+Bypasses mutual authentication with the AFS Authentication Server, allowing
+a site that uses Kerberos instead of the AFS Authentication Server to
+substitute that form of authentication. If this option is given, B<uss> does
+not create or manipulate Kerberos principals. A Kerberos principal must be
+created separately from the B<uss add> command.
 
 =back
 
index c6c8338e20d0883e6f445777d43d5a4e27e8d47c..a2eb8ae483c31c3bc01f2866670ce1c43a9813dc 100644 (file)
@@ -168,7 +168,7 @@ JNIEXPORT jboolean JNICALL Java_org_openafs_jafs_File_setAttributes
         return JNI_TRUE;   /* not really an error */
       } else {
         fprintf(stderr, "File::setAttributes(): uafs_statmountpoint failed "
-                        "for %s (%s)\n", dirName, error_message(errno));
+                        "for %s (%s)\n", dirName, afs_error_message(errno));
         return JNI_FALSE;
       }
     }
@@ -208,7 +208,7 @@ JNIEXPORT jboolean JNICALL Java_org_openafs_jafs_File_setAttributes
         }
         fprintf(stderr, 
             "File::setAttributes(): uafs_stat failed for %s (%s)\n", 
-             dirName, error_message(errno));
+             dirName, afs_error_message(errno));
         return JNI_FALSE;
       }
     }
@@ -427,7 +427,7 @@ JNIEXPORT jlong JNICALL Java_org_openafs_jafs_File_listNative
     dirp = uafs_opendir(dirName);
     if(dirp == NULL) {
       fprintf(stderr, "File::listNative(): uafs_opendir(%s) failed(%s)\n",
-                       dirName, error_message(errno));
+                       dirName, afs_error_message(errno));
       setError(env, &obj, errno);
       //throwAFSSecurityException( env, errno );
       return 0;
index 0b037b3b2462b614dacdb9331519d3668e10e575..ada4319d94739afce85c080d05621c43e9462cd7 100644 (file)
@@ -11,7 +11,7 @@
 #include "afs/param.h"
 
 RCSID
-    ("$Header: /cvs/openafs/src/afs/AIX/osi_file.c,v 1.9.2.1 2006/11/09 23:26:25 shadow Exp $");
+    ("$Header: /cvs/openafs/src/afs/AIX/osi_file.c,v 1.9.2.2 2007/08/16 03:54:26 shadow Exp $");
 
 #include "afs/sysincludes.h"   /* Standard vendor system headers */
 #include "afsincludes.h"       /* Afs-based standard headers */
@@ -30,7 +30,6 @@ osi_UFSOpen(afs_int32 ainode)
 {
     struct inode *ip;
     register struct osi_file *afile = NULL;
-    extern struct vfs *rootvfs;
     struct vnode *vp = NULL;
     extern int cacheDiskType;
     afs_int32 code = 0;
@@ -48,7 +47,7 @@ osi_UFSOpen(afs_int32 ainode)
     afile = (struct osi_file *)osi_AllocSmallSpace(sizeof(struct osi_file));
     setuerror(0);
     AFS_GUNLOCK();
-    ip = (struct inode *)igetinode((dev_t) cacheDev.dev, rootvfs,
+    ip = (struct inode *)igetinode((dev_t) cacheDev.dev, afs_cacheVfsp,
                                   (ino_t) ainode, &vp, &dummy);
     AFS_GLOCK();
     if (getuerror()) {
index 0f1c41a539312e0cbc654bc54cda5f50d5d07aa1..a3b553b5321a9fc41ee9167926e85d29b7b35d92 100644 (file)
@@ -17,7 +17,7 @@
 #include "afs/param.h"
 
 RCSID
-    ("$Header: /cvs/openafs/src/afs/AIX/osi_inode.c,v 1.8.2.2 2005/10/15 14:24:25 shadow Exp $");
+    ("$Header: /cvs/openafs/src/afs/AIX/osi_inode.c,v 1.8.2.3 2007/08/16 03:54:26 shadow Exp $");
 
 #include "afs/sysincludes.h"   /* Standard vendor system headers */
 #include "afsincludes.h"       /* Afs-based standard headers */
@@ -262,7 +262,6 @@ SYSENT(icreate, (dev, near_inode, param1, param2, param3, param4),)
     struct inode *ip, *newip, *pip;
     register int err, rval1, rc = 0;
     struct vnode *vp = NULL;
-    extern struct vfs *rootvfs;
     register struct vfs *vfsp;
     struct vfs *nvfsp = NULL;
     char error;
index b5cd4dfde765faf39589acb301b0fe7b51584bb7..a23da68aa653908344b905e737d5e702c04c0485 100644 (file)
@@ -11,7 +11,7 @@
 #include "afs/param.h"
 
 RCSID
-    ("$Header: /cvs/openafs/src/afs/AIX/osi_sleep.c,v 1.10 2003/07/15 23:14:17 shadow Exp $");
+    ("$Header: /cvs/openafs/src/afs/AIX/osi_sleep.c,v 1.10.2.1 2007/06/25 20:25:31 shadow Exp $");
 
 #include "afs/sysincludes.h"   /* Standard vendor system headers */
 #include "afsincludes.h"       /* Afs-based standard headers */
@@ -26,7 +26,10 @@ static char waitV;
 static void
 AfsWaitHack(struct trb *trb)
 {
+#if 0
+/* this gets called at interrupt context; let's not tempt fate... */
     AFS_STATCNT(WaitHack);
+#endif
 
     e_clear_wait(trb->func_data, THREAD_TIMED_OUT);
 }
@@ -121,7 +124,7 @@ afs_getevent(char *event)
        evp = evp->next;
     }
     if (!newp) {
-       newp = (afs_event_t *) osi_AllocSmallSpace(sizeof(afs_event_t));
+       newp = (afs_event_t *) xmalloc(sizeof(afs_event_t), 5, pinned_heap);
        afs_evhashcnt++;
        newp->next = afs_evhasht[hashcode];
        afs_evhasht[hashcode] = newp;
index 6bf9d3533332a7e624cf5e6b415bd5816347ea7d..95909a869588dc594d183b4ec1ee254ce83fc0c7 100644 (file)
@@ -11,7 +11,7 @@
 #include "afs/param.h"
 
 RCSID
-    ("$Header: /cvs/openafs/src/afs/DARWIN/osi_file.c,v 1.8.2.6 2006/11/09 23:26:25 shadow Exp $");
+    ("$Header: /cvs/openafs/src/afs/DARWIN/osi_file.c,v 1.8.2.7 2007/10/10 16:57:55 shadow Exp $");
 
 #include "afs/sysincludes.h"   /* Standard vendor system headers */
 #include "afsincludes.h"       /* Afs-based standard headers */
@@ -141,6 +141,9 @@ osi_UFSOpen(afs_int32 ainode)
     extern int cacheDiskType;
     afs_int32 code = 0;
     int dummy;
+    char fname[1024];
+    struct osi_stat tstat;
+
     AFS_STATCNT(osi_UFSOpen);
     if (cacheDiskType != AFS_FCACHE_TYPE_UFS) {
        osi_Panic("UFSOpen called for non-UFS cache\n");
@@ -154,6 +157,28 @@ osi_UFSOpen(afs_int32 ainode)
     }
     afile = (struct osi_file *)osi_AllocSmallSpace(sizeof(struct osi_file));
     AFS_GUNLOCK();
+#ifdef AFS_CACHE_VNODE_PATH
+    if (ainode < 0) {
+       switch (ainode) {
+       case AFS_CACHE_CELLS_INODE:
+           snprintf(fname, 1024, "%s/%s", afs_cachebasedir, "CellItems");
+           break;
+       case AFS_CACHE_ITEMS_INODE:
+           snprintf(fname, 1024, "%s/%s", afs_cachebasedir, "CacheItems");
+           break;
+       case AFS_CACHE_VOLUME_INODE:
+           snprintf(fname, 1024, "%s/%s", afs_cachebasedir, "VolumeItems");
+           break;
+       default:
+           osi_Panic("Invalid negative inode");
+       }
+    } else {
+       dummy = ainode / afs_numfilesperdir;
+       snprintf(fname, 1024, "%s/D%d/V%d", afs_cachebasedir, dummy, ainode);
+    }
+
+    code = vnode_open(fname, O_RDWR, 0, 0, &vp, afs_osi_ctxtp);
+#else
 #ifndef AFS_DARWIN80_ENV
     if (afs_CacheFSType == AFS_APPL_HFS_CACHE)
        code = igetinode(afs_cacheVfsp, (dev_t) cacheDev.dev, &ainode, &vp, &va, &dummy);       /* XXX hfs is broken */
@@ -165,6 +190,7 @@ osi_UFSOpen(afs_int32 ainode)
 #ifndef AFS_DARWIN80_ENV
     else
        panic("osi_UFSOpen called before cacheops initialized\n");
+#endif
 #endif
     AFS_GLOCK();
     if (code) {
@@ -172,10 +198,15 @@ osi_UFSOpen(afs_int32 ainode)
        osi_Panic("UFSOpen: igetinode failed");
     }
     afile->vnode = vp;
-    afile->size = va.va_size;
     afile->offset = 0;
     afile->proc = (int (*)())0;
     afile->inum = ainode;      /* for hint validity checking */
+#ifndef AFS_CACHE_VNODE_PATH
+    afile->size = va.va_size;
+#else
+    code = afs_osi_Stat(afile, &tstat);
+    afile->size = tstat.size;
+#endif
     return (void *)afile;
 }
 
index b2dfdbbe620b83e77871ef28887be26289be9b9e..75580a4fd3d40058b8e9ce54a76f6fd1f368f993 100644 (file)
@@ -5,7 +5,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/afs/DARWIN/osi_vnodeops.c,v 1.18.2.21 2007/02/15 00:29:51 shadow Exp $");
+    ("$Header: /cvs/openafs/src/afs/DARWIN/osi_vnodeops.c,v 1.18.2.24 2007/10/15 19:22:43 shadow Exp $");
 
 #include <afs/sysincludes.h>   /* Standard vendor system headers */
 #include <afsincludes.h>       /* Afs-based standard headers */
@@ -643,7 +643,8 @@ afs_vop_access(ap)
     if (code) {
         code= 0;               /* if access is ok */
     } else {
-        code = afs_CheckCode(EACCES, &treq, 57);        /* failure code */
+       /* In 10.4 cp will loop forever on EACCES */
+        code = afs_CheckCode(EPERM, &treq, 57);        /* failure code */
     }
 out:
      afs_PutFakeStat(&fakestate);
@@ -1194,8 +1195,12 @@ afs_vop_remove(ap)
     cache_purge(vp);
     if (!error) {
 #ifdef AFS_DARWIN80_ENV
-        ubc_setsize(vp, (off_t)0);
-        vnode_recycle(vp);
+       struct vcache *tvc = VTOAFS(vp);
+       
+       if (!(tvc->states & CUnlinked)) {
+            ubc_setsize(vp, (off_t)0);
+            vnode_recycle(vp);
+       }
 #else
         /* necessary so we don't deadlock ourselves in vclean */
         VOP_UNLOCK(vp, 0, cnp->cn_proc);
@@ -1626,9 +1631,18 @@ afs_vop_inactive(ap)
        vprint("afs_vop_inactive(): pushing active", vp);
 #endif
     if (tvc) {
-       AFS_GLOCK();
-       afs_InactiveVCache(tvc, 0);     /* decrs ref counts */
-       AFS_GUNLOCK();
+#ifdef AFS_DARWIN80_ENV
+        int unlinked = tvc->states & CUnlinked;
+#endif
+       AFS_GLOCK();
+       afs_InactiveVCache(tvc, 0);     /* decrs ref counts */
+       AFS_GUNLOCK();
+#ifdef AFS_DARWIN80_ENV
+       if (unlinked) {
+           vnode_recycle(vp);
+           cache_purge(vp);
+       }
+#endif
     }
 #ifndef AFS_DARWIN80_ENV
     VOP_UNLOCK(vp, 0, ap->a_p);
@@ -2083,11 +2097,13 @@ afs_darwin_finalizevnode(struct vcache *avc, struct vnode *dvp, struct component
        par.vnfs_markroot = 1;
    error = vnode_create(VNCREATE_FLAVOR, VCREATESIZE, &par, &nvp);
    if (!error) {
-     vnode_addfsref(nvp);
-     avc->v = nvp;
-     avc->states &=~ CDeadVnode;
-     vnode_clearfsnode(ovp);
-     vnode_removefsref(ovp);
+       vnode_addfsref(nvp);
+       avc->v = nvp;
+       avc->states &=~ CDeadVnode;
+       if (!(avc->states & CVInit)) {
+          vnode_clearfsnode(ovp);
+          vnode_removefsref(ovp);
+       }
    }
    AFS_GLOCK();
    ReleaseWriteLock(&avc->lock);
index 8df4b527016f3b1822a2ae621296e204d0a08632..636d354bd4d44c22272169100263d733ae54f69d 100644 (file)
@@ -15,7 +15,7 @@
 #include "afs/param.h"
 
 RCSID
-    ("$Header: /cvs/openafs/src/afs/LINUX/osi_alloc.c,v 1.22.2.1 2004/12/07 06:12:12 shadow Exp $");
+    ("$Header: /cvs/openafs/src/afs/LINUX/osi_alloc.c,v 1.22.2.2 2007/04/18 18:04:10 shadow Exp $");
 
 #include "afs/sysincludes.h"
 #include "afsincludes.h"
@@ -98,7 +98,12 @@ linux_alloc(unsigned int asize, int drop_glock)
            if (new)            /* piggy back alloc type */
                new = (void *)(KM_TYPE | (unsigned long)new);
        } else {
+           osi_Assert(drop_glock || !haveGlock);
+           if (drop_glock && haveGlock)
+               AFS_GUNLOCK();
            new = (void *)vmalloc(asize);
+           if (drop_glock && haveGlock)
+               AFS_GLOCK();
            if (new)            /* piggy back alloc type */
                new = (void *)(VM_TYPE | (unsigned long)new);
        }
index c94977e746364847b6f55d611ec6458d215935c5..a34ecb7a00526671f673400af548ae26985b28d4 100644 (file)
@@ -20,7 +20,7 @@
 #endif
 
 RCSID
-    ("$Header: /cvs/openafs/src/afs/LINUX/osi_groups.c,v 1.25.2.8 2007/01/15 15:52:46 shadow Exp $");
+    ("$Header: /cvs/openafs/src/afs/LINUX/osi_groups.c,v 1.25.2.10 2007/03/20 18:48:52 shadow Exp $");
 
 #include "afs/sysincludes.h"
 #include "afsincludes.h"
@@ -594,13 +594,18 @@ static void afs_pag_destroy(struct key *key)
 {
     afs_uint32 pag = key->payload.value;
     struct unixuser *pu;
+    int locked = ISAFS_GLOCK();
 
+    if (!locked)
+       AFS_GLOCK();
     pu = afs_FindUser(pag, -1, READ_LOCK);
     if (pu) {
        pu->ct.EndTimestamp = 0;
        pu->tokenTime = 0;
        afs_PutUser(pu, READ_LOCK);
     }
+    if (!locked)
+       AFS_GUNLOCK();
 }
 
 struct key_type key_type_afs_pag =
@@ -612,13 +617,36 @@ struct key_type key_type_afs_pag =
     .destroy     = afs_pag_destroy,
 };
 
+#ifdef EXPORTED_TASKLIST_LOCK
+extern rwlock_t tasklist_lock __attribute__((weak));
+#endif
+
 void osi_keyring_init(void)
 {
     struct task_struct *p;
-
+#ifdef EXPORTED_TASKLIST_LOCK
+    if (&tasklist_lock)
+      read_lock(&tasklist_lock);
+#endif
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,16)
+#ifdef EXPORTED_TASKLIST_LOCK
+    else
+#endif
+      rcu_read_lock();
+#endif
     p = find_task_by_pid(1);
     if (p && p->user->session_keyring)
        __key_type_keyring = p->user->session_keyring->type;
+#ifdef EXPORTED_TASKLIST_LOCK
+    if (&tasklist_lock)
+       read_unlock(&tasklist_lock);
+#endif
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,16)
+#ifdef EXPORTED_TASKLIST_LOCK
+    else
+#endif
+      rcu_read_unlock();
+#endif
 
     register_key_type(&key_type_afs_pag);
 }
index 52b1538a9b475a50d1afba70fbb9ecb127a78e86..d25f6f6166e7dbd56975eab806d6232ea39f5117 100644 (file)
@@ -15,7 +15,7 @@
 #include "afs/param.h"
 
 RCSID
-    ("$Header: /cvs/openafs/src/afs/LINUX/osi_module.c,v 1.52.2.26 2007/02/09 01:30:33 shadow Exp $");
+    ("$Header: /cvs/openafs/src/afs/LINUX/osi_module.c,v 1.52.2.28 2007/08/22 02:19:28 shadow Exp $");
 
 #include <linux/module.h> /* early to avoid printf->printk mapping */
 #include "afs/sysincludes.h"
@@ -370,9 +370,21 @@ init_module(void)
     if (err)
        return err;
     err = afs_init_inodecache();
-    if (err)
+    if (err) {
+#ifndef LINUX_KEYRING_SUPPORT
+       osi_syscall_clean();
+#endif
+       return err;
+    }
+    err = register_filesystem(&afs_fs_type);
+    if (err) {
+       afs_destroy_inodecache();
+#ifndef LINUX_KEYRING_SUPPORT
+       osi_syscall_clean();
+#endif
        return err;
-    register_filesystem(&afs_fs_type);
+    }
+
     osi_sysctl_init();
 #ifdef LINUX_KEYRING_SUPPORT
     osi_keyring_init();
@@ -392,9 +404,13 @@ void
 cleanup_module(void)
 #endif
 {
+#ifdef LINUX_KEYRING_SUPPORT
     osi_keyring_shutdown();
+#endif
     osi_sysctl_clean();
+#ifndef LINUX_KEYRING_SUPPORT
     osi_syscall_clean();
+#endif
     unregister_filesystem(&afs_fs_type);
 
     afs_destroy_inodecache();
index 16b5322dd687177e1801158a528341f85d3da3a4..7c5400e9300d70e8fe86cb4c24a5ae890efefe3f 100644 (file)
@@ -59,6 +59,7 @@
 #include "afsincludes.h"
 #endif
 #include <linux/version.h>
+#include <linux/sched.h>
 #ifdef CONFIG_H_EXISTS
 #include <linux/config.h>
 #endif
@@ -128,7 +129,7 @@ MODULE_PARM_DESC(sys_call_table_addr, "Location of system call tables");
 
 /* If this is set, we are more careful about avoiding duplicate matches */
 static int probe_carefully = 1;
-#ifdef module_param
+#if defined(module_param) && LINUX_VERSION_CODE > KERNEL_VERSION(2,6,9)
 module_param(probe_carefully, int, 0);
 #else
 MODULE_PARM(probe_carefully, "i");
@@ -153,9 +154,10 @@ MODULE_PARM_DESC(probe_ignore_syscalls, "Syscalls to ignore in table checks");
  * 0x0010 - detail - check_harder
  * 0x0020 - detail - check_harder/zapped
  * 0x0040 - automatically ignore setgroups and afs_syscall
+ * 0x0080 - detail - check_table_readable
  */
 static int probe_debug = 0x41;
-#ifdef module_param
+#if defined(module_param) && LINUX_VERSION_CODE > KERNEL_VERSION(2,6,9)
 module_param(probe_debug, int, 0);
 #else
 MODULE_PARM(probe_debug, "i");
@@ -171,7 +173,7 @@ MODULE_PARM(probe_debug_addr, "1-4l");
 MODULE_PARM_DESC(probe_debug_addr, "Debug range starting locations");
 
 static unsigned long probe_debug_range = 0;
-#ifdef module_param
+#if defined(module_param) && LINUX_VERSION_CODE > KERNEL_VERSION(2,6,9)
 module_param(probe_debug_range, long, 0);
 #else
 MODULE_PARM(probe_debug_range, "l");
@@ -179,7 +181,7 @@ MODULE_PARM(probe_debug_range, "l");
 MODULE_PARM_DESC(probe_debug_range, "Debug range length");
 
 static unsigned long probe_debug_tag = 0;
-#ifdef module_param
+#if defined(module_param) && LINUX_VERSION_CODE > KERNEL_VERSION(2,6,9)
 module_param(probe_debug_tag, long, 0);
 #else
 MODULE_PARM(probe_debug_tag, "l");
@@ -298,6 +300,10 @@ typedef struct {
     int debug_ignore_NR[4];         /* syscalls to ignore for debugging */
 } probectl;
 
+#if defined(AFS_I386_LINUX26_ENV) || defined(AFS_AMD64_LINUX26_ENV)
+static int check_access(unsigned long, int);
+static int check_table_readable(probectl *, PROBETYPE *);
+#endif
 
 
 /********** Probing Configuration: sys_call_table **********/
@@ -512,9 +518,12 @@ static probectl main_probe = {
     /* symbol in section to try scanning */
 #if defined(AFS_SPARC64_LINUX20_ENV) || defined(AFS_S390_LINUX20_ENV) || defined(AFS_S390X_LINUX20_ENV)
     (unsigned long)&sys_close,
-#elif defined(AFS_AMD64_LINUX20_ENV)
+#elif defined(AFS_AMD64_LINUX26_ENV)
     /* On this platform, it's in a different section! */
     (unsigned long)&generic_ro_fops,
+#elif defined(AFS_AMD64_LINUX20_ENV)
+    /* On this platform, it's in a different section! */
+    (unsigned long)&tasklist_lock,
 #else
     (unsigned long)&init_mm,
 #endif
@@ -535,10 +544,14 @@ static probectl main_probe = {
     (unsigned long)(&init_mm),
     0x1fffff,
     0x30000,
-#elif defined(AFS_AMD64_LINUX20_ENV)
+#elif defined(AFS_AMD64_LINUX26_ENV)
     (unsigned long)(&generic_ro_fops) - 0x30000,
     0,
     0x6000,
+#elif defined(AFS_AMD64_LINUX20_ENV)
+    (unsigned long)(&tasklist_lock) - 0x30000,
+    0,
+    0x6000,
 #elif defined(AFS_PPC64_LINUX26_ENV)
     (unsigned long)(&do_signal),
     0xfff,
@@ -940,6 +953,11 @@ static int check_table(probectl *P, PROBETYPE *ptr)
     PROBETYPE *x;
     int i, j;
 
+#if defined(AFS_I386_LINUX26_ENV) || defined(AFS_AMD64_LINUX26_ENV)
+    i = check_table_readable(P, ptr);
+    if (i >= 0) return i;
+#endif
+
     for (x = ptr, i = 0; i < _SS(NR_syscalls); i++, x++) {
 #ifdef OSI_PROBE_DEBUG
        if (probe_debug & 0x0040) {
@@ -1062,6 +1080,11 @@ static int check_harder(probectl *P, PROBETYPE *p)
     unsigned long ip1;
     int i, s;
 
+#if defined(AFS_I386_LINUX26_ENV) || defined(AFS_AMD64_LINUX26_ENV)
+    i = check_table_readable(P, p);
+    if (i >= 0) return 0;
+#endif
+
     /* Check zapped syscalls */
     for (i = 1; i < P->n_zapped_syscalls; i++) {
        if (p[_SS(P->zapped_syscalls[i])] != p[_SS(P->zapped_syscalls[0])]) {
@@ -1349,7 +1372,7 @@ static void *do_find_syscall_table(probectl *P, char **method)
 }
 
 #if defined(AFS_I386_LINUX26_ENV) || defined(AFS_AMD64_LINUX26_ENV)
-static int check_writable(unsigned long address
+static int check_access(unsigned long address, int mode
 { 
     pgd_t *pgd = pgd_offset_k(address);
 #ifdef PUD_SIZE
@@ -1374,10 +1397,34 @@ static int check_writable(unsigned long address)
        pte = (pte_t *)pmd;
     else
        pte = pte_offset_kernel(pmd, address);
-    if (pte_none(*pte) || !pte_present(*pte) || !pte_write(*pte))
+    if (pte_none(*pte) || !pte_present(*pte))
+       return 0;
+    if (mode && !pte_write(*pte))
        return 0;
     return 1;
 }
+
+static int check_table_readable(probectl *P, PROBETYPE *ptr)
+{
+    PROBETYPE *next_page;
+    int i = 0, delta;
+
+    while (i < _SS(NR_syscalls)) {
+       next_page = (PROBETYPE *)PAGE_ALIGN((unsigned long)(ptr+1));
+       delta = next_page - ptr;
+       if (!check_access((unsigned long)ptr, 0)) {
+#ifdef OSI_PROBE_DEBUG
+           if (probe_debug & 0x0080)
+               printk("<7>osi_probe: %s                      0x%016lx not readable; delta=0x%lx\n",
+                      P->symbol, (unsigned long)ptr, delta);
+#endif
+           return delta - 1;
+       }
+       ptr += delta;
+       i += delta;
+    }
+    return -1;
+}
 #endif
 
 void *osi_find_syscall_table(int which)
@@ -1405,7 +1452,7 @@ void *osi_find_syscall_table(int which)
     }
     printk("Found %s at 0x%lx (%s)\n", P->desc, (unsigned long)answer, method);
 #if defined(AFS_I386_LINUX26_ENV) || defined(AFS_AMD64_LINUX26_ENV)
-    if (!check_writable((unsigned long)answer)) {
+    if (!check_access((unsigned long)answer, 1)) {
        printk("Address 0x%lx is not writable.\n", (unsigned long)answer);
        printk("System call hooks will not be installed; proceeding anyway\n");
        return 0;
index de782acd49c7d8169b01a94250fe1d4beeba8134..e54718cefb314593c69dab49edd76c95ab68296f 100644 (file)
@@ -11,7 +11,7 @@
 #include "afs/param.h"
 
 RCSID
-    ("$Header: /cvs/openafs/src/afs/LINUX/osi_sleep.c,v 1.22.2.10 2007/01/04 21:26:34 shadow Exp $");
+    ("$Header: /cvs/openafs/src/afs/LINUX/osi_sleep.c,v 1.22.2.11 2007/06/12 05:47:47 rra Exp $");
 
 #include "afs/sysincludes.h"   /* Standard vendor system headers */
 #include "afsincludes.h"       /* Afs-based standard headers */
@@ -205,7 +205,11 @@ afs_osi_SleepSig(void *event)
 #if defined(STRUCT_TASK_STRUCT_HAS_TODO)
            !current->todo
 #else
+#if defined(STRUCT_TASK_STRUCT_HAS_THREAD_INFO)
             test_ti_thread_flag(current->thread_info, TIF_FREEZE)
+#else
+            test_ti_thread_flag(task_thread_info(current), TIF_FREEZE)
+#endif
 #endif
 #endif
            )
@@ -303,7 +307,11 @@ osi_TimedSleep(char *event, afs_int32 ams, int aintok)
 #if defined(STRUCT_TASK_STRUCT_HAS_TODO)
            !current->todo
 #else
+#if defined(STRUCT_TASK_STRUCT_HAS_THREAD_INFO)
             test_ti_thread_flag(current->thread_info, TIF_FREEZE)
+#else
+            test_ti_thread_flag(task_thread_info(current), TIF_FREEZE)
+#endif
 #endif
 #endif
            )
index b0816bb9ae9f45cb85860b0ed4d0598c52b870cd..0d66fbb1f28282b7f7481786b01fe2e496774c2f 100644 (file)
@@ -15,7 +15,7 @@
 #include "afs/param.h"
 
 RCSID
-    ("$Header: /cvs/openafs/src/afs/LINUX/osi_syscall.c,v 1.1.2.8 2006/12/01 18:49:28 shadow Exp $");
+    ("$Header: /cvs/openafs/src/afs/LINUX/osi_syscall.c,v 1.1.2.9 2007/03/27 03:22:25 shadow Exp $");
 
 #ifdef AFS_LINUX24_ENV
 #include <linux/module.h> /* early to avoid printf->printk mapping */
@@ -56,9 +56,9 @@ RCSID
 
 #if defined(AFS_S390X_LINUX24_ENV) 
 #define INSERT_SYSCALL(SLOT, TMPPAGE, FUNC) \
-       if (POINTER2SYSCALL FUNC > 0x7fffffff) { \
+       if (SYSCALL2POINTER FUNC > 0x7fffffff) { \
            TMPPAGE = kmalloc ( PAGE_SIZE, GFP_DMA|GFP_KERNEL );        \
-           if (POINTER2SYSCALL TMPPAGE > 0x7fffffff) { \
+           if (SYSCALL2POINTER TMPPAGE > 0x7fffffff) { \
                printf("Cannot allocate page for FUNC syscall jump vector\n"); \
                return EINVAL; \
            } \
index 580a10e0b311b10cd89ab68240699c0971fced9d..56c0bcb8c5c9e1ba8bc6eff05a7a97671704b350 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * osi_sysctl.c: Linux sysctl interface to OpenAFS
  *
- * $Id: osi_sysctl.c,v 1.7.2.4 2007/02/22 21:49:01 shadow Exp $
+ * $Id: osi_sysctl.c,v 1.7.2.5 2007/06/12 18:28:49 shadow Exp $
  *
  * Written Jan 30, 2002 by Kris Van Hees (Sine Nomine Associates)
  */
@@ -27,35 +27,64 @@ extern afs_int32 hm_retry_int;
 static struct ctl_table_header *afs_sysctl = NULL;
 
 static ctl_table afs_sysctl_table[] = {
-    {1, "hm_retry_RO",
-     &hm_retry_RO, sizeof(afs_int32), 0644, NULL,
-     &proc_dointvec}
-    ,
-    {2, "hm_retry_RW",
-     &hm_retry_RW, sizeof(afs_int32), 0644, NULL,
-     &proc_dointvec}
-    ,
-    {3, "hm_retry_int",
-     &hm_retry_int, sizeof(afs_int32), 0644, NULL,
-     &proc_dointvec}
-    ,
-    {4, "GCPAGs",
-     &afs_gcpags, sizeof(afs_int32), 0644, NULL,
-     &proc_dointvec}
-    ,
-    {5, "rx_deadtime",
-     &afs_rx_deadtime, sizeof(afs_int32), 0644, NULL,
-     &proc_dointvec}
-    ,
-    {6, "bkVolPref",
-     &afs_bkvolpref, sizeof(afs_int32), 0644, NULL,
-     &proc_dointvec}
-    ,
+    {
+       .ctl_name       = 1, 
+       .procname       = "hm_retry_RO",
+       .data           = &hm_retry_RO, 
+       .maxlen         = sizeof(afs_int32), 
+       .mode           = 0644,
+       .proc_handler   = &proc_dointvec
+    },
+    {
+        .ctl_name      = 2, 
+        .procname      = "hm_retry_RW",
+        .data          = &hm_retry_RW,
+       .maxlen         = sizeof(afs_int32), 
+       .mode           = 0644,
+       .proc_handler   = &proc_dointvec
+    },
+    {
+       .ctl_name       = 3, 
+       .procname       = "hm_retry_int",
+       .data           = &hm_retry_int, 
+       .maxlen         = sizeof(afs_int32), 
+       .mode           = 0644,
+       .proc_handler   = &proc_dointvec
+    },
+    {
+       .ctl_name       = 4, 
+       .procname       = "GCPAGs",
+       .data           = &afs_gcpags, 
+       .maxlen         = sizeof(afs_int32), 
+       .mode           = 0644,
+       .proc_handler   = &proc_dointvec
+    },
+    {
+       .ctl_name       = 5, 
+       .procname       = "rx_deadtime",
+       .data           = &afs_rx_deadtime, 
+       .maxlen         = sizeof(afs_int32), 
+       .mode           = 0644,
+       .proc_handler   = &proc_dointvec
+    },
+    {
+       .ctl_name       = 6, 
+       .procname       = "bkVolPref",
+       .data           = &afs_bkvolpref, 
+       .maxlen         = sizeof(afs_int32), 
+       .mode           = 0644,
+       .proc_handler   = &proc_dointvec
+    },
     {0}
 };
 
 static ctl_table fs_sysctl_table[] = {
-    {1, "afs", NULL, 0, 0555, afs_sysctl_table},
+    {
+       .ctl_name       = 1, 
+       .procname       = "afs", 
+       .mode           = 0555, 
+       .child          = afs_sysctl_table
+    },
     {0}
 };
 
index b9ad8d2f63951fcf7e783c4a32353259696db54a..421637ba2c949fc6a5833bf1c732ab4fd500a6ee 100644 (file)
@@ -16,7 +16,7 @@
 #include "afs/param.h"
 
 RCSID
-    ("$Header: /cvs/openafs/src/afs/LINUX/osi_vfsops.c,v 1.29.2.23 2007/02/09 01:25:48 shadow Exp $");
+    ("$Header: /cvs/openafs/src/afs/LINUX/osi_vfsops.c,v 1.29.2.26 2007/10/15 12:42:26 shadow Exp $");
 
 #define __NO_VERSION__         /* don't define kernel_version in module.h */
 #include <linux/module.h> /* early to avoid printf->printk mapping */
@@ -263,7 +263,11 @@ afs_notify_change(struct dentry *dp, struct iattr *iattrp)
 
 
 #if defined(STRUCT_SUPER_HAS_ALLOC_INODE)
+#if defined(HAVE_KMEM_CACHE_T)
 static kmem_cache_t *afs_inode_cachep;
+#else
+struct kmem_cache *afs_inode_cachep;
+#endif
 
 static struct inode *
 afs_alloc_inode(struct super_block *sb)
@@ -288,12 +292,18 @@ afs_destroy_inode(struct inode *inode)
 }
 
 static void
+#if defined(HAVE_KMEM_CACHE_T)
 init_once(void * foo, kmem_cache_t * cachep, unsigned long flags)
+#else
+init_once(void * foo, struct kmem_cache * cachep, unsigned long flags)
+#endif
 {
     struct vcache *vcp = (struct vcache *) foo;
 
+#if defined(SLAB_CTOR_VERIFY)
     if ((flags & (SLAB_CTOR_VERIFY|SLAB_CTOR_CONSTRUCTOR)) ==
        SLAB_CTOR_CONSTRUCTOR)
+#endif
        inode_init_once(AFSTOV(vcp));
 }
 
@@ -304,10 +314,17 @@ afs_init_inodecache(void)
 #define SLAB_RECLAIM_ACCOUNT 0
 #endif
 
+#if defined(KMEM_CACHE_TAKES_DTOR)
     afs_inode_cachep = kmem_cache_create("afs_inode_cache",
                                         sizeof(struct vcache),
                                         0, SLAB_HWCACHE_ALIGN | SLAB_RECLAIM_ACCOUNT,
                                         init_once, NULL);
+#else
+    afs_inode_cachep = kmem_cache_create("afs_inode_cache",
+                                        sizeof(struct vcache),
+                                        0, SLAB_HWCACHE_ALIGN | SLAB_RECLAIM_ACCOUNT,
+                                        init_once);
+#endif
     if (afs_inode_cachep == NULL)
        return -ENOMEM;
     return 0;
@@ -316,7 +333,8 @@ afs_init_inodecache(void)
 void
 afs_destroy_inodecache(void)
 {
-    (void) kmem_cache_destroy(afs_inode_cachep);
+    if (afs_inode_cachep)
+       (void) kmem_cache_destroy(afs_inode_cachep);
 }
 #else
 int
index 7c761b61746110a7f39ef0428a200701c7f45777..982a3cc179b5b6bafc4bd4b749075e6f774fc2fe 100644 (file)
@@ -22,7 +22,7 @@
 #include "afs/param.h"
 
 RCSID
-    ("$Header: /cvs/openafs/src/afs/LINUX/osi_vnodeops.c,v 1.81.2.51 2007/02/20 18:06:24 shadow Exp $");
+    ("$Header: /cvs/openafs/src/afs/LINUX/osi_vnodeops.c,v 1.81.2.57 2007/10/15 12:42:26 shadow Exp $");
 
 #include "afs/sysincludes.h"
 #include "afsincludes.h"
@@ -473,11 +473,11 @@ afs_linux_lock(struct file *fp, int cmd, struct file_lock *flp)
 #ifdef AFS_LINUX24_ENV
     if ((code == 0 || flp->fl_type == F_UNLCK) && 
         (cmd == F_SETLK || cmd == F_SETLKW)) {
-#ifdef AFS_LINUX26_ENV
+#ifdef POSIX_LOCK_FILE_WAIT_ARG
+       code = posix_lock_file(fp, flp, 0);
+#else
        flp->fl_flags &=~ FL_SLEEP;
        code = posix_lock_file(fp, flp);
-#else
-       code = posix_lock_file(fp, flp, 0);
 #endif 
        if (code && flp->fl_type != F_UNLCK) {
            struct AFS_FLOCK flock2;
@@ -557,7 +557,11 @@ afs_linux_flock(struct file *fp, int cmd, struct file_lock *flp) {
  * afs_StoreAllSegments() with AFS_LASTSTORE
  */
 static int
+#if defined(FOP_FLUSH_TAKES_FL_OWNER_T)
+afs_linux_flush(struct file *fp, fl_owner_t id)
+#else
 afs_linux_flush(struct file *fp)
+#endif
 {
     struct vrequest treq;
     struct vcache *vcp = VTOAFS(FILE_INODE(fp));
@@ -636,7 +640,7 @@ struct file_operations afs_file_fops = {
   .mmap =      afs_linux_mmap,
   .open =      afs_linux_open,
   .flush =     afs_linux_flush,
-#ifdef AFS_LINUX26_ENV
+#if defined(AFS_LINUX26_ENV) && defined(STRUCT_FILE_OPERATIONS_HAS_SENDFILE)
   .sendfile =   generic_file_sendfile,
 #endif
   .release =   afs_linux_release,
@@ -1091,6 +1095,8 @@ afs_linux_unlink(struct inode *dip, struct dentry *dp)
             }
             tvc->uncred = credp;
            tvc->states |= CUnlinked;
+       } else {
+           osi_FreeSmallSpace(__name); 
        }
        AFS_GUNLOCK();
 
@@ -1279,7 +1285,7 @@ afs_linux_ireadlink(struct inode *ip, char *target, int maxlen, uio_seg_t seg)
        return -code;
 }
 
-#if !defined(AFS_LINUX24_ENV)
+#if !defined(USABLE_KERNEL_PAGE_SYMLINK_CACHE)
 /* afs_linux_readlink 
  * Fill target (which is in user space) with contents of symlink.
  */
@@ -1299,6 +1305,36 @@ afs_linux_readlink(struct dentry *dp, char *target, int maxlen)
 /* afs_linux_follow_link
  * a file system dependent link following routine.
  */
+#if defined(AFS_LINUX24_ENV)
+static int afs_linux_follow_link(struct dentry *dentry, struct nameidata *nd)
+{
+    int code;
+    char *name;
+
+    name = osi_Alloc(PATH_MAX);
+    if (!name) {
+       return -EIO;
+    }
+
+    AFS_GLOCK();
+    code = afs_linux_ireadlink(dentry->d_inode, name, PATH_MAX - 1, AFS_UIOSYS);
+    AFS_GUNLOCK();
+
+    if (code < 0) {
+       goto out;
+    }
+
+    name[code] = '\0';
+    code = vfs_follow_link(nd, name);
+
+out:
+    osi_Free(name, PATH_MAX);
+
+    return code;
+}
+
+#else /* !defined(AFS_LINUX24_ENV) */
+
 static struct dentry *
 afs_linux_follow_link(struct dentry *dp, struct dentry *basep,
                      unsigned int follow)
@@ -1332,7 +1368,8 @@ afs_linux_follow_link(struct dentry *dp, struct dentry *basep,
     AFS_GUNLOCK();
     return res;
 }
-#endif
+#endif /* AFS_LINUX24_ENV */
+#endif /* USABLE_KERNEL_PAGE_SYMLINK_CACHE */
 
 /* afs_linux_readpage
  * all reads come through here. A strategy-like read call.
@@ -1697,7 +1734,7 @@ static struct inode_operations afs_dir_iops = {
 /* We really need a separate symlink set of ops, since do_follow_link()
  * determines if it _is_ a link by checking if the follow_link op is set.
  */
-#if defined(AFS_LINUX24_ENV)
+#if defined(USABLE_KERNEL_PAGE_SYMLINK_CACHE)
 static int
 afs_symlink_filler(struct file *file, struct page *page)
 {
@@ -1732,10 +1769,10 @@ afs_symlink_filler(struct file *file, struct page *page)
 static struct address_space_operations afs_symlink_aops = {
   .readpage =  afs_symlink_filler
 };
-#endif
+#endif /* USABLE_KERNEL_PAGE_SYMLINK_CACHE */
 
 static struct inode_operations afs_symlink_iops = {
-#if defined(AFS_LINUX24_ENV)
+#if defined(USABLE_KERNEL_PAGE_SYMLINK_CACHE)
   .readlink =          page_readlink,
 #if defined(HAVE_KERNEL_PAGE_FOLLOW_LINK)
   .follow_link =       page_follow_link,
@@ -1743,13 +1780,17 @@ static struct inode_operations afs_symlink_iops = {
   .follow_link =       page_follow_link_light,
   .put_link =           page_put_link,
 #endif
-  .setattr =           afs_notify_change,
-#else
+#else /* !defined(USABLE_KERNEL_PAGE_SYMLINK_CACHE) */
   .readlink =          afs_linux_readlink,
   .follow_link =       afs_linux_follow_link,
+#if !defined(AFS_LINUX24_ENV)
   .permission =                afs_linux_permission,
   .revalidate =                afs_linux_revalidate,
 #endif
+#endif /* USABLE_KERNEL_PAGE_SYMLINK_CACHE */
+#if defined(AFS_LINUX24_ENV)
+  .setattr =           afs_notify_change,
+#endif
 };
 
 void
@@ -1775,7 +1816,7 @@ afs_fill_inode(struct inode *ip, struct vattr *vattr)
 
     } else if (S_ISLNK(ip->i_mode)) {
        ip->i_op = &afs_symlink_iops;
-#if defined(AFS_LINUX24_ENV)
+#if defined(USABLE_KERNEL_PAGE_SYMLINK_CACHE)
        ip->i_data.a_ops = &afs_symlink_aops;
        ip->i_mapping = &ip->i_data;
 #endif
index c03c8b90ca4fa08bd7c965513c0b32f22ad14a3e..9293c1185a72a2c3c804d0c66d186a3dc0630145 100644 (file)
@@ -137,7 +137,7 @@ dest:   ${DEST}/include/afs/afs.h ${DEST}/include/afs/osi_inode.h ${DEST}/includ
                        ${INSTALL} longc_procs.h ${DEST}/include/afs ;; \
        esac
        case ${SYS_NAME} in \
-               next_mach30 | vax_ul43 | *_darwin* | i386_fbsd* ) \
+               i386_fbsd* ) \
                        echo skipping afszcm.cat install for ${SYS_NAME} ;; \
                * ) \
                        ${INSTALL} afszcm.cat ${DEST}/root.client/usr/vice/etc/C ;; \
index 744dbab0bc4e5dceaa8694404af2db60b7c3f6bc..fe50f501cb661a88cf996a914f10629954a750e0 100644 (file)
@@ -104,4 +104,23 @@ extern kmutex_t afs_global_lock;
 #define AfsLargeFileSize(pos, off) ( ((offset_t)(pos)+(offset_t)(off) > (offset_t)0x7fffffff)?1:0)
 #endif
 
+#if defined(AFS_SUN510_ENV)
+#include "h/sunddi.h"
+extern ddi_taskq_t *afs_taskq;
+extern krwlock_t afsifinfo_lock;
+
+/* this should be in rx/SOLARIS/rx_knet.c accessed via accessor functions,
+   eventually */
+#include "net/if.h"
+/* Global interface info struct */
+struct afs_ifinfo {
+  char        ifname[LIFNAMSIZ];
+  ipaddr_t    ipaddr;
+  ipaddr_t    netmask;
+  uint_t      mtu;
+  uint64_t    flags;
+  int         metric;
+  ipaddr_t    dstaddr;
+};
+#endif
 #endif /* _OSI_MACHDEP_H_ */
index 6ff9ede78cbdf884a9ac3088f443c3f541a2bdf2..f5f6b5df49afd772ded0cb95238a280616a0bc2b 100644 (file)
@@ -268,6 +268,9 @@ enum { AFS_GCPAGS_NOTCOMPILED = 0, AFS_GCPAGS_OK =
 extern afs_int32 afs_gcpags;
 extern afs_int32 afs_gcpags_procsize;
 extern afs_int32 afs_bkvolpref;
+extern char afs_cachebasedir[1024];
+extern afs_int32 afs_numcachefiles;
+extern afs_int32 afs_numfilesperdir;
 
 struct unixuser {
     struct unixuser *next;     /* next hash pointer */
index f2fd255477631099171879b5628d1eed1e5de9cb..d9ead8b15fb46fa92808fa4321e59650a98a55df 100644 (file)
@@ -11,7 +11,7 @@
 #include "afs/param.h"
 
 RCSID
-    ("$Header: /cvs/openafs/src/afs/afs_call.c,v 1.74.2.17 2007/02/09 01:07:54 shadow Exp $");
+    ("$Header: /cvs/openafs/src/afs/afs_call.c,v 1.74.2.23 2007/10/10 16:57:54 shadow Exp $");
 
 #include "afs/sysincludes.h"   /* Standard vendor system headers */
 #include "afsincludes.h"       /* Afs-based standard headers */
@@ -29,7 +29,10 @@ RCSID
 #ifdef AFS_LINUX22_ENV
 #include "h/smp_lock.h"
 #endif
-
+#ifdef AFS_SUN510_ENV
+#include "h/ksynch.h"
+#include "h/sunddi.h"
+#endif
 
 #if defined(AFS_SUN5_ENV) || defined(AFS_AIX_ENV) || defined(AFS_SGI_ENV) || defined(AFS_HPUX_ENV)
 #define        AFS_MINBUFFERS  100
@@ -84,6 +87,11 @@ thread_t afs_global_owner;
 simple_lock_data afs_global_lock;
 #endif
 
+#ifdef AFS_SUN510_ENV
+ddi_taskq_t *afs_taskq;
+krwlock_t afsifinfo_lock;
+#endif
+
 afs_int32 afs_initState = 0;
 afs_int32 afs_termState = 0;
 afs_int32 afs_setTime = 0;
@@ -96,6 +104,9 @@ static int afs_Go_Done = 0;
 extern struct interfaceAddr afs_cb_interface;
 static int afs_RX_Running = 0;
 static int afs_InitSetup_done = 0;
+afs_int32 afs_numcachefiles = -1;
+afs_int32 afs_numfilesperdir = -1;
+char afs_cachebasedir[1024];
 
 afs_int32 afs_rx_deadtime = AFS_RXDEADTIME;
 afs_int32 afs_rx_harddead = AFS_HARDDEADTIME;
@@ -121,6 +132,16 @@ afs_InitSetup(int preallocs)
     if (afs_InitSetup_done)
        return EAGAIN;
 
+#ifdef AFS_SUN510_ENV
+    /* Initialize a RW lock for the ifinfo global array */
+    rw_init(&afsifinfo_lock, NULL, RW_DRIVER, NULL);
+
+    /* Create a taskq */
+    afs_taskq = ddi_taskq_create(NULL, "afs_taskq", 2, TASKQ_DEFAULTPRI, 0);
+
+    osi_StartNetIfPoller();
+#endif
+
 #ifndef AFS_NOSTATS
     /*
      * Set up all the AFS statistics variables.  This should be done
@@ -484,6 +505,17 @@ afs_DaemonOp(long parm, long parm2, long parm3, long parm4, long parm5,
 }
 #endif
 
+static void
+wait_for_cachedefs(void) {
+#ifdef AFS_CACHE_VNODE_PATH
+    while ((afs_numcachefiles < 1) || (afs_numfilesperdir < 1) ||
+          (afs_cachebasedir[0] != '/')) {
+       printf("afs: waiting for cache parameter definitions\n");
+       afs_osi_Sleep(&afs_initState);
+    }
+#endif
+}
+
 /* leaving as is, probably will barf if we add prototypes here since it's likely being called
 with partial list */
 int
@@ -498,26 +530,27 @@ afs_syscall_call(parm, parm2, parm3, parm4, parm5, parm6)
 #endif /* AFS_SGI61_ENV */
 
     AFS_STATCNT(afs_syscall_call);
+    if (
 #ifdef AFS_SUN5_ENV
-    if (!afs_suser(CRED()) && (parm != AFSOP_GETMTU)
-       && (parm != AFSOP_GETMASK)) {
-       /* only root can run this code */
-       return (EACCES);
+       !afs_suser(CRED())
 #else
-    if (!afs_suser(NULL) && (parm != AFSOP_GETMTU)
-       && (parm != AFSOP_GETMASK)) {
+       !afs_suser(NULL)
+#endif
+                   && (parm != AFSOP_GETMTU) && (parm != AFSOP_GETMASK)) {
        /* only root can run this code */
+#if defined(AFS_OSF_ENV) || defined(AFS_SUN5_ENV) || defined(KERNEL_HAVE_UERROR)
 #if defined(KERNEL_HAVE_UERROR)
-       setuerror(EACCES);
-       return (EACCES);
+        setuerror(EACCES);
+#endif
+       code = EACCES;
 #else
-#if defined(AFS_OSF_ENV)
-       return EACCES;
-#else /* AFS_OSF_ENV */
-       return EPERM;
-#endif /* AFS_OSF_ENV */
+       code = EPERM;
 #endif
+       AFS_GLOCK();
+#ifdef AFS_DARWIN80_ENV
+       put_vfs_context();
 #endif
+       goto out;
     }
     AFS_GLOCK();
 #ifdef AFS_DARWIN80_ENV
@@ -792,7 +825,7 @@ afs_syscall_call(parm, parm2, parm3, parm4, parm5, parm6)
            afs_osi_Sleep(&afs_initState);
 
 #ifdef AFS_DARWIN80_ENV
-    get_vfs_context();
+       get_vfs_context();
 #endif
        /* do it by inode */
 #ifdef AFS_SGI62_ENV
@@ -800,8 +833,14 @@ afs_syscall_call(parm, parm2, parm3, parm4, parm5, parm6)
 #endif
        code = afs_InitCacheFile(NULL, ainode);
 #ifdef AFS_DARWIN80_ENV
-    put_vfs_context();
+       put_vfs_context();
 #endif
+    } else if (parm == AFSOP_CACHEDIRS) {
+       afs_numfilesperdir = parm2;
+       afs_osi_Wakeup(&afs_initState);
+    } else if (parm == AFSOP_CACHEFILES) {
+       afs_numcachefiles = parm2;
+       afs_osi_Wakeup(&afs_initState);
     } else if (parm == AFSOP_ROOTVOLUME) {
        /* wait for basic init */
        while (afs_initState < AFSOP_START_BKG)
@@ -815,7 +854,7 @@ afs_syscall_call(parm, parm2, parm3, parm4, parm5, parm6)
            code = 0;
     } else if (parm == AFSOP_CACHEFILE || parm == AFSOP_CACHEINFO
               || parm == AFSOP_VOLUMEINFO || parm == AFSOP_AFSLOG
-              || parm == AFSOP_CELLINFO) {
+              || parm == AFSOP_CELLINFO || parm == AFSOP_CACHEBASEDIR) {
        char *tbuffer = osi_AllocSmallSpace(AFS_SMALLOCSIZ);
 
        code = 0;
@@ -829,22 +868,49 @@ afs_syscall_call(parm, parm2, parm3, parm4, parm5, parm6)
            tbuffer[AFS_SMALLOCSIZ - 1] = '\0'; /* null-terminate the name */
            /* We have the cache dir copied in.  Call the cache init routine */
 #ifdef AFS_DARWIN80_ENV
-    get_vfs_context();
-#endif
-           if (parm == AFSOP_CACHEFILE)
+           get_vfs_context();
+#endif
+           if (parm == AFSOP_CACHEBASEDIR) {
+               strncpy(afs_cachebasedir, tbuffer, 1024);
+               afs_cachebasedir[1023] = '\0';
+               afs_osi_Wakeup(&afs_initState);
+           } else if (parm == AFSOP_CACHEFILE) {
+               wait_for_cachedefs();
                code = afs_InitCacheFile(tbuffer, 0);
-           else if (parm == AFSOP_CACHEINFO)
+           } else if (parm == AFSOP_CACHEINFO) {
+               wait_for_cachedefs();
                code = afs_InitCacheInfo(tbuffer);
-           else if (parm == AFSOP_VOLUMEINFO)
+           } else if (parm == AFSOP_VOLUMEINFO) {
+               wait_for_cachedefs();
                code = afs_InitVolumeInfo(tbuffer);
-           else if (parm == AFSOP_CELLINFO)
+           } else if (parm == AFSOP_CELLINFO) {
+               wait_for_cachedefs();
                code = afs_InitCellInfo(tbuffer);
+           }
 #ifdef AFS_DARWIN80_ENV
-    put_vfs_context();
+           put_vfs_context();
 #endif
        }
        osi_FreeSmallSpace(tbuffer);
     } else if (parm == AFSOP_GO) {
+#ifdef AFS_CACHE_VNODE_PATH
+       afs_int32 dummy;
+
+       wait_for_cachedefs();
+
+#ifdef AFS_DARWIN80_ENV
+       get_vfs_context();
+#endif
+       if ((afs_numcachefiles > 0) && (afs_numfilesperdir > 0) && 
+           (afs_cachebasedir[0] == '/')) {
+           for (dummy = 0; dummy < afs_numcachefiles; dummy++) {
+               code = afs_InitCacheFile(NULL, dummy);
+           }
+       }
+#ifdef AFS_DARWIN80_ENV
+       put_vfs_context();
+#endif
+#endif
        /* the generic initialization calls come here.  One parameter: should we do the
         * set-time operation on this workstation */
        if (afs_Go_Done)
@@ -858,6 +924,7 @@ afs_syscall_call(parm, parm2, parm3, parm4, parm5, parm6)
 #if    (!defined(AFS_NONFSTRANS)) || defined(AFS_AIX_IAUTH_ENV)
        afs_nfsclient_init();
 #endif
+       afs_uuid_create(&afs_cb_interface.uuid);
        printf("found %d non-empty cache files (%d%%).\n",
               afs_stats_cmperf.cacheFilesReused,
               (100 * afs_stats_cmperf.cacheFilesReused) /
@@ -866,6 +933,8 @@ afs_syscall_call(parm, parm2, parm3, parm4, parm5, parm6)
     } else if (parm == AFSOP_ADVISEADDR) {
        /* pass in the host address to the rx package */
        int rxbind = 0;
+       int refresh = 0;
+
        afs_int32 count = parm2;
        afs_int32 *buffer =
            afs_osi_Alloc(sizeof(afs_int32) * AFS_MAX_INTERFACE_ADDR);
@@ -875,6 +944,14 @@ afs_syscall_call(parm, parm2, parm3, parm4, parm5, parm6)
            afs_osi_Alloc(sizeof(afs_int32) * AFS_MAX_INTERFACE_ADDR);
        int i;
 
+       /* This is a refresh */
+       if (count & 0x40000000) {
+           count &= ~0x40000000;
+           /* Can't bind after we start. Fix? */
+           count &= ~0x80000000;
+           refresh = 1;
+       }
+
        /* Bind, but only if there's only one address configured */ 
        if ( count & 0x80000000) {
            count &= ~0x80000000;
@@ -914,16 +991,22 @@ afs_syscall_call(parm, parm2, parm3, parm4, parm5, parm6)
            afs_cb_interface.mtu[i] = (parm5 ? mtubuffer[i] : htonl(1500));
 #endif
        }
-       afs_uuid_create(&afs_cb_interface.uuid);
        rxi_setaddr(buffer[0]);
-       if (rxbind)
-           rx_bindhost = buffer[0];
-       else
-           rx_bindhost = htonl(INADDR_ANY);
+       if (!refresh) {
+           if (rxbind)
+               rx_bindhost = buffer[0];
+           else
+               rx_bindhost = htonl(INADDR_ANY);
+       }
 
        afs_osi_Free(buffer, sizeof(afs_int32) * AFS_MAX_INTERFACE_ADDR);
        afs_osi_Free(maskbuffer, sizeof(afs_int32) * AFS_MAX_INTERFACE_ADDR);
        afs_osi_Free(mtubuffer, sizeof(afs_int32) * AFS_MAX_INTERFACE_ADDR);
+
+       if (refresh) {
+           afs_CheckServers(1, NULL);     /* check down servers */
+           afs_CheckServers(0, NULL);     /* check down servers */
+       }
     }
 #ifdef AFS_SGI53_ENV
     else if (parm == AFSOP_NFSSTATICADDR) {
@@ -1072,9 +1155,6 @@ afs_syscall_call(parm, parm2, parm3, parm4, parm5, parm6)
        code = EINVAL;
 
   out:
-#ifdef AFS_DARWIN80_ENV /* to balance the put in afs3_syscall() */
-    get_vfs_context();
-#endif
     AFS_GUNLOCK();
 #ifdef AFS_LINUX20_ENV
     return -code;
@@ -1658,7 +1738,8 @@ Afs_syscall()
     }
 
 #if defined(AFS_DARWIN80_ENV)
-    put_vfs_context();
+    if (uap->syscall != AFSCALL_CALL)
+       put_vfs_context();
 #endif
 #ifdef AFS_LINUX20_ENV
     code = -code;
index 564c0be2e10ce13757a9ffdb0ea2f21db946fa3a..085cf0594222d7ce03b7563b9be4b97ba016873f 100644 (file)
@@ -14,7 +14,7 @@
 #include "afs/param.h"
 
 RCSID
-    ("$Header: /cvs/openafs/src/afs/afs_cell.c,v 1.30.2.3 2005/09/23 14:56:26 shadow Exp $");
+    ("$Header: /cvs/openafs/src/afs/afs_cell.c,v 1.30.2.4 2007/03/20 00:52:20 shadow Exp $");
 
 #include "afs/stds.h"
 #include "afs/sysincludes.h"   /* Standard vendor system headers */
index 0f1bc1ef7451f02be1f6baa16c6430c920f325d5..b016dd4a8a2f1b14d92bdf6a1467349847c6d793 100644 (file)
@@ -14,7 +14,7 @@
 #include "afs/param.h"
 
 RCSID
-    ("$Header: /cvs/openafs/src/afs/afs_dcache.c,v 1.42.2.20 2006/11/10 00:16:29 shadow Exp $");
+    ("$Header: /cvs/openafs/src/afs/afs_dcache.c,v 1.42.2.22 2007/08/20 17:53:15 shadow Exp $");
 
 #include "afs/sysincludes.h"   /*Standard vendor system headers */
 #include "afsincludes.h"       /*AFS-based standard headers */
@@ -1201,14 +1201,14 @@ afs_FindDCache(register struct vcache *avc, afs_size_t abyte)
        }
        index = afs_dcnextTbl[index];
     }
-    MReleaseWriteLock(&afs_xdcache);
     if (index != NULLIDX) {
        hset(afs_indexTimes[tdc->index], afs_indexCounter);
        hadd32(afs_indexCounter, 1);
+       MReleaseWriteLock(&afs_xdcache);
        return tdc;
-    } else
-       return NULL;
-
+    } 
+    MReleaseWriteLock(&afs_xdcache);
+    return NULL;
 }                              /*afs_FindDCache */
 
 
@@ -2382,17 +2382,19 @@ afs_GetDCache(register struct vcache *avc, afs_size_t abyte,
            }
            ReleaseWriteLock(&tdc->lock);
            afs_PutDCache(tdc);
-           ObtainWriteLock(&afs_xcbhash, 454);
-           afs_DequeueCallback(avc);
-           avc->states &= ~(CStatd | CUnique);
-           ReleaseWriteLock(&afs_xcbhash);
-           if (avc->fid.Fid.Vnode & 1 || (vType(avc) == VDIR))
-               osi_dnlc_purgedp(avc);
-           /*
-            * Locks held:
-            * avc->lock(W); assert(!setLocks || slowPass)
-            */
-           osi_Assert(!setLocks || slowPass);
+           if (!afs_IsDynroot(avc)) {
+               ObtainWriteLock(&afs_xcbhash, 454);
+               afs_DequeueCallback(avc);
+               avc->states &= ~(CStatd | CUnique);
+               ReleaseWriteLock(&afs_xcbhash);
+               if (avc->fid.Fid.Vnode & 1 || (vType(avc) == VDIR))
+                   osi_dnlc_purgedp(avc);
+               /*
+                * Locks held:
+                * avc->lock(W); assert(!setLocks || slowPass)
+                */
+               osi_Assert(!setLocks || slowPass);
+           }
            tdc = NULL;
            goto done;
        }
index b5e50cfea012694738f5fdd80c6a43cafe73ce3a..03217c5c6314bf5fe4b9df4d89726e5663026275 100644 (file)
@@ -17,7 +17,7 @@
 #include "afs/param.h"
 
 RCSID
-    ("$Header: /cvs/openafs/src/afs/afs_init.c,v 1.28.2.5 2005/10/05 05:58:27 shadow Exp $");
+    ("$Header: /cvs/openafs/src/afs/afs_init.c,v 1.28.2.7 2007/10/10 17:43:35 shadow Exp $");
 
 #include "afs/stds.h"
 #include "afs/sysincludes.h"   /* Standard vendor system headers */
@@ -244,8 +244,12 @@ afs_InitCellInfo(char *afile)
     ino_t inode;
     int code;
 
+#ifdef AFS_CACHE_VNODE_PATH
+    return afs_cellname_init(AFS_CACHE_CELLS_INODE, code);
+#else
     code = LookupInodeByPath(afile, &inode, NULL);
     return afs_cellname_init(inode, code);
+#endif
 }
 
 /*
@@ -286,6 +290,8 @@ afs_InitVolumeInfo(char *afile)
      * it in the cache...
      */
     code = LookupInodeByPath(afile, &volumeInode, &volumeVnode);
+#elif defined(AFS_CACHE_VNODE_PATH)
+    volumeInode = AFS_CACHE_VOLUME_INODE;
 #else
     code = LookupInodeByPath(afile, &volumeInode, NULL);
 #endif
@@ -416,11 +422,15 @@ afs_InitCacheInfo(register char *afile)
 #if defined(AFS_SGI62_ENV) || defined(AFS_HAVE_VXFS) || defined(AFS_DARWIN_ENV)
     afs_InitDualFSCacheOps(filevp);
 #endif
-    cacheInode = afs_vnodeToInumber(filevp);
-    cacheDev.dev = afs_vnodeToDev(filevp);
+#ifndef AFS_CACHE_VNODE_PATH
 #ifndef AFS_DARWIN80_ENV
     afs_cacheVfsp = filevp->v_vfsp;
 #endif
+    cacheInode = afs_vnodeToInumber(filevp);
+#else
+    cacheInode = AFS_CACHE_ITEMS_INODE;
+#endif
+    cacheDev.dev = afs_vnodeToDev(filevp);
 #endif /* AFS_LINUX20_ENV */
     AFS_RELE(filevp);
 #endif /* AFS_LINUX22_ENV */
index db3c2bfeefec76b1218cf2135b71d99a4772556b..e5663a854e344d4cdcb6f2289a89bd81cd416342 100644 (file)
@@ -11,7 +11,7 @@
 #include "afs/param.h"
 
 RCSID
-    ("$Header: /cvs/openafs/src/afs/afs_memcache.c,v 1.15.2.5 2005/10/05 05:58:27 shadow Exp $");
+    ("$Header: /cvs/openafs/src/afs/afs_memcache.c,v 1.15.2.6 2007/06/23 15:31:11 shadow Exp $");
 
 #include "afs/sysincludes.h"   /* Standard vendor system headers */
 #ifndef AFS_LINUX22_ENV
@@ -247,6 +247,13 @@ afs_MemWritevBlk(register struct memCacheEntry *mceP, int offset,
        char *oldData = mceP->data;
 
        mceP->data = afs_osi_Alloc(size + offset);
+       if (mceP->data == NULL) {       /* no available memory */
+           mceP->data = oldData;       /* revert back change that was made */
+           MReleaseWriteLock(&mceP->afs_memLock);
+           afs_warn("afs: afs_MemWriteBlk mem alloc failure (%d bytes)\n",
+                    size + offset);
+           return -ENOMEM;
+       }
 
        /* may overlap, but this is OK */
        AFS_GUNLOCK();
@@ -285,6 +292,13 @@ afs_MemWriteUIO(ino_t blkno, struct uio *uioP)
        char *oldData = mceP->data;
 
        mceP->data = afs_osi_Alloc(AFS_UIO_RESID(uioP) + AFS_UIO_OFFSET(uioP));
+       if (mceP->data == NULL) {       /* no available memory */
+           mceP->data = oldData;       /* revert back change that was made */
+           MReleaseWriteLock(&mceP->afs_memLock);
+           afs_warn("afs: afs_MemWriteBlk mem alloc failure (%d bytes)\n",
+                    AFS_UIO_RESID(uioP) + AFS_UIO_OFFSET(uioP));
+           return -ENOMEM;
+       }
 
        AFS_GUNLOCK();
        memcpy(mceP->data, oldData, mceP->size);
@@ -314,9 +328,17 @@ afs_MemCacheTruncate(register struct osi_file *fP, int size)
     MObtainWriteLock(&mceP->afs_memLock, 313);
     /* old directory entry; g.c. */
     if (size == 0 && mceP->dataSize > memCacheBlkSize) {
-       afs_osi_Free(mceP->data, mceP->dataSize);
+       char *oldData = mceP->data;
        mceP->data = afs_osi_Alloc(memCacheBlkSize);
-       mceP->dataSize = memCacheBlkSize;
+       if (mceP->data == NULL) {       /* no available memory */
+           mceP->data = oldData;
+           MReleaseWriteLock(&mceP->afs_memLock);
+           afs_warn("afs: afs_MemWriteBlk mem alloc failure (%d bytes)\n",
+                    memCacheBlkSize);
+       } else {
+           afs_osi_Free(oldData, mceP->dataSize);
+           mceP->dataSize = memCacheBlkSize;
+       }
     }
 
     if (size < mceP->size)
index 95d4224297392b968b3279b2a6e3024c0017025c..203c273613244f2e2e80737d9042776aa79555aa 100644 (file)
@@ -11,7 +11,7 @@
 #include "afs/param.h"
 
 RCSID
-    ("$Header: /cvs/openafs/src/afs/afs_nfsclnt.c,v 1.12.2.2 2006/12/20 20:09:06 shadow Exp $");
+    ("$Header: /cvs/openafs/src/afs/afs_nfsclnt.c,v 1.12.2.3 2007/03/20 19:24:11 shadow Exp $");
 
 #if !defined(AFS_NONFSTRANS) || defined(AFS_AIX_IAUTH_ENV)
 #include "afs/sysincludes.h"   /* Standard vendor system headers */
@@ -314,11 +314,10 @@ afs_nfsclient_sysname(register struct nfsclientpag *np, char *inname,
 #endif
     AFS_STATCNT(afs_nfsclient_sysname);
     if (inname) {
-       if (np->sysname) {
            for(count=0; count < np->sysnamecount;++count) {
                afs_osi_Free(np->sysname[count], MAXSYSNAME);
+               np->sysname[count] = NULL;
            }
-       }
        for(count=0; count < *num;++count) {
            np->sysname[count]= afs_osi_Alloc(MAXSYSNAME);
        }
@@ -329,8 +328,6 @@ afs_nfsclient_sysname(register struct nfsclientpag *np, char *inname,
            cp += t+1;
        }
        np->sysnamecount = *num;
-    } else if (!np->sysname) {
-       return ENODEV;      /* XXX */
     }
     *outname = np->sysname;
     *num = np->sysnamecount;
@@ -346,6 +343,7 @@ afs_nfsclient_GC(exporter, pag)
 {
     register struct nfsclientpag *np, **tnp, *nnp;
     register afs_int32 i, delflag;
+       int count;
 
 #if defined(AFS_SGIMP_ENV)
     osi_Assert(ISAFS_GLOCK());
@@ -361,8 +359,9 @@ afs_nfsclient_GC(exporter, pag)
            if ((pag == -1) || (!pag && delflag)
                || (pag && (np->refCount == 0) && (np->pag == pag))) {
                *tnp = np->next;
-               if (np->sysname)
-                   afs_osi_Free(np->sysname, MAXSYSNAME);
+               for(count=0; count < np->sysnamecount;++count) {
+                       afs_osi_Free(np->sysname[count], MAXSYSNAME);
+               }
                afs_osi_Free(np, sizeof(struct nfsclientpag));
            } else {
                tnp = &np->next;
index 0d0ecde50b6f755b34e4fc2292565d1a295b1937..e290df37132776cdced49f3bb4b3de69ab42e237 100644 (file)
@@ -11,7 +11,7 @@
 #include "afs/param.h"
 
 RCSID
-    ("$Header: /cvs/openafs/src/afs/afs_osi.c,v 1.48.2.11 2007/02/09 01:30:32 shadow Exp $");
+    ("$Header: /cvs/openafs/src/afs/afs_osi.c,v 1.48.2.12 2007/04/03 18:57:06 shadow Exp $");
 
 #include "afs/sysincludes.h"   /* Standard vendor system headers */
 #include "afsincludes.h"       /* Afs-based standard headers */
@@ -807,6 +807,9 @@ afs_osi_TraverseProcTable(void)
 #endif
 
 #if defined(AFS_LINUX22_ENV)
+#ifdef EXPORTED_TASKLIST_LOCK
+extern rwlock_t tasklist_lock __attribute__((weak));
+#endif
 void
 afs_osi_TraverseProcTable()
 {
@@ -814,8 +817,6 @@ afs_osi_TraverseProcTable()
     struct task_struct *p;
 
 #ifdef EXPORTED_TASKLIST_LOCK
-    extern rwlock_t tasklist_lock __attribute__((weak));
-
     if (&tasklist_lock)
        read_lock(&tasklist_lock);
 #endif
index f4800d4af4e0935fd499e238382663b83fed04ca..454703cf65d7040bb7f0050c1a326253ea8eeb3f 100644 (file)
@@ -11,7 +11,7 @@
 #include "afs/param.h"
 
 RCSID
-    ("$Header: /cvs/openafs/src/afs/afs_pioctl.c,v 1.81.2.25 2006/03/02 06:44:05 shadow Exp $");
+    ("$Header: /cvs/openafs/src/afs/afs_pioctl.c,v 1.81.2.28 2007/08/22 02:15:33 shadow Exp $");
 
 #include "afs/sysincludes.h"   /* Standard vendor system headers */
 #ifdef AFS_OBSD_ENV
@@ -90,7 +90,7 @@ DECL_PIOCTL(PRxStatPeer);
 DECL_PIOCTL(PPrefetchFromTape);
 DECL_PIOCTL(PResidencyCmd);
 DECL_PIOCTL(PCallBackAddr);
-
+DECL_PIOCTL(PNewUuid);
 /*
  * A macro that says whether we're going to need HandleClientContext().
  * This is currently used only by the nfs translator.
@@ -192,6 +192,12 @@ static int (*(CpioctlSw[])) () = {
        PNewAlias,              /* 1 -- create new cell alias */
        PListAliases,           /* 2 -- list cell aliases */
        PCallBackAddr,          /* 3 -- request addr for callback rxcon */
+    PBogus,                    /* 0 */
+    PBogus,                    /* 0 */
+    PBogus,                    /* 0 */
+    PBogus,                    /* 0 */
+    PBogus,                    /* 0 */
+    PNewUuid,                   /* 9 -- generate new uuid */
 };
 
 #define PSetClientContext 99   /*  Special pioctl to setup caller's creds  */
@@ -3354,6 +3360,7 @@ HandleClientContext(struct afs_ioctl *ablob, int *com,
     struct afs_exporter *exporter, *outexporter;
     struct AFS_UCRED *newcred;
     struct unixuser *au;
+    afs_uint32 comp = *com & 0xff00;
 
 #if defined(AFS_SGIMP_ENV)
     osi_Assert(ISAFS_GLOCK());
@@ -3479,6 +3486,8 @@ HandleClientContext(struct afs_ioctl *ablob, int *com,
     } else if (!code) {
        EXP_RELE(outexporter);
     }
+    if (!code) 
+      *com = (*com) | comp;
     return code;
 }
 #endif /* AFS_NEED_CLIENTCONTEXT */
@@ -3830,6 +3839,21 @@ DECL_PIOCTL(PResidencyCmd)
     return code;
 }
 
+DECL_PIOCTL(PNewUuid)
+{
+    /*AFS_STATCNT(PNewUuid); */
+    if (!afs_resourceinit_flag)        /* afs deamons havn't started yet */
+       return EIO;             /* Inappropriate ioctl for device */
+
+    if (!afs_osi_suser(acred))
+       return EACCES;
+
+    ObtainWriteLock(&afs_xinterface, 555);
+    afs_uuid_create(&afs_cb_interface.uuid);
+    ReleaseWriteLock(&afs_xinterface);
+    ForceAllNewConnections();
+}
+
 DECL_PIOCTL(PCallBackAddr)
 {
 #ifndef UKERNEL
index 74d7c6c74efb62bcd04781473f5a21f6b5667081..8874d94e84094a7a62143b09f9bd2e7125707a93 100644 (file)
@@ -692,6 +692,7 @@ extern struct server *afs_GetServer(afs_uint32 * aserver, afs_int32 nservers,
                                    afs_int32 acell, u_short aport,
                                    afs_int32 locktype, afsUUID * uuidp,
                                    afs_int32 addr_uniquifier);
+extern void ForceAllNewConnections(void);
 extern void afs_MarkServerUpOrDown(struct srvAddr *sa, int a_isDown);
 extern void afs_ServerDown(struct srvAddr *sa);
 extern void afs_CountServers(void);
index 42cd8642091af3c0b7ed972b9b8effceccc015cd..acb376f6b8cbfe38255cf27aadbdb688b789e25f 100644 (file)
@@ -33,7 +33,7 @@
 #include "afs/param.h"
 
 RCSID
-    ("$Header: /cvs/openafs/src/afs/afs_server.c,v 1.33.2.8 2006/11/10 00:16:29 shadow Exp $");
+    ("$Header: /cvs/openafs/src/afs/afs_server.c,v 1.33.2.10 2007/10/05 02:54:08 shadow Exp $");
 
 #include "afs/stds.h"
 #include "afs/sysincludes.h"   /* Standard vendor system headers */
@@ -488,6 +488,42 @@ afs_CountServers(void)
 }                              /*afs_CountServers */
 
 
+void
+ForceAllNewConnections()
+{
+    int srvAddrCount;
+    struct srvAddr **addrs;
+    struct srvAddr *sa;
+    afs_int32 i, j;
+
+    ObtainReadLock(&afs_xserver);      /* Necessary? */
+    ObtainReadLock(&afs_xsrvAddr);
+
+    srvAddrCount = 0;
+    for (i = 0; i < NSERVERS; i++) {
+       for (sa = afs_srvAddrs[i]; sa; sa = sa->next_bkt) {
+           srvAddrCount++;
+       }
+    }
+
+    addrs = afs_osi_Alloc(srvAddrCount * sizeof(*addrs));
+    j = 0;
+    for (i = 0; i < NSERVERS; i++) {
+       for (sa = afs_srvAddrs[i]; sa; sa = sa->next_bkt) {
+           if (j >= srvAddrCount)
+               break;
+           addrs[j++] = sa;
+       }
+    }
+
+    ReleaseReadLock(&afs_xsrvAddr);
+    ReleaseReadLock(&afs_xserver);
+    for (i = 0; i < j; i++) {
+        sa = addrs[i];
+       ForceNewConnections(sa);
+    }
+}
+
 /* check down servers (if adown), or running servers (if !adown) */
 void
 afs_CheckServers(int adown, struct cell *acellp)
@@ -1237,23 +1273,74 @@ static int afs_SetServerPrefs(struct srvAddr *sa) {
 #else                          /* AFS_USERSPACE_IP_ADDR */
 #if    defined(AFS_SUN5_ENV)
 #ifdef AFS_SUN510_ENV
-    ill_walk_context_t ctx;
+    int i = 0;
 #else
     extern struct ill_s *ill_g_headp;
     long *addr = (long *)ill_g_headp;
-#endif
     ill_t *ill;
     ipif_t *ipif;
+#endif
     int subnet, subnetmask, net, netmask;
 
     if (sa)
          sa->sa_iprank = 0;
 #ifdef AFS_SUN510_ENV
-    for (ill = ILL_START_WALK_ALL(&ctx) ; ill ; ill = ill_next(&ctx, ill)) {
+    rw_enter(&afsifinfo_lock, RW_READER);
+
+    for (i = 0; (afsifinfo[i].ipaddr != NULL) && (i < ADDRSPERSITE); i++) {
+
+       if (IN_CLASSA(afsifinfo[i].ipaddr)) {
+           netmask = IN_CLASSA_NET;
+       } else if (IN_CLASSB(afsifinfo[i].ipaddr)) {
+           netmask = IN_CLASSB_NET;
+       } else if (IN_CLASSC(afsifinfo[i].ipaddr)) {
+           netmask = IN_CLASSC_NET;
+       } else {
+           netmask = 0;
+       }
+       net = afsifinfo[i].ipaddr & netmask;
+
+#ifdef notdef
+       if (!s) {
+           if (afsifinfo[i].ipaddr != 0x7f000001) {    /* ignore loopback */
+               *cnt += 1;
+               if (*cnt > 16)
+                   return;
+               *addrp++ = afsifinfo[i].ipaddr;
+           }
+       } else
+#endif /* notdef */
+        {
+            /* XXXXXX Do the individual ip ranking below XXXXX */
+            if ((sa->sa_ip & netmask) == net) {
+                if ((sa->sa_ip & subnetmask) == subnet) {
+                    if (afsifinfo[i].ipaddr == sa->sa_ip) {   /* ie, ME!  */
+                        sa->sa_iprank = TOPR;
+                    } else {
+                        sa->sa_iprank = HI + afsifinfo[i].metric; /* case #2 */
+                    }
+                } else {
+                    sa->sa_iprank = MED + afsifinfo[i].metric;    /* case #3 */
+                }
+            } else {
+                    sa->sa_iprank = LO + afsifinfo[i].metric;     /* case #4 */
+            }
+            /* check for case #5 -- point-to-point link */
+            if ((afsifinfo[i].flags & IFF_POINTOPOINT)
+                && (afsifinfo[i].dstaddr == sa->sa_ip)) {
+
+                    if (afsifinfo[i].metric >= (MAXDEFRANK - MED) / PPWEIGHT)
+                        sa->sa_iprank = MAXDEFRANK;
+                    else
+                        sa->sa_iprank = MED + (PPWEIGHT << afsifinfo[i].metric);
+            }
+        }
+    }
+    
+    rw_exit(&afsifinfo_lock);
 #else
     for (ill = (struct ill_s *)*addr /*ill_g_headp */ ; ill;
         ill = ill->ill_next) {
-#endif
 #ifdef AFS_SUN58_ENV
        /* Make sure this is an IPv4 ILL */
        if (ill->ill_isv6)
@@ -1313,6 +1400,7 @@ static int afs_SetServerPrefs(struct srvAddr *sa) {
            }
        }
     }
+#endif /* AFS_SUN510_ENV */
 #else
 #ifndef USEIFADDR
     struct ifnet *ifn = NULL;
diff --git a/src/afsd/CellServDB b/src/afsd/CellServDB
new file mode 100644 (file)
index 0000000..882d090
--- /dev/null
@@ -0,0 +1,589 @@
+>grand.central.org      #GCO Public CellServDB 05 Jul 2007
+18.92.0.108                     #grand-opening.mit.edu
+128.2.203.61                    #penn.central.org
+130.237.48.87                   #andrew.e.kth.se
+>wu-wien.ac.at          #University of Economics, Vienna, Austria
+137.208.3.33                    #goya.wu-wien.ac.at
+137.208.7.57                    #caravaggio.wu-wien.ac.at
+137.208.127.57                  #vermeer.wu-wien.ac.at
+>hephy.at               #hephy-vienna
+193.170.243.10                  #mowgli.oeaw.ac.at
+193.170.243.12                  #baloo.oeaw.ac.at
+193.170.243.14                  #akela.oeaw.ac.at
+>cgv.tugraz.at          #CGV cell
+129.27.224.133                  #phobos.cgv.tugraz.at
+129.27.224.134                  #deimos.cgv.tugraz.at
+129.27.224.210                  #trinculo.cgv.tugraz.at
+>itp.tugraz.at          #Institute of Theoretical and Computational Physics, TU Graz, Aus
+129.27.161.7                    #faepafs1.tu-graz.ac.at
+129.27.161.15                   #faepafs2.tu-graz.ac.at
+129.27.161.114                  #faepafs3.tu-graz.ac.at
+>sums.math.mcgill.ca    #Society of Undergraduate Mathematics Students of McGill Universi
+132.216.24.122                  #germain.sums.math.mcgill.ca
+132.216.24.125                  #turing.sums.math.mcgill.ca
+>cern.ch                #European Laboratory for Particle Physics, Geneva
+137.138.128.148                 #afsdb1.cern.ch
+137.138.246.50                  #afsdb3.cern.ch
+137.138.246.51                  #afsdb2.cern.ch
+>ams.cern.ch            #AMS Experiment
+137.138.188.185                 #ams.cern.ch
+137.138.199.58                  #pcamsf4.cern.ch
+>epfl.ch                #Swiss Federal Institute of Technology at Lausanne
+128.178.109.111                 #kd1.epfl.ch
+128.178.109.112                 #kd2.epfl.ch
+128.178.109.113                 #kd3.epfl.ch
+>ethz.ch                #Swiss Federal Inst. of Tech. - Zurich, Switzerland
+129.132.97.19                   #amalthea.ethz.ch
+129.132.97.27                   #nethzafs-001.ethz.ch
+129.132.115.3                   #himalia.ethz.ch
+129.132.115.37                  #nethzafs-005.ethz.ch
+129.132.115.38                  #nethzafs-006.ethz.ch
+>psi.ch                 #Paul Scherrer Institut - Villigen, Switzerland
+129.129.190.140                 #afs00.psi.ch
+129.129.190.141                 #afs01.psi.ch
+129.129.190.142                 #afs02.psi.ch
+>extundo.com            #Simon Josefsson's cell
+195.42.214.241                  #slipsten.extundo.com
+>membrain.com           #membrain.com
+66.93.118.125                   #stormy
+130.85.24.11                    #weasel
+130.85.24.13                    #straykitten
+>midnightlinux.com      #Midnight Linux, Pittsburgh PA
+208.10.142.82                   #outpost.midnightlinux.com
+>setfilepointer.com     #SetFilePointer.com
+63.224.10.2                     #hamlet.SetFilePointer.com
+63.224.10.4                     #troilus.SetFilePointer.com
+>sodre.cx               #Sodre.cx
+128.8.140.165                   #greed.sodre.cx
+>desy.de                #Deutsches Elektronen-Synchrotron
+131.169.40.62                   #vayu.desy.de
+131.169.244.60                  #solar00.desy.de
+>gppc.de                #GPP Chemnitz mbH
+213.187.92.33                   #gpp1.gppc.de
+213.187.92.34                   #paulchen.gppc.de
+213.187.92.35                   #lotus.gppc.de
+>ifh.de                 #DESY Zeuthen
+141.34.22.10                    #romulus.ifh.de
+141.34.22.11                    #remus.ifh.de
+141.34.22.29                    #hekate.ifh.de
+>lrz-muenchen.de        #Leibniz Computing Centre, Germany
+129.187.10.36                   #afs1.lrz-muenchen.de
+129.187.10.56                   #afs3.lrz-muenchen.de
+129.187.10.57                   #afs2.lrz-muenchen.de
+>ipp-garching.mpg.de    #Institut fuer Plasmaphysik
+130.183.9.5                     #afs-db1.rzg.mpg.de
+130.183.100.10                  #afs-db2.aug.ipp-garching.mpg.de
+130.183.100.23                  #afs-db3.aug.ipp-garching.mpg.de
+>mpe.mpg.de             #MPE cell
+130.183.130.7                   #irafs1.mpe-garching.mpg.de
+130.183.134.20                  #irafs2.mpe-garching.mpg.de
+>i1.informatik.rwth-aachen.de #Informatik I, RWTH Aachen
+137.226.244.79                  #remus.informatik.rwth-aachen.de
+>tu-bs.de               #Technical University of Braunschweig, Germany
+134.169.1.1                     #rzafs1.rz.tu-bs.de
+134.169.1.5                     #rzafs2.rz.tu-bs.de
+134.169.1.6                     #rzafs3.rz.tu-bs.de
+>tu-chemnitz.de         #Technische Universitaet Chemnitz, Germany
+134.109.2.1                     #zuse.hrz.tu-chemnitz.de
+134.109.2.15                    #phoenix.hrz.tu-chemnitz.de
+134.109.200.7                   #aetius.hrz.tu-chemnitz.de
+>e18.ph.tum.de          #Experimental Physics, TU Munich, Germany
+129.187.154.223                 #hamlet.e18.physik.tu-muenchen.de
+>uni-bonn.de            #University of Bonn, Computing Center
+131.220.14.198                  #work15-eth.rhrz.uni-bonn.de
+131.220.14.205                  #node05.rhrz.uni-bonn.de
+131.220.15.197                  #afs-db1.rhrz.uni-bonn.de
+>atlass01.physik.uni-bonn.de #Bonn ATLAS
+131.220.165.43                  #atlass01.physik.uni-bonn.de
+>uni-freiburg.de        #Albert-Ludwigs-Universitat Freiburg
+132.230.6.235                   #sv6.ruf.uni-freiburg.de
+132.230.6.236                   #sv7.ruf.uni-freiburg.de
+132.230.6.237                   #sv8.ruf.uni-freiburg.de
+>physik.uni-freiburg.de #institute of physics, university Freiburg, Germany
+132.230.77.16                   #hepafs.physik.uni-freiburg.de
+>urz.uni-heidelberg.de  #Uni Heidelberg (Rechenzentrum)
+129.206.119.10                  #afsdb.urz.uni-heidelberg.de
+129.206.119.16                  #afsdb1.urz.uni-heidelberg.de
+129.206.119.17                  #afsdb2.urz.uni-heidelberg.de
+>uni-hohenheim.de       #University of Hohenheim
+144.41.2.2                      #rs13.serv.uni-hohenheim.de
+144.41.2.3                      #rs14.serv.uni-hohenheim.de
+144.41.2.4                      #rs15.serv.uni-hohenheim.de
+>rz.uni-jena.de         #Rechenzentrum University of Jena, Germany
+141.35.2.180                    #afs00.rz.uni-jena.de
+141.35.2.181                    #afs01.rz.uni-jena.de
+141.35.2.182                    #afs02.rz.uni-jena.de
+>impetus.uni-koeln.de   #Univ. of Cologne - Geophysics/Meteorology Inst.
+134.95.80.39                    #forano.meteo.uni-koeln.de
+>meteo.uni-koeln.de     #Univ. of Cologne - Inst. for Geophysics & Meteorology
+134.95.144.22                   #afs1.meteo.uni-koeln.de
+134.95.144.24                   #afs2.meteo.uni-koeln.de
+>rrz.uni-koeln.de       #University of Cologne - Reg Comp Center
+134.95.19.3                     #afsdb1.rrz.uni-koeln.de
+134.95.19.10                    #lyra.rrz.uni-koeln.de
+134.95.67.97                    #afs.thp.uni-koeln.de
+134.95.141.243                  #agrippina.rrz.uni-koeln.de
+>physik.uni-mainz.de    #institute of physics, university Mainz, Germany
+134.93.130.93                   #hardy.physik.uni-mainz.de
+>uni-mannheim.de        #Uni Mannheim (Rechenzentrum)
+134.155.97.204                  #afsdb1.uni-mannheim.de
+134.155.97.205                  #afsdb2.uni-mannheim.de
+134.155.97.206                  #afsdb3.uni-mannheim.de
+>uni-paderborn.de       #University of Paderborn, Germany
+131.234.137.10                  #afsdb1.uni-paderborn.de
+131.234.137.11                  #afsdb2.uni-paderborn.de
+131.234.137.12                  #afsdb3.uni-paderborn.de
+>physik.uni-wuppertal.de #Physics department of Bergische Universität Wuppertal
+132.195.104.3                   #afs1.physik.uni-wuppertal.de
+132.195.104.230                 #afs2.physik.uni-wuppertal.de
+>s-et.aau.dk            #Aalborg Univ., The Student Society, Denmark
+130.225.196.22                  #afs.s-et.aau.dk
+>ies.auc.dk             #Aalborg Univ., Inst. of Electronic Systems, Denmark
+130.225.51.73                   #afsdb1.kom.auc.dk
+130.225.51.74                   #afsdb2.kom.auc.dk
+130.225.51.85                   #afsdb3.kom.auc.dk
+>asu.edu                #Arizona State University
+129.219.10.69                   #authen2.asu.edu
+129.219.10.70                   #authen1.asu.edu
+129.219.10.72                   #authen3.asu.edu
+129.219.100.16                  #authen4.asu.edu
+>hep.caltech.edu        #CalTech High Energy Physics
+131.215.126.150                 #afs.hep.caltech.edu
+>clarkson.edu           #Clarkson University, Potsdam, New York USA
+128.153.1.111                   #arthur.clarkson.edu
+128.153.9.111                   #lancelot.clarkson.edu
+128.153.17.111                  #uther.clarkson.edu
+>andrew.cmu.edu         #Carnegie Mellon University - Computing Services Cell
+128.2.10.2                      #vice2.fs.andrew.cmu.edu
+128.2.10.7                      #vice7.fs.andrew.cmu.edu
+128.2.10.11                     #vice11.fs.andrew.cmu.edu
+128.2.10.28                     #vice28.fs.andrew.cmu.edu
+128.2.32.44                     #new-vice12.fs.andrew.cmu.edu
+>club.cc.cmu.edu        #Carnegie Mellon University Computer Club
+128.237.157.11                  #sodium.club.cc.cmu.edu
+128.237.157.13                  #potassium.club.cc.cmu.edu
+>chem.cmu.edu           #Carnegie Mellon University - Chemistry Dept.
+128.2.40.134                    #afs.chem.cmu.edu
+128.2.40.140                    #afs2.chem.cmu.edu
+>cs.cmu.edu             #Carnegie Mellon University - School of Comp. Sci.
+128.2.201.46                    #strawberry.srv.cs.cmu.edu
+128.2.201.47                    #pumpkin.srv.cs.cmu.edu
+128.2.201.48                    #cherry.srv.cs.cmu.edu
+>ece.cmu.edu            #Carnegie Mellon University - Elec. Comp. Eng. Dept.
+128.2.129.7                     #porok.ece.cmu.edu
+128.2.129.8                     #vicio.ece.cmu.edu
+128.2.129.9                     #e-xing.ece.cmu.edu
+>scotch.ece.cmu.edu     #CMU ECE CALCM research group
+128.2.134.82                    #lagavulin.ece.cmu.edu
+>qatar.cmu.edu          #Carnegie Mellon University - Qatar
+86.36.46.6                      #afs1.qatar.cmu.edu
+86.36.46.7                      #afs2.qatar.cmu.edu
+>sbp.ri.cmu.edu         #Carnegie Mellon University - Sensor Based Planning Lab
+128.2.179.12                    #nihao.sbp.ri.cmu.edu
+128.2.179.113                   #youtheman.sbp.ri.cmu.edu
+>cnf.cornell.edu        #CNF
+128.253.198.9                   #hole.cnf.cornell.edu
+128.253.198.27                  #smoke.cnf.cornell.edu
+>msc.cornell.edu        #Cornell University Materials Science Center
+128.84.231.242                  #miranda.ccmr.cornell.edu
+128.84.241.35                   #co.ccmr.cornell.edu
+128.84.249.78                   #dax.ccmr.cornell.edu
+>dbic.dartmouth.edu     #Dartmouth Brain Imaging Center
+129.170.30.143                  #dbicafs1.dartmouth.edu
+129.170.30.144                  #dbicafs2.dartmouth.edu
+129.170.30.145                  #dbicafs3.dartmouth.edu
+>northstar.dartmouth.edu #Dartmouth College Research Computing
+129.170.16.22                   #halley.dartmouth.edu
+129.170.16.42                   #oort.dartmouth.edu
+129.170.16.43                   #cygnusx1.dartmouth.edu
+>cs.fhm.edu             #Department Computer Science Munich University Of Applied Science
+129.187.208.2                   #srv1.informatik.fh-muenchen.de
+>eecs.harvard.edu       #Harvard - EECS
+140.247.60.61                   #zermelo.eecs.harvard.edu
+140.247.60.83                   #corfu.eecs.harvard.edu
+>iastate.edu            #Iowa State University
+129.186.1.243                   #afsdb-1.iastate.edu
+129.186.6.243                   #afsdb-2.iastate.edu
+129.186.142.243                 #afsdb-3.iastate.edu
+>athena.mit.edu         #MIT/Athena cell
+18.7.1.66                       #paris.mit.edu.
+18.7.1.74                       #chimera.mit.edu.
+18.158.0.37                     #prill.mit.edu.
+>dev.mit.edu            #MIT/IS Development cell
+18.7.1.70                       #wham.mit.edu.
+18.92.1.219                     #click.mit.edu.
+18.92.1.220                     #whirr.mit.edu.
+>net.mit.edu            #MIT/Network Group cell
+18.7.7.73                       #gracie.mit.edu
+18.7.21.95                      #george.mit.edu
+>sipb.mit.edu           #MIT/SIPB cell
+18.181.0.19                     #reynelda.mit.edu.
+18.181.0.22                     #rosebud.mit.edu.
+18.181.0.23                     #ronald-ann.mit.edu.
+>soap.mit.edu           #MIT School Of Architecture & Planning
+18.89.1.204                     #crypt.mit.edu
+18.89.1.209                     #grotto.mit.edu
+18.89.2.156                     #ac.mit.edu
+>msu.edu                #Michigan State University Main Cell
+35.9.7.10                       #afsdb0.cl.msu.edu
+>nd.edu                 #University of Notre Dame
+129.74.223.17                   #john.helios.nd.edu
+129.74.223.33                   #lizardo.helios.nd.edu
+129.74.223.65                   #buckaroo.helios.nd.edu
+>pitt.edu               #University of Pittsburgh
+136.142.8.15                    #afs09.srv.cis.pitt.edu
+136.142.8.20                    #afs10.srv.cis.pitt.edu
+136.142.8.21                    #afs11.srv.cis.pitt.edu
+>cs.pitt.edu            #University of Pittsburgh - Computer Science
+130.49.220.11                   #afs01.cs.pitt.edu
+130.49.220.12                   #afs02.cs.pitt.edu
+130.49.220.13                   #afs03.cs.pitt.edu
+>psc.edu                #PSC (Pittsburgh Supercomputing Center)
+128.182.59.182                  #shaggy.psc.edu
+128.182.66.184                  #velma.psc.edu
+128.182.66.185                  #daphne.psc.edu
+>scoobydoo.psc.edu      #PSC Test Cell
+128.182.59.181                  #scooby.psc.edu
+>cede.psu.edu           #Penn State - Center for Engr. Design & Entrepeneurship
+146.186.218.10                  #greenly.cede.psu.edu
+146.186.218.60                  #b50.cede.psu.edu
+146.186.218.246                 #stalin.cede.psu.edu
+>rose-hulman.edu        #Rose-Hulman Institute of Technology
+137.112.7.11                    #afs1.rose-hulman.edu
+137.112.7.12                    #afs2.rose-hulman.edu
+137.112.7.13                    #afs3.rose-hulman.edu
+>cs.rose-hulman.edu     #Rose-Hulman CS Department
+137.112.40.10                   #galaxy.cs.rose-hulman.edu
+>rpi.edu                #Rensselaer Polytechnic Institute
+128.113.22.11                   #saul.server.rpi.edu
+128.113.22.12                   #joab.server.rpi.edu
+128.113.22.13                   #korah.server.rpi.edu
+128.113.22.14                   #achan.server.rpi.edu
+>hep.sc.edu             #University of South Carolina, Dept. of Physics
+129.252.78.77                   #cpeven.physics.sc.edu
+>cs.stanford.edu        #Stanford University Computer Science Department
+171.64.64.10                    #cs-afs-1.Stanford.EDU
+171.64.64.66                    #cs-afs-2.stanford.edu
+171.64.64.69                    #cs-afs-3.stanford.edu
+>ir.stanford.edu        #Stanford University
+171.64.7.222                    #afsdb1.stanford.edu
+171.64.7.234                    #afsdb2.stanford.edu
+171.64.7.246                    #afsdb3.stanford.edu
+>slac.stanford.edu      #Stanford Linear Accelerator Center
+134.79.18.25                    #afsdb1.slac.stanford.edu
+134.79.18.26                    #afsdb2.slac.stanford.edu
+134.79.18.27                    #afsdb3.slac.stanford.edu
+>ucdavis.edu            #University of California at Davis
+169.237.104.100                 #afs1.ucdavis.edu
+169.237.235.176                 #afs2.ucdavis.edu
+169.237.247.91                  #afs3.ucdavis.edu
+>home.ucdavis.edu       #University of California at Davis home directories
+169.237.105.91                  #home1.ucdavis.edu
+169.237.105.92                  #home2.ucdavis.edu
+169.237.105.93                  #home3.ucdavis.edu
+>physics.ucsb.edu       #UC Santa Barbara, Physics Dept
+128.111.18.161                  #ledzeppelin.physics.ucsb.edu
+>cats.ucsc.edu          #UC Santa Cruz, Comp and Tech Services, California U.S.A
+128.114.123.14                  #elan.ucsc.edu
+128.114.123.15                  #ichabod.ucsc.edu
+128.114.123.18                  #maneki.ucsc.edu
+>acm.uiuc.edu           #ACM at the University of Illinois
+128.174.251.8                   #alnitak.acm.uiuc.edu
+128.174.251.9                   #alnilam.acm.uiuc.edu
+128.174.251.10                  #mintaka.acm.uiuc.edu
+>illigal.uiuc.edu       #Illinois Genetic Algorithms Labaratory
+128.174.193.200                 #ial.illigal.uiuc.edu
+128.174.193.201                 #cac.illigal.uiuc.edu
+128.174.193.202                 #gcs.illigal.uiuc.edu
+>ncsa.uiuc.edu          #University of Illinois
+141.142.3.5                     #congo.ncsa.uiuc.edu
+141.142.3.8                     #nile.ncsa.uiuc.edu
+141.142.3.9                     #kaskaskia.ncsa.uiuc.edu
+>umbc.edu               #University of Maryland, Baltimore County
+130.85.24.23                    #db2.afs.umbc.edu
+130.85.24.87                    #db3.afs.umbc.edu
+130.85.24.101                   #db1.afs.umbc.edu
+>glue.umd.edu           #University of Maryland - Project Glue
+128.8.70.11                     #olmec.umd.edu
+128.8.236.4                     #egypt.umd.edu
+128.8.236.230                   #babylon.umd.edu
+>wam.umd.edu            #University of Maryland Network WAM Project
+128.8.70.9                      #csc-srv.wam.umd.edu
+128.8.236.5                     #avw-srv.wam.umd.edu
+128.8.236.231                   #ptx-srv.wam.umd.edu
+>umich.edu              #University of Michigan - Campus
+141.211.1.32                    #fear.ifs.umich.edu
+141.211.1.33                    #surprise.ifs.umich.edu
+141.211.1.34                    #ruthless.ifs.umich.edu
+>atlas.umich.edu        #ATLAS group cell in physics at University of Michigan
+141.211.43.102                  #linat02.grid.umich.edu
+141.211.43.103                  #linat03.grid.umich.edu
+141.211.43.104                  #linat04.grid.umich.edu
+>citi.umich.edu         #Center for Information Technology Integration
+141.211.133.5                   #babylon.citi.umich.edu
+>lsa.umich.edu          #University of Michigan - College of LS&A
+141.211.211.53                  #gerow.lsa.umich.edu
+141.211.211.72                  #collines.lsa.umich.edu
+141.211.211.153                 #hodges.lsa.umich.edu
+>sph.umich.edu          #University of Michigan -- School of Public  Health
+141.211.51.137                  #afssph7.sph.umich.edu
+141.211.51.139                  #afssph0.sph.umich.edu
+141.211.51.142                  #afssph6.sph.umich.edu
+>isis.unc.edu           #Univ. of NC at Chapel Hill - ITS
+152.2.1.5                       #db0.isis.unc.edu
+152.2.1.6                       #db1.isis.unc.edu
+152.2.1.7                       #db2.isis.unc.edu
+>physics.unc.edu        #Univ. of NC at Chapel Hill, Dept. of Physics
+152.2.4.1                       #who.physics.unc.edu
+152.2.4.3                       #what.physics.unc.edu
+152.2.4.5                       #when.physics.unc.edu
+>uncc.edu               #University of NC at Charlotte Mosaic AFS Cell
+152.15.10.70                    #as-sm1.uncc.edu
+152.15.93.186                   #as-ece1.uncc.edu
+152.15.181.175                  #as-me1.uncc.edu
+>eng.utah.edu           #University of Utah - Engineering
+155.98.111.9                    #lenny.eng.utah.edu
+155.98.111.10                   #carl.eng.utah.edu
+>cs.uwm.edu             #University of Wisconsin--Milwaukee
+129.89.38.124                   #solomons.cs.uwm.edu
+>cs.wisc.edu            #Univ. of Wisconsin-Madison, Computer Sciences Dept.
+128.105.132.14                  #timon.cs.wisc.edu
+128.105.132.15                  #pumbaa.cs.wisc.edu
+128.105.132.16                  #zazu.cs.wisc.edu
+>engr.wisc.edu          #University of Wisconsin-Madison, College of Engineering
+144.92.13.14                    #larry.cae.wisc.edu
+144.92.13.15                    #curly.cae.wisc.edu
+144.92.13.16                    #moe.cae.wisc.edu
+>hep.wisc.edu           #University of Wisconsin -- High Energy Physics
+128.104.28.219                  #anise.hep.wisc.edu
+>physics.wisc.edu       #Univ. of Wisconsin-Madison, Physics Department
+128.104.160.13                  #kendra.physics.wisc.edu
+128.104.160.14                  #fray.physics.wisc.edu
+128.104.160.15                  #buffy.physics.wisc.edu
+>ciemat.es              #Ciemat, Madrid, Spain
+130.206.11.42                   #afsdb1.ciemat.es
+130.206.11.217                  #afsdb2.ciemat.es
+130.206.11.247                  #afsdb3.ciemat.es
+>ifca.unican.es         #Instituto de Fisica de Cantabria (IFCA), Santander, Spain
+193.144.209.20                  #gridwall.ifca.unican.es
+>ific.uv.es             #Instituto de Fisica Corpuscular, Valencia, Spain
+147.156.163.11                  #alpha.ific.uv.es
+>biocenter.helsinki.fi  #University of Helsinki, Institute of Biotechnology
+128.214.58.174                  #afsdb1.biocenter.helsinki.fi
+128.214.88.114                  #afsdb2.biocenter.helsinki.fi
+>dapnia.saclay.cea.fr   #CEA DAPNIA
+132.166.32.7                    #dphrsg.saclay.cea.fr
+132.166.32.12                   #dphrsl.saclay.cea.fr
+>grif.fr                #GRIF cell
+192.54.208.18                   #node03.datagrid.cea.fr
+>in2p3.fr               #IN2P3 production cell
+134.158.232.11                  #ccafsdb1.in2p3.fr
+134.158.232.12                  #ccafsdb2.in2p3.fr
+134.158.232.13                  #ccafsdb3.in2p3.fr
+>anl.gov                #Argonne National Laboratory
+146.137.96.33                   #arteus.ctd.anl.gov
+146.137.162.88                  #agamemnon.ctd.anl.gov
+146.137.194.80                  #antenor.ctd.anl.gov
+>rhic.bnl.gov           #Relativistic Heavy Ion Collider
+130.199.6.51                    #rafs03.rcf.bnl.gov
+130.199.6.52                    #rafs02.rcf.bnl.gov
+130.199.6.69                    #rafs01.rcf.bnl.gov
+>usatlas.bnl.gov        #US Atlas Tier 1 Facility at BNL
+130.199.48.32                   #aafs01.usatlas.bnl.gov
+130.199.48.33                   #aafs02.usatlas.bnl.gov
+130.199.48.34                   #aafs03.usatlas.bnl.gov
+>fnal.gov               #Fermi National Acclerator Laboratory
+131.225.68.1                    #fsus01.fnal.gov
+131.225.68.4                    #fsus03.fnal.gov
+131.225.68.14                   #fsus04.fnal.gov
+>ic-afs.arc.nasa.gov    #Code IC, Ames Research Center
+128.102.105.62                  #udanax.arc.nasa.gov
+>jpl.nasa.gov           #Jet Propulsion Laboratory
+137.78.160.21                   #afsdb08.jpl.nasa.gov
+137.78.160.22                   #afsdb09.jpl.nasa.gov
+137.78.160.23                   #afsdb10.jpl.nasa.gov
+>nersc.gov              #National Energy Research Supercomputer Center
+128.55.128.250                  #mars.nersc.gov
+128.55.128.252                  #alfred.nersc.gov
+128.55.128.254                  #lurch.nersc.gov
+>bme.hu                 #Budapest University of Technology and Economics
+152.66.241.6                    #afs.iit.bme.hu
+>kfki.hu                #Research Institute for Nuclear and Particle Physics - Budapest,H
+148.6.8.14                      #afs.kfki.hu
+>caspur.it              #CASPUR Inter-University Computing Consortium, Rome
+193.204.5.45                    #pomodoro.caspur.it
+193.204.5.46                    #banana.caspur.it
+193.204.5.50                    #maslo.caspur.it
+>enea.it                #ENEA New Tech. Energy & Environment Agency, Italy
+192.107.54.5                    #aixfs.frascati.enea.it
+192.107.54.11                   #rs2ced.frascati.enea.it
+192.107.54.12                   #43p.frascati.enea.it
+192.107.61.235                  #serverinfo02.bologna.enea.it
+192.107.71.6                    #glauco.casaccia.enea.it
+192.107.96.233                  #riscdb.trisaia.enea.it
+>fusione.it             #Assoz. FUSIONE/Euratom, ENEA, Frascati-Italy
+192.107.90.2                    #fusafs1.frascati.enea.it
+192.107.90.3                    #fusafs2.frascati.enea.it
+192.107.90.4                    #fusafs3.frascati.enea.it
+>icemb.it               #ICEMB, Universita' La Sapienza - Rome - Italy
+193.204.6.130                   #icembfs.caspur.it
+>infn.it                #Istituto Nazionale di Fisica Nucleare (INFN), Italia
+131.154.1.7                     #afscnaf.infn.it
+141.108.26.75                   #afsrm1.roma1.infn.it
+192.84.134.75                   #afsna.na.infn.it
+>ba.infn.it             #INFN, Sezione di Bari
+193.206.185.235                 #baafsserver.ba.infn.it
+193.206.185.236                 #debsrv.ba.infn.it
+>kloe.infn.it           #INFN, KLOE experiment at Laboratori di Frascati
+192.135.25.111                  #kloeafs1.lnf.infn.it
+192.135.25.112                  #kloeafs2.lnf.infn.it
+>le.infn.it             #INFN, Sezione di Lecce
+192.84.152.40                   #afs01.le.infn.it
+192.84.152.148                  #afs02.le.infn.it
+>lnf.infn.it            #INFN, Laboratori Nazionali di Frascati
+193.206.84.121                  #afs1.lnf.infn.it
+193.206.84.122                  #afs2.lnf.infn.it
+193.206.84.123                  #afs3.lnf.infn.it
+>lngs.infn.it           #INFN, Laboratori Nazionali di Gran Sasso
+192.84.135.21                   #rsgs05.lngs.infn.it
+>pi.infn.it             #INFN, Sezione di Pisa
+131.114.134.26                  #unknownhost.pi.infn.it
+192.84.133.50                   #aix1.pi.infn.it
+>psm.it                 #Progetto San Marco, Universita' di Roma-1
+151.100.1.65                    #atlante.psm.uniroma1.it
+>tgrid.it               #CASPUR-CILEA-CINECA Grid Cell
+193.204.5.33                    #cccgrid.caspur.it
+>ictp.trieste.it        #The Abdus Salam International Centre for Theoretical Physics (IC
+140.105.16.8                    #fs1.ictp.trieste.it
+140.105.16.9                    #fs2.ictp.trieste.it
+>math.unifi.it          #math.unifi.it
+150.217.34.182                  #xeno.math.unifi.it
+>ing.uniroma1.it        #Universita' La Sapienza, Fac. Ingeneria
+151.100.85.253                  #alfa.ing.uniroma1.it
+>dia.uniroma3.it        #University Roma Tre - DIA
+193.204.161.79                  #plm.dia.uniroma3.it
+193.204.161.118                 #afs.dia.uniroma3.it
+>vn.uniroma3.it         #University of Rome 3, Area Vasca Navale
+193.204.161.136                 #alfa.dia.uniroma3.it
+193.204.161.137                 #beta.dia.uniroma3.it
+193.204.161.138                 #gamma.dia.uniroma3.it
+>italia                 #Italian public AFS cell
+193.204.5.9                     #afs.caspur.it
+>cmf.nrl.navy.mil       #Naval Research Lab - CCS
+134.207.10.68                   #picard.cmf.nrl.navy.mil
+134.207.10.69                   #riker.cmf.nrl.navy.mil
+134.207.10.70                   #kirk.cmf.nrl.navy.mil
+>lcp.nrl.navy.mil       #Naval Research Lab - Lab for Computational Physics
+132.250.114.2                   #afs1.lcp.nrl.navy.mil
+132.250.114.4                   #afs2.lcp.nrl.navy.mil
+132.250.114.6                   #afs3.lcp.nrl.navy.mil
+>es.net                 #Energy Sciences Net
+198.128.3.21                    #fs1.es.net
+198.128.3.22                    #fs2.es.net
+198.128.3.23                    #fs3.es.net
+>laroia.net             #Laroia Networks
+66.66.102.254                   #supercore.laroia.net
+>sinenomine.net         #Sine Nomine Associates
+192.204.203.218                 #va.sinenomine.net
+>slackers.net           #The Slackers' Network
+63.201.48.27                    #alexandria.slackers.net
+>tproa.net              #The People's Republic of Ames
+72.13.4.23                      #service-3.tproa.net
+72.13.4.24                      #service-4.tproa.net
+72.13.4.25                      #service-5.tproa.net
+>nikhef.nl              #The Dutch National Institute for High Energy Physics
+192.16.185.26                   #afs1.nikhef.nl
+192.16.185.27                   #afs2.nikhef.nl
+>1ts.org                #1TS.ORG, Cambridge, MA
+69.25.196.51                    #pancake.1ts.org
+>acm-csuf.org           #California State Univerisity Fullerton ACM
+137.151.29.193                  #afs1.acm-csuf.org
+>bazquux.org            #Baz Quux Organization
+66.207.142.196                  #baxquux.org
+>coed.org               #Adam Pennington's Cell
+66.93.61.184                    #vice1.coed.org
+128.237.157.35                  #vice3.coed.org
+>dementia.org           #Dementia Unlimited
+128.2.12.45                     #alycia.dementia.org
+128.2.120.216                   #meredith.dementia.org
+>hackish.org            #Hackish.org
+24.167.65.213                   #avatar.sys.hackish.org
+128.2.120.138                   #kurma.sys.hackish.org
+>idahofuturetruck.org   #University of Idaho hybrid vehicle development
+12.18.238.210                   #dsle210.fsr.net
+>nimlabs.org            #Nimlabs, Ink. Cell.
+18.238.1.103                    #olfin.nimlabs.org
+18.238.1.105                    #caerbanog.nimlabs.org
+>nomh.org               #nomh.org
+204.29.154.12                   #iota.nomh.org
+204.29.154.32                   #adversity.xi.nomh.org
+>oc7.org                #The OC7 Project
+128.2.122.140                   #knife.oc7.org
+207.22.77.170                   #spoon.oc7.org
+>kth.se                 #Royal Institute of Technology, Stockholm, Sweden
+130.237.32.145                  #sonen.e.kth.se
+130.237.48.7                    #anden.e.kth.se
+130.237.48.244                  #fadern.e.kth.se
+>hallf.kth.se           #Royal Institute of Technology, HALLF
+130.237.24.11                   #afs1.hallf.kth.se
+130.237.24.104                  #afs2.hallf.kth.se
+>isk.kth.se             #Royal Institute of Technology, ISK
+130.237.202.3                   #afsdb1.isk.kth.se
+130.237.209.5                   #afsdb2.isk.kth.se
+130.237.209.9                   #afsdb3.isk.kth.se
+>it.kth.se              #Royal Institute of Technology, IT
+130.237.212.15                  #ptah.it.kth.se
+130.237.212.16                  #toth.it.kth.se
+130.237.215.7                   #isis.it.kth.se
+>md.kth.se              #Royal Institute of Technology, MMK
+130.237.57.68                   #trinity.md.kth.se
+130.237.57.72                   #morpheus.md.kth.se
+130.237.67.230                  #neo.speech.kth.se
+>mech.kth.se            #Royal Institute of Technology, MECH
+130.237.233.142                 #matterhorn.mech.kth.se
+130.237.233.143                 #castor.mech.kth.se
+130.237.233.144                 #pollux.mech.kth.se
+>nada.kth.se            #Royal Institute of Technology, NADA
+130.237.222.20                  #kosmos.nada.kth.se
+130.237.223.12                  #sputnik.nada.kth.se
+130.237.224.78                  #mir.nada.kth.se
+130.237.227.23                  #gagarin.nada.kth.se
+130.237.228.28                  #laika.nada.kth.se
+>pdc.kth.se             #Royal Institute of Technology, PDC
+130.237.232.29                  #crab.pdc.kth.se
+130.237.232.112                 #anna.pdc.kth.se
+130.237.232.114                 #hokkigai.pdc.kth.se
+>stacken.kth.se         #Stacken Computer Club
+130.237.234.3                   #milko.stacken.kth.se
+130.237.234.43                  #hot.stacken.kth.se
+130.237.234.101                 #fishburger.stacken.kth.se
+>syd.kth.se             #Royal Institute of Technology, KTH-Syd
+130.237.83.23                   #afs.haninge.kth.se
+>physto.se              #Physics department Stockholm University
+130.237.205.36                  #sysafs1.physto.se
+130.237.205.72                  #sysafs2.physto.se
+>sanchin.se             #Sanchin Consulting AB, Sweden
+192.195.148.10                  #sesan.sanchin.se
+>su.se                  #Stockholm University
+130.237.162.81                  #afsdb1.su.se
+130.237.162.82                  #afsdb2.su.se
+130.237.162.230                 #afsdb3.su.se
+>f9.ijs.si              #F9, Jozef Stefan Institue
+194.249.156.1                   #brenta.ijs.si
+>p-ng.si                #Nova Gorica Polytechnic
+193.2.120.2                     #solkan.p-ng.si
+>phy.bris.ac.uk         #Bristol University - phyics
+137.222.58.9                    #afs1.phy.bris.ac.uk
+>inf.ed.ac.uk           #School of Informatics, University of Edinburgh
+129.215.64.16                   #afsdb0.inf.ed.ac.uk
+129.215.64.17                   #afsdb1.inf.ed.ac.uk
+129.215.64.18                   #afsdb2.inf.ed.ac.uk
+>ic.ac.uk               #Imperial College London
+155.198.63.148                  #icafs2.cc.ic.ac.uk
+155.198.63.149                  #icafs1.cc.ic.ac.uk
+>hep.man.ac.uk          #Manchester HEP
+194.36.2.3                      #afs1.hep.man.ac.uk
+194.36.2.4                      #afs2.hep.man.ac.uk
+194.36.2.5                      #afs3.hep.man.ac.uk
+>rl.ac.uk               #Rutherford Appleton Lab, England
+130.246.183.164                 #wallace.cc.rl.ac.uk
index ece37031b7cf59aaef27d0873eac0e47eafb7c5e..7c5e5e269977fe7c4031b4ffe5df8a55e118059a 100644 (file)
@@ -58,7 +58,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/afsd/afsd.c,v 1.43.2.18 2006/08/21 20:39:40 shadow Exp $");
+    ("$Header: /cvs/openafs/src/afsd/afsd.c,v 1.43.2.22 2007/10/10 16:57:56 shadow Exp $");
 
 #define VFS 1
 
@@ -165,6 +165,36 @@ kern_return_t DiskArbStart(mach_port_t *);
 kern_return_t DiskArbDiskAppearedWithMountpointPing_auto(char *, unsigned int,
                                                         char *);
 #define DISK_ARB_NETWORK_DISK_FLAG 8
+
+#include <mach/mach_port.h>
+#include <mach/mach_interface.h>
+#include <mach/mach_init.h>
+
+#include <CoreFoundation/CoreFoundation.h>
+
+#include <SystemConfiguration/SystemConfiguration.h>
+#include <SystemConfiguration/SCDynamicStore.h>
+
+#include <IOKit/pwr_mgt/IOPMLib.h>
+#include <IOKit/IOMessage.h>
+
+#include <dns_sd.h>
+
+typedef struct DNSSDState
+{
+    DNSServiceRef       service;
+    CFRunLoopSourceRef  source;
+    CFSocketRef         socket;
+} DNSSDState;
+
+static io_connect_t root_port;
+static IONotificationPortRef notify;
+static io_object_t iterator;
+static CFRunLoopSourceRef source;
+static DNSSDState dnsstate;
+
+static int event_pid;
+
 #endif /* AFS_DARWIN_ENV */
 
 #ifndef MOUNT_AFS
@@ -302,8 +332,10 @@ int *dir_for_V = NULL;             /* Array: dir of each cache file.
                                 * -2: file exists in top-level
                                 * >=0: file exists in Dxxx
                                 */
+#ifndef AFS_CACHE_VNODE_PATH
 AFSD_INO_T *inode_for_V;       /* Array of inodes for desired
                                 * cache files */
+#endif
 int missing_DCacheFile = 1;    /*Is the DCACHEFILE missing? */
 int missing_VolInfoFile = 1;   /*Is the VOLINFOFILE missing? */
 int missing_CellInfoFile = 1;  /*Is the CELLINFOFILE missing? */
@@ -312,6 +344,162 @@ struct afs_cacheParams cparams;   /* params passed to cache manager */
 
 static int HandleMTab();
 
+#ifdef AFS_DARWIN_ENV
+static void
+afsd_sleep_callback(void * refCon, io_service_t service, 
+                   natural_t messageType, void * messageArgument )
+{
+    afs_int32 code;
+    
+    switch (messageType) {
+    case kIOMessageCanSystemSleep:
+       /* Idle sleep is about to kick in; can 
+          prevent sleep by calling IOCancelPowerChange, otherwise 
+          if we don't ack in 30s the system sleeps anyway */
+       
+       /* allow it */
+       IOAllowPowerChange(root_port, (long)messageArgument);
+       break;
+       
+    case kIOMessageSystemWillSleep:
+       /* The system WILL go to sleep. Ack or suffer delay */
+       
+       IOAllowPowerChange(root_port, (long)messageArgument);
+       break;
+       
+    case kIOMessageSystemWillRestart:
+       /* The system WILL restart. Ack or suffer delay */
+       
+       IOAllowPowerChange(root_port, (long)messageArgument);
+       break;
+       
+    case kIOMessageSystemWillPowerOn:
+    case kIOMessageSystemHasPoweredOn:
+       /* coming back from sleep */
+       
+       IOAllowPowerChange(root_port, (long)messageArgument);
+       break;
+       
+    default:
+       IOAllowPowerChange(root_port, (long)messageArgument);
+       break;
+    }
+}
+
+static void
+afsd_update_addresses(CFRunLoopTimerRef timer, void *info)
+{
+    /* parse multihomed address files */
+    afs_int32 addrbuf[MAXIPADDRS], maskbuf[MAXIPADDRS],
+       mtubuf[MAXIPADDRS];
+    char reason[1024];
+    afs_int32 code;
+
+    code =
+       parseNetFiles(addrbuf, maskbuf, mtubuf, MAXIPADDRS, reason,
+                     AFSDIR_CLIENT_NETINFO_FILEPATH,
+                     AFSDIR_CLIENT_NETRESTRICT_FILEPATH);
+
+    if (code > 0) {
+       /* Note we're refreshing */
+       code = code | 0x40000000;
+       call_syscall(AFSOP_ADVISEADDR, code, addrbuf, maskbuf, mtubuf);
+    } else
+       printf("ADVISEADDR: Error in specifying interface addresses:%s\n",
+              reason);
+}
+
+/* This function is called when the system's ip addresses may have changed. */
+static void
+afsd_ipaddr_callback (SCDynamicStoreRef store, CFArrayRef changed_keys, void *info)
+{
+      CFRunLoopTimerRef timer;
+
+      timer = CFRunLoopTimerCreate (NULL, CFAbsoluteTimeGetCurrent () + 1.0,
+                                   0.0, 0, 0, afsd_update_addresses, NULL);
+      CFRunLoopAddTimer (CFRunLoopGetCurrent (), timer,
+                        kCFRunLoopDefaultMode);
+      CFRelease (timer);
+}
+
+static void 
+afsd_event_cleanup(int signo) {
+    DNSSDState *query = &dnsstate;
+
+    CFRunLoopRemoveSource(CFRunLoopGetCurrent(), source, kCFRunLoopDefaultMode);
+    CFRelease (source);
+    IODeregisterForSystemPower(iterator);
+    IOServiceClose(root_port);
+    IONotificationPortDestroy(notify);
+
+    exit(0);
+}
+
+/* Adapted from "Living in a Dynamic TCP/IP Environment" technote. */
+static Boolean
+afsd_install_events(void)
+{
+    SCDynamicStoreContext ctx = {0};
+    SCDynamicStoreRef store;
+
+    root_port = IORegisterForSystemPower(0,&notify,afsd_sleep_callback,&iterator);
+    
+    if (root_port) {
+       CFRunLoopAddSource(CFRunLoopGetCurrent(),
+                          IONotificationPortGetRunLoopSource(notify),
+                          kCFRunLoopDefaultMode);
+    }
+    
+    
+    store = SCDynamicStoreCreate (NULL,
+                                 CFSTR ("AddIPAddressListChangeCallbackSCF"),
+                                 afsd_ipaddr_callback, &ctx);
+    
+    if (store) {
+       const void *keys[1];
+       
+       /* Request IPV4 address change notification */
+       keys[0] = (SCDynamicStoreKeyCreateNetworkServiceEntity
+                  (NULL, kSCDynamicStoreDomainState,
+                   kSCCompAnyRegex, kSCEntNetIPv4));
+       
+#if 0
+       /* This should tell us when the hostname(s) change. do we care? */
+       keys[N] = SCDynamicStoreKeyCreateHostNames (NULL);
+#endif
+       
+       if (keys[0] != NULL) {
+           CFArrayRef pattern_array;
+           
+           pattern_array = CFArrayCreate (NULL, keys, 1,
+                                          &kCFTypeArrayCallBacks);
+           
+           if (pattern_array != NULL)
+           {
+               SCDynamicStoreSetNotificationKeys (store, NULL, pattern_array);
+               source = SCDynamicStoreCreateRunLoopSource (NULL, store, 0);
+               
+               CFRelease (pattern_array);
+           }
+           
+           if (keys[0] != NULL)
+               CFRelease (keys[0]);
+       }
+       
+       CFRelease (store); 
+    }
+    
+    if (source != NULL) {
+       CFRunLoopAddSource (CFRunLoopGetCurrent(),
+                           source, kCFRunLoopDefaultMode);
+    }
+    
+    signal(SIGTERM, afsd_event_cleanup);
+
+    CFRunLoopRun();
+}
+#endif
+
 /* ParseArgs is now obsolete, being handled by cmd */
 
 /*------------------------------------------------------------------------------
@@ -817,7 +1005,9 @@ doSweepAFSCache(vFilesFound, directory, dirNum, maxDir)
             * file's inode, directory, and bump the number of files found
             * total and in this directory.
             */
+#ifndef AFS_CACHE_VNODE_PATH
            inode_for_V[vFileNum] = currp->d_ino;
+#endif
            dir_for_V[vFileNum] = dirNum;       /* remember this directory */
 
            if (!maxDir) {
@@ -954,7 +1144,9 @@ doSweepAFSCache(vFilesFound, directory, dirNum, maxDir)
                           vFileNum);
                else {
                    struct stat statb;
+#ifndef AFS_CACHE_VNODE_PATH
                    assert(inode_for_V[vFileNum] == (AFSD_INO_T) 0);
+#endif
                    sprintf(vFilePtr, "D%d/V%d", thisDir, vFileNum);
                    if (afsd_verbose)
                        printf("%s: Creating '%s'\n", rn, fullpn_VFile);
@@ -965,7 +1157,9 @@ doSweepAFSCache(vFilesFound, directory, dirNum, maxDir)
                    if (CreateCacheFile(fullpn_VFile, &statb))
                        printf("%s: Can't create '%s'\n", rn, fullpn_VFile);
                    else {
+#ifndef AFS_CACHE_VNODE_PATH
                        inode_for_V[vFileNum] = statb.st_ino;
+#endif
                        dir_for_V[vFileNum] = thisDir;
                        cache_dir_list[thisDir]++;
                        (*vFilesFound)++;
@@ -1247,6 +1441,16 @@ AfsdbLookupHandler()
     kernelMsg[1] = 0;
     acellName[0] = '\0';
 
+#ifdef AFS_DARWIN_ENV
+    /* Fork the event handler also. */
+    code = fork();
+    if (code == 0) {
+       afsd_install_events();
+       exit(1);
+    } else if (code != -1) {
+       event_pid = code;
+    }
+#endif
     while (1) {
        /* On some platforms you only get 4 args to an AFS call */
        int sizeArg = ((sizeof acellName) << 16) | (sizeof kernelMsg);
@@ -1276,7 +1480,9 @@ AfsdbLookupHandler()
            acellName[sizeof(acellName) - 1] = '\0';
        }
     }
-
+#ifdef AFS_DARWIN_ENV
+    kill(event_pid, SIGTERM);
+#endif
     exit(1);
 }
 #endif
@@ -1705,6 +1911,7 @@ mainproc(struct cmd_syndesc *as, char *arock)
                   cacheStatEntries);
     }
 
+#ifndef AFS_CACHE_VNODE_PATH
     /*
      * Create and zero the inode table for the desired cache files.
      */
@@ -1719,6 +1926,7 @@ mainproc(struct cmd_syndesc *as, char *arock)
     if (afsd_debug)
        printf("%s: %d inode_for_V entries at 0x%x, %d bytes\n", rn,
               cacheFiles, inode_for_V, (cacheFiles * sizeof(AFSD_INO_T)));
+#endif
 
     /*
      * Set up all the pathnames we'll need for later.
@@ -1737,10 +1945,6 @@ mainproc(struct cmd_syndesc *as, char *arock)
        exit(1);
 #endif
     }
-#if 0
-    fputs(AFS_GOVERNMENT_MESSAGE, stdout);
-    fflush(stdout);
-#endif
 
     /*
      * Set up all the kernel processes needed for AFS.
@@ -1903,6 +2107,23 @@ mainproc(struct cmd_syndesc *as, char *arock)
                     rn, vFilesFound, cacheFiles, cacheIteration);
        } while ((vFilesFound < cacheFiles)
                 && (cacheIteration < MAX_CACHE_LOOPS));
+#ifdef AFS_CACHE_VNODE_PATH
+       if (afsd_debug)
+           printf
+               ("%s: Calling AFSOP_CACHEBASEDIR with '%s'\n",
+                rn, cacheBaseDir);
+       call_syscall(AFSOP_CACHEBASEDIR, cacheBaseDir);
+       if (afsd_debug)
+           printf
+               ("%s: Calling AFSOP_CACHEDIRS with %d dirs\n",
+                rn, nFilesPerDir);
+       call_syscall(AFSOP_CACHEDIRS, nFilesPerDir);
+       if (afsd_debug)
+           printf
+               ("%s: Calling AFSOP_CACHEFILES with %d files\n",
+                rn, cacheFiles);
+       call_syscall(AFSOP_CACHEFILES, cacheFiles);
+#endif
     } else if (afsd_verbose)
        printf("%s: Using memory cache, not swept\n", rn);
 
@@ -2037,6 +2258,7 @@ mainproc(struct cmd_syndesc *as, char *arock)
     if (!(cacheFlags & AFSCALL_INIT_MEMCACHE)) 
        call_syscall(AFSOP_VOLUMEINFO, fullpn_VolInfoFile);
 
+#ifndef AFS_CACHE_VNODE_PATH
     /*
      * Give the kernel the names of the AFS files cached on the workstation's
      * disk.
@@ -2055,7 +2277,7 @@ mainproc(struct cmd_syndesc *as, char *arock)
            call_syscall(AFSOP_CACHEINODE, inode_for_V[currVFile]);
 #endif
        }
-
+#endif
 
     /*end for */
     /*
index b50cf4d8abc1e411e5ccb6f2877842280a25a0ad..24994d76be18019300bfcd3a8555cd97d2a253ed 100644 (file)
@@ -11,7 +11,7 @@ AFSLIBS = ${TOP_LIBDIR}/libprot.a ${TOP_LIBDIR}/libubik.a \
          ${TOP_LIBDIR}/libauth.a ${TOP_LIBDIR}/librxkad.a \
          ${TOP_LIBDIR}/librx.a ${TOP_LIBDIR}/liblwp.a \
          ${TOP_LIBDIR}/libsys.a ${TOP_LIBDIR}/libdes.a \
-         ${TOP_LIBDIR}/libafsutil.a
+         ${TOP_LIBDIR}/libcom_err.a ${TOP_LIBDIR}/libafsutil.a
 
 SRCS=  aklog.c aklog_main.c  krb_util.c linked_list.c
 OBJS=   aklog.o aklog_main.o krb_util.o linked_list.o
index 298f69584ef24cf08d9358734310ecf888b2cb3e..48904baf21de48e4f0ef88d4628ad0d2d429028a 100644 (file)
@@ -1,5 +1,5 @@
 /* 
- * $Id: aklog.h,v 1.1.2.5 2006/04/05 15:42:13 shadow Exp $
+ * $Id: aklog.h,v 1.1.2.6 2007/07/11 04:32:27 shadow Exp $
  *
  * Copyright 1990,1991 by the Massachusetts Institute of Technology
  * For distribution and copying rights, see the file "mit-copyright.h"
@@ -9,7 +9,7 @@
 #define __AKLOG_H__
 
 #if !defined(lint) && !defined(SABER)
-static char *rcsid_aklog_h = "$Id: aklog.h,v 1.1.2.5 2006/04/05 15:42:13 shadow Exp $";
+static char *rcsid_aklog_h = "$Id: aklog.h,v 1.1.2.6 2007/07/11 04:32:27 shadow Exp $";
 #endif /* lint || SABER */
 
 #include <krb5.h>
@@ -51,6 +51,10 @@ void aklog ARGS((int, char *[]));
 #define INST_SZ 40
 #endif /* INST_SZ */
 
+#ifndef u_int32_t
+#define u_int32_t uint32_t
+#endif
+
 struct ktext {
     unsigned int length;
     unsigned char dat[MAX_KTXT_LEN];
index a285fa360061217baea8cddea33c3afcde0801d9..0d3c4b4ea290a92bc54c7df0c77c84c3af9f5d08 100644 (file)
@@ -1,13 +1,42 @@
 /* 
- * $Id: aklog_main.c,v 1.1.2.15 2007/02/10 13:56:54 jaltman Exp $
+ * $Id: aklog_main.c,v 1.1.2.20 2007/10/10 17:47:58 shadow Exp $
  *
  * Copyright 1990,1991 by the Massachusetts Institute of Technology
  * For distribution and copying rights, see the file "mit-copyright.h"
  */
+/*
+ * Copyright (c) 2005, 2006                                     
+ * The Linux Box Corporation                                    
+ * ALL RIGHTS RESERVED                                          
+ *                                                              
+ * Permission is granted to use, copy, create derivative works  
+ * and redistribute this software and such derivative works     
+ * for any purpose, so long as the name of the Linux Box        
+ * Corporation is not used in any advertising or publicity      
+ * pertaining to the use or distribution of this software       
+ * without specific, written prior authorization.  If the       
+ * above copyright notice or any other identification of the    
+ * Linux Box Corporation is included in any copy of any         
+ * portion of this software, then the disclaimer below must     
+ * also be included.                                            
+ *                                                              
+ * This software is provided as is, without representation      
+ * from the Linux Box Corporation as to its fitness for any     
+ * purpose, and without warranty by the Linux Box Corporation   
+ * of any kind, either express or implied, including            
+ * without limitation the implied warranties of                 
+ * merchantability and fitness for a particular purpose.  The   
+ * regents of the Linux Box Corporation shall not be liable     
+ * for any damages, including special, indirect, incidental, or 
+ * consequential damages, with respect to any claim arising     
+ * out of or in connection with the use of the software, even   
+ * if it has been or is hereafter advised of the possibility of 
+ * such damages.                                                
+ */
 
 #if !defined(lint) && !defined(SABER)
 static char *rcsid =
-       "$Id: aklog_main.c,v 1.1.2.15 2007/02/10 13:56:54 jaltman Exp $";
+       "$Id: aklog_main.c,v 1.1.2.20 2007/10/10 17:47:58 shadow Exp $";
 #endif /* lint || SABER */
 
 #include <afsconfig.h>
@@ -39,27 +68,6 @@ static char *rcsid =
 #include <pwd.h>
 #endif /* WINDOWS */
 
-/* on AIX AFS has an unresolved reference to osi_audit. We will define
- * it here as extern. It also trys to call the ntohl and htonl routines
- * as routines rather then macros. We need a real routine here. 
- * We do this before the ntohl and htonl macros are defined in net/in.h
- */
-int osi_audit()
-    { return(0);}
-
-#if 0
-#ifdef _AIX
-u_long htonl(u_long x)
-    { return(x);}
-
-u_long ntohl(u_long x)
-    { return(x);}
-#endif
-
-#include <netinet/in.h>
-/* #include <krb.h> */
-#endif /* 0 */
-
 #include <afs/stds.h>
 #include <krb5.h>
 
@@ -90,6 +98,13 @@ u_long ntohl(u_long x)
 #include "aklog.h"
 #include "linked_list.h"
 
+#ifdef HAVE_KRB5_CREDS_KEYBLOCK
+#define USING_MIT 1
+#endif
+#ifdef HAVE_KRB5_CREDS_SESSION
+#define USING_HEIMDAL 1
+#endif
+
 #define AFSKEY "afs"
 #define AFSINST ""
 
@@ -184,6 +199,41 @@ static int get_user_realm(krb5_context, char *);
 #error "Must have either krb5_princ_size or krb5_principal_get_comp_string"
 #endif
 
+#if !defined(HAVE_KRB5_ENCRYPT_TKT_PART) && defined(HAVE_ENCODE_KRB5_ENC_TKT_PART)
+krb5_error_code
+krb5_encrypt_tkt_part(krb5_context context,
+                     const krb5_keyblock *key,
+                     krb5_ticket *ticket)
+{
+    krb5_data *data = 0;
+    int code;
+    size_t enclen;
+    
+    if ((code = encode_krb5_enc_tkt_part(ticket->enc_part2, &data)))
+       goto Done;
+    if ((code = krb5_c_encrypt_length(context, key->enctype,
+                                     data->length, &enclen)))
+       goto Done;
+    ticket->enc_part.ciphertext.length = enclen;
+    if (!(ticket->enc_part.ciphertext.data = malloc(enclen))) {
+       code = ENOMEM;
+       goto Done;
+    }
+    if ((code = krb5_c_encrypt(context, key, KRB5_KEYUSAGE_KDC_REP_TICKET,
+                              0, data, &ticket->enc_part))) {
+       free(ticket->enc_part.ciphertext.data);
+       ticket->enc_part.ciphertext.data = 0;
+    }
+Done:
+    if (data) {
+       if (data->data)
+           free(data->data);
+       free(data);
+    }
+    return code;
+}
+#endif
+
 #if defined(HAVE_KRB5_CREDS_KEYBLOCK)
 
 #define get_cred_keydata(c) c->keyblock.contents
@@ -203,9 +253,53 @@ static int get_user_realm(krb5_context, char *);
 #if !defined(HAVE_KRB5_524_CONVERT_CREDS) && defined(HAVE_KRB524_CONVERT_CREDS_KDC)
 #define krb5_524_convert_creds krb524_convert_creds_kdc
 #elif !defined(HAVE_KRB5_524_CONVERT_CREDS) && !defined(HAVE_KRB524_CONVERT_CREDS_KDC)
-#error "You must have one of krb5_524_convert_creds or krb524_convert_creds_kdc available"
+#define HAVE_NO_KRB5_524
+#endif
+
+#if USING_HEIMDAL
+#define deref_keyblock_enctype(kb)             \
+    ((kb)->keytype)
+
+#define deref_entry_keyblock(entry)            \
+    entry->keyblock
+
+#define deref_session_key(creds)               \
+    creds->session
+
+#define deref_enc_tkt_addrs(tkt)               \
+    tkt->caddr
+
+#define deref_enc_length(enc)                  \
+    ((enc)->cipher.length)
+
+#define deref_enc_data(enc)                    \
+    ((enc)->cipher.data)
+
+#define krb5_free_keytab_entry_contents krb5_kt_free_entry
+
+#else
+#define deref_keyblock_enctype(kb)             \
+    ((kb)->enctype)
+
+#define deref_entry_keyblock(entry)            \
+    entry->key
+
+#define deref_session_key(creds)               \
+    creds->keyblock
+
+#define deref_enc_tkt_addrs(tkt)               \
+    tkt->caddrs
+
+#define deref_enc_length(enc)                  \
+    ((enc)->ciphertext.length)
+
+#define deref_enc_data(enc)                    \
+    ((enc)->ciphertext.data)
+
 #endif
 
+#define deref_entry_enctype(entry)                     \
+    deref_keyblock_enctype(&deref_entry_keyblock(entry))
 #endif /* WINDOWS */
 
 /*
@@ -223,10 +317,12 @@ static int noauth = FALSE;        /* If true, don't try to get tokens */
 static int zsubs = FALSE;      /* Are we keeping track of zephyr subs? */
 static int hosts = FALSE;      /* Are we keeping track of hosts? */
 static int noprdb = FALSE;     /* Skip resolving name to id? */
-static int linked = FALSE;  /* try for both AFS nodes */
-static int afssetpag = FALSE; /* setpag for AFS */
+static int linked = FALSE;      /* try for both AFS nodes */
+static int afssetpag = FALSE;   /* setpag for AFS */
 static int force = FALSE;      /* Bash identical tokens? */
 static int do524 = FALSE;      /* Should we do 524 instead of rxkad2b? */
+static char *keytab = NULL;     /* keytab for akimpersonate */
+static char *client = NULL;     /* client principal for akimpersonate */
 static linked_list zsublist;   /* List of zephyr subscriptions */
 static linked_list hostlist;   /* List of host addresses */
 static linked_list authedcells;        /* List of cells already logged to */
@@ -247,17 +343,6 @@ static char *copy_cellinfo(cellinfo_t *cellinfo)
 }
 
 
-static char *copy_string(char *string)    
-{
-    char *new_string;
-
-    if ((new_string = (char *)calloc(strlen(string) + 1, sizeof(char))))
-       (void) strcpy(new_string, string);
-
-    return (new_string);
-}
-
-
 static int get_cellconfig(char *cell, struct afsconf_cell *cellconfig, char *local_cell, char *linkedcell)
 {
     int status = AKLOG_SUCCESS;
@@ -625,7 +710,7 @@ static int auth_to_cell(krb5_context context, char *cell, char *realm)
            }
            fprintf(stderr, "%s: Couldn't get %s AFS tickets:\n",
                    progname, cell_to_use);
-               com_err(progname, status, "while getting AFS tickets");
+               afs_com_err(progname, status, "while getting AFS tickets");
            return(AKLOG_KERBEROS);
        }
 
@@ -669,6 +754,7 @@ static int auth_to_cell(krb5_context context, char *cell, char *realm)
                   get_cred_keylen(v5cred));
            atoken.ticketLen = v5cred->ticket.length;
            memcpy(atoken.ticket, v5cred->ticket.data, atoken.ticketLen);
+#ifndef HAVE_NO_KRB5_524
        } else {
            CREDENTIALS cred;
 
@@ -678,7 +764,7 @@ static int auth_to_cell(krb5_context context, char *cell, char *realm)
            status = krb5_524_convert_creds(context, v5cred, &cred);
 
            if (status) {
-               com_err(progname, status, "while converting tickets "
+               afs_com_err(progname, status, "while converting tickets "
                        "to Kerberos V4 format");
                return(AKLOG_KERBEROS);
            }
@@ -703,6 +789,7 @@ static int auth_to_cell(krb5_context context, char *cell, char *realm)
            memcpy(&atoken.sessionKey, cred.session, 8);
            atoken.ticketLen = cred.ticket_st.length;
            memcpy(atoken.ticket, cred.ticket_st.dat, atoken.ticketLen);
+#endif /* HAVE_NO_KRB5_524 */
        }
        
        if (!force &&
@@ -735,7 +822,7 @@ static int auth_to_cell(krb5_context context, char *cell, char *realm)
            if ((status = get_user_realm(context, realm_of_user))) {
                fprintf(stderr, "%s: Couldn't determine realm of user:)",
                        progname);
-               com_err(progname, status, " while getting realm");
+               afs_com_err(progname, status, " while getting realm");
                return(AKLOG_KERBEROS);
            }
            if (strcmp(realm_of_user, realm_of_cell)) {
@@ -812,7 +899,7 @@ static int auth_to_cell(krb5_context context, char *cell, char *realm)
                if ((status = pr_CreateUser(username, &id))) {
                    fprintf(stderr, "%s: %s so unable to create remote PTS "
                            "user %s in cell %s (status: %d).\n", progname,
-                           error_message(status), username, cell_to_use,
+                           afs_error_message(status), username, cell_to_use,
                            status);
                } else {
                    printf("created cross-cell entry for %s (Id %d) at %s\n",
@@ -1225,7 +1312,11 @@ static void usage(void)
            "[-d] [[-cell | -c] cell [-k krb_realm]] ",
            "[[-p | -path] pathname]\n",
            "    [-zsubs] [-hosts] [-noauth] [-noprdb] [-force] [-setpag] \n"
-           "    [-linked] [-524]\n");
+               "    [-linked]"
+#ifndef HAVE_NO_KRB5_524
+               " [-524]"
+#endif
+               "\n");
     fprintf(stderr, "    -d gives debugging information.\n");
     fprintf(stderr, "    krb_realm is the kerberos realm of a cell.\n");
     fprintf(stderr, "    pathname is the name of a directory to which ");
@@ -1237,7 +1328,9 @@ static void usage(void)
     fprintf(stderr, "    -force means replace identical tickets. \n");
     fprintf(stderr, "    -linked means if AFS node is linked, try both. \n");
     fprintf(stderr, "    -setpag set the AFS process authentication group.\n");
+#ifndef HAVE_NO_KRB5_524
     fprintf(stderr, "    -524 means use the 524 converter instead of V5 directly\n");
+#endif
     fprintf(stderr, "    No commandline arguments means ");
     fprintf(stderr, "authenticate to the local cell.\n");
     fprintf(stderr, "\n");
@@ -1310,8 +1403,10 @@ void aklog(int argc, char *argv[])
                linked++;
        else if (strcmp(argv[i], "-force") == 0)
            force++;
+#ifndef HAVE_NO_KRB5_524
        else if (strcmp(argv[i], "-524") == 0)
            do524++;
+#endif
     else if (strcmp(argv[i], "-setpag") == 0)
            afssetpag++;
        else if (((strcmp(argv[i], "-cell") == 0) ||
@@ -1322,6 +1417,18 @@ void aklog(int argc, char *argv[])
            }
            else
                usage();
+       else if ((strcmp(argv[i], "-keytab") == 0))
+           if (++i < argc) {
+               keytab = argv[i];
+           }
+           else
+               usage();
+       else if ((strcmp(argv[i], "-principal") == 0))
+           if (++i < argc) {
+               client = argv[i];
+           }
+           else
+               usage();
        else if (((strcmp(argv[i], "-path") == 0) ||
                  (strcmp(argv[i], "-p") == 0)) && !cmode)
 #ifndef WINDOWS
@@ -1394,8 +1501,8 @@ void aklog(int argc, char *argv[])
        else if (pmode) {
            /* Add this path to list of paths */
            if ((cur_node = ll_add_node(&paths, ll_tail))) {
-               char *new_path; 
-               if ((new_path = copy_string(path)))
+               char *new_path;
+               if ((new_path = strdup(path)))
                    ll_add_data(cur_node, new_path);
                else {
                    fprintf(stderr, "%s: failure copying path name.\n",
@@ -1558,23 +1665,6 @@ void aklog(int argc, char *argv[])
     exit(status);
 }
 
-#ifndef HAVE_ADD_TO_ERROR_TABLE
-
-#define error_table error_table_compat
-#include <afs/error_table.h>
-#undef error_table
-
-#ifndef HAVE_ADD_ERROR_TABLE
-void add_error_table (const struct error_table *);
-#endif /* !HAVE_ADD_ERROR_TABLE */
-
-void
-add_to_error_table(struct et_list *new_table)
-{
-       add_error_table((struct error_table *) new_table->table);
-}
-#endif /* HAVE_ADD_TO_ERROR_TABLE */
-
 static int isdir(char *path, unsigned char *val)
 {
     struct stat statbuf;
@@ -1590,23 +1680,345 @@ static int isdir(char *path, unsigned char *val)
     }  
 }
 
+static krb5_error_code get_credv5_akimpersonate(krb5_context context,
+                                               char* keytab,
+                                               krb5_principal service_principal,
+                                               krb5_principal client_principal,
+                                               time_t starttime,
+                                               time_t endtime,
+                                               int *allowed_enctypes,
+                                               int *paddress,
+                                               krb5_creds** out_creds /* out */ )
+{
+#if defined(USING_HEIMDAL) || (defined(HAVE_ENCODE_KRB5_ENC_TKT) && defined(HAVE_ENCODE_KRB5_TICKET))
+    krb5_error_code code;
+    krb5_keytab kt = 0;
+    krb5_kt_cursor cursor[1];
+    krb5_keytab_entry entry[1];
+    krb5_ccache cc = 0;
+    krb5_creds *creds = 0;
+    krb5_enctype enctype;
+    krb5_kvno kvno;
+    krb5_keyblock session_key[1];
+#if USING_HEIMDAL
+    Ticket ticket_reply[1];
+    EncTicketPart enc_tkt_reply[1];
+    krb5_address address[30];
+    krb5_addresses faddr[1];
+    int temp_vno[1];
+    time_t temp_time[2];
+#else
+    krb5_ticket ticket_reply[1];
+    krb5_enc_tkt_part enc_tkt_reply[1];
+    krb5_address address[30], *faddr[30];
+#endif
+    krb5_data * temp;
+    int i;
+    static int any_enctype[] = {0};
+    *out_creds = 0;
+    if (!(creds = malloc(sizeof *creds))) {
+        code = ENOMEM;
+        goto cleanup;
+    }
+    if (!allowed_enctypes)
+        allowed_enctypes = any_enctype;
+
+    cc = 0;
+    enctype = 0; /* AKIMPERSONATE_IGNORE_ENCTYPE */
+    kvno = 0; /* AKIMPERSONATE_IGNORE_VNO */
+    memset((char*)creds, 0, sizeof *creds);
+    memset((char*)entry, 0, sizeof *entry);
+    memset((char*)session_key, 0, sizeof *session_key);
+    memset((char*)ticket_reply, 0, sizeof *ticket_reply);
+    memset((char*)enc_tkt_reply, 0, sizeof *enc_tkt_reply);
+    code = krb5_kt_resolve(context, keytab, &kt);
+    if (code) {
+        if (keytab)
+            com_err(progname, code, "while resolving keytab %s", keytab);
+        else
+            com_err(progname, code, "while resolving default keytab");
+        goto cleanup;
+    }
+
+    if (service_principal) {
+        for (i = 0; (enctype = allowed_enctypes[i]) || !i; ++i) {
+           code = krb5_kt_get_entry(context,
+                                    kt,
+                                    service_principal,
+                                    kvno,
+                                    enctype,
+                                    entry);
+           if (!code) {
+               if (allowed_enctypes[i])
+                   deref_keyblock_enctype(session_key) = allowed_enctypes[i];
+               break;
+           }
+        }
+        if (code) {
+           com_err(progname, code,"while scanning keytab entries");
+           goto cleanup;
+        }
+    } else {
+        krb5_keytab_entry new[1];
+        int best = -1;
+        memset(new, 0, sizeof *new);
+        if ((code == krb5_kt_start_seq_get(context, kt, cursor))) {
+            com_err(progname, code, "while starting keytab scan");
+            goto cleanup;
+        }
+        while (!(code = krb5_kt_next_entry(context, kt, new, cursor))) {
+            for (i = 0;
+                    allowed_enctypes[i] && allowed_enctypes[i]
+                    != deref_entry_enctype(new); ++i)
+                ;
+            if ((!i || allowed_enctypes[i]) &&
+               (best < 0 || best > i)) {
+                krb5_free_keytab_entry_contents(context, entry);
+                *entry = *new;
+                memset(new, 0, sizeof *new);
+            } else krb5_free_keytab_entry_contents(context, new);
+        }
+        if ((i = krb5_kt_end_seq_get(context, kt, cursor))) {
+            com_err(progname, i, "while ending keytab scan");
+            code = i;
+            goto cleanup;
+        }
+        if (best < 0) {
+            com_err(progname, code, "while scanning keytab");
+            goto cleanup;
+        }
+        deref_keyblock_enctype(session_key) = deref_entry_enctype(entry);
+    }
+
+    /* Make Ticket */
+
+#if USING_HEIMDAL
+    if ((code = krb5_generate_random_keyblock(context,
+                                             deref_keyblock_enctype(session_key), session_key))) {
+        com_err(progname, code, "while making session key");
+        goto cleanup;
+    }
+    enc_tkt_reply->flags.initial = 1;
+    enc_tkt_reply->transited.tr_type = DOMAIN_X500_COMPRESS;
+    enc_tkt_reply->cname = client_principal->name;
+    enc_tkt_reply->crealm = client_principal->realm;
+    enc_tkt_reply->key = *session_key;
+    {
+        static krb5_data empty_string;
+        enc_tkt_reply->transited.contents = empty_string;
+    }
+    enc_tkt_reply->authtime = starttime;
+    enc_tkt_reply->starttime = temp_time;
+    *enc_tkt_reply->starttime = starttime;
+#if 0
+    enc_tkt_reply->renew_till = temp_time + 1;
+    *enc_tkt_reply->renew_till = endtime;
+#endif
+    enc_tkt_reply->endtime = endtime;
+#else
+    if ((code = krb5_c_make_random_key(context,
+                                      deref_keyblock_enctype(session_key), session_key))) {
+        com_err(progname, code, "while making session key");
+        goto cleanup;
+    }
+    enc_tkt_reply->magic = KV5M_ENC_TKT_PART;
+#define DATACAST        (unsigned char *)
+    enc_tkt_reply->flags |= TKT_FLG_INITIAL;
+    enc_tkt_reply->transited.tr_type = KRB5_DOMAIN_X500_COMPRESS;
+    enc_tkt_reply->session = session_key;
+    enc_tkt_reply->client = client_principal;
+    {
+        static krb5_data empty_string;
+        enc_tkt_reply->transited.tr_contents = empty_string;
+    }
+    enc_tkt_reply->times.authtime = starttime;
+    enc_tkt_reply->times.starttime = starttime; /* krb524init needs this */
+    enc_tkt_reply->times.endtime = endtime;
+#endif  /* USING_HEIMDAL */
+    /* NB:  We will discard address for now--ignoring caddr field               
+       in any case.  MIT branch does what it always did. */
+
+    if (paddress && *paddress) {
+        deref_enc_tkt_addrs(enc_tkt_reply) = faddr;
+#if USING_HEIMDAL
+        faddr->len = 0;
+        faddr->val = address;
+#endif
+        for (i = 0; paddress[i]; ++i) {
+#if USING_HEIMDAL
+            address[i].addr_type = KRB5_ADDRESS_INET;
+            address[i].address.data = (void*)(paddress+i);
+            address[i].address.length = sizeof(paddress[i]);
+#else
+#if !USING_SSL
+            address[i].magic = KV5M_ADDRESS;
+            address[i].addrtype = ADDRTYPE_INET;
+#else
+            address[i].addrtype = AF_INET;
+#endif
+            address[i].contents = (void*)(paddress+i);
+            address[i].length = sizeof(int);
+            faddr[i] = address+i;
+#endif
+        }
+#if USING_HEIMDAL
+        faddr->len = i;
+#else
+        faddr[i] = 0;
+#endif
+    }
+
+#if USING_HEIMDAL
+    ticket_reply->sname = service_principal->name;
+    ticket_reply->realm = service_principal->realm;
+
+    { /* crypto block */
+        krb5_crypto crypto = 0;
+        unsigned char *buf = 0;
+        size_t buf_size, buf_len;
+        char *what;
+
+        ASN1_MALLOC_ENCODE(EncTicketPart, buf, buf_size,
+                          enc_tkt_reply, &buf_len, code);
+        if(code) {
+            com_err(progname, code, "while encoding ticket");
+            goto cleanup;
+        }
+
+        if(buf_len != buf_size) {
+            com_err(progname, code,
+                   "%d != %d while encoding ticket (internal ASN.1 encoder error",
+                   buf_len, buf_size);
+            goto cleanup;
+        }
+        what = "krb5_crypto_init";
+        code = krb5_crypto_init(context,
+                               &deref_entry_keyblock(entry),
+                               deref_entry_enctype(entry),
+                               &crypto);
+        if(!code) {
+            what = "krb5_encrypt";
+            code = krb5_encrypt_EncryptedData(context, crypto, KRB5_KU_TICKET,
+                                             buf, buf_len, entry->vno, &(ticket_reply->enc_part));
+        }
+        if (buf) free(buf);
+        if (crypto) krb5_crypto_destroy(context, crypto);
+        if(code) {
+            com_err(progname, code, "while %s", what);
+            goto cleanup;
+        }
+    } /* crypto block */
+    ticket_reply->enc_part.etype = deref_entry_enctype(entry);
+    ticket_reply->enc_part.kvno = temp_vno;
+    *ticket_reply->enc_part.kvno = entry->vno;
+    ticket_reply->tkt_vno = 5;
+#else
+    ticket_reply->server = service_principal;
+    ticket_reply->enc_part2 = enc_tkt_reply;
+    if ((code = krb5_encrypt_tkt_part(context, &deref_entry_keyblock(entry), ticket_reply))) {
+        com_err(progname, code, "while making ticket");
+        goto cleanup;
+    }
+    ticket_reply->enc_part.kvno = entry->vno;
+#endif
+
+    /* Construct Creds */
+
+    if ((code = krb5_copy_principal(context, service_principal,
+                                   &creds->server))) {
+        com_err(progname, code, "while copying service principal");
+        goto cleanup;
+    }
+    if ((code = krb5_copy_principal(context, client_principal,
+                                   &creds->client))) {
+        com_err(progname, code, "while copying client principal");
+        goto cleanup;
+    }
+    if ((code = krb5_copy_keyblock_contents(context, session_key,
+                                           &deref_session_key(creds)))) {
+        com_err(progname, code, "while copying session key");
+        goto cleanup;
+    }
+
+#if USING_HEIMDAL
+    creds->times.authtime = enc_tkt_reply->authtime;
+    creds->times.starttime = *(enc_tkt_reply->starttime);
+    creds->times.endtime = enc_tkt_reply->endtime;
+    creds->times.renew_till = 0; /* *(enc_tkt_reply->renew_till) */
+    creds->flags.b = enc_tkt_reply->flags;
+#else
+    creds->times = enc_tkt_reply->times;
+    creds->ticket_flags = enc_tkt_reply->flags;
+#endif
+    if (!deref_enc_tkt_addrs(enc_tkt_reply))
+        ;
+    else if ((code = krb5_copy_addresses(context,
+                                        deref_enc_tkt_addrs(enc_tkt_reply), &creds->addresses))) {
+        com_err(progname, code, "while copying addresses");
+        goto cleanup;
+    }
+
+#if USING_HEIMDAL
+    {
+       size_t creds_tkt_len;
+       ASN1_MALLOC_ENCODE(Ticket, creds->ticket.data, creds->ticket.length,
+                          ticket_reply, &creds_tkt_len, code);
+       if(code) {
+           com_err(progname, code, "while encoding ticket");
+           goto cleanup;
+       }
+    }
+#else
+    if ((code = encode_krb5_ticket(ticket_reply, &temp))) {
+       com_err(progname, code, "while encoding ticket");
+       goto cleanup;
+    }
+    creds->ticket = *temp;
+    free(temp);
+#endif
+    /* return creds */
+    *out_creds = creds;
+    creds = 0;
+cleanup:
+    if (deref_enc_data(&ticket_reply->enc_part))
+        free(deref_enc_data(&ticket_reply->enc_part));
+    krb5_free_keytab_entry_contents(context, entry);
+    if (client_principal)
+        krb5_free_principal(context, client_principal);
+    if (service_principal)
+        krb5_free_principal(context, service_principal);
+    if (cc)
+        krb5_cc_close(context, cc);
+    if (kt)
+        krb5_kt_close(context, kt);
+    if (creds) krb5_free_creds(context, creds);
+    krb5_free_keyblock_contents(context, session_key);
+out:
+    return code;
+#else
+    return -1;
+#endif
+}
+
+
 static krb5_error_code get_credv5(krb5_context context, 
-                       char *name, char *inst, char *realm,
-                       krb5_creds **creds)
+                                 char *name, char *inst, char *realm,
+                                 krb5_creds **creds)
 {
     krb5_creds increds;
     krb5_error_code r;
     static krb5_principal client_principal = 0;
-
+    
     memset((char *)&increds, 0, sizeof(increds));
 /* ANL - instance may be ptr to a null string. Pass null then */
     if ((r = krb5_build_principal(context, &increds.server,
-                     strlen(realm), realm,
-                     name,
-           (inst && strlen(inst)) ? inst : (void *) NULL,
-                     (void *) NULL))) {
+                                 strlen(realm), realm,
+                                 name,
+                                 (inst && strlen(inst)) ? inst : (void *) NULL,
+                                 (void *) NULL))) {
         return r;
     }
+    
 
     if (!_krb425_ccache) {
         r = krb5_cc_default(context, &_krb425_ccache);
@@ -1614,18 +2026,36 @@ static krb5_error_code get_credv5(krb5_context context,
            return r;
     }
     if (!client_principal) {
-        r = krb5_cc_get_principal(context, _krb425_ccache, &client_principal);
+       if (client) {
+           r = krb5_parse_name(context, client,  &client_principal);
+       } else {
+           r = krb5_cc_get_principal(context, _krb425_ccache, &client_principal);
+       }
        if (r)
            return r;
     }
-
+    
     increds.client = client_principal;
     increds.times.endtime = 0;
-       /* Ask for DES since that is what V4 understands */
+    /* Ask for DES since that is what V4 understands */
     get_creds_enctype((&increds)) = ENCTYPE_DES_CBC_CRC;
-
-    r = krb5_get_credentials(context, 0, _krb425_ccache, &increds, creds);
-
+    
+    if (keytab) {
+       int allowed_enctypes[] = {
+           ENCTYPE_DES_CBC_CRC, 0
+       };
+
+       r = get_credv5_akimpersonate(context,
+                                    keytab,
+                                    increds.server,
+                                    increds.client,
+                                    300, ((~0U)>>1),
+                                    allowed_enctypes,
+                                    0 /* paddress */,
+                                    creds /* out */);
+    } else {
+       r = krb5_get_credentials(context, 0, _krb425_ccache, &increds, creds);
+    }    
     return r;
 }
 
@@ -1634,16 +2064,24 @@ static int get_user_realm(krb5_context context, char *realm)
 {
     static krb5_principal client_principal = 0;
     int i;
+    krb5_error_code r = 0;
 
     if (!_krb425_ccache)
         krb5_cc_default(context, &_krb425_ccache);
-    if (!client_principal)
-        krb5_cc_get_principal(context, _krb425_ccache, &client_principal);
+    if (!client_principal) {
+       if (client) {
+           r = krb5_parse_name(context, client,  &client_principal);
+       } else {
+           r = krb5_cc_get_principal(context, _krb425_ccache, &client_principal);
+       }
+       if (r)
+           return r;
+    }
 
     i = realm_len(context, client_principal);
     if (i > REALM_SZ-1) i = REALM_SZ-1;
     strncpy(realm,realm_data(context, client_principal), i);
     realm[i] = 0;
 
-    return(0);
+    return(r);
 }
index 41a21508def2e29128d8f0fea2a60a214a703b91..39a3311fbe2e1d219eb66b939e67ef9732bf616c 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $Id: asetkey.c,v 1.4.2.6 2007/01/05 03:22:00 shadow Exp $
+ * $Id: asetkey.c,v 1.4.2.7 2007/04/10 18:43:40 shadow Exp $
  *
  * asetkey - Manipulates an AFS KeyFile
  *
@@ -85,13 +85,13 @@ main(int argc, char *argv[])
        kvno = atoi(argv[2]);
        retval = krb5_parse_name(context, argv[4], &principal);
        if (retval != 0) {
-               com_err(argv[0], retval, "while parsing AFS principal");
+               afs_com_err(argv[0], retval, "while parsing AFS principal");
                exit(1);
        }
        retval = krb5_kt_read_service_key(context, argv[3], principal, kvno,
                                          ENCTYPE_DES_CBC_CRC, &key);
        if (retval != 0) {
-               com_err(argv[0], retval, "while extracting AFS service key");
+               afs_com_err(argv[0], retval, "while extracting AFS service key");
                exit(1);
        }
 
index 37d4b1f5352a2b3854b2d5b867ad2e57b7656d36..8230e37e6de04874b70920b0b18a6cea1b52d06b 100644 (file)
@@ -17,7 +17,7 @@
 #endif
 
 RCSID
-    ("$Header: /cvs/openafs/src/auth/ktc.c,v 1.15.2.6 2006/10/06 12:44:40 shadow Exp $");
+    ("$Header: /cvs/openafs/src/auth/ktc.c,v 1.15.2.7 2007/08/09 14:59:54 shadow Exp $");
 
 #if defined(UKERNEL)
 #include "afs/sysincludes.h"
@@ -1163,6 +1163,7 @@ afs_tf_get_cred(principal, token)
 {
     int k_errno;
     int kvno, lifetime;
+    long mit_compat;           /* MIT Kerberos 5 with Krb4 uses a "long" for issue_date */
 
     if (fd < 0) {
        return TKT_FIL_INI;
@@ -1199,10 +1200,10 @@ afs_tf_get_cred(principal, token)
        /* don't try to read a silly amount into ticket->dat */
        token->ticketLen > MAXKTCTICKETLEN
        || tf_read((char *)(token->ticket), token->ticketLen) < 1
-       || tf_read((char *)&(token->startTime),
-                  sizeof(token->startTime)) < 1) {
+       || tf_read((char *)&mit_compat, sizeof(mit_compat)) < 1) {
        return TKT_FIL_FMT;
     }
+    token->startTime = mit_compat;
     token->endTime = life_to_time(token->startTime, lifetime);
     token->kvno = kvno;
     return 0;
@@ -1330,6 +1331,7 @@ afs_tf_save_cred(aserver, atoken, aclient)
     off_t start;
     int lifetime, kvno;
     int count;                 /* count for write */
+    long mit_compat;           /* MIT Kerberos 5 with Krb4 uses a "long" for issue_date */
 
     if (fd < 0) {              /* fd is ticket file as set by afs_tf_init */
        return TKT_FIL_INI;
@@ -1399,8 +1401,9 @@ afs_tf_save_cred(aserver, atoken, aclient)
     if (write(fd, atoken->ticket, count) != count)
        goto bad;
     /* Issue date */
-    if (write(fd, (char *)&atoken->startTime, sizeof(afs_int32))
-       != sizeof(afs_int32))
+    mit_compat = atoken->startTime;
+    if (write(fd, (char *)&mit_compat, sizeof(mit_compat))
+       != sizeof(mit_compat))
        goto bad;
 
     /* Actually, we should check each write for success */
index 8403baa8ab82b559831f1e2989f780acc846dad9..0121155502c35ad014aea2e02df0a2d6d0644a31 100644 (file)
@@ -11,7 +11,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/bozo/bos.c,v 1.20.2.2 2004/10/18 17:43:53 shadow Exp $");
+    ("$Header: /cvs/openafs/src/bozo/bos.c,v 1.20.2.3 2007/04/10 18:43:40 shadow Exp $");
 
 #include <afs/stds.h>
 #include <stdlib.h>
@@ -93,7 +93,7 @@ em(acode)
     else if (acode == -3)
        return "communications timeout (-3)";
     else
-       return (char *)error_message(acode);
+       return (char *)afs_error_message(acode);
 }
 
 /* get partition id from a name */
@@ -204,7 +204,7 @@ GetConn(as, aencrypt)
         * local cell */
        code = afsconf_GetCellInfo(tdir, tname, NULL, &info);
        if (code) {
-           com_err("bos", code, "(can't find cell '%s' in cell database)",
+           afs_com_err("bos", code, "(can't find cell '%s' in cell database)",
                    (tname ? tname : "<default>"));
            exit(1);
        } else
@@ -224,14 +224,14 @@ GetConn(as, aencrypt)
        if (as->parms[ADDPARMOFFSET + 2].items) {       /* -localauth */
            code = afsconf_GetLatestKey(tdir, 0, 0);
            if (code)
-               com_err("bos", code, "(getting key from local KeyFile)");
+               afs_com_err("bos", code, "(getting key from local KeyFile)");
            else {
                if (aencrypt)
                    code = afsconf_ClientAuthSecure(tdir, &sc[2], &scIndex);
                else
                    code = afsconf_ClientAuth(tdir, &sc[2], &scIndex);
                if (code)
-                   com_err("bos", code, "(calling ClientAuth)");
+                   afs_com_err("bos", code, "(calling ClientAuth)");
                else if (scIndex != 2)  /* this shouldn't happen */
                    sc[scIndex] = sc[2];
            }
@@ -258,7 +258,7 @@ GetConn(as, aencrypt)
                                                  ttoken.ticket);
                scIndex = 2;
            } else
-               com_err("bos", code, "(getting tickets)");
+               afs_com_err("bos", code, "(getting tickets)");
        }
        if ((scIndex == 0) || (sc[scIndex] == 0)) {
            fprintf(stderr, "bos: running unauthenticated\n");
@@ -300,7 +300,7 @@ SetAuth(as)
     }
     code = BOZO_SetNoAuthFlag(tconn, flag);
     if (code)
-       com_err("bos", code, "(failed to set authentication flag)");
+       afs_com_err("bos", code, "(failed to set authentication flag)");
     return 0;
 }
 
@@ -368,7 +368,7 @@ Prune(as)
        flags |= 0xff;
     code = BOZO_Prune(tconn, flags);
     if (code)
-       com_err("bos", code, "(failed to prune server files)");
+       afs_com_err("bos", code, "(failed to prune server files)");
     return code;
 }
 
@@ -1467,7 +1467,7 @@ GetLogCmd(as)
 
   done:
     if (code)
-       com_err("bos", code, "(while reading log)");
+       afs_com_err("bos", code, "(while reading log)");
     return code;
 }
 
index 8fa25d21c8748e2b093fe5c76c26080d82aeab0b..ec7258980797311f1587c0b25efcb33346685441 100644 (file)
@@ -11,7 +11,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/bozo/bosserver.c,v 1.23.2.10 2006/12/21 23:15:35 shadow Exp $");
+    ("$Header: /cvs/openafs/src/bozo/bosserver.c,v 1.23.2.11 2007/05/14 19:27:49 shadow Exp $");
 
 #include <afs/stds.h>
 #include <sys/types.h>
@@ -1100,12 +1100,11 @@ bozo_Log(char *a, char *b, char *c, char *d, char *e, char *f)
            fprintf(bozo_logFile, "%s ", tdate);
            fprintf(bozo_logFile, a, b, c, d, e, f);
            fflush(bozo_logFile);
+           /* close so rm BosLog works */
+           fclose(bozo_logFile);
        } else {
            printf("%s ", tdate);
            printf(a, b, c, d, e, f);
        }
-
-       /* close so rm BosLog works */
-       fclose(bozo_logFile);
     }
 }
index 077c339cc84ab23aac51d378d2cba4066719ce04..13fd67751b0ba6833037a422aaad63cf4048fbc6 100644 (file)
@@ -11,7 +11,7 @@
 #include <afs/stds.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/bucoord/bc_status.c,v 1.11.2.1 2007/01/05 03:34:08 shadow Exp $");
+    ("$Header: /cvs/openafs/src/bucoord/bc_status.c,v 1.11.2.2 2007/04/10 18:43:41 shadow Exp $");
 
 #include <afs/stds.h>
 #include <sys/types.h>
@@ -119,7 +119,7 @@ cmdDispatch()
 
     code = cmd_ParseLine(internalCmdLine, targv, &targc, MAXV);
     if (code) {
-       printf("Couldn't parse line: '%s'", error_message(code));
+       printf("Couldn't parse line: '%s'", afs_error_message(code));
        return (1);
     }
     free(internalCmdLine);
@@ -267,8 +267,8 @@ statusWatcher()
        if (localTaskFlags & ABORT_REQUEST) {
            code = TC_RequestAbort(tconn, taskId);
            if (code) {
-               com_err("statusWatcher", code, "; Can't post abort request");
-               com_err("statusWatcher", 0, "...Deleting job");
+               afs_com_err("statusWatcher", code, "; Can't post abort request");
+               afs_com_err("statusWatcher", 0, "...Deleting job");
                if (localTaskFlags & NOREMOVE) {
                    curPollPtr->flags |= (STARTING | TASK_ERROR);
                    curPollPtr->scheduledDump = 0;
index d315cdee70ac65822957e3fd8c8c55bcd436edb1..42fdba065e6cf60e994e9ed02bf17a554f2bc430 100644 (file)
@@ -11,7 +11,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/bucoord/commands.c,v 1.14.2.7 2007/01/05 03:34:08 shadow Exp $");
+    ("$Header: /cvs/openafs/src/bucoord/commands.c,v 1.14.2.9 2007/06/23 15:27:22 shadow Exp $");
 
 #include <afs/stds.h>
 #if defined(AFS_LINUX24_ENV)
@@ -119,7 +119,7 @@ getSPEntries(server, partition, serverlist, ss, ps)
     if (!(*ss)) {
        *ss = (struct serversort *)malloc(sizeof(struct serversort));
        if (!(*ss)) {
-           com_err(whoami, BC_NOMEM, "");
+           afs_com_err(whoami, BC_NOMEM, "");
            *ss = 0;
            return (BC_NOMEM);
        }
@@ -140,7 +140,7 @@ getSPEntries(server, partition, serverlist, ss, ps)
     if (!(*ps)) {
        *ps = (struct partitionsort *)malloc(sizeof(struct partitionsort));
        if (!(*ps)) {
-           com_err(whoami, BC_NOMEM, "");
+           afs_com_err(whoami, BC_NOMEM, "");
            free(*ss);
            *ps = 0;
            *ss = 0;
@@ -287,7 +287,7 @@ EvalVolumeSet2(aconfig, avs, avols, uclient)
                                 entries[e].serverPartition[ei], &servers,
                                 &ss, &ps);
                if (tcode) {
-                   com_err(whoami, tcode, "");
+                   afs_com_err(whoami, tcode, "");
                    ERROR(tcode);
                }
 
@@ -319,14 +319,14 @@ EvalVolumeSet2(aconfig, avs, avols, uclient)
                    tvd = (struct bc_volumeDump *)
                        malloc(sizeof(struct bc_volumeDump));
                    if (!tvd) {
-                       com_err(whoami, BC_NOMEM, "");
+                       afs_com_err(whoami, BC_NOMEM, "");
                        ERROR(BC_NOMEM);
                    }
                    memset(tvd, 0, sizeof(*tvd));
 
                    tvd->name = (char *)malloc(strlen(entries[e].name) + 10);
                    if (!(tvd->name)) {
-                       com_err(whoami, BC_NOMEM, "");
+                       afs_com_err(whoami, BC_NOMEM, "");
                        free(tvd);
                        ERROR(BC_NOMEM);
                    }
@@ -489,7 +489,7 @@ EvalVolumeSet1(aconfig, avs, avols, uclient)
                    sprintf(patt, "^%s$", tve->name);
                    errm = (char *)re_comp(patt);
                    if (errm) {
-                       com_err(whoami, 0,
+                       afs_com_err(whoami, 0,
                                "Can't compile regular expression '%s': %s",
                                patt, errm);
                        return (-1);
@@ -543,7 +543,7 @@ EvalVolumeSet1(aconfig, avs, avols, uclient)
                }
 
                if (code < 0)
-                   com_err(whoami, 0, "Internal error in regex package");
+                   afs_com_err(whoami, 0, "Internal error in regex package");
            }                   /*s */
 
            /* If found a match, then create a new volume dump entry */
@@ -554,7 +554,7 @@ EvalVolumeSet1(aconfig, avs, avols, uclient)
                                 entry.serverPartition[foundentry], &servers,
                                 &ss, &ps);
                if (code) {
-                   com_err(whoami, code, "");
+                   afs_com_err(whoami, code, "");
                    return (code);
                }
 
@@ -562,14 +562,14 @@ EvalVolumeSet1(aconfig, avs, avols, uclient)
                tvd = (struct bc_volumeDump *)
                    malloc(sizeof(struct bc_volumeDump));
                if (!tvd) {
-                   com_err(whoami, BC_NOMEM, "");
+                   afs_com_err(whoami, BC_NOMEM, "");
                    return (BC_NOMEM);
                }
                memset(tvd, 0, sizeof(*tvd));
 
                tvd->name = (char *)malloc(strlen(entry.name) + 10);
                if (!(tvd->name)) {
-                   com_err(whoami, BC_NOMEM, "");
+                   afs_com_err(whoami, BC_NOMEM, "");
                    free(tvd);
                    return (BC_NOMEM);
                }
@@ -712,7 +712,7 @@ bc_CopyString(astring)
     tlen = strlen(astring);
     tp = (char *)malloc(tlen + 1);     /* don't forget the terminating null */
     if (!tp) {
-       com_err(whoami, BC_NOMEM, "");
+       afs_com_err(whoami, BC_NOMEM, "");
        return (tp);
     }
     strcpy(tp, astring);
@@ -740,13 +740,13 @@ concatParams(itemPtr)
     }
 
     if (length == 0) {         /* no string (0 length) */
-       com_err(whoami, 0, "Can't have zero length date and time string");
+       afs_com_err(whoami, 0, "Can't have zero length date and time string");
        return (NULL);
     }
 
     string = (char *)malloc(length);   /* allocate the string */
     if (!string) {
-       com_err(whoami, BC_NOMEM, "");
+       afs_com_err(whoami, BC_NOMEM, "");
        return (NULL);
     }
     string[0] = 0;
@@ -809,10 +809,10 @@ getPortOffset(port)
     portOffset = bc_SafeATOI(port);
 
     if (portOffset < 0) {
-       com_err(whoami, 0, "Can't decode port offset '%s'", port);
+       afs_com_err(whoami, 0, "Can't decode port offset '%s'", port);
        return (-1);
     } else if (portOffset > BC_MAXPORTOFFSET) {
-       com_err(whoami, 0, "%u exceeds max port offset %u", portOffset,
+       afs_com_err(whoami, 0, "%u exceeds max port offset %u", portOffset,
                BC_MAXPORTOFFSET);
        return (-1);
     }
@@ -838,7 +838,7 @@ bc_GetTapeStatusCmd(as, arock)
 
     code = bc_UpdateHosts();
     if (code) {
-       com_err(whoami, code, "; Can't retrieve tape hosts");
+       afs_com_err(whoami, code, "; Can't retrieve tape hosts");
        return (code);
     }
 
@@ -861,7 +861,7 @@ bc_GetTapeStatusCmd(as, arock)
        if (code) {
            if (code == TC_NOTASKS)
                break;
-           com_err(whoami, code, "; Can't get status from butc");
+           afs_com_err(whoami, code, "; Can't get status from butc");
            return (-1);
        }
        if ((flags & TSK_STAT_NOTFOUND))
@@ -897,7 +897,7 @@ bc_WaitForNoJobs()
 
     extern dlqlinkT statusHead;
 
-    com_err(whoami, 0, "waiting for job termination");
+    afs_com_err(whoami, 0, "waiting for job termination");
 
     while (usefulJobRunning) {
        usefulJobRunning = (dlqEmpty(&statusHead) ? 0 : 1);
@@ -1058,7 +1058,7 @@ bc_KillCmd(as, arock)
     if (strchr(tp, '.') == 0) {
        slot = bc_SafeATOI(tp);
        if (slot == -1) {
-           com_err(whoami, 0, "Bad syntax for number '%s'", tp);
+           afs_com_err(whoami, 0, "Bad syntax for number '%s'", tp);
            return -1;
        }
 
@@ -1091,7 +1091,7 @@ bc_KillCmd(as, arock)
            }
        }
        if (i >= BC_MAXSIMDUMPS) {
-           com_err(whoami, 0, "Can't find job %s", tp);
+           afs_com_err(whoami, 0, "Can't find job %s", tp);
            return -1;
        }
 
@@ -1099,7 +1099,7 @@ bc_KillCmd(as, arock)
        statusPtr = findStatus(td->dumpID);
 
        if (statusPtr == 0) {
-           com_err(whoami, 0, "Can't locate status - internal error");
+           afs_com_err(whoami, 0, "Can't locate status - internal error");
            unlock_Status();
            return (-1);
        }
@@ -1139,6 +1139,7 @@ bc_VolRestoreCmd(as, arock)
     afs_int32 code;
     int oldFlag;
     afs_int32 fromDate;
+    afs_int32 dumpID = 0;
     char *newExt, *timeString;
     afs_int32 i;
     afs_int32 *ports = NULL;
@@ -1147,7 +1148,7 @@ bc_VolRestoreCmd(as, arock)
 
     code = bc_UpdateHosts();
     if (code) {
-       com_err(whoami, code, "; Can't retrieve tape hosts");
+       afs_com_err(whoami, code, "; Can't retrieve tape hosts");
        return (code);
     }
 
@@ -1155,7 +1156,7 @@ bc_VolRestoreCmd(as, arock)
     if (as->parms[0].items) {
        tp = as->parms[0].items->data;
        if (bc_ParseHost(tp, &destServ)) {
-           com_err(whoami, 0, "Failed to locate destination host '%s'", tp);
+           afs_com_err(whoami, 0, "Failed to locate destination host '%s'", tp);
            return -1;
        }
     }
@@ -1164,7 +1165,7 @@ bc_VolRestoreCmd(as, arock)
     if (as->parms[1].items) {
        tp = as->parms[1].items->data;
        if (bc_GetPartitionID(tp, &destPartition)) {
-           com_err(whoami, 0, "Can't parse destination partition '%s'", tp);
+           afs_com_err(whoami, 0, "Can't parse destination partition '%s'", tp);
            return -1;
        }
     }
@@ -1173,14 +1174,14 @@ bc_VolRestoreCmd(as, arock)
        /* build list of volume items */
        tvol = (struct bc_volumeDump *)malloc(sizeof(struct bc_volumeDump));
        if (!tvol) {
-           com_err(whoami, BC_NOMEM, "");
+           afs_com_err(whoami, BC_NOMEM, "");
            return BC_NOMEM;
        }
        memset(tvol, 0, sizeof(struct bc_volumeDump));
 
        tvol->name = (char *)malloc(VOLSER_MAXVOLNAME + 1);
        if (!tvol->name) {
-           com_err(whoami, BC_NOMEM, "");
+           afs_com_err(whoami, BC_NOMEM, "");
            return BC_NOMEM;
        }
        strncpy(tvol->name, ti->data, VOLSER_OLDMAXVOLNAME);
@@ -1201,8 +1202,8 @@ bc_VolRestoreCmd(as, arock)
        code = ktime_DateToLong(timeString, &fromDate);
        free(timeString);
        if (code) {
-           com_err(whoami, 0, "Can't parse restore date and time");
-           com_err(whoami, 0, "%s", ktime_GetDateUsage());
+           afs_com_err(whoami, 0, "Can't parse restore date and time");
+           afs_com_err(whoami, 0, "%s", ktime_GetDateUsage());
            return code;
        }
     } else {
@@ -1220,7 +1221,7 @@ bc_VolRestoreCmd(as, arock)
            portCount++;
        ports = (afs_int32 *) malloc(portCount * sizeof(afs_int32));
        if (!ports) {
-           com_err(whoami, BC_NOMEM, "");
+           afs_com_err(whoami, BC_NOMEM, "");
            return BC_NOMEM;
        }
 
@@ -1233,17 +1234,24 @@ bc_VolRestoreCmd(as, arock)
 
     dontExecute = (as->parms[6].items ? 1 : 0);        /* -n */
 
+    if (as->parms[7].items)
+      {
+       dumpID = atoi(as->parms[7].items->data);
+       if (dumpID <= 0)
+         dumpID = 0;
+      }
+    
     /*
      * Perform the call to start the restore.
      */
     code =
        bc_StartDmpRst(bc_globalConfig, "volume", "restore", volsToRestore,
                       &destServ, destPartition, fromDate, newExt, oldFlag,
-                      /*parentDump */ 0, /*dumpLevel */ 0,
+                      /*parentDump */ dumpID, /*dumpLevel */ 0,
                       bc_Restorer, ports, portCount,
                       /*dumpSched */ NULL, /*append */ 0, dontExecute);
     if (code)
-       com_err(whoami, code, "; Failed to queue restore");
+       afs_com_err(whoami, code, "; Failed to queue restore");
 
     return (code);
 }
@@ -1289,12 +1297,12 @@ bc_DiskRestoreCmd(as, arock)
 
     code = bc_UpdateVolumeSet();
     if (code) {
-       com_err(whoami, code, "; Can't retrieve volume sets");
+       afs_com_err(whoami, code, "; Can't retrieve volume sets");
        return (code);
     }
     code = bc_UpdateHosts();
     if (code) {
-       com_err(whoami, code, "; Can't retrieve tape hosts");
+       afs_com_err(whoami, code, "; Can't retrieve tape hosts");
        return (code);
     }
 
@@ -1307,13 +1315,13 @@ bc_DiskRestoreCmd(as, arock)
     tvolumeEntry.partname = as->parms[1].items->data;
 
     if (bc_GetPartitionID(tvolumeEntry.partname, &tvolumeEntry.partition)) {
-       com_err(whoami, 0, "Can't parse partition '%s'",
+       afs_com_err(whoami, 0, "Can't parse partition '%s'",
                tvolumeEntry.partname);
        return -1;
     }
 
     if (bc_ParseHost(tvolumeEntry.serverName, &tvolumeEntry.server)) {
-       com_err(whoami, 0, "Can't locate host '%s'", tvolumeEntry.serverName);
+       afs_com_err(whoami, 0, "Can't locate host '%s'", tvolumeEntry.serverName);
        return -1;
     }
 
@@ -1321,7 +1329,7 @@ bc_DiskRestoreCmd(as, arock)
     if (as->parms[8].items) {
        tp = as->parms[8].items->data;
        if (bc_ParseHost(tp, &destServ)) {
-           com_err(whoami, 0, "Can't locate destination host '%s'", tp);
+           afs_com_err(whoami, 0, "Can't locate destination host '%s'", tp);
            return -1;
        }
     } else                     /* use destination host == original host */
@@ -1331,7 +1339,7 @@ bc_DiskRestoreCmd(as, arock)
     if (as->parms[9].items) {
        tp = as->parms[9].items->data;
        if (bc_GetPartitionID(tp, &destPartition)) {
-           com_err(whoami, 0, "Can't parse destination partition '%s'", tp);
+           afs_com_err(whoami, 0, "Can't parse destination partition '%s'", tp);
            return -1;
        }
     } else                     /* use original partition */
@@ -1344,7 +1352,7 @@ bc_DiskRestoreCmd(as, arock)
            portCount++;
        ports = (afs_int32 *) malloc(portCount * sizeof(afs_int32));
        if (!ports) {
-           com_err(whoami, BC_NOMEM, "");
+           afs_com_err(whoami, BC_NOMEM, "");
            return BC_NOMEM;
        }
 
@@ -1365,7 +1373,7 @@ bc_DiskRestoreCmd(as, arock)
        bc_EvalVolumeSet(bc_globalConfig, &tvolumeSet, &volsToRestore,
                         cstruct);
     if (code) {
-       com_err(whoami, code, "; Failed to evaluate volume set");
+       afs_com_err(whoami, code, "; Failed to evaluate volume set");
        return (-1);
     }
 
@@ -1406,7 +1414,7 @@ bc_DiskRestoreCmd(as, arock)
                       bc_Restorer, ports, portCount,
                       /*dumpSched */ NULL, /*append */ 0, dontExecute);
     if (code)
-       com_err(whoami, code, "; Failed to queue restore");
+       afs_com_err(whoami, code, "; Failed to queue restore");
 
     return (code);
 }
@@ -1439,25 +1447,25 @@ bc_VolsetRestoreCmd(as, arock)
 
     code = bc_UpdateVolumeSet();
     if (code) {
-       com_err(whoami, code, "; Can't retrieve volume sets");
+       afs_com_err(whoami, code, "; Can't retrieve volume sets");
        return (code);
     }
     code = bc_UpdateHosts();
     if (code) {
-       com_err(whoami, code, "; Can't retrieve tape hosts");
+       afs_com_err(whoami, code, "; Can't retrieve tape hosts");
        return (code);
     }
 
     if (as->parms[0].items) {
        if (as->parms[1].items) {
-           com_err(whoami, 0, "Can't have both -name and -file options");
+           afs_com_err(whoami, 0, "Can't have both -name and -file options");
            return (-1);
        }
 
        volsetName = as->parms[0].items->data;
        volsetPtr = bc_FindVolumeSet(bc_globalConfig, volsetName);
        if (!volsetPtr) {
-           com_err(whoami, 0,
+           afs_com_err(whoami, 0,
                    "Can't find volume set '%s' in backup database",
                    volsetName);
            return (-1);
@@ -1468,7 +1476,7 @@ bc_VolsetRestoreCmd(as, arock)
            bc_EvalVolumeSet(bc_globalConfig, volsetPtr, &volsToRestore,
                             cstruct);
        if (code) {
-           com_err(whoami, code, "; Failed to evaluate volume set");
+           afs_com_err(whoami, code, "; Failed to evaluate volume set");
            return (-1);
        }
     } else if (as->parms[1].items) {
@@ -1480,7 +1488,7 @@ bc_VolsetRestoreCmd(as, arock)
 
        fd = fopen(as->parms[1].items->data, "r");
        if (!fd) {
-           com_err(whoami, errno, "; Cannot open file '%s'",
+           afs_com_err(whoami, errno, "; Cannot open file '%s'",
                    as->parms[1].items->data);
            return (-1);
        }
@@ -1499,12 +1507,12 @@ bc_VolsetRestoreCmd(as, arock)
            }
 
            if (bc_ParseHost(server, &destServer)) {
-               com_err(whoami, 0, "Failed to locate host '%s'", server);
+               afs_com_err(whoami, 0, "Failed to locate host '%s'", server);
                continue;
            }
 
            if (bc_GetPartitionID(partition, &destPartition)) {
-               com_err(whoami, 0,
+               afs_com_err(whoami, 0,
                        "Failed to parse destination partition '%s'",
                        partition);
                continue;
@@ -1517,7 +1525,7 @@ bc_VolsetRestoreCmd(as, arock)
 
            tvol->name = (char *)malloc(VOLSER_MAXVOLNAME + 1);
            if (!tvol->name) {
-               com_err(whoami, BC_NOMEM, "");
+               afs_com_err(whoami, BC_NOMEM, "");
                return BC_NOMEM;
            }
            strncpy(tvol->name, volume, VOLSER_OLDMAXVOLNAME);
@@ -1532,7 +1540,7 @@ bc_VolsetRestoreCmd(as, arock)
        }
        fclose(fd);
     } else {
-       com_err(whoami, 0, "-name or -file option required");
+       afs_com_err(whoami, 0, "-name or -file option required");
        return (-1);
     }
 
@@ -1543,7 +1551,7 @@ bc_VolsetRestoreCmd(as, arock)
            portCount++;
        ports = (afs_int32 *) malloc(portCount * sizeof(afs_int32));
        if (!ports) {
-           com_err(whoami, BC_NOMEM, "");
+           afs_com_err(whoami, BC_NOMEM, "");
            return BC_NOMEM;
        }
 
@@ -1568,7 +1576,7 @@ bc_VolsetRestoreCmd(as, arock)
                          bc_Restorer, ports, portCount,
                          /*dumpSched */ NULL, /*append */ 0, dontExecute);
     if (code)
-       com_err(whoami, code, "; Failed to queue restore");
+       afs_com_err(whoami, code, "; Failed to queue restore");
 
     return code;
 }
@@ -1631,17 +1639,17 @@ bc_DumpCmd(as, arock)
 
     code = bc_UpdateDumpSchedule();
     if (code) {
-       com_err(whoami, code, "; Can't retrieve dump schedule");
+       afs_com_err(whoami, code, "; Can't retrieve dump schedule");
        return (code);
     }
     code = bc_UpdateVolumeSet();
     if (code) {
-       com_err(whoami, code, "; Can't retrieve volume sets");
+       afs_com_err(whoami, code, "; Can't retrieve volume sets");
        return (code);
     }
     code = bc_UpdateHosts();
     if (code) {
-       com_err(whoami, code, "; Can't retrieve tape hosts");
+       afs_com_err(whoami, code, "; Can't retrieve tape hosts");
        return (code);
     }
 
@@ -1654,13 +1662,13 @@ bc_DumpCmd(as, arock)
        loadfile = 1;
        if (as->parms[0].items || as->parms[1].items || as->parms[2].items
            || as->parms[4].items) {
-           com_err(whoami, 0, "Invalid option specified with -file option");
+           afs_com_err(whoami, 0, "Invalid option specified with -file option");
            return -1;
        }
     } else {
        loadfile = 0;
        if (!as->parms[0].items || !as->parms[1].items) {
-           com_err(whoami, 0,
+           afs_com_err(whoami, 0,
                    "Must specify volume set name and dump level name");
            return -1;
        }
@@ -1682,8 +1690,8 @@ bc_DumpCmd(as, arock)
        code = ktime_DateToLong(timeString, &atTime);
        free(timeString);
        if (code) {
-           com_err(whoami, 0, "Can't parse dump start date and time");
-           com_err(whoami, 0, "%s", ktime_GetDateUsage());
+           afs_com_err(whoami, 0, "Can't parse dump start date and time");
+           afs_com_err(whoami, 0, "%s", ktime_GetDateUsage());
            return (1);
        }
     } else
@@ -1703,7 +1711,7 @@ bc_DumpCmd(as, arock)
            portCount = 1;
            portp = (afs_int32 *) malloc(sizeof(afs_int32));
            if (!portp) {
-               com_err(whoami, BC_NOMEM, "");
+               afs_com_err(whoami, BC_NOMEM, "");
                return BC_NOMEM;
            }
 
@@ -1719,13 +1727,13 @@ bc_DumpCmd(as, arock)
         */
        tvs = bc_FindVolumeSet(bc_globalConfig, vsName);
        if (!tvs) {
-           com_err(whoami, 0,
+           afs_com_err(whoami, 0,
                    "Can't find volume set '%s' in backup database", vsName);
            return (-1);
        }
        baseds = bc_FindDumpSchedule(bc_globalConfig, dumpPath);
        if (!baseds) {
-           com_err(whoami, 0,
+           afs_com_err(whoami, 0,
                    "Can't find dump schedule '%s' in backup database",
                    dumpPath);
            return (-1);
@@ -1745,7 +1753,7 @@ bc_DumpCmd(as, arock)
      */
     if (doAt) {
        if (atTime < time(0)) {
-           com_err(whoami, 0,
+           afs_com_err(whoami, 0,
                    "Time of dump is earlier then current time - not added");
        } else {
            statusPtr = createStatusNode();
@@ -1784,7 +1792,7 @@ bc_DumpCmd(as, arock)
            statusPtr->scheduledDump = atTime;
            statusPtr->cmdLine = (char *)malloc(length);
            if (!statusPtr->cmdLine) {
-               com_err(whoami, BC_NOMEM, "");
+               afs_com_err(whoami, BC_NOMEM, "");
                return BC_NOMEM;
            }
 
@@ -1818,7 +1826,7 @@ bc_DumpCmd(as, arock)
 
            printf("Add scheduled dump as job %d\n", statusPtr->jobNumber);
            if ((atTime > ttoken.endTime) && (ttoken.endTime != NEVERDATE))
-               com_err(whoami, 0,
+               afs_com_err(whoami, 0,
                        "Warning: job %d starts after expiration of AFS token",
                        statusPtr->jobNumber);
 
@@ -1836,7 +1844,7 @@ bc_DumpCmd(as, arock)
     if (loadfile) {
        loadFile = (char *)malloc(strlen(as->parms[6].items->data) + 1);
        if (!loadFile) {
-           com_err(whoami, BC_NOMEM, "");
+           afs_com_err(whoami, BC_NOMEM, "");
            return BC_NOMEM;
        }
        strcpy(loadFile, as->parms[6].items->data);
@@ -1898,7 +1906,7 @@ bc_DumpCmd(as, arock)
      * dump at the level we requested it be done at.
      */
     if (problemFindingDump) {
-       com_err(whoami, 0,
+       afs_com_err(whoami, 0,
                "Warning: Doing level %d dump due to missing higher-level dumps",
                level);
        if (parent) {
@@ -1911,7 +1919,7 @@ bc_DumpCmd(as, arock)
     /* Expand out the volume set into its component list of volumes. */
     code = bc_EvalVolumeSet(bc_globalConfig, tvs, &volsToDump, cstruct);
     if (code) {
-       com_err(whoami, code, "; Failed to evaluate volume set");
+       afs_com_err(whoami, code, "; Failed to evaluate volume set");
        return (-1);
     }
     if (!volsToDump) {
@@ -1941,7 +1949,7 @@ bc_DumpCmd(as, arock)
                    tve->cloneDate = 0;
 
                if (tve->cloneDate && (tve->cloneDate == tve->date)) {
-                   com_err(whoami, 0,
+                   afs_com_err(whoami, 0,
                            "Warning: Timestamp on volume %s unchanged from previous dump",
                            tve->name);
                }
@@ -1966,7 +1974,7 @@ bc_DumpCmd(as, arock)
                          parent, level, bc_Dumper, portp, /*portCount */ 1,
                          baseds, doAppend, dontExecute);
     if (code)
-       com_err(whoami, code, "; Failed to queue dump");
+       afs_com_err(whoami, code, "; Failed to queue dump");
 
     return (code);
 }                              /*bc_DumpCmd */
@@ -1996,9 +2004,9 @@ bc_QuitCmd(as, arock)
        statusPtr = (statusP) ptr;
        if (!(statusPtr->flags & ABORT_REQUEST)) {
            unlock_Status();
-           com_err(whoami, 0, "Job %d still running (and not aborted)",
+           afs_com_err(whoami, 0, "Job %d still running (and not aborted)",
                    statusPtr->jobNumber);
-           com_err(whoami, 0,
+           afs_com_err(whoami, 0,
                    "You must at least 'kill' all running jobs before quitting");
            return -1;
        }
@@ -2010,8 +2018,8 @@ bc_QuitCmd(as, arock)
      */
     for (td = bc_dumpTasks, i = 0; i < BC_MAXSIMDUMPS; i++, td++) {
        if (td->flags & BC_DI_INUSE) {
-           com_err(whoami, 0, "A job is still running");
-           com_err(whoami, 0,
+           afs_com_err(whoami, 0, "A job is still running");
+           afs_com_err(whoami, 0,
                    "You must at least 'kill' all running jobs before quitting");
            return -1;
        }
@@ -2042,26 +2050,26 @@ bc_LabelTapeCmd(as, arock)
 
     code = bc_UpdateHosts();
     if (code) {
-       com_err(whoami, code, "; Can't retrieve tape hosts");
+       afs_com_err(whoami, code, "; Can't retrieve tape hosts");
        return (code);
     }
 
     if (as->parms[0].items) {  /* -name */
        tapename = as->parms[0].items->data;
        if (strlen(tapename) >= TC_MAXTAPELEN) {
-           com_err(whoami, 0, "AFS tape name '%s' is too long", tapename);
+           afs_com_err(whoami, 0, "AFS tape name '%s' is too long", tapename);
            return -1;
        }
     }
 
     if (as->parms[3].items) {  /* -pname */
        if (tapename) {
-           com_err(whoami, 0, "Can only specify -name or -pname");
+           afs_com_err(whoami, 0, "Can only specify -name or -pname");
            return -1;
        }
        pname = as->parms[3].items->data;
        if (strlen(pname) >= TC_MAXTAPELEN) {
-           com_err(whoami, 0, "Permanent tape name '%s' is too long", pname);
+           afs_com_err(whoami, 0, "Permanent tape name '%s' is too long", pname);
            return -1;
        }
     }
@@ -2069,7 +2077,7 @@ bc_LabelTapeCmd(as, arock)
     if (as->parms[1].items) {
        size = bc_FloatATOI(as->parms[1].items->data);
        if (size == -1) {
-           com_err(whoami, 0, "Bad syntax for tape size '%s'",
+           afs_com_err(whoami, 0, "Bad syntax for tape size '%s'",
                    as->parms[1].items->data);
            return -1;
        }
@@ -2103,7 +2111,7 @@ bc_ReadLabelCmd(as, arock)
 
     code = bc_UpdateHosts();
     if (code) {
-       com_err(whoami, code, "; Can't retrieve tape hosts");
+       afs_com_err(whoami, code, "; Can't retrieve tape hosts");
        return (code);
     }
 
@@ -2134,7 +2142,7 @@ bc_ScanDumpsCmd(as, arock)
 
     code = bc_UpdateHosts();
     if (code) {
-       com_err(whoami, code, "; Can't retrieve tape hosts");
+       afs_com_err(whoami, code, "; Can't retrieve tape hosts");
        return (code);
     }
 
@@ -2275,7 +2283,7 @@ bc_dbVerifyCmd(as, arock)
                  &host);
 
     if (code) {
-       com_err(whoami, code, "; Unable to verify database");
+       afs_com_err(whoami, code, "; Unable to verify database");
        return (-1);
     }
 
@@ -2284,7 +2292,7 @@ bc_dbVerifyCmd(as, arock)
     if (status == 0)
        printf("Database OK\n");
     else
-       com_err(whoami, status, "; Database is NOT_OK");
+       afs_com_err(whoami, status, "; Database is NOT_OK");
 
     if (detail) {
        printf("Orphan blocks %d\n", orphans);
@@ -2324,14 +2332,14 @@ deleteDump(dumpid, port, force)
     if (port >= 0) {
        tcode = bc_UpdateHosts();
        if (tcode) {
-           com_err(whoami, tcode, "; Can't retrieve tape hosts");
+           afs_com_err(whoami, tcode, "; Can't retrieve tape hosts");
            ERROR(tcode);
        }
 
        /* Find the dump in the backup database */
        tcode = bcdb_FindDumpByID(dumpid, &dumpEntry);
        if (tcode) {
-           com_err(whoami, tcode, "; Unable to locate dumpID %u in database",
+           afs_com_err(whoami, tcode, "; Unable to locate dumpID %u in database",
                    dumpid);
            ERROR(tcode);
        }
@@ -2351,7 +2359,7 @@ deleteDump(dumpid, port, force)
            if (tcode) {
                if (tcode == RXGEN_OPCODE)
                    tcode = BC_VERSIONFAIL;
-               com_err(whoami, tcode,
+               afs_com_err(whoami, tcode,
                        "; Unable to delete dumpID %u via butc", dumpid);
                ERROR(tcode);
            }
@@ -2369,7 +2377,7 @@ deleteDump(dumpid, port, force)
            /* Wait for task to finish */
            taskflag = waitForTask(taskId);
            if (taskflag & (TASK_ERROR | ABORT_DONE)) {
-               com_err(whoami, BUTX_DELETEOBJFAIL,
+               afs_com_err(whoami, BUTX_DELETEOBJFAIL,
                        "; Unable to delete dumpID %u via butc", dumpid);
                ERROR(BUTX_DELETEOBJFAIL);      /* the task failed */
            }
@@ -2389,7 +2397,7 @@ deleteDump(dumpid, port, force)
 
        tcode = bcdb_deleteDump(dumpid, 0, 0, &dumps);
        if (tcode) {
-           com_err(whoami, tcode,
+           afs_com_err(whoami, tcode,
                    "; Unable to delete dumpID %u from database", dumpid);
            dumps.budb_dumpsList_len = 0;
            if (!code)
@@ -2431,13 +2439,13 @@ bc_deleteDumpCmd(as, arock)
     /* Must specify at least one of -dumpid, -from, or -to */
     if (!as->parms[0].items && !as->parms[1].items && !as->parms[2].items
        && !as->parms[4].items) {
-       com_err(whoami, 0, "Must specify at least one field");
+       afs_com_err(whoami, 0, "Must specify at least one field");
        return (-1);
     }
 
     /* Must have -to option with -from option */
     if (as->parms[1].items && !as->parms[2].items) {
-       com_err(whoami, 0, "Must specify '-to' field with '-from' field");
+       afs_com_err(whoami, 0, "Must specify '-to' field with '-from' field");
        return (-1);
     }
 
@@ -2453,8 +2461,8 @@ bc_deleteDumpCmd(as, arock)
        code = ktime_DateToLong(timeString, &fromTime);
        free(timeString);
        if (code) {
-           com_err(whoami, 0, "Can't parse 'from' date and time");
-           com_err(whoami, 0, "%s", ktime_GetDateUsage());
+           afs_com_err(whoami, 0, "Can't parse 'from' date and time");
+           afs_com_err(whoami, 0, "%s", ktime_GetDateUsage());
            return (-1);
        }
        havetime = 1;
@@ -2485,8 +2493,8 @@ bc_deleteDumpCmd(as, arock)
        code = ktime_DateToLong(timeString, &toTime);
        free(timeString);
        if (code) {
-           com_err(whoami, 0, "Can't parse 'to' date and time");
-           com_err(whoami, 0, "%s", ktime_GetDateUsage());
+           afs_com_err(whoami, 0, "Can't parse 'to' date and time");
+           afs_com_err(whoami, 0, "%s", ktime_GetDateUsage());
            return (-1);
        }
        toTime += 59;
@@ -2494,7 +2502,7 @@ bc_deleteDumpCmd(as, arock)
     }
 
     if (fromTime > toTime) {
-       com_err(whoami, 0,
+       afs_com_err(whoami, 0,
                "'-from' date/time cannot be later than '-to' date/time");
        return (-1);
     }
@@ -2528,7 +2536,7 @@ bc_deleteDumpCmd(as, arock)
        code =
            bcdb_listDumps(sflags, groupId, fromTime, toTime, &dumps, &flags);
        if (code) {
-           com_err(whoami, code,
+           afs_com_err(whoami, code,
                    "; Error while deleting dumps from %u to %u", fromTime,
                    toTime);
            rcode = -1;
@@ -2582,7 +2590,7 @@ bc_saveDbCmd(as, arock)
 
     code = bc_UpdateHosts();
     if (code) {
-       com_err(whoami, code, "; Can't retrieve tape hosts");
+       afs_com_err(whoami, code, "; Can't retrieve tape hosts");
        return (code);
     }
 
@@ -2605,8 +2613,8 @@ bc_saveDbCmd(as, arock)
        code = ktime_DateToLong(timeString, &toTime);
        free(timeString);
        if (code) {
-           com_err(whoami, 0, "Can't parse '-archive' date and time");
-           com_err(whoami, 0, "%s", ktime_GetDateUsage());
+           afs_com_err(whoami, 0, "Can't parse '-archive' date and time");
+           afs_com_err(whoami, 0, "%s", ktime_GetDateUsage());
            return (-1);
        }
        toTime += 59;
@@ -2619,7 +2627,7 @@ bc_saveDbCmd(as, arock)
 
     code = TC_SaveDb(tconn, toTime, &taskId);
     if (code) {
-       com_err(whoami, code, "; Failed to save database");
+       afs_com_err(whoami, code, "; Failed to save database");
        goto exit;
     }
 
@@ -2650,7 +2658,7 @@ bc_restoreDbCmd(as, arock)
 
     code = bc_UpdateHosts();
     if (code) {
-       com_err(whoami, code, "; Can't retrieve tape hosts");
+       afs_com_err(whoami, code, "; Can't retrieve tape hosts");
        return (code);
     }
 
@@ -2666,7 +2674,7 @@ bc_restoreDbCmd(as, arock)
 
     code = TC_RestoreDb(tconn, &taskId);
     if (code) {
-       com_err(whoami, code, "; Failed to restore database");
+       afs_com_err(whoami, code, "; Failed to restore database");
        goto exit;
     }
 
@@ -2833,7 +2841,7 @@ DBLookupByVolume(volumeName)
     }
 
     if (code)
-       com_err(whoami, code, "");
+       afs_com_err(whoami, code, "");
     return (code);
 }
 
@@ -2923,7 +2931,7 @@ dumpInfo(dumpid, detailFlag)
     for (tapeNumber = dumpEntry.tapes.b; tapeNumber <= dumpEntry.tapes.maxTapes; tapeNumber++) {       /*f */
        tapeLinkPtr = (struct tapeLink *)malloc(sizeof(struct tapeLink));
        if (!tapeLinkPtr) {
-           com_err(whoami, BC_NOMEM, "");
+           afs_com_err(whoami, BC_NOMEM, "");
            ERROR(BC_NOMEM);
        }
 
@@ -2975,7 +2983,7 @@ dumpInfo(dumpid, detailFlag)
                volumeLinkPtr =
                    (struct volumeLink *)malloc(sizeof(struct volumeLink));
                if (!volumeLinkPtr) {
-                   com_err(whoami, BC_NOMEM, "");
+                   afs_com_err(whoami, BC_NOMEM, "");
                    ERROR(BC_NOMEM);
                }
                memset(volumeLinkPtr, 0, sizeof(*volumeLinkPtr));
@@ -3044,7 +3052,7 @@ dumpInfo(dumpid, detailFlag)
 
   error_exit:
     if (code)
-       com_err("dumpInfo", code, "; Can't get dump information");
+       afs_com_err("dumpInfo", code, "; Can't get dump information");
 
     /* free all allocated structures */
     tapeLinkPtr = head;
@@ -3103,7 +3111,7 @@ printRecentDumps(ndumps)
        if (code) {
            if (code == BUDB_ENDOFLIST)
                return 0;
-           com_err("dumpInfo", code, "; Can't get dump information");
+           afs_com_err("dumpInfo", code, "; Can't get dump information");
            return (code);
        }
 
@@ -3156,13 +3164,13 @@ bc_dumpInfoCmd(as, arock)
 
     if (as->parms[0].items) {
        if (as->parms[1].items) {
-           com_err(whoami, 0,
+           afs_com_err(whoami, 0,
                    "These options are exclusive - select only one");
            return (BC_BADARG);
        }
        ndumps = atoi(as->parms[0].items->data);
        if (ndumps <= 0) {
-           com_err(whoami, 0, "Must provide a positive number");
+           afs_com_err(whoami, 0, "Must provide a positive number");
            return -1;
        }
 
index a1971d0f63638d09fcd94f77d4350dfa4eaca7cb..223ccade37fb445ea18814543160c324a1088d45 100644 (file)
@@ -15,7 +15,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/bucoord/dump.c,v 1.12.2.2 2007/01/05 03:34:09 shadow Exp $");
+    ("$Header: /cvs/openafs/src/bucoord/dump.c,v 1.12.2.3 2007/04/10 18:43:41 shadow Exp $");
 
 #include <sys/types.h>
 #include <afs/cmd.h>
@@ -94,7 +94,7 @@ bc_Dumper(aindex)
     volDesc =
        (struct tc_dumpDesc *)malloc(count * sizeof(struct tc_dumpDesc));
     if (!volDesc) {
-       com_err(whoami, BC_NOMEM, "");
+       afs_com_err(whoami, BC_NOMEM, "");
        ERROR(BC_NOMEM);
     }
 
@@ -144,11 +144,11 @@ bc_Dumper(aindex)
     printf("Starting dump\n");
     code = TC_PerformDump(tconn, tcdiPtr, &volArray, &dumpTaskPtr->dumpID);
     if (code) {
-       com_err(whoami, code, "; Failed to start dump");
+       afs_com_err(whoami, code, "; Failed to start dump");
        ERROR(code);
     }
 
-    com_err(whoami, 0, "Task %u: Dump (%s)", dumpTaskPtr->dumpID,
+    afs_com_err(whoami, 0, "Task %u: Dump (%s)", dumpTaskPtr->dumpID,
            tcdiPtr->dumpName);
 
     /* create status monitor block */
@@ -266,7 +266,7 @@ bc_StartDmpRst(aconfig, adname, avname, avolsToDump, adestServer,
            break;
 
     if (i >= BC_MAXSIMDUMPS) {
-       com_err(whoami, BC_NOTLOCKED,
+       afs_com_err(whoami, BC_NOTLOCKED,
                "All of the dump/restore slots are in use, try again later");
        return (BC_NOTLOCKED);
     }
@@ -305,7 +305,7 @@ bc_StartDmpRst(aconfig, adname, avname, avolsToDump, adestServer,
                          (void *)i, "helper", &junk);
     if (code) {
        bc_HandleMisc(code);
-       com_err(whoami, code, "; Can't start thread");
+       afs_com_err(whoami, code, "; Can't start thread");
 
        /* Cleanup allocated data structures */
        freeDumpTaskVolumeList(bc_dumpTasks[i].volumes);
@@ -384,7 +384,7 @@ bc_LabelTape(afsname, pname, size, config, port)
 
     code = TC_LabelTape(tconn, &label, &taskId);
     if (code) {
-       com_err(whoami, code, "; Failed to start labeltape");
+       afs_com_err(whoami, code, "; Failed to start labeltape");
        return (code);
     }
 
@@ -430,7 +430,7 @@ bc_ReadLabel(config, port)
            printf("Tape read was unlabelled\n");
            return 0;
        }
-       com_err(whoami, code, "; Failed to start readlabel");
+       afs_com_err(whoami, code, "; Failed to start readlabel");
        return (code);
     }
 
@@ -468,7 +468,7 @@ bc_ScanDumps(config, dbAddFlag, port)
 
     code = TC_ScanDumps(tconn, dbAddFlag, &taskId);
     if (code) {
-       com_err(whoami, code, "; Failed to start scantape");
+       afs_com_err(whoami, code, "; Failed to start scantape");
        return (code);
     }
 
@@ -559,7 +559,7 @@ ConnectButc(config, port, tconn)
 
     code = bc_GetConn(config, port, tconn);
     if (code) {
-       com_err(whoami, code,
+       afs_com_err(whoami, code,
                "; Can't connect to tape coordinator at port %d", port);
        return (code);
     }
@@ -569,10 +569,10 @@ ConnectButc(config, port, tconn)
        rx_DestroyConnection(*tconn);
 
        if (code == BC_VERSIONFAIL)
-           com_err(whoami, code,
+           afs_com_err(whoami, code,
                    "; Backup and butc are not the same version");
        else
-           com_err(whoami, code,
+           afs_com_err(whoami, code,
                    "; Can't access tape coordinator at port %d", port);
 
        return (code);
index 3e4349ae2d4511813fc77817f57737313bea7304..1f3ffb661f18f815e08a28e2ee263c539b75e1f9 100644 (file)
@@ -16,7 +16,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/bucoord/dump_sched.c,v 1.7.2.4 2007/01/05 03:34:09 shadow Exp $");
+    ("$Header: /cvs/openafs/src/bucoord/dump_sched.c,v 1.7.2.5 2007/04/10 18:43:41 shadow Exp $");
 
 #ifdef AFS_NT40_ENV
 #include <winsock2.h>
@@ -91,7 +91,7 @@ bc_AddDumpCmd(as, arock)
 
     code = bc_UpdateDumpSchedule();
     if (code) {
-       com_err(whoami, code, "; Can't retrieve dump schedule");
+       afs_com_err(whoami, code, "; Can't retrieve dump schedule");
        return (code);
     }
 
@@ -102,9 +102,9 @@ bc_AddDumpCmd(as, arock)
 
        /* validate the name dump name length */
        if (strlen(dname) >= BU_MAX_DUMP_PATH) {
-           com_err(whoami, 0, "Dump names must be < %d characters",
+           afs_com_err(whoami, 0, "Dump names must be < %d characters",
                    BU_MAX_DUMP_PATH);
-           com_err(whoami, 0, "Dump %s not added", dname);
+           afs_com_err(whoami, 0, "Dump %s not added", dname);
            code = -1;
            continue;
        }
@@ -113,26 +113,26 @@ bc_AddDumpCmd(as, arock)
            bc_CreateDumpSchedule(bc_globalConfig, dname, expDate, expType);
        if (code) {
            if (code == -1)
-               com_err(whoami, 0, "Dump already exists");
+               afs_com_err(whoami, 0, "Dump already exists");
            else if (code == -2)
-               com_err(whoami, 0, "Invalid path name '%s'", dname);
+               afs_com_err(whoami, 0, "Invalid path name '%s'", dname);
            else if (code == -3)
-               com_err(whoami, 0, "Name specification error");
+               afs_com_err(whoami, 0, "Name specification error");
            else
-               com_err(whoami, code, "; Failed to create dump schedule");
+               afs_com_err(whoami, code, "; Failed to create dump schedule");
            continue;
        }
 
        /* save the new schedule item */
        code = bc_SaveDumpSchedule();
        if (code) {
-           com_err(whoami, code, "Cannot save dump schedule");
-           com_err(whoami, 0,
+           afs_com_err(whoami, code, "Cannot save dump schedule");
+           afs_com_err(whoami, 0,
                    "Changes are temporary - for this session only");
            break;
        }
 
-       com_err(whoami, 0, "Created new dump schedule %s", dname);
+       afs_com_err(whoami, 0, "Created new dump schedule %s", dname);
     }
 
   error_exit:
@@ -167,7 +167,7 @@ bc_DeleteDumpCmd(as, arock)
 
     code = bc_UpdateDumpSchedule();
     if (code) {
-       com_err(whoami, code, "; Can't retrieve dump schedule");
+       afs_com_err(whoami, code, "; Can't retrieve dump schedule");
        return (code);
     }
 
@@ -176,9 +176,9 @@ bc_DeleteDumpCmd(as, arock)
     code = bc_DeleteDumpSchedule(bc_globalConfig, dname);
     if (code) {
        if (code == -1)
-           com_err(whoami, 0, "No such dump as %s", dname);
+           afs_com_err(whoami, 0, "No such dump as %s", dname);
        else
-           com_err(whoami, code, "; Failed to delete dump schedule");
+           afs_com_err(whoami, code, "; Failed to delete dump schedule");
        goto error_exit;
     }
 
@@ -186,8 +186,8 @@ bc_DeleteDumpCmd(as, arock)
     if (code == 0)
        printf("backup: deleted dump schedule %s\n", dname);
     else {
-       com_err(whoami, code, "Cannot save dump schedule file");
-       com_err(whoami, 0, "Deletion is temporary - for this session only");
+       afs_com_err(whoami, code, "Cannot save dump schedule file");
+       afs_com_err(whoami, 0, "Deletion is temporary - for this session only");
     }
 
   error_exit:
@@ -275,7 +275,7 @@ bc_ListDumpScheduleCmd(struct cmd_syndesc *as, char *arock)
     /* first check to see if schedules must be updated */
     code = bc_UpdateDumpSchedule();
     if (code) {
-       com_err(whoami, code, "; Can't retrieve dump schedule");
+       afs_com_err(whoami, code, "; Can't retrieve dump schedule");
        return (code);
     }
 
@@ -334,7 +334,7 @@ bc_SetExpCmd(as, arock)
 
     code = bc_UpdateDumpSchedule();
     if (code) {
-       com_err(whoami, code, "; Can't retrieve dump schedule");
+       afs_com_err(whoami, code, "; Can't retrieve dump schedule");
        return (code);
     }
 
@@ -346,15 +346,15 @@ bc_SetExpCmd(as, arock)
        /* validate the name dump name length */
        if (strlen(dname) >= BU_MAX_DUMP_PATH) {
            code = -1;
-           com_err(whoami, 0, "Dump names must be < %d characters",
+           afs_com_err(whoami, 0, "Dump names must be < %d characters",
                    BU_MAX_DUMP_PATH);
-           com_err(whoami, 0, "Dump %s not added", dname);
+           afs_com_err(whoami, 0, "Dump %s not added", dname);
            continue;
        }
 
        code = FindDump(bc_globalConfig, dname, &parent, &node);
        if (code) {
-           com_err(whoami, 0, "Dump level %s not found", dname);
+           afs_com_err(whoami, 0, "Dump level %s not found", dname);
            continue;
        }
 
@@ -364,8 +364,8 @@ bc_SetExpCmd(as, arock)
 
     code = bc_SaveDumpSchedule();
     if (code) {
-       com_err(whoami, code, "Cannot save dump schedule");
-       com_err(whoami, 0,
+       afs_com_err(whoami, code, "Cannot save dump schedule");
+       afs_com_err(whoami, 0,
                "Expiration changes effective for this session only");
     }
 
@@ -423,7 +423,7 @@ bc_ParseDumpSchedule()
            || (dsversion != BC_SCHEDULE_VERSION)
            ) {
            /* invalid or unexpected header - error */
-           com_err(whoami, 0, "Unable to understand dump schedule file");
+           afs_com_err(whoami, 0, "Unable to understand dump schedule file");
            return (BC_INTERNALERROR);
        }
     }
@@ -437,7 +437,7 @@ bc_ParseDumpSchedule()
            sscanf(tbuffer, "%s %s %d %d", dsname, period, &expDate,
                   &expType);
        if (code != 4) {
-           com_err(whoami, 0,
+           afs_com_err(whoami, 0,
                    "Syntax error in dump schedule file, line is: %s",
                    tbuffer);
            return (BC_INTERNALERROR);
index 5a04d70e7d67edf465f9b9a3e5f5720a80a84508..46d69cf919489f770002b6c310a975f49af04b48 100644 (file)
@@ -11,7 +11,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/bucoord/main.c,v 1.16.2.1 2007/01/05 03:34:09 shadow Exp $");
+    ("$Header: /cvs/openafs/src/bucoord/main.c,v 1.16.2.3 2007/06/23 15:27:22 shadow Exp $");
 
 #include <afs/stds.h>
 #include <sys/types.h>
@@ -251,14 +251,14 @@ backupInit()
 
     /* don't run more than once */
     if (initd) {
-       com_err(whoami, 0, "Backup already initialized.");
+       afs_com_err(whoami, 0, "Backup already initialized.");
        return 0;
     }
     initd = 1;
 
     code = bc_InitConfig(DefaultConfDir);
     if (code) {
-       com_err(whoami, code,
+       afs_com_err(whoami, code,
                "Can't initialize from config files in directory '%s'",
                DefaultConfDir);
        return (code);
@@ -269,13 +269,13 @@ backupInit()
      */
     code = LWP_InitializeProcessSupport(LWP_NORMAL_PRIORITY, &pid);
     if (code) {
-       com_err(whoami, code, "; Can't initialize LWP");
+       afs_com_err(whoami, code, "; Can't initialize LWP");
        return (code);
     }
 
     code = rx_Init(htons(0));
     if (code) {
-       com_err(whoami, code, "; Can't initialize Rx");
+       afs_com_err(whoami, code, "; Can't initialize Rx");
        return (code);
     }
 
@@ -297,7 +297,7 @@ backupInit()
        LWP_CreateProcess(statusWatcher, 20480, LWP_NORMAL_PRIORITY,
                          (void *)2, "statusWatcher", &watcherPid);
     if (code) {
-       com_err(whoami, code, "; Can't create status monitor task");
+       afs_com_err(whoami, code, "; Can't create status monitor task");
        return (code);
     }
 
@@ -341,14 +341,14 @@ MyBeforeProc(as)
 
        code = backupInit();
        if (code) {
-           com_err(whoami, code, "; Can't initialize backup");
+           afs_com_err(whoami, code, "; Can't initialize backup");
            exit(1);
        }
 
        /* Get initial information from the database */
        code = bc_InitTextConfig();
        if (code) {
-           com_err(whoami, code,
+           afs_com_err(whoami, code,
                    "; Can't obtain configuration text from backup database");
            exit(1);
        }
@@ -409,7 +409,7 @@ doDispatch(targc, targv, dispatchCount)
 
     if (internalLoadFile) {    /* Load a file in */
        if (dispatchCount > MAXRECURSION) {     /* Beware recursive loops. */
-           com_err(whoami, 0, "Potential recursion: will not load file %s",
+           afs_com_err(whoami, 0, "Potential recursion: will not load file %s",
                    internalLoadFile);
            code = -1;
            goto done;
@@ -417,7 +417,7 @@ doDispatch(targc, targv, dispatchCount)
 
        fd = fopen(internalLoadFile, "r");      /* Open the load file */
        if (!fd) {
-           com_err(whoami, errno, "; Cannot open file %s", internalLoadFile);
+           afs_com_err(whoami, errno, "; Cannot open file %s", internalLoadFile);
            code = -1;
            goto done;
        }
@@ -444,7 +444,7 @@ doDispatch(targc, targv, dispatchCount)
                (!noExecute)) { /*      or no execute */
                c = cmd_ParseLine(lineBuffer, sargv, &sargc, MAXV);
                if (c) {
-                   com_err(whoami, c, "; Can't parse line");
+                   afs_com_err(whoami, c, "; Can't parse line");
                } else {
                    doDispatch(sargc, sargv, dispatchCount + 1);        /* Recursive - ignore error */
                    cmd_FreeArgv(sargv);        /* Free up arguments */
@@ -544,6 +544,8 @@ main(argc, argv)
                "date from which to restore");
     cmd_AddParm(ts, "-portoffset", CMD_LIST, CMD_OPTIONAL, "TC port offsets");
     cmd_AddParm(ts, "-n", CMD_FLAG, CMD_OPTIONAL, "don't really execute it");
+    cmd_AddParm(ts, "-usedump", CMD_SINGLE, CMD_OPTIONAL,
+               "specify the dumpID to restore from");
     if (!interact)
        add_std_args(ts);
 
@@ -796,8 +798,8 @@ main(argc, argv)
        if (!LineIsBlank(lineBuffer)) {
            code = cmd_ParseLine(lineBuffer, targv, &targc, MAXV);
            if (code)
-               com_err(whoami, code, "; Can't parse line: '%s'",
-                       error_message(code));
+               afs_com_err(whoami, code, "; Can't parse line: '%s'",
+                       afs_error_message(code));
            else {
                doDispatch(targc, targv, 1);
                cmd_FreeArgv(targv);
index cd80cd88125f48f95cece27b3f23f8dd049ea154..0835edaec83d9d08fd038fec91525e24432350aa 100644 (file)
@@ -15,7 +15,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/bucoord/restore.c,v 1.8.2.3 2007/01/05 03:34:09 shadow Exp $");
+    ("$Header: /cvs/openafs/src/bucoord/restore.c,v 1.8.2.7 2007/06/26 05:44:57 jaltman Exp $");
 
 #include <afs/stds.h>
 #include <sys/types.h>
@@ -40,7 +40,6 @@ RCSID
 extern struct bc_dumpTask bc_dumpTasks[BC_MAXSIMDUMPS];
 extern char *whoami;
 
-#define        BC_MAXLEVELS        20
 #define        MAXTAPESATONCE      10
 
 #define HOSTADDR(sockaddr) (sockaddr)->sin_addr.s_addr
@@ -182,9 +181,10 @@ bc_Restorer(aindex)
     statusP statusPtr, newStatusPtr;
 
     struct dumpinfo *dumpinfolist = NULL;
-    struct dumpinfo *pdi, *ndi, *di, dlevels[BC_MAXLEVELS];
+    struct dumpinfo *pdi, *ndi, *di, *dlevels;
     struct volinfo *pvi, *nvi, *vi;
     afs_int32 lvl, lv;
+    int num_dlevels = 20;
 
     afs_int32 serverAll;       /* The server to which all volumes are to be restore to */
     afs_int32 partitionAll;    /* Likewise for partition */
@@ -196,6 +196,8 @@ bc_Restorer(aindex)
     extern statusP createStatusNode();
     extern statusP findStatus();
 
+    dlevels = (struct dumpinfo *) malloc(num_dlevels * sizeof(*dlevels));
+
     dumpTaskPtr = &bc_dumpTasks[aindex];
     serverAll = HOSTADDR(&dumpTaskPtr->destServer);
     partitionAll = dumpTaskPtr->destPartition;
@@ -203,7 +205,7 @@ bc_Restorer(aindex)
     volumeEntries = (struct budb_volumeEntry *)
        malloc(MAXTAPESATONCE * sizeof(struct budb_volumeEntry));
     if (!volumeEntries) {
-       com_err(whoami, BC_NOMEM, "");
+       afs_com_err(whoami, BC_NOMEM, "");
        ERROR(BC_NOMEM);
     }
 
@@ -214,29 +216,55 @@ bc_Restorer(aindex)
     for (tvol = dumpTaskPtr->volumes; tvol; tvol = tvol->next) {       /*tvol */
        strcpy(vname, tvol->name);
        dumpDescr = &dumpDescr1;
-       code = bcdb_FindDump(vname, dumpTaskPtr->fromDate, dumpDescr);
-
-       if (!BackupName(vname)) {       /* See if backup volume is there */
-           strcat(vname, ".backup");
-           dumpDescr = &dumpDescr2;
-           tcode = code;
+       if (dumpTaskPtr->parentDumpID > 0) /* Told which dump to try */
+         {
+           /* Right now, this assumes that all volumes listed will be
+            * from the given dumpID.  FIXME
+            */
+           code = bcdb_FindDumpByID(dumpTaskPtr->parentDumpID, dumpDescr);
+           if (code)
+             {
+               afs_com_err(whoami, "Couldn't look up info for dump %d\n",
+                       dumpTaskPtr->parentDumpID);
+               continue;
+             }
+           code = bcdb_FindVolumes(dumpTaskPtr->parentDumpID, vname, volumeEntries,
+                                   last, &next, MAXTAPESATONCE, &vecount);
+           if (code)
+             {
+               if (!BackupName(vname))
+                 {
+                   strcat(vname, ".backup");
+                   code = bcdb_FindVolumes(dumpTaskPtr->parentDumpID, vname, volumeEntries,
+                                           last, &next, MAXTAPESATONCE, &vecount);
+                 }
+             }
+         }
+       else
+         {
            code = bcdb_FindDump(vname, dumpTaskPtr->fromDate, dumpDescr);
+           if (!BackupName(vname)) {   /* See if backup volume is there */
+             strcat(vname, ".backup");
+             dumpDescr = &dumpDescr2;
+             tcode = code;
+             code = bcdb_FindDump(vname, dumpTaskPtr->fromDate, dumpDescr);
 
-           if (code) {         /* Can't find backup, go with first results */
+             if (code) {       /* Can't find backup, go with first results */
                strcpy(vname, tvol->name);
                dumpDescr = &dumpDescr1;
                code = tcode;
-           } else if (!tcode) {        /* Both found an entry, go with latest result */
+             } else if (!tcode) {      /* Both found an entry, go with latest result */
                if (dumpDescr1.created > dumpDescr2.created) {
-                   strcpy(vname, tvol->name);
-                   dumpDescr = &dumpDescr1;
-                   code = tcode;
+                 strcpy(vname, tvol->name);
+                 dumpDescr = &dumpDescr1;
+                 code = tcode;
                }
+             }
            }
-       }
+         }
 
        if (code) {             /* If FindDump took an error */
-           com_err(whoami, code, "; Can't find any dump for volume %s",
+           afs_com_err(whoami, code, "; Can't find any dump for volume %s",
                    tvol->name);
            continue;
        }
@@ -255,7 +283,7 @@ bc_Restorer(aindex)
        if (!di) {
            di = (struct dumpinfo *)malloc(sizeof(struct dumpinfo));
            if (!di) {
-               com_err(whoami, BC_NOMEM, "");
+               afs_com_err(whoami, BC_NOMEM, "");
                ERROR(BC_NOMEM);
            }
            memset(di, 0, sizeof(struct dumpinfo));
@@ -277,7 +305,7 @@ bc_Restorer(aindex)
        /* Create one and thread into list */
        vi = (struct volinfo *)malloc(sizeof(struct volinfo));
        if (!vi) {
-           com_err(whoami, BC_NOMEM, "");
+           afs_com_err(whoami, BC_NOMEM, "");
            ERROR(BC_NOMEM);
        }
        memset(vi, 0, sizeof(struct volinfo));
@@ -285,7 +313,7 @@ bc_Restorer(aindex)
        vi->volname = (char *)malloc(strlen(vname) + 1);
        if (!vi->volname) {
            free(vi);
-           com_err(whoami, BC_NOMEM, "");
+           afs_com_err(whoami, BC_NOMEM, "");
            ERROR(BC_NOMEM);
        }
 
@@ -314,10 +342,18 @@ bc_Restorer(aindex)
        memcpy(&dlevels[0], di, sizeof(struct dumpinfo));
        for (lvl = 1, parent = dlevels[0].parentDumpId; parent;
             parent = dlevels[lvl].parentDumpId, lvl++) {
+           if (lvl >= num_dlevels) {           /* running out of dump levels */
+               struct dumpinfo *tdl = dlevels;
+
+               num_dlevels += num_dlevels;     /* double */
+               dlevels = (struct dumpinfo *) malloc(num_dlevels * sizeof(*dlevels));
+               memcpy(dlevels, tdl, (num_dlevels/2) * sizeof(*dlevels));
+               free(tdl);
+           }
            code = bcdb_FindDumpByID(parent, &dumpDescr1);
            if (code) {
                for (vi = di->volinfolist; vi; vi = vi->next) {
-                   com_err(whoami, code,
+                   afs_com_err(whoami, code,
                            "; Can't find parent DumpID %u for volume %s",
                            parent, vi->volname);
                }
@@ -369,7 +405,7 @@ bc_Restorer(aindex)
                            break;
                        }
 
-                       com_err(whoami, code,
+                       afs_com_err(whoami, code,
                                "; Can't find volume %s in DumpID %u",
                                vi->volname, dlevels[lv].DumpId);
                        ERROR(code);
@@ -450,7 +486,7 @@ bc_Restorer(aindex)
                            tle = (struct bc_tapeList *)
                                malloc(sizeof(struct bc_tapeList));
                            if (!tle) {
-                               com_err(whoami, BC_NOMEM, "");
+                               afs_com_err(whoami, BC_NOMEM, "");
                                return (BC_NOMEM);
                            }
                            memset(tle, 0, sizeof(struct bc_tapeList));
@@ -460,7 +496,7 @@ bc_Restorer(aindex)
                                               + 1);
                            if (!tle->tapeName) {
                                free(tle);
-                               com_err(whoami, BC_NOMEM, "");
+                               afs_com_err(whoami, BC_NOMEM, "");
                                return (BC_NOMEM);
                            }
 
@@ -505,7 +541,7 @@ bc_Restorer(aindex)
                            ti = (struct bc_tapeItem *)
                                malloc(sizeof(struct bc_tapeItem));
                            if (!ti) {
-                               com_err(whoami, BC_NOMEM, "");
+                               afs_com_err(whoami, BC_NOMEM, "");
                                return (BC_NOMEM);
                            }
                            memset(ti, 0, sizeof(struct bc_tapeItem));
@@ -515,7 +551,7 @@ bc_Restorer(aindex)
                                               + 1);
                            if (!ti->volumeName) {
                                free(ti);
-                               com_err(whoami, BC_NOMEM, "");
+                               afs_com_err(whoami, BC_NOMEM, "");
                                return (BC_NOMEM);
                            }
 
@@ -548,7 +584,7 @@ bc_Restorer(aindex)
     }                          /* di: For each dump */
 
     if (!nentries) {
-       com_err(whoami, 0, "No volumes to restore");
+       afs_com_err(whoami, 0, "No volumes to restore");
        ERROR(0);
     }
 
@@ -605,7 +641,7 @@ bc_Restorer(aindex)
        (struct tc_restoreDesc *)malloc(nentries *
                                        sizeof(struct tc_restoreDesc));
     if (!tcarray) {
-       com_err(whoami, BC_NOMEM, "");
+       afs_com_err(whoami, BC_NOMEM, "");
        ERROR(BC_NOMEM);
     }
     memset(tcarray, 0, nentries * sizeof(struct tc_restoreDesc));
@@ -687,7 +723,7 @@ bc_Restorer(aindex)
            TC_PerformRestore(aconn, "DumpSetName", &rpcArray,
                              &dumpTaskPtr->dumpID);
        if (code) {
-           com_err(whoami, code, "; Failed to start restore");
+           afs_com_err(whoami, code, "; Failed to start restore");
            break;
        }
 
@@ -768,5 +804,7 @@ bc_Restorer(aindex)
     if (volumeEntries)
        free(volumeEntries);
 
+    free(dlevels);
+
     return code;
 }
index 46388615c9f2f07addf21b268d5e9f5ee9457d24..92fb5530f95f10cb2b4820a0f8fd653517ba2020 100644 (file)
@@ -11,7 +11,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/bucoord/tape_hosts.c,v 1.7.2.2 2007/01/05 03:34:09 shadow Exp $");
+    ("$Header: /cvs/openafs/src/bucoord/tape_hosts.c,v 1.7.2.3 2007/04/10 18:43:41 shadow Exp $");
 
 #include <afs/stds.h>
 #include <sys/types.h>
@@ -66,7 +66,7 @@ bc_AddHostCmd(as, arock)
 
     code = bc_UpdateHosts();
     if (code) {
-       com_err(whoami, code, "; Can't retrieve tape hosts");
+       afs_com_err(whoami, code, "; Can't retrieve tape hosts");
        return (code);
     }
 
@@ -85,14 +85,14 @@ bc_AddHostCmd(as, arock)
            printf("failed\n");
            fflush(stdout);
            if (code == EEXIST)
-               com_err(whoami, 0, "Port offset already in tape database");
+               afs_com_err(whoami, 0, "Port offset already in tape database");
            ERROR(code);
        }
 
        code = bc_SaveHosts();
        if (code) {
-           com_err(whoami, code, "Cannot save tape hosts");
-           com_err(whoami, 0,
+           afs_com_err(whoami, code, "Cannot save tape hosts");
+           afs_com_err(whoami, 0,
                    "Changes are temporary - for this session only");
            ERROR(code);
        }
@@ -124,7 +124,7 @@ bc_DeleteHostCmd(as, arock)
 
     code = bc_UpdateHosts();
     if (code) {
-       com_err(whoami, code, "; Can't retrieve tape hosts");
+       afs_com_err(whoami, code, "; Can't retrieve tape hosts");
        return (code);
     }
 
@@ -150,8 +150,8 @@ bc_DeleteHostCmd(as, arock)
 
        code = bc_SaveHosts();
        if (code) {
-           com_err(whoami, code, "Cannot save tape hosts");
-           com_err(whoami, 0,
+           afs_com_err(whoami, code, "Cannot save tape hosts");
+           afs_com_err(whoami, 0,
                    "Changes are temporary - for this session only");
            ERROR(code);
        }
@@ -184,7 +184,7 @@ bc_ListHostsCmd(as, arock)
 
     code = bc_UpdateHosts();
     if (code) {
-       com_err(whoami, code, "; Can't retrieve tape hosts");
+       afs_com_err(whoami, code, "; Can't retrieve tape hosts");
        return (code);
     }
 
@@ -264,7 +264,7 @@ bc_ParseHosts()
        sscanf(tbuffer, "%s %u", hostName, &port);
        th = gethostbyname(hostName);
        if (th == 0) {
-           com_err(whoami, 0,
+           afs_com_err(whoami, 0,
                    "can't get host info for %s from nameserver or /etc/hosts.",
                    hostName);
        }
@@ -378,7 +378,7 @@ bc_UpdateHosts()
     }
 
     if (ctPtr->textVersion != -1) {
-       com_err(whoami, 0, "obsolete tapehosts - updating");
+       afs_com_err(whoami, 0, "obsolete tapehosts - updating");
        bc_ClearHosts();
     }
 
index 4e850b64f195673ab00a224e9e8b3ffecf43ed64..4e8ff129eb23681ef4e00755d19f620c93f01c8f 100644 (file)
@@ -13,7 +13,7 @@
 #include <afs/stds.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/bucoord/ubik_db_if.c,v 1.10.2.1 2007/01/05 03:34:09 shadow Exp $");
+    ("$Header: /cvs/openafs/src/bucoord/ubik_db_if.c,v 1.10.2.2 2007/04/10 18:43:41 shadow Exp $");
 
 #include <sys/types.h>
 #include <fcntl.h>
@@ -32,6 +32,7 @@ RCSID
 #include <afs/bubasics.h>
 #include <afs/budb_client.h>
 #include <afs/budb.h>
+#include <afs/com_err.h>
 #include <errno.h>
 
 #include "bc.h"
@@ -727,7 +728,7 @@ bc_LockText(ctPtr)
 
        /* Mention something every 30 seconds */
        if (++j >= 30) {
-           com_err(whoami, code,
+           afs_com_err(whoami, code,
                    "; Waiting for db configuration text unlock");
            j = 0;
        }
@@ -823,7 +824,7 @@ vldbClientInit(noAuthFlag, localauth, cellName, cstruct, ttoken)
        afsconf_Open((localauth ? AFSDIR_SERVER_ETC_DIRPATH :
                      AFSDIR_CLIENT_ETC_DIRPATH));
     if (!acdir) {
-       com_err(whoami, 0, "Can't open configuration directory '%s'",
+       afs_com_err(whoami, 0, "Can't open configuration directory '%s'",
                (localauth ? AFSDIR_SERVER_ETC_DIRPATH :
                 AFSDIR_CLIENT_ETC_DIRPATH));
        ERROR(BC_NOCELLCONFIG);
@@ -834,7 +835,7 @@ vldbClientInit(noAuthFlag, localauth, cellName, cstruct, ttoken)
 
        code = afsconf_GetLocalCell(acdir, cname, sizeof(cname));
        if (code) {
-           com_err(whoami, code,
+           afs_com_err(whoami, code,
                    "; Can't get the local cell name - check %s/%s",
                    (localauth ? AFSDIR_SERVER_ETC_DIRPATH :
                     AFSDIR_CLIENT_ETC_DIRPATH), AFSDIR_THISCELL_FILE);
@@ -845,7 +846,7 @@ vldbClientInit(noAuthFlag, localauth, cellName, cstruct, ttoken)
 
     code = afsconf_GetCellInfo(acdir, cellName, AFSCONF_VLDBSERVICE, &info);
     if (code) {
-       com_err(whoami, code, "; Can't find cell %s's hosts in %s/%s",
+       afs_com_err(whoami, code, "; Can't find cell %s's hosts in %s/%s",
                cellName,
                (localauth ? AFSDIR_SERVER_ETC_DIRPATH :
                 AFSDIR_CLIENT_ETC_DIRPATH), AFSDIR_CELLSERVDB_FILE);
@@ -859,12 +860,12 @@ vldbClientInit(noAuthFlag, localauth, cellName, cstruct, ttoken)
     if (localauth) {
        code = afsconf_GetLatestKey(acdir, 0, 0);
        if (code) {
-           com_err(whoami, code, "; Can't get key from local key file");
+           afs_com_err(whoami, code, "; Can't get key from local key file");
            ERROR(code);
        } else {
            code = afsconf_ClientAuth(acdir, &sc, &scIndex);
            if (code) {
-               com_err(whoami, code, "; Calling ClientAuth");
+               afs_com_err(whoami, code, "; Calling ClientAuth");
                ERROR(code);
            }
 
@@ -879,11 +880,11 @@ vldbClientInit(noAuthFlag, localauth, cellName, cstruct, ttoken)
            code =
                ktc_GetToken(&sname, ttoken, sizeof(struct ktc_token), NULL);
            if (code) {
-               com_err(whoami, code, 0,
+               afs_com_err(whoami, code, 0,
                        "; Can't get AFS tokens - running unauthenticated");
            } else {
                if ((ttoken->kvno < 0) || (ttoken->kvno > 255))
-                   com_err(whoami, 0,
+                   afs_com_err(whoami, 0,
                            "Funny kvno (%d) in ticket, proceeding",
                            ttoken->kvno);
 
@@ -903,14 +904,14 @@ vldbClientInit(noAuthFlag, localauth, cellName, cstruct, ttoken)
                                              ttoken->ticket);
            break;
        default:
-           com_err(whoami, 0, "Unsupported authentication type %d", scIndex);
+           afs_com_err(whoami, 0, "Unsupported authentication type %d", scIndex);
            ERROR(-1);
            break;
        }
     }
 
     if (!sc) {
-       com_err(whoami, 0,
+       afs_com_err(whoami, 0,
                "Can't create a security object with security index %d",
                scIndex);
        ERROR(-1);
@@ -920,7 +921,7 @@ vldbClientInit(noAuthFlag, localauth, cellName, cstruct, ttoken)
     UV_SetSecurity(sc, scIndex);
 
     if (info.numServers > VLDB_MAXSERVERS) {
-       com_err(whoami, 0,
+       afs_com_err(whoami, 0,
                "Warning: %d VLDB servers exist for cell '%s', can only remember the first %d",
                info.numServers, cellName, VLDB_MAXSERVERS);
        info.numServers = VLDB_MAXSERVERS;
@@ -936,7 +937,7 @@ vldbClientInit(noAuthFlag, localauth, cellName, cstruct, ttoken)
     *cstruct = 0;
     code = ubik_ClientInit(serverconns, cstruct);
     if (code) {
-       com_err(whoami, code, "; Can't initialize ubik connection to vldb");
+       afs_com_err(whoami, code, "; Can't initialize ubik connection to vldb");
        ERROR(code);
     }
 
@@ -967,7 +968,7 @@ udbClientInit(noAuthFlag, localauth, cellName)
        afsconf_Open((localauth ? AFSDIR_SERVER_ETC_DIRPATH :
                      AFSDIR_CLIENT_ETC_DIRPATH));
     if (!acdir) {
-       com_err(whoami, 0, "Can't open configuration directory '%s'",
+       afs_com_err(whoami, 0, "Can't open configuration directory '%s'",
                (localauth ? AFSDIR_SERVER_ETC_DIRPATH :
                 AFSDIR_CLIENT_ETC_DIRPATH));
        ERROR(BC_NOCELLCONFIG);
@@ -978,7 +979,7 @@ udbClientInit(noAuthFlag, localauth, cellName)
 
        code = afsconf_GetLocalCell(acdir, cname, sizeof(cname));
        if (code) {
-           com_err(whoami, code,
+           afs_com_err(whoami, code,
                    "; Can't get the local cell name - check %s/%s",
                    (localauth ? AFSDIR_SERVER_ETC_DIRPATH :
                     AFSDIR_CLIENT_ETC_DIRPATH), AFSDIR_THISCELL_FILE);
@@ -989,7 +990,7 @@ udbClientInit(noAuthFlag, localauth, cellName)
 
     code = afsconf_GetCellInfo(acdir, cellName, 0, &info);
     if (code) {
-       com_err(whoami, code, "; Can't find cell %s's hosts in %s/%s",
+       afs_com_err(whoami, code, "; Can't find cell %s's hosts in %s/%s",
                cellName,
                (localauth ? AFSDIR_SERVER_ETC_DIRPATH :
                 AFSDIR_CLIENT_ETC_DIRPATH), AFSDIR_CELLSERVDB_FILE);
@@ -1001,14 +1002,14 @@ udbClientInit(noAuthFlag, localauth, cellName)
     if (localauth) {
        code = afsconf_GetLatestKey(acdir, 0, 0);
        if (code) {
-           com_err(whoami, code, "; Can't get key from local key file");
+           afs_com_err(whoami, code, "; Can't get key from local key file");
            ERROR(-1);
        } else {
            code =
                afsconf_ClientAuth(acdir, &udbHandle.uh_secobj,
                                   &udbHandle.uh_scIndex);
            if (code) {
-               com_err(whoami, code, "; Calling ClientAuth");
+               afs_com_err(whoami, code, "; Calling ClientAuth");
                ERROR(-1);
            }
        }
@@ -1022,11 +1023,11 @@ udbClientInit(noAuthFlag, localauth, cellName)
            /* get token */
            code = ktc_GetToken(&principal, &token, sizeof(token), NULL);
            if (code) {
-               com_err(whoami, code,
+               afs_com_err(whoami, code,
                        "; Can't get tokens - running unauthenticated");
            } else {
                if ((token.kvno < 0) || (token.kvno > 255))
-                   com_err(whoami, 0,
+                   afs_com_err(whoami, 0,
                            "Unexpected kvno (%d) in ticket - proceeding",
                            token.kvno);
                udbHandle.uh_scIndex = RX_SCINDEX_KAD;  /* Kerberos */
@@ -1046,7 +1047,7 @@ udbClientInit(noAuthFlag, localauth, cellName)
            break;
 
        default:
-           com_err(whoami, 0, "Unsupported authentication type %d",
+           afs_com_err(whoami, 0, "Unsupported authentication type %d",
                    udbHandle.uh_scIndex);
            ERROR(-1);
            break;
@@ -1054,14 +1055,14 @@ udbClientInit(noAuthFlag, localauth, cellName)
     }
 
     if (!udbHandle.uh_secobj) {
-       com_err(whoami, 0,
+       afs_com_err(whoami, 0,
                "Can't create a security object with security index %d",
                udbHandle.uh_secobj);
        ERROR(-1);
     }
 
     if (info.numServers > MAXSERVERS) {
-       com_err(whoami, 0,
+       afs_com_err(whoami, 0,
                "Warning: %d BDB servers exist for cell '%s', can only remember the first %d",
                info.numServers, cellName, MAXSERVERS);
        info.numServers = MAXSERVERS;
@@ -1078,7 +1079,7 @@ udbClientInit(noAuthFlag, localauth, cellName)
 
     code = ubik_ClientInit(udbHandle.uh_serverConn, &udbHandle.uh_client);
     if (code) {
-       com_err(whoami, code,
+       afs_com_err(whoami, code,
                "; Can't initialize ubik connection to backup database");
        ERROR(code);
     }
@@ -1100,7 +1101,7 @@ udbClientInit(noAuthFlag, localauth, cellName)
            ubik_Call(BUDB_GetInstanceId, udbHandle.uh_client, 0,
                      &udbHandle.uh_instanceId);
     if (code) {
-       com_err(whoami, code, "; Can't access backup database");
+       afs_com_err(whoami, code, "; Can't access backup database");
        ERROR(code);
     }
 
@@ -1313,7 +1314,7 @@ udbLocalInit()
 
     code = ubik_ParseClientList(3, args, serverList);
     if (code) {
-       com_err(whoami, code, "; udbLocalInit: parsing ubik server list");
+       afs_com_err(whoami, code, "; udbLocalInit: parsing ubik server list");
        return (-1);
     }
 
@@ -1327,14 +1328,14 @@ udbLocalInit()
                             BUDB_SERVICE, udbHandle.uh_secobj,
                             udbHandle.uh_scIndex);
        if (udbHandle.uh_serverConn[i] == 0) {
-           com_err(whoami, 0, "connection %d failed", i);
+           afs_com_err(whoami, 0, "connection %d failed", i);
            continue;
        }
     }
     udbHandle.uh_serverConn[i] = 0;
     code = ubik_ClientInit(udbHandle.uh_serverConn, &udbHandle.uh_client);
     if (code) {
-       com_err(whoami, code, "; in ubik_ClientInit");
+       afs_com_err(whoami, code, "; in ubik_ClientInit");
        return (code);
     }
 
@@ -1342,7 +1343,7 @@ udbLocalInit()
        ubik_Call(BUDB_GetInstanceId, udbHandle.uh_client, 0,
                  &udbHandle.uh_instanceId);
     if (code) {
-       com_err(whoami, code, "; Can't estblish instance Id");
+       afs_com_err(whoami, code, "; Can't estblish instance Id");
        return (code);
     }
 
index 66dfa40083f3ad625e265ab1f47b4234a7763550..26677388e8678a0aa1f23e7bd415f3b776698a0a 100644 (file)
@@ -11,7 +11,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/bucoord/vol_sets.c,v 1.10.2.3 2007/01/05 03:34:09 shadow Exp $");
+    ("$Header: /cvs/openafs/src/bucoord/vol_sets.c,v 1.10.2.4 2007/04/10 18:43:41 shadow Exp $");
 
 #include <afs/stds.h>
 #include <sys/types.h>
@@ -73,7 +73,7 @@ bc_AddVolEntryCmd(as, arock)
 
     code = bc_UpdateVolumeSet();
     if (code) {
-       com_err(whoami, code, "; Can't retrieve volume sets");
+       afs_com_err(whoami, code, "; Can't retrieve volume sets");
        return (code);
     }
 
@@ -81,7 +81,7 @@ bc_AddVolEntryCmd(as, arock)
 
     tset = bc_FindVolumeSet(bc_globalConfig, volSetName);
     if (!tset) {
-       com_err(whoami, code, "; Volume entry not added");
+       afs_com_err(whoami, code, "; Volume entry not added");
        ERROR(code);
     }
 
@@ -93,7 +93,7 @@ bc_AddVolEntryCmd(as, arock)
 
     code = bc_UpdateVolumeSet();
     if (code) {
-       com_err(whoami, code, "; Can't retrieve volume sets");
+       afs_com_err(whoami, code, "; Can't retrieve volume sets");
        return (code);
     }
 
@@ -101,15 +101,15 @@ bc_AddVolEntryCmd(as, arock)
        bc_AddVolumeItem(bc_globalConfig, volSetName, serverName,
                         partitionName, volRegExp);
     if (code) {
-       com_err(whoami, code, "; Volume entry not added");
+       afs_com_err(whoami, code, "; Volume entry not added");
        ERROR(code);
     }
 
     if (!(tset->flags & VSFLAG_TEMPORARY)) {
        code = bc_SaveVolumeSet();
        if (code) {
-           com_err(whoami, code, "Cannot save volume set file");
-           com_err(whoami, 0,
+           afs_com_err(whoami, code, "Cannot save volume set file");
+           afs_com_err(whoami, 0,
                    "Changes are temporary - for this session only");
        }
     }
@@ -154,7 +154,7 @@ bc_AddVolSetCmd(as, arock)
 
     code = bc_UpdateVolumeSet();
     if (code) {
-       com_err(whoami, code, "; Can't retrieve volume sets");
+       afs_com_err(whoami, code, "; Can't retrieve volume sets");
        return (code);
     }
 
@@ -164,14 +164,14 @@ bc_AddVolSetCmd(as, arock)
                           flags);
     if (code) {
        if (code == -1)
-           com_err(whoami, 0, "Volume set '%s' already exists", ti->data);
+           afs_com_err(whoami, 0, "Volume set '%s' already exists", ti->data);
        else
-           com_err(whoami, 0, "Unknown problem");
+           afs_com_err(whoami, 0, "Unknown problem");
     } else if (!(flags & VSFLAG_TEMPORARY)) {
        code = bc_SaveVolumeSet();
        if (code) {
-           com_err(whoami, code, "Cannot save new volume set file");
-           com_err(whoami, 0,
+           afs_com_err(whoami, code, "Cannot save new volume set file");
+           afs_com_err(whoami, 0,
                    "Changes are temporary - for this session only");
        }
     }
@@ -205,7 +205,7 @@ bc_DeleteVolEntryCmd(as, arock)
 
     code = bc_UpdateVolumeSet();
     if (code) {
-       com_err(whoami, code, "; Can't retrieve volume sets");
+       afs_com_err(whoami, code, "; Can't retrieve volume sets");
        return (code);
     }
 
@@ -214,7 +214,7 @@ bc_DeleteVolEntryCmd(as, arock)
 
     tset = bc_FindVolumeSet(bc_globalConfig, vsname);
     if (!tset) {
-       com_err(whoami, 0, "No such volume set as '%s'", vsname);
+       afs_com_err(whoami, 0, "No such volume set as '%s'", vsname);
        ERROR(code);
     }
 
@@ -226,13 +226,13 @@ bc_DeleteVolEntryCmd(as, arock)
 
     code = bc_UpdateVolumeSet();
     if (code) {
-       com_err(whoami, code, "; Can't retrieve volume sets");
+       afs_com_err(whoami, code, "; Can't retrieve volume sets");
        return (code);
     }
 
     entry = bc_SafeATOI(as->parms[1].items->data);
     if (entry < 0) {
-       com_err(whoami, 0, "Can't parse entry number '%s' as decimal integer",
+       afs_com_err(whoami, 0, "Can't parse entry number '%s' as decimal integer",
                as->parms[1].items->data);
        ERROR(BC_BADARG);
     }
@@ -240,12 +240,12 @@ bc_DeleteVolEntryCmd(as, arock)
     code = bc_DeleteVolumeItem(bc_globalConfig, vsname, entry);
     if (code) {
        if (code == -1) {
-           com_err(whoami, 0, "No such volume set as '%s'", vsname);
+           afs_com_err(whoami, 0, "No such volume set as '%s'", vsname);
        } else if (code == -2) {
-           com_err(whoami, 0,
+           afs_com_err(whoami, 0,
                    "There aren't %d volume items for this volume set",
                    entry);
-           com_err(whoami, 0,
+           afs_com_err(whoami, 0,
                    "Use the 'listvolsets' command to examine the volume set");
        }
        ERROR(code);
@@ -257,8 +257,8 @@ bc_DeleteVolEntryCmd(as, arock)
            printf("backup: deleted volume entry %d from volume set %s\n",
                   entry, vsname);
        } else {
-           com_err(whoami, code, "Cannot save volume set file");
-           com_err(whoami, 0,
+           afs_com_err(whoami, code, "Cannot save volume set file");
+           afs_com_err(whoami, 0,
                    "Deletion is temporary - for this session only");
        }
     }
@@ -300,7 +300,7 @@ bc_DeleteVolSetCmd(as, arock)
 
     code = bc_UpdateVolumeSet();
     if (code) {
-       com_err(whoami, code, "; Can't retrieve volume sets");
+       afs_com_err(whoami, code, "; Can't retrieve volume sets");
        return (code);
     }
 
@@ -308,9 +308,9 @@ bc_DeleteVolSetCmd(as, arock)
        code = bc_DeleteVolumeSet(bc_globalConfig, ti->data, &flags);
        if (code) {
            if (code == -1)
-               com_err(whoami, 0, "Can't find volume set '%s'", ti->data);
+               afs_com_err(whoami, 0, "Can't find volume set '%s'", ti->data);
            else
-               com_err(whoami, code,
+               afs_com_err(whoami, code,
                        "; Unknown problem deleting volume set '%s'",
                        ti->data);
        } else {
@@ -326,8 +326,8 @@ bc_DeleteVolSetCmd(as, arock)
        if (c) {
            if (!code)
                code = c;
-           com_err(whoami, c, "Cannot save updated volume set file");
-           com_err(whoami, 0, "Deletion effective for this session only");
+           afs_com_err(whoami, c, "Cannot save updated volume set file");
+           afs_com_err(whoami, 0, "Deletion effective for this session only");
        }
 
     }
@@ -374,7 +374,7 @@ bc_ListVolSetCmd(struct cmd_syndesc *as, char *arock)
 
     code = bc_UpdateVolumeSet();
     if (code) {
-       com_err(whoami, code, "; Can't retrieve volume sets");
+       afs_com_err(whoami, code, "; Can't retrieve volume sets");
        return (code);
     }
 
@@ -387,7 +387,7 @@ bc_ListVolSetCmd(struct cmd_syndesc *as, char *arock)
                ListVolSet(tset);
                printf("\n");
            } else {
-               com_err(whoami, 0, "Can't find volume set '%s'", ti->data);
+               afs_com_err(whoami, 0, "Can't find volume set '%s'", ti->data);
                code = 1;
            }
        }
@@ -495,7 +495,7 @@ bc_ParseVolumeSet()
            if ((code != 2)
                || (strcmp(serverName, "volumeset") != 0)
                ) {
-               com_err(whoami, 0, "Bad volume header line: '%s'", tbuffer);
+               afs_com_err(whoami, 0, "Bad volume header line: '%s'", tbuffer);
                return (-1);
            }
 
@@ -534,13 +534,13 @@ bc_ParseVolumeSet()
            tve = (struct bc_volumeEntry *)
                malloc(sizeof(struct bc_volumeEntry));
            if (!tve) {
-               com_err(whoami, 0,
+               afs_com_err(whoami, 0,
                        "Can't malloc() a new volume spec record!");
                return (-1);
            }
            memset(tve, 0, sizeof(*tve));
            if (bc_ParseHost(serverName, &(tve->server)))
-               com_err(whoami, 0, "Can't get required info on host '%s'",
+               afs_com_err(whoami, 0, "Can't get required info on host '%s'",
                        serverName);
 
            /* The above code has filled in the server sockaddr, now fill in
@@ -548,26 +548,26 @@ bc_ParseVolumeSet()
             */
            tve->serverName = (char *)malloc(strlen(serverName) + 1);
            if (!tve->serverName) {
-               com_err(whoami, 0,
+               afs_com_err(whoami, 0,
                        "Can't malloc() a new volume spec server name field!");
                return (-1);
            }
            strcpy(tve->serverName, serverName);
            tve->partname = (char *)malloc(strlen(partName) + 1);
            if (!tve->partname) {
-               com_err(whoami, 0,
+               afs_com_err(whoami, 0,
                        "Can't malloc() a new volume spec partition pattern field!");
                return (-1);
            }
            strcpy(tve->partname, partName);
            code = bc_GetPartitionID(partName, &tve->partition);
            if (code) {
-               com_err(whoami, 0, "Can't parse partition '%s'", partName);
+               afs_com_err(whoami, 0, "Can't parse partition '%s'", partName);
                return -1;
            }
            tp = (char *)malloc(strlen(vsname) + 1);
            if (!tp) {
-               com_err(whoami, 0,
+               afs_com_err(whoami, 0,
                        "Can't malloc() a new volume spec volume pattern field!");
                return (-1);
            }
index af798fa8fa52891c030e25de274bef5ab77eb170..a6725bd8a63a07a436dba3a52160501bc5ad9397 100644 (file)
@@ -11,7 +11,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/bucoord/volstub.c,v 1.6.2.2 2007/01/05 03:34:09 shadow Exp $");
+    ("$Header: /cvs/openafs/src/bucoord/volstub.c,v 1.6.2.3 2007/04/10 18:43:41 shadow Exp $");
 
 #include <sys/types.h>
 #ifdef AFS_NT40_ENV
@@ -27,6 +27,7 @@ RCSID
 #include "volser.h"
 #include "bc.h"
 #include <afs/volint.h>
+#include <afs/com_err.h>
 
 extern char *whoami;
 
@@ -76,7 +77,7 @@ volImageTime(serv, part, volid, voltype, clDatePtr)
 
     code = UV_ListOneVolume(htonl(serv), part, volid, &viptr);
     if (code) {
-       com_err(whoami, code,
+       afs_com_err(whoami, code,
                "Warning: Can't get clone time of volume %u - using 0",
                volid);
        *clDatePtr = 0;
@@ -98,7 +99,7 @@ volImageTime(serv, part, volid, voltype, clDatePtr)
        break;
 
     default:
-       com_err(whoami, 0,
+       afs_com_err(whoami, 0,
                "Can't get clone time of volume %u - unknown volume type",
                volid);
        return (-1);
index c42b680acba740a66099ff97cf6251c7b7d47864..63769cc3604c72a1d5ea905bb1c09dd5859890d7 100644 (file)
@@ -11,7 +11,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/budb/database.c,v 1.7 2003/07/15 23:14:48 shadow Exp $");
+    ("$Header: /cvs/openafs/src/budb/database.c,v 1.7.2.1 2007/07/06 11:34:00 jaltman Exp $");
 
 #ifdef AFS_NT40_ENV
 #include <winsock2.h>
@@ -75,11 +75,7 @@ InitDB()
  */
 
 afs_int32
-dbwrite(ut, pos, buff, len)
-     struct ubik_trans *ut;
-     afs_int32 pos;
-     char *buff;
-     afs_int32 len;
+dbwrite(struct ubik_trans *ut, afs_int32 pos, void *buff, afs_int32 len)
 {
     afs_int32 code = 0;
 
@@ -111,11 +107,7 @@ dbwrite(ut, pos, buff, len)
 /* same thing for read */
 
 afs_int32
-dbread(ut, pos, buff, len)
-     struct ubik_trans *ut;
-     afs_int32 pos;
-     char *buff;
-     afs_int32 len;
+dbread(struct ubik_trans *ut, afs_int32 pos, void *buff, afs_int32 len)
 {
     afs_int32 code = 0;
 
@@ -146,12 +138,7 @@ dbread(ut, pos, buff, len)
 
 /* Same as dbread excepts it does checking */
 afs_int32
-cdbread(ut, type, pos, buff, len)
-     struct ubik_trans *ut;
-     int type;
-     afs_int32 pos;
-     char *buff;
-     afs_int32 len;
+cdbread(struct ubik_trans *ut, int type, afs_int32 pos, void *buff, afs_int32 len)
 {
     afs_int32 code = 0;
 
index d545a7187bcba0b906b65f4c3f6a85858b8ff371..b2dcbca293726d77906c26c2f9fea9c233e6ed1f 100644 (file)
@@ -315,6 +315,8 @@ struct memoryHashTable *ht_GetType();
 extern afs_uint32 ht_HashEntry();
 extern dbadr ht_LookupBucket();
 
-extern afs_int32 dbwrite(struct ubik_trans *ut, afs_int32 pos, char *buff, afs_int32 len);
+extern afs_int32 dbwrite(struct ubik_trans *ut, afs_int32 pos, void *buff, afs_int32 len);
+extern afs_int32 dbread(struct ubik_trans *ut, afs_int32 pos, void *buff, afs_int32 len);
+extern afs_int32 cdbread(struct ubik_trans *ut, int type, afs_int32 pos, void *buff, afs_int32 len);
 extern void db_panic(char *reason);
 extern void ht_Reset(struct memoryHashTable *mht);
index 5724aef56934245e3e232056b9b66489259d4ad0..dfe6095dd7a70094614bb87c343c342d816b4932 100644 (file)
@@ -13,7 +13,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/budb/ol_verify.c,v 1.13 2003/11/29 22:08:09 jaltman Exp $");
+    ("$Header: /cvs/openafs/src/budb/ol_verify.c,v 1.13.2.1 2007/07/06 11:38:31 jaltman Exp $");
 
 #include <stdio.h>
 #ifdef AFS_NT40_ENV
@@ -303,9 +303,10 @@ TypeName(index)
     return (typeName[index]);
 }
 
-getDumpID(ut, tapePtr, dumpID)
-     struct tape *tapePtr;
-     afs_int32 *dumpID;
+int
+getDumpID(struct ubik_trans *ut,
+    struct tape *tapePtr,
+    afs_int32 *dumpID)
 {
     struct dump d;
     afs_int32 code;
@@ -314,6 +315,7 @@ getDumpID(ut, tapePtr, dumpID)
     code = dbread(ut, ntohl(tapePtr->dump), &d, sizeof(d));
     if (!code)
        *dumpID = ntohl(d.id);
+    return code;
 }
 
 /* ------------------------------------
index 4ab0e1c1bb5f1a1f0588f0bc2af4fca52e3b6bea..dd26cf0f04dd87219ef86d551cda232f535afb8c 100644 (file)
@@ -11,7 +11,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/budb/server.c,v 1.14.2.4 2006/06/20 20:35:00 jaltman Exp $");
+    ("$Header: /cvs/openafs/src/budb/server.c,v 1.14.2.5 2007/04/10 18:43:41 shadow Exp $");
 
 #include <fcntl.h>
 #include <sys/stat.h>
@@ -410,7 +410,7 @@ main(argc, argv)
 #ifdef AFS_NT40_ENV
        ReportErrorEventAlt(AFSEVT_SVR_NO_INSTALL_DIR, 0, argv[0], 0);
 #endif
-       com_err(whoami, errno, "; Unable to obtain AFS server directory.");
+       afs_com_err(whoami, errno, "; Unable to obtain AFS server directory.");
        exit(2);
     }
 
@@ -468,7 +468,7 @@ main(argc, argv)
     BU_conf = afsconf_Open(globalConfPtr->cellConfigdir);
     if (BU_conf == 0) {
        LogError(code, "Failed getting cell info\n");
-       com_err(whoami, code, "Failed getting cell info");
+       afs_com_err(whoami, code, "Failed getting cell info");
        ERROR(BUDB_NOCELLS);
     }
 
@@ -551,7 +551,7 @@ main(argc, argv)
 
     if (code) {
        LogError(code, "Ubik init failed\n");
-       com_err(whoami, code, "Ubik init failed");
+       afs_com_err(whoami, code, "Ubik init failed");
        ERROR(code);
     }
 
@@ -678,8 +678,8 @@ LogError(code, a, b, c, d, e, f, g, h, i)
        fprintf(globalConfPtr->log, "%s ", TimeStamp(now));
 
        if (code)
-           fprintf(globalConfPtr->log, "%s: %s\n", error_table_name(code),
-                   error_message(code));
+           fprintf(globalConfPtr->log, "%s: %s\n", afs_error_table_name(code),
+                   afs_error_message(code));
        fprintf(globalConfPtr->log, a, b, c, d, e, f, g, h, i);
        fflush(globalConfPtr->log);
        fclose(globalConfPtr->log);
index eba630d81b62941232aa3f3f8ec1a3a09e6c96d4..a219552f44b4fe3aab9bbfa436c650168e9ec0f0 100644 (file)
@@ -13,7 +13,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/butc/butc_xbsa.c,v 1.8 2004/07/14 04:46:48 shadow Exp $");
+    ("$Header: /cvs/openafs/src/butc/butc_xbsa.c,v 1.8.2.1 2007/07/16 20:43:31 shadow Exp $");
 
 #include <sys/types.h>
 #include <afs/stds.h>
@@ -132,7 +132,8 @@ xbsa_MountLibrary(struct butx_transactionInfo *info, afs_int32 serverType)
                       RTLD_NOW | RTLD_LOCAL | RTLD_MEMBER);
        }
 #elif defined(AFS_SUN5_ENV)
-       dynlib = dlopen("/usr/lib/libXApi.so", RTLD_NOW | RTLD_LOCAL);
+       dlopen ("/usr/lib/libCstd.so.1", RTLD_NOW | RTLD_GLOBAL);
+       dynlib = dlopen("/usr/lib/libXApi.so", RTLD_NOW | RTLD_GLOBAL);
 #else
        dynlib = NULL;
 #endif
index a0d74d95d4379e5db857b58ee7b7726781b00c0c..ff08cc708932f6308f1aac98d40b950ddb2d9a15 100644 (file)
@@ -11,7 +11,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/butc/lwps.c,v 1.12.2.2 2005/07/11 19:29:36 shadow Exp $");
+    ("$Header: /cvs/openafs/src/butc/lwps.c,v 1.12.2.3 2007/04/10 18:43:41 shadow Exp $");
 
 #include <sys/types.h>
 #ifdef AFS_NT40_ENV
@@ -175,8 +175,8 @@ PrintLog(log, error1, error2, str, a, b, c, d, e, f, g, h, i, j)
            err1 = "Volume has moved to another server";
            break;
        default:
-           err1 = (char *)error_message(error1);
-           err2 = (char *)error_table_name(error1);
+           err1 = (char *)afs_error_message(error1);
+           err2 = (char *)afs_error_table_name(error1);
            break;
        }
        if (error1 == -1)
@@ -184,7 +184,7 @@ PrintLog(log, error1, error2, str, a, b, c, d, e, f, g, h, i, j)
        else
            fprintf(log, "     %s: %s", err2, err1);
        if (error2)
-           fprintf(log, ": %s", error_message(error2));
+           fprintf(log, ": %s", afs_error_message(error2));
        fprintf(log, "\n");
     }
     fflush(log);
@@ -573,7 +573,7 @@ unmountTape(taskId, tapeInfoPtr)
            }
            if (rcpid == -1 && errno != EINTR) {
                tapemounted = 0;
-               com_err(whoami, errno,
+               afs_com_err(whoami, errno,
                        "Error waiting for callout script to terminate.");
                break;
            }
@@ -737,7 +737,7 @@ PromptForTape(flag, name, dbDumpId, taskId, tapecount)
            }
            /* if waitpid experienced an error, we prompt */
            if (rcpid == -1 && errno != EINTR) {
-               com_err(whoami, errno,
+               afs_com_err(whoami, errno,
                        "Error waiting for callout script to terminate.");
                TLog(taskId,
                     "Can't get exit status from callout script. will prompt\n");
index 2263e5b357f5f9672fdd4e4e4c42bf79133cc10e..a018f8e636761eda25157b4f1655a812cf16e695 100644 (file)
@@ -11,7 +11,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/butm/butm_test.c,v 1.8 2003/07/15 23:14:49 shadow Exp $");
+    ("$Header: /cvs/openafs/src/butm/butm_test.c,v 1.8.2.1 2007/04/10 18:43:42 shadow Exp $");
 
 #include <errno.h>
 #include <sys/types.h>
@@ -34,7 +34,7 @@ static char *whoami = "TEST FAIL";
                        if (code != err) \
                        { \
                           printf("FAILURE: expected %u; got %u\n", err, code); \
-                          if (code) com_err(whoami, code, ""); \
+                          if (code) afs_com_err(whoami, code, ""); \
                       } \
                        else printf("PASSED; got %u\n", err); \
                        printf("\n");
@@ -43,7 +43,7 @@ static char *whoami = "TEST FAIL";
                         { \
                           printf("TEST: %s\n", str); \
                            printf("FAILURE: expected %u; got %u\n", err, code); \
-                           if (code) com_err(whoami, code, ""); \
+                           if (code) afs_com_err(whoami, code, ""); \
                           printf("\n"); \
                        }
 #define NOREWIND 0
index 1b7a89e0a7ccb1d7ac4b8d6fc36ff97292311a1d..f977a1fa98362c841a199ef6f44d38653d1af13b 100644 (file)
@@ -11,7 +11,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/butm/file_tm.c,v 1.11.2.1 2005/04/03 18:15:47 shadow Exp $");
+    ("$Header: /cvs/openafs/src/butm/file_tm.c,v 1.11.2.2 2007/04/10 18:43:42 shadow Exp $");
 
 #ifdef AFS_NT40_ENV
 #include <winsock2.h>
@@ -1752,7 +1752,7 @@ file_Configure(file)
      struct tapeConfig *file;
 {
     if (!file) {
-       com_err(whoami, BUTM_BADCONFIG, "device not specified");
+       afs_com_err(whoami, BUTM_BADCONFIG, "device not specified");
        return BUTM_BADCONFIG;
     }
 
@@ -1763,13 +1763,13 @@ file_Configure(file)
 
     /* Tape must be large enough to at least fit a label */
     if (config.tapeSize <= 0) {
-       com_err(whoami, BUTM_BADCONFIG, "Tape size bogus: %d Kbytes",
+       afs_com_err(whoami, BUTM_BADCONFIG, "Tape size bogus: %d Kbytes",
                config.tapeSize);
        return BUTM_BADCONFIG;
     }
 
     if (strlen(config.tapedir) == 0) {
-       com_err(whoami, BUTM_BADCONFIG, "no tape device specified");
+       afs_com_err(whoami, BUTM_BADCONFIG, "no tape device specified");
        return BUTM_BADCONFIG;
     }
 
index c712aaf95c192bb4193a813d8434ff29e3a57c3e..01f80f60f46ebdbff56eaf37dcc67dc610f25d54 100644 (file)
@@ -11,7 +11,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/butm/test_ftm.c,v 1.10.2.1 2004/10/18 07:11:52 shadow Exp $");
+    ("$Header: /cvs/openafs/src/butm/test_ftm.c,v 1.10.2.2 2007/04/10 18:43:42 shadow Exp $");
 
 #include <sys/types.h>
 #include <fcntl.h>
@@ -131,14 +131,14 @@ main(argc, argv)
            else if (strncmp(argv[i], "-tapename", strlen(argv[i])) == 0)
                tape = argv[++i];
            else {
-               com_err(whoami, 0, "unexpected command argument: '%s'",
+               afs_com_err(whoami, 0, "unexpected command argument: '%s'",
                        argv[i]);
                goto usage;
            }
        } else {
            struct stat buf;
            if (stat(argv[i], &buf)) {
-               com_err(whoami, errno, "can't stat filename parameter %s\n",
+               afs_com_err(whoami, errno, "can't stat filename parameter %s\n",
                        argv[i]);
            } else {
                if ((buf.st_mode & S_IFREG) && (buf.st_mode & 0444))
@@ -152,12 +152,12 @@ main(argc, argv)
        goto usage;
 
     if ((strlen(tape) == 0) || (strlen(tape) >= BU_MAXTAPELEN)) {
-       com_err(whoami, 0, "bogus tape name");
+       afs_com_err(whoami, 0, "bogus tape name");
        goto usage;
     }
     code = GetDeviceInfo(config, &confInfo);
     if (code) {
-       com_err(whoami, 0, "cant find tape config info");
+       afs_com_err(whoami, 0, "cant find tape config info");
        goto usage;
     }
 
@@ -169,12 +169,12 @@ main(argc, argv)
     printf("%s: Beginning Dump Tests\n", whoami);
     code = LWP_InitializeProcessSupport(1, &parent_pid);
     if (code) {
-       com_err(whoami, code, "Can't init LWP lib");
+       afs_com_err(whoami, code, "Can't init LWP lib");
        exit(1);
     }
     code = IOMGR_Initialize();
     if (code) {
-       com_err(whoami, code, "Can't init LWP IOMGR lib");
+       afs_com_err(whoami, code, "Can't init LWP IOMGR lib");
        exit(1);
     }
     /* Perform normal test */
@@ -182,7 +182,7 @@ main(argc, argv)
        LWP_CreateProcess(PerformDumpTest, 100000, 0, (void *)&ti,
                          "BUTM Tester", &pid);
     if (code) {
-       com_err(whoami, code, "libbutm.a: Normal Tests failed!. :-( ");
+       afs_com_err(whoami, code, "libbutm.a: Normal Tests failed!. :-( ");
        exit(code);
     }
     LWP_WaitProcess(&ti.dumpDone);
@@ -195,7 +195,7 @@ main(argc, argv)
            LWP_CreateProcess(PerformDumpTest, 100000, 0, (void *)&ti,
                              "BUTM Tester", &pid);
        if (code) {
-           com_err(whoami, code, "libbutm.a: Appended Tests failed!. :-( ");
+           afs_com_err(whoami, code, "libbutm.a: Appended Tests failed!. :-( ");
            exit(code);
        }
 
@@ -228,7 +228,7 @@ PerformDumpTest(TestInfo * tip)
 
     info.structVersion = BUTM_MAJORVERSION;
     if (code = butm_file_Instantiate(&info, tip->tc_Infop)) {
-       com_err(whoami, code, "instantiating file tape");
+       afs_com_err(whoami, code, "instantiating file tape");
        ERROR_EXIT(2);
     }
 
@@ -251,19 +251,19 @@ PerformDumpTest(TestInfo * tip)
     strcpy(label.comment, T_COMMENT);
 
     if (code = butm_Mount(&info, tip->tapeName)) {
-       com_err(whoami, code, "setting up tape");
+       afs_com_err(whoami, code, "setting up tape");
        ERROR_EXIT(2);
     }
     if (tip->appended) {       /* This is to be an appended dump */
        code = butm_SeekEODump(&info, tip->nFiles + 1);
        if (code) {
-           com_err(whoami, code,
+           afs_com_err(whoami, code,
                    "Can't append: Can't position to end of dump on tape\n");
            ERROR_EXIT(code);
        }
     }
     if ((code = butm_Create(&info, &label, !tip->appended /*Rewind */ ))) {
-       com_err(whoami, code, "Writing tape label");
+       afs_com_err(whoami, code, "Writing tape label");
        ERROR_EXIT(2);
     }
 
@@ -272,34 +272,34 @@ PerformDumpTest(TestInfo * tip)
        int len;
        int fid = open(tip->files[i], O_RDONLY, 0);
        if (fid < 0) {
-           com_err(whoami, errno, "opening file to write on tape");
+           afs_com_err(whoami, errno, "opening file to write on tape");
            ERROR_EXIT(3);
        }
        if (code = butm_WriteFileBegin(&info)) {
-           com_err(whoami, code, "beginning butm write file");
+           afs_com_err(whoami, code, "beginning butm write file");
            ERROR_EXIT(3);
        }
        while ((len = read(fid, bufferBlock->data, BUTM_BLKSIZE)) > 0) {
            if (code = butm_WriteFileData(&info, bufferBlock->data, 1, len)) {
-               com_err(whoami, code, "butm writing file data");
+               afs_com_err(whoami, code, "butm writing file data");
                ERROR_EXIT(3);
            }
        }
        if (len < 0) {
-           com_err(whoami, errno, "reading file data");
+           afs_com_err(whoami, errno, "reading file data");
            ERROR_EXIT(3);
        }
        if (code = butm_WriteFileEnd(&info)) {
-           com_err(whoami, code, "ending butm write file");
+           afs_com_err(whoami, code, "ending butm write file");
            ERROR_EXIT(3);
        }
        if (close(fid) < 0) {
-           com_err(whoami, errno, "closing file");
+           afs_com_err(whoami, errno, "closing file");
            ERROR_EXIT(3);
        }
     }
     if ((code = butm_WriteEOT(&info)) || (code = butm_Dismount(&info))) {
-       com_err(whoami, code, "finishing up tape");
+       afs_com_err(whoami, code, "finishing up tape");
        ERROR_EXIT(4);
     }
 
@@ -307,19 +307,19 @@ PerformDumpTest(TestInfo * tip)
 
     label.structVersion = BUTM_MAJORVERSION;
     if (code = butm_Mount(&info, tip->tapeName)) {
-       com_err(whoami, code, "setting up tape");
+       afs_com_err(whoami, code, "setting up tape");
        ERROR_EXIT(5);
     }
     if (tip->appended) {       /* This is to be an appended dump */
        code = butm_SeekEODump(&info, tip->nFiles + 1);
        if (code) {
-           com_err(whoami, code,
+           afs_com_err(whoami, code,
                    "Can't append: Can't position to end of dump on tape\n");
            ERROR_EXIT(code);
        }
     }
     if (code = butm_ReadLabel(&info, &label, !tip->appended /*rewind */ )) {
-       com_err(whoami, code, "reading tape label");
+       afs_com_err(whoami, code, "reading tape label");
        ERROR_EXIT(5);
     }
     past = time(0) - label.creationTime;
@@ -359,12 +359,12 @@ PerformDumpTest(TestInfo * tip)
 
        fid = open(tip->files[i], O_RDONLY, 0);
        if (fid < 0) {
-           com_err(whoami, errno, "Opening %dth file to compare with tape",
+           afs_com_err(whoami, errno, "Opening %dth file to compare with tape",
                    i + 1);
            ERROR_EXIT(6);
        }
        if (code = butm_ReadFileBegin(&info)) {
-           com_err(whoami, code, "Beginning butm %dth read file", i + 1);
+           afs_com_err(whoami, code, "Beginning butm %dth read file", i + 1);
            ERROR_EXIT(6);
        }
 
@@ -374,13 +374,13 @@ PerformDumpTest(TestInfo * tip)
            code = butm_ReadFileData(&info, tbuffer, BUTM_BLKSIZE, &tlen);
 
            if (code && code != BUTM_STATUS_EOF) {
-               com_err(whoami, code, "Reading %dth tape data", i + 1);
+               afs_com_err(whoami, code, "Reading %dth tape data", i + 1);
                ERROR_EXIT(6);
            }
            memset(fbuffer, 0, BUTM_BLKSIZE);
            flen = read(fid, fbuffer, sizeof(fbuffer));
            if (flen < 0) {
-               com_err(whoami, errno, "Reading %dth file data", i + 1);
+               afs_com_err(whoami, errno, "Reading %dth file data", i + 1);
                ERROR_EXIT(6);
            }
            if (code == BUTM_STATUS_EOF)
@@ -402,11 +402,11 @@ PerformDumpTest(TestInfo * tip)
        }
 
        if (code = butm_ReadFileEnd(&info)) {
-           com_err(whoami, code, "Ending butm %dth read file", i + 1);
+           afs_com_err(whoami, code, "Ending butm %dth read file", i + 1);
            ERROR_EXIT(7);
        }
        if (close(fid) < 0) {
-           com_err(whoami, errno, "Closing %dth file", i + 1);
+           afs_com_err(whoami, errno, "Closing %dth file", i + 1);
            ERROR_EXIT(7);
        }
     }
@@ -414,12 +414,12 @@ PerformDumpTest(TestInfo * tip)
     if ((info.status & BUTM_STATUS_EOD) == 0) {
        code = butm_ReadFileBegin(&info);
        if (code && (code != BUTM_EOD)) {
-           com_err(whoami, code, "Should have encountered an 'End Of Tape'");
+           afs_com_err(whoami, code, "Should have encountered an 'End Of Tape'");
            ERROR_EXIT(8);
        }
     }
     if (code = butm_Dismount(&info)) {
-       com_err(whoami, code, "Finishing up tape");
+       afs_com_err(whoami, code, "Finishing up tape");
        ERROR_EXIT(8);
     }
 
index 540f825289fcd13b222d92c2fbf614474cedf428..51291f7352aada354e9dea8ea81cb987816914c6 100644 (file)
@@ -1,5 +1,5 @@
 dnl
-dnl $Id: kerberos.m4,v 1.1.2.10 2007/01/05 03:22:01 shadow Exp $
+dnl $Id: kerberos.m4,v 1.1.2.11 2007/10/10 17:47:59 shadow Exp $
 dnl
 dnl Kerberos autoconf glue
 dnl
@@ -58,7 +58,7 @@ if test X$conf_krb5 = XYES; then
        CPPFLAGS="$CPPFLAGS $KRB5CFLAGS"
        save_LIBS="$LIBS"
        LIBS="$LIBS $KRB5LIBS"
-       AC_CHECK_FUNCS([add_to_error_table add_error_table krb5_princ_size krb5_principal_get_comp_string])
+       AC_CHECK_FUNCS([add_to_error_table add_error_table krb5_princ_size krb5_principal_get_comp_string encode_krb5_enc_tkt_part encode_krb5_ticket])
        AC_CHECK_FUNCS([krb5_524_convert_creds], ,
            [AC_CHECK_FUNCS([krb524_convert_creds_kdc], ,
                [AC_CHECK_LIB([krb524], [krb524_convert_creds_kdc],
index 150d61c44590c6428312fa9a6d11227cc4096130..491e894f74887df8765527a9d4457cd3a6f3ec54 100644 (file)
@@ -10,4 +10,5 @@ mkdir -p $outputdir
 cp  $tmpldir/osi_vfs.hin $outputdir/osi_vfs.h
 # chmod +x $configdir/make_vnode.pl
 # $configdir/make_vnode.pl -i $LINUX_KERNEL_PATH -t ${tmpldir} -o $outputdir
+  AC_MSG_RESULT(yes)
 ])
index 653464fb6e145fdd60e49a3fe926677623e27873..3cb0ee0d9e935737b0aaff0fef71c1b0410c7300 100644 (file)
@@ -444,6 +444,18 @@ printk("%d\n", _tsk.exit_state);],
   AC_MSG_RESULT($ac_cv_linux_sched_struct_task_struct_has_exit_state)])
 
 
+AC_DEFUN([LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_THREAD_INFO], [
+  AC_MSG_CHECKING([for thread_info in struct task_struct])
+  AC_CACHE_VAL([ac_cv_linux_sched_struct_task_struct_has_thread_info], [
+    AC_TRY_KBUILD(
+[#include <linux/sched.h>],
+[struct task_struct _tsk;
+printk("%d\n", _tsk.thread_info);],
+      ac_cv_linux_sched_struct_task_struct_has_thread_info=yes,
+      ac_cv_linux_sched_struct_task_struct_has_thread_info=no)])
+  AC_MSG_RESULT($ac_cv_linux_sched_struct_task_struct_has_thread_info)])
+
+
 AC_DEFUN([LINUX_FS_STRUCT_SUPER_HAS_ALLOC_INODE], [
   AC_MSG_CHECKING([for alloc_inode in struct super_operations])
   AC_CACHE_VAL([ac_cv_linux_fs_struct_super_has_alloc_inode], [
@@ -456,6 +468,17 @@ printk("%p\n", _super.alloc_inode);],
   AC_MSG_RESULT($ac_cv_linux_fs_struct_super_has_alloc_inode)])
 
 
+AC_DEFUN([LINUX_KERNEL_POSIX_LOCK_FILE_WAIT_ARG], [
+  AC_MSG_CHECKING([for 3rd argument in posix_lock_file found in new kernels])
+  AC_CACHE_VAL([ac_cv_linux_kernel_posix_lock_file_wait_arg], [
+    AC_TRY_KBUILD(
+[#include <linux/fs.h>],
+[posix_lock_file(0,0,0);],
+      ac_cv_linux_kernel_posix_lock_file_wait_arg=yes,
+      ac_cv_linux_kernel_posix_lock_file_wait_arg=no)])
+  AC_MSG_RESULT($ac_cv_linux_kernel_posix_lock_file_wait_arg)])
+
+
 AC_DEFUN([LINUX_KERNEL_SOCK_CREATE], [
   AC_MSG_CHECKING([for 5th argument in sock_create found in some SELinux kernels])
   AC_CACHE_VAL([ac_cv_linux_kernel_sock_create_v], [
@@ -644,6 +667,22 @@ struct nameidata _nameidata;
   AC_MSG_RESULT($ac_cv_linux_func_i_permission_takes_nameidata)])
 
 
+AC_DEFUN([LINUX_IOP_I_PUT_LINK_TAKES_COOKIE], [
+  AC_MSG_CHECKING([whether inode_operations.put_link takes an opaque cookie])
+  AC_CACHE_VAL([ac_cv_linux_func_i_put_link_takes_cookie], [
+    AC_TRY_KBUILD(
+[#include <linux/fs.h>
+#include <linux/namei.h>],
+[struct inode _inode;
+struct dentry _dentry;
+struct nameidata _nameidata;
+void *cookie;
+(void)_inode.i_op->put_link(&_dentry, &_nameidata, cookie);],
+      ac_cv_linux_func_i_put_link_takes_cookie=yes,
+      ac_cv_linux_func_i_put_link_takes_cookie=no)])
+  AC_MSG_RESULT($ac_cv_linux_func_i_put_link_takes_cookie)])
+
+
 AC_DEFUN([LINUX_DOP_D_REVALIDATE_TAKES_NAMEIDATA], [
   AC_MSG_CHECKING([whether dentry_operations.d_revalidate takes a nameidata])
   AC_CACHE_VAL([ac_cv_linux_func_d_revalidate_takes_nameidata], [
@@ -811,3 +850,47 @@ register_sysctl_table (t);],
       ac_cv_linux_register_sysctl_table_noflag=no)])
   AC_MSG_RESULT($ac_cv_linux_register_sysctl_table_noflag)])
 
+AC_DEFUN([LINUX_FOP_F_FLUSH_TAKES_FL_OWNER_T], [
+  AC_MSG_CHECKING([whether file_operations.flush takes a fl_owner_t])
+  AC_CACHE_VAL([ac_cv_linux_func_f_flush_takes_fl_owner_t], [
+    AC_TRY_KBUILD(
+[#include <linux/fs.h>],
+[struct inode _inode;
+struct file _file;
+fl_owner_t id;
+(void)_inode.i_fop->flush(&_file, &id);],
+      ac_cv_linux_func_f_flush_takes_fl_owner_t=yes,
+      ac_cv_linux_func_f_flush_takes_fl_owner_t=no)])
+  AC_MSG_RESULT($ac_cv_linux_func_f_flush_takes_fl_owner_t)])
+
+AC_DEFUN([LINUX_HAVE_KMEM_CACHE_T], [
+  AC_MSG_CHECKING([whether kmem_cache_t exists])
+  AC_CACHE_VAL([ac_cv_linux_have_kmem_cache_t], [
+    AC_TRY_KBUILD(
+[#include <linux/slab.h>],
+[kmem_cache_t *k;],
+      ac_cv_linux_have_kmem_cache_t=yes,
+      ac_cv_linux_have_kmem_cache_t=no)])
+  AC_MSG_RESULT($ac_cv_linux_have_kmem_cache_t)])
+
+AC_DEFUN([LINUX_KMEM_CACHE_CREATE_TAKES_DTOR], [
+  AC_MSG_CHECKING([whether kmem_cache_create takes a destructor argument])
+  AC_CACHE_VAL([ac_cv_linux_kmem_cache_create_takes_dtor], [
+    AC_TRY_KBUILD(
+[#include <linux/slab.h>],
+[kmem_cache_create(NULL, 0, 0, 0, NULL, NULL);],
+      ac_cv_linux_kmem_cache_create_takes_dtor=yes,
+      ac_cv_linux_kmem_cache_create_takes_dtor=no)])
+  AC_MSG_RESULT($ac_cv_linux_kmem_cache_create_takes_dtor)])
+
+AC_DEFUN([LINUX_FS_STRUCT_FOP_HAS_SENDFILE], [
+  AC_MSG_CHECKING([for sendfile in struct file_operations])
+  AC_CACHE_VAL([ac_cv_linux_fs_struct_fop_has_sendfile], [
+    AC_TRY_KBUILD(
+[#include <linux/fs.h>],
+[struct file_operations _fop;
+_fop.sendfile(NULL, NULL, 0, 0, NULL);],
+      ac_cv_linux_fs_struct_fop_has_sendfile=yes,
+      ac_cv_linux_fs_struct_fop_has_sendfile=no)])
+  AC_MSG_RESULT($ac_cv_linux_fs_struct_fop_has_sendfile)])
+
index 29567b25bd0649da3cea848f875445433bf77295..e0646de436440200c4f02bd8fadb1de867c7f561 100644 (file)
@@ -448,7 +448,7 @@ case $AFS_SYSNAME in
                ;;
 
        *_darwin_80)
-               AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework DiskArbitration"
+               AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework DiskArbitration -framework SystemConfiguration -framework IOKit -framework CoreFoundation"
                LEX="lex -l"
                MT_CFLAGS='-DAFS_PTHREAD_ENV -D_REENTRANT ${XCFLAGS} ${ARCHFLAGS}'
                KROOT=
@@ -461,10 +461,11 @@ case $AFS_SYSNAME in
                EXTRA_VLIBOBJS="fstab.o"
                SHLIB_LINKER="${MT_CC} -dynamiclib"
                SHLIB_SUFFIX="dylib"
+               RANLIB="ranlib -c"
                ;;
 
        *_darwin_90)
-               AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework DiskArbitration"
+               AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework DiskArbitration -framework SystemConfiguration -framework IOKit -framework CoreFoundation"
                LEX="lex -l"
                MT_CFLAGS='-DAFS_PTHREAD_ENV -D_REENTRANT ${XCFLAGS} ${ARCHFLAGS}'
                KROOT=
@@ -478,6 +479,7 @@ case $AFS_SYSNAME in
                EXTRA_VLIBOBJS="fstab.o"
                SHLIB_LINKER="${MT_CC} -dynamiclib"
                SHLIB_SUFFIX="dylib"
+               RANLIB="ranlib -c"
                ;;
 
        ppc_linux*)
index 044770e3c3190702bf9e4c228bea5452dc343378..3ffdfa88d6382d910ef495e26375c12906597d6a 100644 (file)
@@ -11,7 +11,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/cmd/test/itest.c,v 1.7 2003/07/15 23:14:52 shadow Exp $");
+    ("$Header: /cvs/openafs/src/cmd/test/itest.c,v 1.7.2.1 2007/04/10 18:43:42 shadow Exp $");
 
 #include "cmd.h"
 #include <stdio.h>
@@ -84,13 +84,13 @@ main(argc, argv)
            break;
        code = cmd_ParseLine(tline, tv, &tc, 100);
        if (code) {
-           printf("itest: parsing failure: %s\n", error_message(code));
+           printf("itest: parsing failure: %s\n", afs_error_message(code));
            exit(1);
        }
        code = cmd_Dispatch(tc, tv);
        cmd_FreeArgv(tv);
        if (code) {
-           printf("itest: execution failed: %s\n", error_message(code));
+           printf("itest: execution failed: %s\n", afs_error_message(code));
        }
     }
     return 0;
index 236682ccc0168194de776b7d9cee3cc500de3f82..babaf419bb873006b2edf446ab4e5b6cd455e6bd 100644 (file)
@@ -8,7 +8,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/comerr/com_err.c,v 1.5 2003/07/15 23:14:53 shadow Exp $");
+    ("$Header: /cvs/openafs/src/comerr/com_err.c,v 1.5.2.1 2007/04/10 18:43:42 shadow Exp $");
 
 #include "internal.h"
 #include <stdio.h>
@@ -25,7 +25,7 @@ default_com_err_proc(const char *whoami, afs_int32 code, const char *fmt,
        fputs(": ", stderr);
     }
     if (code) {
-       fputs(error_message(code), stderr);
+       fputs(afs_error_message(code), stderr);
        fputs(" ", stderr);
     }
     if (fmt) {
@@ -42,25 +42,25 @@ typedef void (*errf) (const char *, afs_int32, const char *, va_list);
 static errf com_err_hook = default_com_err_proc;
 
 void
-com_err_va(const char *whoami, afs_int32 code, const char *fmt, va_list args)
+afs_com_err_va(const char *whoami, afs_int32 code, const char *fmt, va_list args)
 {
     (*com_err_hook) (whoami, code, fmt, args);
 }
 
 void
-com_err(const char *whoami, afs_int32 code, const char *fmt, ...)
+afs_com_err(const char *whoami, afs_int32 code, const char *fmt, ...)
 {
     va_list pvar;
 
     if (!com_err_hook)
        com_err_hook = default_com_err_proc;
     va_start(pvar, fmt);
-    com_err_va(whoami, code, fmt, pvar);
+    afs_com_err_va(whoami, code, fmt, pvar);
     va_end(pvar);
 }
 
 errf
-set_com_err_hook(errf new_proc)
+afs_set_com_err_hook(errf new_proc)
 {
     errf x = com_err_hook;
     if (new_proc)
@@ -71,7 +71,7 @@ set_com_err_hook(errf new_proc)
 }
 
 errf
-reset_com_err_hook(void)
+afs_reset_com_err_hook(void)
 {
     errf x = com_err_hook;
     com_err_hook = default_com_err_proc;
index a3d5a0a5a75d428e23c751fa22c01ba3bd7a2fb4..15a8a3feba02ceacda2a1ebeb916e741fafef5d9 100644 (file)
@@ -8,21 +8,29 @@
  * with this package.
  */
 
-#ifndef __COM_ERR_H
+#ifndef __AFS_COM_ERR_H
 
 #include <stdarg.h>
 
-extern void com_err(const char *, afs_int32, const char *, ...);
-extern void com_err_va(const char *whoami, afs_int32 code, const char *fmt,
+extern void afs_com_err(const char *, afs_int32, const char *, ...);
+extern void afs_com_err_va(const char *whoami, afs_int32 code, const char *fmt,
                       va_list args);
-extern const char *error_table_name(afs_int32);
-extern const char *error_message(afs_int32);
+extern const char *afs_error_table_name(afs_int32);
+extern const char *afs_error_message(afs_int32);
 extern
-void (*set_com_err_hook
+void (*afs_set_com_err_hook
       (void (*)(const char *, afs_int32, const char *, va_list)))
   (const char *, afs_int32, const char *, va_list);
-extern void (*reset_com_err_hook(void)) (const char *, afs_int32,
+extern void (*afs_reset_com_err_hook(void)) (const char *, afs_int32,
                                         const char *, va_list);
 
-#define __COM_ERR_H
-#endif /* ! defined(__COM_ERR_H) */
+#define __AFS_COM_ERR_H
+#ifdef AFS_OLD_COM_ERR 
+#define com_err                 afs_com_err
+#define com_err_va              afs_com_err_va
+#define error_table_name        afs_error_table_name
+#define error_message           afs_error_message
+#define set_com_err_hook        afs_set_com_err_hook
+#define reset_com_err_hook      afs_reset_com_err_hook
+#endif /* AFS_OLD_COM_ERR */
+#endif /* ! defined(__AFS_COM_ERR_H) */
index 47aa4a192f1b92275d1e99e91e3504ceb8843c2f..72b7489e6a03f9e43aeeedb7d562dad69091d253 100644 (file)
@@ -13,7 +13,7 @@
 #include <afs/afsutil.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/comerr/compile_et.c,v 1.14 2003/11/29 22:08:10 jaltman Exp $");
+    ("$Header: /cvs/openafs/src/comerr/compile_et.c,v 1.14.2.1 2007/04/10 18:43:42 shadow Exp $");
 
 #include <stdio.h>
 #include <stdlib.h>
@@ -375,7 +375,7 @@ main(int argc, char **argv)
        fputs("static struct et_list etlink = { 0, &et};\n\n", cfile);
        fprintf(cfile, "void initialize_%s_error_table(void) {\n",
                table_name);
-       fputs("    add_to_error_table(&etlink);\n", cfile);
+       fputs("    afs_add_to_error_table(&etlink);\n", cfile);
        fputs("}\n", cfile);
        fclose(cfile);
 
index b32a2a17e3ee9f44a809da6916f910d606a37c4e..76ea9ebc53da57e51cce58b0c39600ae7a3e75a1 100644 (file)
@@ -11,7 +11,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/comerr/error_msg.c,v 1.5.2.1 2004/08/25 07:09:36 shadow Exp $");
+    ("$Header: /cvs/openafs/src/comerr/error_msg.c,v 1.5.2.2 2007/04/10 18:43:42 shadow Exp $");
 
 #include "internal.h"
 #include <stdio.h>
@@ -45,7 +45,7 @@ static pthread_once_t et_list_once = PTHREAD_ONCE_INIT;
  * Function to initialize the et_list_mutex
  */
 
-void
+static void
 et_mutex_once(void)
 {
     assert(!pthread_mutex_init
@@ -110,7 +110,7 @@ volume_message(int code)
 }
 
 const char *
-error_message(afs_int32 code)
+afs_error_message(afs_int32 code)
 {
     int offset;
     struct et_list *et;
@@ -147,7 +147,7 @@ error_message(afs_int32 code)
     UNLOCK_ET_LIST;
     strcpy(buffer, "Unknown code ");
     if (table_num) {
-       strcat(buffer, error_table_name(table_num));
+       strcat(buffer, afs_error_table_name(table_num));
        strcat(buffer, " ");
     }
     for (cp = buffer; *cp; cp++);
@@ -169,7 +169,7 @@ error_message(afs_int32 code)
 }
 
 void
-add_to_error_table(struct et_list *new_table)
+afs_add_to_error_table(struct et_list *new_table)
 {
     struct et_list *et;
 
index 929dad897af519c7184da678955e1e854881deaa..1de47dd30875871fca45c3222e597b89fec0acc0 100644 (file)
@@ -9,7 +9,7 @@
 
 #include <errno.h>
 
-#ifndef _ET_H
+#ifndef _AFS_ET_H
 
 struct error_table {
     char const *const *msgs;
@@ -25,7 +25,11 @@ struct et_list {
 #define        ERRCODE_RANGE   8       /* # of bits to shift table number */
 #define        BITS_PER_CHAR   6       /* # bits to shift per character in name */
 
-extern char const *error_table_name(afs_int32 num);
-extern void add_to_error_table(struct et_list *new_table);
-#define _ET_H
+extern char const *afs_error_table_name(afs_int32 num);
+extern void afs_add_to_error_table(struct et_list *new_table);
+#ifdef AFS_OLD_COM_ERR
+#define error_table_name        afs_error_table_name
+#define add_to_error_table(X)   afs_add_to_error_table(X)
+#endif /* AFS_OLD_COM_ERR */
+#define _AFS_ET_H
 #endif
index 3b2ade263c388f7ba6acb4d053ecb9d9724c64be..3b0997721cdf190c067b21fb4263ad2e05e3bc42 100644 (file)
@@ -9,7 +9,7 @@
 #include <afs/afsutil.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/comerr/et_name.c,v 1.5 2003/07/15 23:14:53 shadow Exp $");
+    ("$Header: /cvs/openafs/src/comerr/et_name.c,v 1.5.2.1 2007/04/10 18:43:42 shadow Exp $");
 
 #include "error_table.h"
 #include "mit-sipb-cr.h"
@@ -26,7 +26,7 @@ static const char char_set[] =
 static char buf[6];
 
 const char *
-error_table_name(afs_int32 num)
+afs_error_table_name(afs_int32 num)
 {
     int ch;
     int i;
index 625e0d3da4ab025741fdf76db2c8cfe796febda0..aebd87dcddf97e1be77b15c090afd0a29bcdcb7c 100644 (file)
@@ -2,7 +2,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/comerr/test/test.c,v 1.6 2003/07/15 23:14:54 shadow Exp $");
+    ("$Header: /cvs/openafs/src/comerr/test/test.c,v 1.6.2.1 2007/04/10 18:43:42 shadow Exp $");
 
 #include <stdio.h>
 #include <errno.h>
@@ -18,38 +18,38 @@ extern int sys_nerr, errno;
 main()
 {
     printf("Before initiating error table:\n\n");
-    printf("Table name '%s'\n", error_table_name(KRB_MK_AP_TGTEXP));
-    printf("UNIX  name '%s'\n", error_table_name(EPERM));
-    printf("Msg TGT-expired is '%s'\n", error_message(KRB_MK_AP_TGTEXP));
-    printf("Msg EPERM is '%s'\n", error_message(EPERM));
-    printf("Msg FOO_ERR is '%s'\n", error_message(FOO_ERR));
-    printf("Msg {sys_nerr-1} is '%s'\n", error_message(sys_nerr - 1));
-    printf("Msg {sys_nerr} is '%s'\n", error_message(sys_nerr));
+    printf("Table name '%s'\n", afs_error_table_name(KRB_MK_AP_TGTEXP));
+    printf("UNIX  name '%s'\n", afs_error_table_name(EPERM));
+    printf("Msg TGT-expired is '%s'\n", afs_error_message(KRB_MK_AP_TGTEXP));
+    printf("Msg EPERM is '%s'\n", afs_error_message(EPERM));
+    printf("Msg FOO_ERR is '%s'\n", afs_error_message(FOO_ERR));
+    printf("Msg {sys_nerr-1} is '%s'\n", afs_error_message(sys_nerr - 1));
+    printf("Msg {sys_nerr} is '%s'\n", afs_error_message(sys_nerr));
 
-    printf("With 0: tgt-expired -> %s\n", error_message(KRB_MK_AP_TGTEXP));
+    printf("With 0: tgt-expired -> %s\n", afs_error_message(KRB_MK_AP_TGTEXP));
 
     initialize_KRB_error_table();
     initialize_KRB_error_table();
     printf("KRB error table initialized:  base %d (%s), name %s\n",
-          ERROR_TABLE_BASE_KRB, error_message(ERROR_TABLE_BASE_KRB),
-          error_table_name(ERROR_TABLE_BASE_KRB));
-    printf("With krb: tgt-expired -> %s\n", error_message(KRB_MK_AP_TGTEXP));
+          ERROR_TABLE_BASE_KRB, afs_error_message(ERROR_TABLE_BASE_KRB),
+          afs_error_table_name(ERROR_TABLE_BASE_KRB));
+    printf("With krb: tgt-expired -> %s\n", afs_error_message(KRB_MK_AP_TGTEXP));
 
     initialize_QUUX_error_table();
     printf("QUUX error table initialized: base %d (%s), name %s\n",
-          ERROR_TABLE_BASE_QUUX, error_message(ERROR_TABLE_BASE_QUUX),
-          error_table_name(ERROR_TABLE_BASE_QUUX));
-
-    printf("Msg for TGT-expired is '%s'\n", error_message(KRB_MK_AP_TGTEXP));
-    printf("Msg {sys_nerr-1} is '%s'\n", error_message(sys_nerr - 1));
-    printf("Msg FOO_ERR is '%s'\n", error_message(FOO_ERR));
-    printf("Msg KRB_SKDC_CANT is '%s'\n", error_message(KRB_SKDC_CANT));
-    printf("Msg 1e6 (8B 64) is '%s'\n", error_message(1000000));
+          ERROR_TABLE_BASE_QUUX, afs_error_message(ERROR_TABLE_BASE_QUUX),
+          afs_error_table_name(ERROR_TABLE_BASE_QUUX));
+
+    printf("Msg for TGT-expired is '%s'\n", afs_error_message(KRB_MK_AP_TGTEXP));
+    printf("Msg {sys_nerr-1} is '%s'\n", afs_error_message(sys_nerr - 1));
+    printf("Msg FOO_ERR is '%s'\n", afs_error_message(FOO_ERR));
+    printf("Msg KRB_SKDC_CANT is '%s'\n", afs_error_message(KRB_SKDC_CANT));
+    printf("Msg 1e6 (8B 64) is '%s'\n", afs_error_message(1000000));
     printf("\n\nCOM_ERR tests:\n");
-    com_err("whoami", FOO_ERR, (char *)NULL);
-    com_err("whoami", FOO_ERR, " -- message goes %s", "here");
-    com_err("whoami", 0, NULL);
-    com_err("whoami", 0, "error number %d\n", 0);
+    afs_com_err("whoami", FOO_ERR, (char *)NULL);
+    afs_com_err("whoami", FOO_ERR, " -- message goes %s", "here");
+    afs_com_err("whoami", 0, NULL);
+    afs_com_err("whoami", 0, "error number %d\n", 0);
 
     return 0;
 }
index 7d306f683d52ba134ee80e9f95ea8e9ef6098279..47ce0db27be7e84df5a12571e94bbddd39dbd573 100644 (file)
 /* For SGI, this can't interfere with any of the 64 bit inode calls. */
 #define AFSOP_RXLISTENER_DAEMON  48    /* starts kernel RX listener */
 
+/* skip 64 bit calls */
+#define AFSOP_CACHEBASEDIR       50     /* cache base dir */
+#define AFSOP_CACHEDIRS          51     /* number of files per dir */
+#define AFSOP_CACHEFILES         52     /* number of files */
+
+#define AFSOP_SETINT             60     /* we should just set key/value pairs 
+                                          for things which are just ints */
+
 /* these are for initialization flags */
 
 #define AFSCALL_INIT_MEMCACHE 0x1
@@ -220,4 +228,10 @@ struct afssysargs {
 #define SYSCALL_DEV_FNAME "/dev/openafs_ioctl"
 #endif
 
+#ifdef AFS_CACHE_VNODE_PATH
+#define AFS_CACHE_CELLS_INODE -2
+#define AFS_CACHE_ITEMS_INODE -3
+#define AFS_CACHE_VOLUME_INODE -4
+#endif
+
 #endif /* _AFS_ARGS_H_ */
index 459bc329738c438bc46ea33dbfc4de246ab5f785..a7bc83d30a189e556d617abb56e5fe7644adca43 100644 (file)
 #define SYS_NAME_ID_i386_obsd38                2607
 #define SYS_NAME_ID_i386_obsd39                2608
 #define SYS_NAME_ID_i386_obsd40         2609
+#define SYS_NAME_ID_i386_obsd41         2610
 
 #define SYS_NAME_ID_amd64_linux2        2700
 #define SYS_NAME_ID_amd64_linux22       2701
index 247049d4f08b0a8117e7f4a91de84da6b4cb6316..521063ffbd48b7211281b13ae88ca2a0efd1904e 100644 (file)
@@ -67,6 +67,9 @@
 /* define if you want to have fast restart */
 #undef FAST_RESTART
 
+/* define if your fops.flush takes an fl_owner_t argument */
+#undef FOP_FLUSH_TAKES_FL_OWNER_T
+
 /* define if you have linux/freezer.h */
 #undef FREEZER_H_EXISTS
 
    */
 #undef HAVE_DIRENT_H
 
+/* Define to 1 if you have the `encode_krb5_enc_tkt_part' function. */
+#undef HAVE_ENCODE_KRB5_ENC_TKT_PART
+
+/* Define to 1 if you have the `encode_krb5_ticket' function. */
+#undef HAVE_ENCODE_KRB5_TICKET
+
 /* Define to 1 if you have the <fcntl.h> header file. */
 #undef HAVE_FCNTL_H
 
 /* define if your linux kernel provides page_follow_link */
 #undef HAVE_KERNEL_PAGE_FOLLOW_LINK
 
+/* define if kmem_cache_t exists */
+#undef HAVE_KMEM_CACHE_T
+
 /* Define to 1 if you have the `krb524_convert_creds_kdc' function. */
 #undef HAVE_KRB524_CONVERT_CREDS_KDC
 
 /* define if key_alloc takes a struct task * */
 #undef KEY_ALLOC_NEEDS_STRUCT_TASK
 
+/* define if kmem_cache_create takes a destructor argument */
+#undef KMEM_CACHE_TAKES_DTOR
+
 /* define if your linux kernel uses SELinux features */
 #undef LINUX_KERNEL_IS_SELINUX
 
 /* Define to the version of this package. */
 #undef PACKAGE_VERSION
 
+/* define if your linux kernel uses 3 arguments for posix_lock_file */
+#undef POSIX_LOCK_FILE_WAIT_ARG
+
 /* Define to 1 if the C compiler supports function prototypes. */
 #undef PROTOTYPES
 
    release 3. */
 #undef SETVBUF_REVERSED
 
-/* The size of `long', as computed by sizeof. */
+/* The size of `long', as computed by sizeof. */
 #undef SIZEOF_LONG
 
 /* define if your statfs takes a dentry argument */
 /* define if your struct address_space has page_lock */
 #undef STRUCT_ADDRESS_SPACE_HAS_PAGE_LOCK
 
+/* define if your struct file_operations has sendfile */
+#undef STRUCT_FILE_OPERATIONS_HAS_SENDFILE
+
 /* define if struct fs has fs_rolled */
 #undef STRUCT_FS_HAS_FS_ROLLED
 
 /* define if your struct task_struct has tgid */
 #undef STRUCT_TASK_STRUCT_HAS_TGID
 
+/* define if your struct task_struct has thread_info */
+#undef STRUCT_TASK_STRUCT_HAS_THREAD_INFO
+
 /* define if your struct task_struct has todo */
 #undef STRUCT_TASK_STRUCT_HAS_TODO
 
 /* define if you want to have support for nested pts groups */
 #undef SUPERGROUPS
 
+/* define if your kernel has a usable symlink cache API */
+#undef USABLE_KERNEL_PAGE_SYMLINK_CACHE
+
 /* define if you want to use UNIX sockets for fssync. */
 #undef USE_UNIX_SOCKETS
 
 /* Define to `int' if <sys/types.h> does not define. */
 #undef pid_t
 
-/* Define to `unsigned' if <sys/types.h> does not define. */
+/* Define to `unsigned int' if <sys/types.h> does not define. */
 #undef size_t
 
 /* Define to `int' if <sys/types.h> does not define. */
diff --git a/src/config/param.i386_obsd41.h b/src/config/param.i386_obsd41.h
new file mode 100644 (file)
index 0000000..eb556cc
--- /dev/null
@@ -0,0 +1,71 @@
+/*
+ * Jim Rees, University of Michigan CITI
+ */
+
+#ifndef        AFS_PARAM_H
+#define        AFS_PARAM_H
+
+#ifndef IGNORE_STDS_H
+#include <sys/param.h>
+#endif
+
+#define SYS_NAME               "i386_obsd41"
+#define SYS_NAME_ID            SYS_NAME_ID_i386_obsd41
+
+#define AFS_XBSD_ENV           1       /* {Free,Open,Net}BSD */
+#define AFS_X86_XBSD_ENV       1
+
+#define AFS_NAMEI_ENV          1       /* User space interface to file system */
+#define AFS_64BIT_ENV          1
+#define AFS_64BIT_CLIENT       1
+#define AFS_64BIT_IOPS_ENV     1       /* Needed for NAMEI */
+#define AFS_OBSD_ENV           1
+#define AFS_OBSD34_ENV         1
+#define AFS_OBSD35_ENV         1
+#define AFS_OBSD36_ENV         1
+#define AFS_OBSD37_ENV         1
+#define AFS_OBSD38_ENV         1
+#define AFS_OBSD39_ENV         1
+#define AFS_OBSD40_ENV         1
+#define AFS_OBSD41_ENV         1
+#define AFS_NONFSTRANS         1
+#define AFS_VM_RDWR_ENV                1
+#define AFS_VFS_ENV            1
+#define AFS_VFSINCL_ENV                1
+
+#define FTRUNC O_TRUNC
+
+#define AFS_SYSCALL            208
+#define AFS_MOUNT_AFS          "afs"
+
+#define RXK_LISTENER_ENV       1
+#define AFS_GCPAGS             0       /* if nonzero, garbage collect PAGs */
+#define AFS_USE_GETTIMEOFDAY    1      /* use gettimeofday to implement rx clock */
+
+#define AFSLITTLE_ENDIAN       1
+
+#ifndef IGNORE_STDS_H
+#include <afs/afs_sysnames.h>
+#endif
+
+/* Extra kernel definitions (from kdefs file) */
+#ifdef _KERNEL
+#ifdef MULTIPROCESSOR
+#define AFS_GLOBAL_SUNLOCK     1
+#endif
+#define        AFS_SHORTGID            0       /* are group id's short? */
+
+#if    !defined(ASSEMBLER) && !defined(__LANGUAGE_ASSEMBLY__)
+enum vcexcl { NONEXCL, EXCL };
+
+#ifndef MIN
+#define MIN(A,B) ((A) < (B) ? (A) : (B))
+#endif
+#ifndef MAX
+#define MAX(A,B) ((A) > (B) ? (A) : (B))
+#endif
+
+#endif /* ! ASSEMBLER & ! __LANGUAGE_ASSEMBLY__ */
+#endif /* _KERNEL */
+
+#endif /* AFS_PARAM_H */
index e5f9a49bb39ca78eddab0af7cbb9da8eb2b37212..47c36980022cf42e8a22ad3839e8c27d0edbe0f8 100644 (file)
@@ -87,6 +87,7 @@
 #endif
 #endif /* KERNEL */
 
+#define USE_UCONTEXT           /* should be in afsconfig.h */
 
 #endif /* _PARAM_IA64_LINUX20_H_ */
 
 #define CMSERVERPREF
 #endif
 
+#define USE_UCONTEXT           /* should be in afsconfig.h */
 
 #endif /* AFS_PARAM_H */
 
index 5f28d47a34463a375543a56ecba3bc6861dfd63e..d534f06c392088b0c3a212229941f8d4e5851654 100644 (file)
@@ -96,6 +96,7 @@
 #endif
 #endif /* KERNEL */
 
+#define USE_UCONTEXT           /* should be in afsconfig.h */
 
 #endif /* _PARAM_IA64_LINUX20_H_ */
 
 #define CMSERVERPREF
 #endif
 
+#define USE_UCONTEXT           /* should be in afsconfig.h */
 
 #endif /* AFS_PARAM_H */
 
index 12dda5e0345ae278b9ddbb289410bed805786e43..5222500b646b478668986d316ac3f566ded44a0a 100644 (file)
 #endif
 #endif /* KERNEL */
 
+#ifdef __GLIBC__
+#if (__GLIBC__ > 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 3)
+#define USE_UCONTEXT
+#endif
+#endif
+
 #endif /* _PARAM_PPC64_LINUX20_H_ */
 
 #else /* !defined(UKERNEL) */
index 730caf37c4fe7f251e610578f6bef86944f6d14c..97737ef913c793a4f17515ca6bc25710483e9ea7 100644 (file)
 #endif
 #endif /* KERNEL */
 
+#ifdef __GLIBC__
+#if (__GLIBC__ > 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 3)
+#define USE_UCONTEXT
+#endif
+#endif
+
 #endif /* _PARAM_PPC64_LINUX20_H_ */
 
 #else /* !defined(UKERNEL) */
index ac74560cd2d7bb96f21d23d71af94c3bfd86ba7d..a62b8556e74023e037a03cfe3fe7a37e33a9c7c5 100644 (file)
@@ -30,6 +30,7 @@
 #define AFS_SYSCALL             230
 #define AFS_NAMEI_ENV 1
 #define DARWIN_REFBASE 3
+#define AFS_CACHE_VNODE_PATH
 
 /* File system entry (used if mount.h doesn't define MOUNT_AFS */
 #define AFS_MOUNT_AFS    "afs"
index dcf062e7f1758839bc489d1c3183d55686baf848..71da510f30d0670d241a68b0a1212b49b997f478 100644 (file)
 #endif
 #endif /* KERNEL */
 
+#ifdef __GLIBC__
+#if (__GLIBC__ > 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 3)
+#define USE_UCONTEXT
+#endif
+#endif
+
 #endif /* AFS_PARAM_H */
 
 #else /* !defined(UKERNEL) */
index 37abeacb9dd31f47224dec99443a4f9b73044daf..efa4f2acdb6b990178534f86a5d055bbc902cabb 100644 (file)
 #endif
 #endif /* KERNEL */
 
+#ifdef __GLIBC__
+#if (__GLIBC__ > 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 3)
+#define USE_UCONTEXT
+#endif
+#endif
+
 #endif /* AFS_PARAM_H */
 
 #else /* !defined(UKERNEL) */
index 0f5e6044ee0c106879bf6bb18c9d7d9480e786ce..469ba1842f57649c4d25ea8da731de5c82a7ef2d 100644 (file)
 #endif
 #endif
 
+#ifdef __GLIBC__
+#if (__GLIBC__ > 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 3)
+#define USE_UCONTEXT
+#endif
+#endif
+
 #endif /* _PARAM_SPARC64_LINUX24_H_ */
 
 #else /* !defined(UKERNEL) */
index 68bd28a24013e429545a66f5b181277d75ec9f6c..438709dca8d7b8061061ced896a13141b7701319 100644 (file)
 #endif
 #endif
 
+#ifdef __GLIBC__
+#if (__GLIBC__ > 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 3)
+#define USE_UCONTEXT
+#endif
+#endif
+
 #endif /* _PARAM_SPARC64_LINUX26_H_ */
 
 #else /* !defined(UKERNEL) */
index 3082a524e7cf267f2a4e61c68f6f0a18afb3f50b..97585d7be0530f0b57c9c936e9ea3c63b4908b83 100644 (file)
@@ -98,6 +98,9 @@
 #endif
 #endif
 
+/* Don't define USE_UCONTEXT on this platform.  It requires getcontext and
+   setcontext from glibc, which aren't implemented for 32-bit SPARC. */
+
 #endif /* AFS_PARAM_H */
 
 #else /* !defined(UKERNEL) */
index ac74560cd2d7bb96f21d23d71af94c3bfd86ba7d..a62b8556e74023e037a03cfe3fe7a37e33a9c7c5 100644 (file)
@@ -30,6 +30,7 @@
 #define AFS_SYSCALL             230
 #define AFS_NAMEI_ENV 1
 #define DARWIN_REFBASE 3
+#define AFS_CACHE_VNODE_PATH
 
 /* File system entry (used if mount.h doesn't define MOUNT_AFS */
 #define AFS_MOUNT_AFS    "afs"
index eb5e5b880b2d72e422b4adfbb95f3b768c9fe9ed..055f29958d126c39e6de06a33b0c83461e970eae 100644 (file)
@@ -181,5 +181,6 @@ struct cm_initparams {
 #define VIOC_NEWALIAS          _CVICEIOCTL(1)  /* create new cell alias */
 #define VIOC_GETALIAS          _CVICEIOCTL(2)  /* get alias info */
 #define VIOC_CBADDR            _CVICEIOCTL(3)  /* push callback addr */
+#define VIOC_NEWUUID           _CVICEIOCTL(9)  /* new uuid */
 
 #endif /* AFS_VENUS_H */
index f1d10814ce2369cf906e5e22df931496b911f26a..06773ae1f513e3fe5999c9d776377620de0a9ffc 100644 (file)
@@ -72,7 +72,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/dauth/Attic/dlog.c,v 1.9.2.1 2006/07/31 17:07:50 shadow Exp $");
+    ("$Header: /cvs/openafs/src/dauth/Attic/dlog.c,v 1.9.2.2 2007/04/10 18:43:42 shadow Exp $");
 
 #include <afs/stds.h>
 #include <sys/types.h>
@@ -548,7 +548,7 @@ CommandProc(as, arock)
        ap[1] = "-servers";
        code = ubik_ParseClientList(i, ap, serverList);
        if (code) {
-           com_err(rn, code, "-- could not parse server list");
+           afs_com_err(rn, code, "-- could not parse server list");
            exit(1);
        }
     } else {
@@ -560,7 +560,7 @@ CommandProc(as, arock)
         */
        code = afsconf_GetCellInfo(cdir, realm, 0, &cellinfo);
        if (code) {
-           com_err(rn, code, "-- unable to get cell info");
+           afs_com_err(rn, code, "-- unable to get cell info");
            exit(1);
        }
        strncpy(realm, cellinfo.name, sizeof(realm) - 1);
@@ -688,7 +688,7 @@ CommandProc(as, arock)
      * Check for simple communication failures.
      */
     if (code) {
-       com_err(rn, code, "-- failed to contact authentication service");
+       afs_com_err(rn, code, "-- failed to contact authentication service");
        exit(1);
     }
 
@@ -719,7 +719,7 @@ CommandProc(as, arock)
        } else {
            code = des_read_pw_string(passwd, sizeof(passwd), "Password:", 0);
            if (code) {
-               com_err(rn, code, "-- couldn't read password");
+               afs_com_err(rn, code, "-- couldn't read password");
                exit(1);
            }
        }
@@ -751,7 +751,7 @@ CommandProc(as, arock)
                            passwd_key, DECRYPT);
     }
     if (code) {
-       com_err(rn, code, "-- unable to decrypt reply from the DCE KDC");
+       afs_com_err(rn, code, "-- unable to decrypt reply from the DCE KDC");
        exit(1);
     }
 
@@ -799,7 +799,7 @@ CommandProc(as, arock)
                        kdcrep.endtime, dosetpag);
 
     if (code) {
-       com_err("dlog", code, "-- failed to store tickets");
+       afs_com_err("dlog", code, "-- failed to store tickets");
        exit(1);
     }
 
index 6d0619e0f1fa38ee53b2607670871abb8d165cb8..02aad289f10c95ff9740f5c7a32a7cd66f0b8512 100644 (file)
@@ -37,7 +37,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/des/des.c,v 1.11.2.5 2005/08/18 04:56:14 shadow Exp $");
+    ("$Header: /cvs/openafs/src/des/des.c,v 1.11.2.6 2007/07/03 04:24:45 shadow Exp $");
 
 #ifndef KERNEL
 #include <stdio.h>
@@ -90,7 +90,7 @@ des_ecb_encrypt(void * clear, void * cipher,
 #error dunno how to do this machine type, you lose;
 #endif
 #endif
-    afs_uint32 P_temp;
+    volatile afs_uint32 P_temp;
     volatile unsigned char *P_temp_p = (unsigned char *)&P_temp;
 #ifdef BITS16
     sbox_out S_out;
index e75e90af1193fe01f19a8c790cbb97d193f16ca3..9ad21d4a2f8cb2a41baace3a574b5c802d7c9fae 100644 (file)
 typedef unsigned char des_cblock[8];   /* crypto-block size */
 /* Key schedule */
 typedef struct des_ks_struct {
+    union {
+    afs_uint32 i[2];
     des_cblock _;
+    } _;
 } des_key_schedule[16];
 
 #define DES_KEY_SZ     (sizeof(des_cblock))
index cb28d1fd03439d533ad5542b8c2e9171e440700a..8bc2a14bc86ef8db6d0b79a4f8b4e3634561dcf3 100644 (file)
 #ifndef KERNEL
 #include <stdio.h>
 #endif
-#include <des.h>
 #include <afsconfig.h>
 #include <afs/param.h>
+#include <des.h>
 #include "des_prototypes.h"
 
 RCSID
-    ("$Header: /cvs/openafs/src/des/pcbc_encrypt.c,v 1.9.2.1 2004/10/18 07:11:56 shadow Exp $");
+    ("$Header: /cvs/openafs/src/des/pcbc_encrypt.c,v 1.9.2.2 2007/07/09 19:16:48 shadow Exp $");
 
 #include "des_internal.h"
 
index d9f7cc37758eed6cbae9993772a2dcb10fed6b94..dac0af9fb799fa9e97e6ec5bc452bfd2ef464694 100644 (file)
@@ -11,7 +11,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/dir/dir.c,v 1.21.2.3 2005/10/05 05:58:37 shadow Exp $");
+    ("$Header: /cvs/openafs/src/dir/dir.c,v 1.21.2.6 2007/10/11 17:48:35 shadow Exp $");
 
 #ifdef KERNEL
 #if !defined(UKERNEL)
@@ -478,7 +478,7 @@ DirHash(register char *string)
 {
     /* Hash a string to a number between 0 and NHASHENT. */
     register unsigned char tc;
-    register int hval;
+    unsigned int hval;
     register int tval;
     hval = 0;
     while ((tc = (*string++))) {
@@ -488,7 +488,7 @@ DirHash(register char *string)
     tval = hval & (NHASHENT - 1);
     if (tval == 0)
        return tval;
-    else if (hval < 0)
+    else if (hval >= 1<<31)
        tval = NHASHENT - tval;
     return tval;
 }
index 5b9c8977fd7d4bd53ec8d291ce108563c6c13b01..5cfa5235eaf02d8a913405c3b8553d4c02108a85 100644 (file)
@@ -11,7 +11,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/finale/translate_et.c,v 1.8 2003/07/15 23:15:06 shadow Exp $");
+    ("$Header: /cvs/openafs/src/finale/translate_et.c,v 1.8.2.1 2007/04/10 18:43:42 shadow Exp $");
 
 #include <afs/com_err.h>
 #include <rx/rxkad.h>
@@ -74,8 +74,8 @@ main(int argc, char *argv[])
        code = atoi(argv[i]);
        offset = code & ((1 << ERRCODE_RANGE) - 1);
 
-       printf("%d (%s).%d = %s\n", (int)code, error_table_name(code),
-              (int)offset, error_message(code));
+       printf("%d (%s).%d = %s\n", (int)code, afs_error_table_name(code),
+              (int)offset, afs_error_message(code));
     }
     return 0;
 }
index af877bff3268e78dea372ee6c8649154d19a6615..a588e74293c7c2e57cc0953eec09a14718804aa2 100644 (file)
@@ -52,7 +52,7 @@ OBJS=kauth.xdr.o kauth.cs.o kaaux.o client.o authclient.o token.o kautils.o kalo
 KOBJS=kauth.xdr.o kauth.cs.o kaaux.o client.o authclient.o token.o kautils.o kalocalcell.o kaerrors.o user.krb.o krb_tf.o
 
 
-all: kaserver kas kpwvalid klog klog.krb knfs kpasswd rebuild kdb \
+all: kaserver kas kpwvalid klog klog.krb knfs kpasswd rebuild kdb ka-forwarder \
        ${TOP_LIBDIR}/libkauth.a \
        ${TOP_LIBDIR}/libkauth.krb.a \
        depinstall
@@ -200,6 +200,9 @@ krb_udp.o: krb_udp.c kaserver.h kautils.h kauth.h prot.h ${TOP_INCDIR}/lwp.h AFS
 krb_udp: krb_udp.o libkauth.a $(KLIBS)
        ${CC} ${LDFLAGS} -o krb_udp krb_udp.o libkauth.a $(KLIBS)
 
+ka-forwarder: ka-forwarder.o
+       ${CC} -o $@ ${CFLAGS} ka-forwarder.o ${LIBS} ${XLIBS}
+
 rebuild.o: rebuild.c $(INCLS) AFS_component_version_number.o
 
 rebuild: rebuild.o kautils.o $(LIBS)
@@ -240,6 +243,7 @@ install: \
        ${DESTDIR}${libdir}/afs/libkauth.krb.a \
        ${DESTDIR}${afssrvsbindir}/kadb_check \
        ${DESTDIR}${afssrvsbindir}/kdb \
+       ${DESTDIR}${afssrvsbindir}/ka-forwarder \
        ${DESTDIR}${includedir}/afs/kautils.h \
        ${DESTDIR}${includedir}/afs/kauth.h \
        ${DESTDIR}${includedir}/afs/kaport.h
@@ -292,6 +296,9 @@ ${DESTDIR}${afssrvsbindir}/kadb_check: rebuild
 ${DESTDIR}${afssrvsbindir}/kdb: kdb
        ${INSTALL} -s $? $@
 
+${DESTDIR}${afssrvsbindir}/ka-forwarder: ka-forwarder
+       ${INSTALL} $? $@
+
 ${DESTDIR}${includedir}/afs/kautils.h: kautils.h
        ${INSTALL} $? $@
 
@@ -318,6 +325,7 @@ dest: \
        ${DEST}/lib/afs/libkauth.krb.a \
        ${DEST}/etc/kdb \
        ${DEST}/etc/kadb_check \
+       ${DEST}/root.server/usr/afs/bin/ka-forwarder \
        ${DEST}/include/afs/kautils.h \
        ${DEST}/include/afs/kauth.h \
        ${DEST}/include/afs/kaport.h
@@ -355,6 +363,9 @@ ${DEST}/etc/kadb_check: rebuild
 ${DEST}/etc/kdb: kdb 
        ${INSTALL} -s $? $@
 
+${DEST}/root.server/usr/afs/bin/ka-forwarder: ka-forwarder
+       ${INSTALL} $? $@
+
 ${DEST}/include/afs/kautils.h: kautils.h
        ${INSTALL} $? $@
 
index 8e30ba32c64a0957411679ff72c5464f6bb85ba3..302bf94f4ae7767b6b15fefeb5e44294f6970618 100644 (file)
@@ -16,7 +16,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/kauth/admin_tools.c,v 1.16.2.3 2004/12/13 19:38:51 shadow Exp $");
+    ("$Header: /cvs/openafs/src/kauth/admin_tools.c,v 1.16.2.4 2007/04/10 18:43:43 shadow Exp $");
 
 #include <afs/stds.h>
 #include <afs/debug.h>
@@ -68,7 +68,7 @@ DefaultCell(void)
        return 0;
     code = ka_ExpandCell(0, cell, 0 /*local */ );
     if (code) {
-       com_err(whoami, code, "Can't expand cell name");
+       afs_com_err(whoami, code, "Can't expand cell name");
     }
     return code;
 }
@@ -88,7 +88,7 @@ DumpUser(char *user, char *arock, int showadmin, int showkey, char *inst)
 
     code = ka_ParseLoginName(user, name, instance, 0);
     if (code) {
-       com_err(whoami, code, "parsing user's name '%s'", user);
+       afs_com_err(whoami, code, "parsing user's name '%s'", user);
        return KABADCMD;
     }
 
@@ -97,7 +97,7 @@ DumpUser(char *user, char *arock, int showadmin, int showkey, char *inst)
     code =
        ubik_Call(KAM_GetEntry, conn, 0, name, inst, KAMAJORVERSION, &tentry);
     if (code) {
-       com_err(whoami, code, "getting information for %s.%s", name, inst);
+       afs_com_err(whoami, code, "getting information for %s.%s", name, inst);
        return code;
     }
     if (tentry.minor_version != KAMINORVERSION)
@@ -254,7 +254,7 @@ ListUsers(struct cmd_syndesc *as, char *arock)
            ubik_Call(KAM_ListEntry, conn, 0, index, &next_index, &count,
                      &name);
        if (code) {
-           com_err(whoami, code, "calling KAM_ListEntry");
+           afs_com_err(whoami, code, "calling KAM_ListEntry");
            break;
        }
        if (!next_index)
@@ -300,7 +300,7 @@ handle_errors(int code,             /* error code to handle */
        }
     }
 
-    printf(" : [%s] %s", error_table_name(code), error_message(code));
+    printf(" : [%s] %s", afs_error_table_name(code), afs_error_message(code));
     switch (code) {
     case UNOQUORUM:
        printf(", wait one second\n");
@@ -331,7 +331,7 @@ CreateUser(struct cmd_syndesc *as, char *arock)
 
     code = ka_ParseLoginName(as->parms[0].items->data, name, instance, 0);
     if (code) {
-       com_err(whoami, code, "parsing user's name '%s'",
+       afs_com_err(whoami, code, "parsing user's name '%s'",
                as->parms[0].items->data);
        return KABADCMD;
     }
@@ -359,7 +359,7 @@ DeleteUser(struct cmd_syndesc *as, char *arock)
     OKlist[0].code = 0;
     code = ka_ParseLoginName(as->parms[0].items->data, name, instance, 0);
     if (code) {
-       com_err(whoami, code, "parsing user's name '%s'",
+       afs_com_err(whoami, code, "parsing user's name '%s'",
                as->parms[0].items->data);
        return KABADCMD;
     }
@@ -431,7 +431,7 @@ parse_flags(char *name, char *inst, char *str, afs_int32 * flags)
                ubik_Call(KAM_GetEntry, conn, 0, name, inst, KAMAJORVERSION,
                          &tentry);
            if (code) {
-               com_err(whoami, code,
+               afs_com_err(whoami, code,
                        "could get current flag value for %s.%s", name, inst);
                return -1;
            }
@@ -517,7 +517,7 @@ ka_islocked(char *name, char *instance, afs_uint32 * when)
                          0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
        if (code) {
            if (seriouserror(code))
-               com_err(whoami, code, "");
+               afs_com_err(whoami, code, "");
        } else if (tempwhen) {  /* user is locked */
            if (!*when || tempwhen < *when) {
                *when = tempwhen;
@@ -542,7 +542,7 @@ Unlock(struct cmd_syndesc *as, char *arock)
 
     code = ka_ParseLoginName(as->parms[0].items->data, name, instance, 0);
     if (code) {
-       com_err(whoami, code, "parsing user's name '%s'",
+       afs_com_err(whoami, code, "parsing user's name '%s'",
                as->parms[0].items->data);
        return KABADCMD;
     }
@@ -557,7 +557,7 @@ Unlock(struct cmd_syndesc *as, char *arock)
                && conn->conns[count - 1]->peer) {
                server = conn->conns[count - 1]->peer->host;
            }
-           com_err(whoami, code,
+           afs_com_err(whoami, code,
                    "so %s.%s may still be locked (on server %d.%d.%d.%d)",
                    name, instance, ((server >> 24) & 0xFF),
                    ((server >> 16) & 0xFF), ((server >> 8) & 0xFF),
@@ -589,7 +589,7 @@ SetFields(struct cmd_syndesc *as, char *arock)
 
     code = ka_ParseLoginName(as->parms[0].items->data, name, instance, 0);
     if (code) {
-       com_err(whoami, code, "parsing user's name '%s'",
+       afs_com_err(whoami, code, "parsing user's name '%s'",
                as->parms[0].items->data);
        return KABADCMD;
     }
@@ -729,7 +729,7 @@ SetFields(struct cmd_syndesc *as, char *arock)
        return KABADCMD;
     }
     if (code)
-       com_err(whoami, code, "calling KAM_SetFields for %s.%s", name,
+       afs_com_err(whoami, code, "calling KAM_SetFields for %s.%s", name,
                instance);
     return code;
 }
@@ -744,7 +744,7 @@ StringToKey(struct cmd_syndesc *as, char *arock)
     if (as->parms[1].items) {
        code = ka_ExpandCell(as->parms[1].items->data, realm, 0 /*local */ );
        if (code) {
-           com_err(whoami, code,
+           afs_com_err(whoami, code,
                    "expanding %s as cell name, attempting to continue",
                    as->parms[1].items->data);
        }
@@ -783,7 +783,7 @@ SetPassword(struct cmd_syndesc *as, char *arock)
 
     code = ka_ParseLoginName(as->parms[0].items->data, name, instance, realm);
     if (code) {
-       com_err(whoami, code, "parsing user's name '%s'",
+       afs_com_err(whoami, code, "parsing user's name '%s'",
                as->parms[0].items->data);
        return KABADCMD;
     }
@@ -824,7 +824,7 @@ SetPassword(struct cmd_syndesc *as, char *arock)
     code = ubik_Call(KAM_SetPassword, conn, 0, name, instance, kvno, key);
 #endif
     if (code)
-       com_err(whoami, code, "so can't set password for %s.%s", name,
+       afs_com_err(whoami, code, "so can't set password for %s.%s", name,
                instance);
     return code;
 }
@@ -849,7 +849,7 @@ PrintName(char *name, char *inst, char *acell, int buflen, char *buf)
     if (left) {
       bad_name:
        code = KABADNAME;
-       com_err(whoami, code, "PrintName: principal name was '%s'.'%s'@'%s'",
+       afs_com_err(whoami, code, "PrintName: principal name was '%s'.'%s'@'%s'",
                name, inst, acell);
        return code;
     }
@@ -919,7 +919,7 @@ ListTicket(struct ktc_principal *server, int verbose)
     /* get the ticket info itself */
     code = ktc_GetToken(server, &token, sizeof(token), &client);
     if (code) {
-       com_err(whoami, code, "failed to get token info for server %s",
+       afs_com_err(whoami, code, "failed to get token info for server %s",
                PrintedPrincipal(server));
        return code;
     }
@@ -980,7 +980,7 @@ GetTicket(struct cmd_syndesc *as, char *arock)
        ka_ParseLoginName(as->parms[0].items->data, server.name,
                          server.instance, server.cell);
     if (code) {
-       com_err(whoami, code, "parsing user's name '%s'",
+       afs_com_err(whoami, code, "parsing user's name '%s'",
                as->parms[0].items->data);
        return KABADCMD;
     }
@@ -991,7 +991,7 @@ GetTicket(struct cmd_syndesc *as, char *arock)
     } else {
        code = ka_ExpandCell(server.cell, server.cell, 0 /*local */ );
        if (code) {
-           com_err(whoami, code, "Can't expand cell name");
+           afs_com_err(whoami, code, "Can't expand cell name");
            return code;
        }
     }
@@ -1001,7 +1001,7 @@ GetTicket(struct cmd_syndesc *as, char *arock)
        ka_GetServerToken(server.name, server.instance, server.cell, life,
                          &token, /*new */ 1, /*dosetpag */ 0);
     if (code)
-       com_err(whoami, code, "getting ticket for %s",
+       afs_com_err(whoami, code, "getting ticket for %s",
                PrintedPrincipal(&server));
     else {
        code = ListTicket(&server, /*verbose */ 1);
@@ -1021,7 +1021,7 @@ GetPassword(struct cmd_syndesc *as, char *arock)
     code = ka_ParseLoginName(as->parms[0].items->data, name, 0, 0);
     if (code) {
       abort:
-       com_err(whoami, code,
+       afs_com_err(whoami, code,
                "getting %s's password via loopback connection to GetPassword",
                name);
        /* if we got a timeout, print a clarification, too */
@@ -1069,7 +1069,7 @@ GetRandomKey(struct cmd_syndesc *as, char *arock)
 
     code = ubik_Call(KAM_GetRandomKey, conn, 0, &key);
     if (code)
-       com_err(whoami, code, "so can't get random key");
+       afs_com_err(whoami, code, "so can't get random key");
     else {
        int i;
        printf("Key: ");
@@ -1159,11 +1159,11 @@ DebugInfo(struct cmd_syndesc *as, char *arock)
        if (code) {
            struct afsconf_cell cellinfo;
 
-           com_err(whoami, code, "couldn't find host %s in cell %s",
+           afs_com_err(whoami, code, "couldn't find host %s in cell %s",
                    as->parms[0].items->data, cell);
            code = ka_GetServers(cell, &cellinfo);
            if (code)
-               com_err(whoami, code, "getting servers in cell %s", cell);
+               afs_com_err(whoami, code, "getting servers in cell %s", cell);
            else {
                printf("Servers in cell %s, are:\n", cell);
                for (i = 0; i < cellinfo.numServers; i++)
@@ -1177,7 +1177,7 @@ DebugInfo(struct cmd_syndesc *as, char *arock)
        code = ubik_Call(KAM_Debug, conn, 0, KAMAJORVERSION, 0, &info);
 
     if (code) {
-       com_err(whoami, code, "call to Debug failed");
+       afs_com_err(whoami, code, "call to Debug failed");
        return code;
     }
     now = time(0);
@@ -1332,7 +1332,7 @@ MyBeforeProc(struct cmd_syndesc *as, char *arock)
                ka_ParseLoginName(as->parms[12].items->data, name, instance,
                                  newCell);
            if (code) {
-               com_err(whoami, code, "parsing user's name '%s'",
+               afs_com_err(whoami, code, "parsing user's name '%s'",
                        as->parms[12].items->data);
                return code;
            }
@@ -1363,7 +1363,7 @@ MyBeforeProc(struct cmd_syndesc *as, char *arock)
        }
        code = ka_ExpandCell(newCell, newCell, 0 /*local */ );
        if (code) {
-           com_err(whoami, code, "Can't expand cell name");
+           afs_com_err(whoami, code, "Can't expand cell name");
            return code;
        }
        strcpy(cell, newCell);
@@ -1378,7 +1378,7 @@ MyBeforeProc(struct cmd_syndesc *as, char *arock)
                ap[i] = ip->data;
            code = ubik_ParseClientList(i, ap, serverList);
            if (code) {
-               com_err(whoami, code, "could not parse server list");
+               afs_com_err(whoami, code, "could not parse server list");
                return code;
            }
            ka_ExplicitCell(cell, serverList);
@@ -1412,7 +1412,7 @@ MyBeforeProc(struct cmd_syndesc *as, char *arock)
                else if (strlen(passwd) == 0)
                    code = KANULLPASSWORD;
                if (code) {
-                   com_err(whoami, code, "reading password");
+                   afs_com_err(whoami, code, "reading password");
                    return code;
                }
            }
@@ -1453,7 +1453,7 @@ MyBeforeProc(struct cmd_syndesc *as, char *arock)
                    reason = "Authentication Server was unavailable";
                    break;
                default:
-                   reason = (char *)error_message(code);
+                   reason = (char *)afs_error_message(code);
                }
                fprintf(stderr,
                        "%s: Auth. as %s to AuthServer failed: %s\nProceeding w/o authentication\n",
@@ -1474,7 +1474,7 @@ MyBeforeProc(struct cmd_syndesc *as, char *arock)
                                    /*Don't need pwd expiration info here */
                    );
                if (acode && (acode != code))   /* codes are usually the same */
-                   com_err(whoami, code,
+                   afs_com_err(whoami, code,
                            "getting Authentication token for %s",
                            PrintedName(name, instance, cell));
            }
@@ -1485,15 +1485,15 @@ MyBeforeProc(struct cmd_syndesc *as, char *arock)
     pToken = ((token.ticketLen == 0) ? 0 : &token);
     code = ka_AuthServerConn(cell, KA_MAINTENANCE_SERVICE, pToken, &conn);
     if (code && pToken) {
-       com_err(whoami, code,
+       afs_com_err(whoami, code,
                "connecting to AuthServer: now trying w/o authentication");
        code = ka_AuthServerConn(cell, KA_MAINTENANCE_SERVICE, 0, &conn);
        if (code)
-           com_err(whoami, code,
+           afs_com_err(whoami, code,
                    "making unauthenticated connection to AuthServer");
     }
     if (code) {
-       com_err(whoami, code,
+       afs_com_err(whoami, code,
                "Couldn't establish connection to Authentication Server");
        return code;
     }
@@ -1518,7 +1518,7 @@ MyBeforeProc(struct cmd_syndesc *as, char *arock)
                    else if (strlen(password) == 0)
                        code = KANULLPASSWORD;
                    if (code) {
-                       com_err(whoami, code, "prompting for %s", p + 1);
+                       afs_com_err(whoami, code, "prompting for %s", p + 1);
                        return code;
                    }
                    ip = (struct cmd_item *)malloc(sizeof(struct cmd_item));
@@ -1552,7 +1552,7 @@ ForgetTicket(struct cmd_syndesc *as, char *arock)
            ka_ParseLoginName(name, server.name, server.instance,
                              server.cell);
        if (code) {
-           com_err(whoami, code, "couldn't interpret name '%s'", name);
+           afs_com_err(whoami, code, "couldn't interpret name '%s'", name);
            return code;
        }
        if (server.cell[0] == 0) {
@@ -1562,13 +1562,13 @@ ForgetTicket(struct cmd_syndesc *as, char *arock)
        } else {
            code = ka_ExpandCell(server.cell, server.cell, 0 /*local */ );
            if (code) {
-               com_err(whoami, code, "Can't expand cell name");
+               afs_com_err(whoami, code, "Can't expand cell name");
                return code;
            }
        }
        code = ktc_ForgetToken(&server);
        if (code) {
-           com_err(whoami, code, "couldn't remove tokens for %s",
+           afs_com_err(whoami, code, "couldn't remove tokens for %s",
                    PrintedPrincipal(&server));
            return code;
        }
@@ -1579,14 +1579,14 @@ ForgetTicket(struct cmd_syndesc *as, char *arock)
        }
        code = ktc_ForgetAllTokens();
        if (code) {
-           com_err(whoami, code, "couldn't delete all tokens");
+           afs_com_err(whoami, code, "couldn't delete all tokens");
            return code;
        }
     }
 #endif
     code = ktc_ForgetAllTokens();
     if (code) {
-       com_err(whoami, code, "couldn't delete all tokens");
+       afs_com_err(whoami, code, "couldn't delete all tokens");
        return code;
     }
     return 0;
@@ -1608,7 +1608,7 @@ ListTickets(struct cmd_syndesc *as, char *arock)
            ka_ParseLoginName(name, server.name, server.instance,
                              server.cell);
        if (code) {
-           com_err(whoami, code, "couldn't interpret name '%s'", name);
+           afs_com_err(whoami, code, "couldn't interpret name '%s'", name);
            return code;
        }
        if (server.cell[0] == 0) {
@@ -1618,7 +1618,7 @@ ListTickets(struct cmd_syndesc *as, char *arock)
        } else {
            code = ka_ExpandCell(server.cell, server.cell, 0 /*local */ );
            if (code) {
-               com_err(whoami, code, "Can't expand cell name");
+               afs_com_err(whoami, code, "Can't expand cell name");
                return code;
            }
        }
@@ -1833,7 +1833,7 @@ ka_AdminInteractive(int cmd_argc, char *cmd_argv[])
        code =
            cmd_ParseLine(line, argv, &argc, sizeof(argv) / sizeof(argv[0]));
        if (code) {
-           com_err(whoami, code, "parsing line: '%s'", line);
+           afs_com_err(whoami, code, "parsing line: '%s'", line);
            return code;
        }
        code = cmd_Dispatch(argc, argv);
index 884e23a851e6c60e0897a9c2d4f8faa8d5985356..2fd4ca7dfa6512dc2bbf36df9676b001bf2ec0a9 100644 (file)
@@ -11,7 +11,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/kauth/decode_ticket.c,v 1.6 2003/07/15 23:15:16 shadow Exp $");
+    ("$Header: /cvs/openafs/src/kauth/decode_ticket.c,v 1.6.2.1 2007/04/10 18:43:43 shadow Exp $");
 
 #include <des.h>
 #include <afs/com_err.h>
@@ -45,7 +45,7 @@ main(int argc, char *argv[])
     if (ka_ReadBytes(argv[1], key, sizeof(key)) != 8)
        printf("Key must be 8 bytes long\n");
     if (!des_check_key_parity(key) || des_is_weak_key(key)) {
-       com_err(whoami, KABADKEY, "server's key for decoding ticket is bad");
+       afs_com_err(whoami, KABADKEY, "server's key for decoding ticket is bad");
        exit(1);
     }
     ticketLen = ka_ReadBytes(argv[2], ticket, sizeof(ticket));
@@ -55,14 +55,14 @@ main(int argc, char *argv[])
        tkt_DecodeTicket(ticket, ticketLen, key, client.name, client.instance,
                         client.cell, &sessionkey, &host, &start, &end);
     if (code) {
-       com_err(whoami, code, "decoding ticket");
+       afs_com_err(whoami, code, "decoding ticket");
        if (code = tkt_CheckTimes(start, end, time(0)) <= 0)
-           com_err(whoami, 0, "because of start or end times");
+           afs_com_err(whoami, 0, "because of start or end times");
        exit(1);
     }
 
     if (!des_check_key_parity(&sessionkey) || des_is_weak_key(&sessionkey)) {
-       com_err(whoami, KABADKEY, "checking ticket's session key");
+       afs_com_err(whoami, KABADKEY, "checking ticket's session key");
        exit(1);
     }
 
diff --git a/src/kauth/ka-forwarder.c b/src/kauth/ka-forwarder.c
new file mode 100644 (file)
index 0000000..3e3a610
--- /dev/null
@@ -0,0 +1,294 @@
+/*
+ * COPYRIGHT NOTICE
+ * Copyright (c) 1994 Carnegie Mellon University
+ * All Rights Reserved.
+ * 
+ * See <cmu_copyright.h> for use and distribution information.
+ */
+
+/*
+ * HISTORY
+ * $Log: ka-forwarder.c,v $
+ * Revision 1.2.4.2  2007/08/19 22:17:44  rra
+ * DELTA STABLE14-ka-forwarder-20060731
+ * AUTHOR rra@stanford.edu
+ *
+ * Add ka-forwarder.
+ *
+ * Revision 1.1  2006/07/31 17:34:26  rra
+ * DELTA ka-forwarder-20060731
+ * AUTHOR rra@stanford.edu
+ *
+ * Add ka-forwarder.
+ *
+ * Revision 1.1  1997/06/03 18:23:54  kenh
+ * .
+ *
+ * Revision 1.4  1996/08/09  01:00:21  jhutz
+ *     When initializing the array of fakeka servers, remember to set
+ *     the address family of each server; otherwise SunOS complains.
+ *     [1996/08/09  00:58:46  jhutz]
+ *
+ * Revision 1.3  1996/08/09  00:17:19  jhutz
+ *     Merged in changes from Chuck Silvers:
+ *     - Support for more than one fakeka server
+ *     - Support for specifying ports for each fakeka server separately from the
+ *       others, and from the port we listen on.
+ * 
+ *     Plus a minor bug fix to Chuck's code.
+ *     Basically, this version is designed to provide both reliability and
+ *     load-balancing cheaply.  Basically, we forward packets to all of the
+ *     fakeka servers in round-robin fashion.  So, if a client is losing on
+ *     one server, its retry should go to a different one, if more than one
+ *     is specified.
+ *     [1996/08/03  02:13:36  jhutz]
+ * 
+ * Revision 1.2  1995/02/23  18:26:36  chs
+ *     Created.
+ *     [1995/02/23  18:26:03  chs]
+ * 
+ * $EndLog$
+ */
+
+/*
+ * This program is intended to run on afs DB servers.
+ * Its function is to forward KA requests to a fakeka server
+ * running on an MIT kerberos server.
+ */
+
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <sys/ioctl.h>
+#include <netinet/in.h>
+#include <arpa/inet.h>
+#include <stdio.h>
+#include <netdb.h>
+#include <ctype.h>
+#include <stdlib.h>
+#include <string.h>
+#include <syslog.h>
+#include <unistd.h>
+
+#if    HAVE_GETOPT_H
+#include <getopt.h>
+#else
+int getopt (int, char * const *, const char *);
+int optind, opterr;
+char *optarg;
+#endif
+
+#define BUFFER_SIZE 2048
+
+
+char *prog;
+
+int num_servers, cur_server;
+struct sockaddr_in *servers;
+
+
+void
+perrorexit(str)
+char *str;
+{
+    perror(str);
+    exit(1);
+}
+
+
+void
+setup_servers(argc, argv)
+int argc;
+char **argv;
+{
+    int i;
+    u_int fwdaddr;
+    u_short fwdport;
+
+    num_servers = argc;
+
+    servers = malloc(sizeof(*servers) * num_servers);
+    if (servers == NULL)
+       perrorexit("malloc failed");
+
+    for (i = 0; i < num_servers; i++) {
+       char *host, *port;
+
+       fwdport = htons(7004);
+
+       host = argv[i];
+       port = strchr(host, '/');
+       if (port != NULL) {
+           *port++ = 0;
+
+           if (isdigit(port[0])) {
+               fwdport = htons(atoi(port));
+           }
+           else {
+               struct servent *srv = getservbyname(port, "udp");
+               if (!srv) {
+                   fprintf(stderr, "%s: unknown service %s\n", prog, port);
+                   exit(1);
+               }
+               fwdport = srv->s_port;
+           }
+       }
+
+       if (isdigit(host[0])) {
+           fwdaddr = inet_addr(host);
+       }
+       else {
+           struct hostent *h = gethostbyname(host);
+           if (!h) {
+               fprintf(stderr, "%s: unknown host %s\n", prog, host);
+               exit(1);
+           }
+           bcopy(h->h_addr, &fwdaddr, 4);
+       }
+
+       servers[i].sin_family = AF_INET;
+       servers[i].sin_addr.s_addr = fwdaddr;
+       servers[i].sin_port = fwdport;
+    }
+}
+
+
+int
+setup_socket(port)
+u_short port;
+{
+    int s, rv;
+    struct sockaddr_in sin;
+
+    s = socket(AF_INET, SOCK_DGRAM, 0);
+    if (s < 0)
+       perrorexit("Couldn't create socket");
+
+    sin.sin_family = AF_INET;
+    sin.sin_addr.s_addr = 0;
+    sin.sin_port = htons(port);
+
+    rv = bind(s, (struct sockaddr *)&sin, sizeof(sin));
+    if (rv < 0)
+       perrorexit("Couldn't bind socket");
+
+    return s;
+}
+
+
+int
+packet_is_reply(from)
+struct sockaddr_in *from;
+{
+    int i;
+
+    for (i = 0; i < num_servers; i++) {
+       struct sockaddr_in *sin = &servers[i];
+
+       if (from->sin_addr.s_addr == sin->sin_addr.s_addr &&
+           from->sin_port == sin->sin_port)
+       {
+           return 1;
+       }
+    }
+
+    return 0;
+}
+
+
+int
+main(argc, argv)
+int argc;
+char **argv;
+{
+    int c, s, rv;
+    u_short port;
+
+    if (argc < 2) {
+       fprintf(stderr,
+               "usage: %s [-p port] <host>[/port] [host/port ...]\n",
+               argv[0]);
+       exit(1);
+    }
+
+    prog = argv[0];
+    port = 7004;
+
+    while ((c = getopt(argc, argv, "p:")) != -1) {
+       switch (c) {
+       case 'p':
+           port = atoi(optarg);
+           break;
+       default:
+           fprintf(stderr, "%s: invalid option '%c'\n", prog, c);
+           exit(1);
+       }
+    }
+
+    /*
+     * hmm, different implementations of getopt seem to do different things
+     * when there aren't any options.  linux sets optind = 1, which I would
+     * call correct, but sunos sets optind = 0.  try to do the right thing.
+     */
+    if (optind == 0)
+       optind = 1;
+
+    setup_servers(argc - optind, argv + optind);
+    s = setup_socket(port);
+
+    openlog("ka-forwarder", LOG_PID, LOG_DAEMON);
+
+    for (;;) {
+       char buf[BUFFER_SIZE], *bufp, *sendptr;
+       struct sockaddr_in from, reply, *to;
+       int fromlen, sendlen;
+
+       bufp = buf + 8;
+       fromlen = sizeof(from);
+
+       rv = recvfrom(s, bufp, sizeof(buf) - 8,
+                     0, (struct sockaddr *)&from, &fromlen);
+       if (rv < 0) {
+           syslog(LOG_ERR, "recvfrom: %m");
+           sleep(1);
+           continue;
+       }
+
+       if (packet_is_reply(&from)) {
+           /* this is a reply, forward back to user */
+
+           to = &reply;
+           reply.sin_family = AF_INET;
+           bcopy(bufp, &reply.sin_addr.s_addr, 4);
+           bcopy(bufp + 4, &reply.sin_port, 2);
+           sendptr = bufp + 8;
+           sendlen = rv - 8;
+       }
+       else {
+           /* this is a request, forward to server */
+
+           cur_server = (cur_server + 1) % num_servers;
+           to = &servers[cur_server];
+
+           bcopy(&from.sin_addr.s_addr, bufp - 8, 4);
+           bcopy(&from.sin_port, bufp - 4, 2);
+
+           sendptr = bufp - 8;
+           sendlen = rv + 8;
+       }
+
+       {
+           char a1[16], a2[16];
+           strcpy(a1, inet_ntoa(from.sin_addr));
+           strcpy(a2, inet_ntoa(to->sin_addr));
+
+           syslog(LOG_INFO, "forwarding %d bytes from %s/%d to %s/%d\n",
+                  sendlen, a1, htons(from.sin_port), a2, htons(to->sin_port));
+       }
+
+       rv = sendto(s, sendptr, sendlen,
+                   0, (struct sockaddr *)to, sizeof(*to));
+       if (rv < 0) {
+           syslog(LOG_ERR, "sendto: %m");
+       }
+    }
+}
index 555e72d0b6cc8709f337e8207b5aa1bf1d14a272..d72e5a0f2a28be0a415dfd0e785b03830e2dbf18 100644 (file)
@@ -11,7 +11,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/kauth/kaprocs.c,v 1.16.2.1 2004/08/25 07:09:38 shadow Exp $");
+    ("$Header: /cvs/openafs/src/kauth/kaprocs.c,v 1.16.2.2 2007/04/10 18:43:43 shadow Exp $");
 
 #include <afs/stds.h>
 #include <errno.h>
@@ -40,6 +40,7 @@ RCSID
 #include <des.h>
 #include <afs/cellconfig.h>
 #include <afs/auth.h>
+#include <afs/com_err.h>
 #include "kautils.h"
 #include "kaserver.h"
 #include "kalog.h"
@@ -176,7 +177,7 @@ get_time(timeP, tt, admin)
                } else {
                    es_Report
                        ("in get_time: set_password failed because: %s\n",
-                        error_message(code));
+                        afs_error_message(code));
                    return code;
                }
            }
index 5bff24fe96fde9cd4cf379c06720a9169d088af7..a4567211b8ad1d346deb00dd500ec0113052a25b 100644 (file)
@@ -12,7 +12,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/kauth/kas.c,v 1.7 2003/07/15 23:15:16 shadow Exp $");
+    ("$Header: /cvs/openafs/src/kauth/kas.c,v 1.7.2.1 2007/04/10 18:43:43 shadow Exp $");
 
 #include <afs/stds.h>
 #ifdef AFS_AIX32_ENV
@@ -82,7 +82,7 @@ main(int argc, char *argv[])
 
     code = ka_Init(0);
     if (code) {
-       com_err(whoami, code, "Can't get cell info");
+       afs_com_err(whoami, code, "Can't get cell info");
        exit(1);
     }
 
index ed71d8e12c5c0769a439c8ca39e279b90cceabe7..b4a7864bda6a76fd3ea419186686853e566c7945 100644 (file)
@@ -11,7 +11,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/kauth/kaserver.c,v 1.17.2.5 2006/12/30 17:02:35 jaltman Exp $");
+    ("$Header: /cvs/openafs/src/kauth/kaserver.c,v 1.17.2.6 2007/04/10 18:43:43 shadow Exp $");
 
 #include <afs/stds.h>
 #include <sys/types.h>
@@ -47,6 +47,7 @@ RCSID
 #include <afs/cellconfig.h>
 #include <lock.h>
 #include <afs/afsutil.h>
+#include <afs/com_err.h>
 #include <ubik.h>
 #include <sys/stat.h>
 #include "kauth.h"
@@ -330,7 +331,7 @@ main(argc, argv)
     if (!KA_conf) {
        code = KANOCELLS;
       abort:
-       com_err(whoami, code, "Failed getting cell info");
+       afs_com_err(whoami, code, "Failed getting cell info");
        exit(1);
     }
 #ifdef        AUTH_DBM_LOG
@@ -356,7 +357,7 @@ main(argc, argv)
                                    &cellinfo, &clones);
     if (servers) {
        if (code = ubik_ParseServerList(argc, argv, &myHost, serverList)) {
-           com_err(whoami, code, "Couldn't parse server list");
+           afs_com_err(whoami, code, "Couldn't parse server list");
            exit(1);
        }
        cellinfo.hostAddr[0].sin_addr.s_addr = myHost;
@@ -424,7 +425,7 @@ main(argc, argv)
                                  &clones, dbpath, &KA_dbase);
 
     if (code) {
-       com_err(whoami, code, "Ubik init failed");
+       afs_com_err(whoami, code, "Ubik init failed");
        exit(2);
     }
 
index d1fc30ae8c2740471d1fd8b5ef76a9ed9f4180d7..32d491ae4d1323ea297bd82de9dc8eb816912971 100644 (file)
@@ -291,7 +291,7 @@ struct ka_getTicketAnswer {
 };
 
 #ifndef ERROR_TABLE_BASE_KA
-#define ka_ErrorString error_message
+#define ka_ErrorString afs_error_message
 #undef  KAMINERROR
 #define KAMINERROR ERROR_TABLE_BASE_KA
 #define KAMAXERROR (KAMINERROR+255)
index e244fedf8fdd0ea27137ff502ac0f6c021ac1071..7a624bc75bfc311bd9e228b0173dfc1337b46943 100644 (file)
@@ -11,7 +11,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/kauth/klog.c,v 1.8 2003/07/15 23:15:16 shadow Exp $");
+    ("$Header: /cvs/openafs/src/kauth/klog.c,v 1.8.2.1 2007/04/10 18:43:43 shadow Exp $");
 
 #include <afs/stds.h>
 #include <sys/types.h>
@@ -222,7 +222,7 @@ CommandProc(struct cmd_syndesc *as, char *arock)
     if (code || !(lcell = ka_LocalCell())) {
       nocell:
        if (!Silent)
-           com_err(rn, code, "Can't get local cell name!");
+           afs_com_err(rn, code, "Can't get local cell name!");
        KLOGEXIT(code);
     }
     if (code = ka_CellToRealm(lcell, lrealm, 0))
@@ -255,7 +255,7 @@ CommandProc(struct cmd_syndesc *as, char *arock)
        code = ubik_ParseClientList(i, ap, serverList);
        if (code) {
            if (!Silent) {
-               com_err(rn, code, "could not parse server list");
+               afs_com_err(rn, code, "could not parse server list");
            }
            return code;
        }
@@ -354,7 +354,7 @@ CommandProc(struct cmd_syndesc *as, char *arock)
        strcpy(realm, lcell);
     if (code = ka_CellToRealm(realm, realm, &local)) {
        if (!Silent)
-           com_err(rn, code, "Can't convert cell to realm");
+           afs_com_err(rn, code, "Can't convert cell to realm");
        KLOGEXIT(code);
     }
 
@@ -392,7 +392,7 @@ CommandProc(struct cmd_syndesc *as, char *arock)
        code = krb_write_ticket_file(realm);
        if (!Silent) {
            if (code)
-               com_err(rn, code, "writing Kerberos ticket file");
+               afs_com_err(rn, code, "writing Kerberos ticket file");
            else
                fprintf(stderr, "Wrote ticket file to /tmp\n");
        }
index ea72c32ea6c14c9d0db6492790bdb8cacafed4b9..4a49f31823d885d090e9b8c4b4c497ffd4add20e 100644 (file)
@@ -12,7 +12,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/kauth/kpasswd.c,v 1.14.2.1 2004/08/25 07:09:38 shadow Exp $");
+    ("$Header: /cvs/openafs/src/kauth/kpasswd.c,v 1.14.2.2 2007/04/10 18:43:43 shadow Exp $");
 
 #include <afs/stds.h>
 #include <sys/types.h>
@@ -262,7 +262,7 @@ CommandProc(as, arock)
     if (code || !(lcell = ka_LocalCell())) {
 #ifndef AFS_FREELANCE_CLIENT
        if (!Pipe)
-           com_err(rn, code, "Can't get local cell name!");
+           afs_com_err(rn, code, "Can't get local cell name!");
        exit(1);
 #endif
     }
@@ -270,7 +270,7 @@ CommandProc(as, arock)
     code = rx_Init(0);
     if (code) {
        if (!Pipe)
-           com_err(rn, code, "Failed to initialize Rx");
+           afs_com_err(rn, code, "Failed to initialize Rx");
        exit(1);
     }
 
@@ -301,7 +301,7 @@ CommandProc(as, arock)
        code = ubik_ParseClientList(i, ap, serverList);
        if (code) {
            if (!Pipe)
-               com_err(rn, code, "could not parse server list");
+               afs_com_err(rn, code, "could not parse server list");
            return code;
        }
        lexplicit = 1;
@@ -382,7 +382,7 @@ CommandProc(as, arock)
 #ifdef AFS_FREELANCE_CLIENT
     if (!foundExplicitCell && !lcell) {
        if (!Pipe)
-           com_err(rn, code, "no cell name provided");
+           afs_com_err(rn, code, "no cell name provided");
        exit(1);
     }
 #else
@@ -392,7 +392,7 @@ CommandProc(as, arock)
 
     if (code = ka_CellToRealm(realm, realm, &local)) {
        if (!Pipe)
-           com_err(rn, code, "Can't convert cell to realm");
+           afs_com_err(rn, code, "Can't convert cell to realm");
        exit(1);
     }
     lcstring(cell, realm, sizeof(cell));
@@ -413,7 +413,7 @@ CommandProc(as, arock)
                memset(&key, 0, sizeof(key));
                memset(passwd, 0, sizeof(passwd));
                if (code)
-                   com_err(rn, code, "reading password");
+                   afs_com_err(rn, code, "reading password");
                exit(1);
            }
        }
@@ -522,17 +522,17 @@ CommandProc(as, arock)
     memset(&mitkey, 0, sizeof(mitkey));
     memset(&key, 0, sizeof(key));
     if (code == KAUBIKCALL)
-       com_err(rn, code, "(Authentication Server unavailable, try later)");
+       afs_com_err(rn, code, "(Authentication Server unavailable, try later)");
     else if (code) {
        if (code == KABADREQUEST)
            fprintf(stderr, "%s: Incorrect old password.\n", rn);
        else
-           com_err(rn, code, "so couldn't change password");
+           afs_com_err(rn, code, "so couldn't change password");
     } else {
        code =
            ka_AuthServerConn(realm, KA_MAINTENANCE_SERVICE, &token, &conn);
        if (code)
-           com_err(rn, code, "contacting Admin Server");
+           afs_com_err(rn, code, "contacting Admin Server");
        else {
            if (dess2k == 1)
                code =
@@ -546,7 +546,7 @@ CommandProc(as, arock)
            memset(&newmitkey, 0, sizeof(newmitkey));
            if (code) {
                char *reason;
-               reason = (char *)error_message(code);
+               reason = (char *)afs_error_message(code);
                fprintf(stderr, "%s: Password was not changed because %s\n",
                        rn, reason);
            } else
@@ -567,7 +567,7 @@ CommandProc(as, arock)
 
   no_change:                   /* yuck, yuck, yuck */
     if (code)
-       com_err(rn, code, "getting new password");
+       afs_com_err(rn, code, "getting new password");
   no_change_no_msg:
     memset(&key, 0, sizeof(key));
     memset(npasswd, 0, sizeof(npasswd));
index 8ec68be25cda87a555b7b5709623e458ce71946e..39c4dc805bcf54705defe6297c0d2597939769a9 100644 (file)
@@ -48,7 +48,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/kauth/krb_tf.c,v 1.6 2003/07/15 23:15:17 shadow Exp $");
+    ("$Header: /cvs/openafs/src/kauth/krb_tf.c,v 1.6.2.2 2007/08/20 17:29:25 shadow Exp $");
 
 #ifdef HAVE_FCNTL_H
 #include <fcntl.h>
@@ -72,6 +72,161 @@ RCSID
 #include "kauth.h"
 #include "kautils.h"
 
+#ifndef WORDS_BIGENDIAN
+/* This was taken from jhutz's patch for heimdal krb4. It only
+ * applies to little endian systems. Big endian systems have a
+ * less elegant solution documented below.
+ *
+ * This record is written after every real ticket, to ensure that
+ * both 32- and 64-bit readers will perceive the next real ticket
+ * as starting in the same place.  This record looks like a ticket
+ * with the following properties:
+ *   Field         32-bit             64-bit
+ *   ============  =================  =================
+ *   sname         "."                "."
+ *   sinst         ""                 ""
+ *   srealm        ".."               ".."
+ *   session key   002E2E00 xxxxxxxx  xxxxxxxx 00000000
+ *   lifetime      0                  0
+ *   kvno          0                  12
+ *   ticket        12 nulls           4 nulls
+ *   issue         0                  0
+ */
+static unsigned char align_rec[] = {
+    0x2e, 0x00, 0x00, 0x2e, 0x2e, 0x00, 0x00, 0x2e,
+    0x2e, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00,
+    0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00
+};
+
+#else /* AFSLITTLE_ENDIAN */
+
+/* This was taken from asedeno's patch for MIT Kerberos. These
+ * alignment records are for big endian systems. We need more of them
+ * because the portion of the 64-bit issue_date that overlaps with the
+ * start of a ticket on 32-bit systems contains an unpredictable
+ * number of NULL bytes. Preceeding these records is a second copy of
+ * the 32-bit issue_date. The srealm for the alignment records is
+ * always one of ".." or "?.."
+ */
+
+/* No NULL bytes
+ * This is actually two alignment records since both 32- and 64-bit
+ * readers will agree on everything in the first record up through the
+ * issue_date size, except where sname starts.
+ *   Field (1)     32-bit             64-bit
+ *   ============  =================  =================
+ *   sname         "????."            "."
+ *   sinst         ""                 ""
+ *   srealm        ".."               ".."
+ *   session key   00000000 xxxxxxxx  00000000 xxxxxxxx
+ *   lifetime      0                  0
+ *   kvno          0                  0
+ *   ticket        4 nulls           4 nulls
+ *   issue         0                  0
+ *
+ *   Field (2)     32-bit             64-bit
+ *   ============  =================  =================
+ *   sname         "."                "."
+ *   sinst         ""                 ""
+ *   srealm        ".."               ".."
+ *   session key   002E2E00 xxxxxxxx  xxxxxxxx 00000000
+ *   lifetime      0                  0
+ *   kvno          0                  12
+ *   ticket        12 nulls           4 nulls
+ *   issue         0                  0
+ *
+ */
+static unsigned char align_rec_0[] = {
+    0x2e, 0x00, 0x00, 0x2e, 0x2e, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x2e, 0x00, 0x00, 0x2e, 0x2e, 0x00,
+    0x00, 0x2e, 0x2e, 0x00, 0xff, 0xff, 0xff, 0xff,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x04,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00
+};
+
+/* One NULL byte
+ *   Field         32-bit             64-bit
+ *   ============  =================  =================
+ *   sname         "x"  |"xx"|"xxx"   "."
+ *   sinst         "xx."|"x."|"."     ".."
+ *   srealm        ".."               "..."
+ *   session key   2E2E2E00 xxxxxxxx  xxxxxxxx 00000000
+ *   lifetime      0                  0
+ *   kvno          0                  12
+ *   ticket        12 nulls           4 nulls
+ *   issue         0                  0
+ */
+static unsigned char align_rec_1[] = {
+    0x2e, 0x00, 0x2e, 0x2e, 0x00, 0x2e, 0x2e, 0x2e,
+    0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x0c, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00
+};
+
+/* Two NULL bytes
+ *   Field         32-bit             64-bit
+ *   ============  =================  =================
+ *   sname         "x"  |"x" |"xx"    ".."
+ *   sinst         ""   |"x" |""      ""
+ *   srealm        "x.."|".."|".."    ".."
+ *   session key   002E2E00 xxxxxxxx  xxxxxxxx 00000000
+ *   lifetime      0                  0
+ *   kvno          0                  12
+ *   ticket        12 nulls           4 nulls
+ *   issue         0                  0
+ */
+ static unsigned char align_rec_2[] = {
+    0x2e, 0x2e, 0x00, 0x00, 0x2e, 0x2e, 0x00, 0xff,
+    0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00,
+    0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+};
+
+/* Three NULL bytes
+ * Things break here for 32-bit krb4 libraries that don't
+ * understand this alignment record. We can't really do
+ * anything about the fact that the three strings ended
+ * in the duplicate timestamp. The good news is that this
+ * only happens once every 0x1000000 seconds, once roughly
+ * every six and a half months. We'll live.
+ *
+ * Discussion on the krbdev list has suggested the
+ * issue_date be incremented by one in this case to avoid
+ * the problem. I'm leaving this here just in case.
+ *
+ *   Field         32-bit             64-bit
+ *   ============  =================  =================
+ *   sname         ""                 "."
+ *   sinst         ""                 ""
+ *   srealm        ""                 ".."
+ *   session key   2E00002E 2E00FFFF  xxxx0000 0000xxxx
+ *   lifetime      0                  0
+ *   kvno          4294901760         917504
+ *   ticket        14 nulls           4 nulls
+ *   issue         0                  0
+ */
+/*
+static unsigned char align_rec_3[] = {
+    0x2e, 0x00, 0x00, 0x2e, 0x2e, 0x00, 0xff, 0xff,
+    0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+};
+*/
+#endif /* AFSLITTLE_ENDIAN */
+
 afs_int32
 krb_write_ticket_file(realm)
      char *realm;
@@ -149,12 +304,73 @@ krb_write_ticket_file(realm)
     if (write(fd, (char *)(token.ticket), count) != count)
        goto bad;
     /* Issue date */
-    if (write(fd, (char *)&token.startTime, sizeof(afs_int32))
+    if (write(fd, (char *)&(token.startTime), sizeof(afs_int32))
        != sizeof(afs_int32))
        goto bad;
     close(fd);
     return 0;
 
+    /* Alignment Record, from MIT Kerberos */
+#ifndef WORDS_BIGENDIAN
+    if (write(fd, align_rec, sizeof(align_rec)) != sizeof(align_rec))
+       goto bad;
+#else /* AFSLITTLE_ENDIAN */
+    {
+       int null_bytes = 0;
+       if (0 == (token.startTime & 0xff000000))
+           ++null_bytes;
+       if (0 == (token.startTime & 0x00ff0000))
+           ++null_bytes;
+       if (0 == (token.startTime & 0x0000ff00))
+           ++null_bytes;
+       if (0 == (token.startTime & 0x000000ff))
+           ++null_bytes;
+
+       switch(null_bytes) {
+       case 0:
+            /* Issue date */
+           if (write(fd, (char *) token.startTime, sizeof(afs_int32))
+               != sizeof(afs_int32))
+               goto bad;
+           if (write(fd, align_rec_0, sizeof(align_rec_0))
+               != sizeof(align_rec_0))
+               goto bad;
+           break;
+
+       case 1:
+           /* Issue date */
+           if (write(fd, (char *) &token.startTime, sizeof(afs_int32))
+               != sizeof(afs_int32))
+               goto bad;
+           if (write(fd, align_rec_1, sizeof(align_rec_1))
+               != sizeof(align_rec_1))
+               goto bad;
+           break;
+
+       case 3:
+           /* Three NULLS are troublesome but rare. We'll just pretend
+            * they don't exist by decrementing the token.startTime.
+            */
+           --token.startTime;
+       case 2:
+           /* Issue date */
+           if (write(fd, (char *) &token.startTime, sizeof(afs_int32))
+               != sizeof(afs_int32))
+               goto bad;
+           if (write(fd, align_rec_2, sizeof(align_rec_2))
+               != sizeof(align_rec_2))
+               goto bad;
+           break;
+
+       default:
+            goto bad;
+       }
+    }
+#endif  /* AFSLITTLE_ENDIAN */
+    close(fd);
+    return 0;
+      
+    
   bad:
     close(fd);
     return -1;
index f54ecb681fd775601cd89cb84c595e6b491568c4..ddbfad83ce301320b3ecadf5b66616b4ce787098 100644 (file)
@@ -16,7 +16,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/kauth/krb_udp.c,v 1.23 2003/12/07 22:49:27 jaltman Exp $");
+    ("$Header: /cvs/openafs/src/kauth/krb_udp.c,v 1.23.2.1 2007/04/10 18:43:43 shadow Exp $");
 
 #include <afs/stds.h>
 #include <sys/types.h>
@@ -735,12 +735,12 @@ process_udp_auth(ksoc, pkt)
     if (code) {
        if (code == KANOENT) {
            code = KERB_ERR_PRINCIPAL_UNKNOWN;
-           err_packet(ksoc, pkt, code, (char *)error_message(code));
+           err_packet(ksoc, pkt, code, (char *)afs_error_message(code));
        } else if (code == KAPWEXPIRED) {
            code = KERB_ERR_NAME_EXP;
            err_packet(ksoc, pkt, code, "password has expired");
        } else
-           err_packet(ksoc, pkt, code, (char *)error_message(code));
+           err_packet(ksoc, pkt, code, (char *)afs_error_message(code));
     }
     return 0;
 }
@@ -784,7 +784,7 @@ process_udp_appl(ksoc, pkt)
     if (code) {
        if (code == KANOENT)
            code = KERB_ERR_PRINCIPAL_UNKNOWN;
-       err_packet(ksoc, pkt, code, (char *)error_message(code));
+       err_packet(ksoc, pkt, code, (char *)afs_error_message(code));
        return -1;
     }
     return 0;
index 1729ef2fb3d4248c030a7ec0d8995edc48d4f491..b70532b2b663fe5b8b5fc0112c1afcbe2ff6fbdb 100644 (file)
@@ -11,7 +11,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/kauth/manyklog.c,v 1.7 2003/07/15 23:15:17 shadow Exp $");
+    ("$Header: /cvs/openafs/src/kauth/manyklog.c,v 1.7.2.1 2007/04/10 18:43:43 shadow Exp $");
 
 #include <afs/stds.h>
 #include <sys/types.h>
@@ -214,7 +214,7 @@ CommandProc(as, arock)
     p if (code || !(lcell = ka_LocalCell())) {
       nocell:
        if (!Silent)
-           com_err(rn, code, "Can't get local cell name!");
+           afs_com_err(rn, code, "Can't get local cell name!");
        KLOGEXIT(code);
     }
     if (code = ka_CellToRealm(lcell, lrealm, 0))
@@ -251,7 +251,7 @@ CommandProc(as, arock)
        code = ubik_ParseClientList(i, ap, serverList);
        if (code) {
            if (!Silent) {
-               com_err(rn, code, "could not parse server list");
+               afs_com_err(rn, code, "could not parse server list");
            }
            return code;
        }
@@ -350,7 +350,7 @@ CommandProc(as, arock)
        strcpy(realm, lcell);
     if (code = ka_CellToRealm(realm, realm, &local)) {
        if (!Silent)
-           com_err(rn, code, "Can't convert cell to realm");
+           afs_com_err(rn, code, "Can't convert cell to realm");
        KLOGEXIT(code);
     }
 
index 25f711de44a2cb9d5bc0ce245e741a4c7d9d0cc5..ef3971f857be08f2bc7c3baaa8df187b7f833bbf 100644 (file)
@@ -11,7 +11,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/kauth/rebuild.c,v 1.11.2.1 2006/03/20 13:39:11 jaltman Exp $");
+    ("$Header: /cvs/openafs/src/kauth/rebuild.c,v 1.11.2.2 2007/04/10 18:43:43 shadow Exp $");
 
 #include <sys/types.h>
 #include <sys/stat.h>
@@ -391,12 +391,12 @@ readDB(offset, buffer, size)
     offset += UBIK_HEADERSIZE;
     code = lseek(fd, offset, SEEK_SET);
     if (code != offset) {
-       com_err(whoami, errno, "skipping Ubik header");
+       afs_com_err(whoami, errno, "skipping Ubik header");
        exit(2);
     }
     code = read(fd, buffer, size);
     if (code != size) {
-       com_err(whoami, errno, "reading db got %d bytes", code);
+       afs_com_err(whoami, errno, "reading db got %d bytes", code);
        exit(3);
     }
 }
@@ -427,7 +427,7 @@ WorkerBee(as, arock)
     if (outFile) {
        out = fopen(outFile, "w");
        if (!out) {
-           com_err(whoami, errno, "opening output file %s", outFile);
+           afs_com_err(whoami, errno, "opening output file %s", outFile);
            exit(7);
        }
     } else
@@ -435,12 +435,12 @@ WorkerBee(as, arock)
 
     fd = open(dbFile, O_RDONLY, 0);
     if (fd < 0) {
-       com_err(whoami, errno, "opening database file %s", dbFile);
+       afs_com_err(whoami, errno, "opening database file %s", dbFile);
        exit(6);
     }
     code = fstat(fd, &info);
     if (code) {
-       com_err(whoami, errno, "stat'ing file %s", dbFile);
+       afs_com_err(whoami, errno, "stat'ing file %s", dbFile);
        exit(6);
     }
     if ((info.st_size - UBIK_HEADERSIZE) % UBIK_BUFFERSIZE)
index 7d514c68ce6333708cbbaa695fc3937942c6734f..3b082490bc6371eeaa9ae7fde61ca202b12827eb 100644 (file)
@@ -18,7 +18,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/kauth/test/multiklog.c,v 1.7 2003/07/15 23:15:17 shadow Exp $");
+    ("$Header: /cvs/openafs/src/kauth/test/multiklog.c,v 1.7.2.1 2007/04/10 18:43:43 shadow Exp $");
 
 #include <afs/stds.h>
 #include <sys/types.h>
@@ -177,7 +177,7 @@ CommandProc(as, arock)
     if (code || !(lcell = ka_LocalCell())) {
       nocell:
        if (!Silent)
-           com_err(rn, code, "Can't get local cell name!");
+           afs_com_err(rn, code, "Can't get local cell name!");
        exit(code);
     }
     if (code = ka_CellToRealm(lcell, lrealm, 0))
@@ -214,7 +214,7 @@ CommandProc(as, arock)
        code = ubik_ParseClientList(i, ap, serverList);
        if (code) {
            if (!Silent) {
-               com_err(rn, code, "could not parse server list");
+               afs_com_err(rn, code, "could not parse server list");
            }
            return code;
        }
@@ -317,7 +317,7 @@ CommandProc(as, arock)
        strcpy(realm, lcell);
     if (code = ka_CellToRealm(realm, realm, &local)) {
        if (!Silent)
-           com_err(rn, code, "Can't convert cell to realm");
+           afs_com_err(rn, code, "Can't convert cell to realm");
        exit(code);
     }
 
@@ -363,7 +363,7 @@ CommandProc(as, arock)
        code = krb_write_ticket_file(realm);
        if (!Silent) {
            if (code)
-               com_err(rn, code, "writing Kerberos ticket file");
+               afs_com_err(rn, code, "writing Kerberos ticket file");
            else
                fprintf(stderr, "Wrote ticket file to /tmp\n");
        }
index 587aa602b18ec6c2fca1687aa457120e019142de..41cdefae288c3e0141d95c62ae87d6c29fd48870 100644 (file)
@@ -11,7 +11,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/kauth/test/test_badtix.c,v 1.7 2003/07/15 23:15:18 shadow Exp $");
+    ("$Header: /cvs/openafs/src/kauth/test/test_badtix.c,v 1.7.2.1 2007/04/10 18:43:43 shadow Exp $");
 
 #include <sys/types.h>
 #include <des.h>
@@ -170,7 +170,7 @@ TestOldKeys(userkey)
                              &adminConn))
        ) {
       abort:
-       com_err(whoami, code, "testing old keys");
+       afs_com_err(whoami, code, "testing old keys");
        exit(1);
     }
 
@@ -275,7 +275,7 @@ TestOldKeys(userkey)
        }
        if (code) {
          abort_1:
-           com_err(whoami, code, "at %d seconds: calling server with v=%x",
+           afs_com_err(whoami, code, "at %d seconds: calling server with v=%x",
                    sleep, v);
            exit(2);
        }
@@ -296,7 +296,7 @@ TestOldKeys(userkey)
                              &adminTokens[i], &conn);
        if (code) {
          abort_ta:
-           com_err(whoami, code, "Checking admin token #%d with kvno %d\n",
+           afs_com_err(whoami, code, "Checking admin token #%d with kvno %d\n",
                    i, (int)adminTokens[i].kvno);
            exit(5);
        }
@@ -321,7 +321,7 @@ TestOldKeys(userkey)
            ka_GetToken(name, inst, localCell, name, inst, tgsConn, now,
                        now + 3600, &tgsTokens[i], "", &token);
        if (code) {
-           com_err(whoami, code, "Checking tgs token #%d with kvno %d\n", i,
+           afs_com_err(whoami, code, "Checking tgs token #%d with kvno %d\n", i,
                    (int)tgsTokens[i].kvno);
            exit(6);
        }
@@ -329,7 +329,7 @@ TestOldKeys(userkey)
 
     code = ubik_Call(KAM_DeleteUser, adminConn, 0, aaname, aainst);
     if (code) {
-       com_err(whoami, code, "Deleting alternate admin user");
+       afs_com_err(whoami, code, "Deleting alternate admin user");
        exit(3);
     }
     return;
@@ -414,7 +414,7 @@ main(argc, argv)
 
     code = ka_CellConfig(AFSCONF_CLIENTNAME);
     if (code)
-       com_err(whoami, code, "calling cell config");
+       afs_com_err(whoami, code, "calling cell config");
     localCell = ka_LocalCell();
 
     for (i = 0; i < (sizeof(truncate) / sizeof(int)); i++) {
@@ -453,15 +453,15 @@ main(argc, argv)
 
     code = rx_Init(0);
     if (code) {
-       com_err(whoami, code, "rx_Init'ing");
+       afs_com_err(whoami, code, "rx_Init'ing");
        exit(1);
     }
     if (code = ka_Init(0)) {
-       com_err(whoami, code, "ka_Init'ing");
+       afs_com_err(whoami, code, "ka_Init'ing");
        exit(1);
     }
     if (code = ubik_ParseClientList(3, args, serverList)) {
-       com_err(whoami, code, "parsing Ubik server list");
+       afs_com_err(whoami, code, "parsing Ubik server list");
        exit(1);
     }
     ka_ExplicitCell(localCell, serverList);
@@ -480,7 +480,7 @@ main(argc, argv)
        code = ubik_ClientInit(conns, &lpbkConn);
        if (code) {
          abort_4:
-           com_err(whoami, code,
+           afs_com_err(whoami, code,
                    "getting %s's password via loopback connection to GetPassword",
                    name);
            exit(1);
@@ -497,7 +497,7 @@ main(argc, argv)
     code = ka_AuthServerConn(localCell, KA_AUTHENTICATION_SERVICE, 0, &aconn);
     if (code) {
       abort:
-       com_err(whoami, code, "connecting to authentication service");
+       afs_com_err(whoami, code, "connecting to authentication service");
        exit(1);
     }
     end = now + 100 * 3600 + 2;
@@ -522,7 +522,7 @@ main(argc, argv)
                        &token, 0);
     if (code) {
       abort_1:
-       com_err(whoami, code, "using admin ticket with time jitter");
+       afs_com_err(whoami, code, "using admin ticket with time jitter");
        exit(1);
     }
 
@@ -544,7 +544,7 @@ main(argc, argv)
        code = ubik_Call(KAM_SetPassword, conn, 0, name, inst, 0, badkey);
        if (code != KABADKEY) {
          abort_5:
-           com_err(whoami, code, "Trying to set bad key");
+           afs_com_err(whoami, code, "Trying to set bad key");
            exit(1);
        }
        memset(&badkey, 0, sizeof(badkey));
@@ -566,7 +566,7 @@ main(argc, argv)
        code = ubik_Call(KAM_SetPassword, conn, 0, aname, ainst, 0, akey);
        if (code) {
          abort_6:
-           com_err(whoami, code, "Checking SetPassword");
+           afs_com_err(whoami, code, "Checking SetPassword");
            exit(2);
        }
        code =
@@ -595,7 +595,7 @@ main(argc, argv)
                           &atoken.sessionKey, 0, aname, ainst);
        if (code) {
          abort_3:
-           com_err(whoami, code, "faking up AuthServer ticket");
+           afs_com_err(whoami, code, "faking up AuthServer ticket");
            exit(1);
        }
        {
@@ -644,13 +644,13 @@ main(argc, argv)
     code =
        ka_AuthServerConn(localCell, KA_MAINTENANCE_SERVICE, &atoken, &conn);
     if (code) {
-       com_err(whoami, code, "contacting admin server with bashed ticket");
+       afs_com_err(whoami, code, "contacting admin server with bashed ticket");
        exit(0);                /* this is supposed to happen */
     }
     code =
        ubik_Call(KAM_GetEntry, conn, 0, name, inst, KAMAJORVERSION, &tentry);
     if (code != RXKADBADTICKET) {
-       com_err(whoami, code,
+       afs_com_err(whoami, code,
                "GetEntry failed to fail even with damaged ticket!!!!\n");
        exit(1);
     }
@@ -661,7 +661,7 @@ main(argc, argv)
     if (argc == 2) {
        code = setpag();
        if (code)
-           com_err(whoami, code, "calling SetPAG");
+           afs_com_err(whoami, code, "calling SetPAG");
        else
            printf("Calling SetPAG and exec'ing %s\n", argv[1]);
        execve(argv[1], argv + 1, 0);
index f2c623fb0d0508bef082c7c64b0ad20fa3e7ef87..59a03c9277908c588775044a5a7f2905e6cfa09f 100644 (file)
@@ -11,7 +11,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/kauth/test/test_getticket.c,v 1.7.2.1 2005/05/30 04:57:34 shadow Exp $");
+    ("$Header: /cvs/openafs/src/kauth/test/test_getticket.c,v 1.7.2.2 2007/04/10 18:43:43 shadow Exp $");
 
 #include <afs/stds.h>
 #include <sys/types.h>
@@ -130,7 +130,7 @@ SetFields(conn, name, flags, expiration, lifetime)
                  lifetime, -1,
                  /* spares */ 0, 0);
     if (code) {
-       com_err(whoami, code, "calling set fields on %s", name);
+       afs_com_err(whoami, code, "calling set fields on %s", name);
        CRASH();
     }
 }
@@ -201,7 +201,7 @@ GetTokenLife(name, passwd, expectedLife, match)
     }
     code = ktc_GetToken(&afs, &t, sizeof(t), 0);
     if (code) {
-       com_err(whoami, code, "getting afs token from ktc");
+       afs_com_err(whoami, code, "getting afs token from ktc");
        CRASH();
     }
     CheckLife(t.endTime, t.startTime, expectedLife, match);
@@ -243,7 +243,7 @@ Main(as, arock)
            ka_ParseLoginName(as->parms[12].items->data, name, instance,
                              newCell);
        if (code) {
-           com_err(whoami, code, "parsing user's name '%s'",
+           afs_com_err(whoami, code, "parsing user's name '%s'",
                    as->parms[12].items->data);
            return code;
        }
@@ -273,13 +273,13 @@ Main(as, arock)
 
     code = ka_ExpandCell(newCell, newCell, 0 /*local */ );
     if (code) {
-       com_err(whoami, code, "Can't expand cell name");
+       afs_com_err(whoami, code, "Can't expand cell name");
        return code;
     }
     cell = newCell;
     code = ka_CellToRealm(cell, realm, 0);
     if (code) {
-       com_err(whoami, code, "Can't get realm from cell name");
+       afs_com_err(whoami, code, "Can't get realm from cell name");
        return code;
     }
 
@@ -299,7 +299,7 @@ Main(as, arock)
        else if (strlen(passwd) == 0)
            code = KANULLPASSWORD;
        if (code) {
-           com_err(whoami, code, "reading password");
+           afs_com_err(whoami, code, "reading password");
            return code;
        }
     }
@@ -313,7 +313,7 @@ Main(as, arock)
        ap[1] = "-servers";
        code = ubik_ParseClientList(i, ap, serverList);
        if (code) {
-           com_err(whoami, code, "could not parse server list");
+           afs_com_err(whoami, code, "could not parse server list");
            return code;
        }
        ka_ExplicitCell(cell, serverList);
@@ -326,7 +326,7 @@ Main(as, arock)
     strcpy(afs.cell, cell);
     code = ktc_GetToken(&afs, &oldAFSToken, sizeof(oldAFSToken), &oldClient);
     if (code) {
-       com_err(whoami, code, "saving existing afs token");
+       afs_com_err(whoami, code, "saving existing afs token");
        return code;
     }
 
@@ -345,7 +345,7 @@ Main(as, arock)
            ka_GetAdminToken(name, instance, cell, &key, 3600, &token,
                             1 /*new */ );
        if (code) {
-           com_err(whoami, code, "getting admin token");
+           afs_com_err(whoami, code, "getting admin token");
            return code;
        }
        pToken = &token;
@@ -358,7 +358,7 @@ Main(as, arock)
            ka_AuthServerConn(cell, KA_MAINTENANCE_SERVICE, pToken,
                              &ubikConn);
        if (code) {
-           com_err(whoami, code, "Getting AuthServer ubik conn");
+           afs_com_err(whoami, code, "Getting AuthServer ubik conn");
            return code;
        }
 
@@ -383,7 +383,7 @@ Main(as, arock)
            ktc_GetToken(&tgs_server, &tgs_token, sizeof(tgs_token),
                         &tgs_client);
        if (code) {
-           com_err(whoami, code, "saving tgs token");
+           afs_com_err(whoami, code, "saving tgs token");
            return code;
        }
 
@@ -418,7 +418,7 @@ Main(as, arock)
        /* since the rest should be errors, restore good AFS ticket */
        code = ktc_SetToken(&afs, &oldAFSToken, &oldClient, 0);
        if (code) {
-           com_err(whoami, code, "restoring old afs token");
+           afs_com_err(whoami, code, "restoring old afs token");
            return code;
        }
 
@@ -439,13 +439,13 @@ Main(as, arock)
        /* restore old tgs, since GetTicket are prohibited too. */
        code = ktc_SetToken(&tgs_server, &tgs_token, &tgs_client, 0);
        if (code) {
-           com_err(whoami, code, "restoring old tgs token");
+           afs_com_err(whoami, code, "restoring old tgs token");
            return code;
        }
        printf("Restoring TGT obtained before NOTGS set\n");
        code = ka_GetServerToken(AUTH_SUPERUSER, "", cell, 100, 0, 1);
        if (code != KABADUSER) {
-           com_err(whoami, code,
+           afs_com_err(whoami, code,
                    "expected BADUSER error, getting AFS token w/ old tgs token but with NOTGS set");
            CRASH();
        } else
@@ -456,7 +456,7 @@ Main(as, arock)
            struct ktc_token afsToken;
            code = ktc_SetToken(&afs, &oldAFSToken, &oldClient, 0);
            if (code) {
-               com_err(whoami, code, "restoring old afs token");
+               afs_com_err(whoami, code, "restoring old afs token");
                return code;
            }
            fprintf(stdout, "Waiting for TGS ticket to age (about 5 min)...");
@@ -472,14 +472,14 @@ Main(as, arock)
            /* restore old tgs */
            code = ktc_SetToken(&tgs_server, &tgs_token, &tgs_client, 0);
            if (code) {
-               com_err(whoami, code, "restoring old tgs token");
+               afs_com_err(whoami, code, "restoring old tgs token");
                return code;
            }
            code =
                ka_GetServerToken(AUTH_SUPERUSER, "", cell,
                                  MAXKTCTICKETLIFETIME, &afsToken, 1);
            if (code) {
-               com_err(whoami, code, "getting AFS token w/ old tgs token");
+               afs_com_err(whoami, code, "getting AFS token w/ old tgs token");
                CRASH();
            }
            CheckLife(afsToken.endTime, afsToken.startTime, 3600 - (5 * 60),
index c461ad0b2dcccee256793854317300a8684e4584..8236aeea42c3f46abd6322faed96cb3411a3a515 100644 (file)
@@ -19,7 +19,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/kauth/test/test_interim_ktc.c,v 1.7 2003/07/15 23:15:18 shadow Exp $");
+    ("$Header: /cvs/openafs/src/kauth/test/test_interim_ktc.c,v 1.7.2.1 2007/04/10 18:43:43 shadow Exp $");
 
 #include <afs/stds.h>
 #include <afs/com_err.h>
@@ -117,7 +117,7 @@ CheckUnixUID(server, token, client)
 
     code = ktc_SetToken(server, token, client, 0);
     if (code) {
-       com_err(whoami, code, "using SetToken to set vice id");
+       afs_com_err(whoami, code, "using SetToken to set vice id");
        return 1;
     }
     sprintf(name_buf, "Unix UID %d", getuid());
@@ -128,13 +128,13 @@ CheckUnixUID(server, token, client)
        fprintf(stderr, "GetToken returned bad client: '");
        PrintPrincipal(stderr, &nclient);
        fprintf(stderr, "'\n");
-       com_err(whoami, code, "should have gotten '%s'", name_buf);
+       afs_com_err(whoami, code, "should have gotten '%s'", name_buf);
        return 1;
     }
     lifetime =
        (unsigned long)ntoken.endTime - (unsigned long)ntoken.startTime;
     if ((lifetime & 1) == 1) {
-       com_err(whoami, code, "GetToken returned even lifetime (%d)",
+       afs_com_err(whoami, code, "GetToken returned even lifetime (%d)",
                lifetime);
        return 1;
     }
@@ -157,7 +157,7 @@ CheckAFSId(server, token, client)
     viceId = atoi((client->name) + 7);
     code = ktc_SetToken(server, token, client, 0);
     if (code) {
-       com_err(whoami, code, "using SetToken to set vice id to %d", viceId);
+       afs_com_err(whoami, code, "using SetToken to set vice id to %d", viceId);
        return 1;
     }
     code = ktc_GetToken(server, &ntoken, sizeof(ntoken), &nclient);
@@ -169,13 +169,13 @@ CheckAFSId(server, token, client)
        fprintf(stderr, "' should have gotten '");
        PrintPrincipal(stderr, client);
        fprintf(stderr, "'\n");
-       com_err(whoami, code, "didn't preserve AFS ID");
+       afs_com_err(whoami, code, "didn't preserve AFS ID");
        return 1;
     }
     lifetime =
        (unsigned long)ntoken.endTime - (unsigned long)ntoken.startTime;
     if ((lifetime & 1) == 0) {
-       com_err(whoami, code, "GetToken returned even lifetime (%d)",
+       afs_com_err(whoami, code, "GetToken returned even lifetime (%d)",
                lifetime);
        return 1;
     }
@@ -265,7 +265,7 @@ CheckAuth2(server)
     buffer.out_size = 0;
     code = pioctl(0, _VICEIOCTL(3), &buffer, 1);
     if (code) {
-       com_err(whoami, errno, "setting old-style token");
+       afs_com_err(whoami, errno, "setting old-style token");
        return 1;
     }
 
@@ -322,7 +322,7 @@ ListCellsCmd()
            if (errno == EDOM)
                break;          /* done with the list */
            else {
-               com_err(whoami, code, "getting cell list");
+               afs_com_err(whoami, code, "getting cell list");
                exit(1);
            }
        }
@@ -494,7 +494,7 @@ AddTester(pathname)
     blob.out = space;
     code = pioctl(pathname, VIOCGETAL, &blob, 1);
     if (code) {
-       com_err(whoami, errno, "getting acl for %s", pathname);
+       afs_com_err(whoami, errno, "getting acl for %s", pathname);
        return 1;
     }
     if (verbose > 1)
@@ -538,7 +538,7 @@ AddTester(pathname)
     blob.in_size = 1 + strlen(blob.in);
     code = pioctl(pathname, VIOCSETAL, &blob, 1);
     if (code) {
-       com_err(whoami, errno, "setting acl on %s to %s", pathname, blob.in);
+       afs_com_err(whoami, errno, "setting acl on %s to %s", pathname, blob.in);
        return 1;
     }
     if (verbose > 1) {
@@ -566,7 +566,7 @@ FreeUnusedCell()
     token.endTime = 0;
     code = ktc_SetToken(&server, &token, &client, 0);
     if (code) {
-       com_err(whoami, code, "freeing cell");
+       afs_com_err(whoami, code, "freeing cell");
        exit(1);
     }
 }
@@ -596,7 +596,7 @@ TryAuthenticating(name, password, viceId, cell)
     strcpy(server.cell, cell);
     code = ktc_GetToken(&server, &token, sizeof(token), &client);
     if (code) {
-       com_err(whoami, code, "so couldn't get %s's afs token in %s", name,
+       afs_com_err(whoami, code, "so couldn't get %s's afs token in %s", name,
                cell);
        return code;
     }
@@ -648,23 +648,23 @@ CheckAFSTickets()
     strcpy(server.cell, ka_LocalCell());
     code = ktc_GetToken(&server, &token, sizeof(token), &client);
     if (code) {
-       com_err(whoami, code, "so couldn't get afs token");
+       afs_com_err(whoami, code, "so couldn't get afs token");
        return code;
     }
 
     code = mkdir(tdpath, 0777);
     if (code && (errno != EEXIST)) {
-       com_err(whoami, errno, "making test dir %s", tdpath);
+       afs_com_err(whoami, errno, "making test dir %s", tdpath);
        return code;
     }
     fd = open(tfpath, O_WRONLY + O_CREAT + O_TRUNC, 0777);
     if (fd == -1) {
-       com_err(whoami, errno, "making test file %s", tfpath);
+       afs_com_err(whoami, errno, "making test file %s", tfpath);
        goto failed;
     }
     code = close(fd);
     if (code) {
-       com_err(whoami, errno, "failed to close %s after create", tfpath);
+       afs_com_err(whoami, errno, "failed to close %s after create", tfpath);
        goto failed;
     }
 
@@ -678,7 +678,7 @@ CheckAFSTickets()
        goto failed;
     code = ktc_GetToken(&server, &ntoken, sizeof(ntoken), &nclient);
     if (code) {
-       com_err(whoami, code, "getting new local afs token");
+       afs_com_err(whoami, code, "getting new local afs token");
        goto failed;
     }
 
@@ -705,29 +705,29 @@ CheckAFSTickets()
 
     code = open(tfpath, O_RDONLY, 0);  /* check for read access */
     if (!((code == -1) && ((errno == ENOENT) || (errno == EACCES)))) {
-       com_err(whoami, errno, "didn't fail to open %s for read", tfpath);
+       afs_com_err(whoami, errno, "didn't fail to open %s for read", tfpath);
        goto failed;
     }
 
     /* as tester we should have read but not write */
     code = ktc_SetToken(&server, &ntoken, &nclient, 0);
     if (code) {
-       com_err(whoami, code, "restoring new local afs token");
+       afs_com_err(whoami, code, "restoring new local afs token");
        goto failed;
     }
     code = open(tfpath, O_RDWR + O_TRUNC, 0);
     if ((code != -1) || (errno != EACCES)) {
-       com_err(whoami, errno, "didn't fail to open %s for write", tfpath);
+       afs_com_err(whoami, errno, "didn't fail to open %s for write", tfpath);
        goto failed;
     }
     fd = open(tfpath, O_RDONLY, 0);
     if (fd == -1) {
-       com_err(whoami, errno, "failed to open %s for read", tfpath);
+       afs_com_err(whoami, errno, "failed to open %s for read", tfpath);
        goto failed;
     }
     code = close(fd);
     if (code) {
-       com_err(whoami, errno, "failed to close %s after open", tfpath);
+       afs_com_err(whoami, errno, "failed to close %s after open", tfpath);
        goto failed;
     }
 
@@ -735,11 +735,11 @@ CheckAFSTickets()
     /* go back to original privileges */
     code = ktc_SetToken(&server, &token, &client, 0);
     if (code) {
-       com_err(whoami, code, "so couldn't set afs token in new pag");
+       afs_com_err(whoami, code, "so couldn't set afs token in new pag");
        exit(1);
     }
     if (unlink(tfpath) || rmdir(tdpath)) {
-       com_err(whoami, errno, "removing test dir %s", tdpath);
+       afs_com_err(whoami, errno, "removing test dir %s", tdpath);
        return 1;
     }
     return exitCode;
@@ -765,7 +765,7 @@ main(argc, argv)
 
     srandom(1);
 
-    /* Initialize com_err error code hacking */
+    /* Initialize afs_com_err error code hacking */
     initialize_U_error_table();
     initialize_KA_error_table();
     initialize_RXK_error_table();
@@ -824,10 +824,10 @@ main(argc, argv)
     /* expand requested cell name */
     code = ka_CellConfig(AFSCONF_CLIENTNAME);
     if (code)
-       com_err(whoami, code, "calling cell config");
+       afs_com_err(whoami, code, "calling cell config");
     code = ka_ExpandCell(cell, cell, 0);
     if (code) {
-       com_err(whoami, code, "expanding cell %s", cell);
+       afs_com_err(whoami, code, "expanding cell %s", cell);
        exit(1);
     }
 
@@ -837,7 +837,7 @@ main(argc, argv)
     if (printToken) {
        code = ktc_GetToken(&server, &token, sizeof(token), &client);
        if (code) {
-           com_err(whoami, code, "so couldn't get afs token");
+           afs_com_err(whoami, code, "so couldn't get afs token");
            exit(1);
        }
        PrintAuthentication(stdout, &server, &token, &client);
@@ -867,7 +867,7 @@ main(argc, argv)
     memcpy(&ntoken, &token, sizeof(ntoken));
     code = ktc_SetToken(&server, &ntoken, &client, 0);
     if (code != KTC_NOCELL) {
-       com_err(whoami, code,
+       afs_com_err(whoami, code,
                "should have gotten bad pioctl error calling SetToken with bogus cell name");
        goto failed;
     }
@@ -876,7 +876,7 @@ main(argc, argv)
     ntoken.ticketLen = 0;
     code = ktc_SetToken(&server, &ntoken, &client, 0);
     if ((code != KTC_TOOBIG) && (code != KTC_PIOCTLFAIL)) {
-       com_err(whoami, code,
+       afs_com_err(whoami, code,
                "should have gotten error calling SetToken with zero ticket length");
        goto failed;
     }
@@ -884,7 +884,7 @@ main(argc, argv)
     ntoken.endTime = 0;
     code = ktc_SetToken(&server, &ntoken, &client, 0);
     if (code) {
-       com_err(whoami, code, "calling SetToken with zero expiration time");
+       afs_com_err(whoami, code, "calling SetToken with zero expiration time");
        goto failed;
     }
     strcpy(nclient.name, "foo");
@@ -892,7 +892,7 @@ main(argc, argv)
     strcpy(nclient.cell, "foo.bar.baz");
     code = ktc_SetToken(&server, &ntoken, &nclient, 0);
     if (code) {
-       com_err(whoami, code, "calling SetToken with bogus client cell");
+       afs_com_err(whoami, code, "calling SetToken with bogus client cell");
        goto failed;
     }
     memcpy(&ntoken, &token, sizeof(ntoken));
index aae3d5c2f8d63643fdc5c72fd2e8e7b2b52ddf4c..25dd7f8b99ff1ab08fb644b4c9e97314bd8fe292 100644 (file)
@@ -11,7 +11,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/kauth/test/test_rxkad_free.c,v 1.7.2.1 2005/05/30 04:57:34 shadow Exp $");
+    ("$Header: /cvs/openafs/src/kauth/test/test_rxkad_free.c,v 1.7.2.2 2007/04/10 18:43:43 shadow Exp $");
 
 #include <afs/stds.h>
 #include <sys/types.h>
@@ -111,7 +111,7 @@ Main(as, arock)
            ka_ParseLoginName(as->parms[12].items->data, name, instance,
                              newCell);
        if (code) {
-           com_err(whoami, code, "parsing user's name '%s'",
+           afs_com_err(whoami, code, "parsing user's name '%s'",
                    as->parms[12].items->data);
            return code;
        }
@@ -139,7 +139,7 @@ Main(as, arock)
 
     code = ka_ExpandCell(newCell, newCell, 0 /*local */ );
     if (code) {
-       com_err(whoami, code, "Can't expand cell name");
+       afs_com_err(whoami, code, "Can't expand cell name");
        return code;
     }
     cell = newCell;
@@ -160,7 +160,7 @@ Main(as, arock)
        else if (strlen(passwd) == 0)
            code = KANULLPASSWORD;
        if (code) {
-           com_err(whoami, code, "reading password");
+           afs_com_err(whoami, code, "reading password");
            return code;
        }
     }
@@ -174,7 +174,7 @@ Main(as, arock)
        ap[1] = "-servers";
        code = ubik_ParseClientList(i, ap, serverList);
        if (code) {
-           com_err(whoami, code, "could not parse server list");
+           afs_com_err(whoami, code, "could not parse server list");
            return code;
        }
        ka_ExplicitCell(cell, serverList);
@@ -212,7 +212,7 @@ Main(as, arock)
                ka_GetAdminToken(name, instance, cell, &key, 3600, &token,
                                 1 /*new */ );
            if (code) {
-               com_err(whoami, code, "getting admin token");
+               afs_com_err(whoami, code, "getting admin token");
                return code;
            }
            pToken = &token;
@@ -225,7 +225,7 @@ Main(as, arock)
                ka_AuthServerConn(cell, KA_MAINTENANCE_SERVICE, pToken,
                                  &ubikConn);
            if (code) {
-               com_err(whoami, code, "Getting AuthServer ubik conn");
+               afs_com_err(whoami, code, "Getting AuthServer ubik conn");
                return code;
            }
 
@@ -247,7 +247,7 @@ Main(as, arock)
                ubik_Call(KAM_GetEntry, ubikConn, 0, name, instance,
                          KAMAJORVERSION, &tentry);
            if (code) {
-               com_err(whoami, code, "getting information for %s.%s", name,
+               afs_com_err(whoami, code, "getting information for %s.%s", name,
                        instance);
                return code;
            }
index 95ecea7a9e27fd24eb2faf2a2e9723d0c8e667fe..e7be9dfd7fd129b9e90b55774b2689cf8fbe4dd4 100644 (file)
@@ -18,7 +18,7 @@
 #endif
 
 RCSID
-    ("$Header: /cvs/openafs/src/kauth/user.c,v 1.11.2.1 2004/08/25 07:09:38 shadow Exp $");
+    ("$Header: /cvs/openafs/src/kauth/user.c,v 1.11.2.2 2007/04/10 18:43:43 shadow Exp $");
 
 #if defined(UKERNEL)
 #include "afs/sysincludes.h"
@@ -111,7 +111,7 @@ ka_GetAFSTicket(char *name, char *instance, char *realm, Date lifetime,
            return code;
        code = pr_Initialize(0, AFSDIR_CLIENT_ETC_DIRPATH, server.cell);
        if (code) {
-           com_err(whoami, code, "initializing ptserver in cell '%s'",
+           afs_com_err(whoami, code, "initializing ptserver in cell '%s'",
                    server.cell);
            return 0;
        }
@@ -134,7 +134,7 @@ ka_GetAFSTicket(char *name, char *instance, char *realm, Date lifetime,
        if ((code == 0) && (viceId == ANONYMOUSID))
            code = PRNOENT;
        if (code) {
-           com_err(whoami, code, "translating %s to id", username);
+           afs_com_err(whoami, code, "translating %s to id", username);
            return 0;
        }
 
@@ -285,7 +285,7 @@ ka_UserAuthenticateGeneral(afs_int32 flags, char *name, char *instance, char *re
            *reasonP = "Authentication Server was unavailable";
            break;
        default:
-           *reasonP = (char *)error_message(code);
+           *reasonP = (char *)afs_error_message(code);
        }
     return code;
 }
@@ -322,7 +322,7 @@ ka_UserReadPassword(char *prompt, char *password, int plen, char **reasonP)
        return 0;
 
     if (reasonP) {
-       *reasonP = (char *)error_message(code);
+       *reasonP = (char *)afs_error_message(code);
     }
     return code;
 }
index 4441b326b87060fcf9ecba8b03233c0cb22569c6..ae36a04bb6ad883e48bb34a66f187d1d2e6a5bac 100644 (file)
@@ -11,7 +11,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/libadmin/adminutil/afs_utilAdmin.c,v 1.7.2.2 2005/07/11 19:09:46 shadow Exp $");
+    ("$Header: /cvs/openafs/src/libadmin/adminutil/afs_utilAdmin.c,v 1.7.2.3 2007/04/10 18:43:44 shadow Exp $");
 
 #include <afs/stds.h>
 #include <afs/afs_Admin.h>
@@ -104,7 +104,7 @@ util_AdminErrorCodeTranslate(afs_status_t errorCode, int langId,
     if (!error_init_done)
        pthread_once(&error_init_once, init_once);
     code = (afs_int32) errorCode;
-    *errorTextP = error_message(code);
+    *errorTextP = afs_error_message(code);
     rc = 1;
 
   fail_util_AdminErrorCodeTranslate:
index 7c50d48a9a3e3c5e335e6785e51964f768286763..bebee7068542abc4c387ac874bda84cf022a609f 100644 (file)
@@ -11,7 +11,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/libadmin/client/afs_clientAdmin.c,v 1.9.2.2 2005/07/21 04:57:17 shadow Exp $");
+    ("$Header: /cvs/openafs/src/libadmin/client/afs_clientAdmin.c,v 1.9.2.3 2007/07/16 00:00:37 jaltman Exp $");
 
 #include <afs/stds.h>
 #include "afs_clientAdmin.h"
@@ -193,7 +193,8 @@ afsclient_TokenGetExisting(const char *cellName, void **tokenHandle,
         * The token has been retrieved successfully, initialize
         * the rest of the token handle structure
         */
-       strcpy(t_handle->cell, cellName);
+       strncpy(t_handle->cell, cellName, MAXCELLCHARS);
+        t_handle->cell[MAXCELLCHARS - 1] = '\0';
        t_handle->afs_token_set = 1;
        t_handle->from_kernel = 1;
        t_handle->kas_token_set = 0;
@@ -568,7 +569,8 @@ afsclient_TokenGetNew(const char *cellName, const char *principal,
 
        if ((GetAFSToken(cellName, principal, password, t_handle, &tst))
            && (GetKASToken(cellName, principal, password, t_handle, &tst))) {
-           strcpy(t_handle->cell, cellName);
+           strncpy(t_handle->cell, cellName, MAXCELLCHARS);
+            t_handle->cell[MAXCELLCHARS - 1] = '\0';
            t_handle->from_kernel = 0;
            t_handle->afs_token_set = 1;
            t_handle->kas_token_set = 1;
@@ -868,7 +870,8 @@ afsclient_CellOpen(const char *cellName, const void *tokenHandle,
      * information for each server in the cell
      */
 
-    strcpy(c_handle->working_cell, cellName);
+    strncpy(c_handle->working_cell, cellName, MAXCELLCHARS);
+    c_handle->working_cell[MAXCELLCHARS - 1] = '\0';
     if (!(tdir = afsconf_Open(AFSDIR_CLIENT_ETC_DIRPATH))) {
        tst = ADMCLIENTBADCLIENTCONFIG;
        goto fail_afsclient_CellOpen;
@@ -878,7 +881,8 @@ afsclient_CellOpen(const char *cellName, const void *tokenHandle,
      * We must copy the cellName here because afsconf_GetCellInfo
      * actually writes over the cell name it is passed.
      */
-    strncpy(copyCell, cellName, MAXCELLCHARS - 1);
+    strncpy(copyCell, cellName, MAXCELLCHARS);
+    copyCell[MAXCELLCHARS - 1] ='\0';
     for (i = 0; (i < NUM_SERVER_TYPES); i++) {
        if (i == KAS) {
            tst =
@@ -1963,6 +1967,7 @@ afsclient_AFSServerGetBegin(const void *cellHandle, void **iterationIdP,
        if (host != NULL) {
            strncpy(serv->server[iserv].serverName, host->h_name,
                    AFS_MAX_SERVER_NAME_LEN);
+            serv->server[iserv].serverName[AFS_MAX_SERVER_NAME_LEN - 1] = '\0';
        }
     }
     UNLOCK_GLOBAL_MUTEX;
index 12e82676a41ebaf7507e3dc8eb01ea99067e898c..ee97760ce082c2711e0f81695ad7f25f81f5718a 100644 (file)
@@ -11,7 +11,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/libadmin/kas/afs_kasAdmin.c,v 1.9.2.3 2005/08/16 18:48:34 shadow Exp $");
+    ("$Header: /cvs/openafs/src/libadmin/kas/afs_kasAdmin.c,v 1.9.2.4 2007/07/16 00:00:37 jaltman Exp $");
 
 #include <stdio.h>
 
@@ -35,8 +35,6 @@ RCSID
 
 #undef ENCRYPT
 
-extern int ubik_Call();
-
 typedef struct {
     int begin_magic;
     int is_valid;
@@ -539,7 +537,8 @@ kas_PrincipalCreate(const void *cellHandle, const void *serverHandle,
     afs_cell_handle_p c_handle = (afs_cell_handle_p) cellHandle;
     kas_server_p k_handle = (kas_server_p) serverHandle;
     kas_server_t kaserver;
-    struct kas_encryptionKey key;
+    EncryptionKey key;
+    struct kas_encryptionKey kas_key;
 
     /*
      * Validate input arguments and make rpc.
@@ -559,12 +558,14 @@ kas_PrincipalCreate(const void *cellHandle, const void *serverHandle,
        goto fail_kas_PrincipalCreate;
     }
 
-    if (!kas_StringToKey(kaserver.cell, password, &key, &tst)) {
+    if (!kas_StringToKey(kaserver.cell, password, &kas_key, &tst)) {
        goto fail_kas_PrincipalCreate;
     }
 
+    memcpy(&key, &kas_key, sizeof(key));
+
     tst =
-       ubik_Call(KAM_CreateUser, kaserver.servers, 0, who->principal,
+       ubik_KAM_CreateUser(kaserver.servers, 0, who->principal,
                  who->instance, key);
     if (tst) {
        goto fail_kas_PrincipalCreate;
@@ -624,7 +625,7 @@ kas_PrincipalDelete(const void *cellHandle, const void *serverHandle,
        goto fail_kas_PrincipalDelete;
     }
     tst =
-       ubik_Call(KAM_DeleteUser, kaserver.servers, 0, who->principal,
+       ubik_KAM_DeleteUser(kaserver.servers, 0, who->principal,
                  who->instance);
     if (tst) {
        goto fail_kas_PrincipalDelete;
@@ -802,7 +803,7 @@ kas_PrincipalGet(const void *cellHandle, const void *serverHandle,
     }
 
     tst =
-       ubik_Call(KAM_GetEntry, kaserver.servers, 0, who->principal,
+       ubik_KAM_GetEntry(kaserver.servers, 0, who->principal,
                  who->instance, KAMAJORVERSION, &entry);
     if (tst) {
        goto fail_kas_PrincipalGet;
@@ -858,8 +859,8 @@ GetPrincipalRPC(void *rpc_specific, int slot, int *last_item,
     principal_get_p prin = (principal_get_p) rpc_specific;
 
     tst =
-       ubik_Call(KAM_ListEntry, prin->kaserver.servers, 0, prin->current,
-                 &prin->next, &prin->count, &prin->principal[slot]);
+       ubik_KAM_ListEntry(prin->kaserver.servers, 0, prin->current,
+                           &prin->next, &prin->count, (kaident *)&prin->principal[slot]);
     if (tst == 0) {
        prin->current = prin->next;
        if (prin->next == 0) {
@@ -1109,13 +1110,14 @@ kas_PrincipalGetDone(const void *iterationIdP, afs_status_p st)
 int ADMINAPI
 kas_PrincipalKeySet(const void *cellHandle, const void *serverHandle,
                    const kas_identity_p who, int keyVersion,
-                   const kas_encryptionKey_p key, afs_status_p st)
+                   const kas_encryptionKey_p kas_keyp, afs_status_p st)
 {
     int rc = 0;
     afs_status_t tst = 0;
     afs_cell_handle_p c_handle = (afs_cell_handle_p) cellHandle;
     kas_server_p k_handle = (kas_server_p) serverHandle;
     kas_server_t kaserver;
+    EncryptionKey key; 
 
     /*
      * Validate input arguments and make rpc.
@@ -1126,7 +1128,7 @@ kas_PrincipalKeySet(const void *cellHandle, const void *serverHandle,
        goto fail_kas_PrincipalKeySet;
     }
 
-    if (key == NULL) {
+    if (kas_keyp == NULL) {
        tst = ADMKASKEYNULL;
        goto fail_kas_PrincipalKeySet;
     }
@@ -1135,9 +1137,12 @@ kas_PrincipalKeySet(const void *cellHandle, const void *serverHandle,
        goto fail_kas_PrincipalKeySet;
     }
 
+    memcpy(&key, kas_keyp, sizeof(key));
+
     tst =
-       ubik_Call(KAM_SetPassword, kaserver.servers, 0, who->principal,
-                 who->instance, keyVersion, *key);
+       ubik_KAM_SetPassword(kaserver.servers, 0, who->principal,
+                 who->instance, keyVersion, key);
+    memset(&key, 0, sizeof(key));
     if (tst) {
        goto fail_kas_PrincipalKeySet;
     }
@@ -1311,7 +1316,7 @@ getPrincipalFlags(const void *cellHandle, const void *serverHandle,
     }
 
     tst =
-       ubik_Call(KAM_GetEntry, kaserver.servers, 0, who->principal,
+       ubik_KAM_GetEntry(kaserver.servers, 0, who->principal,
                  who->instance, KAMAJORVERSION, &tentry);
     if (tst == 0) {
        *cur_flags = tentry.flags;
@@ -1518,7 +1523,7 @@ kas_PrincipalFieldsSet(const void *cellHandle, const void *serverHandle,
            goto fail_kas_PrincipalFieldsSet;
        }
        tst =
-           ubik_Call(KAM_SetFields, kaserver.servers, 0, who->principal,
+           ubik_KAM_SetFields(kaserver.servers, 0, who->principal,
                      who->instance, flags, expiration, lifetime, -1,
                      was_spare, 0);
        if (tst == 0) {
@@ -1584,7 +1589,7 @@ kas_ServerStatsGet(const void *cellHandle, const void *serverHandle,
     }
 
     tst =
-       ubik_Call(KAM_GetStats, kaserver.servers, 0, KAMAJORVERSION, &admins,
+       ubik_KAM_GetStats(kaserver.servers, 0, KAMAJORVERSION, &admins,
                  &statics, &dynamics);
     if (tst) {
        goto fail_kas_ServerStatsGet;
@@ -1672,7 +1677,7 @@ kas_ServerDebugGet(const void *cellHandle, const void *serverHandle,
     if (!ChooseValidServer(c_handle, k_handle, &kaserver, &tst)) {
        goto fail_kas_ServerDebugGet;
     }
-    tst = ubik_Call(KAM_Debug, kaserver.servers, 0, KAMAJORVERSION, 0, &info);
+    tst = ubik_KAM_Debug(kaserver.servers, 0, KAMAJORVERSION, 0, &info);
     if (tst) {
        goto fail_kas_ServerDebugGet;
     }
@@ -1741,19 +1746,20 @@ kas_ServerDebugGet(const void *cellHandle, const void *serverHandle,
 
 int ADMINAPI
 kas_ServerRandomKeyGet(const void *cellHandle, const void *serverHandle,
-                      kas_encryptionKey_p key, afs_status_p st)
+                      kas_encryptionKey_p kas_keyp, afs_status_p st)
 {
     int rc = 0;
     afs_status_t tst = 0;
     afs_cell_handle_p c_handle = (afs_cell_handle_p) cellHandle;
     kas_server_p k_handle = (kas_server_p) serverHandle;
     kas_server_t kaserver;
+    EncryptionKey key;
 
     /*
      * Validate input arguments and make rpc.
      */
 
-    if (key == NULL) {
+    if (kas_keyp == NULL) {
        tst = ADMKASKEYNULL;
        goto fail_kas_ServerRandomKeyGet;
     }
@@ -1762,10 +1768,11 @@ kas_ServerRandomKeyGet(const void *cellHandle, const void *serverHandle,
        goto fail_kas_ServerRandomKeyGet;
     }
 
-    tst = ubik_Call(KAM_GetRandomKey, kaserver.servers, 0, key);
+    tst = ubik_KAM_GetRandomKey(kaserver.servers, 0, &key);
     if (tst) {
        goto fail_kas_ServerRandomKeyGet;
     }
+    memcpy(kas_keyp, &key, sizeof(*kas_keyp));
     rc = 1;
 
   fail_kas_ServerRandomKeyGet:
index 491ed480ca2cd1903afef06482fa11ff1f31d2b9..724edf6d4ee8830a4ad274e136e5c26507b74ef3 100644 (file)
@@ -11,7 +11,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/libadmin/pts/afs_ptsAdmin.c,v 1.11 2004/04/02 06:54:15 jaltman Exp $");
+    ("$Header: /cvs/openafs/src/libadmin/pts/afs_ptsAdmin.c,v 1.11.2.1 2007/07/16 00:00:37 jaltman Exp $");
 
 #include <stdio.h>
 
@@ -124,7 +124,7 @@ TranslatePTSNames(const afs_cell_handle_p cellHandle, namelist * names,
        }
     }
 
-    tst = ubik_Call(PR_NameToID, cellHandle->pts, 0, names, ids);
+    tst = ubik_PR_NameToID(cellHandle->pts, 0, names, ids);
 
     if (tst) {
        goto fail_TranslatePTSNames;
@@ -200,7 +200,9 @@ TranslateTwoNames(const afs_cell_handle_p c_handle, const char *id1,
     names.namelist_val = (prname *) & tmp_array[0];
 
     strncpy(names.namelist_val[0], id1, PTS_MAX_NAME_LEN);
+    names.namelist_val[0][PTS_MAX_NAME_LEN - 1] = '\0';
     strncpy(names.namelist_val[1], id2, PTS_MAX_NAME_LEN);
+    names.namelist_val[1][PTS_MAX_NAME_LEN - 1] = '\0';
     ids->idlist_val = 0;
     ids->idlist_len = 0;
 
@@ -277,7 +279,8 @@ TranslateOneName(const afs_cell_handle_p c_handle, const char *ptsName,
     names[0].namelist_len = 1;
     names[0].namelist_val = (prname *) & tmp_array[0];
 
-    strncpy(names[0].namelist_val, ptsName, PTS_MAX_NAME_LEN);
+    strncpy((char *)names[0].namelist_val, ptsName, PTS_MAX_NAME_LEN);
+    ((char *)names[0].namelist_val)[PTS_MAX_NAME_LEN - 1] = '\0';
     ids.idlist_val = 0;
     ids.idlist_len = 0;
 
@@ -344,7 +347,7 @@ TranslatePTSIds(const afs_cell_handle_p cellHandle, namelist * names,
     int rc = 0;
     afs_status_t tst = 0;
 
-    tst = ubik_Call(PR_IDToName, cellHandle->pts, 0, ids, names);
+    tst = ubik_PR_IDToName(cellHandle->pts, 0, ids, names);
 
     if (tst) {
        goto fail_TranslatePTSIds;
@@ -419,7 +422,7 @@ pts_GroupMemberAdd(const void *cellHandle, const char *userName,
      */
 
     tst =
-       ubik_Call(PR_AddToGroup, c_handle->pts, 0, ids.idlist_val[0],
+       ubik_PR_AddToGroup(c_handle->pts, 0, ids.idlist_val[0],
                  ids.idlist_val[1]);
 
     if (tst != 0) {
@@ -499,7 +502,7 @@ pts_GroupOwnerChange(const void *cellHandle, const char *targetGroup,
      */
 
     tst =
-       ubik_Call(PR_ChangeEntry, c_handle->pts, 0, ids.idlist_val[1], "",
+       ubik_PR_ChangeEntry(c_handle->pts, 0, ids.idlist_val[1], "",
                  ids.idlist_val[0], 0);
 
     if (tst != 0) {
@@ -596,11 +599,11 @@ pts_GroupCreate(const void *cellHandle, const char *newGroup,
 
     if (*newGroupId != 0) {
        tst =
-           ubik_Call(PR_INewEntry, c_handle->pts, 0, newGroup, *newGroupId,
+           ubik_PR_INewEntry(c_handle->pts, 0, newGroup, *newGroupId,
                      newOwnerId);
     } else {
        tst =
-           ubik_Call(PR_NewEntry, c_handle->pts, 0, newGroup, PRGRP,
+           ubik_PR_NewEntry(c_handle->pts, 0, newGroup, PRGRP,
                      newOwnerId, newGroupId);
     }
 
@@ -722,7 +725,7 @@ pts_GroupGet(const void *cellHandle, const char *groupName,
      * Retrieve information about the group
      */
 
-    tst = ubik_Call(PR_ListEntry, c_handle->pts, 0, groupId, &groupEntry);
+    tst = ubik_PR_ListEntry(c_handle->pts, 0, groupId, &groupEntry);
 
     if (tst != 0) {
        goto fail_pts_GroupGet;
@@ -732,7 +735,8 @@ pts_GroupGet(const void *cellHandle, const char *groupName,
     groupP->nameUid = groupEntry.id;
     groupP->ownerUid = groupEntry.owner;
     groupP->creatorUid = groupEntry.creator;
-    strcpy(groupP->name, groupEntry.name);
+    strncpy(groupP->name, groupEntry.name, PTS_MAX_NAME_LEN);
+    groupP->name[PTS_MAX_NAME_LEN - 1] = '\0';
     /*
      * Set the access rights based upon the value of the flags member
      * of the groupEntry struct.
@@ -821,8 +825,10 @@ pts_GroupGet(const void *cellHandle, const char *groupName,
        goto fail_pts_GroupGet;
     }
 
-    strcpy(groupP->owner, names.namelist_val[0]);
-    strcpy(groupP->creator, names.namelist_val[1]);
+    strncpy(groupP->owner, names.namelist_val[0], PTS_MAX_NAME_LEN);
+    groupP->owner[PTS_MAX_NAME_LEN - 1] = '\0';
+    strncpy(groupP->creator, names.namelist_val[1], PTS_MAX_NAME_LEN);
+    groupP->creator[PTS_MAX_NAME_LEN - 1] = '\0';
     free(names.namelist_val);
     rc = 1;
 
@@ -894,7 +900,7 @@ EntryDelete(const void *cellHandle, const char *entryName,
      * Make the rpc
      */
 
-    tst = ubik_Call(PR_Delete, c_handle->pts, 0, entryId);
+    tst = ubik_PR_Delete(c_handle->pts, 0, entryId);
 
     if (tst != 0) {
        goto fail_EntryDelete;
@@ -981,7 +987,7 @@ pts_GroupMaxGet(const void *cellHandle, int *maxGroupId, afs_status_p st)
        goto fail_pts_GroupMaxGet;
     }
 
-    tst = ubik_Call(PR_ListMax, c_handle->pts, 0, &maxUserId, maxGroupId);
+    tst = ubik_PR_ListMax(c_handle->pts, 0, &maxUserId, maxGroupId);
 
     if (tst != 0) {
        goto fail_pts_GroupMaxGet;
@@ -1031,7 +1037,7 @@ pts_GroupMaxSet(const void *cellHandle, int maxGroupId, afs_status_p st)
        goto fail_pts_GroupMaxSet;
     }
 
-    tst = ubik_Call(PR_SetMax, c_handle->pts, 0, maxGroupId, PRGRP);
+    tst = ubik_PR_SetMax(c_handle->pts, 0, maxGroupId, PRGRP);
 
     if (tst != 0) {
        goto fail_pts_GroupMaxSet;
@@ -1202,7 +1208,7 @@ MemberListBegin(const void *cellHandle, const char *name, afs_status_t error1,
     iter->ids.prlist_val = 0;
 
     tst =
-       ubik_Call(PR_ListElements, c_handle->pts, 0, groupId, &iter->ids,
+       ubik_PR_ListElements(c_handle->pts, 0, groupId, &iter->ids,
                  &exceeded);
 
     if (tst != 0) {
@@ -1510,7 +1516,7 @@ pts_GroupMemberRemove(const void *cellHandle, const char *userName,
      */
 
     tst =
-       ubik_Call(PR_RemoveFromGroup, c_handle->pts, 0, ids.idlist_val[0],
+       ubik_PR_RemoveFromGroup(c_handle->pts, 0, ids.idlist_val[0],
                  ids.idlist_val[1]);
 
     if (tst != 0) {
@@ -1592,7 +1598,7 @@ pts_GroupRename(const void *cellHandle, const char *oldName,
      * Make the rpc
      */
 
-    tst = ubik_Call(PR_ChangeEntry, c_handle->pts, 0, groupId, newName, 0, 0);
+    tst = ubik_PR_ChangeEntry(c_handle->pts, 0, groupId, newName, 0, 0);
 
     if (tst != 0) {
        goto fail_pts_GroupRename;
@@ -1751,7 +1757,7 @@ pts_GroupModify(const void *cellHandle, const char *groupName,
      */
 
     tst =
-       ubik_Call(PR_SetFieldsEntry, c_handle->pts, 0, groupId, PR_SF_ALLBITS,
+       ubik_PR_SetFieldsEntry(c_handle->pts, 0, groupId, PR_SF_ALLBITS,
                  flags, 0, 0, 0, 0);
 
     if (tst != 0) {
@@ -1823,11 +1829,11 @@ pts_UserCreate(const void *cellHandle, const char *userName, int *newUserId,
 
     if (*newUserId != 0) {
        tst =
-           ubik_Call(PR_INewEntry, c_handle->pts, 0, userName, *newUserId,
+           ubik_PR_INewEntry(c_handle->pts, 0, userName, *newUserId,
                      0);
     } else {
        tst =
-           ubik_Call(PR_NewEntry, c_handle->pts, 0, userName, 0, 0,
+           ubik_PR_NewEntry(c_handle->pts, 0, userName, 0, 0,
                      newUserId);
     }
 
@@ -1945,7 +1951,7 @@ IsAdministrator(const afs_cell_handle_p c_handle, afs_int32 userId,
            goto fail_IsAdministrator;
        }
        tst =
-           ubik_Call(PR_IsAMemberOf, c_handle->pts, 0, userId, adminId,
+           ubik_PR_IsAMemberOf(c_handle->pts, 0, userId, adminId,
                      &isAdmin);
        if (tst != 0) {
            goto fail_IsAdministrator;
@@ -2035,7 +2041,7 @@ pts_UserGet(const void *cellHandle, const char *userName,
      * Retrieve information about the group
      */
 
-    tst = ubik_Call(PR_ListEntry, c_handle->pts, 0, userId, &userEntry);
+    tst = ubik_PR_ListEntry(c_handle->pts, 0, userId, &userEntry);
 
     if (tst != 0) {
        goto fail_pts_UserGet;
@@ -2060,7 +2066,8 @@ pts_UserGet(const void *cellHandle, const char *userName,
     userP->nameUid = userEntry.id;
     userP->ownerUid = userEntry.owner;
     userP->creatorUid = userEntry.creator;
-    strcpy(userP->name, userEntry.name);
+    strncpy(userP->name, userEntry.name, PTS_MAX_NAME_LEN);
+    userP->name[PTS_MAX_NAME_LEN - 1] = '\0';
 
     /*
      * The permission bits are described in the GroupGet function above.
@@ -2104,8 +2111,10 @@ pts_UserGet(const void *cellHandle, const char *userName,
        goto fail_pts_UserGet;
     }
 
-    strcpy(userP->owner, names.namelist_val[0]);
-    strcpy(userP->creator, names.namelist_val[1]);
+    strncpy(userP->owner, names.namelist_val[0], PTS_MAX_NAME_LEN);
+    userP->owner[PTS_MAX_NAME_LEN - 1] ='\0';
+    strncpy(userP->creator, names.namelist_val[1], PTS_MAX_NAME_LEN);
+    userP->creator[PTS_MAX_NAME_LEN - 1] = '\0';
     free(names.namelist_val);
     rc = 1;
 
@@ -2179,7 +2188,7 @@ pts_UserRename(const void *cellHandle, const char *oldName,
      * Make the rpc
      */
 
-    tst = ubik_Call(PR_ChangeEntry, c_handle->pts, 0, userId, newName, 0, 0);
+    tst = ubik_PR_ChangeEntry(c_handle->pts, 0, userId, newName, 0, 0);
 
     if (tst != 0) {
        goto fail_pts_UserRename;
@@ -2323,7 +2332,7 @@ pts_UserModify(const void *cellHandle, const char *userName,
      */
 
     tst =
-       ubik_Call(PR_SetFieldsEntry, c_handle->pts, 0, userId, mask, flags,
+       ubik_PR_SetFieldsEntry(c_handle->pts, 0, userId, mask, flags,
                  newQuota, 0, 0, 0);
 
     if (tst != 0) {
@@ -2380,7 +2389,7 @@ pts_UserMaxGet(const void *cellHandle, int *maxUserId, afs_status_p st)
        goto fail_pts_UserMaxGet;
     }
 
-    tst = ubik_Call(PR_ListMax, c_handle->pts, 0, maxUserId, &maxGroupId);
+    tst = ubik_PR_ListMax(c_handle->pts, 0, maxUserId, &maxGroupId);
 
     if (tst != 0) {
        goto fail_pts_UserMaxGet;
@@ -2430,7 +2439,7 @@ pts_UserMaxSet(const void *cellHandle, int maxUserId, afs_status_p st)
        goto fail_pts_UserMaxSet;
     }
 
-    tst = ubik_Call(PR_SetMax, c_handle->pts, 0, maxUserId, 0);
+    tst = ubik_PR_SetMax(c_handle->pts, 0, maxUserId, 0);
 
     if (tst != 0) {
        goto fail_pts_UserMaxSet;
@@ -2595,7 +2604,7 @@ GetOwnedGroupRPC(void *rpc_specific, int slot, int *last_item,
 
     if ((!list->finished_retrieving) && (list->owned_names.namelist_len == 0)) {
        tst =
-           ubik_Call(PR_ListOwned, list->c_handle->pts, 0, list->owner,
+           ubik_PR_ListOwned(list->c_handle->pts, 0, list->owner,
                      &list->owned_ids, &list->more);
        if (tst != 0) {
            goto fail_GetOwnedGroupRPC;
@@ -2940,7 +2949,7 @@ GetPTSRPC(void *rpc_specific, int slot, int *last_item,
        bulkentries.prentries_len = 0;
 
        tst =
-           ubik_Call(PR_ListEntries, list->c_handle->pts, 0, list->flag,
+           ubik_PR_ListEntries(list->c_handle->pts, 0, list->flag,
                      start, &bulkentries, &(list->nextstartindex));
 
        if (tst != 0) {
index b8ae24884faefaff02b3c39db1ae22d53c6b1986..d55e55419816c7ae386531ce28ff40458058702c 100644 (file)
@@ -13,8 +13,8 @@
 #include <afs/param.h>
 #include <afs/afs_Admin.h>
 
-#define PTS_MAX_NAME_LEN 64
-#define PTS_MAX_GROUPS 5000
+#define PTS_MAX_NAME_LEN 64     /* must equal PR_MAXNAMELEN */
+#define PTS_MAX_GROUPS 5000     /* must equal PR_MAXGROUPS */
 
 typedef enum {
     PTS_USER_OWNER_ACCESS,
index cd3b87c3fd8fb7be03f71f6e31b4b1980f09889a..c774059b3aaf15265bce83cd196336f8c63be3be 100644 (file)
@@ -11,7 +11,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/libadmin/vos/afs_vosAdmin.c,v 1.9.2.1 2005/10/25 06:35:55 shadow Exp $");
+    ("$Header: /cvs/openafs/src/libadmin/vos/afs_vosAdmin.c,v 1.9.2.2 2007/07/16 00:00:38 jaltman Exp $");
 
 #include <afs/stds.h>
 #include <stdio.h>
@@ -567,8 +567,10 @@ vos_PartitionGet(const void *cellHandle, const void *serverHandle,
     if (tst) {
        goto fail_vos_PartitionGet;
     }
-    strcpy(partitionP->name, part_info.name);
-    strcpy(partitionP->deviceName, part_info.devName);
+    strncpy(partitionP->name, part_info.name, VOS_MAX_PARTITION_NAME_LEN);
+    partitionP->name[VOS_MAX_PARTITION_NAME_LEN-1] = '\0';
+    strncpy(partitionP->deviceName, part_info.devName, VOS_MAX_PARTITION_NAME_LEN);
+    partitionP->deviceName[VOS_MAX_PARTITION_NAME_LEN-1] = '\0';
     partitionP->lockFileDescriptor = part_info.lock_fd;
     partitionP->totalSpace = part_info.minFree;
     partitionP->totalFreeSpace = part_info.free;
@@ -1215,7 +1217,7 @@ GetServerRPC(void *rpc_specific, int slot, int *last_item,
            addr_multi.bulkaddrs_val = 0;
            addr_multi.bulkaddrs_len = 0;
            tst =
-               ubik_Call(VL_GetAddrsU, serv->vldb, 0, &m_attrs, &m_uuid,
+               ubik_VL_GetAddrsU(serv->vldb, 0, &m_attrs, &m_uuid,
                          &m_unique, &total_multi, &addr_multi);
            if (tst) {
                goto fail_GetServerRPC;
@@ -1880,7 +1882,8 @@ copyVLDBEntry(struct nvldbentry *source, vos_vldbEntry_p dest,
        dest->status |= VOS_VLDB_ENTRY_BACKEXISTS;
     }
 
-    strcpy(dest->name, source->name);
+    strncpy(dest->name, source->name, VOS_MAX_VOLUME_NAME_LEN);
+    dest->name[VOS_MAX_VOLUME_NAME_LEN - 1] = '\0';
     for (i = 0; i < VOS_MAX_REPLICA_SITES; i++) {
        dest->volumeSites[i].serverAddress = source->serverNumber[i];
        dest->volumeSites[i].serverPartition = source->serverPartition[i];
@@ -2354,7 +2357,7 @@ vos_VLDBEntryRemove(const void *cellHandle, const void *serverHandle,
      */
 
     if (volumeId != NULL) {
-       tst = ubik_Call(VL_DeleteEntry, c_handle->vos, 0, *volumeId, -1);
+       tst = ubik_VL_DeleteEntry(c_handle->vos, 0, *volumeId, -1);
        if (tst != 0) {
            goto fail_vos_VLDBEntryRemove;
        }
@@ -2392,8 +2395,8 @@ vos_VLDBEntryRemove(const void *cellHandle, const void *serverHandle,
     }
 
     for (i = 0; i < nentries; i++) {
-       ubik_Call(VL_DeleteEntry, c_handle->vos, 0,
-                 entries.nbulkentries_val[i].volumeId[RWVOL]);
+       ubik_VL_DeleteEntry(c_handle->vos, 0,
+                 entries.nbulkentries_val[i].volumeId[RWVOL], -1);
     }
     rc = 1;
 
@@ -2546,7 +2549,7 @@ vos_VLDBEntryLock(const void *cellHandle, vos_MessageCallBack_t callBack,
        goto fail_vos_VLDBEntryLock;
     }
 
-    tst = ubik_Call(VL_SetLock, c_handle->vos, 0, volumeId, -1, VLOP_DELETE);
+    tst = ubik_VL_SetLock(c_handle->vos, 0, volumeId, -1, VLOP_DELETE);
     if (tst != 0) {
        goto fail_vos_VLDBEntryLock;
     }
@@ -2600,7 +2603,7 @@ vos_VLDBEntryUnlock(const void *cellHandle, vos_MessageCallBack_t callBack,
 
 
     tst =
-       ubik_Call(VL_ReleaseLock, c_handle->vos, 0, volumeId, -1,
+       ubik_VL_ReleaseLock(c_handle->vos, 0, volumeId, -1,
                  LOCKREL_OPCODE | LOCKREL_AFSID | LOCKREL_TIMESTAMP);
     if (tst != 0) {
        goto fail_vos_VLDBEntryUnlock;
@@ -3545,7 +3548,8 @@ copyvolintXInfo(struct volintXInfo *source, vos_volumeEntry_p dest,
      */
 
     if (dest->status == VOS_OK) {
-       strcpy(dest->name, source->name);
+       strncpy(dest->name, source->name, VOS_MAX_VOLUME_NAME_LEN);
+        dest->name[VOS_MAX_VOLUME_NAME_LEN - 1] = '\0';
        dest->id = source->volid;
        if (source->type == 0) {
            dest->type = VOS_READ_WRITE_VOLUME;
index 9f4b166f9cfc32405f666a8626a5969133c12f33..17e953a47dd98bb6e02060b63b0c60ae71ef6395 100644 (file)
@@ -11,7 +11,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/libadmin/vos/vosutils.c,v 1.10.2.2 2005/10/25 06:35:56 shadow Exp $");
+    ("$Header: /cvs/openafs/src/libadmin/vos/vosutils.c,v 1.10.2.3 2007/07/16 00:00:38 jaltman Exp $");
 
 #include "vosutils.h"
 #include "vsprocs.h"
@@ -108,7 +108,7 @@ VLDB_CreateEntry(afs_cell_handle_p cellHandle, struct nvldbentry *entryp,
 
     do {
        if (cellHandle->vos_new) {
-           tst = ubik_Call(VL_CreateEntryN, cellHandle->vos, 0, entryp);
+           tst = ubik_VL_CreateEntryN(cellHandle->vos, 0, entryp);
            if (tst) {
                if (tst == RXGEN_OPCODE) {
                    cellHandle->vos_new = 0;
@@ -118,7 +118,7 @@ VLDB_CreateEntry(afs_cell_handle_p cellHandle, struct nvldbentry *entryp,
            }
        } else {
            if (NewVLDB_to_OldVLDB(entryp, &oentry, &tst)) {
-               tst = ubik_Call(VL_CreateEntry, cellHandle->vos, 0, &oentry);
+               tst = ubik_VL_CreateEntry(cellHandle->vos, 0, &oentry);
                if (!tst) {
                    rc = 1;
                }
@@ -144,7 +144,7 @@ aVLDB_GetEntryByID(afs_cell_handle_p cellHandle, afs_int32 volid,
     do {
        if (cellHandle->vos_new) {
            tst =
-               ubik_Call(VL_GetEntryByIDN, cellHandle->vos, 0, volid,
+               ubik_VL_GetEntryByIDN(cellHandle->vos, 0, volid,
                          voltype, entryp);
            if (tst) {
                if (tst == RXGEN_OPCODE) {
@@ -155,7 +155,7 @@ aVLDB_GetEntryByID(afs_cell_handle_p cellHandle, afs_int32 volid,
            }
        } else {
            tst =
-               ubik_Call(VL_GetEntryByID, cellHandle->vos, 0, volid, voltype,
+               ubik_VL_GetEntryByID(cellHandle->vos, 0, volid, voltype,
                          &oentry);
            if (tst == 0) {
                rc = OldVLDB_to_NewVLDB(&oentry, entryp, &tst);
@@ -181,7 +181,7 @@ aVLDB_GetEntryByName(afs_cell_handle_p cellHandle, const char *namep,
     do {
        if (cellHandle->vos_new) {
            tst =
-               ubik_Call(VL_GetEntryByNameN, cellHandle->vos, 0, namep,
+               ubik_VL_GetEntryByNameN(cellHandle->vos, 0, namep,
                          entryp);
            if (tst) {
                if (tst == RXGEN_OPCODE) {
@@ -192,7 +192,7 @@ aVLDB_GetEntryByName(afs_cell_handle_p cellHandle, const char *namep,
            }
        } else {
            tst =
-               ubik_Call(VL_GetEntryByNameO, cellHandle->vos, 0, namep,
+               ubik_VL_GetEntryByNameO(cellHandle->vos, 0, namep,
                          &oentry);
            if (tst == 0) {
                rc = OldVLDB_to_NewVLDB(&oentry, entryp, &tst);
@@ -219,7 +219,7 @@ VLDB_ReplaceEntry(afs_cell_handle_p cellHandle, afs_int32 volid,
     do {
        if (cellHandle->vos_new) {
            tst =
-               ubik_Call(VL_ReplaceEntryN, cellHandle->vos, 0, volid,
+               ubik_VL_ReplaceEntryN(cellHandle->vos, 0, volid,
                          voltype, entryp, releasetype);
            if (tst) {
                if (tst == RXGEN_OPCODE) {
@@ -231,7 +231,7 @@ VLDB_ReplaceEntry(afs_cell_handle_p cellHandle, afs_int32 volid,
        } else {
            if (NewVLDB_to_OldVLDB(entryp, &oentry, &tst)) {
                tst =
-                   ubik_Call(VL_ReplaceEntry, cellHandle->vos, 0, volid,
+                   ubik_VL_ReplaceEntry(cellHandle->vos, 0, volid,
                              voltype, &oentry, releasetype);
                if (!tst) {
                    rc = 1;
@@ -259,7 +259,7 @@ VLDB_ListAttributes(afs_cell_handle_p cellHandle,
     do {
        if (cellHandle->vos_new) {
            tst =
-               ubik_Call(VL_ListAttributesN, cellHandle->vos, 0, attrp,
+               ubik_VL_ListAttributesN(cellHandle->vos, 0, attrp,
                          entriesp, blkentriesp);
            if (tst) {
                if (tst == RXGEN_OPCODE) {
@@ -271,8 +271,8 @@ VLDB_ListAttributes(afs_cell_handle_p cellHandle,
        } else {
            memset((void *)&arrayEntries, 0, sizeof(arrayEntries));
            tst =
-               ubik_Call(VL_ListAttributes, cellHandle->vos, 0, attrp,
-                         entriesp, arrayEntries);
+               ubik_VL_ListAttributes(cellHandle->vos, 0, attrp,
+                         entriesp, &arrayEntries);
            if (tst == 0) {
                blkentriesp->nbulkentries_val =
                    (nvldbentry *) malloc(*entriesp * sizeof(*blkentriesp));
@@ -312,7 +312,7 @@ VLDB_ListAttributesN2(afs_cell_handle_p cellHandle,
     afs_status_t tst = 0;
 
     tst =
-       ubik_Call(VL_ListAttributesN2, cellHandle->vos, 0, attrp,
+       ubik_VL_ListAttributesN2(cellHandle->vos, 0, attrp,
                  (name ? name : ""), thisindex, nentriesp, blkentriesp,
                  nextindexp);
     if (!tst) {
@@ -351,7 +351,7 @@ VLDB_IsSameAddrs(afs_cell_handle_p cellHandle, afs_int32 serv1,
     memset(&addrs, 0, sizeof(addrs));
     memset(&uuid, 0, sizeof(uuid));
     tst =
-       ubik_Call(VL_GetAddrsU, cellHandle->vos, 0, &attrs, &uuid, &unique,
+       ubik_VL_GetAddrsU(cellHandle->vos, 0, &attrs, &uuid, &unique,
                  &nentries, &addrs);
     if (tst) {
        *equal = 0;
@@ -517,7 +517,8 @@ vsu_ExtractName(char *rname, char *name)
     char sname[32];
     size_t total;
 
-    strcpy(sname, name);
+    strncpy(sname, name, 32);
+    sname[31] ='\0';
     total = strlen(sname);
     if ((total > 9) && (!strcmp(&sname[total - 9], ".readonly"))) {
        /*discard the last 8 chars */
index 638ce66295df7e7a6bd73542c05554ad0cbcd8cb..65d269671998498bc736967e45f6847d5d45b7b9 100644 (file)
@@ -22,7 +22,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/libadmin/vos/vsprocs.c,v 1.11.2.1 2005/10/25 06:35:56 shadow Exp $");
+    ("$Header: /cvs/openafs/src/libadmin/vos/vsprocs.c,v 1.11.2.3 2007/07/18 14:24:30 shadow Exp $");
 
 #include "vsprocs.h"
 #include "vosutils.h"
@@ -150,7 +150,7 @@ UV_CreateVolume(afs_cell_handle_p cellHandle, struct rx_connection *server,
     tstatus.maxquota = quota;
 
     /* next the next 3 available ids from the VLDB */
-    tst = ubik_Call(VL_GetNewVolumeId, cellHandle->vos, 0, 3, volumeId);
+    tst = ubik_VL_GetNewVolumeId(cellHandle->vos, 0, 3, volumeId);
     if (tst) {
        goto fail_UV_CreateVolume;
     }
@@ -229,7 +229,7 @@ UV_DeleteVolume(afs_cell_handle_p cellHandle, struct rx_connection *server,
 
     /* Find and read the VLDB entry for this volume */
     tst =
-       ubik_Call(VL_SetLock, cellHandle->vos, 0, volumeId, avoltype,
+       ubik_VL_SetLock(cellHandle->vos, 0, volumeId, avoltype,
                  VLOP_DELETE);
     if (tst) {
        if (tst != VL_NOENT) {
@@ -332,7 +332,7 @@ UV_DeleteVolume(afs_cell_handle_p cellHandle, struct rx_connection *server,
     }
 
     if ((entry.nServers <= 0) || !(entry.flags & (RO_EXISTS | RW_EXISTS))) {
-       tst = ubik_Call(VL_DeleteEntry, cellHandle->vos, 0, volumeId, vtype);
+       tst = ubik_VL_DeleteEntry(cellHandle->vos, 0, volumeId, vtype);
        if (tst) {
            goto fail_UV_DeleteVolume;
        }
@@ -364,7 +364,7 @@ UV_DeleteVolume(afs_cell_handle_p cellHandle, struct rx_connection *server,
 
     if (islocked) {
        temp =
-           ubik_Call(VL_ReleaseLock, cellHandle->vos, 0, volumeId, -1,
+           ubik_VL_ReleaseLock(cellHandle->vos, 0, volumeId, -1,
                      (LOCKREL_OPCODE | LOCKREL_AFSID | LOCKREL_TIMESTAMP));
        if (temp) {
            if (!tst)
@@ -437,7 +437,7 @@ UV_MoveVolume(afs_cell_handle_p cellHandle, afs_int32 afromvol,
     }
 
     tst =
-       ubik_Call(VL_SetLock, cellHandle->vos, 0, afromvol, RWVOL, VLOP_MOVE);
+       ubik_VL_SetLock(cellHandle->vos, 0, afromvol, RWVOL, VLOP_MOVE);
     if (tst) {
        goto fail_UV_MoveVolume;
     }
@@ -454,7 +454,7 @@ UV_MoveVolume(afs_cell_handle_p cellHandle, afs_int32 afromvol,
        if (!Lp_Match(cellHandle, &entry, atoserver, atopart, &tst)) {
            /* the to server and partition do not exist in the vldb entry corresponding to volid */
            tst =
-               ubik_Call(VL_ReleaseLock, cellHandle->vos, 0, afromvol, -1,
+               ubik_VL_ReleaseLock(cellHandle->vos, 0, afromvol, -1,
                          (LOCKREL_OPCODE | LOCKREL_AFSID |
                           LOCKREL_TIMESTAMP));
            if (tst) {
@@ -561,7 +561,7 @@ UV_MoveVolume(afs_cell_handle_p cellHandle, afs_int32 afromvol,
 
     /* Get a clone id */
     newVol = 0;
-    tst = ubik_Call(VL_GetNewVolumeId, cellHandle->vos, 0, 1, &newVol);
+    tst = ubik_VL_GetNewVolumeId(cellHandle->vos, 0, 1, &newVol);
     if (tst) {
        goto fail_UV_MoveVolume;
     }
@@ -824,7 +824,7 @@ UV_MoveVolume(afs_cell_handle_p cellHandle, afs_int32 afromvol,
 
     if (islocked) {
        etst =
-           ubik_Call(VL_ReleaseLock, cellHandle->vos, 0, afromvol, -1,
+           ubik_VL_ReleaseLock(cellHandle->vos, 0, afromvol, -1,
                      (LOCKREL_OPCODE | LOCKREL_AFSID | LOCKREL_TIMESTAMP));
        if (etst) {
            if (!tst)
@@ -878,7 +878,7 @@ UV_MoveVolume(afs_cell_handle_p cellHandle, afs_int32 afromvol,
 
     /* unlock VLDB entry */
     if (islocked)
-       ubik_Call(VL_ReleaseLock, cellHandle->vos, 0, afromvol, -1,
+       ubik_VL_ReleaseLock(cellHandle->vos, 0, afromvol, -1,
                  (LOCKREL_OPCODE | LOCKREL_AFSID | LOCKREL_TIMESTAMP));
 
     if (clonetid)
@@ -962,7 +962,7 @@ UV_MoveVolume(afs_cell_handle_p cellHandle, afs_int32 afromvol,
     }
 
     /* unlock VLDB entry */
-    ubik_Call(VL_ReleaseLock, cellHandle->vos, 0, afromvol, -1,
+    ubik_VL_ReleaseLock(cellHandle->vos, 0, afromvol, -1,
              (LOCKREL_OPCODE | LOCKREL_AFSID | LOCKREL_TIMESTAMP));
 
   done:                        /* routine cleanup */
@@ -1018,7 +1018,7 @@ UV_BackupVolume(afs_cell_handle_p cellHandle, afs_int32 aserver,
        /* no assigned backup volume id */
 
        tst =
-           ubik_Call(VL_SetLock, cellHandle->vos, 0, avolid, RWVOL,
+           ubik_VL_SetLock(cellHandle->vos, 0, avolid, RWVOL,
                      VLOP_BACKUP);
        if (tst) {
            goto fail_UV_BackupVolume;
@@ -1041,7 +1041,7 @@ UV_BackupVolume(afs_cell_handle_p cellHandle, afs_int32 aserver,
        /* Get a backup volume id from the VLDB and update the vldb
         * entry with it. 
         */
-       tst = ubik_Call(VL_GetNewVolumeId, cellHandle->vos, 0, 1, &backupID);
+       tst = ubik_VL_GetNewVolumeId(cellHandle->vos, 0, 1, &backupID);
        if (tst) {
            goto fail_UV_BackupVolume;
        }
@@ -1160,7 +1160,7 @@ UV_BackupVolume(afs_cell_handle_p cellHandle, afs_int32 aserver,
            }
        } else {
            temp =
-               ubik_Call(VL_ReleaseLock, cellHandle->vos, 0, avolid, RWVOL,
+               ubik_VL_ReleaseLock(cellHandle->vos, 0, avolid, RWVOL,
                          (LOCKREL_OPCODE | LOCKREL_AFSID |
                           LOCKREL_TIMESTAMP));
            if (temp) {
@@ -1223,7 +1223,7 @@ CloneVol(afs_cell_handle_p cellHandle, struct rx_connection *conn,
     /* Get the RO volume id. Allocate a new one if need to */
     *rovidp = entry->volumeId[ROVOL];
     if (*rovidp == INVALID_BID) {
-       tst = ubik_Call(VL_GetNewVolumeId, cellHandle->vos, 0, 1, rovidp);
+       tst = ubik_VL_GetNewVolumeId(cellHandle->vos, 0, 1, rovidp);
        if (tst) {
            goto fail_CloneVol;
        }
@@ -1495,7 +1495,7 @@ UV_ReleaseVolume(afs_cell_handle_p cellHandle, afs_int32 afromvol,
     memset((char *)&results, 0, sizeof(results));
 
     tst =
-       ubik_Call(VL_SetLock, cellHandle->vos, 0, afromvol, RWVOL,
+       ubik_VL_SetLock(cellHandle->vos, 0, afromvol, RWVOL,
                  VLOP_RELEASE);
     if ((tst) && (tst != VL_RERELEASE)) {
        goto fail_UV_ReleaseVolume;
@@ -1544,7 +1544,7 @@ UV_ReleaseVolume(afs_cell_handle_p cellHandle, afs_int32 afromvol,
     /* Make sure we have a RO volume id to work with */
     if (entry.volumeId[ROVOL] == INVALID_BID) {
        /* need to get a new RO volume id */
-       tst = ubik_Call(VL_GetNewVolumeId, cellHandle->vos, 0, 1, &roVolId);
+       tst = ubik_VL_GetNewVolumeId(cellHandle->vos, 0, 1, &roVolId);
        if (tst) {
            goto fail_UV_ReleaseVolume;
        }
@@ -1969,7 +1969,7 @@ UV_ReleaseVolume(afs_cell_handle_p cellHandle, afs_int32 afromvol,
     }
     if (islocked) {
        tst =
-           ubik_Call(VL_ReleaseLock, cellHandle->vos, 0, afromvol, RWVOL,
+           ubik_VL_ReleaseLock(cellHandle->vos, 0, afromvol, RWVOL,
                      LOCKREL_OPCODE | LOCKREL_AFSID | LOCKREL_TIMESTAMP);
        if (tst) {
            rc = 0;
@@ -2154,7 +2154,7 @@ UV_DumpVolume(afs_cell_handle_p cellHandle, afs_int32 afromvol,
 
     if (islocked) {
        etst =
-           ubik_Call(VL_ReleaseLock, cellHandle->vos, 0, afromvol, -1,
+           ubik_VL_ReleaseLock(cellHandle->vos, 0, afromvol, -1,
                      LOCKREL_OPCODE | LOCKREL_AFSID | LOCKREL_TIMESTAMP);
        if (etst) {
            if (!tst)
@@ -2332,7 +2332,7 @@ UV_RestoreVolume(afs_cell_handle_p cellHandle, afs_int32 toserver,
        aVLDB_GetEntryByName(cellHandle, tovolname, &entry, &tst);
        if (tst == VL_NOENT) {
            tst =
-               ubik_Call(VL_GetNewVolumeId, cellHandle->vos, 0, 1, &pvolid);
+               ubik_VL_GetNewVolumeId(cellHandle->vos, 0, 1, &pvolid);
            if (tst) {
                goto fail_UV_RestoreVolume;
            }
@@ -2479,7 +2479,7 @@ UV_RestoreVolume(afs_cell_handle_p cellHandle, afs_int32 toserver,
            islocked = 0;
        } else {                /*update the existing entry */
            tst =
-               ubik_Call(VL_SetLock, cellHandle->vos, 0, pvolid, RWVOL,
+               ubik_VL_SetLock(cellHandle->vos, 0, pvolid, RWVOL,
                          VLOP_RESTORE);
            if (tst) {
                goto fail_UV_RestoreVolume;
@@ -2557,7 +2557,7 @@ UV_RestoreVolume(afs_cell_handle_p cellHandle, afs_int32 toserver,
     }
     if (islocked) {
        etst =
-           ubik_Call(VL_ReleaseLock, cellHandle->vos, 0, pvolid, RWVOL,
+           ubik_VL_ReleaseLock(cellHandle->vos, 0, pvolid, RWVOL,
                      LOCKREL_OPCODE | LOCKREL_AFSID | LOCKREL_TIMESTAMP);
        if (etst) {
            if (!tst)
@@ -2607,7 +2607,7 @@ UV_AddSite(afs_cell_handle_p cellHandle, afs_int32 server, afs_int32 part,
     int same = 0;
 
     tst =
-       ubik_Call(VL_SetLock, cellHandle->vos, 0, volid, RWVOL, VLOP_ADDSITE);
+       ubik_VL_SetLock(cellHandle->vos, 0, volid, RWVOL, VLOP_ADDSITE);
     if (tst) {
        goto fail_UV_AddSite;
     }
@@ -2665,7 +2665,7 @@ UV_AddSite(afs_cell_handle_p cellHandle, afs_int32 server, afs_int32 part,
 
     if (islocked) {
        tst =
-           ubik_Call(VL_ReleaseLock, cellHandle->vos, 0, volid, RWVOL,
+           ubik_VL_ReleaseLock(cellHandle->vos, 0, volid, RWVOL,
                      LOCKREL_OPCODE | LOCKREL_AFSID | LOCKREL_TIMESTAMP);
     }
 
@@ -2686,7 +2686,7 @@ UV_RemoveSite(afs_cell_handle_p cellHandle, afs_int32 server, afs_int32 part,
     int islocked = 0;
 
     tst =
-       ubik_Call(VL_SetLock, cellHandle->vos, 0, volid, RWVOL, VLOP_ADDSITE);
+       ubik_VL_SetLock(cellHandle->vos, 0, volid, RWVOL, VLOP_ADDSITE);
     if (tst) {
        goto fail_UV_RemoveSite;
     }
@@ -2704,7 +2704,7 @@ UV_RemoveSite(afs_cell_handle_p cellHandle, afs_int32 server, afs_int32 part,
        if ((entry.nServers == 1) && (entry.flags & RW_EXISTS))
            entry.flags &= ~RO_EXISTS;
        if (entry.nServers < 1) {       /*this is the last ref */
-           tst = ubik_Call(VL_DeleteEntry, cellHandle->vos, 0, volid, ROVOL);
+           tst = ubik_VL_DeleteEntry(cellHandle->vos, 0, volid, ROVOL);
            if (tst) {
                goto fail_UV_RemoveSite;
            }
@@ -2721,7 +2721,7 @@ UV_RemoveSite(afs_cell_handle_p cellHandle, afs_int32 server, afs_int32 part,
 
     if (islocked) {
        afs_status_t t;
-       t = ubik_Call(VL_ReleaseLock, cellHandle->vos, 0, volid, RWVOL,
+       t = ubik_VL_ReleaseLock(cellHandle->vos, 0, volid, RWVOL,
                      LOCKREL_OPCODE | LOCKREL_AFSID | LOCKREL_TIMESTAMP);
        if (tst == 0) {
            tst = t;
@@ -2957,7 +2957,7 @@ ProcessEntries(afs_cell_handle_p cellHandle, struct qHead *myQueue,
     counter = 0;
 
     /* get the next  available id's from the vldb server */
-    vcode = ubik_Call(VL_GetNewVolumeId, cellHandle->vos, 0, 0, &maxVolid);
+    vcode = ubik_VL_GetNewVolumeId(cellHandle->vos, 0, 0, &maxVolid);
     if (vcode) {
        return (vcode);
     }
@@ -2979,7 +2979,7 @@ ProcessEntries(afs_cell_handle_p cellHandle, struct qHead *myQueue,
            temp2 = elem.ids[RWVOL] - maxVolid + 1;
            maxVolid = 0;
            vcode =
-               ubik_Call(VL_GetNewVolumeId, cellHandle->vos, 0, temp2,
+               ubik_VL_GetNewVolumeId(cellHandle->vos, 0, temp2,
                          &maxVolid);
            maxVolid += temp2;
 
@@ -2991,7 +2991,7 @@ ProcessEntries(afs_cell_handle_p cellHandle, struct qHead *myQueue,
            temp2 = elem.ids[ROVOL] - maxVolid + 1;
            maxVolid = 0;
            vcode =
-               ubik_Call(VL_GetNewVolumeId, cellHandle->vos, 0, temp2,
+               ubik_VL_GetNewVolumeId(cellHandle->vos, 0, temp2,
                          &maxVolid);
            maxVolid += temp2;
 
@@ -3001,7 +3001,7 @@ ProcessEntries(afs_cell_handle_p cellHandle, struct qHead *myQueue,
            temp2 = elem.ids[BACKVOL] - temp1 + 1;
            maxVolid = 0;
            vcode =
-               ubik_Call(VL_GetNewVolumeId, cellHandle->vos, 0, temp2,
+               ubik_VL_GetNewVolumeId(cellHandle->vos, 0, temp2,
                          &maxVolid);
            maxVolid += temp2;
 
@@ -3188,7 +3188,7 @@ ProcessEntries(afs_cell_handle_p cellHandle, struct qHead *myQueue,
                totalUE++;
 
                vcode =
-                   ubik_Call(VL_ReleaseLock, cellHandle->vos, 0,
+                   ubik_VL_ReleaseLock(cellHandle->vos, 0,
                              elem.ids[RWVOL], RWVOL,
                              LOCKREL_OPCODE | LOCKREL_AFSID |
                              LOCKREL_TIMESTAMP);
@@ -3488,7 +3488,7 @@ CheckVldb(afs_cell_handle_p cellHandle, struct nvldbentry *entry,
      */
     if (++pass == 2) {
        tst =
-           ubik_Call(VL_SetLock, cellHandle->vos, 0, entry->volumeId[RWVOL],
+           ubik_VL_SetLock(cellHandle->vos, 0, entry->volumeId[RWVOL],
                      RWVOL, VLOP_DELETE);
        if (tst) {
            goto fail_CheckVldb;
@@ -3528,7 +3528,7 @@ CheckVldb(afs_cell_handle_p cellHandle, struct nvldbentry *entry,
            && !(entry->flags & RO_EXISTS)) {
            /* The RW, BK, nor RO volumes do not exist. Delete the VLDB entry */
            tst =
-               ubik_Call(VL_DeleteEntry, cellHandle->vos, 0,
+               ubik_VL_DeleteEntry(cellHandle->vos, 0,
                          entry->volumeId[RWVOL], RWVOL);
            if (tst) {
                goto fail_CheckVldb;
@@ -3553,10 +3553,9 @@ CheckVldb(afs_cell_handle_p cellHandle, struct nvldbentry *entry,
 
     if (islocked) {
        vcode =
-           ubik_Call(VL_ReleaseLock, cellHandle->vos, 0,
-                     entry->volumeId[RWVOL], RWVOL,
-                     (LOCKREL_OPCODE | LOCKREL_AFSID | LOCKREL_TIMESTAMP),
-                     &tst);
+           ubik_VL_ReleaseLock(cellHandle->vos, 0,
+                               entry->volumeId[RWVOL], RWVOL,
+                               (LOCKREL_OPCODE | LOCKREL_AFSID | LOCKREL_TIMESTAMP));
        if (vcode) {
            if (!tst)
                tst = vcode;
@@ -3661,7 +3660,7 @@ UV_RenameVolume(afs_cell_handle_p cellHandle, struct nvldbentry *entry,
     tid = 0;
     islocked = 0;
 
-    tst = ubik_Call(VL_SetLock, cellHandle->vos, 0, entry->volumeId[RWVOL], RWVOL, VLOP_ADDSITE);      /*last param is dummy */
+    tst = ubik_VL_SetLock(cellHandle->vos, 0, entry->volumeId[RWVOL], RWVOL, VLOP_ADDSITE);    /*last param is dummy */
     if (tst) {
        goto fail_UV_RenameVolume;
     }
@@ -3793,7 +3792,7 @@ UV_RenameVolume(afs_cell_handle_p cellHandle, struct nvldbentry *entry,
 
     if (islocked) {
        etst =
-           ubik_Call(VL_ReleaseLock, cellHandle->vos, 0,
+           ubik_VL_ReleaseLock(cellHandle->vos, 0,
                      entry->volumeId[RWVOL], RWVOL,
                      LOCKREL_OPCODE | LOCKREL_AFSID | LOCKREL_TIMESTAMP);
        if (etst) {
index 351949ddcc0908056ec84491be2bae04945a894e..c59b190cc1f3b4efa4104ee94d3e2901d968ffaa 100644 (file)
@@ -47,8 +47,8 @@ COMMON_INCLUDE = -I. -I.. -I../nfs \
        $(CC) $(COMMON_INCLUDE) $(CFLAGS) -P -c $<
 
 .c.o:
-       $(CC) $(COMMON_INCLUDE) $(CFLAGS) $(CFLAGS-$@) $(KERN_DBG) -c $<
-CRULE_NOOPT=   $(CC) $(COMMON_INCLUDE) $(KERN_DBG) $(CFLAGS) $(CFLAGS-$@) -o $@ -c $?
+       $(CC) $(COMMON_INCLUDE) $(CFLAGS) $(CFLAGS-$(@)) $(KERN_DBG) -c $<
+CRULE_NOOPT=   $(CC) $(COMMON_INCLUDE) $(KERN_DBG) $(CFLAGS) $(CFLAGS-$(@)) -o $@ -c $?
 CRULE_OPT=     $(CC) $(COMMON_INCLUDE) $(KERN_DBG) $(KERN_OPTMZ) $(CFLAGS) $(CFLAGS-$@) -o $@ -c $?
 
 system:        all
index 14a6a99fe8103fe1616bd864191604fc9d8e52fc..84b927ec9656af6f58f1066c603906da2b586f41 100644 (file)
@@ -4,7 +4,7 @@
 # This software has been released under the terms of the IBM Public
 # License.  For details, see the LICENSE file in the top-level source
 # directory or online at http://www.openafs.org/dl/license10.html
-# $Header: /cvs/openafs/src/libafs/MakefileProto.DARWIN.in,v 1.21.2.5 2006/03/09 06:41:47 shadow Exp $
+# $Header: /cvs/openafs/src/libafs/MakefileProto.DARWIN.in,v 1.21.2.7 2007/10/09 21:32:01 shadow Exp $
 # 
 # MakefileProto for Digital Unix systems
 #
@@ -33,28 +33,32 @@ AFS_OS_NONFSOBJS = osi_vfsops.o
 KDEFS=
 DBUG = 
 DEFINES= -D_KERNEL -DKERNEL -DKERNEL_PRIVATE -DDIAGNOSTIC -DUSE_SELECT -DMACH_USER_API -DMACH_KERNEL
+<ppc_darwin_80 x86_darwin_80>
+KOPTS_DBUG=-g
+<ppc_darwin_90 x86_darwin_90>
+KOPTS_DBUG=-ggdb
 <ppc_darwin_80 x86_darwin_80 ppc_darwin_90 x86_darwin_90>
-KOPTS_ppc=-static -g -nostdinc -nostdlib -fno-builtin -finline -fno-keep-inline-functions -msoft-float -mlong-branch -fsigned-bitfields -arch ppc -Dppc -DPPC -D__PPC__ -DPAGE_SIZE_FIXED -mcpu=750 -mmultiple -fschedule-insns
-KOPTS_x86=-static -g -nostdinc -nostdlib -fno-builtin -finline -fno-keep-inline-functions -msoft-float -mlong-branch -fsigned-bitfields -arch i386 -Di386 -DI386 -D__I386__ -DPAGE_SIZE_FIXED -march=i686 -mpreferred-stack-boundary=2 -falign-functions=4
+KOPTS_ppc=-static -nostdinc -nostdlib -fno-builtin -finline -fno-keep-inline-functions -msoft-float -mlong-branch -fsigned-bitfields -arch ppc -Dppc -DPPC -D__PPC__ -DPAGE_SIZE_FIXED -mcpu=750 -mmultiple -fschedule-insns -force_cpusubtype_ALL
+KOPTS_x86=-static -nostdinc -nostdlib -fno-builtin -finline -fno-keep-inline-functions -msoft-float -mlong-branch -fsigned-bitfields -arch i386 -Di386 -DI386 -D__I386__ -DPAGE_SIZE_FIXED -march=i686 -mpreferred-stack-boundary=2 -falign-functions=4
 ARCH_ppc=$(shell echo "${ARCHFLAGS}" | grep -q -w ppc && echo yes)
 ARCH_x86=$(shell echo "${ARCHFLAGS}" | grep -q -w i386 && echo yes)
 ifeq ($(ARCH_ppc),yes)
 ifeq ($(ARCH_x86),yes)
-MODLD=$(CC) -static -g -nostdlib -arch ppc -arch i386
-CFLAGS_ppc=${KINCLUDES} -I. -I.. -I${TOP_OBJDIR}/src/config $(DEFINES) $(KDEFS) $(KOPTS_ppc)
-CFLAGS_x86=${KINCLUDES} -I. -I.. -I${TOP_OBJDIR}/src/config $(DEFINES) $(KDEFS) $(KOPTS_x86)
+MODLD=$(CC) -static $(KOPTS_DBUG) -nostdlib -arch ppc -arch i386
+CFLAGS_ppc=${KINCLUDES} -I. -I.. -I${TOP_OBJDIR}/src/config $(DEFINES) $(KDEFS) $(KOPTS_ppc) $(KOPTS_DBUG)
+CFLAGS_x86=${KINCLUDES} -I. -I.. -I${TOP_OBJDIR}/src/config $(DEFINES) $(KDEFS) $(KOPTS_x86) $(KOPTS_DBUG)
 else
-MODLD=$(CC) -static -g -nostdlib -arch ppc
+MODLD=$(CC) -static $(KOPTS_DBUG) -nostdlib -arch ppc
 KOPTS=$(KOPTS_ppc)
 CFLAGS=${KINCLUDES} -I. -I.. -I${TOP_OBJDIR}/src/config $(DEFINES) $(KDEFS) $(KOPTS)
 endif
 else
 ifeq ($(ARCH_x86),yes)
-MODLD=$(CC) -static -g -nostdlib -arch i386
+MODLD=$(CC) -static $(KOPTS_DBUG) -nostdlib -arch i386
 KOPTS=$(KOPTS_x86)
 else
 _ARCH=$(shell arch)
-MODLD=$(CC) -static -g -nostdlib -arch $(_ARCH)
+MODLD=$(CC) -static $(KOPTS_DBUG) -nostdlib -arch $(_ARCH)
 KOPTS=$(KOPTS_$(shell echo $(_ARCH) | sed 's/i386/x86/'))
 endif
 CFLAGS=${KINCLUDES} -I. -I.. -I${TOP_OBJDIR}/src/config $(DEFINES) $(KDEFS) $(KOPTS)
@@ -141,6 +145,12 @@ dest_libafs: $(LIBAFSNONFS) ;
 
 ${LIBAFS}: $(AFSAOBJS) $(AFSNFSOBJS)
        $(MODLD) -r -o ${LIBAFS} ${AFSAOBJS} ${AFSNFSOBJS} -lcc_kext
+<ppc_darwin_90 x86_darwin_90>
+       dsymutil -o ${LIBAFS}.dSYM ${LIBAFS}
+<all>
 
 ${LIBAFSNONFS}:  $(AFSAOBJS) $(AFSNONFSOBJS)
        $(MODLD) -r -o ${LIBAFSNONFS} ${AFSAOBJS} ${AFSNONFSOBJS} -lcc_kext
+<ppc_darwin_90 x86_darwin_90>
+       dsymutil -o ${LIBAFSNONFS}.dSYM ${LIBAFSNONFS}
+<all>
index 53ef0782a0aa1789dcdb47460a5d4674a683ff92..f22a21e38f059ade185f444de71e320c5beb1fe3 100644 (file)
@@ -33,7 +33,7 @@ DEFINES= -DAFSDEBUG -DKERNEL -DAFS -DVICE -DNFS -DUFS -DINET -DQUOTA -DGETMOUNT
 KDEFS= -D_KERNEL -DSYSV -dn ${ARCH_DEFS}
 
 <sun4x_57 sun4x_58 sun4x_59 sun4x_510 sun4x_511>
-KDEFS_32 = 
+KDEFS_32 = -xarch=v8
 KDEFS_64 = -xarch=v9 
 
 <sunx86_57 sunx86_58 sunx86_59 sunx86_510 sunx86_511>
index 50e5e72d9fbbfce4c6530b5a17dbd2bf94b9e4bf..eb1be80c90a4cf54d2be5740c881e8bdce0f13a1 100644 (file)
        <key>CFBundlePackageType</key>
        <string>KEXT</string>
        <key>CFBundleShortVersionString</key>
-       <string>@VERSION@</string>
+       <string>@MACOS_VERSION@</string>
        <key>CFBundleSignature</key>
        <string>????</string>
        <key>CFBundleVersion</key>
-       <string>@VERSION@</string>
+       <string>@MACOS_VERSION@</string>
        <key>OSBundleLibraries</key>
        <dict>
                <key>com.apple.kernel.bsd</key>
index 50e5e72d9fbbfce4c6530b5a17dbd2bf94b9e4bf..eb1be80c90a4cf54d2be5740c881e8bdce0f13a1 100644 (file)
        <key>CFBundlePackageType</key>
        <string>KEXT</string>
        <key>CFBundleShortVersionString</key>
-       <string>@VERSION@</string>
+       <string>@MACOS_VERSION@</string>
        <key>CFBundleSignature</key>
        <string>????</string>
        <key>CFBundleVersion</key>
-       <string>@VERSION@</string>
+       <string>@MACOS_VERSION@</string>
        <key>OSBundleLibraries</key>
        <dict>
                <key>com.apple.kernel.bsd</key>
index 7e4f1bf1ac10152cb47934f68e2b9493c6e7f6d6..eafb9315895301d9006b563391af3f98ec4c3f9c 100644 (file)
        <key>CFBundlePackageType</key>
        <string>KEXT</string>
        <key>CFBundleShortVersionString</key>
-       <string>@VERSION@</string>
+       <string>@MACOS_VERSION@</string>
        <key>CFBundleSignature</key>
        <string>????</string>
        <key>CFBundleVersion</key>
-       <string>@VERSION@</string>
+       <string>@MACOS_VERSION@</string>
        <key>OSBundleLibraries</key>
        <dict>
                <key>com.apple.kernel.bsd</key>
index 98ab344210012f25435242eeefd267f8f7a9e0c4..46d02fdcb81c7556861f3de04b263ce96ff38639 100644 (file)
        <key>CFBundlePackageType</key>
        <string>KEXT</string>
        <key>CFBundleShortVersionString</key>
-       <string>@VERSION@</string>
+       <string>@MACOS_VERSION@</string>
        <key>CFBundleSignature</key>
        <string>????</string>
        <key>CFBundleVersion</key>
-       <string>@VERSION@</string>
+       <string>@MACOS_VERSION@</string>
        <key>OSBundleLibraries</key>
        <dict>
                <key>com.apple.kernel.bsd</key>
index f3443ebd206b6b4256130ec8e44427a4f9c06d4c..8fbe490610949327bb49d97549ef23a0dcc63e0e 100644 (file)
        <key>CFBundlePackageType</key>
        <string>KEXT</string>
        <key>CFBundleShortVersionString</key>
-       <string>1.4.4</string>
+       <string>@MACOS_VERSION@</string>
        <key>CFBundleSignature</key>
        <string>????</string>
        <key>CFBundleVersion</key>
-       <string>1.4.4</string>
+       <string>@MACOS_VERSION@</string>
        <key>OSBundleLibraries</key>
        <dict>
                <key>com.apple.kernel.bsd</key>
index 9431e62660d3be84f8e5953d185b8d2250367acc..a1385718c5249f02b9364ad30dc99c06403d9135 100644 (file)
        <key>CFBundlePackageType</key>
        <string>KEXT</string>
        <key>CFBundleShortVersionString</key>
-       <string>1.4.4</string>
+       <string>@MACOS_VERSION@</string>
        <key>CFBundleSignature</key>
        <string>????</string>
        <key>CFBundleVersion</key>
-       <string>1.4.4</string>
+       <string>@MACOS_VERSION@</string>
        <key>OSBundleLibraries</key>
        <dict>
                <key>com.apple.kpi.bsd</key>
index 9431e62660d3be84f8e5953d185b8d2250367acc..a1385718c5249f02b9364ad30dc99c06403d9135 100644 (file)
        <key>CFBundlePackageType</key>
        <string>KEXT</string>
        <key>CFBundleShortVersionString</key>
-       <string>1.4.4</string>
+       <string>@MACOS_VERSION@</string>
        <key>CFBundleSignature</key>
        <string>????</string>
        <key>CFBundleVersion</key>
-       <string>1.4.4</string>
+       <string>@MACOS_VERSION@</string>
        <key>OSBundleLibraries</key>
        <dict>
                <key>com.apple.kpi.bsd</key>
index 9431e62660d3be84f8e5953d185b8d2250367acc..a1385718c5249f02b9364ad30dc99c06403d9135 100644 (file)
        <key>CFBundlePackageType</key>
        <string>KEXT</string>
        <key>CFBundleShortVersionString</key>
-       <string>1.4.4</string>
+       <string>@MACOS_VERSION@</string>
        <key>CFBundleSignature</key>
        <string>????</string>
        <key>CFBundleVersion</key>
-       <string>1.4.4</string>
+       <string>@MACOS_VERSION@</string>
        <key>OSBundleLibraries</key>
        <dict>
                <key>com.apple.kpi.bsd</key>
index 9431e62660d3be84f8e5953d185b8d2250367acc..a1385718c5249f02b9364ad30dc99c06403d9135 100644 (file)
        <key>CFBundlePackageType</key>
        <string>KEXT</string>
        <key>CFBundleShortVersionString</key>
-       <string>1.4.4</string>
+       <string>@MACOS_VERSION@</string>
        <key>CFBundleSignature</key>
        <string>????</string>
        <key>CFBundleVersion</key>
-       <string>1.4.4</string>
+       <string>@MACOS_VERSION@</string>
        <key>OSBundleLibraries</key>
        <dict>
                <key>com.apple.kpi.bsd</key>
index ce046e17234b008f9935e05750c362f31fe031b0..dd10db1e327f637d251575ece4bc612b8c164c27 100755 (executable)
@@ -79,7 +79,7 @@ if (! -d $KDIR) {
 foreach (@objects) {
   die "No source known for $_\n" unless exists $deps{$_};
   if($deps{$_} =~ /\.s$/) {
-     ($src = $_) =~ s/\.o$/.s/;
+     ($src = $_) =~ s/\.o$/.S/;
   } else {
      ($src = $_) =~ s/\.o$/.c/;
   }
index 456c97ed8c43fad8b0ecbe6baf9ef8a095e9d9fd..6794cd48eb5001f6dcebe1a895a5de113877b5df 100644 (file)
@@ -63,7 +63,7 @@ EXPORTS
        pr_GetCPS                                       @62
        pr_Initialize                                   @63
        pr_GetHostCPS                                   @64
-       afs_krb_get_lrealm                              @65
+;      afs_krb_get_lrealm                              @65
        pr_NameToId                                     @66
        pr_IdToName                                     @67
        afs_gettimeofday                                @68
index 3cc4b540e8e19acd66ab90325aca829f2571264c..cd7556779bb92ec8bc45d74ad1d9e90fa8ce64cd 100644 (file)
@@ -68,8 +68,8 @@ EXPORTS
        xdrrx_create                            @72
        hton_syserr_conv                        @73
        rxkad_global_stats                      @74 DATA
-       com_err                                 @75
-       error_message                           @76
+       afs_com_err                                     @75
+       afs_error_message                               @76
        rx_socket                               @77 DATA
 ;      AssertionFailed                         @79
        afs_winsockInit                         @80
@@ -92,7 +92,7 @@ EXPORTS
        multi_Select                            @97
        multi_Init                              @98
        multi_Finalize_Ignore                   @99
-       add_to_error_table                      @100
+       afs_add_to_error_table                  @100
        xdr_afsUUID                             @101
        rx_GetSpecific                          @102
        rx_SetSpecific                          @103
index b0bfac6af7fc3caac0a6a2bffaf4992a790461b8..06f1af9f6ac93bc607a57eec51c66d5a6884e09c 100644 (file)
@@ -84,8 +84,8 @@ rxkad_global_stats_lock
 rxkad_stats_key
 _et_list
 et_list_mutex
-com_err
-error_message
+afs_com_err
+afs_error_message
 rx_socket
 des_pcbc_init
 rx_BusyError
index e51f685c3c6b624c72fe78c788d048e6e4293fec..f649caf6e3fb15f1fa7ba00323131e229d9d9f12 100644 (file)
@@ -8,7 +8,7 @@
 srcdir=@srcdir@
 include @TOP_OBJDIR@/src/config/Makefile.config
 
-PROGRAMS=      unlog tokens tokens.krb kseal
+PROGRAMS=      unlog tokens tokens.krb
 
 INCLS=${TOP_INCDIR}/afs/auth.h ${TOP_INCDIR}/rx/rx.h \
 ${TOP_INCDIR}/rx/xdr.h ${TOP_INCDIR}/des.h ${TOP_INCDIR}/rx/rxkad.h \
@@ -32,7 +32,7 @@ KLIBRARIES=${TOP_LIBDIR}/libauth.krb.a \
 #
 # Main targets
 #
-all: unlog tokens tokens.krb kseal
+all: unlog tokens tokens.krb
 
 #
 # Build targets
@@ -67,8 +67,7 @@ install: \
        ${DESTDIR}${bindir}/tokens \
        ${DESTDIR}${bindir}/tokens.krb \
        ${DESTDIR}${afssrvbindir}/tokens \
-       ${DESTDIR}${afssrvbindir}/tokens.krb \
-       ${DESTDIR}${sbindir}/kseal
+       ${DESTDIR}${afssrvbindir}/tokens.krb
 
 ${DEST}/bin/unlog: unlog
        ${INSTALL} $? $@
@@ -122,6 +121,5 @@ dest: \
        ${DEST}/bin/tokens \
        ${DEST}/bin/tokens.krb \
        ${DEST}/root.server/usr/afs/bin/tokens \
-       ${DEST}/root.server/usr/afs/bin/tokens.krb \
-       ${DEST}/etc/kseal
+       ${DEST}/root.server/usr/afs/bin/tokens.krb
 
index 7d9ff1a2b394a542e6b7be48062108468cf64b9a..11b8ee3f0469d7ba15291a0b00f0cc8e07e2052a 100644 (file)
@@ -17,7 +17,7 @@
 #include <afsconfig.h>
 #include <afs/param.h>
 
-RCSID("$Header: /cvs/openafs/src/lwp/lwp.c,v 1.27.2.7 2006/03/09 06:41:50 shadow Exp $");
+RCSID("$Header: /cvs/openafs/src/lwp/lwp.c,v 1.27.2.8 2007/06/06 17:23:24 shadow Exp $");
 
 #include <stdlib.h>
 #include <stdio.h>
@@ -33,6 +33,7 @@ RCSID("$Header: /cvs/openafs/src/lwp/lwp.c,v 1.27.2.7 2006/03/09 06:41:50 shadow
 #include <sys/pseg.h>
 #include <sys/core.h>
 #pragma alloca
+int setlim(int limcon, uchar_t hard, int limit);
 #endif
 #ifdef AFS_SGI64_ENV
 extern char *getenv();
index 6a195d477eb45495ec979677c7d46135dc337512..b05f19ca2dbe1e0c9924cdaba37e2db798225223 100644 (file)
@@ -13,7 +13,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/lwp/process.c,v 1.21.2.2 2006/03/31 05:53:01 shadow Exp $");
+    ("$Header: /cvs/openafs/src/lwp/process.c,v 1.21.2.4 2007/07/17 03:13:59 shadow Exp $");
 
 #include <stdio.h>
 #include <assert.h>
@@ -142,6 +142,35 @@ static char (*EP) ();
 static int rc;
 static jmp_buf_type *jmpBuffer;
 
+/** Starting with Glibc 2.4 pointers in jmp_buf are mangled (XOR) for "protection".
+  * On Sparc ucontext functions are not implemented.
+  */
+#define ptr_mangle(x) (x)
+#ifdef AFS_LINUX20_ENV
+
+#ifdef __GLIBC__
+#if (__GLIBC__ > 2) || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 3)
+
+#if defined(AFS_SPARC64_LINUX24_ENV) || defined(AFS_SPARC_LINUX24_ENV)
+/* technically we should use POINTER_GUARD 
+ * ( == offsetof (tcbhead_t, pointer_guard) )
+ * instead of 0x18
+ */
+#undef ptr_mangle
+static int ptr_mangle(int p)
+{   
+    register char *tls_ptr __asm__("%g7");
+    return p ^ *(int*)(tls_ptr + 0x18);
+}
+#else
+#error need ptr_mangle support or use UCONTEXT
+#endif
+
+#endif
+#endif
+#endif
+
+
 afs_int32
 savecontext(ep, savearea, sp)
      char (*ep) ();
@@ -155,7 +184,7 @@ savecontext(ep, savearea, sp)
 
     code = setjmp(savearea->setjmp_buffer);
     jmpBuffer = (jmp_buf_type *) savearea->setjmp_buffer;
-    savearea->topstack = (char *)jmpBuffer[LWP_SP];
+    savearea->topstack = (char *) ptr_mangle(jmpBuffer[LWP_SP]);
 
 #if    defined(DEBUG)
     {
@@ -178,9 +207,9 @@ savecontext(ep, savearea, sp)
            switch (rc) {
            case 0:
                jmpBuffer = (jmp_buf_type *) jmp_tmp;
-               jmpBuffer[LWP_SP] = (jmp_buf_type) sp;
+               jmpBuffer[LWP_SP] = ptr_mangle((jmp_buf_type) sp);
 #if defined(AFS_S390_LINUX20_ENV) || defined(AFS_SPARC_LINUX20_ENV) || (defined(AFS_SPARC64_LINUX20_ENV) && defined(AFS_32BIT_USR_ENV))
-               jmpBuffer[LWP_FP] = (jmp_buf_type) sp;
+               jmpBuffer[LWP_FP] = ptr_mangle((jmp_buf_type) sp);
 #endif
                longjmp(jmp_tmp, 1);
                break;
index 98629bd9c079491f18a7962e60a8cdd0bea11483..8662ea217750fb23c9f2387b1b94dc335f4a2dc5 100644 (file)
@@ -341,7 +341,7 @@ main(int argc, char **argv)
      */
     code = cmd_Dispatch(argc, argv);
     if (code) {
-       com_err(argv[0], code, "while dispatching command line");
+       afs_com_err(argv[0], code, "while dispatching command line");
        exit(-1);
     }
 
diff --git a/src/packaging/Debian/CellServDB b/src/packaging/Debian/CellServDB
deleted file mode 100644 (file)
index 2740b39..0000000
+++ /dev/null
@@ -1,559 +0,0 @@
->grand.central.org      #GCO Public CellServDB 15 Oct 2005
-18.7.14.88                      #grand-opening.mit.edu
-128.2.191.224                   #penn.central.org
-130.237.48.87                   #andrew.e.kth.se
->wu-wien.ac.at          #University of Economics, Vienna, Austria
-137.208.3.33                    #afsdb1.wu-wien.ac.at
-137.208.8.12                    #caesar.wu-wien.ac.at
-137.208.127.33                  #buddy.wu-wien.ac.at
->hephy.at               #hephy-vienna
-193.170.243.10                  #mowgli.oeaw.ac.at
-193.170.243.12                  #baloo.oeaw.ac.at
-193.170.243.14                  #akela.oeaw.ac.at
->itp.tugraz.at          #Institute for Theoretical Physics, TU Graz, Austria
-129.27.157.6                    #fubphsv2.tu-graz.ac.at
-129.27.161.7                    #faepsv01.tu-graz.ac.at
-129.27.161.15                   #faepsv02.tu-graz.ac.at
->cern.ch                #European Laboratory for Particle Physics, Geneva
-137.138.128.148                 #afsdb1.cern.ch
-137.138.246.50                  #afsdb3.cern.ch
-137.138.246.51                  #afsdb2.cern.ch
->ams.cern.ch            #AMS Experiment
-137.138.206.77                  #pcamsf2.cern.ch
-137.138.206.123                 #pcamsf4.cern.ch
->epfl.ch                #Swiss Federal Institute of Technology at Lausanne
-128.178.2.6                     #kd1.epfl.ch
-128.178.2.7                     #kd2.epfl.ch
-128.178.2.8                     #kd3.epfl.ch
->ethz.ch                #Swiss Federal Inst. of Tech. - Zurich, Switzerland
-129.132.97.19                   #amalthea.ethz.ch
-129.132.97.27                   #nethzafs-001.ethz.ch
-129.132.115.3                   #himalia.ethz.ch
-129.132.115.37                  #nethzafs-005.ethz.ch
-129.132.115.38                  #nethzafs-006.ethz.ch
->psi.ch                 #Paul Scherrer Institut - Villigen, Switzerland
-129.129.190.140                 #afs00.psi.ch
-129.129.190.141                 #afs01.psi.ch
-129.129.190.142                 #afs02.psi.ch
->extundo.com            #Simon Josefsson's cell
-195.42.214.241                  #slipsten.extundo.com
->mekinok.com            #Mekinok, Inc.
-4.36.43.98                      #loggerhead.mekinok.com
->membrain.com           #membrain.com
-66.93.118.125                   #stormy
-130.85.24.11                    #weasel
-130.85.24.13                    #straykitten
->midnightlinux.com      #Midnight Linux, Pittsburgh PA
-208.10.142.82                   #outpost.midnightlinux.com
->setfilepointer.com     #SetFilePointer.com
-63.224.10.2                     #hamlet.SetFilePointer.com
-63.224.10.4                     #troilus.SetFilePointer.com
->sodre.cx               #Sodre.cx
-128.8.140.165                   #greed.sodre.cx
->desy.de                #Deutsches Elektronen-Synchrotron
-131.169.40.62                   #vayu.desy.de
-131.169.244.60                  #solar00.desy.de
->gppc.de                #GPP Chemnitz mbH
-213.187.92.33                   #gpp1.gppc.de
-213.187.92.34                   #paulchen.gppc.de
-213.187.92.35                   #lotus.gppc.de
->ifh.de                 #DESY Zeuthen
-141.34.22.10                    #romulus.ifh.de
-141.34.22.11                    #remus.ifh.de
-141.34.22.29                    #hekate.ifh.de
->lrz-muenchen.de        #Leibniz Computing Centre, Germany
-129.187.10.36                   #afs1.lrz-muenchen.de
-129.187.10.56                   #afs3.lrz-muenchen.de
-129.187.10.57                   #afs2.lrz-muenchen.de
->ipp-garching.mpg.de    #Institut fuer Plasmaphysik
-130.183.9.5                     #afs-db1.rzg.mpg.de
-130.183.100.10                  #afs-db2.aug.ipp-garching.mpg.de
-130.183.100.23                  #afs-db3.aug.ipp-garching.mpg.de
->mpe.mpg.de             #MPE cell
-130.183.130.7                   #irafs1.mpe-garching.mpg.de
-130.183.134.20                  #irafs2.mpe-garching.mpg.de
->i1.informatik.rwth-aachen.de #Informatik I, RWTH Aachen
-137.226.244.79                  #remus.informatik.rwth-aachen.de
->tu-bs.de               #Technical University of Braunschweig, Germany
-134.169.1.1                     #rzafs1.rz.tu-bs.de
-134.169.1.5                     #rzafs2.rz.tu-bs.de
-134.169.1.6                     #rzafs3.rz.tu-bs.de
->tu-chemnitz.de         #Technische Universitaet Chemnitz, Germany
-134.109.2.1                     #zuse.hrz.tu-chemnitz.de
-134.109.2.15                    #phoenix.hrz.tu-chemnitz.de
-134.109.200.7                   #aetius.hrz.tu-chemnitz.de
->e18.ph.tum.de          #Experimental Physics, TU Munich, Germany
-129.187.154.223                 #hamlet.e18.physik.tu-muenchen.de
->uni-bonn.de            #University of Bonn, Computing Center
-131.220.14.198                  #work15-eth.rhrz.uni-bonn.de
-131.220.14.205                  #node05.rhrz.uni-bonn.de
-131.220.15.197                  #afs-db1.rhrz.uni-bonn.de
->atlass01.physik.uni-bonn.de #Bonn ATLAS
-131.220.165.43                  #atlass01.physik.uni-bonn.de
->uni-freiburg.de        #Albert-Ludwigs-Universitat Freiburg
-132.230.6.235                   #sv6.ruf.uni-freiburg.de
-132.230.6.236                   #sv7.ruf.uni-freiburg.de
-132.230.6.237                   #sv8.ruf.uni-freiburg.de
->physik.uni-freiburg.de #institute of physics, university Freiburg, Germany
-132.230.77.16                   #hepafs.physik.uni-freiburg.de
->urz.uni-heidelberg.de  #Uni Heidelberg (Rechenzentrum)
-129.206.119.10                  #afsdb.urz.uni-heidelberg.de
-129.206.119.16                  #afsdb1.urz.uni-heidelberg.de
-129.206.119.17                  #afsdb2.urz.uni-heidelberg.de
->uni-hohenheim.de       #University of Hohenheim
-144.41.2.2                      #rs13.serv.uni-hohenheim.de
-144.41.2.3                      #rs14.serv.uni-hohenheim.de
-144.41.2.4                      #rs15.serv.uni-hohenheim.de
->rz.uni-jena.de         #Rechenzentrum University of Jena, Germany
-141.35.2.160                    #lc00.rz.uni-jena.de
-141.35.7.9                      #fsuj01.rz.uni-jena.de
-141.35.7.10                     #zaphod.rz.uni-jena
->meteo.uni-koeln.de     #Univ. of Cologne - Inst. for Geophysics & Meteorology
-134.95.144.22                   #afs1.meteo.uni-koeln.de
-134.95.144.24                   #afs2.meteo.uni-koeln.de
->rrz.uni-koeln.de       #University of Cologne - Reg Comp Center
-134.95.19.3                     #afsdb1.rrz.uni-koeln.de
-134.95.19.30                    #fileserv3.rrz.uni-koeln.de
-134.95.67.97                    #afs.thp.uni-koeln.de
-134.95.140.190                  #rzkbserv.rrz.uni-koeln.de
->physik.uni-mainz.de    #institute of physics, university Mainz, Germany
-134.93.130.93                   #hardy.physik.uni-mainz.de
->uni-mannheim.de        #Uni Mannheim (Rechenzentrum)
-134.155.97.204                  #afsdb1.uni-mannheim.de
-134.155.97.205                  #afsdb2.uni-mannheim.de
-134.155.97.206                  #afsdb3.uni-mannheim.de
->uni-paderborn.de       #University of Paderborn, Germany
-131.234.137.10                  #afsdb1.uni-paderborn.de
-131.234.137.11                  #afsdb2.uni-paderborn.de
-131.234.137.12                  #afsdb3.uni-paderborn.de
->physik.uni-wuppertal.de #Physics department of Bergische Universität Wuppertal
-132.195.104.3                   #afs1.physik.uni-wuppertal.de
-132.195.104.230                 #afs2.physik.uni-wuppertal.de
->s-et.aau.dk            #Aalborg Univ., The Student Society, Denmark
-130.225.196.22                  #afs.s-et.aau.dk
->ies.auc.dk             #Aalborg Univ., Inst. of Electronic Systems, Denmark
-130.225.51.73                   #afsdb1.kom.auc.dk
-130.225.51.74                   #afsdb2.kom.auc.dk
-130.225.51.85                   #afsdb3.kom.auc.dk
->asu.edu                #Arizona State University
-129.219.10.69                   #authen2.asu.edu
-129.219.10.70                   #authen1.asu.edu
-129.219.10.72                   #authen3.asu.edu
-129.219.100.16                  #authen4.asu.edu
->hep.caltech.edu        #CalTech High Energy Physics
-131.215.126.150                 #afs.hep.caltech.edu
->clarkson.edu           #Clarkson University, Potsdam, New York USA
-128.153.1.111                   #arthur.clarkson.edu
-128.153.9.111                   #lancelot.clarkson.edu
-128.153.17.111                  #uther.clarkson.edu
->andrew.cmu.edu         #Carnegie Mellon University - Computing Services Cell
-128.2.10.2                      #vice2.fs.andrew.cmu.edu
-128.2.10.7                      #vice7.fs.andrew.cmu.edu
-128.2.10.11                     #vice11.fs.andrew.cmu.edu
-128.2.10.28                     #vice28.fs.andrew.cmu.edu
-128.2.32.44                     #new-vice12.fs.andrew.cmu.edu
->club.cc.cmu.edu        #Carnegie Mellon University Computer Club
-128.237.157.11                  #sodium.club.cc.cmu.edu
-128.237.157.13                  #potassium.club.cc.cmu.edu
->chem.cmu.edu           #Carnegie Mellon University - Chemistry Dept.
-128.2.40.134                    #afs.chem.cmu.edu
-128.2.40.140                    #afs2.chem.cmu.edu
->cs.cmu.edu             #Carnegie Mellon University - School of Comp. Sci.
-128.2.194.178                   #cherry.srv.cs.cmu.edu
-128.2.194.179                   #pumpkin.srv.cs.cmu.edu
-128.2.194.180                   #strawberry.srv.cs.cmu.edu
->ece.cmu.edu            #Carnegie Mellon University - Elec. Comp. Eng. Dept.
-128.2.129.7                     #porok.ece.cmu.edu
-128.2.129.8                     #vicio.ece.cmu.edu
-128.2.129.9                     #e-xing.ece.cmu.edu
->scotch.ece.cmu.edu     #CMU ECE CALCM research group
-128.2.134.82                    #lagavulin.ece.cmu.edu
->qatar.cmu.edu          #Carnegie Mellon University - Qatar Campus Cell
-204.194.25.7                    #afs1.qatar.cmu.edu
-204.194.25.8                    #afs2.qatar.cmu.edu
->sbp.ri.cmu.edu         #Carnegie Mellon University - Sensor Based Planning Lab
-128.2.56.129                    #nihao.sbp.ri.cmu.edu
-128.2.56.136                    #youtheman.sbp.ri.cmu.edu
->msc.cornell.edu        #Cornell University Materials Science Center
-128.84.231.242                  #miranda.ccmr.cornell.edu
-128.84.241.35                   #co.ccmr.cornell.edu
-128.84.249.78                   #dax.ccmr.cornell.edu
->dbic.dartmouth.edu     #Dartmouth Brain Imaging Center
-129.170.30.143                  #dbicafs1.dartmouth.edu
-129.170.30.144                  #dbicafs2.dartmouth.edu
-129.170.30.145                  #dbicafs3.dartmouth.edu
->northstar.dartmouth.edu #Dartmouth College Research Computing
-129.170.16.22                   #halley.dartmouth.edu
-129.170.16.42                   #oort.dartmouth.edu
-129.170.16.43                   #cygnusx1.dartmouth.edu
->eecs.harvard.edu       #Harvard - EECS
-140.247.60.61                   #zermelo.eecs.harvard.edu
-140.247.60.83                   #corfu.eecs.harvard.edu
->iastate.edu            #Iowa State University
-129.186.1.243                   #afsdb-1.iastate.edu
-129.186.6.243                   #afsdb-2.iastate.edu
-129.186.142.243                 #afsdb-3.iastate.edu
->athena.mit.edu         #MIT/Athena cell
-18.7.1.66                       #paris.mit.edu.
-18.7.1.74                       #chimera.mit.edu.
-18.158.0.37                     #prill.mit.edu.
->dev.mit.edu            #MIT/IS Development cell
-18.7.1.70                       #wham.mit.edu.
-18.7.15.89                      #rattle.mit.edu.
-18.7.15.93                      #hum.mit.edu.
->net.mit.edu            #MIT/Network Group cell
-18.7.7.73                       #gracie.mit.edu
-18.7.21.95                      #george.mit.edu
->sipb.mit.edu           #MIT/SIPB cell
-18.181.0.19                     #reynelda.mit.edu.
-18.181.0.22                     #rosebud.mit.edu.
-18.181.0.23                     #ronald-ann.mit.edu.
->soap.mit.edu           #MIT School Of Architecture & Planning
-18.89.1.204                     #crypt.mit.edu
-18.89.1.209                     #grotto.mit.edu
-18.89.2.156                     #ac.mit.edu
->msu.edu                #Michigan State University Main Cell
-35.9.7.10                       #afsdb0.cl.msu.edu
->nd.edu                 #University of Notre Dame
-129.74.223.17                   #john.helios.nd.edu
-129.74.223.33                   #lizardo.helios.nd.edu
-129.74.223.65                   #buckaroo.helios.nd.edu
->pitt.edu               #University of Pittsburgh
-136.142.8.15                    #afs09.srv.cis.pitt.edu
-136.142.8.20                    #afs10.srv.cis.pitt.edu
-136.142.8.21                    #afs11.srv.cis.pitt.edu
->cs.pitt.edu            #University of Pittsburgh - Computer Science
-130.49.220.11                   #afs01.cs.pitt.edu
-130.49.220.12                   #afs02.cs.pitt.edu
-130.49.220.13                   #afs03.cs.pitt.edu
->psc.edu                #PSC (Pittsburgh Supercomputing Center)
-128.182.59.182                  #shaggy.psc.edu
-128.182.66.184                  #velma.psc.edu
-128.182.66.185                  #daphne.psc.edu
->scoobydoo.psc.edu      #PSC Test Cell
-128.182.59.181                  #scooby.psc.edu
->cede.psu.edu           #Penn State - Center for Engr. Design & Entrepeneurship
-146.186.218.10                  #greenly.cede.psu.edu
-146.186.218.60                  #b50.cede.psu.edu
-146.186.218.246                 #stalin.cede.psu.edu
->rose-hulman.edu        #Rose-Hulman Institute of Technology
-137.112.7.11                    #afs1.rose-hulman.edu
-137.112.7.12                    #afs2.rose-hulman.edu
-137.112.7.13                    #afs3.rose-hulman.edu
->cs.rose-hulman.edu     #Rose-Hulman CS Department
-137.112.40.10                   #galaxy.cs.rose-hulman.edu
->rpi.edu                #Rensselaer Polytechnic Institute
-128.113.22.11                   #saul.server.rpi.edu
-128.113.22.12                   #joab.server.rpi.edu
-128.113.22.13                   #korah.server.rpi.edu
-128.113.22.14                   #achan.server.rpi.edu
->hep.sc.edu             #University of South Carolina, Dept. of Physics
-129.252.78.77                   #cpeven.physics.sc.edu
->cs.stanford.edu        #Stanford University Computer Science Department
-171.64.64.10                    #cs-afs-1.Stanford.EDU
-171.64.64.66                    #cs-afs-2.stanford.edu
-171.64.64.69                    #cs-afs-3.stanford.edu
->ir.stanford.edu        #Stanford University
-171.64.7.222                    #afsdb1.stanford.edu
-171.64.7.234                    #afsdb2.stanford.edu
-171.64.7.246                    #afsdb3.stanford.edu
->slac.stanford.edu      #Stanford Linear Accelerator Center
-134.79.18.25                    #afsdb1.slac.stanford.edu
-134.79.18.26                    #afsdb2.slac.stanford.edu
-134.79.18.27                    #afsdb3.slac.stanford.edu
->cats.ucsc.edu          #UC Santa Cruz, Comm. and Tech. Services, California U.S.A
-128.114.129.14                  #elan.ucsc.edu
-128.114.129.15                  #ichabod.ucsc.edu
-128.114.129.18                  #maneki.ucsc.edu
->acm.uiuc.edu           #ACM at the University of Illinois
-128.174.251.8                   #alnitak.acm.uiuc.edu
-128.174.251.9                   #alnilam.acm.uiuc.edu
-128.174.251.10                  #mintaka.acm.uiuc.edu
->ncsa.uiuc.edu          #University of Illinois
-141.142.3.5                     #congo.ncsa.uiuc.edu
-141.142.3.8                     #nile.ncsa.uiuc.edu
-141.142.3.9                     #kaskaskia.ncsa.uiuc.edu
->umbc.edu               #University of Maryland, Baltimore County
-130.85.24.23                    #db2.afs.umbc.edu
-130.85.24.87                    #db3.afs.umbc.edu
-130.85.24.101                   #db1.afs.umbc.edu
->glue.umd.edu           #University of Maryland - Project Glue
-128.8.70.11                     #olmec.umd.edu
-128.8.236.4                     #egypt.umd.edu
-128.8.236.230                   #babylon.umd.edu
->wam.umd.edu            #University of Maryland Network WAM Project
-128.8.70.9                      #csc-srv.wam.umd.edu
-128.8.236.5                     #avw-srv.wam.umd.edu
-128.8.236.231                   #ptx-srv.wam.umd.edu
->umich.edu              #University of Michigan - Campus
-141.211.1.32                    #fear.ifs.umich.edu
-141.211.1.33                    #surprise.ifs.umich.edu
-141.211.1.34                    #ruthless.ifs.umich.edu
->atlas.umich.edu        #ATLAS group cell in physics at University of Michigan
-141.211.43.102                  #linat02.grid.umich.edu
-141.211.43.106                  #linat06.grid.umich.edu
-141.211.43.109                  #atgrid.grid.umich.edu
->citi.umich.edu         #Center for Information Technology Integration
-141.211.133.5                   #babylon.citi.umich.edu
->lsa.umich.edu          #University of Michigan - College of LS&A
-141.211.211.53                  #gerow.lsa.umich.edu
-141.211.211.72                  #collines.lsa.umich.edu
-141.211.211.153                 #hodges.lsa.umich.edu
->umr.edu                #University of Missouri - Rolla
-131.151.1.59                    #afsdb1.umr.edu
-131.151.1.70                    #afsdb3.umr.edu
-131.151.1.146                   #afsdb2.umr.edu
->physics.unc.edu        #Univ. of NC at Chapel Hill, Dept. of Physics
-152.2.4.1                       #who.physics.unc.edu
-152.2.4.3                       #what.physics.unc.edu
-152.2.4.5                       #when.physics.unc.edu
->uncc.edu               #University of NC at Charlotte Mosaic AFS Cell
-152.15.10.70                    #as-sm1.uncc.edu
-152.15.13.7                     #as-sm2.uncc.edu
-152.15.30.27                    #fs-kenn3.uncc.edu
->eng.utah.edu           #University of Utah - Engineering
-155.99.222.9                    #lenny.eng.utah.edu
-155.99.222.10                   #carl.eng.utah.edu
->cs.uwm.edu             #University of Wisconsin--Milwaukee
-129.89.38.124                   #solomons.cs.uwm.edu
->cs.wisc.edu            #Univ. of Wisconsin-Madison, Computer Sciences Dept.
-128.105.132.14                  #timon.cs.wisc.edu
-128.105.132.15                  #pumbaa.cs.wisc.edu
-128.105.132.16                  #zazu.cs.wisc.edu
->engr.wisc.edu          #University of Wisconsin-Madison, College of Engineering
-144.92.13.14                    #larry.cae.wisc.edu
-144.92.13.15                    #curly.cae.wisc.edu
-144.92.13.16                    #moe.cae.wisc.edu
->hep.wisc.edu           #University of Wisconsin -- High Energy Physics
-128.104.28.219                  #anise.hep.wisc.edu
->physics.wisc.edu       #Univ. of Wisconsin-Madison, Physics Department
-128.104.160.13                  #kendra.physics.wisc.edu
-128.104.160.14                  #fray.physics.wisc.edu
-128.104.160.15                  #buffy.physics.wisc.edu
->ciemat.es              #Ciemat, Madrid, Spain
-130.206.11.42                   #afsdb1.ciemat.es
-130.206.11.217                  #afsdb2.ciemat.es
-130.206.11.247                  #afsdb3.ciemat.es
->ifca.unican.es         #Instituto de Fisica de Cantabria (IFCA), Santander, Spain
-193.144.209.20                  #gridwall.ifca.unican.es
->ific.uv.es             #Instituto de Fisica Corpuscular, Valencia, Spain
-147.156.163.11                  #alpha.ific.uv.es
->biocenter.helsinki.fi  #University of Helsinki, Institute of Biotechnology
-128.214.58.174                  #afsdb1.biocenter.helsinki.fi
-128.214.88.114                  #afsdb2.biocenter.helsinki.fi
->dapnia.saclay.cea.fr   #CEA DAPNIA
-132.166.32.7                    #dphrsg.saclay.cea.fr
-132.166.32.12                   #dphrsl.saclay.cea.fr
->in2p3.fr               #IN2P3 production cell
-134.158.232.11                  #ccafsdb1.in2p3.fr
-134.158.232.12                  #ccafsdb2.in2p3.fr
-134.158.232.13                  #ccafsdb3.in2p3.fr
->anl.gov                #Argonne National Laboratory
-146.137.96.33                   #arteus.ctd.anl.gov
-146.137.162.88                  #agamemnon.ctd.anl.gov
-146.137.194.80                  #antenor.ctd.anl.gov
->rhic.bnl.gov           #Relativistic Heavy Ion Collider
-130.199.6.51                    #rafs03.rcf.bnl.gov
-130.199.6.52                    #rafs02.rcf.bnl.gov
-130.199.6.69                    #rafs01.rcf.bnl.gov
->usatlas.bnl.gov        #US Atlas Tier 1 Facility at BNL
-130.199.48.32                   #aafs01.usatlas.bnl.gov
-130.199.48.33                   #aafs02.usatlas.bnl.gov
-130.199.48.34                   #aafs03.usatlas.bnl.gov
->fnal.gov               #Fermi National Acclerator Laboratory
-131.225.68.1                    #fsus01.fnal.gov
-131.225.68.4                    #fsus03.fnal.gov
-131.225.68.14                   #fsus04.fnal.gov
->ic-afs.arc.nasa.gov    #Code IC, Ames Research Center
-128.102.105.62                  #udanax.arc.nasa.gov
->jpl.nasa.gov           #Jet Propulsion Laboratory
-137.78.160.21                   #afsdb08.jpl.nasa.gov
-137.78.160.22                   #afsdb09.jpl.nasa.gov
-137.78.160.23                   #afsdb10.jpl.nasa.gov
->nersc.gov              #National Energy Research Supercomputer Center
-128.55.128.250                  #mars.nersc.gov
-128.55.128.252                  #alfred.nersc.gov
-128.55.128.254                  #lurch.nersc.gov
->bme.hu                 #Budapest University of Technology and Economics
-152.66.241.6                    #afs.iit.bme.hu
->kfki.hu                #Research Institute for Nuclear and Particle Physics - Budapest,H
-148.6.8.14                      #afs.kfki.hu
->caspur.it              #CASPUR Inter-University Computing Consortium, Rome
-193.204.5.45                    #pomodoro.caspur.it
-193.204.5.46                    #banana.caspur.it
-193.204.5.50                    #maslo.caspur.it
->enea.it                #ENEA New Tech. Energy & Environment Agency, Italy
-192.107.54.5                    #aixfs.frascati.enea.it
-192.107.54.11                   #rs2ced.frascati.enea.it
-192.107.54.12                   #43p.frascati.enea.it
-192.107.61.235                  #serverinfo02.bologna.enea.it
-192.107.71.6                    #glauco.casaccia.enea.it
-192.107.96.233                  #riscdb.trisaia.enea.it
->fusione.it             #Assoz. FUSIONE/Euratom, ENEA, Frascati-Italy
-192.107.90.2                    #fusafs1.frascati.enea.it
-192.107.90.3                    #fusafs2.frascati.enea.it
-192.107.90.4                    #fusafs3.frascati.enea.it
->icemb.it               #ICEMB, Universita' La Sapienza - Rome - Italy
-193.204.6.130                   #icembfs.caspur.it
->infn.it                #Istituto Nazionale di Fisica Nucleare (INFN), Italia
-131.154.1.7                     #afscnaf.infn.it
-141.108.26.75                   #afsrm1.roma1.infn.it
-192.84.134.75                   #afsna.na.infn.it
->ba.infn.it             #INFN, Sezione di Bari
-193.206.185.235                 #baafsserver.ba.infn.it
->kloe.infn.it           #INFN, KLOE experiment at Laboratori di Frascati
-192.135.25.111                  #kloeafs1.lnf.infn.it
-192.135.25.112                  #kloeafs2.lnf.infn.it
->le.infn.it             #INFN, Sezione di Lecce
-192.84.152.40                   #afs01.le.infn.it
-192.84.152.148                  #afs02.le.infn.it
->lnf.infn.it            #INFN, Laboratori Nazionali di Frascati
-193.206.84.121                  #afs1.lnf.infn.it
-193.206.84.122                  #afs2.lnf.infn.it
-193.206.84.123                  #afs3.lnf.infn.it
->lngs.infn.it           #INFN, Laboratori Nazionali di Gran Sasso
-192.84.135.21                   #rsgs05.lngs.infn.it
->pi.infn.it             #INFN, Sezione di Pisa
-131.114.134.26                  #unknownhost.pi.infn.it
-192.84.133.50                   #aix1.pi.infn.it
->psm.it                 #Progetto San Marco, Universita' di Roma-1
-151.100.1.65                    #atlante.psm.uniroma1.it
->tgrid.it               #CASPUR-CILEA-CINECA Grid Cell
-193.204.5.33                    #cccgrid.caspur.it
->ictp.trieste.it        #The Abdus Salam International Centre for Theoretical Physics (IC
-140.105.16.8                    #fs1.ictp.trieste.it
-140.105.16.9                    #fs2.ictp.trieste.it
->math.unifi.it          #math.unifi.it
-150.217.34.182                  #xeno.math.unifi.it
->ing.uniroma1.it        #Universita' La Sapienza, Fac. Ingeneria
-151.100.85.253                  #alfa.ing.uniroma1.it
->dia.uniroma3.it        #University Roma Tre - DIA
-193.204.161.79                  #plm.dia.uniroma3.it
-193.204.161.118                 #afs.dia.uniroma3.it
->vn.uniroma3.it         #University of Rome 3, Area Vasca Navale
-193.204.161.136                 #alfa.dia.uniroma3.it
-193.204.161.137                 #beta.dia.uniroma3.it
-193.204.161.138                 #gamma.dia.uniroma3.it
->italia                 #Italian public AFS cell
-193.204.5.9                     #afs.caspur.it
->cmf.nrl.navy.mil       #Naval Research Lab - CCS
-134.207.10.68                   #picard.cmf.nrl.navy.mil
-134.207.10.69                   #riker.cmf.nrl.navy.mil
-134.207.10.70                   #kirk.cmf.nrl.navy.mil
->lcp.nrl.navy.mil       #Naval Research Lab - Lab for Computational Physics
-132.250.114.2                   #afs1.lcp.nrl.navy.mil
-132.250.114.4                   #afs2.lcp.nrl.navy.mil
-132.250.114.6                   #afs3.lcp.nrl.navy.mil
->es.net                 #Energy Sciences Net
-198.128.3.21                    #fs1.es.net
-198.128.3.22                    #fs2.es.net
-198.128.3.23                    #fs3.es.net
->laroia.net             #Laroia Networks
-66.66.102.254                   #supercore.laroia.net
->sinenomine.net         #Sine Nomine Associates
-66.92.236.139                   #afs.sinenomine.net
->slackers.net           #The Slackers' Network
-63.201.48.27                    #alexandria.slackers.net
->tproa.net              #The People's Republic of Ames
-209.234.76.70                   #service-3.tproa.net
->nikhef.nl              #The Dutch National Institute for High Energy Physics
-192.16.185.26                   #afs1.nikhef.nl
-192.16.185.27                   #afs2.nikhef.nl
->1ts.org                #1TS.ORG, Cambridge, MA
-4.36.43.102                     #dol-guldur.1ts.org
-69.25.196.51                    #pancake.1ts.org
->bazquux.org            #Baz Quux Organization
-66.207.142.196                  #baxquux.org
->coed.org               #Adam Pennington's Cell
-66.93.61.184                    #vice1.coed.org
-128.237.157.35                  #vice3.coed.org
->dementia.org           #Dementia Unlimited
-128.2.12.45                     #alycia.dementia.org
-128.2.120.216                   #meredith.dementia.org
->hackish.org            #Hackish.org
-24.167.65.213                   #avatar.sys.hackish.org
-128.2.120.138                   #kurma.sys.hackish.org
->idahofuturetruck.org   #University of Idaho hybrid vehicle development
-12.18.238.210                   #dsle210.fsr.net
->nimlabs.org            #Nimlabs, Ink. Cell.
-18.238.1.103                    #olfin.nimlabs.org
-18.238.1.105                    #caerbanog.nimlabs.org
->nomh.org               #nomh.org
-204.29.154.12                   #iota.nomh.org
-204.29.154.32                   #adversity.xi.nomh.org
->oc7.org                #The OC7 Project
-128.2.122.140                   #knife.oc7.org
-207.22.77.170                   #spoon.oc7.org
->openafs.org            #OpenAFS Project
-18.7.14.88                      #grand-opening.mit.edu
-128.2.191.224                   #penn.central.org
-130.237.48.87                   #andrew.e.kth.se
->e.kth.se               #Royal Institute of Technology, Elektro
-130.237.32.145                  #sonen.e.kth.se
-130.237.48.7                    #anden.e.kth.se
-130.237.48.244                  #fadern.e.kth.se
->hallf.kth.se           #Royal Institute of Technology, HALLF
-130.237.24.141                  #rasmus13.hallf.kth.se
-130.237.24.152                  #rasmus3.hallf.kth.se
-130.237.24.177                  #rasmus29.hallf.kth.se
->isk.kth.se             #Royal Institute of Technology, ISK
-130.237.202.12                  #afsdb2.isk.kth.se
-130.237.206.13                  #afsdb1.isk.kth.se
-130.237.209.141                 #afsdb3.isk.kth.se
->it.kth.se              #Royal Institute of Technology, IT
-130.237.212.15                  #ptah.it.kth.se
-130.237.212.16                  #toth.it.kth.se
-130.237.215.7                   #isis.it.kth.se
->md.kth.se              #Royal Institute of Technology, MMK
-130.237.57.68                   #trinity.md.kth.se
-130.237.57.72                   #morpheus.md.kth.se
-130.237.67.230                  #neo.speech.kth.se
->mech.kth.se            #Royal Institute of Technology, MECH
-130.237.233.142                 #matterhorn.mech.kth.se
-130.237.233.143                 #castor.mech.kth.se
-130.237.233.144                 #pollux.mech.kth.se
->nada.kth.se            #Royal Institute of Technology, NADA
-130.237.222.20                  #kosmos.nada.kth.se
-130.237.223.12                  #sputnik.nada.kth.se
-130.237.224.78                  #mir.nada.kth.se
-130.237.227.23                  #gagarin.nada.kth.se
-130.237.228.28                  #laika.nada.kth.se
->pdc.kth.se             #Royal Institute of Technology, PDC
-130.237.232.29                  #crab.pdc.kth.se
-130.237.232.112                 #anna.pdc.kth.se
-130.237.232.114                 #hokkigai.pdc.kth.se
->stacken.kth.se         #Stacken Computer Club
-130.237.234.3                   #milko.stacken.kth.se
-130.237.234.43                  #hot.stacken.kth.se
-130.237.237.230                 #fishburger.stacken.kth.se
->syd.kth.se             #Royal Institute of Technology, KTH-Syd
-130.237.83.23                   #afs.haninge.kth.se
->physto.se              #Physics department Stockholm University
-130.237.205.36                  #sysafs1.physto.se
-130.237.205.72                  #sysafs2.physto.se
->sanchin.se             #Sanchin Consulting AB, Sweden
-192.195.148.10                  #sesan.sanchin.se
->su.se                  #Stockholm University
-130.237.162.81                  #afsdb1.su.se
-130.237.162.82                  #afsdb2.su.se
-130.237.162.230                 #afsdb3.su.se
->f9.ijs.si              #F9, Jozef Stefan Institue
-194.249.156.1                   #brenta.ijs.si
->p-ng.si                #Nova Gorica Polytechnic
-193.2.120.2                     #solkan.p-ng.si
->phy.bris.ac.uk         #Bristol University - phyics
-137.222.58.9                    #afs1.phy.bris.ac.uk
->hep.man.ac.uk          #Manchester HEP
-194.36.2.3                      #afs1.hep.man.ac.uk
-194.36.2.4                      #afs2.hep.man.ac.uk
-194.36.2.5                      #afs3.hep.man.ac.uk
->rl.ac.uk               #Rutherford Appleton Lab, England
-130.246.183.164                 #wallace.cc.rl.ac.uk
-openafs-fileserver: non-standard-dir-perm
-openafs-fileserver: non-standard-dir-perm
-openafs-fileserver: non-standard-dir-perm
-openafs-fileserver: non-standard-dir-perm
-openafs-fileserver: non-standard-dir-perm
-openafs-fileserver: non-standard-dir-perm
-openafs-fileserver: non-standard-dir-perm
-openafs-fileserver: non-standard-dir-perm
diff --git a/src/packaging/HP-UX/files/usr/vice/etc/CellServDB b/src/packaging/HP-UX/files/usr/vice/etc/CellServDB
deleted file mode 100644 (file)
index 818b379..0000000
+++ /dev/null
@@ -1,569 +0,0 @@
->grand.central.org      #GCO Public CellServDB 08 Oct 2006
-18.7.14.88                      #grand-opening.mit.edu
-128.2.191.224                   #penn.central.org
-130.237.48.87                   #andrew.e.kth.se
->wu-wien.ac.at          #University of Economics, Vienna, Austria
-137.208.3.33                    #goya.wu-wien.ac.at
-137.208.7.57                    #caravaggio.wu-wien.ac.at
-137.208.127.57                  #vermeer.wu-wien.ac.at
->hephy.at               #hephy-vienna
-193.170.243.10                  #mowgli.oeaw.ac.at
-193.170.243.12                  #baloo.oeaw.ac.at
-193.170.243.14                  #akela.oeaw.ac.at
->cgv.tugraz.at          #CGV cell
-129.27.224.133                  #phobos.cgv.tugraz.at
-129.27.224.134                  #deimos.cgv.tugraz.at
-129.27.224.210                  #trinculo.cgv.tugraz.at
->itp.tugraz.at          #Institute for Theoretical Physics, TU Graz, Austria
-129.27.157.6                    #fubphsv2.tu-graz.ac.at
-129.27.161.7                    #faepsv01.tu-graz.ac.at
-129.27.161.15                   #faepsv02.tu-graz.ac.at
->cern.ch                #European Laboratory for Particle Physics, Geneva
-137.138.128.148                 #afsdb1.cern.ch
-137.138.246.50                  #afsdb3.cern.ch
-137.138.246.51                  #afsdb2.cern.ch
->ams.cern.ch            #AMS Experiment
-137.138.206.77                  #pcamsf2.cern.ch
-137.138.206.123                 #pcamsf4.cern.ch
->epfl.ch                #Swiss Federal Institute of Technology at Lausanne
-128.178.109.111                 #kd1.epfl.ch
-128.178.109.112                 #kd2.epfl.ch
-128.178.109.113                 #kd3.epfl.ch
->ethz.ch                #Swiss Federal Inst. of Tech. - Zurich, Switzerland
-129.132.97.19                   #amalthea.ethz.ch
-129.132.97.27                   #nethzafs-001.ethz.ch
-129.132.115.3                   #himalia.ethz.ch
-129.132.115.37                  #nethzafs-005.ethz.ch
-129.132.115.38                  #nethzafs-006.ethz.ch
->psi.ch                 #Paul Scherrer Institut - Villigen, Switzerland
-129.129.190.140                 #afs00.psi.ch
-129.129.190.141                 #afs01.psi.ch
-129.129.190.142                 #afs02.psi.ch
->extundo.com            #Simon Josefsson's cell
-195.42.214.241                  #slipsten.extundo.com
->membrain.com           #membrain.com
-66.93.118.125                   #stormy
-130.85.24.11                    #weasel
-130.85.24.13                    #straykitten
->midnightlinux.com      #Midnight Linux, Pittsburgh PA
-208.10.142.82                   #outpost.midnightlinux.com
->setfilepointer.com     #SetFilePointer.com
-63.224.10.2                     #hamlet.SetFilePointer.com
-63.224.10.4                     #troilus.SetFilePointer.com
->sodre.cx               #Sodre.cx
-128.8.140.165                   #greed.sodre.cx
->desy.de                #Deutsches Elektronen-Synchrotron
-131.169.40.62                   #vayu.desy.de
-131.169.244.60                  #solar00.desy.de
->gppc.de                #GPP Chemnitz mbH
-213.187.92.33                   #gpp1.gppc.de
-213.187.92.34                   #paulchen.gppc.de
-213.187.92.35                   #lotus.gppc.de
->ifh.de                 #DESY Zeuthen
-141.34.22.10                    #romulus.ifh.de
-141.34.22.11                    #remus.ifh.de
-141.34.22.29                    #hekate.ifh.de
->lrz-muenchen.de        #Leibniz Computing Centre, Germany
-129.187.10.36                   #afs1.lrz-muenchen.de
-129.187.10.56                   #afs3.lrz-muenchen.de
-129.187.10.57                   #afs2.lrz-muenchen.de
->ipp-garching.mpg.de    #Institut fuer Plasmaphysik
-130.183.9.5                     #afs-db1.rzg.mpg.de
-130.183.100.10                  #afs-db2.aug.ipp-garching.mpg.de
-130.183.100.23                  #afs-db3.aug.ipp-garching.mpg.de
->mpe.mpg.de             #MPE cell
-130.183.130.7                   #irafs1.mpe-garching.mpg.de
-130.183.134.20                  #irafs2.mpe-garching.mpg.de
->i1.informatik.rwth-aachen.de #Informatik I, RWTH Aachen
-137.226.244.79                  #remus.informatik.rwth-aachen.de
->tu-bs.de               #Technical University of Braunschweig, Germany
-134.169.1.1                     #rzafs1.rz.tu-bs.de
-134.169.1.5                     #rzafs2.rz.tu-bs.de
-134.169.1.6                     #rzafs3.rz.tu-bs.de
->tu-chemnitz.de         #Technische Universitaet Chemnitz, Germany
-134.109.2.1                     #zuse.hrz.tu-chemnitz.de
-134.109.2.15                    #phoenix.hrz.tu-chemnitz.de
-134.109.200.7                   #aetius.hrz.tu-chemnitz.de
->e18.ph.tum.de          #Experimental Physics, TU Munich, Germany
-129.187.154.223                 #hamlet.e18.physik.tu-muenchen.de
->uni-bonn.de            #University of Bonn, Computing Center
-131.220.14.198                  #work15-eth.rhrz.uni-bonn.de
-131.220.14.205                  #node05.rhrz.uni-bonn.de
-131.220.15.197                  #afs-db1.rhrz.uni-bonn.de
->atlass01.physik.uni-bonn.de #Bonn ATLAS
-131.220.165.43                  #atlass01.physik.uni-bonn.de
->uni-freiburg.de        #Albert-Ludwigs-Universitat Freiburg
-132.230.6.235                   #sv6.ruf.uni-freiburg.de
-132.230.6.236                   #sv7.ruf.uni-freiburg.de
-132.230.6.237                   #sv8.ruf.uni-freiburg.de
->physik.uni-freiburg.de #institute of physics, university Freiburg, Germany
-132.230.77.16                   #hepafs.physik.uni-freiburg.de
->urz.uni-heidelberg.de  #Uni Heidelberg (Rechenzentrum)
-129.206.119.10                  #afsdb.urz.uni-heidelberg.de
-129.206.119.16                  #afsdb1.urz.uni-heidelberg.de
-129.206.119.17                  #afsdb2.urz.uni-heidelberg.de
->uni-hohenheim.de       #University of Hohenheim
-144.41.2.2                      #rs13.serv.uni-hohenheim.de
-144.41.2.3                      #rs14.serv.uni-hohenheim.de
-144.41.2.4                      #rs15.serv.uni-hohenheim.de
->rz.uni-jena.de         #Rechenzentrum University of Jena, Germany
-141.35.2.180                    #afs00.rz.uni-jena.de
-141.35.2.181                    #afs01.rz.uni-jena.de
-141.35.2.182                    #afs02.rz.uni-jena.de
->meteo.uni-koeln.de     #Univ. of Cologne - Inst. for Geophysics & Meteorology
-134.95.144.22                   #afs1.meteo.uni-koeln.de
-134.95.144.24                   #afs2.meteo.uni-koeln.de
->rrz.uni-koeln.de       #University of Cologne - Reg Comp Center
-134.95.19.3                     #afsdb1.rrz.uni-koeln.de
-134.95.19.10                    #lyra.rrz.uni-koeln.de
-134.95.67.97                    #afs.thp.uni-koeln.de
-134.95.141.243                  #agrippina.rrz.uni-koeln.de
->physik.uni-mainz.de    #institute of physics, university Mainz, Germany
-134.93.130.93                   #hardy.physik.uni-mainz.de
->uni-mannheim.de        #Uni Mannheim (Rechenzentrum)
-134.155.97.204                  #afsdb1.uni-mannheim.de
-134.155.97.205                  #afsdb2.uni-mannheim.de
-134.155.97.206                  #afsdb3.uni-mannheim.de
->uni-paderborn.de       #University of Paderborn, Germany
-131.234.137.10                  #afsdb1.uni-paderborn.de
-131.234.137.11                  #afsdb2.uni-paderborn.de
-131.234.137.12                  #afsdb3.uni-paderborn.de
->physik.uni-wuppertal.de #Physics department of Bergische Universität Wuppertal
-132.195.104.3                   #afs1.physik.uni-wuppertal.de
-132.195.104.230                 #afs2.physik.uni-wuppertal.de
->s-et.aau.dk            #Aalborg Univ., The Student Society, Denmark
-130.225.196.22                  #afs.s-et.aau.dk
->ies.auc.dk             #Aalborg Univ., Inst. of Electronic Systems, Denmark
-130.225.51.73                   #afsdb1.kom.auc.dk
-130.225.51.74                   #afsdb2.kom.auc.dk
-130.225.51.85                   #afsdb3.kom.auc.dk
->asu.edu                #Arizona State University
-129.219.10.69                   #authen2.asu.edu
-129.219.10.70                   #authen1.asu.edu
-129.219.10.72                   #authen3.asu.edu
-129.219.100.16                  #authen4.asu.edu
->hep.caltech.edu        #CalTech High Energy Physics
-131.215.126.150                 #afs.hep.caltech.edu
->clarkson.edu           #Clarkson University, Potsdam, New York USA
-128.153.1.111                   #arthur.clarkson.edu
-128.153.9.111                   #lancelot.clarkson.edu
-128.153.17.111                  #uther.clarkson.edu
->andrew.cmu.edu         #Carnegie Mellon University - Computing Services Cell
-128.2.10.2                      #vice2.fs.andrew.cmu.edu
-128.2.10.7                      #vice7.fs.andrew.cmu.edu
-128.2.10.11                     #vice11.fs.andrew.cmu.edu
-128.2.10.28                     #vice28.fs.andrew.cmu.edu
-128.2.32.44                     #new-vice12.fs.andrew.cmu.edu
->club.cc.cmu.edu        #Carnegie Mellon University Computer Club
-128.237.157.11                  #sodium.club.cc.cmu.edu
-128.237.157.13                  #potassium.club.cc.cmu.edu
->chem.cmu.edu           #Carnegie Mellon University - Chemistry Dept.
-128.2.40.134                    #afs.chem.cmu.edu
-128.2.40.140                    #afs2.chem.cmu.edu
->cs.cmu.edu             #Carnegie Mellon University - School of Comp. Sci.
-128.2.194.178                   #cherry.srv.cs.cmu.edu
-128.2.194.179                   #pumpkin.srv.cs.cmu.edu
-128.2.194.180                   #strawberry.srv.cs.cmu.edu
->ece.cmu.edu            #Carnegie Mellon University - Elec. Comp. Eng. Dept.
-128.2.129.7                     #porok.ece.cmu.edu
-128.2.129.8                     #vicio.ece.cmu.edu
-128.2.129.9                     #e-xing.ece.cmu.edu
->scotch.ece.cmu.edu     #CMU ECE CALCM research group
-128.2.134.82                    #lagavulin.ece.cmu.edu
->qatar.cmu.edu          #Carnegie Mellon University - Qatar Campus Cell
-204.194.25.7                    #afs1.qatar.cmu.edu
-204.194.25.8                    #afs2.qatar.cmu.edu
->sbp.ri.cmu.edu         #Carnegie Mellon University - Sensor Based Planning Lab
-128.2.179.12                    #nihao.sbp.ri.cmu.edu
-128.2.179.113                   #youtheman.sbp.ri.cmu.edu
->msc.cornell.edu        #Cornell University Materials Science Center
-128.84.231.242                  #miranda.ccmr.cornell.edu
-128.84.241.35                   #co.ccmr.cornell.edu
-128.84.249.78                   #dax.ccmr.cornell.edu
->dbic.dartmouth.edu     #Dartmouth Brain Imaging Center
-129.170.30.143                  #dbicafs1.dartmouth.edu
-129.170.30.144                  #dbicafs2.dartmouth.edu
-129.170.30.145                  #dbicafs3.dartmouth.edu
->northstar.dartmouth.edu #Dartmouth College Research Computing
-129.170.16.22                   #halley.dartmouth.edu
-129.170.16.42                   #oort.dartmouth.edu
-129.170.16.43                   #cygnusx1.dartmouth.edu
->cs.fhm.edu             #Department Computer Science Munich University Of Applied Science
-129.187.208.2                   #srv1.informatik.fh-muenchen.de
->eecs.harvard.edu       #Harvard - EECS
-140.247.60.61                   #zermelo.eecs.harvard.edu
-140.247.60.83                   #corfu.eecs.harvard.edu
->iastate.edu            #Iowa State University
-129.186.1.243                   #afsdb-1.iastate.edu
-129.186.6.243                   #afsdb-2.iastate.edu
-129.186.142.243                 #afsdb-3.iastate.edu
->athena.mit.edu         #MIT/Athena cell
-18.7.1.66                       #paris.mit.edu.
-18.7.1.74                       #chimera.mit.edu.
-18.158.0.37                     #prill.mit.edu.
->dev.mit.edu            #MIT/IS Development cell
-18.7.1.70                       #wham.mit.edu.
-18.7.15.89                      #rattle.mit.edu.
-18.7.15.93                      #hum.mit.edu.
->net.mit.edu            #MIT/Network Group cell
-18.7.7.73                       #gracie.mit.edu
-18.7.21.95                      #george.mit.edu
->sipb.mit.edu           #MIT/SIPB cell
-18.181.0.19                     #reynelda.mit.edu.
-18.181.0.22                     #rosebud.mit.edu.
-18.181.0.23                     #ronald-ann.mit.edu.
->soap.mit.edu           #MIT School Of Architecture & Planning
-18.89.1.204                     #crypt.mit.edu
-18.89.1.209                     #grotto.mit.edu
-18.89.2.156                     #ac.mit.edu
->msu.edu                #Michigan State University Main Cell
-35.9.7.10                       #afsdb0.cl.msu.edu
->nd.edu                 #University of Notre Dame
-129.74.223.17                   #john.helios.nd.edu
-129.74.223.33                   #lizardo.helios.nd.edu
-129.74.223.65                   #buckaroo.helios.nd.edu
->pitt.edu               #University of Pittsburgh
-136.142.8.15                    #afs09.srv.cis.pitt.edu
-136.142.8.20                    #afs10.srv.cis.pitt.edu
-136.142.8.21                    #afs11.srv.cis.pitt.edu
->cs.pitt.edu            #University of Pittsburgh - Computer Science
-130.49.220.11                   #afs01.cs.pitt.edu
-130.49.220.12                   #afs02.cs.pitt.edu
-130.49.220.13                   #afs03.cs.pitt.edu
->psc.edu                #PSC (Pittsburgh Supercomputing Center)
-128.182.59.182                  #shaggy.psc.edu
-128.182.66.184                  #velma.psc.edu
-128.182.66.185                  #daphne.psc.edu
->scoobydoo.psc.edu      #PSC Test Cell
-128.182.59.181                  #scooby.psc.edu
->cede.psu.edu           #Penn State - Center for Engr. Design & Entrepeneurship
-146.186.218.10                  #greenly.cede.psu.edu
-146.186.218.60                  #b50.cede.psu.edu
-146.186.218.246                 #stalin.cede.psu.edu
->rose-hulman.edu        #Rose-Hulman Institute of Technology
-137.112.7.11                    #afs1.rose-hulman.edu
-137.112.7.12                    #afs2.rose-hulman.edu
-137.112.7.13                    #afs3.rose-hulman.edu
->cs.rose-hulman.edu     #Rose-Hulman CS Department
-137.112.40.10                   #galaxy.cs.rose-hulman.edu
->rpi.edu                #Rensselaer Polytechnic Institute
-128.113.22.11                   #saul.server.rpi.edu
-128.113.22.12                   #joab.server.rpi.edu
-128.113.22.13                   #korah.server.rpi.edu
-128.113.22.14                   #achan.server.rpi.edu
->hep.sc.edu             #University of South Carolina, Dept. of Physics
-129.252.78.77                   #cpeven.physics.sc.edu
->cs.stanford.edu        #Stanford University Computer Science Department
-171.64.64.10                    #cs-afs-1.Stanford.EDU
-171.64.64.66                    #cs-afs-2.stanford.edu
-171.64.64.69                    #cs-afs-3.stanford.edu
->ir.stanford.edu        #Stanford University
-171.64.7.222                    #afsdb1.stanford.edu
-171.64.7.234                    #afsdb2.stanford.edu
-171.64.7.246                    #afsdb3.stanford.edu
->slac.stanford.edu      #Stanford Linear Accelerator Center
-134.79.18.25                    #afsdb1.slac.stanford.edu
-134.79.18.26                    #afsdb2.slac.stanford.edu
-134.79.18.27                    #afsdb3.slac.stanford.edu
->ucdavis.edu            #University of California at Davis
-169.237.104.100                 #afs1.ucdavis.edu
-169.237.235.176                 #afs2.ucdavis.edu
-169.237.247.91                  #afs3.ucdavis.edu
->home.ucdavis.edu       #University of California at Davis home directories
-169.237.105.91                  #home1.ucdavis.edu
-169.237.105.92                  #home2.ucdavis.edu
-169.237.105.93                  #home3.ucdavis.edu
->physics.ucsb.edu       #UC Santa Barbara, Physics Dept
-128.111.18.161                  #ledzeppelin.physics.ucsb.edu
->cats.ucsc.edu          #UC Santa Cruz, Comm. and Tech. Services, California U.S.A
-128.114.129.14                  #elan.ucsc.edu
-128.114.129.15                  #ichabod.ucsc.edu
-128.114.129.18                  #maneki.ucsc.edu
->acm.uiuc.edu           #ACM at the University of Illinois
-128.174.251.8                   #alnitak.acm.uiuc.edu
-128.174.251.9                   #alnilam.acm.uiuc.edu
-128.174.251.10                  #mintaka.acm.uiuc.edu
->ncsa.uiuc.edu          #University of Illinois
-141.142.3.5                     #congo.ncsa.uiuc.edu
-141.142.3.8                     #nile.ncsa.uiuc.edu
-141.142.3.9                     #kaskaskia.ncsa.uiuc.edu
->umbc.edu               #University of Maryland, Baltimore County
-130.85.24.23                    #db2.afs.umbc.edu
-130.85.24.87                    #db3.afs.umbc.edu
-130.85.24.101                   #db1.afs.umbc.edu
->glue.umd.edu           #University of Maryland - Project Glue
-128.8.70.11                     #olmec.umd.edu
-128.8.236.4                     #egypt.umd.edu
-128.8.236.230                   #babylon.umd.edu
->wam.umd.edu            #University of Maryland Network WAM Project
-128.8.70.9                      #csc-srv.wam.umd.edu
-128.8.236.5                     #avw-srv.wam.umd.edu
-128.8.236.231                   #ptx-srv.wam.umd.edu
->umich.edu              #University of Michigan - Campus
-141.211.1.32                    #fear.ifs.umich.edu
-141.211.1.33                    #surprise.ifs.umich.edu
-141.211.1.34                    #ruthless.ifs.umich.edu
->atlas.umich.edu        #ATLAS group cell in physics at University of Michigan
-141.211.43.102                  #linat02.grid.umich.edu
-141.211.43.103                  #linat03.grid.umich.edu
-141.211.43.104                  #linat04.grid.umich.edu
->citi.umich.edu         #Center for Information Technology Integration
-141.211.133.5                   #babylon.citi.umich.edu
->lsa.umich.edu          #University of Michigan - College of LS&A
-141.211.211.53                  #gerow.lsa.umich.edu
-141.211.211.72                  #collines.lsa.umich.edu
-141.211.211.153                 #hodges.lsa.umich.edu
->sph.umich.edu          #University of Michigan -- School of Public Health
-141.211.50.41                   #afssph0.sph.umich.edu
->physics.unc.edu        #Univ. of NC at Chapel Hill, Dept. of Physics
-152.2.4.1                       #who.physics.unc.edu
-152.2.4.3                       #what.physics.unc.edu
-152.2.4.5                       #when.physics.unc.edu
->uncc.edu               #University of NC at Charlotte Mosaic AFS Cell
-152.15.10.70                    #as-sm1.uncc.edu
-152.15.93.186                   #as-ece1.uncc.edu
-152.15.181.175                  #as-me1.uncc.edu
->eng.utah.edu           #University of Utah - Engineering
-155.99.222.9                    #lenny.eng.utah.edu
-155.99.222.10                   #carl.eng.utah.edu
->cs.uwm.edu             #University of Wisconsin--Milwaukee
-129.89.38.124                   #solomons.cs.uwm.edu
->cs.wisc.edu            #Univ. of Wisconsin-Madison, Computer Sciences Dept.
-128.105.132.14                  #timon.cs.wisc.edu
-128.105.132.15                  #pumbaa.cs.wisc.edu
-128.105.132.16                  #zazu.cs.wisc.edu
->engr.wisc.edu          #University of Wisconsin-Madison, College of Engineering
-144.92.13.14                    #larry.cae.wisc.edu
-144.92.13.15                    #curly.cae.wisc.edu
-144.92.13.16                    #moe.cae.wisc.edu
->hep.wisc.edu           #University of Wisconsin -- High Energy Physics
-128.104.28.219                  #anise.hep.wisc.edu
->physics.wisc.edu       #Univ. of Wisconsin-Madison, Physics Department
-128.104.160.13                  #kendra.physics.wisc.edu
-128.104.160.14                  #fray.physics.wisc.edu
-128.104.160.15                  #buffy.physics.wisc.edu
->ciemat.es              #Ciemat, Madrid, Spain
-130.206.11.42                   #afsdb1.ciemat.es
-130.206.11.217                  #afsdb2.ciemat.es
-130.206.11.247                  #afsdb3.ciemat.es
->ifca.unican.es         #Instituto de Fisica de Cantabria (IFCA), Santander, Spain
-193.144.209.20                  #gridwall.ifca.unican.es
->ific.uv.es             #Instituto de Fisica Corpuscular, Valencia, Spain
-147.156.163.11                  #alpha.ific.uv.es
->biocenter.helsinki.fi  #University of Helsinki, Institute of Biotechnology
-128.214.58.174                  #afsdb1.biocenter.helsinki.fi
-128.214.88.114                  #afsdb2.biocenter.helsinki.fi
->dapnia.saclay.cea.fr   #CEA DAPNIA
-132.166.32.7                    #dphrsg.saclay.cea.fr
-132.166.32.12                   #dphrsl.saclay.cea.fr
->grif.fr                #GRIF cell
-192.54.208.18                   #node03.datagrid.cea.fr
->in2p3.fr               #IN2P3 production cell
-134.158.232.11                  #ccafsdb1.in2p3.fr
-134.158.232.12                  #ccafsdb2.in2p3.fr
-134.158.232.13                  #ccafsdb3.in2p3.fr
->anl.gov                #Argonne National Laboratory
-146.137.96.33                   #arteus.ctd.anl.gov
-146.137.162.88                  #agamemnon.ctd.anl.gov
-146.137.194.80                  #antenor.ctd.anl.gov
->rhic.bnl.gov           #Relativistic Heavy Ion Collider
-130.199.6.51                    #rafs03.rcf.bnl.gov
-130.199.6.52                    #rafs02.rcf.bnl.gov
-130.199.6.69                    #rafs01.rcf.bnl.gov
->usatlas.bnl.gov        #US Atlas Tier 1 Facility at BNL
-130.199.48.32                   #aafs01.usatlas.bnl.gov
-130.199.48.33                   #aafs02.usatlas.bnl.gov
-130.199.48.34                   #aafs03.usatlas.bnl.gov
->fnal.gov               #Fermi National Acclerator Laboratory
-131.225.68.1                    #fsus01.fnal.gov
-131.225.68.4                    #fsus03.fnal.gov
-131.225.68.14                   #fsus04.fnal.gov
->ic-afs.arc.nasa.gov    #Code IC, Ames Research Center
-128.102.105.62                  #udanax.arc.nasa.gov
->jpl.nasa.gov           #Jet Propulsion Laboratory
-137.78.160.21                   #afsdb08.jpl.nasa.gov
-137.78.160.22                   #afsdb09.jpl.nasa.gov
-137.78.160.23                   #afsdb10.jpl.nasa.gov
->nersc.gov              #National Energy Research Supercomputer Center
-128.55.128.250                  #mars.nersc.gov
-128.55.128.252                  #alfred.nersc.gov
-128.55.128.254                  #lurch.nersc.gov
->bme.hu                 #Budapest University of Technology and Economics
-152.66.241.6                    #afs.iit.bme.hu
->kfki.hu                #Research Institute for Nuclear and Particle Physics - Budapest,H
-148.6.8.14                      #afs.kfki.hu
->caspur.it              #CASPUR Inter-University Computing Consortium, Rome
-193.204.5.45                    #pomodoro.caspur.it
-193.204.5.46                    #banana.caspur.it
-193.204.5.50                    #maslo.caspur.it
->enea.it                #ENEA New Tech. Energy & Environment Agency, Italy
-192.107.54.5                    #aixfs.frascati.enea.it
-192.107.54.11                   #rs2ced.frascati.enea.it
-192.107.54.12                   #43p.frascati.enea.it
-192.107.61.235                  #serverinfo02.bologna.enea.it
-192.107.71.6                    #glauco.casaccia.enea.it
-192.107.96.233                  #riscdb.trisaia.enea.it
->fusione.it             #Assoz. FUSIONE/Euratom, ENEA, Frascati-Italy
-192.107.90.2                    #fusafs1.frascati.enea.it
-192.107.90.3                    #fusafs2.frascati.enea.it
-192.107.90.4                    #fusafs3.frascati.enea.it
->icemb.it               #ICEMB, Universita' La Sapienza - Rome - Italy
-193.204.6.130                   #icembfs.caspur.it
->infn.it                #Istituto Nazionale di Fisica Nucleare (INFN), Italia
-131.154.1.7                     #afscnaf.infn.it
-141.108.26.75                   #afsrm1.roma1.infn.it
-192.84.134.75                   #afsna.na.infn.it
->ba.infn.it             #INFN, Sezione di Bari
-193.206.185.235                 #baafsserver.ba.infn.it
-193.206.185.236                 #debsrv.ba.infn.it
->kloe.infn.it           #INFN, KLOE experiment at Laboratori di Frascati
-192.135.25.111                  #kloeafs1.lnf.infn.it
-192.135.25.112                  #kloeafs2.lnf.infn.it
->le.infn.it             #INFN, Sezione di Lecce
-192.84.152.40                   #afs01.le.infn.it
-192.84.152.148                  #afs02.le.infn.it
->lnf.infn.it            #INFN, Laboratori Nazionali di Frascati
-193.206.84.121                  #afs1.lnf.infn.it
-193.206.84.122                  #afs2.lnf.infn.it
-193.206.84.123                  #afs3.lnf.infn.it
->lngs.infn.it           #INFN, Laboratori Nazionali di Gran Sasso
-192.84.135.21                   #rsgs05.lngs.infn.it
->pi.infn.it             #INFN, Sezione di Pisa
-131.114.134.26                  #unknownhost.pi.infn.it
-192.84.133.50                   #aix1.pi.infn.it
->psm.it                 #Progetto San Marco, Universita' di Roma-1
-151.100.1.65                    #atlante.psm.uniroma1.it
->tgrid.it               #CASPUR-CILEA-CINECA Grid Cell
-193.204.5.33                    #cccgrid.caspur.it
->ictp.trieste.it        #The Abdus Salam International Centre for Theoretical Physics (IC
-140.105.16.8                    #fs1.ictp.trieste.it
-140.105.16.9                    #fs2.ictp.trieste.it
->math.unifi.it          #math.unifi.it
-150.217.34.182                  #xeno.math.unifi.it
->ing.uniroma1.it        #Universita' La Sapienza, Fac. Ingeneria
-151.100.85.253                  #alfa.ing.uniroma1.it
->dia.uniroma3.it        #University Roma Tre - DIA
-193.204.161.79                  #plm.dia.uniroma3.it
-193.204.161.118                 #afs.dia.uniroma3.it
->vn.uniroma3.it         #University of Rome 3, Area Vasca Navale
-193.204.161.136                 #alfa.dia.uniroma3.it
-193.204.161.137                 #beta.dia.uniroma3.it
-193.204.161.138                 #gamma.dia.uniroma3.it
->italia                 #Italian public AFS cell
-193.204.5.9                     #afs.caspur.it
->cmf.nrl.navy.mil       #Naval Research Lab - CCS
-134.207.10.68                   #picard.cmf.nrl.navy.mil
-134.207.10.69                   #riker.cmf.nrl.navy.mil
-134.207.10.70                   #kirk.cmf.nrl.navy.mil
->lcp.nrl.navy.mil       #Naval Research Lab - Lab for Computational Physics
-132.250.114.2                   #afs1.lcp.nrl.navy.mil
-132.250.114.4                   #afs2.lcp.nrl.navy.mil
-132.250.114.6                   #afs3.lcp.nrl.navy.mil
->es.net                 #Energy Sciences Net
-198.128.3.21                    #fs1.es.net
-198.128.3.22                    #fs2.es.net
-198.128.3.23                    #fs3.es.net
->laroia.net             #Laroia Networks
-66.66.102.254                   #supercore.laroia.net
->sinenomine.net         #Sine Nomine Associates
-192.204.203.218                 #va.sinenomine.net
->slackers.net           #The Slackers' Network
-63.201.48.27                    #alexandria.slackers.net
->tproa.net              #The People's Republic of Ames
-209.234.76.70                   #service-3.tproa.net
-209.234.76.75                   #service-4.tproa.net
-209.234.76.76                   #service-5.tproa.net
->nikhef.nl              #The Dutch National Institute for High Energy Physics
-192.16.185.26                   #afs1.nikhef.nl
-192.16.185.27                   #afs2.nikhef.nl
->1ts.org                #1TS.ORG, Cambridge, MA
-4.36.43.102                     #dol-guldur.1ts.org
-69.25.196.51                    #pancake.1ts.org
->bazquux.org            #Baz Quux Organization
-66.207.142.196                  #baxquux.org
->coed.org               #Adam Pennington's Cell
-66.93.61.184                    #vice1.coed.org
-128.237.157.35                  #vice3.coed.org
->dementia.org           #Dementia Unlimited
-128.2.12.45                     #alycia.dementia.org
-128.2.120.216                   #meredith.dementia.org
->hackish.org            #Hackish.org
-24.167.65.213                   #avatar.sys.hackish.org
-128.2.120.138                   #kurma.sys.hackish.org
->idahofuturetruck.org   #University of Idaho hybrid vehicle development
-12.18.238.210                   #dsle210.fsr.net
->nimlabs.org            #Nimlabs, Ink. Cell.
-18.238.1.103                    #olfin.nimlabs.org
-18.238.1.105                    #caerbanog.nimlabs.org
->nomh.org               #nomh.org
-204.29.154.12                   #iota.nomh.org
-204.29.154.32                   #adversity.xi.nomh.org
->oc7.org                #The OC7 Project
-128.2.122.140                   #knife.oc7.org
-207.22.77.170                   #spoon.oc7.org
->kth.se                 #Royal Institute of Technology, Stockholm, Sweden
-130.237.32.145                  #sonen.e.kth.se
-130.237.48.7                    #anden.e.kth.se
-130.237.48.244                  #fadern.e.kth.se
->hallf.kth.se           #Royal Institute of Technology, HALLF
-130.237.24.11                   #afs1.hallf.kth.se
-130.237.24.104                  #afs2.hallf.kth.se
->isk.kth.se             #Royal Institute of Technology, ISK
-130.237.202.3                   #afsdb1.isk.kth.se
-130.237.209.39                  #ezri.isk.kth.se
->it.kth.se              #Royal Institute of Technology, IT
-130.237.212.15                  #ptah.it.kth.se
-130.237.212.16                  #toth.it.kth.se
-130.237.215.7                   #isis.it.kth.se
->md.kth.se              #Royal Institute of Technology, MMK
-130.237.57.68                   #trinity.md.kth.se
-130.237.57.72                   #morpheus.md.kth.se
-130.237.67.230                  #neo.speech.kth.se
->mech.kth.se            #Royal Institute of Technology, MECH
-130.237.233.142                 #matterhorn.mech.kth.se
-130.237.233.143                 #castor.mech.kth.se
-130.237.233.144                 #pollux.mech.kth.se
->nada.kth.se            #Royal Institute of Technology, NADA
-130.237.222.20                  #kosmos.nada.kth.se
-130.237.223.12                  #sputnik.nada.kth.se
-130.237.224.78                  #mir.nada.kth.se
-130.237.227.23                  #gagarin.nada.kth.se
-130.237.228.28                  #laika.nada.kth.se
->pdc.kth.se             #Royal Institute of Technology, PDC
-130.237.232.29                  #crab.pdc.kth.se
-130.237.232.112                 #anna.pdc.kth.se
-130.237.232.114                 #hokkigai.pdc.kth.se
->stacken.kth.se         #Stacken Computer Club
-130.237.234.3                   #milko.stacken.kth.se
-130.237.234.43                  #hot.stacken.kth.se
-130.237.237.230                 #fishburger.stacken.kth.se
->syd.kth.se             #Royal Institute of Technology, KTH-Syd
-130.237.83.23                   #afs.haninge.kth.se
->physto.se              #Physics department Stockholm University
-130.237.205.36                  #sysafs1.physto.se
-130.237.205.72                  #sysafs2.physto.se
->sanchin.se             #Sanchin Consulting AB, Sweden
-192.195.148.10                  #sesan.sanchin.se
->su.se                  #Stockholm University
-130.237.162.81                  #afsdb1.su.se
-130.237.162.82                  #afsdb2.su.se
-130.237.162.230                 #afsdb3.su.se
->f9.ijs.si              #F9, Jozef Stefan Institue
-194.249.156.1                   #brenta.ijs.si
->p-ng.si                #Nova Gorica Polytechnic
-193.2.120.2                     #solkan.p-ng.si
->phy.bris.ac.uk         #Bristol University - phyics
-137.222.58.9                    #afs1.phy.bris.ac.uk
->inf.ed.ac.uk           #School of Informatics, University of Edinburgh
-129.215.64.16                   #afsdb0.inf.ed.ac.uk
-129.215.64.17                   #afsdb1.inf.ed.ac.uk
-129.215.64.18                   #afsdb2.inf.ed.ac.uk
->ic.ac.uk               #Imperial College London
-155.198.63.148                  #icafs2.cc.ic.ac.uk
-155.198.63.149                  #icafs1.cc.ic.ac.uk
->hep.man.ac.uk          #Manchester HEP
-194.36.2.3                      #afs1.hep.man.ac.uk
-194.36.2.4                      #afs2.hep.man.ac.uk
-194.36.2.5                      #afs3.hep.man.ac.uk
->rl.ac.uk               #Rutherford Appleton Lab, England
-130.246.183.164                 #wallace.cc.rl.ac.uk
diff --git a/src/packaging/RedHat/kmodtool b/src/packaging/RedHat/kmodtool
new file mode 100644 (file)
index 0000000..2afc4d9
--- /dev/null
@@ -0,0 +1,172 @@
+#!/bin/bash
+
+# kmodtool - Helper script for building kernel module RPMs
+# Copyright (c) 2003-2007 Ville Skyttä <ville.skytta@iki.fi>,
+#                         Thorsten Leemhuis <fedora@leemhuis.info>
+#
+# Permission is hereby granted, free of charge, to any person obtaining
+# a copy of this software and associated documentation files (the
+# "Software"), to deal in the Software without restriction, including
+# without limitation the rights to use, copy, modify, merge, publish,
+# distribute, sublicense, and/or sell copies of the Software, and to
+# permit persons to whom the Software is furnished to do so, subject to
+# the following conditions:
+#
+# The above copyright notice and this permission notice shall be
+# included in all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+shopt -s extglob
+
+myprog="kmodtool"
+myver="0.10.13"
+knownvariants=@(BOOT|PAE?(-debug)|@(big|huge)mem|debug|enterprise|kdump|?(large)smp?(-debug)|uml|xen?([0U])?(-PAE))
+kmod_name=
+kver=
+verrel=
+variant=
+
+get_verrel ()
+{
+  verrel=${1:-$(uname -r)}
+  verrel=${verrel%%$knownvariants}
+}
+
+print_verrel ()
+{
+  get_verrel $@
+  echo "${verrel}"
+}
+
+get_variant ()
+{
+  get_verrel $@
+  variant=${1:-$(uname -r)}
+  variant=${variant##$verrel}
+  variant=${variant:-'""'}
+}
+
+print_variant ()
+{
+  get_variant $@
+  echo "${variant}"
+}
+
+
+get_rpmtemplate ()
+{
+    local variant="${1}"
+    local dashvariant="${variant:+-${variant}}"
+    case "$verrel" in
+        *.EL*) kdep="kernel${dashvariant}-%{_target_cpu} = ${verrel}" ;;
+        *)     kdep="kernel-%{_target_cpu} = ${verrel}${variant}"     ;;
+    esac
+    cat <<EOF
+%package       -n kmod-${kmod_name}${dashvariant}
+Summary:          ${kmod_name} kernel module(s)
+Group:            System Environment/Kernel
+Provides:         kernel-modules = ${verrel}${variant}
+Provides:         ${kmod_name}-kmod = %{?epoch:%{epoch}:}%{version}-%{release}
+Requires:         ${kdep}
+Requires:         ${kmod_name}-kmod-common >= %{?epoch:%{epoch}:}%{version}
+Requires(post):   /sbin/depmod
+Requires(postun): /sbin/depmod
+BuildRequires:    kernel${dashvariant}-devel-%{_target_cpu} = ${verrel}
+%description   -n kmod-${kmod_name}${dashvariant}
+This package provides the ${kmod_name} kernel modules built for the Linux
+kernel ${verrel}${variant} for the %{_target_cpu} family of processors.
+%post          -n kmod-${kmod_name}${dashvariant}
+/sbin/depmod -aeF /boot/System.map-${verrel}${variant} ${verrel}${variant} > /dev/null || :
+%postun        -n kmod-${kmod_name}${dashvariant}
+/sbin/depmod -aF /boot/System.map-${verrel}${variant} ${verrel}${variant} &> /dev/null || :
+%files         -n kmod-${kmod_name}${dashvariant}
+%defattr(644,root,root,755)
+/lib/modules/${verrel}${variant}/extra/${kmod_name}/
+
+EOF
+}
+
+print_rpmtemplate ()
+{
+  kmod_name="${1}"
+  shift
+  kver="${1}"
+  get_verrel "${1}"
+  shift
+  if [ -z "${kmod_name}" ] ; then
+    echo "Please provide the kmodule-name as first parameter." >&2
+    exit 2
+  elif [ -z "${kver}" ] ; then
+    echo "Please provide the kver as second parameter." >&2
+    exit 2
+  elif [ -z "${verrel}" ] ; then
+    echo "Couldn't find out the verrel." >&2
+    exit 2
+  fi
+
+  for variant in "$@" ; do
+    get_rpmtemplate "${variant}"
+  done
+}
+
+usage ()
+{
+  cat <<EOF
+You called: ${invocation}
+
+Usage: ${myprog} <command> <option>+
+ Commands:
+  verrel <uname>                               
+    - Get "base" version-release.
+  variant <uname>                               
+    - Get variant from uname.
+  rpmtemplate <mainpgkname> <uname> <variants> 
+    - Return a template for
+  version  
+    - Output version number and exit.
+EOF
+}
+
+invocation="$(basename ${0}) $@"
+while [ "${1}" ] ; do
+  case "${1}" in
+    verrel)
+      shift
+      print_verrel $@
+      exit $?
+      ;;
+    variant)
+      shift
+      print_variant $@
+      exit $?
+      ;;
+    rpmtemplate)
+      shift
+      print_rpmtemplate "$@"
+      exit $?
+      ;;
+    version)
+      echo "${myprog} ${myver}"
+      exit 0
+      ;;
+    *)
+      echo "Error: Unknown option '${1}'." >&2
+      usage >&2
+      exit 2
+      ;;
+  esac
+done
+
+# Local variables:
+# mode: sh
+# sh-indentation: 2
+# indent-tabs-mode: nil
+# End:
+# ex: ts=2 sw=2 et
diff --git a/src/packaging/RedHat/openafs-1.4.0-kmodule26.patch b/src/packaging/RedHat/openafs-1.4.0-kmodule26.patch
new file mode 100644 (file)
index 0000000..6b92b8d
--- /dev/null
@@ -0,0 +1,17 @@
+--- openafs-1.4.0-rc4/src/libafs/MakefileProto.LINUX.in-orig   2005-07-25 14:32:15.000000000 -0400
++++ openafs-1.4.0-rc4/src/libafs/MakefileProto.LINUX.in        2005-09-23 16:45:44.000000000 -0400
+@@ -245,11 +245,11 @@
+       echo BM Build Complete
+ <linux26 linux_26 umlinux26>
+-${LIBAFS} ${LIBAFS_MP} ${LIBAFS_EP} ${LIBAFS_BM}: libafs.ko
+-      cp libafs.ko $@
++${LIBAFS} ${LIBAFS_MP} ${LIBAFS_EP} ${LIBAFS_BM}: openafs.ko
++      cp openafs.ko $@
+ .FORCE:
+-libafs.ko: .FORCE
++openafs.ko: .FORCE
+       env EXTRA_CFLAGS="${EXTRA_CFLAGS}" @TOP_SRCDIR@/libafs/make_kbuild_makefile.pl ${KDIR} $@ @TOP_OBJDIR@/src/config/Makefile.config Makefile.afs Makefile.common
+       env EXTRA_CFLAGS="${EXTRA_CFLAGS}" $(MAKE) -C ${LINUX_KERNEL_PATH} M=@TOP_OBJDIR@/src/libafs/${KDIR} modules
+         
index 5a2b6b1ce32fa7a64c42562ca2dab0309e416d41..f7c626315637fce38812cd9c96fa0b71e570357d 100644 (file)
@@ -1,7 +1,7 @@
-# Openafs Spec $Revision: 1.1.2.2 $
+# Openafs Spec $Revision: 1.1.2.4 $
 
-%define afsvers 1.4.2
-%define pkgvers 1.4.2
+%define afsvers 1.4.5pre1
+%define pkgvers 1.4.5pre1
 # for beta/rc releases make pkgrel 0.X.<tag>
 # for real releases make pkgrel 1 (or more for extra releases)
 #%define pkgrel 0.1.rc1
@@ -11,6 +11,8 @@
 %define osvers 1
 %endif
 
+%{!?fedorakmod: %define fedorakmod 0}
+
 # Determine presence of rpmbuild command line --define arguments used for
 # option specification
 %define kernvers_on_cmdline %{?kernvers:1}%{!?kernvers:0}
 %if !%{kernvers_on_cmdline}
 %define kernvers %(%{_sourcedir}/openafs-kernel-version.sh)
 %endif
+
+%if %{fedorakmod}
+%define kmodtool bash %{_sourcedir}/kmodtool
+
+%define kmod_name openafs
+%define kverrel %(%{kmodtool} verrel %{?kernvers} 2>/dev/null)
+
+%define upvar ""
+%ifarch i686
+%define paevar PAE
+%endif
+%ifarch ppc
+%define smpvar smp
+%endif
+%ifarch i686 x86_64
+%define xenvar xen
+%define kdumpvar kdump
+%endif
+%{!?kvariants: %define kvariants %{?upvar} %{?smpvar} %{?paevar} %{?xenvar} %{?kdumpvar}}
+
+%define ksrcdir %{_usrsrc}/kernels/%{kverrel}-%{_target_cpu}
+
+%else # Legacy kernel build stuff 
+
 %define kversis %{_sourcedir}/openafs-kvers-is.sh
 %define kvers %(%{kversis} parsev %{kernvers})
 %define kvers_is_24 %(%{kversis} %{kvers} "2.4")
@@ -51,6 +77,9 @@
 %endif
 %define kxmoddir %{kmoddir}/%{kernvers}
 
+# End legacy kernel build stuff
+%endif 
+
 # Set 'debugspec' to 1 if you want to debug the spec file.  This will
 # not remove the installed tree as part of the %clean operation
 %if %{?debugspec:0}%{!?debugspec:1}
 # Define the location of the PAM security module directory
 %define pamdir /%{_lib}/security
 
+%if !%{fedorakmod}
+
 # Define the set of kernel module variations to be built:
 # For 2.4 kernels we just build everything at once for a particular
 # kernel.   So we build up, smp, and bigmem all at once.
 %endif
 %endif
 
+# End of legacy kernel module build
+%endif 
+
 #######################################################################
 # You probably don't need to change anything beyond this line
 # NOTE: If you do, please email me!!!
@@ -206,37 +240,13 @@ Source0: http://www.openafs.org/dl/openafs/%{afsvers}/openafs-%{afsvers}-src.tar
 Source1: http://www.openafs.org/dl/openafs/%{afsvers}/openafs-%{afsvers}-doc.tar.bz2
 %define srcdir openafs-%{afsvers}
 
-Source2: openafs-ThisCell
-# http://grand.central.org/dl/cellservdb/CellServDB
-Source3: openafs-CellServDB
-Source4: openafs-SuidCells
-Source5: openafs-cacheinfo
-# Source6: openafs-afsmodname
-Source7: openafs-LICENSE.Sun
-Source8: openafs-README
 Source10: http://www.openafs.org/dl/openafs/%{afsvers}/RELNOTES-%{afsvers}
 Source11: http://www.openafs.org/dl/openafs/%{afsvers}/ChangeLog
 
-Source15: openafs.sysconfig
-Source16: openafs-client.init
-Source17: openafs-server.init
-
-#  from ftp://ftp.cmf.nrl.navy.mil/pub/kerberos5/afs-krb5-2.0.tar.gz
-Source20: openafs-krb5-2.0.tar.gz
-
 Source30: openafs-kernel-version.sh
-Source31: openafs-buildall.sh
-Source32: openafs-makesrc.sh
-Source33: openafs-kvers-is.sh
+Source999: kmodtool
 
 Patch0:  openafs-1.4.0-kmodule26.patch
-#Patch1:  openafs-1.4.1-moduleparam.patch
-
-Patch10: afs-krb5-2.0-krb524.patch
-Patch11: afs-krb5-2.0-libsocket.patch
-Patch12: afs-krb5-2.0-com_err.patch
-Patch13: afs-krb5-2.0-openafs1.3.patch
-Patch14: afs-krb5-2.0-res_search.patch
 
 %description
 The AFS distributed filesystem.  AFS is a distributed filesystem
@@ -280,6 +290,8 @@ what gets built:
                                   will be installed.  You probably don't
                                   need to change this ever.
 
+ --define "fedorakmod 1"         Build 'Fedora' style kernel modules
+
 To a kernel module for your running kernel, just run:
   rpmbuild --rebuild --target=`uname -m` openafs-%{pkgvers}-%{osvers}.%{pkgrel}.src.rpm
 
@@ -291,7 +303,15 @@ To a kernel module for your running kernel, just run:
 %if %{build_userspace}
 
 %package client
-Requires: binutils, openafs-kernel, openafs = %{PACKAGE_VERSION}
+Requires: binutils, openafs = %{PACKAGE_VERSION}
+
+%if %{fedorakmod}
+Requires: %{name}-kmod >= %{version}
+Provides: %{name}-kmod-common = %{version}
+%else
+Requires: openafs-kernel
+%endif
+
 Summary: OpenAFS Filesystem Client
 Group: Networking/Filesystem
 
@@ -385,6 +405,9 @@ administrators.
 Summary: OpenAFS Kernel Module source tree
 Group: Networking/Filesystems
 Provides: openafs-kernel = %{PACKAGE_VERSION}
+%if %{fedorakmod}
+Provides: %{name}-kmod = %{PACKAGE_VERSION}
+%endif
 
 %description kernel-source
 The AFS distributed filesystem.  AFS is a distributed filesystem
@@ -453,6 +476,12 @@ krb4 lookalike services.
 ##############################################################################
 %if %{build_modules}
 
+%if %{fedorakmod}
+%{expand:%(%{kmodtool} rpmtemplate %{kmod_name} %{kverrel} %{kvariants} 2>/dev/null)}
+
+%else
+
+# Legacy kernel compilation code here ...
 %define modkversion %(echo %{kernvers} | cut -d- -f1)
 %define modkrelease %(echo %{kernvers} | cut -d- -f2)
 %define modpkgrel %{modkversion}_%{modkrelease}_%{pkgrel}
@@ -562,6 +591,8 @@ administrative management.
 This package provides a precompiled AFS kernel module for %{kernvers}.
 %endif
 
+%endif
+# End legacy kernel compilation code ...
 %endif
 
 ##############################################################################
@@ -575,6 +606,9 @@ This package provides a precompiled AFS kernel module for %{kernvers}.
 : @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
 : @@@
 : @@@ kernel version:     %{kernvers}
+%if %{fedorakmod}
+: @@@ kernel variations:  %{kvariants}
+%else
 : @@@ base kernel version:%{kversion}
 : @@@ kernel modules dir: %{kxmoddir}
 : @@@ kernel source dir:  %{ksrcdir}
@@ -587,6 +621,7 @@ This package provides a precompiled AFS kernel module for %{kernvers}.
 : @@@ kernel type:        %{ktype}
 %endif
 %endif
+%endif
 : @@@ PAM modules dir:    %{pamdir}
 : @@@ build userspace:    %{build_userspace}
 : @@@ build modules:      %{build_modules}
@@ -602,14 +637,11 @@ This package provides a precompiled AFS kernel module for %{kernvers}.
 # Patch openafs to build a kernel module named "openafs" instead of "libafs"
 %patch0 -p1 -b .kmod26
 
-# Patch to work around the Linux 2.6.9 module_param function
-#%patch1 -p0 -b .modparam
-
 %if %{build_userspace}
 # Save some time -- install these if we're building userspace
 
 # Install the Krb5 Migration Kit
-%setup -q -T -D -a 20 -n %{srcdir}
+tar -xzf src/packaging/RedHat/openafs-krb5-2.0.tar.gz
 
 #
 # patch afs-krb5 migration kit to work with openafs-1.3 and krb5-1.3;
@@ -617,26 +649,25 @@ This package provides a precompiled AFS kernel module for %{kernvers}.
 #
 
 # krb524 is no longer in a separate library as of krb5-1.3; handle this
-%patch10 -p0 -b .krb524
+patch -p0 -b -z .krb524 < src/packaging/RedHat/afs-krb5-2.0-krb524.patch
 
 # make sure NETLIBS gets added to the proper programs (seems to be 
 # needed only for Solaris)
-%patch11 -p0 -b .libsocket
+patch -p0 -b -z .libsocket < src/packaging/RedHat/afs-krb5-2.0-libsocket.patch
 
 # find an existing libcom_err and use that
-%patch12 -p0 -b .com_err
+patch -p0 -b -z .com_err < src/packaging/RedHat/afs-krb5-2.0-com_err.patch
 
 # make afs-krb5 work with recent OpenAFS; includes and prototypes
-%patch13 -p0 -b .openafs13
+patch -p0 -b -z .openafs13 < src/packaging/RedHat/afs-krb5-2.0-openafs1.3.patch
 
 # nothing in afs-krb5 actually uses res_search
-%patch14 -p0 -b .res_search
+patch -p0 -b -z .res_search < src/packaging/RedHat/afs-krb5-2.0-res_search.patch
 
 (cd afs-krb5/src && autoreconf) || exit 1
 
 %endif
 
-
 ##############################################################################
 #
 # building
@@ -784,20 +815,43 @@ CFLAGS="$RPM_OPT_FLAGS"; export CFLAGS
        --libdir=%{_libdir} \
        --bindir=%{_bindir} \
        --sbindir=%{_sbindir} \
+%if %{build_modules}
        --with-linux-kernel-headers=%{ksrcdir} \
+%endif
 %if %{krb5support}
        --with-krb5-conf \
 %endif
        $config_opts \
        || exit 1
 
+# Build the libafs tree
+make only_libafs_tree || exit 1
+
+# Configure each of our kernel modules
+
+%if %{fedorakmod} && %{build_modules}
+for kvariant in %{kvariants} ; do
+  cp -R libafs_tree _kmod_build_${kvariant}
+  pushd _kmod_build_${kvariant}
+  ./configure --with-afs-sysname=${sysname} \
+       --prefix=%{_prefix} \
+       --libdir=%{_libdir} \
+       --bindir=%{_bindir} \
+       --sbindir=%{_sbindir} \
+       --with-linux-kernel-headers=%{_usrsrc}/kernels/%{kverrel}${kvariant:+-$kvariant}-%{_target_cpu} \
+%if %{krb5support}
+       --with-krb5-conf \
+%endif
+       $config_opts \
+       || exit 1
+  popd
+done
+%endif
+
 %if %{build_userspace}
 # Build the user-space AFS stuff
 make dest_nolibafs || exit 1
 
-# Build the libafs tree
-make only_libafs_tree || exit 1
-
 %if %{krb5support}
 # Now build ka-forwarder
 (cd afs-krb5/src &&
@@ -814,6 +868,17 @@ make only_libafs_tree || exit 1
 %endif
 
 %if %{build_modules}
+%if %{fedorakmod}
+for kvariant in %{kvariants}
+do
+  pushd _kmod_build_$kvariant;
+  make all MPS=SP
+  popd
+done
+
+%else
+# Begin legacy kernel module building code
+
 %if %{kvers_is_24}
 # Build all the kernel modules for linux 2.4.x
 for variation in %{kvariations}
@@ -842,6 +907,8 @@ rm -f src/config/redhat-fix.h
   # the MPS=SP just means that we don't add a '.mp' to the name.
   make dest_only_libafs MPS=SP
 
+%endif
+# End legacy kernel module building code
 %endif
 %endif
 
@@ -905,9 +972,9 @@ tar cf - -C ${sysname}/dest/root.client%{_prefix}/vice/etc afsd | tar xf - -C $R
 ln -f $RPM_BUILD_ROOT%{_bindir}/kpasswd $RPM_BUILD_ROOT%{_bindir}/kapasswd
 
 # Copy root.client config files
-install -m 755 %{SOURCE15} $RPM_BUILD_ROOT/etc/sysconfig/openafs
-install -m 755 %{SOURCE16} $RPM_BUILD_ROOT%{initdir}/openafs-client
-install -m 755 %{SOURCE17} $RPM_BUILD_ROOT%{initdir}/openafs-server
+install -m 755 src/packaging/RedHat/openafs.sysconfig $RPM_BUILD_ROOT/etc/sysconfig/openafs
+install -m 755 src/packaging/RedHat/openafs-client.init $RPM_BUILD_ROOT%{initdir}/openafs-client
+install -m 755 src/packaging/RedHat/openafs-server.init $RPM_BUILD_ROOT%{initdir}/openafs-server
 
 # Copy PAM modules
 install -m 755 ${sysname}/dest/lib/pam* $RPM_BUILD_ROOT%{pamdir}
@@ -918,10 +985,9 @@ ln -sf pam_afs.krb.so.1 $RPM_BUILD_ROOT%{pamdir}/pam_afs.krb.so
 
 # Populate /usr/vice/etc
 uve=$RPM_BUILD_ROOT%{_prefix}/vice/etc
-install -p -m 644 %{SOURCE2} $uve/ThisCell
-install -p -m 644 %{SOURCE3} $uve/CellServDB.dist
-install -p -m 644 %{SOURCE4} $uve/SuidCells.dist
-install -p -m 644 %{SOURCE5} $uve/cacheinfo
+install -p -m 644 src/packaging/RedHat/openafs-ThisCell $uve/ThisCell
+install -p -m 644 src/afsd/CellServDB $uve/CellServDB.dist
+install -p -m 644 src/packaging/RedHat/openafs-cacheinfo $uve/cacheinfo
 
 #
 # install kernel-source
@@ -934,8 +1000,8 @@ tar cf - -C libafs_tree . | \
 
 # Next, copy the LICENSE Files, README
 install -m 644 src/LICENSE $RPM_BUILD_ROOT%{_prefix}/src/openafs-kernel-%{afsvers}/LICENSE.IBM
-install -m 644 %{SOURCE7} $RPM_BUILD_ROOT%{_prefix}/src/openafs-kernel-%{afsvers}/LICENSE.Sun
-install -m 644 %{SOURCE8} $RPM_BUILD_ROOT%{_prefix}/src/openafs-kernel-%{afsvers}/README
+install -m 644 src/packaging/RedHat/openafs-LICENSE.Sun $RPM_BUILD_ROOT%{_prefix}/src/openafs-kernel-%{afsvers}/LICENSE.Sun
+install -m 644 src/packaging/RedHat/openafs-README $RPM_BUILD_ROOT%{_prefix}/src/openafs-kernel-%{afsvers}/README
 
 #
 # Install DOCUMENTATION
@@ -1013,7 +1079,6 @@ grep -v "^#" >openafs-file-list <<EOF-openafs-file-list
 %{_sbindir}/fms
 %{_sbindir}/fstrace
 %{_sbindir}/kas
-%{_sbindir}/kseal
 %{_sbindir}/read_tape
 %{_sbindir}/restorevol
 %{_sbindir}/rxdebug
@@ -1067,7 +1132,8 @@ done
 for f in kdb rmtsysd kpwvalid ; do
   rm -f $RPM_BUILD_ROOT%{_sbindir}/$f
 done
-rm -f $RPM_BUILD_ROOT%{_sbindir}/kdump*
+# sometimes install sucks and puts down a directory. kill it all.
+rm -rf $RPM_BUILD_ROOT%{_sbindir}/kdump*
 
 # remove man pages from programs deleted above
 for f in 1/dlog 1/dpass 1/livesys 1/xstat_cm_test 1/xstat_fs_test 8/kdb 8/kpwvalid 8/xfs_size_check 1/package_test 5/package 8/package ; do
@@ -1092,6 +1158,18 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libafsrpc.so
 %endif
 
 %if %{build_modules}
+%if %{fedorakmod}
+for kvariant in %{kvariants}
+do
+    pushd _kmod_build_$kvariant
+    srcdir=src/libafs/MODLOAD-%{kverrel}${kvariant}-SP
+    dstdir=$RPM_BUILD_ROOT/lib/modules/%{kverrel}${kvariant}/extra/openafs
+
+    mkdir -p ${dstdir}
+    install -m 744 ${srcdir}/libafs-%{kverrel}${kvariant}.ko $dstdir/openafs.ko
+    popd
+done
+%else
 # Install the kernel modules
 for variation in %{kvariations}
 do
@@ -1114,6 +1192,7 @@ do
     install -m 744 ${srcdir}/${modname} ${dstdir}/openafs${kmodend}
 done
 %endif
+%endif
 
 ##############################################################################
 ###
@@ -1146,15 +1225,12 @@ if [ ! -d /afs ]; then
        chmod 0755 /afs
 fi
 
-# Create the CellServDB and SuidCells
+# Create the CellServDB
 [ -f /usr/vice/etc/CellServDB.local ] || touch /usr/vice/etc/CellServDB.local
-[ -f /usr/vice/etc/SuidCells.local ] || touch /usr/vice/etc/SuidCells.local
 
 ( cd /usr/vice/etc ; \
   cat CellServDB.local CellServDB.dist > CellServDB ; \
-  chmod 644 CellServDB ; \
-  cat SuidCells.local SuidCells.dist > SuidCells ; \
-  chmod 644 SuidCells )
+  chmod 644 CellServDB )
 
 echo
 echo The AFS cache is configured for 100 MB. Edit the
@@ -1192,9 +1268,6 @@ fi
 if [ $1 = 0 ] ; then
         %{initdir}/openafs-client stop
         chkconfig --del openafs-client
-
-        rm -f /usr/vice/etc/CellServDB /usr/vice/etc/SuidCells
-        rm -f /usr/vice/etc/CellServDB.local /usr/vice/etc/SuidCells.local
 fi
 
 %preun server
@@ -1206,7 +1279,7 @@ fi
 %endif
 
 %if %{build_modules}
-
+%if !%{fedorakmod}
 %if %{up_package}
 %post kernel
 /sbin/depmod -ae %{kernvers}
@@ -1247,7 +1320,7 @@ fi
 %postun kernel-hugemem
 /sbin/depmod -ae %{kernvers}%{?hugemem_ext:%{hugemem_ext}}
 %endif
-
+%endif
 %endif
 
 
@@ -1273,7 +1346,6 @@ fi
 %dir %{_prefix}/vice/cache
 %dir %{_prefix}/vice/etc
 %{_prefix}/vice/etc/CellServDB.dist
-%{_prefix}/vice/etc/SuidCells.dist
 %config %{_prefix}/vice/etc/ThisCell
 %config %{_prefix}/vice/etc/cacheinfo
 %{_bindir}/cmdebug
@@ -1289,6 +1361,7 @@ fi
 %{_mandir}/man5/afs*
 %{_mandir}/man5/cacheinfo.*
 %{_mandir}/man8/afsd.*
+%{_mandir}/man5/CellAlias.*
 
 %files server
 %defattr(-,root,root)
@@ -1302,6 +1375,7 @@ fi
 %{_prefix}/afs/bin/fileserver
 # Should we support KAServer?
 %{_prefix}/afs/bin/kaserver
+%{_prefix}/afs/bin/ka-forwarder
 %{_prefix}/afs/bin/pt_util
 %{_prefix}/afs/bin/ptserver
 %{_prefix}/afs/bin/salvager
@@ -1343,8 +1417,10 @@ fi
 %{_mandir}/man8/buserver.*
 %{_mandir}/man8/fileserver.*
 %{_mandir}/man8/kadb_check.*
+%{_mandir}/man8/ka-forwarder.*
 %{_mandir}/man8/prdb_check.*
 %{_mandir}/man8/ptserver.*
+%{_mandir}/man8/pt_util.*
 %{_mandir}/man8/salvager.*
 %{_mandir}/man8/upclient.*
 %{_mandir}/man8/upserver.*
@@ -1427,6 +1503,7 @@ fi
 
 %if %{build_modules}
 
+%if !%{fedorakmod}
 %if %{up_package}
 %files kernel
 %defattr(-,root,root)
@@ -1456,6 +1533,7 @@ fi
 %defattr(-,root,root)
 %{kxmoddir}%{?hugemem_ext:%{hugemem_ext}}/kernel/fs/openafs/openafs.*
 %endif
+%endif
 
 %endif
 
@@ -1465,12 +1543,19 @@ fi
 ###
 ##############################################################################
 %changelog
+* Wed Oct 10 2007  Simon Wilkinson <simon@sxw.org.uk> 1.4.5pre1-1
+- Use Fedora style kmods, which allows us to install multiple kernel types
+
+* Thu Jun 07 2007  Simon Wilkinson <simon@sxw.org.uk> 1.4.4-3
+- Use distributed files, rather than those in packager's SOURCE directory
+- Remove SuidCells stuff, which was unused
+
 * Fri Dec 01 2006  Derrick Brashear <shadow@dementia.org> 1.4.2-2
 - integrate s390x changes
 - allow for building libafs*.a and not libafs*.so into packages, for platforms
   that won't build the .so files.
 
-* Sun Aug 20 2006  Derrick Brashear <shadow@dementia.org> 1.4.2-1
+* Wed Aug 23 2006  Derrick Brashear <shadow@dementia.org> 1.4.2-1
 - update to 1.4.2
 - use installed aklog manpage.
 - moduleparam patch obsoleted.
index 2df944427432455f125dd38eecd018c794e0afe3..d97f574ec5e3f192633202186c50108bbd875cfb 100644 (file)
@@ -10,7 +10,7 @@
 RELDIR=ptserver
 !INCLUDE ..\config\NTMakefile.$(SYS_NAME)
 !include ..\config\NTMakefile.version
-AFSDEV_AUXCDEFINES = -DAFS_USE_GETTIMEOFDAY
+AFSDEV_AUXCDEFINES = -DAFS_USE_GETTIMEOFDAY -DSUPERGROUPS
 
 ############################################################################
 # Definitions for installing header files
@@ -52,6 +52,7 @@ PTSERVER_EXEOBJS =\
        $(OUT)\ptutils.obj \
        $(OUT)\ptprocs.obj \
        $(OUT)\utils.obj \
+        $(OUT)\map.obj \
        $(OUT)\ptserver.res
 
 
index df6d7e924f9a9e0b49350d15a90a6464ccccf92b..941919f6120bcebd1612dcfe1ef6f47b299ce0a7 100644 (file)
@@ -12,7 +12,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/ptserver/db_verify.c,v 1.16 2004/06/23 14:27:41 shadow Exp $");
+    ("$Header: /cvs/openafs/src/ptserver/db_verify.c,v 1.16.2.3 2007/08/11 23:50:02 jaltman Exp $");
 
 /*
  *                      (3) Define a structure, idused, instead of an
@@ -57,6 +57,7 @@ RCSID
 #include <afs/afsutil.h>
 #include <ubik.h>
 #include <afs/cmd.h>
+#include <afs/com_err.h>
 
 #include "ptint.h"
 #include "pterror.h"
@@ -121,7 +122,7 @@ ReadHeader()
 
     code = pr_Read(0, (char *)&cheader, sizeof(cheader));
     if (code) {
-       com_err(whoami, code, "couldn't read header");
+       afs_com_err(whoami, code, "couldn't read header");
        return code;
     }
     /* Check and see if database exists and is approximately OK. */
@@ -129,7 +130,7 @@ ReadHeader()
        || ntohl(cheader.eofPtr) == 0) {
        if (code)
            return code;
-       com_err(whoami, PRDBBAD, "header is bad");
+       afs_com_err(whoami, PRDBBAD, "header is bad");
        return PRDBBAD;
     }
     return 0;
@@ -313,7 +314,7 @@ WalkHashTable(afs_int32 hashtable[],        /* hash table to walk */
 
            id = ntohl(e.id);
 
-           if (((ntohl(e.flags) & (PRGRP | PRINST)) == 0)
+           if (((e.flags & htonl((PRGRP | PRINST))) == 0)
                && (strchr(e.name, '@'))) {
                /* Foreign user */
                if (id > misc->maxForId)
@@ -468,8 +469,8 @@ WalkNextChain(char map[],           /* one byte per db entry */
                break;
        }
 #if defined(SUPERGROUPS)
-       sghead = g->nextsg;
-       if ((e->flags & PRGRP)) {
+       sghead = ntohl(g->nextsg);
+       if ((e->flags & htonl(PRGRP))) {
            for (i = 0; i < SGSIZE; ++i) {
                afs_int32 id = ntohl(g->supergroup[i]);
                if (id == PRBADID)
@@ -501,7 +502,7 @@ WalkNextChain(char map[],           /* one byte per db entry */
     for (na = sghead; na; na = ntohl(c.next)) {
        code = ConvertDiskAddress(na, &ni);
        if (code) {
-           fprintf(stderr, "Bad continuation ptr %d", na);
+           fprintf(stderr, "Bad SGcontinuation ptr %d", na);
            if (PrintEntryError(misc, ea, e, 2))
                return PRDBBAD;
            if (na != sghead) {
@@ -688,7 +689,7 @@ WalkNextChain(char map[],           /* one byte per db entry */
 #if defined(SUPERGROUPS)
        noErrors = 0;
     }
-    if (e && (e->flags & PRGRP) && (sgcount != ntohl(g->countsg))) {
+    if (e && (e->flags & htonl(PRGRP)) && (sgcount != ntohl(g->countsg))) {
        fprintf(stderr, "SGCount was %d should be %d\n", sgcount,
                ntohl(g->countsg));
        if (PrintEntryError(misc, ea, e, 2))
@@ -890,7 +891,7 @@ WalkChains(char map[],              /* one byte per db entry */
            case PRFOREIGN:
                fprintf(stderr,
                        "ENTRY IS unexpected type [PRFOREIGN] (flags=0x%x)\n",
-                       e.flags);
+                       ntohl(e.flags));
                break;
            case PRINST:
                misc->ninsts++;
@@ -1225,7 +1226,7 @@ DumpRecreate(char map[], struct misc_data *misc)
                    if (code)
                        return code;
 
-                   if ((id == ntohl(c.id)) && (ntohl(c.flags) & PRCONT)) {
+                   if ((id == ntohl(c.id)) && (c.flags & htonl(PRCONT))) {
                        for (i = 0; i < COSIZE; i++) {
                            afs_int32 uid = ntohl(c.entries[i]);
                            if (uid == 0)
@@ -1251,7 +1252,7 @@ DumpRecreate(char map[], struct misc_data *misc)
                    if (code)
                        return code;
 
-                   if ((id == ntohl(c.id)) && (ntohl(c.flags) & PRCONT)) {
+                   if ((id == ntohl(c.id)) && (c.flags & htonl(PRCONT))) {
                        for (i = 0; i < COSIZE; i++) {
                            afs_int32 uid = ntohl(c.entries[i]);
                            if (uid == 0)
@@ -1301,7 +1302,7 @@ CheckPrDatabase(struct misc_data *misc)   /* info & statistics */
     n = eof / sizeof(struct prentry);
     if ((eof < 0) || (n * sizeof(struct prentry) != eof)) {
        code = PRDBBAD;
-       com_err(whoami, code, "eof ptr no good: eof=%d, sizeof(prentry)=%d",
+       afs_com_err(whoami, code, "eof ptr no good: eof=%d, sizeof(prentry)=%d",
                eof, sizeof(struct prentry));
       abort:
        return code;
@@ -1318,7 +1319,7 @@ CheckPrDatabase(struct misc_data *misc)   /* info & statistics */
     }
     code = WalkHashTable(cheader.nameHash, MAP_NAMEHASH, map, misc);
     if (code) {
-       com_err(whoami, code, "walking name hash");
+       afs_com_err(whoami, code, "walking name hash");
        goto abort;
     }
     if (misc->verbose) {
@@ -1327,7 +1328,7 @@ CheckPrDatabase(struct misc_data *misc)   /* info & statistics */
     }
     code = WalkHashTable(cheader.idHash, MAP_IDHASH, map, misc);
     if (code) {
-       com_err(whoami, code, "walking id hash");
+       afs_com_err(whoami, code, "walking id hash");
        goto abort;
     }
 
@@ -1339,7 +1340,7 @@ CheckPrDatabase(struct misc_data *misc)   /* info & statistics */
     misc->idRange = n - misc->minId + 1;
     misc->idmap = (afs_int32 *) malloc(misc->idRange * sizeof(afs_int32));
     if (!misc->idmap) {
-       com_err(whoami, 0, "Unable to malloc space for max ids of %d",
+       afs_com_err(whoami, 0, "Unable to malloc space for max ids of %d",
                misc->idRange);
        code = -1;
        goto abort;
@@ -1353,7 +1354,7 @@ CheckPrDatabase(struct misc_data *misc)   /* info & statistics */
     }
     code = WalkChains(map, misc);
     if (code) {
-       com_err(whoami, code, "walking chains");
+       afs_com_err(whoami, code, "walking chains");
        goto abort;
     }
     if (misc->verbose) {
@@ -1362,7 +1363,7 @@ CheckPrDatabase(struct misc_data *misc)   /* info & statistics */
     }
     code = WalkNextChain(map, misc, 0, 0);
     if (code) {
-       com_err(whoami, code, "walking free list");
+       afs_com_err(whoami, code, "walking free list");
        goto abort;
     }
     if (misc->verbose) {
@@ -1371,7 +1372,7 @@ CheckPrDatabase(struct misc_data *misc)   /* info & statistics */
     }
     code = WalkOwnedChain(map, misc, 0, 0);
     if (code) {
-       com_err(whoami, code, "walking orphan list");
+       afs_com_err(whoami, code, "walking orphan list");
        goto abort;
     }
 
@@ -1381,7 +1382,7 @@ CheckPrDatabase(struct misc_data *misc)   /* info & statistics */
     }
     code = GC(map, misc);
     if (code) {
-       com_err(whoami, code, "looking for unreferenced entries");
+       afs_com_err(whoami, code, "looking for unreferenced entries");
        goto abort;
     }
 
@@ -1453,7 +1454,7 @@ WorkerBee(struct cmd_syndesc *as, char *arock)
 
     fd = open(pr_dbaseName, O_RDONLY, 0);
     if (fd == -1) {
-       com_err(whoami, errno, "Open failed on db %s", pr_dbaseName);
+       afs_com_err(whoami, errno, "Open failed on db %s", pr_dbaseName);
        exit(2);
     }
 
@@ -1471,7 +1472,7 @@ WorkerBee(struct cmd_syndesc *as, char *arock)
     if (recreateFile) {
        misc.recreate = fopen(recreateFile, "w");
        if (misc.recreate == 0) {
-           com_err(whoami, errno,
+           afs_com_err(whoami, errno,
                    "can't create file for recreation instructions: %s",
                    recreateFile);
            exit(4);
@@ -1479,7 +1480,7 @@ WorkerBee(struct cmd_syndesc *as, char *arock)
     }
     code = CheckPrDatabase(&misc);
     if (code) {
-       com_err(whoami, code, "Checking prserver database");
+       afs_com_err(whoami, code, "Checking prserver database");
        exit(3);
     }
     exit(0);
@@ -1515,7 +1516,7 @@ void
 zeromap(struct idused *idmap)
 {
     while (idmap) {
-       bzero((char *)idmap->idcount, sizeof idmap->idcount);
+       memset((char *)idmap->idcount, 0, sizeof idmap->idcount);
        idmap = idmap->idnext;
     }
 }
@@ -1540,7 +1541,7 @@ inccount(struct idused **idmapp, int id)
            perror("idmap");
            exit(1);
        }
-       bzero((char *)idmap, sizeof idmap);
+       memset((char *)idmap, 0, sizeof idmap);
        idmap->idstart = id & ~(IDCOUNT - 1);
        idmap->idnext = *idmapp;
        *idmapp = idmap;
index 48bc06a66c5dcf3d3dbea17100566739057aba6b..6a7ed212e9e23e42cdd573a371f98696fa07850e 100644 (file)
@@ -2,7 +2,7 @@
  *     bit map routines (in-core).
  */
 /*
- * Copyright (c) 1995, 1996 Marcus D. Watts  All rights reserved.
+ * Copyright (c) 1995, 1996, 2007 Marcus D. Watts  All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
  * 2. Redistributions in binary form must reproduce the above copyright
  *    notice, this list of conditions and the following disclaimer in the
  *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by Marcus D. Watts.
- * 4. The name of the developer may not be used to endorse or promote
+ * 3. The name of the developer may not be used to endorse or promote
  *    products derived from this software without specific prior written
  *    permission.
  *
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/ptserver/map.c,v 1.3 2004/06/23 14:27:41 shadow Exp $");
+    ("$Header: /cvs/openafs/src/ptserver/map.c,v 1.3.2.2 2007/08/11 23:50:02 jaltman Exp $");
 
 #ifdef SUPERGROUPS
 #include <errno.h>
 #include "map.h"
-char *malloc();
+#include "malloc.h"
 
 #undef PRINT_MAP_ERROR
 /* #define MAP_DEBUG /**/
@@ -52,13 +49,13 @@ char *malloc();
 struct bitmap {
     struct bitmap *m_next;
     int m_page;
-    long m_data[MDATA];
+    int m_data[MDATA];
 };
 
-#define MAP(p) ((struct bitmap*)((long)(p)&~1))
+#define MAP(p) ((struct bitmap*)((int)(p)&~1))
 #define NEGMAP(p)      (((int)(p))&1)
 #define POSMAP(p)      (!NEGMAP(p))
-#define NOT_MAP(mp)    ((struct map *) (((long)(mp)) ^ 1))
+#define NOT_MAP(mp)    ((struct map *) (((int)(mp)) ^ 1))
 
 #define NUMBERTOBIT(n) ((n) & ((1<<LSHIFT)-1))
 #define NUMBERTOINDEX(n)       ((n>>LSHIFT) & ((1<<MSHIFT)-1))
@@ -70,10 +67,10 @@ struct bitmap {
 extern int debug_mask;
 
 int
-in_map(struct map *parm, long node)
+in_map(struct map *parm, int node)
 {
     struct bitmap *map;
-    long bit;
+    int bit;
     int x, page;
     int result;
 
@@ -91,7 +88,7 @@ in_map(struct map *parm, long node)
     if (Aflag)
        if (TONUMBER(page, x, bit) != node) {
            printf
-               ("bxp mixup: node=%ld -> p=%d x=%d b=%d -> %ld, %ld, %ld = %ld\n",
+               ("bxp mixup: node=%d -> p=%d x=%d b=%d -> %d, %d, %d = %d\n",
                 node, page, x, bit, TONUMBER(page, 0, 0), TONUMBER(0, x, 0),
                 TONUMBER(0, 0, bit), TONUMBER(page, x, bit));
        }
@@ -129,10 +126,10 @@ free_map(struct map *parm)
 }
 
 struct map *
-add_map(struct map *parm, long node)
+add_map(struct map *parm, int node)
 {
     struct bitmap *map;
-    long bit;
+    int bit;
     int x, page;
 
 #ifdef MAP_DEBUG
@@ -161,7 +158,7 @@ add_map(struct map *parm, long node)
            return 0;
        }
        map->m_page = page;
-       bzero((char *)map->m_data, sizeof map->m_data);
+       memset((char *) map->m_data, 0, sizeof map->m_data);
        if (NEGMAP(parm)) {
            int i;
            for (i = 0; i < MDATA; ++i)
@@ -192,9 +189,9 @@ simplify_bitmap(struct bitmap *map)
 {
     struct bitmap **mpp, *mp2;
     int i;
-    for (mpp = &map; mp2 = *mpp;) {
+    for (mpp = &map; (mp2 = *mpp);) {
        for (i = 0; i < MDATA; ++i)
-           if (map->m_data[i])
+           if (mp2->m_data[i])
                break;
        if (i == MDATA) {
 #ifdef PRINT_MAP_ERROR
@@ -215,7 +212,7 @@ or_bitmap(struct bitmap *left, struct bitmap *right)
     struct bitmap **rightmp, *lmap, *rmap;
     int i;
     for (lmap = left; lmap; lmap = lmap->m_next) {
-       for (rightmp = &right; rmap = *rightmp; rightmp = &rmap->m_next)
+       for (rightmp = &right; (rmap = *rightmp); rightmp = &rmap->m_next)
            if (rmap->m_page == lmap->m_page) {
                for (i = 0; i < MDATA; ++i)
                    lmap->m_data[i] |= rmap->m_data[i];
@@ -224,7 +221,8 @@ or_bitmap(struct bitmap *left, struct bitmap *right)
                break;
            }
     }
-    for (rightmp = &left; *rightmp; rightmp = &(*rightmp)->m_next);
+    for (rightmp = &left; *rightmp; rightmp = &(*rightmp)->m_next)
+       ;
     *rightmp = right;
     return left;
 }
@@ -234,10 +232,10 @@ and_bitmap(struct bitmap *left, struct bitmap *right)
 {
     struct bitmap **rightmp, *lmap, *rmap, **leftmp;
     int i;
-    long sig;
-    for (leftmp = &left; lmap = *leftmp;) {
+    int sig;
+    for (leftmp = &left; (lmap = *leftmp);) {
        sig = 0;
-       for (rightmp = &right; rmap = *rightmp; rightmp = &rmap->m_next)
+       for (rightmp = &right; (rmap = *rightmp); rightmp = &rmap->m_next)
            if (rmap->m_page == lmap->m_page) {
                for (i = 0; i < MDATA; ++i)
                    sig |= (lmap->m_data[i] &= rmap->m_data[i]);
@@ -262,15 +260,15 @@ bic_bitmap(struct bitmap *left, struct bitmap *right)
 {
     struct bitmap **rightmp, *lmap, *rmap, **leftmp;
     int i;
-    long sig;
+    int sig;
 #ifdef MAP_DEBUG
     if (Mflag) {
-       printf("bic_bitmap: left=%#lx right=%#lx\n", left, right);
+       printf("bic_bitmap: left=%#lx right=%#lx\n", (long)left, (long)right);
     }
 #endif
-    for (leftmp = &left; lmap = *leftmp;) {
+    for (leftmp = &left; (lmap = *leftmp);) {
        sig = 0;
-       for (rightmp = &right; rmap = *rightmp; rightmp = &rmap->m_next)
+       for (rightmp = &right; (rmap = *rightmp); rightmp = &rmap->m_next)
            if (rmap->m_page == lmap->m_page) {
                for (i = 0; i < MDATA; ++i)
                    sig |= (lmap->m_data[i] &= ~rmap->m_data[i]);
@@ -289,7 +287,7 @@ bic_bitmap(struct bitmap *left, struct bitmap *right)
     left = simplify_bitmap(left);
 #ifdef MAP_DEBUG
     if (Mflag) {
-       printf("bic_bitmap: result=%#lx\n", left);
+       printf("bic_bitmap: result=%#lx\n", (long) left);
     }
 #endif
     return left;
@@ -308,11 +306,12 @@ and_map(struct map *mp1, struct map *mp2)
 #endif
     if (POSMAP(mp1))
        if (POSMAP(mp2))
-           mp1 = (struct map *)and_bitmap(mp1, mp2);
+           mp1 = (struct map *)and_bitmap((struct bitmap *) mp1,
+               (struct bitmap *) mp2);
        else
-           mp1 = (struct map *)bic_bitmap(mp1, MAP(mp2));
+           mp1 = (struct map *)bic_bitmap((struct bitmap *) mp1, MAP(mp2));
     else if (POSMAP(mp2))
-       mp1 = (struct map *)bic_bitmap(mp2, MAP(mp1));
+       mp1 = (struct map *)bic_bitmap((struct bitmap *) mp2, MAP(mp1));
     else
        mp1 = NOT_MAP(or_bitmap(MAP(mp1), MAP(mp2)));
 #ifdef MAP_DEBUG
@@ -338,11 +337,12 @@ or_map(struct map *mp1, struct map *mp2)
 #endif
     if (POSMAP(mp1))
        if (POSMAP(mp2))
-           mp1 = (struct map *)or_bitmap(mp1, mp2);
+           mp1 = (struct map *)or_bitmap((struct bitmap *) mp1,
+               (struct bitmap *) mp2);
        else
-           mp1 = NOT_MAP(bic_bitmap(MAP(mp2), mp1));
+           mp1 = NOT_MAP(bic_bitmap(MAP(mp2), (struct bitmap *) mp1));
     else if (POSMAP(mp2))
-       mp1 = NOT_MAP(bic_bitmap(MAP(mp1), mp2));
+       mp1 = NOT_MAP(bic_bitmap(MAP(mp1), (struct bitmap *) mp2));
     else
        mp1 = NOT_MAP(and_bitmap(MAP(mp1), MAP(mp2)));
 #ifdef MAP_DEBUG
@@ -380,7 +380,7 @@ copy_map(struct map *parm)
     }
 #endif
     map = MAP(parm);
-    for (mpp = &result; *mpp = 0, map; map = map->m_next) {
+    for (mpp = &result; (*mpp = 0), map; map = map->m_next) {
        *mpp = (struct bitmap *)malloc(sizeof **mpp);
        if (!*mpp) {
 #ifdef MAP_DEBUG
@@ -400,17 +400,18 @@ copy_map(struct map *parm)
        return (struct map *)result;
 }
 
-long
+int
 count_map(struct map *parm)
 {
-    long nf;
+    int nf;
     struct bitmap *map;
-    register i, j;
+    int i, j;
 
     nf = 0;
     for (map = MAP(parm); map; map = map->m_next) {
        for (i = 0; i < MDATA; ++i) {
-           if (!map->m_data[i]);
+           if (!map->m_data[i])
+               ;
            else if (!~map->m_data[i])
                nf += (1 << LSHIFT);
            else
@@ -431,11 +432,11 @@ count_map(struct map *parm)
     return nf;
 }
 
-long
-next_map(struct map *parm, long node)
+int
+next_map(struct map *parm, int node)
 {
     struct bitmap *map, *lowest;
-    long bit, mask;
+    int bit, mask;
     int x, page;
     int best;
     int i;
@@ -480,7 +481,7 @@ next_map(struct map *parm, long node)
                if (Aflag) {
                    if (bn == (1 << LSHIFT)) {
                        printf
-                           ("next_map: botch; pageno %d index %d data %#lx mask %#lx x,bit %d,%#lx\n",
+                           ("next_map: botch; pageno %d index %d data %#x mask %#x x,bit %d,%#x\n",
                             map->m_page, i, map->m_data[i], mask, x, bit);
                        continue;
                    }
@@ -494,7 +495,7 @@ next_map(struct map *parm, long node)
 #ifdef MAP_DEBUG
     if (Aflag) {
        printf(" -> %d\n", best);
-       if (best >= 0 && !in_map((struct map *)parm, best)) {
+       if (best >= 0 && !in_map(parm, best)) {
            printf("next_map: botch; %d not in map\n", best);
            return -1;
        }
@@ -503,17 +504,17 @@ next_map(struct map *parm, long node)
     return best;
 }
 
-long
+int
 first_map(struct map *parm)
 {
     return next_map(parm, -9999);
 }
 
-long
-prev_map(struct map *parm, long node)
+int
+prev_map(struct map *parm, int node)
 {
     struct bitmap *map, *lowest;
-    long bit, mask;
+    int bit, mask;
     int x, page;
     int best;
     int i;
@@ -534,7 +535,7 @@ prev_map(struct map *parm, long node)
     }
 
     if (node < 0)
-       node = ((unsigned long)~0) >> 1;
+       node = ((unsigned int)~0) >> 1;
 
     --node;
     bit = NUMBERTOBIT(node);
@@ -561,7 +562,7 @@ prev_map(struct map *parm, long node)
                if (Aflag) {
                    if (bn < 0) {
                        printf
-                           ("prev_map: botch; pageno %d index %d data %#lx mask %#lx x,bit %d,%#lx\n",
+                           ("prev_map: botch; pageno %d index %d data %#x mask %#x x,bit %d,%#x\n",
                             map->m_page, i, map->m_data[i], mask, x, bit);
                        continue;
                    }
@@ -584,7 +585,7 @@ prev_map(struct map *parm, long node)
     return best;
 }
 
-long
+int
 last_map(struct map *parm)
 {
     return prev_map(parm, 0x7fffffff);
@@ -630,9 +631,9 @@ print_map(struct map *parm)
     }
     map = MAP(parm);
     if (!map)
-       printf(" nil(%lx)", parm);
+       printf(" nil(%lx)", (long)parm);
     else
-       printf(" %lx", parm);
+       printf(" %lx", (long)parm);
     lastbitno = -100;
     firstbitno = -100;
     for (; map; map = map->m_next)
@@ -667,12 +668,11 @@ print_map(struct map *parm)
 
 #ifdef NEED_READ_WRITE
 struct map *
-read_map(int (*f) (), char *arg)
+read_map(int (*f) (void *), char *arg)
 {
     struct bitmap *map, *result, **mp;
     int page;
-    int bitno, lastno, thisno, prevno;
-    int i, j;
+    int bitno, lastno;
     int data;
 
 /* count, then startbitno, then bits. */
@@ -700,7 +700,7 @@ read_map(int (*f) (), char *arg)
            continue;
        page = NUMBERTOPAGE(bitno);
        if (!map || map->m_page != page)
-           for (mp = &result; map = *mp; mp = &map->m_next)
+           for (mp = &result; (map = *mp); mp = &map->m_next)
                if (map->m_page == page)
                    break;
        if (!map) {
@@ -713,7 +713,7 @@ read_map(int (*f) (), char *arg)
                    free_map((struct map *)result);
                return 0;
            }
-           bzero((char *)map->m_data, sizeof map->m_data);
+           memset((char *) map->m_data, 0, sizeof map->m_data);
            map->m_page = page;
            map->m_next = 0;
            *mp = map;
@@ -724,7 +724,7 @@ read_map(int (*f) (), char *arg)
 }
 
 int 
-write_map(struct map *parm, int (*f) (), char *arg)
+write_map(struct map *parm, int (*f) (void *, int), char *arg)
 {
     struct bitmap *map;
     int page;
index 92f2fa49d0bf1f11d85f4c5ce93293e3ea4f9598..7d625e0427e5d806b69e1ea2315db3372dd19fdf 100644 (file)
@@ -2,7 +2,7 @@
  *     map.h - header routines for in-core bitmap routines.
  */
 /*
- * Copyright (c) 1995 Marcus D. Watts  All rights reserved.
+ * Copyright (c) 1995, 2007 Marcus D. Watts  All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
  * 2. Redistributions in binary form must reproduce the above copyright
  *    notice, this list of conditions and the following disclaimer in the
  *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by Marcus D. Watts.
- * 4. The name of the developer may not be used to endorse or promote
+ * 3. The name of the developer may not be used to endorse or promote
  *    products derived from this software without specific prior written
  *    permission.
  *
 
 struct map;
 
-int in_map(struct map *, long);
+int in_map(struct map *, int);
 void free_map(struct map *);
-struct map *add_map(struct map *, long);
+struct map *add_map(struct map *, int);
 struct map *and_map(struct map *, struct map *);
 struct map *or_map(struct map *, struct map *);
 struct map *not_map(struct map *);
 struct map *copy_map(struct map *);
-long count_map(struct map *);
-long next_map(struct map *, long);
-long first_map(struct map *);
-long prev_map(struct map *, long);
-long last_map(struct map *);
+int count_map(struct map *);
+int next_map(struct map *, int);
+int first_map(struct map *);
+int prev_map(struct map *, int);
+int last_map(struct map *);
 struct map *negative_map(struct map *);
 struct map *bic_map(struct map *, struct map *);
 int print_map(struct map *);
index 3b8ddf9cd306a5cc3f9f9b37d7462e1de62d8631..b5d9e5fec67e9d8b644387276d335636cf38c2ed 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: pt_util.c,v 1.9.2.2 2005/07/15 19:19:36 shadow Exp $ */
+/* $Id: pt_util.c,v 1.9.2.3 2007/04/10 18:43:45 shadow Exp $ */
 
 /*
  *
@@ -23,7 +23,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/ptserver/pt_util.c,v 1.9.2.2 2005/07/15 19:19:36 shadow Exp $");
+    ("$Header: /cvs/openafs/src/ptserver/pt_util.c,v 1.9.2.3 2007/04/10 18:43:45 shadow Exp $");
 
 #include <afs/cmd.h>           /*Command line parsing */
 #include <errno.h>
@@ -242,7 +242,7 @@ CommandProc(register struct cmd_syndesc *a_as)
                            if (code)
                                fprintf(stderr,
                                        "Error setting group count on %s: %s\n",
-                                       name, error_message(code));
+                                       name, afs_error_message(code));
                        }
                        code = CreateEntry(0, u->name, &uid, 1 /*idflag */ ,
                                           1 /*gflag */ ,
@@ -251,7 +251,7 @@ CommandProc(register struct cmd_syndesc *a_as)
                    }
                    if (code)
                        fprintf(stderr, "Error while creating %s: %s\n",
-                               u->name, error_message(code));
+                               u->name, afs_error_message(code));
                    continue;
                }
                /* Add user to group */
@@ -271,7 +271,7 @@ CommandProc(register struct cmd_syndesc *a_as)
 
                if (code)
                    fprintf(stderr, "Error while adding %s to %s: %s\n", mem,
-                           name, error_message(code));
+                           name, afs_error_message(code));
            } else {
                sscanf(buffer, "%s %d/%d %d %d %d", name, &flags, &quota, &id,
                       &oid, &cid);
@@ -289,7 +289,7 @@ CommandProc(register struct cmd_syndesc *a_as)
                    usr_head = u;
                } else if (code) {
                    fprintf(stderr, "Error while creating %s: %s\n", name,
-                           error_message(code));
+                           afs_error_message(code));
                } else if ((flags & PRACCESS)
                           || (flags & (PRGRP | PRQUOTA)) ==
                           (PRGRP | PRQUOTA)) {
@@ -303,14 +303,14 @@ CommandProc(register struct cmd_syndesc *a_as)
                    if (code)
                        fprintf(stderr,
                                "Error while setting flags on %s: %s\n", name,
-                               error_message(code));
+                               afs_error_message(code));
                }
            }
        }
        for (u = usr_head; u; u = u->next)
            if (u->uid)
                fprintf(stderr, "Error while creating %s: %s\n", u->name,
-                       error_message(PRBADNAM));
+                       afs_error_message(PRBADNAM));
     } else {
        for (i = 0; i < HASHSIZE; i++) {
            upos = nflag ? ntohl(prh.nameHash[i]) : ntohl(prh.idHash[i]);
index e08e8b432fe87445edc8087cbd234b9b7e3aea62..c2676e3405920743dff67ea858d5d15ad211822e 100644 (file)
@@ -11,7 +11,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/ptserver/ptclient.c,v 1.12.2.2 2006/07/31 21:51:21 shadow Exp $");
+    ("$Header: /cvs/openafs/src/ptserver/ptclient.c,v 1.12.2.4 2007/08/11 23:50:02 jaltman Exp $");
 
 #ifdef AFS_AIX32_ENV
 #include <signal.h>
@@ -237,7 +237,7 @@ main(argc, argv)
 
     code = pr_Initialize(security, confdir, cell);
     if (code) {
-       com_err(whoami, code, "Couldn't initialize protection library");
+       afs_com_err(whoami, code, "Couldn't initialize protection library");
        exit(1);
     }
 
@@ -252,7 +252,7 @@ main(argc, argv)
 
        code = GetString(op, sizeof(op));
        if (code) {
-           com_err(whoami, PRBADARG,
+           afs_com_err(whoami, PRBADARG,
                    "error reading opcode in line '%s', got '%.*s'", line,
                    sizeof(op), op);
            exit(1);
@@ -269,7 +269,7 @@ main(argc, argv)
            else
                code = ubik_PR_INewEntry(pruclient, 0, name, id, oid);
            if (CodeOk(code))
-               com_err(whoami, code, "on %s %s %d %d", op, name, id, oid);
+               afs_com_err(whoami, code, "on %s %s %d %d", op, name, id, oid);
        } else if (!strcmp(op, "sf")) {
            afs_int32 mask, access, gq, uq;
            if (GetInt32(&id) || GetXInt32(&mask) || GetXInt32(&access)
@@ -280,7 +280,7 @@ main(argc, argv)
                    ubik_PR_SetFieldsEntry(pruclient, 0, id, mask,
                              access, gq, uq, 0, 0);
            if (CodeOk(code))
-               com_err(whoami, code, "on %s %d %x %x %d %d", op, id, mask,
+               afs_com_err(whoami, code, "on %s %d %x %x %d %d", op, id, mask,
                        access, gq, uq);
        } else if (!strcmp(op, "ce")) {
            char newname[PR_MAXNAMELEN];
@@ -293,7 +293,7 @@ main(argc, argv)
                    ubik_PR_ChangeEntry(pruclient, 0, id, newname, oid,
                              newid);
            if (CodeOk(code))
-               com_err(whoami, code, "on %s %d %s %d %d", op, id, newname,
+               afs_com_err(whoami, code, "on %s %d %s %d %d", op, id, newname,
                        oid, newid);
        } else if (!strcmp(op, "wh")) {
            /* scanf("%d",&id); */
@@ -334,7 +334,7 @@ main(argc, argv)
            else
                code = ubik_PR_AddToGroup(pruclient, 0, id, gid);
            if (CodeOk(code))
-               com_err(whoami, code, "on %s %d %d", op, id, gid);
+               afs_com_err(whoami, code, "on %s %d %d", op, id, gid);
        } else if (!strcmp(op, "iton")) {
            lid.idlist_val = (afs_int32 *) malloc(20 * sizeof(afs_int32));
            ptr = lid.idlist_val;
@@ -648,7 +648,7 @@ main(argc, argv)
        else if (!strcmp(op, "fih")) {
            char tname[128];
            struct PrUpdateEntry uentry;
-           bzero(&uentry, sizeof(uentry));
+           memset(&uentry, 0, sizeof(uentry));
            /* scanf("%s",name); */
            if (GetString(name, sizeof(name))) {
                code = PRBADARG;
@@ -675,7 +675,7 @@ main(argc, argv)
        } else if (!strcmp(op, "fnh")) {
            int tid;
            struct PrUpdateEntry uentry;
-           bzero(&uentry, sizeof(uentry));
+           memset(&uentry, 0, sizeof(uentry));
            /* scanf("%d", &id); */
            if (GetInt32(&id)) {
                code = PRBADARG;
index 92d14db442bdaa3fa6779991f7e81b3897ab8a30..f4de08045423195cef16211c1c0b4e6223e67483 100644 (file)
@@ -46,4 +46,4 @@ extern int PR_UpdateEntry();
 extern int PR_ListSuperGroups();
 #endif
 
-#define pr_ErrorMsg error_message
+#define pr_ErrorMsg afs_error_message
index 1b2f95d80de43c84ed416b9efbaa03f38f43fbcb..58f8cf1279a028ffb8e955bd5be97af25d2f4b9b 100644 (file)
@@ -7,23 +7,11 @@
  * directory or online at http://www.openafs.org/dl/license10.html
  */
 
-/*
- *                      (3) add new pts commands:
- *
- *                          Interactive - allow the pts command
- *                                        to be run interactively.
- *                          Quit        - quit interactive mode.
- *                          Source      - allow input to come from a file(s).
- *                          Sleep       - pause for a specified number
- *                                        of seconds.
- *
- */
-
 #include <afsconfig.h>
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/ptserver/pts.c,v 1.13.2.1 2004/10/18 07:12:04 shadow Exp $");
+    ("$Header: /cvs/openafs/src/ptserver/pts.c,v 1.13.2.4 2007/08/11 23:54:04 jaltman Exp $");
 
 #include <stdio.h>
 #include <string.h>
@@ -46,23 +34,13 @@ RCSID
 #include "ptclient.h"
 #include "pterror.h"
 #include <afs/afsutil.h>
+#include <afs/com_err.h>
 
 #undef FOREIGN
 
 char *whoami;
 int force = 0;
 
-#if defined(SUPERGROUPS)
-
-/*
- *  Add new pts commands:
- *
- *      Interactive - allow the pts command to be run interactively.
- *      Quit        - quit interactive mode.
- *      Source      - allow input to come from a file(s).
- *      Sleep       - pause for a specified number of seconds.
- */
-
 static int finished;
 static FILE *source;
 extern struct ubik_client *pruclient;
@@ -73,21 +51,21 @@ struct sourcestack {
 } *shead;
 
 int
-Interactive(register struct cmd_syndesc *as)
+pts_Interactive(register struct cmd_syndesc *as)
 {
     finished = 0;
     return 0;
 }
 
 int
-Quit(register struct cmd_syndesc *as)
+pts_Quit(register struct cmd_syndesc *as)
 {
     finished = 1;
     return 0;
 }
 
 int
-Source(register struct cmd_syndesc *as)
+pts_Source(register struct cmd_syndesc *as)
 {
     FILE *fd;
     struct sourcestack *sp;
@@ -115,7 +93,7 @@ Source(register struct cmd_syndesc *as)
 }
 
 int
-Sleep(register struct cmd_syndesc *as)
+pts_Sleep(register struct cmd_syndesc *as)
 {
     int delay;
     if (!as->parms[0].items) {
@@ -124,6 +102,7 @@ Sleep(register struct cmd_syndesc *as)
     }
     delay = atoi(as->parms[0].items->data);
     IOMGR_Sleep(delay);
+    return 0;
 }
 
 int
@@ -140,8 +119,6 @@ popsource()
     return 1;
 }
 
-#endif /* SUPERGROUPS */
-
 int
 osi_audit()
 {
@@ -176,7 +153,7 @@ GetGlobals(register struct cmd_syndesc *as)
        code = pr_Initialize(sec, AFSDIR_CLIENT_ETC_DIRPATH, cell);
     }
     if (code) {
-       com_err(whoami, code, "while initializing");
+       afs_com_err(whoami, code, "while initializing");
        return code;
     }
     if (as->parms[19].items)
@@ -187,7 +164,6 @@ GetGlobals(register struct cmd_syndesc *as)
 int
 CleanUp(register struct cmd_syndesc *as)
 {
-#if defined(SUPERGROUPS)
     if (as && !strcmp(as->name, "help"))
        return 0;
     if (pruclient) {
@@ -195,14 +171,6 @@ CleanUp(register struct cmd_syndesc *as)
        pr_End();
        rx_Finalize();
     }
-#else
-    if (!strcmp(as->name, "help"))
-       return 0;
-    /* Need to shutdown the ubik_client & other connections */
-    pr_End();
-    rx_Finalize();
-#endif /* SUPERGROUPS */
-
     return 0;
 }
 
@@ -226,22 +194,22 @@ CreateGroup(register struct cmd_syndesc *as)
        if (idi) {
            code = util_GetInt32(idi->data, &id);
            if (code) {
-               com_err(whoami, code, "because group id was: '%s'",
+               afs_com_err(whoami, code, "because group id was: '%s'",
                        idi->data);
                return code;
            }
            if (id >= 0) {
                code = PRBADARG;
-               com_err(whoami, code, "because group id %d was not negative",
+               afs_com_err(whoami, code, "because group id %d was not negative",
                        id);
                return code;
            }
-#if defined(SUPERGROUPS)
-           if (id == 0) {
+           
+            if (id == 0) {
                printf("0 isn't a valid user id; aborting\n");
                return EINVAL;
            }
-#endif
+
            idi = idi->next;
        } else
            id = 0;
@@ -249,13 +217,13 @@ CreateGroup(register struct cmd_syndesc *as)
        code = pr_CreateGroup(namei->data, owner, &id);
        if (code) {
            if (owner || id)
-               com_err(whoami, code,
+               afs_com_err(whoami, code,
                        "; unable to create group %s with id %d%s%s%s%s",
                        namei->data, id, owner ? " owned by '" : "",
                        owner ? owner : "", owner ? "'" : "",
                        (force ? " (ignored)" : ""));
            else
-               com_err(whoami, code, "; unable to create group %s %s",
+               afs_com_err(whoami, code, "; unable to create group %s %s",
                        namei->data, (force ? "(ignored)" : ""));
            if (!force)
                return code;
@@ -281,7 +249,7 @@ CreateUser(register struct cmd_syndesc *as)
        if (idi) {
            code = util_GetInt32(idi->data, &id);
            if (code) {
-               com_err(whoami, code, "because id was: '%s'", idi->data);
+               afs_com_err(whoami, code, "because id was: '%s'", idi->data);
                return code;
            }
            if (id == 0) {
@@ -295,11 +263,11 @@ CreateUser(register struct cmd_syndesc *as)
        code = pr_CreateUser(namei->data, &id);
        if (code) {
            if (id)
-               com_err(whoami, code,
+               afs_com_err(whoami, code,
                        "; unable to create user %s with id %d %s",
                        namei->data, id, (force ? "(ignored)" : ""));
            else
-               com_err(whoami, code, "; unable to create user %s %s",
+               afs_com_err(whoami, code, "; unable to create user %s %s",
                        namei->data, (force ? "(ignored)" : ""));
            if (!force)
                return code;
@@ -321,11 +289,11 @@ GetNameOrId(register struct cmd_syndesc *as, struct idlist *lids, struct namelis
     int goodCount;
 
     if (!(as->parms[0].items || as->parms[1].items)) {
-       com_err(whoami, 0, "must specify either a name or an id.");
+       afs_com_err(whoami, 0, "must specify either a name or an id.");
        return -1;
     }
     if (as->parms[0].items && as->parms[1].items) {
-       com_err(whoami, 0, "can't specify both a name and id.");
+       afs_com_err(whoami, 0, "can't specify both a name and id.");
        return -1;
     }
 
@@ -354,11 +322,11 @@ GetNameOrId(register struct cmd_syndesc *as, struct idlist *lids, struct namelis
 
        code = pr_NameToId(nl, lids);
        if (code)
-           com_err(whoami, code, "so couldn't look up names");
+           afs_com_err(whoami, code, "so couldn't look up names");
        else {
            for (n = 0; n < lids->idlist_len; n++) {
                if ((lids->idlist_val[n] == ANONYMOUSID)) {
-                   com_err(whoami, PRNOENT, "so couldn't look up id for %s",
+                   afs_com_err(whoami, PRNOENT, "so couldn't look up id for %s",
                            nl->namelist_val[n]);
                } else
                    goodCount++;
@@ -380,7 +348,7 @@ GetNameOrId(register struct cmd_syndesc *as, struct idlist *lids, struct namelis
        for (i = as->parms[1].items; i; i = i->next) {
            code = util_GetInt32(i->data, &lids->idlist_val[n]);
            if (code)
-               com_err(whoami, code =
+               afs_com_err(whoami, code =
                        PRNOENT, "because a bogus id '%s' was specified",
                        i->data);
            n++;
@@ -390,7 +358,7 @@ GetNameOrId(register struct cmd_syndesc *as, struct idlist *lids, struct namelis
            lnames->namelist_len = 0;
            code = pr_IdToName(lids, lnames);
            if (code)
-               com_err(whoami, code, "translating ids");
+               afs_com_err(whoami, code, "translating ids");
        }
     }
     if (code) {
@@ -447,11 +415,11 @@ GetNameOrId(register struct cmd_syndesc *as, struct idlist *lids, struct namelis
     tids.idlist_val = 0;
     code = pr_NameToId(&names, &tids);
     if (code)
-       com_err(whoami, code, "so couldn't look up names");
+       afs_com_err(whoami, code, "so couldn't look up names");
     else {
        for (n = 0; n < tids.idlist_len; n++) {
            if ((tids.idlist_val[n] == ANONYMOUSID)) {
-               com_err(whoami, PRNOENT, "so couldn't look up id for %s",
+               afs_com_err(whoami, PRNOENT, "so couldn't look up id for %s",
                        names.namelist_val[n]);
            } else
                goodCount++;
@@ -470,7 +438,7 @@ GetNameOrId(register struct cmd_syndesc *as, struct idlist *lids, struct namelis
        tnames.namelist_len = 0;
        code = pr_IdToName(&ids, &tnames);
        if (code)
-           com_err(whoami, code, "translating ids");
+           afs_com_err(whoami, code, "translating ids");
        else
            goodCount++;
        if (lnames) {
@@ -501,7 +469,7 @@ AddToGroup(register struct cmd_syndesc *as)
        for (g = as->parms[1].items; g; g = g->next) {
            code = pr_AddToGroup(u->data, g->data);
            if (code) {
-               com_err(whoami, code,
+               afs_com_err(whoami, code,
                        "; unable to add user %s to group %s %s", u->data,
                        g->data, (force ? "(ignored)" : ""));
                if (!force)
@@ -522,7 +490,7 @@ RemoveFromGroup(register struct cmd_syndesc *as)
        for (g = as->parms[1].items; g; g = g->next) {
            code = pr_RemoveUserFromGroup(u->data, g->data);
            if (code) {
-               com_err(whoami, code,
+               afs_com_err(whoami, code,
                        "; unable to remove user %s from group %s %s",
                        u->data, g->data, (force ? "(ignored)" : ""));
                if (!force)
@@ -557,7 +525,7 @@ ListMembership(register struct cmd_syndesc *as)
        list.namelist_len = 0;
        code = pr_IDListMembers(ids.idlist_val[i], &list);
        if (code) {
-           com_err(whoami, code, "; unable to get membership of %s (id: %d)",
+           afs_com_err(whoami, code, "; unable to get membership of %s (id: %d)",
                    name, id);
            continue;
        }
@@ -598,7 +566,7 @@ Delete(register struct cmd_syndesc *as)
 
        code = pr_DeleteByID(id);
        if (code) {
-           com_err(whoami, code, "deleting %s (id: %d) %s", name, id,
+           afs_com_err(whoami, code, "deleting %s (id: %d) %s", name, id,
                    (force ? "(ignored)" : ""));
            if (!force)
                return code;
@@ -646,7 +614,7 @@ CheckEntry(register struct cmd_syndesc *as)
        code = pr_ListEntry(id, &aentry);
        if (code) {
            rcode = code;
-           com_err(whoami, code, "; unable to find entry for (id: %d)", id);
+           afs_com_err(whoami, code, "; unable to find entry for (id: %d)", id);
            continue;
        }
 
@@ -655,7 +623,7 @@ CheckEntry(register struct cmd_syndesc *as)
        code = pr_IdToName(&lids, &lnames);
        if (code) {
            rcode = code;
-           com_err(whoami, code,
+           afs_com_err(whoami, code,
                    "translating owner (%d) and creator (%d) ids",
                    aentry.owner, aentry.creator);
            continue;
@@ -736,7 +704,7 @@ ListEntries(struct cmd_syndesc *as)
            pr_ListEntries(flag, startindex, &nentries, &entriesp,
                           &nextstartindex);
        if (code) {
-           com_err(whoami, code, "; unable to list entries\n");
+           afs_com_err(whoami, code, "; unable to list entries\n");
            if (entriesp)
                free(entriesp);
            break;
@@ -764,7 +732,7 @@ ChownGroup(register struct cmd_syndesc *as)
     owner = as->parms[1].items->data;
     code = pr_ChangeEntry(name, "", 0, owner);
     if (code)
-       com_err(whoami, code, "; unable to change owner of %s to %s", name,
+       afs_com_err(whoami, code, "; unable to change owner of %s to %s", name,
                owner);
     return code;
 }
@@ -780,7 +748,7 @@ ChangeName(register struct cmd_syndesc *as)
     newname = as->parms[1].items->data;
     code = pr_ChangeEntry(oldname, newname, 0, "");
     if (code)
-       com_err(whoami, code, "; unable to change name of %s to %s", oldname,
+       afs_com_err(whoami, code, "; unable to change name of %s to %s", oldname,
                newname);
     return code;
 }
@@ -793,11 +761,11 @@ ListMax(register struct cmd_syndesc *as)
 
     code = pr_ListMaxUserId(&maxUser);
     if (code)
-       com_err(whoami, code, "getting maximum user id");
+       afs_com_err(whoami, code, "getting maximum user id");
     else {
        code = pr_ListMaxGroupId(&maxGroup);
        if (code)
-           com_err(whoami, code, "getting maximum group id");
+           afs_com_err(whoami, code, "getting maximum group id");
        else {
            printf("Max user id is %d and max group id is %d.\n", maxUser,
                   maxGroup);
@@ -817,12 +785,12 @@ SetMax(register struct cmd_syndesc *as)
        /* set user max */
        code = util_GetInt32(as->parms[1].items->data, &maxid);
        if (code) {
-           com_err(whoami, code, "because id was: '%s'",
+           afs_com_err(whoami, code, "because id was: '%s'",
                    as->parms[1].items->data);
        } else {
            code = pr_SetMaxUserId(maxid);
            if (code)
-               com_err(whoami, code, "so couldn't set Max User Id to %d",
+               afs_com_err(whoami, code, "so couldn't set Max User Id to %d",
                        maxid);
        }
     }
@@ -830,12 +798,12 @@ SetMax(register struct cmd_syndesc *as)
        /* set group max */
        code = util_GetInt32(as->parms[0].items->data, &maxid);
        if (code) {
-           com_err(whoami, code, "because id was: '%s'",
+           afs_com_err(whoami, code, "because id was: '%s'",
                    as->parms[0].items->data);
        } else {
            code = pr_SetMaxGroupId(maxid);
            if (code)
-               com_err(whoami, code, "so couldn't set Max Group Id to %d",
+               afs_com_err(whoami, code, "so couldn't set Max Group Id to %d",
                        maxid);
        }
     }
@@ -904,7 +872,7 @@ SetFields(register struct cmd_syndesc *as)
     if (as->parms[2].items) {  /* limitgroups */
        code = util_GetInt32(as->parms[2].items->data, &ngroups);
        if (code) {
-           com_err(whoami, code, "because ngroups was: '%s'",
+           afs_com_err(whoami, code, "because ngroups was: '%s'",
                    as->parms[2].items->data);
            return code;
        }
@@ -914,7 +882,7 @@ SetFields(register struct cmd_syndesc *as)
     if (as->parms[3].items) {  /* limitgroups */
        code = util_GetInt32(as->parms[3].items->data, &nusers);
        if (code) {
-           com_err(whoami, code, "because nusers was: '%s'",
+           afs_com_err(whoami, code, "because nusers was: '%s'",
                    as->parms[3].items->data);
            return code;
        }
@@ -929,7 +897,7 @@ SetFields(register struct cmd_syndesc *as)
            continue;
        code = pr_SetFieldsEntry(id, mask, flags, ngroups, nusers);
        if (code) {
-           com_err(whoami, code, "; unable to set fields for %s (id: %d)",
+           afs_com_err(whoami, code, "; unable to set fields for %s (id: %d)",
                    name, id);
            return code;
        }
@@ -971,7 +939,7 @@ ListOwned(register struct cmd_syndesc *as)
            list.namelist_len = 0;
            code = pr_ListOwned(oid, &list, &more);
            if (code) {
-               com_err(whoami, code,
+               afs_com_err(whoami, code,
                        "; unable to get owner list for %s (id: %d)", name,
                        oid);
                break;
@@ -1022,13 +990,13 @@ main(int argc, char **argv)
 {
     register afs_int32 code;
     register struct cmd_syndesc *ts;
-#if defined(SUPERGROUPS)
+
     char line[2048];
     char *cp, *lastp;
     int parsec;
     char *parsev[CMD_MAXPARMS];
     char *savec;
-#endif
+
 #ifdef WIN32
     WSADATA WSAjunk;
 #endif
@@ -1137,29 +1105,24 @@ main(int argc, char **argv)
     cmd_AddParm(ts, "-groups", CMD_FLAG, CMD_OPTIONAL, "list group entries");
     add_std_args(ts);
 
-#if defined(SUPERGROUPS)
-
-    ts = cmd_CreateSyntax("interactive", Interactive, 0,
+    ts = cmd_CreateSyntax("interactive", pts_Interactive, 0,
                          "enter interactive mode");
     add_std_args(ts);
     cmd_CreateAlias(ts, "in");
 
-    ts = cmd_CreateSyntax("quit", Quit, 0, "exit program");
+    ts = cmd_CreateSyntax("quit", pts_Quit, 0, "exit program");
     add_std_args(ts);
 
-    ts = cmd_CreateSyntax("source", Source, 0, "read commands from file");
+    ts = cmd_CreateSyntax("source", pts_Source, 0, "read commands from file");
     cmd_AddParm(ts, "-file", CMD_SINGLE, 0, "filename");
     add_std_args(ts);
 
-    ts = cmd_CreateSyntax("sleep", Sleep, 0, "pause for a bit");
+    ts = cmd_CreateSyntax("sleep", pts_Sleep, 0, "pause for a bit");
     cmd_AddParm(ts, "-delay", CMD_SINGLE, 0, "seconds");
     add_std_args(ts);
 
-#endif /* SUPERGROUPS */
-
     cmd_SetBeforeProc(GetGlobals, 0);
 
-#if defined(SUPERGROUPS)
     finished = 1;
     if (code = cmd_Dispatch(argc, argv)) {
        CleanUp(0);
@@ -1188,7 +1151,7 @@ main(int argc, char **argv)
            cmd_ParseLine(line, parsev, &parsec,
                          sizeof(parsev) / sizeof(*parsev));
        if (code) {
-           com_err(whoami, code, "parsing line: <%s>", line);
+           afs_com_err(whoami, code, "parsing line: <%s>", line);
            exit(2);
        }
        savec = parsev[0];
@@ -1199,11 +1162,5 @@ main(int argc, char **argv)
     }
     CleanUp(0);
     exit(0);
-
-#else /* SUPERGROUPS */
-
-    cmd_SetAfterProc(CleanUp, 0);
-    code = cmd_Dispatch(argc, argv);
-    exit(code != 0);
-#endif /* SUPERGROUPS */
 }
+
index eff27ddff06d22222d4342c4f563d6607111d780..66f6b6e48ca31c367d5a20a28798c4b45731e826 100644 (file)
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/ptserver/ptserver.c,v 1.21.2.7 2006/06/20 20:35:01 jaltman Exp $");
+    ("$Header: /cvs/openafs/src/ptserver/ptserver.c,v 1.21.2.8 2007/04/10 18:43:45 shadow Exp $");
 
 #include <afs/stds.h>
 #ifdef AFS_AIX32_ENV
@@ -149,6 +149,7 @@ RCSID
 #include "error_macros.h"
 #include "afs/audit.h"
 #include <afs/afsutil.h>
+#include <afs/com_err.h>
 
 
 /* make        all of these into a structure if you want */
@@ -460,7 +461,7 @@ main(int argc, char **argv)
     code =
        afsconf_GetExtendedCellInfo(prdir, NULL, "afsprot", &info, &clones);
     if (code) {
-       com_err(whoami, code, "Couldn't get server list");
+       afs_com_err(whoami, code, "Couldn't get server list");
        PT_EXIT(2);
     }
     pr_realmName = info.name;
@@ -470,7 +471,7 @@ main(int argc, char **argv)
     /* get keys */
     code = afsconf_GetKey(prdir, 999, &tkey);
     if (code) {
-       com_err(whoami, code,
+       afs_com_err(whoami, code,
                "couldn't get bcrypt keys from key file, ignoring.");
     }
 #endif
@@ -528,7 +529,7 @@ main(int argc, char **argv)
        ubik_ServerInitByInfo(myHost, htons(AFSCONF_PROTPORT), &info, &clones,
                              pr_dbaseName, &dbase);
     if (code) {
-       com_err(whoami, code, "Ubik init failed");
+       afs_com_err(whoami, code, "Ubik init failed");
        PT_EXIT(2);
     }
 #if defined(SUPERGROUPS)
index 6df354da2c67b49e8c6c212a138f725b718e2b03..cf9e99b87ac387c7b1f1708e5aefbca911e84395 100644 (file)
@@ -15,7 +15,7 @@
 #endif
 
 RCSID
-    ("$Header: /cvs/openafs/src/ptserver/ptuser.c,v 1.16.2.14 2007/01/05 18:23:25 shadow Exp $");
+    ("$Header: /cvs/openafs/src/ptserver/ptuser.c,v 1.16.2.15 2007/04/10 18:43:45 shadow Exp $");
 
 #if defined(UKERNEL)
 #include "afs/sysincludes.h"
@@ -54,6 +54,7 @@ RCSID
 #include <afs/auth.h>
 #include <afs/cellconfig.h>
 #include <afs/afsutil.h>
+#include <afs/com_err.h>
 #include "ptclient.h"
 #include "ptuser.h"
 #include "pterror.h"
@@ -187,7 +188,7 @@ pr_Initialize(IN afs_int32 secLevel, IN char *confDir, IN char *cell)
        if (code)
            fprintf(stderr,
                    "libprot: clientauthsecure returns %d %s"
-                   " (so trying noauth)\n", code, error_message(code));
+                   " (so trying noauth)\n", code, afs_error_message(code));
        if (code)
            scIndex = 0;        /* use noauth */
        if (scIndex != 2)
@@ -223,7 +224,7 @@ pr_Initialize(IN afs_int32 secLevel, IN char *confDir, IN char *cell)
     if ((scIndex == 0) && (sc[0] == 0))
        sc[0] = rxnull_NewClientSecurityObject();
     if ((scIndex == 0) && (secLevel != 0))
-       com_err(whoami, code,
+       afs_com_err(whoami, code,
                "Could not get afs tokens, running unauthenticated.");
 
     memset(serverconns, 0, sizeof(serverconns));       /* terminate list!!! */
@@ -235,7 +236,7 @@ pr_Initialize(IN afs_int32 secLevel, IN char *confDir, IN char *cell)
 
     code = ubik_ClientInit(serverconns, &pruclient);
     if (code) {
-       com_err(whoami, code, "ubik client init failed.");
+       afs_com_err(whoami, code, "ubik client init failed.");
        return code;
     }
     lastLevel = scIndex;
index 336f839be5ccb6a3d37a63ec7f4875df93062b8e..d102d545e27bd2f5b62cc42abf8febde47c0e724 100644 (file)
@@ -24,7 +24,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/ptserver/ptutils.c,v 1.18.2.1 2005/04/15 19:40:43 shadow Exp $");
+    ("$Header: /cvs/openafs/src/ptserver/ptutils.c,v 1.18.2.4 2007/08/11 23:50:02 jaltman Exp $");
 
 #include <afs/stds.h>
 #include <sys/types.h>
@@ -113,71 +113,52 @@ pt_mywrite(struct ubik_dbase *tdb, afs_int32 fno, char *bp, afs_int32 pos, afs_i
            c = ENTRYSIZE - o;
            if (c > l)
                c = l;
+#define xPT(p,x) ((((struct prentry *)(p))->flags & htonl(PRTYPE)) == htonl(x))
 #if DEBUG_SG_MAP
            if (o)
                fprintf(stderr, "Writing %d bytes of entry @ %#lx(+%d)\n", c,
                        p - o, o);
            else if (c == ENTRYSIZE)
                fprintf(stderr,
-                       "Writing %d bytes of entry @ %#lx (%d<%s>,%d)\n", c,
-                       p, ((struct prentry *)cp)->flags,
-                       (((struct prentry *)cp)->flags & PRTYPE) ==
-                       PRUSER ? "user" : (((struct prentry *)cp)->
-                                          flags & PRTYPE) ==
-                       PRFREE ? "free" : (((struct prentry *)cp)->
-                                          flags & PRTYPE) ==
-                       PRGRP ? "group" : (((struct prentry *)cp)->
-                                          flags & PRTYPE) ==
-                       PRCONT ? "cont" : (((struct prentry *)cp)->
-                                          flags & PRTYPE) ==
-                       PRCELL ? "cell" : (((struct prentry *)cp)->
-                                          flags & PRTYPE) ==
-                       PRFOREIGN ? "foreign" : (((struct prentry *)cp)->
-                                                flags & PRTYPE) ==
-                       PRINST ? "sub/super instance" : "?",
-                       ((struct prentry *)cp)->id);
+                       "Writing %d bytes of entry @ %#lx (%d<%s>,%d)\n",
+                       c, p, ntohl(((struct prentry *)cp)->flags),
+                       xPT(cp,PRUSER) ? "user" : xPT(cp,PRFREE) ? "free" :
+                       xPT(cp,PRGRP) ? "group" : xPT(cp,PRCONT) ? "cont" :
+                       xPT(cp,PRCELL) ? "cell" : xPT(cp,PRFOREIGN) ? "foreign" :
+                       xPT(cp,PRINST) ? "sub/super instance" : "?",
+                       ntohl(((struct prentry *)cp)->id));
            else if (c >= 8)
                fprintf(stderr,
                        "Writing first %d bytes of entry @ %#lx (%d<%s>,%d)\n",
-                       c, p, ((struct prentry *)cp)->flags,
-                       (((struct prentry *)cp)->flags & PRTYPE) ==
-                       PRUSER ? "user" : (((struct prentry *)cp)->
-                                          flags & PRTYPE) ==
-                       PRFREE ? "free" : (((struct prentry *)cp)->
-                                          flags & PRTYPE) ==
-                       PRGRP ? "group" : (((struct prentry *)cp)->
-                                          flags & PRTYPE) ==
-                       PRCONT ? "cont" : (((struct prentry *)cp)->
-                                          flags & PRTYPE) ==
-                       PRCELL ? "cell" : (((struct prentry *)cp)->
-                                          flags & PRTYPE) ==
-                       PRFOREIGN ? "foreign" : (((struct prentry *)cp)->
-                                                flags & PRTYPE) ==
-                       PRINST ? "sub/super instance" : "?",
-                       ((struct prentry *)cp)->id);
+                       c, p, ntohl(((struct prentry *)cp)->flags),
+                       xPT(cp,PRUSER) ? "user" : xPT(cp,PRFREE) ? "free" :
+                       xPT(cp,PRGRP) ? "group" : xPT(cp,PRCONT) ? "cont" :
+                       xPT(cp,PRCELL) ? "cell" : xPT(cp,PRFOREIGN) ? "foreign" :
+                       xPT(cp,PRINST) ? "sub/super instance" : "?",
+                       ntohl(((struct prentry *)cp)->id));
            else
                fprintf(stderr, "Writing %d bytes of entry @ %#lx\n", c, p);
 #endif
-           if (!o && c >= 8
-               && (((struct prentry *)cp)->flags & PRTYPE) == PRGRP) {
+           if (!o && c >= 8 && xPT(cp,PRGRP)) {
 #if DEBUG_SG_MAP
-               if (in_map(sg_found, -((struct prentry *)cp)->id))
+               if (in_map(sg_found, -ntohl(((struct prentry *)cp)->id)))
                    fprintf(stderr, "Unfound: Removing group %d\n",
-                           ((struct prentry *)cp)->id);
-               if (in_map(sg_flagged, -((struct prentry *)cp)->id))
+                           ntohl(((struct prentry *)cp)->id));
+               if (in_map(sg_flagged, -ntohl(((struct prentry *)cp)->id)))
                    fprintf(stderr, "Unflag: Removing group %d\n",
-                           ((struct prentry *)cp)->id);
+                           ntohl(((struct prentry *)cp)->id));
 #endif
                sg_found =
                    bic_map(sg_found,
-                           add_map(NIL_MAP, -((struct prentry *)cp)->id));
+                       add_map(NIL_MAP, -ntohl(((struct prentry *)cp)->id)));
                sg_flagged =
                    bic_map(sg_flagged,
-                           add_map(NIL_MAP, -((struct prentry *)cp)->id));
+                       add_map(NIL_MAP, -ntohl(((struct prentry *)cp)->id)));
            }
            cp += c;
            p += c;
            l -= c;
+#undef xPT
        }
     }
     return (*pt_save_dbase_write) (tdb, fno, bp, pos, count);
@@ -744,7 +725,7 @@ ChangeIDEntry(register struct ubik_trans *at, register afs_int32 aid, afs_int32
     }
 
     nptr = tentry.next;
-    while (nptr != NULL) {
+    while (nptr) {
        code = pr_ReadCoEntry(at, 0, nptr, &centry);
        if (code != 0)
            return code;
@@ -803,7 +784,7 @@ RemoveFromSGEntry(register struct ubik_trans *at, register afs_int32 aid, regist
     if (code != 0)
        return code;
 #ifdef PR_REMEMBER_TIMES
-    tentry.removeTime = time((afs_int32 *) 0);
+    tentry.removeTime = time(NULL);
 #endif
     tentryg = (struct prentryg *)&tentry;
     for (i = 0; i < SGSIZE; i++) {
@@ -821,7 +802,7 @@ RemoveFromSGEntry(register struct ubik_trans *at, register afs_int32 aid, regist
     }
     hloc = 0;
     nptr = tentryg->nextsg;
-    while (nptr != NULL) {
+    while (nptr) {
        code = pr_ReadCoEntry(at, 0, nptr, &centry);
        if (code != 0)
            return code;
@@ -867,7 +848,7 @@ RemoveFromSGEntry(register struct ubik_trans *at, register afs_int32 aid, regist
        }                       /* for all coentry slots */
        hloc = nptr;
        nptr = centry.next;
-       bcopy((char *)&centry, (char *)&hentry, sizeof(centry));
+       memcpy((char *)&centry, (char *)&hentry, sizeof(centry));
     }                          /* while there are coentries */
     return PRNOENT;
 }
@@ -1158,7 +1139,7 @@ AddToSGEntry(struct ubik_trans *tt, struct prentry *entry, afs_int32 loc, afs_in
     if (entry->id == aid)
        return PRINCONSISTENT;
 #ifdef PR_REMEMBER_TIMES
-    entry->addTime = time((afs_int32 *) 0);
+    entry->addTime = time(NULL);
 #endif
     entryg = (struct prentryg *)entry;
     for (i = 0; i < SGSIZE; i++) {
@@ -1177,7 +1158,7 @@ AddToSGEntry(struct ubik_trans *tt, struct prentry *entry, afs_int32 loc, afs_in
     }
     last = 0;
     nptr = entryg->nextsg;
-    while (nptr != NULL) {
+    while (nptr) {
        code = pr_ReadCoEntry(tt, 0, nptr, &nentry);
        if (code != 0)
            return code;
@@ -1237,7 +1218,7 @@ AddToSGEntry(struct ubik_trans *tt, struct prentry *entry, afs_int32 loc, afs_in
     memset(&aentry, 0, sizeof(aentry));
     aentry.flags |= PRCONT;
     aentry.id = entry->id;
-    aentry.next = NULL;
+    aentry.next = 0;
     aentry.entries[0] = aid;
     code = pr_WriteCoEntry(tt, 0, nptr, &aentry);
     if (code != 0)
@@ -1531,7 +1512,7 @@ GetListSG2(struct ubik_trans *at, afs_int32 gid, prlist *alist, afs_int32 *sizeP
     }
 
     nptr = tentryg->nextsg;
-    while (nptr != NULL) {
+    while (nptr) {
        didsomething = 1;
        /* look through cont entries */
        code = pr_ReadCoEntry(at, 0, nptr, &centry);
@@ -1599,7 +1580,7 @@ GetSGList(struct ubik_trans *at, struct prentry *tentry, prlist *alist)
     }
 
     nptr = tentryg->nextsg;
-    while (nptr != NULL) {
+    while (nptr) {
        /* look through cont entries */
        code = pr_ReadCoEntry(at, 0, nptr, &centry);
        if (code != 0)
@@ -1697,7 +1678,7 @@ read_DbHeader(struct ubik_trans *tt)
 
     code = pr_Read(tt, 0, 0, (char *)&cheader, sizeof(cheader));
     if (code != 0) {
-       com_err(whoami, code, "Couldn't read header");
+       afs_com_err(whoami, code, "Couldn't read header");
     }
     return code;
 }
@@ -1735,7 +1716,7 @@ Initdb()
     len = sizeof(cheader);
     code = pr_Read(tt, 0, 0, (char *)&cheader, len);
     if (code != 0) {
-       com_err(whoami, code, "couldn't read header");
+       afs_com_err(whoami, code, "couldn't read header");
        ubik_AbortTrans(tt);
        return code;
     }
@@ -1762,14 +1743,14 @@ Initdb()
        for (i = 0; i < sizeof(cheader); i++)
            if (bp[i]) {
                code = PRDBBAD;
-               com_err(whoami, code,
+               afs_com_err(whoami, code,
                        "Can't rebuild database because it is not empty");
                return code;
            }
     }
     if (!pr_noAuth) {
        code = PRDBBAD;
-       com_err(whoami, code,
+       afs_com_err(whoami, code,
                "Can't rebuild database because not running NoAuth");
        return code;
     }
@@ -1804,7 +1785,7 @@ Initdb()
     if ((code = set_header_word(tt, version, htonl(PRDBVERSION)))
        || (code = set_header_word(tt, headerSize, htonl(sizeof(cheader))))
        || (code = set_header_word(tt, eofPtr, cheader.headerSize))) {
-       com_err(whoami, code, "couldn't write header words");
+       afs_com_err(whoami, code, "couldn't write header words");
        ubik_AbortTrans(tt);
        return code;
     }
@@ -1814,7 +1795,7 @@ Initdb()
     code = CreateEntry               \
        (tt, (name), &temp, /*idflag*/1, flag, SYSADMINID, SYSADMINID); \
     if (code) {                              \
-       com_err (whoami, code, "couldn't create %s with id %di.",       \
+       afs_com_err (whoami, code, "couldn't create %s with id %di.",   \
                 (name), (id));       \
        ubik_AbortTrans(tt);          \
        return code;                  \
@@ -1832,7 +1813,7 @@ Initdb()
      * it back to 0 */
     code = set_header_word(tt, maxID, 0);      /* correct in any byte order */
     if (code) {
-       com_err(whoami, code, "couldn't reset max id");
+       afs_com_err(whoami, code, "couldn't reset max id");
        ubik_AbortTrans(tt);
        return code;
     }
@@ -1942,7 +1923,7 @@ ChangeEntry(struct ubik_trans *at, afs_int32 aid, afs_int32 cid, char *name, afs
                break;
        }
        pos = tentry.next;
-       while (pos != NULL) {
+       while (pos) {
 #define centry  (*(struct contentry*)&tent)
            code = pr_ReadCoEntry(at, 0, pos, &centry);
            if ((centry.id != aid)
index 6b138fd795f2dfa99e4fd68191b887bc50184ec1..09947f8a918c530f0ed09df4c41921bab0840fd4 100644 (file)
@@ -11,7 +11,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/ptserver/readgroup.c,v 1.10 2004/06/23 14:27:42 shadow Exp $");
+    ("$Header: /cvs/openafs/src/ptserver/readgroup.c,v 1.10.2.1 2007/04/10 18:43:45 shadow Exp $");
 
 #include <stdio.h>
 #ifdef AFS_NT40_ENV
@@ -29,6 +29,7 @@ RCSID
 #include <rx/xdr.h>
 #include <afs/cellconfig.h>
 #include <afs/afsutil.h>
+#include <afs/com_err.h>
 #include "ptclient.h"
 #include "pterror.h"
 
index e7996d59843bbbbef587bade21e52371680d16e1..54dbbb42b39be83be963652a3b9da1eb75d8e0d0 100644 (file)
@@ -11,7 +11,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/ptserver/readpwd.c,v 1.9 2004/06/23 14:27:42 shadow Exp $");
+    ("$Header: /cvs/openafs/src/ptserver/readpwd.c,v 1.9.2.1 2007/04/10 18:43:45 shadow Exp $");
 
 #include <stdio.h>
 #ifdef AFS_NT40_ENV
@@ -28,6 +28,7 @@ RCSID
 #include <rx/xdr.h>
 #include <afs/cellconfig.h>
 #include <afs/afsutil.h>
+#include <afs/com_err.h>
 #include "ptclient.h"
 
 int
index 63c614150568d7279443fb59ae617b8b0757da9c..11e9ed8a5281460e72f9ac18dcc0461c1b77f80f 100644 (file)
@@ -11,7 +11,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/ptserver/testpt.c,v 1.14 2004/06/23 14:27:42 shadow Exp $");
+    ("$Header: /cvs/openafs/src/ptserver/testpt.c,v 1.14.2.2 2007/08/11 23:50:02 jaltman Exp $");
 
 #include <ctype.h>
 #include <errno.h>
@@ -49,6 +49,7 @@ RCSID
 #include "ptclient.h"
 #include "pterror.h"
 #include <afs/afsutil.h>
+#include <afs/com_err.h>
 
 static char *whoami = "testpr";
 static struct afsconf_dir *conf;       /* cell info, set by MyBeforeProc */
@@ -78,7 +79,7 @@ ListUsedIds(struct cmd_syndesc *as, char *arock)
 
     code = pr_Initialize(1, conf_dir, NULL);
     if (code) {
-       com_err(whoami, code, "initializing pruser");
+       afs_com_err(whoami, code, "initializing pruser");
        exit(1);
     }
     if (startId < 0) {
@@ -86,7 +87,7 @@ ListUsedIds(struct cmd_syndesc *as, char *arock)
        code = pr_ListMaxGroupId(&maxId);
        if (code) {
          bad_max:
-           com_err(whoami, code, "getting maximum id");
+           afs_com_err(whoami, code, "getting maximum id");
            exit(2);
        }
        if (startId < maxId) {
@@ -132,7 +133,7 @@ ListUsedIds(struct cmd_syndesc *as, char *arock)
        lids.idlist_len = i;
        code = pr_IdToName(&lids, &lnames);
        if (code) {
-           com_err(whoami, code, "converting id to name");
+           afs_com_err(whoami, code, "converting id to name");
            exit(2);
        }
        for (j = 0; j < lnames.namelist_len; j++) {
@@ -255,7 +256,7 @@ CreateUser(int u)
                }
            }
        }
-       com_err(whoami, code, "couldn't create %s", name);
+       afs_com_err(whoami, code, "couldn't create %s", name);
        exit(12);
     }
   done:
@@ -307,14 +308,14 @@ CreateGroup(int g)
     }
 
     sprintf(name, "%s:%s%d", ownerName, createPrefix, g);
-    code = ubik_Call(PR_NewEntry, pruclient, 0, name, PRGRP, owner, &id);
+    code = ubik_PR_NewEntry(pruclient, 0, name, PRGRP, owner, &id);
     if (code) {
        if (code == PREXIST) {
            code = pr_Delete(name);
            if (code == 0) {
                nGDels++;
                code =
-                   ubik_Call(PR_NewEntry, pruclient, 0, name, PRGRP, owner,
+                   ubik_PR_NewEntry(pruclient, 0, name, PRGRP, owner,
                              &id);
                if (code == 0) {
                    if (verbose)
@@ -323,7 +324,7 @@ CreateGroup(int g)
                }
            }
        }
-       com_err(whoami, code, "couldn't create %s w/ owner=%d", name, owner);
+       afs_com_err(whoami, code, "couldn't create %s w/ owner=%d", name, owner);
        exit(13);
     }
   done:
@@ -350,9 +351,9 @@ DeleteRandomId(afs_int32 *list)
     for (j = 0; j < number; j++) {     /* find an undeleted id */
        m = (k + j) % number;
        if (id = list[m]) {
-           code = ubik_Call(PR_Delete, pruclient, 0, id);
+           code = ubik_PR_Delete(pruclient, 0, id);
            if (code) {
-               com_err(whoami, code, "Couldn't delete %di", id);
+               afs_com_err(whoami, code, "Couldn't delete %di", id);
                exit(22);
            }
            list[m] = 0;
@@ -378,9 +379,9 @@ AddUser(int u, int g)
        CreateGroup(g);
     ui = users[u];
     gi = groups[g];
-    code = ubik_Call(PR_AddToGroup, pruclient, 0, ui, gi);
+    code = ubik_PR_AddToGroup(pruclient, 0, ui, gi);
     if (code) {
-       com_err(whoami, code, "couldn't add %d to %d", ui, gi);
+       afs_com_err(whoami, code, "couldn't add %d to %d", ui, gi);
        exit(14);
     }
     if (verbose)
@@ -397,9 +398,9 @@ RemUser(int u, int g)
 
     ui = users[u];
     gi = groups[g];
-    code = ubik_Call(PR_RemoveFromGroup, pruclient, 0, ui, gi);
+    code = ubik_PR_RemoveFromGroup(pruclient, 0, ui, gi);
     if (code) {
-       com_err(whoami, code, "couldn't remove %d from %d", ui, gi);
+       afs_com_err(whoami, code, "couldn't remove %d from %d", ui, gi);
        exit(14);
     }
     if (verbose)
@@ -424,7 +425,7 @@ TestManyMembers(struct cmd_syndesc *as, char *arock)
 
     code = pr_Initialize(1, conf_dir, NULL);
     if (code) {
-       com_err(whoami, code, "initializing pruser");
+       afs_com_err(whoami, code, "initializing pruser");
        exit(1);
     }
     /* get name of person running command */
@@ -439,7 +440,7 @@ TestManyMembers(struct cmd_syndesc *as, char *arock)
            exit(2);
        code = ktc_GetToken(&afs, &token, sizeof(token), &user);
        if (code) {
-           com_err(whoami, code, "getting afs tokens");
+           afs_com_err(whoami, code, "getting afs tokens");
            exit(3);
        }
        if (strlen(user.instance) > 0) {
@@ -451,7 +452,7 @@ TestManyMembers(struct cmd_syndesc *as, char *arock)
            callerId = atoi(user.name + 7);
            code = pr_SIdToName(callerId, callerName);
            if (code) {
-               com_err(whoami, code, "call get name for id %d", callerId);
+               afs_com_err(whoami, code, "call get name for id %d", callerId);
                exit(6);
            }
        } else {
@@ -465,7 +466,7 @@ TestManyMembers(struct cmd_syndesc *as, char *arock)
            callerId = 0;
            code = pr_CreateUser(callerName, &callerId);
            if (code) {
-               com_err(whoami, code, "can't create caller %s", callerName);
+               afs_com_err(whoami, code, "can't create caller %s", callerName);
                exit(5);
            }
            printf("Creating caller %s (%di)\n", callerName, callerId);
@@ -473,7 +474,7 @@ TestManyMembers(struct cmd_syndesc *as, char *arock)
        /* else */
 #endif
        if (code) {
-           com_err(whoami, code, "can't find caller %s", callerName);
+           afs_com_err(whoami, code, "can't find caller %s", callerName);
            exit(6);
        } else
            printf("Assuming caller is %s (%di)\n", callerName, callerId);
@@ -599,7 +600,7 @@ TestManyMembers(struct cmd_syndesc *as, char *arock)
                proc = PR_GetCPS;
            code = ubik_Call(proc, pruclient, 0, ui, &alist, &over);
            if (code) {
-               com_err(whoami, code,
+               afs_com_err(whoami, code,
                        "getting membership list of (%di) using %s", ui,
                        ((proc == PR_GetCPS) ? "GetCPR" : "ListElements"));
                exit(24);
@@ -655,9 +656,9 @@ TestManyMembers(struct cmd_syndesc *as, char *arock)
                }
 #define GETOWNED(xlist,xid) \
   (xlist).prlist_val = 0; (xlist).prlist_len = 0; \
-  code = ubik_Call (PR_ListOwned, pruclient, 0, (xid), &(xlist), &over); \
+  code = ubik_PR_ListOwned(pruclient, 0, (xid), &(xlist), &over); \
   if (code) { \
-      com_err (whoami, code, "getting owner list of (%di)", (xid)); \
+      afs_com_err (whoami, code, "getting owner list of (%di)", (xid)); \
       exit (23); } \
   if (over) \
       { fprintf (stderr, "membership of id %di too long\n", (xid)); }
@@ -778,7 +779,7 @@ TestPrServ(struct cmd_syndesc *as, char *arock)
 
     code = pr_Initialize(1, conf_dir, NULL);
     if (code) {
-       com_err(whoami, code, "initializing pruser");
+       afs_com_err(whoami, code, "initializing pruser");
        exit(1);
     }
 
@@ -789,7 +790,7 @@ TestPrServ(struct cmd_syndesc *as, char *arock)
     id = 0;
     code = pr_CreateUser(name, &id);
     if ((code != RXGEN_CC_MARSHAL) && (code != PRBADNAM)) {
-       com_err(whoami, code, "succeeded creating %s", name);
+       afs_com_err(whoami, code, "succeeded creating %s", name);
        exit(2);
     }
     name[i] = 0;
@@ -799,17 +800,17 @@ TestPrServ(struct cmd_syndesc *as, char *arock)
        fprintf(stderr, "group already exists, skipping\n");
        pr_SNameToId(name, &id);
     } else if (code) {
-       com_err(whoami, code, "failed creating %s", name);
+       afs_com_err(whoami, code, "failed creating %s", name);
        exit(3);
     }
     if ((code = pr_ListEntry(id, &ent))
        || (code = pr_SIdToName(ent.creator, creator))) {
-       com_err(whoami, code, "getting creator's name");
+       afs_com_err(whoami, code, "getting creator's name");
        exit(5);
     }
     code = pr_DeleteByID(id);
     if (code) {
-       com_err(whoami, code, "deleting %s", name);
+       afs_com_err(whoami, code, "deleting %s", name);
        exit(6);
     }
     /* now make sure the illegal chars are detected */
@@ -820,7 +821,7 @@ TestPrServ(struct cmd_syndesc *as, char *arock)
            id = 0;
            code = pr_CreateUser(name, &id);
            if (code != PRBADNAM) {
-               com_err(whoami, code, "succeeded creating %s", name);
+               afs_com_err(whoami, code, "succeeded creating %s", name);
                exit(8);
            }
        }
@@ -842,12 +843,12 @@ TestPrServ(struct cmd_syndesc *as, char *arock)
        } else if (code) {
            char ascii[BUFSIZ];
            ka_ConvertBytes(ascii, sizeof(ascii), name, strlen(name));
-           com_err(whoami, code, "failed creating %s", ascii);
+           afs_com_err(whoami, code, "failed creating %s", ascii);
            exit(4);
        }
        code = pr_DeleteByID(id);
        if (code) {
-           com_err(whoami, code, "deleting %s", name);
+           afs_com_err(whoami, code, "deleting %s", name);
            exit(7);
        }
     }
@@ -859,7 +860,7 @@ TestPrServ(struct cmd_syndesc *as, char *arock)
     id = 0;
     code = pr_CreateGroup(name, &id);
     if (code != PRNOENT) {     /* owner doesn't exist */
-       com_err(whoami, code, "succeeded creating %s", name);
+       afs_com_err(whoami, code, "succeeded creating %s", name);
        exit(9);
     }
     name[0] = creator[0];      /* fix owner */
@@ -871,7 +872,7 @@ TestPrServ(struct cmd_syndesc *as, char *arock)
            id = 0;
            code = pr_CreateGroup(name, creator, &id);
            if (code != PRBADNAM) {
-               com_err(whoami, code, "succeeded creating %s", name);
+               afs_com_err(whoami, code, "succeeded creating %s", name);
                exit(10);
            }
        }
@@ -892,12 +893,12 @@ TestPrServ(struct cmd_syndesc *as, char *arock)
        } else if (code) {
            char ascii[BUFSIZ];
            ka_ConvertBytes(ascii, sizeof(ascii), name, strlen(name));
-           com_err(whoami, code, "failed creating %s", ascii);
+           afs_com_err(whoami, code, "failed creating %s", ascii);
            exit(4);
        }
        code = pr_DeleteByID(id);
        if (code) {
-           com_err(whoami, code, "deleting %s", name);
+           afs_com_err(whoami, code, "deleting %s", name);
            exit(7);
        }
     }
@@ -1003,7 +1004,7 @@ MyBeforeProc(struct cmd_syndesc *as, char *arock)
                (unsigned long)getpid());
        code = mkdir(tmp_conf_dir, 0777);
        if ((code < 0) && (errno != EEXIST)) {
-           com_err(whoami, errno, "can't create temporary afsconf dir: %s",
+           afs_com_err(whoami, errno, "can't create temporary afsconf dir: %s",
                    cdir);
            return errno;
        }
@@ -1013,7 +1014,7 @@ MyBeforeProc(struct cmd_syndesc *as, char *arock)
        f = fopen(tmp_conf_file, "w");
        if (f == 0) {
          cantcreate:
-           com_err(whoami, errno, "can't create conf file %s",
+           afs_com_err(whoami, errno, "can't create conf file %s",
                    tmp_conf_file);
            return errno;
        }
@@ -1026,7 +1027,7 @@ MyBeforeProc(struct cmd_syndesc *as, char *arock)
        }
        if (fclose(f) == EOF) {
          cantclose:
-           com_err(whoami, errno, "can't write to conf file %s",
+           afs_com_err(whoami, errno, "can't write to conf file %s",
                    tmp_conf_file);
            return errno;
        }
@@ -1135,6 +1136,6 @@ main(int argc, char *argv[])
 
     code = cmd_Dispatch(argc, argv);
     if (code)
-       com_err(whoami, code, "calling cmd_Dispatch");
+       afs_com_err(whoami, code, "calling cmd_Dispatch");
     exit(code);
 }
index a7a3173212f4b5708160f6c30f9f6b915ad66877..ba1fb53273c3aeca4218349d78e133aac63a9b60 100644 (file)
@@ -17,7 +17,7 @@
 #include "afs/param.h"
 
 RCSID
-    ("$Header: /cvs/openafs/src/rx/LINUX/rx_kmutex.c,v 1.7.2.7 2006/12/28 21:32:09 shadow Exp $");
+    ("$Header: /cvs/openafs/src/rx/LINUX/rx_kmutex.c,v 1.7.2.8 2007/06/12 05:47:48 rra Exp $");
 
 #include "rx/rx_kcommon.h"
 #include "rx_kmutex.h"
@@ -122,7 +122,11 @@ afs_cv_wait(afs_kcondvar_t * cv, afs_kmutex_t * l, int sigok)
 #if defined(STRUCT_TASK_STRUCT_HAS_TODO)
            !current->todo
 #else
+#if defined(STRUCT_TASK_STRUCT_HAS_THREAD_INFO)
            test_ti_thread_flag(current->thread_info, TIF_FREEZE)
+#else
+           test_ti_thread_flag(task_thread_info(current), TIF_FREEZE)
+#endif
 #endif
 #endif
            )
index 8fbb280e3a14c63c864d13c734c3dc72a657d573..e20eb160018da19972d2d9a2ec80134a76278e11 100644 (file)
@@ -16,7 +16,7 @@
 #include "afs/param.h"
 
 RCSID
-    ("$Header: /cvs/openafs/src/rx/LINUX/rx_knet.c,v 1.23.2.12 2007/02/26 17:59:21 shadow Exp $");
+    ("$Header: /cvs/openafs/src/rx/LINUX/rx_knet.c,v 1.23.2.14 2007/06/12 05:47:48 rra Exp $");
 
 #include <linux/version.h>
 #ifdef AFS_LINUX22_ENV
@@ -173,7 +173,11 @@ osi_NetReceive(osi_socket so, struct sockaddr_in *from, struct iovec *iov,
 #if defined(STRUCT_TASK_STRUCT_HAS_TODO)
            !current->todo
 #else
+#if defined(STRUCT_TASK_STRUCT_HAS_THREAD_INFO)
             test_ti_thread_flag(current->thread_info, TIF_FREEZE)
+#else
+            test_ti_thread_flag(task_thread_info(current), TIF_FREEZE)
+#endif
 #endif
 #endif
            )
@@ -213,30 +217,34 @@ osi_StopListener(void)
     struct task_struct *listener;
     extern int rxk_ListenerPid;
 
+    while (rxk_ListenerPid) {
 #ifdef EXPORTED_TASKLIST_LOCK
-    if (&tasklist_lock)
-      read_lock(&tasklist_lock);
+       if (&tasklist_lock)
+          read_lock(&tasklist_lock);
 #endif
 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,16)
 #ifdef EXPORTED_TASKLIST_LOCK
-    else
+       else
 #endif
-      rcu_read_lock();
+          rcu_read_lock();
 #endif
-    listener = find_task_by_pid(rxk_ListenerPid);
+       listener = find_task_by_pid(rxk_ListenerPid);
+        if (listener) {
+           flush_signals(listener);
+           force_sig(SIGKILL, listener);
+       }
 #ifdef EXPORTED_TASKLIST_LOCK
-    if (&tasklist_lock)
-       read_unlock(&tasklist_lock);
+       if (&tasklist_lock)
+           read_unlock(&tasklist_lock);
 #endif
 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,16)
 #ifdef EXPORTED_TASKLIST_LOCK
-    else
+       else
 #endif
-      rcu_read_unlock();
+          rcu_read_unlock();
 #endif
-    while (rxk_ListenerPid) {
-       flush_signals(listener);
-       force_sig(SIGKILL, listener);
+       if (!listener)
+           break;
        afs_osi_Sleep(&rxk_ListenerPid);
     }
     sock_release(rx_socket);
index d66ea045bd2de0bca877cb3bce89eafc27793346..a90703b3192fd6f8ff0bee9ff3f496f3c51d493a 100644 (file)
@@ -11,7 +11,7 @@
 #include "afs/param.h"
 
 RCSID
-    ("$Header: /cvs/openafs/src/rx/SOLARIS/rx_knet.c,v 1.19.2.1 2005/04/15 18:37:19 shadow Exp $");
+    ("$Header: /cvs/openafs/src/rx/SOLARIS/rx_knet.c,v 1.19.2.2 2007/10/05 02:54:10 shadow Exp $");
 
 #ifdef AFS_SUN5_ENV
 #include "rx/rx_kcommon.h"
@@ -36,6 +36,16 @@ RCSID
 #include "inet/ip.h"
 #include "inet/ip_if.h"
 #include "netinet/udp.h"
+#ifdef AFS_SUN510_ENV
+#include "h/ddi.h"
+#include "h/ksynch.h"
+#include "h/sunddi.h"
+#include "h/sunldi.h"
+#include "h/sockio.h"
+#include "h/cmn_err.h"
+#include "h/socket.h"
+#include "netinet/in.h"
+#endif
 
 /*
  * Function pointers for kernel socket routines
@@ -68,14 +78,11 @@ rxi_GetIFInfo()
 {
     int i = 0;
     int different = 0;
-
+#ifndef AFS_SUN510_ENV
     ill_t *ill;
     ipif_t *ipif;
-    int rxmtu, maxmtu;
-#ifdef AFS_SUN510_ENV
-    ill_walk_context_t ctx;
 #endif
-
+    int rxmtu, maxmtu;
     int mtus[ADDRSPERSITE];
     afs_uint32 addrs[ADDRSPERSITE];
     afs_uint32 ifinaddr;
@@ -84,10 +91,58 @@ rxi_GetIFInfo()
     memset(addrs, 0, sizeof(addrs));
 
 #ifdef AFS_SUN510_ENV
-    for (ill = ILL_START_WALK_ALL(&ctx) ; ill ; ill = ill_next(&ctx, ill)) {
+    (void) rw_enter(&afsifinfo_lock, RW_READER);
+
+    for (i = 0; (afsifinfo[i].ipaddr != NULL) && (i < ADDRSPERSITE); i++) {
+
+             /* Ignore addresses which are down.. */
+            if (!(afsifinfo[i].flags & IFF_UP))
+                continue;
+
+            /* Compute the Rx interface MTU */
+           rxmtu = (afsifinfo[i].mtu - RX_IPUDP_SIZE);
+
+           ifinaddr = afsifinfo[i].ipaddr;
+           if (myNetAddrs[i] != ifinaddr)
+               different++;
+
+           /* Copy interface MTU and address; adjust maxmtu */
+           mtus[i] = rxmtu;
+           rxmtu = rxi_AdjustIfMTU(rxmtu);
+           maxmtu = rxmtu * rxi_nRecvFrags +
+               ((rxi_nRecvFrags - 1) * UDP_HDR_SIZE);
+           maxmtu = rxi_AdjustMaxMTU(rxmtu, maxmtu);
+           addrs[i] = ifinaddr;
+
+           if (ifinaddr != 0x7f000001 && maxmtu > rx_maxReceiveSize) {
+               rx_maxReceiveSize = MIN(RX_MAX_PACKET_SIZE, maxmtu);
+               rx_maxReceiveSize =
+                   MIN(rx_maxReceiveSize, rx_maxReceiveSizeUser);
+           }
+            
+    }
+    
+    (void) rw_exit(&afsifinfo_lock);
+
+    rx_maxJumboRecvSize =
+       RX_HEADER_SIZE + rxi_nDgramPackets * RX_JUMBOBUFFERSIZE +
+       (rxi_nDgramPackets - 1) * RX_JUMBOHEADERSIZE;
+    rx_maxJumboRecvSize = MAX(rx_maxJumboRecvSize, rx_maxReceiveSize);
+
+    if (different) {
+       int j;
+
+       for (j = 0; j < i; j++) {
+           myNetMTUs[j] = mtus[j];
+           myNetAddrs[j] = addrs[j];
+       }
+    }
+
+    return different;
+}
+
 #else
     for (ill = ill_g_head; ill; ill = ill->ill_next) {
-#endif
 #ifdef AFS_SUN58_ENV
        /* Make sure this is an IPv4 ILL */
        if (ill->ill_isv6)
@@ -144,17 +199,19 @@ rxi_GetIFInfo()
 
     return different;
 }
+#endif
 
 int
 rxi_FindIfMTU(afs_uint32 addr)
 {
-    ill_t *ill;
-    ipif_t *ipif;
     afs_uint32 myAddr, netMask;
     int match_value = 0;
     int mtu = -1;
 #ifdef AFS_SUN510_ENV
-    ill_walk_context_t ctx;
+    int i = 0;
+#else
+    ill_t *ill;
+    ipif_t *ipif;
 #endif
 
     if (numMyNetAddrs == 0)
@@ -171,10 +228,46 @@ rxi_FindIfMTU(afs_uint32 addr)
        netMask = 0;
 
 #ifdef AFS_SUN510_ENV
-    for (ill = ILL_START_WALK_ALL(&ctx) ; ill ; ill = ill_next(&ctx, ill)) {
+    (void) rw_enter(&afsifinfo_lock, RW_READER);
+
+    for (i = 0; (afsifinfo[i].ipaddr != NULL) && (i < ADDRSPERSITE); i++) {
+        afs_uint32 thisAddr, subnetMask;
+       int thisMtu;
+
+        /* Ignore addresses which are down.. */
+        if ((afsifinfo[i].flags & IFF_UP) == 0)
+            continue;
+
+        thisAddr = afsifinfo[i].ipaddr;
+        subnetMask = afsifinfo[i].netmask;
+        thisMtu = afsifinfo[i].mtu;
+
+        if ((myAddr & netMask) == (thisAddr & netMask)) {
+          if ((myAddr & subnetMask) == (thisAddr & subnetMask)) {
+               if (myAddr == thisAddr) {
+                    match_value = 4;
+                    mtu = thisMtu;
+                }
+
+                if (match_value < 3) {
+                    match_value = 3;
+                    mtu = thisMtu;
+                }
+           }
+
+           if (match_value < 2) {
+                match_value = 2;
+                mtu = thisMtu;
+           }
+        }
+     }
+     
+     (void) rw_exit(&afsifinfo_lock);
+
+     return mtu;
+}
 #else
     for (ill = ill_g_head; ill; ill = ill->ill_next) {
-#endif
 #ifdef AFS_SUN58_ENV
        /* Make sure this is an IPv4 ILL */
        if (ill->ill_isv6)
@@ -213,6 +306,7 @@ rxi_FindIfMTU(afs_uint32 addr)
 
     return mtu;
 }
+#endif
 
 /* rxi_NewSocket, rxi_FreeSocket and osi_NetSend are from the now defunct
  * afs_osinet.c. 
@@ -462,6 +556,174 @@ osi_NetReceive(osi_socket so, struct sockaddr_in *addr, struct iovec *dvec,
     return error;
 }
 
+#if defined(AFS_SUN510_ENV)
+/* How often afs collects interface info. Tunable via /etc/system:      */
+/* set afs:afs_if_poll_interval = integer (value is in seconds)         */
+static int afs_if_poll_interval = 30;
+
+/* Global array which holds the interface info for consumers            */
+struct afs_ifinfo afsifinfo[ADDRSPERSITE];
+
+void
+osi_StartNetIfPoller()
+{
+    (void) ddi_taskq_dispatch(afs_taskq, (void(*) (void*)) osi_NetIfPoller,
+            NULL, DDI_SLEEP);
+}
+
+void
+osi_NetIfPoller()
+{
+    cred_t *cr;
+    ldi_ident_t li;
+    ldi_handle_t lh;
+    struct lifnum lifn;
+    struct lifconf lifc;
+    struct lifreq lifr;
+    struct lifreq *lifrp;
+    struct sockaddr_in *sin4_local;
+    struct sockaddr_in *sin4_dst;
+    major_t udpmajor;
+    caddr_t lifcbuf;
+    int i, count, error, rv;
+    int ifcount;
+    int metric;
+    int index;
+    uint_t mtu;
+    uint64_t flags;
+
+    /* Get our permissions */
+    cr = CRED();
+
+    /* Initialize and open /dev/udp for receiving ioctls */
+    udpmajor = ddi_name_to_major(UDP_MOD_NAME);
+
+    error = ldi_ident_from_major(udpmajor, &li);
+    if (error)
+        cmn_err(CE_PANIC, "osi_NetIfPoller: ldi_ident_from_major failed: %d",
+            error);
+
+    error = ldi_open_by_name(UDP_DEV_NAME, FREAD, cr, &lh, li);
+    if (error)
+        cmn_err(CE_PANIC,
+            "osi_NetIfPoller: ldi_open_by_name failed: %d", error);
+
+
+    /* First, how many interfaces do we have? */
+    (void) bzero((void *)&lifn, sizeof(struct lifnum));
+    lifn.lifn_family   = AF_INET;
+
+    error = ldi_ioctl(lh, SIOCGLIFNUM, (intptr_t)&lifn,
+        FKIOCTL, cr, &rv);
+    if (error)
+     cmn_err(CE_PANIC,
+         "osi_NetIfPoller: ldi_ioctl: SIOCGLIFNUM failed: %d", error);
+
+    ifcount = lifn.lifn_count;
+
+    /* Set up some stuff for storing the results of SIOCGLIFCONF */
+    (void) bzero((void *)&lifc, sizeof(struct lifconf));
+
+    lifcbuf = kmem_zalloc(ifcount * sizeof(struct lifreq), KM_SLEEP);
+
+    lifc.lifc_family  = AF_INET;
+    lifc.lifc_flags   = IFF_UP;
+    lifc.lifc_len     = ifcount * sizeof(struct lifreq);
+    lifc.lifc_buf     = lifcbuf;
+
+    /* Get info on each of our available interfaces. */
+    error = ldi_ioctl(lh, SIOCGLIFCONF, (intptr_t)&lifc,
+        FKIOCTL, cr, &rv);
+    if (error)
+        cmn_err(CE_PANIC,
+            "osi_NetIfPoller: ldi_ioctl: SIOCGLIFCONF failed: %d", error);
+
+    lifrp = lifc.lifc_req;
+
+    count = 0;
+
+    /* Loop through our interfaces and pick out the info we want */
+    for (i = lifc.lifc_len / sizeof(struct lifreq);
+        i > 0; i--, lifrp++) {
+                
+        if (count >= ADDRSPERSITE)
+                break;
+
+        (void) bzero((void *)&lifr, sizeof(struct lifreq));
+
+        (void) strncpy(lifr.lifr_name, lifrp->lifr_name,
+            sizeof(lifr.lifr_name));
+
+        /* Get this interface's Flags */
+        error = ldi_ioctl(lh, SIOCGLIFFLAGS, (intptr_t)&lifr,
+            FKIOCTL, cr, &rv);
+        if (error)
+            cmn_err(CE_PANIC,
+                "osi_NetIfPoller: ldi_ioctl: SIOCGLIFFLAGS failed: %d",
+                    error);
+
+        /* Ignore plumbed but down interfaces. */
+        if ((lifr.lifr_flags & IFF_UP) == 0)
+            continue;
+
+        flags = lifr.lifr_flags;
+
+        /* Get this interface's MTU */
+        error = ldi_ioctl(lh, SIOCGLIFMTU, (intptr_t)&lifr,
+            FKIOCTL, cr, &rv);
+
+        if (error) {
+            mtu = 1125;
+        } else {
+            mtu = lifr.lifr_metric;
+        }
+
+        /* Get this interface's Metric */
+        error = ldi_ioctl(lh, SIOCGLIFMETRIC, (intptr_t)&lifr,
+            FKIOCTL, cr, &rv);
+
+        if (error) {
+            metric = 0;
+        } else {
+            metric = lifr.lifr_metric;
+        }
+
+        sin4_local = (struct sockaddr_in *) &lifrp->lifr_addr;
+        sin4_dst = (struct sockaddr_in *) &lifrp->lifr_dstaddr;
+
+        /* Acquire global array write lock */
+        (void) rw_enter(&afsifinfo_lock, RW_WRITER);
+
+        /* Copy our collected data into the global array */
+        (void) strncpy(afsifinfo[count].ifname, lifrp->lifr_name,
+            sizeof(afsifinfo[count].ifname));
+        afsifinfo[count].ipaddr     = ntohl(sin4_local->sin_addr.s_addr);
+        afsifinfo[count].mtu        = mtu;
+        afsifinfo[count].netmask    = lifrp->lifr_addrlen;
+        afsifinfo[count].flags      = flags;
+        afsifinfo[count].metric     = metric;
+        afsifinfo[count].dstaddr    = ntohl(sin4_dst->sin_addr.s_addr);
+
+        /* Release global array write lock */
+        (void) rw_exit(&afsifinfo_lock);
+
+        count++;
+
+    } /* Bottom of loop: for each interface ... */
+
+    kmem_free(lifcbuf, ifcount * sizeof(struct lifreq));
+
+    /* End of thread. Time to clean up */
+    (void) ldi_close(lh, FREAD, cr);
+    (void) ldi_ident_release(li);
+
+    /* Schedule this to run again after afs_if_poll_interval seconds */
+    (void) timeout((void(*) (void *)) osi_StartNetIfPoller, NULL,
+        drv_usectohz((clock_t)afs_if_poll_interval * MICROSEC));
+
+}
+#endif /* AFS_SUN510_ENV */
+
 void
 shutdown_rxkernel(void)
 {
index 705a86f7986910617b9180b288f1f54f0b125fd3..ab19d10bdb63f78de64f55a203fa782f0062d1be 100644 (file)
@@ -17,7 +17,7 @@
 #endif
 
 RCSID
-    ("$Header: /cvs/openafs/src/rx/rx.c,v 1.58.2.36 2007/02/15 17:11:40 shadow Exp $");
+    ("$Header: /cvs/openafs/src/rx/rx.c,v 1.58.2.39 2007/05/16 20:46:47 shadow Exp $");
 
 #ifdef KERNEL
 #include "afs/sysincludes.h"
@@ -1039,6 +1039,24 @@ rx_GetConnection(register struct rx_connection *conn)
     USERPRI;
 }
 
+/* Wait for the transmit queue to no longer be busy. 
+ * requires the call->lock to be held */
+static void rxi_WaitforTQBusy(struct rx_call *call) {
+    while (call->flags & RX_CALL_TQ_BUSY) {
+       call->flags |= RX_CALL_TQ_WAIT;
+       call->tqWaiters++;
+#ifdef RX_ENABLE_LOCKS
+       osirx_AssertMine(&call->lock, "rxi_WaitforTQ lock");
+       CV_WAIT(&call->cv_tq, &call->lock);
+#else /* RX_ENABLE_LOCKS */
+       osi_rxSleep(&call->tq);
+#endif /* RX_ENABLE_LOCKS */
+       call->tqWaiters--;
+       if (call->tqWaiters == 0) {
+           call->flags &= ~RX_CALL_TQ_WAIT;
+       }
+    }
+}
 /* Start a new rx remote procedure call, on the specified connection.
  * If wait is set to 1, wait for a free call channel; otherwise return
  * 0.  Maxtime gives the maximum number of seconds this call may take,
@@ -1164,20 +1182,7 @@ rx_NewCall(register struct rx_connection *conn)
 #ifdef AFS_GLOBAL_RXLOCK_KERNEL
     /* Now, if TQ wasn't cleared earlier, do it now. */
     MUTEX_ENTER(&call->lock);
-    while (call->flags & RX_CALL_TQ_BUSY) {
-       call->flags |= RX_CALL_TQ_WAIT;
-       call->tqWaiters++;
-#ifdef RX_ENABLE_LOCKS
-       osirx_AssertMine(&call->lock, "rxi_Start lock4");
-       CV_WAIT(&call->cv_tq, &call->lock);
-#else /* RX_ENABLE_LOCKS */
-       osi_rxSleep(&call->tq);
-#endif /* RX_ENABLE_LOCKS */
-       call->tqWaiters--;
-       if (call->tqWaiters == 0) {
-           call->flags &= ~RX_CALL_TQ_WAIT;
-       }
-    }
+    rxi_WaitforTQBusy(call);
     if (call->flags & RX_CALL_TQ_CLEARME) {
        rxi_ClearTransmitQueue(call, 0);
        queue_Init(&call->tq);
@@ -3346,9 +3351,11 @@ rxi_ReceiveDataPacket(register struct rx_call *call,
 
            /* We need to send an ack of the packet is out of sequence, 
             * or if an ack was requested by the peer. */
-           if (seq != prev + 1 || missing || (flags & RX_REQUEST_ACK)) {
+           if (seq != prev + 1 || missing) {
                ackNeeded = RX_ACK_OUT_OF_SEQUENCE;
-           }
+           } else if (flags & RX_REQUEST_ACK) {
+               ackNeeded = RX_ACK_REQUESTED;
+            }
 
            /* Acknowledge the last packet for each call */
            if (flags & RX_LAST_PACKET) {
@@ -3829,19 +3836,7 @@ rxi_ReceiveAckPacket(register struct rx_call *call, struct rx_packet *np,
            return np;
        }
        call->flags |= RX_CALL_FAST_RECOVER_WAIT;
-       while (call->flags & RX_CALL_TQ_BUSY) {
-           call->flags |= RX_CALL_TQ_WAIT;
-           call->tqWaiters++;
-#ifdef RX_ENABLE_LOCKS
-           osirx_AssertMine(&call->lock, "rxi_Start lock2");
-           CV_WAIT(&call->cv_tq, &call->lock);
-#else /* RX_ENABLE_LOCKS */
-           osi_rxSleep(&call->tq);
-#endif /* RX_ENABLE_LOCKS */
-           call->tqWaiters--;
-           if (call->tqWaiters == 0)
-               call->flags &= ~RX_CALL_TQ_WAIT;
-       }
+       rxi_WaitforTQBusy(call);
        MUTEX_ENTER(&peer->peer_lock);
 #endif /* AFS_GLOBAL_RXLOCK_KERNEL */
        call->flags &= ~RX_CALL_FAST_RECOVER_WAIT;
@@ -5020,19 +5015,7 @@ rxi_Start(struct rxevent *event, register struct rx_call *call,
            return;
        }
        call->flags |= RX_CALL_FAST_RECOVER_WAIT;
-       while (call->flags & RX_CALL_TQ_BUSY) {
-           call->flags |= RX_CALL_TQ_WAIT;
-           call->tqWaiters++;
-#ifdef RX_ENABLE_LOCKS
-           osirx_AssertMine(&call->lock, "rxi_Start lock1");
-           CV_WAIT(&call->cv_tq, &call->lock);
-#else /* RX_ENABLE_LOCKS */
-           osi_rxSleep(&call->tq);
-#endif /* RX_ENABLE_LOCKS */
-           call->tqWaiters--;
-           if (call->tqWaiters == 0)
-               call->flags &= ~RX_CALL_TQ_WAIT;
-       }
+       rxi_WaitforTQBusy(call);
 #endif /* AFS_GLOBAL_RXLOCK_KERNEL */
        call->flags &= ~RX_CALL_FAST_RECOVER_WAIT;
        call->flags |= RX_CALL_FAST_RECOVER;
@@ -5547,6 +5530,7 @@ rxi_SendDelayedCallAbort(struct rxevent *event, register struct rx_call *call,
                            (char *)&error, sizeof(error), 0);
        rxi_FreePacket(packet);
     }
+    CALL_RELE(call, RX_CALL_REFCOUNT_ABORT);
     MUTEX_EXIT(&call->lock);
 }
 
index 100dca4c636bd50bee04f5243616174d70010965..acd57f1d20e82bd836177981e52a616954c0fd18 100644 (file)
@@ -635,7 +635,7 @@ struct rx_ackPacket {
 #define        RX_ACK_PING_RESPONSE    7       /* Ack'ing because we were pinged */
 #define        RX_ACK_DELAY            8       /* Ack generated since nothing has happened since receiving packet */
 #define RX_ACK_IDLE             9      /* Similar to RX_ACK_DELAY, but can 
-                                        * be */
+                                        * be used to compute RTT */
 
 /* Packet acknowledgement type */
 #define        RX_ACK_TYPE_NACK        0       /* I Don't have this packet */
index 4b4d2a3027c17c3f71e8e77c81ae60e2530cbf7a..717f47753ea3b2e6b0e3097ad75366d70c90a525 100644 (file)
@@ -158,6 +158,10 @@ extern rxk_portRocks_t rxk_portRocks;
 extern struct domain inetdomain;
 #endif /* AFS_XBSD_ENV */
 
+#if defined(AFS_SUN510_ENV)
+extern struct afs_ifinfo afsifinfo[ADDRSPERSITE];
+#endif
+
 #endif /* _RX_KCOMMON_H_ */
 
 #endif
index 170c38d047af48692823f00e2f8fb9653b98567a..e7bc7ed1a030cef1189a88087fde5b06aea44ff1 100644 (file)
@@ -22,7 +22,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/rx/rx_lwp.c,v 1.17.2.1 2004/12/07 06:10:06 shadow Exp $");
+    ("$Header: /cvs/openafs/src/rx/rx_lwp.c,v 1.17.2.2 2007/06/14 19:05:03 jaltman Exp $");
 
 # include <sys/types.h>                /* fd_set on older platforms */
 # include <errno.h>
@@ -445,12 +445,12 @@ rxi_Sendmsg(osi_socket socket, struct msghdr *msg_p, int flags)
            if (!(sfds = IOMGR_AllocFDSet())) {
                (osi_Msg "rx failed to alloc fd_set: ");
                perror("rx_sendmsg");
-               return 3;
+               return -1;
            }
            FD_SET(socket, sfds);
        }
 #ifdef AFS_NT40_ENV
-       if (errno)
+       if (WSAGetLastError())
 #elif defined(AFS_LINUX22_ENV)
        /* linux unfortunately returns ECONNREFUSED if the target port
         * is no longer in use */
@@ -463,7 +463,7 @@ rxi_Sendmsg(osi_socket socket, struct msghdr *msg_p, int flags)
        {
            (osi_Msg "rx failed to send packet: ");
            perror("rx_sendmsg");
-           return 3;
+           return -1;
        }
        while ((err = select(socket + 1, 0, sfds, 0, 0)) != 1) {
            if (err >= 0 || errno != EINTR)
index da99a049c08541890e7694f4951cb059e6596d0f..4e57805b998cfcfb5535ae8d651f5f32ab1b45cb 100644 (file)
@@ -15,7 +15,7 @@
 #endif
 
 RCSID
-    ("$Header: /cvs/openafs/src/rx/rx_packet.c,v 1.35.2.30 2007/01/12 03:51:23 shadow Exp $");
+    ("$Header: /cvs/openafs/src/rx/rx_packet.c,v 1.35.2.33 2007/06/23 06:27:22 shadow Exp $");
 
 #ifdef KERNEL
 #if defined(UKERNEL)
@@ -2209,25 +2209,23 @@ rxi_SendPacket(struct rx_call *call, struct rx_connection *conn,
            p->retryTime = p->timeSent; /* resend it very soon */
            clock_Addmsec(&(p->retryTime),
                          10 + (((afs_uint32) p->backoff) << 8));
-
-#ifdef AFS_NT40_ENV
-           /* Windows is nice -- it can tell us right away that we cannot
-            * reach this recipient by returning an WSAEHOSTUNREACH error
-            * code.  So, when this happens let's "down" the host NOW so
+           /* Some systems are nice and tell us right away that we cannot
+            * reach this recipient by returning an error code. 
+            * So, when this happens let's "down" the host NOW so
             * we don't sit around waiting for this host to timeout later.
             */
-               if (call && code == -1 && errno == WSAEHOSTUNREACH)
-                       call->lastReceiveTime = 0;
+           if (call && 
+#ifdef AFS_NT40_ENV
+               code == -1 && WSAGetLastError() == WSAEHOSTUNREACH
+#elif defined(AFS_LINUX20_ENV) && defined(KERNEL)
+               code == -ENETUNREACH
+#elif defined(AFS_DARWIN_ENV) && defined(KERNEL)
+               code == EHOSTUNREACH
+#else
+               0
 #endif
-#if defined(KERNEL) && defined(AFS_LINUX20_ENV)
-           /* Linux is nice -- it can tell us right away that we cannot
-            * reach this recipient by returning an ENETUNREACH error
-            * code.  So, when this happens let's "down" the host NOW so
-            * we don't sit around waiting for this host to timeout later.
-            */
-           if (call && code == -ENETUNREACH)
+               )
                call->lastReceiveTime = 0;
-#endif
        }
 #ifdef KERNEL
 #ifdef RX_KERNEL_TRACE
@@ -2403,24 +2401,23 @@ rxi_SendPacketList(struct rx_call *call, struct rx_connection *conn,
                clock_Addmsec(&(p->retryTime),
                              10 + (((afs_uint32) p->backoff) << 8));
            }
-#ifdef AFS_NT40_ENV
-           /* Windows is nice -- it can tell us right away that we cannot
-            * reach this recipient by returning an WSAEHOSTUNREACH error
-            * code.  So, when this happens let's "down" the host NOW so
+           /* Some systems are nice and tell us right away that we cannot
+            * reach this recipient by returning an error code. 
+            * So, when this happens let's "down" the host NOW so
             * we don't sit around waiting for this host to timeout later.
             */
-           if (call && code == -1 && errno == WSAEHOSTUNREACH)
-               call->lastReceiveTime = 0;
+           if (call && 
+#ifdef AFS_NT40_ENV
+               code == -1 && WSAGetLastError() == WSAEHOSTUNREACH
+#elif defined(AFS_LINUX20_ENV) && defined(KERNEL)
+               code == -ENETUNREACH
+#elif defined(AFS_DARWIN_ENV) && defined(KERNEL)
+               code == EHOSTUNREACH
+#else
+               0
 #endif
-#if defined(KERNEL) && defined(AFS_LINUX20_ENV)
-           /* Linux is nice -- it can tell us right away that we cannot
-            * reach this recipient by returning an ENETUNREACH error
-            * code.  So, when this happens let's "down" the host NOW so
-            * we don't sit around waiting for this host to timeout later.
-            */
-           if (call && code == -ENETUNREACH)
+               )
                call->lastReceiveTime = 0;
-#endif
        }
 #if    defined(AFS_SUN5_ENV) && defined(KERNEL)
        if (!istack && waslocked)
index 4de165c0008d144c4578350b5f99b9e064a89784..cbbe19d82759e54f056b400852604016bf7a4c40 100644 (file)
@@ -377,7 +377,6 @@ extern struct ifnet *rxi_FindIfnet(afs_uint32 addr, afs_uint32 * maskp);
 #endif
 extern void osi_StopListener(void);
 
-
 /* ARCH/rx_kmutex.c */
 #if defined(KERNEL) && defined(AFS_LINUX20_ENV)
 extern void afs_mutex_init(afs_kmutex_t * l);
@@ -399,6 +398,11 @@ extern int osi_NetSend(osi_socket asocket, struct sockaddr_in *addr,
 #endif
 extern int osi_NetReceive(osi_socket so, struct sockaddr_in *addr,
                          struct iovec *dvec, int nvecs, int *lengthp);
+#if defined(KERNEL) && defined(AFS_SUN510_ENV)
+extern void osi_StartNetIfPoller(void);
+extern void osi_NetIfPoller(void);
+extern struct afs_ifinfo afsifinfo[ADDRSPERSITE];
+#endif
 extern void osi_StopListener(void);
 extern int rxi_FindIfMTU(afs_uint32 addr);
 #ifndef RXK_LISTENER_ENV
index d0720c2653ed86750820ef7b9abcf590fbf3a1f8..ddc001e198dcd6d40a15bd0742651a27b8567d42 100644 (file)
@@ -38,7 +38,7 @@
 #endif
 
 RCSID
-    ("$Header: /cvs/openafs/src/rxkad/bg-fcrypt.c,v 1.5.2.3 2006/08/02 19:07:04 shadow Exp $");
+    ("$Header: /cvs/openafs/src/rxkad/bg-fcrypt.c,v 1.5.2.5 2007/07/31 22:22:21 shadow Exp $");
 
 #define DEBUG 0
 #ifdef KERNEL
@@ -550,8 +550,8 @@ fc_keysched(void *key_, fc_KeySchedule sched)
     const unsigned char *key = key_;
 
     /* Do we have 56 bit longs or even longer longs? */
-#if ((1ul << 31) << 1) && defined(ULONG_MAX) && ((ULONG_MAX >> 55) != 0) && ((1ul << 55) != 0)
-    unsigned long k;           /* k holds all 56 non parity bits */
+#ifdef AFS_64BIT_ENV
+    afs_uint64 k;              /* k holds all 56 non parity bits */
 
     /* Compress out parity bits */
     k = (*key++) >> 1;
index a72e77e7675f2689497ae89a4a7844cb5a301842..bc95ebb2529f0e78a3c6e27a633ac99fe9851c3c 100644 (file)
@@ -15,7 +15,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/rxkad/rxkad_server.c,v 1.14.2.8 2006/11/04 23:50:38 jaltman Exp $");
+    ("$Header: /cvs/openafs/src/rxkad/rxkad_server.c,v 1.14.2.9 2007/06/10 14:22:49 jaltman Exp $");
 
 #include <afs/stds.h>
 #include <sys/types.h>
@@ -361,8 +361,6 @@ rxkad_CheckResponse(struct rx_securityClass *aobj,
        return RXKADEXPIRED;
     else if (code < -1)
        return RXKADBADTICKET;
-    else if (code <= 0)
-       return RXKADBADTICKET;
 
     code = fc_keysched(&sessionkey, sconn->keysched);
     if (code)
index 20f0201293188713e3e94ecdb27615c2b38ececb..55b96bdcb3cddc899dad2efaa983f27d340e8e5c 100644 (file)
@@ -13,7 +13,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/rxkad/test/stress.c,v 1.9 2003/07/15 23:16:47 shadow Exp $");
+    ("$Header: /cvs/openafs/src/rxkad/test/stress.c,v 1.9.2.1 2007/04/10 18:43:45 shadow Exp $");
 
 #include <afs/stds.h>
 #include <sys/types.h>
@@ -154,7 +154,7 @@ CommandProc(as, arock)
        /* These options not compatible with -server */
        if (cParms->stopServer) {
            code = RXKST_BADARGS;
-           com_err(whoami, code, "stop server not compatible with -client");
+           afs_com_err(whoami, code, "stop server not compatible with -client");
            return code;
        }
 
@@ -176,7 +176,7 @@ CommandProc(as, arock)
 
            code = pthread_attr_init(&tattr);
            if (code) {
-               com_err(whoami, code,
+               afs_com_err(whoami, code,
                        "can't pthread_attr_init server process");
                return code;
            }
@@ -184,7 +184,7 @@ CommandProc(as, arock)
            code =
                pthread_attr_setdetachstate(&tattr, PTHREAD_CREATE_DETACHED);
            if (code) {
-               com_err(whoami, code,
+               afs_com_err(whoami, code,
                        "can't pthread_attr_setdetachstate server process");
                return code;
            }
@@ -199,7 +199,7 @@ CommandProc(as, arock)
                              (opaque) sParms, "Server Process", &pid);
 #endif
        if (code) {
-           com_err(whoami, code, "can't create server process");
+           afs_com_err(whoami, code, "can't create server process");
            return code;
        }
     } else {
@@ -258,7 +258,7 @@ CommandProc(as, arock)
 
        code = rxkst_StartClient(cParms);
        if (code) {
-           com_err(whoami, code, "StartClient returned");
+           afs_com_err(whoami, code, "StartClient returned");
            return code;
        }
     } else {
@@ -266,7 +266,7 @@ CommandProc(as, arock)
            || as->parms[aFASTCALLS].items || as->parms[aSLOWCALLS].items
            || as->parms[aCOPIOUSCALLS].items) {
            code = RXKST_BADARGS;
-           com_err(whoami, code,
+           afs_com_err(whoami, code,
                    "send/recv len and # calls are client options");
            return code;
        }
@@ -299,14 +299,14 @@ main(argc, argv)
     code = rx_Init(0);
     rx_SetRxDeadTime(120);
     if (code < 0) {
-       com_err(whoami, code, "can't init Rx");
+       afs_com_err(whoami, code, "can't init Rx");
        exit(1);
     }
 #ifndef AFS_PTHREAD_ENV
     initialProcess = 0;
     code = LWP_CurrentProcess(&initialProcess);
     if (code) {
-       com_err(whoami, code, "LWP initialization failed");
+       afs_com_err(whoami, code, "LWP initialization failed");
        exit(1);
     }
 #endif
index b52bce66fb4abcc33eacb9599b3dd595da88132d..7d0a214ca286b17b20b8814b453287cd302f0866 100644 (file)
@@ -13,7 +13,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/rxkad/test/stress_c.c,v 1.9 2003/07/15 23:16:47 shadow Exp $");
+    ("$Header: /cvs/openafs/src/rxkad/test/stress_c.c,v 1.9.2.1 2007/04/10 18:43:45 shadow Exp $");
 
 #include <afs/stds.h>
 #include <sys/types.h>
@@ -318,7 +318,7 @@ CallSimultaneously(threads, rock, proc)
 
            code = pthread_attr_init(&tattr);
            if (code) {
-               com_err(whoami, code,
+               afs_com_err(whoami, code,
                        "can't pthread_attr_init worker process");
                return code;
            }
@@ -326,7 +326,7 @@ CallSimultaneously(threads, rock, proc)
            code =
                pthread_attr_setdetachstate(&tattr, PTHREAD_CREATE_DETACHED);
            if (code) {
-               com_err(whoami, code,
+               afs_com_err(whoami, code,
                        "can't pthread_attr_setdetachstate worker process");
                return code;
            }
@@ -339,7 +339,7 @@ CallSimultaneously(threads, rock, proc)
                              (opaque) w, "Worker Process", &pid);
 #endif
        if (code) {
-           com_err(whoami, code, "can't create worker process");
+           afs_com_err(whoami, code, "can't create worker process");
            return code;
        }
     }
@@ -428,7 +428,7 @@ RunLoadTest(parms, conn)
     start = ftime();
     code = CallSimultaneously(parms->threads, &c, DoClient);
     if (code) {
-       com_err(whoami, code, "in DoClient");
+       afs_com_err(whoami, code, "in DoClient");
        return code;
     }
     interval = ftime() - start;
@@ -611,10 +611,10 @@ MakeMultiChannelCall(conn, each, expectedCode, codes)
     code = CallSimultaneously(RX_MAXCALLS, &mc, UniChannelCall);
     if (((expectedCode == RXKST_INCFAILED) || (expectedCode == -1)) && ((code == expectedCode) || (code == -3)));      /* strange cases */
     else if (code != expectedCode) {
-       com_err(whoami, code,
+       afs_com_err(whoami, code,
                "problem making multichannel call, expected '%s'",
                ((expectedCode == 0)
-                ? "no error" : (char *)error_message(expectedCode)));
+                ? "no error" : (char *)afs_error_message(expectedCode)));
     }
     return code;
 }
@@ -646,14 +646,14 @@ CheckCallFailure(conn, codes, code, msg)
                    someZero++;
                    fprintf(stderr, "  %d no error\n", i);
                } else
-                   fprintf(stderr, "  %d %s\n", i, error_message(codes[i]));
+                   fprintf(stderr, "  %d %s\n", i, afs_error_message(codes[i]));
            }
            if (someZero) {
                char buf[100];
                sprintf(buf, "connection dead following %s", msg);
                code = FastCall(conn);
                if (code)
-                   com_err(whoami, code, buf);
+                   afs_com_err(whoami, code, buf);
            }
        }
     }
@@ -674,7 +674,7 @@ RunCallTest(parms, host, sc, si)
 #ifndef rx_GetPacketCksum
 
     code = RXKST_BADARGS;
-    com_err(whoami, code,
+    afs_com_err(whoami, code,
            "Older versions of Rx don't support Get/Set callNumber Vector procedures: can't run this CallTest");
     return code;
 
@@ -1049,7 +1049,7 @@ RunHijackTest(parms, host, sc, si)
 #ifndef rx_GetPacketCksum
 
     code = RXKST_BADARGS;
-    com_err(whoami, code,
+    afs_com_err(whoami, code,
            "Older versions of Rx don't export packet tracing routines: can't run this HijackTest");
     return code;
 
@@ -1095,7 +1095,7 @@ RunHijackTest(parms, host, sc, si)
     outgoingOps.op = OO_ZEROCKSUM;
     code = FastCall(conn);
     if (code) {
-       com_err(whoami, code, "doing FastCall with ZEROCKSUM");
+       afs_com_err(whoami, code, "doing FastCall with ZEROCKSUM");
        return code;
     }
     /* The server thinks we're an old style client.  Now start sending cksums.
@@ -1103,7 +1103,7 @@ RunHijackTest(parms, host, sc, si)
     outgoingOps.op = OO_NOOP;
     code = FastCall(conn);
     if (code) {
-       com_err(whoami, code, "doing FastCall with non-ZEROCKSUM");
+       afs_com_err(whoami, code, "doing FastCall with non-ZEROCKSUM");
        return code;
     }
     /* The server now thinks we're a new style client, we can't go back now. */
@@ -1112,11 +1112,11 @@ RunHijackTest(parms, host, sc, si)
     if (code == 0)
        code = RXKST_NOBADCKSUM;
     if (code != RXKADSEALEDINCON) {
-       com_err(whoami, code, "doing FastCall with ZEROCKSUM");
+       afs_com_err(whoami, code, "doing FastCall with ZEROCKSUM");
        return code;
     } else if (!conn->error) {
        code = RXKST_NOCONNERROR;
-       com_err(whoami, code, "doing FastCall with ZEROCKSUM");
+       afs_com_err(whoami, code, "doing FastCall with ZEROCKSUM");
        return code;
     } else
        code = 0;
@@ -1130,11 +1130,11 @@ RunHijackTest(parms, host, sc, si)
     if (code == 0)
        code = RXKST_NOBADCKSUM;
     if (code != RXKADSEALEDINCON) {
-       com_err(whoami, code, "doing FastCall with ZEROCKSUM");
+       afs_com_err(whoami, code, "doing FastCall with ZEROCKSUM");
        return code;
     } else if (!conn->error) {
        code = RXKST_NOCONNERROR;
-       com_err(whoami, code, "doing FastCall with ZEROCKSUM");
+       afs_com_err(whoami, code, "doing FastCall with ZEROCKSUM");
        return code;
     } else
        code = 0;
@@ -1172,7 +1172,7 @@ RunHijackTest(parms, host, sc, si)
     if (outgoingOps.counts[RX_PACKET_TYPE_RESPONSE] > 0) {
       oracle:
        code = RXKST_CHALLENGEORACLE;
-       com_err(whoami, code, "misdirecting challenge");
+       afs_com_err(whoami, code, "misdirecting challenge");
        return code;
     }
     code = FastCall(otherConn);        /* generate some activity here */
@@ -1206,14 +1206,14 @@ RunHijackTest(parms, host, sc, si)
 
        code = pthread_attr_init(&tattr);
        if (code) {
-           com_err(whoami, code,
+           afs_com_err(whoami, code,
                    "can't pthread_attr_init slow call process");
            return code;
        }
 
        code = pthread_attr_setdetachstate(&tattr, PTHREAD_CREATE_DETACHED);
        if (code) {
-           com_err(whoami, code,
+           afs_com_err(whoami, code,
                    "can't pthread_attr_setdetachstate slow call process");
            return code;
        }
@@ -1226,7 +1226,7 @@ RunHijackTest(parms, host, sc, si)
                          (opaque) otherConn, "Slow Call Process", &pid);
 #endif
     if (code) {
-       com_err(whoami, code, "can't create slow call process");
+       afs_com_err(whoami, code, "can't create slow call process");
        return code;
     }
 #ifdef AFS_PTHREAD_ENV
@@ -1339,7 +1339,7 @@ rxkst_StartClient(parms)
        if (conn) {
            code = RXKST_Kill(conn);
            if (code) {
-               com_err(whoami, code, "trying to stop server");
+               afs_com_err(whoami, code, "trying to stop server");
            }
            rx_DestroyConnection(conn);
        } else
@@ -1357,7 +1357,7 @@ rxkst_StartClient(parms)
     rxs_Release(sc);
     rx_Finalize();
     if (code) {
-       com_err(parms->whoami, code, "test fails");
+       afs_com_err(parms->whoami, code, "test fails");
        exit(13);
     } else {
        printf("Test Okay\n");
index b0bfac6af7fc3caac0a6a2bffaf4992a790461b8..06f1af9f6ac93bc607a57eec51c66d5a6884e09c 100644 (file)
@@ -84,8 +84,8 @@ rxkad_global_stats_lock
 rxkad_stats_key
 _et_list
 et_list_mutex
-com_err
-error_message
+afs_com_err
+afs_error_message
 rx_socket
 des_pcbc_init
 rx_BusyError
index e791b5f16f8a15a5493c97b75f7faa39dba53a50..dbab5ea8e8db50559059fc28a791f066e76899f6 100644 (file)
@@ -57,8 +57,8 @@
        rxkad_global_stats;
        rxkad_global_stats_lock;
        rxkad_stats_key;
-       com_err;
-       error_message;
+       afs_com_err;
+       afs_error_message;
        rx_socket;
        rxevent_debugFile;
        rx_debugFile;
index 2be1fe72ead9ffee055f68535d25f373f50bb2ac..b47b078d2540f6d8e77710d0c7770bf2c3bd746d 100644 (file)
@@ -57,8 +57,8 @@
        rxkad_global_stats;
        rxkad_global_stats_lock;
        rxkad_stats_key;
-       com_err;
-       error_message;
+       afs_com_err;
+       afs_error_message;
        rx_socket;
        rxevent_debugFile;
        rx_debugFile;
index d0343657ea0a73cbaeaa628a5b17f0259457d227..071de8b577372302f0c46a1c2fbe78885efced18 100644 (file)
@@ -11,7 +11,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/sys/pagsh.c,v 1.9.2.3 2006/10/06 12:44:43 shadow Exp $");
+    ("$Header: /cvs/openafs/src/sys/pagsh.c,v 1.9.2.4 2007/07/10 20:30:57 shadow Exp $");
 
 #ifdef AFS_AIX32_ENV
 #include <signal.h>
@@ -119,18 +119,22 @@ ktc_newpag(void)
     afs_uint32 pag;
     struct stat sbuf;
     char fname[256], *prefix = "/ticket/";
+    char fname5[256], *prefix5 = "FILE:/ticket/krb5cc_";
     int numenv;
     char **newenv, **senv, **denv;
 
     if (stat("/ticket", &sbuf) == -1) {
        prefix = "/tmp/tkt";
+       prefix5 = "FILE:/tmp/krb5cc_";
     }
 
     pag = curpag() & 0xffffffff;
     if (pag == -1) {
        sprintf(fname, "%s%d", prefix, getuid());
+       sprintf(fname5, "%s%d", prefix5, getuid());
     } else {
        sprintf(fname, "%sp%ld", prefix, pag);
+       sprintf(fname5, "%sp%ld", prefix5, pag);
     }
 /*    ktc_set_tkt_string(fname); */
 
@@ -139,13 +143,18 @@ ktc_newpag(void)
     newenv = (char **)malloc((numenv + 2) * sizeof(char *));
 
     for (senv = environ, denv = newenv; *senv; *senv++) {
-       if (strncmp(*senv, "KRBTKFILE=", 10) != 0)
+       if (strncmp(*senv, "KRBTKFILE=", 10) != 0 &&
+               strncmp(*senv, "KRB5CCNAME=", 11) != 0)
            *denv++ = *senv;
     }
 
-    *denv = malloc(10 + strlen(fname) + 1);
+    *denv = malloc(10+11 + strlen(fname) + strlen(fname5) + 2);
     strcpy(*denv, "KRBTKFILE=");
     strcat(*denv, fname);
+    *(denv+1) = *denv + strlen(*denv) + 1;
+    denv++;
+    strcpy(*denv, "KRB5CCNAME=");
+    strcat(*denv, fname5);
     *++denv = 0;
     environ = newenv;
 }
index 8795cf5903909860668b1233d646fa8d80e8a88c..58d0133e1645e4d349368a67cd2d635bf0f52cf3 100644 (file)
@@ -11,7 +11,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/sys/pioctl_nt.c,v 1.18.2.12 2005/10/15 21:48:28 jaltman Exp $");
+    ("$Header: /cvs/openafs/src/sys/pioctl_nt.c,v 1.18.2.13 2007/06/10 05:54:10 jaltman Exp $");
 
 #include <afs/stds.h>
 #include <windows.h>
@@ -844,6 +844,10 @@ pioctl(char *pathp, long opcode, struct ViceIoctl *blobp, int follow)
 
     MarshallString(&preq, fullPath);
     if (blobp->in_size) {
+        if (blobp->in_size > sizeof(preq.data) - (preq.mp - preq.data)*sizeof(char)) {
+            errno = E2BIG;
+            return -1;
+        }
        memcpy(preq.mp, blobp->in, blobp->in_size);
        preq.mp += blobp->in_size;
     }
index d63da628fa5a2f906d067a6dbbdfc1c918fed552..d974e2dcf791f8824ebb2bb556886a430b34fe49 100644 (file)
@@ -351,12 +351,12 @@ main(int argc, char **argv)
            dfd = open(destpath, O_RDWR | O_TRUNC, 0666);
            if (dfd < 0) {
                fprintf(stderr, "Cannot open %s (%s)\n", destpath,
-                       error_message(errno));
+                       afs_error_message(errno));
                goto Fail_dconn;
            }
        } else if (dfd < 0) {
            fprintf(stderr, "Cannot open %s (%s)\n", destpath,
-                   error_message(errno));
+                   afs_error_message(errno));
            goto Fail_dconn;
        }
     } else {
@@ -372,7 +372,7 @@ main(int argc, char **argv)
                    code = 0;
            } else {
                printf("Cannot create %s (%s)\n", destpath,
-                      error_message(code));
+                      afs_error_message(code));
                if (code)
                    goto Fail_dconn;
            }
@@ -383,19 +383,19 @@ main(int argc, char **argv)
        sfd = open(srcf, O_RDONLY, 0);
        if (sfd < 0) {
            fprintf(stderr, "Cannot open %s (%s)\n", srcf,
-                   error_message(errno));
+                   afs_error_message(errno));
            goto Fail_dconn;
        }
        if (fstat(sfd, &statbuf) < 0) {
            fprintf(stderr, "Cannot stat %s (%s)\n", srcf,
-                   error_message(errno));
+                   afs_error_message(errno));
            close(sfd);
            goto Fail_dconn;
        }
     } else {
        if ((code = RXAFS_FetchStatus(sconn, &sf, &fst, &scb, &vs))) {
            printf("Cannot fetchstatus of %d.%d (%s)\n", sf.Volume, sf.Vnode,
-                  error_message(code));
+                  afs_error_message(code));
            goto Fail_dconn;
        }
     }
@@ -420,7 +420,7 @@ main(int argc, char **argv)
     if (!slcl) {
        if ((code = StartRXAFS_FetchData(scall, &sf, 0, filesz))) {
            printf("Unable to fetch data from %s (%s)\n", srcf,
-                  error_message(code));
+                  afs_error_message(code));
            goto Fail_call;
        }
     }
@@ -441,7 +441,7 @@ main(int argc, char **argv)
        if ((code =
             StartRXAFS_StoreData(dcall, &df, &sst, 0, filesz, filesz))) {
            printf("Unable to store data to %s (%s)\n", destpath,
-                  error_message(code));
+                  afs_error_message(code));
            goto Fail_call;
        }
     }
@@ -500,7 +500,7 @@ main(int argc, char **argv)
        fetchcode = rx_EndCall(scall, fetchcode);
     }
     if (fetchcode && printcallerrs)
-       printf("Error returned from fetch: %s\n", error_message(fetchcode));
+       printf("Error returned from fetch: %s\n", afs_error_message(fetchcode));
 
     if (dlcl) {
        if (close(dfd) && !storecode)
@@ -509,7 +509,7 @@ main(int argc, char **argv)
        storecode = rx_EndCall(dcall, storecode);
     }
     if (storecode && printcallerrs)
-       printf("Error returned from store: %s\n", error_message(storecode));
+       printf("Error returned from store: %s\n", afs_error_message(storecode));
 
     gettimeofday(&finish, &tz);
 
@@ -521,7 +521,7 @@ main(int argc, char **argv)
        scb.CallBackType = CB_DROPPED;
        if ((code = RXAFS_GiveUpCallBacks(sconn, &theFids, &theCBs)))
            printf("Could not give up source callback: %s\n",
-                  error_message(code));
+                  afs_error_message(code));
     }
 
     if (!dlcl) {
@@ -532,7 +532,7 @@ main(int argc, char **argv)
        dcb.CallBackType = CB_DROPPED;
        if ((code = RXAFS_GiveUpCallBacks(dconn, &theFids, &theCBs)))
            printf("Could not give up target callback: %s\n",
-                  error_message(code));
+                  afs_error_message(code));
     }
 
     if (code == 0)
index 020c38708a4d7be0586418ec33ee442c015fd4b5..3dced007588544abf2d186ba9ef06458022357a4 100644 (file)
@@ -114,7 +114,7 @@ my_error_cb(afs_uint32 code, int fatal, void *ref, char *msg, ...)
     error_count++;
     if (!quiet) {
        va_start(alist, msg);
-       com_err_va(argv0, code, msg, alist);
+       afs_com_err_va(argv0, code, msg, alist);
        va_end(alist);
     }
 }
@@ -137,7 +137,7 @@ main(int argc, char **argv)
     initialize_xFil_error_table();
     r = xfopen(&input_file, O_RDONLY, input_path);
     if (r) {
-       com_err(argv0, r, "opening %s", input_path);
+       afs_com_err(argv0, r, "opening %s", input_path);
        exit(2);
     }
 
@@ -153,6 +153,6 @@ main(int argc, char **argv)
     if (verbose && error_count)
        fprintf(stderr, "*** %d errors\n", error_count);
     if (r && !quiet)
-       fprintf(stderr, "*** FAILED: %s\n", error_message(r));
+       fprintf(stderr, "*** FAILED: %s\n", afs_error_message(r));
     exit(0);
 }
index 8df473fea6c4ec48dc61f5e71fe11314620fc74f..f900d91d54821341155be29bbdbf44faaad7b25f 100644 (file)
@@ -320,7 +320,7 @@ my_error_cb(afs_uint32 code, int fatal, void *ref, char *msg, ...)
     error_count++;
     if (!quiet) {
        va_start(alist, msg);
-       com_err_va(argv0, code, msg, alist);
+       afs_com_err_va(argv0, code, msg, alist);
        va_end(alist);
     }
 }
@@ -547,7 +547,7 @@ main(int argc, char **argv)
     initialize_xFil_error_table();
     r = xfopen(&input_file, O_RDONLY, input_path);
     if (r) {
-       com_err(argv0, r, "opening %s", input_path);
+       afs_com_err(argv0, r, "opening %s", input_path);
        exit(2);
     }
 
@@ -568,7 +568,7 @@ main(int argc, char **argv)
        if ((r = xftell(&input_file, &where))
            || (r = Path_PreScan(&input_file, &phi, 1))
            || (r = xfseek(&input_file, &where))) {
-           com_err(argv0, r, "- path initialization failed");
+           afs_com_err(argv0, r, "- path initialization failed");
            xfclose(&input_file);
            exit(1);
        }
@@ -596,6 +596,6 @@ main(int argc, char **argv)
     if (verbose && error_count)
        fprintf(stderr, "*** %d errors\n", error_count);
     if (r && !quiet)
-       fprintf(stderr, "*** FAILED: %s\n", error_message(r));
+       fprintf(stderr, "*** FAILED: %s\n", afs_error_message(r));
     exit(0);
 }
index 9f2557a7248fb4f613cca7a610aa69daf58f03ac..0127a5e4e8466c67d6b7b14462362584354b35f4 100644 (file)
@@ -223,7 +223,7 @@ my_error_cb(afs_uint32 code, int fatal, void *ref, char *msg, ...)
     error_count++;
     if (!quiet) {
        va_start(alist, msg);
-       com_err_va(argv0, code, msg, alist);
+       afs_com_err_va(argv0, code, msg, alist);
        va_end(alist);
     }
 }
@@ -290,7 +290,7 @@ main(int argc, char **argv)
     initialize_xFil_error_table();
     r = xfopen(&input_file, O_RDONLY, input_path);
     if (r) {
-       com_err(argv0, r, "opening %s", input_path);
+       afs_com_err(argv0, r, "opening %s", input_path);
        exit(2);
     }
 
@@ -311,7 +311,7 @@ main(int argc, char **argv)
     }
 
     if (gendump_path && (r = setup_repair())) {
-       com_err(argv0, r, "setting up repair output");
+       afs_com_err(argv0, r, "setting up repair output");
        xfclose(&input_file);
        exit(2);
     }
@@ -326,7 +326,7 @@ main(int argc, char **argv)
        if ((r = xftell(&input_file, &where))
            || (r = Path_PreScan(&input_file, &phi, 0))
            || (r = xfseek(&input_file, &where))) {
-           com_err(argv0, r, "- path initialization failed");
+           afs_com_err(argv0, r, "- path initialization failed");
            xfclose(&input_file);
            exit(2);
        }
@@ -353,6 +353,6 @@ main(int argc, char **argv)
     if (verbose && error_count)
        fprintf(stderr, "*** %d errors\n", error_count);
     if (r && !quiet)
-       fprintf(stderr, "*** FAILED: %s\n", error_message(r));
+       fprintf(stderr, "*** FAILED: %s\n", afs_error_message(r));
     exit(0);
 }
index acdadaaeb94b81073c90aaf7fb4cadd6b03e61b8..402fa1330bd91ff4473878bfee53898982cc60fa 100644 (file)
@@ -229,7 +229,7 @@ my_error_cb(afs_uint32 code, int fatal, void *ref, char *msg, ...)
     error_count++;
     if (!quiet) {
        va_start(alist, msg);
-       com_err_va(argv0, code, msg, alist);
+       afs_com_err_va(argv0, code, msg, alist);
        va_end(alist);
     }
 }
@@ -335,7 +335,7 @@ main(int argc, char **argv)
     initialize_AVds_error_table();
     r = xfopen(&X, input_path, O_RDONLY, 0);
     if (r) {
-       com_err(argv0, r, "opening %s", input_path);
+       afs_com_err(argv0, r, "opening %s", input_path);
        exit(2);
     }
 
@@ -356,7 +356,7 @@ main(int argc, char **argv)
     }
 
     if (gendump_path && (r = setup_repair())) {
-       com_err(argv0, r, "setting up repair output");
+       afs_com_err(argv0, r, "setting up repair output");
        xfclose(X);
        exit(2);
     }
@@ -371,7 +371,7 @@ main(int argc, char **argv)
        if ((r = xftell(X, &where))
            || (r = Path_PreScan(X, &phi, 0))
            || (r = xfseek(X, &where))) {
-           com_err(argv0, r, "- path initialization failed");
+           afs_com_err(argv0, r, "- path initialization failed");
            xfclose(X);
            exit(2);
        }
@@ -401,6 +401,6 @@ main(int argc, char **argv)
     if (verbose && error_count)
        fprintf(stderr, "*** %d errors\n", error_count);
     if (r && !quiet)
-       fprintf(stderr, "*** FAILED: %s\n", error_message(r));
+       fprintf(stderr, "*** FAILED: %s\n", afs_error_message(r));
     exit(0);
 }
index 0b5f016a43b2c36675ccf555e2e486cff0a91bea..519c9efd4efc72787b577d339d6edcf9cf19bb8c 100644 (file)
@@ -71,7 +71,7 @@ my_error_cb(afs_uint32 code, int fatal, void *ref, char *msg, ...)
     error_count++;
     if (!quiet) {
        va_start(alist, msg);
-       com_err_va(argv0, code, msg, alist);
+       afs_com_err_va(argv0, code, msg, alist);
        va_end(alist);
     }
 }
@@ -139,7 +139,7 @@ main(int argc, char **argv)
     initialize_xFil_error_table();
     r = xfopen(&input_file, O_RDONLY, input_path);
     if (r) {
-       com_err(argv0, r, "opening %s", input_path);
+       afs_com_err(argv0, r, "opening %s", input_path);
        exit(2);
     }
 
@@ -156,7 +156,7 @@ main(int argc, char **argv)
        if ((r = xftell(&input_file, &where))
            || (r = Path_PreScan(&input_file, &phi, 0))
            || (r = xfseek(&input_file, &where))) {
-           com_err(argv0, r, "- path initialization failed");
+           afs_com_err(argv0, r, "- path initialization failed");
            xfclose(&input_file);
            exit(2);
        }
@@ -171,5 +171,5 @@ main(int argc, char **argv)
     if (bad_count)
        printf("*** %d bad files\n", bad_count);
     if (r && !quiet)
-       printf("*** FAILED: %s\n", error_message(r));
+       printf("*** FAILED: %s\n", afs_error_message(r));
 }
index f891b6725eb1f3622294efa8199ee885d1baad0f..359a48faf025b0eed4b3a2ea28520718a2d478df 100644 (file)
@@ -48,6 +48,9 @@ AUTH_OBJS = \
                aix_auth_common.o \
                aix_ktc_null.o
 
+AUTH_KRB5_OBJS = \
+               aix_aklog.o 
+
 AUTH_KRB_OBJS = \
                aix_auth.o \
                aix_ident.o \
@@ -56,10 +59,12 @@ AUTH_KRB_OBJS = \
 
 AUTHLIBS= \
                afs_dynamic_auth \
+               aklog_dynamic_auth \
                afs_dynamic_kerbauth
 
 IMPORTS = -bI:/lib/aio.exp -bI:/lib/netinet.exp -bI:/lib/sockets.exp -bI:/lib/statcmd.exp 
 LDFLAGS = -eafs_initialize ${IMPORTS} -lsys -lcsys -lc
+AKLDFLAGS = -eaklog_initialize ${IMPORTS} -lsys -lcsys -lc
 
 all: $(AUTHLIBS)
 
@@ -71,12 +76,18 @@ clean:
 afs_dynamic_auth: ${AUTH_OBJS} ${AFSLIBS} ${AUTHFILES}
        $(LD) -o $@ ${AUTH_OBJS} $(AFSLIBS) ${AUTHFILES} ${XLIBS} ${LDFLAGS}
 
+aklog_dynamic_auth: ${AUTH_KRB5_OBJS} ${AFSLIBS} ${AUTHFILES}
+       $(LD) -o $@ ${AUTH_KRB5_OBJS} $(AFSLIBS) ${AUTHFILES} @KRB5LIBS@ ${XLIBS} ${AKLDFLAGS}
+
 afs_dynamic_kerbauth: ${AUTH_KRB_OBJS} ${KAFSLIBS} ${AUTHFILES}
        $(LD) -o $@ ${AUTH_KRB_OBJS} $(KAFSLIBS) ${AUTHFILES} ${XLIBS} ${LDFLAGS}
 
 aix_auth_common.o: ${srcdir}/aix_auth_common.c
        ${CCRULE}
 
+aix_aklog.o: ${srcdir}/aix_aklog.c
+       ${CCRULE} @KRB5CFLAGS@
+
 aix_ktc_krb.o: ${srcdir}/aix_ktc.c
        ${CCRULE} -DAFS_KERBEROS_ENV
 
diff --git a/src/tsm41/aix_aklog.c b/src/tsm41/aix_aklog.c
new file mode 100644 (file)
index 0000000..13bffc4
--- /dev/null
@@ -0,0 +1,563 @@
+/*
+ * Copyright 2000, International Business Machines Corporation and others.
+ * All Rights Reserved.
+ * 
+ * This software has been released under the terms of the IBM Public
+ * License.  For details, see the LICENSE file in the top-level source
+ * directory or online at http://www.openafs.org/dl/license10.html
+ */
+
+#include <afsconfig.h>
+#include <afs/param.h>
+
+RCSID
+    ("$Header: /cvs/openafs/src/tsm41/aix_aklog.c,v 1.1.4.2 2007/07/13 19:55:35 shadow Exp $");
+
+#if defined(AFS_AIX51_ENV)
+#include <sys/types.h>
+#include <sys/param.h>
+#include <stdio.h>
+#include <locale.h>
+#include <nl_types.h>
+#include <pwd.h>
+#include <netdb.h>
+#include <sys/socket.h>
+#include <sys/file.h>
+#include <errno.h>
+#include <usersec.h>
+
+#include <krb5.h>
+
+#include <afs/cellconfig.h>
+#include <afs/dirpath.h>
+#include <rx/rxkad.h>
+#include <afs/auth.h>
+#include "aix_auth_prototypes.h"
+
+struct afsconf_cell ak_cellconfig; /* General information about the cell */
+static char linkedcell[MAXCELLCHARS+1];
+static krb5_ccache  _krb425_ccache = NULL;
+
+#define AFSKEY "afs"
+#define AFSINST ""
+
+#ifndef ANAME_SZ
+#define ANAME_SZ 40
+#endif /* ANAME_SZ */
+#ifndef REALM_SZ
+#define REALM_SZ 40
+#endif /* REALM_SZ */
+#ifndef SNAME_SZ
+#define SNAME_SZ 40
+#endif /* SNAME_SZ */
+#ifndef INST_SZ
+#define INST_SZ 40
+#endif /* INST_SZ */
+
+/*
+ * Why doesn't AFS provide these prototypes?
+ */
+
+extern int pioctl(char *, afs_int32, struct ViceIoctl *, afs_int32);
+
+/*
+ * Other prototypes
+ */
+
+static krb5_error_code get_credv5(krb5_context context, char *, char *,
+                                 char *, krb5_creds **);
+static int get_user_realm(krb5_context, char *);
+
+#if defined(HAVE_KRB5_PRINC_SIZE) || defined(krb5_princ_size)
+
+#define get_princ_str(c, p, n) krb5_princ_component(c, p, n)->data
+#define get_princ_len(c, p, n) krb5_princ_component(c, p, n)->length
+#define second_comp(c, p) (krb5_princ_size(c, p) > 1)
+#define realm_data(c, p) krb5_princ_realm(c, p)->data
+#define realm_len(c, p) krb5_princ_realm(c, p)->length
+
+#elif defined(HAVE_KRB5_PRINCIPAL_GET_COMP_STRING)
+
+#define get_princ_str(c, p, n) krb5_principal_get_comp_string(c, p, n)
+#define get_princ_len(c, p, n) strlen(krb5_principal_get_comp_string(c, p, n))
+#define second_comp(c, p) (krb5_principal_get_comp_string(c, p, 1) != NULL)
+#define realm_data(c, p) krb5_realm_data(krb5_principal_get_realm(c, p))
+#define realm_len(c, p) krb5_realm_length(krb5_principal_get_realm(c, p))
+
+#else
+#error "Must have either krb5_princ_size or krb5_principal_get_comp_string"
+#endif
+
+#if defined(HAVE_KRB5_CREDS_KEYBLOCK)
+
+#define get_cred_keydata(c) c->keyblock.contents
+#define get_cred_keylen(c) c->keyblock.length
+#define get_creds_enctype(c) c->keyblock.enctype
+
+#elif defined(HAVE_KRB5_CREDS_SESSION)
+
+#define get_cred_keydata(c) c->session.keyvalue.data
+#define get_cred_keylen(c) c->session.keyvalue.length
+#define get_creds_enctype(c) c->session.keytype
+
+#else
+#error "Must have either keyblock or session member of krb5_creds"
+#endif
+
+char *afs_realm_of_cell(krb5_context context, struct afsconf_cell *cellconfig, int fallback)
+{
+    static char krbrlm[REALM_SZ+1];
+        char **hrealms = 0;
+        krb5_error_code retval;
+
+    if (!cellconfig)
+        return 0;
+
+    if (fallback) {
+        char * p;
+        p = strchr(cellconfig->hostName[0], '.');
+        if (p++)
+            strcpy(krbrlm, p);
+        else
+            strcpy(krbrlm, cellconfig->name);
+        for (p=krbrlm; *p; p++) {
+            if (islower(*p)) 
+                *p = toupper(*p);
+        }
+    } else {
+        if (retval = krb5_get_host_realm(context,
+                                         cellconfig->hostName[0], &hrealms))
+            return 0; 
+        if(!hrealms[0]) return 0;
+        strcpy(krbrlm, hrealms[0]);
+
+        if (hrealms) krb5_free_host_realm(context, hrealms);
+    }
+    return krbrlm;
+}
+
+int
+aklog_authenticate(char *userName, char *response, int *reenter, char **message)
+{
+    char *reason, *pword, prompt[256];
+    struct passwd *pwd;
+    int code, unixauthneeded, password_expires = -1;
+    int status;
+    krb5_context context;
+
+    krb5_init_context(&context);
+    *reenter = 0;
+    *message = (char *)0;
+
+#if 0
+    if ((pwd = getpwnam(userName)) == NULL) {
+       *message = (char *)malloc(256);
+       sprintf(*message, "getpwnam for user failed\n");
+       return AUTH_FAILURE;
+    }
+#endif
+
+    status = auth_to_cell(context, NULL, NULL);
+    if (status) {
+       *message = (char *)malloc(1024);
+       sprintf(*message, "Unable to obtain AFS tokens: %s.\n",
+               afs_error_message(status));
+       return AUTH_FAILURE; /* NOTFOUND? */
+    }
+    
+#if 0
+    /*
+     * Local hack - if the person has a file in their home
+     * directory called ".xlog", read that for a list of
+     * extra cells to authenticate to
+     */
+    
+    if ((pwd = getpwuid(getuid())) != NULL) {
+       struct stat sbuf;
+       FILE *f;
+       char fcell[100], xlog_path[512];
+       
+       strcpy(xlog_path, pwd->pw_dir);
+       strcat(xlog_path, "/.xlog");
+       
+       if ((stat(xlog_path, &sbuf) == 0) &&
+           ((f = fopen(xlog_path, "r")) != NULL)) {
+           
+           while (fgets(fcell, 100, f) != NULL) {
+               int auth_status;
+               
+               fcell[strlen(fcell) - 1] = '\0';
+               
+               auth_status = auth_to_cell(context, fcell, NULL);
+               if (status == AKLOG_SUCCESS)
+                   status = auth_status;
+               else
+                   status = AKLOG_SOMETHINGSWRONG;
+           }
+       }
+    }
+#endif
+    return AUTH_SUCCESS;
+}
+       
+static krb5_error_code get_credv5(krb5_context context, 
+                       char *name, char *inst, char *realm,
+                       krb5_creds **creds)
+{
+    krb5_creds increds;
+    krb5_error_code r;
+    static krb5_principal client_principal = 0;
+
+    memset((char *)&increds, 0, sizeof(increds));
+    /* instance may be ptr to a null string. Pass null then */
+    if ((r = krb5_build_principal(context, &increds.server,
+                     strlen(realm), realm,
+                     name,
+           (inst && strlen(inst)) ? inst : (void *) NULL,
+                     (void *) NULL))) {
+        return r;
+    }
+
+    if (!_krb425_ccache) {
+        r = krb5_cc_default(context, &_krb425_ccache);
+       if (r)
+           return r;
+    }
+    if (!client_principal) {
+        r = krb5_cc_get_principal(context, _krb425_ccache, &client_principal);
+       if (r)
+           return r;
+    }
+
+    increds.client = client_principal;
+    increds.times.endtime = 0;
+       /* Ask for DES since that is what V4 understands */
+    get_creds_enctype((&increds)) = ENCTYPE_DES_CBC_CRC;
+
+    r = krb5_get_credentials(context, 0, _krb425_ccache, &increds, creds);
+
+    return r;
+}
+
+
+static int get_user_realm(krb5_context context, char *realm)
+{
+    static krb5_principal client_principal = 0;
+    int i;
+
+    if (!_krb425_ccache)
+        krb5_cc_default(context, &_krb425_ccache);
+    if (!client_principal)
+        krb5_cc_get_principal(context, _krb425_ccache, &client_principal);
+
+    i = realm_len(context, client_principal);
+    if (i > REALM_SZ-1) i = REALM_SZ-1;
+    strncpy(realm,realm_data(context, client_principal), i);
+    realm[i] = 0;
+
+    return 0;
+}
+
+int
+aklog_chpass(char *userName, char *oldPasswd, char *newPasswd, char **message)
+{
+    return AUTH_SUCCESS;
+}
+
+int
+aklog_passwdexpired(char *userName, char **message)
+{
+    return AUTH_SUCCESS;
+}
+
+int
+aklog_passwdrestrictions(char *userName, char *newPasswd, char *oldPasswd,
+                      char **message)
+{
+    return AUTH_SUCCESS;
+}
+
+char *
+aklog_getpasswd(char * userName)
+{
+    errno = ENOSYS;
+    return NULL;
+}
+
+
+static int get_cellconfig(char *cell, struct afsconf_cell *cellconfig, char *local_cell, char *linkedcell)
+{
+    int status = 0;
+    struct afsconf_dir *configdir;
+
+    memset(local_cell, 0, sizeof(local_cell));
+    memset((char *)cellconfig, 0, sizeof(*cellconfig));
+
+    if (!(configdir = afsconf_Open(AFSDIR_CLIENT_ETC_DIRPATH))) {
+       return AFSCONF_NODB;
+    }
+
+    if (afsconf_GetLocalCell(configdir, local_cell, MAXCELLCHARS)) {
+       return AFSCONF_FAILURE;
+    }
+
+    if ((cell == NULL) || (cell[0] == 0))
+       cell = local_cell;
+
+       linkedcell[0] = '\0';
+    if (afsconf_GetCellInfo(configdir, cell, NULL, cellconfig)) {
+       status = AFSCONF_NOTFOUND;
+    }
+    if (cellconfig->linkedCell) 
+       strncpy(linkedcell,cellconfig->linkedCell,MAXCELLCHARS);
+
+    (void) afsconf_Close(configdir);
+
+    return(status);
+}
+
+/* 
+ * Log to a cell.  If the cell has already been logged to, return without
+ * doing anything.  Otherwise, log to it and mark that it has been logged
+ * to.
+ */
+static int auth_to_cell(krb5_context context, char *cell, char *realm)
+{
+    int status = 0;
+    char username[BUFSIZ];     /* To hold client username structure */
+    afs_int32 viceId;          /* AFS uid of user */
+
+    char name[ANAME_SZ];       /* Name of afs key */
+    char primary_instance[INST_SZ];    /* Instance of afs key */
+    char secondary_instance[INST_SZ];  /* Backup instance to try */
+    int try_secondary = 0;             /* Flag to indicate if we try second */
+    char realm_of_user[REALM_SZ]; /* Kerberos realm of user */
+    char realm_of_cell[REALM_SZ]; /* Kerberos realm of cell */
+    char local_cell[MAXCELLCHARS+1];
+    char cell_to_use[MAXCELLCHARS+1]; /* Cell to authenticate to */
+    static char lastcell[MAXCELLCHARS+1] = { 0 };
+    static char confname[512] = { 0 };
+    krb5_creds *v5cred = NULL;
+    struct ktc_principal aserver;
+    struct ktc_principal aclient;
+    struct ktc_token atoken, btoken;
+    int afssetpag = 1;
+
+    memset(name, 0, sizeof(name));
+    memset(primary_instance, 0, sizeof(primary_instance));
+    memset(secondary_instance, 0, sizeof(secondary_instance));
+    memset(realm_of_user, 0, sizeof(realm_of_user));
+    memset(realm_of_cell, 0, sizeof(realm_of_cell));
+
+    if (confname[0] == '\0') {
+       strncpy(confname, AFSDIR_CLIENT_ETC_DIRPATH, sizeof(confname));
+       confname[sizeof(confname) - 2] = '\0';
+    }
+
+    /* NULL or empty cell returns information on local cell */
+    if ((status = get_cellconfig(cell, &ak_cellconfig,
+                        local_cell, linkedcell)))
+       return(status);
+
+    strncpy(cell_to_use, ak_cellconfig.name, MAXCELLCHARS);
+    cell_to_use[MAXCELLCHARS] = 0;
+
+    /*
+     * Find out which realm we're supposed to authenticate to.  If one
+     * is not included, use the kerberos realm found in the credentials
+     * cache.
+     */
+    
+    if (realm && realm[0]) {
+       strcpy(realm_of_cell, realm);
+    }
+    else {
+       char *afs_realm = afs_realm_of_cell(context, &ak_cellconfig, FALSE);
+       
+       if (!afs_realm) {
+           return AFSCONF_FAILURE;
+       }
+       
+       strcpy(realm_of_cell, afs_realm);
+    }
+    
+    /* We use the afs.<cellname> convention here... 
+     *
+     * Doug Engert's original code had principals of the form:
+     *
+     * "afsx/cell@realm"
+     *
+     * in the KDC, so the name wouldn't conflict with DFS.  Since we're
+     * not using DFS, I changed it just to look for the following
+     * principals:
+     *
+     * afs/<cell>@<realm>
+     * afs@<realm>
+     *
+     * Because people are transitioning from afs@realm to afs/cell,
+     * we configure things so that if the first one isn't found, we
+     * try the second one.  You can select which one you prefer with
+     * a configure option.
+     */
+    
+    strcpy(name, AFSKEY);
+    
+    if (1 || strcasecmp(cell_to_use, realm_of_cell) != 0) {
+       strncpy(primary_instance, cell_to_use, sizeof(primary_instance));
+       primary_instance[sizeof(primary_instance)-1] = '\0';
+       if (strcasecmp(cell_to_use, realm_of_cell) == 0) {
+           try_secondary = 1;
+           secondary_instance[0] = '\0';
+       }
+    } else {
+       primary_instance[0] = '\0';
+       try_secondary = 1;
+       strncpy(secondary_instance, cell_to_use,
+               sizeof(secondary_instance));
+       secondary_instance[sizeof(secondary_instance)-1] = '\0';
+    }
+    
+    /* 
+     * Extract the session key from the ticket file and hand-frob an
+     * afs style authenticator.
+     */
+    
+    /*
+     * Try to obtain AFS tickets.  Because there are two valid service
+     * names, we will try both, but trying the more specific first.
+     *
+     * afs/<cell>@<realm> i.e. allow for single name with "."
+     *         afs@<realm>
+     */
+    
+    status = get_credv5(context, name, primary_instance, realm_of_cell,
+                       &v5cred);
+    
+    if ((status == KRB5KDC_ERR_S_PRINCIPAL_UNKNOWN || 
+        status == KRB5KRB_ERR_GENERIC) && !realm_of_cell[0]) {
+       char *afs_realm = afs_realm_of_cell(context, &ak_cellconfig, TRUE);
+       
+       if (!afs_realm) {
+           return AFSCONF_FAILURE;
+       }
+       
+       strcpy(realm_of_cell, afs_realm);
+       
+       if (strcasecmp(cell_to_use, realm_of_cell) == 0) {
+           try_secondary = 1;
+           secondary_instance[0] = '\0';
+       }
+       
+       status = get_credv5(context, name, primary_instance, realm_of_cell,
+                           &v5cred);
+       
+    }
+    if (status == KRB5KDC_ERR_S_PRINCIPAL_UNKNOWN || 
+       status == KRB5KRB_ERR_GENERIC) {
+       if (try_secondary)
+           status = get_credv5(context, name, secondary_instance,
+                               realm_of_cell, &v5cred);
+    }
+    
+    if (status) {
+       return status;
+    }
+    
+    strncpy(aserver.name, AFSKEY, MAXKTCNAMELEN - 1);
+    strncpy(aserver.instance, AFSINST, MAXKTCNAMELEN - 1);
+    strncpy(aserver.cell, cell_to_use, MAXKTCREALMLEN - 1);
+    
+    /*
+     * The default is to use rxkad2b, which means we put in a full
+     * V5 ticket.  If the user specifies -524, we talk to the
+     * 524 ticket converter.
+     */
+    
+    {
+       char *p;
+       int len;
+       
+       len = min(get_princ_len(context, v5cred->client, 0),
+                 second_comp(context, v5cred->client) ?
+                 MAXKTCNAMELEN - 2 : MAXKTCNAMELEN - 1);
+       strncpy(username, get_princ_str(context, v5cred->client, 0), len);
+       username[len] = '\0';
+       
+       if (second_comp(context, v5cred->client)) {
+           strcat(username, ".");
+           p = username + strlen(username);
+           len = min(get_princ_len(context, v5cred->client, 1),
+                     MAXKTCNAMELEN - strlen(username) - 1);
+           strncpy(p, get_princ_str(context, v5cred->client, 1), len);
+           p[len] = '\0';
+       }
+       
+       memset(&atoken, 0, sizeof(atoken));
+       atoken.kvno = RXKAD_TKT_TYPE_KERBEROS_V5;
+       atoken.startTime = v5cred->times.starttime;;
+       atoken.endTime = v5cred->times.endtime;
+       memcpy(&atoken.sessionKey, get_cred_keydata(v5cred),
+              get_cred_keylen(v5cred));
+       atoken.ticketLen = v5cred->ticket.length;
+       memcpy(atoken.ticket, v5cred->ticket.data, atoken.ticketLen);
+    }
+       
+    if ((status = get_user_realm(context, realm_of_user))) {
+       return KRB5_REALM_UNKNOWN;
+    }
+    if (strcmp(realm_of_user, realm_of_cell)) {
+       strcat(username, "@");
+       strcat(username, realm_of_user);
+    }
+    
+    strcpy(lastcell, aserver.cell);
+    
+    if (!pr_Initialize (0, confname, aserver.cell))
+       status = pr_SNameToId (username, &viceId);
+    
+    /*
+     * This is a crock, but it is Transarc's crock, so
+     * we have to play along in order to get the
+     * functionality.  The way the afs id is stored is
+     * as a string in the username field of the token.
+     * Contrary to what you may think by looking at
+     * the code for tokens, this hack (AFS ID %d) will
+     * not work if you change %d to something else.
+     */
+    
+    /* Reset the "aclient" structure before we call ktc_SetToken.
+     * This structure was first set by the ktc_GetToken call when
+     * we were comparing whether identical tokens already existed.
+     */
+    strncpy(aclient.name, username, MAXKTCNAMELEN - 1);
+    strcpy(aclient.instance, "");
+    strncpy(aclient.cell, realm_of_user, MAXKTCREALMLEN - 1);
+    
+    /* on AIX 4.1.4 with AFS 3.4a+ if a write is not done before 
+     * this routine, it will not add the token. It is not clear what 
+     * is going on here! So we will do the following operation
+     */
+    write(2,"",0); /* dummy write */
+    status = ktc_SetToken(&aserver, &atoken, &aclient, afssetpag);
+
+    return(status);
+}
+
+int
+aklog_initialize(struct secmethod_table *meths)
+{
+    memset(meths, 0, sizeof(struct secmethod_table));
+
+    /*
+     * Initialize the exported interface routines.
+     * Aside from method_authenticate, these are just no-ops.
+     */
+    meths->method_chpass = aklog_chpass;
+    meths->method_authenticate = aklog_authenticate;
+    meths->method_passwdexpired = aklog_passwdexpired;
+    meths->method_passwdrestrictions = aklog_passwdrestrictions;
+    meths->method_getpasswd = aklog_getpasswd;
+
+    return (0);
+}
+#endif /* AFS_AIX51_ENV */
index f8f00c13bf3dc8f2025d58a2ff3a7b570006fdb7..13a277791c3d5bfeb4abc3e01649eb44d541500b 100644 (file)
@@ -11,7 +11,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/update/client.c,v 1.12 2004/06/23 14:27:46 shadow Exp $");
+    ("$Header: /cvs/openafs/src/update/client.c,v 1.12.2.1 2007/04/10 18:43:46 shadow Exp $");
 
 #include <afs/stds.h>
 #ifdef AFS_AIX32_ENV
@@ -218,7 +218,7 @@ main(int argc, char **argv)
     errcode = rx_Init(0);
     if (errcode) {
        printf("Rx initialize failed \n");
-       com_err(whoami, errcode, "calling Rx init");
+       afs_com_err(whoami, errcode, "calling Rx init");
        exit(1);
     }
 
@@ -238,7 +238,7 @@ main(int argc, char **argv)
        exit(1);
     }
     if (errcode) {
-       com_err(whoami, errcode, "Couldn't get security obect for localAuth");
+       afs_com_err(whoami, errcode, "Couldn't get security obect for localAuth");
        exit(1);
     }
 
@@ -260,7 +260,7 @@ main(int argc, char **argv)
 
            /* construct local path from canonical (wire-format) path */
            if ((errcode = ConstructLocalPath(df->name, "/", &curDir))) {
-               com_err(whoami, errcode, "Unable to construct local path");
+               afs_com_err(whoami, errcode, "Unable to construct local path");
                return errcode;
            }
 
@@ -271,7 +271,7 @@ main(int argc, char **argv)
 #else
                if (mkdir(curDir, 0700) < 0) {
 #endif
-                   com_err(whoami, errno, "can't create dir");
+                   afs_com_err(whoami, errno, "can't create dir");
                    printf("upclient: Can't update dir %s\n", curDir);
                    return -1;
                }
@@ -290,14 +290,14 @@ main(int argc, char **argv)
            error = rx_EndCall(call, 0);
            if (error && !errcode) {
                printf("could not end rx call \n");
-               com_err(whoami, error, "calling EndCall");
+               afs_com_err(whoami, error, "calling EndCall");
                goto fail;
            }
            if (errcode) {
                printf
                    ("warning: could not fetch the contents of directory %s \n",
                     df->name);
-               com_err(whoami, errcode, "calling FetchFile");
+               afs_com_err(whoami, errcode, "calling FetchFile");
                cnt++;
                goto fail;
            }
@@ -305,7 +305,7 @@ main(int argc, char **argv)
            stream = fopen(dirbuf, "r");
            if (stream == NULL) {
                printf("fopen failed on %s \n", dirbuf);
-               com_err(whoami, errno, "fopen");
+               afs_com_err(whoami, errno, "fopen");
                goto fail;
            }
            umask(00);
@@ -354,7 +354,7 @@ main(int argc, char **argv)
 
                dirp = opendir(curDir);
                if (dirp == 0) {
-                   com_err(whoami, errno, "Can't open local dir %s", curDir);
+                   afs_com_err(whoami, errno, "Can't open local dir %s", curDir);
                    goto fail;
                }
 
@@ -373,7 +373,7 @@ main(int argc, char **argv)
                        errcode = unlink(filename);
                        if (errcode) {
                            printf("could not delete file %s \n", filename);
-                           com_err(whoami, errno, "could not delete file %s",
+                           afs_com_err(whoami, errno, "could not delete file %s",
                                    filename);
                        }
                    }
@@ -415,7 +415,7 @@ IsCompatible(char *filename, afs_int32 time, afs_int32 length)
 
     /* construct a local path from canonical (wire-format) path */
     if ((error = ConstructLocalPath(filename, "/", &localname))) {
-       com_err(whoami, error, "Unable to construct local path");
+       afs_com_err(whoami, error, "Unable to construct local path");
        return error;
     }
 
@@ -448,12 +448,12 @@ FetchFile(struct rx_call *call, char *remoteFile, char *localFile, int dirFlag)
     fd = open(localFile, O_CREAT | O_TRUNC | O_WRONLY, 0666);
     if (fd < 0) {
        printf("Could not create %s\n", localFile);
-       com_err(whoami, errno, "Could not create %s", localFile);
+       afs_com_err(whoami, errno, "Could not create %s", localFile);
        error = UPDATE_ERROR;
        return error;
     }
     if (fstat(fd, &status) < 0) {
-       com_err(whoami, errno, "Could not stat %s", localFile);
+       afs_com_err(whoami, errno, "Could not stat %s", localFile);
        close(fd);
        printf("could not stast %s\n", localFile);
        return UPDATE_ERROR;
@@ -503,7 +503,7 @@ update_ReceiveFile(register int fd, register struct rx_call *call, register stru
        if (!nbytes)
            error = UPDATE_ERROR;
        if (write(fd, buffer, nbytes) != nbytes) {
-           com_err(whoami, errno, "File system write failed!");
+           afs_com_err(whoami, errno, "File system write failed!");
            printf("File system write failed!\n");
            error = UPDATE_ERROR;
        }
@@ -586,7 +586,7 @@ NotOnHost(char *filename, struct filestr *okhostfiles)
     for (tf = okhostfiles; tf; tf = tf->next) {
        /* construct local path from canonical (wire-format) path */
        if ((rc = ConstructLocalPath(tf->name, "/", &hostfile))) {
-           com_err(whoami, rc, "Unable to construct local path");
+           afs_com_err(whoami, rc, "Unable to construct local path");
            return -1;
        }
        if (PathsAreEquivalent(hostfile, filename)) {
@@ -613,7 +613,7 @@ RenameNewFiles(struct filestr *modFiles)
     for (tf = modFiles; tf; tf = tf->next) {
        /* construct local path from canonical (wire-format) path */
        if ((errcode = ConstructLocalPath(tf->name, "/", &fname))) {
-           com_err(whoami, errcode, "Unable to construct local path");
+           afs_com_err(whoami, errcode, "Unable to construct local path");
            return errcode;
        }
        strcpy(newname, fname);
@@ -623,7 +623,7 @@ RenameNewFiles(struct filestr *modFiles)
        errcode = renamefile(newname, fname);
        if (errcode) {
            printf("could not rename %s to %s\n", newname, fname);
-           com_err(whoami, errno, "could not rename %s to %s", newname,
+           afs_com_err(whoami, errno, "could not rename %s to %s", newname,
                    fname);
        }
        free(fname);
@@ -664,7 +664,7 @@ GetFileFromUpServer(struct rx_connection *conn,     /* handle for upserver */
     /* construct local path from canonical (wire-format) path */
     errcode = ConstructLocalPath(filename, "/", &lfile);
     if (errcode) {
-       com_err(whoami, errcode, "Unable to construct local path");
+       afs_com_err(whoami, errcode, "Unable to construct local path");
        return -1;
     }
     strcpy(newfile, lfile);
@@ -681,7 +681,7 @@ GetFileFromUpServer(struct rx_connection *conn,     /* handle for upserver */
 
     if (errcode) {
        printf("failed to fetch file %s \n", filename);
-       com_err(whoami, errcode, "fetching file");
+       afs_com_err(whoami, errcode, "fetching file");
        return 1;
     }
 
@@ -690,7 +690,7 @@ GetFileFromUpServer(struct rx_connection *conn,     /* handle for upserver */
     if (errcode) {
        printf("could not change protection on %s to %u\n", newfile,
               (unsigned int)mode);
-       com_err(whoami, errno, "could not change protection on %s to %u",
+       afs_com_err(whoami, errno, "could not change protection on %s to %u",
                newfile, mode);
        return 1;
     }
@@ -703,7 +703,7 @@ GetFileFromUpServer(struct rx_connection *conn,     /* handle for upserver */
     if (errcode) {
        printf("warning: could not change uid and gid on %s to %u and %u \n",
               newfile, gid, uid);
-       com_err(whoami, errno,
+       afs_com_err(whoami, errno,
                "warning: could not change uid and gid on %s to %u and %u",
                newfile, gid, uid);
     }
@@ -716,7 +716,7 @@ GetFileFromUpServer(struct rx_connection *conn,     /* handle for upserver */
     if (errcode) {
        printf("could not change access and modify times on %s to %u %u\n",
               newfile, (unsigned int)atime, (unsigned int)mtime);
-       com_err(whoami, errno,
+       afs_com_err(whoami, errno,
                "could not change access and modify times on %s to %u %u",
                newfile, atime, mtime);
        return 1;
index 14e886e035cb8403e659aca04293e7be454f8482..4e32fabd58c17810a3dcb6712d74f9631cff9386 100644 (file)
@@ -11,7 +11,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/update/server.c,v 1.13.2.2 2006/06/20 20:35:01 jaltman Exp $");
+    ("$Header: /cvs/openafs/src/update/server.c,v 1.13.2.3 2007/04/10 18:43:46 shadow Exp $");
 
 #include <afs/stds.h>
 #ifdef AFS_AIX32_ENV
@@ -50,6 +50,7 @@ RCSID
 #include <afs/cellconfig.h>
 #include <afs/afsutil.h>
 #include <afs/fileutil.h>
+#include <afs/com_err.h>
 #ifdef AFS_AIX_ENV
 #include <sys/statfs.h>
 #endif
@@ -352,7 +353,7 @@ UPDATE_FetchFile(struct rx_call *call, char *name)
 
     /* construct a local path from a canonical (wire-format) path */
     if ((error = ConstructLocalPath(name, "/", &reqObject))) {
-       com_err(whoami, error, "Unable to construct local path");
+       afs_com_err(whoami, error, "Unable to construct local path");
        return UPDATE_ERROR;
     }
 
@@ -384,7 +385,7 @@ UPDATE_FetchInfo(struct rx_call *call, char *name)
 
     /* construct a local path from a canonical (wire-format) path */
     if ((error = ConstructLocalPath(name, "/", &reqObject))) {
-       com_err(whoami, error, "Unable to construct local path");
+       afs_com_err(whoami, error, "Unable to construct local path");
        return UPDATE_ERROR;
     }
 
@@ -559,14 +560,14 @@ AddObject(char **expPath, char *dir)
 
     /* construct a local path from a canonical (wire-format) path */
     if ((error = ConstructLocalPath(dir, "/", expPath))) {
-       com_err(whoami, error, "Unable to construct local path");
+       afs_com_err(whoami, error, "Unable to construct local path");
        return error;
     }
 
     /* stat the object */
     error = stat(*expPath, &statbuf);
     if (error) {
-       com_err(whoami, error, ";Can't stat object.");
+       afs_com_err(whoami, error, ";Can't stat object.");
        return error;
     }
     /* now check if the object has an exportable (file/dir)  type */
index 442c15febe8d739bb23303eb7847bd75de02e8b5..4a9f887da0a28f69a731a5abf82bb4efb0a993e8 100644 (file)
@@ -19,7 +19,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/uss/uss_acl.c,v 1.6 2003/07/15 23:17:12 shadow Exp $");
+    ("$Header: /cvs/openafs/src/uss/uss_acl.c,v 1.6.2.1 2007/04/10 18:43:46 shadow Exp $");
 
 #include "uss_acl.h"
 #include "uss_common.h"
@@ -604,7 +604,7 @@ uss_acl_SetAccess(a_access, a_clear, a_negative)
      */
     code = uss_fs_GetACL(path_field, tmp_str, MAXSIZE);
     if (code) {
-       com_err(uss_whoami, code, "while getting access list for %s",
+       afs_com_err(uss_whoami, code, "while getting access list for %s",
                path_field);
 #ifdef USS_ACL_DB
        printf("%s: Error code from uss_fs_GetACL %d, errno %d\n", rn, code,
@@ -674,7 +674,7 @@ uss_acl_SetAccess(a_access, a_clear, a_negative)
            printf("\t3. Non-existent user or group on ACL.\n");
            return (code);
        } else {
-           com_err(uss_whoami, code, "while setting the access list");
+           afs_com_err(uss_whoami, code, "while setting the access list");
            return (code);
        }
     }
@@ -724,7 +724,7 @@ uss_acl_SetDiskQuota(a_path, a_q)
 
     code = uss_fs_SetVolStat(a_path, tmp_str, sizeof(*status) + 3);
     if (code) {
-       com_err(uss_whoami, code, "while setting disk quota");
+       afs_com_err(uss_whoami, code, "while setting disk quota");
 #ifdef USS_ACL_DB
        printf("%s: uss_fs_SetVolStat() error code: %d, errno is %d\n", rn,
               code, errno);
index 22efad00c6d82ae197be3278634031a5ca05fe04..ac53ce73fc1ac0a7270086354fecd98ee8e2b16b 100644 (file)
@@ -19,7 +19,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/uss/uss_kauth.c,v 1.10 2004/03/15 18:51:04 shadow Exp $");
+    ("$Header: /cvs/openafs/src/uss/uss_kauth.c,v 1.10.2.1 2007/04/10 18:43:46 shadow Exp $");
 
 #include "uss_kauth.h"         /*Module interface */
 #include "uss_common.h"                /*Common defs & operations */
@@ -205,7 +205,7 @@ InitThisModule()
                                       sizeof(longPassBuff),    /*Size of above */
                                       &reasonString);
            if (code) {
-               com_err(uss_whoami, code, "while getting password ");
+               afs_com_err(uss_whoami, code, "while getting password ");
 #ifdef USS_KAUTH_DB
                printf("%s: Error code from ka_UserReadPassword(): %d\n", rn,
                       code);
@@ -226,7 +226,7 @@ InitThisModule()
                 * to truncate the password to generate the appropriate
                 * key.
                 */
-               com_err(uss_whoami, code,
+               afs_com_err(uss_whoami, code,
                        "while getting administrator token (trying shortened password next...)");
 #ifdef USS_KAUTH_DB
                printf("%s: Error code from ka_GetAdminToken: %d\n", rn,
@@ -240,7 +240,7 @@ InitThisModule()
                                     uss_Cell, &key, 24 * 60 * 60, &token,
                                     0 /*new */ );
                if (code) {
-                   com_err(uss_whoami, code,
+                   afs_com_err(uss_whoami, code,
                            "while getting administrator token (possibly wrong password, or not an administrative account)");
 #ifdef USS_KAUTH_DB
                    printf("%s: Error code from ka_GetAdminToken: %d\n", rn,
@@ -262,7 +262,7 @@ InitThisModule()
                 * We failed to get an admin token, but the password is
                 * of a reasonable length, so we're just hosed.
                 */
-               com_err(uss_whoami, code,
+               afs_com_err(uss_whoami, code,
                        "while getting administrator token (possibly wrong password, or not an administrative account)");
 #ifdef USS_KAUTH_DB
                printf("%s: Error code from ka_GetAdminToken: %d\n", rn,
@@ -291,7 +291,7 @@ InitThisModule()
        ka_AuthServerConn(uss_Cell, KA_MAINTENANCE_SERVICE, &token,
                          &uconn_kauthP);
     if (code) {
-       com_err(uss_whoami, code,
+       afs_com_err(uss_whoami, code,
                "while establishing Authentication Server connection");
 #ifdef USS_KAUTH_DB
        printf("%s: Error code from ka_AuthServerConn: %d\n", rn, code);
@@ -399,7 +399,7 @@ uss_kauth_AddUser(a_user, a_passwd)
                            "%s: Warning: User '%s' already in Authentication DB\n",
                            uss_whoami, a_user);
            } else {
-               com_err(uss_whoami, code,
+               afs_com_err(uss_whoami, code,
                        "while adding user '%s' to Authentication DB",
                        a_user);
 #ifdef USS_KAUTH_DB
@@ -481,7 +481,7 @@ uss_kauth_DelUser(a_user)
                         uss_whoami, a_user);
                return (0);
            } else {
-               com_err(uss_whoami, code,
+               afs_com_err(uss_whoami, code,
                        "while deleting entry in Authentication DB\n");
 #ifdef USS_KAUTH_DB
                printf("%s: Error code from KAM_DeleteUser: %d\n", rn, code);
@@ -712,7 +712,7 @@ uss_kauth_SetFields(username, expirestring, reuse, failures, lockout)
                    "Must specify one of the optional parameters. Continuing...\n");
 
        if (code) {
-           com_err(uss_whoami, code, "calling KAM_SetFields for %s.%s",
+           afs_com_err(uss_whoami, code, "calling KAM_SetFields for %s.%s",
                    username, instance);
 
            return (code);
index 684e2a86440b2a55850256a4ad301f30e59028be..65b9cee9f9ce3d91196a0fca48be35a385da1449 100644 (file)
@@ -19,7 +19,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/uss/uss_ptserver.c,v 1.7 2003/07/15 23:17:12 shadow Exp $");
+    ("$Header: /cvs/openafs/src/uss/uss_ptserver.c,v 1.7.2.1 2007/04/10 18:43:46 shadow Exp $");
 
 #include "uss_ptserver.h"      /*Module interface */
 #include <afs/ptclient.h>      /*Protection Server client interface */
@@ -90,7 +90,7 @@ InitThisModule()
                         uss_ConfDir,   /*Config directory */
                         uss_Cell);     /*Cell to touch */
     if (code) {
-       com_err(uss_whoami, code,
+       afs_com_err(uss_whoami, code,
                "while initializing Protection Server library");
        return (code);
     }
@@ -176,7 +176,7 @@ uss_ptserver_AddUser(a_user, a_uid)
             */
            mappedUserID = id;
            if (code = pr_SNameToId(a_user, &mappedUserID)) {
-               com_err(uss_whoami, code,
+               afs_com_err(uss_whoami, code,
                        "while getting uid from Protection Server");
                return (code);
            }
@@ -198,7 +198,7 @@ uss_ptserver_AddUser(a_user, a_uid)
            /*
             * Got a fatal error.
             */
-           com_err(uss_whoami, code, "while accessing Protection Server");
+           afs_com_err(uss_whoami, code, "while accessing Protection Server");
            return (code);
        }
     }
@@ -268,7 +268,7 @@ uss_ptserver_DelUser(a_name)
                    uss_whoami, a_name);
        } /*User not registered */
        else {
-           com_err(uss_whoami, code,
+           afs_com_err(uss_whoami, code,
                    "while deleting user from Protection DB");
            return (code);
        }                       /*Fatal PTS error */
@@ -326,7 +326,7 @@ uss_ptserver_XlateUser(a_user, a_uidP)
     *a_uidP = 0;
     code = pr_SNameToId(a_user, a_uidP);
     if (code) {
-       com_err(uss_whoami, code, "while getting uid from Protection DB");
+       afs_com_err(uss_whoami, code, "while getting uid from Protection DB");
        return (code);
     }
     if (*a_uidP == ANONYMOUSID) {
index d4952d4f88033037a0692c168d84c6122f56c94e..9b5a47d538224acdbcac1c9204e1110863e6dfd2 100644 (file)
@@ -19,7 +19,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/uss/uss_vol.c,v 1.10 2003/07/15 23:17:12 shadow Exp $");
+    ("$Header: /cvs/openafs/src/uss/uss_vol.c,v 1.10.2.1 2007/04/10 18:43:46 shadow Exp $");
 
 #include "uss_vol.h"           /*Interface to this module */
 #include "uss_common.h"                /*Common definitions */
@@ -740,7 +740,7 @@ uss_vol_CreateVol(a_volname, a_server, a_partition, a_quota, a_mpoint,
     if (!initDone) {
        code = InitThisModule(NoAuthFlag, uss_ConfDir, uss_Cell);
        if (code) {
-           com_err(uss_whoami, code,
+           afs_com_err(uss_whoami, code,
                    "while inititializing VLDB connection(s)\n");
            return (code);
        }
index 150bd66e1de6de4c5b79482a445eaac0053a7c0b..1e3f806bb2f3ab20c4f59fc26226c1fc134c7061 100644 (file)
@@ -11,7 +11,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/venus/cmdebug.c,v 1.15.2.5 2006/06/26 16:19:06 rra Exp $");
+    ("$Header: /cvs/openafs/src/venus/cmdebug.c,v 1.15.2.6 2007/04/10 18:43:46 shadow Exp $");
 
 
 #include <sys/types.h>
@@ -57,7 +57,7 @@ PrintCacheConfig(struct rx_connection *aconn)
     code = RXAFSCB_GetCacheConfig(aconn, 1, &srv_ver, &conflen, &c);
     if (code) {
        printf("cmdebug: error checking cache config: %s\n",
-              error_message(code));
+              afs_error_message(code));
        return 0;
     }
 
@@ -112,7 +112,7 @@ PrintInterfaces(struct rx_connection *aconn)
         code = RXAFSCB_WhoAreYou(aconn, &addr);
     if (code) {
        printf("cmdebug: error checking interfaces: %s\n",
-              error_message(code));
+              afs_error_message(code));
        return 0;
     }
 
@@ -203,7 +203,7 @@ PrintLocks(register struct rx_connection *aconn, int aint32)
                break;
            /* otherwise we have an unrecognized error */
            printf("cmdebug: error checking locks: %s\n",
-                  error_message(code));
+                  afs_error_message(code));
            return code;
        }
        /* here we have the lock information, so display it, perhaps */
@@ -274,7 +274,7 @@ PrintCacheEntries32(struct rx_connection *aconn, int aint32)
            if (code == 1)
                break;
            printf("cmdebug: failed to get cache entry %d (%s)\n", i,
-                  error_message(code));
+                  afs_error_message(code));
            return code;
        }
 
@@ -366,7 +366,7 @@ PrintCacheEntries64(struct rx_connection *aconn, int aint32)
            if (code == 1)
                break;
            printf("cmdebug: failed to get cache entry %d (%s)\n", i,
-                  error_message(code));
+                  afs_error_message(code));
            return code;
        }
 
index 8412f888e5172b7eeefb1c6ee47111e1251193cd..9eac9dad584d8fdd12144d5c8098fd6f3867e609 100644 (file)
@@ -11,7 +11,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/venus/fs.c,v 1.24.2.5 2006/07/31 17:07:52 shadow Exp $");
+    ("$Header: /cvs/openafs/src/venus/fs.c,v 1.24.2.7 2007/06/12 19:20:21 shadow Exp $");
 
 #include <afs/afs_args.h>
 #include <rx/xdr.h>
@@ -69,7 +69,7 @@ static char tspace[1024];
 static struct ubik_client *uclient;
 
 static int GetClientAddrsCmd(), SetClientAddrsCmd(), FlushMountCmd();
-static int RxStatProcCmd(), RxStatPeerCmd(), GetFidCmd();
+static int RxStatProcCmd(), RxStatPeerCmd(), GetFidCmd(), NewUuidCmd();
 
 extern char *hostutil_GetNameByINet();
 extern struct hostent *hostutil_GetHostByName();
@@ -1244,6 +1244,24 @@ FlushVolumeCmd(struct cmd_syndesc *as, char *arock)
     return error;
 }
 
+static int
+NewUuidCmd(struct cmd_syndesc *as, char *arock)
+{
+    afs_int32 code;
+    struct ViceIoctl blob;
+
+    blob.in_size = 0;
+    blob.out_size = 0;
+    code = pioctl(0, VIOC_NEWUUID, &blob, 1);
+    if (code) {
+       Die(errno, 0);
+       return 1;
+    }
+
+    printf("New uuid generated.\n");
+    return 0;
+}
+
 static int
 FlushCmd(struct cmd_syndesc *as, char *arock)
 {
@@ -3442,6 +3460,9 @@ defect 3069
                          "get fid for file(s)");
     cmd_AddParm(ts, "-path", CMD_LIST, CMD_OPTIONAL, "dir/file path");
 
+    ts = cmd_CreateSyntax("newuuid", NewUuidCmd, 0,
+                         "force a new uuid");
+
     code = cmd_Dispatch(argc, argv);
     if (rxInitDone)
        rx_Finalize();
@@ -3487,7 +3508,7 @@ Die(int errnum, char *filename)
            fprintf(stderr, "%s:'%s'", pn, filename);
        else
            fprintf(stderr, "%s", pn);
-       fprintf(stderr, ": %s\n", error_message(errnum));
+       fprintf(stderr, ": %s\n", afs_error_message(errnum));
        break;
     }
 }
index dcd1fa312aa4337188b314ca8a2b01a7b0d81d34..8dcaf28004456f59c2c5cbb455810eb4dde988da 100644 (file)
@@ -11,7 +11,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/venus/kdump.c,v 1.33.2.6 2006/08/02 19:07:05 shadow Exp $");
+    ("$Header: /cvs/openafs/src/venus/kdump.c,v 1.33.2.7 2007/03/20 19:24:12 shadow Exp $");
 
 #include <stdio.h>
 #include <errno.h>
@@ -2515,15 +2515,19 @@ print_nfsclient(kmem, ep, ptr, pnt)
      struct nfsclientpag *ep, *ptr;
 {
     char sysname[100];
+       int count;
 
-    if (ep->sysname) {
-       kread(kmem, (off_t) ep->sysname, sysname, (KDUMP_SIZE_T) 30);
-       Sum_nfssysnames += MAXSYSNAME;
-    }
     if (pnt)
-       printf("%lx: uid=%d, host=%x, pag=%x, @sys=%s, lastt=%d, ref=%d\n",
+       printf("%lx: uid=%d, host=%x, pag=%x, lastt=%d, ref=%d count=%d\n",
               ptr, ep->uid, ep->host, ep->pag,
-              (ep->sysname ? sysname : "nil"), ep->lastcall, ep->refCount);
+              ep->lastcall, ep->refCount, ep->sysnamecount);
+
+       for(count = 0; count < ep->sysnamecount; count++){
+               kread(kmem, (off_t) ep->sysname[count], sysname, (KDUMP_SIZE_T) 30);
+               printf("   %lx: @sys[%d]=%s\n",
+                       ep->sysname[count], count, sysname);
+               Sum_nfssysnames += MAXSYSNAME;
+       }
 }
 
 
index 4037fded847c9136f2fb6b0d2c3e8ea6b6ef6d62..fe565e7cec5fec53ed49b08d641a59a8825a4a76 100644 (file)
@@ -11,7 +11,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/venus/livesys.c,v 1.4 2003/07/15 23:17:22 shadow Exp $");
+    ("$Header: /cvs/openafs/src/venus/livesys.c,v 1.4.2.1 2007/04/10 18:43:46 shadow Exp $");
 
 #include <afs/afs_args.h>
 #include <rx/xdr.h>
@@ -71,7 +71,7 @@ main(argc, argv)
     memcpy(space, &setp, sizeof(afs_int32));
     code = pioctl(0, VIOC_AFS_SYSNAME, &blob, 1);
     if (code) {
-       fprintf(stderr, "livesys: %s\n", error_message(code));
+       fprintf(stderr, "livesys: %s\n", afs_error_message(code));
        return 1;
     }
     input = space;
index 7fe169bb69a989c33ed36a7bfef08ae071933656..62a7169f36362d16ff92f1272b2a39a47ef4766a 100644 (file)
@@ -11,7 +11,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/venus/twiddle.c,v 1.7 2003/07/15 23:17:22 shadow Exp $");
+    ("$Header: /cvs/openafs/src/venus/twiddle.c,v 1.7.2.1 2007/04/10 18:43:46 shadow Exp $");
 
 #include <rx/xdr.h>
 #include <sys/ioctl.h>
@@ -206,6 +206,6 @@ Die(code, filename)
            fprintf(stderr, "%s:'%s'", pn, filename);
        else
            fprintf(stderr, "%s", pn);
-       fprintf(stderr, ": %s\n", error_message(errno));
+       fprintf(stderr, ": %s\n", afs_error_message(errno));
     }
 }                              /*Die */
index 9a062dd04b74c854a7b31282133fdbbb61aafde1..df744f1e07eda8c81de03adb710bab2aa17e2113 100644 (file)
@@ -11,7 +11,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/venus/up.c,v 1.13 2003/07/15 23:17:22 shadow Exp $");
+    ("$Header: /cvs/openafs/src/venus/up.c,v 1.13.2.1 2007/05/07 17:23:11 rra Exp $");
 
 /* missing type from C language */
 #define Boolean short
@@ -528,6 +528,7 @@ Copy(file1, file2, recursive, level)
        char f1[MAXPATHLEN], f2[MAXPATHLEN];
        char *p1, *p2;
        struct dirent *d;
+       struct timeval tv[2];
 
        if (verbose) {
            printf("Level %d: Directory %s to %s\n", level, file1, file2);
@@ -689,6 +690,15 @@ Copy(file1, file2, recursive, level)
                printf("Not setting acls\n");
            }
        }
+
+        /* preserve access and modification times: ("-x" disables) */
+        if (preserveDate) {
+            tv[0].tv_sec = s1.st_atime;
+            tv[0].tv_usec = 0;
+            tv[1].tv_sec = s1.st_mtime;
+            tv[1].tv_usec = 0;
+            utimes(file2, tv);
+        }
     }
 
     return rcode;
index c0a72a9fab446af817a0754fcfb7d594498a5979..f522b9675e65232fd5ee038c572f12a19dce460f 100644 (file)
@@ -14,7 +14,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/venus/whatfid.c,v 1.5 2003/07/15 23:17:22 shadow Exp $");
+    ("$Header: /cvs/openafs/src/venus/whatfid.c,v 1.5.2.1 2007/04/10 18:43:46 shadow Exp $");
 
 #include <stdio.h>
 #include <errno.h>
@@ -149,6 +149,6 @@ PioctlError(code, filename)
            fprintf(stderr, "%s:'%s'", pn, filename);
        else
            fprintf(stderr, "%s", pn);
-       fprintf(stderr, ": %s\n", error_message(errno));
+       fprintf(stderr, ": %s\n", afs_error_message(errno));
     }
 }                              /*Die */
index dfa53bbbf266fe2c06bfd653fbdb8f4cb0541c41..d4308ad76ced574a4cd291dcc9f41e6ec85d68d0 100644 (file)
@@ -29,7 +29,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/viced/afsfileprocs.c,v 1.81.2.39 2007/02/26 18:52:48 shadow Exp $");
+    ("$Header: /cvs/openafs/src/viced/afsfileprocs.c,v 1.81.2.43 2007/08/21 08:28:37 jaltman Exp $");
 
 #include <stdio.h>
 #include <stdlib.h>
@@ -319,6 +319,11 @@ CallPreamble(register struct rx_call *acall, int activecall,
     H_LOCK;
   retry:
     tclient = h_FindClient_r(*tconn);
+    if (!tclient) {
+       ViceLog(0, ("CallPreamble: Couldn't get CPS. Too many lockers\n"));
+       H_UNLOCK;
+       return VBUSY;
+    }
     thost = tclient->host;
     if (tclient->prfail == 1) {        /* couldn't get the CPS */
        if (!retry_flag) {
@@ -422,6 +427,8 @@ CallPostamble(register struct rx_connection *aconn, afs_int32 ret,
 
     H_LOCK;
     tclient = h_FindClient_r(aconn);
+    if (!tclient) 
+       goto busyout;
     thost = tclient->host;
     if (thost->hostFlags & HERRORTRANS)
        translate = 1;
@@ -443,6 +450,7 @@ CallPostamble(register struct rx_connection *aconn, afs_int32 ret,
                afs_inet_ntoa_r(thost->host, hoststr), ntohs(thost->port),
                thost));
     }
+ busyout:
     H_UNLOCK;
     return (translate ? sys_error_to_et(ret) : ret);
 }                              /*CallPostamble */
@@ -1137,7 +1145,13 @@ CopyOnWrite(Vnode * targetptr, Volume * volptr)
     }
 
     ino = VN_GET_INO(targetptr);
-    assert(VALID_INO(ino));
+    if (!VALID_INO(ino)) {
+       free(buff);
+       VTakeOffline(volptr);
+       ViceLog(0, ("Volume %u now offline, must be salvaged.\n",
+                   volptr->hashid));
+       return EIO;
+    }    
     targFdP = IH_OPEN(targetptr->handle);
     if (targFdP == NULL) {
        rc = errno;
@@ -1300,6 +1314,9 @@ DeleteTarget(Vnode * parentptr, Volume * volptr, Vnode ** targetptr,
       */
     if ((*targetptr)->disk.uniquifier != fileFid->Unique) {
        VTakeOffline(volptr);
+       ViceLog(0,
+               ("Volume %u now offline, must be salvaged.\n",
+                volptr->hashid));
        errorCode = VSALVAGE;
        return errorCode;
     }
@@ -1327,10 +1344,10 @@ DeleteTarget(Vnode * parentptr, Volume * volptr, Vnode ** targetptr,
                         errno));
                if (errno != ENOENT)
                {
+                   VTakeOffline(volptr);
                    ViceLog(0,
                            ("Volume %u now offline, must be salvaged.\n",
                             volptr->hashid));
-                   VTakeOffline(volptr);
                    return (EIO);
                }
                DT1++;
@@ -1353,10 +1370,10 @@ DeleteTarget(Vnode * parentptr, Volume * volptr, Vnode ** targetptr,
                ("Error %d deleting %s\n", code,
                 (((*targetptr)->disk.type ==
                   Directory) ? "directory" : "file")));
+       VTakeOffline(volptr);
        ViceLog(0,
                ("Volume %u now offline, must be salvaged.\n",
                 volptr->hashid));
-       VTakeOffline(volptr);
        if (!errorCode)
            errorCode = code;
     }
@@ -1760,7 +1777,9 @@ HandleLocking(Vnode * targetptr, struct client *client, afs_int32 rights, ViceLo
                0;
        Time += AFS_LOCKWAIT;
        if (LockingType == LockRead) {
-           if ( !(rights & PRSFS_LOCK) )
+           if ( !(rights & PRSFS_LOCK) &&
+                 !(rights & PRSFS_WRITE) &&
+                 !(OWNSp(client, targetptr) && (rights & PRSFS_INSERT)) )
                return(EACCES);
  
            if (targetptr->disk.lock.lockCount >= 0) {
@@ -4105,6 +4124,9 @@ SAFSS_Rename(struct rx_call *acall, struct AFSFid *OldDirFid, char *OldName,
            VPutVnode(&errorCode, testvptr);
            if ((top == 1) && (testnode != 0)) {
                VTakeOffline(volptr);
+               ViceLog(0,
+                       ("Volume %u now offline, must be salvaged.\n",
+                        volptr->hashid));
                errorCode = EIO;
                goto Bad_Rename;
            }
@@ -4434,10 +4456,18 @@ SAFSS_Symlink(struct rx_call *acall, struct AFSFid *DirFid, char *Name,
 
     /* Write the contents of the symbolic link name into the target inode */
     fdP = IH_OPEN(targetptr->handle);
-    assert(fdP != NULL);
+    if (fdP == NULL) {
+       (void)PutVolumePackage(parentwhentargetnotdir, targetptr, parentptr,
+                              volptr, &client);
+       VTakeOffline(volptr);
+       ViceLog(0, ("Volume %u now offline, must be salvaged.\n",
+                   volptr->hashid));
+       return EIO;
+    }    
     len = strlen((char *) LinkContents);
-     code = (len == FDH_WRITE(fdP, (char *) LinkContents, len)) ? 0 : VDISKFULL;
-     if (code) ViceLog(0, ("SAFSS_Symlink FDH_WRITE failed for len=%d, Fid=%u.%d.%d\n", len, OutFid->Volume, OutFid->Vnode, OutFid->Unique));
+    code = (len == FDH_WRITE(fdP, (char *) LinkContents, len)) ? 0 : VDISKFULL;
+    if (code) 
+       ViceLog(0, ("SAFSS_Symlink FDH_WRITE failed for len=%d, Fid=%u.%d.%d\n", len, OutFid->Volume, OutFid->Vnode, OutFid->Unique));
     FDH_CLOSE(fdP);
     /*
      * Set up and return modified status for the parent dir and new symlink
@@ -6920,6 +6950,8 @@ FetchData_RXStyle(Volume * volptr, Vnode * targetptr,
     fdP = IH_OPEN(ihP);
     if (fdP == NULL) {
        VTakeOffline(volptr);
+       ViceLog(0, ("Volume %u now offline, must be salvaged.\n",
+                   volptr->hashid));
        return EIO;
     }
     optSize = sendBufSize;
@@ -6929,6 +6961,8 @@ FetchData_RXStyle(Volume * volptr, Vnode * targetptr,
     if (tlen < 0) {
        FDH_CLOSE(fdP);
        VTakeOffline(volptr);
+       ViceLog(0, ("Volume %u now offline, must be salvaged.\n",
+                   volptr->hashid));
        return EIO;
     }
     if (Pos > tlen) {
@@ -6967,6 +7001,8 @@ FetchData_RXStyle(Volume * volptr, Vnode * targetptr,
            FDH_CLOSE(fdP);
            FreeSendBuffer((struct afs_buffer *)tbuffer);
            VTakeOffline(volptr);
+           ViceLog(0, ("Volume %u now offline, must be salvaged.\n",
+                       volptr->hashid));
            return EIO;
        }
        errorCode = rx_Write(Call, tbuffer, wlen);
@@ -6981,6 +7017,8 @@ FetchData_RXStyle(Volume * volptr, Vnode * targetptr,
        if (errorCode != wlen) {
            FDH_CLOSE(fdP);
            VTakeOffline(volptr);
+           ViceLog(0, ("Volume %u now offline, must be salvaged.\n",
+                       volptr->hashid));
            return EIO;
        }
        errorCode = rx_Writev(Call, tiov, tnio, wlen);
@@ -7153,6 +7191,8 @@ StoreData_RXStyle(Volume * volptr, Vnode * targetptr, struct AFSFid * Fid,
        if (GetLinkCountAndSize(volptr, fdP, &linkCount, &DataLength) < 0) {
            FDH_CLOSE(fdP);
            VTakeOffline(volptr);
+           ViceLog(0, ("Volume %u now offline, must be salvaged.\n",
+                       volptr->hashid));
            return EIO;
        }
 
@@ -7196,7 +7236,12 @@ StoreData_RXStyle(Volume * volptr, Vnode * targetptr, struct AFSFid * Fid,
        }
        tinode = VN_GET_INO(targetptr);
     }
-    assert(VALID_INO(tinode));
+    if (!VALID_INO(tinode)) {
+       VTakeOffline(volptr);
+       ViceLog(0,("Volume %u now offline, must be salvaged.\n",
+                  volptr->hashid));
+       return EIO;
+    }
 
     /* compute new file length */
     NewLength = DataLength;
@@ -7518,17 +7563,19 @@ SRXAFS_CallBackRxConnAddr (struct rx_call * acall, afs_int32 *addr)
 #else
     H_LOCK;
     tclient = h_FindClient_r(tcon);
+    if (!tclient) {
+       errorCode = VBUSY;
+       goto Bad_CallBackRxConnAddr;
+    }
     thost = tclient->host;
     
     /* nothing more can be done */
     if ( !thost->interface ) 
        goto Bad_CallBackRxConnAddr;
     
-    assert(thost->interface->numberOfInterfaces > 0 );
-    
     /* the only address is the primary interface */
     /* can't change when there's only 1 address, anyway */
-    if ( thost->interface->numberOfInterfaces == 1 ) 
+    if ( thost->interface->numberOfInterfaces <= 1 ) 
        goto Bad_CallBackRxConnAddr;
     
     /* initialise a security object only once */
index eb2a06d396953208bec67c1bb1c662cd66044b25..327c17cb67f4ec7fb4853820fae0f64397377bec 100644 (file)
@@ -83,7 +83,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/viced/callback.c,v 1.55.2.14 2006/02/02 21:48:39 jaltman Exp $");
+    ("$Header: /cvs/openafs/src/viced/callback.c,v 1.55.2.17 2007/08/21 08:28:37 jaltman Exp $");
 
 #include <stdio.h>
 #include <stdlib.h>            /* for malloc() */
@@ -2039,10 +2039,8 @@ MultiBreakCallBackAlternateAddress_r(struct host *host,
     if (!host->interface)
        return 1;               /* failure */
 
-    assert(host->interface->numberOfInterfaces > 0);
-
     /* the only address is the primary interface */
-    if (host->interface->numberOfInterfaces == 1)
+    if (host->interface->numberOfInterfaces <= 1)
        return 1;               /* failure */
 
     /* initialise a security object only once */
@@ -2087,8 +2085,10 @@ MultiBreakCallBackAlternateAddress_r(struct host *host,
            if (host->callback_rxcon)
                rx_DestroyConnection(host->callback_rxcon);
            host->callback_rxcon = conns[multi_i];
+            hashDelete_r(host->host, host->port, host);
            host->host = interfaces[multi_i].addr;
            host->port = interfaces[multi_i].port;
+            hashInsert_r(host->host, host->port, host);
            connSuccess = conns[multi_i];
            rx_SetConnDeadTime(host->callback_rxcon, 50);
            rx_SetConnHardDeadTime(host->callback_rxcon, AFS_HARDDEADTIME);
@@ -2134,11 +2134,9 @@ MultiProbeAlternateAddress_r(struct host *host)
     if (!host->interface)
        return 1;               /* failure */
 
-    assert(host->interface->numberOfInterfaces > 0);
-
     /* the only address is the primary interface */
-    if (host->interface->numberOfInterfaces == 1)
-       return 1;               /* failure */
+    if (host->interface->numberOfInterfaces <= 1)
+        return 1;               /* failure */
 
     /* initialise a security object only once */
     if (!sc)
@@ -2161,8 +2159,8 @@ MultiProbeAlternateAddress_r(struct host *host)
 
        interfaces[j] = host->interface->interface[i];
        conns[j] =
-           rx_NewConnection(interfaces[i].addr, 
-                            interfaces[i].port, 1, sc, 0);
+           rx_NewConnection(interfaces[j].addr, 
+                            interfaces[j].port, 1, sc, 0);
        rx_SetConnDeadTime(conns[j], 2);
        rx_SetConnHardDeadTime(conns[j], AFS_HARDDEADTIME);
        j++;
@@ -2180,21 +2178,25 @@ MultiProbeAlternateAddress_r(struct host *host)
            H_LOCK;
            if (host->callback_rxcon)
                rx_DestroyConnection(host->callback_rxcon);
+            hashDelete_r(host->host, host->port, host);
            host->callback_rxcon = conns[multi_i];
            host->host = interfaces[multi_i].addr;
            host->port = interfaces[multi_i].port;
+            hashInsert_r(host->host, host->port, host);
            connSuccess = conns[multi_i];
            rx_SetConnDeadTime(host->callback_rxcon, 50);
            rx_SetConnHardDeadTime(host->callback_rxcon, AFS_HARDDEADTIME);
            ViceLog(125,
-                   ("multiprobe success with addr %s\n",
-                    afs_inet_ntoa_r(interfaces[multi_i].addr, hoststr)));
+                   ("multiprobe success for host %x; new primary addr %s:%d\n",
+                    host, afs_inet_ntoa_r(host->host, hoststr),
+                     ntohs(host->port)));
            H_UNLOCK;
            multi_Abort;
        } else {
            ViceLog(125,
-                   ("multiprobe failure with addr %s\n",
-                    afs_inet_ntoa_r(interfaces[multi_i].addr, hoststr)));
+                   ("multiprobe failure with addr %s:%d\n",
+                    afs_inet_ntoa_r(interfaces[multi_i].addr, hoststr),
+                     ntohs(interfaces[multi_i].port)));
             
             /* This is less than desirable but its the best we can do.
              * The AFS Cache Manager will return either 0 for a Uuid  
@@ -2204,18 +2206,9 @@ MultiProbeAlternateAddress_r(struct host *host)
              * Uuid and fix the host tables.
              */
             if (multi_error == 1) {
-                struct host * newhost;
-
                 /* remove the current alternate address from this host */
                 H_LOCK;
-                for (i = 0, j = 0; i < host->interface->numberOfInterfaces; i++) {
-                    if (interfaces[multi_i].addr != host->interface->interface[i].addr &&
-                       interfaces[multi_i].port != host->interface->interface[i].port) {
-                        host->interface->interface[j] = host->interface->interface[i];
-                        j++;
-                    }
-                }
-                host->interface->numberOfInterfaces--;
+                removeInterfaceAddr_r(host, interfaces[multi_i].addr, interfaces[multi_i].port);
                 H_UNLOCK;
             }
         }
index 99d10431cd84ab1a0628e009d92c900d932efbad..25ce9907feadee1b9e7e5a1535ac13deeeae26d4 100644 (file)
@@ -11,7 +11,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/viced/host.c,v 1.57.2.44 2006/09/05 22:09:00 shadow Exp $");
+    ("$Header: /cvs/openafs/src/viced/host.c,v 1.57.2.49 2007/09/07 03:55:40 shadow Exp $");
 
 #include <stdio.h>
 #include <errno.h>
@@ -52,6 +52,7 @@ RCSID
 #include <afs/prs_fs.h>
 #include <afs/auth.h>
 #include <afs/afsutil.h>
+#include <afs/com_err.h>
 #include <rx/rx.h>
 #include <afs/cellconfig.h>
 #include <stdlib.h>
@@ -74,6 +75,7 @@ extern struct afsconf_dir *confDir;   /* config dir object */
 extern int lwps;               /* the max number of server threads */
 extern afsUUID FS_HostUUID;
 
+afsUUID nulluuid;
 int CEs = 0;                   /* active clients */
 int CEBlocks = 0;              /* number of blocks of CEs */
 struct client *CEFree = 0;     /* first free client */
@@ -81,6 +83,8 @@ struct host *hostList = 0;    /* linked list of all hosts */
 int hostCount = 0;             /* number of hosts in hostList */
 int rxcon_ident_key;
 int rxcon_client_key;
+static struct rx_securityClass *sc = NULL;
+
 
 #define CESPERBLOCK 73
 struct CEBlock {               /* block of CESPERBLOCK file entries */
@@ -88,7 +92,6 @@ struct CEBlock {              /* block of CESPERBLOCK file entries */
 };
 
 static void h_TossStuff_r(register struct host *host);
-static int hashDelete_r(afs_uint32 addr, afs_uint16 port, struct host *host);
 
 /*
  * Make sure the subnet macros have been defined.
@@ -182,8 +185,8 @@ static struct host *HTFree = 0;     /* first free file entry */
  * to map IP addresses onto host pointers, and another
  * to map host UUIDs onto host pointers.
  */
-static struct h_hashChain *hostHashTable[h_HASHENTRIES];
-static struct h_hashChain *hostUuidHashTable[h_HASHENTRIES];
+static struct h_AddrHashChain *hostAddrHashTable[h_HASHENTRIES];
+static struct h_UuidHashChain *hostUuidHashTable[h_HASHENTRIES];
 #define h_HashIndex(hostip) ((hostip) & (h_HASHENTRIES-1))
 #define h_UuidHashIndex(uuidp) (((int)(afs_uuid_hash(uuidp))) & (h_HASHENTRIES-1))
 
@@ -307,7 +310,7 @@ hpr_Initialize(struct ubik_client **uclient)
     if ((afsconf_GetLatestKey(tdir, 0, 0) == 0)) {
         code = afsconf_ClientAuthSecure(tdir, &sc[2], &scIndex);
         if (code)
-           ViceLog(0, ("hpr_Initialize: clientauthsecure returns %d %s (so trying noauth)", code, error_message(code)));
+           ViceLog(0, ("hpr_Initialize: clientauthsecure returns %d %s (so trying noauth)", code, afs_error_message(code)));
         if (code)
             scIndex = 0;        /* use noauth */
         if (scIndex != 2)
@@ -750,7 +753,6 @@ h_Alloc_r(register struct rx_connection *r_con)
 {
     struct servent *serverentry;
     register struct host *host;
-    static struct rx_securityClass *sc = 0;
     afs_int32 now;
 #if FS_STATS_DETAILED
     afs_uint32 newHostAddr_HBO;        /*New host IP addr, in host byte order */
@@ -821,13 +823,13 @@ struct host *
 h_Lookup_r(afs_uint32 haddr, afs_uint16 hport, int *heldp)
 {
     register afs_int32 now;
-    register struct host *host = 0;
-    register struct h_hashChain *chain;
+    register struct host *host = NULL;
+    register struct h_AddrHashChain *chain;
     register index = h_HashIndex(haddr);
     extern int hostaclRefresh;
 
   restart:
-    for (chain = hostHashTable[index]; chain; chain = chain->next) {
+    for (chain = hostAddrHashTable[index]; chain; chain = chain->next) {
        host = chain->hostPtr;
        assert(host);
        if (!(host->hostFlags & HOSTDELETED) && chain->addr == haddr
@@ -868,7 +870,7 @@ struct host *
 h_LookupUuid_r(afsUUID * uuidp)
 {
     register struct host *host = 0;
-    register struct h_hashChain *chain;
+    register struct h_UuidHashChain *chain;
     register index = h_UuidHashIndex(uuidp);
 
     for (chain = hostUuidHashTable[index]; chain; chain = chain->next) {
@@ -959,7 +961,7 @@ h_TossStuff_r(register struct host *host)
     host->hostFlags &= ~CLIENTDELETED;
 
     if (host->hostFlags & HOSTDELETED) {
-       register struct h_hashChain **hp, *th;
+        register struct h_AddrHashChain **ahp, *ath;
        register struct rx_connection *rxconn;
        afsUUID *uuidp;
        struct AddrPort hostAddrPort;
@@ -980,49 +982,51 @@ h_TossStuff_r(register struct host *host)
 
        /* if alternate addresses do not exist */
        if (!(host->interface)) {
-           for (hp = &hostHashTable[h_HashIndex(host->host)]; (th = *hp);
-                hp = &th->next) {
-               assert(th->hostPtr);
-               if (th->hostPtr == host) {
-                   *hp = th->next;
-                   h_DeleteList_r(host);
-                   FreeHT(host);
-                   free(th);
+           for (ahp = &hostAddrHashTable[h_HashIndex(host->host)]; (ath = *ahp);
+                ahp = &ath->next) {
+               assert(ath->hostPtr);
+               if (ath->hostPtr == host) {
+                   *ahp = ath->next;
+                   free(ath);
                    break;
                }
            }
        } else {
-           /* delete all hash entries for the UUID */
+            register struct h_UuidHashChain **uhp, *uth;
+           /* delete the hash entry for the UUID */
            uuidp = &host->interface->uuid;
-           for (hp = &hostUuidHashTable[h_UuidHashIndex(uuidp)]; (th = *hp);
-                hp = &th->next) {
-               assert(th->hostPtr);
-               if (th->hostPtr == host) {
-                   *hp = th->next;
-                   free(th);
+           for (uhp = &hostUuidHashTable[h_UuidHashIndex(uuidp)]; (uth = *uhp);
+                uhp = &uth->next) {
+               assert(uth->hostPtr);
+               if (uth->hostPtr == host) {
+                   *uhp = uth->next;
+                   free(uth);
                    break;
                }
            }
-           /* delete all hash entries for alternate addresses */
-           assert(host->interface->numberOfInterfaces > 0);
+           /* delete the hash entry for each alternate addresses */
            for (i = 0; i < host->interface->numberOfInterfaces; i++) {
                hostAddrPort = host->interface->interface[i];
 
-               for (hp = &hostHashTable[h_HashIndex(hostAddrPort.addr)]; (th = *hp);
-                    hp = &th->next) {
-                   assert(th->hostPtr);
-                   if (th->hostPtr == host) {
-                       *hp = th->next;
-                       free(th);
+                if (!hostAddrPort.valid)
+                    continue;
+
+               for (ahp = &hostAddrHashTable[h_HashIndex(hostAddrPort.addr)]; (ath = *ahp);
+                    ahp = &ath->next) {
+                   assert(ath->hostPtr);
+                   if (ath->hostPtr == host) {
+                       *ahp = ath->next;
+                       free(ath);
                        break;
                    }
                }
            }
            free(host->interface);
            host->interface = NULL;
-           h_DeleteList_r(host);       /* remove host from global host List */
-           FreeHT(host);
        }                       /* if alternate address exists */
+
+        h_DeleteList_r(host);  /* remove host from global host List */
+        FreeHT(host);
     }
 }                              /*h_TossStuff_r */
 
@@ -1109,13 +1113,19 @@ void
 hashInsertUuid_r(struct afsUUID *uuid, struct host *host)
 {
     int index;
-    struct h_hashChain *chain;
+    struct h_UuidHashChain *chain;
 
     /* hash into proper bucket */
     index = h_UuidHashIndex(uuid);
 
+    /* don't add the same entry multiple times */
+    for (chain = hostUuidHashTable[index]; chain; chain = chain->next) {
+       if (host->interface && afs_uuid_equal(&host->interface->uuid, uuid))
+           return;
+    }
+
     /* insert into beginning of list for this bucket */
-    chain = (struct h_hashChain *)malloc(sizeof(struct h_hashChain));
+    chain = (struct h_UuidHashChain *)malloc(sizeof(struct h_UuidHashChain));
     if (!chain) {
        ViceLog(0, ("Failed malloc in hashInsertUuid_r\n"));
        assert(0);
@@ -1132,35 +1142,46 @@ void
 hashInsert_r(afs_uint32 addr, afs_uint16 port, struct host *host)
 {
     int index;
-    struct h_hashChain *chain;
-
+    struct h_AddrHashChain *chain;
+    int found = 0;
+    char hoststr[16]; 
+  
     /* hash into proper bucket */
     index = h_HashIndex(addr);
 
     /* don't add the same entry multiple times */
-    for (chain = hostHashTable[index]; chain; chain = chain->next) {
-       if (chain->hostPtr == host && chain->addr == addr && chain->port == port)
-           return;
+    for (chain = hostAddrHashTable[index]; chain; chain = chain->next) {
+       if (chain->addr == addr && chain->port == port) {
+           if (chain->hostPtr == host)
+               found = 1;
+           else if (!(host->hostFlags & HOSTDELETED))
+               ViceLog(125, ("Addr %s:%d assigned to %x and %x.\n",
+                           afs_inet_ntoa_r(addr, hoststr), ntohs(port),
+                           host, chain));
+       }
     }
 
+    if (found)
+       return;
+
     /* insert into beginning of list for this bucket */
-    chain = (struct h_hashChain *)malloc(sizeof(struct h_hashChain));
+    chain = (struct h_AddrHashChain *)malloc(sizeof(struct h_AddrHashChain));
     if (!chain) {
        ViceLog(0, ("Failed malloc in hashInsert_r\n"));
        assert(0);
     }
     chain->hostPtr = host;
-    chain->next = hostHashTable[index];
+    chain->next = hostAddrHashTable[index];
     chain->addr = addr;
     chain->port = port;
-    hostHashTable[index] = chain;
+    hostAddrHashTable[index] = chain;
 }
 
 /*
  * This is called with host locked and held. At this point, the
- * hostHashTable should not be having entries for the alternate
+ * hostAddrHashTable should not have entries for the alternate
  * interfaces. This function has to insert these entries in the
- * hostHashTable.
+ * hostAddrHashTable.
  *
  * All addresses are in network byte order.
  */
@@ -1176,10 +1197,6 @@ addInterfaceAddr_r(struct host *host, afs_uint32 addr, afs_uint16 port)
     assert(host);
     assert(host->interface);
 
-    ViceLog(125, ("addInterfaceAddr : host %s:%d addr %s:%d\n", 
-                  afs_inet_ntoa_r(host->host, hoststr), ntohs(host->port), 
-                  afs_inet_ntoa_r(addr, hoststr2), ntohs(port)));
-
     /*
      * Make sure this address is on the list of known addresses
      * for this host.
@@ -1187,9 +1204,16 @@ addInterfaceAddr_r(struct host *host, afs_uint32 addr, afs_uint16 port)
     number = host->interface->numberOfInterfaces;
     for (i = 0, found = 0; i < number && !found; i++) {
        if (host->interface->interface[i].addr == addr &&
-           host->interface->interface[i].port == port)
+            host->interface->interface[i].port == port) {
            found = 1;
+            host->interface->interface[i].valid = 1;
+        }
     }
+
+    ViceLog(125, ("addInterfaceAddr : host %x (%s:%d) addr %s:%d : found:%d\n", 
+                  host, afs_inet_ntoa_r(host->host, hoststr), ntohs(host->port), 
+                  afs_inet_ntoa_r(addr, hoststr2), ntohs(port), found));
+    
     if (!found) {
        interface = (struct Interface *)
            malloc(sizeof(struct Interface) + (sizeof(struct AddrPort) * number));
@@ -1203,24 +1227,20 @@ addInterfaceAddr_r(struct host *host, afs_uint32 addr, afs_uint16 port)
            interface->interface[i] = host->interface->interface[i];
        interface->interface[number].addr = addr;
        interface->interface[number].port = port;
+        interface->interface[number].valid = 1;
        free(host->interface);
        host->interface = interface;
     }
 
-    /*
-     * Create a hash table entry for this address
-     */
-    hashInsert_r(addr, port, host);
-
     return 0;
 }
 
 
 /*
  * This is called with host locked and held. At this point, the
- * hostHashTable should not be having entries for the alternate
+ * hostAddrHashTable should not be having entries for the alternate
  * interfaces. This function has to insert these entries in the
- * hostHashTable.
+ * hostAddrHashTable.
  *
  * All addresses are in network byte order.
  */
@@ -1236,8 +1256,8 @@ removeInterfaceAddr_r(struct host *host, afs_uint32 addr, afs_uint16 port)
     assert(host);
     assert(host->interface);
 
-    ViceLog(125, ("removeInterfaceAddr : host %s:%d addr %s:%d\n", 
-                  afs_inet_ntoa_r(host->host, hoststr), ntohs(host->port), 
+    ViceLog(125, ("removeInterfaceAddr : host %x (%s:%d) addr %s:%d\n", 
+                  host, afs_inet_ntoa_r(host->host, hoststr), ntohs(host->port), 
                   afs_inet_ntoa_r(addr, hoststr2), ntohs(port)));
 
     /*
@@ -1246,18 +1266,17 @@ removeInterfaceAddr_r(struct host *host, afs_uint32 addr, afs_uint16 port)
      */
     interface = host->interface;
     number = host->interface->numberOfInterfaces;
-    for (i = 0, found = 0; i < number; i++) {
+    for (i = 0, found = 0; i < number && !found; i++) {
        if (interface->interface[i].addr == addr &&
            interface->interface[i].port == port) {
            found = 1;
-           break;
+            interface->interface[i].valid = 0;
        }
     }
     if (found) {
        number--;
        for (; i < number; i++) {
-           interface->interface[i].addr = interface->interface[i+1].addr;
-           interface->interface[i].port = interface->interface[i+1].port;
+           interface->interface[i] = interface->interface[i+1];
        }
        interface->numberOfInterfaces = number;
     }
@@ -1270,6 +1289,105 @@ removeInterfaceAddr_r(struct host *host, afs_uint32 addr, afs_uint16 port)
     return 0;
 }
 
+/*
+ * This is called with host locked and held.  This function differs
+ * from removeInterfaceAddr_r in that it is called when the address
+ * is being removed from the host regardless of whether or not there
+ * is an interface list for the host.  This function will delete the
+ * host if there are no addresses left on it.
+ *
+ * All addresses are in network byte order.
+ */
+int
+removeAddress_r(struct host *host, afs_uint32 addr, afs_uint16 port)
+{
+    int i;
+    char hoststr[16], hoststr2[16];
+
+    if (!host->interface) {
+        if (host->host == addr && host->port == port) {
+            ViceLog(25,
+                    ("Removing only address for host %x (%s:%d), deleting host.\n",
+                     host, afs_inet_ntoa_r(host->host, hoststr), ntohs(host->port)));
+            host->hostFlags |= HOSTDELETED;
+        }
+    } else {
+        removeInterfaceAddr_r(host, host->host, host->port);
+        if (host->interface->numberOfInterfaces == 0) {
+            ViceLog(25,
+                     ("Removed only address for host %x (%s:%d), no alternate interfaces, deleting host.\n",
+                       host, afs_inet_ntoa_r(host->host, hoststr), ntohs(host->port)));
+            host->hostFlags |= HOSTDELETED;
+        } else {
+            struct rx_connection *rxconn;
+
+            rxconn = host->callback_rxcon;
+            host->callback_rxcon = NULL;
+
+            if (rxconn) {
+                struct client *client;
+                /*
+                * If rx_DestroyConnection calls h_FreeConnection we will
+                * deadlock on the host_glock_mutex. Work around the problem
+                * by unhooking the client from the connection before
+                * destroying the connection.
+                */
+                client = rx_GetSpecific(rxconn, rxcon_client_key);
+                rx_SetSpecific(rxconn, rxcon_client_key, (void *)0);
+                rx_DestroyConnection(rxconn);
+            }
+
+            for (i=0; i < host->interface->numberOfInterfaces; i++) {
+                if (host->interface->interface[i].valid) {
+                    ViceLog(25,
+                             ("Removed address for host %x (%s:%d), new primary interface %s:%d.\n",
+                               host, afs_inet_ntoa_r(host->host, hoststr), ntohs(host->port),
+                               afs_inet_ntoa_r(host->interface->interface[i].addr, hoststr2), 
+                               ntohs(host->interface->interface[i].port)));
+                    host->host = host->interface->interface[i].addr;
+                    host->port = host->interface->interface[i].port;
+                    hashInsert_r(host->host, host->port, host);
+                    break;
+                }
+            }
+
+            if (i == host->interface->numberOfInterfaces) {
+                ViceLog(25,
+                         ("Removed only address for host %x (%s:%d), no valid alternate interfaces, deleting host.\n",
+                           host, afs_inet_ntoa_r(host->host, hoststr), ntohs(host->port)));
+                host->hostFlags |= HOSTDELETED;
+            } else {
+                if (!sc)
+                    sc = rxnull_NewClientSecurityObject();
+                host->callback_rxcon =
+                    rx_NewConnection(host->host, host->port, 1, sc, 0);
+                rx_SetConnDeadTime(host->callback_rxcon, 50);
+                rx_SetConnHardDeadTime(host->callback_rxcon, AFS_HARDDEADTIME);
+            }
+        }
+    }
+
+    return 0;
+}
+
+int 
+h_threadquota(int waiting) 
+{
+    if (lwps > 64) {
+       if (waiting > 5)
+           return 1;
+    } else if (lwps > 32) {
+       if (waiting > 4)
+           return 1;
+    } else if (lwps > 16) {
+       if (waiting > 3)
+           return 1;
+    } else {
+       if (waiting > 2)
+           return 1;
+    }
+    return 0;
+}
 
 /* Host is returned held */
 struct host *
@@ -1278,7 +1396,7 @@ h_GetHost_r(struct rx_connection *tcon)
     struct host *host;
     struct host *oldHost;
     int code;
-    int held, oheld;
+    int held;
     struct interfaceAddr interf;
     int interfValid = 0;
     struct Identity *identP = NULL;
@@ -1306,8 +1424,12 @@ h_GetHost_r(struct rx_connection *tcon)
         * structure for this address. Verify that the identity
         * of the caller matches the identity in the host structure.
         */
+       if ((host->hostFlags & HWHO_INPROGRESS) && 
+           h_threadquota(host->lock.num_waiting))
+           return 0;
        h_Lock_r(host);
        if (!(host->hostFlags & ALTADDR)) {
+           host->hostFlags &= ~HWHO_INPROGRESS;
            /* Another thread is doing initialization */
            h_Unlock_r(host);
            if (!held)
@@ -1329,7 +1451,8 @@ h_GetHost_r(struct rx_connection *tcon)
        rx_PutConnection(cb_conn);
        cb_conn=NULL;
        H_LOCK;
-       if (code == RXGEN_OPCODE) {
+       if ((code == RXGEN_OPCODE) || 
+           (afs_uuid_equal(&interf.uuid, &nulluuid))) {
            identP = (struct Identity *)malloc(sizeof(struct Identity));
            if (!identP) {
                ViceLog(0, ("Failed malloc in h_GetHost_r\n"));
@@ -1347,6 +1470,7 @@ h_GetHost_r(struct rx_connection *tcon)
                         afs_inet_ntoa_r(host->host, hoststr),
                         ntohs(host->port)));
                host->hostFlags |= HOSTDELETED;
+               host->hostFlags &= ~HWHO_INPROGRESS;
                h_Unlock_r(host);
                if (!held)
                    h_Release_r(host);
@@ -1368,10 +1492,11 @@ h_GetHost_r(struct rx_connection *tcon)
             * then this is not the same host as before. */
            if (!host->interface
                || !afs_uuid_equal(&interf.uuid, &host->interface->uuid)) {
-               ViceLog(25,
-                       ("Host %s:%d has changed its identity, deleting.\n",
-                        afs_inet_ntoa_r(host->host, hoststr), host->port));
+                ViceLog(25,
+                         ("Uuid doesn't match host %x (%s:%d). Host deleted.\n",
+                           host, afs_inet_ntoa_r(host->host, hoststr), ntohs(host->port)));
                host->hostFlags |= HOSTDELETED;
+               host->hostFlags &= ~HWHO_INPROGRESS;
                h_Unlock_r(host);
                if (!held)
                    h_Release_r(host);
@@ -1379,9 +1504,9 @@ h_GetHost_r(struct rx_connection *tcon)
                goto retry;
            }
        } else {
-           afs_inet_ntoa_r(host->host, hoststr);
            ViceLog(0,
-                   ("CB: WhoAreYou failed for %s:%d, error %d\n", hoststr,
+                   ("CB: WhoAreYou failed for host %x (%s:%d), error %d\n", 
+                     host, afs_inet_ntoa_r(host->host, hoststr),
                     ntohs(host->port), code));
            host->hostFlags |= VENUSDOWN;
        }
@@ -1391,6 +1516,7 @@ h_GetHost_r(struct rx_connection *tcon)
        else
            host->hostFlags &= ~(HERRORTRANS);
        host->hostFlags |= ALTADDR;
+       host->hostFlags &= ~HWHO_INPROGRESS;
        h_Unlock_r(host);
     } else if (host) {
        if (!(host->hostFlags & ALTADDR)) {
@@ -1400,6 +1526,7 @@ h_GetHost_r(struct rx_connection *tcon)
                     afs_inet_ntoa_r(host->host, hoststr),
                     ntohs(host->port)));
            h_Lock_r(host);
+           host->hostFlags &= ~HWHO_INPROGRESS;
            h_Unlock_r(host);
            if (!held)
                h_Release_r(host);
@@ -1432,6 +1559,7 @@ h_GetHost_r(struct rx_connection *tcon)
 
            /* The host in the cache is not the host for this connection */
            host->hostFlags |= HOSTDELETED;
+           host->hostFlags &= ~HWHO_INPROGRESS;
            h_Unlock_r(host);
            if (!held)
                h_Release_r(host);
@@ -1452,7 +1580,8 @@ h_GetHost_r(struct rx_connection *tcon)
            rx_PutConnection(cb_conn);
            cb_conn=NULL;
            H_LOCK;
-           if (code == RXGEN_OPCODE) {
+           if ((code == RXGEN_OPCODE) || 
+               afs_uuid_equal(&interf.uuid, &nulluuid)) {
                if (!identP)
                    identP =
                        (struct Identity *)malloc(sizeof(struct Identity));
@@ -1505,9 +1634,10 @@ h_GetHost_r(struct rx_connection *tcon)
                 if (oldHost) {
                     int probefail = 0;
 
-                   if (!(oheld = h_Held_r(oldHost)))
+                   if (!h_Held_r(oldHost))
                        h_Hold_r(oldHost);
                    h_Lock_r(oldHost);
+                   oldHost->hostFlags |= HWHO_INPROGRESS;
 
                     if (oldHost->interface) {
                        int code2;
@@ -1542,15 +1672,20 @@ h_GetHost_r(struct rx_connection *tcon)
                    /* This is a new address for an existing host. Update
                     * the list of interfaces for the existing host and
                     * delete the host structure we just allocated. */
+
+                    /* prevent warnings while manipulating interface lists */
+                   host->hostFlags |= HOSTDELETED;
+
                    if (oldHost->host != haddr || oldHost->port != hport) {
                        struct rx_connection *rxconn;
 
                        ViceLog(25,
-                               ("CB: new addr %s:%d for old host %s:%d\n",
-                                 afs_inet_ntoa_r(haddr, hoststr),
-                                 ntohs(hport), 
-                                 afs_inet_ntoa_r(oldHost->host, hoststr2),
-                                 ntohs(oldHost->port)));
+                               ("CB: Host %x (%s:%d) has new addr %s:%d\n",
+                                 oldHost, 
+                                  afs_inet_ntoa_r(oldHost->host, hoststr2),
+                                 ntohs(oldHost->port),
+                                  afs_inet_ntoa_r(haddr, hoststr),
+                                 ntohs(hport)));
                        if (probefail || oldHost->host == haddr) {
                            /* The probe failed which means that the old address is 
                             * either unreachable or is not the same host we were just
@@ -1578,6 +1713,7 @@ h_GetHost_r(struct rx_connection *tcon)
                            }
                        }
                        addInterfaceAddr_r(oldHost, haddr, hport);
+                        hashInsert_r(haddr, hport, oldHost);
                        oldHost->host = haddr;
                        oldHost->port = hport;
                        rxconn = oldHost->callback_rxcon;
@@ -1597,7 +1733,7 @@ h_GetHost_r(struct rx_connection *tcon)
                            rx_DestroyConnection(rxconn);
                        }
                    }
-                   host->hostFlags |= HOSTDELETED;
+                   host->hostFlags &= ~HWHO_INPROGRESS;
                    h_Unlock_r(host);
                    /* release host because it was allocated by h_Alloc_r */
                    h_Release_r(host);
@@ -1626,15 +1762,14 @@ h_GetHost_r(struct rx_connection *tcon)
                }
            }
            if (code) {
-               afs_inet_ntoa_r(host->host, hoststr);
                ViceLog(0,
-                       ("CB: RCallBackConnectBack failed for %s:%d\n",
-                        hoststr, ntohs(host->port)));
+                       ("CB: RCallBackConnectBack failed for host %x (%s:%d)\n",
+                        host, afs_inet_ntoa_r(host->host, hoststr), ntohs(host->port)));
                host->hostFlags |= VENUSDOWN;
            } else {
                ViceLog(125,
-                       ("CB: RCallBackConnectBack succeeded for %s:%d\n",
-                        hoststr, ntohs(host->port)));
+                       ("CB: RCallBackConnectBack succeeded for host %x (%s:%d)\n",
+                        host, afs_inet_ntoa_r(host->host, hoststr), ntohs(host->port)));
                host->hostFlags |= RESETDONE;
            }
        }
@@ -1644,6 +1779,7 @@ h_GetHost_r(struct rx_connection *tcon)
        else
            host->hostFlags &= ~(HERRORTRANS);
        host->hostFlags |= ALTADDR;     /* host structure initialization complete */
+       host->hostFlags &= ~HWHO_INPROGRESS;
        h_Unlock_r(host);
     }
     if (caps.Capabilities_val)
@@ -1662,6 +1798,7 @@ char local_realm[AFS_REALM_SZ] = "";
 void
 h_InitHostPackage()
 {
+    memset(&nulluuid, 0, sizeof(afsUUID));
     afsconf_GetLocalCell(confDir, localcellname, PR_MAXNAMELEN);
     if (!local_realm[0]) {
        if (afs_krb_get_lrealm(local_realm, 0) != 0 /*KSUCCESS*/) {
@@ -1880,6 +2017,9 @@ h_FindClient_r(struct rx_connection *tcon)
     if (!client) { /* loop */
        host = h_GetHost_r(tcon);       /* Returns it h_Held */
 
+       if (!host) 
+           return 0;
+
     retryfirstclient:
        /* First try to find the client structure */
        for (client = host->FirstClient; client; client = client->next) {
@@ -2529,6 +2669,7 @@ CheckHost(register struct host *host, int held)
     }
     if (host->LastCall < checktime) {
        h_Lock_r(host);
+       host->hostFlags |= HWHO_INPROGRESS;
        if (!(host->hostFlags & HOSTDELETED)) {
            cb_conn = host->callback_rxcon;
            rx_GetConnection(cb_conn);
@@ -2598,6 +2739,7 @@ CheckHost(register struct host *host, int held)
            cb_conn=NULL;
            H_LOCK;
        }
+       host->hostFlags &= ~HWHO_INPROGRESS;
        h_Unlock_r(host);
     }
     H_UNLOCK;
@@ -2605,6 +2747,97 @@ CheckHost(register struct host *host, int held)
 
 }                              /*CheckHost */
 
+int
+CheckHost_r(register struct host *host, int held, char *dummy)
+{
+    register struct client *client;
+    struct rx_connection *cb_conn = NULL;
+    int code;
+
+    /* Host is held by h_Enumerate_r */
+    for (client = host->FirstClient; client; client = client->next) {
+       if (client->refCount == 0 && client->LastCall < clientdeletetime) {
+           client->deleted = 1;
+           host->hostFlags |= CLIENTDELETED;
+       }
+    }
+    if (host->LastCall < checktime) {
+       h_Lock_r(host);
+       if (!(host->hostFlags & HOSTDELETED)) {
+           cb_conn = host->callback_rxcon;
+           rx_GetConnection(cb_conn);
+           if (host->LastCall < clientdeletetime) {
+               host->hostFlags |= HOSTDELETED;
+               if (!(host->hostFlags & VENUSDOWN)) {
+                   host->hostFlags &= ~ALTADDR;        /* alternate address invalid */
+                   if (host->interface) {
+                       H_UNLOCK;
+                       code =
+                           RXAFSCB_InitCallBackState3(cb_conn,
+                                                      &FS_HostUUID);
+                       H_LOCK;
+                   } else {
+                       H_UNLOCK;
+                       code =
+                           RXAFSCB_InitCallBackState(cb_conn);
+                       H_LOCK;
+                   }
+                   host->hostFlags |= ALTADDR; /* alternate addresses valid */
+                   if (code) {
+                       char hoststr[16];
+                       (void)afs_inet_ntoa_r(host->host, hoststr);
+                       ViceLog(0,
+                               ("CB: RCallBackConnectBack (host.c) failed for host %s:%d\n",
+                                hoststr, ntohs(host->port)));
+                       host->hostFlags |= VENUSDOWN;
+                   }
+                   /* Note:  it's safe to delete hosts even if they have call
+                    * back state, because break delayed callbacks (called when a
+                    * message is received from the workstation) will always send a 
+                    * break all call backs to the workstation if there is no
+                    *callback.
+                    */
+               }
+           } else {
+               if (!(host->hostFlags & VENUSDOWN) && host->cblist) {
+                   char hoststr[16];
+                   (void)afs_inet_ntoa_r(host->host, hoststr);
+                   if (host->interface) {
+                       afsUUID uuid = host->interface->uuid;
+                       H_UNLOCK;
+                       code = RXAFSCB_ProbeUuid(cb_conn, &uuid);
+                       H_LOCK;
+                       if (code) {
+                           if (MultiProbeAlternateAddress_r(host)) {
+                               ViceLog(0,("CheckHost_r: Probing all interfaces of host %s:%d failed, code %d\n",
+                                           hoststr, ntohs(host->port), code));
+                               host->hostFlags |= VENUSDOWN;
+                           }
+                       }
+                   } else {
+                       H_UNLOCK;
+                       code = RXAFSCB_Probe(cb_conn);
+                       H_LOCK;
+                       if (code) {
+                           ViceLog(0,
+                                   ("CheckHost_r: Probe failed for host %s:%d, code %d\n", 
+                                    hoststr, ntohs(host->port), code));
+                           host->hostFlags |= VENUSDOWN;
+                       }
+                   }
+               }
+           }
+           H_UNLOCK;
+           rx_PutConnection(cb_conn);
+           cb_conn=NULL;
+           H_LOCK;
+       }
+       h_Unlock_r(host);
+    }
+    return held;
+
+}                              /*CheckHost_r */
+
 
 /*
  * Set VenusDown for any hosts that have not had a call in 15 minutes and
@@ -2627,15 +2860,17 @@ h_CheckHosts()
      */
     checktime = now - 15 * 60;
     clientdeletetime = now - 120 * 60; /* 2 hours ago */
-    h_Enumerate(CheckHost, NULL);
-
+    
+    H_LOCK;
+    h_Enumerate_r(CheckHost_r, hostList, NULL);
+    H_UNLOCK;
 }                              /*h_CheckHosts */
 
 /*
  * This is called with host locked and held. At this point, the
- * hostHashTable should not have any entries for the alternate
+ * hostAddrHashTable should not have any entries for the alternate
  * interfaces. This function has to insert these entries in the
- * hostHashTable.
+ * hostAddrHashTable.
  *
  * The addresses in the interfaceAddr list are in host byte order.
  */
@@ -2649,6 +2884,8 @@ initInterfaceAddr_r(struct host *host, struct interfaceAddr *interf)
     int found;
     struct Interface *interface;
     char hoststr[16];
+    char uuidstr[128];
+    afs_uint16 port7001 = htons(7001);
 
     assert(host);
     assert(interf);
@@ -2669,8 +2906,39 @@ initInterfaceAddr_r(struct host *host, struct interfaceAddr *interf)
     }
 
     /*
-     * Convert IP addresses to network byte order, and remove for
-     * duplicate IP addresses from the interface list.
+     * The client's notion of its own IP addresses is not reliable.  
+     *
+     * 1. The client list might contain private address ranges which
+     *    are likely to be re-used by many clients allocated addresses
+     *    by a NAT.
+     *
+     * 2. The client list will not include any public addresses that
+     *    are hidden by a NAT.
+     *
+     * 3. Private address ranges that are exposed to the server will
+     *    be obtained from the rx connections that use them.
+     *
+     * 4. Lists provided by the client are not necessarily truthful.
+     *    Many existing clients (UNIX) do not refresh the IP address
+     *    list as the actual assigned addresses change.  The end result
+     *    is that they report the initial address list for the lifetime
+     *    of the process.  In other words, a client can report addresses
+     *    that they are in fact not using.  Adding these addresses to
+     *    the host interface list without verification is not only
+     *    pointless, it is downright dangerous.
+     *
+     * We therefore do not add alternate addresses to the addr hash table.
+     * We only use them for multi-rx callback breaks.
+     */
+
+    /*
+     * Convert IP addresses to network byte order, and remove
+     * duplicate IP addresses from the interface list, and 
+     * determine whether or not the incoming addr/port is 
+     * listed.  Note that if the address matches it is not
+     * truly a match because the port number for the entries
+     * in the interface list are port 7001 and the port number
+     * for this connection might not be 7001.
      */
     for (i = 0, count = 0, found = 0; i < number; i++) {
        interf->addr_in[i] = htonl(interf->addr_in[i]);
@@ -2680,7 +2948,8 @@ initInterfaceAddr_r(struct host *host, struct interfaceAddr *interf)
        }
        if (j == count) {
            interf->addr_in[count] = interf->addr_in[i];
-           if (interf->addr_in[count] == myAddr)
+           if (interf->addr_in[count] == myAddr &&
+                port7001 == myPort)
                found = 1;
            count++;
        }
@@ -2694,31 +2963,42 @@ initInterfaceAddr_r(struct host *host, struct interfaceAddr *interf)
            malloc(sizeof(struct Interface) +
                   (sizeof(struct AddrPort) * (count - 1)));
        if (!interface) {
-           ViceLog(0, ("Failed malloc in initInterfaceAddr_r\n"));
+           ViceLog(0, ("Failed malloc in initInterfaceAddr_r 1\n"));
            assert(0);
        }
        interface->numberOfInterfaces = count;
     } else {
        interface = (struct Interface *)
            malloc(sizeof(struct Interface) + (sizeof(struct AddrPort) * count));
-       assert(interface);
+       if (!interface) {
+           ViceLog(0, ("Failed malloc in initInterfaceAddr_r 2\n"));
+           assert(0);
+       }
        interface->numberOfInterfaces = count + 1;
        interface->interface[count].addr = myAddr;
        interface->interface[count].port = myPort;
+        interface->interface[count].valid = 1;
     }
-    interface->uuid = interf->uuid;
+
     for (i = 0; i < count; i++) {
-       interface->interface[i].addr = interf->addr_in[i];
-       /* We store the port as 7001 because the addresses reported by 
+
+        interface->interface[i].addr = interf->addr_in[i];
+       /* We store the port as 7001 because the addresses reported by
         * TellMeAboutYourself and WhoAreYou RPCs are only valid if they
         * are coming from fully connected hosts (no NAT/PATs)
         */
-       interface->interface[i].port = htons(7001);
+       interface->interface[i].port = port7001;
+        interface->interface[i].valid = 1;      /* valid until a conflict is found */
     }
 
+    interface->uuid = interf->uuid;
+
     assert(!host->interface);
     host->interface = interface;
 
+    afsUUID_to_string(&interface->uuid, uuidstr, 127);
+
+    ViceLog(125, ("--- uuid %s\n", uuidstr));
     for (i = 0; i < host->interface->numberOfInterfaces; i++) {
        ViceLog(125, ("--- alt address %s:%d\n", 
                       afs_inet_ntoa_r(host->interface->interface[i].addr, hoststr),
@@ -2730,13 +3010,14 @@ initInterfaceAddr_r(struct host *host, struct interfaceAddr *interf)
 
 /* deleted a HashChain structure for this address and host */
 /* returns 1 on success */
-static int
-hashDelete_r(afs_uint32 addr, afs_uint16 port, struct host *host)
+int
+hashDelete_r(afs_uint32 addr, afs_uint16 port, struct host *
+                               host)
 {
     int flag;
-    register struct h_hashChain **hp, *th;
+    register struct h_AddrHashChain **hp, *th;
 
-    for (hp = &hostHashTable[h_HashIndex(addr)]; (th = *hp);) {
+    for (hp = &hostAddrHashTable[h_HashIndex(addr)]; (th = *hp);) {
        assert(th->hostPtr);
        if (th->hostPtr == host && th->addr == addr && th->port == port) {
            *hp = th->next;
@@ -2764,10 +3045,13 @@ printInterfaceAddr(struct host *host, int level)
     if (host->interface) {
        /* check alternate addresses */
        number = host->interface->numberOfInterfaces;
-       assert(number > 0);
-       for (i = 0; i < number; i++)
-           ViceLog(level, ("%s:%d ", afs_inet_ntoa_r(host->interface->interface[i].addr, hoststr),
-                            ntohs(host->interface->interface[i].port)));
+        if (number == 0)
+            ViceLog(level, ("no-addresses "));
+        else {
+            for (i = 0; i < number; i++)
+                ViceLog(level, ("%s:%d ", afs_inet_ntoa_r(host->interface->interface[i].addr, hoststr),
+                                ntohs(host->interface->interface[i].port)));
+        }
     }
     ViceLog(level, ("\n"));
 }
index 9973df96669f00c01d77d6552a1b00d6036830af..305d3914969d46926d91b889c4fe542340602ebf 100644 (file)
@@ -52,6 +52,7 @@ struct Identity {
 struct AddrPort  {
     afs_uint32 addr;           /* in network byte order */
     afs_uint16 port;           /* in network byte order */
+    afs_int16  valid;
 };
 
 struct Interface {
@@ -103,13 +104,18 @@ struct host {
 /* * Don't zero the index, lock or condition varialbles */
 #define HOST_TO_ZERO(H) (int)(((char *)(&((H)->index))-(char *)(H)))
 
-struct h_hashChain {
+struct h_AddrHashChain {
     struct host *hostPtr;
-    struct h_hashChain *next;
+    struct h_AddrHashChain *next;
     afs_uint32 addr;
     afs_uint16 port;
 };
 
+struct h_UuidHashChain {
+    struct host *hostPtr;
+    struct h_UuidHashChain *next;
+};
+
 struct client {
     struct client *next;       /* next client entry for host */
     struct host *host;         /* ptr to parent host entry */
@@ -216,6 +222,14 @@ extern void h_PrintClients();
 extern void h_GetWorkStats();
 extern void h_flushhostcps(register afs_uint32 hostaddr,
                           register afs_uint16 hport);
+extern void hashInsertUuid_r(struct afsUUID *uuid, struct host *host);
+extern void hashInsert_r(afs_uint32 addr, afs_uint16 port, struct host *host);
+extern int hashDelete_r(afs_uint32 addr, afs_uint16 port, struct host *host);
+extern int initInterfaceAddr_r(struct host *host, struct interfaceAddr *interf);
+extern int addInterfaceAddr_r(struct host *host, afs_uint32 addr, afs_uint16 port);
+extern int removeInterfaceAddr_r(struct host *host, afs_uint32 addr, afs_uint16 port);
+extern int removeAddress_r(struct host *host, afs_uint32 addr, afs_uint16 port);
+
 struct Interface *MultiVerifyInterface_r();
 
 struct host *(hosttableptrs[h_MAXHOSTTABLES]); /* Used by h_itoh */
@@ -241,5 +255,4 @@ struct host *(hosttableptrs[h_MAXHOSTTABLES]);      /* Used by h_itoh */
 #define RESETDONE                      0x40    /* callback reset done */
 #define HFE_LATER                       0x80   /* host has FE_LATER callbacks */
 #define HERRORTRANS                    0x100   /* do error translation */
-
-
+#define HWHO_INPROGRESS                0x200    /* set when WhoAreYou running */
index a4cb3e1f32d0c3eb232d45da2ffe47ce22539b33..54a31ef928e35f272dfbd8e223b63d71686c7f17 100644 (file)
@@ -19,7 +19,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/vol/clone.c,v 1.17.2.4 2006/10/06 12:33:57 shadow Exp $");
+    ("$Header: /cvs/openafs/src/vol/clone.c,v 1.17.2.5 2007/05/18 05:55:13 shadow Exp $");
 
 #include <sys/types.h>
 #include <stdio.h>
@@ -403,15 +403,7 @@ DoCloneIndex(Volume * rwvp, Volume * clvp, VnodeClass class, int reclone)
 }
 
 void
-CloneVolume(Error * error, Volume * original, Volume * new, Volume * old)
-{
-    VOL_LOCK;
-    CloneVolume_r(error, original, new, old);
-    VOL_UNLOCK;
-}
-
-void
-CloneVolume_r(Error * rerror, Volume * original, Volume * new, Volume * old)
+CloneVolume(Error * rerror, Volume * original, Volume * new, Volume * old)
 {
     afs_int32 code, error = 0;
     afs_int32 reclone;
@@ -426,7 +418,7 @@ CloneVolume_r(Error * rerror, Volume * original, Volume * new, Volume * old)
     if (code)
        ERROR_EXIT(code);
 
-    code = CopyVolumeHeader_r(&V_disk(original), &V_disk(new));
+    code = CopyVolumeHeader(&V_disk(original), &V_disk(new));
     if (code)
        ERROR_EXIT(code);
 
index 9c1f78e4fe10a44ec3552edf6cd03dce99d02aea..94939ad6496a72bf9fcd85244dea082076118d1a 100644 (file)
@@ -51,7 +51,7 @@ static int newVLDB = 1;
 #include <afs/afsutil.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/vol/Attic/fssync.c,v 1.26.2.6 2007/02/08 23:59:47 shadow Exp $");
+    ("$Header: /cvs/openafs/src/vol/Attic/fssync.c,v 1.26.2.7 2007/06/23 13:46:53 shadow Exp $");
 
 #include <sys/types.h>
 #include <stdio.h>
@@ -162,7 +162,7 @@ extern int LogLevel;
 struct Lock FSYNC_handler_lock;
 
 int
-FSYNC_clientInit(void)
+FSYNC_clientInit(int f)
 {
 #ifdef USE_UNIX_SOCKETS
     struct sockaddr_un addr;
@@ -178,6 +178,10 @@ FSYNC_clientInit(void)
        FS_sd = getport(&addr);
        if (connect(FS_sd, (struct sockaddr *)&addr, sizeof(addr)) >= 0)
            return 1;
+       if (!f) {
+           FSYNC_clientFinis();
+           return 0;
+       }
        if (!*timeout)
            break;
        if (!(*timeout & 1))
@@ -206,6 +210,7 @@ FSYNC_askfs(VolumeId volume, char *partName, int com, int reason)
     byte response;
     struct command command;
     int n;
+    int retrycount = 8;
     command.volume = volume;
     command.command = com;
     command.reason = reason;
@@ -213,38 +218,42 @@ FSYNC_askfs(VolumeId volume, char *partName, int com, int reason)
        strcpy(command.partName, partName);
     else
        command.partName[0] = 0;
-    assert(FS_sd != -1);
     VFSYNC_LOCK;
 #ifdef AFS_NT40_ENV
-    if (send(FS_sd, (char *)&command, sizeof(command), 0) != sizeof(command)) {
-       printf("FSYNC_askfs: write to file server failed\n");
+#define FS_SEND(fd,cmd)        send(fd, (char*)&(cmd), sizeof(cmd), 0)
+#define FS_RECV(fd,resp) recv(fd, &(resp), 1, 0)
+#define FS_PERROR(m)   fprintf(stderr,"%s\n", m)
+#define FS_INTERRUPTED(n)      ((n) && WSAEINTR == WSAGetLastError())
+#else
+#define FS_SEND(fd,cmd)        write(fd,&(cmd), sizeof (cmd))
+#define FS_RECV(fd,resp) read(fd, &(resp), 1)
+#define FS_PERROR(m)   perror(m)
+#define FS_INTERRUPTED(n)      (n && errno == EINTR)
+#endif
+    for (;;) {
+       if (FS_sd != -1) {
+           if (FS_SEND(FS_sd, command) == sizeof(command)) break;
+           FS_PERROR("FSYNC_askfs: write to file server failed");
+       }
+       if (--retrycount > 0) {
+           FSYNC_clientFinis();
+           if (FSYNC_clientInit(1)) continue;
+       }
        response = FSYNC_DENIED;
        goto done;
     }
-    while ((n = recv(FS_sd, &response, 1, 0)) != 1) {
-       if (n == 0 || WSAEINTR != WSAGetLastError()) {
-           printf("FSYNC_askfs: No response from file server\n");
-           response = FSYNC_DENIED;
-           goto done;
-       }
-    }
-#else
-    if (write(FS_sd, &command, sizeof(command)) != sizeof(command)) {
-       printf("FSYNC_askfs: write to file server failed\n");
+    for (;;) {
+       errno = 0;
+       n = FS_RECV(FS_sd, response);
+       if (n == 1) break;
+       if (FS_INTERRUPTED(n)) continue;
+       fprintf(stderr,"FSYNC_askfs: No response from file server\n");
        response = FSYNC_DENIED;
        goto done;
     }
-    while ((n = read(FS_sd, &response, 1)) != 1) {
-       if (n == 0 || errno != EINTR) {
-           printf("FSYNC_askfs: No response from file server\n");
-           response = FSYNC_DENIED;
-           goto done;
-       }
-    }
-#endif
     if (response == 0) {
-       printf
-           ("FSYNC_askfs: negative response from file server; volume %u, command %d\n",
+       fprintf(stderr,
+           "FSYNC_askfs: negative response from file server; volume %u, command %d\n",
             command.volume, (int)command.command);
     }
   done:
@@ -338,13 +347,6 @@ FSYNC_sync()
     Log("Set thread id %d for FSYNC_sync\n", tid);
 #endif /* AFS_PTHREAD_ENV */
 
-#ifdef USE_UNIX_SOCKETS
-    strcompose(tbuffer, AFSDIR_PATH_MAX, AFSDIR_SERVER_LOCAL_DIRPATH, "/",
-               "fssync.sock", NULL);
-    /* ignore errors */
-    remove(tbuffer);
-#endif /* USE_UNIX_SOCKETS */
-
     while (!VInit) {
        /* Let somebody else run until level > 0.  That doesn't mean that 
         * all volumes have been attached. */
@@ -366,6 +368,15 @@ FSYNC_sync()
        if ((code =
             bind(AcceptSd, (struct sockaddr *)&addr, sizeof(addr))) == 0)
            break;
+#ifdef USE_UNIX_SOCKETS
+       code = errno;
+       if (remove(addr.sun_path) == 0) {
+           Log("FSYNC_sync: bind failed with (%d), removed bogus %s\n",
+               code, addr.sun_path);
+           continue;
+       }
+       errno = code;
+#endif
        Log("FSYNC_sync: bind failed with (%d), will sleep and retry\n",
            errno);
        sleep(5);
index af5ab02c7105e2d7ab31e633b6e622c9826a180f..201df6cba638f49a3bf3717f28e1695b7a12bc6b 100644 (file)
@@ -46,6 +46,6 @@
 
 /* Prototypes from fssync.c */
 void FSYNC_clientFinis(void);
-int FSYNC_clientInit(void);
+int FSYNC_clientInit(int);
 void FSYNC_fsInit(void);
 int FSYNC_askfs(VolumeId volume, char *partName, int com, int reason);
index 633b3bd09fa37e81c46c441300972c6dd883e235..39fdd29f1f337306e212202657d863a28785a8e7 100644 (file)
@@ -15,7 +15,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/vol/ihandle.c,v 1.18.2.1 2004/08/25 07:14:19 shadow Exp $");
+    ("$Header: /cvs/openafs/src/vol/ihandle.c,v 1.18.2.3 2007/09/10 21:55:58 jaltman Exp $");
 
 #include <stdio.h>
 #include <sys/types.h>
@@ -154,6 +154,24 @@ ih_Initialize(void)
     }
 #endif
     fdCacheSize = MIN(fdMaxCacheSize, FD_DEFAULT_CACHESIZE);
+
+    {
+       void *ih_sync_thread();
+#ifdef AFS_PTHREAD_ENV
+       pthread_t syncer;
+       pthread_attr_t tattr;
+
+       pthread_attr_init(&tattr);
+       pthread_attr_setdetachstate(&tattr,PTHREAD_CREATE_DETACHED);
+
+       pthread_create(&syncer, &tattr, ih_sync_thread, NULL);
+#else /* AFS_PTHREAD_ENV */
+       PROCESS syncer;
+       LWP_CreateProcess(ih_sync_thread, 16*1024, LWP_MAX_PRIORITY - 2,
+           NULL, "ih_syncer", &syncer);
+#endif /* AFS_PTHREAD_ENV */
+    }
+
 }
 
 /* Make the file descriptor cache as big as possible. Don't this call
@@ -840,6 +858,67 @@ ih_condsync(IHandle_t * ihP)
     return code;
 }
 
+void
+ih_sync_all() {
+    int ihash;
+
+    IH_LOCK;
+    for (ihash = 0; ihash < I_HANDLE_HASH_SIZE; ihash++) {
+       IHandle_t *ihP, *ihPnext;
+
+       ihP = ihashTable[ihash].ihash_head;
+       if (ihP)
+           ihP->ih_refcnt++;   /* must not disappear over unlock */
+       for (; ihP; ihP = ihPnext) {
+           
+           if (ihP->ih_synced) {
+               FdHandle_t *fdP;
+
+               ihP->ih_synced = 0;
+               IH_UNLOCK;
+
+               fdP = IH_OPEN(ihP);
+               if (fdP) OS_SYNC(fdP->fd_fd);
+               FDH_CLOSE(fdP);
+
+               IH_LOCK;
+           }
+
+           /* when decrementing the refcount, the ihandle might disappear
+              and we might not even be able to proceed to the next one.
+              Hence the gymnastics putting a hold on the next one already */
+           ihPnext = ihP->ih_next;
+           if (ihPnext) ihPnext->ih_refcnt++;
+
+           if (ihP->ih_refcnt > 1) {
+               ihP->ih_refcnt--;
+           } else {
+               IH_UNLOCK;
+               ih_release(ihP);
+               IH_LOCK;
+           }
+
+       }
+    }
+    IH_UNLOCK;
+}
+
+void *
+ih_sync_thread() {
+    while(1) {
+
+#ifdef AFS_PTHREAD_ENV
+       sleep(10);
+#else /* AFS_PTHREAD_ENV */
+       IOMGR_Sleep(60);
+#endif /* AFS_PTHREAD_ENV */
+
+#ifndef AFS_NT40_ENV
+        sync();
+#endif
+        ih_sync_all();
+    }
+}
 
 
 /*************************************************************************
index 2aee89da524246823225610907a142f331ca9255..5b918f8a77f51c8888e37184dffa93551adb5d30 100644 (file)
@@ -211,6 +211,7 @@ typedef struct IHandle_s {
     int ih_vid;                        /* Parent volume id. */
     int ih_dev;                        /* device id. */
     int ih_flags;              /* Flags */
+    int ih_synced;             /* should be synced next time */
     Inode ih_ino;              /* Inode number */
     int ih_refcnt;             /* reference count */
     struct FdHandle_s *ih_fdhead;      /* List of open file desciptors */
@@ -466,7 +467,7 @@ extern afs_sfsize_t ih_size(int fd);
 #define FDH_WRITE(H, B, S) OS_WRITE((H)->fd_fd, B, S)
 #define FDH_SEEK(H, O, F) OS_SEEK((H)->fd_fd, O, F)
 
-#define FDH_SYNC(H) OS_SYNC((H)->fd_fd)
+#define FDH_SYNC(H) ((H->fd_ih!=NULL) ? ( H->fd_ih->ih_synced = 1) - 1 : 1)
 #define FDH_TRUNC(H, L) OS_TRUNC((H)->fd_fd, L)
 #define FDH_SIZE(H) OS_SIZE((H)->fd_fd)
 
index f4e3497d6275d88f76800b31dd70d4ef98657971..5e04c84dbdc2391c8513ffe86346aa93cfb29592 100644 (file)
@@ -13,7 +13,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/vol/namei_ops.c,v 1.21.2.10 2006/09/20 05:52:35 shadow Exp $");
+    ("$Header: /cvs/openafs/src/vol/namei_ops.c,v 1.21.2.13 2007/09/11 15:40:26 shadow Exp $");
 
 #ifdef AFS_NAMEI_ENV
 #include <stdio.h>
@@ -604,6 +604,8 @@ namei_icreate(IHandle_t * lh, char *part, int p1, int p2, int p3, int p4)
 
     if (p2 == -1 && p3 == VI_LINKTABLE) {
        /* hack at tmp to setup for set link count call. */
+       memset((void *)&tfd, 0, sizeof(FdHandle_t));    /* minimalistic still, but a little cleaner */
+       tfd.fd_ih = &tmp;
        tfd.fd_fd = fd;
        code = namei_SetLinkCount(&tfd, (Inode) 0, 1, 0);
     }
@@ -1144,6 +1146,8 @@ ListViceInodes(char *devname, char *mountedOn, char *resultFile,
     int ninodes;
     struct afs_stat status;
 
+    *forcep = 0; /* no need to salvage until further notice */
+
     if (resultFile) {
        fp = afs_fopen(resultFile, "w");
        if (!fp) {
@@ -1443,6 +1447,7 @@ DecodeInode(char *dpath, char *name, struct ViceInodeInfo *info, int volid)
     char fpath[512];
     struct afs_stat status;
     int parm, tag;
+    lb64_string_t check;
 
     (void)strcpy(fpath, dpath);
     (void)strcat(fpath, "/");
@@ -1455,6 +1460,10 @@ DecodeInode(char *dpath, char *name, struct ViceInodeInfo *info, int volid)
     info->byteCount = status.st_size;
     info->inodeNumber = (Inode) flipbase64_to_int64(name);
 
+    int64_to_flipbase64(check, info->inodeNumber);
+    if (strcmp(name, check))
+       return -1;
+    
     GetOGMFromStat(&status, &parm, &tag);
     if ((info->inodeNumber & NAMEI_INODESPECIAL) == NAMEI_INODESPECIAL) {
        /* p1 - vid, p2 - -1, p3 - type, p4 - rwvid */
index 0c1774ebe5f4a630a304ef57ab9c9a6332960f5e..2aefc61f0f2722cc0fae978c59f7e0da993a1f27 100644 (file)
@@ -21,7 +21,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/vol/partition.c,v 1.30.2.2 2005/10/17 20:47:07 shadow Exp $");
+    ("$Header: /cvs/openafs/src/vol/partition.c,v 1.30.2.4 2007/05/10 22:44:12 shadow Exp $");
 
 #include <ctype.h>
 #ifdef AFS_NT40_ENV
@@ -437,10 +437,17 @@ VAttachPartitions(void)
     }
     while (!getmntent(mntfile, &mnt)) {
        /* Ignore non ufs or non read/write partitions */
-       if ((strcmp(mnt.mnt_fstype, "ufs") != 0)
+       /* but allow zfs too if we're in the NAMEI environment */
+       if (
+#ifdef AFS_NAMEI_ENV
+           ((!(strcmp(mnt.mnt_fstype, "ufs") &&
+               strcmp(mnt.mnt_fstype, "zfs"))))
+#else
+           (strcmp(mnt.mnt_fstype, "ufs") != 0)
+#endif
            || (strncmp(mnt.mnt_mntopts, "ro,ignore", 9) == 0))
            continue;
-
+       
        /* If we're going to always attach this partition, do it later. */
        if (VIsAlwaysAttach(mnt.mnt_mountp))
            continue;
index 215c72e85a436960a5cdf37b5ea8b89fc237bd0c..679975aa6b43cd817f5b8d14b2ed3ac93eb2f058 100644 (file)
@@ -92,7 +92,7 @@ Vnodes with 0 inode pointers in RW volumes are now deleted.
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/vol/vol-salvage.c,v 1.41.2.12 2006/09/05 23:48:50 jaltman Exp $");
+    ("$Header: /cvs/openafs/src/vol/vol-salvage.c,v 1.41.2.13 2007/09/07 04:05:49 shadow Exp $");
 
 #include <stdlib.h>
 #include <stdio.h>
@@ -2875,12 +2875,16 @@ CopyAndSalvage(register struct DirSummary *dir)
                  vnodeIndexOffset(vcp, dir->vnodeNumber), (char *)&vnode,
                  sizeof(vnode));
     assert(lcode == sizeof(vnode));
+#if 0
 #ifdef AFS_NT40_ENV
     nt_sync(fileSysDevice);
 #else
     sync();                    /* this is slow, but hopefully rarely called.  We don't have
                                 * an open FD on the file itself to fsync.
                                 */
+#endif
+#else
+    vnodeInfo[vLarge].handle->ih_synced = 1;
 #endif
     code = IH_DEC(dir->ds_linkH, oldinode, dir->rwVid);
     assert(code == 0);
@@ -3345,6 +3349,11 @@ SalvageVolume(register struct InodeSummary *rwIsp, IHandle_t * alinkH)
        SalvageDir(volHeader.name, vid, dirVnodeInfo, alinkH, i, &rootdir,
                   &rootdirfound);
     }
+#ifdef AFS_NT40_ENV
+    nt_sync(fileSysDevice);
+#else
+    sync();                            /* This used to be done lower level, for every dir */
+#endif
     if (Showmode) {
        IH_RELEASE(h);
        return 0;
index b515f48e6935cc8e2df3c741984f815ed75a337b..e7f2bc7d2e3d83981d0bf37a13d31796699d35d6 100644 (file)
@@ -20,7 +20,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/vol/volume.c,v 1.35.2.9 2006/10/22 02:02:01 jaltman Exp $");
+    ("$Header: /cvs/openafs/src/vol/volume.c,v 1.35.2.10 2007/06/23 13:46:53 shadow Exp $");
 
 #include <rx/xdr.h>
 #include <afs/afsint.h>
@@ -379,9 +379,11 @@ VInitVolumePackage(ProgramType pt, int nLargeVnodes, int nSmallVnodes,
     VInit = 2;                 /* Initialized, and all volumes have been attached */
     if (programType == volumeUtility && connect) {
        if (!VConnectFS()) {
-           Log("Unable to connect to file server; aborted\n");
+           Log("Unable to connect to file server; will retry at need\n");
+#if 0
            Lock_Destroy(&FSYNC_handler_lock);
            exit(1);
+#endif
        }
     }
     return 0;
@@ -457,17 +459,17 @@ VConnectFS(void)
 {
     int retVal;
     VOL_LOCK;
-    retVal = VConnectFS_r();
+    retVal = VConnectFS_r(0);
     VOL_UNLOCK;
     return retVal;
 }
 
 int
-VConnectFS_r(void)
+VConnectFS_r(int f)
 {
     int rc;
     assert(VInit == 2 && programType == volumeUtility);
-    rc = FSYNC_clientInit();
+    rc = FSYNC_clientInit(f);
     if (rc)
        VInit = 3;
     return rc;
@@ -700,7 +702,7 @@ VAttachVolumeByName_r(Error * ec, char *partition, char *name, int mode)
     int isbusy = 0;
     *ec = 0;
     if (programType == volumeUtility) {
-       assert(VInit == 3);
+       assert(VInit == 3 || VConnectFS_r(1));
        VLockPartition_r(partition);
     }
     if (programType == fileServer) {
index 68fc0f98c4040583d04151bedd2ab955a6247a71..b5205a0f93bfd2ec43ed4dce957fa36027192f1c 100644 (file)
@@ -419,7 +419,7 @@ extern void VPutVolume_r(Volume *);
 extern void VOffline(Volume * vp, char *message);
 extern void VOffline_r(Volume * vp, char *message);
 extern int VConnectFS(void);
-extern int VConnectFS_r(void);
+extern int VConnectFS_r(int);
 extern Volume *VAttachVolume(Error * ec, VolumeId volumeId, int mode);
 extern Volume *VAttachVolume_r(Error * ec, VolumeId volumeId, int mode);
 extern Volume *VCreateVolume(Error * ec, char *partname, VolId volumeId,
index 1af526e63412afd6570a75cd97f78279cc8c9fac..bb7df6838e69d8722963412c44fa7ad351b85409 100644 (file)
@@ -11,7 +11,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/volser/common.c,v 1.10 2003/11/15 04:59:16 shadow Exp $");
+    ("$Header: /cvs/openafs/src/volser/common.c,v 1.10.2.1 2007/04/10 18:43:47 shadow Exp $");
 
 #include <stdio.h>
 #include <afs/afsutil.h>
@@ -33,7 +33,7 @@ void
 LogError(afs_int32 errcode)
 {
     ViceLog(0,
-           ("%s: %s\n", error_table_name(errcode), error_message(errcode)));
+           ("%s: %s\n", afs_error_table_name(errcode), afs_error_message(errcode)));
 }
 
 #ifndef AFS_PTHREAD_ENV
index cfa5155960b3b019796aeeace7d144bba02a30b0..62347d5ff37f6c1d358ab99c9cae2ac8bb6bf937 100644 (file)
@@ -49,6 +49,10 @@ statindex 16
 #define            VOLFORWARDMULTIPLE  128
 #define     VOLCONVERTRO        65536
 #define     VOLGETSIZE          65537
+#define     VOLDUMPV2           65538
+
+/* Bits for flags for DumpV2 */
+%#define     VOLDUMPV2_OMITDIRS 1
 
 const SIZE = 1024;
 
@@ -408,3 +412,10 @@ proc GetSize(
   IN afs_int32 fromDate,
   OUT struct volintSize *size
 ) = VOLGETSIZE;
+
+proc DumpV2(
+  IN afs_int32 fromTrans,
+  IN afs_int32 fromDate,
+  IN afs_int32 flags
+) split = VOLDUMPV2;
+
index 58c41d5f7daf1595b9b2d3dc5b6db0392789557d..f438731c3ede03420713916b40a2ed87922c743f 100644 (file)
@@ -11,7 +11,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/volser/volmain.c,v 1.18.2.8 2006/09/03 05:51:42 shadow Exp $");
+    ("$Header: /cvs/openafs/src/volser/volmain.c,v 1.18.2.9 2007/06/28 02:13:44 shadow Exp $");
 
 #include <sys/types.h>
 #ifdef AFS_NT40_ENV
@@ -422,6 +422,10 @@ main(int argc, char **argv)
        exit(1);
     }
 #endif
+    /* Open VolserLog and map stdout, stderr into it; VInitVolumePackage can
+       log, so we need to do this here */
+    OpenLog(AFSDIR_SERVER_VOLSERLOG_FILEPATH);
+
     VInitVolumePackage(volumeUtility, 0, 0, CONNECT_FS, 0);
     /* For nuke() */
     Lock_Init(&localLock);
@@ -471,8 +475,6 @@ main(int argc, char **argv)
     rx_SetRxDeadTime(420);
     memset(busyFlags, 0, sizeof(busyFlags));
 
-    /* Open FileLog and map stdout, stderr into it */
-    OpenLog(AFSDIR_SERVER_VOLSERLOG_FILEPATH);
     SetupLogSignals();
 
     {
index 395c25a8b2c4db04fc5e6031580d4e956a6ffee9..0acad1f1ad705feb8ede749ed3a488e050e594ad 100644 (file)
@@ -11,7 +11,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/volser/volprocs.c,v 1.34.2.7 2006/12/19 03:40:14 jaltman Exp $");
+    ("$Header: /cvs/openafs/src/volser/volprocs.c,v 1.34.2.9 2007/10/15 14:18:57 shadow Exp $");
 
 #include <stdio.h>
 #include <sys/types.h>
@@ -1279,13 +1279,23 @@ SAFSVolDump(struct rx_call *acid, afs_int32 fromTrans, afs_int32 fromDate)
 {
     afs_int32 code;
 
-    code = VolDump(acid, fromTrans, fromDate);
+    code = VolDump(acid, fromTrans, fromDate, 0);
     osi_auditU(acid, VS_DumpEvent, code, AUD_LONG, fromTrans, AUD_END);
     return code;
 }
 
 afs_int32
-VolDump(struct rx_call *acid, afs_int32 fromTrans, afs_int32 fromDate)
+SAFSVolDumpV2(struct rx_call *acid, afs_int32 fromTrans, afs_int32 fromDate, afs_int32 flags)
+{
+    afs_int32 code;
+
+    code = VolDump(acid, fromTrans, fromDate, flags);
+    osi_auditU(acid, VS_DumpEvent, code, AUD_LONG, fromTrans, AUD_END);
+    return code;
+}
+
+afs_int32
+VolDump(struct rx_call *acid, afs_int32 fromTrans, afs_int32 fromDate, afs_int32 flags)
 {
     int code = 0;
     register struct volser_trans *tt;
@@ -1303,7 +1313,8 @@ VolDump(struct rx_call *acid, afs_int32 fromTrans, afs_int32 fromDate)
     }
     strcpy(tt->lastProcName, "Dump");
     tt->rxCallPtr = acid;
-    code = DumpVolume(acid, tt->volume, fromDate, 1);  /* squirt out the volume's data, too */
+    code = DumpVolume(acid, tt->volume, fromDate, (flags & VOLDUMPV2_OMITDIRS)
+                     ? 0 : 1); /* squirt out the volume's data, too */
     if (code) {
        tt->rxCallPtr = (struct rx_call *)0;
        TRELE(tt);
@@ -2052,11 +2063,6 @@ VolXListOneVolume(struct rx_call *a_rxCidP, afs_int32 a_partID,
            xInfoP->accessDate = volDiskDataP->accessDate;
            xInfoP->updateDate = volDiskDataP->updateDate;
            xInfoP->backupDate = volDiskDataP->backupDate;
-           now = FT_ApproxTime();
-           if (now - volDiskDataP->dayUseDate > OneDay)
-               xInfoP->dayUse = 0;
-           else
-               xInfoP->dayUse = volDiskDataP->dayUse;
            xInfoP->filecount = volDiskDataP->filecount;
            xInfoP->maxquota = volDiskDataP->maxquota;
            xInfoP->size = volDiskDataP->diskused;
@@ -2064,8 +2070,15 @@ VolXListOneVolume(struct rx_call *a_rxCidP, afs_int32 a_partID,
            /*
             * Copy out the stat fields in a single operation.
             */
-           memcpy((char *)&(xInfoP->stat_reads[0]),
+           now = FT_ApproxTime();
+           if (now - volDiskDataP->dayUseDate > OneDay) {
+               xInfoP->dayUse = 0;
+               memset((char *)&(xInfoP->stat_reads[0]), 0, numStatBytes);
+           } else {
+               xInfoP->dayUse = volDiskDataP->dayUse;
+               memcpy((char *)&(xInfoP->stat_reads[0]),
                   (char *)&(volDiskDataP->stat_reads[0]), numStatBytes);
+           }
 
            /*
             * We're done copying.  Detach the volume and iterate (at this
index 07c49c8a99d118d54f87e260026e3a22af8318ab..832f1da334a326e8bfbe8995c25b563fbd8ce16b 100644 (file)
@@ -47,7 +47,7 @@ extern int UV_ReleaseVolume(afs_int32 afromvol, afs_int32 afromserver,
 extern void dump_sig_handler(int x);
 extern int UV_DumpVolume(afs_int32 afromvol, afs_int32 afromserver,
                         afs_int32 afrompart, afs_int32 fromdate,
-                        afs_int32(*DumpFunction) (), char *rock);
+                        afs_int32(*DumpFunction) (), char *rock, afs_int32 flags);
 extern int UV_RestoreVolume(afs_int32 toserver, afs_int32 topart,
                            afs_int32 tovolid, char tovolname[], int flags,
                            afs_int32(*WriteData) (), char *rock);
index af2d6f1211a0b9d19d3e31fdbf48a744a55e35d3..89301afe06cdce12cfd1f9b12bb8db13b416ff69 100644 (file)
@@ -18,7 +18,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/volser/voltrans.c,v 1.10.2.1 2004/10/18 07:12:29 shadow Exp $");
+    ("$Header: /cvs/openafs/src/volser/voltrans.c,v 1.10.2.2 2007/03/22 16:01:16 shadow Exp $");
 
 #ifdef AFS_NT40_ENV
 #include <afs/afsutil.h>
@@ -138,21 +138,24 @@ DeleteTrans(register struct volser_trans *atrans, afs_int32 lock)
     register struct volser_trans *tt, **lt;
     afs_int32 error;
 
+    if (lock) VTRANS_LOCK;
     if (atrans->refCount > 1) {
        /* someone else is using it now */
        atrans->refCount--;
        atrans->tflags |= TTDeleted;
+       if (lock) VTRANS_UNLOCK;
        return 0;
     }
 
     /* otherwise we zap it ourselves */
-    if (lock) VTRANS_LOCK;
     lt = &allTrans;
     for (tt = *lt; tt; lt = &tt->next, tt = *lt) {
        if (tt == atrans) {
            if (tt->volume)
                VDetachVolume(&error, tt->volume);
            tt->volume = NULL;
+           if (tt->rxCallPtr)
+               rxi_CallError(tt->rxCallPtr, RX_CALL_DEAD);
            *lt = tt->next;
            free(tt);
            if (lock) VTRANS_UNLOCK;
@@ -169,18 +172,22 @@ DeleteTrans(register struct volser_trans *atrans, afs_int32 lock)
 afs_int32 
 TRELE(register struct volser_trans *at)
 {
+    VTRANS_LOCK;
     if (at->refCount == 0) {
        Log("TRELE: bad refcount\n");
+       VTRANS_UNLOCK;
        return VOLSERTRELE_ERROR;
     }
 
     at->time = FT_ApproxTime();        /* we're still using it */
     if (at->refCount == 1 && (at->tflags & TTDeleted)) {
-       DeleteTrans(at, 1);
+       DeleteTrans(at, 0);
+       VTRANS_UNLOCK;
        return 0;
     }
     /* otherwise simply drop refcount */
     at->refCount--;
+    VTRANS_UNLOCK;
     return 0;
 }
 
index 2a26833126b16c375950c97670df71f8fbfdc4ad..4b5629983bce53855d704513e7a845afe60da0e2 100644 (file)
@@ -11,7 +11,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/volser/vos.c,v 1.40.2.15 2006/07/31 15:24:09 shadow Exp $");
+    ("$Header: /cvs/openafs/src/volser/vos.c,v 1.40.2.19 2007/07/19 18:52:40 shadow Exp $");
 
 #include <sys/types.h>
 #ifdef AFS_NT40_ENV
@@ -57,7 +57,12 @@ RCSID
 #include <rx/rxkad.h>
 #include "volser.h"
 #include "volint.h"
+#include <afs/ihandle.h>
+#include <afs/vnode.h>
+#include <afs/volume.h>
+#include "dump.h"
 #include "lockdata.h"
+
 #ifdef AFS_AIX32_ENV
 #include <signal.h>
 #endif
@@ -315,6 +320,9 @@ WriteData(struct rx_call *call, char *rock)
     long blksize;
     afs_int32 error, code;
     int ufdIsOpen = 0;
+    afs_hyper_t filesize, currOffset; 
+    afs_uint32 buffer;         
+    afs_uint32 got;            
 
     error = 0;
 
@@ -335,6 +343,20 @@ WriteData(struct rx_call *call, char *rock)
            goto wfail;
        }
     }
+    /* test if we have a valid dump */
+    hset64(filesize, 0, 0);
+    USD_SEEK(ufd, filesize, SEEK_END, &currOffset);
+    hset64(filesize, hgethi(currOffset), hgetlo(currOffset)-sizeof(afs_uint32));
+    USD_SEEK(ufd, filesize, SEEK_SET, &currOffset);
+    USD_READ(ufd, &buffer, sizeof(afs_uint32), &got);
+    if ((got != sizeof(afs_uint32)) || (ntohl(buffer) != DUMPENDMAGIC)) {
+       fprintf(STDERR, "Signature missing from end of file '%s'\n", filename);
+        error = VOLSERBADOP;
+        goto wfail;
+    }
+    hset64(filesize, 0, 0);
+    USD_SEEK(ufd, filesize, SEEK_SET, &currOffset);
+    /* rewind, we are done */
     code = SendFile(ufd, call, blksize);
     if (code) {
        error = code;
@@ -2782,8 +2804,8 @@ DumpVolume(as)
      register struct cmd_syndesc *as;
 
 {
-    afs_int32 avolid, aserver, apart, voltype, fromdate = 0, code, err, i;
-    char filename[NameLen];
+    afs_int32 avolid, aserver, apart, voltype, fromdate = 0, code, err, i, flags;
+    char filename[MAXPATHLEN];
     struct nvldbentry entry;
 
     rx_SetRxDeadTime(60 * 10);
@@ -2842,14 +2864,20 @@ DumpVolume(as)
        strcpy(filename, "");
     }
 
+    flags = as->parms[6].items ? VOLDUMPV2_OMITDIRS : 0;
+retry_dump:
     if (as->parms[5].items) {
        code =
            UV_DumpClonedVolume(avolid, aserver, apart, fromdate,
-                               DumpFunction, filename);
+                               DumpFunction, filename, flags);
     } else {
        code =
            UV_DumpVolume(avolid, aserver, apart, fromdate, DumpFunction,
-                         filename);
+                         filename, flags);
+    }
+    if ((code == RXGEN_OPCODE) && (as->parms[6].items)) {
+       flags &= ~VOLDUMPV2_OMITDIRS;
+       goto retry_dump;
     }
     if (code) {
        PrintDiagnostics("dump", code);
@@ -2883,7 +2911,7 @@ RestoreVolume(as)
     afs_int32 acreation = 0, alastupdate = 0;
     int restoreflags, readonly = 0, offline = 0, voltype = RWVOL;
     char prompt;
-    char afilename[NameLen], avolname[VOLSER_MAXVOLNAME + 1], apartName[10];
+    char afilename[MAXPATHLEN], avolname[VOLSER_MAXVOLNAME + 1], apartName[10];
     char volname[VOLSER_MAXVOLNAME + 1];
     struct nvldbentry entry;
 
@@ -4164,7 +4192,7 @@ DeleteEntry(as)
                fflush(STDOUT);
                continue;
            }
-           vcode = ubik_Call(VL_DeleteEntry, cstruct, 0, avolid, RWVOL);
+           vcode = ubik_VL_DeleteEntry(cstruct, 0, avolid, RWVOL);
            if (vcode) {
                fprintf(STDERR, "Could not delete entry for volume %s\n",
                        itp->data);
@@ -4277,7 +4305,7 @@ DeleteEntry(as)
 
        /* Only matches the RW volume name */
        avolid = vllist->volumeId[RWVOL];
-       vcode = ubik_Call(VL_DeleteEntry, cstruct, 0, avolid, RWVOL);
+       vcode = ubik_VL_DeleteEntry(cstruct, 0, avolid, RWVOL);
        if (vcode) {
            fprintf(STDOUT, "Could not delete VDLB entry for  %s\n",
                    vllist->name);
@@ -4912,8 +4940,9 @@ UnlockVLDB(as)
        vllist = &arrayEntries.nbulkentries_val[j];
        volid = vllist->volumeId[RWVOL];
        vcode =
-           ubik_Call(VL_ReleaseLock, cstruct, 0, volid, -1,
-                     LOCKREL_OPCODE | LOCKREL_AFSID | LOCKREL_TIMESTAMP);
+           ubik_VL_ReleaseLock(cstruct, 0, volid, -1,
+                               LOCKREL_OPCODE | LOCKREL_AFSID | 
+                               LOCKREL_TIMESTAMP);
        if (vcode) {
            fprintf(STDERR, "Could not unlock entry for volume %s\n",
                    vllist->name);
@@ -5167,8 +5196,8 @@ print_addrs(const bulkaddrs * addrs, const afsUUID * m_uuid, int nentries,
                m_addrs.bulkaddrs_val = 0;
                m_addrs.bulkaddrs_len = 0;
                vcode =
-                   ubik_Call(VL_GetAddrsU, cstruct, 0, &m_attrs, &m_uuid,
-                             &vlcb, &m_nentries, &m_addrs);
+                   ubik_VL_GetAddrsU(cstruct, 0, &m_attrs, &m_uuid,
+                                     &vlcb, &m_nentries, &m_addrs);
                if (vcode) {
                    fprintf(STDERR,
                            "vos: could not list the multi-homed server addresses\n");
@@ -5338,7 +5367,7 @@ LockEntry(as)
                    as->parms[0].items->data);
        exit(1);
     }
-    vcode = ubik_Call(VL_SetLock, cstruct, 0, avolid, -1, VLOP_DELETE);
+    vcode = ubik_VL_SetLock(cstruct, 0, avolid, -1, VLOP_DELETE);
     if (vcode) {
        fprintf(STDERR, "Could not lock VLDB entry for volume %s\n",
                as->parms[0].items->data);
@@ -5466,7 +5495,7 @@ ConvertRO(as)
     }
 
     vcode =
-       ubik_Call(VL_SetLock, cstruct, 0, entry.volumeId[RWVOL], RWVOL,
+       ubik_VL_SetLock(cstruct, 0, entry.volumeId[RWVOL], RWVOL,
                  VLOP_MOVE);
     aconn = UV_Bind(server, AFSCONF_VOLUMEPORT);
     code = AFSVolConvertROtoRWvolume(aconn, partition, volid);
@@ -5797,6 +5826,8 @@ main(argc, argv)
     cmd_AddParm(ts, "-partition", CMD_SINGLE, CMD_OPTIONAL, "partition");
     cmd_AddParm(ts, "-clone", CMD_FLAG, CMD_OPTIONAL,
                "dump a clone of the volume");
+    cmd_AddParm(ts, "-omitdirs", CMD_FLAG, CMD_OPTIONAL,
+               "omit unchanged directories from an incremental dump");
     COMMONPARMS;
 
     ts = cmd_CreateSyntax("restore", RestoreVolume, 0, "restore a volume");
index 417359f1fb5906858ee8c1b9eb84846a2aa7a4d0..c8bc2148a97871e2665c0b83aa39e0de8997a94b 100644 (file)
@@ -11,7 +11,7 @@
 #include <afs/param.h>
 
 RCSID
-    ("$Header: /cvs/openafs/src/volser/vsprocs.c,v 1.33.2.6 2006/01/25 03:49:53 shadow Exp $");
+    ("$Header: /cvs/openafs/src/volser/vsprocs.c,v 1.33.2.11 2007/07/19 18:52:41 shadow Exp $");
 
 #include <stdio.h>
 #include <sys/types.h>
@@ -399,8 +399,8 @@ PrintError(char *msg, afs_int32 errcode)
            initialize_VL_error_table();
 
            offset = errcode & ((1 << ERRCODE_RANGE) - 1);
-           fprintf(STDERR, "%s: %s\n", error_table_name(errcode),
-                   error_message(errcode));
+           fprintf(STDERR, "%s: %s\n", afs_error_table_name(errcode),
+                   afs_error_message(errcode));
            break;
        }
     }
@@ -644,7 +644,7 @@ UV_CreateVolume2(afs_int32 aserver, afs_int32 apart, char *aname,
 
     aconn = UV_Bind(aserver, AFSCONF_VOLUMEPORT);
     /* next the next 3 available ids from the VLDB */
-    vcode = ubik_Call(VL_GetNewVolumeId, cstruct, 0, 3, anewid);
+    vcode = ubik_VL_GetNewVolumeId(cstruct, 0, 3, anewid);
     EGOTO1(cfail, vcode, "Could not get an Id for volume %s\n", aname);
 
     code =
@@ -788,7 +788,7 @@ UV_DeleteVolume(afs_int32 aserver, afs_int32 apart, afs_int32 avolid)
     int notondisk = 0, notinvldb = 0;
 
     /* Find and read bhe VLDB entry for this volume */
-    code = ubik_Call(VL_SetLock, cstruct, 0, avolid, avoltype, VLOP_DELETE);
+    code = ubik_VL_SetLock(cstruct, 0, avolid, avoltype, VLOP_DELETE);
     if (code) {
        if (code != VL_NOENT) {
            EGOTO1(error_exit, code,
@@ -938,7 +938,7 @@ UV_DeleteVolume(afs_int32 aserver, afs_int32 apart, afs_int32 avolid)
            fprintf(STDOUT,
                    "Last reference to the VLDB entry for %lu - deleting entry\n",
                    (unsigned long)avolid);
-       code = ubik_Call(VL_DeleteEntry, cstruct, 0, avolid, vtype);
+       code = ubik_VL_DeleteEntry(cstruct, 0, avolid, vtype);
        EGOTO1(error_exit, code,
               "Could not delete the VLDB entry for the volume %u \n",
               avolid);
@@ -987,8 +987,9 @@ UV_DeleteVolume(afs_int32 aserver, afs_int32 apart, afs_int32 avolid)
 
     if (islocked) {
        code =
-           ubik_Call(VL_ReleaseLock, cstruct, 0, avolid, -1,
-                     (LOCKREL_OPCODE | LOCKREL_AFSID | LOCKREL_TIMESTAMP));
+           ubik_VL_ReleaseLock(cstruct, 0, avolid, -1,
+                               (LOCKREL_OPCODE | LOCKREL_AFSID | 
+                                LOCKREL_TIMESTAMP));
        if (code) {
            EPRINT1(code,
                    "Could not release the lock on the VLDB entry for the volume %u \n",
@@ -1109,7 +1110,7 @@ UV_MoveVolume2(afs_int32 afromvol, afs_int32 afromserver, afs_int32 afrompart,
        exit(1);
     }
 
-    vcode = ubik_Call(VL_SetLock, cstruct, 0, afromvol, RWVOL, VLOP_MOVE);
+    vcode = ubik_VL_SetLock(cstruct, 0, afromvol, RWVOL, VLOP_MOVE);
     EGOTO1(mfail, vcode, "Could not lock entry for volume %u \n", afromvol);
     islocked = 1;
 
@@ -1138,7 +1139,7 @@ UV_MoveVolume2(afs_int32 afromvol, afs_int32 afromserver, afs_int32 afrompart,
                }
            }
            vcode =
-               ubik_Call(VL_ReleaseLock, cstruct, 0, afromvol, -1,
+               ubik_VL_ReleaseLock(cstruct, 0, afromvol, -1,
                          (LOCKREL_OPCODE | LOCKREL_AFSID |
                           LOCKREL_TIMESTAMP));
            EGOTO1(mfail, vcode,
@@ -1266,7 +1267,7 @@ UV_MoveVolume2(afs_int32 afromvol, afs_int32 afromserver, afs_int32 afrompart,
        VPRINT1("Allocating new volume id for clone of volume %u ...",
                afromvol);
        newVol = 0;
-       vcode = ubik_Call(VL_GetNewVolumeId, cstruct, 0, 1, &newVol);
+       vcode = ubik_VL_GetNewVolumeId(cstruct, 0, 1, &newVol);
        EGOTO1(mfail, vcode,
               "Could not get an ID for the clone of volume %u from the VLDB\n",
               afromvol);
@@ -1684,7 +1685,7 @@ UV_MoveVolume2(afs_int32 afromvol, afs_int32 afromserver, afs_int32 afrompart,
     if (islocked) {
        VPRINT1("Cleanup: Releasing VLDB lock on volume %u ...", afromvol);
        vcode =
-           ubik_Call(VL_ReleaseLock, cstruct, 0, afromvol, -1,
+           ubik_VL_ReleaseLock(cstruct, 0, afromvol, -1,
                      (LOCKREL_OPCODE | LOCKREL_AFSID | LOCKREL_TIMESTAMP));
        if (vcode) {
            VPRINT("\n");
@@ -1766,7 +1767,7 @@ UV_MoveVolume2(afs_int32 afromvol, afs_int32 afromserver, afs_int32 afrompart,
     /* unlock VLDB entry */
     if (islocked) {
        VPRINT1("Recovery: Releasing VLDB lock on volume %u ...", afromvol);
-       ubik_Call(VL_ReleaseLock, cstruct, 0, afromvol, -1,
+       ubik_VL_ReleaseLock(cstruct, 0, afromvol, -1,
                  (LOCKREL_OPCODE | LOCKREL_AFSID | LOCKREL_TIMESTAMP));
        VDONE;
     }
@@ -1976,7 +1977,7 @@ UV_MoveVolume2(afs_int32 afromvol, afs_int32 afromserver, afs_int32 afrompart,
     /* unlock VLDB entry */
     VPRINT1("Recovery: Releasing lock on VLDB entry for volume %u ...",
            afromvol);
-    ubik_Call(VL_ReleaseLock, cstruct, 0, afromvol, -1,
+    ubik_VL_ReleaseLock(cstruct, 0, afromvol, -1,
              (LOCKREL_OPCODE | LOCKREL_AFSID | LOCKREL_TIMESTAMP));
     VDONE;
 
@@ -2090,7 +2091,7 @@ UV_CopyVolume2(afs_int32 afromvol, afs_int32 afromserver, afs_int32 afrompart,
        VPRINT1("Allocating new volume id for clone of volume %u ...",
                afromvol);
        cloneVol = 0;
-       vcode = ubik_Call(VL_GetNewVolumeId, cstruct, 0, 1, &cloneVol);
+       vcode = ubik_VL_GetNewVolumeId(cstruct, 0, 1, &cloneVol);
        EGOTO1(mfail, vcode,
           "Could not get an ID for the clone of volume %u from the VLDB\n",
           afromvol);
@@ -2103,7 +2104,7 @@ UV_CopyVolume2(afs_int32 afromvol, afs_int32 afromserver, afs_int32 afrompart,
        /* Get a new volume id */
        VPRINT1("Allocating new volume id for copy of volume %u ...", afromvol);
        newVol = 0;
-       vcode = ubik_Call(VL_GetNewVolumeId, cstruct, 0, 1, &newVol);
+       vcode = ubik_VL_GetNewVolumeId(cstruct, 0, 1, &newVol);
        EGOTO1(mfail, vcode,
               "Could not get an ID for the copy of volume %u from the VLDB\n",
               afromvol);
@@ -2480,7 +2481,7 @@ cpincr:
        VPRINT1("Recovery: Creating transaction on clone volume %u ...",
                cloneVol);
        code =
-           AFSVolTransCreate(fromconn, newVol, afrompart, ITOffline,
+           AFSVolTransCreate(fromconn, cloneVol, afrompart, ITOffline,
                              &clonetid);
        if (!code) {
            VDONE;
@@ -2561,7 +2562,7 @@ UV_BackupVolume(afs_int32 aserver, afs_int32 apart, afs_int32 avolid)
        (entry.flags & VLOP_ALLOPERS) ||        /* vldb lock already held */
        (entry.volumeId[BACKVOL] == INVALID_BID)) {     /* no assigned backup volume id */
 
-       code = ubik_Call(VL_SetLock, cstruct, 0, avolid, RWVOL, VLOP_BACKUP);
+       code = ubik_VL_SetLock(cstruct, 0, avolid, RWVOL, VLOP_BACKUP);
        if (code) {
            fprintf(STDERR,
                    "Could not lock the VLDB entry for the volume %lu\n",
@@ -2595,7 +2596,7 @@ UV_BackupVolume(afs_int32 aserver, afs_int32 apart, afs_int32 avolid)
        /* Get a backup volume id from the VLDB and update the vldb
         * entry with it. 
         */
-       code = ubik_Call(VL_GetNewVolumeId, cstruct, 0, 1, &backupID);
+       code = ubik_VL_GetNewVolumeId(cstruct, 0, 1, &backupID);
        if (code) {
            fprintf(STDERR,
                    "Could not allocate ID for the backup volume of  %lu from the VLDB\n",
@@ -2759,7 +2760,7 @@ UV_BackupVolume(afs_int32 aserver, afs_int32 apart, afs_int32 avolid)
            }
        } else {
            code =
-               ubik_Call(VL_ReleaseLock, cstruct, 0, avolid, RWVOL,
+               ubik_VL_ReleaseLock(cstruct, 0, avolid, RWVOL,
                          (LOCKREL_OPCODE | LOCKREL_AFSID |
                           LOCKREL_TIMESTAMP));
            if (code) {
@@ -2826,7 +2827,7 @@ UV_CloneVolume(afs_int32 aserver, afs_int32 apart, afs_int32 avolid,
        /* Get a clone id */
        VPRINT1("Allocating new volume id for clone of volume %u ...",
                avolid);
-       code = ubik_Call(VL_GetNewVolumeId, cstruct, 0, 1, &acloneid);
+       code = ubik_VL_GetNewVolumeId(cstruct, 0, 1, &acloneid);
        EGOTO1(bfail, code,
           "Could not get an ID for the clone of volume %u from the VLDB\n",
           avolid);
@@ -3174,7 +3175,7 @@ UV_ReleaseVolume(afs_int32 afromvol, afs_int32 afromserver,
     memset((char *)remembertime, 0, sizeof(remembertime));
     memset((char *)&results, 0, sizeof(results));
 
-    vcode = ubik_Call(VL_SetLock, cstruct, 0, afromvol, RWVOL, VLOP_RELEASE);
+    vcode = ubik_VL_SetLock(cstruct, 0, afromvol, RWVOL, VLOP_RELEASE);
     if (vcode != VL_RERELEASE)
        ONERROR(vcode, afromvol,
                "Could not lock the VLDB entry for the volume %u.\n");
@@ -3216,7 +3217,7 @@ UV_ReleaseVolume(afs_int32 afromvol, afs_int32 afromserver,
     /* Make sure we have a RO volume id to work with */
     if (entry.volumeId[ROVOL] == INVALID_BID) {
        /* need to get a new RO volume id */
-       vcode = ubik_Call(VL_GetNewVolumeId, cstruct, 0, 1, &roVolId);
+       vcode = ubik_VL_GetNewVolumeId(cstruct, 0, 1, &roVolId);
        ONERROR(vcode, entry.name, "Cant allocate ID for RO volume of %s\n");
 
        entry.volumeId[ROVOL] = roVolId;
@@ -3791,7 +3792,7 @@ UV_ReleaseVolume(afs_int32 afromvol, afs_int32 afromserver,
     }
     if (islocked) {
        vcode =
-           ubik_Call(VL_ReleaseLock, cstruct, 0, afromvol, RWVOL,
+           ubik_VL_ReleaseLock(cstruct, 0, afromvol, RWVOL,
                      LOCKREL_OPCODE | LOCKREL_AFSID | LOCKREL_TIMESTAMP);
        if (vcode) {
            fprintf(STDERR,
@@ -3832,12 +3833,13 @@ dump_sig_handler(int x)
  */
 int
 UV_DumpVolume(afs_int32 afromvol, afs_int32 afromserver, afs_int32 afrompart,
-             afs_int32 fromdate, afs_int32(*DumpFunction) (), char *rock)
+             afs_int32 fromdate, afs_int32(*DumpFunction) (), char *rock,
+             afs_int32 flags)
 {
     struct rx_connection *fromconn = (struct rx_connection *)0;
     struct rx_call *fromcall = (struct rx_call *)0;
     afs_int32 fromtid = 0, rxError = 0, rcode = 0;
-    afs_int32 code, error = 0;
+    afs_int32 code, error = 0, retry = 0;
 
     if (setjmp(env))
        ERROR_EXIT(EPIPE);
@@ -3866,23 +3868,28 @@ UV_DumpVolume(afs_int32 afromvol, afs_int32 afromserver, afs_int32 afrompart,
     fromcall = rx_NewCall(fromconn);
 
     VPRINT1("Starting volume dump on volume %u...", afromvol);
-    code = StartAFSVolDump(fromcall, fromtid, fromdate);
+    if (flags & VOLDUMPV2_OMITDIRS) 
+       code = StartAFSVolDumpV2(fromcall, fromtid, fromdate, flags);
+    else
+      retryold:
+       code = StartAFSVolDump(fromcall, fromtid, fromdate);
     EGOTO(error_exit, code, "Could not start the dump process \n");
     VDONE;
 
     VPRINT1("Dumping volume %u...", afromvol);
     code = DumpFunction(fromcall, rock);
+    if (code == RXGEN_OPCODE) 
+       goto error_exit;
     EGOTO(error_exit, code, "Error while dumping volume \n");
     VDONE;
 
   error_exit:
     if (fromcall) {
        code = rx_EndCall(fromcall, rxError);
-       if (code) {
+       if (code && code != RXGEN_OPCODE) 
            fprintf(STDERR, "Error in rx_EndCall\n");
-           if (!error)
-               error = code;
-       }
+       if (code && !error)
+           error = code;
     }
     if (fromtid) {
        VPRINT1("Ending transaction on volume %u...", afromvol);
@@ -3898,7 +3905,10 @@ UV_DumpVolume(afs_int32 afromvol, afs_int32 afromserver, afs_int32 afrompart,
     if (fromconn)
        rx_DestroyConnection(fromconn);
 
-    PrintError("", error);
+    if (retry)
+       goto retryold;
+    if (error != RXGEN_OPCODE)
+       PrintError("", error);
     return (error);
 }
 
@@ -3911,7 +3921,7 @@ UV_DumpVolume(afs_int32 afromvol, afs_int32 afromserver, afs_int32 afrompart,
 int
 UV_DumpClonedVolume(afs_int32 afromvol, afs_int32 afromserver,
                    afs_int32 afrompart, afs_int32 fromdate,
-                   afs_int32(*DumpFunction) (), char *rock)
+                   afs_int32(*DumpFunction) (), char *rock, afs_int32 flags)
 {
     struct rx_connection *fromconn = (struct rx_connection *)0;
     struct rx_call *fromcall = (struct rx_call *)0;
@@ -3947,7 +3957,7 @@ UV_DumpClonedVolume(afs_int32 afromvol, afs_int32 afromserver,
 
     /* Get a clone id */
     VPRINT1("Allocating new volume id for clone of volume %u ...", afromvol);
-    code = ubik_Call(VL_GetNewVolumeId, cstruct, 0, 1, &clonevol);
+    code = ubik_VL_GetNewVolumeId(cstruct, 0, 1, &clonevol);
     EGOTO1(error_exit, code,
           "Could not get an ID for the clone of volume %u from the VLDB\n",
           afromvol);
@@ -3993,7 +4003,10 @@ UV_DumpClonedVolume(afs_int32 afromvol, afs_int32 afromserver,
     fromcall = rx_NewCall(fromconn);
 
     VPRINT1("Starting volume dump from cloned volume %u...", clonevol);
-    code = StartAFSVolDump(fromcall, clonetid, fromdate);
+    if (flags & VOLDUMPV2_OMITDIRS) 
+       code = StartAFSVolDumpV2(fromcall, clonetid, fromdate, flags);
+    else
+       code = StartAFSVolDump(fromcall, clonetid, fromdate);
     EGOTO(error_exit, code, "Could not start the dump process \n");
     VDONE;
 
@@ -4098,7 +4111,7 @@ UV_RestoreVolume2(afs_int32 toserver, afs_int32 topart, afs_int32 tovolid,
     if (pvolid == 0) {         /*alot a new id if needed */
        vcode = VLDB_GetEntryByName(tovolname, &entry);
        if (vcode == VL_NOENT) {
-           vcode = ubik_Call(VL_GetNewVolumeId, cstruct, 0, 1, &pvolid);
+           vcode = ubik_VL_GetNewVolumeId(cstruct, 0, 1, &pvolid);
            if (vcode) {
                fprintf(STDERR, "Could not get an Id for the volume %s\n",
                        tovolname);
@@ -4348,7 +4361,7 @@ UV_RestoreVolume2(afs_int32 toserver, afs_int32 topart, afs_int32 tovolid,
                fprintf(STDOUT, "------- New entry -------\n");
            }
            vcode =
-               ubik_Call(VL_SetLock, cstruct, 0, pvolid, voltype,
+               ubik_VL_SetLock(cstruct, 0, pvolid, voltype,
                          VLOP_RESTORE);
            if (vcode) {
                fprintf(STDERR,
@@ -4379,9 +4392,10 @@ UV_RestoreVolume2(afs_int32 toserver, afs_int32 topart, afs_int32 tovolid,
                same =
                    VLDB_IsSameAddrs(toserver, entry.serverNumber[index],
                                     &errcode);
-               EPRINT2(errcode,
-                       "Failed to get info about server's %d address(es) from vlserver (err=%d)\n",
-                       toserver, errcode);
+               if (errcode)
+                   EPRINT2(errcode,
+                           "Failed to get info about server's %d address(es) from vlserver (err=%d)\n",
+                           toserver, errcode);
                if ((!errcode && !same)
                    || (entry.serverPartition[index] != topart)) {
                    tempconn =
@@ -4467,7 +4481,7 @@ UV_RestoreVolume2(afs_int32 toserver, afs_int32 topart, afs_int32 tovolid,
     }
     if (islocked) {
        vcode =
-           ubik_Call(VL_ReleaseLock, cstruct, 0, pvolid, voltype,
+           ubik_VL_ReleaseLock(cstruct, 0, pvolid, voltype,
                      LOCKREL_OPCODE | LOCKREL_AFSID | LOCKREL_TIMESTAMP);
        if (vcode) {
            fprintf(STDERR,
@@ -4527,7 +4541,7 @@ UV_LockRelease(afs_int32 volid)
 
     VPRINT("Binding to the VLDB server\n");
     vcode =
-       ubik_Call(VL_ReleaseLock, cstruct, 0, volid, -1,
+       ubik_VL_ReleaseLock(cstruct, 0, volid, -1,
                  LOCKREL_OPCODE | LOCKREL_AFSID | LOCKREL_TIMESTAMP);
     if (vcode) {
        fprintf(STDERR,
@@ -4551,7 +4565,7 @@ UV_AddSite(afs_int32 server, afs_int32 part, afs_int32 volid)
     afs_int32 vcode, error = 0;
     char apartName[10];
 
-    error = ubik_Call(VL_SetLock, cstruct, 0, volid, RWVOL, VLOP_ADDSITE);
+    error = ubik_VL_SetLock(cstruct, 0, volid, RWVOL, VLOP_ADDSITE);
     if (error) {
        fprintf(STDERR,
                " Could not lock the VLDB entry for the volume %lu \n",
@@ -4635,7 +4649,7 @@ UV_AddSite(afs_int32 server, afs_int32 part, afs_int32 volid)
   asfail:
     if (islocked) {
        vcode =
-           ubik_Call(VL_ReleaseLock, cstruct, 0, volid, RWVOL,
+           ubik_VL_ReleaseLock(cstruct, 0, volid, RWVOL,
                      LOCKREL_OPCODE | LOCKREL_AFSID | LOCKREL_TIMESTAMP);
        if (vcode) {
            fprintf(STDERR,
@@ -4657,7 +4671,7 @@ UV_RemoveSite(afs_int32 server, afs_int32 part, afs_int32 volid)
     struct nvldbentry entry, storeEntry;
     int islocked;
 
-    vcode = ubik_Call(VL_SetLock, cstruct, 0, volid, RWVOL, VLOP_ADDSITE);
+    vcode = ubik_VL_SetLock(cstruct, 0, volid, RWVOL, VLOP_ADDSITE);
     if (vcode) {
        fprintf(STDERR, " Could not lock the VLDB entry for volume %lu \n",
                (unsigned long)volid);
@@ -4678,13 +4692,13 @@ UV_RemoveSite(afs_int32 server, afs_int32 part, afs_int32 volid)
        /*this site doesnot exist  */
        fprintf(STDERR, "This site is not a replication site \n");
        vcode =
-           ubik_Call(VL_ReleaseLock, cstruct, 0, volid, RWVOL,
+           ubik_VL_ReleaseLock(cstruct, 0, volid, RWVOL,
                      LOCKREL_OPCODE | LOCKREL_AFSID | LOCKREL_TIMESTAMP);
        if (vcode) {
            fprintf(STDERR, "Could not update entry for volume %lu \n",
                    (unsigned long)volid);
            PrintError("", vcode);
-           ubik_Call(VL_ReleaseLock, cstruct, 0, volid, RWVOL,
+           ubik_VL_ReleaseLock(cstruct, 0, volid, RWVOL,
                      LOCKREL_OPCODE | LOCKREL_AFSID | LOCKREL_TIMESTAMP);
            return (vcode);
        }
@@ -4697,7 +4711,7 @@ UV_RemoveSite(afs_int32 server, afs_int32 part, afs_int32 volid)
        if (entry.nServers < 1) {       /*this is the last ref */
            VPRINT1("Deleting the VLDB entry for %u ...", volid);
            fflush(STDOUT);
-           vcode = ubik_Call(VL_DeleteEntry, cstruct, 0, volid, ROVOL);
+           vcode = ubik_VL_DeleteEntry(cstruct, 0, volid, ROVOL);
            if (vcode) {
                fprintf(STDERR,
                        "Could not delete VLDB entry for volume %lu \n",
@@ -4720,7 +4734,7 @@ UV_RemoveSite(afs_int32 server, afs_int32 part, afs_int32 volid)
                    "Could not release lock on volume entry for %lu \n",
                    (unsigned long)volid);
            PrintError("", vcode);
-           ubik_Call(VL_ReleaseLock, cstruct, 0, volid, RWVOL,
+           ubik_VL_ReleaseLock(cstruct, 0, volid, RWVOL,
                      LOCKREL_OPCODE | LOCKREL_AFSID | LOCKREL_TIMESTAMP);
            return (vcode);
        }
@@ -4737,7 +4751,7 @@ UV_ChangeLocation(afs_int32 server, afs_int32 part, afs_int32 volid)
     struct nvldbentry entry, storeEntry;
     int index;
 
-    vcode = ubik_Call(VL_SetLock, cstruct, 0, volid, RWVOL, VLOP_ADDSITE);
+    vcode = ubik_VL_SetLock(cstruct, 0, volid, RWVOL, VLOP_ADDSITE);
     if (vcode) {
        fprintf(STDERR, " Could not lock the VLDB entry for volume %lu \n",
                (unsigned long)volid);
@@ -4759,7 +4773,7 @@ UV_ChangeLocation(afs_int32 server, afs_int32 part, afs_int32 volid)
        fprintf(STDERR, "No existing RW site for volume %lu",
                (unsigned long)volid);
        vcode =
-           ubik_Call(VL_ReleaseLock, cstruct, 0, volid, RWVOL,
+           ubik_VL_ReleaseLock(cstruct, 0, volid, RWVOL,
                      LOCKREL_OPCODE | LOCKREL_AFSID | LOCKREL_TIMESTAMP);
        if (vcode) {
            fprintf(STDERR,
@@ -4781,7 +4795,7 @@ UV_ChangeLocation(afs_int32 server, afs_int32 part, afs_int32 volid)
            fprintf(STDERR, "Could not update entry for volume %lu \n",
                    (unsigned long)volid);
            PrintError("", vcode);
-           ubik_Call(VL_ReleaseLock, cstruct, 0, volid, RWVOL,
+           ubik_VL_ReleaseLock(cstruct, 0, volid, RWVOL,
                      LOCKREL_OPCODE | LOCKREL_AFSID | LOCKREL_TIMESTAMP);
            return (vcode);
        }
@@ -4921,7 +4935,7 @@ UV_GenerateVolumeClones(afs_int32 aserver, afs_int32 apart,
        reuseCloneId = 1;
     else {                     /*get a bunch of id's from vldb */
        code =
-           ubik_Call(VL_GetNewVolumeId, cstruct, 0, arraySize, &curCloneId);
+           ubik_VL_GetNewVolumeId(cstruct, 0, arraySize, &curCloneId);
        if (code) {
            fprintf(STDERR, "Could not get ID's for the clone from VLDB\n");
            PrintError("", code);
@@ -5244,7 +5258,7 @@ CheckVolume(volintInfo * volumeinfo, afs_int32 aserver, afs_int32 apart,
      * then make the changes to it (pass 2).
      */
     if (++pass == 2) {
-       code = ubik_Call(VL_SetLock, cstruct, 0, rwvolid, RWVOL, VLOP_DELETE);
+       code = ubik_VL_SetLock(cstruct, 0, rwvolid, RWVOL, VLOP_DELETE);
        if (code) {
            fprintf(STDERR, "Could not lock VLDB entry for %lu\n",
                    (unsigned long)rwvolid);
@@ -5617,7 +5631,7 @@ CheckVolume(volintInfo * volumeinfo, afs_int32 aserver, afs_int32 apart,
            *modentry = modified;
     } else if (pass == 2) {
        code =
-           ubik_Call(VL_ReleaseLock, cstruct, 0, rwvolid, RWVOL,
+           ubik_VL_ReleaseLock(cstruct, 0, rwvolid, RWVOL,
                      LOCKREL_OPCODE | LOCKREL_AFSID | LOCKREL_TIMESTAMP);
        if (code) {
            PrintError("Could not unlock VLDB entry ", code);
@@ -5860,16 +5874,16 @@ UV_SyncVolume(afs_int32 aserver, afs_int32 apart, char *avolname, int flags)
     /* Now check if the maxvolid is larger than that stored in the VLDB */
     if (maxvolid) {
        afs_int32 maxvldbid = 0;
-       code = ubik_Call(VL_GetNewVolumeId, cstruct, 0, 0, &maxvldbid);
+       code = ubik_VL_GetNewVolumeId(cstruct, 0, 0, &maxvldbid);
        if (code) {
            fprintf(STDERR,
                    "Could not get the highest allocated volume id from the VLDB\n");
            if (!error)
                error = code;
        } else if (maxvolid > maxvldbid) {
-           afs_uint32 id, nid;
+           afs_int32 id, nid;
            id = maxvolid - maxvldbid + 1;
-           code = ubik_Call(VL_GetNewVolumeId, cstruct, 0, id, &nid);
+           code = ubik_VL_GetNewVolumeId(cstruct, 0, id, &nid);
            if (code) {
                fprintf(STDERR,
                        "Error in increasing highest allocated volume id in VLDB\n");
@@ -6004,17 +6018,17 @@ UV_SyncVldb(afs_int32 aserver, afs_int32 apart, int flags, int force)
   error_exit:
     /* Now check if the maxvolid is larger than that stored in the VLDB */
     if (maxvolid) {
-       afs_uint32 maxvldbid = 0;
-       code = ubik_Call(VL_GetNewVolumeId, cstruct, 0, 0, &maxvldbid);
+       afs_int32 maxvldbid = 0;
+       code = ubik_VL_GetNewVolumeId(cstruct, 0, 0, &maxvldbid);
        if (code) {
            fprintf(STDERR,
                    "Could not get the highest allocated volume id from the VLDB\n");
            if (!error)
                error = code;
        } else if (maxvolid > maxvldbid) {
-           afs_uint32 id, nid;
+           afs_int32 id, nid;
            id = maxvolid - maxvldbid + 1;
-           code = ubik_Call(VL_GetNewVolumeId, cstruct, 0, id, &nid);
+           code = ubik_VL_GetNewVolumeId(cstruct, 0, id, &nid);
            if (code) {
                fprintf(STDERR,
                        "Error in increasing highest allocated volume id in VLDB\n");
@@ -6257,7 +6271,7 @@ CheckVldb(struct nvldbentry * entry, afs_int32 * modified)
      */
     if (++pass == 2) {
        code =
-           ubik_Call(VL_SetLock, cstruct, 0, entry->volumeId[RWVOL], RWVOL,
+           ubik_VL_SetLock(cstruct, 0, entry->volumeId[RWVOL], RWVOL,
                      VLOP_DELETE);
        if (code) {
            fprintf(STDERR, "Could not lock VLDB entry for %u \n",
@@ -6307,7 +6321,7 @@ CheckVldb(struct nvldbentry * entry, afs_int32 * modified)
            && !(entry->flags & RO_EXISTS)) {
            /* The RW, BK, nor RO volumes do not exist. Delete the VLDB entry */
            code =
-               ubik_Call(VL_DeleteEntry, cstruct, 0, entry->volumeId[RWVOL],
+               ubik_VL_DeleteEntry(cstruct, 0, entry->volumeId[RWVOL],
                          RWVOL);
            if (code) {
                fprintf(STDERR,
@@ -6349,7 +6363,7 @@ CheckVldb(struct nvldbentry * entry, afs_int32 * modified)
 
     if (islocked) {
        code =
-           ubik_Call(VL_ReleaseLock, cstruct, 0, entry->volumeId[RWVOL],
+           ubik_VL_ReleaseLock(cstruct, 0, entry->volumeId[RWVOL],
                      RWVOL,
                      (LOCKREL_OPCODE | LOCKREL_AFSID | LOCKREL_TIMESTAMP));
        if (code) {
@@ -6474,7 +6488,7 @@ UV_RenameVolume(struct nvldbentry *entry, char oldname[], char newname[])
     tid = 0;
     islocked = 0;
 
-    vcode = ubik_Call(VL_SetLock, cstruct, 0, entry->volumeId[RWVOL], RWVOL, VLOP_ADDSITE);    /*last param is dummy */
+    vcode = ubik_VL_SetLock(cstruct, 0, entry->volumeId[RWVOL], RWVOL, VLOP_ADDSITE);  /*last param is dummy */
     if (vcode) {
        fprintf(STDERR,
                " Could not lock the VLDB entry for the  volume %u \n",
@@ -6660,7 +6674,7 @@ UV_RenameVolume(struct nvldbentry *entry, char oldname[], char newname[])
   rvfail:
     if (islocked) {
        vcode =
-           ubik_Call(VL_ReleaseLock, cstruct, 0, entry->volumeId[RWVOL],
+           ubik_VL_ReleaseLock(cstruct, 0, entry->volumeId[RWVOL],
                      RWVOL,
                      LOCKREL_OPCODE | LOCKREL_AFSID | LOCKREL_TIMESTAMP);
        if (vcode) {