]> git.pld-linux.org Git - packages/nfs-utils.git/commitdiff
outdated
authorJan Rękorajski <baggins@pld-linux.org>
Mon, 8 May 2006 15:54:04 +0000 (15:54 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    nfs-utils-1.0.7-CITI_NFS4_ALL-2.dif -> 1.5

nfs-utils-1.0.7-CITI_NFS4_ALL-2.dif [deleted file]

diff --git a/nfs-utils-1.0.7-CITI_NFS4_ALL-2.dif b/nfs-utils-1.0.7-CITI_NFS4_ALL-2.dif
deleted file mode 100644 (file)
index 7ff6faf..0000000
+++ /dev/null
@@ -1,13517 +0,0 @@
-
-
-The complete set of CITI nfs-utils patches rolled into one patch.
-
-Changes since 1.0.7-CITI_NFS4_ALL-1:
-       * Clean up configure, especially for Kerberos checking
-       * Fixes for gss context serialization on 64-bit machines
-       * Properly limit the encryption types when using MIT
-         Kerberos 1.4 or later
-       * Add options to turn on rpcsec_gss library debugging
-         if supported by the library
-       * Changes that allow compiling with Heimdal Kerberos
-         libraries.
-         NOTE: There are still run-time problems when using
-               the Heimdal libraries.
-
-
----
-
- /dev/null                                              | 4185 ---------
- nfs-utils-1.0.7-kwc/config.mk.in                       |    1 
- nfs-utils-1.0.7-kwc/configure                          | 7206 +++++++++++++----
- nfs-utils-1.0.7-kwc/configure.in                       |   83 
- nfs-utils-1.0.7-kwc/debian/control                     |    2 
- nfs-utils-1.0.7-kwc/debian/nfs-common.conffiles        |    1 
- nfs-utils-1.0.7-kwc/debian/nfs-common.install          |    1 
- nfs-utils-1.0.7-kwc/support/Makefile                   |    2 
- nfs-utils-1.0.7-kwc/support/include/config.h.in        |   31 
- nfs-utils-1.0.7-kwc/support/include/gssapi/gssapi.h    |   24 
- nfs-utils-1.0.7-kwc/support/rpc/include/rpc/auth_gss.h |    3 
- nfs-utils-1.0.7-kwc/utils/gssd/Makefile                |    3 
- nfs-utils-1.0.7-kwc/utils/gssd/context_heimdal.c       |   25 
- nfs-utils-1.0.7-kwc/utils/gssd/gss_oids.h              |    1 
- nfs-utils-1.0.7-kwc/utils/gssd/gssd.c                  |   17 
- nfs-utils-1.0.7-kwc/utils/gssd/gssd.man                |    6 
- nfs-utils-1.0.7-kwc/utils/gssd/krb5_util.c             |  114 
- nfs-utils-1.0.7-kwc/utils/gssd/write_bytes.h           |   18 
- nfs-utils-1.0.7-kwc/utils/idmapd/idmapd.c              |   59 
- nfs-utils-1.0.7-kwc/utils/mountd/mountd.c              |    8 
- nfs-utils-1.0.7-kwc/utils/svcgssd/Makefile             |   25 
- nfs-utils-1.0.7-kwc/utils/svcgssd/svcgssd.c            |   17 
- nfs-utils-1.0.7-kwc/utils/svcgssd/svcgssd.man          |    6 
- nfs-utils-1.0.7-kwc/utils/svcgssd/svcgssd_main_loop.c  |   11 
- nfs-utils-1.0.7-kwc/utils/svcgssd/svcgssd_proc.c       |   33 
- 25 files changed, 5864 insertions(+), 6018 deletions(-)
-
-diff -puN config.mk.in~CITI_NFS4_ALL config.mk.in
---- nfs-utils-1.0.7/config.mk.in~CITI_NFS4_ALL 2005-05-06 15:19:22.201567000 -0400
-+++ nfs-utils-1.0.7-kwc/config.mk.in   2005-05-06 15:19:22.465320000 -0400
-@@ -61,7 +61,6 @@ INSTALL              = install
- MAN2PS                = groff -Tps -man
- AFLAGS                = -I$(TOP)support/include \
--                -I$(KRBDIR)/include \
-                 -Wall $(ARCHFLAGS) -pipe
- ifdef KERNEL_INCDIR
- AFLAGS               += -I$(KERNEL_INCDIR)
-diff -puN configure~CITI_NFS4_ALL configure
---- nfs-utils-1.0.7/configure~CITI_NFS4_ALL    2005-05-06 15:19:22.266501000 -0400
-+++ nfs-utils-1.0.7-kwc/configure      2005-05-06 15:19:26.618156000 -0400
-@@ -1,47 +1,326 @@
- #! /bin/sh
--
- # Guess values for system-dependent variables and create Makefiles.
--# Generated automatically using autoconf version 2.13 
--# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
-+# Generated by GNU Autoconf 2.59.
- #
-+# Copyright (C) 2003 Free Software Foundation, Inc.
- # This configure script is free software; the Free Software Foundation
- # gives unlimited permission to copy, distribute and modify it.
-+## --------------------- ##
-+## M4sh Initialization.  ##
-+## --------------------- ##
-+
-+# 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+"$@"}'='"$@"'
-+elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
-+  set -o posix
-+fi
-+DUALCASE=1; export DUALCASE # for MKS sh
-+
-+# Support unset when possible.
-+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
-+  as_unset=unset
-+else
-+  as_unset=false
-+fi
-+
-+
-+# Work around bugs in pre-3.0 UWIN ksh.
-+$as_unset ENV MAIL MAILPATH
-+PS1='$ '
-+PS2='> '
-+PS4='+ '
-+
-+# NLS nuisances.
-+for as_var in \
-+  LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
-+  LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
-+  LC_TELEPHONE LC_TIME
-+do
-+  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
-+  fi
-+done
-+
-+# Required to use basename.
-+if expr a : '\(a\)' >/dev/null 2>&1; 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
-+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
-+
-+       ;;
-+  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
-+  '')
-+    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
-+
-+  # 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.
-+  # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
-+  # second 'sed' script.  Blame Lee E. McMahon for sed's syntax.  :-)
-+  sed '=' <$as_myself |
-+    sed '
-+      N
-+      s,$,-,
-+      : loop
-+      s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
-+      t loop
-+      s,-$,,
-+      s,^['$as_cr_digits']*\n,,
-+    ' >$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
-+  # 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= ;;
-+esac
-+
-+if expr a : '\(a\)' >/dev/null 2>&1; then
-+  as_expr=expr
-+else
-+  as_expr=false
-+fi
-+
-+rm -f conf$$ conf$$.exe conf$$.file
-+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='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
-+
-+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"
-+
-+# Sed expression to map a string onto a valid CPP name.
-+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="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
--# Defaults:
--ac_help=
-+
-+# 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
--# Any additions from configure.in:
-+ac_config_libobj_dir=.
-+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=
-+PACKAGE_VERSION=
-+PACKAGE_STRING=
-+PACKAGE_BUGREPORT=
-+
-+ac_unique_file="rules.mk"
- ac_default_prefix=/usr
--ac_help="$ac_help
--  --with-release=XXX      set release to XXX [1]"
--ac_help="$ac_help
--  --with-statedir=/foo    use state dir /foo [/var/lib/nfs]"
--ac_help="$ac_help
--  --with-statduser=rpcuser user for statd to run under [rpcuser or nobody]"
--ac_help="$ac_help
--  --enable-nfsv3          enable support for NFSv3"
--ac_help="$ac_help
--  --enable-nfsv4          enable support for NFSv4"
--ac_help="$ac_help
--  --enable-gss           enable support for rpcsec_gss"
--ac_help="$ac_help
--  --enable-kprefix       install progs as rpc.knfsd etc"
--ac_help="$ac_help
--  --enable-secure-statd  Only lockd can use statd (security)"
--ac_help="$ac_help
--  --enable-rquotad          enable rquotad"
--ac_help="$ac_help
--  --with-krb5=DIR         use Kerberos v5 installation in DIR"
-+# Factoring default headers for most tests.
-+ac_includes_default="\
-+#include <stdio.h>
-+#if HAVE_SYS_TYPES_H
-+# include <sys/types.h>
-+#endif
-+#if HAVE_SYS_STAT_H
-+# include <sys/stat.h>
-+#endif
-+#if STDC_HEADERS
-+# include <stdlib.h>
-+# include <stddef.h>
-+#else
-+# if HAVE_STDLIB_H
-+#  include <stdlib.h>
-+# endif
-+#endif
-+#if HAVE_STRING_H
-+# if !STDC_HEADERS && HAVE_MEMORY_H
-+#  include <memory.h>
-+# endif
-+# include <string.h>
-+#endif
-+#if HAVE_STRINGS_H
-+# include <strings.h>
-+#endif
-+#if HAVE_INTTYPES_H
-+# include <inttypes.h>
-+#else
-+# if HAVE_STDINT_H
-+#  include <stdint.h>
-+# endif
-+#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 VERSION RELEASE statedir statduser enable_nfsv3 IDMAPD enable_nfsv4 GSSD SVCGSSD enable_gss kprefix secure_statd RQUOTAD CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CPP INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CC_FOR_BUILD RANLIB ac_ct_RANLIB AR ac_ct_AR LD ac_ct_LD EGREP LIBSOCKET LIBNSL LIBCRYPT LIBBSD LIBWRAP KRBDIR KRBLIB KRBINC K5VERS CXXFLAGS LIBOBJS LTLIBOBJS'
-+ac_subst_files=''
- # Initialize some variables set by options.
-+ac_init_help=
-+ac_init_version=false
- # The variables have the same names as the options, with
- # dashes changed to underlines.
--build=NONE
--cache_file=./config.cache
-+cache_file=/dev/null
- exec_prefix=NONE
--host=NONE
- no_create=
--nonopt=NONE
- no_recursion=
- prefix=NONE
- program_prefix=NONE
-@@ -50,10 +329,15 @@ program_transform_name=s,x,x,
- silent=
- site=
- srcdir=
--target=NONE
- verbose=
- x_includes=NONE
- x_libraries=NONE
-+
-+# Installation directory options.
-+# These are left unexpanded so users can "make install exec_prefix=/foo"
-+# 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.
- bindir='${exec_prefix}/bin'
- sbindir='${exec_prefix}/sbin'
- libexecdir='${exec_prefix}/libexec'
-@@ -67,17 +351,9 @@ oldincludedir='/usr/include'
- infodir='${prefix}/info'
- mandir='${prefix}/man'
--# Initialize some other variables.
--subdirs=
--MFLAGS= MAKEFLAGS=
--SHELL=${CONFIG_SHELL-/bin/sh}
--# Maximum number of lines to put in a shell here document.
--ac_max_here_lines=12
--
- ac_prev=
- for ac_option
- do
--
-   # If the previous option needs an argument, assign it.
-   if test -n "$ac_prev"; then
-     eval "$ac_prev=\$ac_option"
-@@ -85,59 +361,59 @@ do
-     continue
-   fi
--  case "$ac_option" in
--  -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
--  *) ac_optarg= ;;
--  esac
-+  ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'`
-   # Accept the important Cygnus configure options, so we can diagnose typos.
--  case "$ac_option" in
-+  case $ac_option in
-   -bindir | --bindir | --bindi | --bind | --bin | --bi)
-     ac_prev=bindir ;;
-   -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
--    bindir="$ac_optarg" ;;
-+    bindir=$ac_optarg ;;
-   -build | --build | --buil | --bui | --bu)
--    ac_prev=build ;;
-+    ac_prev=build_alias ;;
-   -build=* | --build=* | --buil=* | --bui=* | --bu=*)
--    build="$ac_optarg" ;;
-+    build_alias=$ac_optarg ;;
-   -cache-file | --cache-file | --cache-fil | --cache-fi \
-   | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
-     ac_prev=cache_file ;;
-   -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
-   | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
--    cache_file="$ac_optarg" ;;
-+    cache_file=$ac_optarg ;;
-+
-+  --config-cache | -C)
-+    cache_file=config.cache ;;
-   -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
-     ac_prev=datadir ;;
-   -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
-   | --da=*)
--    datadir="$ac_optarg" ;;
-+    datadir=$ac_optarg ;;
-   -disable-* | --disable-*)
--    ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
-+    ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
-     # Reject names that are not valid shell variable names.
--    if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
--      { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
--    fi
--    ac_feature=`echo $ac_feature| sed 's/-/_/g'`
--    eval "enable_${ac_feature}=no" ;;
-+    expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
-+      { 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" ;;
-   -enable-* | --enable-*)
--    ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
-+    ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
-     # Reject names that are not valid shell variable names.
--    if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
--      { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
--    fi
--    ac_feature=`echo $ac_feature| sed 's/-/_/g'`
--    case "$ac_option" in
--      *=*) ;;
-+    expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
-+      { 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- \
-@@ -146,95 +422,47 @@ do
-   -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
-   | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
-   | --exec=* | --exe=* | --ex=*)
--    exec_prefix="$ac_optarg" ;;
-+    exec_prefix=$ac_optarg ;;
-   -gas | --gas | --ga | --g)
-     # Obsolete; use --with-gas.
-     with_gas=yes ;;
--  -help | --help | --hel | --he)
--    # Omit some internal or obsolete options to make the list less imposing.
--    # This message is too long to be a string in the A/UX 3.1 sh.
--    cat << EOF
--Usage: configure [options] [host]
--Options: [defaults in brackets after descriptions]
--Configuration:
--  --cache-file=FILE       cache test results in FILE
--  --help                  print this message
--  --no-create             do not create output files
--  --quiet, --silent       do not print \`checking...' messages
--  --version               print the version of autoconf that created configure
--Directory and file names:
--  --prefix=PREFIX         install architecture-independent files in PREFIX
--                          [$ac_default_prefix]
--  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
--                          [same as prefix]
--  --bindir=DIR            user executables in DIR [EPREFIX/bin]
--  --sbindir=DIR           system admin executables in DIR [EPREFIX/sbin]
--  --libexecdir=DIR        program executables in DIR [EPREFIX/libexec]
--  --datadir=DIR           read-only architecture-independent data in DIR
--                          [PREFIX/share]
--  --sysconfdir=DIR        read-only single-machine data in DIR [PREFIX/etc]
--  --sharedstatedir=DIR    modifiable architecture-independent data in DIR
--                          [PREFIX/com]
--  --localstatedir=DIR     modifiable single-machine data in DIR [PREFIX/var]
--  --libdir=DIR            object code libraries in DIR [EPREFIX/lib]
--  --includedir=DIR        C header files in DIR [PREFIX/include]
--  --oldincludedir=DIR     C header files for non-gcc in DIR [/usr/include]
--  --infodir=DIR           info documentation in DIR [PREFIX/info]
--  --mandir=DIR            man documentation in DIR [PREFIX/man]
--  --srcdir=DIR            find the sources in DIR [configure dir or ..]
--  --program-prefix=PREFIX prepend PREFIX to installed program names
--  --program-suffix=SUFFIX append SUFFIX to installed program names
--  --program-transform-name=PROGRAM
--                          run sed PROGRAM on installed program names
--EOF
--    cat << EOF
--Host type:
--  --build=BUILD           configure for building on BUILD [BUILD=HOST]
--  --host=HOST             configure for HOST [guessed]
--  --target=TARGET         configure for TARGET [TARGET=HOST]
--Features and packages:
--  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
--  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
--  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
--  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
--  --x-includes=DIR        X include files are in DIR
--  --x-libraries=DIR       X library files are in DIR
--EOF
--    if test -n "$ac_help"; then
--      echo "--enable and --with options recognized:$ac_help"
--    fi
--    exit 0 ;;
-+  -help | --help | --hel | --he | -h)
-+    ac_init_help=long ;;
-+  -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
-+    ac_init_help=recursive ;;
-+  -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
-+    ac_init_help=short ;;
-   -host | --host | --hos | --ho)
--    ac_prev=host ;;
-+    ac_prev=host_alias ;;
-   -host=* | --host=* | --hos=* | --ho=*)
--    host="$ac_optarg" ;;
-+    host_alias=$ac_optarg ;;
-   -includedir | --includedir | --includedi | --included | --include \
-   | --includ | --inclu | --incl | --inc)
-     ac_prev=includedir ;;
-   -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
-   | --includ=* | --inclu=* | --incl=* | --inc=*)
--    includedir="$ac_optarg" ;;
-+    includedir=$ac_optarg ;;
-   -infodir | --infodir | --infodi | --infod | --info | --inf)
-     ac_prev=infodir ;;
-   -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
--    infodir="$ac_optarg" ;;
-+    infodir=$ac_optarg ;;
-   -libdir | --libdir | --libdi | --libd)
-     ac_prev=libdir ;;
-   -libdir=* | --libdir=* | --libdi=* | --libd=*)
--    libdir="$ac_optarg" ;;
-+    libdir=$ac_optarg ;;
-   -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
-   | --libexe | --libex | --libe)
-     ac_prev=libexecdir ;;
-   -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
-   | --libexe=* | --libex=* | --libe=*)
--    libexecdir="$ac_optarg" ;;
-+    libexecdir=$ac_optarg ;;
-   -localstatedir | --localstatedir | --localstatedi | --localstated \
-   | --localstate | --localstat | --localsta | --localst \
-@@ -243,19 +471,19 @@ EOF
-   -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
-   | --localstate=* | --localstat=* | --localsta=* | --localst=* \
-   | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
--    localstatedir="$ac_optarg" ;;
-+    localstatedir=$ac_optarg ;;
-   -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
-     ac_prev=mandir ;;
-   -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
--    mandir="$ac_optarg" ;;
-+    mandir=$ac_optarg ;;
-   -nfp | --nfp | --nf)
-     # Obsolete; use --without-fp.
-     with_fp=no ;;
-   -no-create | --no-create | --no-creat | --no-crea | --no-cre \
--  | --no-cr | --no-c)
-+  | --no-cr | --no-c | -n)
-     no_create=yes ;;
-   -no-recursion | --no-recursion | --no-recursio | --no-recursi \
-@@ -269,26 +497,26 @@ EOF
-   -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
-   | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
-   | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
--    oldincludedir="$ac_optarg" ;;
-+    oldincludedir=$ac_optarg ;;
-   -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
-     ac_prev=prefix ;;
-   -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
--    prefix="$ac_optarg" ;;
-+    prefix=$ac_optarg ;;
-   -program-prefix | --program-prefix | --program-prefi | --program-pref \
-   | --program-pre | --program-pr | --program-p)
-     ac_prev=program_prefix ;;
-   -program-prefix=* | --program-prefix=* | --program-prefi=* \
-   | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
--    program_prefix="$ac_optarg" ;;
-+    program_prefix=$ac_optarg ;;
-   -program-suffix | --program-suffix | --program-suffi | --program-suff \
-   | --program-suf | --program-su | --program-s)
-     ac_prev=program_suffix ;;
-   -program-suffix=* | --program-suffix=* | --program-suffi=* \
-   | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
--    program_suffix="$ac_optarg" ;;
-+    program_suffix=$ac_optarg ;;
-   -program-transform-name | --program-transform-name \
-   | --program-transform-nam | --program-transform-na \
-@@ -305,7 +533,7 @@ EOF
-   | --program-transfo=* | --program-transf=* \
-   | --program-trans=* | --program-tran=* \
-   | --progr-tra=* | --program-tr=* | --program-t=*)
--    program_transform_name="$ac_optarg" ;;
-+    program_transform_name=$ac_optarg ;;
-   -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-   | -silent | --silent | --silen | --sile | --sil)
-@@ -315,7 +543,7 @@ EOF
-     ac_prev=sbindir ;;
-   -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
-   | --sbi=* | --sb=*)
--    sbindir="$ac_optarg" ;;
-+    sbindir=$ac_optarg ;;
-   -sharedstatedir | --sharedstatedir | --sharedstatedi \
-   | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
-@@ -326,58 +554,57 @@ EOF
-   | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
-   | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
-   | --sha=* | --sh=*)
--    sharedstatedir="$ac_optarg" ;;
-+    sharedstatedir=$ac_optarg ;;
-   -site | --site | --sit)
-     ac_prev=site ;;
-   -site=* | --site=* | --sit=*)
--    site="$ac_optarg" ;;
-+    site=$ac_optarg ;;
-   -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
-     ac_prev=srcdir ;;
-   -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
--    srcdir="$ac_optarg" ;;
-+    srcdir=$ac_optarg ;;
-   -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
-   | --syscon | --sysco | --sysc | --sys | --sy)
-     ac_prev=sysconfdir ;;
-   -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
-   | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
--    sysconfdir="$ac_optarg" ;;
-+    sysconfdir=$ac_optarg ;;
-   -target | --target | --targe | --targ | --tar | --ta | --t)
--    ac_prev=target ;;
-+    ac_prev=target_alias ;;
-   -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
--    target="$ac_optarg" ;;
-+    target_alias=$ac_optarg ;;
-   -v | -verbose | --verbose | --verbos | --verbo | --verb)
-     verbose=yes ;;
--  -version | --version | --versio | --versi | --vers)
--    echo "configure generated by autoconf version 2.13"
--    exit 0 ;;
-+  -version | --version | --versio | --versi | --vers | -V)
-+    ac_init_version=: ;;
-   -with-* | --with-*)
--    ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
-+    ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
-     # Reject names that are not valid shell variable names.
--    if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
--      { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
--    fi
-+    expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
-+      { 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
--      *=*) ;;
-+    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=`echo $ac_option|sed -e 's/-*without-//'`
-+    ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
-     # Reject names that are not valid shell variable names.
--    if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
--      { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
--    fi
--    ac_package=`echo $ac_package| sed 's/-/_/g'`
--    eval "with_${ac_package}=no" ;;
-+    expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
-+      { 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" ;;
-   --x)
-     # Obsolete; use --with-x.
-@@ -388,99 +615,110 @@ EOF
-     ac_prev=x_includes ;;
-   -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
-   | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
--    x_includes="$ac_optarg" ;;
-+    x_includes=$ac_optarg ;;
-   -x-libraries | --x-libraries | --x-librarie | --x-librari \
-   | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
-     ac_prev=x_libraries ;;
-   -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
-   | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
--    x_libraries="$ac_optarg" ;;
-+    x_libraries=$ac_optarg ;;
--  -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
-+  -*) { echo "$as_me: error: unrecognized option: $ac_option
-+Try \`$0 --help' for more information." >&2
-+   { (exit 1); exit 1; }; }
-     ;;
-+  *=*)
-+    ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
-+    # Reject names that are not valid shell variable names.
-+    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'"
-+    export $ac_envvar ;;
-+
-   *)
--    if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
--      echo "configure: warning: $ac_option: invalid host type" 1>&2
--    fi
--    if test "x$nonopt" != xNONE; then
--      { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
--    fi
--    nonopt="$ac_option"
-+    # FIXME: should be removed in autoconf 3.0.
-+    echo "$as_me: WARNING: you should use --build, --host, --target" >&2
-+    expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
-+      echo "$as_me: WARNING: invalid host type: $ac_option" >&2
-+    : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
-     ;;
-   esac
- done
- if test -n "$ac_prev"; then
--  { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
--fi
--
--trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
--
--# File descriptor usage:
--# 0 standard input
--# 1 file creation
--# 2 errors and warnings
--# 3 some systems may open it to /dev/tty
--# 4 used on the Kubota Titan
--# 6 checking for... messages and results
--# 5 compiler messages saved in config.log
--if test "$silent" = yes; then
--  exec 6>/dev/null
--else
--  exec 6>&1
-+  ac_option=--`echo $ac_prev | sed 's/_/-/g'`
-+  { echo "$as_me: error: missing argument to $ac_option" >&2
-+   { (exit 1); exit 1; }; }
- fi
--exec 5>./config.log
--echo "\
--This file contains any messages produced by compilers while
--running configure, to aid debugging if configure makes a mistake.
--" 1>&5
-+# Be sure to have absolute paths.
-+for ac_var in exec_prefix prefix
-+do
-+  eval ac_val=$`echo $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
--# Strip out --no-create and --no-recursion so they do not pile up.
--# Also quote any args containing shell metacharacters.
--ac_configure_args=
--for ac_arg
-+# Be sure to have absolute paths.
-+for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \
-+            localstatedir libdir includedir oldincludedir infodir mandir
- do
--  case "$ac_arg" in
--  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
--  | --no-cr | --no-c) ;;
--  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
--  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
--  *" "*|*"    "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
--  ac_configure_args="$ac_configure_args '$ac_arg'" ;;
--  *) ac_configure_args="$ac_configure_args $ac_arg" ;;
-+  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; }; };;
-   esac
- done
--# NLS nuisances.
--# Only set these to C if already set.  These must not be set unconditionally
--# because not all systems understand e.g. LANG=C (notably SCO).
--# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
--# Non-C LC_CTYPE values break the ctype check.
--if test "${LANG+set}"   = set; then LANG=C;   export LANG;   fi
--if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
--if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
--if test "${LC_CTYPE+set}"    = set; then LC_CTYPE=C;    export LC_CTYPE;    fi
-+# There might be people who depend on the old broken behavior: `$host'
-+# used to hold the argument of --host etc.
-+# FIXME: To remove some day.
-+build=$build_alias
-+host=$host_alias
-+target=$target_alias
-+
-+# FIXME: To remove some day.
-+if test "x$host_alias" != x; then
-+  if test "x$build_alias" = x; then
-+    cross_compiling=maybe
-+    echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
-+    If a cross compiler is detected then cross compile mode will be used." >&2
-+  elif test "x$build_alias" != "x$host_alias"; then
-+    cross_compiling=yes
-+  fi
-+fi
--# 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
-+ac_tool_prefix=
-+test -n "$host_alias" && ac_tool_prefix=$host_alias-
-+
-+test "$silent" = yes && exec 6>/dev/null
--# A filename unique to this package, relative to the directory that
--# configure is in, which we can look for to find out if srcdir is correct.
--ac_unique_file=rules.mk
- # 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_prog=$0
--  ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
--  test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
-+  ac_confdir=`(dirname "$0") 2>/dev/null ||
-+$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-+       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'`
-   srcdir=$ac_confdir
-   if test ! -r $srcdir/$ac_unique_file; then
-     srcdir=..
-@@ -490,13 +728,472 @@ else
- fi
- if test ! -r $srcdir/$ac_unique_file; then
-   if test "$ac_srcdir_defaulted" = yes; then
--    { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
-+    { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2
-+   { (exit 1); exit 1; }; }
-   else
--    { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
-+    { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
-+   { (exit 1); exit 1; }; }
-   fi
- fi
--srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
-+(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
-+   { (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
-+
-+#
-+# Report the --help message.
-+#
-+if test "$ac_init_help" = "long"; then
-+  # Omit some internal or obsolete options to make the list less imposing.
-+  # This message is too long to be a string in the A/UX 3.1 sh.
-+  cat <<_ACEOF
-+\`configure' configures this package to adapt to many kinds of systems.
-+
-+Usage: $0 [OPTION]... [VAR=VALUE]...
-+
-+To assign environment variables (e.g., CC, CFLAGS...), specify them as
-+VAR=VALUE.  See below for descriptions of some of the useful variables.
-+
-+Defaults for the options are specified in brackets.
-+
-+Configuration:
-+  -h, --help              display this help and exit
-+      --help=short        display options specific to this package
-+      --help=recursive    display the short help of all the included packages
-+  -V, --version           display version information and exit
-+  -q, --quiet, --silent   do not print \`checking...' messages
-+      --cache-file=FILE   cache test results in FILE [disabled]
-+  -C, --config-cache      alias for \`--cache-file=config.cache'
-+  -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]
-+  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
-+                        [PREFIX]
-+
-+By default, \`make install' will install all the files in
-+\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc.  You can specify
-+an installation prefix other than \`$ac_default_prefix' using \`--prefix',
-+for instance \`--prefix=\$HOME'.
-+
-+For better control, use the options below.
-+
-+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]
-+_ACEOF
-+
-+  cat <<\_ACEOF
-+_ACEOF
-+fi
-+
-+if test -n "$ac_init_help"; then
-+
-+  cat <<\_ACEOF
-+
-+Optional Features:
-+  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
-+  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-+  --enable-nfsv3          enable support for NFSv3
-+  --enable-nfsv4          enable support for NFSv4
-+  --enable-gss           enable support for rpcsec_gss
-+  --enable-kprefix       install progs as rpc.knfsd etc
-+  --enable-secure-statd  Only lockd can use statd (security)
-+  --enable-rquotad          enable rquotad
-+
-+Optional Packages:
-+  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
-+  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
-+  --with-release=XXX      set release to XXX 1
-+  --with-statedir=/foo    use state dir /foo /var/lib/nfs
-+  --with-statduser=rpcuser user for statd to run under rpcuser or nobody
-+  --with-krb5=DIR         use Kerberos v5 installation in DIR
-+
-+Some influential environment variables:
-+  CC          C compiler command
-+  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>
-+  CPP         C preprocessor
-+
-+Use these variables to override the choices made by `configure' or to help
-+it to find libraries and programs with nonstandard names/locations.
-+
-+_ACEOF
-+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
-+    ac_builddir=.
-+
-+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
-+
-+# Do not use `cd foo && pwd` to compute absolute paths, because
-+# the directories may not exist.
-+case `pwd` in
-+.) ac_abs_builddir="$ac_dir";;
-+*)
-+  case "$ac_dir" in
-+  .) ac_abs_builddir=`pwd`;;
-+  [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
-+  *) ac_abs_builddir=`pwd`/"$ac_dir";;
-+  esac;;
-+esac
-+case $ac_abs_builddir in
-+.) ac_abs_top_builddir=${ac_top_builddir}.;;
-+*)
-+  case ${ac_top_builddir}. in
-+  .) ac_abs_top_builddir=$ac_abs_builddir;;
-+  [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
-+  *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
-+  esac;;
-+esac
-+case $ac_abs_builddir in
-+.) ac_abs_srcdir=$ac_srcdir;;
-+*)
-+  case $ac_srcdir in
-+  .) ac_abs_srcdir=$ac_abs_builddir;;
-+  [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
-+  *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
-+  esac;;
-+esac
-+case $ac_abs_builddir in
-+.) ac_abs_top_srcdir=$ac_top_srcdir;;
-+*)
-+  case $ac_top_srcdir in
-+  .) ac_abs_top_srcdir=$ac_abs_builddir;;
-+  [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
-+  *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
-+  esac;;
-+esac
-+
-+    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
-+    else
-+      echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
-+    fi
-+    cd $ac_popdir
-+  done
-+fi
-+
-+test -n "$ac_init_help" && exit 0
-+if $ac_init_version; then
-+  cat <<\_ACEOF
-+
-+Copyright (C) 2003 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
-+fi
-+exec 5>config.log
-+cat >&5 <<_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.59.  Invocation command line was
-+
-+  $ $0 $@
-+
-+_ACEOF
-+{
-+cat <<_ASUNAME
-+## --------- ##
-+## Platform. ##
-+## --------- ##
-+
-+hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
-+uname -m = `(uname -m) 2>/dev/null || echo unknown`
-+uname -r = `(uname -r) 2>/dev/null || echo unknown`
-+uname -s = `(uname -s) 2>/dev/null || echo unknown`
-+uname -v = `(uname -v) 2>/dev/null || echo unknown`
-+
-+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
-+/bin/uname -X     = `(/bin/uname -X) 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`
-+/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`
-+
-+_ASUNAME
-+
-+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-+for as_dir in $PATH
-+do
-+  IFS=$as_save_IFS
-+  test -z "$as_dir" && as_dir=.
-+  echo "PATH: $as_dir"
-+done
-+
-+} >&5
-+
-+cat >&5 <<_ACEOF
-+
-+
-+## ----------- ##
-+## Core tests. ##
-+## ----------- ##
-+
-+_ACEOF
-+
-+
-+# Keep a trace of the command line.
-+# Strip out --no-create and --no-recursion so they do not pile up.
-+# Strip out --silent because we don't want to record it for future runs.
-+# Also quote any args containing shell meta-characters.
-+# Make two passes to allow for proper duplicate-argument suppression.
-+ac_configure_args=
-+ac_configure_args0=
-+ac_configure_args1=
-+ac_sep=
-+ac_must_keep_next=false
-+for ac_pass in 1 2
-+do
-+  for ac_arg
-+  do
-+    case $ac_arg in
-+    -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
-+    -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
-+    1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
-+    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.
-+      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
-+      fi
-+      ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'"
-+      # Get rid of the leading space.
-+      ac_sep=" "
-+      ;;
-+    esac
-+  done
-+done
-+$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; }
-+$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; }
-+
-+# 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.
-+trap 'exit_status=$?
-+  # Save into config.log some information that might help in debugging.
-+  {
-+    echo
-+
-+    cat <<\_ASBOX
-+## ---------------- ##
-+## Cache variables. ##
-+## ---------------- ##
-+_ASBOX
-+    echo
-+    # The following way of writing the cache mishandles newlines in values,
-+{
-+  (set) 2>&1 |
-+    case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in
-+    *ac_space=\ *)
-+      sed -n \
-+      "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"
-+      ;;
-+    esac;
-+}
-+    echo
-+
-+    cat <<\_ASBOX
-+## ----------------- ##
-+## Output variables. ##
-+## ----------------- ##
-+_ASBOX
-+    echo
-+    for ac_var in $ac_subst_vars
-+    do
-+      eval ac_val=$`echo $ac_var`
-+      echo "$ac_var='"'"'$ac_val'"'"'"
-+    done | sort
-+    echo
-+
-+    if test -n "$ac_subst_files"; then
-+      cat <<\_ASBOX
-+## ------------- ##
-+## Output files. ##
-+## ------------- ##
-+_ASBOX
-+      echo
-+      for ac_var in $ac_subst_files
-+      do
-+      eval ac_val=$`echo $ac_var`
-+      echo "$ac_var='"'"'$ac_val'"'"'"
-+      done | sort
-+      echo
-+    fi
-+
-+    if test -s confdefs.h; then
-+      cat <<\_ASBOX
-+## ----------- ##
-+## confdefs.h. ##
-+## ----------- ##
-+_ASBOX
-+      echo
-+      sed "/^$/d" confdefs.h | sort
-+      echo
-+    fi
-+    test "$ac_signal" != 0 &&
-+      echo "$as_me: caught signal $ac_signal"
-+    echo "$as_me: exit $exit_status"
-+  } >&5
-+  rm -f core *.core &&
-+  rm -rf conftest* confdefs* conf$$* $ac_clean_files &&
-+    exit $exit_status
-+     ' 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
-+
-+# Predefined preprocessor variables.
-+
-+cat >>confdefs.h <<_ACEOF
-+#define PACKAGE_NAME "$PACKAGE_NAME"
-+_ACEOF
-+
-+
-+cat >>confdefs.h <<_ACEOF
-+#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
-+_ACEOF
-+
-+cat >>confdefs.h <<_ACEOF
-+#define PACKAGE_VERSION "$PACKAGE_VERSION"
-+_ACEOF
-+
-+
-+cat >>confdefs.h <<_ACEOF
-+#define PACKAGE_STRING "$PACKAGE_STRING"
-+_ACEOF
-+
-+
-+cat >>confdefs.h <<_ACEOF
-+#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
-+_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
-@@ -507,39 +1204,103 @@ if test -z "$CONFIG_SITE"; then
- fi
- for ac_site_file in $CONFIG_SITE; do
-   if test -r "$ac_site_file"; then
--    echo "loading site script $ac_site_file"
-+    { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
-+echo "$as_me: loading site script $ac_site_file" >&6;}
-+    sed 's/^/| /' "$ac_site_file" >&5
-     . "$ac_site_file"
-   fi
- done
- if test -r "$cache_file"; then
--  echo "loading cache $cache_file"
--  . $cache_file
-+  # Some versions of bash will fail to source /dev/null (special
-+  # files actually), so we avoid doing that.
-+  if test -f "$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;;
-+    esac
-+  fi
- else
--  echo "creating cache $cache_file"
--  > $cache_file
-+  { echo "$as_me:$LINENO: creating cache $cache_file" >&5
-+echo "$as_me: creating cache $cache_file" >&6;}
-+  >$cache_file
-+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
-+  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"
-+  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
-+echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
-+      ac_cache_corrupted=: ;;
-+    ,set)
-+      { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
-+echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
-+      ac_cache_corrupted=: ;;
-+    ,);;
-+    *)
-+      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: error: \`$ac_var' has changed since the previous run:" >&2;}
-+      { 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:   current value: $ac_new_val" >&2;}
-+      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=$ac_new_val ;;
-+    esac
-+    case " $ac_configure_args " in
-+      *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy.
-+      *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
-+    esac
-+  fi
-+done
-+if $ac_cache_corrupted; then
-+  { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
-+echo "$as_me: error: changes in the environment can compromise the build" >&2;}
-+  { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
-+echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
-+   { (exit 1); exit 1; }; }
- fi
- ac_ext=c
--# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
- ac_cpp='$CPP $CPPFLAGS'
--ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
--ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
--cross_compiling=$ac_cv_prog_cc_cross
--
--ac_exeext=
--ac_objext=o
--if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
--  # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
--  if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
--    ac_n= ac_c='
--' ac_t='      '
--  else
--    ac_n=-n ac_c= ac_t=
--  fi
--else
--  ac_n= ac_c='\c' ac_t=
--fi
-+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
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-@@ -548,24 +1309,25 @@ fi
- VERSION="1.0.7"
-+
- # Check whether --with-release or --without-release was given.
- if test "${with_release+set}" = set; then
-   withval="$with_release"
-   RELEASE=$withval
- else
-   RELEASE=1
--fi
-+fi;
-+
--      
- # Check whether --with-statedir or --without-statedir was given.
- if test "${with_statedir+set}" = set; then
-   withval="$with_statedir"
-   statedir=$withval
- else
-   statedir=/var/lib/nfs
--fi
-+fi;
-+
--      
- # Check whether --with-statduser or --without-statduser was given.
- if test "${with_statduser+set}" = set; then
-   withval="$with_statduser"
-@@ -576,58 +1338,57 @@ else
-       else
-               statduser=nobody
-       fi
--fi
-+fi;
--      
- # Check whether --enable-nfsv3 or --disable-nfsv3 was given.
- if test "${enable_nfsv3+set}" = set; then
-   enableval="$enable_nfsv3"
-   enable_nfsv3=$enableval
- else
-   enable_nfsv3=yes
--fi
--
-+fi;
-       if test "$enable_nfsv3" = yes; then
--              cat >> confdefs.h <<\EOF
-+
-+cat >>confdefs.h <<\_ACEOF
- #define NFS3_SUPPORTED 1
--EOF
-+_ACEOF
-       else
-               enable_nfsv3=
-       fi
--      
-+
- # Check whether --enable-nfsv4 or --disable-nfsv4 was given.
- if test "${enable_nfsv4+set}" = set; then
-   enableval="$enable_nfsv4"
-   enable_nfsv4=$enableval
- else
-   enable_nfsv4=yes
--fi
--
-+fi;
-       if test "$enable_nfsv4" = yes; then
--              cat >> confdefs.h <<\EOF
-+
-+cat >>confdefs.h <<\_ACEOF
- #define NFS4_SUPPORTED 1
--EOF
-+_ACEOF
-               IDMAPD=idmapd
-       else
-               enable_nfsv4=
-               IDMAPD=
-       fi
--      
--      
-+
-+
- # Check whether --enable-gss or --disable-gss was given.
- if test "${enable_gss+set}" = set; then
-   enableval="$enable_gss"
-   enable_gss=$enableval
- else
-   enable_gss=yes
--fi
--
-+fi;
-       if test "$enable_gss" = yes; then
--              cat >> confdefs.h <<\EOF
-+
-+cat >>confdefs.h <<\_ACEOF
- #define GSS_SUPPORTED 1
--EOF
-+_ACEOF
-               GSSD=gssd
-               SVCGSSD=svcgssd
-@@ -636,257 +1397,701 @@ EOF
-               GSSD=
-               SVCGSSD=
-       fi
--      
--      
--      
-+
-+
-+
- # Check whether --enable-kprefix or --disable-kprefix was given.
- if test "${enable_kprefix+set}" = set; then
-   enableval="$enable_kprefix"
-   test "$enableval" = "yes" && kprefix=k
- else
-   kprefix=
--fi
-+fi;
--      
- # Check whether --enable-secure-statd or --disable-secure-statd was given.
- if test "${enable_secure_statd+set}" = set; then
-   enableval="$enable_secure_statd"
-   test "$enableval" = "yes" && secure_statd=yes
- else
-   secure_statd=no
--fi
--
-+fi;
-       if test "$secure_statd" = yes; then
--              cat >> confdefs.h <<\EOF
-+
-+cat >>confdefs.h <<\_ACEOF
- #define RESTRICTED_STATD 1
--EOF
-+_ACEOF
-       fi
--      
-+
- # Check whether --enable-rquotad or --disable-rquotad was given.
- if test "${enable_rquotad+set}" = set; then
-   enableval="$enable_rquotad"
-   enable_rquotad=$enableval
- else
-   enable_rquotad=yes
--fi
--
-+fi;
-       if test "$enable_rquotad" = yes; then
-               RQUOTAD=rquotad
-       else
-               RQUOTAD=
-       fi
--      
-+          ac_config_headers="$ac_config_headers support/include/config.h"
--# Extract the first word of "gcc", so it can be a program name with args.
-+
-+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
-+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
-+if test "${ac_cv_prog_CC+set}" = set; then
-+  echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+  if test -n "$CC"; then
-+  ac_cv_prog_CC="$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_CC="${ac_tool_prefix}gcc"
-+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-+    break 2
-+  fi
-+done
-+done
-+
-+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 "gcc", so it can be a program name with args.
- set dummy gcc; ac_word=$2
--echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
--echo "configure:686: checking for $ac_word" >&5
--if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
--  echo $ac_n "(cached) $ac_c" 1>&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
-+  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="gcc"
-+    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
-+else
-+  echo "$as_me:$LINENO: result: no" >&5
-+echo "${ECHO_T}no" >&6
-+fi
-+
-+  CC=$ac_ct_CC
-+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.
-+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
-+if test "${ac_cv_prog_CC+set}" = set; then
-+  echo $ECHO_N "(cached) $ECHO_C" >&6
- else
-   if test -n "$CC"; then
-   ac_cv_prog_CC="$CC" # Let the user override the test.
- else
--  IFS="${IFS=         }"; ac_save_ifs="$IFS"; IFS=":"
--  ac_dummy="$PATH"
--  for ac_dir in $ac_dummy; do
--    test -z "$ac_dir" && ac_dir=.
--    if test -f $ac_dir/$ac_word; then
--      ac_cv_prog_CC="gcc"
--      break
--    fi
--  done
--  IFS="$ac_save_ifs"
-+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_CC="${ac_tool_prefix}cc"
-+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-+    break 2
-+  fi
-+done
-+done
-+
- fi
- fi
--CC="$ac_cv_prog_CC"
-+CC=$ac_cv_prog_CC
- if test -n "$CC"; then
--  echo "$ac_t""$CC" 1>&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
-+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
-+else
-+  echo "$as_me:$LINENO: result: no" >&5
-+echo "${ECHO_T}no" >&6
-+fi
-+
-+  CC=$ac_ct_CC
- else
--  echo "$ac_t""no" 1>&6
-+  CC="$ac_cv_prog_CC"
- 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 $ac_n "checking for $ac_word""... $ac_c" 1>&6
--echo "configure:716: checking for $ac_word" >&5
--if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
--  echo $ac_n "(cached) $ac_c" 1>&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
-   if test -n "$CC"; then
-   ac_cv_prog_CC="$CC" # Let the user override the test.
- else
--  IFS="${IFS=         }"; ac_save_ifs="$IFS"; IFS=":"
-   ac_prog_rejected=no
--  ac_dummy="$PATH"
--  for ac_dir in $ac_dummy; do
--    test -z "$ac_dir" && ac_dir=.
--    if test -f $ac_dir/$ac_word; then
--      if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
--        ac_prog_rejected=yes
--      continue
--      fi
--      ac_cv_prog_CC="cc"
--      break
--    fi
--  done
--  IFS="$ac_save_ifs"
-+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
-+    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
-+       ac_prog_rejected=yes
-+       continue
-+     fi
-+    ac_cv_prog_CC="cc"
-+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-+    break 2
-+  fi
-+done
-+done
-+
- if test $ac_prog_rejected = yes; then
-   # We found a bogon in the path, so make sure we never use it.
-   set dummy $ac_cv_prog_CC
-   shift
--  if test $# -gt 0; then
-+  if test $# != 0; then
-     # We chose a different compiler from the bogus one.
-     # However, it has the same basename, so the bogon will be chosen
-     # first if we set CC to just the basename; use the full file name.
-     shift
--    set dummy "$ac_dir/$ac_word" "$@"
--    shift
--    ac_cv_prog_CC="$@"
-+    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
-   fi
- fi
- fi
- fi
--CC="$ac_cv_prog_CC"
-+CC=$ac_cv_prog_CC
- if test -n "$CC"; then
--  echo "$ac_t""$CC" 1>&6
-+  echo "$as_me:$LINENO: result: $CC" >&5
-+echo "${ECHO_T}$CC" >&6
- else
--  echo "$ac_t""no" 1>&6
-+  echo "$as_me:$LINENO: result: no" >&5
-+echo "${ECHO_T}no" >&6
- fi
--  if test -z "$CC"; then
--    case "`uname -s`" in
--    *win32* | *WIN32*)
--      # Extract the first word of "cl", so it can be a program name with args.
--set dummy cl; ac_word=$2
--echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
--echo "configure:767: checking for $ac_word" >&5
--if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
--  echo $ac_n "(cached) $ac_c" 1>&6
-+fi
-+if test -z "$CC"; then
-+  if test -n "$ac_tool_prefix"; then
-+  for ac_prog in cl
-+  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
-+if test "${ac_cv_prog_CC+set}" = set; then
-+  echo $ECHO_N "(cached) $ECHO_C" >&6
- else
-   if test -n "$CC"; then
-   ac_cv_prog_CC="$CC" # Let the user override the test.
- else
--  IFS="${IFS=         }"; ac_save_ifs="$IFS"; IFS=":"
--  ac_dummy="$PATH"
--  for ac_dir in $ac_dummy; do
--    test -z "$ac_dir" && ac_dir=.
--    if test -f $ac_dir/$ac_word; then
--      ac_cv_prog_CC="cl"
--      break
--    fi
--  done
--  IFS="$ac_save_ifs"
-+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_CC="$ac_tool_prefix$ac_prog"
-+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-+    break 2
-+  fi
-+done
-+done
-+
- fi
- fi
--CC="$ac_cv_prog_CC"
-+CC=$ac_cv_prog_CC
- if test -n "$CC"; then
--  echo "$ac_t""$CC" 1>&6
-+  echo "$as_me:$LINENO: result: $CC" >&5
-+echo "${ECHO_T}$CC" >&6
- else
--  echo "$ac_t""no" 1>&6
-+  echo "$as_me:$LINENO: result: no" >&5
-+echo "${ECHO_T}no" >&6
- fi
-- ;;
--    esac
-+
-+    test -n "$CC" && break
-+  done
-+fi
-+if test -z "$CC"; then
-+  ac_ct_CC=$CC
-+  for ac_prog in cl
-+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
-+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="$ac_prog"
-+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-+    break 2
-   fi
--  test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
-+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
-+else
-+  echo "$as_me:$LINENO: result: no" >&5
-+echo "${ECHO_T}no" >&6
-+fi
-+
-+  test -n "$ac_ct_CC" && break
-+done
--echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
--echo "configure:799: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
-+  CC=$ac_ct_CC
-+fi
--ac_ext=c
--# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
--ac_cpp='$CPP $CPPFLAGS'
--ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
--ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
--cross_compiling=$ac_cv_prog_cc_cross
-+fi
--cat > conftest.$ac_ext << EOF
--#line 810 "configure"
--#include "confdefs.h"
-+test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
-+See \`config.log' for more details." >&5
-+echo "$as_me: error: no acceptable C compiler found in \$PATH
-+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
-+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_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_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_status=$?
-+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+  (exit $ac_status); }
-+
-+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
-+ac_clean_files_save=$ac_clean_files
-+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 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
-+  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
-+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.
-+      ;;
-+    [ab].out )
-+      # 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;;
-+    * )
-+      break;;
-+  esac
-+done
-+else
-+  echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
--main(){return(0);}
--EOF
--if { (eval echo configure:815: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
--  ac_cv_prog_cc_works=yes
--  # If we can't run a trivial program, we are probably using a cross compiler.
--  if (./conftest; exit) 2>/dev/null; then
--    ac_cv_prog_cc_cross=no
-+{ { echo "$as_me:$LINENO: error: C compiler cannot create executables
-+See \`config.log' for more details." >&5
-+echo "$as_me: error: C compiler cannot create executables
-+See \`config.log' for more details." >&2;}
-+   { (exit 77); exit 77; }; }
-+fi
-+
-+ac_exeext=$ac_cv_exeext
-+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
-+# 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
-+# 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
-+  ac_status=$?
-+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+  (exit $ac_status); }; }; then
-+    cross_compiling=no
-   else
--    ac_cv_prog_cc_cross=yes
-+    if test "$cross_compiling" = maybe; then
-+      cross_compiling=yes
-+    else
-+      { { echo "$as_me:$LINENO: error: cannot run C compiled programs.
-+If you meant to cross compile, use \`--host'.
-+See \`config.log' for more details." >&5
-+echo "$as_me: error: cannot run C compiled programs.
-+If you meant to cross compile, use \`--host'.
-+See \`config.log' for more details." >&2;}
-+   { (exit 1); exit 1; }; }
-+    fi
-   fi
--else
--  echo "configure: failed program was:" >&5
--  cat conftest.$ac_ext >&5
--  ac_cv_prog_cc_works=no
--fi
--rm -fr conftest*
--ac_ext=c
--# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
--ac_cpp='$CPP $CPPFLAGS'
--ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
--ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
--cross_compiling=$ac_cv_prog_cc_cross
--
--echo "$ac_t""$ac_cv_prog_cc_works" 1>&6
--if test $ac_cv_prog_cc_works = no; then
--  { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
- fi
--echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
--echo "configure:841: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
--echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
--cross_compiling=$ac_cv_prog_cc_cross
-+echo "$as_me:$LINENO: result: yes" >&5
-+echo "${ECHO_T}yes" >&6
--echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
--echo "configure:846: checking whether we are using GNU C" >&5
--if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
--  echo $ac_n "(cached) $ac_c" 1>&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
-+# 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
-+  ac_status=$?
-+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+  (exit $ac_status); }; then
-+  # If both `conftest.exe' and `conftest' are `present' (well, observable)
-+# catch `conftest.exe'.  For instance with Cygwin, `ls conftest' will
-+# work properly (i.e., refer to `conftest.exe'), while it won't with
-+# `rm'.
-+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_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-+        export ac_cv_exeext
-+        break;;
-+    * ) break;;
-+  esac
-+done
- else
--  cat > conftest.c <<EOF
--#ifdef __GNUC__
--  yes;
--#endif
--EOF
--if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:855: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
--  ac_cv_prog_gcc=yes
-+  { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link
-+See \`config.log' for more details." >&5
-+echo "$as_me: error: cannot compute suffix of executables: cannot compile and link
-+See \`config.log' for more details." >&2;}
-+   { (exit 1); exit 1; }; }
-+fi
-+
-+rm -f conftest$ac_cv_exeext
-+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
-+if test "${ac_cv_objext+set}" = set; then
-+  echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+  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.o conftest.obj
-+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); }; then
-+  for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do
-+  case $ac_file in
-+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;;
-+    *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
-+       break;;
-+  esac
-+done
- else
--  ac_cv_prog_gcc=no
--fi
--fi
--
--echo "$ac_t""$ac_cv_prog_gcc" 1>&6
-+  echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
--if test $ac_cv_prog_gcc = yes; then
--  GCC=yes
--else
--  GCC=
--fi
-+{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile
-+See \`config.log' for more details." >&5
-+echo "$as_me: error: cannot compute suffix of object files: cannot compile
-+See \`config.log' for more details." >&2;}
-+   { (exit 1); exit 1; }; }
-+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
-+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
-+if test "${ac_cv_c_compiler_gnu+set}" = set; then
-+  echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+  cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h.  */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h.  */
-+
-+int
-+main ()
-+{
-+#ifndef __GNUC__
-+       choke me
-+#endif
--ac_test_CFLAGS="${CFLAGS+set}"
--ac_save_CFLAGS="$CFLAGS"
--CFLAGS=
--echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
--echo "configure:874: checking whether ${CC-cc} accepts -g" >&5
--if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
--  echo $ac_n "(cached) $ac_c" 1>&6
--else
--  echo 'void f(){}' > conftest.c
--if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
-+  ;
-+  return 0;
-+}
-+_ACEOF
-+rm -f conftest.$ac_objext
-+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&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'
-+  { (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); }; } &&
-+       { 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_compiler_gnu=yes
-+else
-+  echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+ac_compiler_gnu=no
-+fi
-+rm -f 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
-+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
-+if test "${ac_cv_prog_cc_g+set}" = set; then
-+  echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+  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 { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&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'
-+  { (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); }; } &&
-+       { 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_prog_cc_g=yes
- else
--  ac_cv_prog_cc_g=no
--fi
--rm -f conftest*
-+  echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+ac_cv_prog_cc_g=no
- fi
--
--echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
-+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-+fi
-+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"
-+  CFLAGS=$ac_save_CFLAGS
- elif test $ac_cv_prog_cc_g = yes; then
-   if test "$GCC" = yes; then
-     CFLAGS="-g -O2"
-@@ -900,86 +2105,503 @@ 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 $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+  ac_cv_prog_cc_stdc=no
-+ac_save_CC=$CC
-+cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h.  */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h.  */
-+#include <stdarg.h>
-+#include <stdio.h>
-+#include <sys/types.h>
-+#include <sys/stat.h>
-+/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
-+struct buf { int x; };
-+FILE * (*rcsopen) (struct buf *, struct stat *, int);
-+static char *e (p, i)
-+     char **p;
-+     int i;
-+{
-+  return p[i];
-+}
-+static char *f (char * (*g) (char **, int), char **p, ...)
-+{
-+  char *s;
-+  va_list v;
-+  va_start (v,p);
-+  s = g (p, va_arg (v,int));
-+  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 -std1 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 -std1.  */
-+int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-+
-+int test (int i, double x);
-+struct s1 {int (*f) (int a);};
-+struct s2 {int (*f) (double a);};
-+int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-+int argc;
-+char **argv;
-+int
-+main ()
-+{
-+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__"
-+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>conftest.er1
-+  ac_status=$?
-+  grep -v '^ *+' conftest.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'
-+  { (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); }; } &&
-+       { 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_prog_cc_stdc=$ac_arg
-+break
-+else
-+  echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+fi
-+rm -f conftest.err conftest.$ac_objext
-+done
-+rm -f conftest.$ac_ext conftest.$ac_objext
-+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 ;;
-+  *)
-+    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" ;;
-+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>conftest.er1
-+  ac_status=$?
-+  grep -v '^ *+' conftest.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'
-+  { (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); }; } &&
-+       { 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 \
-+   '' \
-+   '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
-+/* confdefs.h.  */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h.  */
-+$ac_declaration
-+#include <stdlib.h>
-+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>conftest.er1
-+  ac_status=$?
-+  grep -v '^ *+' conftest.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'
-+  { (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); }; } &&
-+       { 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.err conftest.$ac_objext conftest.$ac_ext
-+  cat >conftest.$ac_ext <<_ACEOF
-+/* 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>conftest.er1
-+  ac_status=$?
-+  grep -v '^ *+' conftest.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'
-+  { (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); }; } &&
-+       { 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.err 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.err 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
--echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
--echo "configure:906: checking how to run the C preprocessor" >&5
-+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
-+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=
- fi
- if test -z "$CPP"; then
--if eval "test \"`echo '$''{'ac_cv_prog_CPP'+set}'`\" = set"; then
--  echo $ac_n "(cached) $ac_c" 1>&6
-+  if test "${ac_cv_prog_CPP+set}" = set; then
-+  echo $ECHO_N "(cached) $ECHO_C" >&6
- else
--    # This must be in double quotes, not single quotes, because CPP may get
--  # substituted into the Makefile and "${CC-cc}" will confuse make.
--  CPP="${CC-cc} -E"
-+      # Double quotes because CPP needs to be expanded
-+    for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
-+    do
-+      ac_preproc_ok=false
-+for ac_c_preproc_warn_flag in '' yes
-+do
-+  # Use a header file that comes with gcc, so configuring glibc
-+  # with a fresh cross-compiler works.
-+  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-+  # <limits.h> exists even on freestanding compilers.
-   # On the NeXT, cc -E runs the code through the compiler's parser,
--  # not just through cpp.
--  cat > conftest.$ac_ext <<EOF
--#line 921 "configure"
--#include "confdefs.h"
--#include <assert.h>
--Syntax Error
--EOF
--ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
--{ (eval echo configure:927: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
--ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
--if test -z "$ac_err"; then
--  :
-+  # not just through cpp. "Syntax error" is here to catch this case.
-+  cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h.  */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h.  */
-+#ifdef __STDC__
-+# include <limits.h>
-+#else
-+# include <assert.h>
-+#endif
-+                   Syntax error
-+_ACEOF
-+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
-+  ac_status=$?
-+  grep -v '^ *+' conftest.er1 >conftest.err
-+  rm -f conftest.er1
-+  cat conftest.err >&5
-+  echo "$as_me:$LINENO: \$? = $ac_status" >&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
- else
--  echo "$ac_err" >&5
--  echo "configure: failed program was:" >&5
--  cat conftest.$ac_ext >&5
--  rm -rf conftest*
--  CPP="${CC-cc} -E -traditional-cpp"
--  cat > conftest.$ac_ext <<EOF
--#line 938 "configure"
--#include "confdefs.h"
--#include <assert.h>
--Syntax Error
--EOF
--ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
--{ (eval echo configure:944: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
--ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
--if test -z "$ac_err"; then
-+  ac_cpp_err=yes
-+fi
-+if test -z "$ac_cpp_err"; then
-   :
- else
--  echo "$ac_err" >&5
--  echo "configure: failed program was:" >&5
--  cat conftest.$ac_ext >&5
--  rm -rf conftest*
--  CPP="${CC-cc} -nologo -E"
--  cat > conftest.$ac_ext <<EOF
--#line 955 "configure"
--#include "confdefs.h"
--#include <assert.h>
--Syntax Error
--EOF
--ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
--{ (eval echo configure:961: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
--ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
--if test -z "$ac_err"; then
--  :
-+  echo "$as_me: failed program was:" >&5
-+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
-+  # can be detected and how.
-+  cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h.  */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+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
-+  ac_status=$?
-+  grep -v '^ *+' conftest.er1 >conftest.err
-+  rm -f conftest.er1
-+  cat conftest.err >&5
-+  echo "$as_me:$LINENO: \$? = $ac_status" >&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
- else
--  echo "$ac_err" >&5
--  echo "configure: failed program was:" >&5
--  cat conftest.$ac_ext >&5
--  rm -rf conftest*
--  CPP=/lib/cpp
-+  ac_cpp_err=yes
- fi
--rm -f conftest*
-+if test -z "$ac_cpp_err"; then
-+  # Broken: success on invalid input.
-+continue
-+else
-+  echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+  # Passes both tests.
-+ac_preproc_ok=:
-+break
- fi
--rm -f conftest*
-+rm -f conftest.err conftest.$ac_ext
-+
-+done
-+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-+rm -f conftest.err conftest.$ac_ext
-+if $ac_preproc_ok; then
-+  break
- fi
--rm -f conftest*
--  ac_cv_prog_CPP="$CPP"
-+
-+    done
-+    ac_cv_prog_CPP=$CPP
-+
-+fi
-+  CPP=$ac_cv_prog_CPP
-+else
-+  ac_cv_prog_CPP=$CPP
-+fi
-+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
-+  # Use a header file that comes with gcc, so configuring glibc
-+  # with a fresh cross-compiler works.
-+  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-+  # <limits.h> exists even on freestanding compilers.
-+  # 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
-+/* confdefs.h.  */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h.  */
-+#ifdef __STDC__
-+# include <limits.h>
-+#else
-+# include <assert.h>
-+#endif
-+                   Syntax error
-+_ACEOF
-+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
-+  ac_status=$?
-+  grep -v '^ *+' conftest.er1 >conftest.err
-+  rm -f conftest.er1
-+  cat conftest.err >&5
-+  echo "$as_me:$LINENO: \$? = $ac_status" >&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
-+else
-+  ac_cpp_err=yes
-+fi
-+if test -z "$ac_cpp_err"; then
-+  :
-+else
-+  echo "$as_me: failed program was:" >&5
-+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
-+  # can be detected and how.
-+  cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h.  */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+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
-+  ac_status=$?
-+  grep -v '^ *+' conftest.er1 >conftest.err
-+  rm -f conftest.er1
-+  cat conftest.err >&5
-+  echo "$as_me:$LINENO: \$? = $ac_status" >&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
-+else
-+  ac_cpp_err=yes
-+fi
-+if test -z "$ac_cpp_err"; then
-+  # Broken: success on invalid input.
-+continue
-+else
-+  echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+  # Passes both tests.
-+ac_preproc_ok=:
-+break
- fi
--  CPP="$ac_cv_prog_CPP"
-+rm -f conftest.err conftest.$ac_ext
-+
-+done
-+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-+rm -f conftest.err conftest.$ac_ext
-+if $ac_preproc_ok; then
-+  :
- else
--  ac_cv_prog_CPP="$CPP"
-+  { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
-+See \`config.log' for more details." >&5
-+echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check
-+See \`config.log' for more details." >&2;}
-+   { (exit 1); exit 1; }; }
- fi
--echo "$ac_t""$CPP" 1>&6
-+
-+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
- ac_aux_dir=
- for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
-@@ -991,14 +2613,20 @@ for ac_dir in $srcdir $srcdir/.. $srcdir
-     ac_aux_dir=$ac_dir
-     ac_install_sh="$ac_aux_dir/install.sh -c"
-     break
-+  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 "configure: error: can not find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." 1>&2; exit 1; }
--fi
--ac_config_guess=$ac_aux_dir/config.guess
--ac_config_sub=$ac_aux_dir/config.sub
--ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
-+  { { 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.
- # Find a good install program.  We prefer a C program (faster),
- # so one script is as good as another.  But avoid the broken or
-@@ -1007,60 +2635,75 @@ ac_configure=$ac_aux_dir/configure # Thi
- # SunOS /usr/etc/install
- # IRIX /sbin/install
- # AIX /bin/install
-+# AmigaOS /C/install, which installs bootblocks on floppy discs
- # 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 $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
--echo "configure:1016: checking for a BSD compatible install" >&5
-+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 eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
--  echo $ac_n "(cached) $ac_c" 1>&6
-+if test "${ac_cv_path_install+set}" = set; then
-+  echo $ECHO_N "(cached) $ECHO_C" >&6
- else
--    IFS="${IFS=       }"; ac_save_IFS="$IFS"; IFS=":"
--  for ac_dir in $PATH; do
--    # Account for people who put trailing slashes in PATH elements.
--    case "$ac_dir/" in
--    /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
--    *)
--      # OSF1 and SCO ODT 3.0 have their own names for install.
--      # Don't use installbsd from OSF since it installs stuff as root
--      # by default.
--      for ac_prog in ginstall scoinst install; do
--        if test -f $ac_dir/$ac_prog; then
-+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-+for as_dir in $PATH
-+do
-+  IFS=$as_save_IFS
-+  test -z "$as_dir" && as_dir=.
-+  # Account for people who put trailing slashes in PATH elements.
-+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.
-+    # Don't use installbsd from OSF since it installs stuff as root
-+    # 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 $ac_dir/$ac_prog >/dev/null 2>&1; then
-+          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="$ac_dir/$ac_prog -c"
--          break 2
-+          ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
-+          break 3
-         fi
-       fi
-       done
--      ;;
--    esac
--  done
--  IFS="$ac_save_IFS"
-+    done
-+    ;;
-+esac
-+done
-+
- fi
-   if test "${ac_cv_path_install+set}" = set; then
--    INSTALL="$ac_cv_path_install"
-+    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
-     # break other packages using the cache if that directory is
-     # removed, or if the path is relative.
--    INSTALL="$ac_install_sh"
-+    INSTALL=$ac_install_sh
-   fi
- fi
--echo "$ac_t""$INSTALL" 1>&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.
- test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
--test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
-+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
- test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-@@ -1068,229 +2711,332 @@ test -z "$INSTALL_DATA" && INSTALL_DATA=
- test "${CC_FOR_BUILD+set}" = set || CC_FOR_BUILD="$CC"
--
--# Make sure we can run config.sub.
--if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
--else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
--fi
--
--echo $ac_n "checking host system type""... $ac_c" 1>&6
--echo "configure:1079: checking host system type" >&5
--
--host_alias=$host
--case "$host_alias" in
--NONE)
--  case $nonopt in
--  NONE)
--    if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
--    else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
--    fi ;;
--  *) host_alias=$nonopt ;;
--  esac ;;
--esac
--
--host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
--host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
--host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
--host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
--echo "$ac_t""$host" 1>&6
--
--echo $ac_n "checking build system type""... $ac_c" 1>&6
--echo "configure:1100: checking build system type" >&5
--
--build_alias=$build
--case "$build_alias" in
--NONE)
--  case $nonopt in
--  NONE) build_alias=$host_alias ;;
--  *) build_alias=$nonopt ;;
--  esac ;;
--esac
--
--build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
--build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
--build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
--build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
--echo "$ac_t""$build" 1>&6
--
--if test $host != $build; then
--  ac_tool_prefix=${host_alias}-
--else
--  ac_tool_prefix=
--fi
--
--# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-+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 $ac_n "checking for $ac_word""... $ac_c" 1>&6
--echo "configure:1126: checking for $ac_word" >&5
--if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
--  echo $ac_n "(cached) $ac_c" 1>&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
-   if test -n "$RANLIB"; then
-   ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
- else
--  IFS="${IFS=         }"; ac_save_ifs="$IFS"; IFS=":"
--  ac_dummy="$PATH"
--  for ac_dir in $ac_dummy; do
--    test -z "$ac_dir" && ac_dir=.
--    if test -f $ac_dir/$ac_word; then
--      ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
--      break
--    fi
--  done
--  IFS="$ac_save_ifs"
-+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_RANLIB="${ac_tool_prefix}ranlib"
-+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-+    break 2
-+  fi
-+done
-+done
-+
- fi
- fi
--RANLIB="$ac_cv_prog_RANLIB"
-+RANLIB=$ac_cv_prog_RANLIB
- if test -n "$RANLIB"; then
--  echo "$ac_t""$RANLIB" 1>&6
-+  echo "$as_me:$LINENO: result: $RANLIB" >&5
-+echo "${ECHO_T}$RANLIB" >&6
- else
--  echo "$ac_t""no" 1>&6
-+  echo "$as_me:$LINENO: result: no" >&5
-+echo "${ECHO_T}no" >&6
- fi
--
-+fi
- if test -z "$ac_cv_prog_RANLIB"; then
--if test -n "$ac_tool_prefix"; 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 $ac_n "checking for $ac_word""... $ac_c" 1>&6
--echo "configure:1158: checking for $ac_word" >&5
--if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
--  echo $ac_n "(cached) $ac_c" 1>&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
--  if test -n "$RANLIB"; then
--  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
--else
--  IFS="${IFS=         }"; ac_save_ifs="$IFS"; IFS=":"
--  ac_dummy="$PATH"
--  for ac_dir in $ac_dummy; do
--    test -z "$ac_dir" && ac_dir=.
--    if test -f $ac_dir/$ac_word; then
--      ac_cv_prog_RANLIB="ranlib"
--      break
--    fi
--  done
--  IFS="$ac_save_ifs"
--  test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
--fi
--fi
--RANLIB="$ac_cv_prog_RANLIB"
--if test -n "$RANLIB"; then
--  echo "$ac_t""$RANLIB" 1>&6
-+  if test -n "$ac_ct_RANLIB"; then
-+  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
- else
--  echo "$ac_t""no" 1>&6
--fi
-+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_RANLIB="ranlib"
-+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-+    break 2
-+  fi
-+done
-+done
-+  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
- else
--  RANLIB=":"
-+  echo "$as_me:$LINENO: result: no" >&5
-+echo "${ECHO_T}no" >&6
- fi
-+
-+  RANLIB=$ac_ct_RANLIB
-+else
-+  RANLIB="$ac_cv_prog_RANLIB"
- fi
--# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
-+if test -n "$ac_tool_prefix"; then
-+  # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
- set dummy ${ac_tool_prefix}ar; ac_word=$2
--echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
--echo "configure:1193: checking for $ac_word" >&5
--if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
--  echo $ac_n "(cached) $ac_c" 1>&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
-   if test -n "$AR"; then
-   ac_cv_prog_AR="$AR" # Let the user override the test.
- else
--  IFS="${IFS=         }"; ac_save_ifs="$IFS"; IFS=":"
--  ac_dummy="$PATH"
--  for ac_dir in $ac_dummy; do
--    test -z "$ac_dir" && ac_dir=.
--    if test -f $ac_dir/$ac_word; then
--      ac_cv_prog_AR="${ac_tool_prefix}ar"
--      break
--    fi
--  done
--  IFS="$ac_save_ifs"
--  test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="ar"
-+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_AR="${ac_tool_prefix}ar"
-+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-+    break 2
-+  fi
-+done
-+done
-+
- fi
- fi
--AR="$ac_cv_prog_AR"
-+AR=$ac_cv_prog_AR
- if test -n "$AR"; then
--  echo "$ac_t""$AR" 1>&6
-+  echo "$as_me:$LINENO: result: $AR" >&5
-+echo "${ECHO_T}$AR" >&6
- else
--  echo "$ac_t""no" 1>&6
-+  echo "$as_me:$LINENO: result: no" >&5
-+echo "${ECHO_T}no" >&6
- fi
-+fi
-+if test -z "$ac_cv_prog_AR"; then
-+  ac_ct_AR=$AR
-+  # Extract the first word of "ar", so it can be a program name with args.
-+set dummy ar; 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_AR+set}" = set; then
-+  echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+  if test -n "$ac_ct_AR"; then
-+  ac_cv_prog_ac_ct_AR="$ac_ct_AR" # 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_AR="ar"
-+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-+    break 2
-+  fi
-+done
-+done
-+fi
-+fi
-+ac_ct_AR=$ac_cv_prog_ac_ct_AR
-+if test -n "$ac_ct_AR"; then
-+  echo "$as_me:$LINENO: result: $ac_ct_AR" >&5
-+echo "${ECHO_T}$ac_ct_AR" >&6
-+else
-+  echo "$as_me:$LINENO: result: no" >&5
-+echo "${ECHO_T}no" >&6
-+fi
-+
-+  AR=$ac_ct_AR
-+else
-+  AR="$ac_cv_prog_AR"
-+fi
--# Extract the first word of "${ac_tool_prefix}ld", so it can be a program name with args.
-+if test -n "$ac_tool_prefix"; then
-+  # Extract the first word of "${ac_tool_prefix}ld", so it can be a program name with args.
- set dummy ${ac_tool_prefix}ld; ac_word=$2
--echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
--echo "configure:1225: checking for $ac_word" >&5
--if eval "test \"`echo '$''{'ac_cv_prog_LD'+set}'`\" = set"; then
--  echo $ac_n "(cached) $ac_c" 1>&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
-   if test -n "$LD"; then
-   ac_cv_prog_LD="$LD" # Let the user override the test.
- else
--  IFS="${IFS=         }"; ac_save_ifs="$IFS"; IFS=":"
--  ac_dummy="$PATH"
--  for ac_dir in $ac_dummy; do
--    test -z "$ac_dir" && ac_dir=.
--    if test -f $ac_dir/$ac_word; then
--      ac_cv_prog_LD="${ac_tool_prefix}ld"
--      break
--    fi
--  done
--  IFS="$ac_save_ifs"
--  test -z "$ac_cv_prog_LD" && ac_cv_prog_LD="ld"
-+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_LD="${ac_tool_prefix}ld"
-+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-+    break 2
-+  fi
-+done
-+done
-+
- fi
- fi
--LD="$ac_cv_prog_LD"
-+LD=$ac_cv_prog_LD
- if test -n "$LD"; then
--  echo "$ac_t""$LD" 1>&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
-+fi
-+
-+fi
-+if test -z "$ac_cv_prog_LD"; then
-+  ac_ct_LD=$LD
-+  # Extract the first word of "ld", so it can be a program name with args.
-+set dummy ld; 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_LD+set}" = set; then
-+  echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+  if test -n "$ac_ct_LD"; then
-+  ac_cv_prog_ac_ct_LD="$ac_ct_LD" # 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_LD="ld"
-+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-+    break 2
-+  fi
-+done
-+done
-+
-+fi
-+fi
-+ac_ct_LD=$ac_cv_prog_ac_ct_LD
-+if test -n "$ac_ct_LD"; then
-+  echo "$as_me:$LINENO: result: $ac_ct_LD" >&5
-+echo "${ECHO_T}$ac_ct_LD" >&6
- else
--  echo "$ac_t""no" 1>&6
-+  echo "$as_me:$LINENO: result: no" >&5
-+echo "${ECHO_T}no" >&6
- fi
-+  LD=$ac_ct_LD
-+else
-+  LD="$ac_cv_prog_LD"
-+fi
--echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
--echo "configure:1256: checking for ANSI C header files" >&5
--if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
--  echo $ac_n "(cached) $ac_c" 1>&6
-+
-+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 $ECHO_N "(cached) $ECHO_C" >&6
- else
--  cat > conftest.$ac_ext <<EOF
--#line 1261 "configure"
--#include "confdefs.h"
-+  if echo a | (grep -E '(a|b)') >/dev/null 2>&1
-+    then ac_cv_prog_egrep='grep -E'
-+    else ac_cv_prog_egrep='egrep'
-+    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: 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
-+/* confdefs.h.  */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h.  */
- #include <stdlib.h>
- #include <stdarg.h>
- #include <string.h>
- #include <float.h>
--EOF
--ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
--{ (eval echo configure:1269: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
--ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
--if test -z "$ac_err"; then
--  rm -rf conftest*
-+
-+int
-+main ()
-+{
-+
-+  ;
-+  return 0;
-+}
-+_ACEOF
-+rm -f conftest.$ac_objext
-+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&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'
-+  { (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); }; } &&
-+       { 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_header_stdc=yes
- else
--  echo "$ac_err" >&5
--  echo "configure: failed program was:" >&5
--  cat conftest.$ac_ext >&5
--  rm -rf conftest*
--  ac_cv_header_stdc=no
-+  echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+ac_cv_header_stdc=no
- fi
--rm -f conftest*
-+rm -f 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 <<EOF
--#line 1286 "configure"
--#include "confdefs.h"
-+  cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h.  */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h.  */
- #include <string.h>
--EOF
-+
-+_ACEOF
- if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
--  egrep "memchr" >/dev/null 2>&1; then
-+  $EGREP "memchr" >/dev/null 2>&1; then
-   :
- else
--  rm -rf conftest*
-   ac_cv_header_stdc=no
- fi
- rm -f conftest*
-@@ -1299,16 +3045,19 @@ 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 <<EOF
--#line 1304 "configure"
--#include "confdefs.h"
-+  cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h.  */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h.  */
- #include <stdlib.h>
--EOF
-+
-+_ACEOF
- if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
--  egrep "free" >/dev/null 2>&1; then
-+  $EGREP "free" >/dev/null 2>&1; then
-   :
- else
--  rm -rf conftest*
-   ac_cv_header_stdc=no
- fi
- rm -f conftest*
-@@ -1317,412 +3066,911 @@ fi
- if test $ac_cv_header_stdc = yes; then
-   # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
--if test "$cross_compiling" = yes; then
-+  if test "$cross_compiling" = yes; then
-   :
- else
--  cat > conftest.$ac_ext <<EOF
--#line 1325 "configure"
--#include "confdefs.h"
-+  cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h.  */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h.  */
- #include <ctype.h>
--#define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
--#define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-+#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'))
-+# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-+#endif
-+
- #define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
--int main () { int i; for (i = 0; i < 256; i++)
--if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2);
--exit (0); }
--
--EOF
--if { (eval echo configure:1336: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
--then
-+int
-+main ()
-+{
-+  int i;
-+  for (i = 0; i < 256; i++)
-+    if (XOR (islower (i), ISLOWER (i))
-+      || toupper (i) != TOUPPER (i))
-+      exit(2);
-+  exit (0);
-+}
-+_ACEOF
-+rm -f conftest$ac_exeext
-+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&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
-+  ac_status=$?
-+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+  (exit $ac_status); }; }; then
-   :
- else
--  echo "configure: failed program was:" >&5
--  cat conftest.$ac_ext >&5
--  rm -fr conftest*
--  ac_cv_header_stdc=no
-+  echo "$as_me: program exited with status $ac_status" >&5
-+echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+( exit $ac_status )
-+ac_cv_header_stdc=no
- fi
--rm -fr conftest*
-+rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
- fi
--
- fi
- fi
--
--echo "$ac_t""$ac_cv_header_stdc" 1>&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 <<\EOF
-+
-+cat >>confdefs.h <<\_ACEOF
- #define STDC_HEADERS 1
--EOF
-+_ACEOF
- fi
--echo $ac_n "checking for GNU libc2""... $ac_c" 1>&6
--echo "configure:1360: checking for GNU libc2" >&5
--  if eval "test \"`echo '$''{'knfsd_cv_glibc2'+set}'`\" = set"; then
--  echo $ac_n "(cached) $ac_c" 1>&6
-+echo "$as_me:$LINENO: checking for GNU libc2" >&5
-+echo $ECHO_N "checking for GNU libc2... $ECHO_C" >&6
-+  if test "${knfsd_cv_glibc2+set}" = set; then
-+  echo $ECHO_N "(cached) $ECHO_C" >&6
- else
--  cat > conftest.$ac_ext <<EOF
--#line 1365 "configure"
--#include "confdefs.h"
-+  cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h.  */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h.  */
-       #include <features.h>
-       #if !defined(__GLIBC__)
-       # error Nope
-       #endif
--EOF
--ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
--{ (eval echo configure:1374: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
--ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
--if test -z "$ac_err"; then
--  rm -rf conftest*
-+_ACEOF
-+if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-+  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
-+  ac_status=$?
-+  grep -v '^ *+' conftest.er1 >conftest.err
-+  rm -f conftest.er1
-+  cat conftest.err >&5
-+  echo "$as_me:$LINENO: \$? = $ac_status" >&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
-+else
-+  ac_cpp_err=yes
-+fi
-+if test -z "$ac_cpp_err"; then
-   knfsd_cv_glibc2=yes
- else
--  echo "$ac_err" >&5
--  echo "configure: failed program was:" >&5
--  cat conftest.$ac_ext >&5
--  rm -rf conftest*
-+  echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-   knfsd_cv_glibc2=no
- fi
--rm -f conftest*
-+rm -f conftest.err conftest.$ac_ext
- fi
--  echo "$ac_t""$knfsd_cv_glibc2" 1>&6
-+  echo "$as_me:$LINENO: result: $knfsd_cv_glibc2" >&5
-+echo "${ECHO_T}$knfsd_cv_glibc2" >&6
-   if test $knfsd_cv_glibc2 = yes; then
-     CFLAGS="$CFLAGS -D_GNU_SOURCE"
-     CXXFLAGS="$CXXFLAGS -D_GNU_SOURCE"
-   fi
--echo $ac_n "checking for main in -lsocket""... $ac_c" 1>&6
--echo "configure:1397: checking for main in -lsocket" >&5
--ac_lib_var=`echo socket'_'main | sed 'y%./+-%__p_%'`
--if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
--  echo $ac_n "(cached) $ac_c" 1>&6
-+echo "$as_me:$LINENO: checking for main in -lsocket" >&5
-+echo $ECHO_N "checking for main in -lsocket... $ECHO_C" >&6
-+if test "${ac_cv_lib_socket_main+set}" = set; then
-+  echo $ECHO_N "(cached) $ECHO_C" >&6
- else
--  ac_save_LIBS="$LIBS"
-+  ac_check_lib_save_LIBS=$LIBS
- LIBS="-lsocket  $LIBS"
--cat > conftest.$ac_ext <<EOF
--#line 1405 "configure"
--#include "confdefs.h"
--
--int main() {
--main()
--; return 0; }
--EOF
--if { (eval echo configure:1412: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
--  rm -rf conftest*
--  eval "ac_cv_lib_$ac_lib_var=yes"
--else
--  echo "configure: failed program was:" >&5
--  cat conftest.$ac_ext >&5
--  rm -rf conftest*
--  eval "ac_cv_lib_$ac_lib_var=no"
--fi
--rm -f conftest*
--LIBS="$ac_save_LIBS"
--
--fi
--if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
--  echo "$ac_t""yes" 1>&6
-+cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h.  */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h.  */
-+
-+
-+int
-+main ()
-+{
-+main ();
-+  ;
-+  return 0;
-+}
-+_ACEOF
-+rm -f conftest.$ac_objext conftest$ac_exeext
-+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&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 -z "$ac_c_werror_flag"
-+                       || test ! -s conftest.err'
-+  { (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); }; } &&
-+       { 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_lib_socket_main=yes
-+else
-+  echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+ac_cv_lib_socket_main=no
-+fi
-+rm -f 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_socket_main" >&5
-+echo "${ECHO_T}$ac_cv_lib_socket_main" >&6
-+if test $ac_cv_lib_socket_main = yes; then
-   LIBSOCKET="-lnsl"
--else
--  echo "$ac_t""no" 1>&6
- fi
--echo $ac_n "checking for main in -lnsl""... $ac_c" 1>&6
--echo "configure:1433: checking for main in -lnsl" >&5
--ac_lib_var=`echo nsl'_'main | sed 'y%./+-%__p_%'`
--if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
--  echo $ac_n "(cached) $ac_c" 1>&6
-+echo "$as_me:$LINENO: checking for main in -lnsl" >&5
-+echo $ECHO_N "checking for main in -lnsl... $ECHO_C" >&6
-+if test "${ac_cv_lib_nsl_main+set}" = set; then
-+  echo $ECHO_N "(cached) $ECHO_C" >&6
- else
--  ac_save_LIBS="$LIBS"
-+  ac_check_lib_save_LIBS=$LIBS
- LIBS="-lnsl  $LIBS"
--cat > conftest.$ac_ext <<EOF
--#line 1441 "configure"
--#include "confdefs.h"
--
--int main() {
--main()
--; return 0; }
--EOF
--if { (eval echo configure:1448: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
--  rm -rf conftest*
--  eval "ac_cv_lib_$ac_lib_var=yes"
--else
--  echo "configure: failed program was:" >&5
--  cat conftest.$ac_ext >&5
--  rm -rf conftest*
--  eval "ac_cv_lib_$ac_lib_var=no"
--fi
--rm -f conftest*
--LIBS="$ac_save_LIBS"
--
--fi
--if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
--  echo "$ac_t""yes" 1>&6
-+cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h.  */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h.  */
-+
-+
-+int
-+main ()
-+{
-+main ();
-+  ;
-+  return 0;
-+}
-+_ACEOF
-+rm -f conftest.$ac_objext conftest$ac_exeext
-+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&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 -z "$ac_c_werror_flag"
-+                       || test ! -s conftest.err'
-+  { (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); }; } &&
-+       { 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_lib_nsl_main=yes
-+else
-+  echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+ac_cv_lib_nsl_main=no
-+fi
-+rm -f 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_nsl_main" >&5
-+echo "${ECHO_T}$ac_cv_lib_nsl_main" >&6
-+if test $ac_cv_lib_nsl_main = yes; then
-   LIBNSL="-lnsl"
--else
--  echo "$ac_t""no" 1>&6
- fi
--echo $ac_n "checking for crypt in -lcrypt""... $ac_c" 1>&6
--echo "configure:1469: checking for crypt in -lcrypt" >&5
--ac_lib_var=`echo crypt'_'crypt | sed 'y%./+-%__p_%'`
--if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
--  echo $ac_n "(cached) $ac_c" 1>&6
-+echo "$as_me:$LINENO: checking for crypt in -lcrypt" >&5
-+echo $ECHO_N "checking for crypt in -lcrypt... $ECHO_C" >&6
-+if test "${ac_cv_lib_crypt_crypt+set}" = set; then
-+  echo $ECHO_N "(cached) $ECHO_C" >&6
- else
--  ac_save_LIBS="$LIBS"
-+  ac_check_lib_save_LIBS=$LIBS
- LIBS="-lcrypt  $LIBS"
--cat > conftest.$ac_ext <<EOF
--#line 1477 "configure"
--#include "confdefs.h"
-+cat >conftest.$ac_ext <<_ACEOF
-+/* 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 crypt();
--
--int main() {
--crypt()
--; return 0; }
--EOF
--if { (eval echo configure:1488: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
--  rm -rf conftest*
--  eval "ac_cv_lib_$ac_lib_var=yes"
--else
--  echo "configure: failed program was:" >&5
--  cat conftest.$ac_ext >&5
--  rm -rf conftest*
--  eval "ac_cv_lib_$ac_lib_var=no"
--fi
--rm -f conftest*
--LIBS="$ac_save_LIBS"
--
--fi
--if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
--  echo "$ac_t""yes" 1>&6
-+   builtin and then its argument prototype would still apply.  */
-+char crypt ();
-+int
-+main ()
-+{
-+crypt ();
-+  ;
-+  return 0;
-+}
-+_ACEOF
-+rm -f conftest.$ac_objext conftest$ac_exeext
-+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&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 -z "$ac_c_werror_flag"
-+                       || test ! -s conftest.err'
-+  { (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); }; } &&
-+       { 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_lib_crypt_crypt=yes
-+else
-+  echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+ac_cv_lib_crypt_crypt=no
-+fi
-+rm -f 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_crypt_crypt" >&5
-+echo "${ECHO_T}$ac_cv_lib_crypt_crypt" >&6
-+if test $ac_cv_lib_crypt_crypt = yes; then
-   LIBCRYPT="-lcrypt"
--else
--  echo "$ac_t""no" 1>&6
- fi
- if test "$enable_nfsv4" = yes; then
--    echo $ac_n "checking for event_dispatch in -levent""... $ac_c" 1>&6
--echo "configure:1510: checking for event_dispatch in -levent" >&5
--ac_lib_var=`echo event'_'event_dispatch | sed 'y%./+-%__p_%'`
--if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
--  echo $ac_n "(cached) $ac_c" 1>&6
-+    echo "$as_me:$LINENO: checking for event_dispatch in -levent" >&5
-+echo $ECHO_N "checking for event_dispatch in -levent... $ECHO_C" >&6
-+if test "${ac_cv_lib_event_event_dispatch+set}" = set; then
-+  echo $ECHO_N "(cached) $ECHO_C" >&6
- else
--  ac_save_LIBS="$LIBS"
-+  ac_check_lib_save_LIBS=$LIBS
- LIBS="-levent  $LIBS"
--cat > conftest.$ac_ext <<EOF
--#line 1518 "configure"
--#include "confdefs.h"
-+cat >conftest.$ac_ext <<_ACEOF
-+/* 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 event_dispatch();
-+   builtin and then its argument prototype would still apply.  */
-+char event_dispatch ();
-+int
-+main ()
-+{
-+event_dispatch ();
-+  ;
-+  return 0;
-+}
-+_ACEOF
-+rm -f conftest.$ac_objext conftest$ac_exeext
-+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&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 -z "$ac_c_werror_flag"
-+                       || test ! -s conftest.err'
-+  { (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); }; } &&
-+       { 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_lib_event_event_dispatch=yes
-+else
-+  echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+ac_cv_lib_event_event_dispatch=no
-+fi
-+rm -f 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_event_event_dispatch" >&5
-+echo "${ECHO_T}$ac_cv_lib_event_event_dispatch" >&6
-+if test $ac_cv_lib_event_event_dispatch = yes; then
-+  libevent=1
-+else
-+  { { echo "$as_me:$LINENO: error: libevent needed for nfsv4 support" >&5
-+echo "$as_me: error: libevent needed for nfsv4 support" >&2;}
-+   { (exit 1); exit 1; }; }
-+fi
-+
-+    echo "$as_me:$LINENO: checking for nfs4_init_name_mapping in -lnfsidmap" >&5
-+echo $ECHO_N "checking for nfs4_init_name_mapping in -lnfsidmap... $ECHO_C" >&6
-+if test "${ac_cv_lib_nfsidmap_nfs4_init_name_mapping+set}" = set; then
-+  echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+  ac_check_lib_save_LIBS=$LIBS
-+LIBS="-lnfsidmap  $LIBS"
-+cat >conftest.$ac_ext <<_ACEOF
-+/* 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 nfs4_init_name_mapping ();
-+int
-+main ()
-+{
-+nfs4_init_name_mapping ();
-+  ;
-+  return 0;
-+}
-+_ACEOF
-+rm -f conftest.$ac_objext conftest$ac_exeext
-+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&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 -z "$ac_c_werror_flag"
-+                       || test ! -s conftest.err'
-+  { (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); }; } &&
-+       { 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_lib_nfsidmap_nfs4_init_name_mapping=yes
-+else
-+  echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+ac_cv_lib_nfsidmap_nfs4_init_name_mapping=no
-+fi
-+rm -f 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_nfsidmap_nfs4_init_name_mapping" >&5
-+echo "${ECHO_T}$ac_cv_lib_nfsidmap_nfs4_init_name_mapping" >&6
-+if test $ac_cv_lib_nfsidmap_nfs4_init_name_mapping = yes; then
-+  libnfsidmap=1
-+else
-+  { { echo "$as_me:$LINENO: error: libnfsidmap needed for nfsv4 support" >&5
-+echo "$as_me: error: libnfsidmap needed for nfsv4 support" >&2;}
-+   { (exit 1); exit 1; }; }
-+fi
-+
-+    # On IRIX 5.3, sys/types and inttypes.h are conflicting.
-+
-+
--int main() {
--event_dispatch()
--; return 0; }
--EOF
--if { (eval echo configure:1529: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
--  rm -rf conftest*
--  eval "ac_cv_lib_$ac_lib_var=yes"
--else
--  echo "configure: failed program was:" >&5
--  cat conftest.$ac_ext >&5
--  rm -rf conftest*
--  eval "ac_cv_lib_$ac_lib_var=no"
--fi
--rm -f conftest*
--LIBS="$ac_save_LIBS"
-+
-+
-+
-+
-+
-+
-+for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.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 $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+  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
-+
-+#include <$ac_header>
-+_ACEOF
-+rm -f conftest.$ac_objext
-+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&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'
-+  { (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); }; } &&
-+       { 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
-+  eval "$as_ac_Header=yes"
-+else
-+  echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+eval "$as_ac_Header=no"
-+fi
-+rm -f 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
-+if test `eval echo '${'$as_ac_Header'}'` = yes; then
-+  cat >>confdefs.h <<_ACEOF
-+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-+_ACEOF
- fi
--if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
--  echo "$ac_t""yes" 1>&6
--    ac_tr_lib=HAVE_LIB`echo event | sed -e 's/[^a-zA-Z0-9_]/_/g' \
--    -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
--  cat >> confdefs.h <<EOF
--#define $ac_tr_lib 1
--EOF
--  LIBS="-levent $LIBS"
-+done
-+
-+
-+for ac_header in event.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
-+  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
-+else
-+  # Is the header compilable?
-+echo "$as_me:$LINENO: checking $ac_header usability" >&5
-+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
-+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
-+#include <$ac_header>
-+_ACEOF
-+rm -f conftest.$ac_objext
-+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&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'
-+  { (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); }; } &&
-+       { 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_header_compiler=yes
-+else
-+  echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+ac_header_compiler=no
-+fi
-+rm -f 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
-+cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h.  */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+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
-+  ac_status=$?
-+  grep -v '^ *+' conftest.er1 >conftest.err
-+  rm -f conftest.er1
-+  cat conftest.err >&5
-+  echo "$as_me:$LINENO: \$? = $ac_status" >&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
- else
--  echo "$ac_t""no" 1>&6
--{ echo "configure: error: libevent needed for nfsv4 support" 1>&2; exit 1; }
-+  ac_cpp_err=yes
- fi
--
--    echo $ac_n "checking for nfs4_init_name_mapping in -lnfsidmap""... $ac_c" 1>&6
--echo "configure:1558: checking for nfs4_init_name_mapping in -lnfsidmap" >&5
--ac_lib_var=`echo nfsidmap'_'nfs4_init_name_mapping | sed 'y%./+-%__p_%'`
--if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
--  echo $ac_n "(cached) $ac_c" 1>&6
-+if test -z "$ac_cpp_err"; then
-+  ac_header_preproc=yes
- else
--  ac_save_LIBS="$LIBS"
--LIBS="-lnfsidmap  $LIBS"
--cat > conftest.$ac_ext <<EOF
--#line 1566 "configure"
--#include "confdefs.h"
--/* Override any gcc2 internal prototype to avoid an error.  */
--/* We use char because int might match the return type of a gcc2
--    builtin and then its argument prototype would still apply.  */
--char nfs4_init_name_mapping();
-+  echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
--int main() {
--nfs4_init_name_mapping()
--; return 0; }
--EOF
--if { (eval echo configure:1577: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
--  rm -rf conftest*
--  eval "ac_cv_lib_$ac_lib_var=yes"
--else
--  echo "configure: failed program was:" >&5
--  cat conftest.$ac_ext >&5
--  rm -rf conftest*
--  eval "ac_cv_lib_$ac_lib_var=no"
-+  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
-+
-+# So?  What about this header?
-+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 compiler's result" >&5
-+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
-+    ac_header_preproc=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: 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;}
-+    { 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;}
-+    (
-+      cat <<\_ASBOX
-+## ------------------------------------------ ##
-+## Report this to the AC_PACKAGE_NAME lists.  ##
-+## ------------------------------------------ ##
-+_ASBOX
-+    ) |
-+      sed "s/^/$as_me: WARNING:     /" >&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 $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+  eval "$as_ac_Header=\$ac_header_preproc"
- fi
--rm -f conftest*
--LIBS="$ac_save_LIBS"
-+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
- fi
--if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
--  echo "$ac_t""yes" 1>&6
--    ac_tr_lib=HAVE_LIB`echo nfsidmap | sed -e 's/[^a-zA-Z0-9_]/_/g' \
--    -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
--  cat >> confdefs.h <<EOF
--#define $ac_tr_lib 1
--EOF
--
--  LIBS="-lnfsidmap $LIBS"
--
--else
--  echo "$ac_t""no" 1>&6
--{ echo "configure: error: libnfsidmap needed for nfsv4 support" 1>&2; exit 1; }
--fi
--
--    for ac_hdr in event.h
--do
--ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
--echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
--echo "configure:1609: checking for $ac_hdr" >&5
--if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
--  echo $ac_n "(cached) $ac_c" 1>&6
--else
--  cat > conftest.$ac_ext <<EOF
--#line 1614 "configure"
--#include "confdefs.h"
--#include <$ac_hdr>
--EOF
--ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
--{ (eval echo configure:1619: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
--ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
--if test -z "$ac_err"; then
--  rm -rf conftest*
--  eval "ac_cv_header_$ac_safe=yes"
--else
--  echo "$ac_err" >&5
--  echo "configure: failed program was:" >&5
--  cat conftest.$ac_ext >&5
--  rm -rf conftest*
--  eval "ac_cv_header_$ac_safe=no"
--fi
--rm -f conftest*
--fi
--if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
--  echo "$ac_t""yes" 1>&6
--    ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
--  cat >> confdefs.h <<EOF
--#define $ac_tr_hdr 1
--EOF
-- 
--else
--  echo "$ac_t""no" 1>&6
--{ echo "configure: error: libevent needed for nfsv4 support" 1>&2; exit 1; }
-+if test `eval echo '${'$as_ac_Header'}'` = yes; then
-+  cat >>confdefs.h <<_ACEOF
-+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-+_ACEOF
-+
-+else
-+  { { echo "$as_me:$LINENO: error: libevent needed for nfsv4 support" >&5
-+echo "$as_me: error: libevent needed for nfsv4 support" >&2;}
-+   { (exit 1); exit 1; }; }
- fi
-+
- done
--    for ac_hdr in nfsidmap.h
--do
--ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
--echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
--echo "configure:1650: checking for $ac_hdr" >&5
--if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
--  echo $ac_n "(cached) $ac_c" 1>&6
--else
--  cat > conftest.$ac_ext <<EOF
--#line 1655 "configure"
--#include "confdefs.h"
--#include <$ac_hdr>
--EOF
--ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
--{ (eval echo configure:1660: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
--ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
--if test -z "$ac_err"; then
--  rm -rf conftest*
--  eval "ac_cv_header_$ac_safe=yes"
--else
--  echo "$ac_err" >&5
--  echo "configure: failed program was:" >&5
--  cat conftest.$ac_ext >&5
--  rm -rf conftest*
--  eval "ac_cv_header_$ac_safe=no"
-+
-+for ac_header in nfsidmap.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
-+  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
-+else
-+  # Is the header compilable?
-+echo "$as_me:$LINENO: checking $ac_header usability" >&5
-+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
-+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
-+#include <$ac_header>
-+_ACEOF
-+rm -f conftest.$ac_objext
-+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&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'
-+  { (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); }; } &&
-+       { 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_header_compiler=yes
-+else
-+  echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+ac_header_compiler=no
-+fi
-+rm -f 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
-+cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h.  */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+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
-+  ac_status=$?
-+  grep -v '^ *+' conftest.er1 >conftest.err
-+  rm -f conftest.er1
-+  cat conftest.err >&5
-+  echo "$as_me:$LINENO: \$? = $ac_status" >&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
-+else
-+  ac_cpp_err=yes
- fi
--rm -f conftest*
-+if test -z "$ac_cpp_err"; then
-+  ac_header_preproc=yes
-+else
-+  echo "$as_me: failed program was:" >&5
-+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
-+
-+# So?  What about this header?
-+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 compiler's result" >&5
-+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
-+    ac_header_preproc=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: 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;}
-+    { 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;}
-+    (
-+      cat <<\_ASBOX
-+## ------------------------------------------ ##
-+## Report this to the AC_PACKAGE_NAME lists.  ##
-+## ------------------------------------------ ##
-+_ASBOX
-+    ) |
-+      sed "s/^/$as_me: WARNING:     /" >&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 $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+  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
-+
- fi
--if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
--  echo "$ac_t""yes" 1>&6
--    ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
--  cat >> confdefs.h <<EOF
--#define $ac_tr_hdr 1
--EOF
-- 
-+if test `eval echo '${'$as_ac_Header'}'` = yes; then
-+  cat >>confdefs.h <<_ACEOF
-+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-+_ACEOF
-+
- else
--  echo "$ac_t""no" 1>&6
--{ echo "configure: error: libnfsidmap needed for nfsv4 support" 1>&2; exit 1; }
-+  { { echo "$as_me:$LINENO: error: libnfsidmap needed for nfsv4 support" >&5
-+echo "$as_me: error: libnfsidmap needed for nfsv4 support" >&2;}
-+   { (exit 1); exit 1; }; }
- fi
-+
- done
- fi
- if test "$knfsd_cv_glibc2" = no; then
--    echo $ac_n "checking for daemon in -lbsd""... $ac_c" 1>&6
--echo "configure:1690: checking for daemon in -lbsd" >&5
--ac_lib_var=`echo bsd'_'daemon | sed 'y%./+-%__p_%'`
--if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
--  echo $ac_n "(cached) $ac_c" 1>&6
-+    echo "$as_me:$LINENO: checking for daemon in -lbsd" >&5
-+echo $ECHO_N "checking for daemon in -lbsd... $ECHO_C" >&6
-+if test "${ac_cv_lib_bsd_daemon+set}" = set; then
-+  echo $ECHO_N "(cached) $ECHO_C" >&6
- else
--  ac_save_LIBS="$LIBS"
-+  ac_check_lib_save_LIBS=$LIBS
- LIBS="-lbsd  $LIBS"
--cat > conftest.$ac_ext <<EOF
--#line 1698 "configure"
--#include "confdefs.h"
-+cat >conftest.$ac_ext <<_ACEOF
-+/* 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 daemon();
--
--int main() {
--daemon()
--; return 0; }
--EOF
--if { (eval echo configure:1709: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
--  rm -rf conftest*
--  eval "ac_cv_lib_$ac_lib_var=yes"
--else
--  echo "configure: failed program was:" >&5
--  cat conftest.$ac_ext >&5
--  rm -rf conftest*
--  eval "ac_cv_lib_$ac_lib_var=no"
--fi
--rm -f conftest*
--LIBS="$ac_save_LIBS"
--
--fi
--if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
--  echo "$ac_t""yes" 1>&6
-+   builtin and then its argument prototype would still apply.  */
-+char daemon ();
-+int
-+main ()
-+{
-+daemon ();
-+  ;
-+  return 0;
-+}
-+_ACEOF
-+rm -f conftest.$ac_objext conftest$ac_exeext
-+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&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 -z "$ac_c_werror_flag"
-+                       || test ! -s conftest.err'
-+  { (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); }; } &&
-+       { 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_lib_bsd_daemon=yes
-+else
-+  echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+ac_cv_lib_bsd_daemon=no
-+fi
-+rm -f 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_bsd_daemon" >&5
-+echo "${ECHO_T}$ac_cv_lib_bsd_daemon" >&6
-+if test $ac_cv_lib_bsd_daemon = yes; then
-   LIBBSD="-lbsd"
--else
--  echo "$ac_t""no" 1>&6
- fi
- fi
-@@ -1731,37 +3979,66 @@ fi
--echo $ac_n "checking for the tcp wrapper library""... $ac_c" 1>&6
--echo "configure:1736: checking for the tcp wrapper library" >&5
--  if eval "test \"`echo '$''{'knfsd_cv_tcp_wrapper'+set}'`\" = set"; then
--  echo $ac_n "(cached) $ac_c" 1>&6
-+echo "$as_me:$LINENO: checking for the tcp wrapper library" >&5
-+echo $ECHO_N "checking for the tcp wrapper library... $ECHO_C" >&6
-+  if test "${knfsd_cv_tcp_wrapper+set}" = set; then
-+  echo $ECHO_N "(cached) $ECHO_C" >&6
- else
-   old_LIBS="$LIBS"
-    LIBS="$LIBS -lwrap $LIBNSL"
--   cat > conftest.$ac_ext <<EOF
--#line 1743 "configure"
--#include "confdefs.h"
-+   cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h.  */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h.  */
-       int deny_severity = 0;
-       int allow_severity = 0;
--int main() {
-+int
-+main ()
-+{
- return hosts_ctl ("nfsd", "", "")
--; return 0; }
--EOF
--if { (eval echo configure:1752: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
--  rm -rf conftest*
-+  ;
-+  return 0;
-+}
-+_ACEOF
-+rm -f conftest.$ac_objext conftest$ac_exeext
-+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&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 -z "$ac_c_werror_flag"
-+                       || test ! -s conftest.err'
-+  { (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); }; } &&
-+       { 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
-   knfsd_cv_tcp_wrapper=yes
- else
--  echo "configure: failed program was:" >&5
--  cat conftest.$ac_ext >&5
--  rm -rf conftest*
--  knfsd_cv_tcp_wrapper=no
-+  echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+knfsd_cv_tcp_wrapper=no
- fi
--rm -f conftest*
-+rm -f conftest.err conftest.$ac_objext \
-+      conftest$ac_exeext conftest.$ac_ext
-    LIBS="$old_LIBS"
- fi
--  echo "$ac_t""$knfsd_cv_tcp_wrapper" 1>&6
-+  echo "$as_me:$LINENO: result: $knfsd_cv_tcp_wrapper" >&5
-+echo "${ECHO_T}$knfsd_cv_tcp_wrapper" >&6
-   if test "$knfsd_cv_tcp_wrapper" = yes; then
-     CFLAGS="$CFLAGS -DHAVE_TCP_WRAPPER"
-     CXXFLAGS="$CXXFLAGS -DHAVE_TCP_WRAPPER"
-@@ -1771,51 +4048,165 @@ fi
- if test "$enable_gss" = yes; then
--    for ac_hdr in nfsidmap.h
-+
-+for ac_header in nfsidmap.h
- do
--ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
--echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
--echo "configure:1779: checking for $ac_hdr" >&5
--if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
--  echo $ac_n "(cached) $ac_c" 1>&6
--else
--  cat > conftest.$ac_ext <<EOF
--#line 1784 "configure"
--#include "confdefs.h"
--#include <$ac_hdr>
--EOF
--ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
--{ (eval echo configure:1789: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
--ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
--if test -z "$ac_err"; then
--  rm -rf conftest*
--  eval "ac_cv_header_$ac_safe=yes"
--else
--  echo "$ac_err" >&5
--  echo "configure: failed program was:" >&5
--  cat conftest.$ac_ext >&5
--  rm -rf conftest*
--  eval "ac_cv_header_$ac_safe=no"
-+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
-+  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
-+else
-+  # Is the header compilable?
-+echo "$as_me:$LINENO: checking $ac_header usability" >&5
-+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
-+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
-+#include <$ac_header>
-+_ACEOF
-+rm -f conftest.$ac_objext
-+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&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'
-+  { (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); }; } &&
-+       { 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_header_compiler=yes
-+else
-+  echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+ac_header_compiler=no
-+fi
-+rm -f 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
-+cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h.  */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+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
-+  ac_status=$?
-+  grep -v '^ *+' conftest.er1 >conftest.err
-+  rm -f conftest.er1
-+  cat conftest.err >&5
-+  echo "$as_me:$LINENO: \$? = $ac_status" >&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
-+else
-+  ac_cpp_err=yes
- fi
--rm -f conftest*
-+if test -z "$ac_cpp_err"; then
-+  ac_header_preproc=yes
-+else
-+  echo "$as_me: failed program was:" >&5
-+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
-+
-+# So?  What about this header?
-+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 compiler's result" >&5
-+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
-+    ac_header_preproc=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: 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;}
-+    { 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;}
-+    (
-+      cat <<\_ASBOX
-+## ------------------------------------------ ##
-+## Report this to the AC_PACKAGE_NAME lists.  ##
-+## ------------------------------------------ ##
-+_ASBOX
-+    ) |
-+      sed "s/^/$as_me: WARNING:     /" >&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 $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+  eval "$as_ac_Header=\$ac_header_preproc"
- fi
--if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
--  echo "$ac_t""yes" 1>&6
--    ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
--  cat >> confdefs.h <<EOF
--#define $ac_tr_hdr 1
--EOF
-- 
--else
--  echo "$ac_t""no" 1>&6
--{ echo "configure: error: libnfsidmap needed for gss support" 1>&2; exit 1; }
-+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-+
-+fi
-+if test `eval echo '${'$as_ac_Header'}'` = yes; then
-+  cat >>confdefs.h <<_ACEOF
-+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-+_ACEOF
-+
-+else
-+  { { echo "$as_me:$LINENO: error: libnfsidmap needed for gss support" >&5
-+echo "$as_me: error: libnfsidmap needed for gss support" >&2;}
-+   { (exit 1); exit 1; }; }
- fi
-+
- done
--  
--            echo $ac_n "checking for Kerberos v5""... $ac_c" 1>&6
--echo "configure:1818: checking for Kerberos v5" >&5
--  # Check whether --with-krb5 or --without-krb5 was given.
-+
-+            echo "$as_me:$LINENO: checking for Kerberos v5" >&5
-+echo $ECHO_N "checking for Kerberos v5... $ECHO_C" >&6
-+
-+# Check whether --with-krb5 or --without-krb5 was given.
- if test "${with_krb5+set}" = set; then
-   withval="$with_krb5"
-    case "$withval" in
-@@ -1825,13 +4216,12 @@ if test "${with_krb5+set}" = set; then
-     *)
-        krb5_with="$withval"
-        ;;
--    esac 
--  
--fi
-+    esac
-+fi;
--  for dir in $krb5_with /usr/kerberos /usr/local /usr/local/krb5 /usr/krb5 \
--             /usr/heimdal /usr/local/heimdal /usr/athena /usr ; do
-+  for dir in $krb5_with /usr /usr/kerberos /usr/local /usr/local/krb5 \
-+           /usr/krb5 /usr/heimdal /usr/local/heimdal /usr/athena ; do
-             K5CONFIG=""
-     if test -f $dir/bin/krb5-config; then
-       K5CONFIG=$dir/bin/krb5-config
-@@ -1839,776 +4229,2232 @@ fi
-       K5CONFIG="/usr/kerberos/bin/krb5-config"
-     fi
-     if test "$K5CONFIG" != ""; then
-+      KRBINC=`$K5CONFIG --cflags`
-+      KRBLIB=`$K5CONFIG --libs gssapi`
-+      K5VERS=`$K5CONFIG --version | head -n 1 | awk '{split($4,v,"."); if (v[3] == "") v[3] = "0"; print v[1]v[2]v[3] }'`
-+
-+cat >>confdefs.h <<_ACEOF
-+#define KRB5_VERSION $K5VERS
-+_ACEOF
-+
-       if test -f $dir/include/gssapi/gssapi_krb5.h -a \
-               \( -f $dir/lib/libgssapi_krb5.a -o \
-           -f $dir/lib/libgssapi_krb5.so \) ; then
--         cat >> confdefs.h <<\EOF
-+
-+cat >>confdefs.h <<\_ACEOF
- #define HAVE_KRB5 1
--EOF
-+_ACEOF
-          KRBDIR="$dir"
--         K5VERS=`$K5CONFIG --version | awk '{split($4,v,"."); print v[1]v[2]v[3] }'`
--         cat >> confdefs.h <<EOF
--#define KRB5_VERSION $K5VERS
--EOF
-+                                                        if test $K5VERS -le 131; then
--         KRBLIB=`$K5CONFIG --libs gssapi`
--         if test $K5VERS -le 131; then
--           cat >> confdefs.h <<\EOF
--#define USE_PRIVATE_KRB5_FUNCTIONS 1
--EOF
-+cat >>confdefs.h <<\_ACEOF
-+#define USE_GSS_KRB5_CCACHE_NAME 1
-+_ACEOF
-          fi
--         echo $ac_n "checking for gss_krb5_export_lucid_sec_context in -lgssapi_krb5""... $ac_c" 1>&6
--echo "configure:1864: checking for gss_krb5_export_lucid_sec_context in -lgssapi_krb5" >&5
--ac_lib_var=`echo gssapi_krb5'_'gss_krb5_export_lucid_sec_context | sed 'y%./+-%__p_%'`
--if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
--  echo $ac_n "(cached) $ac_c" 1>&6
--else
--  ac_save_LIBS="$LIBS"
--LIBS="-lgssapi_krb5 $KRBLIB $LIBS"
--cat > conftest.$ac_ext <<EOF
--#line 1872 "configure"
--#include "confdefs.h"
-+       gssapi_lib=gssapi_krb5
-+         break
-+                  elif test \( -f $dir/include/heim_err.h -o\
-+                       -f $dir/include/heimdal/heim_err.h \) -a \
-+                -f $dir/lib/libroken.a; then
-+
-+cat >>confdefs.h <<\_ACEOF
-+#define HAVE_HEIMDAL 1
-+_ACEOF
-+
-+         KRBDIR="$dir"
-+       gssapi_lib=gssapi
-+        break
-+      fi
-+    fi
-+  done
-+    if test "x$KRBDIR" = "x"; then
-+    if test "x$krb5_with" = "x"; then
-+      { { echo "$as_me:$LINENO: error: Kerberos v5 with GSS support not found: consider --disable-gss or --with-krb5=" >&5
-+echo "$as_me: error: Kerberos v5 with GSS support not found: consider --disable-gss or --with-krb5=" >&2;}
-+   { (exit 1); exit 1; }; }
-+    else
-+      { { echo "$as_me:$LINENO: error: Kerberos v5 with GSS support not found at $krb5_with" >&5
-+echo "$as_me: error: Kerberos v5 with GSS support not found at $krb5_with" >&2;}
-+   { (exit 1); exit 1; }; }
-+    fi
-+  fi
-+  CFLAGS="$CFLAGS `$K5CONFIG --cflags`"
-+  echo "$as_me:$LINENO: result: $KRBDIR" >&5
-+echo "${ECHO_T}$KRBDIR" >&6
-+
-+    as_ac_Lib=`echo "ac_cv_lib_$gssapi_lib''_gss_krb5_export_lucid_sec_context" | $as_tr_sh`
-+echo "$as_me:$LINENO: checking for gss_krb5_export_lucid_sec_context in -l$gssapi_lib" >&5
-+echo $ECHO_N "checking for gss_krb5_export_lucid_sec_context in -l$gssapi_lib... $ECHO_C" >&6
-+if eval "test \"\${$as_ac_Lib+set}\" = set"; then
-+  echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+  ac_check_lib_save_LIBS=$LIBS
-+LIBS="-l$gssapi_lib $KRBLIB $LIBS"
-+cat >conftest.$ac_ext <<_ACEOF
-+/* 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 gss_krb5_export_lucid_sec_context();
-+   builtin and then its argument prototype would still apply.  */
-+char gss_krb5_export_lucid_sec_context ();
-+int
-+main ()
-+{
-+gss_krb5_export_lucid_sec_context ();
-+  ;
-+  return 0;
-+}
-+_ACEOF
-+rm -f conftest.$ac_objext conftest$ac_exeext
-+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&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 -z "$ac_c_werror_flag"
-+                       || test ! -s conftest.err'
-+  { (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); }; } &&
-+       { 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
-+  eval "$as_ac_Lib=yes"
-+else
-+  echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+eval "$as_ac_Lib=no"
-+fi
-+rm -f 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
-+if test `eval echo '${'$as_ac_Lib'}'` = yes; then
--int main() {
--gss_krb5_export_lucid_sec_context()
--; return 0; }
--EOF
--if { (eval echo configure:1883: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
--  rm -rf conftest*
--  eval "ac_cv_lib_$ac_lib_var=yes"
--else
--  echo "configure: failed program was:" >&5
--  cat conftest.$ac_ext >&5
--  rm -rf conftest*
--  eval "ac_cv_lib_$ac_lib_var=no"
--fi
--rm -f conftest*
--LIBS="$ac_save_LIBS"
--
--fi
--if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
--  echo "$ac_t""yes" 1>&6
--  cat >> confdefs.h <<\EOF
-+cat >>confdefs.h <<\_ACEOF
- #define HAVE_LUCID_CONTEXT_SUPPORT 1
--EOF
-+_ACEOF
--else
--  echo "$ac_t""no" 1>&6
- fi
--         echo $ac_n "checking for gss_krb5_set_allowable_enctypes in -lgssapi_krb5""... $ac_c" 1>&6
--echo "configure:1907: checking for gss_krb5_set_allowable_enctypes in -lgssapi_krb5" >&5
--ac_lib_var=`echo gssapi_krb5'_'gss_krb5_set_allowable_enctypes | sed 'y%./+-%__p_%'`
--if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
--  echo $ac_n "(cached) $ac_c" 1>&6
--else
--  ac_save_LIBS="$LIBS"
--LIBS="-lgssapi_krb5 $KRBLIB $LIBS"
--cat > conftest.$ac_ext <<EOF
--#line 1915 "configure"
--#include "confdefs.h"
-+  as_ac_Lib=`echo "ac_cv_lib_$gssapi_lib''_gss_krb5_set_allowable_enctypes" | $as_tr_sh`
-+echo "$as_me:$LINENO: checking for gss_krb5_set_allowable_enctypes in -l$gssapi_lib" >&5
-+echo $ECHO_N "checking for gss_krb5_set_allowable_enctypes in -l$gssapi_lib... $ECHO_C" >&6
-+if eval "test \"\${$as_ac_Lib+set}\" = set"; then
-+  echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+  ac_check_lib_save_LIBS=$LIBS
-+LIBS="-l$gssapi_lib $KRBLIB $LIBS"
-+cat >conftest.$ac_ext <<_ACEOF
-+/* 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 gss_krb5_set_allowable_enctypes();
-+   builtin and then its argument prototype would still apply.  */
-+char gss_krb5_set_allowable_enctypes ();
-+int
-+main ()
-+{
-+gss_krb5_set_allowable_enctypes ();
-+  ;
-+  return 0;
-+}
-+_ACEOF
-+rm -f conftest.$ac_objext conftest$ac_exeext
-+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&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 -z "$ac_c_werror_flag"
-+                       || test ! -s conftest.err'
-+  { (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); }; } &&
-+       { 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
-+  eval "$as_ac_Lib=yes"
-+else
-+  echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+eval "$as_ac_Lib=no"
-+fi
-+rm -f 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
-+if test `eval echo '${'$as_ac_Lib'}'` = yes; then
--int main() {
--gss_krb5_set_allowable_enctypes()
--; return 0; }
--EOF
--if { (eval echo configure:1926: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
--  rm -rf conftest*
--  eval "ac_cv_lib_$ac_lib_var=yes"
--else
--  echo "configure: failed program was:" >&5
--  cat conftest.$ac_ext >&5
--  rm -rf conftest*
--  eval "ac_cv_lib_$ac_lib_var=no"
--fi
--rm -f conftest*
--LIBS="$ac_save_LIBS"
--
--fi
--if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
--  echo "$ac_t""yes" 1>&6
--  cat >> confdefs.h <<\EOF
-+cat >>confdefs.h <<\_ACEOF
- #define HAVE_SET_ALLOWABLE_ENCTYPES 1
--EOF
-+_ACEOF
--else
--  echo "$ac_t""no" 1>&6
- fi
--         echo $ac_n "checking for gss_krb5_ccache_name in -lgssapi_krb5""... $ac_c" 1>&6
--echo "configure:1950: checking for gss_krb5_ccache_name in -lgssapi_krb5" >&5
--ac_lib_var=`echo gssapi_krb5'_'gss_krb5_ccache_name | sed 'y%./+-%__p_%'`
--if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
--  echo $ac_n "(cached) $ac_c" 1>&6
--else
--  ac_save_LIBS="$LIBS"
--LIBS="-lgssapi_krb5 $KRBLIB $LIBS"
--cat > conftest.$ac_ext <<EOF
--#line 1958 "configure"
--#include "confdefs.h"
-+  as_ac_Lib=`echo "ac_cv_lib_$gssapi_lib''_gss_krb5_ccache_name" | $as_tr_sh`
-+echo "$as_me:$LINENO: checking for gss_krb5_ccache_name in -l$gssapi_lib" >&5
-+echo $ECHO_N "checking for gss_krb5_ccache_name in -l$gssapi_lib... $ECHO_C" >&6
-+if eval "test \"\${$as_ac_Lib+set}\" = set"; then
-+  echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+  ac_check_lib_save_LIBS=$LIBS
-+LIBS="-l$gssapi_lib $KRBLIB $LIBS"
-+cat >conftest.$ac_ext <<_ACEOF
-+/* 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 gss_krb5_ccache_name();
-+   builtin and then its argument prototype would still apply.  */
-+char gss_krb5_ccache_name ();
-+int
-+main ()
-+{
-+gss_krb5_ccache_name ();
-+  ;
-+  return 0;
-+}
-+_ACEOF
-+rm -f conftest.$ac_objext conftest$ac_exeext
-+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&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 -z "$ac_c_werror_flag"
-+                       || test ! -s conftest.err'
-+  { (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); }; } &&
-+       { 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
-+  eval "$as_ac_Lib=yes"
-+else
-+  echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+eval "$as_ac_Lib=no"
-+fi
-+rm -f 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
-+if test `eval echo '${'$as_ac_Lib'}'` = yes; then
--int main() {
--gss_krb5_ccache_name()
--; return 0; }
--EOF
--if { (eval echo configure:1969: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
--  rm -rf conftest*
--  eval "ac_cv_lib_$ac_lib_var=yes"
--else
--  echo "configure: failed program was:" >&5
--  cat conftest.$ac_ext >&5
--  rm -rf conftest*
--  eval "ac_cv_lib_$ac_lib_var=no"
--fi
--rm -f conftest*
--LIBS="$ac_save_LIBS"
--
--fi
--if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
--  echo "$ac_t""yes" 1>&6
--  cat >> confdefs.h <<\EOF
-+cat >>confdefs.h <<\_ACEOF
- #define HAVE_GSS_KRB5_CCACHE_NAME 1
--EOF
-+_ACEOF
--else
--  echo "$ac_t""no" 1>&6
- fi
--         break
--                  elif test \( -f $dir/include/heim_err.h -o\
--                       -f $dir/include/heimdal/heim_err.h \) -a \
--                -f $dir/lib/libroken.a; then
--         cat >> confdefs.h <<\EOF
--#define HAVE_HEIMDAL 1
--EOF
--         KRBDIR="$dir"
--         K5VERS=`$K5CONFIG --version | head -1 | awk '{split($2,v,"."); print v[1]v[2]v[3] }'`
--         cat >> confdefs.h <<EOF
--#define KRB5_VERSION $K5VERS
--EOF
-+    if test "x$krb5_with" != "x" -a "$krb5_with" != "$KRBDIR"; then
-+    { echo "$as_me:$LINENO: WARNING: Using $KRBDIR instead of requested value of $krb5_with for Kerberos!" >&5
-+echo "$as_me: WARNING: Using $KRBDIR instead of requested value of $krb5_with for Kerberos!" >&2;}
-+  fi
-+
-+      echo "$as_me:$LINENO: checking for authgss_create_default in -lrpcsecgss" >&5
-+echo $ECHO_N "checking for authgss_create_default in -lrpcsecgss... $ECHO_C" >&6
-+if test "${ac_cv_lib_rpcsecgss_authgss_create_default+set}" = set; then
-+  echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+  ac_check_lib_save_LIBS=$LIBS
-+LIBS="-lrpcsecgss $KRBLIB $LIBS"
-+cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h.  */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h.  */
--         KRBLIB=`$K5CONFIG --libs gssapi`
--         echo $ac_n "checking for gss_krb5_export_lucid_sec_context in -lgssapi""... $ac_c" 1>&6
--echo "configure:2008: checking for gss_krb5_export_lucid_sec_context in -lgssapi" >&5
--ac_lib_var=`echo gssapi'_'gss_krb5_export_lucid_sec_context | sed 'y%./+-%__p_%'`
--if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
--  echo $ac_n "(cached) $ac_c" 1>&6
--else
--  ac_save_LIBS="$LIBS"
--LIBS="-lgssapi $KRBLIB $LIBS"
--cat > conftest.$ac_ext <<EOF
--#line 2016 "configure"
--#include "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 gss_krb5_export_lucid_sec_context();
-+   builtin and then its argument prototype would still apply.  */
-+char authgss_create_default ();
-+int
-+main ()
-+{
-+authgss_create_default ();
-+  ;
-+  return 0;
-+}
-+_ACEOF
-+rm -f conftest.$ac_objext conftest$ac_exeext
-+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&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 -z "$ac_c_werror_flag"
-+                       || test ! -s conftest.err'
-+  { (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); }; } &&
-+       { 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_lib_rpcsecgss_authgss_create_default=yes
-+else
-+  echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+ac_cv_lib_rpcsecgss_authgss_create_default=no
-+fi
-+rm -f 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_rpcsecgss_authgss_create_default" >&5
-+echo "${ECHO_T}$ac_cv_lib_rpcsecgss_authgss_create_default" >&6
-+if test $ac_cv_lib_rpcsecgss_authgss_create_default = yes; then
-+  librpcsecgss=1
-+else
-+  { { echo "$as_me:$LINENO: error: librpcsecgss needed for nfsv4 support" >&5
-+echo "$as_me: error: librpcsecgss needed for nfsv4 support" >&2;}
-+   { (exit 1); exit 1; }; }
-+fi
-+
-+  echo "$as_me:$LINENO: checking for authgss_set_debug_level in -lrpcsecgss" >&5
-+echo $ECHO_N "checking for authgss_set_debug_level in -lrpcsecgss... $ECHO_C" >&6
-+if test "${ac_cv_lib_rpcsecgss_authgss_set_debug_level+set}" = set; then
-+  echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+  ac_check_lib_save_LIBS=$LIBS
-+LIBS="-lrpcsecgss $KRBLIB $LIBS"
-+cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h.  */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h.  */
--int main() {
--gss_krb5_export_lucid_sec_context()
--; return 0; }
--EOF
--if { (eval echo configure:2027: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
--  rm -rf conftest*
--  eval "ac_cv_lib_$ac_lib_var=yes"
--else
--  echo "configure: failed program was:" >&5
--  cat conftest.$ac_ext >&5
--  rm -rf conftest*
--  eval "ac_cv_lib_$ac_lib_var=no"
-+/* 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 authgss_set_debug_level ();
-+int
-+main ()
-+{
-+authgss_set_debug_level ();
-+  ;
-+  return 0;
-+}
-+_ACEOF
-+rm -f conftest.$ac_objext conftest$ac_exeext
-+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&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 -z "$ac_c_werror_flag"
-+                       || test ! -s conftest.err'
-+  { (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); }; } &&
-+       { 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_lib_rpcsecgss_authgss_set_debug_level=yes
-+else
-+  echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+ac_cv_lib_rpcsecgss_authgss_set_debug_level=no
- fi
--rm -f conftest*
--LIBS="$ac_save_LIBS"
-+rm -f 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_rpcsecgss_authgss_set_debug_level" >&5
-+echo "${ECHO_T}$ac_cv_lib_rpcsecgss_authgss_set_debug_level" >&6
-+if test $ac_cv_lib_rpcsecgss_authgss_set_debug_level = yes; then
-+
-+cat >>confdefs.h <<\_ACEOF
-+#define HAVE_AUTHGSS_SET_DEBUG_LEVEL 1
-+_ACEOF
- fi
--if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
--  echo "$ac_t""yes" 1>&6
--  cat >> confdefs.h <<\EOF
--#define HAVE_LUCID_CONTEXT_SUPPORT 1
--EOF
-+
-+
-+
-+
-+
-+fi
-+
-+
-+for ac_header in com_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
-+  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
-+else
-+  # Is the header compilable?
-+echo "$as_me:$LINENO: checking $ac_header usability" >&5
-+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
-+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
-+#include <$ac_header>
-+_ACEOF
-+rm -f conftest.$ac_objext
-+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&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'
-+  { (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); }; } &&
-+       { 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_header_compiler=yes
-+else
-+  echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+ac_header_compiler=no
-+fi
-+rm -f 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
-+cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h.  */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+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
-+  ac_status=$?
-+  grep -v '^ *+' conftest.er1 >conftest.err
-+  rm -f conftest.er1
-+  cat conftest.err >&5
-+  echo "$as_me:$LINENO: \$? = $ac_status" >&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
- else
--  echo "$ac_t""no" 1>&6
-+  ac_cpp_err=yes
- fi
-+if test -z "$ac_cpp_err"; then
-+  ac_header_preproc=yes
-+else
-+  echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
--         echo $ac_n "checking for gss_krb5_set_allowable_enctypes in -lgssapi""... $ac_c" 1>&6
--echo "configure:2051: checking for gss_krb5_set_allowable_enctypes in -lgssapi" >&5
--ac_lib_var=`echo gssapi'_'gss_krb5_set_allowable_enctypes | sed 'y%./+-%__p_%'`
--if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
--  echo $ac_n "(cached) $ac_c" 1>&6
-+  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
-+
-+# So?  What about this header?
-+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 compiler's result" >&5
-+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
-+    ac_header_preproc=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: 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;}
-+    { 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;}
-+    (
-+      cat <<\_ASBOX
-+## ------------------------------------------ ##
-+## Report this to the AC_PACKAGE_NAME lists.  ##
-+## ------------------------------------------ ##
-+_ASBOX
-+    ) |
-+      sed "s/^/$as_me: WARNING:     /" >&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 $ECHO_N "(cached) $ECHO_C" >&6
- else
--  ac_save_LIBS="$LIBS"
--LIBS="-lgssapi $KRBLIB $LIBS"
--cat > conftest.$ac_ext <<EOF
--#line 2059 "configure"
--#include "confdefs.h"
--/* Override any gcc2 internal prototype to avoid an error.  */
--/* We use char because int might match the return type of a gcc2
--    builtin and then its argument prototype would still apply.  */
--char gss_krb5_set_allowable_enctypes();
-+  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
--int main() {
--gss_krb5_set_allowable_enctypes()
--; return 0; }
--EOF
--if { (eval echo configure:2070: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
--  rm -rf conftest*
--  eval "ac_cv_lib_$ac_lib_var=yes"
--else
--  echo "configure: failed program was:" >&5
--  cat conftest.$ac_ext >&5
--  rm -rf conftest*
--  eval "ac_cv_lib_$ac_lib_var=no"
- fi
--rm -f conftest*
--LIBS="$ac_save_LIBS"
-+if test `eval echo '${'$as_ac_Header'}'` = yes; then
-+  cat >>confdefs.h <<_ACEOF
-+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-+_ACEOF
- fi
--if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
--  echo "$ac_t""yes" 1>&6
--  cat >> confdefs.h <<\EOF
--#define HAVE_SET_ALLOWABLE_ENCTYPES 1
--EOF
-+done
-+
-+
-+for ac_header in et/com_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
-+  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
-+else
-+  # Is the header compilable?
-+echo "$as_me:$LINENO: checking $ac_header usability" >&5
-+echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
-+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
-+#include <$ac_header>
-+_ACEOF
-+rm -f conftest.$ac_objext
-+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&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'
-+  { (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); }; } &&
-+       { 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_header_compiler=yes
-+else
-+  echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+ac_header_compiler=no
-+fi
-+rm -f 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
-+cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h.  */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+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
-+  ac_status=$?
-+  grep -v '^ *+' conftest.er1 >conftest.err
-+  rm -f conftest.er1
-+  cat conftest.err >&5
-+  echo "$as_me:$LINENO: \$? = $ac_status" >&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
- else
--  echo "$ac_t""no" 1>&6
-+  ac_cpp_err=yes
- fi
--
--         echo $ac_n "checking for gss_krb5_ccache_name in -lgssapi""... $ac_c" 1>&6
--echo "configure:2094: checking for gss_krb5_ccache_name in -lgssapi" >&5
--ac_lib_var=`echo gssapi'_'gss_krb5_ccache_name | sed 'y%./+-%__p_%'`
--if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
--  echo $ac_n "(cached) $ac_c" 1>&6
-+if test -z "$ac_cpp_err"; then
-+  ac_header_preproc=yes
- else
--  ac_save_LIBS="$LIBS"
--LIBS="-lgssapi $KRBLIB $LIBS"
--cat > conftest.$ac_ext <<EOF
--#line 2102 "configure"
--#include "confdefs.h"
--/* Override any gcc2 internal prototype to avoid an error.  */
--/* We use char because int might match the return type of a gcc2
--    builtin and then its argument prototype would still apply.  */
--char gss_krb5_ccache_name();
-+  echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
--int main() {
--gss_krb5_ccache_name()
--; return 0; }
--EOF
--if { (eval echo configure:2113: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
--  rm -rf conftest*
--  eval "ac_cv_lib_$ac_lib_var=yes"
--else
--  echo "configure: failed program was:" >&5
--  cat conftest.$ac_ext >&5
--  rm -rf conftest*
--  eval "ac_cv_lib_$ac_lib_var=no"
-+  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
-+
-+# So?  What about this header?
-+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 compiler's result" >&5
-+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
-+    ac_header_preproc=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: 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;}
-+    { 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;}
-+    (
-+      cat <<\_ASBOX
-+## ------------------------------------------ ##
-+## Report this to the AC_PACKAGE_NAME lists.  ##
-+## ------------------------------------------ ##
-+_ASBOX
-+    ) |
-+      sed "s/^/$as_me: WARNING:     /" >&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 $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+  eval "$as_ac_Header=\$ac_header_preproc"
- fi
--rm -f conftest*
--LIBS="$ac_save_LIBS"
-+echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-+echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
- fi
--if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
--  echo "$ac_t""yes" 1>&6
--  cat >> confdefs.h <<\EOF
--#define HAVE_GSS_KRB5_CCACHE_NAME 1
--EOF
-+if test `eval echo '${'$as_ac_Header'}'` = yes; then
-+  cat >>confdefs.h <<_ACEOF
-+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-+_ACEOF
--else
--  echo "$ac_t""no" 1>&6
- fi
--        break
--      fi
--      CFLAGS=$CFLAGS `K5CONFIG --cflags`
--    fi
--  done
--    if test "x$KRBDIR" = "x"; then
--    echo "$ac_t"""no"" 1>&6
--    if test "x$krb5_with" = "x"; then
--      { echo "configure: error: Kerberos v5 with GSS support not found: consider --disable-gss or --with-krb5=" 1>&2; exit 1; }
--    else
--      { echo "configure: error: Kerberos v5 with GSS support not found at $krb5_with" 1>&2; exit 1; }
--    fi
--  fi
--  echo "$ac_t""$KRBDIR" 1>&6
--    if test "x$krb5_with" != "x" -a "$krb5_with" != "$KRBDIR"; then
--    echo "configure: warning: Using $KRBDIR instead of requested value of $krb5_with for Kerberos!" 1>&2
--  fi
-+done
--  
--  
--  
--fi
- for ac_func in innetgr
- do
--echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
--echo "configure:2163: checking for $ac_func" >&5
--if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
--  echo $ac_n "(cached) $ac_c" 1>&6
--else
--  cat > conftest.$ac_ext <<EOF
--#line 2168 "configure"
--#include "confdefs.h"
-+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 $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+  cat >conftest.$ac_ext <<_ACEOF
-+/* 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.  */
--#include <assert.h>
--/* Override any gcc2 internal prototype to avoid an error.  */
--/* 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();
-+    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.  */
--int main() {
-+#ifdef __STDC__
-+# include <limits.h>
-+#else
-+# include <assert.h>
-+#endif
-+#undef $ac_func
-+
-+/* 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 $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)
- choke me
- #else
--$ac_func();
-+char (*f) () = $ac_func;
-+#endif
-+#ifdef __cplusplus
-+}
- #endif
--; return 0; }
--EOF
--if { (eval echo configure:2191: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
--  rm -rf conftest*
--  eval "ac_cv_func_$ac_func=yes"
--else
--  echo "configure: failed program was:" >&5
--  cat conftest.$ac_ext >&5
--  rm -rf conftest*
--  eval "ac_cv_func_$ac_func=no"
--fi
--rm -f conftest*
--fi
-+int
-+main ()
-+{
-+return f != $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>conftest.er1
-+  ac_status=$?
-+  grep -v '^ *+' conftest.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'
-+  { (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); }; } &&
-+       { 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
-+  eval "$as_ac_var=yes"
-+else
-+  echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+eval "$as_ac_var=no"
-+fi
-+rm -f 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
-+if test `eval echo '${'$as_ac_var'}'` = yes; then
-+  cat >>confdefs.h <<_ACEOF
-+#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-+_ACEOF
--if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
--  echo "$ac_t""yes" 1>&6
--    ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
--  cat >> confdefs.h <<EOF
--#define $ac_tr_func 1
--EOF
-- 
--else
--  echo "$ac_t""no" 1>&6
- fi
- done
--cat >> confdefs.h <<EOF
-+            echo "$as_me:$LINENO: checking size of short" >&5
-+echo $ECHO_N "checking size of short... $ECHO_C" >&6
-+   if test "${ac_cv_sizeof_short+set}" = set; then
-+  echo $ECHO_N "(cached) $ECHO_C" >&6
-+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
-+/* confdefs.h.  */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h.  */
-+#include <stdio.h>
-+     #include <sys/types.h>
-+     main()
-+     {
-+      FILE *f=fopen("conftestval", "w");
-+      if (!f) exit(1);
-+      fprintf(f, "%d\n", sizeof(short));
-+      exit(0);
-+    }
-+_ACEOF
-+rm -f conftest$ac_exeext
-+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&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
-+  ac_status=$?
-+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+  (exit $ac_status); }; }; then
-+  ac_cv_sizeof_short=`cat conftestval`
-+else
-+  echo "$as_me: program exited with status $ac_status" >&5
-+echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+( exit $ac_status )
-+ac_cv_sizeof_short=0
-+fi
-+rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-+fi
-+fi
-+
-+    echo "$as_me:$LINENO: result: $ac_cv_sizeof_short" >&5
-+echo "${ECHO_T}$ac_cv_sizeof_short" >&6
-+    cat >>confdefs.h <<_ACEOF
-+#define SIZEOF_SHORT $ac_cv_sizeof_short
-+_ACEOF
-+
-+
-+            echo "$as_me:$LINENO: checking size of int" >&5
-+echo $ECHO_N "checking size of int... $ECHO_C" >&6
-+   if test "${ac_cv_sizeof_int+set}" = set; then
-+  echo $ECHO_N "(cached) $ECHO_C" >&6
-+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
-+/* confdefs.h.  */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h.  */
-+#include <stdio.h>
-+     #include <sys/types.h>
-+     main()
-+     {
-+      FILE *f=fopen("conftestval", "w");
-+      if (!f) exit(1);
-+      fprintf(f, "%d\n", sizeof(int));
-+      exit(0);
-+    }
-+_ACEOF
-+rm -f conftest$ac_exeext
-+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&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
-+  ac_status=$?
-+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+  (exit $ac_status); }; }; then
-+  ac_cv_sizeof_int=`cat conftestval`
-+else
-+  echo "$as_me: program exited with status $ac_status" >&5
-+echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+( exit $ac_status )
-+ac_cv_sizeof_int=0
-+fi
-+rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-+fi
-+fi
-+
-+    echo "$as_me:$LINENO: result: $ac_cv_sizeof_int" >&5
-+echo "${ECHO_T}$ac_cv_sizeof_int" >&6
-+    cat >>confdefs.h <<_ACEOF
-+#define SIZEOF_INT $ac_cv_sizeof_int
-+_ACEOF
-+
-+
-+            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 "$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
-+/* confdefs.h.  */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h.  */
-+#include <stdio.h>
-+     #include <sys/types.h>
-+     main()
-+     {
-+      FILE *f=fopen("conftestval", "w");
-+      if (!f) exit(1);
-+      fprintf(f, "%d\n", sizeof(long));
-+      exit(0);
-+    }
-+_ACEOF
-+rm -f conftest$ac_exeext
-+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&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
-+  ac_status=$?
-+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+  (exit $ac_status); }; }; then
-+  ac_cv_sizeof_long=`cat conftestval`
-+else
-+  echo "$as_me: program exited with status $ac_status" >&5
-+echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+( exit $ac_status )
-+ac_cv_sizeof_long=0
-+fi
-+rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-+fi
-+fi
-+
-+    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 size_t" >&5
-+echo $ECHO_N "checking size of size_t... $ECHO_C" >&6
-+   if test "${ac_cv_sizeof_size_t+set}" = set; then
-+  echo $ECHO_N "(cached) $ECHO_C" >&6
-+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
-+/* confdefs.h.  */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h.  */
-+#include <stdio.h>
-+     #include <sys/types.h>
-+     main()
-+     {
-+      FILE *f=fopen("conftestval", "w");
-+      if (!f) exit(1);
-+      fprintf(f, "%d\n", sizeof(size_t));
-+      exit(0);
-+    }
-+_ACEOF
-+rm -f conftest$ac_exeext
-+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&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
-+  ac_status=$?
-+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+  (exit $ac_status); }; }; then
-+  ac_cv_sizeof_size_t=`cat conftestval`
-+else
-+  echo "$as_me: program exited with status $ac_status" >&5
-+echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+( exit $ac_status )
-+ac_cv_sizeof_size_t=0
-+fi
-+rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-+fi
-+fi
-+
-+    echo "$as_me:$LINENO: result: $ac_cv_sizeof_size_t" >&5
-+echo "${ECHO_T}$ac_cv_sizeof_size_t" >&6
-+    cat >>confdefs.h <<_ACEOF
-+#define SIZEOF_SIZE_T $ac_cv_sizeof_size_t
-+_ACEOF
-+
-+
-+
-+
-+cat >>confdefs.h <<_ACEOF
- #define NFS_STATEDIR "$statedir"
--EOF
-+_ACEOF
--trap '' 1 2 15
--cat > confcache <<\EOF
-+                    ac_config_files="$ac_config_files config.mk utils/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
--# scripts and configure runs.  It is not useful on other systems.
--# If it contains results you don't want to keep, you may remove or edit it.
-+# scripts and configure runs, see configure's option --config-cache.
-+# It is not useful on other systems.  If it contains results you don't
-+# want to keep, you may remove or edit it.
- #
--# By default, configure uses ./config.cache as the cache file,
--# creating it if it does not exist already.  You can give configure
--# the --cache-file=FILE option to use a different cache file; that is
--# what configure does when it calls configure scripts in
--# subdirectories, so they share the cache.
--# Giving --cache-file=/dev/null disables caching, for debugging configure.
--# config.status only pays attention to the cache file if you give it the
--# --recheck option to rerun configure.
-+# config.status only pays attention to the cache file if you give it
-+# the --recheck option to rerun configure.
- #
--EOF
-+# `ac_cv_env_foo' variables (set or unset) will be overridden when
-+# loading this file, other *unset* `ac_cv_foo' will be assigned the
-+# following values.
-+
-+_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.
- # 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.
--(set) 2>&1 |
--  case `(ac_space=' '; set | grep ac_space) 2>&1` in
--  *ac_space=\ *)
--    # `set' does not quote correctly, so add quotes (double-quote substitution
--    # turns \\\\ into \\, and sed turns \\ into \).
--    sed -n \
--      -e "s/'/'\\\\''/g" \
--      -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
--    ;;
--  *)
--    # `set' quotes correctly as required by POSIX, so do not add quotes.
--    sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
--    ;;
--  esac >> confcache
--if cmp -s $cache_file confcache; then
--  :
--else
-+{
-+  (set) 2>&1 |
-+    case `(ac_space=' '; set | grep ac_space) 2>&1` in
-+    *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"
-+      ;;
-+    *)
-+      # `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"
-+      ;;
-+    esac;
-+} |
-+  sed '
-+     t 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
--    echo "updating cache $cache_file"
--    cat confcache > $cache_file
-+    test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
-+    cat confcache >$cache_file
-   else
-     echo "not updating unwritable cache $cache_file"
-   fi
- fi
- rm -f confcache
--trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
--
- test "x$prefix" = xNONE && prefix=$ac_default_prefix
- # Let make expand exec_prefix.
- test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
--# Any assignment to VPATH causes Sun make to only execute
--# the first set of double-colon rules, so remove it if not needed.
--# If there is a colon in the path, we need to keep it.
-+# 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[        ]*=[^:]*$/d'
-+  ac_vpsub='/^[        ]*VPATH[        ]*=/{
-+s/:*\$(srcdir):*/:/;
-+s/:*\${srcdir}:*/:/;
-+s/:*@srcdir@:*/:/;
-+s/^\([^=]*=[   ]*\):*/\1/;
-+s/:*$//;
-+s/^[^=]*=[     ]*$//;
-+}'
- fi
--trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
--
- DEFS=-DHAVE_CONFIG_H
--# Without the "./", some shells look in PATH for config.status.
--: ${CONFIG_STATUS=./config.status}
-+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'
-+done
-+LIBOBJS=$ac_libobjs
--echo creating $CONFIG_STATUS
--rm -f $CONFIG_STATUS
--cat > $CONFIG_STATUS <<EOF
--#! /bin/sh
--# Generated automatically by configure.
-+LTLIBOBJS=$ac_ltlibobjs
-+
-+
-+
-+: ${CONFIG_STATUS=./config.status}
-+ac_clean_files_save=$ac_clean_files
-+ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-+{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
-+echo "$as_me: creating $CONFIG_STATUS" >&6;}
-+cat >$CONFIG_STATUS <<_ACEOF
-+#! $SHELL
-+# Generated by $as_me.
- # Run this file to recreate the current configuration.
--# This directory was configured as follows,
--# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
--#
--# $0 $ac_configure_args
--#
- # Compiler output produced by configure, useful for debugging
--# configure, is in ./config.log if it exists.
-+# configure, is in config.log if it exists.
--ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
--for ac_option
-+debug=false
-+ac_cs_recheck=false
-+ac_cs_silent=false
-+SHELL=\${CONFIG_SHELL-$SHELL}
-+_ACEOF
-+
-+cat >>$CONFIG_STATUS <<\_ACEOF
-+## --------------------- ##
-+## M4sh Initialization.  ##
-+## --------------------- ##
-+
-+# 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+"$@"}'='"$@"'
-+elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
-+  set -o posix
-+fi
-+DUALCASE=1; export DUALCASE # for MKS sh
-+
-+# Support unset when possible.
-+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
-+  as_unset=unset
-+else
-+  as_unset=false
-+fi
-+
-+
-+# Work around bugs in pre-3.0 UWIN ksh.
-+$as_unset ENV MAIL MAILPATH
-+PS1='$ '
-+PS2='> '
-+PS4='+ '
-+
-+# NLS nuisances.
-+for as_var in \
-+  LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
-+  LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
-+  LC_TELEPHONE LC_TIME
-+do
-+  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
-+  fi
-+done
-+
-+# Required to use basename.
-+if expr a : '\(a\)' >/dev/null 2>&1; 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
-+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
-+
-+       ;;
-+  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
-+
-+  # 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.
-+  # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
-+  # second 'sed' script.  Blame Lee E. McMahon for sed's syntax.  :-)
-+  sed '=' <$as_myself |
-+    sed '
-+      N
-+      s,$,-,
-+      : loop
-+      s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
-+      t loop
-+      s,-$,,
-+      s,^['$as_cr_digits']*\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;}
-+   { (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
-+  # 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= ;;
-+esac
-+
-+if expr a : '\(a\)' >/dev/null 2>&1; then
-+  as_expr=expr
-+else
-+  as_expr=false
-+fi
-+
-+rm -f conf$$ conf$$.exe conf$$.file
-+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='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
-+
-+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"
-+
-+# Sed expression to map a string onto a valid CPP name.
-+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="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 6>&1
-+
-+# Open the log real soon, 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
-+
-+This file was extended by $as_me, which was
-+generated by GNU Autoconf 2.59.  Invocation command line was
-+
-+  CONFIG_FILES    = $CONFIG_FILES
-+  CONFIG_HEADERS  = $CONFIG_HEADERS
-+  CONFIG_LINKS    = $CONFIG_LINKS
-+  CONFIG_COMMANDS = $CONFIG_COMMANDS
-+  $ $0 $@
-+
-+_CSEOF
-+echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5
-+echo >&5
-+_ACEOF
-+
-+# Files that config.status was made for.
-+if test -n "$ac_config_files"; then
-+  echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS
-+fi
-+
-+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
-+
-+cat >>$CONFIG_STATUS <<\_ACEOF
-+
-+ac_cs_usage="\
-+\`$as_me' instantiates files from templates according to the
-+current configuration.
-+
-+Usage: $0 [OPTIONS] [FILE]...
-+
-+  -h, --help       print this help, then exit
-+  -V, --version    print version number, then exit
-+  -q, --quiet      do not print progress messages
-+  -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
-+  --header=FILE[:TEMPLATE]
-+                 instantiate the configuration header FILE
-+
-+Configuration files:
-+$config_files
-+
-+Configuration headers:
-+$config_headers
-+
-+Report bugs to <bug-autoconf@gnu.org>."
-+_ACEOF
-+
-+cat >>$CONFIG_STATUS <<_ACEOF
-+ac_cs_version="\\
-+config.status
-+configured by $0, generated by GNU Autoconf 2.59,
-+  with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
-+
-+Copyright (C) 2003 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"
-+_ACEOF
-+
-+cat >>$CONFIG_STATUS <<\_ACEOF
-+# If no file are specified by the user, then we need to provide default
-+# value.  By we need to know if files were specified by the user.
-+ac_need_defaults=:
-+while test $# != 0
- do
--  case "\$ac_option" in
-+  case $1 in
-+  --*=*)
-+    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)
--    echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
--    exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
--  -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
--    echo "$CONFIG_STATUS generated by autoconf version 2.13"
--    exit 0 ;;
--  -help | --help | --hel | --he | --h)
--    echo "\$ac_cs_usage"; exit 0 ;;
--  *) echo "\$ac_cs_usage"; exit 1 ;;
-+    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 )
-+    debug=: ;;
-+  --file | --fil | --fi | --f )
-+    $ac_shift
-+    CONFIG_FILES="$CONFIG_FILES $ac_optarg"
-+    ac_need_defaults=false;;
-+  --header | --heade | --head | --hea )
-+    $ac_shift
-+    CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg"
-+    ac_need_defaults=false;;
-+  -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;}
-+   { (exit 1); exit 1; }; } ;;
-+
-+  *) ac_config_targets="$ac_config_targets $1" ;;
-+
-   esac
-+  shift
- done
--ac_given_srcdir=$srcdir
--ac_given_INSTALL="$INSTALL"
-+ac_configure_extra_args=
--trap 'rm -fr `echo "config.mk utils/Makefile support/include/config.h" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
--EOF
--cat >> $CONFIG_STATUS <<EOF
--
--# Protect against being on the right side of a sed subst in config.status.
--sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
-- s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
--$ac_vpsub
--$extrasub
--s%@SHELL@%$SHELL%g
--s%@CFLAGS@%$CFLAGS%g
--s%@CPPFLAGS@%$CPPFLAGS%g
--s%@CXXFLAGS@%$CXXFLAGS%g
--s%@FFLAGS@%$FFLAGS%g
--s%@DEFS@%$DEFS%g
--s%@LDFLAGS@%$LDFLAGS%g
--s%@LIBS@%$LIBS%g
--s%@exec_prefix@%$exec_prefix%g
--s%@prefix@%$prefix%g
--s%@program_transform_name@%$program_transform_name%g
--s%@bindir@%$bindir%g
--s%@sbindir@%$sbindir%g
--s%@libexecdir@%$libexecdir%g
--s%@datadir@%$datadir%g
--s%@sysconfdir@%$sysconfdir%g
--s%@sharedstatedir@%$sharedstatedir%g
--s%@localstatedir@%$localstatedir%g
--s%@libdir@%$libdir%g
--s%@includedir@%$includedir%g
--s%@oldincludedir@%$oldincludedir%g
--s%@infodir@%$infodir%g
--s%@mandir@%$mandir%g
--s%@VERSION@%$VERSION%g
--s%@RELEASE@%$RELEASE%g
--s%@statedir@%$statedir%g
--s%@statduser@%$statduser%g
--s%@enable_nfsv3@%$enable_nfsv3%g
--s%@IDMAPD@%$IDMAPD%g
--s%@enable_nfsv4@%$enable_nfsv4%g
--s%@GSSD@%$GSSD%g
--s%@SVCGSSD@%$SVCGSSD%g
--s%@enable_gss@%$enable_gss%g
--s%@kprefix@%$kprefix%g
--s%@secure_statd@%$secure_statd%g
--s%@RQUOTAD@%$RQUOTAD%g
--s%@CC@%$CC%g
--s%@CPP@%$CPP%g
--s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
--s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
--s%@INSTALL_DATA@%$INSTALL_DATA%g
--s%@CC_FOR_BUILD@%$CC_FOR_BUILD%g
--s%@host@%$host%g
--s%@host_alias@%$host_alias%g
--s%@host_cpu@%$host_cpu%g
--s%@host_vendor@%$host_vendor%g
--s%@host_os@%$host_os%g
--s%@build@%$build%g
--s%@build_alias@%$build_alias%g
--s%@build_cpu@%$build_cpu%g
--s%@build_vendor@%$build_vendor%g
--s%@build_os@%$build_os%g
--s%@RANLIB@%$RANLIB%g
--s%@AR@%$AR%g
--s%@LD@%$LD%g
--s%@LIBSOCKET@%$LIBSOCKET%g
--s%@LIBNSL@%$LIBNSL%g
--s%@LIBCRYPT@%$LIBCRYPT%g
--s%@LIBBSD@%$LIBBSD%g
--s%@LIBWRAP@%$LIBWRAP%g
--s%@KRBDIR@%$KRBDIR%g
--s%@KRBLIB@%$KRBLIB%g
--s%@K5VERS@%$K5VERS%g
-+if $ac_cs_silent; then
-+  exec 6>/dev/null
-+  ac_configure_extra_args="$ac_configure_extra_args --silent"
-+fi
-+
-+_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
-+fi
-+
-+_ACEOF
-+
-+
-+
-+
-+
-+cat >>$CONFIG_STATUS <<\_ACEOF
-+for ac_config_target in $ac_config_targets
-+do
-+  case "$ac_config_target" in
-+  # Handling of arguments.
-+  "config.mk" ) CONFIG_FILES="$CONFIG_FILES config.mk" ;;
-+  "utils/Makefile" ) CONFIG_FILES="$CONFIG_FILES utils/Makefile" ;;
-+  "support/include/config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS support/include/config.h" ;;
-+  *) { { 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
-+# bizarre bug on SunOS 4.1.3.
-+if $ac_need_defaults; then
-+  test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
-+  test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
-+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,
-+# creating and moving files from /tmp can sometimes cause problems.
-+# Create a temporary directory, and hook for its removal unless debugging.
-+$debug ||
-+{
-+  trap 'exit_status=$?; rm -rf $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` &&
-+  test -n "$tmp" && test -d "$tmp"
-+}  ||
-+{
-+  tmp=./confstat$$-$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.
-+#
-+
-+# 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,@VERSION@,$VERSION,;t t
-+s,@RELEASE@,$RELEASE,;t t
-+s,@statedir@,$statedir,;t t
-+s,@statduser@,$statduser,;t t
-+s,@enable_nfsv3@,$enable_nfsv3,;t t
-+s,@IDMAPD@,$IDMAPD,;t t
-+s,@enable_nfsv4@,$enable_nfsv4,;t t
-+s,@GSSD@,$GSSD,;t t
-+s,@SVCGSSD@,$SVCGSSD,;t t
-+s,@enable_gss@,$enable_gss,;t t
-+s,@kprefix@,$kprefix,;t t
-+s,@secure_statd@,$secure_statd,;t t
-+s,@RQUOTAD@,$RQUOTAD,;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,@CPP@,$CPP,;t t
-+s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t
-+s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t
-+s,@INSTALL_DATA@,$INSTALL_DATA,;t t
-+s,@CC_FOR_BUILD@,$CC_FOR_BUILD,;t t
-+s,@RANLIB@,$RANLIB,;t t
-+s,@ac_ct_RANLIB@,$ac_ct_RANLIB,;t t
-+s,@AR@,$AR,;t t
-+s,@ac_ct_AR@,$ac_ct_AR,;t t
-+s,@LD@,$LD,;t t
-+s,@ac_ct_LD@,$ac_ct_LD,;t t
-+s,@EGREP@,$EGREP,;t t
-+s,@LIBSOCKET@,$LIBSOCKET,;t t
-+s,@LIBNSL@,$LIBNSL,;t t
-+s,@LIBCRYPT@,$LIBCRYPT,;t t
-+s,@LIBBSD@,$LIBBSD,;t t
-+s,@LIBWRAP@,$LIBWRAP,;t t
-+s,@KRBDIR@,$KRBDIR,;t t
-+s,@KRBLIB@,$KRBLIB,;t t
-+s,@KRBINC@,$KRBINC,;t t
-+s,@K5VERS@,$K5VERS,;t t
-+s,@CXXFLAGS@,$CXXFLAGS,;t t
-+s,@LIBOBJS@,$LIBOBJS,;t t
-+s,@LTLIBOBJS@,$LTLIBOBJS,;t t
- CEOF
--EOF
--cat >> $CONFIG_STATUS <<\EOF
-+_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_cmds=90 # Maximum number of lines to put in a sed script.
--ac_file=1 # Number of current file.
--ac_beg=1 # First line for current file.
--ac_end=$ac_max_sed_cmds # 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" conftest.subs > conftest.s$ac_file
--  else
--    sed "${ac_end}q" conftest.subs > conftest.s$ac_file
--  fi
--  if test ! -s conftest.s$ac_file; then
--    ac_more_lines=false
--    rm -f conftest.s$ac_file
--  else
--    if test -z "$ac_sed_cmds"; then
--      ac_sed_cmds="sed -f conftest.s$ac_file"
-+  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
--      ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
-+      sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
-     fi
--    ac_file=`expr $ac_file + 1`
--    ac_beg=$ac_end
--    ac_end=`expr $ac_end + $ac_max_sed_cmds`
-+    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
-   fi
--done
--if test -z "$ac_sed_cmds"; then
--  ac_sed_cmds=cat
--fi
--EOF
-+fi # test -n "$CONFIG_FILES"
--cat >> $CONFIG_STATUS <<EOF
--
--CONFIG_FILES=\${CONFIG_FILES-"config.mk utils/Makefile"}
--EOF
--cat >> $CONFIG_STATUS <<\EOF
--for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
-+_ACEOF
-+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
--  *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
--       ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
--  *) ac_file_in="${ac_file}.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 ;;
-   esac
--  # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
--
--  # Remove last slash and all that follows it.  Not all systems have dirname.
--  ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
--  if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
--    # The file is in a subdirectory.
--    test ! -d "$ac_dir" && mkdir "$ac_dir"
--    ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
--    # A "../" for each directory in $ac_dir_suffix.
--    ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
--  else
--    ac_dir_suffix= ac_dots=
--  fi
--
--  case "$ac_given_srcdir" in
--  .)  srcdir=.
--      if test -z "$ac_dots"; then top_srcdir=.
--      else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
--  /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
-+  # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
-+  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; }; }; }
-+
-+  ac_builddir=.
-+
-+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.
--    srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
--    top_srcdir="$ac_dots$ac_given_srcdir" ;;
--  esac
-+    ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
-+    ac_top_srcdir=$ac_top_builddir$srcdir ;;
-+esac
--  case "$ac_given_INSTALL" in
--  [/$]*) INSTALL="$ac_given_INSTALL" ;;
--  *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
--  esac
-+# Do not use `cd foo && pwd` to compute absolute paths, because
-+# the directories may not exist.
-+case `pwd` in
-+.) ac_abs_builddir="$ac_dir";;
-+*)
-+  case "$ac_dir" in
-+  .) ac_abs_builddir=`pwd`;;
-+  [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
-+  *) ac_abs_builddir=`pwd`/"$ac_dir";;
-+  esac;;
-+esac
-+case $ac_abs_builddir in
-+.) ac_abs_top_builddir=${ac_top_builddir}.;;
-+*)
-+  case ${ac_top_builddir}. in
-+  .) ac_abs_top_builddir=$ac_abs_builddir;;
-+  [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
-+  *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
-+  esac;;
-+esac
-+case $ac_abs_builddir in
-+.) ac_abs_srcdir=$ac_srcdir;;
-+*)
-+  case $ac_srcdir in
-+  .) ac_abs_srcdir=$ac_abs_builddir;;
-+  [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
-+  *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
-+  esac;;
-+esac
-+case $ac_abs_builddir in
-+.) ac_abs_top_srcdir=$ac_top_srcdir;;
-+*)
-+  case $ac_top_srcdir in
-+  .) ac_abs_top_srcdir=$ac_abs_builddir;;
-+  [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
-+  *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
-+  esac;;
-+esac
--  echo creating "$ac_file"
--  rm -f "$ac_file"
--  configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
--  case "$ac_file" in
--  *Makefile*) ac_comsub="1i\\
--# $configure_input" ;;
--  *) ac_comsub= ;;
-+
-+  case $INSTALL in
-+  [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
-+  *) ac_INSTALL=$ac_top_builddir$INSTALL ;;
-   esac
--  ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
--  sed -e "$ac_comsub
--s%@configure_input@%$configure_input%g
--s%@srcdir@%$srcdir%g
--s%@top_srcdir@%$top_srcdir%g
--s%@INSTALL@%$INSTALL%g
--" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
--fi; done
--rm -f conftest.s*
-+  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; }
-+_ACEOF
-+cat >>$CONFIG_STATUS <<_ACEOF
-+  sed "$ac_vpsub
-+$extrasub
-+_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='\3'
--ac_dD='%g'
--# ac_u turns "#undef NAME" with trailing blanks into "#define NAME VALUE".
--ac_uA='s%^\([         ]*\)#\([        ]*\)undef\([    ][      ]*\)'
--ac_uB='\([    ]\)%\1#\2define\3'
-+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='\4%g'
--# ac_e turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
--ac_eA='s%^\([         ]*\)#\([        ]*\)undef\([    ][      ]*\)'
--ac_eB='$%\1#\2define\3'
--ac_eC=' '
--ac_eD='%g'
--
--if test "${CONFIG_HEADERS+set}" != set; then
--EOF
--cat >> $CONFIG_STATUS <<EOF
--  CONFIG_HEADERS="support/include/config.h"
--EOF
--cat >> $CONFIG_STATUS <<\EOF
--fi
--for ac_file in .. $CONFIG_HEADERS; do if test "x$ac_file" != x..; then
-+ac_uD=',;t'
-+
-+for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue
-   # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
--  case "$ac_file" in
--  *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
--       ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
--  *) ac_file_in="${ac_file}.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 ;;
-   esac
--  echo creating $ac_file
-+  test x"$ac_file" != x- && { echo "$as_me:$LINENO: creating $ac_file" >&5
-+echo "$as_me: creating $ac_file" >&6;}
--  rm -f conftest.frag conftest.in conftest.out
--  ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
--  cat $ac_file_inputs > conftest.in
--
--EOF
--
--# Transform confdefs.h into a sed script conftest.vals that substitutes
--# the proper values into config.h.in to produce config.h.  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.vals
--cat > conftest.hdr <<\EOF
--s/[\\&%]/\\&/g
--s%[\\$`]%\\&%g
--s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD}%gp
--s%ac_d%ac_u%gp
--s%ac_u%ac_e%gp
--EOF
--sed -n -f conftest.hdr confdefs.h > conftest.vals
--rm -f conftest.hdr
-+  # 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; }; }
-+       # Do quote $f, to prevent DOS paths from being IFS'd.
-+       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
- # 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.vals <<\EOF
--s%^[  ]*#[    ]*undef[        ][      ]*[a-zA-Z_][a-zA-Z_0-9]*%/* & */%
--EOF
--
--# Break up conftest.vals because some shells have a limit on
--# the size of here documents, and old seds have small limits too.
--
-+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 :
-+while grep . conftest.defines >/dev/null
- do
--  ac_lines=`grep -c . conftest.vals`
--  # grep -c gives empty output for an empty file on some AIX systems.
--  if test -z "$ac_lines" || test "$ac_lines" -eq 0; then break; fi
--  # Write a limited-size here document to conftest.frag.
--  echo '  cat > conftest.frag <<CEOF' >> $CONFIG_STATUS
--  sed ${ac_max_here_lines}q conftest.vals >> $CONFIG_STATUS
-+  # 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
-   echo 'CEOF
--  sed -f conftest.frag conftest.in > conftest.out
--  rm -f conftest.in
--  mv conftest.out conftest.in
--' >> $CONFIG_STATUS
--  sed 1,${ac_max_here_lines}d conftest.vals > conftest.tail
--  rm -f conftest.vals
--  mv conftest.tail conftest.vals
--done
--rm -f conftest.vals
--
--cat >> $CONFIG_STATUS <<\EOF
--  rm -f conftest.frag conftest.h
--  echo "/* $ac_file.  Generated automatically by configure.  */" > conftest.h
--  cat conftest.in >> conftest.h
--  rm -f conftest.in
--  if cmp -s $ac_file conftest.h 2>/dev/null; then
--    echo "$ac_file is unchanged"
--    rm -f conftest.h
--  else
--    # Remove last slash and all that follows it.  Not all systems have dirname.
--      ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
--      if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
--      # The file is in a subdirectory.
--      test ! -d "$ac_dir" && mkdir "$ac_dir"
--    fi
--    rm -f $ac_file
--    mv conftest.h $ac_file
-+  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
-+  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
-+
-+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
--fi; done
-+  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 "$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; }; }; }
--EOF
--cat >> $CONFIG_STATUS <<EOF
-+      rm -f $ac_file
-+      mv $tmp/config.h $ac_file
-+    fi
-+  else
-+    cat $tmp/config.h
-+    rm -f $tmp/config.h
-+  fi
-+done
-+_ACEOF
--EOF
--cat >> $CONFIG_STATUS <<\EOF
-+cat >>$CONFIG_STATUS <<\_ACEOF
--exit 0
--EOF
-+{ (exit 0); exit 0; }
-+_ACEOF
- chmod +x $CONFIG_STATUS
--rm -fr confdefs* $ac_clean_files
--test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
-+ac_clean_files=$ac_clean_files_save
-+
-+
-+# configure is writing to config.log, and then calls config.status.
-+# config.status does its own redirection, appending to config.log.
-+# Unfortunately, on DOS this fails, as config.log is still kept open
-+# by configure, so config.status won't be able to write to it; its
-+# output is simply discarded.  So we exec the FD to /dev/null,
-+# effectively closing config.log, so it can be properly (re)opened and
-+# appended to by config.status.  When coming back to configure, we
-+# need to make the FD available again.
-+if test "$no_create" != yes; then
-+  ac_cs_success=:
-+  ac_config_status_args=
-+  test "$silent" = yes &&
-+    ac_config_status_args="$ac_config_status_args --quiet"
-+  exec 5>/dev/null
-+  $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
-+  exec 5>>config.log
-+  # Use ||, not &&, to avoid exiting from the if with $? = 1, which
-+  # would make configure fail if this is the last instruction.
-+  $ac_cs_success || { (exit 1); exit 1; }
-+fi
-diff -puN configure.in~CITI_NFS4_ALL configure.in
---- nfs-utils-1.0.7/configure.in~CITI_NFS4_ALL 2005-05-06 15:19:22.324443000 -0400
-+++ nfs-utils-1.0.7-kwc/configure.in   2005-05-06 15:19:26.022447000 -0400
-@@ -34,7 +34,7 @@ AC_ARG_ENABLE(nfsv3,
-       enable_nfsv3=$enableval,
-       enable_nfsv3=yes)
-       if test "$enable_nfsv3" = yes; then
--              AC_DEFINE(NFS3_SUPPORTED)
-+              AC_DEFINE(NFS3_SUPPORTED, 1, [Define this if you want NFSv3 support compiled in])
-       else
-               enable_nfsv3=
-       fi
-@@ -44,7 +44,7 @@ AC_ARG_ENABLE(nfsv4,
-       enable_nfsv4=$enableval,
-       enable_nfsv4=yes)
-       if test "$enable_nfsv4" = yes; then
--              AC_DEFINE(NFS4_SUPPORTED)
-+              AC_DEFINE(NFS4_SUPPORTED, 1, [Define this if you want NFSv4 support compiled in])
-               IDMAPD=idmapd
-       else
-               enable_nfsv4=
-@@ -57,7 +57,7 @@ AC_ARG_ENABLE(gss,
-       enable_gss=$enableval,
-       enable_gss=yes)
-       if test "$enable_gss" = yes; then
--              AC_DEFINE(GSS_SUPPORTED)
-+              AC_DEFINE(GSS_SUPPORTED, 1, [Define this if you want rpcsec_gss support compiled in])
-               GSSD=gssd
-               SVCGSSD=svcgssd
-       else
-@@ -78,7 +78,7 @@ AC_ARG_ENABLE(secure-statd,
-       test "$enableval" = "yes" && secure_statd=yes,
-       secure_statd=no)
-       if test "$secure_statd" = yes; then
--              AC_DEFINE(RESTRICTED_STATD)
-+              AC_DEFINE(RESTRICTED_STATD, 1, [Define this if you want to enable various security checks in statd. These checks basically keep anyone but lockd from using this service.])
-       fi
-       AC_SUBST(secure_statd)
- AC_ARG_ENABLE(rquotad,
-@@ -117,8 +117,8 @@ AC_CHECK_LIB(socket, main, [LIBSOCKET="-
- AC_CHECK_LIB(nsl, main,       [LIBNSL="-lnsl"])
- AC_CHECK_LIB(crypt, crypt, [LIBCRYPT="-lcrypt"])
- if test "$enable_nfsv4" = yes; then
--    AC_CHECK_LIB(event, event_dispatch, , [AC_MSG_ERROR(libevent needed for nfsv4 support)])
--    AC_CHECK_LIB(nfsidmap, nfs4_init_name_mapping, ,[AC_MSG_ERROR(libnfsidmap needed for nfsv4 support)])
-+    AC_CHECK_LIB(event, event_dispatch, [libevent=1], [AC_MSG_ERROR(libevent needed for nfsv4 support)])
-+    AC_CHECK_LIB(nfsidmap, nfs4_init_name_mapping, [libnfsidmap=1], [AC_MSG_ERROR(libnfsidmap needed for nfsv4 support)])
-     AC_CHECK_HEADERS(event.h, ,[AC_MSG_ERROR(libevent needed for nfsv4 support)])
-     AC_CHECK_HEADERS(nfsidmap.h, ,[AC_MSG_ERROR(libnfsidmap needed for nfsv4 support)])
- fi
-@@ -155,8 +155,8 @@ if test "$enable_gss" = yes; then
-     esac ]
-   )
--  for dir in $krb5_with /usr/kerberos /usr/local /usr/local/krb5 /usr/krb5 \
--             /usr/heimdal /usr/local/heimdal /usr/athena /usr ; do
-+  for dir in $krb5_with /usr /usr/kerberos /usr/local /usr/local/krb5 \
-+           /usr/krb5 /usr/heimdal /usr/local/heimdal /usr/athena ; do
-     dnl This ugly hack brought on by the split installation of
-     dnl MIT Kerberos on Fedora Core 1
-     K5CONFIG=""
-@@ -166,62 +166,71 @@ if test "$enable_gss" = yes; then
-       K5CONFIG="/usr/kerberos/bin/krb5-config"
-     fi
-     if test "$K5CONFIG" != ""; then
-+      KRBINC=`$K5CONFIG --cflags`
-+      KRBLIB=`$K5CONFIG --libs gssapi`
-+      K5VERS=`$K5CONFIG --version | head -n 1 | awk '{split($4,v,"."); if (v[[3]] == "") v[[3]] = "0"; print v[[1]]v[[2]]v[[3]] }'`
-+      AC_DEFINE_UNQUOTED(KRB5_VERSION, $K5VERS, [Define this as the Kerberos version number])
-       if test -f $dir/include/gssapi/gssapi_krb5.h -a \
-               \( -f $dir/lib/libgssapi_krb5.a -o \
-           -f $dir/lib/libgssapi_krb5.so \) ; then
--         AC_DEFINE(HAVE_KRB5)
-+         AC_DEFINE(HAVE_KRB5, 1, [Define this if you have MIT Kerberos libraries])
-          KRBDIR="$dir"
--         K5VERS=`$K5CONFIG --version | awk '{split($4,v,"."); print v[[1]]v[[2]]v[[3]] }'`
--         AC_DEFINE_UNQUOTED(KRB5_VERSION,$K5VERS)
--         KRBLIB=`$K5CONFIG --libs gssapi`
-+       dnl If we are using MIT K5 1.3.1 and before, we *MUST* use the
-+       dnl private function (gss_krb5_ccache_name) to get correct
-+       dnl behavior of changing the ccache used by gssapi.
-+       dnl Starting in 1.3.2, we *DO NOT* want to use
-+       dnl gss_krb5_ccache_name, instead we want to set KRB5CCNAME
-+       dnl to get gssapi to use a different ccache
-          if test $K5VERS -le 131; then
--           AC_DEFINE(USE_PRIVATE_KRB5_FUNCTIONS)
-+           AC_DEFINE(USE_GSS_KRB5_CCACHE_NAME, 1, [Define this if the private function, gss_krb5_cache_name, must be used to tell the Kerberos library which credentials cache to use. Otherwise, this is done by setting the KRB5CCNAME environment variable])
-          fi
--         AC_CHECK_LIB(gssapi_krb5, gss_krb5_export_lucid_sec_context,
--           AC_DEFINE(HAVE_LUCID_CONTEXT_SUPPORT),,$KRBLIB)
--         AC_CHECK_LIB(gssapi_krb5, gss_krb5_set_allowable_enctypes,
--           AC_DEFINE(HAVE_SET_ALLOWABLE_ENCTYPES),,$KRBLIB)
--         AC_CHECK_LIB(gssapi_krb5, gss_krb5_ccache_name,
--           AC_DEFINE(HAVE_GSS_KRB5_CCACHE_NAME),,$KRBLIB)
-+       gssapi_lib=gssapi_krb5
-          break
-       dnl The following ugly hack brought on by the split installation
-       dnl of Heimdal Kerberos on SuSe
-       elif test \( -f $dir/include/heim_err.h -o\
-                        -f $dir/include/heimdal/heim_err.h \) -a \
-                 -f $dir/lib/libroken.a; then
--         AC_DEFINE(HAVE_HEIMDAL)
-+         AC_DEFINE(HAVE_HEIMDAL, 1, [Define this if you have Heimdal Kerberos libraries])
-          KRBDIR="$dir"
--         K5VERS=`$K5CONFIG --version | head -1 | awk '{split($2,v,"."); print v[[1]]v[[2]]v[[3]] }'`
--         AC_DEFINE_UNQUOTED(KRB5_VERSION,$K5VERS)
--         KRBLIB=`$K5CONFIG --libs gssapi`
--         AC_CHECK_LIB(gssapi, gss_krb5_export_lucid_sec_context,
--           AC_DEFINE(HAVE_LUCID_CONTEXT_SUPPORT),,$KRBLIB)
--         AC_CHECK_LIB(gssapi, gss_krb5_set_allowable_enctypes,
--           AC_DEFINE(HAVE_SET_ALLOWABLE_ENCTYPES),,$KRBLIB)
--         AC_CHECK_LIB(gssapi, gss_krb5_ccache_name,
--           AC_DEFINE(HAVE_GSS_KRB5_CCACHE_NAME),,$KRBLIB)
-+       gssapi_lib=gssapi
-         break
-       fi
--      CFLAGS=$CFLAGS `K5CONFIG --cflags`
-     fi
-   done
-   dnl We didn't find a usable Kerberos environment
-   if test "x$KRBDIR" = "x"; then
--    AC_MSG_RESULT("no")
-     if test "x$krb5_with" = "x"; then
-       AC_MSG_ERROR(Kerberos v5 with GSS support not found: consider --disable-gss or --with-krb5=)
-     else
-       AC_MSG_ERROR(Kerberos v5 with GSS support not found at $krb5_with)
-     fi
-   fi
-+  CFLAGS="$CFLAGS `$K5CONFIG --cflags`"
-   AC_MSG_RESULT($KRBDIR)
-+
-+  dnl Now check for functions within gssapi library
-+  AC_CHECK_LIB($gssapi_lib, gss_krb5_export_lucid_sec_context,
-+    AC_DEFINE(HAVE_LUCID_CONTEXT_SUPPORT, 1, [Define this if the Kerberos GSS library supports gss_krb5_export_lucid_sec_context]), ,$KRBLIB)
-+  AC_CHECK_LIB($gssapi_lib, gss_krb5_set_allowable_enctypes,
-+    AC_DEFINE(HAVE_SET_ALLOWABLE_ENCTYPES, 1, [Define this if the Kerberos GSS library supports gss_krb5_set_allowable_enctypes]), ,$KRBLIB)
-+  AC_CHECK_LIB($gssapi_lib, gss_krb5_ccache_name,
-+    AC_DEFINE(HAVE_GSS_KRB5_CCACHE_NAME, 1, [Define this if the Kerberos GSS library supports gss_krb5_ccache_name]), ,$KRBLIB)
-+
-   dnl If they specified a directory and it didn't work, give them a warning
-   if test "x$krb5_with" != "x" -a "$krb5_with" != "$KRBDIR"; then
-     AC_MSG_WARN(Using $KRBDIR instead of requested value of $krb5_with for Kerberos!)
-   fi
-+  dnl This is not done until here because we need to have KRBLIB set
-+  dnl "librpcsecgss=1" is so that it doesn't get added to LIBS
-+  AC_CHECK_LIB(rpcsecgss, authgss_create_default, [librpcsecgss=1], [AC_MSG_ERROR(librpcsecgss needed for nfsv4 support)], $KRBLIB)
-+  AC_CHECK_LIB(rpcsecgss, authgss_set_debug_level,
-+             AC_DEFINE(HAVE_AUTHGSS_SET_DEBUG_LEVEL, 1, [Define this if the rpcsec_gss library has the function authgss_set_debug_level]),, $KRBLIB)
-+
-   AC_SUBST([KRBDIR])
-   AC_SUBST([KRBLIB])
-+  AC_SUBST([KRBINC])
-   AC_SUBST([K5VERS])
- fi
-@@ -229,6 +238,8 @@ dnl ************************************
- dnl Check for headers
- dnl *************************************************************
- dnl AC_HAVE_HEADERS(string.h)
-+AC_HAVE_HEADERS(com_err.h)
-+AC_HAVE_HEADERS(et/com_err.h)
- dnl *************************************************************
- dnl Check for functions
-@@ -236,9 +247,17 @@ dnl ************************************
- AC_HAVE_FUNCS(innetgr)
- dnl *************************************************************
-+dnl Check for data sizes
-+dnl *************************************************************
-+AC_CHECK_SIZEOF(short)
-+AC_CHECK_SIZEOF(int)
-+AC_CHECK_SIZEOF(long)
-+AC_CHECK_SIZEOF(size_t)
-+
-+dnl *************************************************************
- dnl Export some path names to config.h
- dnl *************************************************************
--AC_DEFINE_UNQUOTED(NFS_STATEDIR, "$statedir")
-+AC_DEFINE_UNQUOTED(NFS_STATEDIR, "$statedir", [This defines the location of the NFS state files. Warning: this must match definitions in config.mk!])
- AC_SUBST(LDFLAGS)
- AC_SUBST(CXXFLAGS)
-diff -puN support/include/config.h.in~CITI_NFS4_ALL support/include/config.h.in
---- nfs-utils-1.0.7/support/include/config.h.in~CITI_NFS4_ALL  2005-05-06 15:19:22.383384000 -0400
-+++ nfs-utils-1.0.7-kwc/support/include/config.h.in    2005-05-06 15:19:26.028447000 -0400
-@@ -5,6 +5,12 @@
- /* Define this if you have string.h */
- #undef  HAVE_STRING_H
-+/* Define this if you have com_err.h */
-+#undef  HAVE_COM_ERR_H
-+
-+/* Define this if you have <et/com_err.h> */
-+#undef  HAVE_ET_COM_ERR_H
-+
- /* Define this if you have netgroup support
-  */
- #undef  HAVE_INNETGR
-@@ -43,3 +49,28 @@
- /* Define this if the Kerberos gssapi library has function
-  * gss_krb5_cache_name */
- #undef HAVE_GSS_KRB5_CCACHE_NAME
-+
-+/* Define this if the rpcsec_gss library has the function
-+ * authgss_set_debug_level */
-+#undef HAVE_AUTHGSS_SET_DEBUG_LEVEL
-+
-+/* Define this if we want to use the private Kerberos
-+ * gssapi library function, gss_krb5_cache_name, to
-+ * specify the credentials cache file to be used by
-+ * the gssapi library.
-+ * (For MIT releases 1.3.1 and before, this must
-+ * be defined. For later releases we can simply
-+ * set the KRB5CCNAME environment variable.) */
-+#undef USE_GSS_KRB5_CCACHE_NAME
-+
-+/* The size of a `int', as computed by sizeof. */
-+#undef SIZEOF_INT
-+
-+/* The size of a `long', as computed by sizeof. */
-+#undef SIZEOF_LONG
-+
-+/* The size of a `short', as computed by sizeof. */
-+#undef SIZEOF_SHORT
-+
-+/* The size of a `size_t', as computed by sizeof. */
-+#undef SIZEOF_SIZE_T
-diff -puN utils/svcgssd/Makefile~CITI_NFS4_ALL utils/svcgssd/Makefile
---- nfs-utils-1.0.7/utils/svcgssd/Makefile~CITI_NFS4_ALL       2005-05-06 15:19:22.441326000 -0400
-+++ nfs-utils-1.0.7-kwc/utils/svcgssd/Makefile 2005-05-06 15:19:26.017448000 -0400
-@@ -6,18 +6,23 @@ PROGRAM      = svcgssd
- PREFIX        = rpc.
- OBJS  = svcgssd.o svcgssd_main_loop.o svcgssd_proc.o err_util.o gss_util.o \
-         gss_oids.o context.o context_heimdal.o cacheio.o svcgssd_mech2file.o
--LIBDEPS       = $(TOP)support/lib/librpc.a $(TOP)support/lib/libgssapi.a
--LIBS  = -Wl,-rpath=$(KRBDIR)/lib -lrpc -lgssapi -ldl $(KRBLIB) -lnfsidmap
-+LIBS  = -Wl,-rpath=$(KRBDIR)/lib -lrpcsecgss -lgssapi -ldl $(KRBLIB) -lnfsidmap
- MAN8  = svcgssd
--predep ::
--      - ln ../gssd/err_util.c
--      - ln ../gssd/gss_util.c
--      - ln ../gssd/gss_oids.c
--      - ln ../gssd/context.c
--      - ln ../gssd/context_heimdal.c
--
- include $(TOP)rules.mk
- CFLAGS += -I../gssd -DKRB5_VERSION=$(KRB5_VERSION) \
--      -I$(TOP)support/rpc/include/ -I$(KRBDIR)/include
-+      -I$(TOP)support/rpc/include/
-+predep ::
-+      - ln -s ../gssd/err_util.c
-+      - ln -s ../gssd/gss_util.c
-+      - ln -s ../gssd/gss_oids.c
-+      - ln -s ../gssd/context.c
-+      - ln -s ../gssd/context_heimdal.c
-+
-+distclean ::
-+      - rm err_util.c
-+      - rm gss_util.c
-+      - rm gss_oids.c
-+      - rm context.c
-+      - rm context_heimdal.c
-diff -puN support/include/gssapi/gssapi.h~CITI_NFS4_ALL support/include/gssapi/gssapi.h
---- nfs-utils-1.0.7/support/include/gssapi/gssapi.h~CITI_NFS4_ALL      2005-05-06 15:19:22.696320000 -0400
-+++ nfs-utils-1.0.7-kwc/support/include/gssapi/gssapi.h        2005-05-06 15:19:22.781320000 -0400
-@@ -1,25 +1,3 @@
--/* This is the gssapi.h prologue. */
--/* It contains some choice pieces of autoconf.h */
--#define SIZEOF_INT 4
--#define SIZEOF_LONG 4
--#define SIZEOF_SHORT 2
--#define HAVE_STDARG_H 1
--/* #undef HAVE_VARARGS_H */
--/* #undef HAVE_MACSOCK_H */
--#define HAVE_NETINET_IN_H 1
--#define HAVE_STDDEF_H 1
--#define HAVE_STDLIB_H 1
--#define HAVE_STRING_H 1
--#define HAVE_SYS_FILE_H 1
--#define HAVE_SYS_PARAM_H 1
--#define HAVE_SYS_SOCKET_H 1
--#define HAVE_SYS_STAT_H 1
--#define HAVE_SYS_TIME_H 1
--#define HAVE_SYS_TYPES_H 1
--#define HAVE_UNISTD_H 1
--/* #undef HAVE_XOM_H */
--#define USE_DIRENT_H 1
--/* End of gssapi.h prologue. */
- /*
-  * Copyright 1993 by OpenVision Technologies, Inc.
-  *
-@@ -45,6 +23,8 @@
- #ifndef _GSSAPI_H_
- #define _GSSAPI_H_
-+#include "config.h"
-+
- /*
-  * Determine platform-dependent configuration.
-  */
-diff -puN utils/gssd/write_bytes.h~CITI_NFS4_ALL utils/gssd/write_bytes.h
---- nfs-utils-1.0.7/utils/gssd/write_bytes.h~CITI_NFS4_ALL     2005-05-06 15:19:22.755320000 -0400
-+++ nfs-utils-1.0.7-kwc/utils/gssd/write_bytes.h       2005-05-06 15:19:22.771320000 -0400
-@@ -53,12 +53,13 @@ write_bytes(char **ptr, const char *end,
- inline static int
- write_buffer(char **p, char *end, gss_buffer_desc *arg)
- {
--      if (WRITE_BYTES(p, end, arg->length))
-+      int len = (int)arg->length;             /* make an int out of size_t */
-+      if (WRITE_BYTES(p, end, len))
-               return -1;
-       if (*p + arg->length > end)
-               return -1;
--      memcpy(*p, arg->value, arg->length);
--      *p += arg->length;
-+      memcpy(*p, arg->value, len);
-+      *p += len;
-       return 0;
- }
-@@ -80,8 +81,10 @@ get_buffer(char **ptr, const char *end, 
- {
-       char *p, *q;
-       p = *ptr;
--      if (get_bytes(&p, end, &res->length, sizeof(res->length)))
-+      int len;
-+      if (get_bytes(&p, end, &len, sizeof(len)))
-               return -1;
-+      res->length = len;              /* promote to size_t if necessary */
-       q = p + res->length;
-       if (q > end || q < p)
-               return -1;
-@@ -105,9 +108,11 @@ static inline int
- xdr_get_buffer(u_int32_t **ptr, const u_int32_t *end, gss_buffer_desc *res)
- {
-       u_int32_t *p, *q;
-+      u_int32_t len;
-       p = *ptr;
--      if (xdr_get_u32(&p, end, &res->length))
-+      if (xdr_get_u32(&p, end, &len))
-               return -1;
-+      res->length = len;
-       q = p + ((res->length + 3) >> 2);
-       if (q > end || q < p)
-               return -1;
-@@ -130,7 +135,8 @@ xdr_write_u32(u_int32_t **ptr, const u_i
- static inline int
- xdr_write_buffer(u_int32_t **ptr, const u_int32_t *end, gss_buffer_desc *arg)
- {
--      if (xdr_write_u32(ptr, end, arg->length))
-+      int len = arg->length;
-+      if (xdr_write_u32(ptr, end, len))
-               return -1;
-       return write_bytes((char **)ptr, (char *)end, arg->value,
-                          (arg->length + 3) & ~3);
-diff -puN utils/idmapd/idmapd.c~CITI_NFS4_ALL utils/idmapd/idmapd.c
---- nfs-utils-1.0.7/utils/idmapd/idmapd.c~CITI_NFS4_ALL        2005-05-06 15:19:22.926320000 -0400
-+++ nfs-utils-1.0.7-kwc/utils/idmapd/idmapd.c  2005-05-06 15:19:23.940029000 -0400
-@@ -141,6 +141,34 @@ static struct idmap_client nfsd_ic[2];
- /* Used by cfg.c */
- char *conf_path;
-+static int
-+flush_nfsd_cache(char *path, time_t now)
-+{
-+      int fd;
-+      char stime[20];
-+
-+      sprintf(stime, "%ld\n", now);
-+      fd = open(path, O_RDWR);
-+      if (fd == -1)
-+              return -1;
-+      write(fd, stime, strlen(stime));
-+      close(fd);
-+      return 0;
-+}
-+
-+static int
-+flush_nfsd_idmap_cache(void)
-+{
-+      time_t now = time(NULL);
-+      int ret;
-+
-+      ret = flush_nfsd_cache("/proc/net/rpc/nfs4.idtoname/flush", now);
-+      if (ret)
-+              return ret;
-+      ret = flush_nfsd_cache("/proc/net/rpc/nfs4.nametoid/flush", now);
-+      return ret;
-+}
-+
- int
- main(int argc, char **argv)
- {
-@@ -153,6 +181,7 @@ main(int argc, char **argv)
-       struct stat sb;
-       char *xpipefsdir = NULL;
-       int serverstart = 1, clientstart = 1;
-+      int ret;
-       conf_path = _PATH_IDMAPDCONF;
-       nobodyuser = NFS4NOBODY_USER;
-@@ -230,8 +259,14 @@ main(int argc, char **argv)
-       event_init();
--      if (serverstart)
-+      if (serverstart) {
-               nfsdret = nfsdopen(NFSD_DIR);
-+              if (nfsdret == 0) {
-+                      ret = flush_nfsd_idmap_cache();
-+                      if (ret)
-+                              errx(1, "Failed to flush nfsd idmap cache\n");
-+              }
-+      }
-       if (clientstart) {
-               struct timeval now = {
-@@ -565,10 +600,8 @@ nfsdreopen_one(struct idmap_client *ic)
-               if (ic->ic_fd != -1)
-                       close(ic->ic_fd);
-               ic->ic_event.ev_fd = ic->ic_fd = fd;
--              if ((ic->ic_event.ev_flags & EVLIST_INIT) == 0) {
--                      event_set(&ic->ic_event, ic->ic_fd, EV_READ, nfsdcb, ic);
--                      event_add(&ic->ic_event, NULL);
--              }
-+              event_set(&ic->ic_event, ic->ic_fd, EV_READ, nfsdcb, ic);
-+              event_add(&ic->ic_event, NULL);
-       } else {
-               warnx("nfsdreopen: Opening '%s' failed: errno %d (%s)",
-                       ic->ic_path, errno, strerror(errno));
-@@ -681,9 +714,7 @@ idtonameres(struct idmap_msg *im)
-                                       sizeof(im->im_name));
-               break;
-       }
--      /* XXX Hack? would rather return failure instead of writing nobody
--       * as above, but kernel seems not to deal well with that as of
--       * 2.6.8-rc3. */
-+      /* XXX Hack? */
-       im->im_status = IDMAP_STATUS_SUCCESS;
- }
-@@ -692,6 +723,14 @@ nametoidres(struct idmap_msg *im)
- {
-       int ret = 0;
-+      /* XXX: nobody fallbacks shouldn't always happen:
-+       *      server id -> name should be OK
-+       *      client name -> id should be OK
-+       * but not otherwise */
-+      /* XXX: move nobody stuff to library calls
-+       * (nfs4_get_nobody_user(domain), nfs4_get_nobody_group(domain)) */
-+      /* XXX: should make this call higher up in the call chain (so we'd
-+       * have a chance on looking up server/whatever. */
-       switch (im->im_type) {
-       case IDMAP_TYPE_USER:
-               ret = nfs4_name_to_uid(im->im_name, &im->im_id);
-@@ -704,9 +743,7 @@ nametoidres(struct idmap_msg *im)
-                       im->im_id = nobodygid;
-               break;
-       }
--      /* XXX Hack? would rather return failure instead of writing nobody
--       * as above, but kernel seems not to deal well with that as of
--       * 2.6.8-rc3. */
-+      /* XXX? */
-       im->im_status = IDMAP_STATUS_SUCCESS;
- }
-diff -puN utils/gssd/krb5_util.c~CITI_NFS4_ALL utils/gssd/krb5_util.c
---- nfs-utils-1.0.7/utils/gssd/krb5_util.c~CITI_NFS4_ALL       2005-05-06 15:19:23.197280000 -0400
-+++ nfs-utils-1.0.7-kwc/utils/gssd/krb5_util.c 2005-05-06 15:19:26.501156000 -0400
-@@ -131,7 +131,7 @@ static int select_krb5_ccache(const stru
- static int gssd_find_existing_krb5_ccache(uid_t uid, struct dirent **d);
- static int gssd_get_single_krb5_cred(krb5_context context,
-               krb5_keytab kt, struct gssd_k5_kt_princ *ple);
--static int gssd_have_realm_ple(krb5_data *realm);
-+static int gssd_have_realm_ple(void *realm);
- static int gssd_process_krb5_keytab(krb5_context context, krb5_keytab kt,
-               char *kt_name);
-@@ -270,11 +270,7 @@ limit_krb5_enctypes(struct rpc_gss_sec *
- {
-       u_int maj_stat, min_stat;
-       gss_cred_id_t credh;
--/*    krb5_enctype enctypes[] = {ENCTYPE_DES3_CBC_SHA1};
--                                 ENCTYPE_ARCFOUR_HMAC, */
--      krb5_enctype enctypes[] = {ENCTYPE_DES3_CBC_SHA1,
--                                 ENCTYPE_DES_CBC_MD5,
--                                 ENCTYPE_DES_CBC_CRC};
-+      krb5_enctype enctypes[] = { ENCTYPE_DES_CBC_CRC };
-       int num_enctypes = sizeof(enctypes) / sizeof(enctypes[0]);
-       maj_stat = gss_acquire_cred(&min_stat, NULL, 0,
-@@ -349,7 +345,7 @@ gssd_get_single_krb5_cred(krb5_context c
-       krb5_get_init_creds_opt_set_tkt_life(&options, 5*60);
- #endif
-         if ((code = krb5_get_init_creds_keytab(context, &my_creds, ple->princ,
--                                        kt, 0, 0, &options))) {
-+                                        kt, 0, NULL, &options))) {
-               char *pname;
-               if ((krb5_unparse_name(context, ple->princ, &pname))) {
-                       pname = NULL;
-@@ -358,7 +354,11 @@ gssd_get_single_krb5_cred(krb5_context c
-                           "principal '%s' from keytab '%s'\n",
-                        error_message(code),
-                        pname ? pname : "<unparsable>", kt_name);
-+#ifdef HAVE_KRB5
-               if (pname) krb5_free_unparsed_name(context, pname);
-+#else
-+              if (pname) free(pname);
-+#endif
-               goto out;
-       }
-@@ -410,13 +410,22 @@ gssd_get_single_krb5_cred(krb5_context c
-  *    1 => found ple for given realm
-  */
- static int
--gssd_have_realm_ple(krb5_data *realm)
-+gssd_have_realm_ple(void *r)
- {
-       struct gssd_k5_kt_princ *ple;
-+#ifdef HAVE_KRB5
-+      krb5_data *realm = (krb5_data *)r;
-+#else
-+      char *realm = (char *)r;
-+#endif
-       for (ple = gssd_k5_kt_princ_list; ple; ple = ple->next) {
-+#ifdef HAVE_KRB5
-               if ((realm->length == strlen(ple->realm)) &&
-                   (strncmp(realm->data, ple->realm, realm->length) == 0)) {
-+#else
-+              if (strcmp(realm, ple->realm) == 0) {
-+#endif
-                   return 1;
-               }
-       }
-@@ -466,16 +475,27 @@ gssd_process_krb5_keytab(krb5_context co
-               }
-               printerr(2, "Processing keytab entry for principal '%s'\n",
-                        pname);
-+#ifdef HAVE_KRB5
-               if ( (kte.principal->data[0].length == GSSD_SERVICE_NAME_LEN) &&
-                    (strncmp(kte.principal->data[0].data, GSSD_SERVICE_NAME,
-                             GSSD_SERVICE_NAME_LEN) == 0) &&
--                   (!gssd_have_realm_ple(&kte.principal->realm)) ) {
-+#else
-+              if ( (strlen(kte.principal->name.name_string.val[0]) == GSSD_SERVICE_NAME_LEN) &&
-+                   (strncmp(kte.principal->name.name_string.val[0], GSSD_SERVICE_NAME,
-+                            GSSD_SERVICE_NAME_LEN) == 0) &&
-+                            
-+#endif
-+                   (!gssd_have_realm_ple((void *)&kte.principal->realm)) ) {
-                       printerr(2, "We will use this entry (%s)\n", pname);
-                       ple = malloc(sizeof(struct gssd_k5_kt_princ));
-                       if (ple == NULL) {
-                               printerr(0, "ERROR: could not allocate storage "
-                                           "for principal list entry\n");
-+#ifdef HAVE_KRB5
-                               krb5_free_unparsed_name(context, pname);
-+#else
-+                              free(pname);
-+#endif
-                               retval = ENOMEM;
-                               goto out;
-                       }
-@@ -484,13 +504,21 @@ gssd_process_krb5_keytab(krb5_context co
-                       ple->ccname = NULL;
-                       ple->endtime = 0;
-                       if ((ple->realm =
-+#ifdef HAVE_KRB5
-                               strndup(kte.principal->realm.data,
-                                       kte.principal->realm.length))
-+#else
-+                              strdup(kte.principal->realm))
-+#endif
-                                       == NULL) {
-                               printerr(0, "ERROR: %s while copying realm to "
-                                           "principal list entry\n",
-                                        "not enough memory");
-+#ifdef HAVE_KRB5
-                               krb5_free_unparsed_name(context, pname);
-+#else
-+                              free(pname);
-+#endif
-                               retval = ENOMEM;
-                               goto out;
-                       }
-@@ -499,7 +527,11 @@ gssd_process_krb5_keytab(krb5_context co
-                               printerr(0, "ERROR: %s while copying principal "
-                                           "to principal list entry\n",
-                                       error_message(code));
-+#ifdef HAVE_KRB5
-                               krb5_free_unparsed_name(context, pname);
-+#else
-+                              free(pname);
-+#endif
-                               retval = code;
-                               goto out;
-                       }
-@@ -514,7 +546,11 @@ gssd_process_krb5_keytab(krb5_context co
-                       printerr(2, "We will NOT use this entry (%s)\n",
-                               pname);
-               }
-+#ifdef HAVE_KRB5
-               krb5_free_unparsed_name(context, pname);
-+#else
-+              free(pname);
-+#endif
-       }
-       if ((code = krb5_kt_end_seq_get(context, kt, &cursor))) {
-@@ -528,6 +564,36 @@ gssd_process_krb5_keytab(krb5_context co
-       return retval;
- }
-+/*
-+ * Depending on the version of Kerberos, we either need to use
-+ * a private function, or simply set the environment variable.
-+ */
-+static void
-+gssd_set_krb5_ccache_name(char *ccname)
-+{
-+#ifdef USE_GSS_KRB5_CCACHE_NAME
-+      u_int   maj_stat, min_stat;
-+
-+      printerr(2, "using gss_krb5_ccache_name to select krb5 ccache %s\n",
-+               ccname);
-+      maj_stat = gss_krb5_ccache_name(&min_stat, ccname, NULL);
-+      if (maj_stat != GSS_S_COMPLETE) {
-+              printerr(0, "WARNING: gss_krb5_ccache_name with "
-+                      "name '%s' failed (%s)\n",
-+                      ccname, error_message(min_stat));
-+      }
-+#else
-+      /*
-+       * Set the KRB5CCNAME environment variable to tell the krb5 code
-+       * which credentials cache to use.  (Instead of using the private
-+       * function above for which there is no generic gssapi
-+       * equivalent.)
-+       */
-+      printerr(2, "using environment variable to select krb5 ccache %s\n",
-+               ccname);
-+      setenv("KRB5CCNAME", ccname, 1);
-+#endif
-+}
- /*==========================*/
- /*===  External routines ===*/
-@@ -545,9 +611,6 @@ void
- gssd_setup_krb5_user_gss_ccache(uid_t uid, char *servername)
- {
-       char                    buf[MAX_NETOBJ_SZ];
--#ifdef HAVE_GSS_KRB5_CCACHE_NAME
--      u_int                   min_stat;
--#endif
-       struct dirent           *d;
-       printerr(2, "getting credentials for client with uid %u for "
-@@ -564,17 +627,7 @@ gssd_setup_krb5_user_gss_ccache(uid_t ui
-                       GSSD_DEFAULT_CRED_PREFIX, uid);
-       printerr(2, "using %s as credentials cache for client with "
-                   "uid %u for server %s\n", buf, uid, servername);
--#ifdef HAVE_GSS_KRB5_CCACHE_NAME
--      gss_krb5_ccache_name(&min_stat, buf, NULL);
--#else
--      /*
--       * Set the KRB5CCNAME environment variable to tell the krb5 code
--       * which credentials cache to use.  (Instead of using the private
--       * function above for which there is no generic gssapi
--       * equivalent.)
--       */
--       setenv("KRB5CCNAME", buf, 1);
--#endif
-+      gssd_set_krb5_ccache_name(buf);
- }
- /*
-@@ -586,22 +639,9 @@ gssd_setup_krb5_user_gss_ccache(uid_t ui
- void
- gssd_setup_krb5_machine_gss_ccache(char *ccname)
- {
--#ifdef HAVE_GSS_KRB5_CCACHE_NAME
--      u_int                   min_stat;
--#endif
-       printerr(2, "using %s as credentials cache for machine creds\n",
-                ccname);
--#ifdef HAVE_GSS_KRB5_CCACHE_NAME
--      gss_krb5_ccache_name(&min_stat, ccname, NULL);
--#else
--      /*
--       * Set the KRB5CCNAME environment variable to tell the krb5 code
--       * which credentials cache to use.  (Instead of using the private
--       * function above for which there is no generic gssapi
--       * equivalent.)
--       */
--       setenv("KRB5CCNAME", ccname, 1);
--#endif
-+      gssd_set_krb5_ccache_name(ccname);
- }
- /*
-diff -puN utils/svcgssd/svcgssd_main_loop.c~CITI_NFS4_ALL utils/svcgssd/svcgssd_main_loop.c
---- nfs-utils-1.0.7/utils/svcgssd/svcgssd_main_loop.c~CITI_NFS4_ALL    2005-05-06 15:19:23.823030000 -0400
-+++ nfs-utils-1.0.7-kwc/utils/svcgssd/svcgssd_main_loop.c      2005-05-06 15:19:23.839029000 -0400
-@@ -58,19 +58,24 @@ gssd_run()
-       f = fopen(NULLRPC_FILE, "rw");
-       if (!f) {
--              printerr(0, "failed to open %s\n", NULLRPC_FILE);
-+              printerr(0, "failed to open %s: %s\n",
-+                       NULLRPC_FILE, strerror(errno));
-               exit(1);
-       }
-       pollfd.fd = fileno(f);
-       pollfd.events = POLLIN;
-       while (1) {
-+              int save_err;
-+
-               pollfd.revents = 0;
-               printerr(1, "entering poll\n");
-               ret = poll(&pollfd, 1, -1);
-+              save_err = errno;
-               printerr(1, "leaving poll\n");
-               if (ret < 0) {
--                      if (errno != EINTR)
--                              printerr(0, "error return from poll\n");
-+                      if (save_err != EINTR)
-+                              printerr(0, "error return from poll: %s\n",
-+                                       strerror(save_err));
-               } else if (ret == 0) {
-                       /* timeout; shouldn't happen. */
-               } else {
-diff -puN utils/svcgssd/svcgssd_proc.c~CITI_NFS4_ALL utils/svcgssd/svcgssd_proc.c
---- nfs-utils-1.0.7/utils/svcgssd/svcgssd_proc.c~CITI_NFS4_ALL 2005-05-06 15:19:24.071029000 -0400
-+++ nfs-utils-1.0.7-kwc/utils/svcgssd/svcgssd_proc.c   2005-05-06 15:19:24.087029000 -0400
-@@ -52,11 +52,6 @@
- #include "context.h"
- #include "cacheio.h"
--/* XXX: ? */
--#ifndef NGROUPS
--#define NGROUPS 32
--#endif
--
- extern char * mech2file(gss_OID mech);
- #define SVCGSSD_CONTEXT_CHANNEL "/proc/net/rpc/auth.rpcsec.context/channel"
- #define SVCGSSD_INIT_CHANNEL    "/proc/net/rpc/auth.rpcsec.init/channel"
-@@ -162,6 +157,30 @@ send_response(FILE *f, gss_buffer_desc *
- #define rpcsec_gsserr_credproblem     13
- #define rpcsec_gsserr_ctxproblem      14
-+static void
-+add_supplementary_groups(char *secname, char *name, struct svc_cred *cred)
-+{
-+      int ret;
-+      static gid_t *groups = NULL;
-+
-+      cred->cr_ngroups = NGROUPS;
-+      ret = nfs4_gss_princ_to_grouplist(secname, name,
-+                      cred->cr_groups, &cred->cr_ngroups);
-+      if (ret < 0) {
-+              groups = realloc(groups, cred->cr_ngroups*sizeof(gid_t));
-+              ret = nfs4_gss_princ_to_grouplist(secname, name,
-+                              groups, &cred->cr_ngroups);
-+              if (ret < 0)
-+                      cred->cr_ngroups = 0;
-+              else {
-+                      if (cred->cr_ngroups > NGROUPS)
-+                              cred->cr_ngroups = NGROUPS;
-+                      memcpy(cred->cr_groups, groups,
-+                                      cred->cr_ngroups*sizeof(gid_t));
-+              }
-+      }
-+}
-+
- static int
- get_ids(gss_name_t client_name, gss_OID mech, struct svc_cred *cred)
- {
-@@ -172,6 +191,7 @@ get_ids(gss_name_t client_name, gss_OID 
-       uid_t           uid, gid;
-       gss_OID         name_type;
-       char            *secname;
-+      gid_t           *groups;
-       maj_stat = gss_display_name(&min_stat, client_name, &name, &name_type);
-       if (maj_stat != GSS_S_COMPLETE)
-@@ -190,8 +210,7 @@ get_ids(gss_name_t client_name, gss_OID 
-               goto out_free;
-       cred->cr_uid = uid;
-       cred->cr_gid = gid;
--      /*XXX: want add_supplementary_groups(secname, sname, cred)? */
--      cred->cr_ngroups = 0;
-+      add_supplementary_groups(secname, sname, cred);
-       res = 0;
- out_free:
-       free(sname);
-diff -puN utils/mountd/mountd.c~CITI_NFS4_ALL utils/mountd/mountd.c
---- nfs-utils-1.0.7/utils/mountd/mountd.c~CITI_NFS4_ALL        2005-05-06 15:19:24.223963000 -0400
-+++ nfs-utils-1.0.7-kwc/utils/mountd/mountd.c  2005-05-06 15:19:24.241945000 -0400
-@@ -234,7 +234,10 @@ mount_pathconf_2_svc(struct svc_req *rqs
- bool_t
- mount_mnt_3_svc(struct svc_req *rqstp, dirpath *path, mountres3 *res)
- {
--      static int      flavors[] = { AUTH_NULL, AUTH_UNIX };
-+#define AUTH_GSS_KRB5 390003
-+#define AUTH_GSS_KRB5I 390004
-+#define AUTH_GSS_KRB5P 390005
-+      static int      flavors[] = { AUTH_NULL, AUTH_UNIX, AUTH_GSS_KRB5, AUTH_GSS_KRB5I, AUTH_GSS_KRB5P};
-       struct nfs_fh_len *fh;
-       xlog(D_CALL, "MNT3(%s) called", *path);
-@@ -243,7 +246,8 @@ mount_mnt_3_svc(struct svc_req *rqstp, d
-               ok->fhandle.fhandle3_len = fh->fh_size;
-               ok->fhandle.fhandle3_val = fh->fh_handle;
--              ok->auth_flavors.auth_flavors_len = 2;
-+              ok->auth_flavors.auth_flavors_len
-+                      = sizeof(flavors)/sizeof(flavors[0]);
-               ok->auth_flavors.auth_flavors_val = flavors;
-       }
-       return 1;
-diff -puN debian/control~CITI_NFS4_ALL debian/control
---- nfs-utils-1.0.7/debian/control~CITI_NFS4_ALL       2005-05-06 15:19:24.380806000 -0400
-+++ nfs-utils-1.0.7-kwc/debian/control 2005-05-06 15:19:25.937448000 -0400
-@@ -2,7 +2,7 @@ Source: nfs-utils
- Priority: standard
- Section: net
- Maintainer: Chip Salzenberg <chip@debian.org>
--Build-Depends: debhelper (>= 4.1.16), libwrap0-dev, libevent-dev, libnfsidmap-dev, libkrb5-dev
-+Build-Depends: debhelper (>= 4.1.16), libwrap0-dev, libevent-dev, libnfsidmap-dev, libkrb5-dev, libgssapi-dev, librpcsecgss-dev
- Standards-Version: 3.1.1.1
- Package: nfs-kernel-server
-diff -puN -L debian/gssapi_mech.conf debian/gssapi_mech.conf~CITI_NFS4_ALL /dev/null
---- nfs-utils-1.0.7/debian/gssapi_mech.conf
-+++ /dev/null  2005-05-05 05:47:05.259725168 -0400
-@@ -1,19 +0,0 @@
--# GSSAPI Mechanism Definitions
--#
--# This configuration file determines which GSS-API mechanisms
--# the gssd code should use
--#
--# NOTE:
--# The initiaiization function "mechglue_internal_krb5_init"
--# is used for the MIT krb5 gssapi mechanism.  This special
--# function name indicates that an internal function should
--# be used to determine the entry points for the MIT gssapi
--# mechanism funtions.
--#
--# library                               initialization function
--# ================================     ==========================
--# The MIT K5 gssapi library, use special function for initialization.
--/usr/lib/libgssapi_krb5.so.2     mechglue_internal_krb5_init
--#
--# The SPKM3 gssapi library function.  Use the function spkm3_gss_initialize.
--#/usr/local/gss_mechs/spkm/spkm3/libgssapi_spkm3.so    spkm3_gss_initialize
-diff -puN debian/nfs-common.conffiles~CITI_NFS4_ALL debian/nfs-common.conffiles
---- nfs-utils-1.0.7/debian/nfs-common.conffiles~CITI_NFS4_ALL  2005-05-06 15:19:24.495740000 -0400
-+++ nfs-utils-1.0.7-kwc/debian/nfs-common.conffiles    2005-05-06 15:19:24.693739000 -0400
-@@ -1,4 +1,3 @@
- /etc/default/nfs-common
- /etc/init.d/nfs-common
- /etc/idmapd.conf
--/etc/gssapi_mech.conf
-diff -puN debian/nfs-common.install~CITI_NFS4_ALL debian/nfs-common.install
---- nfs-utils-1.0.7/debian/nfs-common.install~CITI_NFS4_ALL    2005-05-06 15:19:24.553740000 -0400
-+++ nfs-utils-1.0.7-kwc/debian/nfs-common.install      2005-05-06 15:19:24.698741000 -0400
-@@ -1,2 +1 @@
- debian/idmapd.conf etc
--debian/gssapi_mech.conf etc
-diff -puN support/Makefile~CITI_NFS4_ALL support/Makefile
---- nfs-utils-1.0.7/support/Makefile~CITI_NFS4_ALL     2005-05-06 15:19:24.614738000 -0400
-+++ nfs-utils-1.0.7-kwc/support/Makefile       2005-05-06 15:19:25.944448000 -0400
-@@ -2,7 +2,7 @@
- # Makefile for linux-nfs/support
- #
--SUBDIRS       = include nfs export lib misc rpc gssapi
-+SUBDIRS       = include nfs export lib misc
- .DEFAULT: all
- include $(TOP)rules.mk
-diff -puN utils/gssd/Makefile~CITI_NFS4_ALL utils/gssd/Makefile
---- nfs-utils-1.0.7/utils/gssd/Makefile~CITI_NFS4_ALL  2005-05-06 15:19:24.671739000 -0400
-+++ nfs-utils-1.0.7-kwc/utils/gssd/Makefile    2005-05-06 15:19:26.010447000 -0400
-@@ -6,8 +6,7 @@ PROGRAM        = gssd
- PREFIX        = rpc.
- OBJS  = gssd.o gssd_main_loop.o gssd_proc.o err_util.o gss_util.o \
-         gss_oids.o context.o context_heimdal.o krb5_util.o
--LIBDEPS       = $(TOP)support/lib/librpc.a $(TOP)support/lib/libgssapi.a
--LIBS  = -Wl,-rpath=$(KRBDIR)/lib -lrpc -lgssapi -ldl $(KRBLIB)
-+LIBS  = -Wl,-rpath=$(KRBDIR)/lib -lrpcsecgss -lgssapi -ldl $(KRBLIB)
- MAN8  = gssd
- include $(TOP)rules.mk
-diff -puN -L support/rpc/auth_gss.c support/rpc/auth_gss.c~CITI_NFS4_ALL /dev/null
---- nfs-utils-1.0.7/support/rpc/auth_gss.c
-+++ /dev/null  2005-05-05 05:47:05.259725168 -0400
-@@ -1,628 +0,0 @@
--/*
--  auth_gss.c
--
--  RPCSEC_GSS client routines.
--
--  Copyright (c) 2000 The Regents of the University of Michigan.
--  All rights reserved.
--
--  Copyright (c) 2000 Dug Song <dugsong@UMICH.EDU>.
--  All rights reserved, all wrongs reversed.
--
--  Redistribution and use in source and binary forms, with or without
--  modification, are permitted provided that the following conditions
--  are met:
--
--  1. Redistributions of source code must retain the above copyright
--     notice, this list of conditions and the following disclaimer.
--  2. Redistributions in binary form must reproduce the above copyright
--     notice, this list of conditions and the following disclaimer in the
--     documentation and/or other materials provided with the distribution.
--  3. Neither the name of the University nor the names of its
--     contributors may be used to endorse or promote products derived
--     from this software without specific prior written permission.
--
--  THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
--  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
--  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
--  DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
--  FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
--  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
--  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
--  BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
--  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
--  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
--  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
--
--*/
--
--#include <stdio.h>
--#include <stdlib.h>
--#include <unistd.h>
--#include <string.h>
--#include <errno.h>
--#include <rpc/types.h>
--#include <rpc/xdr.h>
--#include <rpc/auth.h>
--#include <rpc/auth_gss.h>
--#include <rpc/clnt.h>
--#include <netinet/in.h>
--#include <gssapi/gssapi.h>
--
--static void   authgss_nextverf();
--static bool_t authgss_marshal();
--static bool_t authgss_refresh();
--static bool_t authgss_validate();
--static void   authgss_destroy();
--static void   authgss_destroy_context();
--static bool_t authgss_wrap();
--static bool_t authgss_unwrap();
--
--
--/*
-- * from mit-krb5-1.2.1 mechglue/mglueP.h:
-- * Array of context IDs typed by mechanism OID
-- */
--typedef struct gss_union_ctx_id_t {
--      gss_OID     mech_type;
--      gss_ctx_id_t    internal_ctx_id;
--} gss_union_ctx_id_desc, *gss_union_ctx_id_t;
--
--static struct auth_ops authgss_ops = {
--      authgss_nextverf,
--      authgss_marshal,
--      authgss_validate,
--      authgss_refresh,
--      authgss_destroy,
--      authgss_wrap,
--      authgss_unwrap
--};
--
--#ifdef DEBUG
--
--/* useful as i add more mechanisms */
--void
--print_rpc_gss_sec(struct rpc_gss_sec *ptr)
--{
--int i;
--char *p;
--
--      log_debug("rpc_gss_sec:");
--      if(ptr->mech == NULL)
--              log_debug("NULL gss_OID mech");
--      else {
--              fprintf(stderr, "     mechanism_OID: {");
--              p = (char *)ptr->mech->elements;
--              for (i=0; i < ptr->mech->length; i++)
--                      /* First byte of OIDs encoded to save a byte */
--                      if (i == 0) {
--                              int first, second;
--                              if (*p < 40) {
--                                      first = 0;
--                                      second = *p;
--                              }
--                              else if (40 <= *p && *p < 80) {
--                                      first = 1;
--                                      second = *p - 40;
--                              }
--                              else if (80 <= *p && *p < 127) {
--                                      first = 2;
--                                      second = *p - 80;
--                              }
--                              else {
--                                      /* Invalid value! */
--                                      first = -1;
--                                      second = -1;
--                              }
--                              fprintf(stderr, " %u %u", first, second);
--                              p++;
--                      }
--                      else {
--                              fprintf(stderr, " %u", (unsigned char)*p++);
--                      }
--              fprintf(stderr, " }\n");
--      }
--      fprintf(stderr, "     qop: %d\n", ptr->qop);
--      fprintf(stderr, "     service: %d\n", ptr->svc);
--      fprintf(stderr, "     cred: %p\n", ptr->cred);
--}
--#endif /*DEBUG*/
--
--struct rpc_gss_data {
--      bool_t                   established;   /* context established */
--      gss_buffer_desc          gc_wire_verf;  /* save GSS_S_COMPLETE NULL RPC verfier
--                                               * to process at end of context negotiation*/
--      CLIENT                  *clnt;          /* client handle */
--      gss_name_t               name;          /* service name */
--      struct rpc_gss_sec       sec;           /* security tuple */
--      gss_ctx_id_t             ctx;           /* context id */
--      struct rpc_gss_cred      gc;            /* client credentials */
--      u_int                    win;           /* sequence window */
--};
--
--#define       AUTH_PRIVATE(auth)      ((struct rpc_gss_data *)auth->ah_private)
--
--static struct timeval AUTH_TIMEOUT = { 25, 0 };
--
--AUTH *
--authgss_create(CLIENT *clnt, gss_name_t name, struct rpc_gss_sec *sec)
--{
--      AUTH                    *auth, *save_auth;
--      struct rpc_gss_data     *gd;
--      OM_uint32               min_stat = 0;
--
--      log_debug("in authgss_create()");
--
--      memset(&rpc_createerr, 0, sizeof(rpc_createerr));
--
--      if ((auth = calloc(sizeof(*auth), 1)) == NULL) {
--              rpc_createerr.cf_stat = RPC_SYSTEMERROR;
--              rpc_createerr.cf_error.re_errno = ENOMEM;
--              return (NULL);
--      }
--      if ((gd = calloc(sizeof(*gd), 1)) == NULL) {
--              rpc_createerr.cf_stat = RPC_SYSTEMERROR;
--              rpc_createerr.cf_error.re_errno = ENOMEM;
--              free(auth);
--              return (NULL);
--      }
--#ifdef DEBUG
--      fprintf(stderr, "authgss_create: name is %p\n", name);
--#endif
--      if (name != GSS_C_NO_NAME) {
--              if (gss_duplicate_name(&min_stat, name, &gd->name)
--                                              != GSS_S_COMPLETE) {
--                      rpc_createerr.cf_stat = RPC_SYSTEMERROR;
--                      rpc_createerr.cf_error.re_errno = ENOMEM;
--                      free(auth);
--                      return (NULL);
--              }
--      }
--      else
--              gd->name = name;
--
--#ifdef DEBUG
--      fprintf(stderr, "authgss_create: gd->name is %p\n", gd->name);
--#endif
--      gd->clnt = clnt;
--      gd->ctx = GSS_C_NO_CONTEXT;
--      gd->sec = *sec;
--
--      gd->gc.gc_v = RPCSEC_GSS_VERSION;
--      gd->gc.gc_proc = RPCSEC_GSS_INIT;
--      gd->gc.gc_svc = gd->sec.svc;
--
--      auth->ah_ops = &authgss_ops;
--      auth->ah_private = (caddr_t)gd;
--
--      save_auth = clnt->cl_auth;
--      clnt->cl_auth = auth;
--
--      if (!authgss_refresh(auth))
--              auth = NULL;
--
--      clnt->cl_auth = save_auth;
--
--      return (auth);
--}
--
--AUTH *
--authgss_create_default(CLIENT *clnt, char *service, struct rpc_gss_sec *sec)
--{
--      AUTH                    *auth;
--      OM_uint32                maj_stat = 0, min_stat = 0;
--      gss_buffer_desc          sname;
--      gss_name_t               name = GSS_C_NO_NAME;
--
--      log_debug("in authgss_create_default()");
--
--
--      sname.value = service;
--      sname.length = strlen(service);
--
--      maj_stat = gss_import_name(&min_stat, &sname,
--              GSS_C_NT_HOSTBASED_SERVICE,
--              &name);
--
--      if (maj_stat != GSS_S_COMPLETE) {
--              log_status("gss_import_name", maj_stat, min_stat);
--              rpc_createerr.cf_stat = RPC_AUTHERROR;
--              return (NULL);
--      }
--
--      auth = authgss_create(clnt, name, sec);
--
--      if (name != GSS_C_NO_NAME) {
--#ifdef DEBUG
--      fprintf(stderr, "authgss_create_default: freeing name %p\n", name);
--#endif
--              gss_release_name(&min_stat, &name);
--      }
--
--      return (auth);
--}
--
--bool_t
--authgss_get_private_data(AUTH *auth, struct authgss_private_data *pd)
--{
--      struct rpc_gss_data     *gd;
--
--      log_debug("in authgss_get_private_data()");
--
--      if (!auth || !pd)
--              return (FALSE);
--
--      gd = AUTH_PRIVATE(auth);
--
--      if (!gd || !gd->established)
--              return (FALSE);
--
--      pd->pd_ctx = gd->ctx;
--      pd->pd_ctx_hndl = gd->gc.gc_ctx;
--      pd->pd_seq_win = gd->win;
--
--      return (TRUE);
--}
--
--static void
--authgss_nextverf(AUTH *auth)
--{
--      log_debug("in authgss_nextverf()");
--      /* no action necessary */
--}
--
--static bool_t
--authgss_marshal(AUTH *auth, XDR *xdrs)
--{
--      XDR                      tmpxdrs;
--      char                     tmp[MAX_AUTH_BYTES];
--      struct rpc_gss_data     *gd;
--      gss_buffer_desc          rpcbuf, checksum;
--      OM_uint32                maj_stat, min_stat;
--      bool_t                   xdr_stat;
--
--      log_debug("in authgss_marshal()");
--
--      gd = AUTH_PRIVATE(auth);
--
--      if (gd->established)
--              gd->gc.gc_seq++;
--
--      xdrmem_create(&tmpxdrs, tmp, sizeof(tmp), XDR_ENCODE);
--
--      if (!xdr_rpc_gss_cred(&tmpxdrs, &gd->gc)) {
--              XDR_DESTROY(&tmpxdrs);
--              return (FALSE);
--      }
--      auth->ah_cred.oa_flavor = RPCSEC_GSS;
--      auth->ah_cred.oa_base = tmp;
--      auth->ah_cred.oa_length = XDR_GETPOS(&tmpxdrs);
--
--      XDR_DESTROY(&tmpxdrs);
--
--      if (!xdr_opaque_auth(xdrs, &auth->ah_cred))
--              return (FALSE);
--
--      if (gd->gc.gc_proc == RPCSEC_GSS_INIT ||
--          gd->gc.gc_proc == RPCSEC_GSS_CONTINUE_INIT) {
--              return (xdr_opaque_auth(xdrs, &_null_auth));
--      }
--      /* Checksum serialized RPC header, up to and including credential. */
--      rpcbuf.length = XDR_GETPOS(xdrs);
--      XDR_SETPOS(xdrs, 0);
--      rpcbuf.value = XDR_INLINE(xdrs, rpcbuf.length);
--
--      maj_stat = gss_get_mic(&min_stat, gd->ctx, gd->sec.qop,
--                          &rpcbuf, &checksum);
--
--      if (maj_stat != GSS_S_COMPLETE) {
--              log_status("gss_get_mic", maj_stat, min_stat);
--              if (maj_stat == GSS_S_CONTEXT_EXPIRED) {
--                      gd->established = FALSE;
--                      authgss_destroy_context(auth);
--              }
--              return (FALSE);
--      }
--      auth->ah_verf.oa_flavor = RPCSEC_GSS;
--      auth->ah_verf.oa_base = checksum.value;
--      auth->ah_verf.oa_length = checksum.length;
--
--      xdr_stat = xdr_opaque_auth(xdrs, &auth->ah_verf);
--      gss_release_buffer(&min_stat, &checksum);
--
--      return (xdr_stat);
--}
--
--static bool_t
--authgss_validate(AUTH *auth, struct opaque_auth *verf)
--{
--      struct rpc_gss_data     *gd;
--      u_int                    num, qop_state;
--      gss_buffer_desc          signbuf, checksum;
--      OM_uint32                maj_stat, min_stat;
--
--      log_debug("in authgss_validate()");
--
--      gd = AUTH_PRIVATE(auth);
--
--      if (gd->established == FALSE) {
--              /* would like to do this only on NULL rpc --
--               * gc->established is good enough.
--               * save the on the wire verifier to validate last
--               * INIT phase packet after decode if the major
--               * status is GSS_S_COMPLETE
--               */
--              if ((gd->gc_wire_verf.value =
--                              mem_alloc(verf->oa_length)) == NULL) {
--                      fprintf(stderr, "gss_validate: out of memory\n");
--                      return (FALSE);
--              }
--              memcpy(gd->gc_wire_verf.value, verf->oa_base, verf->oa_length);
--              gd->gc_wire_verf.length = verf->oa_length;
--              return (TRUE);
--      }
--
--      if (gd->gc.gc_proc == RPCSEC_GSS_INIT ||
--          gd->gc.gc_proc == RPCSEC_GSS_CONTINUE_INIT) {
--              num = htonl(gd->win);
--      }
--      else num = htonl(gd->gc.gc_seq);
--
--      signbuf.value = &num;
--      signbuf.length = sizeof(num);
--
--      checksum.value = verf->oa_base;
--      checksum.length = verf->oa_length;
--
--      maj_stat = gss_verify_mic(&min_stat, gd->ctx, &signbuf,
--                                &checksum, &qop_state);
--      if (maj_stat != GSS_S_COMPLETE || qop_state != gd->sec.qop) {
--              log_status("gss_verify_mic", maj_stat, min_stat);
--              if (maj_stat == GSS_S_CONTEXT_EXPIRED) {
--                      gd->established = FALSE;
--                      authgss_destroy_context(auth);
--              }
--              return (FALSE);
--      }
--      return (TRUE);
--}
--
--static bool_t
--authgss_refresh(AUTH *auth)
--{
--      struct rpc_gss_data     *gd;
--      struct rpc_gss_init_res  gr;
--      gss_buffer_desc         *recv_tokenp, send_token;
--      OM_uint32                maj_stat, min_stat, call_stat, ret_flags;
--      OM_uint32                req_flags=0;
--
--      log_debug("in authgss_refresh()");
--
--      gd = AUTH_PRIVATE(auth);
--
--      if (gd->established)
--              return (TRUE);
--
--      /* GSS context establishment loop. */
--      memset(&gr, 0, sizeof(gr));
--      recv_tokenp = GSS_C_NO_BUFFER;
--
--#ifdef DEBUG
--      print_rpc_gss_sec(&gd->sec);
--#endif /*DEBUG*/
--
--      for (;;) {
--#ifdef DEBUG
--              /* print the token we just received */
--              if (recv_tokenp != GSS_C_NO_BUFFER) {
--                      log_debug("The token we just received (length %d):",
--                                recv_tokenp->length);
--                      log_hexdump(recv_tokenp->value, recv_tokenp->length, 0);
--              }
--#endif
--              maj_stat = gss_init_sec_context(&min_stat,
--                                              gd->sec.cred,
--                                              &gd->ctx,
--                                              gd->name,
--                                              gd->sec.mech,
--                                              gd->sec.req_flags,
--                                              0,              /* time req */
--                                              NULL,           /* channel */
--                                              recv_tokenp,
--                                              NULL,           /* used mech */
--                                              &send_token,
--                                              &ret_flags,
--                                              NULL);          /* time rec */
--
--              if (recv_tokenp != GSS_C_NO_BUFFER) {
--                      gss_release_buffer(&min_stat, &gr.gr_token);
--                      recv_tokenp = GSS_C_NO_BUFFER;
--              }
--              if (maj_stat != GSS_S_COMPLETE &&
--                  maj_stat != GSS_S_CONTINUE_NEEDED) {
--                      log_status("gss_init_sec_context", maj_stat, min_stat);
--                      break;
--              }
--              if (send_token.length != 0) {
--                      memset(&gr, 0, sizeof(gr));
--
--#ifdef DEBUG
--                      /* print the token we are about to send */
--                      log_debug("The token being sent (length %d):",
--                                send_token.length);
--                      log_hexdump(send_token.value, send_token.length, 0);
--#endif
--
--                      call_stat = clnt_call(gd->clnt, NULLPROC,
--                                            xdr_rpc_gss_init_args,
--                                            &send_token,
--                                            xdr_rpc_gss_init_res,
--                                            (caddr_t)&gr, AUTH_TIMEOUT);
--
--                      gss_release_buffer(&min_stat, &send_token);
--
--                      if (call_stat != RPC_SUCCESS ||
--                          (gr.gr_major != GSS_S_COMPLETE &&
--                           gr.gr_major != GSS_S_CONTINUE_NEEDED))
--                              return FALSE;
--
--                      if (gr.gr_ctx.length != 0) {
--                              if (gd->gc.gc_ctx.value)
--                                      gss_release_buffer(&min_stat,
--                                                         &gd->gc.gc_ctx);
--                              gd->gc.gc_ctx = gr.gr_ctx;
--                      }
--                      if (gr.gr_token.length != 0) {
--                              if (maj_stat != GSS_S_CONTINUE_NEEDED)
--                                      break;
--                              recv_tokenp = &gr.gr_token;
--                      }
--                      gd->gc.gc_proc = RPCSEC_GSS_CONTINUE_INIT;
--              }
--
--              /* GSS_S_COMPLETE => check gss header verifier,
--               * usually checked in gss_validate
--               */
--              if (maj_stat == GSS_S_COMPLETE) {
--                      gss_buffer_desc   bufin;
--                      gss_buffer_desc   bufout;
--                      u_int seq, qop_state = 0;
--
--                      seq = htonl(gr.gr_win);
--                      bufin.value = (unsigned char *)&seq;
--                      bufin.length = sizeof(seq);
--                      bufout.value = (unsigned char *)gd->gc_wire_verf.value;
--                      bufout.length = gd->gc_wire_verf.length;
--
--                      maj_stat = gss_verify_mic(&min_stat, gd->ctx,
--                              &bufin, &bufout, &qop_state);
--
--                      if (maj_stat != GSS_S_COMPLETE
--                                      || qop_state != gd->sec.qop) {
--                              log_status("gss_verify_mic", maj_stat, min_stat);
--                              if (maj_stat == GSS_S_CONTEXT_EXPIRED) {
--                                      gd->established = FALSE;
--                                      authgss_destroy_context(auth);
--                              }
--                              return (FALSE);
--                      }
--                      gd->established = TRUE;
--                      gd->gc.gc_proc = RPCSEC_GSS_DATA;
--                      gd->gc.gc_seq = 0;
--                      gd->win = gr.gr_win;
--                      break;
--              }
--      }
--      /* End context negotiation loop. */
--      if (gd->gc.gc_proc != RPCSEC_GSS_DATA) {
--              if (gr.gr_token.length != 0)
--                      gss_release_buffer(&min_stat, &gr.gr_token);
--
--              authgss_destroy(auth);
--              auth = NULL;
--              rpc_createerr.cf_stat = RPC_AUTHERROR;
--
--              return (FALSE);
--      }
--      return (TRUE);
--}
--
--bool_t
--authgss_service(AUTH *auth, int svc)
--{
--      struct rpc_gss_data     *gd;
--
--      log_debug("in authgss_service()");
--
--      if (!auth)
--              return(FALSE);
--      gd = AUTH_PRIVATE(auth);
--      if (!gd || !gd->established)
--              return (FALSE);
--      gd->sec.svc = svc;
--      gd->gc.gc_svc = svc;
--      return (TRUE);
--}
--
--static void
--authgss_destroy_context(AUTH *auth)
--{
--      struct rpc_gss_data     *gd;
--      OM_uint32                min_stat;
--
--      log_debug("in authgss_destroy_context()");
--
--      gd = AUTH_PRIVATE(auth);
--
--      if (gd->gc.gc_ctx.length != 0) {
--              if (gd->established) {
--                      gd->gc.gc_proc = RPCSEC_GSS_DESTROY;
--                      clnt_call(gd->clnt, NULLPROC, xdr_void, NULL,
--                                xdr_void, NULL, AUTH_TIMEOUT);
--              }
--              gss_release_buffer(&min_stat, &gd->gc.gc_ctx);
--              /* XXX ANDROS check size of context  - should be 8 */
--              memset(&gd->gc.gc_ctx, 0, sizeof(gd->gc.gc_ctx));
--      }
--      if (gd->ctx != GSS_C_NO_CONTEXT) {
--              gss_delete_sec_context(&min_stat, &gd->ctx, NULL);
--              gd->ctx = GSS_C_NO_CONTEXT;
--      }
--      gd->established = FALSE;
--}
--
--static void
--authgss_destroy(AUTH *auth)
--{
--      struct rpc_gss_data     *gd;
--      OM_uint32                min_stat;
--
--      log_debug("in authgss_destroy()");
--
--      gd = AUTH_PRIVATE(auth);
--
--      authgss_destroy_context(auth);
--
--#ifdef DEBUG
--      fprintf(stderr, "authgss_destroy: freeing name %p\n", gd->name);
--#endif
--      if (gd->name != GSS_C_NO_NAME)
--              gss_release_name(&min_stat, &gd->name);
--
--      free(gd);
--      free(auth);
--}
--
--bool_t
--authgss_wrap(AUTH *auth, XDR *xdrs, xdrproc_t xdr_func, caddr_t xdr_ptr)
--{
--      struct rpc_gss_data     *gd;
--
--      log_debug("in authgss_wrap()");
--
--      gd = AUTH_PRIVATE(auth);
--
--      if (!gd->established || gd->sec.svc == RPCSEC_GSS_SVC_NONE) {
--              return ((*xdr_func)(xdrs, xdr_ptr));
--      }
--      return (xdr_rpc_gss_data(xdrs, xdr_func, xdr_ptr,
--                               gd->ctx, gd->sec.qop,
--                               gd->sec.svc, gd->gc.gc_seq));
--}
--
--bool_t
--authgss_unwrap(AUTH *auth, XDR *xdrs, xdrproc_t xdr_func, caddr_t xdr_ptr)
--{
--      struct rpc_gss_data     *gd;
--
--      log_debug("in authgss_unwrap()");
--
--      gd = AUTH_PRIVATE(auth);
--
--      if (!gd->established || gd->sec.svc == RPCSEC_GSS_SVC_NONE) {
--              return ((*xdr_func)(xdrs, xdr_ptr));
--      }
--      return (xdr_rpc_gss_data(xdrs, xdr_func, xdr_ptr,
--                               gd->ctx, gd->sec.qop,
--                               gd->sec.svc, gd->gc.gc_seq));
--}
-diff -puN -L support/rpc/authgss_prot.c support/rpc/authgss_prot.c~CITI_NFS4_ALL /dev/null
---- nfs-utils-1.0.7/support/rpc/authgss_prot.c
-+++ /dev/null  2005-05-05 05:47:05.259725168 -0400
-@@ -1,355 +0,0 @@
--/*
--  authgss_prot.c
--
--  Copyright (c) 2000 The Regents of the University of Michigan.
--  All rights reserved.
--
--  Copyright (c) 2000 Dug Song <dugsong@UMICH.EDU>.
--  All rights reserved, all wrongs reversed.
--
--  Redistribution and use in source and binary forms, with or without
--  modification, are permitted provided that the following conditions
--  are met:
--
--  1. Redistributions of source code must retain the above copyright
--     notice, this list of conditions and the following disclaimer.
--  2. Redistributions in binary form must reproduce the above copyright
--     notice, this list of conditions and the following disclaimer in the
--     documentation and/or other materials provided with the distribution.
--  3. Neither the name of the University nor the names of its
--     contributors may be used to endorse or promote products derived
--     from this software without specific prior written permission.
--
--  THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
--  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
--  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
--  DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
--  FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
--  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
--  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
--  BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
--  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
--  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
--  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
--
--*/
--
--#include <stdio.h>
--#include <stdlib.h>
--#include <stdarg.h>
--#include <rpc/types.h>
--#include <rpc/xdr.h>
--#include <rpc/auth.h>
--#include <rpc/auth_gss.h>
--#include <rpc/rpc.h>
--#include <gssapi/gssapi.h>
--
--bool_t
--xdr_rpc_gss_cred(XDR *xdrs, struct rpc_gss_cred *p)
--{
--      bool_t xdr_stat;
--
--      xdr_stat = (xdr_u_int(xdrs, &p->gc_v) &&
--                  xdr_enum(xdrs, (enum_t *)&p->gc_proc) &&
--                  xdr_u_int(xdrs, &p->gc_seq) &&
--                  xdr_enum(xdrs, (enum_t *)&p->gc_svc) &&
--                  xdr_bytes(xdrs, (char **)&p->gc_ctx.value,
--                            &p->gc_ctx.length, MAX_AUTH_BYTES));
--
--      log_debug("xdr_rpc_gss_cred: %s %s "
--                "(v %d, proc %d, seq %d, svc %d, ctx %p:%d)",
--                (xdrs->x_op == XDR_ENCODE) ? "encode" : "decode",
--                (xdr_stat == TRUE) ? "success" : "failure",
--                p->gc_v, p->gc_proc, p->gc_seq, p->gc_svc,
--                p->gc_ctx.value, p->gc_ctx.length);
--
--      return (xdr_stat);
--}
--
--bool_t
--xdr_rpc_gss_init_args(XDR *xdrs, gss_buffer_desc *p)
--{
--      bool_t xdr_stat;
--
--      xdr_stat = xdr_bytes(xdrs, (char **)&p->value,
--                            &p->length, MAX_NETOBJ_SZ);
--
--      log_debug("xdr_rpc_gss_init_args: %s %s (token %p:%d)",
--                (xdrs->x_op == XDR_ENCODE) ? "encode" : "decode",
--                (xdr_stat == TRUE) ? "success" : "failure",
--                p->value, p->length);
--
--      return (xdr_stat);
--}
--
--bool_t
--xdr_rpc_gss_init_res(XDR *xdrs, struct rpc_gss_init_res *p)
--{
--      bool_t xdr_stat;
--
--      xdr_stat = (xdr_bytes(xdrs, (char **)&p->gr_ctx.value,
--                            &p->gr_ctx.length, MAX_NETOBJ_SZ) &&
--                  xdr_u_int(xdrs, &p->gr_major) &&
--                  xdr_u_int(xdrs, &p->gr_minor) &&
--                  xdr_u_int(xdrs, &p->gr_win) &&
--                  xdr_bytes(xdrs, (char **)&p->gr_token.value,
--                            &p->gr_token.length, MAX_NETOBJ_SZ));
--
--      log_debug("xdr_rpc_gss_init_res %s %s "
--                "(ctx %p:%d, maj %d, min %d, win %d, token %p:%d)",
--                (xdrs->x_op == XDR_ENCODE) ? "encode" : "decode",
--                (xdr_stat == TRUE) ? "success" : "failure",
--                p->gr_ctx.value, p->gr_ctx.length,
--                p->gr_major, p->gr_minor, p->gr_win,
--                p->gr_token.value, p->gr_token.length);
--
--      return (xdr_stat);
--}
--
--bool_t
--xdr_rpc_gss_wrap_data(XDR *xdrs, xdrproc_t xdr_func, caddr_t xdr_ptr,
--                    gss_ctx_id_t ctx, gss_qop_t qop,
--                    rpc_gss_svc_t svc, u_int seq)
--{
--      gss_buffer_desc databuf, wrapbuf;
--      OM_uint32       maj_stat, min_stat;
--      int             start, end, conf_state;
--      bool_t          xdr_stat;
--
--      /* Skip databody length. */
--      start = XDR_GETPOS(xdrs);
--      XDR_SETPOS(xdrs, start + 4);
--
--      /* Marshal rpc_gss_data_t (sequence number + arguments). */
--      if (!xdr_u_int(xdrs, &seq) || !(*xdr_func)(xdrs, xdr_ptr))
--              return (FALSE);
--      end = XDR_GETPOS(xdrs);
--
--      /* Set databuf to marshalled rpc_gss_data_t. */
--      databuf.length = end - start - 4;
--      XDR_SETPOS(xdrs, start + 4);
--      databuf.value = XDR_INLINE(xdrs, databuf.length);
--
--      xdr_stat = FALSE;
--
--      if (svc == RPCSEC_GSS_SVC_INTEGRITY) {
--              /* Marshal databody_integ length. */
--              XDR_SETPOS(xdrs, start);
--              if (!xdr_u_int(xdrs, &databuf.length))
--                      return (FALSE);
--
--              /* Checksum rpc_gss_data_t. */
--              maj_stat = gss_get_mic(&min_stat, ctx, qop,
--                                     &databuf, &wrapbuf);
--              if (maj_stat != GSS_S_COMPLETE) {
--                      log_debug("gss_get_mic failed");
--                      return (FALSE);
--              }
--              /* Marshal checksum. */
--              XDR_SETPOS(xdrs, end);
--              xdr_stat = xdr_bytes(xdrs, (char **)&wrapbuf.value,
--                                   &wrapbuf.length, MAX_NETOBJ_SZ);
--              gss_release_buffer(&min_stat, &wrapbuf);
--      }
--      else if (svc == RPCSEC_GSS_SVC_PRIVACY) {
--              /* Encrypt rpc_gss_data_t. */
--              maj_stat = gss_wrap(&min_stat, ctx, TRUE, qop, &databuf,
--                                  &conf_state, &wrapbuf);
--              if (maj_stat != GSS_S_COMPLETE) {
--                      log_status("gss_wrap", maj_stat, min_stat);
--                      return (FALSE);
--              }
--              /* Marshal databody_priv. */
--              XDR_SETPOS(xdrs, start);
--              xdr_stat = xdr_bytes(xdrs, (char **)&wrapbuf.value,
--                                   &wrapbuf.length, MAX_NETOBJ_SZ);
--              gss_release_buffer(&min_stat, &wrapbuf);
--      }
--      return (xdr_stat);
--}
--
--bool_t
--xdr_rpc_gss_unwrap_data(XDR *xdrs, xdrproc_t xdr_func, caddr_t xdr_ptr,
--                      gss_ctx_id_t ctx, gss_qop_t qop,
--                      rpc_gss_svc_t svc, u_int seq)
--{
--      XDR             tmpxdrs;
--      gss_buffer_desc databuf, wrapbuf;
--      OM_uint32       maj_stat, min_stat;
--      u_int           seq_num, conf_state, qop_state;
--      bool_t          xdr_stat;
--
--      if (xdr_func == xdr_void || xdr_ptr == NULL)
--              return (TRUE);
--
--      memset(&databuf, 0, sizeof(databuf));
--      memset(&wrapbuf, 0, sizeof(wrapbuf));
--
--      if (svc == RPCSEC_GSS_SVC_INTEGRITY) {
--              /* Decode databody_integ. */
--              if (!xdr_bytes(xdrs, (char **)&databuf.value, &databuf.length,
--                             MAX_NETOBJ_SZ)) {
--                      log_debug("xdr decode databody_integ failed");
--                      return (FALSE);
--              }
--              /* Decode checksum. */
--              if (!xdr_bytes(xdrs, (char **)&wrapbuf.value, &wrapbuf.length,
--                             MAX_NETOBJ_SZ)) {
--                      gss_release_buffer(&min_stat, &databuf);
--                      log_debug("xdr decode checksum failed");
--                      return (FALSE);
--              }
--              /* Verify checksum and QOP. */
--              maj_stat = gss_verify_mic(&min_stat, ctx, &databuf,
--                                        &wrapbuf, &qop_state);
--              gss_release_buffer(&min_stat, &wrapbuf);
--
--              if (maj_stat != GSS_S_COMPLETE || qop_state != qop) {
--                      gss_release_buffer(&min_stat, &databuf);
--                      log_status("gss_verify_mic", maj_stat, min_stat);
--                      return (FALSE);
--              }
--      }
--      else if (svc == RPCSEC_GSS_SVC_PRIVACY) {
--              /* Decode databody_priv. */
--              if (!xdr_bytes(xdrs, (char **)&wrapbuf.value, &wrapbuf.length,
--                             MAX_NETOBJ_SZ)) {
--                      log_debug("xdr decode databody_priv failed");
--                      return (FALSE);
--              }
--              /* Decrypt databody. */
--              maj_stat = gss_unwrap(&min_stat, ctx, &wrapbuf, &databuf,
--                                    &conf_state, &qop_state);
--
--              gss_release_buffer(&min_stat, &wrapbuf);
--
--              /* Verify encryption and QOP. */
--              if (maj_stat != GSS_S_COMPLETE || qop_state != qop ||
--                      conf_state != TRUE) {
--                      gss_release_buffer(&min_stat, &databuf);
--                      log_status("gss_unwrap", maj_stat, min_stat);
--                      return (FALSE);
--              }
--      }
--      /* Decode rpc_gss_data_t (sequence number + arguments). */
--      xdrmem_create(&tmpxdrs, databuf.value, databuf.length, XDR_DECODE);
--      xdr_stat = (xdr_u_int(&tmpxdrs, &seq_num) &&
--                  (*xdr_func)(&tmpxdrs, xdr_ptr));
--      XDR_DESTROY(&tmpxdrs);
--      gss_release_buffer(&min_stat, &databuf);
--
--      /* Verify sequence number. */
--      if (xdr_stat == TRUE && seq_num != seq) {
--              log_debug("wrong sequence number in databody");
--              return (FALSE);
--      }
--      return (xdr_stat);
--}
--
--bool_t
--xdr_rpc_gss_data(XDR *xdrs, xdrproc_t xdr_func, caddr_t xdr_ptr,
--               gss_ctx_id_t ctx, gss_qop_t qop,
--               rpc_gss_svc_t svc, u_int seq)
--{
--      switch (xdrs->x_op) {
--
--      case XDR_ENCODE:
--              return (xdr_rpc_gss_wrap_data(xdrs, xdr_func, xdr_ptr,
--                                            ctx, qop, svc, seq));
--      case XDR_DECODE:
--              return (xdr_rpc_gss_unwrap_data(xdrs, xdr_func, xdr_ptr,
--                                              ctx, qop,svc, seq));
--      case XDR_FREE:
--              return (TRUE);
--      }
--      return (FALSE);
--}
--
--#ifdef DEBUG
--#include <ctype.h>
--
--void
--log_debug(const char *fmt, ...)
--{
--      va_list ap;
--
--      va_start(ap, fmt);
--      fprintf(stderr, "rpcsec_gss: ");
--      vfprintf(stderr, fmt, ap);
--      fprintf(stderr, "\n");
--      va_end(ap);
--}
--
--void
--log_status(char *m, OM_uint32 maj_stat, OM_uint32 min_stat)
--{
--      OM_uint32 min;
--      gss_buffer_desc msg;
--      int msg_ctx = 0;
--
--      fprintf(stderr, "rpcsec_gss: %s: ", m);
--
--      gss_display_status(&min, maj_stat, GSS_C_GSS_CODE, GSS_C_NULL_OID,
--                         &msg_ctx, &msg);
--      fprintf(stderr, "%s - ", (char *)msg.value);
--      gss_release_buffer(&min, &msg);
--
--      gss_display_status(&min, min_stat, GSS_C_MECH_CODE, GSS_C_NULL_OID,
--                         &msg_ctx, &msg);
--      fprintf(stderr, "%s\n", (char *)msg.value);
--      gss_release_buffer(&min, &msg);
--}
--
--void
--log_hexdump(const u_char *buf, int len, int offset)
--{
--      u_int i, j, jm;
--      int c;
--
--      fprintf(stderr, "\n");
--      for (i = 0; i < len; i += 0x10) {
--              fprintf(stderr, "  %04x: ", (u_int)(i + offset));
--              jm = len - i;
--              jm = jm > 16 ? 16 : jm;
--
--              for (j = 0; j < jm; j++) {
--                      if ((j % 2) == 1)
--                              fprintf(stderr, "%02x ", (u_int) buf[i+j]);
--                      else
--                              fprintf(stderr, "%02x", (u_int) buf[i+j]);
--              }
--              for (; j < 16; j++) {
--                      if ((j % 2) == 1) printf("   ");
--                      else fprintf(stderr, "  ");
--              }
--              fprintf(stderr, " ");
--
--              for (j = 0; j < jm; j++) {
--                      c = buf[i+j];
--                      c = isprint(c) ? c : '.';
--                      fprintf(stderr, "%c", c);
--              }
--              fprintf(stderr, "\n");
--      }
--}
--
--#else
--
--void
--log_debug(const char *fmt, ...)
--{
--}
--
--void
--log_status(char *m, OM_uint32 maj_stat, OM_uint32 min_stat)
--{
--}
--
--void
--log_hexdump(const u_char *buf, int len, int offset)
--{
--}
--
--#endif
--
--
-diff -puN -L support/rpc/DISCLAIMER support/rpc/DISCLAIMER~CITI_NFS4_ALL /dev/null
---- nfs-utils-1.0.7/support/rpc/DISCLAIMER
-+++ /dev/null  2005-05-05 05:47:05.259725168 -0400
-@@ -1,30 +0,0 @@
--/*    $OpenBSD: DISCLAIMER,v 1.2 1996/07/20 06:12:14 deraadt Exp $    */
--
--/*
-- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
-- * unrestricted use provided that this legend is included on all tape
-- * media and as a part of the software program in whole or part.  Users
-- * may copy or modify Sun RPC without charge, but are not authorized
-- * to license or distribute it to anyone else except as part of a product or
-- * program developed by the user.
-- *
-- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
-- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
-- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
-- *
-- * Sun RPC is provided with no support and without any obligation on the
-- * part of Sun Microsystems, Inc. to assist in its use, correction,
-- * modification or enhancement.
-- *
-- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
-- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
-- * OR ANY PART THEREOF.
-- *
-- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
-- * or profits or other special, indirect and consequential damages, even if
-- * Sun has been advised of the possibility of such damages.
-- *
-- * Sun Microsystems, Inc.
-- * 2550 Garcia Avenue
-- * Mountain View, California  94043
-- */
-diff -puN support/rpc/include/rpc/auth_gss.h~CITI_NFS4_ALL support/rpc/include/rpc/auth_gss.h
---- nfs-utils-1.0.7/support/rpc/include/rpc/auth_gss.h~CITI_NFS4_ALL   2005-05-06 15:19:25.015738000 -0400
-+++ nfs-utils-1.0.7-kwc/support/rpc/include/rpc/auth_gss.h     2005-05-06 15:19:25.961448000 -0400
-@@ -37,9 +37,8 @@
- #ifndef _RPC_AUTH_GSS_H
- #define _RPC_AUTH_GSS_H
--#include "config.h"
- #include <rpc/clnt.h>
--#include "../../../include/gssapi/gssapi.h"
-+#include <gssapi/gssapi.h>
- /* RPCSEC_GSS control procedures. */
- typedef enum {
-diff -puN -L support/rpc/Makefile support/rpc/Makefile~CITI_NFS4_ALL /dev/null
---- nfs-utils-1.0.7/support/rpc/Makefile
-+++ /dev/null  2005-05-05 05:47:05.259725168 -0400
-@@ -1,18 +0,0 @@
--#
--# librpc.a
--# rpc library with rpcsec_gss
--#
--
--LIBNAME       = librpc.a
--SRCS  = auth_gss.c authgss_prot.c svc.c svc_run.c svc_auth.c \
--        svc_auth_none.c svc_auth_unix.c svc_auth_gss.c \
--        svc_raw.c svc_simple.c svc_tcp.c svc_udp.c \
--        rpc_commondata.c
--OBJS  = $(SRCS:.c=.o)
--
--include $(TOP)rules.mk
--
--CFLAGS += -I$(TOP)support/rpc/include -DDEBUG
--
--install::
--      @:
-diff -puN -L support/rpc/README support/rpc/README~CITI_NFS4_ALL /dev/null
---- nfs-utils-1.0.7/support/rpc/README
-+++ /dev/null  2005-05-05 05:47:05.259725168 -0400
-@@ -1,233 +0,0 @@
--RPCSRC 4.0 7/11/89
--
--This distribution contains Sun Microsystem's implementation of the
--RPC and XDR protocols and is compatible with 4.2BSD and 4.3BSD.  Also
--included is complete documentation, utilities, RPC service
--specification files, and demonstration services in the format used by
--the RPC protocol compiler (rpcgen).  See WHAT'S NEW below for
--details.
--
--NOTE ABOUT SECURE RPC:
--
--This release of RPCSRC contains most of the code needed to implement
--Secure RPC (see "DES Authentication" in the RPC Protocol Specification,
--doc/rpc.rfc.ms).  Due to legal considerations, we are unable to
--distribute an implementation of DES, the Data Encryption Standard, which
--Secure RPC requires.  For this reason, all of the files, documentation, and
--programs associated with Secure RPC have been placed into a separate
--directory, secure_rpc.  The RPC library contained in the main body of this
--release *DOES NOT* support Secure RPC.  See secure_rpc/README for more
--details.  (A DES library was posted in Volume 18 of comp.sources.unix.)
--
--If you wish to report bugs found in this release, send mail to:
--
--Portable ONC/NFS
--Sun Microsystems, Inc
--MS 12-33
--2550 Garcia Avenue
--Mountain View, CA  94043
--
--or send Email to nfsnet@sun.com (the Internet) or sun!nfsnet (Usenet).
--
--ROADMAP
--
--The directory hierarchy is as follows:
--
--    demo/       Various demonstration services
--    demo/dir        Remote directory lister
--    demo/msg        Remote console message delivery service
--    demo/sort       Remote sort service
--
--    doc/        Documentation for RPC, XDR and NFS in "-ms" format.
--
--    etc/        Utilities (rpcinfo and portmap).  portmap must be
--                started by root before any other RPC network services are
--                used.  SEE BELOW FOR BUGFIX TO 4.3BSD COMPILER.
--
--    man/        Manual pages for RPC library, rpcgen, and utilities.
--
--    rpc/        The RPC and XDR library.  SEE BELOW
--                FOR BUGFIX TO 4.2BSD COMPILER.
--
--    rpcgen/     The RPC Language compiler (for .x files)
--
--    rpcsvc/     Service definition files for various services and the
--                server and client code for the Remote Status service.
--
--    secure_rpc/ The files in this directory are used to build a version of
--                the RPC library with DES Authentication.  See the README
--                file in that directory for more details.
--
--BUILD INSTRUCTIONS
--
--Makefiles can be found in all directories except for man.  The
--Makefile in the top directory will cause these others to be invoked
--(except for in the doc, man and demo directories), in turn building the
--entire release.
--
--WARNING!  THE DEFAULT INSTALLATION PROCEDURES WILL INSTALL FILES
--IN /usr/include, /usr/lib, /usr/bin and /etc.
--
--The master RPC include file, rpc/rpc.h, is used by all programs and
--routines that use RPC.  It includes other RPC and system include files
--needed by the RPC system.  PLEASE NOTE: If your system has NFS, it
--may have been based on Sun's NFS Source.  The include files installed
--by this package may duplicate include files you will find on your NFS
--system.  The RPCSRC 4.0 include files are upwardly compatible to all
--NFS Source include files as of the date of this distribution (not
--including any new definitions or declarations added by your system
--vendor).  HOWEVER: Please read the comments towards the end of
--rpc/rpc.h regarding rpc/netdb.h.  You may need to uncomment the
--inclusion of that file if the structures it defines are already
--defined by your system's include files.
--
--After making any compiler fixes that are needed (see below), at
--the top directory, type:
--
--    make install
--
--For all installations, the Makefile macro DESTDIR is prepended to the
--installation path.  It is defined to be null in the Makefiles, so
--installations are relative to root.  (You will probably need root
--privileges for installing the files under the default path.)  To
--install the files under some other tree (e.g., /usr/local), use the
--command:
--
--    make install DESTDIR=/usr/local
--
--This will place the include files in /usr/local/usr/include, the RPC
--library in /usr/local/usr/lib, rpcgen in /usr/local/usr/bin, and the
--utilities in /usr/local/etc.  You'll have to edit the Makefiles or
--install the files by hand if you want to do anything other than this
--kind of relocation of the installation tree.
--
--The RPC library will be built and installed first.  By default it is
--installed in /usr/lib as "librpclib.a".  The directory
--/usr/include/rpc will also be created, and several header files will
--be installed there.  ALL RPC SERVICES INCLUDE THESE HEADER FILES.
--
--The programs in etc/ link in routines from librpclib.a.  If you change
--where it is installed, be sure to edit etc/'s Makefile to reflect this.
--These programs are installed in /etc.  PORTMAP MUST BE RUNNING ON
--YOUR SYSTEM BEFORE YOU START ANY OTHER RPC SERVICE.
--
--rpcgen is installed in /usr/bin.  This program is required to build
--the demonstration services in demo and the rstat client and server in
--rpcsvc/.
--
--The rpcsvc/ directory will install its files in the directory
--/usr/include/rpcsvc.  The Remote Status service (rstat_svc) will be
--compiled and installed in /etc.  If you wish to make this service
--available, you should either start this service when needed or have
--it started at boot time by invoking it in your /etc/rc.local script.
--(Be sure that portmap is started first!)  Sun has modified its
--version of inetd to automatically start RPC services.  (Use "make
--LIB=" when building rstat on a Sun Workstation.)  The Remote Status
--client (rstat) will be installed in /usr/bin.  This program queries
--the rstat_svc on a remote host and prints a system status summary
--similar to the one printed by "uptime".
--
--The documentation is not built during the "make install" command.
--Typing "make" in the doc directory will cause all of the manuals to
--be formatted using nroff into a single file.  We have had a report
--that certain "troff" equivalents have trouble processing the full
--manual.  If you have trouble, try building the manuals individually
--(see the Makefile).
--
--The demonstration services in the demo directory are not built by the
--top-level "make install" command.  To build these, cd to the demo
--directory and enter "make".  The three services will be built.
--RPCGEN MUST BE INSTALLED in a path that make can find.  To run the
--services, start the portmap program as root and invoke the service
--(you probably will want to put it in the background).  rpcinfo can be
--used to check that the service succeeded in getting registered with
--portmap, and to ping the service (see rpcinfo's man page).  You can
--then use the corresponding client program to exercise the service.
--To build these services on a Sun workstation, you must prevent the
--Makefile from trying to link the RPC library (as these routines are
--already a part of Sun's libc).  Use: "make LIB=".
--
--BUGFIX FOR 4.3BSD COMPILER
--
--The use of a 'void *' declaration for one of the arguments in
--the reply_proc() procedure in etc/rpcinfo.c will trigger a bug
--in the 4.3BSD compiler.  The bug is fixed by the following change to
--the compiler file mip/manifest.h:
--
--*** manifest.h.r1.1   Thu Apr 30 13:52:25 1987
----- manifest.h.r1.2   Mon Nov 23 18:58:17 1987
--***************
--*** 21,27 ****
--  /*
--   * Bogus type values
--   */
--! #define TNULL       PTR             /* pointer to UNDEF */
--  #define TVOID       FTN             /* function returning UNDEF (for void) */
--
--  /*
----- 21,27 ----
--  /*
--   * Bogus type values
--   */
--! #define TNULL       INCREF(MOETY)   /* pointer to MOETY -- impossible type */
--  #define TVOID       FTN             /* function returning UNDEF (for void) */
--
--  /*
--
--If you cannot fix your compiler, change the declaration in reply_proc()
--from 'void *' to 'char *'.
--
--BUGFIX FOR 4.2BSD COMPILER
--
--Unpatched 4.2BSD compilers complain about valid C.  You can make old
--compilers happy by changing some voids to ints.  However, the fix to
--the 4.2 VAX compiler is as follows (to mip/trees.c):
--
--*** trees.c.r1.1      Mon May 11 13:47:58 1987
----- trees.c.r1.2      Wed Jul  2 18:28:52 1986
--***************
--*** 1247,1253 ****
--              if(o==CAST && mt1==0)return(TYPL+TYMATCH);
--              if( mt12 & MDBI ) return( TYPL+LVAL+TYMATCH );
--              else if( (mt1&MENU)||(mt2&MENU) ) return( LVAL+NCVT+TYPL+PTMATCH+PUN );
--!             else if( mt12 == 0 ) break;
--              else if( mt1 & MPTR ) return( LVAL+PTMATCH+PUN );
--              else if( mt12 & MPTI ) return( TYPL+LVAL+TYMATCH+PUN );
--              break;
----- 1261,1269 ----
--              if(o==CAST && mt1==0)return(TYPL+TYMATCH);
--              if( mt12 & MDBI ) return( TYPL+LVAL+TYMATCH );
--              else if( (mt1&MENU)||(mt2&MENU) ) return( LVAL+NCVT+TYPL+PTMATCH+PUN );
--!             /* if right is TVOID and looks like a CALL, is not ok */
--!             else if (mt2 == 0 && (p->in.right->in.op == CALL || p->in.right->in.op == UNARY CALL))
--!                     break;
--              else if( mt1 & MPTR ) return( LVAL+PTMATCH+PUN );
--              else if( mt12 & MPTI ) return( TYPL+LVAL+TYMATCH+PUN );
--              break;
--
--WHAT'S NEW IN THIS RELEASE: RPCSRC 4.0
--
--The previous release was RPCSRC 3.9.  As with all previous releases,
--this release is based directly on files from Sun Microsystem's
--implementation.
--
--Upgrade from RPCSRC 3.9
--
--1)  RPCSRC 4.0 upgrades RPCSRC 3.9.  Improvements from SunOS 4.0 have
--    been integrated into this release.
--
--Secure RPC (in the secure_rpc/ directory)
--
--2)  DES Authentication routines and programs are provided.
--3)  A new manual, "Secure NFS" is provided, which describes Secure RPC
--    and Secure NFS.
--4)  Skeleton routines and manual pages are provided which describe the
--    DES encryption procedures required by Secure RPC.  HOWEVER, NO DES
--    ROUTINE IS PROVIDED.
--
--New Functionality
--
--5)  rpcinfo can now be used to de-register services from the portmapper
--    which may have terminated abnormally.
--6)  A new client, rstat, is provided which queries the rstat_svc and
--    prints a status line similar to the one displayed by "uptime".
-diff -puN -L support/rpc/rpc_commondata.c support/rpc/rpc_commondata.c~CITI_NFS4_ALL /dev/null
---- nfs-utils-1.0.7/support/rpc/rpc_commondata.c
-+++ /dev/null  2005-05-05 05:47:05.259725168 -0400
-@@ -1,42 +0,0 @@
--/*
-- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
-- * unrestricted use provided that this legend is included on all tape
-- * media and as a part of the software program in whole or part.  Users
-- * may copy or modify Sun RPC without charge, but are not authorized
-- * to license or distribute it to anyone else except as part of a product or
-- * program developed by the user.
-- *
-- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
-- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
-- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
-- *
-- * Sun RPC is provided with no support and without any obligation on the
-- * part of Sun Microsystems, Inc. to assist in its use, correction,
-- * modification or enhancement.
-- *
-- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
-- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
-- * OR ANY PART THEREOF.
-- *
-- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
-- * or profits or other special, indirect and consequential damages, even if
-- * Sun has been advised of the possibility of such damages.
-- *
-- * Sun Microsystems, Inc.
-- * 2550 Garcia Avenue
-- * Mountain View, California  94043
-- */
--
--#if defined(LIBC_SCCS) && !defined(lint)
--static char *rcsid = "$OpenBSD: rpc_commondata.c,v 1.3 1996/08/19 08:31:47 tholo Exp $";
--#endif /* LIBC_SCCS and not lint */
--
--#include <rpc/rpc.h>
--/*
-- * This file should only contain common data (global data) that is exported
-- * by public interfaces
-- */
--struct opaque_auth _null_auth;
--fd_set svc_fdset;
--int svc_maxfd = -1;
--struct rpc_createerr rpc_createerr;
-diff -puN -L support/rpc/svc_auth.c support/rpc/svc_auth.c~CITI_NFS4_ALL /dev/null
---- nfs-utils-1.0.7/support/rpc/svc_auth.c
-+++ /dev/null  2005-05-05 05:47:05.259725168 -0400
-@@ -1,113 +0,0 @@
--/*
-- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
-- * unrestricted use provided that this legend is included on all tape
-- * media and as a part of the software program in whole or part.  Users
-- * may copy or modify Sun RPC without charge, but are not authorized
-- * to license or distribute it to anyone else except as part of a product or
-- * program developed by the user.
-- *
-- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
-- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
-- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
-- *
-- * Sun RPC is provided with no support and without any obligation on the
-- * part of Sun Microsystems, Inc. to assist in its use, correction,
-- * modification or enhancement.
-- *
-- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
-- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
-- * OR ANY PART THEREOF.
-- *
-- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
-- * or profits or other special, indirect and consequential damages, even if
-- * Sun has been advised of the possibility of such damages.
-- *
-- * Sun Microsystems, Inc.
-- * 2550 Garcia Avenue
-- * Mountain View, California  94043
-- */
--
--#if defined(LIBC_SCCS) && !defined(lint)
--static char *rcsid = "$OpenBSD: svc_auth.c,v 1.4 1998/03/19 00:27:22 millert Exp $";
--#endif /* LIBC_SCCS and not lint */
--
--/*
-- * svc_auth_nodes.c, Server-side rpc authenticator interface,
-- * *WITHOUT* DES authentication.
-- *
-- * Copyright (C) 1984, Sun Microsystems, Inc.
-- */
--
--#include <rpc/rpc.h>
--
--/*
-- * svcauthsw is the bdevsw of server side authentication.
-- *
-- * Server side authenticators are called from authenticate by
-- * using the client auth struct flavor field to index into svcauthsw.
-- * The server auth flavors must implement a routine that looks
-- * like:
-- *
-- *    enum auth_stat
-- *    flavorx_auth(rqst, msg)
-- *            register struct svc_req *rqst;
-- *            register struct rpc_msg *msg;
-- *
-- */
--
--enum auth_stat _svcauth_none();               /* no authentication */
--enum auth_stat _svcauth_unix();               /* unix style (uid, gids) */
--enum auth_stat _svcauth_short();      /* short hand unix style */
--enum auth_stat _svcauth_gss();                /* RPCSEC_GSS */
--
--static struct {
--      enum auth_stat (*authenticator)();
--} svcauthsw[] = {
--      { _svcauth_none },              /* AUTH_NONE */
--      { _svcauth_unix },              /* AUTH_UNIX */
--      { _svcauth_short },             /* AUTH_SHORT */
--      { _svcauth_none },              /* AUTH_DES - does not exist */
--      { _svcauth_none },
--      { _svcauth_none },
--      { _svcauth_gss }                /* RPCSEC_GSS */
--};
--#define       AUTH_MAX        6               /* HIGHEST AUTH NUMBER */
--
--/*
-- * The call rpc message, msg has been obtained from the wire.  The msg contains
-- * the raw form of credentials and verifiers.  authenticate returns AUTH_OK
-- * if the msg is successfully authenticated.  If AUTH_OK then the routine also
-- * does the following things:
-- * set rqst->rq_xprt->verf to the appropriate response verifier;
-- * sets rqst->rq_clntcred to the "cooked" form of the credentials.
-- *
-- * NB: rqst->rq_xprt->verf must be pre-alloctaed;
-- * its length is set appropriately.
-- *
-- * The caller still owns and is responsible for msg->u.cmb.cred and
-- * msg->u.cmb.verf.  The authentication system retains ownership of
-- * rqst->rq_clntcred, the cooked credentials.
-- *
-- * There is an assumption that any flavour less than AUTH_NONE is
-- * invalid.
-- */
--enum auth_stat
--_authenticate(rqst, msg, no_dispatch)
--      register struct svc_req *rqst;
--      struct rpc_msg *msg;
--      bool_t *no_dispatch;
--{
--      register int cred_flavor;
--
--      rqst->rq_cred = msg->rm_call.cb_cred;
--      rqst->rq_xprt->xp_verf.oa_flavor = _null_auth.oa_flavor;
--      rqst->rq_xprt->xp_verf.oa_length = 0;
--      cred_flavor = rqst->rq_cred.oa_flavor;
--      *no_dispatch = FALSE;
--
--      if ((cred_flavor <= AUTH_MAX) && (cred_flavor >= AUTH_NONE)) {
--              return ((*(svcauthsw[cred_flavor].authenticator))(rqst, msg, no_dispatch));
--      }
--
--      return (AUTH_REJECTEDCRED);
--}
-diff -puN -L support/rpc/svc_auth_gss.c support/rpc/svc_auth_gss.c~CITI_NFS4_ALL /dev/null
---- nfs-utils-1.0.7/support/rpc/svc_auth_gss.c
-+++ /dev/null  2005-05-05 05:47:05.259725168 -0400
-@@ -1,582 +0,0 @@
--/*
--  svc_auth_gss.c
--
--  Copyright (c) 2000 The Regents of the University of Michigan.
--  All rights reserved.
--
--  Copyright (c) 2000 Dug Song <dugsong@UMICH.EDU>.
--  All rights reserved, all wrongs reversed.
--
--  Redistribution and use in source and binary forms, with or without
--  modification, are permitted provided that the following conditions
--  are met:
--
--  1. Redistributions of source code must retain the above copyright
--     notice, this list of conditions and the following disclaimer.
--  2. Redistributions in binary form must reproduce the above copyright
--     notice, this list of conditions and the following disclaimer in the
--     documentation and/or other materials provided with the distribution.
--  3. Neither the name of the University nor the names of its
--     contributors may be used to endorse or promote products derived
--     from this software without specific prior written permission.
--
--  THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
--  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
--  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
--  DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
--  FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
--  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
--  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
--  BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
--  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
--  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
--  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
--
-- */
--
--#include <stdio.h>
--#include <stdlib.h>
--#include <string.h>
--#include <rpc/rpc.h>
--#include <gssapi/gssapi.h>
--
--extern SVCAUTH svc_auth_none;
--
--/*
-- * from mit-krb5-1.2.1 mechglue/mglueP.h:
-- * Array of context IDs typed by mechanism OID
-- */
--typedef struct gss_union_ctx_id_t {
--  gss_OID     mech_type;
--  gss_ctx_id_t    internal_ctx_id;
--} gss_union_ctx_id_desc, *gss_union_ctx_id_t;
--
--
--
--static bool_t svcauth_gss_destroy();
--static bool_t   svcauth_gss_wrap();
--static bool_t   svcauth_gss_unwrap();
--
--struct svc_auth_ops svc_auth_gss_ops = {
--      svcauth_gss_wrap,
--      svcauth_gss_unwrap,
--      svcauth_gss_destroy
--};
--
--struct svc_rpc_gss_data {
--      bool_t                  established;    /* context established */
--      gss_ctx_id_t            ctx;            /* context id */
--      struct rpc_gss_sec      sec;            /* security triple */
--      gss_buffer_desc         cname;          /* GSS client name */
--      u_int                   seq;            /* sequence number */
--      u_int                   win;            /* sequence window */
--      u_int                   seqlast;        /* last sequence number */
--      u_int32_t               seqmask;        /* bitmask of seqnums */
--      gss_name_t              client_name;    /* unparsed name string */
--};
--
--#define SVCAUTH_PRIVATE(auth) \
--      ((struct svc_rpc_gss_data *)(auth)->svc_ah_private)
--
--/* Global server credentials. */
--gss_cred_id_t         _svcauth_gss_creds;
--static gss_name_t     _svcauth_gss_name = NULL;
--
--bool_t
--svcauth_gss_set_svc_name(gss_name_t name)
--{
--      OM_uint32       maj_stat, min_stat;
--
--      log_debug("in svcauth_gss_set_svc_name()");
--
--      if (_svcauth_gss_name != NULL) {
--              maj_stat = gss_release_name(&min_stat, &_svcauth_gss_name);
--
--              if (maj_stat != GSS_S_COMPLETE) {
--                      log_status("gss_release_name", maj_stat, min_stat);
--                      return (FALSE);
--              }
--              _svcauth_gss_name = NULL;
--      }
--      maj_stat = gss_duplicate_name(&min_stat, name, &_svcauth_gss_name);
--
--      if (maj_stat != GSS_S_COMPLETE) {
--              log_status("gss_duplicate_name", maj_stat, min_stat);
--              return (FALSE);
--      }
--
--      return (TRUE);
--}
--
--static bool_t
--svcauth_gss_import_name(char *service)
--{
--      gss_name_t      name;
--      gss_buffer_desc namebuf;
--      OM_uint32       maj_stat, min_stat;
--
--      log_debug("in svcauth_gss_import_name()");
--
--      namebuf.value = service;
--      namebuf.length = strlen(service);
--
--      maj_stat = gss_import_name(&min_stat, &namebuf,
--                                 GSS_C_NT_HOSTBASED_SERVICE, &name);
--
--      if (maj_stat != GSS_S_COMPLETE) {
--              log_status("gss_import_name", maj_stat, min_stat);
--              return (FALSE);
--      }
--      if (svcauth_gss_set_svc_name(name) != TRUE) {
--              gss_release_name(&min_stat, &name);
--              return (FALSE);
--      }
--      return (TRUE);
--}
--
--static bool_t
--svcauth_gss_acquire_cred(void)
--{
--      OM_uint32       maj_stat, min_stat;
--
--      log_debug("in svcauth_gss_acquire_cred()");
--
--      maj_stat = gss_acquire_cred(&min_stat, _svcauth_gss_name, 0,
--                                  GSS_C_NULL_OID_SET, GSS_C_ACCEPT,
--                                  &_svcauth_gss_creds, NULL, NULL);
--
--      if (maj_stat != GSS_S_COMPLETE) {
--              log_status("gss_acquire_cred", maj_stat, min_stat);
--              return (FALSE);
--      }
--      return (TRUE);
--}
--
--static bool_t
--svcauth_gss_release_cred(void)
--{
--      OM_uint32       maj_stat, min_stat;
--
--      log_debug("in svcauth_gss_release_cred()");
--
--      maj_stat = gss_release_cred(&min_stat, &_svcauth_gss_creds);
--
--      if (maj_stat != GSS_S_COMPLETE) {
--              log_status("gss_release_cred", maj_stat, min_stat);
--              return (FALSE);
--      }
--
--      _svcauth_gss_creds = NULL;
--
--      return (TRUE);
--}
--
--static bool_t
--svcauth_gss_accept_sec_context(struct svc_req *rqst,
--                             struct rpc_gss_init_res *gr)
--{
--      struct svc_rpc_gss_data *gd;
--      struct rpc_gss_cred     *gc;
--      gss_buffer_desc          recv_tok, seqbuf, checksum;
--      gss_OID                  mech;
--      OM_uint32                maj_stat = 0, min_stat = 0, ret_flags, seq;
--
--      log_debug("in svcauth_gss_accept_context()");
--
--      gd = SVCAUTH_PRIVATE(rqst->rq_xprt->xp_auth);
--      gc = (struct rpc_gss_cred *)rqst->rq_clntcred;
--      memset(gr, 0, sizeof(*gr));
--
--      /* Deserialize arguments. */
--      memset(&recv_tok, 0, sizeof(recv_tok));
--
--      if (!svc_getargs(rqst->rq_xprt, xdr_rpc_gss_init_args,
--                       (caddr_t)&recv_tok))
--              return (FALSE);
--
--      gr->gr_major = gss_accept_sec_context(&gr->gr_minor,
--                                            &gd->ctx,
--                                            _svcauth_gss_creds,
--                                            &recv_tok,
--                                            GSS_C_NO_CHANNEL_BINDINGS,
--                                            &gd->client_name,
--                                            &mech,
--                                            &gr->gr_token,
--                                            &ret_flags,
--                                            NULL,
--                                            NULL);
--
--      if (gr->gr_major != GSS_S_COMPLETE &&
--          gr->gr_major != GSS_S_CONTINUE_NEEDED) {
--              log_status("accept_sec_context", gr->gr_major, gr->gr_minor);
--              gd->ctx = GSS_C_NO_CONTEXT;
--              gss_release_buffer(&min_stat, &gr->gr_token);
--              return (FALSE);
--      }
--      /* ANDROS: krb5 mechglue returns ctx of size 8 - two pointers,
--       * one to the mechanism oid, one to the internal_ctx_id */
--      if ((gr->gr_ctx.value = mem_alloc(sizeof(gss_union_ctx_id_desc))) == NULL) {
--              fprintf(stderr, "svcauth_gss_accept_context: out of memory\n");
--              return (FALSE);
--      }
--      memcpy(gr->gr_ctx.value, gd->ctx, sizeof(gss_union_ctx_id_desc));
--      gr->gr_ctx.length = sizeof(gss_union_ctx_id_desc);
--
--      /* ANDROS: change for debugging linux kernel version...
--      gr->gr_win = sizeof(gd->seqmask) * 8;
--      */
--      gr->gr_win = 0x00000005;
--
--      /* Save client info. */
--      gd->sec.mech = mech;
--      gd->sec.qop = GSS_C_QOP_DEFAULT;
--      gd->sec.svc = gc->gc_svc;
--      gd->seq = gc->gc_seq;
--      gd->win = gr->gr_win;
--
--      if (gr->gr_major == GSS_S_COMPLETE) {
--              maj_stat = gss_display_name(&min_stat, gd->client_name,
--                                          &gd->cname, &gd->sec.mech);
--              if (maj_stat != GSS_S_COMPLETE) {
--                      log_status("display_name", maj_stat, min_stat);
--                      return (FALSE);
--              }
--#ifdef DEBUG
--#ifdef HAVE_KRB5
--              {
--                      gss_buffer_desc mechname;
--
--                      gss_oid_to_str(&min_stat, mech, &mechname);
--
--                      log_debug("accepted context for %.*s with "
--                                "<mech %.*s, qop %d, svc %d>",
--                                gd->cname.length, (char *)gd->cname.value,
--                                mechname.length, (char *)mechname.value,
--                                gd->sec.qop, gd->sec.svc);
--
--                      gss_release_buffer(&min_stat, &mechname);
--              }
--#elif HAVE_HEIMDAL
--              log_debug("accepted context for %.*s with "
--                        "<mech {}, qop %d, svc %d>",
--                        gd->cname.length, (char *)gd->cname.value,
--                        gd->sec.qop, gd->sec.svc);
--#endif
--#endif /* DEBUG */
--              seq = htonl(gr->gr_win);
--              seqbuf.value = &seq;
--              seqbuf.length = sizeof(seq);
--
--              maj_stat = gss_sign(&min_stat, gd->ctx, GSS_C_QOP_DEFAULT,
--                                  &seqbuf, &checksum);
--
--              if (maj_stat != GSS_S_COMPLETE)
--                      return (FALSE);
--
--              rqst->rq_xprt->xp_verf.oa_flavor = RPCSEC_GSS;
--              rqst->rq_xprt->xp_verf.oa_base = checksum.value;
--              rqst->rq_xprt->xp_verf.oa_length = checksum.length;
--      }
--      return (TRUE);
--}
--
--static bool_t
--svcauth_gss_validate(struct svc_rpc_gss_data *gd, struct rpc_msg *msg)
--{
--      struct opaque_auth      *oa;
--      gss_buffer_desc          rpcbuf, checksum;
--      OM_uint32                maj_stat, min_stat, qop_state;
--      u_char                   rpchdr[128];
--      int32_t                 *buf;
--
--      log_debug("in svcauth_gss_validate()");
--
--      memset(rpchdr, 0, sizeof(rpchdr));
--
--      /* XXX - Reconstruct RPC header for signing (from xdr_callmsg). */
--      buf = (int32_t *)rpchdr;
--      IXDR_PUT_LONG(buf, msg->rm_xid);
--      IXDR_PUT_ENUM(buf, msg->rm_direction);
--      IXDR_PUT_LONG(buf, msg->rm_call.cb_rpcvers);
--      IXDR_PUT_LONG(buf, msg->rm_call.cb_prog);
--      IXDR_PUT_LONG(buf, msg->rm_call.cb_vers);
--      IXDR_PUT_LONG(buf, msg->rm_call.cb_proc);
--      oa = &msg->rm_call.cb_cred;
--      IXDR_PUT_ENUM(buf, oa->oa_flavor);
--      IXDR_PUT_LONG(buf, oa->oa_length);
--      if (oa->oa_length) {
--              memcpy((caddr_t)buf, oa->oa_base, oa->oa_length);
--              buf += RNDUP(oa->oa_length) / sizeof(int32_t);
--      }
--      rpcbuf.value = rpchdr;
--      rpcbuf.length = (u_char *)buf - rpchdr;
--
--      checksum.value = msg->rm_call.cb_verf.oa_base;
--      checksum.length = msg->rm_call.cb_verf.oa_length;
--
--      maj_stat = gss_verify_mic(&min_stat, gd->ctx, &rpcbuf, &checksum,
--                                &qop_state);
--
--      if (maj_stat != GSS_S_COMPLETE) {
--              log_status("gss_verify_mic", maj_stat, min_stat);
--              return (FALSE);
--      }
--      return (TRUE);
--}
--
--bool_t
--svcauth_gss_nextverf(struct svc_req *rqst, u_int num)
--{
--      struct svc_rpc_gss_data *gd;
--      gss_buffer_desc          signbuf, checksum;
--      OM_uint32                maj_stat, min_stat;
--
--      log_debug("in svcauth_gss_nextverf()");
--
--      if (rqst->rq_xprt->xp_auth == NULL)
--              return (FALSE);
--
--      gd = SVCAUTH_PRIVATE(rqst->rq_xprt->xp_auth);
--
--      signbuf.value = &num;
--      signbuf.length = sizeof(num);
--
--      maj_stat = gss_get_mic(&min_stat, gd->ctx, gd->sec.qop,
--                             &signbuf, &checksum);
--
--      if (maj_stat != GSS_S_COMPLETE) {
--              log_status("gss_get_mic", maj_stat, min_stat);
--              return (FALSE);
--      }
--      rqst->rq_xprt->xp_verf.oa_flavor = RPCSEC_GSS;
--      rqst->rq_xprt->xp_verf.oa_base = (caddr_t)checksum.value;
--      rqst->rq_xprt->xp_verf.oa_length = (u_int)checksum.length;
--
--      return (TRUE);
--}
--
--enum auth_stat
--_svcauth_gss(struct svc_req *rqst, struct rpc_msg *msg, bool_t *no_dispatch)
--{
--      XDR                      xdrs;
--      SVCAUTH                 *auth;
--      struct svc_rpc_gss_data *gd;
--      struct rpc_gss_cred     *gc;
--      struct rpc_gss_init_res  gr;
--      int                      call_stat, offset;
--
--      log_debug("in svcauth_gss()");
--
--      /* Initialize reply. */
--      rqst->rq_xprt->xp_verf = _null_auth;
--
--      /* Allocate and set up server auth handle. */
--      if (rqst->rq_xprt->xp_auth == NULL ||
--          rqst->rq_xprt->xp_auth == &svc_auth_none) {
--              if ((auth = calloc(sizeof(*auth), 1)) == NULL) {
--                      fprintf(stderr, "svcauth_gss: out_of_memory\n");
--                      return (AUTH_FAILED);
--              }
--              if ((gd = calloc(sizeof(*gd), 1)) == NULL) {
--                      fprintf(stderr, "svcauth_gss: out_of_memory\n");
--                      return (AUTH_FAILED);
--              }
--              auth->svc_ah_ops = &svc_auth_gss_ops;
--              SVCAUTH_PRIVATE(auth) = gd;
--              rqst->rq_xprt->xp_auth = auth;
--      }
--      else gd = SVCAUTH_PRIVATE(rqst->rq_xprt->xp_auth);
--
--      /* Deserialize client credentials. */
--      if (rqst->rq_cred.oa_length <= 0)
--              return (AUTH_BADCRED);
--
--      gc = (struct rpc_gss_cred *)rqst->rq_clntcred;
--      memset(gc, 0, sizeof(*gc));
--
--      xdrmem_create(&xdrs, rqst->rq_cred.oa_base,
--                    rqst->rq_cred.oa_length, XDR_DECODE);
--
--      if (!xdr_rpc_gss_cred(&xdrs, gc)) {
--              XDR_DESTROY(&xdrs);
--              return (AUTH_BADCRED);
--      }
--      XDR_DESTROY(&xdrs);
--
--      /* Check version. */
--      if (gc->gc_v != RPCSEC_GSS_VERSION)
--              return (AUTH_BADCRED);
--
--      /* Check RPCSEC_GSS service. */
--      if (gc->gc_svc != RPCSEC_GSS_SVC_NONE &&
--          gc->gc_svc != RPCSEC_GSS_SVC_INTEGRITY &&
--          gc->gc_svc != RPCSEC_GSS_SVC_PRIVACY)
--              return (AUTH_BADCRED);
--
--      /* Check sequence number. */
--      if (gd->established) {
--              if (gc->gc_seq > MAXSEQ)
--                      return (RPCSEC_GSS_CTXPROBLEM);
--
--              if ((offset = gd->seqlast - gc->gc_seq) < 0) {
--                      gd->seqlast = gc->gc_seq;
--                      offset = 0 - offset;
--                      gd->seqmask <<= offset;
--                      offset = 0;
--              }
--              else if (offset >= gd->win || (gd->seqmask & (1 << offset))) {
--                      *no_dispatch = 1;
--                      return (RPCSEC_GSS_CTXPROBLEM);
--              }
--              gd->seq = gc->gc_seq;
--              gd->seqmask |= (1 << offset);
--      }
--
--      if (gd->established) {
--              rqst->rq_clntname = (char *)gd->client_name;
--              rqst->rq_svcname = (char *)gd->ctx;
--      }
--
--      /* Handle RPCSEC_GSS control procedure. */
--      switch (gc->gc_proc) {
--
--      case RPCSEC_GSS_INIT:
--      case RPCSEC_GSS_CONTINUE_INIT:
--              if (rqst->rq_proc != NULLPROC)
--                      return (AUTH_FAILED);           /* XXX ? */
--
--              if (_svcauth_gss_name == NULL) {
--                      if (!svcauth_gss_import_name("nfs"))
--                              return (AUTH_FAILED);
--              }
--
--              if (!svcauth_gss_acquire_cred())
--                      return (AUTH_FAILED);
--
--              if (!svcauth_gss_accept_sec_context(rqst, &gr))
--                      return (AUTH_REJECTEDCRED);
--
--              if (!svcauth_gss_nextverf(rqst, htonl(gr.gr_win)))
--                      return (AUTH_FAILED);
--
--              *no_dispatch = TRUE;
--
--              call_stat = svc_sendreply(rqst->rq_xprt, xdr_rpc_gss_init_res,
--                                        (caddr_t)&gr);
--
--              if (!call_stat)
--                      return (AUTH_FAILED);
--
--              if (gr.gr_major == GSS_S_COMPLETE)
--                      gd->established = TRUE;
--
--              break;
--
--      case RPCSEC_GSS_DATA:
--              if (!svcauth_gss_validate(gd, msg))
--                      return (RPCSEC_GSS_CREDPROBLEM);
--
--              if (!svcauth_gss_nextverf(rqst, htonl(gc->gc_seq)))
--                      return (AUTH_FAILED);
--              break;
--
--      case RPCSEC_GSS_DESTROY:
--              if (rqst->rq_proc != NULLPROC)
--                      return (AUTH_FAILED);           /* XXX ? */
--
--              if (!svcauth_gss_validate(gd, msg))
--                      return (RPCSEC_GSS_CREDPROBLEM);
--
--              if (!svcauth_gss_nextverf(rqst, htonl(gc->gc_seq)))
--                      return (AUTH_FAILED);
--
--              if (!svcauth_gss_release_cred())
--                      return (AUTH_FAILED);
--
--              SVCAUTH_DESTROY(rqst->rq_xprt->xp_auth);
--              rqst->rq_xprt->xp_auth = &svc_auth_none;
--
--              break;
--
--      default:
--              return (AUTH_REJECTEDCRED);
--              break;
--      }
--      return (AUTH_OK);
--}
--
--bool_t
--svcauth_gss_destroy(SVCAUTH *auth)
--{
--      struct svc_rpc_gss_data *gd;
--      OM_uint32                min_stat;
--
--      log_debug("in svcauth_gss_destroy()");
--
--      gd = SVCAUTH_PRIVATE(auth);
--
--      gss_delete_sec_context(&min_stat, &gd->ctx, GSS_C_NO_BUFFER);
--      gss_release_buffer(&min_stat, &gd->cname);
--
--      if (gd->client_name)
--              gss_release_name(&min_stat, &gd->client_name);
--
--      mem_free(gd, sizeof(*gd));
--      mem_free(auth, sizeof(*auth));
--
--      return (TRUE);
--}
--
--bool_t
--svcauth_gss_wrap(SVCAUTH *auth, XDR *xdrs, xdrproc_t xdr_func, caddr_t xdr_ptr)
--{
--      struct svc_rpc_gss_data *gd;
--
--      log_debug("in svcauth_gss_wrap()");
--
--      gd = SVCAUTH_PRIVATE(auth);
--
--      if (!gd->established || gd->sec.svc == RPCSEC_GSS_SVC_NONE) {
--              return ((*xdr_func)(xdrs, xdr_ptr));
--      }
--      return (xdr_rpc_gss_data(xdrs, xdr_func, xdr_ptr,
--                               gd->ctx, gd->sec.qop,
--                               gd->sec.svc, gd->seq));
--}
--
--bool_t
--svcauth_gss_unwrap(SVCAUTH *auth, XDR *xdrs, xdrproc_t xdr_func, caddr_t xdr_ptr)
--{
--      struct svc_rpc_gss_data *gd;
--
--      log_debug("in svcauth_gss_unwrap()");
--
--      gd = SVCAUTH_PRIVATE(auth);
--
--      if (!gd->established || gd->sec.svc == RPCSEC_GSS_SVC_NONE) {
--              return ((*xdr_func)(xdrs, xdr_ptr));
--      }
--      return (xdr_rpc_gss_data(xdrs, xdr_func, xdr_ptr,
--                               gd->ctx, gd->sec.qop,
--                               gd->sec.svc, gd->seq));
--}
--
--char *
--svcauth_gss_get_principal(SVCAUTH *auth)
--{
--      struct svc_rpc_gss_data *gd;
--      char *pname;
--
--      gd = SVCAUTH_PRIVATE(auth);
--
--      if (gd->cname.length == 0)
--              return (NULL);
--
--      if ((pname = malloc(gd->cname.length + 1)) == NULL)
--              return (NULL);
--
--      memcpy(pname, gd->cname.value, gd->cname.length);
--      pname[gd->cname.length] = '\0';
--
--      return (pname);
--}
-diff -puN -L support/rpc/svc_auth_none.c support/rpc/svc_auth_none.c~CITI_NFS4_ALL /dev/null
---- nfs-utils-1.0.7/support/rpc/svc_auth_none.c
-+++ /dev/null  2005-05-05 05:47:05.259725168 -0400
-@@ -1,73 +0,0 @@
--/*
--  svc_auth_none.c
--
--  Copyright (c) 2000 The Regents of the University of Michigan.
--  All rights reserved.
--
--  Copyright (c) 2000 Dug Song <dugsong@UMICH.EDU>.
--  All rights reserved, all wrongs reversed.
--
--  Redistribution and use in source and binary forms, with or without
--  modification, are permitted provided that the following conditions
--  are met:
--
--  1. Redistributions of source code must retain the above copyright
--     notice, this list of conditions and the following disclaimer.
--  2. Redistributions in binary form must reproduce the above copyright
--     notice, this list of conditions and the following disclaimer in the
--     documentation and/or other materials provided with the distribution.
--  3. Neither the name of the University nor the names of its
--     contributors may be used to endorse or promote products derived
--     from this software without specific prior written permission.
--
--  THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
--  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
--  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
--  DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
--  FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
--  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
--  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
--  BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
--  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
--  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
--  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
--
--  $Id$
-- */
--
--#include <rpc/rpc.h>
--
--static bool_t svcauth_none_destroy();
--static bool_t   svcauth_none_wrap();
--
--struct svc_auth_ops svc_auth_none_ops = {
--      svcauth_none_wrap,
--      svcauth_none_wrap,
--      svcauth_none_destroy
--};
--
--SVCAUTH svc_auth_none = {
--      &svc_auth_none_ops,
--      NULL,
--};
--
--static bool_t
--svcauth_none_destroy(SVCAUTH *auth)
--{
--      return (TRUE);
--}
--
--static bool_t
--svcauth_none_wrap(SVCAUTH *auth, XDR *xdrs, xdrproc_t xdr_func,
--                caddr_t xdr_ptr)
--{
--      return ((*xdr_func)(xdrs, xdr_ptr));
--}
--
--enum auth_stat
--_svcauth_none(struct svc_req *rqst, struct rpc_msg *msg)
--{
--      rqst->rq_xprt->xp_auth = &svc_auth_none;
--
--      return (AUTH_OK);
--}
-diff -puN -L support/rpc/svc_auth_unix.c support/rpc/svc_auth_unix.c~CITI_NFS4_ALL /dev/null
---- nfs-utils-1.0.7/support/rpc/svc_auth_unix.c
-+++ /dev/null  2005-05-05 05:47:05.259725168 -0400
-@@ -1,140 +0,0 @@
--/*
-- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
-- * unrestricted use provided that this legend is included on all tape
-- * media and as a part of the software program in whole or part.  Users
-- * may copy or modify Sun RPC without charge, but are not authorized
-- * to license or distribute it to anyone else except as part of a product or
-- * program developed by the user.
-- *
-- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
-- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
-- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
-- *
-- * Sun RPC is provided with no support and without any obligation on the
-- * part of Sun Microsystems, Inc. to assist in its use, correction,
-- * modification or enhancement.
-- *
-- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
-- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
-- * OR ANY PART THEREOF.
-- *
-- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
-- * or profits or other special, indirect and consequential damages, even if
-- * Sun has been advised of the possibility of such damages.
-- *
-- * Sun Microsystems, Inc.
-- * 2550 Garcia Avenue
-- * Mountain View, California  94043
-- */
--
--#if defined(LIBC_SCCS) && !defined(lint)
--static char *rcsid = "$OpenBSD: svc_auth_unix.c,v 1.6 1998/11/22 07:38:25 deraadt Exp $";
--#endif /* LIBC_SCCS and not lint */
--
--/*
-- * svc_auth_unix.c
-- * Handles UNIX flavor authentication parameters on the service side of rpc.
-- * There are two svc auth implementations here: AUTH_UNIX and AUTH_SHORT.
-- * _svcauth_unix does full blown unix style uid,gid+gids auth,
-- * _svcauth_short uses a shorthand auth to index into a cache of longhand auths.
-- * Note: the shorthand has been gutted for efficiency.
-- *
-- * Copyright (C) 1984, Sun Microsystems, Inc.
-- */
--
--#include <stdio.h>
--#include <rpc/rpc.h>
--#include <string.h>
--
--extern SVCAUTH svc_auth_none;
--
--/*
-- * Unix longhand authenticator
-- */
--enum auth_stat
--_svcauth_unix(rqst, msg)
--      register struct svc_req *rqst;
--      register struct rpc_msg *msg;
--{
--      register enum auth_stat stat;
--      XDR xdrs;
--      register struct authunix_parms *aup;
--      register int32_t *buf;
--      struct area {
--              struct authunix_parms area_aup;
--              char area_machname[MAX_MACHINE_NAME+1];
--              int area_gids[NGRPS];
--      } *area;
--      u_int auth_len;
--      u_int str_len, gid_len;
--      register u_int i;
--
--      rqst->rq_xprt->xp_auth = &svc_auth_none;
--
--      area = (struct area *) rqst->rq_clntcred;
--      aup = &area->area_aup;
--      aup->aup_machname = area->area_machname;
--      aup->aup_gids = area->area_gids;
--      auth_len = (u_int)msg->rm_call.cb_cred.oa_length;
--      xdrmem_create(&xdrs, msg->rm_call.cb_cred.oa_base, auth_len,XDR_DECODE);
--      buf = XDR_INLINE(&xdrs, auth_len);
--      if (buf != NULL) {
--              aup->aup_time = IXDR_GET_LONG(buf);
--              str_len = IXDR_GET_U_LONG(buf);
--              if (str_len > MAX_MACHINE_NAME) {
--                      stat = AUTH_BADCRED;
--                      goto done;
--              }
--              memcpy(aup->aup_machname, (caddr_t)buf, (u_int)str_len);
--              aup->aup_machname[str_len] = 0;
--              str_len = RNDUP(str_len);
--              buf += str_len / sizeof (int32_t);
--              aup->aup_uid = IXDR_GET_LONG(buf);
--              aup->aup_gid = IXDR_GET_LONG(buf);
--              gid_len = IXDR_GET_U_LONG(buf);
--              if (gid_len > NGRPS) {
--                      stat = AUTH_BADCRED;
--                      goto done;
--              }
--              aup->aup_len = gid_len;
--              for (i = 0; i < gid_len; i++) {
--                      aup->aup_gids[i] = IXDR_GET_LONG(buf);
--              }
--              /*
--               * five is the smallest unix credentials structure -
--               * timestamp, hostname len (0), uid, gid, and gids len (0).
--               */
--              if ((5 + gid_len) * BYTES_PER_XDR_UNIT + str_len > auth_len) {
--                      (void) printf("bad auth_len gid %u str %u auth %u\n",
--                          gid_len, str_len, auth_len);
--                      stat = AUTH_BADCRED;
--                      goto done;
--              }
--      } else if (! xdr_authunix_parms(&xdrs, aup)) {
--              xdrs.x_op = XDR_FREE;
--              (void)xdr_authunix_parms(&xdrs, aup);
--              stat = AUTH_BADCRED;
--              goto done;
--      }
--      rqst->rq_xprt->xp_verf.oa_flavor = AUTH_NULL;
--      rqst->rq_xprt->xp_verf.oa_length = 0;
--      stat = AUTH_OK;
--done:
--      XDR_DESTROY(&xdrs);
--      return (stat);
--}
--
--
--/*
-- * Shorthand unix authenticator
-- * Looks up longhand in a cache.
-- */
--enum auth_stat
--_svcauth_short(rqst, msg)
--      struct svc_req *rqst;
--      struct rpc_msg *msg;
--{
--      rqst->rq_xprt->xp_auth = &svc_auth_none;
--
--      return (AUTH_REJECTEDCRED);
--}
-diff -puN -L support/rpc/svc.c support/rpc/svc.c~CITI_NFS4_ALL /dev/null
---- nfs-utils-1.0.7/support/rpc/svc.c
-+++ /dev/null  2005-05-05 05:47:05.259725168 -0400
-@@ -1,508 +0,0 @@
--/*
-- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
-- * unrestricted use provided that this legend is included on all tape
-- * media and as a part of the software program in whole or part.  Users
-- * may copy or modify Sun RPC without charge, but are not authorized
-- * to license or distribute it to anyone else except as part of a product or
-- * program developed by the user.
-- *
-- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
-- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
-- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
-- *
-- * Sun RPC is provided with no support and without any obligation on the
-- * part of Sun Microsystems, Inc. to assist in its use, correction,
-- * modification or enhancement.
-- *
-- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
-- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
-- * OR ANY PART THEREOF.
-- *
-- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
-- * or profits or other special, indirect and consequential damages, even if
-- * Sun has been advised of the possibility of such damages.
-- *
-- * Sun Microsystems, Inc.
-- * 2550 Garcia Avenue
-- * Mountain View, California  94043
-- */
--
--#if defined(LIBC_SCCS) && !defined(lint)
--static char *rcsid = "$OpenBSD: svc.c,v 1.11 1998/02/25 12:21:18 deraadt Exp $";
--#endif /* LIBC_SCCS and not lint */
--
--/*
-- * svc.c, Server-side remote procedure call interface.
-- *
-- * There are two sets of procedures here.  The xprt routines are
-- * for handling transport handles.  The svc routines handle the
-- * list of service routines.
-- *
-- * Copyright (C) 1984, Sun Microsystems, Inc.
-- */
--
--#include <stdlib.h>
--#include <string.h>
--
--#include <sys/param.h>
--#include <sys/errno.h>
--#include <rpc/rpc.h>
--#include <rpc/pmap_clnt.h>
--
--static SVCXPRT **xports;
--static int xportssize;
--
--#define NULL_SVC ((struct svc_callout *)0)
--#define       RQCRED_SIZE     1024            /* this size is excessive */
--
--#define max(a, b) (a > b ? a : b)
--
--#if 0
--#ifdef __linux__
--#define fds_bits      __fds_bits      /* XXX - Linux sux */
--#endif
--#endif
--
--/*
-- * The services list
-- * Each entry represents a set of procedures (an rpc program).
-- * The dispatch routine takes request structs and runs the
-- * apropriate procedure.
-- */
--static struct svc_callout {
--      struct svc_callout *sc_next;
--      u_long              sc_prog;
--      u_long              sc_vers;
--      void                (*sc_dispatch)();
--} *svc_head;
--
--static struct svc_callout *svc_find();
--
--int __svc_fdsetsize;
--fd_set *__svc_fdset;
--
--/* ***************  SVCXPRT related stuff **************** */
--
--/*
-- * Activate a transport handle.
-- */
--void
--xprt_register(xprt)
--      SVCXPRT *xprt;
--{
--      register int sock = xprt->xp_sock;
--
--      if (sock+1 > __svc_fdsetsize) {
--              int bytes = howmany(sock+1, NFDBITS) * sizeof(fd_mask);
--              fd_set *fds;
--
--              fds = (fd_set *)malloc(bytes);
--              memset(fds, 0, bytes);
--              if (__svc_fdset) {
--                      memcpy(fds, __svc_fdset, howmany(__svc_fdsetsize,
--                          NFDBITS) * sizeof(fd_mask));
--                      free(__svc_fdset);
--              }
--              __svc_fdset = fds;
--              __svc_fdsetsize = sock+1;
--      }
--
--      if (sock < FD_SETSIZE)
--              FD_SET(sock, &svc_fdset);
--      FD_SET(sock, __svc_fdset);
--
--      if (xports == NULL || sock+1 > xportssize) {
--              SVCXPRT **xp;
--              int size = FD_SETSIZE;
--
--              if (sock+1 > size)
--                      size = sock+1;
--              xp = (SVCXPRT **)mem_alloc(size * sizeof(SVCXPRT *));
--              memset(xp, 0, size * sizeof(SVCXPRT *));
--              if (xports) {
--                      memcpy(xp, xports, xportssize * sizeof(SVCXPRT *));
--                      free(xports);
--              }
--              xportssize = size;
--              xports = xp;
--      }
--      xports[sock] = xprt;
--      svc_maxfd = max(svc_maxfd, sock);
--}
--
--/*
-- * De-activate a transport handle.
-- */
--void
--xprt_unregister(xprt)
--      SVCXPRT *xprt;
--{
--      register int sock = xprt->xp_sock;
--
--      if (xports[sock] == xprt) {
--              xports[sock] = (SVCXPRT *)0;
--              if (sock < FD_SETSIZE)
--                      FD_CLR(sock, &svc_fdset);
--              FD_CLR(sock, __svc_fdset);
--              if (sock == svc_maxfd) {
--                      for (svc_maxfd--; svc_maxfd>=0; svc_maxfd--)
--                              if (xports[svc_maxfd])
--                                      break;
--              }
--              /*
--               * XXX could use svc_maxfd as a hint to
--               * decrease the size of __svc_fdset
--               */
--      }
--}
--
--
--/* ********************** CALLOUT list related stuff ************* */
--
--/*
-- * Add a service program to the callout list.
-- * The dispatch routine will be called when a rpc request for this
-- * program number comes in.
-- */
--bool_t
--svc_register(xprt, prog, vers, dispatch, protocol)
--      SVCXPRT *xprt;
--      u_long prog;
--      u_long vers;
--      void (*dispatch)();
--      int protocol;
--{
--      struct svc_callout *prev;
--      register struct svc_callout *s;
--
--      if ((s = svc_find(prog, vers, &prev)) != NULL_SVC) {
--              if (s->sc_dispatch == dispatch)
--                      goto pmap_it;  /* he is registering another xptr */
--              return (FALSE);
--      }
--      s = (struct svc_callout *)mem_alloc(sizeof(struct svc_callout));
--      if (s == (struct svc_callout *)0) {
--              return (FALSE);
--      }
--      s->sc_prog = prog;
--      s->sc_vers = vers;
--      s->sc_dispatch = dispatch;
--      s->sc_next = svc_head;
--      svc_head = s;
--pmap_it:
--      /* now register the information with the local binder service */
--      if (protocol) {
--              return (pmap_set(prog, vers, protocol, xprt->xp_port));
--      }
--      return (TRUE);
--}
--
--/*
-- * Remove a service program from the callout list.
-- */
--void
--svc_unregister(prog, vers)
--      u_long prog;
--      u_long vers;
--{
--      struct svc_callout *prev;
--      register struct svc_callout *s;
--
--      if ((s = svc_find(prog, vers, &prev)) == NULL_SVC)
--              return;
--      if (prev == NULL_SVC) {
--              svc_head = s->sc_next;
--      } else {
--              prev->sc_next = s->sc_next;
--      }
--      s->sc_next = NULL_SVC;
--      mem_free((char *) s, (u_int) sizeof(struct svc_callout));
--      /* now unregister the information with the local binder service */
--      (void)pmap_unset(prog, vers);
--}
--
--/*
-- * Search the callout list for a program number, return the callout
-- * struct.
-- */
--static struct svc_callout *
--svc_find(prog, vers, prev)
--      u_long prog;
--      u_long vers;
--      struct svc_callout **prev;
--{
--      register struct svc_callout *s, *p;
--
--      p = NULL_SVC;
--      for (s = svc_head; s != NULL_SVC; s = s->sc_next) {
--              if ((s->sc_prog == prog) && (s->sc_vers == vers))
--                      goto done;
--              p = s;
--      }
--done:
--      *prev = p;
--      return (s);
--}
--
--/* ******************* REPLY GENERATION ROUTINES  ************ */
--
--/*
-- * Send a reply to an rpc request
-- */
--bool_t
--svc_sendreply(xprt, xdr_results, xdr_location)
--      register SVCXPRT *xprt;
--      xdrproc_t xdr_results;
--      caddr_t xdr_location;
--{
--      struct rpc_msg rply;
--
--      rply.rm_direction = REPLY;
--      rply.rm_reply.rp_stat = MSG_ACCEPTED;
--      rply.acpted_rply.ar_verf = xprt->xp_verf;
--      rply.acpted_rply.ar_stat = SUCCESS;
--      rply.acpted_rply.ar_results.where = xdr_location;
--      rply.acpted_rply.ar_results.proc = xdr_results;
--      return (SVC_REPLY(xprt, &rply));
--}
--
--/*
-- * No procedure error reply
-- */
--void
--svcerr_noproc(xprt)
--      register SVCXPRT *xprt;
--{
--      struct rpc_msg rply;
--
--      rply.rm_direction = REPLY;
--      rply.rm_reply.rp_stat = MSG_ACCEPTED;
--      rply.acpted_rply.ar_verf = xprt->xp_verf;
--      rply.acpted_rply.ar_stat = PROC_UNAVAIL;
--      SVC_REPLY(xprt, &rply);
--}
--
--/*
-- * Can't decode args error reply
-- */
--void
--svcerr_decode(xprt)
--      register SVCXPRT *xprt;
--{
--      struct rpc_msg rply;
--
--      rply.rm_direction = REPLY;
--      rply.rm_reply.rp_stat = MSG_ACCEPTED;
--      rply.acpted_rply.ar_verf = xprt->xp_verf;
--      rply.acpted_rply.ar_stat = GARBAGE_ARGS;
--      SVC_REPLY(xprt, &rply);
--}
--
--/*
-- * Some system error
-- */
--void
--svcerr_systemerr(xprt)
--      register SVCXPRT *xprt;
--{
--      struct rpc_msg rply;
--
--      rply.rm_direction = REPLY;
--      rply.rm_reply.rp_stat = MSG_ACCEPTED;
--      rply.acpted_rply.ar_verf = xprt->xp_verf;
--      rply.acpted_rply.ar_stat = SYSTEM_ERR;
--      SVC_REPLY(xprt, &rply);
--}
--
--/*
-- * Authentication error reply
-- */
--void
--svcerr_auth(xprt, why)
--      SVCXPRT *xprt;
--      enum auth_stat why;
--{
--      struct rpc_msg rply;
--
--      rply.rm_direction = REPLY;
--      rply.rm_reply.rp_stat = MSG_DENIED;
--      rply.rjcted_rply.rj_stat = AUTH_ERROR;
--      rply.rjcted_rply.rj_why = why;
--      SVC_REPLY(xprt, &rply);
--}
--
--/*
-- * Auth too weak error reply
-- */
--void
--svcerr_weakauth(xprt)
--      SVCXPRT *xprt;
--{
--
--      svcerr_auth(xprt, AUTH_TOOWEAK);
--}
--
--/*
-- * Program unavailable error reply
-- */
--void
--svcerr_noprog(xprt)
--      register SVCXPRT *xprt;
--{
--      struct rpc_msg rply;
--
--      rply.rm_direction = REPLY;
--      rply.rm_reply.rp_stat = MSG_ACCEPTED;
--      rply.acpted_rply.ar_verf = xprt->xp_verf;
--      rply.acpted_rply.ar_stat = PROG_UNAVAIL;
--      SVC_REPLY(xprt, &rply);
--}
--
--/*
-- * Program version mismatch error reply
-- */
--void
--svcerr_progvers(xprt, low_vers, high_vers)
--      register SVCXPRT *xprt;
--      u_long low_vers;
--      u_long high_vers;
--{
--      struct rpc_msg rply;
--
--      rply.rm_direction = REPLY;
--      rply.rm_reply.rp_stat = MSG_ACCEPTED;
--      rply.acpted_rply.ar_verf = xprt->xp_verf;
--      rply.acpted_rply.ar_stat = PROG_MISMATCH;
--      rply.acpted_rply.ar_vers.low = low_vers;
--      rply.acpted_rply.ar_vers.high = high_vers;
--      SVC_REPLY(xprt, &rply);
--}
--
--/* ******************* SERVER INPUT STUFF ******************* */
--
--/*
-- * Get server side input from some transport.
-- *
-- * Statement of authentication parameters management:
-- * This function owns and manages all authentication parameters, specifically
-- * the "raw" parameters (msg.rm_call.cb_cred and msg.rm_call.cb_verf) and
-- * the "cooked" credentials (rqst->rq_clntcred).
-- * However, this function does not know the structure of the cooked
-- * credentials, so it make the following assumptions:
-- *   a) the structure is contiguous (no pointers), and
-- *   b) the cred structure size does not exceed RQCRED_SIZE bytes.
-- * In all events, all three parameters are freed upon exit from this routine.
-- * The storage is trivially management on the call stack in user land, but
-- * is mallocated in kernel land.
-- */
--
--void
--svc_getreq(rdfds)
--      int rdfds;
--{
--      fd_set readfds;
--
--      FD_ZERO(&readfds);
--      readfds.fds_bits[0] = rdfds;
--      svc_getreqset(&readfds);
--}
--
--void  svc_getreqset2 __P((fd_set *, int));
--
--void
--svc_getreqset(readfds)
--      fd_set *readfds;
--{
--      svc_getreqset2(readfds, FD_SETSIZE);
--}
--
--void
--svc_getreqset2(readfds, width)
--      fd_set *readfds;
--      int width;
--{
--      enum xprt_stat stat;
--      struct rpc_msg msg;
--      int prog_found;
--      u_long low_vers;
--      u_long high_vers;
--      struct svc_req r;
--      register SVCXPRT *xprt;
--      register int bit;
--      register fd_mask mask, *maskp;
--      register int sock;
--      bool_t no_dispatch;
--      char cred_area[2*MAX_AUTH_BYTES + RQCRED_SIZE];
--      msg.rm_call.cb_cred.oa_base = cred_area;
--      msg.rm_call.cb_verf.oa_base = &(cred_area[MAX_AUTH_BYTES]);
--      r.rq_clntcred = &(cred_area[2*MAX_AUTH_BYTES]);
--
--      maskp = readfds->fds_bits;
--      for (sock = 0; sock < width; sock += NFDBITS) {
--          for (mask = *maskp++; (bit = ffs(mask)); mask ^= (1 << (bit - 1))) {
--              /* sock has input waiting */
--              xprt = xports[sock + bit - 1];
--              if (xprt == NULL)
--                      /* But do we control sock? */
--                      continue;
--              /* now receive msgs from xprtprt (support batch calls) */
--              do {
--                      if (SVC_RECV(xprt, &msg)) {
--
--                              /* now find the exported program and call it */
--                              register struct svc_callout *s;
--                              enum auth_stat why;
--
--                              r.rq_xprt = xprt;
--                              r.rq_prog = msg.rm_call.cb_prog;
--                              r.rq_vers = msg.rm_call.cb_vers;
--                              r.rq_proc = msg.rm_call.cb_proc;
--                              r.rq_cred = msg.rm_call.cb_cred;
--
--                              no_dispatch = FALSE;
--
--                              /* first authenticate the message */
--                              if ((why = _authenticate(&r, &msg, &no_dispatch)) != AUTH_OK) {
--                                      svcerr_auth(xprt, why);
--                                      goto call_done;
--                              }
--                              else if (no_dispatch) {
--                                      goto call_done;
--                              }
--                              /* now match message with a registered service*/
--                              prog_found = FALSE;
--                              low_vers = (u_long) -1;
--                              high_vers = 0;
--                              for (s = svc_head; s != NULL_SVC; s = s->sc_next) {
--                                      if (s->sc_prog == r.rq_prog) {
--                                              if (s->sc_vers == r.rq_vers) {
--                                                      (*s->sc_dispatch)(&r, xprt);
--                                                      goto call_done;
--                                              }  /* found correct version */
--                                              prog_found = TRUE;
--                                              if (s->sc_vers < low_vers)
--                                                      low_vers = s->sc_vers;
--                                              if (s->sc_vers > high_vers)
--                                                      high_vers = s->sc_vers;
--                                      }   /* found correct program */
--                              }
--                              /*
--                               * if we got here, the program or version
--                               * is not served ...
--                               */
--                              if (prog_found)
--                                      svcerr_progvers(xprt,
--                                      low_vers, high_vers);
--                              else
--                                       svcerr_noprog(xprt);
--                              /* Fall through to ... */
--                      }
--              call_done:
--                      if ((stat = SVC_STAT(xprt)) == XPRT_DIED) {
--                              SVC_DESTROY(xprt);
--                              break;
--                      }
--              } while (stat == XPRT_MOREREQS);
--          }
--      }
--}
-diff -puN -L support/rpc/svc_raw.c support/rpc/svc_raw.c~CITI_NFS4_ALL /dev/null
---- nfs-utils-1.0.7/support/rpc/svc_raw.c
-+++ /dev/null  2005-05-05 05:47:05.259725168 -0400
-@@ -1,171 +0,0 @@
--/*
-- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
-- * unrestricted use provided that this legend is included on all tape
-- * media and as a part of the software program in whole or part.  Users
-- * may copy or modify Sun RPC without charge, but are not authorized
-- * to license or distribute it to anyone else except as part of a product or
-- * program developed by the user.
-- *
-- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
-- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
-- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
-- *
-- * Sun RPC is provided with no support and without any obligation on the
-- * part of Sun Microsystems, Inc. to assist in its use, correction,
-- * modification or enhancement.
-- *
-- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
-- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
-- * OR ANY PART THEREOF.
-- *
-- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
-- * or profits or other special, indirect and consequential damages, even if
-- * Sun has been advised of the possibility of such damages.
-- *
-- * Sun Microsystems, Inc.
-- * 2550 Garcia Avenue
-- * Mountain View, California  94043
-- */
--
--#if defined(LIBC_SCCS) && !defined(lint)
--static char *rcsid = "$OpenBSD: svc_raw.c,v 1.4 1996/09/15 09:31:39 tholo Exp $";
--#endif /* LIBC_SCCS and not lint */
--
--/*
-- * svc_raw.c,   This a toy for simple testing and timing.
-- * Interface to create an rpc client and server in the same UNIX process.
-- * This lets us similate rpc and get rpc (round trip) overhead, without
-- * any interference from the kernal.
-- *
-- * Copyright (C) 1984, Sun Microsystems, Inc.
-- */
--
--#include <stdlib.h>
--#include <rpc/rpc.h>
--
--
--/*
-- * This is the "network" that we will be moving data over
-- */
--static struct svcraw_private {
--      char    _raw_buf[UDPMSGSIZE];
--      SVCXPRT server;
--      XDR     xdr_stream;
--      char    verf_body[MAX_AUTH_BYTES];
--} *svcraw_private;
--
--static bool_t         svcraw_recv();
--static enum xprt_stat         svcraw_stat();
--static bool_t         svcraw_getargs();
--static bool_t         svcraw_reply();
--static bool_t         svcraw_freeargs();
--static void           svcraw_destroy();
--
--static struct xp_ops server_ops = {
--      svcraw_recv,
--      svcraw_stat,
--      svcraw_getargs,
--      svcraw_reply,
--      svcraw_freeargs,
--      svcraw_destroy
--};
--
--SVCXPRT *
--svcraw_create()
--{
--      register struct svcraw_private *srp = svcraw_private;
--
--      if (srp == 0) {
--              srp = (struct svcraw_private *)calloc(1, sizeof (*srp));
--              if (srp == 0)
--                      return (0);
--      }
--      srp->server.xp_sock = 0;
--      srp->server.xp_port = 0;
--      srp->server.xp_ops = &server_ops;
--      srp->server.xp_verf.oa_base = srp->verf_body;
--      xdrmem_create(&srp->xdr_stream, srp->_raw_buf, UDPMSGSIZE, XDR_FREE);
--      return (&srp->server);
--}
--
--static enum xprt_stat
--svcraw_stat()
--{
--
--      return (XPRT_IDLE);
--}
--
--/* ARGSUSED */
--static bool_t
--svcraw_recv(xprt, msg)
--      SVCXPRT *xprt;
--      struct rpc_msg *msg;
--{
--      register struct svcraw_private *srp = svcraw_private;
--      register XDR *xdrs;
--
--      if (srp == 0)
--              return (0);
--      xdrs = &srp->xdr_stream;
--      xdrs->x_op = XDR_DECODE;
--      XDR_SETPOS(xdrs, 0);
--      if (! xdr_callmsg(xdrs, msg))
--             return (FALSE);
--      return (TRUE);
--}
--
--/* ARGSUSED */
--static bool_t
--svcraw_reply(xprt, msg)
--      SVCXPRT *xprt;
--      struct rpc_msg *msg;
--{
--      register struct svcraw_private *srp = svcraw_private;
--      register XDR *xdrs;
--
--      if (srp == 0)
--              return (FALSE);
--      xdrs = &srp->xdr_stream;
--      xdrs->x_op = XDR_ENCODE;
--      XDR_SETPOS(xdrs, 0);
--      if (! xdr_replymsg(xdrs, msg))
--             return (FALSE);
--      (void)XDR_GETPOS(xdrs);  /* called just for overhead */
--      return (TRUE);
--}
--
--/* ARGSUSED */
--static bool_t
--svcraw_getargs(xprt, xdr_args, args_ptr)
--      SVCXPRT *xprt;
--      xdrproc_t xdr_args;
--      caddr_t args_ptr;
--{
--      register struct svcraw_private *srp = svcraw_private;
--
--      if (srp == 0)
--              return (FALSE);
--      return ((*xdr_args)(&srp->xdr_stream, args_ptr));
--}
--
--/* ARGSUSED */
--static bool_t
--svcraw_freeargs(xprt, xdr_args, args_ptr)
--      SVCXPRT *xprt;
--      xdrproc_t xdr_args;
--      caddr_t args_ptr;
--{
--      register struct svcraw_private *srp = svcraw_private;
--      register XDR *xdrs;
--
--      if (srp == 0)
--              return (FALSE);
--      xdrs = &srp->xdr_stream;
--      xdrs->x_op = XDR_FREE;
--      return ((*xdr_args)(xdrs, args_ptr));
--}
--
--static void
--svcraw_destroy()
--{
--}
-diff -puN -L support/rpc/svc_run.c support/rpc/svc_run.c~CITI_NFS4_ALL /dev/null
---- nfs-utils-1.0.7/support/rpc/svc_run.c
-+++ /dev/null  2005-05-05 05:47:05.259725168 -0400
-@@ -1,84 +0,0 @@
--/*
-- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
-- * unrestricted use provided that this legend is included on all tape
-- * media and as a part of the software program in whole or part.  Users
-- * may copy or modify Sun RPC without charge, but are not authorized
-- * to license or distribute it to anyone else except as part of a product or
-- * program developed by the user.
-- *
-- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
-- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
-- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
-- *
-- * Sun RPC is provided with no support and without any obligation on the
-- * part of Sun Microsystems, Inc. to assist in its use, correction,
-- * modification or enhancement.
-- *
-- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
-- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
-- * OR ANY PART THEREOF.
-- *
-- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
-- * or profits or other special, indirect and consequential damages, even if
-- * Sun has been advised of the possibility of such damages.
-- *
-- * Sun Microsystems, Inc.
-- * 2550 Garcia Avenue
-- * Mountain View, California  94043
-- */
--
--#if defined(LIBC_SCCS) && !defined(lint)
--static char *rcsid = "$OpenBSD: svc_run.c,v 1.10 1998/03/19 00:27:24 millert Exp $";
--#endif /* LIBC_SCCS and not lint */
--
--/*
-- * This is the rpc server side idle loop
-- * Wait for input, call server program.
-- */
--#include <rpc/rpc.h>
--#include <sys/param.h>
--#include <sys/errno.h>
--#include <unistd.h>
--#include <stdio.h>
--#include <stdlib.h>
--#include <string.h>
--
--extern int __svc_fdsetsize;
--extern fd_set *__svc_fdset;
--
--void svc_getreqset2 __P((fd_set *, int));
--
--void
--svc_run()
--{
--      fd_set *fds;
--
--      for (;;) {
--              if (__svc_fdset) {
--                      int bytes = howmany(__svc_fdsetsize, NFDBITS) *
--                          sizeof(fd_mask);
--                      fds = (fd_set *)malloc(bytes);
--                      memcpy(fds, __svc_fdset, bytes);
--              } else
--                      fds = NULL;
--              switch (select(svc_maxfd+1, fds, 0, 0, (struct timeval *)0)) {
--              case -1:
--                      if (errno == EINTR) {
--                              if (fds)
--                                      free(fds);
--                              continue;
--                      }
--                      perror("svc_run: - select failed");
--                      if (fds)
--                              free(fds);
--                      return;
--              case 0:
--                      if (fds)
--                              free(fds);
--                      continue;
--              default:
--                      svc_getreqset2(fds, svc_maxfd+1);
--                      free(fds);
--              }
--      }
--}
-diff -puN -L support/rpc/svc_simple.c support/rpc/svc_simple.c~CITI_NFS4_ALL /dev/null
---- nfs-utils-1.0.7/support/rpc/svc_simple.c
-+++ /dev/null  2005-05-05 05:47:05.259725168 -0400
-@@ -1,149 +0,0 @@
--/*
-- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
-- * unrestricted use provided that this legend is included on all tape
-- * media and as a part of the software program in whole or part.  Users
-- * may copy or modify Sun RPC without charge, but are not authorized
-- * to license or distribute it to anyone else except as part of a product or
-- * program developed by the user.
-- *
-- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
-- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
-- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
-- *
-- * Sun RPC is provided with no support and without any obligation on the
-- * part of Sun Microsystems, Inc. to assist in its use, correction,
-- * modification or enhancement.
-- *
-- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
-- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
-- * OR ANY PART THEREOF.
-- *
-- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
-- * or profits or other special, indirect and consequential damages, even if
-- * Sun has been advised of the possibility of such damages.
-- *
-- * Sun Microsystems, Inc.
-- * 2550 Garcia Avenue
-- * Mountain View, California  94043
-- */
--
--#if defined(LIBC_SCCS) && !defined(lint)
--static char *rcsid = "$OpenBSD: svc_simple.c,v 1.6 1998/11/22 07:38:25 deraadt Exp $";
--#endif /* LIBC_SCCS and not lint */
--
--/*
-- * svc_simple.c
-- * Simplified front end to rpc.
-- *
-- * Copyright (C) 1984, Sun Microsystems, Inc.
-- */
--
--#include <stdio.h>
--#include <stdlib.h>
--#include <string.h>
--#include <rpc/rpc.h>
--#include <rpc/pmap_clnt.h>
--#include <sys/socket.h>
--#include <netdb.h>
--
--static struct proglst {
--      char *(*p_progname)();
--      int  p_prognum;
--      int  p_procnum;
--      xdrproc_t p_inproc, p_outproc;
--      struct proglst *p_nxt;
--} *proglst;
--static void universal();
--static SVCXPRT *transp;
--struct proglst *pl;
--
--int
--registerrpc(prognum, versnum, procnum, progname, inproc, outproc)
--      int prognum, versnum, procnum;
--      char *(*progname)();
--      xdrproc_t inproc, outproc;
--{
--
--      if (procnum == NULLPROC) {
--              (void) fprintf(stderr,
--                  "can't reassign procedure number %u\n", NULLPROC);
--              return (-1);
--      }
--      if (transp == 0) {
--              transp = svcudp_create(RPC_ANYSOCK);
--              if (transp == NULL) {
--                      (void) fprintf(stderr, "couldn't create an rpc server\n");
--                      return (-1);
--              }
--      }
--      (void) pmap_unset((u_long)prognum, (u_long)versnum);
--      if (!svc_register(transp, (u_long)prognum, (u_long)versnum,
--          universal, IPPROTO_UDP)) {
--              (void) fprintf(stderr, "couldn't register prog %d vers %d\n",
--                  prognum, versnum);
--              return (-1);
--      }
--      pl = (struct proglst *)malloc(sizeof(struct proglst));
--      if (pl == NULL) {
--              (void) fprintf(stderr, "registerrpc: out of memory\n");
--              return (-1);
--      }
--      pl->p_progname = progname;
--      pl->p_prognum = prognum;
--      pl->p_procnum = procnum;
--      pl->p_inproc = inproc;
--      pl->p_outproc = outproc;
--      pl->p_nxt = proglst;
--      proglst = pl;
--      return (0);
--}
--
--static void
--universal(rqstp, transp)
--      struct svc_req *rqstp;
--      SVCXPRT *transp;
--{
--      int prog, proc;
--      char *outdata;
--      char xdrbuf[UDPMSGSIZE];
--      struct proglst *pl;
--
--      /*
--       * enforce "procnum 0 is echo" convention
--       */
--      if (rqstp->rq_proc == NULLPROC) {
--              if (svc_sendreply(transp, xdr_void, NULL) == FALSE) {
--                      (void) fprintf(stderr, "xxx\n");
--                      exit(1);
--              }
--              return;
--      }
--      prog = rqstp->rq_prog;
--      proc = rqstp->rq_proc;
--      for (pl = proglst; pl != NULL; pl = pl->p_nxt)
--              if (pl->p_prognum == prog && pl->p_procnum == proc) {
--                      /* decode arguments into a CLEAN buffer */
--                      memset(xdrbuf, 0, sizeof(xdrbuf)); /* required ! */
--                      if (!svc_getargs(transp, pl->p_inproc, xdrbuf)) {
--                              svcerr_decode(transp);
--                              return;
--                      }
--                      outdata = (*(pl->p_progname))(xdrbuf);
--                      if (outdata == NULL &&
--                          pl->p_outproc != xdr_void)
--                              /* there was an error */
--                              return;
--                      if (!svc_sendreply(transp, pl->p_outproc, outdata)) {
--                              (void) fprintf(stderr,
--                                  "trouble replying to prog %d\n",
--                                  pl->p_prognum);
--                              exit(1);
--                      }
--                      /* free the decoded arguments */
--                      (void)svc_freeargs(transp, pl->p_inproc, xdrbuf);
--                      return;
--              }
--      (void) fprintf(stderr, "never registered prog %d\n", prog);
--      exit(1);
--}
--
-diff -puN -L support/rpc/svc_tcp.c support/rpc/svc_tcp.c~CITI_NFS4_ALL /dev/null
---- nfs-utils-1.0.7/support/rpc/svc_tcp.c
-+++ /dev/null  2005-05-05 05:47:05.259725168 -0400
-@@ -1,528 +0,0 @@
--/*
-- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
-- * unrestricted use provided that this legend is included on all tape
-- * media and as a part of the software program in whole or part.  Users
-- * may copy or modify Sun RPC without charge, but are not authorized
-- * to license or distribute it to anyone else except as part of a product or
-- * program developed by the user.
-- *
-- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
-- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
-- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
-- *
-- * Sun RPC is provided with no support and without any obligation on the
-- * part of Sun Microsystems, Inc. to assist in its use, correction,
-- * modification or enhancement.
-- *
-- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
-- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
-- * OR ANY PART THEREOF.
-- *
-- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
-- * or profits or other special, indirect and consequential damages, even if
-- * Sun has been advised of the possibility of such damages.
-- *
-- * Sun Microsystems, Inc.
-- * 2550 Garcia Avenue
-- * Mountain View, California  94043
-- */
--
--#if defined(LIBC_SCCS) && !defined(lint)
--static char *rcsid = "$OpenBSD: svc_tcp.c,v 1.18 1998/05/22 04:23:01 deraadt Exp $";
--#endif /* LIBC_SCCS and not lint */
--
--/*
-- * svc_tcp.c, Server side for TCP/IP based RPC.
-- *
-- * Copyright (C) 1984, Sun Microsystems, Inc.
-- *
-- * Actually implements two flavors of transporter -
-- * a tcp rendezvouser (a listner and connection establisher)
-- * and a record/tcp stream.
-- */
--
--#include <stdio.h>
--#include <stdlib.h>
--#include <string.h>
--#include <unistd.h>
--#include <rpc/rpc.h>
--#include <sys/param.h>
--#include <sys/socket.h>
--#include <errno.h>
--
--#include <netinet/in_systm.h>
--#include <netinet/in.h>
--#include <netinet/ip.h>
--#ifndef __linux__
--#include <netinet/ip_var.h>
--#endif
--
--/*
-- * Ops vector for TCP/IP based rpc service handle
-- */
--static bool_t         svctcp_recv();
--static enum xprt_stat svctcp_stat();
--static bool_t         svctcp_getargs();
--static bool_t         svctcp_reply();
--static bool_t         svctcp_freeargs();
--static void           svctcp_destroy();
--
--static struct xp_ops svctcp_op = {
--      svctcp_recv,
--      svctcp_stat,
--      svctcp_getargs,
--      svctcp_reply,
--      svctcp_freeargs,
--      svctcp_destroy
--};
--
--/*
-- * Ops vector for TCP/IP rendezvous handler
-- */
--static bool_t         rendezvous_request();
--static enum xprt_stat rendezvous_stat();
--
--static struct xp_ops svctcp_rendezvous_op = {
--      rendezvous_request,
--      rendezvous_stat,
--      (bool_t (*)())abort,
--      (bool_t (*)())abort,
--      (bool_t (*)())abort,
--      svctcp_destroy
--};
--
--static int readtcp(), writetcp();
--static SVCXPRT *makefd_xprt();
--
--struct tcp_rendezvous { /* kept in xprt->xp_p1 */
--      u_int sendsize;
--      u_int recvsize;
--};
--
--struct tcp_conn {  /* kept in xprt->xp_p1 */
--      enum xprt_stat strm_stat;
--      u_long x_id;
--      XDR xdrs;
--      char verf_body[MAX_AUTH_BYTES];
--};
--
--/*
-- * Usage:
-- *    xprt = svctcp_create(sock, send_buf_size, recv_buf_size);
-- *
-- * Creates, registers, and returns a (rpc) tcp based transporter.
-- * Once *xprt is initialized, it is registered as a transporter
-- * see (svc.h, xprt_register).  This routine returns
-- * a NULL if a problem occurred.
-- *
-- * If sock<0 then a socket is created, else sock is used.
-- * If the socket, sock is not bound to a port then svctcp_create
-- * binds it to an arbitrary port.  The routine then starts a tcp
-- * listener on the socket's associated port.  In any (successful) case,
-- * xprt->xp_sock is the registered socket number and xprt->xp_port is the
-- * associated port number.
-- *
-- * Since tcp streams do buffered io similar to stdio, the caller can specify
-- * how big the send and receive buffers are via the second and third parms;
-- * 0 => use the system default.
-- */
--SVCXPRT *
--svctcp_create(sock, sendsize, recvsize)
--      register int sock;
--      u_int sendsize;
--      u_int recvsize;
--{
--      bool_t madesock = FALSE;
--      register SVCXPRT *xprt;
--      register struct tcp_rendezvous *r;
--      struct sockaddr_in addr;
--      int len = sizeof(struct sockaddr_in);
--
--      if (sock == RPC_ANYSOCK) {
--              if ((sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP)) < 0) {
--                      perror("svctcp_.c - udp socket creation problem");
--                      return ((SVCXPRT *)NULL);
--              }
--              madesock = TRUE;
--      }
--      memset(&addr, 0, sizeof (addr));
--#ifndef __linux__
--      addr.sin_len = sizeof(struct sockaddr_in);
--#endif
--      addr.sin_family = AF_INET;
--      if (bindresvport(sock, &addr)) {
--              addr.sin_port = 0;
--              (void)bind(sock, (struct sockaddr *)&addr, len);
--      }
--      if ((getsockname(sock, (struct sockaddr *)&addr, &len) != 0)  ||
--          (listen(sock, 2) != 0)) {
--              perror("svctcp_.c - cannot getsockname or listen");
--              if (madesock)
--                      (void)close(sock);
--              return ((SVCXPRT *)NULL);
--      }
--      r = (struct tcp_rendezvous *)mem_alloc(sizeof(*r));
--      if (r == NULL) {
--              (void)fprintf(stderr, "svctcp_create: out of memory\n");
--              if (madesock)
--                      (void)close(sock);
--              return (NULL);
--      }
--      r->sendsize = sendsize;
--      r->recvsize = recvsize;
--      xprt = (SVCXPRT *)mem_alloc(sizeof(SVCXPRT));
--      if (xprt == NULL) {
--              (void)fprintf(stderr, "svctcp_create: out of memory\n");
--              if (madesock)
--                      (void)close(sock);
--              free(r);
--              return (NULL);
--      }
--      xprt->xp_p2 = NULL;
--      xprt->xp_p1 = (caddr_t)r;
--      xprt->xp_auth = NULL;
--      xprt->xp_verf = _null_auth;
--      xprt->xp_ops = &svctcp_rendezvous_op;
--      xprt->xp_port = ntohs(addr.sin_port);
--      xprt->xp_sock = sock;
--      xprt_register(xprt);
--      return (xprt);
--}
--
--/*
-- * Like svtcp_create(), except the routine takes any *open* UNIX file
-- * descriptor as its first input.
-- */
--SVCXPRT *
--svcfd_create(fd, sendsize, recvsize)
--      int fd;
--      u_int sendsize;
--      u_int recvsize;
--{
--
--      return (makefd_xprt(fd, sendsize, recvsize));
--}
--
--static SVCXPRT *
--makefd_xprt(fd, sendsize, recvsize)
--      int fd;
--      u_int sendsize;
--      u_int recvsize;
--{
--      register SVCXPRT *xprt;
--      register struct tcp_conn *cd;
--
--      xprt = (SVCXPRT *)mem_alloc(sizeof(SVCXPRT));
--      if (xprt == (SVCXPRT *)NULL) {
--              (void) fprintf(stderr, "svc_tcp: makefd_xprt: out of memory\n");
--              goto done;
--      }
--      cd = (struct tcp_conn *)mem_alloc(sizeof(struct tcp_conn));
--      if (cd == (struct tcp_conn *)NULL) {
--              (void) fprintf(stderr, "svc_tcp: makefd_xprt: out of memory\n");
--              mem_free((char *) xprt, sizeof(SVCXPRT));
--              xprt = (SVCXPRT *)NULL;
--              goto done;
--      }
--      cd->strm_stat = XPRT_IDLE;
--      xdrrec_create(&(cd->xdrs), sendsize, recvsize,
--          (caddr_t)xprt, readtcp, writetcp);
--      xprt->xp_p2 = NULL;
--      xprt->xp_p1 = (caddr_t)cd;
--      xprt->xp_auth = NULL;
--      xprt->xp_verf.oa_base = cd->verf_body;
--      xprt->xp_addrlen = 0;
--      xprt->xp_ops = &svctcp_op;  /* truely deals with calls */
--      xprt->xp_port = 0;  /* this is a connection, not a rendezvouser */
--      xprt->xp_sock = fd;
--      xprt_register(xprt);
--    done:
--      return (xprt);
--}
--
--static bool_t
--rendezvous_request(xprt)
--      register SVCXPRT *xprt;
--{
--      int sock;
--      struct tcp_rendezvous *r;
--      struct sockaddr_in addr;
--      int len;
--
--      r = (struct tcp_rendezvous *)xprt->xp_p1;
--    again:
--      len = sizeof(struct sockaddr_in);
--      if ((sock = accept(xprt->xp_sock, (struct sockaddr *)&addr,
--          &len)) < 0) {
--              if (errno == EINTR)
--                      goto again;
--             return (FALSE);
--      }
--
--#ifdef IP_OPTIONS
--      {
--#ifdef __linux__
--#define ipopt_list    ip_opts
--              struct ip_opts opts;
--#else
--              struct ipoption opts;
--#endif
--              int optsize = sizeof(opts), i;
--
--              if (!getsockopt(sock, IPPROTO_IP, IP_OPTIONS, (char *)&opts,
--                  &optsize) && optsize != 0) {
--                      for (i = 0; (char *)&opts.ipopt_list[i] - (char *)&opts <
--                          optsize; ) {
--                              u_char c = (u_char)opts.ipopt_list[i];
--                              if (c == IPOPT_LSRR || c == IPOPT_SSRR) {
--                                      close(sock);
--                                      return (FALSE);
--                              }
--                              if (c == IPOPT_EOL)
--                                      break;
--                              i += (c == IPOPT_NOP) ? 1 :
--                                  (u_char)opts.ipopt_list[i+1];
--                      }
--              }
--      }
--#endif
--
--      /*
--       * XXX careful for ftp bounce attacks. If discovered, close the
--       * socket and look for another connection.
--       */
--      if (addr.sin_port == htons(20)) {
--              close(sock);
--              return (FALSE);
--      }
--
--      /*
--       * make a new transporter (re-uses xprt)
--       */
--      xprt = makefd_xprt(sock, r->sendsize, r->recvsize);
--      xprt->xp_raddr = addr;
--      xprt->xp_addrlen = len;
--      return (FALSE); /* there is never an rpc msg to be processed */
--}
--
--static enum xprt_stat
--rendezvous_stat()
--{
--
--      return (XPRT_IDLE);
--}
--
--static void
--svctcp_destroy(xprt)
--      register SVCXPRT *xprt;
--{
--      register struct tcp_conn *cd = (struct tcp_conn *)xprt->xp_p1;
--
--      xprt_unregister(xprt);
--      if (xprt->xp_sock != -1)
--              (void)close(xprt->xp_sock);
--      xprt->xp_sock = -1;
--      if (xprt->xp_port != 0) {
--              /* a rendezvouser socket */
--              xprt->xp_port = 0;
--      } else {
--              /* an actual connection socket */
--              XDR_DESTROY(&(cd->xdrs));
--      }
--      if (xprt->xp_auth != NULL) {
--              SVCAUTH_DESTROY(xprt->xp_auth);
--              xprt->xp_auth = NULL;
--      }
--      mem_free((caddr_t)cd, sizeof(struct tcp_conn));
--      mem_free((caddr_t)xprt, sizeof(SVCXPRT));
--}
--
--/*
-- * All read operations timeout after 35 seconds.
-- * A timeout is fatal for the connection.
-- */
--static struct timeval wait_per_try = { 35, 0 };
--
--/*
-- * reads data from the tcp conection.
-- * any error is fatal and the connection is closed.
-- * (And a read of zero bytes is a half closed stream => error.)
-- */
--static int
--readtcp(xprt, buf, len)
--      register SVCXPRT *xprt;
--      caddr_t buf;
--      register int len;
--{
--      register int sock = xprt->xp_sock;
--      struct timeval start, delta;
--      struct timeval tmp1, tmp2;
--      fd_set *fds = NULL;
--      int prevbytes = 0, bytes;
--      extern int __svc_fdsetsize;
--      extern fd_set *__svc_fdset;
--
--      delta = wait_per_try;
--      gettimeofday(&start, NULL);
--      do {
--              bytes = howmany(__svc_fdsetsize, NFDBITS) * sizeof(fd_mask);
--              if (bytes != prevbytes) {
--                      if (fds)
--                              free(fds);
--                      fds = (fd_set *)malloc(bytes);
--                      prevbytes = bytes;
--              }
--              if (fds == NULL)
--                      goto fatal_err;
--              memcpy(fds, __svc_fdset, bytes);
--
--              FD_SET(sock, fds);
--              switch (select(svc_maxfd+1, fds, NULL, NULL, &delta)) {
--              case -1:
--                      if (errno != EINTR)
--                              goto fatal_err;
--                      gettimeofday(&tmp1, NULL);
--                      timersub(&tmp1, &start, &tmp2);
--                      timersub(&wait_per_try, &tmp2, &tmp1);
--                      if (tmp1.tv_sec < 0 || !timerisset(&tmp1))
--                              goto fatal_err;
--                      delta = tmp1;
--                      continue;
--              case 0:
--                      goto fatal_err;
--              default:
--                      if (!FD_ISSET(sock, fds)) {
--                              svc_getreqset2(fds, svc_maxfd+1);
--                              gettimeofday(&tmp1, NULL);
--                              timersub(&tmp1, &start, &tmp2);
--                              timersub(&wait_per_try, &tmp2, &tmp1);
--                              if (tmp1.tv_sec < 0 || !timerisset(&tmp1))
--                                      goto fatal_err;
--                              delta = tmp1;
--                              continue;
--                      }
--              }
--      } while (!FD_ISSET(sock, fds));
--      if ((len = read(sock, buf, len)) > 0) {
--              if (fds)
--                      free(fds);
--              return (len);
--      }
--fatal_err:
--      ((struct tcp_conn *)(xprt->xp_p1))->strm_stat = XPRT_DIED;
--      if (fds)
--              free(fds);
--      return (-1);
--}
--
--/*
-- * writes data to the tcp connection.
-- * Any error is fatal and the connection is closed.
-- */
--static int
--writetcp(xprt, buf, len)
--      register SVCXPRT *xprt;
--      caddr_t buf;
--      int len;
--{
--      register int i, cnt;
--
--      for (cnt = len; cnt > 0; cnt -= i, buf += i) {
--              if ((i = write(xprt->xp_sock, buf, cnt)) < 0) {
--                      ((struct tcp_conn *)(xprt->xp_p1))->strm_stat =
--                          XPRT_DIED;
--                      return (-1);
--              }
--      }
--      return (len);
--}
--
--static enum xprt_stat
--svctcp_stat(xprt)
--      SVCXPRT *xprt;
--{
--      register struct tcp_conn *cd =
--          (struct tcp_conn *)(xprt->xp_p1);
--
--      if (cd->strm_stat == XPRT_DIED)
--              return (XPRT_DIED);
--      if (! xdrrec_eof(&(cd->xdrs)))
--              return (XPRT_MOREREQS);
--      return (XPRT_IDLE);
--}
--
--static bool_t
--svctcp_recv(xprt, msg)
--      SVCXPRT *xprt;
--      register struct rpc_msg *msg;
--{
--      register struct tcp_conn *cd =
--          (struct tcp_conn *)(xprt->xp_p1);
--      register XDR *xdrs = &(cd->xdrs);
--
--      xdrs->x_op = XDR_DECODE;
--      (void)xdrrec_skiprecord(xdrs);
--      if (xdr_callmsg(xdrs, msg)) {
--              cd->x_id = msg->rm_xid;
--              return (TRUE);
--      }
--      cd->strm_stat = XPRT_DIED;      /* XXX */
--      return (FALSE);
--}
--
--static bool_t
--svctcp_getargs(xprt, xdr_args, args_ptr)
--      SVCXPRT *xprt;
--      xdrproc_t xdr_args;
--      caddr_t args_ptr;
--{
--      return (SVCAUTH_UNWRAP(xprt->xp_auth,
--                             &(((struct tcp_conn *)(xprt->xp_p1))->xdrs),
--                             xdr_args, args_ptr));
--}
--
--static bool_t
--svctcp_freeargs(xprt, xdr_args, args_ptr)
--      SVCXPRT *xprt;
--      xdrproc_t xdr_args;
--      caddr_t args_ptr;
--{
--      register XDR *xdrs =
--          &(((struct tcp_conn *)(xprt->xp_p1))->xdrs);
--
--      xdrs->x_op = XDR_FREE;
--      return ((*xdr_args)(xdrs, args_ptr));
--}
--
--static bool_t
--svctcp_reply(xprt, msg)
--      SVCXPRT *xprt;
--      register struct rpc_msg *msg;
--{
--      register struct tcp_conn *cd =
--          (struct tcp_conn *)(xprt->xp_p1);
--      register XDR *xdrs = &(cd->xdrs);
--      xdrproc_t xdr_proc;
--      caddr_t xdr_where;
--
--      xdrs->x_op = XDR_ENCODE;
--      msg->rm_xid = cd->x_id;
--
--      if (msg->rm_reply.rp_stat == MSG_ACCEPTED &&
--          msg->rm_reply.rp_acpt.ar_stat == SUCCESS) {
--              xdr_proc = msg->acpted_rply.ar_results.proc;
--              xdr_where = msg->acpted_rply.ar_results.where;
--              msg->acpted_rply.ar_results.proc = xdr_void;
--              msg->acpted_rply.ar_results.where = NULL;
--
--              if (!xdr_replymsg(xdrs, msg) ||
--                  !SVCAUTH_WRAP(xprt->xp_auth, xdrs, xdr_proc, xdr_where))
--                      return (FALSE);
--      }
--      else if (!xdr_replymsg(xdrs, msg)) {
--              return (FALSE);
--      }
--      (void)xdrrec_endofrecord(xdrs, TRUE);
--
--      return (TRUE);
--}
-diff -puN -L support/rpc/svc_udp.c support/rpc/svc_udp.c~CITI_NFS4_ALL /dev/null
---- nfs-utils-1.0.7/support/rpc/svc_udp.c
-+++ /dev/null  2005-05-05 05:47:05.259725168 -0400
-@@ -1,516 +0,0 @@
--/*
-- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
-- * unrestricted use provided that this legend is included on all tape
-- * media and as a part of the software program in whole or part.  Users
-- * may copy or modify Sun RPC without charge, but are not authorized
-- * to license or distribute it to anyone else except as part of a product or
-- * program developed by the user.
-- *
-- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
-- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
-- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
-- *
-- * Sun RPC is provided with no support and without any obligation on the
-- * part of Sun Microsystems, Inc. to assist in its use, correction,
-- * modification or enhancement.
-- *
-- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
-- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
-- * OR ANY PART THEREOF.
-- *
-- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
-- * or profits or other special, indirect and consequential damages, even if
-- * Sun has been advised of the possibility of such damages.
-- *
-- * Sun Microsystems, Inc.
-- * 2550 Garcia Avenue
-- * Mountain View, California  94043
-- */
--
--#if defined(LIBC_SCCS) && !defined(lint)
--static char *rcsid = "$OpenBSD: svc_udp.c,v 1.8 1998/03/19 00:27:26 millert Exp $";
--#endif /* LIBC_SCCS and not lint */
--
--/*
-- * svc_udp.c,
-- * Server side for UDP/IP based RPC.  (Does some caching in the hopes of
-- * achieving execute-at-most-once semantics.)
-- *
-- * Copyright (C) 1984, Sun Microsystems, Inc.
-- */
--
--#include <stdio.h>
--#include <stdlib.h>
--#include <string.h>
--#include <rpc/rpc.h>
--#include <sys/socket.h>
--#include <errno.h>
--#include <unistd.h>
--
--
--#define rpc_buffer(xprt) ((xprt)->xp_p1)
--#ifndef MAX
--#define MAX(a, b)     ((a > b) ? a : b)
--#endif
--
--static bool_t         svcudp_recv();
--static bool_t         svcudp_reply();
--static enum xprt_stat svcudp_stat();
--static bool_t         svcudp_getargs();
--static bool_t         svcudp_freeargs();
--static void           svcudp_destroy();
--static void           cache_set __P((SVCXPRT *, u_long));
--static int            cache_get __P((SVCXPRT *, struct rpc_msg *, char **, u_long *));
--
--static struct xp_ops svcudp_op = {
--      svcudp_recv,
--      svcudp_stat,
--      svcudp_getargs,
--      svcudp_reply,
--      svcudp_freeargs,
--      svcudp_destroy
--};
--
--/*
-- * kept in xprt->xp_p2
-- */
--struct svcudp_data {
--      u_int   su_iosz;        /* byte size of send.recv buffer */
--      u_long  su_xid;         /* transaction id */
--      XDR     su_xdrs;        /* XDR handle */
--      char    su_verfbody[MAX_AUTH_BYTES];    /* verifier body */
--      char *  su_cache;       /* cached data, NULL if no cache */
--};
--#define       su_data(xprt)   ((struct svcudp_data *)(xprt->xp_p2))
--
--/*
-- * Usage:
-- *    xprt = svcudp_create(sock);
-- *
-- * If sock<0 then a socket is created, else sock is used.
-- * If the socket, sock is not bound to a port then svcudp_create
-- * binds it to an arbitrary port.  In any (successful) case,
-- * xprt->xp_sock is the registered socket number and xprt->xp_port is the
-- * associated port number.
-- * Once *xprt is initialized, it is registered as a transporter;
-- * see (svc.h, xprt_register).
-- * The routines returns NULL if a problem occurred.
-- */
--SVCXPRT *
--svcudp_bufcreate(sock, sendsz, recvsz)
--      register int sock;
--      u_int sendsz, recvsz;
--{
--      bool_t madesock = FALSE;
--      register SVCXPRT *xprt;
--      register struct svcudp_data *su;
--      struct sockaddr_in addr;
--      int len = sizeof(struct sockaddr_in);
--
--      if (sock == RPC_ANYSOCK) {
--              if ((sock = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP)) < 0) {
--                      perror("svcudp_create: socket creation problem");
--                      return ((SVCXPRT *)NULL);
--              }
--              madesock = TRUE;
--      }
--      memset(&addr, 0, sizeof (addr));
--#ifndef __linux__
--      addr.sin_len = sizeof(struct sockaddr_in);
--#endif
--      addr.sin_family = AF_INET;
--      if (bindresvport(sock, &addr)) {
--              addr.sin_port = 0;
--              (void)bind(sock, (struct sockaddr *)&addr, len);
--      }
--      if (getsockname(sock, (struct sockaddr *)&addr, &len) != 0) {
--              perror("svcudp_create - cannot getsockname");
--              if (madesock)
--                      (void)close(sock);
--              return ((SVCXPRT *)NULL);
--      }
--      xprt = (SVCXPRT *)mem_alloc(sizeof(SVCXPRT));
--      if (xprt == NULL) {
--              (void)fprintf(stderr, "svcudp_create: out of memory\n");
--              if (madesock)
--                      (void)close(sock);
--              return (NULL);
--      }
--      su = (struct svcudp_data *)mem_alloc(sizeof(*su));
--      if (su == NULL) {
--              (void)fprintf(stderr, "svcudp_create: out of memory\n");
--              if (madesock)
--                      (void)close(sock);
--              free(xprt);
--              return (NULL);
--      }
--      su->su_iosz = ((MAX(sendsz, recvsz) + 3) / 4) * 4;
--      if ((rpc_buffer(xprt) = mem_alloc(su->su_iosz)) == NULL) {
--              (void)fprintf(stderr, "svcudp_create: out of memory\n");
--              if (madesock)
--                      (void)close(sock);
--              free(xprt);
--              free(su);
--              return (NULL);
--      }
--      xdrmem_create(
--          &(su->su_xdrs), rpc_buffer(xprt), su->su_iosz, XDR_DECODE);
--      su->su_cache = NULL;
--      xprt->xp_p2 = (caddr_t)su;
--      xprt->xp_auth = NULL;
--      xprt->xp_verf.oa_base = su->su_verfbody;
--      xprt->xp_ops = &svcudp_op;
--      xprt->xp_port = ntohs(addr.sin_port);
--      xprt->xp_sock = sock;
--      xprt_register(xprt);
--      return (xprt);
--}
--
--SVCXPRT *
--svcudp_create(sock)
--      int sock;
--{
--
--      return(svcudp_bufcreate(sock, UDPMSGSIZE, UDPMSGSIZE));
--}
--
--/* ARGSUSED */
--static enum xprt_stat
--svcudp_stat(xprt)
--      SVCXPRT *xprt;
--{
--
--      return (XPRT_IDLE);
--}
--
--static bool_t
--svcudp_recv(xprt, msg)
--      register SVCXPRT *xprt;
--      struct rpc_msg *msg;
--{
--      register struct svcudp_data *su = su_data(xprt);
--      register XDR *xdrs = &(su->su_xdrs);
--      register int rlen;
--      char *reply;
--      u_long replylen;
--
--    again:
--      xprt->xp_addrlen = sizeof(struct sockaddr_in);
--      rlen = recvfrom(xprt->xp_sock, rpc_buffer(xprt), (int) su->su_iosz,
--          0, (struct sockaddr *)&(xprt->xp_raddr), &(xprt->xp_addrlen));
--      if (rlen == -1 && errno == EINTR)
--              goto again;
--      if (rlen == -1 || rlen < 4*sizeof(u_int32_t))
--              return (FALSE);
--      xdrs->x_op = XDR_DECODE;
--      XDR_SETPOS(xdrs, 0);
--      if (! xdr_callmsg(xdrs, msg))
--              return (FALSE);
--      su->su_xid = msg->rm_xid;
--      if (su->su_cache != NULL) {
--              if (cache_get(xprt, msg, &reply, &replylen)) {
--                      (void) sendto(xprt->xp_sock, reply, (int) replylen, 0,
--                        (struct sockaddr *) &xprt->xp_raddr, xprt->xp_addrlen);
--                      return (TRUE);
--              }
--      }
--      return (TRUE);
--}
--
--static bool_t
--svcudp_reply(xprt, msg)
--      register SVCXPRT *xprt;
--      struct rpc_msg *msg;
--{
--      register struct svcudp_data *su = su_data(xprt);
--      register XDR *xdrs = &(su->su_xdrs);
--      register int slen;
--      xdrproc_t xdr_proc;
--      caddr_t xdr_where;
--
--      xdrs->x_op = XDR_ENCODE;
--      XDR_SETPOS(xdrs, 0);
--      msg->rm_xid = su->su_xid;
--
--      if (msg->rm_reply.rp_stat == MSG_ACCEPTED &&
--          msg->rm_reply.rp_acpt.ar_stat == SUCCESS) {
--              xdr_proc = msg->acpted_rply.ar_results.proc;
--              xdr_where = msg->acpted_rply.ar_results.where;
--              msg->acpted_rply.ar_results.proc = xdr_void;
--              msg->acpted_rply.ar_results.where = NULL;
--
--              if (!xdr_replymsg(xdrs, msg) ||
--                  !SVCAUTH_WRAP(xprt->xp_auth, xdrs, xdr_proc, xdr_where))
--                      return (FALSE);
--      }
--      else if (!xdr_replymsg(xdrs, msg)) {
--              return (FALSE);
--      }
--      slen = (int)XDR_GETPOS(xdrs);
--
--      if (sendto(xprt->xp_sock, rpc_buffer(xprt), slen, 0,
--                 (struct sockaddr *)&(xprt->xp_raddr), xprt->xp_addrlen)
--          != slen) {
--              return (FALSE);
--      }
--      if (su->su_cache && slen >= 0)
--              cache_set(xprt, (u_long) slen);
--
--      return (TRUE);
--}
--
--static bool_t
--svcudp_getargs(xprt, xdr_args, args_ptr)
--      SVCXPRT *xprt;
--      xdrproc_t xdr_args;
--      caddr_t args_ptr;
--{
--      return (SVCAUTH_UNWRAP(xprt->xp_auth, &(su_data(xprt)->su_xdrs),
--                             xdr_args, args_ptr));
--}
--
--static bool_t
--svcudp_freeargs(xprt, xdr_args, args_ptr)
--      SVCXPRT *xprt;
--      xdrproc_t xdr_args;
--      caddr_t args_ptr;
--{
--      register XDR *xdrs = &(su_data(xprt)->su_xdrs);
--
--      xdrs->x_op = XDR_FREE;
--      return ((*xdr_args)(xdrs, args_ptr));
--}
--
--static void
--svcudp_destroy(xprt)
--      register SVCXPRT *xprt;
--{
--      register struct svcudp_data *su = su_data(xprt);
--
--      xprt_unregister(xprt);
--      if (xprt->xp_sock != -1)
--              (void)close(xprt->xp_sock);
--      xprt->xp_sock = -1;
--      if (xprt->xp_auth != NULL) {
--              SVCAUTH_DESTROY(xprt->xp_auth);
--              xprt->xp_auth = NULL;
--      }
--      XDR_DESTROY(&(su->su_xdrs));
--      mem_free(rpc_buffer(xprt), su->su_iosz);
--      mem_free((caddr_t)su, sizeof(struct svcudp_data));
--      mem_free((caddr_t)xprt, sizeof(SVCXPRT));
--}
--
--
--/***********this could be a separate file*********************/
--
--/*
-- * Fifo cache for udp server
-- * Copies pointers to reply buffers into fifo cache
-- * Buffers are sent again if retransmissions are detected.
-- */
--
--#define SPARSENESS 4  /* 75% sparse */
--
--#define CACHE_PERROR(msg)     \
--      (void) fprintf(stderr,"%s\n", msg)
--
--#define ALLOC(type, size)     \
--      (type *) mem_alloc((unsigned) (sizeof(type) * (size)))
--
--#define BZERO(addr, type, size)        \
--      memset((char *) addr, 0, sizeof(type) * (int) (size))
--
--/*
-- * An entry in the cache
-- */
--typedef struct cache_node *cache_ptr;
--struct cache_node {
--      /*
--       * Index into cache is xid, proc, vers, prog and address
--       */
--      u_long cache_xid;
--      u_long cache_proc;
--      u_long cache_vers;
--      u_long cache_prog;
--      struct sockaddr_in cache_addr;
--      /*
--       * The cached reply and length
--       */
--      char * cache_reply;
--      u_long cache_replylen;
--      /*
--       * Next node on the list, if there is a collision
--       */
--      cache_ptr cache_next;
--};
--
--
--
--/*
-- * The entire cache
-- */
--struct udp_cache {
--      u_long uc_size;         /* size of cache */
--      cache_ptr *uc_entries;  /* hash table of entries in cache */
--      cache_ptr *uc_fifo;     /* fifo list of entries in cache */
--      u_long uc_nextvictim;   /* points to next victim in fifo list */
--      u_long uc_prog;         /* saved program number */
--      u_long uc_vers;         /* saved version number */
--      u_long uc_proc;         /* saved procedure number */
--      struct sockaddr_in uc_addr; /* saved caller's address */
--};
--
--
--/*
-- * the hashing function
-- */
--#define CACHE_LOC(transp, xid)        \
-- (xid % (SPARSENESS*((struct udp_cache *) su_data(transp)->su_cache)->uc_size))
--
--
--/*
-- * Enable use of the cache.
-- * Note: there is no disable.
-- */
--int
--svcudp_enablecache(transp, size)
--      SVCXPRT *transp;
--      u_long size;
--{
--      struct svcudp_data *su = su_data(transp);
--      struct udp_cache *uc;
--
--      if (su->su_cache != NULL) {
--              CACHE_PERROR("enablecache: cache already enabled");
--              return(0);
--      }
--      uc = ALLOC(struct udp_cache, 1);
--      if (uc == NULL) {
--              CACHE_PERROR("enablecache: could not allocate cache");
--              return(0);
--      }
--      uc->uc_size = size;
--      uc->uc_nextvictim = 0;
--      uc->uc_entries = ALLOC(cache_ptr, size * SPARSENESS);
--      if (uc->uc_entries == NULL) {
--              CACHE_PERROR("enablecache: could not allocate cache data");
--              return(0);
--      }
--      BZERO(uc->uc_entries, cache_ptr, size * SPARSENESS);
--      uc->uc_fifo = ALLOC(cache_ptr, size);
--      if (uc->uc_fifo == NULL) {
--              CACHE_PERROR("enablecache: could not allocate cache fifo");
--              return(0);
--      }
--      BZERO(uc->uc_fifo, cache_ptr, size);
--      su->su_cache = (char *) uc;
--      return(1);
--}
--
--
--/*
-- * Set an entry in the cache
-- */
--static void
--cache_set(xprt, replylen)
--      SVCXPRT *xprt;
--      u_long replylen;
--{
--      register cache_ptr victim;
--      register cache_ptr *vicp;
--      register struct svcudp_data *su = su_data(xprt);
--      struct udp_cache *uc = (struct udp_cache *) su->su_cache;
--      u_int loc;
--      char *newbuf;
--
--      /*
--       * Find space for the new entry, either by
--       * reusing an old entry, or by mallocing a new one
--       */
--      victim = uc->uc_fifo[uc->uc_nextvictim];
--      if (victim != NULL) {
--              loc = CACHE_LOC(xprt, victim->cache_xid);
--              for (vicp = &uc->uc_entries[loc];
--                *vicp != NULL && *vicp != victim;
--                vicp = &(*vicp)->cache_next)
--                              ;
--              if (*vicp == NULL) {
--                      CACHE_PERROR("cache_set: victim not found");
--                      return;
--              }
--              *vicp = victim->cache_next;     /* remote from cache */
--              newbuf = victim->cache_reply;
--      } else {
--              victim = ALLOC(struct cache_node, 1);
--              if (victim == NULL) {
--                      CACHE_PERROR("cache_set: victim alloc failed");
--                      return;
--              }
--              newbuf = mem_alloc(su->su_iosz);
--              if (newbuf == NULL) {
--                      CACHE_PERROR("cache_set: could not allocate new rpc_buffer");
--                      return;
--              }
--      }
--
--      /*
--       * Store it away
--       */
--      victim->cache_replylen = replylen;
--      victim->cache_reply = rpc_buffer(xprt);
--      rpc_buffer(xprt) = newbuf;
--      xdrmem_create(&(su->su_xdrs), rpc_buffer(xprt), su->su_iosz, XDR_ENCODE);
--      victim->cache_xid = su->su_xid;
--      victim->cache_proc = uc->uc_proc;
--      victim->cache_vers = uc->uc_vers;
--      victim->cache_prog = uc->uc_prog;
--      victim->cache_addr = uc->uc_addr;
--      loc = CACHE_LOC(xprt, victim->cache_xid);
--      victim->cache_next = uc->uc_entries[loc];
--      uc->uc_entries[loc] = victim;
--      uc->uc_fifo[uc->uc_nextvictim++] = victim;
--      uc->uc_nextvictim %= uc->uc_size;
--}
--
--/*
-- * Try to get an entry from the cache
-- * return 1 if found, 0 if not found
-- */
--static int
--cache_get(xprt, msg, replyp, replylenp)
--      SVCXPRT *xprt;
--      struct rpc_msg *msg;
--      char **replyp;
--      u_long *replylenp;
--{
--      u_int loc;
--      register cache_ptr ent;
--      register struct svcudp_data *su = su_data(xprt);
--      register struct udp_cache *uc = (struct udp_cache *) su->su_cache;
--
--#     define EQADDR(a1, a2)   (memcmp(&a1, &a2, sizeof(a1)) == 0)
--
--      loc = CACHE_LOC(xprt, su->su_xid);
--      for (ent = uc->uc_entries[loc]; ent != NULL; ent = ent->cache_next) {
--              if (ent->cache_xid == su->su_xid &&
--                ent->cache_proc == uc->uc_proc &&
--                ent->cache_vers == uc->uc_vers &&
--                ent->cache_prog == uc->uc_prog &&
--                EQADDR(ent->cache_addr, uc->uc_addr)) {
--                      *replyp = ent->cache_reply;
--                      *replylenp = ent->cache_replylen;
--                      return(1);
--              }
--      }
--      /*
--       * Failed to find entry
--       * Remember a few things so we can do a set later
--       */
--      uc->uc_proc = msg->rm_call.cb_proc;
--      uc->uc_vers = msg->rm_call.cb_vers;
--      uc->uc_prog = msg->rm_call.cb_prog;
--      uc->uc_addr = xprt->xp_raddr;
--      return(0);
--}
--
-diff -puN utils/gssd/gssd.c~CITI_NFS4_ALL utils/gssd/gssd.c
---- nfs-utils-1.0.7/utils/gssd/gssd.c~CITI_NFS4_ALL    2005-05-06 15:19:26.142447000 -0400
-+++ nfs-utils-1.0.7-kwc/utils/gssd/gssd.c      2005-05-06 15:19:26.301305000 -0400
-@@ -36,6 +36,8 @@
- */
-+#include "config.h"
-+
- #include <sys/param.h>
- #include <sys/socket.h>
- #include <rpc/rpc.h>
-@@ -66,7 +68,7 @@ sig_die(int signal)
- static void
- usage(char *progname)
- {
--      fprintf(stderr, "usage: %s [-f] [-v] [-p pipefsdir] [-k keytab]\n",
-+      fprintf(stderr, "usage: %s [-f] [-v] [-r] [-p pipefsdir] [-k keytab]\n",
-               progname);
-       exit(1);
- }
-@@ -76,11 +78,12 @@ main(int argc, char *argv[])
- {
-       int fg = 0;
-       int verbosity = 0;
-+      int rpc_verbosity = 0;
-       int opt;
-       extern char *optarg;
-       char *progname;
--      while ((opt = getopt(argc, argv, "fvmp:k:")) != -1) {
-+      while ((opt = getopt(argc, argv, "fvrmp:k:")) != -1) {
-               switch (opt) {
-                       case 'f':
-                               fg = 1;
-@@ -91,6 +94,9 @@ main(int argc, char *argv[])
-                       case 'v':
-                               verbosity++;
-                               break;
-+                      case 'r':
-+                              rpc_verbosity++;
-+                              break;
-                       case 'p':
-                               strncpy(pipefsdir, optarg, sizeof(pipefsdir));
-                               if (pipefsdir[sizeof(pipefsdir)-1] != '\0')
-@@ -117,6 +123,13 @@ main(int argc, char *argv[])
-               progname = argv[0];
-       initerr(progname, verbosity, fg);
-+#ifdef HAVE_AUTHGSS_SET_DEBUG_LEVEL
-+      authgss_set_debug_level(rpc_verbosity);
-+#else
-+        if (rpc_verbosity > 0)
-+              printerr(0, "Warning: rpcsec_gss library does not "
-+                          "support setting debug level\n");
-+#endif
-       if (!fg && daemon(0, 0) < 0)
-               errx(1, "fork");
-diff -puN utils/gssd/gssd.man~CITI_NFS4_ALL utils/gssd/gssd.man
---- nfs-utils-1.0.7/utils/gssd/gssd.man~CITI_NFS4_ALL  2005-05-06 15:19:26.190416000 -0400
-+++ nfs-utils-1.0.7-kwc/utils/gssd/gssd.man    2005-05-06 15:19:26.316291000 -0400
-@@ -6,7 +6,7 @@
- .SH NAME
- rpc.gssd \- rpcsec_gss daemon
- .SH SYNOPSIS
--.B "rpc.gssd [-f] [-k keytab] [-p pipefsdir] [-v]"
-+.B "rpc.gssd [-f] [-k keytab] [-p pipefsdir] [-v] [-r]"
- .SH DESCRIPTION
- The rpcsec_gss protocol gives a means of using the gss-api generic security
- api to provide security for protocols using rpc (in particular, nfs).  Before
-@@ -50,6 +50,10 @@ where to look for the rpc_pipefs filesys
- .TP
- .B -v
- Increases the verbosity of the output (can be specified multiple times).
-+.TP
-+.B -r
-+If the rpcsec_gss library supports setting debug level,
-+increases the verbosity of the output (can be specified multiple times).
- .SH SEE ALSO
- .BR rpc.svcgssd(8)
- .SH AUTHORS
-diff -puN utils/svcgssd/svcgssd.c~CITI_NFS4_ALL utils/svcgssd/svcgssd.c
---- nfs-utils-1.0.7/utils/svcgssd/svcgssd.c~CITI_NFS4_ALL      2005-05-06 15:19:26.238369000 -0400
-+++ nfs-utils-1.0.7-kwc/utils/svcgssd/svcgssd.c        2005-05-06 15:19:26.309297000 -0400
-@@ -37,6 +37,8 @@
- */
-+#include "config.h"
-+
- #include <sys/param.h>
- #include <sys/types.h>
- #include <sys/stat.h>
-@@ -146,7 +148,7 @@ sig_die(int signal)
- static void
- usage(char *progname)
- {
--      fprintf(stderr, "usage: %s [-n] [-f] [-v]\n",
-+      fprintf(stderr, "usage: %s [-n] [-f] [-v] [-r]\n",
-               progname);
-       exit(1);
- }
-@@ -157,11 +159,12 @@ main(int argc, char *argv[])
-       int get_creds = 1;
-       int fg = 0;
-       int verbosity = 0;
-+      int rpc_verbosity = 0;
-       int opt;
-       extern char *optarg;
-       char *progname;
--      while ((opt = getopt(argc, argv, "fvnp:")) != -1) {
-+      while ((opt = getopt(argc, argv, "fvrnp:")) != -1) {
-               switch (opt) {
-                       case 'f':
-                               fg = 1;
-@@ -172,6 +175,9 @@ main(int argc, char *argv[])
-                       case 'v':
-                               verbosity++;
-                               break;
-+                      case 'r':
-+                              rpc_verbosity++;
-+                              break;
-                       default:
-                               usage(argv[0]);
-                               break;
-@@ -184,6 +190,13 @@ main(int argc, char *argv[])
-               progname = argv[0];
-       initerr(progname, verbosity, fg);
-+#ifdef HAVE_AUTHGSS_SET_DEBUG_LEVEL
-+      authgss_set_debug_level(rpc_verbosity);
-+#else
-+      if (rpc_verbosity > 0)
-+              printerr(0, "Warning: rpcsec_gss library does not "
-+                          "support setting debug level\n");
-+#endif
-       if (!fg)
-               mydaemon(0, 0);
-diff -puN utils/svcgssd/svcgssd.man~CITI_NFS4_ALL utils/svcgssd/svcgssd.man
---- nfs-utils-1.0.7/utils/svcgssd/svcgssd.man~CITI_NFS4_ALL    2005-05-06 15:19:26.287319000 -0400
-+++ nfs-utils-1.0.7-kwc/utils/svcgssd/svcgssd.man      2005-05-06 15:19:26.323285000 -0400
-@@ -6,7 +6,7 @@
- .SH NAME
- rpc.svcgssd \- server-side rpcsec_gss daemon
- .SH SYNOPSIS
--.B "rpc.svcgssd [-v] [-f] [-p pipefsdir]"
-+.B "rpc.svcgssd [-v] [-r] [-f] [-p pipefsdir]"
- .SH DESCRIPTION
- The rpcsec_gss protocol gives a means of using the gss-api generic security
- api to provide security for protocols using rpc (in particular, nfs).  Before
-@@ -27,6 +27,10 @@ in the foreground and sends output to st
- .TP
- .B -v
- Increases the verbosity of the output (can be specified multiple times).
-+.TP
-+.B -r
-+If the rpcsec_gss library supports setting debug level,
-+increases the verbosity of the output (can be specified multiple times).
- .SH SEE ALSO
- .BR rpc.gssd(8),
-diff -puN utils/gssd/context_heimdal.c~CITI_NFS4_ALL utils/gssd/context_heimdal.c
---- nfs-utils-1.0.7/utils/gssd/context_heimdal.c~CITI_NFS4_ALL 2005-05-06 15:19:26.436170000 -0400
-+++ nfs-utils-1.0.7-kwc/utils/gssd/context_heimdal.c   2005-05-06 15:19:26.510156000 -0400
-@@ -37,9 +37,11 @@
- #include <syslog.h>
- #include <string.h>
- #include <errno.h>
--#include <gssapi.h>
- #include <krb5.h>
-+#include <gssapi.h>   /* Must use the heimdal copy! */
-+#ifdef HAVE_COM_ERR_H
- #include <com_err.h>
-+#endif
- #include "err_util.h"
- #include "gss_oids.h"
- #include "write_bytes.h"
-@@ -83,9 +85,14 @@ int write_heimdal_enc_key(char **p, char
-       }
-       memset(&enc_key, 0, sizeof(enc_key));
--      printerr(1, "WARN: write_heimdal_enc_key: "
--                  "overriding heimdal keytype\n");
--      enc_key.keytype = 4 /* XXX XXX XXX XXX key->keytype */;
-+      enc_key.keytype = key->keytype;
-+      /* XXX current kernel code only handles des-cbc-raw  (4) */
-+      if (enc_key.keytype != 4) {
-+              printerr(1, "WARN: write_heimdal_enc_key: "
-+                          "overriding heimdal keytype (%d => %d)\n",
-+                       enc_key.keytype, 4);
-+              enc_key.keytype = 4;
-+      }
-       enc_key.keyvalue.length = key->keyvalue.length;
-       if ((enc_key.keyvalue.data =
-                               calloc(1, enc_key.keyvalue.length)) == NULL) {
-@@ -135,9 +142,13 @@ int write_heimdal_seq_key(char **p, char
-               goto out_err_free_context;
-       }
--      printerr(1, "WARN: write_heimdal_seq_key: "
--                  "overriding heimdal keytype\n");
--      key->keytype = 4;       /* XXX XXX XXX XXX XXX */
-+      /* XXX current kernel code only handles des-cbc-raw  (4) */
-+      if (key->keytype != 4) {
-+              printerr(1, "WARN: write_heimdal_seq_key: "
-+                          "overriding heimdal keytype (%d => %d)\n",
-+                       key->keytype, 4);
-+              key->keytype = 4;
-+      }
-       if (write_heimdal_keyblock(p, end, key)) {
-               goto out_err_free_key;
-diff -puN utils/gssd/gss_oids.h~CITI_NFS4_ALL utils/gssd/gss_oids.h
---- nfs-utils-1.0.7/utils/gssd/gss_oids.h~CITI_NFS4_ALL        2005-05-06 15:19:26.484156000 -0400
-+++ nfs-utils-1.0.7-kwc/utils/gssd/gss_oids.h  2005-05-06 15:19:26.517156000 -0400
-@@ -32,7 +32,6 @@
- #define _GSS_OIDS_H_
- #include <sys/types.h>
--#include <gssapi/gssapi.h>
- extern gss_OID_desc krb5oid;
- extern gss_OID_desc spkm3oid;
-
-_
This page took 0.899193 seconds and 4 git commands to generate.