Hi everyone,

me and a coworker ([EMAIL PROTECTED]) had the
requirement to make cvs use pam (pluggable authentication module) on
linux. Accounts in our department are authenticated using SAMBA and
mod_smb_auth.so, so there are no passwords in /etc/passwd and cvs
doesn't work. We wrote the attached patch and it seems to run pretty
well in our local environment. You need a running pam authentication
mechanism, which is available with many modern linux distributions like
SuSe 6.4. You can configure the source of cvs authentication in
/etc/pam.d/other.

Feel free to include the patch with whatever release of cvs you want it.
Or with the words from the file HACKING:
"I grant permission to distribute this patch under
the terms of the GNU Public License" ;-)

If you find it usefull, but somehow not suiting the existing code, you
can modify it yourself or give me a hint what to change and I'll do it.

Regards ... Frank

-- 
----------------------------------------------------------------------
 Frank Kargl           Distributed Systems, University of Ulm, Germany
 Mail:[EMAIL PROTECTED] http://www.uni-ulm.de/~fkargl/
----------------------------------------------------------------------
   Use the SOURCE, Luke !  I feel a great disturbance in the SOURCE.
           But beware of the Microsoft side of the SOURCE !
diff -c -r --minimal cvs-1.10.8/configure cvs-1.10.8-pam/configure
*** cvs-1.10.8/configure        Mon Dec 13 21:08:19 1999
--- cvs-1.10.8-pam/configure    Tue Jun 13 12:33:51 2000
***************
*** 1083,1092 ****
  fi
  
  
  # Pull the hash mark out of the macro call to avoid m4 problems.
  ac_msg="whether #! works in shell scripts"
  echo $ac_n "checking $ac_msg""... $ac_c" 1>&6
! echo "configure:1090: checking $ac_msg" >&5
  if eval "test \"`echo '$''{'ac_cv_sys_interpreter'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
--- 1083,1094 ----
  fi
  
  
+ LIBS="-lpam $LIBS"
+ 
  # Pull the hash mark out of the macro call to avoid m4 problems.
  ac_msg="whether #! works in shell scripts"
  echo $ac_n "checking $ac_msg""... $ac_c" 1>&6
! echo "configure:1092: checking $ac_msg" >&5
  if eval "test \"`echo '$''{'ac_cv_sys_interpreter'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
***************
*** 1113,1119 ****
  fi
  
  echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
! echo "configure:1117: checking how to run the C preprocessor" >&5
  # On Suns, sometimes $CPP names a directory.
  if test -n "$CPP" && test -d "$CPP"; then
    CPP=
--- 1115,1121 ----
  fi
  
  echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
! echo "configure:1119: checking how to run the C preprocessor" >&5
  # On Suns, sometimes $CPP names a directory.
  if test -n "$CPP" && test -d "$CPP"; then
    CPP=
***************
*** 1128,1140 ****
    # On the NeXT, cc -E runs the code through the compiler's parser,
    # not just through cpp.
    cat > conftest.$ac_ext <<EOF
! #line 1132 "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:1138: \"$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
    :
--- 1130,1142 ----
    # On the NeXT, cc -E runs the code through the compiler's parser,
    # not just through cpp.
    cat > conftest.$ac_ext <<EOF
! #line 1134 "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:1140: \"$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
    :
***************
*** 1145,1157 ****
    rm -rf conftest*
    CPP="${CC-cc} -E -traditional-cpp"
    cat > conftest.$ac_ext <<EOF
! #line 1149 "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:1155: \"$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
    :
--- 1147,1159 ----
    rm -rf conftest*
    CPP="${CC-cc} -E -traditional-cpp"
    cat > conftest.$ac_ext <<EOF
! #line 1151 "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:1157: \"$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
    :
***************
*** 1162,1174 ****
    rm -rf conftest*
    CPP="${CC-cc} -nologo -E"
    cat > conftest.$ac_ext <<EOF
! #line 1166 "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:1172: \"$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
    :
--- 1164,1176 ----
    rm -rf conftest*
    CPP="${CC-cc} -nologo -E"
    cat > conftest.$ac_ext <<EOF
! #line 1168 "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:1174: \"$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
    :
***************
*** 1193,1201 ****
  echo "$ac_t""$CPP" 1>&6
  
  echo $ac_n "checking for AIX""... $ac_c" 1>&6
! echo "configure:1197: checking for AIX" >&5
  cat > conftest.$ac_ext <<EOF
! #line 1199 "configure"
  #include "confdefs.h"
  #ifdef _AIX
    yes
--- 1195,1203 ----
  echo "$ac_t""$CPP" 1>&6
  
  echo $ac_n "checking for AIX""... $ac_c" 1>&6
! echo "configure:1199: checking for AIX" >&5
  cat > conftest.$ac_ext <<EOF
! #line 1201 "configure"
  #include "confdefs.h"
  #ifdef _AIX
    yes
***************
*** 1218,1234 ****
  
  ac_safe=`echo "minix/config.h" | sed 'y%./+-%__p_%'`
  echo $ac_n "checking for minix/config.h""... $ac_c" 1>&6
! echo "configure:1222: checking for minix/config.h" >&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 1227 "configure"
  #include "confdefs.h"
  #include <minix/config.h>
  EOF
  ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
! { (eval echo configure:1232: \"$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*
--- 1220,1236 ----
  
  ac_safe=`echo "minix/config.h" | sed 'y%./+-%__p_%'`
  echo $ac_n "checking for minix/config.h""... $ac_c" 1>&6
! echo "configure:1224: checking for minix/config.h" >&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 1229 "configure"
  #include "confdefs.h"
  #include <minix/config.h>
  EOF
  ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
! { (eval echo configure:1234: \"$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*
***************
*** 1266,1272 ****
  fi
  
  echo $ac_n "checking for POSIXized ISC""... $ac_c" 1>&6
! echo "configure:1270: checking for POSIXized ISC" >&5
  if test -d /etc/conf/kconfig.d &&
    grep _POSIX_VERSION /usr/include/sys/unistd.h >/dev/null 2>&1
  then
--- 1268,1274 ----
  fi
  
  echo $ac_n "checking for POSIXized ISC""... $ac_c" 1>&6
! echo "configure:1272: checking for POSIXized ISC" >&5
  if test -d /etc/conf/kconfig.d &&
    grep _POSIX_VERSION /usr/include/sys/unistd.h >/dev/null 2>&1
  then
***************
*** 1296,1307 ****
  do
  ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
  echo $ac_n "checking for $ac_hdr that defines DIR""... $ac_c" 1>&6
! echo "configure:1300: checking for $ac_hdr that defines DIR" >&5
  if eval "test \"`echo '$''{'ac_cv_header_dirent_$ac_safe'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 1305 "configure"
  #include "confdefs.h"
  #include <sys/types.h>
  #include <$ac_hdr>
--- 1298,1309 ----
  do
  ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
  echo $ac_n "checking for $ac_hdr that defines DIR""... $ac_c" 1>&6
! echo "configure:1302: checking for $ac_hdr that defines DIR" >&5
  if eval "test \"`echo '$''{'ac_cv_header_dirent_$ac_safe'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 1307 "configure"
  #include "confdefs.h"
  #include <sys/types.h>
  #include <$ac_hdr>
***************
*** 1309,1315 ****
  DIR *dirp = 0;
  ; return 0; }
  EOF
! if { (eval echo configure:1313: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; 
then
    rm -rf conftest*
    eval "ac_cv_header_dirent_$ac_safe=yes"
  else
--- 1311,1317 ----
  DIR *dirp = 0;
  ; return 0; }
  EOF
! if { (eval echo configure:1315: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; 
then
    rm -rf conftest*
    eval "ac_cv_header_dirent_$ac_safe=yes"
  else
***************
*** 1334,1340 ****
  # Two versions of opendir et al. are in -ldir and -lx on SCO Xenix.
  if test $ac_header_dirent = dirent.h; then
  echo $ac_n "checking for opendir in -ldir""... $ac_c" 1>&6
! echo "configure:1338: checking for opendir in -ldir" >&5
  ac_lib_var=`echo dir'_'opendir | sed 'y%./+-%__p_%'`
  if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
--- 1336,1342 ----
  # Two versions of opendir et al. are in -ldir and -lx on SCO Xenix.
  if test $ac_header_dirent = dirent.h; then
  echo $ac_n "checking for opendir in -ldir""... $ac_c" 1>&6
! echo "configure:1340: checking for opendir in -ldir" >&5
  ac_lib_var=`echo dir'_'opendir | sed 'y%./+-%__p_%'`
  if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
***************
*** 1342,1348 ****
    ac_save_LIBS="$LIBS"
  LIBS="-ldir  $LIBS"
  cat > conftest.$ac_ext <<EOF
! #line 1346 "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
--- 1344,1350 ----
    ac_save_LIBS="$LIBS"
  LIBS="-ldir  $LIBS"
  cat > conftest.$ac_ext <<EOF
! #line 1348 "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
***************
*** 1353,1359 ****
  opendir()
  ; return 0; }
  EOF
! if { (eval echo configure:1357: \"$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
--- 1355,1361 ----
  opendir()
  ; return 0; }
  EOF
! if { (eval echo configure:1359: \"$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
***************
*** 1375,1381 ****
  
  else
  echo $ac_n "checking for opendir in -lx""... $ac_c" 1>&6
! echo "configure:1379: checking for opendir in -lx" >&5
  ac_lib_var=`echo x'_'opendir | sed 'y%./+-%__p_%'`
  if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
--- 1377,1383 ----
  
  else
  echo $ac_n "checking for opendir in -lx""... $ac_c" 1>&6
! echo "configure:1381: checking for opendir in -lx" >&5
  ac_lib_var=`echo x'_'opendir | sed 'y%./+-%__p_%'`
  if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
***************
*** 1383,1389 ****
    ac_save_LIBS="$LIBS"
  LIBS="-lx  $LIBS"
  cat > conftest.$ac_ext <<EOF
! #line 1387 "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
--- 1385,1391 ----
    ac_save_LIBS="$LIBS"
  LIBS="-lx  $LIBS"
  cat > conftest.$ac_ext <<EOF
! #line 1389 "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
***************
*** 1394,1400 ****
  opendir()
  ; return 0; }
  EOF
! if { (eval echo configure:1398: \"$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
--- 1396,1402 ----
  opendir()
  ; return 0; }
  EOF
! if { (eval echo configure:1400: \"$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
***************
*** 1417,1428 ****
  fi
  
  echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
! echo "configure:1421: 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
  else
    cat > conftest.$ac_ext <<EOF
! #line 1426 "configure"
  #include "confdefs.h"
  #include <stdlib.h>
  #include <stdarg.h>
--- 1419,1430 ----
  fi
  
  echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
! echo "configure:1423: 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
  else
    cat > conftest.$ac_ext <<EOF
! #line 1428 "configure"
  #include "confdefs.h"
  #include <stdlib.h>
  #include <stdarg.h>
***************
*** 1430,1436 ****
  #include <float.h>
  EOF
  ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
! { (eval echo configure:1434: \"$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*
--- 1432,1438 ----
  #include <float.h>
  EOF
  ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
! { (eval echo configure:1436: \"$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*
***************
*** 1447,1453 ****
  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 1451 "configure"
  #include "confdefs.h"
  #include <string.h>
  EOF
--- 1449,1455 ----
  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 1453 "configure"
  #include "confdefs.h"
  #include <string.h>
  EOF
***************
*** 1465,1471 ****
  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 1469 "configure"
  #include "confdefs.h"
  #include <stdlib.h>
  EOF
--- 1467,1473 ----
  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 1471 "configure"
  #include "confdefs.h"
  #include <stdlib.h>
  EOF
***************
*** 1486,1492 ****
    :
  else
    cat > conftest.$ac_ext <<EOF
! #line 1490 "configure"
  #include "confdefs.h"
  #include <ctype.h>
  #define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
--- 1488,1494 ----
    :
  else
    cat > conftest.$ac_ext <<EOF
! #line 1492 "configure"
  #include "confdefs.h"
  #include <ctype.h>
  #define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
***************
*** 1497,1503 ****
  exit (0); }
  
  EOF
! if { (eval echo configure:1501: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test 
-s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
  then
    :
  else
--- 1499,1505 ----
  exit (0); }
  
  EOF
! if { (eval echo configure:1503: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test 
-s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
  then
    :
  else
***************
*** 1521,1532 ****
  fi
  
  echo $ac_n "checking for sys/wait.h that is POSIX.1 compatible""... $ac_c" 1>&6
! echo "configure:1525: checking for sys/wait.h that is POSIX.1 compatible" >&5
  if eval "test \"`echo '$''{'ac_cv_header_sys_wait_h'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 1530 "configure"
  #include "confdefs.h"
  #include <sys/types.h>
  #include <sys/wait.h>
--- 1523,1534 ----
  fi
  
  echo $ac_n "checking for sys/wait.h that is POSIX.1 compatible""... $ac_c" 1>&6
! echo "configure:1527: checking for sys/wait.h that is POSIX.1 compatible" >&5
  if eval "test \"`echo '$''{'ac_cv_header_sys_wait_h'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 1532 "configure"
  #include "confdefs.h"
  #include <sys/types.h>
  #include <sys/wait.h>
***************
*** 1542,1548 ****
  s = WIFEXITED (s) ? WEXITSTATUS (s) : 1;
  ; return 0; }
  EOF
! if { (eval echo configure:1546: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; 
then
    rm -rf conftest*
    ac_cv_header_sys_wait_h=yes
  else
--- 1544,1550 ----
  s = WIFEXITED (s) ? WEXITSTATUS (s) : 1;
  ; return 0; }
  EOF
! if { (eval echo configure:1548: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; 
then
    rm -rf conftest*
    ac_cv_header_sys_wait_h=yes
  else
***************
*** 1569,1585 ****
  do
  ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
  echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
! echo "configure:1573: 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 1578 "configure"
  #include "confdefs.h"
  #include <$ac_hdr>
  EOF
  ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
! { (eval echo configure:1583: \"$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*
--- 1571,1587 ----
  do
  ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
  echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
! echo "configure:1575: 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 1580 "configure"
  #include "confdefs.h"
  #include <$ac_hdr>
  EOF
  ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
! { (eval echo configure:1585: \"$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*
***************
*** 1606,1617 ****
  done
  
  echo $ac_n "checking whether stat file-mode macros are broken""... $ac_c" 1>&6
! echo "configure:1610: checking whether stat file-mode macros are broken" >&5
  if eval "test \"`echo '$''{'ac_cv_header_stat_broken'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 1615 "configure"
  #include "confdefs.h"
  #include <sys/types.h>
  #include <sys/stat.h>
--- 1608,1619 ----
  done
  
  echo $ac_n "checking whether stat file-mode macros are broken""... $ac_c" 1>&6
! echo "configure:1612: checking whether stat file-mode macros are broken" >&5
  if eval "test \"`echo '$''{'ac_cv_header_stat_broken'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 1617 "configure"
  #include "confdefs.h"
  #include <sys/types.h>
  #include <sys/stat.h>
***************
*** 1662,1673 ****
  fi
  
  echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 
1>&6
! echo "configure:1666: checking whether time.h and sys/time.h may both be included" 
>&5
  if eval "test \"`echo '$''{'ac_cv_header_time'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 1671 "configure"
  #include "confdefs.h"
  #include <sys/types.h>
  #include <sys/time.h>
--- 1664,1675 ----
  fi
  
  echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 
1>&6
! echo "configure:1668: checking whether time.h and sys/time.h may both be included" 
>&5
  if eval "test \"`echo '$''{'ac_cv_header_time'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 1673 "configure"
  #include "confdefs.h"
  #include <sys/types.h>
  #include <sys/time.h>
***************
*** 1676,1682 ****
  struct tm *tp;
  ; return 0; }
  EOF
! if { (eval echo configure:1680: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; 
then
    rm -rf conftest*
    ac_cv_header_time=yes
  else
--- 1678,1684 ----
  struct tm *tp;
  ; return 0; }
  EOF
! if { (eval echo configure:1682: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; 
then
    rm -rf conftest*
    ac_cv_header_time=yes
  else
***************
*** 1698,1709 ****
  
  
  echo $ac_n "checking for working const""... $ac_c" 1>&6
! echo "configure:1702: checking for working const" >&5
  if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 1707 "configure"
  #include "confdefs.h"
  
  int main() {
--- 1700,1711 ----
  
  
  echo $ac_n "checking for working const""... $ac_c" 1>&6
! echo "configure:1704: checking for working const" >&5
  if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 1709 "configure"
  #include "confdefs.h"
  
  int main() {
***************
*** 1752,1758 ****
  
  ; return 0; }
  EOF
! if { (eval echo configure:1756: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; 
then
    rm -rf conftest*
    ac_cv_c_const=yes
  else
--- 1754,1760 ----
  
  ; return 0; }
  EOF
! if { (eval echo configure:1758: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; 
then
    rm -rf conftest*
    ac_cv_c_const=yes
  else
***************
*** 1773,1784 ****
  fi
  
  echo $ac_n "checking for uid_t in sys/types.h""... $ac_c" 1>&6
! echo "configure:1777: checking for uid_t in sys/types.h" >&5
  if eval "test \"`echo '$''{'ac_cv_type_uid_t'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 1782 "configure"
  #include "confdefs.h"
  #include <sys/types.h>
  EOF
--- 1775,1786 ----
  fi
  
  echo $ac_n "checking for uid_t in sys/types.h""... $ac_c" 1>&6
! echo "configure:1779: checking for uid_t in sys/types.h" >&5
  if eval "test \"`echo '$''{'ac_cv_type_uid_t'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 1784 "configure"
  #include "confdefs.h"
  #include <sys/types.h>
  EOF
***************
*** 1807,1818 ****
  fi
  
  echo $ac_n "checking for mode_t""... $ac_c" 1>&6
! echo "configure:1811: checking for mode_t" >&5
  if eval "test \"`echo '$''{'ac_cv_type_mode_t'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 1816 "configure"
  #include "confdefs.h"
  #include <sys/types.h>
  #if STDC_HEADERS
--- 1809,1820 ----
  fi
  
  echo $ac_n "checking for mode_t""... $ac_c" 1>&6
! echo "configure:1813: checking for mode_t" >&5
  if eval "test \"`echo '$''{'ac_cv_type_mode_t'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 1818 "configure"
  #include "confdefs.h"
  #include <sys/types.h>
  #if STDC_HEADERS
***************
*** 1840,1851 ****
  fi
  
  echo $ac_n "checking for pid_t""... $ac_c" 1>&6
! echo "configure:1844: checking for pid_t" >&5
  if eval "test \"`echo '$''{'ac_cv_type_pid_t'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 1849 "configure"
  #include "confdefs.h"
  #include <sys/types.h>
  #if STDC_HEADERS
--- 1842,1853 ----
  fi
  
  echo $ac_n "checking for pid_t""... $ac_c" 1>&6
! echo "configure:1846: checking for pid_t" >&5
  if eval "test \"`echo '$''{'ac_cv_type_pid_t'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 1851 "configure"
  #include "confdefs.h"
  #include <sys/types.h>
  #if STDC_HEADERS
***************
*** 1873,1884 ****
  fi
  
  echo $ac_n "checking for size_t""... $ac_c" 1>&6
! echo "configure:1877: checking for size_t" >&5
  if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 1882 "configure"
  #include "confdefs.h"
  #include <sys/types.h>
  #if STDC_HEADERS
--- 1875,1886 ----
  fi
  
  echo $ac_n "checking for size_t""... $ac_c" 1>&6
! echo "configure:1879: checking for size_t" >&5
  if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 1884 "configure"
  #include "confdefs.h"
  #include <sys/types.h>
  #if STDC_HEADERS
***************
*** 1906,1917 ****
  fi
  
  echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6
! echo "configure:1910: checking return type of signal handlers" >&5
  if eval "test \"`echo '$''{'ac_cv_type_signal'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 1915 "configure"
  #include "confdefs.h"
  #include <sys/types.h>
  #include <signal.h>
--- 1908,1919 ----
  fi
  
  echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6
! echo "configure:1912: checking return type of signal handlers" >&5
  if eval "test \"`echo '$''{'ac_cv_type_signal'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 1917 "configure"
  #include "confdefs.h"
  #include <sys/types.h>
  #include <signal.h>
***************
*** 1928,1934 ****
  int i;
  ; return 0; }
  EOF
! if { (eval echo configure:1932: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; 
then
    rm -rf conftest*
    ac_cv_type_signal=void
  else
--- 1930,1936 ----
  int i;
  ; return 0; }
  EOF
! if { (eval echo configure:1934: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; 
then
    rm -rf conftest*
    ac_cv_type_signal=void
  else
***************
*** 1948,1959 ****
  
  
  echo $ac_n "checking for st_blksize in struct stat""... $ac_c" 1>&6
! echo "configure:1952: checking for st_blksize in struct stat" >&5
  if eval "test \"`echo '$''{'ac_cv_struct_st_blksize'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 1957 "configure"
  #include "confdefs.h"
  #include <sys/types.h>
  #include <sys/stat.h>
--- 1950,1961 ----
  
  
  echo $ac_n "checking for st_blksize in struct stat""... $ac_c" 1>&6
! echo "configure:1954: checking for st_blksize in struct stat" >&5
  if eval "test \"`echo '$''{'ac_cv_struct_st_blksize'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 1959 "configure"
  #include "confdefs.h"
  #include <sys/types.h>
  #include <sys/stat.h>
***************
*** 1961,1967 ****
  struct stat s; s.st_blksize;
  ; return 0; }
  EOF
! if { (eval echo configure:1965: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; 
then
    rm -rf conftest*
    ac_cv_struct_st_blksize=yes
  else
--- 1963,1969 ----
  struct stat s; s.st_blksize;
  ; return 0; }
  EOF
! if { (eval echo configure:1967: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; 
then
    rm -rf conftest*
    ac_cv_struct_st_blksize=yes
  else
***************
*** 1984,1995 ****
  for ac_func in mkdir rename strstr dup2 strerror valloc waitpid memmove strtoul
  do
  echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
! echo "configure:1988: 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 1993 "configure"
  #include "confdefs.h"
  /* System header to define __stub macros and hopefully few prototypes,
      which can conflict with char $ac_func(); below.  */
--- 1986,1997 ----
  for ac_func in mkdir rename strstr dup2 strerror valloc waitpid memmove strtoul
  do
  echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
! echo "configure:1990: 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 1995 "configure"
  #include "confdefs.h"
  /* System header to define __stub macros and hopefully few prototypes,
      which can conflict with char $ac_func(); below.  */
***************
*** 2012,2018 ****
  
  ; return 0; }
  EOF
! if { (eval echo configure:2016: \"$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
--- 2014,2020 ----
  
  ; return 0; }
  EOF
! if { (eval echo configure:2018: \"$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
***************
*** 2041,2052 ****
  for ac_func in fchmod fsync ftime mktemp putenv vprintf ftruncate timezone 
getpagesize initgroups fchdir sigaction sigprocmask sigvec sigsetmask sigblock tempnam 
tzset readlink wait3
  do
  echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
! echo "configure:2045: 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 2050 "configure"
  #include "confdefs.h"
  /* System header to define __stub macros and hopefully few prototypes,
      which can conflict with char $ac_func(); below.  */
--- 2043,2054 ----
  for ac_func in fchmod fsync ftime mktemp putenv vprintf ftruncate timezone 
getpagesize initgroups fchdir sigaction sigprocmask sigvec sigsetmask sigblock tempnam 
tzset readlink wait3
  do
  echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
! echo "configure:2047: 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 2052 "configure"
  #include "confdefs.h"
  /* System header to define __stub macros and hopefully few prototypes,
      which can conflict with char $ac_func(); below.  */
***************
*** 2069,2075 ****
  
  ; return 0; }
  EOF
! if { (eval echo configure:2073: \"$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
--- 2071,2077 ----
  
  ; return 0; }
  EOF
! if { (eval echo configure:2075: \"$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
***************
*** 2105,2121 ****
  
  ac_safe=`echo "vfork.h" | sed 'y%./+-%__p_%'`
  echo $ac_n "checking for vfork.h""... $ac_c" 1>&6
! echo "configure:2109: checking for vfork.h" >&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 2114 "configure"
  #include "confdefs.h"
  #include <vfork.h>
  EOF
  ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
! { (eval echo configure:2119: \"$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*
--- 2107,2123 ----
  
  ac_safe=`echo "vfork.h" | sed 'y%./+-%__p_%'`
  echo $ac_n "checking for vfork.h""... $ac_c" 1>&6
! echo "configure:2111: checking for vfork.h" >&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 2116 "configure"
  #include "confdefs.h"
  #include <vfork.h>
  EOF
  ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
! { (eval echo configure:2121: \"$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*
***************
*** 2140,2157 ****
  fi
  
  echo $ac_n "checking for working vfork""... $ac_c" 1>&6
! echo "configure:2144: checking for working vfork" >&5
  if eval "test \"`echo '$''{'ac_cv_func_vfork_works'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    if test "$cross_compiling" = yes; then
    echo $ac_n "checking for vfork""... $ac_c" 1>&6
! echo "configure:2150: checking for vfork" >&5
  if eval "test \"`echo '$''{'ac_cv_func_vfork'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 2155 "configure"
  #include "confdefs.h"
  /* System header to define __stub macros and hopefully few prototypes,
      which can conflict with char vfork(); below.  */
--- 2142,2159 ----
  fi
  
  echo $ac_n "checking for working vfork""... $ac_c" 1>&6
! echo "configure:2146: checking for working vfork" >&5
  if eval "test \"`echo '$''{'ac_cv_func_vfork_works'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    if test "$cross_compiling" = yes; then
    echo $ac_n "checking for vfork""... $ac_c" 1>&6
! echo "configure:2152: checking for vfork" >&5
  if eval "test \"`echo '$''{'ac_cv_func_vfork'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 2157 "configure"
  #include "confdefs.h"
  /* System header to define __stub macros and hopefully few prototypes,
      which can conflict with char vfork(); below.  */
***************
*** 2174,2180 ****
  
  ; return 0; }
  EOF
! if { (eval echo configure:2178: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test 
-s conftest${ac_exeext}; then
    rm -rf conftest*
    eval "ac_cv_func_vfork=yes"
  else
--- 2176,2182 ----
  
  ; return 0; }
  EOF
! if { (eval echo configure:2180: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test 
-s conftest${ac_exeext}; then
    rm -rf conftest*
    eval "ac_cv_func_vfork=yes"
  else
***************
*** 2196,2202 ****
  ac_cv_func_vfork_works=$ac_cv_func_vfork
  else
    cat > conftest.$ac_ext <<EOF
! #line 2200 "configure"
  #include "confdefs.h"
  /* Thanks to Paul Eggert for this test.  */
  #include <stdio.h>
--- 2198,2204 ----
  ac_cv_func_vfork_works=$ac_cv_func_vfork
  else
    cat > conftest.$ac_ext <<EOF
! #line 2202 "configure"
  #include "confdefs.h"
  /* Thanks to Paul Eggert for this test.  */
  #include <stdio.h>
***************
*** 2291,2297 ****
    }
  }
  EOF
! if { (eval echo configure:2295: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test 
-s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
  then
    ac_cv_func_vfork_works=yes
  else
--- 2293,2299 ----
    }
  }
  EOF
! if { (eval echo configure:2297: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test 
-s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
  then
    ac_cv_func_vfork_works=yes
  else
***************
*** 2314,2320 ****
  fi
  
  echo $ac_n "checking whether closedir returns void""... $ac_c" 1>&6
! echo "configure:2318: checking whether closedir returns void" >&5
  if eval "test \"`echo '$''{'ac_cv_func_closedir_void'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
--- 2316,2322 ----
  fi
  
  echo $ac_n "checking whether closedir returns void""... $ac_c" 1>&6
! echo "configure:2320: checking whether closedir returns void" >&5
  if eval "test \"`echo '$''{'ac_cv_func_closedir_void'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
***************
*** 2322,2334 ****
    ac_cv_func_closedir_void=yes
  else
    cat > conftest.$ac_ext <<EOF
! #line 2326 "configure"
  #include "confdefs.h"
  #include <sys/types.h>
  #include <$ac_header_dirent>
  int closedir(); main() { exit(closedir(opendir(".")) != 0); }
  EOF
! if { (eval echo configure:2332: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test 
-s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
  then
    ac_cv_func_closedir_void=no
  else
--- 2324,2336 ----
    ac_cv_func_closedir_void=yes
  else
    cat > conftest.$ac_ext <<EOF
! #line 2328 "configure"
  #include "confdefs.h"
  #include <sys/types.h>
  #include <$ac_header_dirent>
  int closedir(); main() { exit(closedir(opendir(".")) != 0); }
  EOF
! if { (eval echo configure:2334: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test 
-s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
  then
    ac_cv_func_closedir_void=no
  else
***************
*** 2353,2366 ****
  
  
  echo $ac_n "checking for library containing getspnam""... $ac_c" 1>&6
! echo "configure:2357: checking for library containing getspnam" >&5
  if eval "test \"`echo '$''{'ac_cv_search_getspnam'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    ac_func_search_save_LIBS="$LIBS"
  ac_cv_search_getspnam="no"
  cat > conftest.$ac_ext <<EOF
! #line 2364 "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
--- 2355,2368 ----
  
  
  echo $ac_n "checking for library containing getspnam""... $ac_c" 1>&6
! echo "configure:2359: checking for library containing getspnam" >&5
  if eval "test \"`echo '$''{'ac_cv_search_getspnam'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    ac_func_search_save_LIBS="$LIBS"
  ac_cv_search_getspnam="no"
  cat > conftest.$ac_ext <<EOF
! #line 2366 "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
***************
*** 2371,2377 ****
  getspnam()
  ; return 0; }
  EOF
! if { (eval echo configure:2375: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test 
-s conftest${ac_exeext}; then
    rm -rf conftest*
    ac_cv_search_getspnam="none required"
  else
--- 2373,2379 ----
  getspnam()
  ; return 0; }
  EOF
! if { (eval echo configure:2377: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test 
-s conftest${ac_exeext}; then
    rm -rf conftest*
    ac_cv_search_getspnam="none required"
  else
***************
*** 2382,2388 ****
  test "$ac_cv_search_getspnam" = "no" && for i in sec gen; do
  LIBS="-l$i  $ac_func_search_save_LIBS"
  cat > conftest.$ac_ext <<EOF
! #line 2386 "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
--- 2384,2390 ----
  test "$ac_cv_search_getspnam" = "no" && for i in sec gen; do
  LIBS="-l$i  $ac_func_search_save_LIBS"
  cat > conftest.$ac_ext <<EOF
! #line 2388 "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
***************
*** 2393,2399 ****
  getspnam()
  ; return 0; }
  EOF
! if { (eval echo configure:2397: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test 
-s conftest${ac_exeext}; then
    rm -rf conftest*
    ac_cv_search_getspnam="-l$i"
  break
--- 2395,2401 ----
  getspnam()
  ; return 0; }
  EOF
! if { (eval echo configure:2399: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test 
-s conftest${ac_exeext}; then
    rm -rf conftest*
    ac_cv_search_getspnam="-l$i"
  break
***************
*** 2418,2424 ****
  fi
  
  echo $ac_n "checking whether utime accepts a null argument""... $ac_c" 1>&6
! echo "configure:2422: checking whether utime accepts a null argument" >&5
  if eval "test \"`echo '$''{'ac_cv_func_utime_null'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
--- 2420,2426 ----
  fi
  
  echo $ac_n "checking whether utime accepts a null argument""... $ac_c" 1>&6
! echo "configure:2424: checking whether utime accepts a null argument" >&5
  if eval "test \"`echo '$''{'ac_cv_func_utime_null'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
***************
*** 2428,2434 ****
    ac_cv_func_utime_null=no
  else
    cat > conftest.$ac_ext <<EOF
! #line 2432 "configure"
  #include "confdefs.h"
  #include <sys/types.h>
  #include <sys/stat.h>
--- 2430,2436 ----
    ac_cv_func_utime_null=no
  else
    cat > conftest.$ac_ext <<EOF
! #line 2434 "configure"
  #include "confdefs.h"
  #include <sys/types.h>
  #include <sys/stat.h>
***************
*** 2439,2445 ****
  && t.st_mtime - s.st_mtime < 120));
  }
  EOF
! if { (eval echo configure:2443: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test 
-s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
  then
    ac_cv_func_utime_null=yes
  else
--- 2441,2447 ----
  && t.st_mtime - s.st_mtime < 120));
  }
  EOF
! if { (eval echo configure:2445: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test 
-s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
  then
    ac_cv_func_utime_null=yes
  else
***************
*** 2463,2469 ****
  fi
  
  echo $ac_n "checking for long file names""... $ac_c" 1>&6
! echo "configure:2467: checking for long file names" >&5
  if eval "test \"`echo '$''{'ac_cv_sys_long_file_names'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
--- 2465,2471 ----
  fi
  
  echo $ac_n "checking for long file names""... $ac_c" 1>&6
! echo "configure:2469: checking for long file names" >&5
  if eval "test \"`echo '$''{'ac_cv_sys_long_file_names'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
***************
*** 2508,2514 ****
  
  
  echo $ac_n "checking for working fnmatch""... $ac_c" 1>&6
! echo "configure:2512: checking for working fnmatch" >&5
  if eval "test \"`echo '$''{'ac_cv_func_fnmatch_works'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
--- 2510,2516 ----
  
  
  echo $ac_n "checking for working fnmatch""... $ac_c" 1>&6
! echo "configure:2514: checking for working fnmatch" >&5
  if eval "test \"`echo '$''{'ac_cv_func_fnmatch_works'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
***************
*** 2519,2529 ****
    ac_cv_func_fnmatch_works=no
  else
    cat > conftest.$ac_ext <<EOF
! #line 2523 "configure"
  #include "confdefs.h"
  main() { exit (fnmatch ("a*", "abc", 0) != 0); }
  EOF
! if { (eval echo configure:2527: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test 
-s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
  then
    ac_cv_func_fnmatch_works=yes
  else
--- 2521,2531 ----
    ac_cv_func_fnmatch_works=no
  else
    cat > conftest.$ac_ext <<EOF
! #line 2525 "configure"
  #include "confdefs.h"
  main() { exit (fnmatch ("a*", "abc", 0) != 0); }
  EOF
! if { (eval echo configure:2529: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test 
-s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
  then
    ac_cv_func_fnmatch_works=yes
  else
***************
*** 2552,2565 ****
  # Try to find connect and gethostbyname.
  
  echo $ac_n "checking for library containing connect""... $ac_c" 1>&6
! echo "configure:2556: checking for library containing connect" >&5
  if eval "test \"`echo '$''{'ac_cv_search_connect'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    ac_func_search_save_LIBS="$LIBS"
  ac_cv_search_connect="no"
  cat > conftest.$ac_ext <<EOF
! #line 2563 "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
--- 2554,2567 ----
  # Try to find connect and gethostbyname.
  
  echo $ac_n "checking for library containing connect""... $ac_c" 1>&6
! echo "configure:2558: checking for library containing connect" >&5
  if eval "test \"`echo '$''{'ac_cv_search_connect'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    ac_func_search_save_LIBS="$LIBS"
  ac_cv_search_connect="no"
  cat > conftest.$ac_ext <<EOF
! #line 2565 "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
***************
*** 2570,2576 ****
  connect()
  ; return 0; }
  EOF
! if { (eval echo configure:2574: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test 
-s conftest${ac_exeext}; then
    rm -rf conftest*
    ac_cv_search_connect="none required"
  else
--- 2572,2578 ----
  connect()
  ; return 0; }
  EOF
! if { (eval echo configure:2576: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test 
-s conftest${ac_exeext}; then
    rm -rf conftest*
    ac_cv_search_connect="none required"
  else
***************
*** 2581,2587 ****
  test "$ac_cv_search_connect" = "no" && for i in xnet socket inet; do
  LIBS="-l$i  $ac_func_search_save_LIBS"
  cat > conftest.$ac_ext <<EOF
! #line 2585 "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
--- 2583,2589 ----
  test "$ac_cv_search_connect" = "no" && for i in xnet socket inet; do
  LIBS="-l$i  $ac_func_search_save_LIBS"
  cat > conftest.$ac_ext <<EOF
! #line 2587 "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
***************
*** 2592,2598 ****
  connect()
  ; return 0; }
  EOF
! if { (eval echo configure:2596: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test 
-s conftest${ac_exeext}; then
    rm -rf conftest*
    ac_cv_search_connect="-l$i"
  break
--- 2594,2600 ----
  connect()
  ; return 0; }
  EOF
! if { (eval echo configure:2598: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test 
-s conftest${ac_exeext}; then
    rm -rf conftest*
    ac_cv_search_connect="-l$i"
  break
***************
*** 2617,2630 ****
  fi
  
  echo $ac_n "checking for library containing gethostbyname""... $ac_c" 1>&6
! echo "configure:2621: checking for library containing gethostbyname" >&5
  if eval "test \"`echo '$''{'ac_cv_search_gethostbyname'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    ac_func_search_save_LIBS="$LIBS"
  ac_cv_search_gethostbyname="no"
  cat > conftest.$ac_ext <<EOF
! #line 2628 "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
--- 2619,2632 ----
  fi
  
  echo $ac_n "checking for library containing gethostbyname""... $ac_c" 1>&6
! echo "configure:2623: checking for library containing gethostbyname" >&5
  if eval "test \"`echo '$''{'ac_cv_search_gethostbyname'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    ac_func_search_save_LIBS="$LIBS"
  ac_cv_search_gethostbyname="no"
  cat > conftest.$ac_ext <<EOF
! #line 2630 "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
***************
*** 2635,2641 ****
  gethostbyname()
  ; return 0; }
  EOF
! if { (eval echo configure:2639: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test 
-s conftest${ac_exeext}; then
    rm -rf conftest*
    ac_cv_search_gethostbyname="none required"
  else
--- 2637,2643 ----
  gethostbyname()
  ; return 0; }
  EOF
! if { (eval echo configure:2641: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test 
-s conftest${ac_exeext}; then
    rm -rf conftest*
    ac_cv_search_gethostbyname="none required"
  else
***************
*** 2646,2652 ****
  test "$ac_cv_search_gethostbyname" = "no" && for i in netinet nsl; do
  LIBS="-l$i  $ac_func_search_save_LIBS"
  cat > conftest.$ac_ext <<EOF
! #line 2650 "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
--- 2648,2654 ----
  test "$ac_cv_search_gethostbyname" = "no" && for i in netinet nsl; do
  LIBS="-l$i  $ac_func_search_save_LIBS"
  cat > conftest.$ac_ext <<EOF
! #line 2652 "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
***************
*** 2657,2663 ****
  gethostbyname()
  ; return 0; }
  EOF
! if { (eval echo configure:2661: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test 
-s conftest${ac_exeext}; then
    rm -rf conftest*
    ac_cv_search_gethostbyname="-l$i"
  break
--- 2659,2665 ----
  gethostbyname()
  ; return 0; }
  EOF
! if { (eval echo configure:2663: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test 
-s conftest${ac_exeext}; then
    rm -rf conftest*
    ac_cv_search_gethostbyname="-l$i"
  break
***************
*** 2690,2708 ****
  
  krb_h=
  echo $ac_n "checking for krb.h""... $ac_c" 1>&6
! echo "configure:2694: checking for krb.h" >&5
  if test "$cross_compiling" != yes && test -r $KRB4/include/krb.h; then
     hold_cflags=$CFLAGS
     CFLAGS="$CFLAGS -I$KRB4/include"
     cat > conftest.$ac_ext <<EOF
! #line 2699 "configure"
  #include "confdefs.h"
  #include <krb.h>
  int main() {
  int i;
  ; return 0; }
  EOF
! if { (eval echo configure:2706: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test 
-s conftest${ac_exeext}; then
    rm -rf conftest*
    krb_h=yes krb_incdir=$KRB4/include
  else
--- 2692,2710 ----
  
  krb_h=
  echo $ac_n "checking for krb.h""... $ac_c" 1>&6
! echo "configure:2696: checking for krb.h" >&5
  if test "$cross_compiling" != yes && test -r $KRB4/include/krb.h; then
     hold_cflags=$CFLAGS
     CFLAGS="$CFLAGS -I$KRB4/include"
     cat > conftest.$ac_ext <<EOF
! #line 2701 "configure"
  #include "confdefs.h"
  #include <krb.h>
  int main() {
  int i;
  ; return 0; }
  EOF
! if { (eval echo configure:2708: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test 
-s conftest${ac_exeext}; then
    rm -rf conftest*
    krb_h=yes krb_incdir=$KRB4/include
  else
***************
*** 2711,2724 ****
    rm -rf conftest*
    CFLAGS=$hold_cflags
             cat > conftest.$ac_ext <<EOF
! #line 2715 "configure"
  #include "confdefs.h"
  #include <krb.h>
  int main() {
  int i;
  ; return 0; }
  EOF
! if { (eval echo configure:2722: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test 
-s conftest${ac_exeext}; then
    rm -rf conftest*
    krb_h=yes krb_incdir=
  else
--- 2713,2726 ----
    rm -rf conftest*
    CFLAGS=$hold_cflags
             cat > conftest.$ac_ext <<EOF
! #line 2717 "configure"
  #include "confdefs.h"
  #include <krb.h>
  int main() {
  int i;
  ; return 0; }
  EOF
! if { (eval echo configure:2724: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test 
-s conftest${ac_exeext}; then
    rm -rf conftest*
    krb_h=yes krb_incdir=
  else
***************
*** 2731,2744 ****
     CFLAGS=$hold_cflags
  else
     cat > conftest.$ac_ext <<EOF
! #line 2735 "configure"
  #include "confdefs.h"
  #include <krb.h>
  int main() {
  int i;
  ; return 0; }
  EOF
! if { (eval echo configure:2742: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test 
-s conftest${ac_exeext}; then
    rm -rf conftest*
    krb_h=yes krb_incdir=
  else
--- 2733,2746 ----
     CFLAGS=$hold_cflags
  else
     cat > conftest.$ac_ext <<EOF
! #line 2737 "configure"
  #include "confdefs.h"
  #include <krb.h>
  int main() {
  int i;
  ; return 0; }
  EOF
! if { (eval echo configure:2744: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test 
-s conftest${ac_exeext}; then
    rm -rf conftest*
    krb_h=yes krb_incdir=
  else
***************
*** 2749,2762 ****
  fi
  if test -z "$krb_h"; then
    cat > conftest.$ac_ext <<EOF
! #line 2753 "configure"
  #include "confdefs.h"
  #include <krb.h>
  int main() {
  int i;
  ; return 0; }
  EOF
! if { (eval echo configure:2760: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test 
-s conftest${ac_exeext}; then
    rm -rf conftest*
    krb_h=yes krb_incdir=
  else
--- 2751,2764 ----
  fi
  if test -z "$krb_h"; then
    cat > conftest.$ac_ext <<EOF
! #line 2755 "configure"
  #include "confdefs.h"
  #include <krb.h>
  int main() {
  int i;
  ; return 0; }
  EOF
! if { (eval echo configure:2762: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test 
-s conftest${ac_exeext}; then
    rm -rf conftest*
    krb_h=yes krb_incdir=
  else
***************
*** 2767,2780 ****
         hold_cflags=$CFLAGS
         CFLAGS="$CFLAGS -I$KRB4/include/kerberosIV"
         cat > conftest.$ac_ext <<EOF
! #line 2771 "configure"
  #include "confdefs.h"
  #include <krb.h>
  int main() {
  int i;
  ; return 0; }
  EOF
! if { (eval echo configure:2778: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test 
-s conftest${ac_exeext}; then
    rm -rf conftest*
    krb_h=yes krb_incdir=$KRB4/include/kerberosIV
  else
--- 2769,2782 ----
         hold_cflags=$CFLAGS
         CFLAGS="$CFLAGS -I$KRB4/include/kerberosIV"
         cat > conftest.$ac_ext <<EOF
! #line 2773 "configure"
  #include "confdefs.h"
  #include <krb.h>
  int main() {
  int i;
  ; return 0; }
  EOF
! if { (eval echo configure:2780: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test 
-s conftest${ac_exeext}; then
    rm -rf conftest*
    krb_h=yes krb_incdir=$KRB4/include/kerberosIV
  else
***************
*** 2797,2803 ****
         hold_ldflags=$LDFLAGS
         LDFLAGS="-L${KRB4}/lib $LDFLAGS"
         echo $ac_n "checking for printf in -lkrb""... $ac_c" 1>&6
! echo "configure:2801: checking for printf in -lkrb" >&5
  ac_lib_var=`echo krb'_'printf | sed 'y%./+-%__p_%'`
  if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
--- 2799,2805 ----
         hold_ldflags=$LDFLAGS
         LDFLAGS="-L${KRB4}/lib $LDFLAGS"
         echo $ac_n "checking for printf in -lkrb""... $ac_c" 1>&6
! echo "configure:2803: checking for printf in -lkrb" >&5
  ac_lib_var=`echo krb'_'printf | sed 'y%./+-%__p_%'`
  if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
***************
*** 2805,2811 ****
    ac_save_LIBS="$LIBS"
  LIBS="-lkrb  $LIBS"
  cat > conftest.$ac_ext <<EOF
! #line 2809 "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
--- 2807,2813 ----
    ac_save_LIBS="$LIBS"
  LIBS="-lkrb  $LIBS"
  cat > conftest.$ac_ext <<EOF
! #line 2811 "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
***************
*** 2816,2822 ****
  printf()
  ; return 0; }
  EOF
! if { (eval echo configure:2820: \"$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
--- 2818,2824 ----
  printf()
  ; return 0; }
  EOF
! if { (eval echo configure:2822: \"$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
***************
*** 2838,2844 ****
              # Using open here instead of printf so we don't
              # get confused by the cached value for printf from above.
              echo $ac_n "checking for open in -lkrb""... $ac_c" 1>&6
! echo "configure:2842: checking for open in -lkrb" >&5
  ac_lib_var=`echo krb'_'open | sed 'y%./+-%__p_%'`
  if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
--- 2840,2846 ----
              # Using open here instead of printf so we don't
              # get confused by the cached value for printf from above.
              echo $ac_n "checking for open in -lkrb""... $ac_c" 1>&6
! echo "configure:2844: checking for open in -lkrb" >&5
  ac_lib_var=`echo krb'_'open | sed 'y%./+-%__p_%'`
  if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
***************
*** 2846,2852 ****
    ac_save_LIBS="$LIBS"
  LIBS="-lkrb  $LIBS"
  cat > conftest.$ac_ext <<EOF
! #line 2850 "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
--- 2848,2854 ----
    ac_save_LIBS="$LIBS"
  LIBS="-lkrb  $LIBS"
  cat > conftest.$ac_ext <<EOF
! #line 2852 "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
***************
*** 2857,2863 ****
  open()
  ; return 0; }
  EOF
! if { (eval echo configure:2861: \"$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
--- 2859,2865 ----
  open()
  ; return 0; }
  EOF
! if { (eval echo configure:2863: \"$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
***************
*** 2882,2888 ****
         LDFLAGS=$hold_ldflags
    else
         echo $ac_n "checking for printf in -lkrb""... $ac_c" 1>&6
! echo "configure:2886: checking for printf in -lkrb" >&5
  ac_lib_var=`echo krb'_'printf | sed 'y%./+-%__p_%'`
  if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
--- 2884,2890 ----
         LDFLAGS=$hold_ldflags
    else
         echo $ac_n "checking for printf in -lkrb""... $ac_c" 1>&6
! echo "configure:2888: checking for printf in -lkrb" >&5
  ac_lib_var=`echo krb'_'printf | sed 'y%./+-%__p_%'`
  if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
***************
*** 2890,2896 ****
    ac_save_LIBS="$LIBS"
  LIBS="-lkrb  $LIBS"
  cat > conftest.$ac_ext <<EOF
! #line 2894 "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
--- 2892,2898 ----
    ac_save_LIBS="$LIBS"
  LIBS="-lkrb  $LIBS"
  cat > conftest.$ac_ext <<EOF
! #line 2896 "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
***************
*** 2901,2907 ****
  printf()
  ; return 0; }
  EOF
! if { (eval echo configure:2905: \"$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
--- 2903,2909 ----
  printf()
  ; return 0; }
  EOF
! if { (eval echo configure:2907: \"$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
***************
*** 2935,2941 ****
      hold_ldflags=$LDFLAGS
      test -n "${krb_libdir}" && LDFLAGS="$LDFLAGS -L${krb_libdir}"
      echo $ac_n "checking for printf in -ldes""... $ac_c" 1>&6
! echo "configure:2939: checking for printf in -ldes" >&5
  ac_lib_var=`echo des'_'printf | sed 'y%./+-%__p_%'`
  if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
--- 2937,2943 ----
      hold_ldflags=$LDFLAGS
      test -n "${krb_libdir}" && LDFLAGS="$LDFLAGS -L${krb_libdir}"
      echo $ac_n "checking for printf in -ldes""... $ac_c" 1>&6
! echo "configure:2941: checking for printf in -ldes" >&5
  ac_lib_var=`echo des'_'printf | sed 'y%./+-%__p_%'`
  if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
***************
*** 2943,2949 ****
    ac_save_LIBS="$LIBS"
  LIBS="-ldes  $LIBS"
  cat > conftest.$ac_ext <<EOF
! #line 2947 "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
--- 2945,2951 ----
    ac_save_LIBS="$LIBS"
  LIBS="-ldes  $LIBS"
  cat > conftest.$ac_ext <<EOF
! #line 2949 "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
***************
*** 2954,2960 ****
  printf()
  ; return 0; }
  EOF
! if { (eval echo configure:2958: \"$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
--- 2956,2962 ----
  printf()
  ; return 0; }
  EOF
! if { (eval echo configure:2960: \"$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
***************
*** 2983,2994 ****
  for ac_func in krb_get_err_text
  do
  echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
! echo "configure:2987: 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 2992 "configure"
  #include "confdefs.h"
  /* System header to define __stub macros and hopefully few prototypes,
      which can conflict with char $ac_func(); below.  */
--- 2985,2996 ----
  for ac_func in krb_get_err_text
  do
  echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
! echo "configure:2989: 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 2994 "configure"
  #include "confdefs.h"
  /* System header to define __stub macros and hopefully few prototypes,
      which can conflict with char $ac_func(); below.  */
***************
*** 3011,3017 ****
  
  ; return 0; }
  EOF
! if { (eval echo configure:3015: \"$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
--- 3013,3019 ----
  
  ; return 0; }
  EOF
! if { (eval echo configure:3017: \"$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
***************
*** 3052,3068 ****
  do
  ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
  echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
! echo "configure:3056: 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 3061 "configure"
  #include "confdefs.h"
  #include <$ac_hdr>
  EOF
  ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
! { (eval echo configure:3066: \"$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*
--- 3054,3070 ----
  do
  ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
  echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
! echo "configure:3058: 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 3063 "configure"
  #include "confdefs.h"
  #include <$ac_hdr>
  EOF
  ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
! { (eval echo configure:3068: \"$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*
***************
*** 3108,3114 ****
    CPPFLAGS="-I$GSSAPI/include $CPPFLAGS"
    if test "$ac_cv_header_gssapi_h" = "yes"; then
      cat > conftest.$ac_ext <<EOF
! #line 3112 "configure"
  #include "confdefs.h"
  #include <gssapi.h>
  EOF
--- 3110,3116 ----
    CPPFLAGS="-I$GSSAPI/include $CPPFLAGS"
    if test "$ac_cv_header_gssapi_h" = "yes"; then
      cat > conftest.$ac_ext <<EOF
! #line 3114 "configure"
  #include "confdefs.h"
  #include <gssapi.h>
  EOF
***************
*** 3124,3130 ****
  
    else
      cat > conftest.$ac_ext <<EOF
! #line 3128 "configure"
  #include "confdefs.h"
  #include <gssapi/gssapi.h>
  EOF
--- 3126,3132 ----
  
    else
      cat > conftest.$ac_ext <<EOF
! #line 3130 "configure"
  #include "confdefs.h"
  #include <gssapi/gssapi.h>
  EOF
***************
*** 3143,3149 ****
    # This is necessary on Irix 5.3, in order to link against libkrb5 --
    # there, an_to_ln.o refers to things defined only in -lgen.
    echo $ac_n "checking for compile in -lgen""... $ac_c" 1>&6
! echo "configure:3147: checking for compile in -lgen" >&5
  ac_lib_var=`echo gen'_'compile | sed 'y%./+-%__p_%'`
  if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
--- 3145,3151 ----
    # This is necessary on Irix 5.3, in order to link against libkrb5 --
    # there, an_to_ln.o refers to things defined only in -lgen.
    echo $ac_n "checking for compile in -lgen""... $ac_c" 1>&6
! echo "configure:3149: checking for compile in -lgen" >&5
  ac_lib_var=`echo gen'_'compile | sed 'y%./+-%__p_%'`
  if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
***************
*** 3151,3157 ****
    ac_save_LIBS="$LIBS"
  LIBS="-lgen  $LIBS"
  cat > conftest.$ac_ext <<EOF
! #line 3155 "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
--- 3153,3159 ----
    ac_save_LIBS="$LIBS"
  LIBS="-lgen  $LIBS"
  cat > conftest.$ac_ext <<EOF
! #line 3157 "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
***************
*** 3162,3168 ****
  compile()
  ; return 0; }
  EOF
! if { (eval echo configure:3166: \"$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
--- 3164,3170 ----
  compile()
  ; return 0; }
  EOF
! if { (eval echo configure:3168: \"$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
***************
*** 3211,3222 ****
  fi
  
  echo $ac_n "checking for gethostname""... $ac_c" 1>&6
! echo "configure:3215: checking for gethostname" >&5
  if eval "test \"`echo '$''{'ac_cv_func_gethostname'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 3220 "configure"
  #include "confdefs.h"
  /* System header to define __stub macros and hopefully few prototypes,
      which can conflict with char gethostname(); below.  */
--- 3213,3224 ----
  fi
  
  echo $ac_n "checking for gethostname""... $ac_c" 1>&6
! echo "configure:3217: checking for gethostname" >&5
  if eval "test \"`echo '$''{'ac_cv_func_gethostname'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 3222 "configure"
  #include "confdefs.h"
  /* System header to define __stub macros and hopefully few prototypes,
      which can conflict with char gethostname(); below.  */
***************
*** 3239,3245 ****
  
  ; return 0; }
  EOF
! if { (eval echo configure:3243: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test 
-s conftest${ac_exeext}; then
    rm -rf conftest*
    eval "ac_cv_func_gethostname=yes"
  else
--- 3241,3247 ----
  
  ; return 0; }
  EOF
! if { (eval echo configure:3245: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test 
-s conftest${ac_exeext}; then
    rm -rf conftest*
    eval "ac_cv_func_gethostname=yes"
  else
***************
*** 3304,3317 ****
  if test "$enable_server" = yes; then
  
  echo $ac_n "checking for library containing crypt""... $ac_c" 1>&6
! echo "configure:3308: checking for library containing crypt" >&5
  if eval "test \"`echo '$''{'ac_cv_search_crypt'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    ac_func_search_save_LIBS="$LIBS"
  ac_cv_search_crypt="no"
  cat > conftest.$ac_ext <<EOF
! #line 3315 "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
--- 3306,3319 ----
  if test "$enable_server" = yes; then
  
  echo $ac_n "checking for library containing crypt""... $ac_c" 1>&6
! echo "configure:3310: checking for library containing crypt" >&5
  if eval "test \"`echo '$''{'ac_cv_search_crypt'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    ac_func_search_save_LIBS="$LIBS"
  ac_cv_search_crypt="no"
  cat > conftest.$ac_ext <<EOF
! #line 3317 "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
***************
*** 3322,3328 ****
  crypt()
  ; return 0; }
  EOF
! if { (eval echo configure:3326: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test 
-s conftest${ac_exeext}; then
    rm -rf conftest*
    ac_cv_search_crypt="none required"
  else
--- 3324,3330 ----
  crypt()
  ; return 0; }
  EOF
! if { (eval echo configure:3328: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test 
-s conftest${ac_exeext}; then
    rm -rf conftest*
    ac_cv_search_crypt="none required"
  else
***************
*** 3333,3339 ****
  test "$ac_cv_search_crypt" = "no" && for i in crypt; do
  LIBS="-l$i  $ac_func_search_save_LIBS"
  cat > conftest.$ac_ext <<EOF
! #line 3337 "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
--- 3335,3341 ----
  test "$ac_cv_search_crypt" = "no" && for i in crypt; do
  LIBS="-l$i  $ac_func_search_save_LIBS"
  cat > conftest.$ac_ext <<EOF
! #line 3339 "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
***************
*** 3344,3350 ****
  crypt()
  ; return 0; }
  EOF
! if { (eval echo configure:3348: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test 
-s conftest${ac_exeext}; then
    rm -rf conftest*
    ac_cv_search_crypt="-l$i"
  break
--- 3346,3352 ----
  crypt()
  ; return 0; }
  EOF
! if { (eval echo configure:3350: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test 
-s conftest${ac_exeext}; then
    rm -rf conftest*
    ac_cv_search_crypt="-l$i"
  break
***************
*** 3378,3396 ****
  
  
  echo $ac_n "checking for cygwin32""... $ac_c" 1>&6
! echo "configure:3382: checking for cygwin32" >&5
  if eval "test \"`echo '$''{'ccvs_cv_sys_cygwin32'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 3387 "configure"
  #include "confdefs.h"
  
  int main() {
  return __CYGWIN32__;
  ; return 0; }
  EOF
! if { (eval echo configure:3394: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; 
then
    rm -rf conftest*
    ccvs_cv_sys_cygwin32=yes
  else
--- 3380,3398 ----
  
  
  echo $ac_n "checking for cygwin32""... $ac_c" 1>&6
! echo "configure:3384: checking for cygwin32" >&5
  if eval "test \"`echo '$''{'ccvs_cv_sys_cygwin32'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    cat > conftest.$ac_ext <<EOF
! #line 3389 "configure"
  #include "confdefs.h"
  
  int main() {
  return __CYGWIN32__;
  ; return 0; }
  EOF
! if { (eval echo configure:3396: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; 
then
    rm -rf conftest*
    ccvs_cv_sys_cygwin32=yes
  else
diff -c -r --minimal cvs-1.10.8/configure.in cvs-1.10.8-pam/configure.in
*** cvs-1.10.8/configure.in     Mon Dec 13 21:08:19 1999
--- cvs-1.10.8-pam/configure.in Tue Jun 13 10:45:12 2000
***************
*** 14,19 ****
--- 14,21 ----
  AC_PATH_PROG(perl_path, perl, no)
  AC_PATH_PROG(csh_path, csh, no)
  
+ LIBS="-lpam $LIBS"
+ 
  AC_SYS_INTERPRETER
  if test X"$ac_cv_sys_interpreter" != X"yes" ; then
    # silly trick to avoid problems in AC macros...
diff -c -r --minimal cvs-1.10.8/src/server.c cvs-1.10.8-pam/src/server.c
*** cvs-1.10.8/src/server.c     Mon Nov 22 23:17:00 1999
--- cvs-1.10.8-pam/src/server.c Tue Jun 13 11:31:29 2000
***************
*** 16,21 ****
--- 16,28 ----
  #include "getline.h"
  #include "buffer.h"
  
+ #define HAVE_PAM_AUTH
+ #ifdef HAVE_PAM_AUTH
+ /* needed for PAM authentication - fk 2000 */
+ #include <security/pam_appl.h>
+ #include <security/pam_misc.h>
+ #endif
+ 
  #ifdef SERVER_SUPPORT
  
  #ifdef HAVE_WINSOCK_H
***************
*** 5320,5325 ****
--- 5327,5362 ----
      return retval;
  }
  
+ #ifdef HAVE_PAM_AUTH
+ /* callback for PAM authentication - fk 2000 */
+ int silent_conv(int num_msg, const struct pam_message **msgm,
+       struct pam_response **response, void *appdata) {
+       int replies;
+       struct pam_response *reply = NULL;
+ 
+       reply = calloc(num_msg,sizeof(struct pam_response));
+       for (replies=0; replies<num_msg; replies++) {
+               switch (msgm[replies]->msg_style) {
+                       case PAM_PROMPT_ECHO_ON:
+                       case PAM_PROMPT_ECHO_OFF:
+                               /* printf("Prompt: %s\n",msgm[replies]->msg); */
+                               reply[replies].resp_retcode = PAM_SUCCESS;
+                               reply[replies].resp = strdup((char*)appdata);
+                               break;
+                       case PAM_ERROR_MSG:
+                       case PAM_TEXT_INFO:
+                               reply[replies].resp_retcode = PAM_SUCCESS;
+                               reply[replies].resp = NULL;
+                               break;
+                       default:
+                               free(reply);
+                               return PAM_CONV_ERR;
+               }
+       }
+       *response = reply;
+       return PAM_SUCCESS;
+ }
+ #endif
  
  /* Return a hosting username if password matches, else NULL. */
  static char *
***************
*** 5388,5396 ****
--- 5425,5462 ----
        if (*found_passwd)
          {
            /* user exists and has a password */
+ #ifdef HAVE_PAM_AUTH
+           pam_handle_t *pamh=NULL;
+           struct pam_conv conv;
+           int retval;
+ 
+           conv.conv = silent_conv;
+           conv.appdata_ptr = password;
+ 
+           retval = pam_start("cvs", username, &conv, &pamh);
+ 
+           if (retval == PAM_SUCCESS)
+               retval = pam_authenticate(pamh, 0); /* is user really user? */
+ 
+           if (retval == PAM_SUCCESS)
+               retval = pam_acct_mgmt(pamh, 0);    /* permitted access? */
+ 
+           /* This is where we have been authorized or not. */
+ 
+           if (retval == PAM_SUCCESS) {
+               host_user = username;
+           } else {
+               host_user = NULL;
+           }
+ 
+           if (pam_end(pamh,retval) != PAM_SUCCESS) {   /* close Linux-PAM */
+               pamh = NULL;
+           }
+ #else
            host_user = ((! strcmp (found_passwd,
                                      crypt (password, found_passwd)))
                           ? username : NULL);
+ #endif
              goto handle_return;
          }
        else if (password && *password)

Reply via email to