Fixup passdb stuff to add new nisplus and ldap backends.
authorJeremy Allison <jra@samba.org>
Tue, 25 Sep 2001 20:21:21 +0000 (20:21 +0000)
committerJeremy Allison <jra@samba.org>
Tue, 25 Sep 2001 20:21:21 +0000 (20:21 +0000)
Jeremy.
(This used to be commit 611bf806d569b70edabbc04a2f5408142370a550)

17 files changed:
source3/Makefile.in
source3/acconfig.h
source3/configure
source3/configure.in
source3/include/config.h.in
source3/param/loadparm.c
source3/passdb/passdb.c
source3/passdb/pdb_ldap.c [new file with mode: 0644]
source3/passdb/pdb_nisplus.c [new file with mode: 0644]
source3/passdb/pdb_smbpasswd.c
source3/passdb/pdb_tdb.c
source3/po/Makefile.in
source3/po/cat-id-tbl.c
source3/po/i18n_swat.pot
source3/po/pl.gmo
source3/web/cgi.c
source3/web/swat.c

index 510faac95db1fb8d4307d6aaedc8752e9dc0d52c..0aed3dd0ed7db7c4d5f8df975a5313909f58139d 100644 (file)
@@ -171,8 +171,9 @@ RPC_CLIENT_OBJ = rpc_client/cli_netlogon.o rpc_client/cli_pipe.o \
 LOCKING_OBJ = locking/locking.o locking/brlock.o locking/posix.o
 
 PASSDB_OBJ = passdb/passdb.o passdb/secrets.o \
-            passdb/machine_sid.o passdb/pdb_smbpasswd.o \
-            passdb/pdb_tdb.o
+               passdb/machine_sid.o passdb/pdb_smbpasswd.o \
+               passdb/pdb_tdb.o passdb/pdb_ldap.o \
+               passdb/pdb_nisplus.o
 
 GROUPDB_OBJ = groupdb/mapping.o
 
index 01d31a2922e851048286daa91eb23002e2dd3cbe..cbe1254bf91c7245a2c5205520010c931ada6a99 100644 (file)
 #undef MMAP_BLACKLIST
 #undef HAVE_IMMEDIATE_STRUCTURES
 #undef HAVE_CUPS
-#undef WITH_TDBSAM
+#undef WITH_LDAP_SAM
+#undef WITH_NISPLUS_SAM
+#undef WITH_SMBPASSWD_SAM
+#undef WITH_TDB_SAM
 #undef LINUX_QUOTAS_1
 #undef LINUX_QUOTAS_2
 #undef PACKAGE
index 7a9c3c64dc11c0fd547663ce8bcebd46730fc59f..98fb937c128e90c2c760a0a89f300764f92b8d15 100755 (executable)
@@ -41,7 +41,9 @@ ac_help="$ac_help
 ac_help="$ac_help
   --with-tdbsam           Include experimental TDB password database (default=no)"
 ac_help="$ac_help
-  --with-ldapsam          Include Experimental LDAP-Sam support (default=no)"
+  --with-ldapsam          Include experimental LDAP SAM support (default=no)"
+ac_help="$ac_help
+  --with-nisplussam       Include NISPLUS SAM support (default=no)"
 ac_help="$ac_help
   --with-nisplus-home     Include NISPLUS_HOME support (default=no)"
 ac_help="$ac_help
@@ -629,7 +631,7 @@ fi
 # 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:633: checking for $ac_word" >&5
+echo "configure:635: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -659,7 +661,7 @@ 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:663: checking for $ac_word" >&5
+echo "configure:665: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -710,7 +712,7 @@ fi
       # 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:714: checking for $ac_word" >&5
+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
 else
@@ -742,7 +744,7 @@ fi
 fi
 
 echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:746: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+echo "configure:748: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
 
 ac_ext=c
 # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
@@ -753,12 +755,12 @@ cross_compiling=$ac_cv_prog_cc_cross
 
 cat > conftest.$ac_ext << EOF
 
-#line 757 "configure"
+#line 759 "configure"
 #include "confdefs.h"
 
 main(){return(0);}
 EOF
-if { (eval echo configure:762: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:764: \"$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
@@ -784,12 +786,12 @@ 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:788: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:790: 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 $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:793: checking whether we are using GNU C" >&5
+echo "configure:795: 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
 else
@@ -798,7 +800,7 @@ else
   yes;
 #endif
 EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:802: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:804: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
   ac_cv_prog_gcc=yes
 else
   ac_cv_prog_gcc=no
@@ -817,7 +819,7 @@ 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:821: checking whether ${CC-cc} accepts -g" >&5
+echo "configure:823: 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
@@ -879,7 +881,7 @@ ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
 # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
 # ./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:883: checking for a BSD compatible install" >&5
+echo "configure:885: checking for a BSD compatible install" >&5
 if test -z "$INSTALL"; then
 if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -936,7 +938,7 @@ 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 $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:940: checking for $ac_word" >&5
+echo "configure:942: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_AWK'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -968,10 +970,10 @@ done
 
 if test "x$CC" != xcc; then
   echo $ac_n "checking whether $CC and cc understand -c and -o together""... $ac_c" 1>&6
-echo "configure:972: checking whether $CC and cc understand -c and -o together" >&5
+echo "configure:974: checking whether $CC and cc understand -c and -o together" >&5
 else
   echo $ac_n "checking whether cc understands -c and -o together""... $ac_c" 1>&6
-echo "configure:975: checking whether cc understands -c and -o together" >&5
+echo "configure:977: checking whether cc understands -c and -o together" >&5
 fi
 set dummy $CC; ac_cc="`echo $2 |
                       sed -e 's/[^a-zA-Z0-9_]/_/g' -e 's/^[0-9]/_/'`"
@@ -983,16 +985,16 @@ else
 # We do the test twice because some compilers refuse to overwrite an
 # existing .o file with -o, though they will create one.
 ac_try='${CC-cc} -c conftest.c -o conftest.o 1>&5'
-if { (eval echo configure:987: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } &&
-   test -f conftest.o && { (eval echo configure:988: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; };
+if { (eval echo configure:989: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } &&
+   test -f conftest.o && { (eval echo configure:990: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; };
 then
   eval ac_cv_prog_cc_${ac_cc}_c_o=yes
   if test "x$CC" != xcc; then
     # Test first that cc exists at all.
-    if { ac_try='cc -c conftest.c 1>&5'; { (eval echo configure:993: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
+    if { ac_try='cc -c conftest.c 1>&5'; { (eval echo configure:995: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
       ac_try='cc -c conftest.c -o conftest.o 1>&5'
-      if { (eval echo configure:995: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } &&
-        test -f conftest.o && { (eval echo configure:996: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; };
+      if { (eval echo configure:997: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } &&
+        test -f conftest.o && { (eval echo configure:998: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; };
       then
         # cc works too.
         :
@@ -1026,20 +1028,20 @@ fi
 
 
 echo $ac_n "checking that the C compiler understands volatile""... $ac_c" 1>&6
-echo "configure:1030: checking that the C compiler understands volatile" >&5
+echo "configure:1032: checking that the C compiler understands volatile" >&5
 if eval "test \"`echo '$''{'samba_cv_volatile'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
     cat > conftest.$ac_ext <<EOF
-#line 1036 "configure"
+#line 1038 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 int main() {
 volatile int i = 0
 ; return 0; }
 EOF
-if { (eval echo configure:1043: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1045: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   samba_cv_volatile=yes
 else
@@ -1088,7 +1090,7 @@ 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:1092: checking host system type" >&5
+echo "configure:1094: checking host system type" >&5
 
 host_alias=$host
 case "$host_alias" in
@@ -1109,7 +1111,7 @@ host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
 echo "$ac_t""$host" 1>&6
 
 echo $ac_n "checking target system type""... $ac_c" 1>&6
-echo "configure:1113: checking target system type" >&5
+echo "configure:1115: checking target system type" >&5
 
 target_alias=$target
 case "$target_alias" in
@@ -1127,7 +1129,7 @@ target_os=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
 echo "$ac_t""$target" 1>&6
 
 echo $ac_n "checking build system type""... $ac_c" 1>&6
-echo "configure:1131: checking build system type" >&5
+echo "configure:1133: checking build system type" >&5
 
 build_alias=$build
 case "$build_alias" in
@@ -1161,7 +1163,7 @@ esac
 
     
     echo $ac_n "checking config.cache system type""... $ac_c" 1>&6
-echo "configure:1165: checking config.cache system type" >&5
+echo "configure:1167: checking config.cache system type" >&5
     if { test x"${ac_cv_host_system_type+set}" = x"set" &&
          test x"$ac_cv_host_system_type" != x"$host"; } ||
        { test x"${ac_cv_build_system_type+set}" = x"set" &&
@@ -1186,7 +1188,7 @@ case "$host_os" in
 # Try to work out if this is the native HPUX compiler that uses the -Ae flag.
     *hpux*)
       echo $ac_n "checking whether ${CC-cc} accepts -Ae""... $ac_c" 1>&6
-echo "configure:1190: checking whether ${CC-cc} accepts -Ae" >&5
+echo "configure:1192: checking whether ${CC-cc} accepts -Ae" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_cc_Ae'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1278,14 +1280,14 @@ EOF
     *sysv4*)
       if test $host = mips-sni-sysv4 ; then
         echo $ac_n "checking for LFS support""... $ac_c" 1>&6
-echo "configure:1282: checking for LFS support" >&5
+echo "configure:1284: checking for LFS support" >&5
         old_CPPFLAGS="$CPPFLAGS"
         CPPFLAGS="-D_LARGEFILE64_SOURCE $CPPFLAGS"
         if test "$cross_compiling" = yes; then
   SINIX_LFS_SUPPORT=cross
 else
   cat > conftest.$ac_ext <<EOF
-#line 1289 "configure"
+#line 1291 "configure"
 #include "confdefs.h"
 
 #include <unistd.h>
@@ -1297,7 +1299,7 @@ exit(1);
 #endif
 }
 EOF
-if { (eval echo configure:1301: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:1303: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   SINIX_LFS_SUPPORT=yes
 else
@@ -1324,14 +1326,14 @@ fi
 #
     *linux*)
         echo $ac_n "checking for LFS support""... $ac_c" 1>&6
-echo "configure:1328: checking for LFS support" >&5
+echo "configure:1330: checking for LFS support" >&5
         old_CPPFLAGS="$CPPFLAGS"
         CPPFLAGS="-D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE $CPPFLAGS"
        if test "$cross_compiling" = yes; then
   LINUX_LFS_SUPPORT=cross
 else
   cat > conftest.$ac_ext <<EOF
-#line 1335 "configure"
+#line 1337 "configure"
 #include "confdefs.h"
 
 #include <unistd.h>
@@ -1369,7 +1371,7 @@ main() {
 }
 
 EOF
-if { (eval echo configure:1373: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:1375: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   LINUX_LFS_SUPPORT=yes
 else
@@ -1390,14 +1392,14 @@ fi
 
     *hurd*)
         echo $ac_n "checking for LFS support""... $ac_c" 1>&6
-echo "configure:1394: checking for LFS support" >&5
+echo "configure:1396: checking for LFS support" >&5
         old_CPPFLAGS="$CPPFLAGS"
         CPPFLAGS="-D_LARGEFILE64_SOURCE -D_GNU_SOURCE $CPPFLAGS"
         if test "$cross_compiling" = yes; then
   GLIBC_LFS_SUPPORT=cross
 else
   cat > conftest.$ac_ext <<EOF
-#line 1401 "configure"
+#line 1403 "configure"
 #include "confdefs.h"
 
 #include <unistd.h>
@@ -1409,7 +1411,7 @@ exit(1);
 #endif
 }
 EOF
-if { (eval echo configure:1413: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:1415: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   GLIBC_LFS_SUPPORT=yes
 else
@@ -1431,21 +1433,21 @@ fi
 esac
 
 echo $ac_n "checking for inline""... $ac_c" 1>&6
-echo "configure:1435: checking for inline" >&5
+echo "configure:1437: checking for inline" >&5
 if eval "test \"`echo '$''{'ac_cv_c_inline'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   ac_cv_c_inline=no
 for ac_kw in inline __inline__ __inline; do
   cat > conftest.$ac_ext <<EOF
-#line 1442 "configure"
+#line 1444 "configure"
 #include "confdefs.h"
 
 int main() {
 } $ac_kw foo() {
 ; return 0; }
 EOF
-if { (eval echo configure:1449: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1451: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_c_inline=$ac_kw; break
 else
@@ -1471,7 +1473,7 @@ EOF
 esac
 
 echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
-echo "configure:1475: checking how to run the C preprocessor" >&5
+echo "configure:1477: checking how to run the C preprocessor" >&5
 # On Suns, sometimes $CPP names a directory.
 if test -n "$CPP" && test -d "$CPP"; then
   CPP=
@@ -1486,13 +1488,13 @@ else
   # On the NeXT, cc -E runs the code through the compiler's parser,
   # not just through cpp.
   cat > conftest.$ac_ext <<EOF
-#line 1490 "configure"
+#line 1492 "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:1496: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1498: \"$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
   :
@@ -1503,13 +1505,13 @@ else
   rm -rf conftest*
   CPP="${CC-cc} -E -traditional-cpp"
   cat > conftest.$ac_ext <<EOF
-#line 1507 "configure"
+#line 1509 "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:1513: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1515: \"$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
   :
@@ -1520,13 +1522,13 @@ else
   rm -rf conftest*
   CPP="${CC-cc} -nologo -E"
   cat > conftest.$ac_ext <<EOF
-#line 1524 "configure"
+#line 1526 "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:1530: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1532: \"$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
   :
@@ -1551,12 +1553,12 @@ fi
 echo "$ac_t""$CPP" 1>&6
 
 echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
-echo "configure:1555: checking for ANSI C header files" >&5
+echo "configure:1557: 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 1560 "configure"
+#line 1562 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
 #include <stdarg.h>
@@ -1564,7 +1566,7 @@ else
 #include <float.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1568: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1570: \"$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*
@@ -1581,7 +1583,7 @@ rm -f conftest*
 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 1585 "configure"
+#line 1587 "configure"
 #include "confdefs.h"
 #include <string.h>
 EOF
@@ -1599,7 +1601,7 @@ 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 1603 "configure"
+#line 1605 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
 EOF
@@ -1620,7 +1622,7 @@ if test "$cross_compiling" = yes; then
   :
 else
   cat > conftest.$ac_ext <<EOF
-#line 1624 "configure"
+#line 1626 "configure"
 #include "confdefs.h"
 #include <ctype.h>
 #define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
@@ -1631,7 +1633,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2);
 exit (0); }
 
 EOF
-if { (eval echo configure:1635: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:1637: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   :
 else
@@ -1659,12 +1661,12 @@ for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h
 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:1663: checking for $ac_hdr that defines DIR" >&5
+echo "configure:1665: 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 1668 "configure"
+#line 1670 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <$ac_hdr>
@@ -1672,7 +1674,7 @@ int main() {
 DIR *dirp = 0;
 ; return 0; }
 EOF
-if { (eval echo configure:1676: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1678: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   eval "ac_cv_header_dirent_$ac_safe=yes"
 else
@@ -1697,7 +1699,7 @@ done
 # 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:1701: checking for opendir in -ldir" >&5
+echo "configure:1703: 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
@@ -1705,7 +1707,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-ldir  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 1709 "configure"
+#line 1711 "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
@@ -1716,7 +1718,7 @@ int main() {
 opendir()
 ; return 0; }
 EOF
-if { (eval echo configure:1720: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1722: \"$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
@@ -1738,7 +1740,7 @@ fi
 
 else
 echo $ac_n "checking for opendir in -lx""... $ac_c" 1>&6
-echo "configure:1742: checking for opendir in -lx" >&5
+echo "configure:1744: 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
@@ -1746,7 +1748,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lx  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 1750 "configure"
+#line 1752 "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
@@ -1757,7 +1759,7 @@ int main() {
 opendir()
 ; return 0; }
 EOF
-if { (eval echo configure:1761: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1763: \"$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
@@ -1780,12 +1782,12 @@ fi
 fi
 
 echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6
-echo "configure:1784: checking whether time.h and sys/time.h may both be included" >&5
+echo "configure:1786: 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 1789 "configure"
+#line 1791 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <sys/time.h>
@@ -1794,7 +1796,7 @@ int main() {
 struct tm *tp;
 ; return 0; }
 EOF
-if { (eval echo configure:1798: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1800: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_header_time=yes
 else
@@ -1815,12 +1817,12 @@ EOF
 fi
 
 echo $ac_n "checking for sys/wait.h that is POSIX.1 compatible""... $ac_c" 1>&6
-echo "configure:1819: checking for sys/wait.h that is POSIX.1 compatible" >&5
+echo "configure:1821: 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 1824 "configure"
+#line 1826 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <sys/wait.h>
@@ -1836,7 +1838,7 @@ wait (&s);
 s = WIFEXITED (s) ? WEXITSTATUS (s) : 1;
 ; return 0; }
 EOF
-if { (eval echo configure:1840: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:1842: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_header_sys_wait_h=yes
 else
@@ -1860,17 +1862,17 @@ for ac_hdr in arpa/inet.h sys/fcntl.h sys/select.h fcntl.h sys/time.h sys/unistd
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:1864: checking for $ac_hdr" >&5
+echo "configure:1866: 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 1869 "configure"
+#line 1871 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1874: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1876: \"$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*
@@ -1900,17 +1902,17 @@ for ac_hdr in unistd.h utime.h grp.h sys/id.h limits.h memory.h net/if.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:1904: checking for $ac_hdr" >&5
+echo "configure:1906: 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 1909 "configure"
+#line 1911 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1914: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1916: \"$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*
@@ -1940,17 +1942,17 @@ for ac_hdr in compat.h rpc/rpc.h rpcsvc/nis.h rpcsvc/yp_prot.h rpcsvc/ypclnt.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:1944: checking for $ac_hdr" >&5
+echo "configure:1946: 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 1949 "configure"
+#line 1951 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1954: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1956: \"$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*
@@ -1980,17 +1982,17 @@ for ac_hdr in sys/param.h ctype.h sys/wait.h sys/resource.h sys/ioctl.h sys/ipc.
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:1984: checking for $ac_hdr" >&5
+echo "configure:1986: 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 1989 "configure"
+#line 1991 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1994: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1996: \"$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*
@@ -2020,17 +2022,17 @@ for ac_hdr in sys/mman.h sys/filio.h sys/priv.h sys/shm.h string.h strings.h std
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:2024: checking for $ac_hdr" >&5
+echo "configure:2026: 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 2029 "configure"
+#line 2031 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2034: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2036: \"$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*
@@ -2060,17 +2062,17 @@ for ac_hdr in sys/mount.h sys/vfs.h sys/fs/s5param.h sys/filsys.h termios.h term
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:2064: checking for $ac_hdr" >&5
+echo "configure:2066: 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 2069 "configure"
+#line 2071 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2074: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2076: \"$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*
@@ -2100,17 +2102,17 @@ for ac_hdr in sys/termio.h sys/statfs.h sys/dustat.h sys/statvfs.h stdarg.h sys/
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:2104: checking for $ac_hdr" >&5
+echo "configure:2106: 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 2109 "configure"
+#line 2111 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2114: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2116: \"$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,17 +2142,17 @@ for ac_hdr in security/pam_modules.h security/_pam_macros.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:2144: checking for $ac_hdr" >&5
+echo "configure:2146: 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 2149 "configure"
+#line 2151 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2154: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2156: \"$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*
@@ -2184,14 +2186,14 @@ done
 case "$host_os" in
     *hpux*)
                cat > conftest.$ac_ext <<EOF
-#line 2188 "configure"
+#line 2190 "configure"
 #include "confdefs.h"
 #include <shadow.h>
 int main() {
 struct spwd testme
 ; return 0; }
 EOF
-if { (eval echo configure:2195: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2197: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_header_shadow_h=yes
 else
@@ -2213,17 +2215,17 @@ for ac_hdr in shadow.h netinet/ip.h netinet/tcp.h netinet/in_systm.h netinet/in_
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:2217: checking for $ac_hdr" >&5
+echo "configure:2219: 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 2222 "configure"
+#line 2224 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2227: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2229: \"$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*
@@ -2253,17 +2255,17 @@ for ac_hdr in nss.h nss_common.h sys/security.h security/pam_appl.h security/pam
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:2257: checking for $ac_hdr" >&5
+echo "configure:2259: 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 2262 "configure"
+#line 2264 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2267: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2269: \"$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*
@@ -2293,17 +2295,17 @@ for ac_hdr in stropts.h poll.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:2297: checking for $ac_hdr" >&5
+echo "configure:2299: 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 2302 "configure"
+#line 2304 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2307: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2309: \"$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*
@@ -2333,17 +2335,17 @@ for ac_hdr in sys/capability.h syscall.h sys/syscall.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:2337: checking for $ac_hdr" >&5
+echo "configure:2339: 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 2342 "configure"
+#line 2344 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2347: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2349: \"$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*
@@ -2373,17 +2375,17 @@ for ac_hdr in sys/acl.h sys/cdefs.h glob.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:2377: checking for $ac_hdr" >&5
+echo "configure:2379: 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 2382 "configure"
+#line 2384 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2387: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2389: \"$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*
@@ -2415,17 +2417,17 @@ for ac_hdr in utmp.h utmpx.h lastlog.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:2419: checking for $ac_hdr" >&5
+echo "configure:2421: 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 2424 "configure"
+#line 2426 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2429: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2431: \"$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*
@@ -2457,17 +2459,17 @@ for ac_hdr in sys/fs/vx_quota.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:2461: checking for $ac_hdr" >&5
+echo "configure:2463: 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 2466 "configure"
+#line 2468 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2471: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2473: \"$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*
@@ -2495,7 +2497,7 @@ done
 
 
 echo $ac_n "checking size of int""... $ac_c" 1>&6
-echo "configure:2499: checking size of int" >&5
+echo "configure:2501: checking size of int" >&5
 if eval "test \"`echo '$''{'ac_cv_sizeof_int'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2503,7 +2505,7 @@ else
   ac_cv_sizeof_int=cross
 else
   cat > conftest.$ac_ext <<EOF
-#line 2507 "configure"
+#line 2509 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 main()
@@ -2514,7 +2516,7 @@ main()
   exit(0);
 }
 EOF
-if { (eval echo configure:2518: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:2520: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   ac_cv_sizeof_int=`cat conftestval`
 else
@@ -2534,7 +2536,7 @@ EOF
 
 
 echo $ac_n "checking size of long""... $ac_c" 1>&6
-echo "configure:2538: checking size of long" >&5
+echo "configure:2540: checking size of long" >&5
 if eval "test \"`echo '$''{'ac_cv_sizeof_long'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2542,7 +2544,7 @@ else
   ac_cv_sizeof_long=cross
 else
   cat > conftest.$ac_ext <<EOF
-#line 2546 "configure"
+#line 2548 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 main()
@@ -2553,7 +2555,7 @@ main()
   exit(0);
 }
 EOF
-if { (eval echo configure:2557: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:2559: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   ac_cv_sizeof_long=`cat conftestval`
 else
@@ -2573,7 +2575,7 @@ EOF
 
 
 echo $ac_n "checking size of short""... $ac_c" 1>&6
-echo "configure:2577: checking size of short" >&5
+echo "configure:2579: checking size of short" >&5
 if eval "test \"`echo '$''{'ac_cv_sizeof_short'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2581,7 +2583,7 @@ else
   ac_cv_sizeof_short=cross
 else
   cat > conftest.$ac_ext <<EOF
-#line 2585 "configure"
+#line 2587 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 main()
@@ -2592,7 +2594,7 @@ main()
   exit(0);
 }
 EOF
-if { (eval echo configure:2596: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:2598: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   ac_cv_sizeof_short=`cat conftestval`
 else
@@ -2613,12 +2615,12 @@ EOF
 
 
 echo $ac_n "checking for working const""... $ac_c" 1>&6
-echo "configure:2617: checking for working const" >&5
+echo "configure:2619: 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 2622 "configure"
+#line 2624 "configure"
 #include "confdefs.h"
 
 int main() {
@@ -2667,7 +2669,7 @@ ccp = (char const *const *) p;
 
 ; return 0; }
 EOF
-if { (eval echo configure:2671: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2673: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_c_const=yes
 else
@@ -2688,21 +2690,21 @@ EOF
 fi
 
 echo $ac_n "checking for inline""... $ac_c" 1>&6
-echo "configure:2692: checking for inline" >&5
+echo "configure:2694: checking for inline" >&5
 if eval "test \"`echo '$''{'ac_cv_c_inline'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   ac_cv_c_inline=no
 for ac_kw in inline __inline__ __inline; do
   cat > conftest.$ac_ext <<EOF
-#line 2699 "configure"
+#line 2701 "configure"
 #include "confdefs.h"
 
 int main() {
 } $ac_kw foo() {
 ; return 0; }
 EOF
-if { (eval echo configure:2706: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2708: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_c_inline=$ac_kw; break
 else
@@ -2728,14 +2730,14 @@ EOF
 esac
 
 echo $ac_n "checking whether byte ordering is bigendian""... $ac_c" 1>&6
-echo "configure:2732: checking whether byte ordering is bigendian" >&5
+echo "configure:2734: checking whether byte ordering is bigendian" >&5
 if eval "test \"`echo '$''{'ac_cv_c_bigendian'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   ac_cv_c_bigendian=unknown
 # See if sys/param.h defines the BYTE_ORDER macro.
 cat > conftest.$ac_ext <<EOF
-#line 2739 "configure"
+#line 2741 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <sys/param.h>
@@ -2746,11 +2748,11 @@ int main() {
 #endif
 ; return 0; }
 EOF
-if { (eval echo configure:2750: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2752: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   # It does; now see whether it defined to BIG_ENDIAN or not.
 cat > conftest.$ac_ext <<EOF
-#line 2754 "configure"
+#line 2756 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <sys/param.h>
@@ -2761,7 +2763,7 @@ int main() {
 #endif
 ; return 0; }
 EOF
-if { (eval echo configure:2765: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2767: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_c_bigendian=yes
 else
@@ -2781,7 +2783,7 @@ if test "$cross_compiling" = yes; then
     { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
 else
   cat > conftest.$ac_ext <<EOF
-#line 2785 "configure"
+#line 2787 "configure"
 #include "confdefs.h"
 main () {
   /* Are we little or big endian?  From Harbison&Steele.  */
@@ -2794,7 +2796,7 @@ main () {
   exit (u.c[sizeof (long) - 1] == 1);
 }
 EOF
-if { (eval echo configure:2798: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:2800: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   ac_cv_c_bigendian=no
 else
@@ -2818,14 +2820,14 @@ EOF
 fi
 
 echo $ac_n "checking whether char is unsigned""... $ac_c" 1>&6
-echo "configure:2822: checking whether char is unsigned" >&5
+echo "configure:2824: checking whether char is unsigned" >&5
 if eval "test \"`echo '$''{'ac_cv_c_char_unsigned'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   if test "$GCC" = yes; then
   # GCC predefines this symbol on systems where it applies.
 cat > conftest.$ac_ext <<EOF
-#line 2829 "configure"
+#line 2831 "configure"
 #include "confdefs.h"
 #ifdef __CHAR_UNSIGNED__
   yes
@@ -2847,7 +2849,7 @@ if test "$cross_compiling" = yes; then
     { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
 else
   cat > conftest.$ac_ext <<EOF
-#line 2851 "configure"
+#line 2853 "configure"
 #include "confdefs.h"
 /* volatile prevents gcc2 from optimizing the test away on sparcs.  */
 #if !defined(__STDC__) || __STDC__ != 1
@@ -2857,7 +2859,7 @@ main() {
   volatile char c = 255; exit(c < 0);
 }
 EOF
-if { (eval echo configure:2861: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:2863: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   ac_cv_c_char_unsigned=yes
 else
@@ -2882,12 +2884,12 @@ fi
 
 
 echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6
-echo "configure:2886: checking return type of signal handlers" >&5
+echo "configure:2888: 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 2891 "configure"
+#line 2893 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <signal.h>
@@ -2904,7 +2906,7 @@ int main() {
 int i;
 ; return 0; }
 EOF
-if { (eval echo configure:2908: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2910: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_type_signal=void
 else
@@ -2923,12 +2925,12 @@ EOF
 
 
 echo $ac_n "checking for uid_t in sys/types.h""... $ac_c" 1>&6
-echo "configure:2927: checking for uid_t in sys/types.h" >&5
+echo "configure:2929: 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 2932 "configure"
+#line 2934 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 EOF
@@ -2957,12 +2959,12 @@ EOF
 fi
 
 echo $ac_n "checking for mode_t""... $ac_c" 1>&6
-echo "configure:2961: checking for mode_t" >&5
+echo "configure:2963: 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 2966 "configure"
+#line 2968 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #if STDC_HEADERS
@@ -2990,12 +2992,12 @@ EOF
 fi
 
 echo $ac_n "checking for off_t""... $ac_c" 1>&6
-echo "configure:2994: checking for off_t" >&5
+echo "configure:2996: checking for off_t" >&5
 if eval "test \"`echo '$''{'ac_cv_type_off_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2999 "configure"
+#line 3001 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #if STDC_HEADERS
@@ -3023,12 +3025,12 @@ EOF
 fi
 
 echo $ac_n "checking for size_t""... $ac_c" 1>&6
-echo "configure:3027: checking for size_t" >&5
+echo "configure:3029: 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 3032 "configure"
+#line 3034 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #if STDC_HEADERS
@@ -3056,12 +3058,12 @@ EOF
 fi
 
 echo $ac_n "checking for pid_t""... $ac_c" 1>&6
-echo "configure:3060: checking for pid_t" >&5
+echo "configure:3062: 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 3065 "configure"
+#line 3067 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #if STDC_HEADERS
@@ -3089,12 +3091,12 @@ EOF
 fi
 
 echo $ac_n "checking for st_rdev in struct stat""... $ac_c" 1>&6
-echo "configure:3093: checking for st_rdev in struct stat" >&5
+echo "configure:3095: checking for st_rdev in struct stat" >&5
 if eval "test \"`echo '$''{'ac_cv_struct_st_rdev'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 3098 "configure"
+#line 3100 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <sys/stat.h>
@@ -3102,7 +3104,7 @@ int main() {
 struct stat s; s.st_rdev;
 ; return 0; }
 EOF
-if { (eval echo configure:3106: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3108: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_struct_st_rdev=yes
 else
@@ -3123,12 +3125,12 @@ EOF
 fi
 
 echo $ac_n "checking for d_off in dirent""... $ac_c" 1>&6
-echo "configure:3127: checking for d_off in dirent" >&5
+echo "configure:3129: checking for d_off in dirent" >&5
 if eval "test \"`echo '$''{'ac_cv_dirent_d_off'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 3132 "configure"
+#line 3134 "configure"
 #include "confdefs.h"
 
 #include <unistd.h>
@@ -3138,7 +3140,7 @@ int main() {
 struct dirent d; d.d_off;
 ; return 0; }
 EOF
-if { (eval echo configure:3142: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3144: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_dirent_d_off=yes
 else
@@ -3159,12 +3161,12 @@ EOF
 fi
 
 echo $ac_n "checking for ino_t""... $ac_c" 1>&6
-echo "configure:3163: checking for ino_t" >&5
+echo "configure:3165: checking for ino_t" >&5
 if eval "test \"`echo '$''{'ac_cv_type_ino_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 3168 "configure"
+#line 3170 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #if STDC_HEADERS
@@ -3192,12 +3194,12 @@ EOF
 fi
 
 echo $ac_n "checking for loff_t""... $ac_c" 1>&6
-echo "configure:3196: checking for loff_t" >&5
+echo "configure:3198: checking for loff_t" >&5
 if eval "test \"`echo '$''{'ac_cv_type_loff_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 3201 "configure"
+#line 3203 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #if STDC_HEADERS
@@ -3225,12 +3227,12 @@ EOF
 fi
 
 echo $ac_n "checking for offset_t""... $ac_c" 1>&6
-echo "configure:3229: checking for offset_t" >&5
+echo "configure:3231: checking for offset_t" >&5
 if eval "test \"`echo '$''{'ac_cv_type_offset_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 3234 "configure"
+#line 3236 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #if STDC_HEADERS
@@ -3258,12 +3260,12 @@ EOF
 fi
 
 echo $ac_n "checking for ssize_t""... $ac_c" 1>&6
-echo "configure:3262: checking for ssize_t" >&5
+echo "configure:3264: checking for ssize_t" >&5
 if eval "test \"`echo '$''{'ac_cv_type_ssize_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 3267 "configure"
+#line 3269 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #if STDC_HEADERS
@@ -3291,12 +3293,12 @@ EOF
 fi
 
 echo $ac_n "checking for wchar_t""... $ac_c" 1>&6
-echo "configure:3295: checking for wchar_t" >&5
+echo "configure:3297: checking for wchar_t" >&5
 if eval "test \"`echo '$''{'ac_cv_type_wchar_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 3300 "configure"
+#line 3302 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #if STDC_HEADERS
@@ -3328,7 +3330,7 @@ fi
 # for cups support we need libcups, and a handful of header files
 
 echo $ac_n "checking for httpConnect in -lcups""... $ac_c" 1>&6
-echo "configure:3332: checking for httpConnect in -lcups" >&5
+echo "configure:3334: checking for httpConnect in -lcups" >&5
 ac_lib_var=`echo cups'_'httpConnect | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -3336,7 +3338,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lcups  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3340 "configure"
+#line 3342 "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
@@ -3347,7 +3349,7 @@ int main() {
 httpConnect()
 ; return 0; }
 EOF
-if { (eval echo configure:3351: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3353: \"$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
@@ -3382,17 +3384,17 @@ if test x"$ac_cv_lib_cups_httpConnect" = x"yes"; then
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:3386: checking for $ac_hdr" >&5
+echo "configure:3388: 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 3391 "configure"
+#line 3393 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3396: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3398: \"$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*
@@ -3431,7 +3433,7 @@ fi
 ############################################
 # we need libdl for PAM and the new VFS code
 echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6
-echo "configure:3435: checking for dlopen in -ldl" >&5
+echo "configure:3437: checking for dlopen in -ldl" >&5
 ac_lib_var=`echo dl'_'dlopen | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -3439,7 +3441,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-ldl  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 3443 "configure"
+#line 3445 "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
@@ -3450,7 +3452,7 @@ int main() {
 dlopen()
 ; return 0; }
 EOF
-if { (eval echo configure:3454: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3456: \"$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
@@ -3479,13 +3481,13 @@ fi
 ############################################
 # check if the compiler can do immediate structures
 echo $ac_n "checking for immediate structures""... $ac_c" 1>&6
-echo "configure:3483: checking for immediate structures" >&5
+echo "configure:3485: checking for immediate structures" >&5
 if eval "test \"`echo '$''{'samba_cv_immediate_structures'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
     cat > conftest.$ac_ext <<EOF
-#line 3489 "configure"
+#line 3491 "configure"
 #include "confdefs.h"
 
 #include <stdio.h>
@@ -3497,7 +3499,7 @@ int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:3501: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3503: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   samba_cv_immediate_structures=yes
 else
@@ -3520,13 +3522,13 @@ fi
 ############################################
 # check for unix domain sockets
 echo $ac_n "checking for unix domain sockets""... $ac_c" 1>&6
-echo "configure:3524: checking for unix domain sockets" >&5
+echo "configure:3526: checking for unix domain sockets" >&5
 if eval "test \"`echo '$''{'samba_cv_unixsocket'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
     cat > conftest.$ac_ext <<EOF
-#line 3530 "configure"
+#line 3532 "configure"
 #include "confdefs.h"
 
 #include <sys/types.h>
@@ -3541,7 +3543,7 @@ int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:3545: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3547: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   samba_cv_unixsocket=yes
 else
@@ -3563,13 +3565,13 @@ fi
 
 
 echo $ac_n "checking for socklen_t type""... $ac_c" 1>&6
-echo "configure:3567: checking for socklen_t type" >&5
+echo "configure:3569: checking for socklen_t type" >&5
 if eval "test \"`echo '$''{'samba_cv_socklen_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
     cat > conftest.$ac_ext <<EOF
-#line 3573 "configure"
+#line 3575 "configure"
 #include "confdefs.h"
 
 #include <sys/types.h>
@@ -3582,7 +3584,7 @@ int main() {
 socklen_t i = 0
 ; return 0; }
 EOF
-if { (eval echo configure:3586: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3588: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   samba_cv_socklen_t=yes
 else
@@ -3603,13 +3605,13 @@ EOF
 fi
 
 echo $ac_n "checking for sig_atomic_t type""... $ac_c" 1>&6
-echo "configure:3607: checking for sig_atomic_t type" >&5
+echo "configure:3609: checking for sig_atomic_t type" >&5
 if eval "test \"`echo '$''{'samba_cv_sig_atomic_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
     cat > conftest.$ac_ext <<EOF
-#line 3613 "configure"
+#line 3615 "configure"
 #include "confdefs.h"
 
 #include <sys/types.h>
@@ -3622,7 +3624,7 @@ int main() {
 sig_atomic_t i = 0
 ; return 0; }
 EOF
-if { (eval echo configure:3626: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3628: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   samba_cv_sig_atomic_t=yes
 else
@@ -3645,20 +3647,20 @@ fi
 # stupid headers have the functions but no declaration. grrrr.
 
  echo $ac_n "checking for errno declaration""... $ac_c" 1>&6
-echo "configure:3649: checking for errno declaration" >&5
+echo "configure:3651: checking for errno declaration" >&5
 if eval "test \"`echo '$''{'ac_cv_have_errno_decl'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
     cat > conftest.$ac_ext <<EOF
-#line 3655 "configure"
+#line 3657 "configure"
 #include "confdefs.h"
 #include <errno.h>
 int main() {
 int i = (int)errno
 ; return 0; }
 EOF
-if { (eval echo configure:3662: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3664: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_have_errno_decl=yes
 else
@@ -3680,20 +3682,20 @@ EOF
 
 
  echo $ac_n "checking for setresuid declaration""... $ac_c" 1>&6
-echo "configure:3684: checking for setresuid declaration" >&5
+echo "configure:3686: checking for setresuid declaration" >&5
 if eval "test \"`echo '$''{'ac_cv_have_setresuid_decl'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
     cat > conftest.$ac_ext <<EOF
-#line 3690 "configure"
+#line 3692 "configure"
 #include "confdefs.h"
 #include <unistd.h>
 int main() {
 int i = (int)setresuid
 ; return 0; }
 EOF
-if { (eval echo configure:3697: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3699: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_have_setresuid_decl=yes
 else
@@ -3715,20 +3717,20 @@ EOF
 
 
  echo $ac_n "checking for setresgid declaration""... $ac_c" 1>&6
-echo "configure:3719: checking for setresgid declaration" >&5
+echo "configure:3721: checking for setresgid declaration" >&5
 if eval "test \"`echo '$''{'ac_cv_have_setresgid_decl'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
     cat > conftest.$ac_ext <<EOF
-#line 3725 "configure"
+#line 3727 "configure"
 #include "confdefs.h"
 #include <unistd.h>
 int main() {
 int i = (int)setresgid
 ; return 0; }
 EOF
-if { (eval echo configure:3732: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3734: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_have_setresgid_decl=yes
 else
@@ -3750,20 +3752,20 @@ EOF
 
 
  echo $ac_n "checking for asprintf declaration""... $ac_c" 1>&6
-echo "configure:3754: checking for asprintf declaration" >&5
+echo "configure:3756: checking for asprintf declaration" >&5
 if eval "test \"`echo '$''{'ac_cv_have_asprintf_decl'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
     cat > conftest.$ac_ext <<EOF
-#line 3760 "configure"
+#line 3762 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 int main() {
 int i = (int)asprintf
 ; return 0; }
 EOF
-if { (eval echo configure:3767: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3769: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_have_asprintf_decl=yes
 else
@@ -3785,20 +3787,20 @@ EOF
 
 
  echo $ac_n "checking for vasprintf declaration""... $ac_c" 1>&6
-echo "configure:3789: checking for vasprintf declaration" >&5
+echo "configure:3791: checking for vasprintf declaration" >&5
 if eval "test \"`echo '$''{'ac_cv_have_vasprintf_decl'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
     cat > conftest.$ac_ext <<EOF
-#line 3795 "configure"
+#line 3797 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 int main() {
 int i = (int)vasprintf
 ; return 0; }
 EOF
-if { (eval echo configure:3802: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3804: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_have_vasprintf_decl=yes
 else
@@ -3820,20 +3822,20 @@ EOF
 
 
  echo $ac_n "checking for vsnprintf declaration""... $ac_c" 1>&6
-echo "configure:3824: checking for vsnprintf declaration" >&5
+echo "configure:3826: checking for vsnprintf declaration" >&5
 if eval "test \"`echo '$''{'ac_cv_have_vsnprintf_decl'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
     cat > conftest.$ac_ext <<EOF
-#line 3830 "configure"
+#line 3832 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 int main() {
 int i = (int)vsnprintf
 ; return 0; }
 EOF
-if { (eval echo configure:3837: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3839: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_have_vsnprintf_decl=yes
 else
@@ -3855,20 +3857,20 @@ EOF
 
 
  echo $ac_n "checking for snprintf declaration""... $ac_c" 1>&6
-echo "configure:3859: checking for snprintf declaration" >&5
+echo "configure:3861: checking for snprintf declaration" >&5
 if eval "test \"`echo '$''{'ac_cv_have_snprintf_decl'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
     cat > conftest.$ac_ext <<EOF
-#line 3865 "configure"
+#line 3867 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 int main() {
 int i = (int)snprintf
 ; return 0; }
 EOF
-if { (eval echo configure:3872: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3874: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_have_snprintf_decl=yes
 else
@@ -3892,7 +3894,7 @@ EOF
 # and glibc has setresuid under linux but the function does
 # nothing until kernel 2.1.44! very dumb.
 echo $ac_n "checking for real setresuid""... $ac_c" 1>&6
-echo "configure:3896: checking for real setresuid" >&5
+echo "configure:3898: checking for real setresuid" >&5
 if eval "test \"`echo '$''{'samba_cv_have_setresuid'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3901,12 +3903,12 @@ else
   samba_cv_have_setresuid=cross
 else
   cat > conftest.$ac_ext <<EOF
-#line 3905 "configure"
+#line 3907 "configure"
 #include "confdefs.h"
 #include <errno.h>
 main() { setresuid(1,1,1); setresuid(2,2,2); exit(errno==EPERM?0:1);}
 EOF
-if { (eval echo configure:3910: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:3912: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   samba_cv_have_setresuid=yes
 else
@@ -3931,7 +3933,7 @@ fi
 # Do the same check for setresguid...
 #
 echo $ac_n "checking for real setresgid""... $ac_c" 1>&6
-echo "configure:3935: checking for real setresgid" >&5
+echo "configure:3937: checking for real setresgid" >&5
 if eval "test \"`echo '$''{'samba_cv_have_setresgid'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3940,13 +3942,13 @@ else
   samba_cv_have_setresgid=cross
 else
   cat > conftest.$ac_ext <<EOF
-#line 3944 "configure"
+#line 3946 "configure"
 #include "confdefs.h"
 #include <unistd.h>
 #include <errno.h>
 main() { errno = 0; setresgid(1,1,1); exit(errno != 0 ? (errno==EPERM ? 0 : 1) : 0);}
 EOF
-if { (eval echo configure:3950: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:3952: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   samba_cv_have_setresgid=yes
 else
@@ -3969,7 +3971,7 @@ EOF
 fi
 
 echo $ac_n "checking for 8-bit clean memcmp""... $ac_c" 1>&6
-echo "configure:3973: checking for 8-bit clean memcmp" >&5
+echo "configure:3975: checking for 8-bit clean memcmp" >&5
 if eval "test \"`echo '$''{'ac_cv_func_memcmp_clean'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3977,7 +3979,7 @@ else
   ac_cv_func_memcmp_clean=no
 else
   cat > conftest.$ac_ext <<EOF
-#line 3981 "configure"
+#line 3983 "configure"
 #include "confdefs.h"
 
 main()
@@ -3987,7 +3989,7 @@ main()
 }
 
 EOF
-if { (eval echo configure:3991: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:3993: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   ac_cv_func_memcmp_clean=yes
 else
@@ -4010,12 +4012,12 @@ test $ac_cv_func_memcmp_clean = no && LIBOBJS="$LIBOBJS memcmp.${ac_objext}"
 for ac_func in crypt
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:4014: checking for $ac_func" >&5
+echo "configure:4016: 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 4019 "configure"
+#line 4021 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -4038,7 +4040,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:4042: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4044: \"$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
@@ -4064,7 +4066,7 @@ done
 
 if test x"$ac_cv_func_crypt" = x"no"; then
     echo $ac_n "checking for crypt in -lcrypt""... $ac_c" 1>&6
-echo "configure:4068: checking for crypt in -lcrypt" >&5
+echo "configure:4070: 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
@@ -4072,7 +4074,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lcrypt  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 4076 "configure"
+#line 4078 "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
@@ -4083,7 +4085,7 @@ int main() {
 crypt()
 ; return 0; }
 EOF
-if { (eval echo configure:4087: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4089: \"$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
@@ -4116,7 +4118,7 @@ test "${with_readline+set}" != "set" && with_readline=yes
 
 # test for where we get readline() from
 echo $ac_n "checking whether to use readline""... $ac_c" 1>&6
-echo "configure:4120: checking whether to use readline" >&5
+echo "configure:4122: checking whether to use readline" >&5
 # Check whether --with-readline or --without-readline was given.
 if test "${with_readline+set}" = set; then
   withval="$with_readline"
@@ -4128,17 +4130,17 @@ if test "${with_readline+set}" = set; then
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:4132: checking for $ac_hdr" >&5
+echo "configure:4134: 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 4137 "configure"
+#line 4139 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4142: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:4144: \"$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*
@@ -4168,17 +4170,17 @@ done
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:4172: checking for $ac_hdr" >&5
+echo "configure:4174: 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 4177 "configure"
+#line 4179 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4182: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:4184: \"$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*
@@ -4209,17 +4211,17 @@ done
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:4213: checking for $ac_hdr" >&5
+echo "configure:4215: 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 4218 "configure"
+#line 4220 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4223: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:4225: \"$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*
@@ -4242,7 +4244,7 @@ EOF
  
       for termlib in ncurses curses termcap terminfo termlib; do
        echo $ac_n "checking for tgetent in -l${termlib}""... $ac_c" 1>&6
-echo "configure:4246: checking for tgetent in -l${termlib}" >&5
+echo "configure:4248: checking for tgetent in -l${termlib}" >&5
 ac_lib_var=`echo ${termlib}'_'tgetent | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -4250,7 +4252,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-l${termlib}  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 4254 "configure"
+#line 4256 "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
@@ -4261,7 +4263,7 @@ int main() {
 tgetent()
 ; return 0; }
 EOF
-if { (eval echo configure:4265: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4267: \"$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
@@ -4283,7 +4285,7 @@ fi
 
       done
       echo $ac_n "checking for rl_callback_handler_install in -lreadline""... $ac_c" 1>&6
-echo "configure:4287: checking for rl_callback_handler_install in -lreadline" >&5
+echo "configure:4289: checking for rl_callback_handler_install in -lreadline" >&5
 ac_lib_var=`echo readline'_'rl_callback_handler_install | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -4291,7 +4293,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lreadline $TERMLIBS $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 4295 "configure"
+#line 4297 "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
@@ -4302,7 +4304,7 @@ int main() {
 rl_callback_handler_install()
 ; return 0; }
 EOF
-if { (eval echo configure:4306: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4308: \"$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
@@ -4353,17 +4355,17 @@ done
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:4357: checking for $ac_hdr" >&5
+echo "configure:4359: 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 4362 "configure"
+#line 4364 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4367: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:4369: \"$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*
@@ -4393,17 +4395,17 @@ done
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:4397: checking for $ac_hdr" >&5
+echo "configure:4399: 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 4402 "configure"
+#line 4404 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4407: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:4409: \"$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*
@@ -4434,17 +4436,17 @@ done
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:4438: checking for $ac_hdr" >&5
+echo "configure:4440: 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 4443 "configure"
+#line 4445 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4448: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:4450: \"$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*
@@ -4467,7 +4469,7 @@ EOF
  
       for termlib in ncurses curses termcap terminfo termlib; do
        echo $ac_n "checking for tgetent in -l${termlib}""... $ac_c" 1>&6
-echo "configure:4471: checking for tgetent in -l${termlib}" >&5
+echo "configure:4473: checking for tgetent in -l${termlib}" >&5
 ac_lib_var=`echo ${termlib}'_'tgetent | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -4475,7 +4477,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-l${termlib}  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 4479 "configure"
+#line 4481 "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
@@ -4486,7 +4488,7 @@ int main() {
 tgetent()
 ; return 0; }
 EOF
-if { (eval echo configure:4490: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4492: \"$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
@@ -4508,7 +4510,7 @@ fi
 
       done
       echo $ac_n "checking for rl_callback_handler_install in -lreadline""... $ac_c" 1>&6
-echo "configure:4512: checking for rl_callback_handler_install in -lreadline" >&5
+echo "configure:4514: checking for rl_callback_handler_install in -lreadline" >&5
 ac_lib_var=`echo readline'_'rl_callback_handler_install | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -4516,7 +4518,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lreadline $TERMLIBS $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 4520 "configure"
+#line 4522 "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
@@ -4527,7 +4529,7 @@ int main() {
 rl_callback_handler_install()
 ; return 0; }
 EOF
-if { (eval echo configure:4531: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4533: \"$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
@@ -4582,12 +4584,12 @@ fi
 for ac_func in connect
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:4586: checking for $ac_func" >&5
+echo "configure:4588: 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 4591 "configure"
+#line 4593 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -4610,7 +4612,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:4614: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4616: \"$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
@@ -4638,7 +4640,7 @@ if test x"$ac_cv_func_connect" = x"no"; then
     case "$LIBS" in
     *-lnsl*) ;;
     *) echo $ac_n "checking for printf in -lnsl_s""... $ac_c" 1>&6
-echo "configure:4642: checking for printf in -lnsl_s" >&5
+echo "configure:4644: checking for printf in -lnsl_s" >&5
 ac_lib_var=`echo nsl_s'_'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
@@ -4646,7 +4648,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lnsl_s  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 4650 "configure"
+#line 4652 "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
@@ -4657,7 +4659,7 @@ int main() {
 printf()
 ; return 0; }
 EOF
-if { (eval echo configure:4661: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4663: \"$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
@@ -4688,7 +4690,7 @@ fi
     case "$LIBS" in
     *-lnsl*) ;;
     *) echo $ac_n "checking for printf in -lnsl""... $ac_c" 1>&6
-echo "configure:4692: checking for printf in -lnsl" >&5
+echo "configure:4694: checking for printf in -lnsl" >&5
 ac_lib_var=`echo nsl'_'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
@@ -4696,7 +4698,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lnsl  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 4700 "configure"
+#line 4702 "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
@@ -4707,7 +4709,7 @@ int main() {
 printf()
 ; return 0; }
 EOF
-if { (eval echo configure:4711: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4713: \"$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
@@ -4738,7 +4740,7 @@ fi
     case "$LIBS" in
     *-lsocket*) ;;
     *) echo $ac_n "checking for connect in -lsocket""... $ac_c" 1>&6
-echo "configure:4742: checking for connect in -lsocket" >&5
+echo "configure:4744: checking for connect in -lsocket" >&5
 ac_lib_var=`echo socket'_'connect | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -4746,7 +4748,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lsocket  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 4750 "configure"
+#line 4752 "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
@@ -4757,7 +4759,7 @@ int main() {
 connect()
 ; return 0; }
 EOF
-if { (eval echo configure:4761: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4763: \"$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
@@ -4788,7 +4790,7 @@ fi
     case "$LIBS" in
     *-linet*) ;;
     *) echo $ac_n "checking for connect in -linet""... $ac_c" 1>&6
-echo "configure:4792: checking for connect in -linet" >&5
+echo "configure:4794: checking for connect in -linet" >&5
 ac_lib_var=`echo inet'_'connect | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -4796,7 +4798,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-linet  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 4800 "configure"
+#line 4802 "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
@@ -4807,7 +4809,7 @@ int main() {
 connect()
 ; return 0; }
 EOF
-if { (eval echo configure:4811: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4813: \"$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
@@ -4851,12 +4853,12 @@ fi
 for ac_func in yp_get_default_domain
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:4855: checking for $ac_func" >&5
+echo "configure:4857: 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 4860 "configure"
+#line 4862 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -4879,7 +4881,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:4883: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4885: \"$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
@@ -4905,7 +4907,7 @@ done
 
 if test x"$ac_cv_func_yp_get_default_domain" = x"no"; then
        echo $ac_n "checking for yp_get_default_domain in -lnsl""... $ac_c" 1>&6
-echo "configure:4909: checking for yp_get_default_domain in -lnsl" >&5
+echo "configure:4911: checking for yp_get_default_domain in -lnsl" >&5
 ac_lib_var=`echo nsl'_'yp_get_default_domain | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -4913,7 +4915,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lnsl  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 4917 "configure"
+#line 4919 "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
@@ -4924,7 +4926,7 @@ int main() {
 yp_get_default_domain()
 ; return 0; }
 EOF
-if { (eval echo configure:4928: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4930: \"$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
@@ -4954,12 +4956,12 @@ fi
 for ac_func in execl
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:4958: checking for $ac_func" >&5
+echo "configure:4960: 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 4963 "configure"
+#line 4965 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -4982,7 +4984,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:4986: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4988: \"$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
@@ -5015,12 +5017,12 @@ fi
 for ac_func in waitpid getcwd strdup strtoul strerror chown fchown chmod fchmod chroot
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:5019: checking for $ac_func" >&5
+echo "configure:5021: 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 5024 "configure"
+#line 5026 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -5043,7 +5045,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:5047: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5049: \"$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
@@ -5070,12 +5072,12 @@ done
 for ac_func in fstat strchr utime utimes getrlimit fsync bzero memset
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:5074: checking for $ac_func" >&5
+echo "configure:5076: 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 5079 "configure"
+#line 5081 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -5098,7 +5100,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:5102: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5104: \"$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
@@ -5125,12 +5127,12 @@ done
 for ac_func in memmove vsnprintf snprintf asprintf vasprintf setsid glob strpbrk pipe crypt16 getauthuid
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:5129: checking for $ac_func" >&5
+echo "configure:5131: 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 5134 "configure"
+#line 5136 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -5153,7 +5155,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:5157: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5159: \"$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
@@ -5180,12 +5182,12 @@ done
 for ac_func in strftime sigprocmask sigblock sigaction innetgr setnetgrent getnetgrent endnetgrent
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:5184: checking for $ac_func" >&5
+echo "configure:5186: 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 5189 "configure"
+#line 5191 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -5208,7 +5210,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:5212: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5214: \"$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
@@ -5235,12 +5237,12 @@ done
 for ac_func in initgroups select poll rdchk getgrnam getgrent pathconf
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:5239: checking for $ac_func" >&5
+echo "configure:5241: 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 5244 "configure"
+#line 5246 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -5263,7 +5265,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:5267: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5269: \"$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
@@ -5290,12 +5292,12 @@ done
 for ac_func in setpriv setgidx setuidx setgroups sysconf mktime rename ftruncate stat64 fstat64
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:5294: checking for $ac_func" >&5
+echo "configure:5296: 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 5299 "configure"
+#line 5301 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -5318,7 +5320,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:5322: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5324: \"$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
@@ -5345,12 +5347,12 @@ done
 for ac_func in lstat64 fopen64 atexit grantpt dup2 lseek64 ftruncate64 readdir64
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:5349: checking for $ac_func" >&5
+echo "configure:5351: 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 5354 "configure"
+#line 5356 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -5373,7 +5375,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:5377: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5379: \"$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
@@ -5400,12 +5402,12 @@ done
 for ac_func in fseek64 fseeko64 ftell64 ftello64 setluid getpwanam setlinebuf
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:5404: checking for $ac_func" >&5
+echo "configure:5406: 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 5409 "configure"
+#line 5411 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -5428,7 +5430,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:5432: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5434: \"$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
@@ -5455,12 +5457,12 @@ done
 for ac_func in srandom random srand rand setenv usleep strcasecmp fcvt fcvtl symlink readlink
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:5459: checking for $ac_func" >&5
+echo "configure:5461: 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 5464 "configure"
+#line 5466 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -5483,7 +5485,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:5487: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5489: \"$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
@@ -5511,12 +5513,12 @@ done
 for ac_func in setbuffer
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:5515: checking for $ac_func" >&5
+echo "configure:5517: 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 5520 "configure"
+#line 5522 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -5539,7 +5541,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:5543: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5545: \"$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
@@ -5568,12 +5570,12 @@ done
 for ac_func in syscall
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:5572: checking for $ac_func" >&5
+echo "configure:5574: 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 5577 "configure"
+#line 5579 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -5596,7 +5598,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:5600: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5602: \"$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
@@ -5624,12 +5626,12 @@ done
 for ac_func in _dup _dup2 _opendir _readdir _seekdir _telldir _closedir
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:5628: checking for $ac_func" >&5
+echo "configure:5630: 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 5633 "configure"
+#line 5635 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -5652,7 +5654,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:5656: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5658: \"$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
@@ -5679,12 +5681,12 @@ done
 for ac_func in __dup __dup2 __opendir __readdir __seekdir __telldir __closedir
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:5683: checking for $ac_func" >&5
+echo "configure:5685: 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 5688 "configure"
+#line 5690 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -5707,7 +5709,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:5711: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5713: \"$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
@@ -5734,12 +5736,12 @@ done
 for ac_func in __getcwd _getcwd
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:5738: checking for $ac_func" >&5
+echo "configure:5740: 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 5743 "configure"
+#line 5745 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -5762,7 +5764,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:5766: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5768: \"$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
@@ -5789,12 +5791,12 @@ done
 for ac_func in __xstat __fxstat __lxstat
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:5793: checking for $ac_func" >&5
+echo "configure:5795: 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 5798 "configure"
+#line 5800 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -5817,7 +5819,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:5821: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5823: \"$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
@@ -5844,12 +5846,12 @@ done
 for ac_func in _stat _lstat _fstat __stat __lstat __fstat
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:5848: checking for $ac_func" >&5
+echo "configure:5850: 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 5853 "configure"
+#line 5855 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -5872,7 +5874,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:5876: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5878: \"$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
@@ -5899,12 +5901,12 @@ done
 for ac_func in _acl __acl _facl __facl _open __open _chdir __chdir
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:5903: checking for $ac_func" >&5
+echo "configure:5905: 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 5908 "configure"
+#line 5910 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -5927,7 +5929,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:5931: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5933: \"$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
@@ -5954,12 +5956,12 @@ done
 for ac_func in _close __close _fchdir __fchdir _fcntl __fcntl
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:5958: checking for $ac_func" >&5
+echo "configure:5960: 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 5963 "configure"
+#line 5965 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -5982,7 +5984,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:5986: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5988: \"$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
@@ -6009,12 +6011,12 @@ done
 for ac_func in getdents _getdents __getdents _lseek __lseek _read __read
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6013: checking for $ac_func" >&5
+echo "configure:6015: 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 6018 "configure"
+#line 6020 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -6037,7 +6039,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:6041: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6043: \"$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
@@ -6064,12 +6066,12 @@ done
 for ac_func in _write __write _fork __fork
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6068: checking for $ac_func" >&5
+echo "configure:6070: 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 6073 "configure"
+#line 6075 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -6092,7 +6094,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:6096: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6098: \"$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
@@ -6119,12 +6121,12 @@ done
 for ac_func in _stat64 __stat64 _fstat64 __fstat64 _lstat64 __lstat64
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6123: checking for $ac_func" >&5
+echo "configure:6125: 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 6128 "configure"
+#line 6130 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -6147,7 +6149,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:6151: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6153: \"$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
@@ -6174,12 +6176,12 @@ done
 for ac_func in __sys_llseek llseek _llseek __llseek readdir64 _readdir64 __readdir64
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6178: checking for $ac_func" >&5
+echo "configure:6180: 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 6183 "configure"
+#line 6185 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -6202,7 +6204,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:6206: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6208: \"$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
@@ -6229,12 +6231,12 @@ done
 for ac_func in pread _pread __pread pread64 _pread64 __pread64
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6233: checking for $ac_func" >&5
+echo "configure:6235: 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 6238 "configure"
+#line 6240 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -6257,7 +6259,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:6261: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6263: \"$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
@@ -6284,12 +6286,12 @@ done
 for ac_func in pwrite _pwrite __pwrite pwrite64 _pwrite64 __pwrite64
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6288: checking for $ac_func" >&5
+echo "configure:6290: 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 6293 "configure"
+#line 6295 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -6312,7 +6314,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:6316: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6318: \"$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
@@ -6339,12 +6341,12 @@ done
 for ac_func in open64 _open64 __open64 creat64
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6343: checking for $ac_func" >&5
+echo "configure:6345: 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 6348 "configure"
+#line 6350 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -6367,7 +6369,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:6371: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6373: \"$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
@@ -6398,9 +6400,9 @@ done
 
 if test x$ac_cv_func_stat64 = xno ; then
   echo $ac_n "checking for stat64 in <sys/stat.h>""... $ac_c" 1>&6
-echo "configure:6402: checking for stat64 in <sys/stat.h>" >&5
+echo "configure:6404: checking for stat64 in <sys/stat.h>" >&5
   cat > conftest.$ac_ext <<EOF
-#line 6404 "configure"
+#line 6406 "configure"
 #include "confdefs.h"
 
 #if defined(HAVE_UNISTD_H)
@@ -6412,7 +6414,7 @@ int main() {
 struct stat64 st64; exit(stat64(".",&st64));
 ; return 0; }
 EOF
-if { (eval echo configure:6416: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6418: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   ac_cv_func_stat64=yes
 else
@@ -6431,9 +6433,9 @@ fi
 
 if test x$ac_cv_func_lstat64 = xno ; then
   echo $ac_n "checking for lstat64 in <sys/stat.h>""... $ac_c" 1>&6
-echo "configure:6435: checking for lstat64 in <sys/stat.h>" >&5
+echo "configure:6437: checking for lstat64 in <sys/stat.h>" >&5
   cat > conftest.$ac_ext <<EOF
-#line 6437 "configure"
+#line 6439 "configure"
 #include "confdefs.h"
 
 #if defined(HAVE_UNISTD_H)
@@ -6445,7 +6447,7 @@ int main() {
 struct stat64 st64; exit(lstat64(".",&st64));
 ; return 0; }
 EOF
-if { (eval echo configure:6449: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6451: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   ac_cv_func_lstat64=yes
 else
@@ -6464,9 +6466,9 @@ fi
 
 if test x$ac_cv_func_fstat64 = xno ; then
   echo $ac_n "checking for fstat64 in <sys/stat.h>""... $ac_c" 1>&6
-echo "configure:6468: checking for fstat64 in <sys/stat.h>" >&5
+echo "configure:6470: checking for fstat64 in <sys/stat.h>" >&5
   cat > conftest.$ac_ext <<EOF
-#line 6470 "configure"
+#line 6472 "configure"
 #include "confdefs.h"
 
 #if defined(HAVE_UNISTD_H)
@@ -6478,7 +6480,7 @@ int main() {
 struct stat64 st64; exit(fstat64(0,&st64));
 ; return 0; }
 EOF
-if { (eval echo configure:6482: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6484: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   ac_cv_func_fstat64=yes
 else
@@ -6503,7 +6505,7 @@ fi
 
 if test x$ac_cv_func_strcasecmp = xno ; then
        echo $ac_n "checking for strcasecmp in -lresolv""... $ac_c" 1>&6
-echo "configure:6507: checking for strcasecmp in -lresolv" >&5
+echo "configure:6509: checking for strcasecmp in -lresolv" >&5
 ac_lib_var=`echo resolv'_'strcasecmp | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -6511,7 +6513,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lresolv  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 6515 "configure"
+#line 6517 "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
@@ -6522,7 +6524,7 @@ int main() {
 strcasecmp()
 ; return 0; }
 EOF
-if { (eval echo configure:6526: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6528: \"$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
@@ -6558,12 +6560,12 @@ case "$LIBS" in
   *-lsecurity*) for ac_func in putprpwnam
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6562: checking for $ac_func" >&5
+echo "configure:6564: 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 6567 "configure"
+#line 6569 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -6586,7 +6588,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:6590: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6592: \"$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
@@ -6611,7 +6613,7 @@ fi
 done
  ;;
   *) echo $ac_n "checking for putprpwnam in -lsecurity""... $ac_c" 1>&6
-echo "configure:6615: checking for putprpwnam in -lsecurity" >&5
+echo "configure:6617: checking for putprpwnam in -lsecurity" >&5
 ac_lib_var=`echo security'_'putprpwnam | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -6619,7 +6621,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lsecurity  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 6623 "configure"
+#line 6625 "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
@@ -6630,7 +6632,7 @@ int main() {
 putprpwnam()
 ; return 0; }
 EOF
-if { (eval echo configure:6634: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6636: \"$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
@@ -6660,12 +6662,12 @@ fi
      for ac_func in putprpwnam
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6664: checking for $ac_func" >&5
+echo "configure:6666: 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 6669 "configure"
+#line 6671 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -6688,7 +6690,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:6692: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6694: \"$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
@@ -6719,12 +6721,12 @@ case "$LIBS" in
   *-lsec*) for ac_func in putprpwnam
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6723: checking for $ac_func" >&5
+echo "configure:6725: 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 6728 "configure"
+#line 6730 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -6747,7 +6749,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:6751: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6753: \"$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
@@ -6772,7 +6774,7 @@ fi
 done
  ;;
   *) echo $ac_n "checking for putprpwnam in -lsec""... $ac_c" 1>&6
-echo "configure:6776: checking for putprpwnam in -lsec" >&5
+echo "configure:6778: checking for putprpwnam in -lsec" >&5
 ac_lib_var=`echo sec'_'putprpwnam | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -6780,7 +6782,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lsec  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 6784 "configure"
+#line 6786 "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
@@ -6791,7 +6793,7 @@ int main() {
 putprpwnam()
 ; return 0; }
 EOF
-if { (eval echo configure:6795: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6797: \"$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
@@ -6821,12 +6823,12 @@ fi
      for ac_func in putprpwnam
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6825: checking for $ac_func" >&5
+echo "configure:6827: 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 6830 "configure"
+#line 6832 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -6849,7 +6851,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:6853: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6855: \"$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
@@ -6881,12 +6883,12 @@ case "$LIBS" in
   *-lsecurity*) for ac_func in set_auth_parameters
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6885: checking for $ac_func" >&5
+echo "configure:6887: 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 6890 "configure"
+#line 6892 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -6909,7 +6911,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:6913: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6915: \"$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
@@ -6934,7 +6936,7 @@ fi
 done
  ;;
   *) echo $ac_n "checking for set_auth_parameters in -lsecurity""... $ac_c" 1>&6
-echo "configure:6938: checking for set_auth_parameters in -lsecurity" >&5
+echo "configure:6940: checking for set_auth_parameters in -lsecurity" >&5
 ac_lib_var=`echo security'_'set_auth_parameters | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -6942,7 +6944,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lsecurity  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 6946 "configure"
+#line 6948 "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
@@ -6953,7 +6955,7 @@ int main() {
 set_auth_parameters()
 ; return 0; }
 EOF
-if { (eval echo configure:6957: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6959: \"$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
@@ -6983,12 +6985,12 @@ fi
      for ac_func in set_auth_parameters
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6987: checking for $ac_func" >&5
+echo "configure:6989: 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 6992 "configure"
+#line 6994 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -7011,7 +7013,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:7015: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7017: \"$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
@@ -7042,12 +7044,12 @@ case "$LIBS" in
   *-lsec*) for ac_func in set_auth_parameters
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:7046: checking for $ac_func" >&5
+echo "configure:7048: 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 7051 "configure"
+#line 7053 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -7070,7 +7072,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:7074: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7076: \"$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
@@ -7095,7 +7097,7 @@ fi
 done
  ;;
   *) echo $ac_n "checking for set_auth_parameters in -lsec""... $ac_c" 1>&6
-echo "configure:7099: checking for set_auth_parameters in -lsec" >&5
+echo "configure:7101: checking for set_auth_parameters in -lsec" >&5
 ac_lib_var=`echo sec'_'set_auth_parameters | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -7103,7 +7105,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lsec  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 7107 "configure"
+#line 7109 "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
@@ -7114,7 +7116,7 @@ int main() {
 set_auth_parameters()
 ; return 0; }
 EOF
-if { (eval echo configure:7118: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7120: \"$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
@@ -7144,12 +7146,12 @@ fi
      for ac_func in set_auth_parameters
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:7148: checking for $ac_func" >&5
+echo "configure:7150: 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 7153 "configure"
+#line 7155 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -7172,7 +7174,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:7176: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7178: \"$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
@@ -7205,12 +7207,12 @@ case "$LIBS" in
   *-lgen*) for ac_func in getspnam
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:7209: checking for $ac_func" >&5
+echo "configure:7211: 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 7214 "configure"
+#line 7216 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -7233,7 +7235,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:7237: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7239: \"$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
@@ -7258,7 +7260,7 @@ fi
 done
  ;;
   *) echo $ac_n "checking for getspnam in -lgen""... $ac_c" 1>&6
-echo "configure:7262: checking for getspnam in -lgen" >&5
+echo "configure:7264: checking for getspnam in -lgen" >&5
 ac_lib_var=`echo gen'_'getspnam | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -7266,7 +7268,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lgen  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 7270 "configure"
+#line 7272 "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
@@ -7277,7 +7279,7 @@ int main() {
 getspnam()
 ; return 0; }
 EOF
-if { (eval echo configure:7281: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7283: \"$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
@@ -7307,12 +7309,12 @@ fi
      for ac_func in getspnam
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:7311: checking for $ac_func" >&5
+echo "configure:7313: 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 7316 "configure"
+#line 7318 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -7335,7 +7337,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:7339: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7341: \"$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
@@ -7367,12 +7369,12 @@ case "$LIBS" in
   *-lsecurity*) for ac_func in getspnam
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:7371: checking for $ac_func" >&5
+echo "configure:7373: 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 7376 "configure"
+#line 7378 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -7395,7 +7397,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:7399: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7401: \"$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
@@ -7420,7 +7422,7 @@ fi
 done
  ;;
   *) echo $ac_n "checking for getspnam in -lsecurity""... $ac_c" 1>&6
-echo "configure:7424: checking for getspnam in -lsecurity" >&5
+echo "configure:7426: checking for getspnam in -lsecurity" >&5
 ac_lib_var=`echo security'_'getspnam | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -7428,7 +7430,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lsecurity  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 7432 "configure"
+#line 7434 "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
@@ -7439,7 +7441,7 @@ int main() {
 getspnam()
 ; return 0; }
 EOF
-if { (eval echo configure:7443: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7445: \"$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
@@ -7469,12 +7471,12 @@ fi
      for ac_func in getspnam
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:7473: checking for $ac_func" >&5
+echo "configure:7475: 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 7478 "configure"
+#line 7480 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -7497,7 +7499,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:7501: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7503: \"$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
@@ -7528,12 +7530,12 @@ case "$LIBS" in
   *-lsec*) for ac_func in getspnam
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:7532: checking for $ac_func" >&5
+echo "configure:7534: 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 7537 "configure"
+#line 7539 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -7556,7 +7558,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:7560: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7562: \"$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
@@ -7581,7 +7583,7 @@ fi
 done
  ;;
   *) echo $ac_n "checking for getspnam in -lsec""... $ac_c" 1>&6
-echo "configure:7585: checking for getspnam in -lsec" >&5
+echo "configure:7587: checking for getspnam in -lsec" >&5
 ac_lib_var=`echo sec'_'getspnam | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -7589,7 +7591,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lsec  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 7593 "configure"
+#line 7595 "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
@@ -7600,7 +7602,7 @@ int main() {
 getspnam()
 ; return 0; }
 EOF
-if { (eval echo configure:7604: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7606: \"$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
@@ -7630,12 +7632,12 @@ fi
      for ac_func in getspnam
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:7634: checking for $ac_func" >&5
+echo "configure:7636: 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 7639 "configure"
+#line 7641 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -7658,7 +7660,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:7662: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7664: \"$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
@@ -7690,12 +7692,12 @@ case "$LIBS" in
   *-lsecurity*) for ac_func in bigcrypt
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:7694: checking for $ac_func" >&5
+echo "configure:7696: 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 7699 "configure"
+#line 7701 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -7718,7 +7720,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:7722: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7724: \"$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
@@ -7743,7 +7745,7 @@ fi
 done
  ;;
   *) echo $ac_n "checking for bigcrypt in -lsecurity""... $ac_c" 1>&6
-echo "configure:7747: checking for bigcrypt in -lsecurity" >&5
+echo "configure:7749: checking for bigcrypt in -lsecurity" >&5
 ac_lib_var=`echo security'_'bigcrypt | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -7751,7 +7753,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lsecurity  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 7755 "configure"
+#line 7757 "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
@@ -7762,7 +7764,7 @@ int main() {
 bigcrypt()
 ; return 0; }
 EOF
-if { (eval echo configure:7766: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7768: \"$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
@@ -7792,12 +7794,12 @@ fi
      for ac_func in bigcrypt
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:7796: checking for $ac_func" >&5
+echo "configure:7798: 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 7801 "configure"
+#line 7803 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -7820,7 +7822,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:7824: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7826: \"$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
@@ -7851,12 +7853,12 @@ case "$LIBS" in
   *-lsec*) for ac_func in bigcrypt
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:7855: checking for $ac_func" >&5
+echo "configure:7857: 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 7860 "configure"
+#line 7862 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -7879,7 +7881,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:7883: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7885: \"$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
@@ -7904,7 +7906,7 @@ fi
 done
  ;;
   *) echo $ac_n "checking for bigcrypt in -lsec""... $ac_c" 1>&6
-echo "configure:7908: checking for bigcrypt in -lsec" >&5
+echo "configure:7910: checking for bigcrypt in -lsec" >&5
 ac_lib_var=`echo sec'_'bigcrypt | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -7912,7 +7914,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lsec  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 7916 "configure"
+#line 7918 "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
@@ -7923,7 +7925,7 @@ int main() {
 bigcrypt()
 ; return 0; }
 EOF
-if { (eval echo configure:7927: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7929: \"$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
@@ -7953,12 +7955,12 @@ fi
      for ac_func in bigcrypt
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:7957: checking for $ac_func" >&5
+echo "configure:7959: 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 7962 "configure"
+#line 7964 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -7981,7 +7983,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:7985: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7987: \"$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
@@ -8013,12 +8015,12 @@ case "$LIBS" in
   *-lsecurity*) for ac_func in getprpwnam
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:8017: checking for $ac_func" >&5
+echo "configure:8019: 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 8022 "configure"
+#line 8024 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -8041,7 +8043,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:8045: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8047: \"$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
@@ -8066,7 +8068,7 @@ fi
 done
  ;;
   *) echo $ac_n "checking for getprpwnam in -lsecurity""... $ac_c" 1>&6
-echo "configure:8070: checking for getprpwnam in -lsecurity" >&5
+echo "configure:8072: checking for getprpwnam in -lsecurity" >&5
 ac_lib_var=`echo security'_'getprpwnam | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -8074,7 +8076,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lsecurity  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 8078 "configure"
+#line 8080 "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
@@ -8085,7 +8087,7 @@ int main() {
 getprpwnam()
 ; return 0; }
 EOF
-if { (eval echo configure:8089: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8091: \"$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
@@ -8115,12 +8117,12 @@ fi
      for ac_func in getprpwnam
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:8119: checking for $ac_func" >&5
+echo "configure:8121: 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 8124 "configure"
+#line 8126 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -8143,7 +8145,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:8147: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8149: \"$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
@@ -8174,12 +8176,12 @@ case "$LIBS" in
   *-lsec*) for ac_func in getprpwnam
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:8178: checking for $ac_func" >&5
+echo "configure:8180: 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 8183 "configure"
+#line 8185 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -8202,7 +8204,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:8206: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8208: \"$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
@@ -8227,7 +8229,7 @@ fi
 done
  ;;
   *) echo $ac_n "checking for getprpwnam in -lsec""... $ac_c" 1>&6
-echo "configure:8231: checking for getprpwnam in -lsec" >&5
+echo "configure:8233: checking for getprpwnam in -lsec" >&5
 ac_lib_var=`echo sec'_'getprpwnam | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -8235,7 +8237,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lsec  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 8239 "configure"
+#line 8241 "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
@@ -8246,7 +8248,7 @@ int main() {
 getprpwnam()
 ; return 0; }
 EOF
-if { (eval echo configure:8250: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8252: \"$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
@@ -8276,12 +8278,12 @@ fi
      for ac_func in getprpwnam
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:8280: checking for $ac_func" >&5
+echo "configure:8282: 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 8285 "configure"
+#line 8287 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -8304,7 +8306,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:8308: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8310: \"$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
@@ -8453,7 +8455,7 @@ EOF
                *dgux*) # Extract the first word of "groff", so it can be a program name with args.
 set dummy groff; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:8457: checking for $ac_word" >&5
+echo "configure:8459: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_ROFF'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -8516,7 +8518,7 @@ fi
 ################
 
 echo $ac_n "checking for long long""... $ac_c" 1>&6
-echo "configure:8520: checking for long long" >&5
+echo "configure:8522: checking for long long" >&5
 if eval "test \"`echo '$''{'samba_cv_have_longlong'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -8525,12 +8527,12 @@ if test "$cross_compiling" = yes; then
   samba_cv_have_longlong=cross
 else
   cat > conftest.$ac_ext <<EOF
-#line 8529 "configure"
+#line 8531 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 main() { long long x = 1000000; x *= x; exit(((x/1000000) == 1000000)? 0: 1); }
 EOF
-if { (eval echo configure:8534: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:8536: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   samba_cv_have_longlong=yes
 else
@@ -8557,20 +8559,20 @@ fi
 # AIX needs this.
 
 echo $ac_n "checking for LL suffix on long long integers""... $ac_c" 1>&6
-echo "configure:8561: checking for LL suffix on long long integers" >&5
+echo "configure:8563: checking for LL suffix on long long integers" >&5
 if eval "test \"`echo '$''{'samba_cv_compiler_supports_ll'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
     cat > conftest.$ac_ext <<EOF
-#line 8567 "configure"
+#line 8569 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 int main() {
 long long i = 0x8000000000LL
 ; return 0; }
 EOF
-if { (eval echo configure:8574: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8576: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   samba_cv_compiler_supports_ll=yes
 else
@@ -8592,7 +8594,7 @@ fi
 
   
 echo $ac_n "checking for 64 bit off_t""... $ac_c" 1>&6
-echo "configure:8596: checking for 64 bit off_t" >&5
+echo "configure:8598: checking for 64 bit off_t" >&5
 if eval "test \"`echo '$''{'samba_cv_SIZEOF_OFF_T'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -8601,13 +8603,13 @@ if test "$cross_compiling" = yes; then
   samba_cv_SIZEOF_OFF_T=cross
 else
   cat > conftest.$ac_ext <<EOF
-#line 8605 "configure"
+#line 8607 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 #include <sys/stat.h>
 main() { exit((sizeof(off_t) == 8) ? 0 : 1); }
 EOF
-if { (eval echo configure:8611: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:8613: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   samba_cv_SIZEOF_OFF_T=yes
 else
@@ -8630,7 +8632,7 @@ EOF
 fi
 
 echo $ac_n "checking for off64_t""... $ac_c" 1>&6
-echo "configure:8634: checking for off64_t" >&5
+echo "configure:8636: checking for off64_t" >&5
 if eval "test \"`echo '$''{'samba_cv_HAVE_OFF64_T'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -8639,7 +8641,7 @@ if test "$cross_compiling" = yes; then
   samba_cv_HAVE_OFF64_T=cross
 else
   cat > conftest.$ac_ext <<EOF
-#line 8643 "configure"
+#line 8645 "configure"
 #include "confdefs.h"
 
 #if defined(HAVE_UNISTD_H)
@@ -8649,7 +8651,7 @@ else
 #include <sys/stat.h>
 main() { struct stat64 st; off64_t s; if (sizeof(off_t) == sizeof(off64_t)) exit(1); exit((lstat64("/dev/null", &st)==0)?0:1); }
 EOF
-if { (eval echo configure:8653: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:8655: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   samba_cv_HAVE_OFF64_T=yes
 else
@@ -8672,7 +8674,7 @@ EOF
 fi
 
 echo $ac_n "checking for 64 bit ino_t""... $ac_c" 1>&6
-echo "configure:8676: checking for 64 bit ino_t" >&5
+echo "configure:8678: checking for 64 bit ino_t" >&5
 if eval "test \"`echo '$''{'samba_cv_SIZEOF_INO_T'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -8681,13 +8683,13 @@ if test "$cross_compiling" = yes; then
   samba_cv_SIZEOF_INO_T=cross
 else
   cat > conftest.$ac_ext <<EOF
-#line 8685 "configure"
+#line 8687 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 #include <sys/stat.h>
 main() { exit((sizeof(ino_t) == 8) ? 0 : 1); }
 EOF
-if { (eval echo configure:8691: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:8693: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   samba_cv_SIZEOF_INO_T=yes
 else
@@ -8710,7 +8712,7 @@ EOF
 fi
 
 echo $ac_n "checking for ino64_t""... $ac_c" 1>&6
-echo "configure:8714: checking for ino64_t" >&5
+echo "configure:8716: checking for ino64_t" >&5
 if eval "test \"`echo '$''{'samba_cv_HAVE_INO64_T'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -8719,7 +8721,7 @@ if test "$cross_compiling" = yes; then
   samba_cv_HAVE_INO64_T=cross
 else
   cat > conftest.$ac_ext <<EOF
-#line 8723 "configure"
+#line 8725 "configure"
 #include "confdefs.h"
 
 #if defined(HAVE_UNISTD_H)
@@ -8729,7 +8731,7 @@ else
 #include <sys/stat.h>
 main() { struct stat64 st; ino64_t s; if (sizeof(ino_t) == sizeof(ino64_t)) exit(1); exit((lstat64("/dev/null", &st)==0)?0:1); }
 EOF
-if { (eval echo configure:8733: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:8735: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   samba_cv_HAVE_INO64_T=yes
 else
@@ -8752,13 +8754,13 @@ EOF
 fi
 
 echo $ac_n "checking for struct dirent64""... $ac_c" 1>&6
-echo "configure:8756: checking for struct dirent64" >&5
+echo "configure:8758: checking for struct dirent64" >&5
 if eval "test \"`echo '$''{'samba_cv_HAVE_STRUCT_DIRENT64'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 cat > conftest.$ac_ext <<EOF
-#line 8762 "configure"
+#line 8764 "configure"
 #include "confdefs.h"
 
 #if defined(HAVE_UNISTD_H)
@@ -8770,7 +8772,7 @@ int main() {
 struct dirent64 de;
 ; return 0; }
 EOF
-if { (eval echo configure:8774: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8776: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   samba_cv_HAVE_STRUCT_DIRENT64=yes
 else
@@ -8791,7 +8793,7 @@ EOF
 fi
 
 echo $ac_n "checking for unsigned char""... $ac_c" 1>&6
-echo "configure:8795: checking for unsigned char" >&5
+echo "configure:8797: checking for unsigned char" >&5
 if eval "test \"`echo '$''{'samba_cv_HAVE_UNSIGNED_CHAR'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -8800,12 +8802,12 @@ if test "$cross_compiling" = yes; then
   samba_cv_HAVE_UNSIGNED_CHAR=cross
 else
   cat > conftest.$ac_ext <<EOF
-#line 8804 "configure"
+#line 8806 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 main() { char c; c=250; exit((c > 0)?0:1); }
 EOF
-if { (eval echo configure:8809: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:8811: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   samba_cv_HAVE_UNSIGNED_CHAR=yes
 else
@@ -8828,13 +8830,13 @@ EOF
 fi
 
 echo $ac_n "checking for sin_len in sock""... $ac_c" 1>&6
-echo "configure:8832: checking for sin_len in sock" >&5
+echo "configure:8834: checking for sin_len in sock" >&5
 if eval "test \"`echo '$''{'samba_cv_HAVE_SOCK_SIN_LEN'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 cat > conftest.$ac_ext <<EOF
-#line 8838 "configure"
+#line 8840 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <sys/socket.h>
@@ -8843,7 +8845,7 @@ int main() {
 struct sockaddr_in sock; sock.sin_len = sizeof(sock);
 ; return 0; }
 EOF
-if { (eval echo configure:8847: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8849: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   samba_cv_HAVE_SOCK_SIN_LEN=yes
 else
@@ -8864,13 +8866,13 @@ EOF
 fi
 
 echo $ac_n "checking whether seekdir returns void""... $ac_c" 1>&6
-echo "configure:8868: checking whether seekdir returns void" >&5
+echo "configure:8870: checking whether seekdir returns void" >&5
 if eval "test \"`echo '$''{'samba_cv_SEEKDIR_RETURNS_VOID'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 cat > conftest.$ac_ext <<EOF
-#line 8874 "configure"
+#line 8876 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <dirent.h>
@@ -8879,7 +8881,7 @@ int main() {
 return 0;
 ; return 0; }
 EOF
-if { (eval echo configure:8883: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8885: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   samba_cv_SEEKDIR_RETURNS_VOID=yes
 else
@@ -8900,20 +8902,20 @@ EOF
 fi
 
 echo $ac_n "checking for __FILE__ macro""... $ac_c" 1>&6
-echo "configure:8904: checking for __FILE__ macro" >&5
+echo "configure:8906: checking for __FILE__ macro" >&5
 if eval "test \"`echo '$''{'samba_cv_HAVE_FILE_MACRO'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 cat > conftest.$ac_ext <<EOF
-#line 8910 "configure"
+#line 8912 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 int main() {
 printf("%s\n", __FILE__);
 ; return 0; }
 EOF
-if { (eval echo configure:8917: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8919: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   samba_cv_HAVE_FILE_MACRO=yes
 else
@@ -8934,20 +8936,20 @@ EOF
 fi
 
 echo $ac_n "checking for __FUNCTION__ macro""... $ac_c" 1>&6
-echo "configure:8938: checking for __FUNCTION__ macro" >&5
+echo "configure:8940: checking for __FUNCTION__ macro" >&5
 if eval "test \"`echo '$''{'samba_cv_HAVE_FUNCTION_MACRO'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 cat > conftest.$ac_ext <<EOF
-#line 8944 "configure"
+#line 8946 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 int main() {
 printf("%s\n", __FUNCTION__);
 ; return 0; }
 EOF
-if { (eval echo configure:8951: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8953: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   samba_cv_HAVE_FUNCTION_MACRO=yes
 else
@@ -8968,7 +8970,7 @@ EOF
 fi
 
 echo $ac_n "checking if gettimeofday takes tz argument""... $ac_c" 1>&6
-echo "configure:8972: checking if gettimeofday takes tz argument" >&5
+echo "configure:8974: checking if gettimeofday takes tz argument" >&5
 if eval "test \"`echo '$''{'samba_cv_HAVE_GETTIMEOFDAY_TZ'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -8977,14 +8979,14 @@ if test "$cross_compiling" = yes; then
   samba_cv_HAVE_GETTIMEOFDAY_TZ=cross
 else
   cat > conftest.$ac_ext <<EOF
-#line 8981 "configure"
+#line 8983 "configure"
 #include "confdefs.h"
 
 #include <sys/time.h>
 #include <unistd.h>
 main() { struct timeval tv; exit(gettimeofday(&tv, NULL));}
 EOF
-if { (eval echo configure:8988: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:8990: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   samba_cv_HAVE_GETTIMEOFDAY_TZ=yes
 else
@@ -9007,7 +9009,7 @@ EOF
 fi
 
 echo $ac_n "checking for C99 vsnprintf""... $ac_c" 1>&6
-echo "configure:9011: checking for C99 vsnprintf" >&5
+echo "configure:9013: checking for C99 vsnprintf" >&5
 if eval "test \"`echo '$''{'samba_cv_HAVE_C99_VSNPRINTF'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -9016,7 +9018,7 @@ if test "$cross_compiling" = yes; then
   samba_cv_HAVE_C99_VSNPRINTF=cross
 else
   cat > conftest.$ac_ext <<EOF
-#line 9020 "configure"
+#line 9022 "configure"
 #include "confdefs.h"
 
 #include <sys/types.h>
@@ -9038,7 +9040,7 @@ void foo(const char *format, ...) {
 main() { foo("hello"); }
 
 EOF
-if { (eval echo configure:9042: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:9044: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   samba_cv_HAVE_C99_VSNPRINTF=yes
 else
@@ -9061,7 +9063,7 @@ EOF
 fi
 
 echo $ac_n "checking for broken readdir""... $ac_c" 1>&6
-echo "configure:9065: checking for broken readdir" >&5
+echo "configure:9067: checking for broken readdir" >&5
 if eval "test \"`echo '$''{'samba_cv_HAVE_BROKEN_READDIR'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -9070,7 +9072,7 @@ if test "$cross_compiling" = yes; then
   samba_cv_HAVE_BROKEN_READDIR=cross
 else
   cat > conftest.$ac_ext <<EOF
-#line 9074 "configure"
+#line 9076 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <dirent.h>
@@ -9078,7 +9080,7 @@ main() { struct dirent *di; DIR *d = opendir("."); di = readdir(d);
 if (di && di->d_name[-2] == '.' && di->d_name[-1] == 0 &&
 di->d_name[0] == 0) exit(0); exit(1);} 
 EOF
-if { (eval echo configure:9082: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:9084: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   samba_cv_HAVE_BROKEN_READDIR=yes
 else
@@ -9101,13 +9103,13 @@ EOF
 fi
 
 echo $ac_n "checking for utimbuf""... $ac_c" 1>&6
-echo "configure:9105: checking for utimbuf" >&5
+echo "configure:9107: checking for utimbuf" >&5
 if eval "test \"`echo '$''{'samba_cv_HAVE_UTIMBUF'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 cat > conftest.$ac_ext <<EOF
-#line 9111 "configure"
+#line 9113 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <utime.h>
@@ -9115,7 +9117,7 @@ int main() {
 struct utimbuf tbuf;  tbuf.actime = 0; tbuf.modtime = 1; exit(utime("foo.c",&tbuf));
 ; return 0; }
 EOF
-if { (eval echo configure:9119: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:9121: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   samba_cv_HAVE_UTIMBUF=yes
 else
@@ -9139,12 +9141,12 @@ fi
 for ac_func in pututline pututxline updwtmp updwtmpx getutmpx
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:9143: checking for $ac_func" >&5
+echo "configure:9145: 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 9148 "configure"
+#line 9150 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -9167,7 +9169,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:9171: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9173: \"$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
@@ -9193,13 +9195,13 @@ done
 
 
 echo $ac_n "checking for ut_name in utmp""... $ac_c" 1>&6
-echo "configure:9197: checking for ut_name in utmp" >&5
+echo "configure:9199: checking for ut_name in utmp" >&5
 if eval "test \"`echo '$''{'samba_cv_HAVE_UT_UT_NAME'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 cat > conftest.$ac_ext <<EOF
-#line 9203 "configure"
+#line 9205 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <utmp.h>
@@ -9207,7 +9209,7 @@ int main() {
 struct utmp ut;  ut.ut_name[0] = 'a';
 ; return 0; }
 EOF
-if { (eval echo configure:9211: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:9213: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   samba_cv_HAVE_UT_UT_NAME=yes
 else
@@ -9228,13 +9230,13 @@ EOF
 fi 
 
 echo $ac_n "checking for ut_user in utmp""... $ac_c" 1>&6
-echo "configure:9232: checking for ut_user in utmp" >&5
+echo "configure:9234: checking for ut_user in utmp" >&5
 if eval "test \"`echo '$''{'samba_cv_HAVE_UT_UT_USER'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 cat > conftest.$ac_ext <<EOF
-#line 9238 "configure"
+#line 9240 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <utmp.h>
@@ -9242,7 +9244,7 @@ int main() {
 struct utmp ut;  ut.ut_user[0] = 'a';
 ; return 0; }
 EOF
-if { (eval echo configure:9246: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:9248: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   samba_cv_HAVE_UT_UT_USER=yes
 else
@@ -9263,13 +9265,13 @@ EOF
 fi 
 
 echo $ac_n "checking for ut_id in utmp""... $ac_c" 1>&6
-echo "configure:9267: checking for ut_id in utmp" >&5
+echo "configure:9269: checking for ut_id in utmp" >&5
 if eval "test \"`echo '$''{'samba_cv_HAVE_UT_UT_ID'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 cat > conftest.$ac_ext <<EOF
-#line 9273 "configure"
+#line 9275 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <utmp.h>
@@ -9277,7 +9279,7 @@ int main() {
 struct utmp ut;  ut.ut_id[0] = 'a';
 ; return 0; }
 EOF
-if { (eval echo configure:9281: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:9283: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   samba_cv_HAVE_UT_UT_ID=yes
 else
@@ -9298,13 +9300,13 @@ EOF
 fi 
 
 echo $ac_n "checking for ut_host in utmp""... $ac_c" 1>&6
-echo "configure:9302: checking for ut_host in utmp" >&5
+echo "configure:9304: checking for ut_host in utmp" >&5
 if eval "test \"`echo '$''{'samba_cv_HAVE_UT_UT_HOST'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 cat > conftest.$ac_ext <<EOF
-#line 9308 "configure"
+#line 9310 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <utmp.h>
@@ -9312,7 +9314,7 @@ int main() {
 struct utmp ut;  ut.ut_host[0] = 'a';
 ; return 0; }
 EOF
-if { (eval echo configure:9316: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:9318: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   samba_cv_HAVE_UT_UT_HOST=yes
 else
@@ -9333,13 +9335,13 @@ EOF
 fi 
 
 echo $ac_n "checking for ut_time in utmp""... $ac_c" 1>&6
-echo "configure:9337: checking for ut_time in utmp" >&5
+echo "configure:9339: checking for ut_time in utmp" >&5
 if eval "test \"`echo '$''{'samba_cv_HAVE_UT_UT_TIME'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 cat > conftest.$ac_ext <<EOF
-#line 9343 "configure"
+#line 9345 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <utmp.h>
@@ -9347,7 +9349,7 @@ int main() {
 struct utmp ut;  time_t t; ut.ut_time = t;
 ; return 0; }
 EOF
-if { (eval echo configure:9351: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:9353: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   samba_cv_HAVE_UT_UT_TIME=yes
 else
@@ -9368,13 +9370,13 @@ EOF
 fi 
 
 echo $ac_n "checking for ut_tv in utmp""... $ac_c" 1>&6
-echo "configure:9372: checking for ut_tv in utmp" >&5
+echo "configure:9374: checking for ut_tv in utmp" >&5
 if eval "test \"`echo '$''{'samba_cv_HAVE_UT_UT_TV'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 cat > conftest.$ac_ext <<EOF
-#line 9378 "configure"
+#line 9380 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <utmp.h>
@@ -9382,7 +9384,7 @@ int main() {
 struct utmp ut;  struct timeval tv; ut.ut_tv = tv;
 ; return 0; }
 EOF
-if { (eval echo configure:9386: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:9388: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   samba_cv_HAVE_UT_UT_TV=yes
 else
@@ -9403,13 +9405,13 @@ EOF
 fi 
 
 echo $ac_n "checking for ut_type in utmp""... $ac_c" 1>&6
-echo "configure:9407: checking for ut_type in utmp" >&5
+echo "configure:9409: checking for ut_type in utmp" >&5
 if eval "test \"`echo '$''{'samba_cv_HAVE_UT_UT_TYPE'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 cat > conftest.$ac_ext <<EOF
-#line 9413 "configure"
+#line 9415 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <utmp.h>
@@ -9417,7 +9419,7 @@ int main() {
 struct utmp ut;  ut.ut_type = 0;
 ; return 0; }
 EOF
-if { (eval echo configure:9421: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:9423: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   samba_cv_HAVE_UT_UT_TYPE=yes
 else
@@ -9438,13 +9440,13 @@ EOF
 fi 
 
 echo $ac_n "checking for ut_pid in utmp""... $ac_c" 1>&6
-echo "configure:9442: checking for ut_pid in utmp" >&5
+echo "configure:9444: checking for ut_pid in utmp" >&5
 if eval "test \"`echo '$''{'samba_cv_HAVE_UT_UT_PID'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 cat > conftest.$ac_ext <<EOF
-#line 9448 "configure"
+#line 9450 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <utmp.h>
@@ -9452,7 +9454,7 @@ int main() {
 struct utmp ut;  ut.ut_pid = 0;
 ; return 0; }
 EOF
-if { (eval echo configure:9456: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:9458: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   samba_cv_HAVE_UT_UT_PID=yes
 else
@@ -9473,13 +9475,13 @@ EOF
 fi 
 
 echo $ac_n "checking for ut_exit in utmp""... $ac_c" 1>&6
-echo "configure:9477: checking for ut_exit in utmp" >&5
+echo "configure:9479: checking for ut_exit in utmp" >&5
 if eval "test \"`echo '$''{'samba_cv_HAVE_UT_UT_EXIT'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 cat > conftest.$ac_ext <<EOF
-#line 9483 "configure"
+#line 9485 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <utmp.h>
@@ -9487,7 +9489,7 @@ int main() {
 struct utmp ut;  ut.ut_exit.e_exit = 0;
 ; return 0; }
 EOF
-if { (eval echo configure:9491: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:9493: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   samba_cv_HAVE_UT_UT_EXIT=yes
 else
@@ -9508,13 +9510,13 @@ EOF
 fi 
 
 echo $ac_n "checking for ut_addr in utmp""... $ac_c" 1>&6
-echo "configure:9512: checking for ut_addr in utmp" >&5
+echo "configure:9514: checking for ut_addr in utmp" >&5
 if eval "test \"`echo '$''{'samba_cv_HAVE_UT_UT_ADDR'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 cat > conftest.$ac_ext <<EOF
-#line 9518 "configure"
+#line 9520 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <utmp.h>
@@ -9522,7 +9524,7 @@ int main() {
 struct utmp ut;  ut.ut_addr = 0;
 ; return 0; }
 EOF
-if { (eval echo configure:9526: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:9528: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   samba_cv_HAVE_UT_UT_ADDR=yes
 else
@@ -9544,13 +9546,13 @@ fi
 
 if test x$ac_cv_func_pututline = xyes ; then
   echo $ac_n "checking whether pututline returns pointer""... $ac_c" 1>&6
-echo "configure:9548: checking whether pututline returns pointer" >&5
+echo "configure:9550: checking whether pututline returns pointer" >&5
 if eval "test \"`echo '$''{'samba_cv_PUTUTLINE_RETURNS_UTMP'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
   cat > conftest.$ac_ext <<EOF
-#line 9554 "configure"
+#line 9556 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <utmp.h>
@@ -9558,7 +9560,7 @@ int main() {
 struct utmp utarg; struct utmp *utreturn; utreturn = pututline(&utarg);
 ; return 0; }
 EOF
-if { (eval echo configure:9562: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:9564: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   samba_cv_PUTUTLINE_RETURNS_UTMP=yes
 else
@@ -9580,13 +9582,13 @@ EOF
 fi
 
 echo $ac_n "checking for ut_syslen in utmpx""... $ac_c" 1>&6
-echo "configure:9584: checking for ut_syslen in utmpx" >&5
+echo "configure:9586: checking for ut_syslen in utmpx" >&5
 if eval "test \"`echo '$''{'samba_cv_HAVE_UX_UT_SYSLEN'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 cat > conftest.$ac_ext <<EOF
-#line 9590 "configure"
+#line 9592 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <utmpx.h>
@@ -9594,7 +9596,7 @@ int main() {
 struct utmpx ux;  ux.ut_syslen = 0;
 ; return 0; }
 EOF
-if { (eval echo configure:9598: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:9600: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   samba_cv_HAVE_UX_UT_SYSLEN=yes
 else
@@ -9618,7 +9620,7 @@ fi
 #################################################
 # check for libiconv support
 echo $ac_n "checking whether to use libiconv""... $ac_c" 1>&6
-echo "configure:9622: checking whether to use libiconv" >&5
+echo "configure:9624: checking whether to use libiconv" >&5
 # Check whether --with-libiconv or --without-libiconv was given.
 if test "${with_libiconv+set}" = set; then
   withval="$with_libiconv"
@@ -9631,7 +9633,7 @@ if test "${with_libiconv+set}" = set; then
     CFLAGS="$CFLAGS -I$withval/include"
     LDFLAGS="$LDFLAGS -L$withval/lib"
     echo $ac_n "checking for iconv_open in -liconv""... $ac_c" 1>&6
-echo "configure:9635: checking for iconv_open in -liconv" >&5
+echo "configure:9637: checking for iconv_open in -liconv" >&5
 ac_lib_var=`echo iconv'_'iconv_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
@@ -9639,7 +9641,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-liconv  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 9643 "configure"
+#line 9645 "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
@@ -9650,7 +9652,7 @@ int main() {
 iconv_open()
 ; return 0; }
 EOF
-if { (eval echo configure:9654: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9656: \"$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
@@ -9693,7 +9695,7 @@ fi
 ############
 # check for iconv in libc
 echo $ac_n "checking for working iconv""... $ac_c" 1>&6
-echo "configure:9697: checking for working iconv" >&5
+echo "configure:9699: checking for working iconv" >&5
 if eval "test \"`echo '$''{'samba_cv_HAVE_NATIVE_ICONV'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -9702,7 +9704,7 @@ if test "$cross_compiling" = yes; then
   samba_cv_HAVE_NATIVE_ICONV=cross
 else
   cat > conftest.$ac_ext <<EOF
-#line 9706 "configure"
+#line 9708 "configure"
 #include "confdefs.h"
 
 #include <iconv.h>
@@ -9713,7 +9715,7 @@ main() {
 }
 
 EOF
-if { (eval echo configure:9717: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:9719: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   samba_cv_HAVE_NATIVE_ICONV=yes
 else
@@ -9737,7 +9739,7 @@ fi
 
 
 echo $ac_n "checking for Linux kernel oplocks""... $ac_c" 1>&6
-echo "configure:9741: checking for Linux kernel oplocks" >&5
+echo "configure:9743: checking for Linux kernel oplocks" >&5
 if eval "test \"`echo '$''{'samba_cv_HAVE_KERNEL_OPLOCKS_LINUX'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -9746,7 +9748,7 @@ if test "$cross_compiling" = yes; then
   samba_cv_HAVE_KERNEL_OPLOCKS_LINUX=cross
 else
   cat > conftest.$ac_ext <<EOF
-#line 9750 "configure"
+#line 9752 "configure"
 #include "confdefs.h"
 
 #include <sys/types.h>
@@ -9760,7 +9762,7 @@ main() {
 }
 
 EOF
-if { (eval echo configure:9764: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:9766: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   samba_cv_HAVE_KERNEL_OPLOCKS_LINUX=yes
 else
@@ -9783,7 +9785,7 @@ EOF
 fi
 
 echo $ac_n "checking for kernel change notify support""... $ac_c" 1>&6
-echo "configure:9787: checking for kernel change notify support" >&5
+echo "configure:9789: checking for kernel change notify support" >&5
 if eval "test \"`echo '$''{'samba_cv_HAVE_KERNEL_CHANGE_NOTIFY'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -9792,7 +9794,7 @@ if test "$cross_compiling" = yes; then
   samba_cv_HAVE_KERNEL_CHANGE_NOTIFY=cross
 else
   cat > conftest.$ac_ext <<EOF
-#line 9796 "configure"
+#line 9798 "configure"
 #include "confdefs.h"
 
 #include <sys/types.h>
@@ -9806,7 +9808,7 @@ main() {
 }
 
 EOF
-if { (eval echo configure:9810: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:9812: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   samba_cv_HAVE_KERNEL_CHANGE_NOTIFY=yes
 else
@@ -9829,7 +9831,7 @@ EOF
 fi
 
 echo $ac_n "checking for kernel share modes""... $ac_c" 1>&6
-echo "configure:9833: checking for kernel share modes" >&5
+echo "configure:9835: checking for kernel share modes" >&5
 if eval "test \"`echo '$''{'samba_cv_HAVE_KERNEL_SHARE_MODES'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -9838,7 +9840,7 @@ if test "$cross_compiling" = yes; then
   samba_cv_HAVE_KERNEL_SHARE_MODES=cross
 else
   cat > conftest.$ac_ext <<EOF
-#line 9842 "configure"
+#line 9844 "configure"
 #include "confdefs.h"
 
 #include <sys/types.h>
@@ -9854,7 +9856,7 @@ main() {
 }
 
 EOF
-if { (eval echo configure:9858: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:9860: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   samba_cv_HAVE_KERNEL_SHARE_MODES=yes
 else
@@ -9880,13 +9882,13 @@ fi
 
 
 echo $ac_n "checking for IRIX kernel oplock type definitions""... $ac_c" 1>&6
-echo "configure:9884: checking for IRIX kernel oplock type definitions" >&5
+echo "configure:9886: checking for IRIX kernel oplock type definitions" >&5
 if eval "test \"`echo '$''{'samba_cv_HAVE_KERNEL_OPLOCKS_IRIX'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 cat > conftest.$ac_ext <<EOF
-#line 9890 "configure"
+#line 9892 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <fcntl.h>
@@ -9894,7 +9896,7 @@ int main() {
 oplock_stat_t t; t.os_state = OP_REVOKE; t.os_dev = 1; t.os_ino = 1;
 ; return 0; }
 EOF
-if { (eval echo configure:9898: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:9900: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   samba_cv_HAVE_KERNEL_OPLOCKS_IRIX=yes
 else
@@ -9915,7 +9917,7 @@ EOF
 fi
 
 echo $ac_n "checking for irix specific capabilities""... $ac_c" 1>&6
-echo "configure:9919: checking for irix specific capabilities" >&5
+echo "configure:9921: checking for irix specific capabilities" >&5
 if eval "test \"`echo '$''{'samba_cv_HAVE_IRIX_SPECIFIC_CAPABILITIES'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -9924,7 +9926,7 @@ if test "$cross_compiling" = yes; then
   samba_cv_HAVE_IRIX_SPECIFIC_CAPABILITIES=cross
 else
   cat > conftest.$ac_ext <<EOF
-#line 9928 "configure"
+#line 9930 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <sys/capability.h>
@@ -9939,7 +9941,7 @@ main() {
 }
 
 EOF
-if { (eval echo configure:9943: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:9945: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   samba_cv_HAVE_IRIX_SPECIFIC_CAPABILITIES=yes
 else
@@ -9967,13 +9969,13 @@ fi
 #
 
 echo $ac_n "checking for int16 typedef included by rpc/rpc.h""... $ac_c" 1>&6
-echo "configure:9971: checking for int16 typedef included by rpc/rpc.h" >&5
+echo "configure:9973: checking for int16 typedef included by rpc/rpc.h" >&5
 if eval "test \"`echo '$''{'samba_cv_HAVE_INT16_FROM_RPC_RPC_H'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 cat > conftest.$ac_ext <<EOF
-#line 9977 "configure"
+#line 9979 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #if defined(HAVE_RPC_RPC_H)
@@ -9983,7 +9985,7 @@ int main() {
 int16 testvar;
 ; return 0; }
 EOF
-if { (eval echo configure:9987: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:9989: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   samba_cv_HAVE_INT16_FROM_RPC_RPC_H=yes
 else
@@ -10004,13 +10006,13 @@ EOF
 fi
 
 echo $ac_n "checking for uint16 typedef included by rpc/rpc.h""... $ac_c" 1>&6
-echo "configure:10008: checking for uint16 typedef included by rpc/rpc.h" >&5
+echo "configure:10010: checking for uint16 typedef included by rpc/rpc.h" >&5
 if eval "test \"`echo '$''{'samba_cv_HAVE_UINT16_FROM_RPC_RPC_H'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 cat > conftest.$ac_ext <<EOF
-#line 10014 "configure"
+#line 10016 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #if defined(HAVE_RPC_RPC_H)
@@ -10020,7 +10022,7 @@ int main() {
 uint16 testvar;
 ; return 0; }
 EOF
-if { (eval echo configure:10024: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:10026: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   samba_cv_HAVE_UINT16_FROM_RPC_RPC_H=yes
 else
@@ -10041,13 +10043,13 @@ EOF
 fi
 
 echo $ac_n "checking for int32 typedef included by rpc/rpc.h""... $ac_c" 1>&6
-echo "configure:10045: checking for int32 typedef included by rpc/rpc.h" >&5
+echo "configure:10047: checking for int32 typedef included by rpc/rpc.h" >&5
 if eval "test \"`echo '$''{'samba_cv_HAVE_INT32_FROM_RPC_RPC_H'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 cat > conftest.$ac_ext <<EOF
-#line 10051 "configure"
+#line 10053 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #if defined(HAVE_RPC_RPC_H)
@@ -10057,7 +10059,7 @@ int main() {
 int32 testvar;
 ; return 0; }
 EOF
-if { (eval echo configure:10061: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:10063: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   samba_cv_HAVE_INT32_FROM_RPC_RPC_H=yes
 else
@@ -10078,13 +10080,13 @@ EOF
 fi
 
 echo $ac_n "checking for uint32 typedef included by rpc/rpc.h""... $ac_c" 1>&6
-echo "configure:10082: checking for uint32 typedef included by rpc/rpc.h" >&5
+echo "configure:10084: checking for uint32 typedef included by rpc/rpc.h" >&5
 if eval "test \"`echo '$''{'samba_cv_HAVE_UINT32_FROM_RPC_RPC_H'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 cat > conftest.$ac_ext <<EOF
-#line 10088 "configure"
+#line 10090 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #if defined(HAVE_RPC_RPC_H)
@@ -10094,7 +10096,7 @@ int main() {
 uint32 testvar;
 ; return 0; }
 EOF
-if { (eval echo configure:10098: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:10100: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   samba_cv_HAVE_UINT32_FROM_RPC_RPC_H=yes
 else
 
 
 echo $ac_n "checking for conflicting AUTH_ERROR define in rpc/rpc.h""... $ac_c" 1>&6
-echo "configure:10120: checking for conflicting AUTH_ERROR define in rpc/rpc.h" >&5
+echo "configure:10122: checking for conflicting AUTH_ERROR define in rpc/rpc.h" >&5
 if eval "test \"`echo '$''{'samba_cv_HAVE_RPC_AUTH_ERROR_CONFLICT'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 cat > conftest.$ac_ext <<EOF
-#line 10126 "configure"
+#line 10128 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #ifdef HAVE_SYS_SECURITY_H
@@ -10136,7 +10138,7 @@ int main() {
 int testvar;
 ; return 0; }
 EOF
-if { (eval echo configure:10140: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:10142: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   samba_cv_HAVE_RPC_AUTH_ERROR_CONFLICT=no
 else
@@ -10157,16 +10159,16 @@ EOF
 fi
 
 echo $ac_n "checking for test routines""... $ac_c" 1>&6
-echo "configure:10161: checking for test routines" >&5
+echo "configure:10163: checking for test routines" >&5
 if test "$cross_compiling" = yes; then
   echo "configure: warning: cannot run when cross-compiling" 1>&2
 else
   cat > conftest.$ac_ext <<EOF
-#line 10166 "configure"
+#line 10168 "configure"
 #include "confdefs.h"
 #include "${srcdir-.}/tests/trivial.c"
 EOF
-if { (eval echo configure:10170: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:10172: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   echo "$ac_t""yes" 1>&6
 else
@@ -10180,7 +10182,7 @@ fi
 
 
 echo $ac_n "checking for ftruncate extend""... $ac_c" 1>&6
-echo "configure:10184: checking for ftruncate extend" >&5
+echo "configure:10186: checking for ftruncate extend" >&5
 if eval "test \"`echo '$''{'samba_cv_HAVE_FTRUNCATE_EXTEND'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -10189,11 +10191,11 @@ if test "$cross_compiling" = yes; then
   samba_cv_HAVE_FTRUNCATE_EXTEND=cross
 else
   cat > conftest.$ac_ext <<EOF
-#line 10193 "configure"
+#line 10195 "configure"
 #include "confdefs.h"
 #include "${srcdir-.}/tests/ftruncate.c"
 EOF
-if { (eval echo configure:10197: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:10199: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   samba_cv_HAVE_FTRUNCATE_EXTEND=yes
 else
@@ -10216,7 +10218,7 @@ EOF
 fi
 
 echo $ac_n "checking for AF_LOCAL socket support""... $ac_c" 1>&6
-echo "configure:10220: checking for AF_LOCAL socket support" >&5
+echo "configure:10222: checking for AF_LOCAL socket support" >&5
 if eval "test \"`echo '$''{'samba_cv_HAVE_WORKING_AF_LOCAL'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -10225,11 +10227,11 @@ if test "$cross_compiling" = yes; then
   samba_cv_HAVE_WORKING_AF_LOCAL=cross
 else
   cat > conftest.$ac_ext <<EOF
-#line 10229 "configure"
+#line 10231 "configure"
 #include "confdefs.h"
 #include "${srcdir-.}/tests/unixsock.c"
 EOF
-if { (eval echo configure:10233: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:10235: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   samba_cv_HAVE_WORKING_AF_LOCAL=yes
 else
@@ -10253,7 +10255,7 @@ EOF
 fi
 
 echo $ac_n "checking for broken getgroups""... $ac_c" 1>&6
-echo "configure:10257: checking for broken getgroups" >&5
+echo "configure:10259: checking for broken getgroups" >&5
 if eval "test \"`echo '$''{'samba_cv_HAVE_BROKEN_GETGROUPS'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -10262,11 +10264,11 @@ if test "$cross_compiling" = yes; then
   samba_cv_HAVE_BROKEN_GETGROUPS=cross
 else
   cat > conftest.$ac_ext <<EOF
-#line 10266 "configure"
+#line 10268 "configure"
 #include "confdefs.h"
 #include "${srcdir-.}/tests/getgroups.c"
 EOF
-if { (eval echo configure:10270: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:10272: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   samba_cv_HAVE_BROKEN_GETGROUPS=yes
 else
@@ -10289,7 +10291,7 @@ EOF
 fi
 
 echo $ac_n "checking whether getpass should be replaced""... $ac_c" 1>&6
-echo "configure:10293: checking whether getpass should be replaced" >&5
+echo "configure:10295: checking whether getpass should be replaced" >&5
 if eval "test \"`echo '$''{'samba_cv_REPLACE_GETPASS'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -10297,7 +10299,7 @@ else
 SAVE_CPPFLAGS="$CPPFLAGS"
 CPPFLAGS="$CPPFLAGS -I${srcdir-.}/ -I${srcdir-.}/include -I${srcdir-.}/ubiqx -I${srcdir-.}/smbwrapper"
 cat > conftest.$ac_ext <<EOF
-#line 10301 "configure"
+#line 10303 "configure"
 #include "confdefs.h"
 
 #define REPLACE_GETPASS 1
@@ -10310,7 +10312,7 @@ int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:10314: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:10316: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   samba_cv_REPLACE_GETPASS=yes
 else
@@ -10333,7 +10335,7 @@ EOF
 fi
 
 echo $ac_n "checking for broken inet_ntoa""... $ac_c" 1>&6
-echo "configure:10337: checking for broken inet_ntoa" >&5
+echo "configure:10339: checking for broken inet_ntoa" >&5
 if eval "test \"`echo '$''{'samba_cv_REPLACE_INET_NTOA'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -10342,7 +10344,7 @@ if test "$cross_compiling" = yes; then
   samba_cv_REPLACE_INET_NTOA=cross
 else
   cat > conftest.$ac_ext <<EOF
-#line 10346 "configure"
+#line 10348 "configure"
 #include "confdefs.h"
 
 #include <stdio.h>
@@ -10356,7 +10358,7 @@ if (strcmp(inet_ntoa(ip),"18.52.86.120") &&
     strcmp(inet_ntoa(ip),"120.86.52.18")) { exit(0); } 
 exit(1);}
 EOF
-if { (eval echo configure:10360: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:10362: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   samba_cv_REPLACE_INET_NTOA=yes
 else
@@ -10379,7 +10381,7 @@ EOF
 fi
 
 echo $ac_n "checking for secure mkstemp""... $ac_c" 1>&6
-echo "configure:10383: checking for secure mkstemp" >&5
+echo "configure:10385: checking for secure mkstemp" >&5
 if eval "test \"`echo '$''{'samba_cv_HAVE_SECURE_MKSTEMP'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -10388,7 +10390,7 @@ if test "$cross_compiling" = yes; then
   samba_cv_HAVE_SECURE_MKSTEMP=cross
 else
   cat > conftest.$ac_ext <<EOF
-#line 10392 "configure"
+#line 10394 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
 #include <sys/types.h>
@@ -10405,7 +10407,7 @@ main() {
   exit(0);
 }
 EOF
-if { (eval echo configure:10409: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:10411: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   samba_cv_HAVE_SECURE_MKSTEMP=yes
 else
@@ -10428,7 +10430,7 @@ EOF
 fi
 
 echo $ac_n "checking for sysconf(_SC_NGROUPS_MAX)""... $ac_c" 1>&6
-echo "configure:10432: checking for sysconf(_SC_NGROUPS_MAX)" >&5
+echo "configure:10434: checking for sysconf(_SC_NGROUPS_MAX)" >&5
 if eval "test \"`echo '$''{'samba_cv_SYSCONF_SC_NGROUPS_MAX'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -10437,12 +10439,12 @@ if test "$cross_compiling" = yes; then
   samba_cv_SYSCONF_SC_NGROUPS_MAX=cross
 else
   cat > conftest.$ac_ext <<EOF
-#line 10441 "configure"
+#line 10443 "configure"
 #include "confdefs.h"
 #include <unistd.h>
 main() { exit(sysconf(_SC_NGROUPS_MAX) == -1 ? 1 : 0); }
 EOF
-if { (eval echo configure:10446: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:10448: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   samba_cv_SYSCONF_SC_NGROUPS_MAX=yes
 else
@@ -10465,7 +10467,7 @@ EOF
 fi
 
 echo $ac_n "checking for root""... $ac_c" 1>&6
-echo "configure:10469: checking for root" >&5
+echo "configure:10471: checking for root" >&5
 if eval "test \"`echo '$''{'samba_cv_HAVE_ROOT'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -10474,11 +10476,11 @@ if test "$cross_compiling" = yes; then
   samba_cv_HAVE_ROOT=cross
 else
   cat > conftest.$ac_ext <<EOF
-#line 10478 "configure"
+#line 10480 "configure"
 #include "confdefs.h"
 main() { exit(getuid() != 0); }
 EOF
-if { (eval echo configure:10482: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:10484: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   samba_cv_HAVE_ROOT=yes
 else
@@ -10506,7 +10508,7 @@ fi
 # look for a method of finding the list of network interfaces
 iface=no;
 echo $ac_n "checking for iface AIX""... $ac_c" 1>&6
-echo "configure:10510: checking for iface AIX" >&5
+echo "configure:10512: checking for iface AIX" >&5
 if eval "test \"`echo '$''{'samba_cv_HAVE_IFACE_AIX'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -10515,7 +10517,7 @@ if test "$cross_compiling" = yes; then
   samba_cv_HAVE_IFACE_AIX=cross
 else
   cat > conftest.$ac_ext <<EOF
-#line 10519 "configure"
+#line 10521 "configure"
 #include "confdefs.h"
 
 #define HAVE_IFACE_AIX 1
@@ -10523,7 +10525,7 @@ else
 #include "confdefs.h"
 #include "${srcdir-.}/lib/interfaces.c"
 EOF
-if { (eval echo configure:10527: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:10529: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   samba_cv_HAVE_IFACE_AIX=yes
 else
@@ -10547,7 +10549,7 @@ fi
 
 if test $iface = no; then
 echo $ac_n "checking for iface ifconf""... $ac_c" 1>&6
-echo "configure:10551: checking for iface ifconf" >&5
+echo "configure:10553: checking for iface ifconf" >&5
 if eval "test \"`echo '$''{'samba_cv_HAVE_IFACE_IFCONF'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -10556,7 +10558,7 @@ if test "$cross_compiling" = yes; then
   samba_cv_HAVE_IFACE_IFCONF=cross
 else
   cat > conftest.$ac_ext <<EOF
-#line 10560 "configure"
+#line 10562 "configure"
 #include "confdefs.h"
 
 #define HAVE_IFACE_IFCONF 1
@@ -10564,7 +10566,7 @@ else
 #include "confdefs.h"
 #include "${srcdir-.}/lib/interfaces.c"
 EOF
-if { (eval echo configure:10568: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:10570: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   samba_cv_HAVE_IFACE_IFCONF=yes
 else
@@ -10589,7 +10591,7 @@ fi
 
 if test $iface = no; then
 echo $ac_n "checking for iface ifreq""... $ac_c" 1>&6
-echo "configure:10593: checking for iface ifreq" >&5
+echo "configure:10595: checking for iface ifreq" >&5
 if eval "test \"`echo '$''{'samba_cv_HAVE_IFACE_IFREQ'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -10598,7 +10600,7 @@ if test "$cross_compiling" = yes; then
   samba_cv_HAVE_IFACE_IFREQ=cross
 else
   cat > conftest.$ac_ext <<EOF
-#line 10602 "configure"
+#line 10604 "configure"
 #include "confdefs.h"
 
 #define HAVE_IFACE_IFREQ 1
@@ -10606,7 +10608,7 @@ else
 #include "confdefs.h"
 #include "${srcdir-.}/lib/interfaces.c"
 EOF
-if { (eval echo configure:10610: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:10612: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   samba_cv_HAVE_IFACE_IFREQ=yes
 else
@@ -10635,7 +10637,7 @@ fi
 seteuid=no;
 if test $seteuid = no; then
 echo $ac_n "checking for setresuid""... $ac_c" 1>&6
-echo "configure:10639: checking for setresuid" >&5
+echo "configure:10641: checking for setresuid" >&5
 if eval "test \"`echo '$''{'samba_cv_USE_SETRESUID'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -10644,7 +10646,7 @@ if test "$cross_compiling" = yes; then
   samba_cv_USE_SETRESUID=cross
 else
   cat > conftest.$ac_ext <<EOF
-#line 10648 "configure"
+#line 10650 "configure"
 #include "confdefs.h"
 
 #define AUTOCONF_TEST 1
@@ -10652,7 +10654,7 @@ else
 #include "confdefs.h"
 #include "${srcdir-.}/lib/util_sec.c"
 EOF
-if { (eval echo configure:10656: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:10658: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   samba_cv_USE_SETRESUID=yes
 else
@@ -10678,7 +10680,7 @@ fi
 
 if test $seteuid = no; then
 echo $ac_n "checking for setreuid""... $ac_c" 1>&6
-echo "configure:10682: checking for setreuid" >&5
+echo "configure:10684: checking for setreuid" >&5
 if eval "test \"`echo '$''{'samba_cv_USE_SETREUID'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -10687,7 +10689,7 @@ if test "$cross_compiling" = yes; then
   samba_cv_USE_SETREUID=cross
 else
   cat > conftest.$ac_ext <<EOF
-#line 10691 "configure"
+#line 10693 "configure"
 #include "confdefs.h"
 
 #define AUTOCONF_TEST 1
@@ -10695,7 +10697,7 @@ else
 #include "confdefs.h"
 #include "${srcdir-.}/lib/util_sec.c"
 EOF
-if { (eval echo configure:10699: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:10701: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   samba_cv_USE_SETREUID=yes
 else
@@ -10720,7 +10722,7 @@ fi
 
 if test $seteuid = no; then
 echo $ac_n "checking for seteuid""... $ac_c" 1>&6
-echo "configure:10724: checking for seteuid" >&5
+echo "configure:10726: checking for seteuid" >&5
 if eval "test \"`echo '$''{'samba_cv_USE_SETEUID'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -10729,7 +10731,7 @@ if test "$cross_compiling" = yes; then
   samba_cv_USE_SETEUID=cross
 else
   cat > conftest.$ac_ext <<EOF
-#line 10733 "configure"
+#line 10735 "configure"
 #include "confdefs.h"
 
 #define AUTOCONF_TEST 1
@@ -10737,7 +10739,7 @@ else
 #include "confdefs.h"
 #include "${srcdir-.}/lib/util_sec.c"
 EOF
-if { (eval echo configure:10741: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:10743: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   samba_cv_USE_SETEUID=yes
 else
@@ -10762,7 +10764,7 @@ fi
 
 if test $seteuid = no; then
 echo $ac_n "checking for setuidx""... $ac_c" 1>&6
-echo "configure:10766: checking for setuidx" >&5
+echo "configure:10768: checking for setuidx" >&5
 if eval "test \"`echo '$''{'samba_cv_USE_SETUIDX'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -10771,7 +10773,7 @@ if test "$cross_compiling" = yes; then
   samba_cv_USE_SETUIDX=cross
 else
   cat > conftest.$ac_ext <<EOF
-#line 10775 "configure"
+#line 10777 "configure"
 #include "confdefs.h"
 
 #define AUTOCONF_TEST 1
@@ -10779,7 +10781,7 @@ else
 #include "confdefs.h"
 #include "${srcdir-.}/lib/util_sec.c"
 EOF
-if { (eval echo configure:10783: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:10785: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   samba_cv_USE_SETUIDX=yes
 else
@@ -10804,7 +10806,7 @@ fi
 
 
 echo $ac_n "checking for working mmap""... $ac_c" 1>&6
-echo "configure:10808: checking for working mmap" >&5
+echo "configure:10810: checking for working mmap" >&5
 if eval "test \"`echo '$''{'samba_cv_HAVE_MMAP'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -10813,11 +10815,11 @@ if test "$cross_compiling" = yes; then
   samba_cv_HAVE_MMAP=cross
 else
   cat > conftest.$ac_ext <<EOF
-#line 10817 "configure"
+#line 10819 "configure"
 #include "confdefs.h"
 #include "${srcdir-.}/tests/shared_mmap.c"
 EOF
-if { (eval echo configure:10821: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:10823: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   samba_cv_HAVE_MMAP=yes
 else
@@ -10840,7 +10842,7 @@ EOF
 fi
 
 echo $ac_n "checking for ftruncate needs root""... $ac_c" 1>&6
-echo "configure:10844: checking for ftruncate needs root" >&5
+echo "configure:10846: checking for ftruncate needs root" >&5
 if eval "test \"`echo '$''{'samba_cv_FTRUNCATE_NEEDS_ROOT'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -10849,11 +10851,11 @@ if test "$cross_compiling" = yes; then
   samba_cv_FTRUNCATE_NEEDS_ROOT=cross
 else
   cat > conftest.$ac_ext <<EOF
-#line 10853 "configure"
+#line 10855 "configure"
 #include "confdefs.h"
 #include "${srcdir-.}/tests/ftruncroot.c"
 EOF
-if { (eval echo configure:10857: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:10859: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   samba_cv_FTRUNCATE_NEEDS_ROOT=yes
 else
@@ -10876,7 +10878,7 @@ EOF
 fi
 
 echo $ac_n "checking for fcntl locking""... $ac_c" 1>&6
-echo "configure:10880: checking for fcntl locking" >&5
+echo "configure:10882: checking for fcntl locking" >&5
 if eval "test \"`echo '$''{'samba_cv_HAVE_FCNTL_LOCK'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -10885,11 +10887,11 @@ if test "$cross_compiling" = yes; then
   samba_cv_HAVE_FCNTL_LOCK=cross
 else
   cat > conftest.$ac_ext <<EOF
-#line 10889 "configure"
+#line 10891 "configure"
 #include "confdefs.h"
 #include "${srcdir-.}/tests/fcntl_lock.c"
 EOF
-if { (eval echo configure:10893: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:10895: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   samba_cv_HAVE_FCNTL_LOCK=yes
 else
@@ -10912,7 +10914,7 @@ EOF
 fi
 
 echo $ac_n "checking for broken (glibc2.1/x86) 64 bit fcntl locking""... $ac_c" 1>&6
-echo "configure:10916: checking for broken (glibc2.1/x86) 64 bit fcntl locking" >&5
+echo "configure:10918: checking for broken (glibc2.1/x86) 64 bit fcntl locking" >&5
 if eval "test \"`echo '$''{'samba_cv_HAVE_BROKEN_FCNTL64_LOCKS'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -10921,11 +10923,11 @@ if test "$cross_compiling" = yes; then
   samba_cv_HAVE_BROKEN_FCNTL64_LOCKS=cross
 else
   cat > conftest.$ac_ext <<EOF
-#line 10925 "configure"
+#line 10927 "configure"
 #include "confdefs.h"
 #include "${srcdir-.}/tests/fcntl_lock64.c"
 EOF
-if { (eval echo configure:10929: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:10931: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   samba_cv_HAVE_BROKEN_FCNTL64_LOCKS=yes
 else
@@ -10950,7 +10952,7 @@ else
 
 
   echo $ac_n "checking for 64 bit fcntl locking""... $ac_c" 1>&6
-echo "configure:10954: checking for 64 bit fcntl locking" >&5
+echo "configure:10956: checking for 64 bit fcntl locking" >&5
 if eval "test \"`echo '$''{'samba_cv_HAVE_STRUCT_FLOCK64'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -10959,7 +10961,7 @@ else
   samba_cv_HAVE_STRUCT_FLOCK64=cross
 else
   cat > conftest.$ac_ext <<EOF
-#line 10963 "configure"
+#line 10965 "configure"
 #include "confdefs.h"
 
 #if defined(HAVE_UNISTD_H)
@@ -10983,7 +10985,7 @@ exit(1);
 #endif
 }
 EOF
-if { (eval echo configure:10987: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:10989: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   samba_cv_HAVE_STRUCT_FLOCK64=yes
 else
@@ -11008,13 +11010,13 @@ EOF
 fi
 
 echo $ac_n "checking for broken nisplus include files""... $ac_c" 1>&6
-echo "configure:11012: checking for broken nisplus include files" >&5
+echo "configure:11014: checking for broken nisplus include files" >&5
 if eval "test \"`echo '$''{'samba_cv_BROKEN_NISPLUS_INCLUDE_FILES'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
 cat > conftest.$ac_ext <<EOF
-#line 11018 "configure"
+#line 11020 "configure"
 #include "confdefs.h"
 #include <sys/acl.h>
 #if defined(HAVE_RPCSVC_NIS_H)
@@ -11024,7 +11026,7 @@ int main() {
 return 0;
 ; return 0; }
 EOF
-if { (eval echo configure:11028: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:11030: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   samba_cv_BROKEN_NISPLUS_INCLUDE_FILES=no
 else
@@ -11048,7 +11050,7 @@ fi
 #################################################
 # check for smbwrapper support
 echo $ac_n "checking whether to use smbwrapper""... $ac_c" 1>&6
-echo "configure:11052: checking whether to use smbwrapper" >&5
+echo "configure:11054: checking whether to use smbwrapper" >&5
 # Check whether --with-smbwrapper or --without-smbwrapper was given.
 if test "${with_smbwrapper+set}" = set; then
   withval="$with_smbwrapper"
@@ -11092,7 +11094,7 @@ fi
 #################################################
 # check for the AFS filesystem
 echo $ac_n "checking whether to use AFS""... $ac_c" 1>&6
-echo "configure:11096: checking whether to use AFS" >&5
+echo "configure:11098: checking whether to use AFS" >&5
 # Check whether --with-afs or --without-afs was given.
 if test "${with_afs+set}" = set; then
   withval="$with_afs"
@@ -11118,7 +11120,7 @@ fi
 #################################################
 # check for the DFS auth system
 echo $ac_n "checking whether to use DFS auth""... $ac_c" 1>&6
-echo "configure:11122: checking whether to use DFS auth" >&5
+echo "configure:11124: checking whether to use DFS auth" >&5
 # Check whether --with-dfs or --without-dfs was given.
 if test "${with_dfs+set}" = set; then
   withval="$with_dfs"
@@ -11143,7 +11145,7 @@ fi
 #################################################
 # check for Kerberos IV auth system
 echo $ac_n "checking whether to use Kerberos IV""... $ac_c" 1>&6
-echo "configure:11147: checking whether to use Kerberos IV" >&5
+echo "configure:11149: checking whether to use Kerberos IV" >&5
 # Check whether --with-krb4 or --without-krb4 was given.
 if test "${with_krb4+set}" = set; then
   withval="$with_krb4"
@@ -11155,7 +11157,7 @@ if test "${with_krb4+set}" = set; then
 EOF
 
     echo $ac_n "checking for dn_expand in -lresolv""... $ac_c" 1>&6
-echo "configure:11159: checking for dn_expand in -lresolv" >&5
+echo "configure:11161: checking for dn_expand in -lresolv" >&5
 ac_lib_var=`echo resolv'_'dn_expand | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -11163,7 +11165,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lresolv  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 11167 "configure"
+#line 11169 "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
@@ -11174,7 +11176,7 @@ int main() {
 dn_expand()
 ; return 0; }
 EOF
-if { (eval echo configure:11178: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11180: \"$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
@@ -11222,7 +11224,7 @@ fi
 #################################################
 # check for Kerberos 5 auth system
 echo $ac_n "checking whether to use Kerberos 5""... $ac_c" 1>&6
-echo "configure:11226: checking whether to use Kerberos 5" >&5
+echo "configure:11228: checking whether to use Kerberos 5" >&5
 # Check whether --with-krb5 or --without-krb5 was given.
 if test "${with_krb5+set}" = set; then
   withval="$with_krb5"
@@ -11254,7 +11256,7 @@ fi
 #################################################
 # check for automount support
 echo $ac_n "checking whether to use AUTOMOUNT""... $ac_c" 1>&6
-echo "configure:11258: checking whether to use AUTOMOUNT" >&5
+echo "configure:11260: checking whether to use AUTOMOUNT" >&5
 # Check whether --with-automount or --without-automount was given.
 if test "${with_automount+set}" = set; then
   withval="$with_automount"
@@ -11279,7 +11281,7 @@ fi
 #################################################
 # check for smbmount support
 echo $ac_n "checking whether to use SMBMOUNT""... $ac_c" 1>&6
-echo "configure:11283: checking whether to use SMBMOUNT" >&5
+echo "configure:11285: checking whether to use SMBMOUNT" >&5
 # Check whether --with-smbmount or --without-smbmount was given.
 if test "${with_smbmount+set}" = set; then
   withval="$with_smbmount"
@@ -11316,7 +11318,7 @@ fi
 # check for a PAM password database
 with_pam_for_crypt=no
 echo $ac_n "checking whether to use PAM password database""... $ac_c" 1>&6
-echo "configure:11320: checking whether to use PAM password database" >&5
+echo "configure:11322: checking whether to use PAM password database" >&5
 # Check whether --with-pam or --without-pam was given.
 if test "${with_pam+set}" = set; then
   withval="$with_pam"
@@ -11342,7 +11344,7 @@ fi
 
 # we can't build a pam module if we don't have pam.
 echo $ac_n "checking for pam_get_data in -lpam""... $ac_c" 1>&6
-echo "configure:11346: checking for pam_get_data in -lpam" >&5
+echo "configure:11348: checking for pam_get_data in -lpam" >&5
 ac_lib_var=`echo pam'_'pam_get_data | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -11350,7 +11352,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lpam  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 11354 "configure"
+#line 11356 "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
@@ -11361,7 +11363,7 @@ int main() {
 pam_get_data()
 ; return 0; }
 EOF
-if { (eval echo configure:11365: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11367: \"$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
@@ -11388,7 +11390,7 @@ fi
 #################################################
 # check for pam_smbpass support
 echo $ac_n "checking whether to use pam_smbpass""... $ac_c" 1>&6
-echo "configure:11392: checking whether to use pam_smbpass" >&5
+echo "configure:11394: checking whether to use pam_smbpass" >&5
 # Check whether --with-pam_smbpass or --without-pam_smbpass was given.
 if test "${with_pam_smbpass+set}" = set; then
   withval="$with_pam_smbpass"
@@ -11426,12 +11428,12 @@ if test $with_pam_for_crypt = no; then
 for ac_func in crypt
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:11430: checking for $ac_func" >&5
+echo "configure:11432: 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 11435 "configure"
+#line 11437 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -11454,7 +11456,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:11458: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11460: \"$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
@@ -11480,7 +11482,7 @@ done
 
 if test x"$ac_cv_func_crypt" = x"no"; then
     echo $ac_n "checking for crypt in -lcrypt""... $ac_c" 1>&6
-echo "configure:11484: checking for crypt in -lcrypt" >&5
+echo "configure:11486: 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
@@ -11488,7 +11490,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lcrypt  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 11492 "configure"
+#line 11494 "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
@@ -11499,7 +11501,7 @@ int main() {
 crypt()
 ; return 0; }
 EOF
-if { (eval echo configure:11503: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11505: \"$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
@@ -11534,7 +11536,7 @@ fi
 ##
 if test $with_pam_for_crypt = no; then
 echo $ac_n "checking for a crypt that needs truncated salt""... $ac_c" 1>&6
-echo "configure:11538: checking for a crypt that needs truncated salt" >&5
+echo "configure:11540: checking for a crypt that needs truncated salt" >&5
 if eval "test \"`echo '$''{'samba_cv_HAVE_TRUNCATED_SALT'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -11543,11 +11545,11 @@ if test "$cross_compiling" = yes; then
   samba_cv_HAVE_TRUNCATED_SALT=cross
 else
   cat > conftest.$ac_ext <<EOF
-#line 11547 "configure"
+#line 11549 "configure"
 #include "confdefs.h"
 #include "${srcdir-.}/tests/crypttest.c"
 EOF
-if { (eval echo configure:11551: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:11553: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   samba_cv_HAVE_TRUNCATED_SALT=no
 else
@@ -11574,7 +11576,7 @@ fi
 #################################################
 # check for a TDB password database
 echo $ac_n "checking whether to use TDB password database""... $ac_c" 1>&6
-echo "configure:11578: checking whether to use TDB password database" >&5
+echo "configure:11580: checking whether to use TDB password database" >&5
 # Check whether --with-tdbsam or --without-tdbsam was given.
 if test "${with_tdbsam+set}" = set; then
   withval="$with_tdbsam"
@@ -11582,7 +11584,7 @@ if test "${with_tdbsam+set}" = set; then
   yes)
     echo "$ac_t""yes" 1>&6
     cat >> confdefs.h <<\EOF
-#define WITH_TDBSAM 1
+#define WITH_TDB_SAM 1
 EOF
 
     ;;
 
 #################################################
 # check for a LDAP password database
-echo $ac_n "checking whether to use LDAP password database""... $ac_c" 1>&6
-echo "configure:11603: checking whether to use LDAP password database" >&5
-# Check whether --with-ldap or --without-ldap was given.
-if test "${with_ldap+set}" = set; then
-  withval="$with_ldap"
+echo $ac_n "checking whether to use LDAP SAM database""... $ac_c" 1>&6
+echo "configure:11605: checking whether to use LDAP SAM database" >&5
+# Check whether --with-ldapsam or --without-ldapsam was given.
+if test "${with_ldapsam+set}" = set; then
+  withval="$with_ldapsam"
    case "$withval" in
   yes)
     echo "$ac_t""yes" 1>&6
     cat >> confdefs.h <<\EOF
-#define WITH_LDAP 1
+#define WITH_LDAP_SAM 1
 EOF
 
-    { echo "configure: error: LDAP password database not supported in this version." 1>&2; exit 1; }
+    LIBS="-lldap -llber -lresolv $LIBS"
+    with_smbpasswd_sam=no
     ;;
   *)
     echo "$ac_t""no" 1>&6
 
 
 #################################################
-# commented out by --jerry
 # check for a NISPLUS password database
-#AC_MSG_CHECKING(whether to use NISPLUS password database)
-#AC_ARG_WITH(nisplus,
-#[  --with-nisplus     Include NISPLUS password database support
-#[ case "$withval" in
-#  yes)
-#    AC_MSG_RESULT(yes)
-#    AC_DEFINE(WITH_NISPLUS)
-#    ;;
-#  *)
-#    AC_MSG_RESULT(no)
-#    ;;
-#  esac ],
-#  AC_MSG_RESULT(no)
-#)
+echo $ac_n "checking whether to use NISPLUS SAM database""... $ac_c" 1>&6
+echo "configure:11632: checking whether to use NISPLUS SAM database" >&5
+# Check whether --with-nisplussam or --without-nisplussam was given.
+if test "${with_nisplussam+set}" = set; then
+  withval="$with_nisplussam"
+   case "$withval" in
+  yes)
+    echo "$ac_t""yes" 1>&6
+    cat >> confdefs.h <<\EOF
+#define WITH_NISPLUS_SAM 1
+EOF
+
+    with_smbpasswd_sam=no
+    ;;
+  *)
+    echo "$ac_t""no" 1>&6
+    ;;
+  esac 
+else
+  echo "$ac_t""no" 1>&6
+
+fi
 
 #################################################
 # check for a NISPLUS_HOME support 
 echo $ac_n "checking whether to use NISPLUS_HOME""... $ac_c" 1>&6
-echo "configure:11647: checking whether to use NISPLUS_HOME" >&5
+echo "configure:11657: checking whether to use NISPLUS_HOME" >&5
 # Check whether --with-nisplus-home or --without-nisplus-home was given.
 if test "${with_nisplus_home+set}" = set; then
   withval="$with_nisplus_home"
@@ -11668,7 +11678,7 @@ fi
 #################################################
 # check for the secure socket layer
 echo $ac_n "checking whether to use SSL""... $ac_c" 1>&6
-echo "configure:11672: checking whether to use SSL" >&5
+echo "configure:11682: checking whether to use SSL" >&5
 # Check whether --with-ssl or --without-ssl was given.
 if test "${with_ssl+set}" = set; then
   withval="$with_ssl"
@@ -11739,7 +11749,7 @@ fi
 #################################################
 # check for syslog logging
 echo $ac_n "checking whether to use syslog logging""... $ac_c" 1>&6
-echo "configure:11743: checking whether to use syslog logging" >&5
+echo "configure:11753: checking whether to use syslog logging" >&5
 # Check whether --with-syslog or --without-syslog was given.
 if test "${with_syslog+set}" = set; then
   withval="$with_syslog"
@@ -11764,7 +11774,7 @@ fi
 #################################################
 # check for a shared memory profiling support
 echo $ac_n "checking whether to use profiling""... $ac_c" 1>&6
-echo "configure:11768: checking whether to use profiling" >&5
+echo "configure:11778: checking whether to use profiling" >&5
 # Check whether --with-profiling-data or --without-profiling-data was given.
 if test "${with_profiling_data+set}" = set; then
   withval="$with_profiling_data"
@@ -11792,7 +11802,7 @@ fi
 QUOTAOBJS=smbd/noquotas.o
 
 echo $ac_n "checking whether to support disk-quotas""... $ac_c" 1>&6
-echo "configure:11796: checking whether to support disk-quotas" >&5
+echo "configure:11806: checking whether to support disk-quotas" >&5
 # Check whether --with-quotas or --without-quotas was given.
 if test "${with_quotas+set}" = set; then
   withval="$with_quotas"
@@ -11803,13 +11813,13 @@ if test "${with_quotas+set}" = set; then
       *linux*)
         # Check for kernel 2.4.x quota braindamage...
         echo $ac_n "checking for linux 2.4.x quota braindamage..""... $ac_c" 1>&6
-echo "configure:11807: checking for linux 2.4.x quota braindamage.." >&5
+echo "configure:11817: checking for linux 2.4.x quota braindamage.." >&5
 if eval "test \"`echo '$''{'samba_cv_linux_2_4_quota_braindamage'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
         cat > conftest.$ac_ext <<EOF
-#line 11813 "configure"
+#line 11823 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 #include <sys/types.h>
@@ -11821,7 +11831,7 @@ int main() {
 struct mem_dqblk D;
 ; return 0; }
 EOF
-if { (eval echo configure:11825: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:11835: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   samba_cv_linux_2_4_quota_braindamage=yes
 else
@@ -11870,7 +11880,7 @@ fi
 # check for experimental utmp accounting
 
 echo $ac_n "checking whether to support utmp accounting""... $ac_c" 1>&6
-echo "configure:11874: checking whether to support utmp accounting" >&5
+echo "configure:11884: checking whether to support utmp accounting" >&5
 # Check whether --with-utmp or --without-utmp was given.
 if test "${with_utmp+set}" = set; then
   withval="$with_utmp"
@@ -11970,7 +11980,7 @@ fi
 #################################################
 # check for i18n'ed SWAT compiling
 echo $ac_n "checking whether to use i18n'ed SWAT""... $ac_c" 1>&6
-echo "configure:11974: checking whether to use i18n'ed SWAT" >&5
+echo "configure:11984: checking whether to use i18n'ed SWAT" >&5
 # Check whether --with-i18n-swat or --without-i18n-swat was given.
 if test "${with_i18n_swat+set}" = set; then
   withval="$with_i18n_swat"
@@ -12000,7 +12010,7 @@ fi
 #################################################
 # set SWAT default language for old web browsers.
 echo $ac_n "checking whether to use default SWAT language""... $ac_c" 1>&6
-echo "configure:12004: checking whether to use default SWAT language" >&5
+echo "configure:12014: checking whether to use default SWAT language" >&5
 # Check whether --with-swat-def-lang or --without-swat-def-lang was given.
 if test "${with_swat_def_lang+set}" = set; then
   withval="$with_swat_def_lang"
@@ -12039,7 +12049,7 @@ fi
 #################################################
 # choose native language(s) of man pages
 echo $ac_n "checking chosen man pages' language(s)""... $ac_c" 1>&6
-echo "configure:12043: checking chosen man pages' language(s)" >&5
+echo "configure:12053: checking chosen man pages' language(s)" >&5
 # Check whether --with-manpages-langs or --without-manpages-langs was given.
 if test "${with_manpages_langs+set}" = set; then
   withval="$with_manpages_langs"
 #################################################
 # these tests are taken from the GNU fileutils package
 echo "checking how to get filesystem space usage" 1>&6
-echo "configure:12071: checking how to get filesystem space usage" >&5
+echo "configure:12081: checking how to get filesystem space usage" >&5
 space=no
 
 # Test for statvfs64.
 if test $space = no; then
   # SVR4
   echo $ac_n "checking statvfs64 function (SVR4)""... $ac_c" 1>&6
-echo "configure:12078: checking statvfs64 function (SVR4)" >&5
+echo "configure:12088: checking statvfs64 function (SVR4)" >&5
 if eval "test \"`echo '$''{'fu_cv_sys_stat_statvfs64'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -12082,7 +12092,7 @@ else
   fu_cv_sys_stat_statvfs64=cross
 else
   cat > conftest.$ac_ext <<EOF
-#line 12086 "configure"
+#line 12096 "configure"
 #include "confdefs.h"
 
 #if defined(HAVE_UNISTD_H)
@@ -12096,7 +12106,7 @@ else
     exit (statvfs64 (".", &fsd));
   }
 EOF
-if { (eval echo configure:12100: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:12110: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   fu_cv_sys_stat_statvfs64=yes
 else
 if test $space = no; then
   # SVR4
   echo $ac_n "checking statvfs function (SVR4)""... $ac_c" 1>&6
-echo "configure:12133: checking statvfs function (SVR4)" >&5
+echo "configure:12143: checking statvfs function (SVR4)" >&5
 if eval "test \"`echo '$''{'fu_cv_sys_stat_statvfs'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 12138 "configure"
+#line 12148 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <sys/statvfs.h>
@@ -12142,7 +12152,7 @@ int main() {
 struct statvfs fsd; statvfs (0, &fsd);
 ; return 0; }
 EOF
-if { (eval echo configure:12146: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:12156: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   fu_cv_sys_stat_statvfs=yes
 else
@@ -12167,7 +12177,7 @@ fi
 if test $space = no; then
   # DEC Alpha running OSF/1
   echo $ac_n "checking for 3-argument statfs function (DEC OSF/1)""... $ac_c" 1>&6
-echo "configure:12171: checking for 3-argument statfs function (DEC OSF/1)" >&5
+echo "configure:12181: checking for 3-argument statfs function (DEC OSF/1)" >&5
   if eval "test \"`echo '$''{'fu_cv_sys_stat_statfs3_osf1'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -12175,7 +12185,7 @@ else
   fu_cv_sys_stat_statfs3_osf1=no
 else
   cat > conftest.$ac_ext <<EOF
-#line 12179 "configure"
+#line 12189 "configure"
 #include "confdefs.h"
 
 #include <sys/param.h>
@@ -12188,7 +12198,7 @@ else
     exit (statfs (".", &fsd, sizeof (struct statfs)));
   }
 EOF
-if { (eval echo configure:12192: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:12202: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   fu_cv_sys_stat_statfs3_osf1=yes
 else
@@ -12215,7 +12225,7 @@ fi
 if test $space = no; then
 # AIX
   echo $ac_n "checking for two-argument statfs with statfs.bsize member (AIX, 4.3BSD)""... $ac_c" 1>&6
-echo "configure:12219: checking for two-argument statfs with statfs.bsize member (AIX, 4.3BSD)" >&5
+echo "configure:12229: checking for two-argument statfs with statfs.bsize member (AIX, 4.3BSD)" >&5
   if eval "test \"`echo '$''{'fu_cv_sys_stat_statfs2_bsize'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -12223,7 +12233,7 @@ else
   fu_cv_sys_stat_statfs2_bsize=no
 else
   cat > conftest.$ac_ext <<EOF
-#line 12227 "configure"
+#line 12237 "configure"
 #include "confdefs.h"
 
 #ifdef HAVE_SYS_PARAM_H
@@ -12242,7 +12252,7 @@ else
   exit (statfs (".", &fsd));
   }
 EOF
-if { (eval echo configure:12246: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:12256: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   fu_cv_sys_stat_statfs2_bsize=yes
 else
@@ -12269,7 +12279,7 @@ fi
 if test $space = no; then
 # SVR3
   echo $ac_n "checking for four-argument statfs (AIX-3.2.5, SVR3)""... $ac_c" 1>&6
-echo "configure:12273: checking for four-argument statfs (AIX-3.2.5, SVR3)" >&5
+echo "configure:12283: checking for four-argument statfs (AIX-3.2.5, SVR3)" >&5
   if eval "test \"`echo '$''{'fu_cv_sys_stat_statfs4'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -12277,7 +12287,7 @@ else
   fu_cv_sys_stat_statfs4=no
 else
   cat > conftest.$ac_ext <<EOF
-#line 12281 "configure"
+#line 12291 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <sys/statfs.h>
@@ -12287,7 +12297,7 @@ else
   exit (statfs (".", &fsd, sizeof fsd, 0));
   }
 EOF
-if { (eval echo configure:12291: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:12301: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   fu_cv_sys_stat_statfs4=yes
 else
@@ -12314,7 +12324,7 @@ fi
 if test $space = no; then
 # 4.4BSD and NetBSD
   echo $ac_n "checking for two-argument statfs with statfs.fsize member (4.4BSD and NetBSD)""... $ac_c" 1>&6
-echo "configure:12318: checking for two-argument statfs with statfs.fsize member (4.4BSD and NetBSD)" >&5
+echo "configure:12328: checking for two-argument statfs with statfs.fsize member (4.4BSD and NetBSD)" >&5
   if eval "test \"`echo '$''{'fu_cv_sys_stat_statfs2_fsize'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -12322,7 +12332,7 @@ else
   fu_cv_sys_stat_statfs2_fsize=no
 else
   cat > conftest.$ac_ext <<EOF
-#line 12326 "configure"
+#line 12336 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #ifdef HAVE_SYS_PARAM_H
@@ -12338,7 +12348,7 @@ else
   exit (statfs (".", &fsd));
   }
 EOF
-if { (eval echo configure:12342: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:12352: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   fu_cv_sys_stat_statfs2_fsize=yes
 else
@@ -12365,7 +12375,7 @@ fi
 if test $space = no; then
   # Ultrix
   echo $ac_n "checking for two-argument statfs with struct fs_data (Ultrix)""... $ac_c" 1>&6
-echo "configure:12369: checking for two-argument statfs with struct fs_data (Ultrix)" >&5
+echo "configure:12379: checking for two-argument statfs with struct fs_data (Ultrix)" >&5
   if eval "test \"`echo '$''{'fu_cv_sys_stat_fs_data'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -12373,7 +12383,7 @@ else
   fu_cv_sys_stat_fs_data=no
 else
   cat > conftest.$ac_ext <<EOF
-#line 12377 "configure"
+#line 12387 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #ifdef HAVE_SYS_PARAM_H
@@ -12393,7 +12403,7 @@ else
   exit (statfs (".", &fsd) != 1);
   }
 EOF
-if { (eval echo configure:12397: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:12407: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   fu_cv_sys_stat_fs_data=yes
 else
@@ -12426,9 +12436,9 @@ fi
 # file support.
 #
 echo $ac_n "checking if large file support can be enabled""... $ac_c" 1>&6
-echo "configure:12430: checking if large file support can be enabled" >&5
+echo "configure:12440: checking if large file support can be enabled" >&5
 cat > conftest.$ac_ext <<EOF
-#line 12432 "configure"
+#line 12442 "configure"
 #include "confdefs.h"
 
 #if defined(HAVE_LONGLONG) && (defined(HAVE_OFF64_T) || (defined(SIZEOF_OFF_T) && (SIZEOF_OFF_T == 8)))
@@ -12441,7 +12451,7 @@ int main() {
 int i
 ; return 0; }
 EOF
-if { (eval echo configure:12445: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:12455: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   samba_cv_HAVE_EXPLICIT_LARGEFILE_SUPPORT=yes
 else
@@ -12506,7 +12516,7 @@ fi
 # check for ACL support
 
 echo $ac_n "checking whether to support ACLs""... $ac_c" 1>&6
-echo "configure:12510: checking whether to support ACLs" >&5
+echo "configure:12520: checking whether to support ACLs" >&5
 # Check whether --with-acl-support or --without-acl-support was given.
 if test "${with_acl_support+set}" = set; then
   withval="$with_acl_support"
@@ -12552,7 +12562,7 @@ EOF
                        ;;
         *)
                        echo $ac_n "checking for acl_get_file in -lacl""... $ac_c" 1>&6
-echo "configure:12556: checking for acl_get_file in -lacl" >&5
+echo "configure:12566: checking for acl_get_file in -lacl" >&5
 ac_lib_var=`echo acl'_'acl_get_file | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -12560,7 +12570,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lacl  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 12564 "configure"
+#line 12574 "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
@@ -12571,7 +12581,7 @@ int main() {
 acl_get_file()
 ; return 0; }
 EOF
-if { (eval echo configure:12575: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:12585: \"$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
@@ -12599,13 +12609,13 @@ else
 fi
 
                        echo $ac_n "checking for ACL support""... $ac_c" 1>&6
-echo "configure:12603: checking for ACL support" >&5
+echo "configure:12613: checking for ACL support" >&5
 if eval "test \"`echo '$''{'samba_cv_HAVE_POSIX_ACLS'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
                        cat > conftest.$ac_ext <<EOF
-#line 12609 "configure"
+#line 12619 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <sys/acl.h>
@@ -12613,7 +12623,7 @@ int main() {
  acl_t acl; int entry_id; acl_entry_t *entry_p; return acl_get_entry( acl, entry_id, entry_p);
 ; return 0; }
 EOF
-if { (eval echo configure:12617: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:12627: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   samba_cv_HAVE_POSIX_ACLS=yes
 else
@@ -12633,13 +12643,13 @@ echo "$ac_t""$samba_cv_HAVE_POSIX_ACLS" 1>&6
 EOF
 
                                echo $ac_n "checking for acl_get_perm_np""... $ac_c" 1>&6
-echo "configure:12637: checking for acl_get_perm_np" >&5
+echo "configure:12647: checking for acl_get_perm_np" >&5
 if eval "test \"`echo '$''{'samba_cv_HAVE_ACL_GET_PERM_NP'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   
                                cat > conftest.$ac_ext <<EOF
-#line 12643 "configure"
+#line 12653 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <sys/acl.h>
@@ -12647,7 +12657,7 @@ int main() {
  acl_permset_t permset_d; acl_perm_t perm; return acl_get_perm_np( permset_d, perm);
 ; return 0; }
 EOF
-if { (eval echo configure:12651: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:12661: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   samba_cv_HAVE_ACL_GET_PERM_NP=yes
 else
@@ -12694,7 +12704,7 @@ fi
 # (WINBIND_STARGETS) and shared libraries (WINBIND_LTARGETS).
 
 echo $ac_n "checking whether to build winbind""... $ac_c" 1>&6
-echo "configure:12698: checking whether to build winbind" >&5
+echo "configure:12708: checking whether to build winbind" >&5
 
 # Initially, the value of $host_os decides whether winbind is supported
 
@@ -12776,7 +12786,7 @@ EOF
 
 ALL_LINGUAS="en ja pl tr"
 echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
-echo "configure:12780: checking whether ${MAKE-make} sets \${MAKE}" >&5
+echo "configure:12790: checking whether ${MAKE-make} sets \${MAKE}" >&5
 set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -12805,7 +12815,7 @@ fi
 # 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:12809: checking for $ac_word" >&5
+echo "configure:12819: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -12833,7 +12843,7 @@ else
 fi
 
 echo $ac_n "checking for POSIXized ISC""... $ac_c" 1>&6
-echo "configure:12837: checking for POSIXized ISC" >&5
+echo "configure:12847: 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
 # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
 # for constant arguments.  Useless!
 echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6
-echo "configure:12860: checking for working alloca.h" >&5
+echo "configure:12870: checking for working alloca.h" >&5
 if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 12865 "configure"
+#line 12875 "configure"
 #include "confdefs.h"
 #include <alloca.h>
 int main() {
 char *p = alloca(2 * sizeof(int));
 ; return 0; }
 EOF
-if { (eval echo configure:12872: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:12882: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   ac_cv_header_alloca_h=yes
 else
@@ -12889,12 +12899,12 @@ EOF
 fi
 
 echo $ac_n "checking for alloca""... $ac_c" 1>&6
-echo "configure:12893: checking for alloca" >&5
+echo "configure:12903: checking for alloca" >&5
 if eval "test \"`echo '$''{'ac_cv_func_alloca_works'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 12898 "configure"
+#line 12908 "configure"
 #include "confdefs.h"
 
 #ifdef __GNUC__
@@ -12922,7 +12932,7 @@ int main() {
 char *p = (char *) alloca(1);
 ; return 0; }
 EOF
-if { (eval echo configure:12926: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:12936: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   ac_cv_func_alloca_works=yes
 else
@@ -12954,12 +12964,12 @@ EOF
 
 
 echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6
-echo "configure:12958: checking whether alloca needs Cray hooks" >&5
+echo "configure:12968: checking whether alloca needs Cray hooks" >&5
 if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 12963 "configure"
+#line 12973 "configure"
 #include "confdefs.h"
 #if defined(CRAY) && ! defined(CRAY2)
 webecray
@@ -12984,12 +12994,12 @@ echo "$ac_t""$ac_cv_os_cray" 1>&6
 if test $ac_cv_os_cray = yes; then
 for ac_func in _getb67 GETB67 getb67; do
   echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:12988: checking for $ac_func" >&5
+echo "configure:12998: 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 12993 "configure"
+#line 13003 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -13012,7 +13022,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:13016: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13026: \"$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
@@ -13039,7 +13049,7 @@ done
 fi
 
 echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6
-echo "configure:13043: checking stack direction for C alloca" >&5
+echo "configure:13053: checking stack direction for C alloca" >&5
 if eval "test \"`echo '$''{'ac_cv_c_stack_direction'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -13047,7 +13057,7 @@ else
   ac_cv_c_stack_direction=0
 else
   cat > conftest.$ac_ext <<EOF
-#line 13051 "configure"
+#line 13061 "configure"
 #include "confdefs.h"
 find_stack_direction ()
 {
@@ -13066,7 +13076,7 @@ main ()
   exit (find_stack_direction() < 0);
 }
 EOF
-if { (eval echo configure:13070: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:13080: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   ac_cv_c_stack_direction=1
 else
@@ -13091,17 +13101,17 @@ for ac_hdr in unistd.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:13095: checking for $ac_hdr" >&5
+echo "configure:13105: 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 13100 "configure"
+#line 13110 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:13105: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:13115: \"$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*
@@ -13130,12 +13140,12 @@ done
 for ac_func in getpagesize
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:13134: checking for $ac_func" >&5
+echo "configure:13144: 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 13139 "configure"
+#line 13149 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -13158,7 +13168,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:13162: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13172: \"$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
@@ -13183,7 +13193,7 @@ fi
 done
 
 echo $ac_n "checking for working mmap""... $ac_c" 1>&6
-echo "configure:13187: checking for working mmap" >&5
+echo "configure:13197: checking for working mmap" >&5
 if eval "test \"`echo '$''{'ac_cv_func_mmap_fixed_mapped'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -13191,7 +13201,7 @@ else
   ac_cv_func_mmap_fixed_mapped=no
 else
   cat > conftest.$ac_ext <<EOF
-#line 13195 "configure"
+#line 13205 "configure"
 #include "confdefs.h"
 
 /* Thanks to Mike Haertel and Jim Avera for this test.
@@ -13331,7 +13341,7 @@ main()
 }
 
 EOF
-if { (eval echo configure:13335: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:13345: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   ac_cv_func_mmap_fixed_mapped=yes
 else
@@ -13359,17 +13369,17 @@ unistd.h sys/param.h
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:13363: checking for $ac_hdr" >&5
+echo "configure:13373: 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 13368 "configure"
+#line 13378 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:13373: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:13383: \"$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*
@@ -13399,12 +13409,12 @@ done
 strdup __argz_count __argz_stringify __argz_next
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:13403: checking for $ac_func" >&5
+echo "configure:13413: 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 13408 "configure"
+#line 13418 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -13427,7 +13437,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:13431: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13441: \"$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
@@ -13456,12 +13466,12 @@ done
      for ac_func in stpcpy
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:13460: checking for $ac_func" >&5
+echo "configure:13470: 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 13465 "configure"
+#line 13475 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -13484,7 +13494,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:13488: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13498: \"$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
@@ -13518,19 +13528,19 @@ EOF
 
    if test $ac_cv_header_locale_h = yes; then
     echo $ac_n "checking for LC_MESSAGES""... $ac_c" 1>&6
-echo "configure:13522: checking for LC_MESSAGES" >&5
+echo "configure:13532: checking for LC_MESSAGES" >&5
 if eval "test \"`echo '$''{'am_cv_val_LC_MESSAGES'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 13527 "configure"
+#line 13537 "configure"
 #include "confdefs.h"
 #include <locale.h>
 int main() {
 return LC_MESSAGES
 ; return 0; }
 EOF
-if { (eval echo configure:13534: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13544: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   am_cv_val_LC_MESSAGES=yes
 else
@@ -13551,7 +13561,7 @@ EOF
     fi
   fi
    echo $ac_n "checking whether NLS is requested""... $ac_c" 1>&6
-echo "configure:13555: checking whether NLS is requested" >&5
+echo "configure:13565: checking whether NLS is requested" >&5
         # Check whether --enable-nls or --disable-nls was given.
 if test "${enable_nls+set}" = set; then
   enableval="$enable_nls"
@@ -13587,17 +13597,17 @@ EOF
 
         ac_safe=`echo "libintl.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for libintl.h""... $ac_c" 1>&6
-echo "configure:13591: checking for libintl.h" >&5
+echo "configure:13601: checking for libintl.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 13596 "configure"
+#line 13606 "configure"
 #include "confdefs.h"
 #include <libintl.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:13601: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:13611: \"$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*
 if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
   echo "$ac_t""yes" 1>&6
   echo $ac_n "checking for gettext in libc""... $ac_c" 1>&6
-echo "configure:13618: checking for gettext in libc" >&5
+echo "configure:13628: checking for gettext in libc" >&5
 if eval "test \"`echo '$''{'gt_cv_func_gettext_libc'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 13623 "configure"
+#line 13633 "configure"
 #include "confdefs.h"
 #include <libintl.h>
 int main() {
 return (int) gettext ("")
 ; return 0; }
 EOF
-if { (eval echo configure:13630: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13640: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   gt_cv_func_gettext_libc=yes
 else
@@ -13642,7 +13652,7 @@ echo "$ac_t""$gt_cv_func_gettext_libc" 1>&6
 
            if test "$gt_cv_func_gettext_libc" != "yes"; then
              echo $ac_n "checking for bindtextdomain in -lintl""... $ac_c" 1>&6
-echo "configure:13646: checking for bindtextdomain in -lintl" >&5
+echo "configure:13656: checking for bindtextdomain in -lintl" >&5
 ac_lib_var=`echo intl'_'bindtextdomain | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -13650,7 +13660,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lintl  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 13654 "configure"
+#line 13664 "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
@@ -13661,7 +13671,7 @@ int main() {
 bindtextdomain()
 ; return 0; }
 EOF
-if { (eval echo configure:13665: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13675: \"$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
 if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
   echo "$ac_t""yes" 1>&6
   echo $ac_n "checking for gettext in libintl""... $ac_c" 1>&6
-echo "configure:13681: checking for gettext in libintl" >&5
+echo "configure:13691: checking for gettext in libintl" >&5
 if eval "test \"`echo '$''{'gt_cv_func_gettext_libintl'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   echo $ac_n "checking for gettext in -lintl""... $ac_c" 1>&6
-echo "configure:13686: checking for gettext in -lintl" >&5
+echo "configure:13696: checking for gettext in -lintl" >&5
 ac_lib_var=`echo intl'_'gettext | sed 'y%./+-%__p_%'`
 if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
@@ -13690,7 +13700,7 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-lintl  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 13694 "configure"
+#line 13704 "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
@@ -13701,7 +13711,7 @@ int main() {
 gettext()
 ; return 0; }
 EOF
-if { (eval echo configure:13705: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13715: \"$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
@@ -13740,7 +13750,7 @@ EOF
               # Extract the first word of "msgfmt", so it can be a program name with args.
 set dummy msgfmt; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:13744: checking for $ac_word" >&5
+echo "configure:13754: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
                 for ac_func in dcgettext
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:13778: checking for $ac_func" >&5
+echo "configure:13788: 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 13783 "configure"
+#line 13793 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -13802,7 +13812,7 @@ $ac_func();
 
 ; return 0; }
 EOF
-if { (eval echo configure:13806: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13816: \"$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
@@ -13829,7 +13839,7 @@ done
                 # Extract the first word of "gmsgfmt", so it can be a program name with args.
 set dummy gmsgfmt; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:13833: checking for $ac_word" >&5
+echo "configure:13843: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -13865,7 +13875,7 @@ fi
                 # Extract the first word of "xgettext", so it can be a program name with args.
 set dummy xgettext; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:13869: checking for $ac_word" >&5
+echo "configure:13879: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -13897,7 +13907,7 @@ else
 fi
 
                 cat > conftest.$ac_ext <<EOF
-#line 13901 "configure"
+#line 13911 "configure"
 #include "confdefs.h"
 
 int main() {
@@ -13905,7 +13915,7 @@ extern int _nl_msg_cat_cntr;
                                return _nl_msg_cat_cntr
 ; return 0; }
 EOF
-if { (eval echo configure:13909: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13919: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   CATOBJEXT=.gmo
                    DATADIRNAME=share
@@ -13937,7 +13947,7 @@ fi
 
           if test "$nls_cv_use_catgets" = "yes"; then
                         echo $ac_n "checking for main in -li""... $ac_c" 1>&6
-echo "configure:13941: checking for main in -li" >&5
+echo "configure:13951: checking for main in -li" >&5
 ac_lib_var=`echo i'_'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
@@ -13945,14 +13955,14 @@ else
   ac_save_LIBS="$LIBS"
 LIBS="-li  $LIBS"
 cat > conftest.$ac_ext <<EOF
-#line 13949 "configure"
+#line 13959 "configure"
 #include "confdefs.h"
 
 int main() {
 main()
 ; return 0; }
 EOF
-if { (eval echo configure:13956: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13966: \"$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
@@ -13980,12 +13990,12 @@ else
 fi
 
             echo $ac_n "checking for catgets""... $ac_c" 1>&6
-echo "configure:13984: checking for catgets" >&5
+echo "configure:13994: checking for catgets" >&5
 if eval "test \"`echo '$''{'ac_cv_func_catgets'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 13989 "configure"
+#line 13999 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char catgets(); below.  */
@@ -14008,7 +14018,7 @@ catgets();
 
 ; return 0; }
 EOF
-if { (eval echo configure:14012: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:14022: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   eval "ac_cv_func_catgets=yes"
 else
@@ -14030,7 +14040,7 @@ EOF
                # Extract the first word of "gencat", so it can be a program name with args.
 set dummy gencat; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:14034: checking for $ac_word" >&5
+echo "configure:14044: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_GENCAT'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -14066,7 +14076,7 @@ fi
                  # Extract the first word of "gmsgfmt", so it can be a program name with args.
 set dummy gmsgfmt; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:14070: checking for $ac_word" >&5
+echo "configure:14080: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -14103,7 +14113,7 @@ fi
                    # Extract the first word of "msgfmt", so it can be a program name with args.
 set dummy msgfmt; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:14107: checking for $ac_word" >&5
+echo "configure:14117: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -14138,7 +14148,7 @@ fi
                  # Extract the first word of "xgettext", so it can be a program name with args.
 set dummy xgettext; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:14142: checking for $ac_word" >&5
+echo "configure:14152: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -14196,7 +14206,7 @@ fi
         # Extract the first word of "msgfmt", so it can be a program name with args.
 set dummy msgfmt; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:14200: checking for $ac_word" >&5
+echo "configure:14210: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -14230,7 +14240,7 @@ fi
         # Extract the first word of "gmsgfmt", so it can be a program name with args.
 set dummy gmsgfmt; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:14234: checking for $ac_word" >&5
+echo "configure:14244: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -14266,7 +14276,7 @@ fi
         # Extract the first word of "xgettext", so it can be a program name with args.
 set dummy xgettext; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:14270: checking for $ac_word" >&5
+echo "configure:14280: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -14363,7 +14373,7 @@ fi
        LINGUAS=
      else
        echo $ac_n "checking for catalogs to be installed""... $ac_c" 1>&6
-echo "configure:14367: checking for catalogs to be installed" >&5
+echo "configure:14377: checking for catalogs to be installed" >&5
        NEW_LINGUAS=
        for lang in ${LINGUAS=$ALL_LINGUAS}; do
          case "$ALL_LINGUAS" in
@@ -14390,17 +14400,17 @@ echo "configure:14367: checking for catalogs to be installed" >&5
    if test "$CATOBJEXT" = ".cat"; then
      ac_safe=`echo "linux/version.h" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for linux/version.h""... $ac_c" 1>&6
-echo "configure:14394: checking for linux/version.h" >&5
+echo "configure:14404: checking for linux/version.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 14399 "configure"
+#line 14409 "configure"
 #include "confdefs.h"
 #include <linux/version.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:14404: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:14414: \"$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*
@@ -14477,11 +14487,11 @@ if test "$cross_compiling" = yes; then
   :
 else
   cat > conftest.$ac_ext <<EOF
-#line 14481 "configure"
+#line 14491 "configure"
 #include "confdefs.h"
 #include "${srcdir-.}/tests/summary.c"
 EOF
-if { (eval echo configure:14485: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:14495: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
 then
   echo "configure OK";
 else
index 8fb238e8fa8fb8f066c2a8aa9d454349da4f9f7b..52779ecff0c017565048fe5754f525e54973d167 100644 (file)
@@ -1756,7 +1756,7 @@ AC_ARG_WITH(tdbsam,
 [ case "$withval" in
   yes)
     AC_MSG_RESULT(yes)
-    AC_DEFINE(WITH_TDBSAM)
+    AC_DEFINE(WITH_TDB_SAM)
     ;;
   *)
     AC_MSG_RESULT(no)
@@ -1767,14 +1767,15 @@ AC_ARG_WITH(tdbsam,
 
 #################################################
 # check for a LDAP password database
-AC_MSG_CHECKING(whether to use LDAP password database)
-AC_ARG_WITH(ldap,
-[  --with-ldapsam          Include Experimental LDAP-Sam support (default=no)],
+AC_MSG_CHECKING(whether to use LDAP SAM database)
+AC_ARG_WITH(ldapsam,
+[  --with-ldapsam          Include experimental LDAP SAM support (default=no)],
 [ case "$withval" in
   yes)
     AC_MSG_RESULT(yes)
-    AC_DEFINE(WITH_LDAP)
-    AC_MSG_ERROR([LDAP password database not supported in this version.])
+    AC_DEFINE(WITH_LDAP_SAM)
+    LIBS="-lldap -llber -lresolv $LIBS"
+    with_smbpasswd_sam=no
     ;;
   *)
     AC_MSG_RESULT(no)
@@ -1784,23 +1785,22 @@ AC_ARG_WITH(ldap,
 )
 
 #################################################
-# commented out by --jerry
 # check for a NISPLUS password database
-#AC_MSG_CHECKING(whether to use NISPLUS password database)
-#AC_ARG_WITH(nisplus,
-#[  --with-nisplus     Include NISPLUS password database support
-#[ case "$withval" in
-#  yes)
-#    AC_MSG_RESULT(yes)
-#    AC_DEFINE(WITH_NISPLUS)
-#    ;;
-#  *)
-#    AC_MSG_RESULT(no)
-#    ;;
-#  esac ],
-#  AC_MSG_RESULT(no)
-#)
-
+AC_MSG_CHECKING(whether to use NISPLUS SAM database)
+AC_ARG_WITH(nisplussam,
+[  --with-nisplussam       Include NISPLUS SAM support (default=no)],
+[ case "$withval" in
+  yes)
+    AC_MSG_RESULT(yes)
+    AC_DEFINE(WITH_NISPLUS_SAM)
+    with_smbpasswd_sam=no
+    ;;
+  *)
+    AC_MSG_RESULT(no)
+    ;;
+  esac ],
+  AC_MSG_RESULT(no)
+)
 #################################################
 # check for a NISPLUS_HOME support 
 AC_MSG_CHECKING(whether to use NISPLUS_HOME)
index 53bd6794b3443cae899381ac4dd852f70d4482b0..29dfcc14ab88c41f56604d883dbea375442b0eb4 100644 (file)
@@ -1,4 +1,4 @@
-/* include/config.h.in.  Generated automatically from configure.in by autoheader 2.13.  */
+/* include/config.h.in.  Generated automatically from configure.in by autoheader.  */
 
 /* Define if on AIX 3.
    System headers sometimes define this.
@@ -7,6 +7,9 @@
 #undef _ALL_SOURCE
 #endif
 
+/* Define if using alloca.c.  */
+#undef C_ALLOCA
+
 /* Define if type char is unsigned and you are not using gcc.  */
 #ifndef __CHAR_UNSIGNED__
 #undef __CHAR_UNSIGNED__
 /* Define to empty if the keyword does not work.  */
 #undef const
 
+/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems.
+   This function is required for alloca.c support on those systems.  */
+#undef CRAY_STACKSEG_END
+
 /* Define to `int' if <sys/types.h> doesn't define.  */
 #undef gid_t
 
+/* Define if you have alloca, as a function or macro.  */
+#undef HAVE_ALLOCA
+
+/* Define if you have <alloca.h> and it should be used (not on Ultrix).  */
+#undef HAVE_ALLOCA_H
+
 /* Define if you have a working `mmap' system call.  */
 #undef HAVE_MMAP
 
 /* Define to `int' if <sys/types.h> doesn't define.  */
 #undef pid_t
 
+/* Define if you need to in order for stat and other things to work.  */
+#undef _POSIX_SOURCE
+
 /* Define as the return type of signal handlers (int or void).  */
 #undef RETSIGTYPE
 
 /* Define to `unsigned' if <sys/types.h> doesn't define.  */
 #undef size_t
 
+/* If using the C implementation of alloca, define if you know the
+   direction of stack growth for your system; otherwise it will be
+   automatically deduced at run-time.
+ STACK_DIRECTION > 0 => grows toward higher addresses
+ STACK_DIRECTION < 0 => grows toward lower addresses
+ STACK_DIRECTION = 0 => direction of growth unknown
+ */
+#undef STACK_DIRECTION
+
 /* Define if you have the ANSI C header files.  */
 #undef STDC_HEADERS
 
 #undef MMAP_BLACKLIST
 #undef HAVE_IMMEDIATE_STRUCTURES
 #undef HAVE_CUPS
-#undef WITH_TDBSAM
+#undef WITH_LDAP_SAM
+#undef WITH_NISPLUS_SAM
+#undef WITH_SMBPASSWD_SAM
+#undef WITH_TDB_SAM
 #undef LINUX_QUOTAS_1
 #undef LINUX_QUOTAS_2
-
-/* Define to the name of the distribution.  */
 #undef PACKAGE
-/* Define to the version of the distribution.  */
 #undef VERSION
-/* Define if your locale.h file contains LC_MESSAGES.  */
 #undef HAVE_LC_MESSAGES
-/* Define to 1 if NLS is requested.  */
 #undef ENABLE_NLS
-/* Define as 1 if you have gettext and don't want to use GNU gettext.  */
+#undef HAVE_CATGETS
 #undef HAVE_GETTEXT
-/* Define as 1 if you have the stpcpy function.  */
 #undef HAVE_STPCPY
-/* ???? (rkawa) */
 #undef I18N_SWAT
-/* Define to the default SWAT language for old browsers. */
 #undef I18N_DEFAULT_PREF_LANG
 
 /* The number of bytes in a int.  */
 /* Define if you have the __acl function.  */
 #undef HAVE___ACL
 
+/* Define if you have the __argz_count function.  */
+#undef HAVE___ARGZ_COUNT
+
+/* Define if you have the __argz_next function.  */
+#undef HAVE___ARGZ_NEXT
+
+/* Define if you have the __argz_stringify function.  */
+#undef HAVE___ARGZ_STRINGIFY
+
 /* Define if you have the __chdir function.  */
 #undef HAVE___CHDIR
 
 /* Define if you have the crypt16 function.  */
 #undef HAVE_CRYPT16
 
+/* Define if you have the dcgettext function.  */
+#undef HAVE_DCGETTEXT
+
 /* Define if you have the dup2 function.  */
 #undef HAVE_DUP2
 
 /* Define if you have the getnetgrent function.  */
 #undef HAVE_GETNETGRENT
 
+/* Define if you have the getpagesize function.  */
+#undef HAVE_GETPAGESIZE
+
 /* Define if you have the getprpwnam function.  */
 #undef HAVE_GETPRPWNAM
 
 /* Define if you have the mktime function.  */
 #undef HAVE_MKTIME
 
+/* Define if you have the munmap function.  */
+#undef HAVE_MUNMAP
+
 /* Define if you have the open64 function.  */
 #undef HAVE_OPEN64
 
 /* Define if you have the pread64 function.  */
 #undef HAVE_PREAD64
 
+/* Define if you have the putenv function.  */
+#undef HAVE_PUTENV
+
 /* Define if you have the putprpwnam function.  */
 #undef HAVE_PUTPRPWNAM
 
 /* Define if you have the setlinebuf function.  */
 #undef HAVE_SETLINEBUF
 
+/* Define if you have the setlocale function.  */
+#undef HAVE_SETLOCALE
+
 /* Define if you have the setluid function.  */
 #undef HAVE_SETLUID
 
 /* Define if you have the stat64 function.  */
 #undef HAVE_STAT64
 
+/* Define if you have the stpcpy function.  */
+#undef HAVE_STPCPY
+
 /* Define if you have the strcasecmp function.  */
 #undef HAVE_STRCASECMP
 
 /* Define if you have the yp_get_default_domain function.  */
 #undef HAVE_YP_GET_DEFAULT_DOMAIN
 
+/* Define if you have the <argz.h> header file.  */
+#undef HAVE_ARGZ_H
+
 /* Define if you have the <arpa/inet.h> header file.  */
 #undef HAVE_ARPA_INET_H
 
 /* Define if you have the <locale.h> header file.  */
 #undef HAVE_LOCALE_H
 
+/* Define if you have the <malloc.h> header file.  */
+#undef HAVE_MALLOC_H
+
 /* Define if you have the <memory.h> header file.  */
 #undef HAVE_MEMORY_H
 
 /* Define if you have the <netinet/tcp.h> header file.  */
 #undef HAVE_NETINET_TCP_H
 
+/* Define if you have the <nl_types.h> header file.  */
+#undef HAVE_NL_TYPES_H
+
 /* Define if you have the <nss.h> header file.  */
 #undef HAVE_NSS_H
 
 /* Define if you have the gen library (-lgen).  */
 #undef HAVE_LIBGEN
 
+/* Define if you have the i library (-li).  */
+#undef HAVE_LIBI
+
 /* Define if you have the iconv library (-liconv).  */
 #undef HAVE_LIBICONV
 
index 9b0759b2d59ea3d4f89afe53638e5ec274efaa30..9366af5e782a271081df2059be70f2eef9074bf3 100644 (file)
@@ -3763,3 +3763,12 @@ BOOL lp_list_substitute(char **list, const char *pattern, const char *insert)
        
        return True;
 }
+
+/****************************************************************
+ Compatibility fn. for 2.2.2 code.....
+*****************************************************************/
+
+void get_private_directory(pstring privdir)
+{
+       pstrcpy (privdir, lp_private_dir());
+}
index 7d133fdda83d45c5d01b6b0153ce8520783120e4..2ecbee274fc4dec960e4ea97e133c3119fe67ac9 100644 (file)
@@ -2,7 +2,7 @@
    Unix SMB/Netbios implementation.
    Version 1.9.
    Password and authentication handling
-   Copyright (C) Jeremy Allison                1996-1998
+   Copyright (C) Jeremy Allison                1996-2001
    Copyright (C) Luke Kenneth Casson Leighton  1996-1998
    Copyright (C) Gerald (Jerry) Carter         2000-2001
       
@@ -35,62 +35,29 @@ extern DOM_SID global_sam_sid;
 
 struct passdb_ops *pdb_ops;
 
+#if 0  /* JERRY */
 static void* pdb_handle = NULL;
+#endif
 
 /***************************************************************
  Initialize the password db operations.
 ***************************************************************/
+
 BOOL initialize_password_db(BOOL reload)
-{
-       /* This function is unfinished right now, so just 
-          ignore the details and always return True.  It is here 
-          only as a placeholder --jerry */
+{      
+       /* 
+        * This function is unfinished right now, so just 
+        * ignore the details and always return True.  It 
+        * is here only as a placeholder          --jerry 
+        */
        return True;
-
-#if _NOT_YET_  
-       char*   modulename = lp_passdb_module_path();
        
-       /* load another module? */
-       if (reload && pdb_handle)
-       {
-               sys_dlclose (pdb_handle);
-               pdb_handle = NULL;
-       }
-       
-       /* do we have a module defined or use the default? */
-       if (strlen (modulename) != 0)
-       {
-               if ((pdb_handle=sys_dlopen (modulename, RTLD_LAZY)) == NULL)
-               {
-                       DEBUG(0,("initialize_password_db: ERROR - Unable to open passdb module \"%s\"!\n%s\n",
-                               modulename, sys_dlerror()));
-               }
-               else
-                       DEBUG(1,("initialize_password_db: passdb module \"%s\" loaded successfully\n", modulename));
-       }       
-       
-       /* either no module name defined or the one that was failed 
-          to open.  Let's try the default */
-       if (pdb_handle == NULL)
-       {
-               if ((pdb_handle=sys_dlopen ("libpdbfile.so", RTLD_LAZY)) == NULL)
-               {
-                       DEBUG(0,("initialize_password_db: ERROR - Unable to open \"libpdbfile.so\" passdb module!  No user authentication possible!\n%s\n",
-                               sys_dlerror()));
-                       return False;
-               }
-               else
-                       DEBUG(1,("initialize_password_db: passdb module \"libpdbfile.so\" loaded successfully\n"));
-       }
-                                       
-
-       return (pdb_handle != NULL);
-#endif
 }
 
 /*************************************************************
initialises a struct sam_disp_info.
Initialises a struct sam_disp_info.
  **************************************************************/
+
 static void pdb_init_dispinfo(struct sam_disp_info *user)
 {
        if (user == NULL) 
@@ -99,8 +66,9 @@ static void pdb_init_dispinfo(struct sam_disp_info *user)
 }
 
 /*************************************************************
alloc memory and initialises a struct sam_passwd.
Alloc memory and initialises a struct sam_passwd.
  ************************************************************/
+
 BOOL pdb_init_sam(SAM_ACCOUNT **user)
 {
        if (*user != NULL) {
@@ -138,8 +106,9 @@ BOOL pdb_init_sam(SAM_ACCOUNT **user)
 }
 
 /************************************************************
free the SAM_ACCOUNT and the NT/LM hashes.
Free the SAM_ACCOUNT and the NT/LM hashes.
  ***********************************************************/
+
 BOOL pdb_free_sam(SAM_ACCOUNT *user)
 {
        if (user == NULL) {
@@ -158,7 +127,7 @@ BOOL pdb_free_sam(SAM_ACCOUNT *user)
 }
 
 /************************************************************
reset the SAM_ACCOUNT and the NT/LM hashes.
Reset the SAM_ACCOUNT and the NT/LM hashes.
  ***********************************************************/
 
 BOOL pdb_reset_sam(SAM_ACCOUNT *user)
@@ -169,7 +138,7 @@ BOOL pdb_reset_sam(SAM_ACCOUNT *user)
        }
        
        SAFE_FREE(user->nt_pw);
-       SAFE_FREE(user->lm_pw); 
+       SAFE_FREE(user->lm_pw);
        ZERO_STRUCTP(user);
 
        return True;
@@ -178,6 +147,7 @@ BOOL pdb_reset_sam(SAM_ACCOUNT *user)
 /*************************************************************************
  Routine to return the next entry in the sam passwd list.
  *************************************************************************/
+
 struct sam_disp_info *pdb_sam_to_dispinfo(SAM_ACCOUNT *user)
 {
        static struct sam_disp_info disp_info;
@@ -194,20 +164,146 @@ struct sam_disp_info *pdb_sam_to_dispinfo(SAM_ACCOUNT *user)
        return &disp_info;
 }
 
+/**********************************************************
+ Encode the account control bits into a string.
+ length = length of string to encode into (including terminating
+ null). length *MUST BE MORE THAN 2* !
+ **********************************************************/
+
+char *pdb_encode_acct_ctrl(uint16 acct_ctrl, size_t length)
+{
+       static fstring acct_str;
+       size_t i = 0;
+
+       acct_str[i++] = '[';
+
+       if (acct_ctrl & ACB_PWNOTREQ ) acct_str[i++] = 'N';
+       if (acct_ctrl & ACB_DISABLED ) acct_str[i++] = 'D';
+       if (acct_ctrl & ACB_HOMDIRREQ) acct_str[i++] = 'H';
+       if (acct_ctrl & ACB_TEMPDUP  ) acct_str[i++] = 'T'; 
+       if (acct_ctrl & ACB_NORMAL   ) acct_str[i++] = 'U';
+       if (acct_ctrl & ACB_MNS      ) acct_str[i++] = 'M';
+       if (acct_ctrl & ACB_WSTRUST  ) acct_str[i++] = 'W';
+       if (acct_ctrl & ACB_SVRTRUST ) acct_str[i++] = 'S';
+       if (acct_ctrl & ACB_AUTOLOCK ) acct_str[i++] = 'L';
+       if (acct_ctrl & ACB_PWNOEXP  ) acct_str[i++] = 'X';
+       if (acct_ctrl & ACB_DOMTRUST ) acct_str[i++] = 'I';
+
+       for ( ; i < length - 2 ; i++ )
+               acct_str[i] = ' ';
+
+       i = length - 2;
+       acct_str[i++] = ']';
+       acct_str[i++] = '\0';
+
+       return acct_str;
+}     
+
+/**********************************************************
+ Decode the account control bits from a string.
+ **********************************************************/
+
+uint16 pdb_decode_acct_ctrl(const char *p)
+{
+       uint16 acct_ctrl = 0;
+       BOOL finished = False;
+
+       /*
+        * Check if the account type bits have been encoded after the
+        * NT password (in the form [NDHTUWSLXI]).
+        */
+
+       if (*p != '[')
+               return 0;
+
+       for (p++; *p && !finished; p++) {
+               switch (*p) {
+                       case 'N': { acct_ctrl |= ACB_PWNOTREQ ; break; /* 'N'o password. */ }
+                       case 'D': { acct_ctrl |= ACB_DISABLED ; break; /* 'D'isabled. */ }
+                       case 'H': { acct_ctrl |= ACB_HOMDIRREQ; break; /* 'H'omedir required. */ }
+                       case 'T': { acct_ctrl |= ACB_TEMPDUP  ; break; /* 'T'emp account. */ } 
+                       case 'U': { acct_ctrl |= ACB_NORMAL   ; break; /* 'U'ser account (normal). */ } 
+                       case 'M': { acct_ctrl |= ACB_MNS      ; break; /* 'M'NS logon user account. What is this ? */ } 
+                       case 'W': { acct_ctrl |= ACB_WSTRUST  ; break; /* 'W'orkstation account. */ } 
+                       case 'S': { acct_ctrl |= ACB_SVRTRUST ; break; /* 'S'erver account. */ } 
+                       case 'L': { acct_ctrl |= ACB_AUTOLOCK ; break; /* 'L'ocked account. */ } 
+                       case 'X': { acct_ctrl |= ACB_PWNOEXP  ; break; /* No 'X'piry on password */ } 
+                       case 'I': { acct_ctrl |= ACB_DOMTRUST ; break; /* 'I'nterdomain trust account. */ }
+            case ' ': { break; }
+                       case ':':
+                       case '\n':
+                       case '\0': 
+                       case ']':
+                       default:  { finished = True; }
+               }
+       }
+
+       return acct_ctrl;
+}
+
+/*************************************************************
+ Routine to set 32 hex password characters from a 16 byte array.
+**************************************************************/
+
+void pdb_sethexpwd(char *p, unsigned char *pwd, uint16 acct_ctrl)
+{
+       if (pwd != NULL) {
+               int i;
+               for (i = 0; i < 16; i++)
+                       slprintf(&p[i*2], 3, "%02X", pwd[i]);
+       } else {
+               if (acct_ctrl & ACB_PWNOTREQ)
+                       safe_strcpy(p, "NO PASSWORDXXXXXXXXXXXXXXXXXXXXX", 33);
+               else
+                       safe_strcpy(p, "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", 33);
+       }
+}
+
+/*************************************************************
+ Routine to get the 32 hex characters and turn them
+ into a 16 byte array.
+**************************************************************/
+
+BOOL pdb_gethexpwd(char *p, unsigned char *pwd)
+{
+       int i;
+       unsigned char   lonybble, hinybble;
+       char           *hexchars = "0123456789ABCDEF";
+       char           *p1, *p2;
+       
+       if (!p)
+               return (False);
+       
+       for (i = 0; i < 32; i += 2) {
+               hinybble = toupper(p[i]);
+               lonybble = toupper(p[i + 1]);
+
+               p1 = strchr(hexchars, hinybble);
+               p2 = strchr(hexchars, lonybble);
+
+               if (!p1 || !p2)
+                       return (False);
+
+               hinybble = PTR_DIFF(p1, hexchars);
+               lonybble = PTR_DIFF(p2, hexchars);
+
+               pwd[i / 2] = (hinybble << 4) | lonybble;
+       }
+       return (True);
+}
+
 /*******************************************************************
  Group and User RID username mapping function
  ********************************************************************/
+
 BOOL pdb_name_to_rid(char *user_name, uint32 *u_rid, uint32 *g_rid)
 {
        struct passwd *pw = Get_Pwnam(user_name, False);
 
        if (u_rid == NULL || g_rid == NULL || user_name == NULL)
-       {
                return False;
-       }
 
-       if (!pw)
-       {
+       if (!pw) {
                DEBUG(1,("Username %s is invalid on this system\n", user_name));
                return False;
        }
@@ -225,6 +321,7 @@ BOOL pdb_name_to_rid(char *user_name, uint32 *u_rid, uint32 *g_rid)
 /*******************************************************************
  Converts NT user RID to a UNIX uid.
  ********************************************************************/
+
 uid_t pdb_user_rid_to_uid(uint32 user_rid)
 {
        return (uid_t)(((user_rid & (~USER_RID_TYPE))- 1000)/RID_MULTIPLIER);
@@ -269,6 +366,7 @@ static BOOL pdb_rid_is_well_known(uint32 rid)
 /*******************************************************************
  Decides if a RID is a user or group RID.
  ********************************************************************/
+
 BOOL pdb_rid_is_user(uint32 rid)
 {
   /* lkcl i understand that NT attaches an enumeration to a RID
@@ -291,9 +389,9 @@ BOOL pdb_rid_is_user(uint32 rid)
 /*******************************************************************
  Convert a rid into a name. Used in the lookup SID rpc.
  ********************************************************************/
+
 BOOL local_lookup_rid(uint32 rid, char *name, enum SID_NAME_USE *psid_name_use)
 {
-
        BOOL is_user = pdb_rid_is_user(rid);
 
        DEBUG(5,("local_lookup_rid: looking up %s RID %u.\n", is_user ? "user" :
@@ -341,10 +439,9 @@ BOOL local_lookup_rid(uint32 rid, char *name, enum SID_NAME_USE *psid_name_use)
                }
 
        } else {
-               gid_t gid=-1;
+               gid_t gid;
                struct group *gr; 
-               GROUP_MAP map;
-               DOM_SID sid;
+
                /* 
                 * Don't try to convert the rid to a name if running
                 * in appliance mode
@@ -353,30 +450,11 @@ BOOL local_lookup_rid(uint32 rid, char *name, enum SID_NAME_USE *psid_name_use)
                if (lp_hide_local_users()) 
                        return False;
                
-               /*
-                * First try the TDB. If the RID exists and is mapped to a unix group,
-                * return the NT name and the type.
-                */
-               
-               sid_copy(&sid, &global_sam_sid);
-               sid_append_rid(&sid, rid);
-               if (get_group_map_from_sid(sid, &map) && map.gid!=-1) {
-                       *psid_name_use = map.sid_name_use;
-                       fstrcpy(name, map.nt_name);
-
-                       DEBUG(5,("local_lookup_rid: found NT group %s mapped to Unix gid %u for rid %u\n",
-                                 name, (unsigned int)map.gid, (unsigned int)rid ));
-
-                       if(!getgrgid(map.gid))
-                               return False;
-                       else
-                               return True;
-               }
-
-               *psid_name_use = SID_NAME_ALIAS;
                gid = pdb_user_rid_to_gid(rid);
-               
                gr = getgrgid(gid);
+
+               *psid_name_use = SID_NAME_ALIAS;
+
                DEBUG(5,("local_local_rid: looking up gid %u %s\n", (unsigned int)gid,
                        gr ? "succeeded" : "failed" ));
 
@@ -387,7 +465,8 @@ BOOL local_lookup_rid(uint32 rid, char *name, enum SID_NAME_USE *psid_name_use)
 
                fstrcpy( name, gr->gr_name);
 
-               DEBUG(5,("local_lookup_rid: found group %s for rid %u\n", name, (unsigned int)rid ));
+               DEBUG(5,("local_lookup_rid: found group %s for rid %u\n", name,
+                       (unsigned int)rid ));
        }
 
        return True;
@@ -441,27 +520,13 @@ BOOL local_lookup_name(const char *c_domain, const char *c_user, DOM_SID *psid,
                /*
                 * Maybe it was a group ?
                 */
-               GROUP_MAP map;
-               struct group *grp = NULL;
-
-               /* It can be a mapped group */
-               if (get_group_map_from_ntname(user, &map) && map.gid!=-1) {
-
-                       grp=getgrgid(map.gid);
-                       if (!grp)
-                               return False;
+               struct group *grp = getgrnam(user);
 
-                       sid_copy(&local_sid, &map.sid);
-                       *psid_name_use = map.sid_name_use;
-               } else {
-                       /* It wasn't mapped, it can be a Unix group */
-                       grp=getgrnam(user);
-                       if(!grp)
-                               return False;
+               if(!grp)
+                       return False;
 
-                       sid_append_rid( &local_sid, pdb_gid_to_group_rid(grp->gr_gid));
-                       *psid_name_use = SID_NAME_ALIAS;
-               }
+               sid_append_rid( &local_sid, pdb_gid_to_group_rid(grp->gr_gid));
+               *psid_name_use = SID_NAME_ALIAS;
        }
 
        sid_copy( psid, &local_sid);
@@ -472,6 +537,7 @@ BOOL local_lookup_name(const char *c_domain, const char *c_user, DOM_SID *psid,
 /****************************************************************************
  Convert a uid to SID - locally.
 ****************************************************************************/
+
 DOM_SID *local_uid_to_sid(DOM_SID *psid, uid_t uid)
 {
        extern DOM_SID global_sam_sid;
@@ -482,10 +548,10 @@ DOM_SID *local_uid_to_sid(DOM_SID *psid, uid_t uid)
        return psid;
 }
 
-
 /****************************************************************************
  Convert a SID to uid - locally.
 ****************************************************************************/
+
 BOOL local_sid_to_uid(uid_t *puid, DOM_SID *psid, enum SID_NAME_USE *name_type)
 {
        extern DOM_SID global_sam_sid;
@@ -527,6 +593,7 @@ BOOL local_sid_to_uid(uid_t *puid, DOM_SID *psid, enum SID_NAME_USE *name_type)
 /****************************************************************************
  Convert a gid to SID - locally.
 ****************************************************************************/
+
 DOM_SID *local_gid_to_sid(DOM_SID *psid, gid_t gid)
 {
     extern DOM_SID global_sam_sid;
@@ -540,6 +607,7 @@ DOM_SID *local_gid_to_sid(DOM_SID *psid, gid_t gid)
 /****************************************************************************
  Convert a SID to gid - locally.
 ****************************************************************************/
+
 BOOL local_sid_to_gid(gid_t *pgid, DOM_SID *psid, enum SID_NAME_USE *name_type)
 {
     extern DOM_SID global_sam_sid;
@@ -582,12 +650,13 @@ BOOL local_sid_to_gid(gid_t *pgid, DOM_SID *psid, enum SID_NAME_USE *name_type)
 static void select_name(pstring string, const UNISTR2 *from)
 {
        if (from->buffer != 0)
-               unistr2_to_ascii(string, from, sizeof(string));
+               unistr2_to_ascii(string, from, sizeof(*string));
 }
 
 /*************************************************************
copies a SAM_USER_INFO_23 to a SAM_ACCOUNT
Copies a SAM_USER_INFO_23 to a SAM_ACCOUNT
  **************************************************************/
+
 void copy_id23_to_sam_passwd(SAM_ACCOUNT *to, SAM_USER_INFO_23 *from)
 {
 
@@ -627,8 +696,9 @@ void copy_id23_to_sam_passwd(SAM_ACCOUNT *to, SAM_USER_INFO_23 *from)
 }
 
 /*************************************************************
copies a sam passwd.
Copies a sam passwd.
  **************************************************************/
+
 void copy_id21_to_sam_passwd(SAM_ACCOUNT *to, SAM_USER_INFO_21 *from)
 {
        if (from == NULL || to == NULL) 
@@ -669,19 +739,20 @@ void copy_id21_to_sam_passwd(SAM_ACCOUNT *to, SAM_USER_INFO_21 *from)
        to->unknown_6 = from->unknown_6;
 }
 
-
 /*************************************************************
copies a sam passwd.
Copies a SAM_ACCOUNT.
  **************************************************************/
+
 void copy_sam_passwd(SAM_ACCOUNT *to, const SAM_ACCOUNT *from)
 {
-       if (!from || !to) return;
+       if (!from || !to)
+               return;
 
        memcpy(to, from, sizeof(SAM_ACCOUNT));
 }
 
 /*************************************************************
- change a password entry in the local smbpasswd file
+ Change a password entry in the local smbpasswd file.
 
  FIXME!!  The function needs to be abstracted into the
  passdb interface or something.  It is currently being called
@@ -723,8 +794,7 @@ account without a valid local system user.\n", user_name);
 
        /* Get the smb passwd entry for this user */
        pdb_init_sam(&sam_pass);
-       if(!pdb_getsampwnam(sam_pass, user_name))
-       {
+       if(!pdb_getsampwnam(sam_pass, user_name)) {
                pdb_free_sam(sam_pass);
                
                if(!(local_flags & LOCAL_ADD_USER)) {
@@ -780,25 +850,21 @@ account without a valid local system user.\n", user_name);
         * and the valid last change time.
         */
 
-       if(local_flags & LOCAL_DISABLE_USER) 
+       if(local_flags & LOCAL_DISABLE_USER) {
                pdb_set_acct_ctrl (sam_pass, pdb_get_acct_ctrl(sam_pass)|ACB_DISABLED);
-       else if (local_flags & LOCAL_ENABLE_USER) 
-               {
+       } else if (local_flags & LOCAL_ENABLE_USER) {
                if(pdb_get_lanman_passwd(sam_pass) == NULL) {
                        pdb_set_lanman_passwd (sam_pass, new_p16);
                        pdb_set_nt_passwd     (sam_pass, new_nt_p16);
                }
                pdb_set_acct_ctrl (sam_pass, pdb_get_acct_ctrl(sam_pass)&(~ACB_DISABLED));
-       }
-       else if (local_flags & LOCAL_SET_NO_PASSWORD) {
+       } else if (local_flags & LOCAL_SET_NO_PASSWORD) {
                pdb_set_acct_ctrl (sam_pass, pdb_get_acct_ctrl(sam_pass)|ACB_PWNOTREQ);
                
                /* This is needed to preserve ACB_PWNOTREQ in mod_smbfilepwd_entry */
                pdb_set_lanman_passwd (sam_pass, NULL);
                pdb_set_nt_passwd     (sam_pass, NULL);
-       } 
-       else 
-       {
+       } else {
                /*
                 * If we're dealing with setting a completely empty user account
                 * ie. One with a password of 'XXXX', but not set disabled (like
@@ -822,9 +888,7 @@ account without a valid local system user.\n", user_name);
                        return False;
                }
                slprintf(msg_str, msg_str_len-1, "Deleted user %s.\n", user_name);
-       } 
-       else 
-       {
+       } else {
                if(!pdb_update_sam_account(sam_pass, True)) {
                        slprintf(err_str, err_str_len-1, "Failed to modify entry for user %s.\n", user_name);
                        pdb_free_sam(sam_pass);
@@ -842,10 +906,10 @@ account without a valid local system user.\n", user_name);
        return True;
 }
 
-
 /*********************************************************************
- collection of get...() functions for SAM_ACCOUNT_INFO
+ Collection of get...() functions for SAM_ACCOUNT_INFO.
  ********************************************************************/
+
 uint16 pdb_get_acct_ctrl (SAM_ACCOUNT *sampass)
 {
        if (sampass)
@@ -942,7 +1006,6 @@ uint8* pdb_get_lanman_passwd (SAM_ACCOUNT *sampass)
                return (NULL);
 }
 
-
 uint32 pdb_get_user_rid (SAM_ACCOUNT *sampass)
 {
        if (sampass)
@@ -1088,15 +1151,15 @@ uint32 pdb_get_unknown6 (SAM_ACCOUNT *sampass)
 }
 
 /*********************************************************************
- collection of set...() functions for SAM_ACCOUNT_INFO
+ Collection of set...() functions for SAM_ACCOUNT_INFO.
  ********************************************************************/
+
 BOOL pdb_set_acct_ctrl (SAM_ACCOUNT *sampass, uint16 flags)
 {
        if (!sampass)
                return False;
                
-       if (sampass)
-       {
+       if (sampass) {
                sampass->acct_ctrl = flags;
                return True;
        }
@@ -1213,11 +1276,15 @@ BOOL pdb_set_group_rid (SAM_ACCOUNT *sampass, uint32 grid)
 }
 
 /*********************************************************************
- set the user's UNIX name
+ Set the user's UNIX name.
  ********************************************************************/
+
 BOOL pdb_set_username(SAM_ACCOUNT *sampass, char *username)
 {      
-       if (!sampass || !username)
+       if (!sampass)
+               return False;
+       *sampass->username = '\0';
+       if (!username)
                return False;
 
        StrnCpy (sampass->username, username, strlen(username));
@@ -1226,11 +1293,15 @@ BOOL pdb_set_username(SAM_ACCOUNT *sampass, char *username)
 }
 
 /*********************************************************************
- set the domain name
+ Set the domain name.
  ********************************************************************/
+
 BOOL pdb_set_domain(SAM_ACCOUNT *sampass, char *domain)
 {      
-       if (!sampass || !domain)
+       if (!sampass)
+               return False;
+       *sampass->domain = '\0';
+       if (!domain)
                return False;
 
        StrnCpy (sampass->domain, domain, strlen(domain));
@@ -1239,11 +1310,15 @@ BOOL pdb_set_domain(SAM_ACCOUNT *sampass, char *domain)
 }
 
 /*********************************************************************
- set the user's NT name
+ Set the user's NT name.
  ********************************************************************/
+
 BOOL pdb_set_nt_username(SAM_ACCOUNT *sampass, char *nt_username)
 {
-       if (!sampass || !nt_username)
+       if (!sampass)
+               return False;
+       *sampass->nt_username = '\0';
+       if (!nt_username)
                return False;
 
        StrnCpy (sampass->nt_username, nt_username, strlen(nt_username));
@@ -1252,11 +1327,15 @@ BOOL pdb_set_nt_username(SAM_ACCOUNT *sampass, char *nt_username)
 }
 
 /*********************************************************************
- set the user's full name
+ Set the user's full name.
  ********************************************************************/
+
 BOOL pdb_set_fullname(SAM_ACCOUNT *sampass, char *fullname)
 {
-       if (!sampass || !fullname)
+       if (!sampass)
+               return False;
+       *sampass->full_name = '\0';
+       if (!fullname)
                return False;
 
        StrnCpy (sampass->full_name, fullname, strlen(fullname));
@@ -1265,11 +1344,15 @@ BOOL pdb_set_fullname(SAM_ACCOUNT *sampass, char *fullname)
 }
 
 /*********************************************************************
- set the user's logon script
+ Set the user's logon script.
  ********************************************************************/
+
 BOOL pdb_set_logon_script(SAM_ACCOUNT *sampass, char *logon_script)
 {
-       if (!sampass || !logon_script)
+       if (!sampass)
+               return False;
+       *sampass->logon_script = '\0';
+       if (!logon_script)
                return False;
 
        StrnCpy (sampass->logon_script, logon_script, strlen(logon_script));
@@ -1278,11 +1361,15 @@ BOOL pdb_set_logon_script(SAM_ACCOUNT *sampass, char *logon_script)
 }
 
 /*********************************************************************
- set the user's profile path
+ Set the user's profile path.
  ********************************************************************/
+
 BOOL pdb_set_profile_path (SAM_ACCOUNT *sampass, char *profile_path)
 {
-       if (!sampass || !profile_path)
+       if (!sampass)
+               return False;
+       *sampass->profile_path = '\0';
+       if (!profile_path)
                return False;
        
        StrnCpy (sampass->profile_path, profile_path, strlen(profile_path));
@@ -1291,11 +1378,15 @@ BOOL pdb_set_profile_path (SAM_ACCOUNT *sampass, char *profile_path)
 }
 
 /*********************************************************************
- set the user's directory drive
+ Set the user's directory drive.
  ********************************************************************/
+
 BOOL pdb_set_dir_drive (SAM_ACCOUNT *sampass, char *dir_drive)
 {
-       if (!sampass || !dir_drive)
+       if (!sampass)
+               return False;
+       *sampass->dir_drive = '\0';
+       if (!dir_drive)
                return False;
 
        StrnCpy (sampass->dir_drive, dir_drive, strlen(dir_drive));
@@ -1304,11 +1395,15 @@ BOOL pdb_set_dir_drive (SAM_ACCOUNT *sampass, char *dir_drive)
 }
 
 /*********************************************************************
- set the user's home directory
+ Set the user's home directory.
  ********************************************************************/
+
 BOOL pdb_set_homedir (SAM_ACCOUNT *sampass, char *homedir)
 {
-       if (!sampass || !homedir)
+       if (!sampass)
+               return False;
+       *sampass->home_dir = '\0';
+       if (!homedir)
                return False;
        
        StrnCpy (sampass->home_dir, homedir, strlen(homedir));
@@ -1317,11 +1412,15 @@ BOOL pdb_set_homedir (SAM_ACCOUNT *sampass, char *homedir)
 }
 
 /*********************************************************************
- set the user's account description
+ Set the user's account description.
  ********************************************************************/
+
 BOOL pdb_set_acct_desc (SAM_ACCOUNT *sampass, char *acct_desc)
 {
-       if (!sampass || !acct_desc)
+       if (!sampass)
+               return False;
+       *sampass->acct_desc = '\0';
+       if (!acct_desc)
                return False;
        
        StrnCpy (sampass->acct_desc, acct_desc, strlen(acct_desc));
@@ -1330,11 +1429,16 @@ BOOL pdb_set_acct_desc (SAM_ACCOUNT *sampass, char *acct_desc)
 }
 
 /*********************************************************************
- set the user's workstation allowed list
+ Set the user's workstation allowed list.
  ********************************************************************/
+
 BOOL pdb_set_workstations (SAM_ACCOUNT *sampass, char *workstations)
 {
-       if (!sampass || !workstations) return False;
+       if (!sampass)
+               return False;
+       *sampass->workstations = '\0';
+       if (!workstations)
+               return False;
 
        StrnCpy (sampass->workstations, workstations, strlen(workstations));
 
@@ -1342,11 +1446,16 @@ BOOL pdb_set_workstations (SAM_ACCOUNT *sampass, char *workstations)
 }
 
 /*********************************************************************
- set the user's dial string
+ Set the user's dial string.
  ********************************************************************/
+
 BOOL pdb_set_munged_dial (SAM_ACCOUNT *sampass, char *munged_dial)
 {
-       if (!sampass || !munged_dial) return False;
+       if (!sampass)
+               return False;
+       *sampass->munged_dial = '\0';
+       if (!munged_dial)
+               return False;
 
        StrnCpy (sampass->munged_dial, munged_dial, strlen(munged_dial));
 
@@ -1354,14 +1463,16 @@ BOOL pdb_set_munged_dial (SAM_ACCOUNT *sampass, char *munged_dial)
 }
 
 /*********************************************************************
- set the user's NT hash
+ Set the user's NT hash.
  ********************************************************************/
+
 BOOL pdb_set_nt_passwd (SAM_ACCOUNT *sampass, uint8 *pwd)
 {
-       if (!sampass || !pwd) return False;
+       if (!sampass || !pwd)
+               return False;
        
        if (sampass->nt_pw!=NULL)
-               DEBUG(0,("pdb_set_nt_passwd: NT hash non NULL overwriting ?\n"));
+               DEBUG(4,("pdb_set_nt_passwd: NT hash non NULL overwritting ?\n"));
        else
                sampass->nt_pw=(unsigned char *)malloc(sizeof(unsigned char)*16);
        
@@ -1374,14 +1485,16 @@ BOOL pdb_set_nt_passwd (SAM_ACCOUNT *sampass, uint8 *pwd)
 }
 
 /*********************************************************************
- set the user's LM hash
+ Set the user's LM hash.
  ********************************************************************/
+
 BOOL pdb_set_lanman_passwd (SAM_ACCOUNT *sampass, uint8 *pwd)
 {
-       if (!sampass || !pwd) return False;
+       if (!sampass || !pwd)
+               return False;
        
        if (sampass->lm_pw!=NULL)
-               DEBUG(0,("pdb_set_lanman_passwd: LM hash non NULL overwriting ?\n"));
+               DEBUG(4,("pdb_set_lanman_passwd: LM hash non NULL overwritting ?\n"));
        else
                sampass->lm_pw=(unsigned char *)malloc(sizeof(unsigned char)*16);
        
@@ -1422,10 +1535,10 @@ BOOL pdb_set_unknown_6 (SAM_ACCOUNT *sampass, uint32 unkn)
 
 BOOL pdb_set_hours (SAM_ACCOUNT *sampass, uint8 *hours)
 {
-       if (!sampass) return False;
+       if (!sampass)
+               return False;
 
-       if (!hours) 
-       {
+       if (!hours) {
                memset ((char *)sampass->hours, 0, MAX_HOURS_LEN);
                return True;
        }
@@ -1434,4 +1547,3 @@ BOOL pdb_set_hours (SAM_ACCOUNT *sampass, uint8 *hours)
 
        return True;
 }
-
diff --git a/source3/passdb/pdb_ldap.c b/source3/passdb/pdb_ldap.c
new file mode 100644 (file)
index 0000000..f4ed014
--- /dev/null
@@ -0,0 +1,1014 @@
+/* 
+   Unix SMB/Netbios implementation.
+   Version 2.9.
+   LDAP protocol helper functions for SAMBA
+   Copyright (C) Shahms King 2001
+   Copyright (C) Jean François Micouleau 1998
+   
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2 of the License, or
+   (at your option) any later version.
+   
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+   
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+   
+*/
+
+#include "includes.h"
+
+#ifdef WITH_LDAP_SAM
+/* TODO:
+*  persistent connections: if using NSS LDAP, many connections are made
+*      however, using only one within Samba would be nice
+*  
+*  Clean up SSL stuff, compile on OpenLDAP 1.x, 2.x, and Netscape SDK
+*
+*  Other LDAP based login attributes: accountExpires, etc.
+*  (should be the domain of Samba proper, but the sam_password/SAM_ACCOUNT
+*  structures don't have fields for some of these attributes)
+*
+*  SSL is done, but can't get the certificate based authentication to work
+*  against on my test platform (Linux 2.4, OpenLDAP 2.x)
+*/
+
+/* NOTE: this will NOT work against an Active Directory server
+*  due to the fact that the two password fields cannot be retrieved
+*  from a server; recommend using security = domain in this situation
+*  and/or winbind
+*/
+
+#include <lber.h>
+#include <ldap.h>
+
+#ifndef SAM_ACCOUNT
+#define SAM_ACCOUNT struct sam_passwd
+#endif
+
+extern int DEBUGLEVEL;
+
+struct ldap_enum_info
+{
+       LDAP *ldap_struct;
+       LDAPMessage *result;
+       LDAPMessage *entry;
+};
+
+static struct ldap_enum_info global_ldap_ent;
+
+
+/*******************************************************************
+ open a connection to the ldap server.
+******************************************************************/
+static BOOL
+ldap_open_connection (LDAP ** ldap_struct)
+{
+       int port;
+       int version, rc;
+       int tls = LDAP_OPT_X_TLS_HARD;
+       
+       if (lp_ldap_ssl() == LDAP_SSL_ON && lp_ldap_port() == 389) {
+               port = 636;
+       }
+       else {
+               port = lp_ldap_port();
+       }
+
+       if ((*ldap_struct = ldap_init(lp_ldap_server(), port)) == NULL) {
+               DEBUG(0, ("The LDAP server is not responding !\n"));
+               return (False);
+       }
+
+       /* Connect to older servers using SSL and V2 rather than Start TLS */
+       if (ldap_get_option(*ldap_struct, LDAP_OPT_PROTOCOL_VERSION, &version) == LDAP_OPT_SUCCESS)
+       {
+               if (version != LDAP_VERSION2)
+               {
+                       version = LDAP_VERSION2;
+                       ldap_set_option (*ldap_struct, LDAP_OPT_PROTOCOL_VERSION, &version);
+               }
+       }
+
+       switch (lp_ldap_ssl())
+       {
+               case LDAP_SSL_START_TLS:
+                       if (ldap_get_option (*ldap_struct, LDAP_OPT_PROTOCOL_VERSION, 
+                               &version) == LDAP_OPT_SUCCESS)
+                       {
+                               if (version < LDAP_VERSION3)
+                               {
+                                       version = LDAP_VERSION3;
+                                       ldap_set_option (*ldap_struct, LDAP_OPT_PROTOCOL_VERSION,
+                                                       &version);
+                               }
+                       }
+                       if ((rc = ldap_start_tls_s (*ldap_struct, NULL, NULL)) != LDAP_SUCCESS)
+                       {
+                               DEBUG(0,
+                                     ("Failed to issue the StartTLS instruction: %s\n",
+                                      ldap_err2string(rc)));
+                               return False;
+                       }
+                       DEBUG (2, ("StartTLS issued: using a TLS connection\n"));
+                       break;
+               case LDAP_SSL_ON:
+                       if (ldap_set_option (*ldap_struct, LDAP_OPT_X_TLS, &tls) != LDAP_SUCCESS)
+                       {
+                               DEBUG(0, ("Failed to setup a TLS session\n"));
+                       }
+                       break;
+               case LDAP_SSL_OFF:
+               default:
+       }
+
+       DEBUG(2, ("ldap_open_connection: connection opened\n"));
+       return (True);
+}
+
+/*******************************************************************
+ connect to the ldap server under system privilege.
+******************************************************************/
+static BOOL ldap_connect_system(LDAP * ldap_struct)
+{
+       int rc;
+       static BOOL got_pw = False;
+       static pstring ldap_secret;
+
+       /* get the password if we don't have it already */
+       if (!got_pw && !(got_pw=fetch_ldap_pw(lp_ldap_admin_dn(), ldap_secret, sizeof(pstring)))) 
+       {
+               DEBUG(0, ("ldap_connect_system: Failed to retrieve password for %s from secrets.tdb\n",
+                       lp_ldap_admin_dn()));
+               return False;
+       }
+
+       /* removed the sasl_bind_s "EXTERNAL" stuff, as my testsuite 
+          (OpenLDAP) doesnt' seem to support it */
+       if ((rc = ldap_simple_bind_s(ldap_struct, lp_ldap_admin_dn(), 
+               ldap_secret)) != LDAP_SUCCESS)
+       {
+               DEBUG(0, ("Bind failed: %s\n", ldap_err2string(rc)));
+               return (False);
+       }
+       
+       DEBUG(2, ("ldap_connect_system: succesful connection to the LDAP server\n"));
+       return (True);
+}
+
+/*******************************************************************
+ run the search by name.
+******************************************************************/
+static int ldap_search_one_user (LDAP * ldap_struct, const char *filter, LDAPMessage ** result)
+{
+       int scope = LDAP_SCOPE_SUBTREE;
+       int rc;
+
+       DEBUG(2, ("ldap_search_one_user: searching for:[%s]\n", filter));
+
+       rc = ldap_search_s (ldap_struct, lp_ldap_suffix (), scope, 
+               filter, NULL, 0, result);
+
+       if (rc != LDAP_SUCCESS) {
+               DEBUG(0,("ldap_search_one_user: Problem during the LDAP search: %s\n", 
+                       ldap_err2string (rc)));
+               DEBUG(3,("ldap_search_one_user: Query was: %s, %s\n", lp_ldap_suffix(), 
+                       filter));
+       }
+       return (rc);
+}
+
+/*******************************************************************
+ run the search by name.
+******************************************************************/
+static int ldap_search_one_user_by_name (LDAP * ldap_struct, const char *user,
+                            LDAPMessage ** result)
+{
+       pstring filter;
+       
+       /*
+          in the filter expression, replace %u with the real name
+          so in ldap filter, %u MUST exist :-)
+        */
+       pstrcpy(filter, lp_ldap_filter());
+
+       /* have to use this here because $ is filtered out
+          * in pstring_sub
+        */
+       all_string_sub(filter, "%u", user, sizeof(pstring));
+
+       return ldap_search_one_user(ldap_struct, filter, result);
+}
+
+/*******************************************************************
+ run the search by uid.
+******************************************************************/
+static int ldap_search_one_user_by_uid(LDAP * ldap_struct, int uid,
+                           LDAPMessage ** result)
+{
+       struct passwd *user;
+       pstring filter;
+
+       /* Get the username from the system and look that up in the LDAP */
+       user = sys_getpwuid(uid);
+       pstrcpy(filter, lp_ldap_filter());
+       all_string_sub(filter, "%u", user->pw_name, sizeof(pstring));
+
+       return ldap_search_one_user(ldap_struct, filter, result);
+}
+
+/*******************************************************************
+ run the search by rid.
+******************************************************************/
+static int ldap_search_one_user_by_rid (LDAP * ldap_struct, uint32 rid,
+                           LDAPMessage ** result)
+{
+       pstring filter;
+       int rc;
+
+       /* check if the user rid exsists, if not, try searching on the uid */
+       snprintf(filter, sizeof(filter) - 1, "rid=%i", rid);
+       rc = ldap_search_one_user(ldap_struct, filter, result);
+       
+       if (rc != LDAP_SUCCESS)
+               rc = ldap_search_one_user_by_uid(ldap_struct, 
+                       pdb_user_rid_to_uid(rid), result);
+
+       return rc;
+}
+
+/*******************************************************************
+search an attribute and return the first value found.
+******************************************************************/
+static void get_single_attribute (LDAP * ldap_struct, LDAPMessage * entry,
+                    char *attribute, char *value)
+{
+       char **valeurs;
+
+       if ((valeurs = ldap_get_values (ldap_struct, entry, attribute)) != NULL) {
+               pstrcpy(value, valeurs[0]);
+               ldap_value_free(valeurs);
+               DEBUG (2, ("get_single_attribute: [%s] = [%s]\n", attribute, value));
+       }
+       else {
+               value = NULL;
+               DEBUG (2, ("get_single_attribute: [%s] = [NULL]\n", attribute));
+       }
+}
+
+/************************************************************************
+Routine to manage the LDAPMod structure array
+manage memory used by the array, by each struct, and values
+
+************************************************************************/
+static void make_a_mod (LDAPMod *** modlist, int modop, char *attribute, char *value)
+{
+       LDAPMod **mods;
+       int i;
+       int j;
+
+       mods = *modlist;
+
+       if (attribute == NULL || *attribute == '\0')
+               return;
+
+       if (value == NULL || *value == '\0')
+               return;
+
+       if (mods == NULL) 
+       {
+               mods = (LDAPMod **) malloc(sizeof(LDAPMod *));
+               if (mods == NULL)
+               {
+                       DEBUG(0, ("make_a_mod: out of memory!\n"));
+                       return;
+               }
+               mods[0] = NULL;
+       }
+
+       for (i = 0; mods[i] != NULL; ++i) {
+               if (mods[i]->mod_op == modop && !strcasecmp(mods[i]->mod_type, attribute))
+                       break;
+       }
+
+       if (mods[i] == NULL)
+       {
+               mods = (LDAPMod **) realloc (mods, (i + 2) * sizeof (LDAPMod *));
+               if (mods == NULL)
+               {
+                       DEBUG(0, ("make_a_mod: out of memory!\n"));
+                       return;
+               }
+               mods[i] = (LDAPMod *) malloc(sizeof(LDAPMod));
+               if (mods[i] == NULL)
+               {
+                       DEBUG(0, ("make_a_mod: out of memory!\n"));
+                       return;
+               }
+               mods[i]->mod_op = modop;
+               mods[i]->mod_values = NULL;
+               mods[i]->mod_type = strdup(attribute);
+               mods[i + 1] = NULL;
+       }
+
+       if (value != NULL)
+       {
+               j = 0;
+               if (mods[i]->mod_values != NULL) {
+                       for (; mods[i]->mod_values[j] != NULL; j++);
+               }
+               mods[i]->mod_values = (char **)realloc(mods[i]->mod_values,
+                                              (j + 2) * sizeof (char *));
+                                              
+               if (mods[i]->mod_values == NULL) {
+                       DEBUG (0, ("make_a_mod: Memory allocation failure!\n"));
+                       return;
+               }
+               mods[i]->mod_values[j] = strdup(value);
+               mods[i]->mod_values[j + 1] = NULL;
+       }
+       *modlist = mods;
+}
+
+/* New Interface is being implemented here */
+
+/**********************************************************************
+Initialize SAM_ACCOUNT from an LDAP query
+(Based on init_sam_from_buffer in pdb_tdb.c)
+*********************************************************************/
+static BOOL init_sam_from_ldap (SAM_ACCOUNT * sampass,
+                  LDAP * ldap_struct, LDAPMessage * entry)
+{
+       time_t  logon_time,
+                       logoff_time,
+                       kickoff_time,
+                       pass_last_set_time, 
+                       pass_can_change_time, 
+                       pass_must_change_time;
+       static pstring username;
+       static pstring domain;
+       static pstring nt_username;
+       static pstring fullname;
+       static pstring homedir;
+       static pstring dir_drive;
+       static pstring logon_script;
+       static pstring profile_path;
+       static pstring acct_desc;
+       static pstring munged_dial;
+       static pstring workstations;
+       struct passwd *sys_user;
+       uint32 user_rid, group_rid;
+       static uint8 smblmpwd[16];
+       static uint8 smbntpwd[16];
+       uint16 acct_ctrl, logon_divs;
+       uint32 hours_len;
+       uint8 *hours;
+       pstring temp;
+
+       get_single_attribute(ldap_struct, entry, "uid", username);
+       DEBUG(2, ("Entry found for user: %s\n", username));
+
+       /* not sure about this for nt_username */
+       get_single_attribute (ldap_struct, entry, "sAMAccountName", nt_username);
+       if (!nt_username)
+               pstrcpy(nt_username, username);
+
+       get_single_attribute(ldap_struct, entry, "sambaDomain", domain);
+       if (!domain)
+               pstrcpy(domain, lp_workgroup());
+
+       get_single_attribute(ldap_struct, entry, "pwdLastSet", temp);
+       pass_last_set_time = (time_t) strtol(temp, NULL, 16);
+
+       get_single_attribute(ldap_struct, entry, "logonTime", temp);
+       logon_time = (time_t) strtol(temp, NULL, 16);
+
+       get_single_attribute(ldap_struct, entry, "logoffTime", temp);
+       logoff_time = (time_t) strtol(temp, NULL, 16);
+
+       get_single_attribute(ldap_struct, entry, "kickoffTime", temp);
+       kickoff_time = (time_t) strtol(temp, NULL, 16);
+
+       get_single_attribute(ldap_struct, entry, "pwdCanChange", temp);
+       pass_can_change_time = (time_t) strtol(temp, NULL, 16);
+
+       get_single_attribute(ldap_struct, entry, "pwdMustChange", temp);
+       pass_must_change_time = (time_t) strtol(temp, NULL, 16);
+
+       /* recommend that 'gecos' and 'displayName' should refer to the same
+          * attribute OID.  userFullName depreciated, only used by Samba
+          * primary rules of LDAP: don't make a new attribute when one is already defined
+          * that fits your needs; using gecos then displayName then cn rather than 'userFullName'
+        */
+
+       get_single_attribute(ldap_struct, entry, "gecos", fullname);
+
+       if (!fullname) {
+               get_single_attribute(ldap_struct, entry, "displayName", fullname);
+               get_single_attribute(ldap_struct, entry, "cn", fullname);
+       }
+
+       get_single_attribute(ldap_struct, entry, "homeDrive", dir_drive);
+       get_single_attribute(ldap_struct, entry, "scriptPath", logon_script);
+       get_single_attribute(ldap_struct, entry, "profilePath", profile_path);
+       get_single_attribute(ldap_struct, entry, "description", acct_desc);
+       get_single_attribute (ldap_struct, entry, "userWorkstations", workstations);
+
+       get_single_attribute(ldap_struct, entry, "rid", temp);
+       user_rid = (uint32)strtol(temp, NULL, 16);
+       get_single_attribute(ldap_struct, entry, "primaryGroupID", temp);
+       group_rid = (uint32)strtol(temp, NULL, 16);
+
+
+       /* These values MAY be in LDAP, but they can also be retrieved through 
+          *  sys_getpw*() which is how we're doing it (if you use nss_ldap, then 
+          *  these values will be stored in LDAP as well, but if not, we want the
+          *  local values to override the LDAP for this anyway 
+          *  homeDirectory attribute
+        */
+       sys_user = sys_getpwnam(username);
+       if (sys_user == NULL)
+               return False;
+       pstrcpy(homedir, sys_user->pw_dir);
+
+
+       /* FIXME: hours stuff should be cleaner */
+       logon_divs = 168;
+       hours_len = 21;
+       hours = malloc(sizeof(hours) * hours_len);
+       memset(hours, 0xff, hours_len);
+
+       get_single_attribute (ldap_struct, entry, "lmPassword", temp);
+       pdb_gethexpwd(temp, smblmpwd);
+       memset((char *)temp, '\0', sizeof(temp));
+       get_single_attribute (ldap_struct, entry, "ntPassword", temp);
+       pdb_gethexpwd(temp, smbntpwd);
+       memset((char *)temp, '\0', sizeof(temp));
+       get_single_attribute (ldap_struct, entry, "acctFlags", temp);
+       acct_ctrl = pdb_decode_acct_ctrl(temp);
+
+       if (acct_ctrl == 0)
+               acct_ctrl |= ACB_NORMAL;
+
+
+       pdb_set_acct_ctrl(sampass, acct_ctrl);
+       pdb_set_logon_time(sampass, logon_time);
+       pdb_set_logoff_time(sampass, logoff_time);
+       pdb_set_kickoff_time(sampass, kickoff_time);
+       pdb_set_pass_can_change_time(sampass, pass_can_change_time);
+       pdb_set_pass_must_change_time(sampass, pass_must_change_time);
+       pdb_set_pass_last_set_time(sampass, pass_last_set_time);
+
+       pdb_set_hours_len(sampass, hours_len);
+       pdb_set_logons_divs(sampass, logon_divs);
+
+       pdb_set_uid(sampass, sys_user->pw_uid);
+       pdb_set_gid(sampass, sys_user->pw_gid);
+       pdb_set_user_rid(sampass, user_rid);
+       pdb_set_group_rid(sampass, group_rid);
+
+       pdb_set_username(sampass, username);
+
+       pdb_set_domain(sampass, domain);
+       pdb_set_nt_username(sampass, nt_username);
+
+       pdb_set_fullname(sampass, fullname);
+
+       pdb_set_logon_script(sampass, logon_script);
+       pdb_set_profile_path(sampass, profile_path);
+       pdb_set_dir_drive(sampass, dir_drive);
+       pdb_set_homedir(sampass, homedir);
+       pdb_set_acct_desc(sampass, acct_desc);
+       pdb_set_workstations(sampass, workstations);
+       pdb_set_munged_dial(sampass, munged_dial);
+       pdb_set_nt_passwd(sampass, smbntpwd);
+       pdb_set_lanman_passwd(sampass, smblmpwd);
+
+       /* pdb_set_unknown_3(sampass, unknown3); */
+       /* pdb_set_unknown_5(sampass, unknown5); */
+       /* pdb_set_unknown_6(sampass, unknown6); */
+
+       pdb_set_hours(sampass, hours);
+
+       return True;
+}
+
+/**********************************************************************
+Initialize SAM_ACCOUNT from an LDAP query
+(Based on init_buffer_from_sam in pdb_tdb.c)
+*********************************************************************/
+static BOOL init_ldap_from_sam (LDAPMod *** mods, int ldap_state, SAM_ACCOUNT * sampass)
+{
+       pstring temp;
+
+       *mods = NULL;
+
+       /* 
+        * took out adding "objectclass: sambaAccount"
+        * do this on a per-mod basis
+        */
+
+
+       make_a_mod(mods, ldap_state, "uid", pdb_get_username(sampass));
+       DEBUG(2, ("Setting entry for user: %s\n", pdb_get_username(sampass)));
+
+       /* not sure about using this for the nt_username */
+       make_a_mod (mods, ldap_state, "sAMAccountName", pdb_get_nt_username(sampass));
+       make_a_mod(mods, ldap_state, "sambaDomain", pdb_get_domain(sampass));
+
+       slprintf(temp, sizeof(temp) - 1, "%i", pdb_get_uid(sampass));
+       make_a_mod(mods, ldap_state, "uidNumber", temp);
+
+       slprintf (temp, sizeof (temp) - 1, "%li", pdb_get_pass_last_set_time(sampass));
+       make_a_mod(mods, ldap_state, "pwdLastSet", temp);
+
+       slprintf(temp, sizeof(temp) - 1, "%li", pdb_get_logon_time(sampass));
+       make_a_mod(mods, ldap_state, "logonTime", temp);
+
+       slprintf(temp, sizeof(temp) - 1, "%li", pdb_get_logoff_time(sampass));
+       make_a_mod(mods, ldap_state, "logoffTime", temp);
+
+       slprintf (temp, sizeof (temp) - 1, "%li", pdb_get_kickoff_time(sampass));
+       make_a_mod(mods, ldap_state, "kickoffTime", temp);
+
+       slprintf (temp, sizeof (temp) - 1, "%li", pdb_get_pass_can_change_time(sampass));
+       make_a_mod(mods, ldap_state, "pwdCanChange", temp);
+
+       slprintf (temp, sizeof (temp) - 1, "%li", pdb_get_pass_must_change_time(sampass));
+       make_a_mod(mods, ldap_state, "pwdMustChange", temp);
+
+       /* displayName, cn, and gecos should all be the same
+          *  most easily accomplished by giving them the same OID
+          *  gecos isn't set here b/c it should be handled by the 
+          *  add-user script
+        */
+
+       make_a_mod(mods, ldap_state, "displayName", pdb_get_fullname(sampass));
+       make_a_mod(mods, ldap_state, "cn", pdb_get_fullname(sampass));
+
+       make_a_mod(mods, ldap_state, "homeDirectory", pdb_get_homedir(sampass));
+       make_a_mod(mods, ldap_state, "homeDrive", pdb_get_dirdrive(sampass));
+       make_a_mod(mods, ldap_state, "scriptPath", pdb_get_logon_script(sampass));
+       make_a_mod(mods, ldap_state, "profilePath", pdb_get_profile_path(sampass));
+       make_a_mod(mods, ldap_state, "description", pdb_get_acct_desc(sampass));
+       make_a_mod(mods, ldap_state, "userWorkstations", pdb_get_workstations(sampass));
+
+       slprintf(temp, sizeof(temp) - 1, "%i", sampass->user_rid);
+       make_a_mod(mods, ldap_state, "rid", temp);
+
+       slprintf(temp, sizeof(temp) - 1, "%i", sampass->group_rid);
+       make_a_mod(mods, ldap_state, "primaryGroupID", temp);
+
+       /* FIXME: Hours stuff goes in LDAP  */
+       pdb_sethexpwd (temp, pdb_get_lanman_passwd(sampass), pdb_get_acct_ctrl(sampass));
+       make_a_mod (mods, ldap_state, "lmPassword", temp);
+       pdb_sethexpwd (temp, pdb_get_nt_passwd(sampass), pdb_get_acct_ctrl(sampass));
+       make_a_mod (mods, ldap_state, "ntPassword", temp);
+       make_a_mod (mods, ldap_state, "acctFlags", pdb_encode_acct_ctrl (pdb_get_acct_ctrl(sampass),
+               NEW_PW_FORMAT_SPACE_PADDED_LEN));
+
+       return True;
+}
+
+/**********************************************************************
+Connect to LDAP server for password enumeration
+*********************************************************************/
+BOOL pdb_setsampwent(BOOL update)
+{
+       int rc;
+       pstring filter;
+
+       if (!ldap_open_connection(&global_ldap_ent.ldap_struct))
+       {
+               return False;
+       }
+       if (!ldap_connect_system(global_ldap_ent.ldap_struct))
+       {
+               ldap_unbind(global_ldap_ent.ldap_struct);
+               return False;
+       }
+
+       pstrcpy(filter, lp_ldap_filter());
+       all_string_sub(filter, "%u", "*", sizeof(pstring));
+
+       rc = ldap_search_s(global_ldap_ent.ldap_struct, lp_ldap_suffix(),
+                          LDAP_SCOPE_SUBTREE, filter, NULL, 0,
+                          &global_ldap_ent.result);
+
+       if (rc != LDAP_SUCCESS)
+       {
+               DEBUG(0, ("LDAP search failed: %s\n", ldap_err2string(rc)));
+               DEBUG(3, ("Query was: %s, %s\n", lp_ldap_suffix(), filter));
+               ldap_msgfree(global_ldap_ent.result);
+               ldap_unbind(global_ldap_ent.ldap_struct);
+               global_ldap_ent.ldap_struct = NULL;
+               global_ldap_ent.result = NULL;
+               return False;
+       }
+
+       DEBUG(2, ("pdb_setsampwent: %d entries in the base!\n",
+               ldap_count_entries(global_ldap_ent.ldap_struct,
+               global_ldap_ent.result)));
+
+       global_ldap_ent.entry = ldap_first_entry(global_ldap_ent.ldap_struct,
+                                global_ldap_ent.result);
+
+       return True;
+}
+
+/**********************************************************************
+End enumeration of the LDAP password list 
+*********************************************************************/
+void pdb_endsampwent(void)
+{
+       if (global_ldap_ent.ldap_struct && global_ldap_ent.result)
+       {
+               ldap_msgfree(global_ldap_ent.result);
+               ldap_unbind(global_ldap_ent.ldap_struct);
+               global_ldap_ent.ldap_struct = NULL;
+               global_ldap_ent.result = NULL;
+       }
+}
+
+/**********************************************************************
+Get the next entry in the LDAP password database 
+*********************************************************************/
+BOOL pdb_getsampwent(SAM_ACCOUNT * user)
+{
+       if (!global_ldap_ent.entry)
+               return False;
+
+       global_ldap_ent.entry = ldap_next_entry(global_ldap_ent.ldap_struct,
+                               global_ldap_ent.entry);
+
+       if (global_ldap_ent.entry != NULL)
+       {
+               return init_sam_from_ldap(user, global_ldap_ent.ldap_struct,
+                                         global_ldap_ent.entry);
+       }
+       return False;
+}
+
+/**********************************************************************
+Get SAM_ACCOUNT entry from LDAP by username 
+*********************************************************************/
+BOOL pdb_getsampwnam(SAM_ACCOUNT * user, char *sname)
+{
+       LDAP *ldap_struct;
+       LDAPMessage *result;
+       LDAPMessage *entry;
+
+       if (!ldap_open_connection(&ldap_struct))
+               return False;
+       if (!ldap_connect_system(ldap_struct))
+       {
+               ldap_unbind(ldap_struct);
+               return False;
+       }
+       if (ldap_search_one_user_by_name(ldap_struct, sname, &result) !=
+           LDAP_SUCCESS)
+       {
+               ldap_unbind(ldap_struct);
+               return False;
+       }
+       if (ldap_count_entries(ldap_struct, result) < 1)
+       {
+               DEBUG(0,
+                     ("We don't find this user [%s] count=%d\n", sname,
+                      ldap_count_entries(ldap_struct, result)));
+               ldap_unbind(ldap_struct);
+               return False;
+       }
+       entry = ldap_first_entry(ldap_struct, result);
+       if (entry)
+       {
+               init_sam_from_ldap(user, ldap_struct, entry);
+               ldap_msgfree(result);
+               ldap_unbind(ldap_struct);
+               return True;
+       }
+       else
+       {
+               ldap_msgfree(result);
+               ldap_unbind(ldap_struct);
+               return False;
+       }
+}
+
+/**********************************************************************
+Get SAM_ACCOUNT entry from LDAP by rid 
+*********************************************************************/
+BOOL pdb_getsampwrid(SAM_ACCOUNT * user, uint32 rid)
+{
+       LDAP *ldap_struct;
+       LDAPMessage *result;
+       LDAPMessage *entry;
+
+       if (!ldap_open_connection(&ldap_struct))
+               return False;
+
+       if (!ldap_connect_system(ldap_struct))
+       {
+               ldap_unbind(ldap_struct);
+               return False;
+       }
+       if (ldap_search_one_user_by_rid(ldap_struct, rid, &result) !=
+           LDAP_SUCCESS)
+       {
+               ldap_unbind(ldap_struct);
+               return False;
+       }
+
+       if (ldap_count_entries(ldap_struct, result) < 1)
+       {
+               DEBUG(0,
+                     ("We don't find this rid [%i] count=%d\n", rid,
+                      ldap_count_entries(ldap_struct, result)));
+               ldap_unbind(ldap_struct);
+               return False;
+       }
+
+       entry = ldap_first_entry(ldap_struct, result);
+       if (entry)
+       {
+               init_sam_from_ldap(user, ldap_struct, entry);
+               ldap_msgfree(result);
+               ldap_unbind(ldap_struct);
+               return True;
+       }
+       else
+       {
+               ldap_msgfree(result);
+               ldap_unbind(ldap_struct);
+               return False;
+       }
+}
+
+/**********************************************************************
+ Get SAM_ACCOUNT entry from LDAP by uid 
+*********************************************************************/
+BOOL pdb_getsampwuid(SAM_ACCOUNT * user, uid_t uid)
+{
+       LDAP *ldap_struct;
+       LDAPMessage *result;
+       LDAPMessage *entry;
+
+       if (!ldap_open_connection(&ldap_struct))
+               return False;
+
+       if (!ldap_connect_system(ldap_struct))
+       {
+               ldap_unbind(ldap_struct);
+               return False;
+       }
+       if (ldap_search_one_user_by_uid(ldap_struct, uid, &result) !=
+           LDAP_SUCCESS)
+       {
+               ldap_unbind(ldap_struct);
+               return False;
+       }
+
+       if (ldap_count_entries(ldap_struct, result) < 1)
+       {
+               DEBUG(0,
+                     ("We don't find this uid [%i] count=%d\n", uid,
+                      ldap_count_entries(ldap_struct, result)));
+               ldap_unbind(ldap_struct);
+               return False;
+       }
+       entry = ldap_first_entry(ldap_struct, result);
+       if (entry)
+       {
+               init_sam_from_ldap(user, ldap_struct, entry);
+               ldap_msgfree(result);
+               ldap_unbind(ldap_struct);
+               return True;
+       }
+       else
+       {
+               ldap_msgfree(result);
+               ldap_unbind(ldap_struct);
+               return False;
+       }
+}
+
+
+/**********************************************************************
+Delete entry from LDAP for username 
+*********************************************************************/
+BOOL pdb_delete_sam_account(char *sname)
+{
+       int rc;
+       char *dn;
+       LDAP *ldap_struct;
+       LDAPMessage *entry;
+       LDAPMessage *result;
+
+       if (!ldap_open_connection (&ldap_struct))
+               return False;
+
+       DEBUG (3, ("Deleting user %s from LDAP.\n", sname));
+       
+       if (!ldap_connect_system (ldap_struct)) {
+               ldap_unbind (ldap_struct);
+               DEBUG(0, ("Failed to delete user %s from LDAP.\n", sname));
+               return False;
+       }
+
+       rc = ldap_search_one_user_by_name (ldap_struct, sname, &result);
+       if (ldap_count_entries (ldap_struct, result) == 0) {
+               DEBUG (0, ("User doesn't exit!\n"));
+               ldap_msgfree (result);
+               ldap_unbind (ldap_struct);
+               return False;
+       }
+
+       entry = ldap_first_entry (ldap_struct, result);
+       dn = ldap_get_dn (ldap_struct, entry);
+
+       rc = ldap_delete_s (ldap_struct, dn);
+
+       ldap_memfree (dn);
+       if (rc != LDAP_SUCCESS) {
+               char *ld_error;
+               ldap_get_option (ldap_struct, LDAP_OPT_ERROR_STRING, &ld_error);
+               DEBUG (0,("failed to delete user with uid = %s with: %s\n\t%s\n",
+                       sname, ldap_err2string (rc), ld_error));
+               free (ld_error);
+               ldap_unbind (ldap_struct);
+               return False;
+       }
+
+       DEBUG (2,("successfully deleted uid = %s from the LDAP database\n", sname));
+       ldap_unbind (ldap_struct);
+       return True;
+}
+
+/**********************************************************************
+Update SAM_ACCOUNT 
+*********************************************************************/
+BOOL pdb_update_sam_account(SAM_ACCOUNT * newpwd, BOOL override)
+{
+       int rc;
+       char *dn;
+       LDAP *ldap_struct;
+       LDAPMessage *result;
+       LDAPMessage *entry;
+       LDAPMod **mods;
+
+       if (!ldap_open_connection(&ldap_struct)) /* open a connection to the server */
+               return False;
+
+       if (!ldap_connect_system(ldap_struct))  /* connect as system account */
+       {
+               ldap_unbind(ldap_struct);
+               return False;
+       }
+
+       rc = ldap_search_one_user_by_name(ldap_struct,
+                                         pdb_get_username(newpwd), &result);
+
+       if (ldap_count_entries(ldap_struct, result) == 0)
+       {
+               DEBUG(0, ("No user to modify!\n"));
+               ldap_msgfree(result);
+               ldap_unbind(ldap_struct);
+               return False;
+       }
+
+       init_ldap_from_sam(&mods, LDAP_MOD_REPLACE, newpwd);
+
+       entry = ldap_first_entry(ldap_struct, result);
+       dn = ldap_get_dn(ldap_struct, entry);
+
+       rc = ldap_modify_s(ldap_struct, dn, mods);
+
+       if (rc != LDAP_SUCCESS)
+       {
+               char *ld_error;
+               ldap_get_option(ldap_struct, LDAP_OPT_ERROR_STRING,
+                               &ld_error);
+               DEBUG(0,
+                     ("failed to modify user with uid = %s with: %s\n\t%s\n",
+                      pdb_get_username(newpwd), ldap_err2string(rc),
+                      ld_error));
+               free(ld_error);
+               ldap_unbind(ldap_struct);
+               return False;
+       }
+
+       DEBUG(2,
+             ("successfully modified uid = %s in the LDAP database\n",
+              pdb_get_username(newpwd)));
+       ldap_mods_free(mods, 1);
+       ldap_unbind(ldap_struct);
+       return True;
+}
+
+/**********************************************************************
+Add SAM_ACCOUNT to LDAP 
+*********************************************************************/
+BOOL pdb_add_sam_account(SAM_ACCOUNT * newpwd)
+{
+       int rc;
+       pstring filter;
+       LDAP *ldap_struct;
+       LDAPMessage *result;
+       pstring dn;
+       LDAPMod **mods;
+       int ldap_op = LDAP_MOD_ADD;
+
+       if (!ldap_open_connection(&ldap_struct))        /* open a connection to the server */
+       {
+               return False;
+       }
+
+       if (!ldap_connect_system(ldap_struct))  /* connect as system account */
+       {
+               ldap_unbind(ldap_struct);
+               return False;
+       }
+
+       if (pdb_get_username(newpwd) != NULL) {
+               slprintf (dn, sizeof (dn) - 1, "uid=%s,%s", 
+                       pdb_get_username(newpwd), lp_ldap_suffix ());
+       }
+       else
+       {
+               return False;
+       }
+
+
+       rc = ldap_search_one_user_by_name (ldap_struct, pdb_get_username(newpwd), &result);
+
+       if (ldap_count_entries(ldap_struct, result) != 0)
+       {
+               DEBUG(0,("User already in the base, with samba properties\n"));
+               ldap_msgfree(result);
+               ldap_unbind(ldap_struct);
+               return False;
+       }
+       ldap_msgfree(result);
+
+       slprintf (filter, sizeof (filter) - 1, "uid=%s", pdb_get_username(newpwd));
+       rc = ldap_search_one_user(ldap_struct, filter, &result);
+       if (ldap_count_entries(ldap_struct, result) == 1)
+       {
+               char *tmp;
+               LDAPMessage *entry;
+               DEBUG(3,("User exists without samba properties: adding them\n"));
+               ldap_op = LDAP_MOD_REPLACE;
+               entry = ldap_first_entry (ldap_struct, result);
+               tmp = ldap_get_dn (ldap_struct, entry);
+               slprintf (dn, sizeof (dn) - 1, "%s", tmp);
+               ldap_memfree (tmp);
+       }
+       else
+       {
+               DEBUG (3, ("More than one user with that uid exists: bailing out!\n"));
+               return False;
+       }
+
+       ldap_msgfree(result);
+
+       init_ldap_from_sam(&mods, ldap_op, newpwd);
+       make_a_mod(&mods, LDAP_MOD_ADD, "objectclass", "sambaAccount");
+
+       if (ldap_op == LDAP_MOD_REPLACE) {
+               rc = ldap_modify_s(ldap_struct, dn, mods);
+       }
+       else {
+               rc = ldap_add_s(ldap_struct, dn, mods);
+       }
+
+       if (rc != LDAP_SUCCESS)
+       {
+               char *ld_error;
+
+               ldap_get_option (ldap_struct, LDAP_OPT_ERROR_STRING, &ld_error);
+               DEBUG(0,("failed to modify user with uid = %s with: %s\n\t%s\n",
+                       pdb_get_username(newpwd), ldap_err2string (rc), ld_error));
+               free(ld_error);
+               ldap_mods_free(mods, 1);
+               ldap_unbind(ldap_struct);
+               return False;
+       }
+       
+       DEBUG(2,("added: uid = %s in the LDAP database\n", pdb_get_username(newpwd)));
+       ldap_mods_free(mods, 1);
+       ldap_unbind(ldap_struct);
+       return True;
+}
+
+#else
+void dummy_function(void);
+void
+dummy_function (void)
+{
+}                              /* stop some compilers complaining */
+#endif
diff --git a/source3/passdb/pdb_nisplus.c b/source3/passdb/pdb_nisplus.c
new file mode 100644 (file)
index 0000000..368fb3d
--- /dev/null
@@ -0,0 +1,1401 @@
+/*
+ * Unix SMB/Netbios implementation. Version 1.9. SMB parameters and setup
+ * Copyright (C) Andrew Tridgell 1992-1998 Modified by Jeremy Allison 1995.
+ * Copyright (C) Benny Holmgren 1998 <bigfoot@astrakan.hgs.se> 
+ * Copyright (C) Luke Kenneth Casson Leighton 1996-1998.
+ * Copyright (C) Toomas Soomea <tsoome@ut.ee> 2001
+ * 
+ * This program is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU General Public License as published by the Free
+ * Software Foundation; either version 2 of the License, or (at your option)
+ * any later version.
+ * 
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
+ * more details.
+ * 
+ * You should have received a copy of the GNU General Public License along with
+ * this program; if not, write to the Free Software Foundation, Inc., 675
+ * Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include "includes.h"
+
+#ifdef WITH_NISPLUS_SAM
+
+#ifdef BROKEN_NISPLUS_INCLUDE_FILES
+
+/*
+ * The following lines are needed due to buggy include files
+ * in Solaris 2.6 which define GROUP in both /usr/include/sys/acl.h and
+ * also in /usr/include/rpcsvc/nis.h. The definitions conflict. JRA.
+ * Also GROUP_OBJ is defined as 0x4 in /usr/include/sys/acl.h and as
+ * an enum in /usr/include/rpcsvc/nis.h.
+ */
+
+#if defined(GROUP)
+#undef GROUP
+#endif
+
+#if defined(GROUP_OBJ)
+#undef GROUP_OBJ
+#endif
+
+#endif
+
+#include <rpcsvc/nis.h>
+
+extern int      DEBUGLEVEL;
+extern pstring samlogon_user;
+extern BOOL    sam_logon_in_ssb;
+
+struct nisp_enum_info
+{
+       nis_result *result;
+       int enum_entry;
+};
+
+static struct nisp_enum_info global_nisp_ent;
+static VOLATILE sig_atomic_t gotalarm;
+
+/***************************************************************
+
+ the fields for the NIS+ table, generated from mknissmbpwtbl.sh, are:
+
+       name=S,nogw=r 
+       uid=S,nogw=r 
+               user_rid=S,nogw=r
+               smb_grpid=,nw+r
+               group_rid=,nw+r
+               acb=,nw+r
+                         
+       lmpwd=C,nw=,g=r,o=rm 
+       ntpwd=C,nw=,g=r,o=rm 
+                                    
+               logon_t=,nw+r 
+               logoff_t=,nw+r 
+               kick_t=,nw+r 
+               pwdlset_t=,nw+r 
+               pwdlchg_t=,nw+r 
+               pwdmchg_t=,nw+r 
+                               
+               full_name=,nw+r 
+               home_dir=,nw+r 
+               dir_drive=,nw+r 
+               logon_script=,nw+r 
+               profile_path=,nw+r 
+               acct_desc=,nw+r 
+               workstations=,nw+r 
+                                  
+               hours=,nw+r 
+
+****************************************************************/
+
+#define NPF_NAME          0
+#define NPF_UID           1
+#define NPF_USER_RID      2
+#define NPF_SMB_GRPID     3
+#define NPF_GROUP_RID     4
+#define NPF_ACB           5
+#define NPF_LMPWD         6
+#define NPF_NTPWD         7
+#define NPF_LOGON_T       8
+#define NPF_LOGOFF_T      9
+#define NPF_KICK_T        10
+#define NPF_PWDLSET_T     11
+#define NPF_PWDCCHG_T     12
+#define NPF_PWDMCHG_T     13
+#define NPF_FULL_NAME     14
+#define NPF_HOME_DIR      15
+#define NPF_DIR_DRIVE     16
+#define NPF_LOGON_SCRIPT  17
+#define NPF_PROFILE_PATH  18
+#define NPF_ACCT_DESC     19
+#define NPF_WORKSTATIONS  20
+#define NPF_HOURS         21
+
+/***************************************************************
+ Signal function to tell us we timed out.
+****************************************************************/
+static void gotalarm_sig(void)
+{
+  gotalarm = 1;
+}
+
+/***************************************************************
+ make_nisname_from_user_rid
+ ****************************************************************/
+static char *make_nisname_from_user_rid(uint32 rid, char *pfile)
+{
+       static pstring nisname;
+
+       safe_strcpy(nisname, "[user_rid=", sizeof(nisname)-1);
+       slprintf(nisname, sizeof(nisname)-1, "%s%d", nisname, rid);
+       safe_strcat(nisname, "],", sizeof(nisname)-strlen(nisname)-1);
+       safe_strcat(nisname, pfile, sizeof(nisname)-strlen(nisname)-1);
+
+       return nisname;
+}
+
+/***************************************************************
+ make_nisname_from_uid
+ ****************************************************************/
+static char *make_nisname_from_uid(int uid, char *pfile)
+{
+       static pstring nisname;
+
+       safe_strcpy(nisname, "[uid=", sizeof(nisname)-1);
+       slprintf(nisname, sizeof(nisname)-1, "%s%d", nisname, uid);
+       safe_strcat(nisname, "],", sizeof(nisname)-strlen(nisname)-1);
+       safe_strcat(nisname, pfile, sizeof(nisname)-strlen(nisname)-1);
+
+       return nisname;
+}
+
+/***************************************************************
+ make_nisname_from_name
+ ****************************************************************/
+static char *make_nisname_from_name(char *user_name, char *pfile)
+{
+       static pstring nisname;
+
+       safe_strcpy(nisname, "[name=", sizeof(nisname)-1);
+       safe_strcat(nisname, user_name, sizeof(nisname) - strlen(nisname) - 1);
+       safe_strcat(nisname, "],", sizeof(nisname)-strlen(nisname)-1);
+       safe_strcat(nisname, pfile, sizeof(nisname)-strlen(nisname)-1);
+
+       return nisname;
+}
+
+/*************************************************************************
+ gets a NIS+ attribute
+ *************************************************************************/
+static void get_single_attribute(nis_object *new_obj, int col,
+                               char *val, int len)
+{
+       int entry_len;
+
+       if (new_obj == NULL || val == NULL) return;
+       
+       entry_len = ENTRY_LEN(new_obj, col);
+       if (len > entry_len)
+       {
+               len = entry_len;
+       }
+
+       safe_strcpy(val, ENTRY_VAL(new_obj, col), len-1);
+}
+
+/************************************************************************
+ makes a struct sam_passwd from a NIS+ object.
+ ************************************************************************/
+static BOOL make_sam_from_nisp_object(SAM_ACCOUNT *pw_buf, nis_object *obj)
+{
+  char *ptr;
+  pstring full_name;    /* this must be translated to dos code page */
+  pstring acct_desc;    /* this must be translated to dos code page */
+  pstring home_dir;     /* set default value from smb.conf for user */
+  pstring home_drive;   /* set default value from smb.conf for user */
+  pstring logon_script; /* set default value from smb.conf for user */
+  pstring profile_path; /* set default value from smb.conf for user */
+  pstring hours;
+  int hours_len;
+  unsigned char smbpwd[16];
+  unsigned char smbntpwd[16];
+  
+
+  /*
+   * time values. note: this code assumes 32bit time_t!
+   */
+
+  pdb_set_logon_time(pw_buf, -1);
+  ptr = (uchar *)ENTRY_VAL(obj, NPF_LOGON_T);
+  if(ptr && *ptr && (StrnCaseCmp(ptr, "LNT-", 4)==0)) {
+    int i;
+    ptr += 4;
+    for(i = 0; i < 8; i++) {
+      if(ptr[i] == '\0' || !isxdigit(ptr[i]))
+       break;
+    }
+    if(i == 8) {
+      pdb_set_logon_time(pw_buf, (time_t)strtol(ptr, NULL, 16));
+    }
+  }
+
+  pdb_set_logoff_time(pw_buf, -1);
+  ptr = (uchar *)ENTRY_VAL(obj, NPF_LOGOFF_T);
+  if(ptr && *ptr && (StrnCaseCmp(ptr, "LOT-", 4)==0)) {
+    int i;
+    ptr += 4;
+    for(i = 0; i < 8; i++) {
+      if(ptr[i] == '\0' || !isxdigit(ptr[i]))
+       break;
+    }
+    if(i == 8) {
+      pdb_set_logoff_time(pw_buf, (time_t)strtol(ptr, NULL, 16));
+    }
+  }
+
+  pdb_set_kickoff_time(pw_buf, -1);
+  ptr = (uchar *)ENTRY_VAL(obj, NPF_KICK_T);
+  if(ptr && *ptr && (StrnCaseCmp(ptr, "KOT-", 4)==0)) {
+    int i;
+    ptr += 4;
+    for(i = 0; i < 8; i++) {
+      if(ptr[i] == '\0' || !isxdigit(ptr[i]))
+       break;
+    }
+    if(i == 8) {
+      pdb_set_kickoff_time(pw_buf, (time_t)strtol(ptr, NULL, 16));
+    }
+  }
+
+  pdb_set_pass_last_set_time(pw_buf, -1);
+  ptr = (uchar *)ENTRY_VAL(obj, NPF_PWDLSET_T);
+  if(ptr && *ptr && (StrnCaseCmp(ptr, "LCT-", 4)==0)) {
+    int i;
+    ptr += 4;
+    for(i = 0; i < 8; i++) {
+      if(ptr[i] == '\0' || !isxdigit(ptr[i]))
+       break;
+    }
+    if(i == 8) {
+      pdb_set_pass_last_set_time(pw_buf, (time_t)strtol(ptr, NULL, 16));
+    }
+  }
+  
+  pdb_set_pass_can_change_time(pw_buf, -1);
+  ptr = (uchar *)ENTRY_VAL(obj, NPF_PWDCCHG_T);
+  if(ptr && *ptr && (StrnCaseCmp(ptr, "CCT-", 4)==0)) {
+    int i;
+    ptr += 4;
+    for(i = 0; i < 8; i++) {
+      if(ptr[i] == '\0' || !isxdigit(ptr[i]))
+       break;
+    }
+    if(i == 8) {
+      pdb_set_pass_can_change_time(pw_buf, (time_t)strtol(ptr, NULL, 16));
+    }
+  }
+  
+  pdb_set_pass_must_change_time(pw_buf, -1);
+  ptr = (uchar *)ENTRY_VAL(obj, NPF_PWDMCHG_T);
+  if(ptr && *ptr && (StrnCaseCmp(ptr, "MCT-", 4)==0)) {
+    int i;
+    ptr += 4;
+    for(i = 0; i < 8; i++) {
+      if(ptr[i] == '\0' || !isxdigit(ptr[i]))
+       break;
+    }
+    if(i == 8) {
+      pdb_set_pass_must_change_time(pw_buf, (time_t)strtol(ptr, NULL, 16));
+    }
+  }
+
+  /* string values */
+  pdb_set_username(pw_buf, ENTRY_VAL(obj, NPF_NAME));
+  pdb_set_domain(pw_buf, lp_workgroup());
+  /* pdb_set_nt_username() -- cant set it here... */
+
+  get_single_attribute(obj, NPF_FULL_NAME, full_name, sizeof(pstring));
+  unix_to_dos(full_name, True);
+  pdb_set_fullname(pw_buf, full_name);
+
+  pdb_set_acct_ctrl(pw_buf, pdb_decode_acct_ctrl(ENTRY_VAL(obj,
+                                                          NPF_ACB)));
+
+  get_single_attribute(obj, NPF_ACCT_DESC, acct_desc, sizeof(pstring));
+  unix_to_dos(acct_desc, True);
+  pdb_set_acct_desc(pw_buf, acct_desc);
+
+  pdb_set_workstations(pw_buf, ENTRY_VAL(obj, NPF_WORKSTATIONS));
+  pdb_set_munged_dial(pw_buf, NULL);
+
+  pdb_set_uid(pw_buf, atoi(ENTRY_VAL(obj, NPF_UID)));
+  pdb_set_gid(pw_buf, atoi(ENTRY_VAL(obj, NPF_SMB_GRPID)));
+  pdb_set_user_rid(pw_buf, atoi(ENTRY_VAL(obj, NPF_USER_RID)));
+  pdb_set_group_rid(pw_buf, atoi(ENTRY_VAL(obj, NPF_GROUP_RID)));
+
+  /* values, must exist for user */
+  if( !(pdb_get_acct_ctrl(pw_buf) & ACB_WSTRUST) ) {
+    /* FIXME!!  This doesn't belong here. 
+       Should be set in net_sam_logon() 
+       --jerry */
+    pstrcpy(samlogon_user, pdb_get_username(pw_buf));
+    
+    get_single_attribute(obj, NPF_HOME_DIR, home_dir, sizeof(pstring));
+    if( !(home_dir && *home_dir) )
+      pstrcpy(home_dir, lp_logon_home());
+    pdb_set_homedir(pw_buf, home_dir);
+
+    get_single_attribute(obj, NPF_DIR_DRIVE, home_drive, sizeof(pstring));
+    if( !(home_drive && *home_drive) )
+      pstrcpy(home_drive, lp_logon_drive());
+    pdb_set_dir_drive(pw_buf, home_drive);
+
+    get_single_attribute(obj, NPF_LOGON_SCRIPT, logon_script,
+                        sizeof(pstring));
+    if( !(logon_script && *logon_script) )
+      pstrcpy(logon_script, lp_logon_script());
+    pdb_set_logon_script(pw_buf, logon_script);
+
+    get_single_attribute(obj, NPF_PROFILE_PATH, profile_path,
+                        sizeof(pstring));
+    if( !(profile_path && *profile_path) )
+      pstrcpy(profile_path, lp_logon_path());
+    pdb_set_profile_path(pw_buf, profile_path);
+  } else {
+    /* lkclXXXX this is OBSERVED behaviour by NT PDCs, enforced here. */
+    pdb_set_group_rid (pw_buf, DOMAIN_GROUP_RID_USERS); 
+  }
+
+  /* Check the lanman password column. */
+  ptr = (char *)ENTRY_VAL(obj, NPF_LMPWD);
+  pdb_set_lanman_passwd(pw_buf, NULL);
+
+  if (!strncasecmp(ptr, "NO PASSWORD", 11)) {
+    pdb_set_acct_ctrl(pw_buf, pdb_get_acct_ctrl(pw_buf) | ACB_PWNOTREQ);
+  } else {
+    if (strlen(ptr) != 32 || !pdb_gethexpwd(ptr, smbpwd)) {
+      DEBUG(0, ("malformed LM pwd entry: %s.\n",
+               pdb_get_username(pw_buf)));
+      return False;
+    } 
+    pdb_set_lanman_passwd(pw_buf, smbpwd);
+  }
+  
+  /* Check the NT password column. */
+  ptr = ENTRY_VAL(obj, NPF_NTPWD);
+  pdb_set_nt_passwd(pw_buf, NULL);
+  
+  if (!(pdb_get_acct_ctrl(pw_buf) & ACB_PWNOTREQ) &&
+      strncasecmp(ptr, "NO PASSWORD", 11)) {
+    if (strlen(ptr) != 32 || !pdb_gethexpwd(ptr, smbntpwd)) {
+      DEBUG(0, ("malformed NT pwd entry:
+ uid = %d.\n",
+               pdb_get_uid(pw_buf)));
+      return False;
+    }
+    pdb_set_nt_passwd(pw_buf, smbntpwd);
+  }
+  
+  pdb_set_unknown_3(pw_buf, 0xffffff); /* don't know */
+  pdb_set_logons_divs(pw_buf, 168);     /* hours per week */
+                     
+                     if( (hours_len = ENTRY_LEN(obj, NPF_HOURS)) == 21 ) {
+    memcpy(hours, ENTRY_VAL(obj, NPF_HOURS), hours_len);
+  } else {
+    hours_len = 21; /* 21 times 8 bits = 168 */
+    /* available at all hours */
+    memset(hours, 0xff, hours_len);
+  }
+  pdb_set_hours_len(pw_buf, hours_len);
+  pdb_set_hours(pw_buf, hours);
+
+  pdb_set_unknown_5(pw_buf, 0x00020000); /* don't know */
+  pdb_set_unknown_6(pw_buf, 0x000004ec); /* don't know */
+
+  return True;
+}
+
+/************************************************************************
+ makes a struct sam_passwd from a NIS+ result.
+ ************************************************************************/
+static BOOL make_sam_from_nisresult(SAM_ACCOUNT *pw_buf, nis_result *result)
+{
+       if (pw_buf == NULL || result == NULL) return False;
+
+       if (result->status != NIS_SUCCESS && result->status != NIS_NOTFOUND)
+       {
+               DEBUG(0, ("NIS+ lookup failure: %s\n",
+                          nis_sperrno(result->status)));
+               return False;
+       }
+
+       /* User not found. */
+       if (NIS_RES_NUMOBJ(result) <= 0)
+       {
+               DEBUG(10, ("user not found in NIS+\n"));
+               return False;
+       }
+
+       if (NIS_RES_NUMOBJ(result) > 1)
+       {
+               DEBUG(10, ("WARNING: Multiple entries for user in NIS+ table!\n"));
+       }
+
+       /* Grab the first hit. */
+       return make_sam_from_nisp_object(pw_buf, &NIS_RES_OBJECT(result)[0]);
+}
+
+/*************************************************************************
+ sets a NIS+ attribute
+ *************************************************************************/
+static void set_single_attribute(nis_object *new_obj, int col,
+                               char *val, int len, int flags)
+{
+       if (new_obj == NULL) return;
+
+       ENTRY_VAL(new_obj, col) = val;
+       ENTRY_LEN(new_obj, col) = len+1;
+
+       if (flags != 0)
+       {
+               new_obj->EN_data.en_cols.en_cols_val[col].ec_flags = flags;
+       }
+}
+
+/***************************************************************
+ copy or modify nis object. this object is used to add or update
+ nisplus table entry.
+ ****************************************************************/
+static BOOL init_nisp_from_sam(nis_object *obj, SAM_ACCOUNT *sampass,
+                              nis_object *old)
+{
+  /*
+   * Fill nis_object for entry add or update.
+   * if we are updateing, we have to find out differences and set
+   * EN_MODIFIED flag. also set need_to_modify to trigger
+   * nis_modify_entry() call in pdb_update_sam_account().
+   *
+   * TODO:
+   *   get data from SAM
+   *   if (modify) get data from nis_object, compare and store if
+   *               different + set EN_MODIFIED and need_to_modify
+   *   else
+   *               store
+   */
+  BOOL need_to_modify = False;
+  char *name;                      /* from SAM */
+  /* these must be static or allocate and free entry columns! */
+  static fstring uid;                     /* from SAM */
+  static fstring user_rid;                /* from SAM */
+  static fstring gid;                     /* from SAM */
+  static fstring group_rid;               /* from SAM */
+  char *acb;                       /* from SAM */
+  static fstring smb_passwd;              /* from SAM */
+  static fstring smb_nt_passwd;           /* from SAM */
+  static fstring logon_t;                 /* from SAM */
+  static fstring logoff_t;                /* from SAM */
+  static fstring kickoff_t;               /* from SAM */
+  static fstring pwdlset_t;               /* from SAM */
+  static fstring pwdlchg_t;               /* from SAM */
+  static fstring pwdmchg_t;               /* from SAM */
+  static fstring full_name;               /* from SAM */
+  static fstring acct_desc;               /* from SAM */
+
+
+  name = pdb_get_username(sampass);
+  slprintf(uid, sizeof(uid)-1, "%u", pdb_get_uid(sampass));
+  slprintf(user_rid, sizeof(user_rid)-1, "%u",
+          pdb_get_user_rid(sampass)? pdb_get_user_rid(sampass):
+          pdb_uid_to_user_rid(pdb_get_uid(sampass))); 
+  slprintf(gid, sizeof(gid)-1, "%u", pdb_get_gid(sampass));
+  slprintf(group_rid, sizeof(group_rid)-1, "%u",
+          pdb_get_group_rid(sampass)? pdb_get_group_rid(sampass):
+          pdb_gid_to_group_rid(pdb_get_gid(sampass)));
+  acb = pdb_encode_acct_ctrl(pdb_get_acct_ctrl(sampass),
+                            NEW_PW_FORMAT_SPACE_PADDED_LEN);
+  pdb_sethexpwd (smb_passwd, pdb_get_lanman_passwd(sampass),
+                pdb_get_acct_ctrl(sampass));
+  pdb_sethexpwd (smb_nt_passwd, pdb_get_nt_passwd(sampass),
+                pdb_get_acct_ctrl(sampass));
+  slprintf(logon_t, 13, "LNT-%08X",
+          (uint32)pdb_get_logon_time(sampass));
+  slprintf(logoff_t, 13, "LOT-%08X",
+          (uint32)pdb_get_logoff_time(sampass));
+  slprintf(kickoff_t, 13, "KOT-%08X",
+          (uint32)pdb_get_kickoff_time(sampass));
+  slprintf(pwdlset_t, 13, "LCT-%08X",
+          (uint32)pdb_get_pass_last_set_time(sampass));
+  slprintf(pwdlchg_t, 13, "CCT-%08X",
+          (uint32)pdb_get_pass_can_change_time(sampass));
+  slprintf(pwdmchg_t, 13, "MCT-%08X",
+          (uint32)pdb_get_pass_must_change_time(sampass));
+  safe_strcpy(full_name, pdb_get_fullname(sampass), sizeof(full_name)-1);
+  dos_to_unix(full_name, True);
+  safe_strcpy(acct_desc, pdb_get_acct_desc(sampass), sizeof(acct_desc)-1);
+  dos_to_unix(acct_desc, True);
+  
+  if( old ) {
+    /* name */
+    if(strcmp(ENTRY_VAL(old, NPF_NAME), name))
+      {
+       need_to_modify = True;
+       set_single_attribute(obj, NPF_NAME, name, strlen(name),
+                            EN_MODIFIED);
+      }
+
+
+    /* uid */
+    if(pdb_get_uid(sampass) != -1) {
+      if(!ENTRY_VAL(old, NPF_UID) || strcmp(ENTRY_VAL(old, NPF_UID), uid)) 
+       {
+         need_to_modify = True;
+         set_single_attribute(obj, NPF_UID, uid,
+                              strlen(uid), EN_MODIFIED);
+       }
+    }
+      
+    /* user_rid */
+    if (pdb_get_user_rid(sampass)) {
+      if(!ENTRY_VAL(old, NPF_USER_RID) ||
+        strcmp(ENTRY_VAL(old, NPF_USER_RID), user_rid) ) {
+       need_to_modify = True;
+       set_single_attribute(obj, NPF_USER_RID, user_rid,
+                            strlen(user_rid), EN_MODIFIED);
+      }
+    }
+    
+    /* smb_grpid */
+    if (pdb_get_gid(sampass) != -1) {
+      if(!ENTRY_VAL(old, NPF_SMB_GRPID) ||
+        strcmp(ENTRY_VAL(old, NPF_SMB_GRPID), gid) ) {
+       need_to_modify = True;
+       set_single_attribute(obj, NPF_SMB_GRPID, gid,
+                            strlen(gid), EN_MODIFIED);
+      }
+    }
+
+    /* group_rid */
+    if (pdb_get_group_rid(sampass)) {
+      if(!ENTRY_VAL(old, NPF_GROUP_RID) ||
+        strcmp(ENTRY_VAL(old, NPF_GROUP_RID), group_rid) ) {
+       need_to_modify = True;
+       set_single_attribute(obj, NPF_GROUP_RID, group_rid,
+                            strlen(group_rid), EN_MODIFIED);
+      }
+    }
+
+    /* acb */
+    if (!ENTRY_VAL(old, NPF_ACB) || 
+       strcmp(ENTRY_VAL(old, NPF_ACB), acb)) {
+      need_to_modify = True;
+      set_single_attribute(obj, NPF_ACB, acb, strlen(acb), EN_MODIFIED);
+    }
+    
+    /* lmpwd */
+    if(!ENTRY_VAL(old, NPF_LMPWD) || 
+       strcmp(ENTRY_VAL(old, NPF_LMPWD), smb_passwd) ) {
+      need_to_modify = True;
+      set_single_attribute(obj, NPF_LMPWD, smb_passwd,
+                          strlen(smb_passwd), EN_CRYPT|EN_MODIFIED);
+    }
+
+    /* ntpwd */
+    if(!ENTRY_VAL(old, NPF_NTPWD) ||
+       strcmp(ENTRY_VAL(old, NPF_NTPWD), smb_nt_passwd) ) {
+      need_to_modify = True;
+      set_single_attribute(obj, NPF_NTPWD, smb_nt_passwd,
+                          strlen(smb_nt_passwd), EN_CRYPT|EN_MODIFIED);
+    }
+
+    /* logon_t */
+    if( pdb_get_logon_time(sampass) && 
+       (!ENTRY_VAL(old, NPF_LOGON_T) ||
+        strcmp(ENTRY_VAL(old, NPF_LOGON_T), logon_t ))) {
+      need_to_modify = True;
+      set_single_attribute(obj, NPF_LOGON_T, logon_t,
+                          strlen(logon_t), EN_MODIFIED);
+    }
+
+    /* logoff_t */
+    if( pdb_get_logoff_time(sampass) && 
+       (!ENTRY_VAL(old, NPF_LOGOFF_T) ||
+        strcmp(ENTRY_VAL(old, NPF_LOGOFF_T), logoff_t))) {
+      need_to_modify = True;
+      set_single_attribute(obj, NPF_LOGOFF_T, logoff_t,
+                          strlen(logoff_t), EN_MODIFIED);
+    }
+
+    /* kick_t */
+    if( pdb_get_kickoff_time(sampass) &&
+       (!ENTRY_VAL(old, NPF_KICK_T) ||
+        strcmp(ENTRY_VAL(old, NPF_KICK_T), kickoff_t))) {
+      need_to_modify = True;
+      set_single_attribute(obj, NPF_KICK_T, kickoff_t,
+                          strlen(kickoff_t), EN_MODIFIED);
+    }
+    
+    /* pwdlset_t */
+    if( pdb_get_pass_last_set_time(sampass) &&
+       (!ENTRY_VAL(old, NPF_PWDLSET_T) ||
+        strcmp(ENTRY_VAL(old, NPF_PWDLSET_T), pwdlset_t))) {
+      need_to_modify = True;
+      set_single_attribute(obj, NPF_PWDLSET_T, pwdlset_t,
+                          strlen(pwdlset_t), EN_MODIFIED);
+    }
+
+    /* pwdlchg_t */
+    if( pdb_get_pass_can_change_time(sampass) &&
+       (!ENTRY_VAL(old, NPF_PWDCCHG_T) ||
+        strcmp(ENTRY_VAL(old, NPF_PWDCCHG_T), pwdlchg_t))) {
+      need_to_modify = True;
+      set_single_attribute(obj, NPF_PWDCCHG_T, pwdlchg_t,
+                          strlen(pwdlchg_t), EN_MODIFIED);
+    }
+
+    /* pwdmchg_t */
+    if( pdb_get_pass_must_change_time(sampass) &&
+       (!ENTRY_VAL(old, NPF_PWDMCHG_T) ||
+        strcmp(ENTRY_VAL(old, NPF_PWDMCHG_T), pwdmchg_t))) {
+      need_to_modify = True;
+      set_single_attribute(obj, NPF_PWDMCHG_T, pwdmchg_t,
+                          strlen(pwdmchg_t), EN_MODIFIED);
+    }
+    
+    /* full_name */
+    /* must support set, unset and change */
+    if ( (pdb_get_fullname(sampass) &&
+         !ENTRY_VAL(old, NPF_FULL_NAME)) ||
+        (ENTRY_VAL(old, NPF_FULL_NAME) &&
+         !pdb_get_fullname(sampass))  ||
+        (ENTRY_VAL(old, NPF_FULL_NAME) &&
+         pdb_get_fullname(sampass) && 
+         strcmp( ENTRY_VAL(old, NPF_FULL_NAME), full_name ))) {
+      need_to_modify = True;
+      set_single_attribute(obj, NPF_FULL_NAME, full_name,
+                          strlen(full_name), EN_MODIFIED);
+    }
+    
+    /* home_dir */
+    /* must support set, unset and change */
+    if( (pdb_get_homedir(sampass) && 
+        !ENTRY_VAL(old, NPF_HOME_DIR)) ||
+       (ENTRY_VAL(old, NPF_HOME_DIR) && 
+        !pdb_get_homedir(sampass)) ||
+       (ENTRY_VAL(old, NPF_HOME_DIR) && 
+        pdb_get_homedir(sampass) &&
+        strcmp( ENTRY_VAL(old, NPF_HOME_DIR),
+                pdb_get_homedir(sampass)))) {
+      need_to_modify = True;
+      set_single_attribute(obj, NPF_HOME_DIR, pdb_get_homedir(sampass),
+                          strlen(pdb_get_homedir(sampass)), EN_MODIFIED);
+    }
+    
+    /* dir_drive */
+    /* must support set, unset and change */
+    if( (pdb_get_dirdrive(sampass) && 
+        !ENTRY_VAL(old, NPF_DIR_DRIVE)) ||
+       (ENTRY_VAL(old, NPF_DIR_DRIVE) && 
+        !pdb_get_dirdrive(sampass)) ||
+       (ENTRY_VAL(old, NPF_DIR_DRIVE) && 
+        pdb_get_dirdrive(sampass) &&
+        strcmp( ENTRY_VAL(old, NPF_DIR_DRIVE),
+                pdb_get_dirdrive(sampass)))) {
+      need_to_modify = True;
+      set_single_attribute(obj, NPF_DIR_DRIVE, pdb_get_dirdrive(sampass),
+                          strlen(pdb_get_dirdrive(sampass)), EN_MODIFIED);
+    }
+    
+    /* logon_script */
+    /* must support set, unset and change */
+    if( (pdb_get_logon_script(sampass) && 
+        !ENTRY_VAL(old, NPF_LOGON_SCRIPT) ||
+        (ENTRY_VAL(old, NPF_LOGON_SCRIPT) &&
+         !pdb_get_logon_script(sampass)) ||
+        ( ENTRY_VAL(old, NPF_LOGON_SCRIPT) &&
+          pdb_get_logon_script(sampass) &&
+          strcmp( ENTRY_VAL(old, NPF_LOGON_SCRIPT),
+                  pdb_get_logon_script(sampass))))) {
+      need_to_modify = True;
+      set_single_attribute(obj, NPF_LOGON_SCRIPT,
+                          pdb_get_logon_script(sampass),
+                          strlen(pdb_get_logon_script(sampass)),
+                          EN_MODIFIED);
+    }
+    
+    /* profile_path */
+    /* must support set, unset and change */
+    if( (pdb_get_profile_path(sampass) && 
+        !ENTRY_VAL(old, NPF_PROFILE_PATH)) || 
+       (ENTRY_VAL(old, NPF_PROFILE_PATH) &&
+        !pdb_get_profile_path(sampass)) ||
+       (ENTRY_VAL(old, NPF_PROFILE_PATH) &&
+        pdb_get_profile_path(sampass) &&
+        strcmp( ENTRY_VAL(old, NPF_PROFILE_PATH),
+                pdb_get_profile_path(sampass) ) )) {
+      need_to_modify = True;
+      set_single_attribute(obj, NPF_PROFILE_PATH,
+                          pdb_get_profile_path(sampass),
+                          strlen(pdb_get_profile_path(sampass)),
+                          EN_MODIFIED);
+    }
+    
+    /* acct_desc */
+    /* must support set, unset and change */
+    if( (pdb_get_acct_desc(sampass) &&
+        !ENTRY_VAL(old, NPF_ACCT_DESC)) || 
+       (ENTRY_VAL(old, NPF_ACCT_DESC) && 
+        !pdb_get_acct_desc(sampass)) ||
+       (ENTRY_VAL(old, NPF_ACCT_DESC) && 
+        pdb_get_acct_desc(sampass) &&
+        strcmp( ENTRY_VAL(old, NPF_ACCT_DESC), acct_desc ) )) {
+      need_to_modify = True;
+      set_single_attribute(obj, NPF_ACCT_DESC, acct_desc,
+                          strlen(acct_desc), EN_MODIFIED);
+    }
+
+    /* workstations */
+    /* must support set, unset and change */
+    if ( (pdb_get_workstations(sampass) &&
+         !ENTRY_VAL(old, NPF_WORKSTATIONS) ) ||
+        (ENTRY_VAL(old, NPF_WORKSTATIONS) &&
+         !pdb_get_workstations(sampass)) ||
+        (ENTRY_VAL(old, NPF_WORKSTATIONS) &&
+         pdb_get_workstations(sampass)) &&
+        strcmp( ENTRY_VAL(old, NPF_WORKSTATIONS), 
+                pdb_get_workstations(sampass))) {
+      need_to_modify = True;
+      set_single_attribute(obj, NPF_WORKSTATIONS,
+                          pdb_get_workstations(sampass),
+                          strlen(pdb_get_workstations(sampass)),
+                          EN_MODIFIED);
+    }
+    
+    /* hours */
+    if ((pdb_get_hours_len(sampass) != ENTRY_LEN(old, NPF_HOURS)) ||
+       memcmp(pdb_get_hours(sampass), ENTRY_VAL(old, NPF_HOURS),
+              ENTRY_LEN(old, NPF_HOURS))) {
+      need_to_modify = True;
+      /* set_single_attribute will add 1 for len ... */
+      set_single_attribute(obj, NPF_HOURS, pdb_get_hours(sampass), 
+                          pdb_get_hours_len(sampass)-1, EN_MODIFIED);
+    }  
+  } else {
+    char empty[1];
+    char *homedir, *dirdrive, *logon_script, *profile_path, *workstations;
+
+    *empty = '\0'; /* empty string */
+
+    set_single_attribute(obj, NPF_NAME, name, strlen(name), 0);
+    set_single_attribute(obj, NPF_UID, uid, strlen(uid), 0);
+    set_single_attribute(obj, NPF_USER_RID, user_rid,
+                        strlen(user_rid), 0);
+    set_single_attribute(obj, NPF_SMB_GRPID, gid, strlen(gid), 0);
+    set_single_attribute(obj, NPF_GROUP_RID, group_rid,
+                        strlen(group_rid), 0);
+    set_single_attribute(obj, NPF_ACB, acb, strlen(acb), 0);
+    set_single_attribute(obj, NPF_LMPWD, smb_passwd,
+                        strlen(smb_passwd), EN_CRYPT);
+    set_single_attribute(obj, NPF_NTPWD, smb_nt_passwd,
+                        strlen(smb_nt_passwd), EN_CRYPT);
+    set_single_attribute(obj, NPF_LOGON_T, logon_t,
+                        strlen(logon_t), 0);
+    set_single_attribute(obj, NPF_LOGOFF_T, logoff_t,
+                        strlen(logoff_t), 0);
+    set_single_attribute(obj, NPF_KICK_T, kickoff_t,
+                        strlen(kickoff_t),0);
+    set_single_attribute(obj, NPF_PWDLSET_T, pwdlset_t, 
+                        strlen(pwdlset_t), 0);
+    set_single_attribute(obj, NPF_PWDCCHG_T, pwdlchg_t,
+                        strlen(pwdlchg_t), 0);
+    set_single_attribute(obj, NPF_PWDMCHG_T, pwdmchg_t,
+                        strlen(pwdmchg_t), 0);
+    set_single_attribute(obj, NPF_FULL_NAME     , 
+                        full_name, strlen(full_name), 0);
+
+    if(!(homedir = pdb_get_homedir(sampass)))
+      homedir = empty;
+
+    set_single_attribute(obj, NPF_HOME_DIR,
+                        homedir, strlen(homedir), 0);
+    
+    if(!(dirdrive = pdb_get_dirdrive(sampass)))
+       dirdrive = empty;
+       
+    set_single_attribute(obj, NPF_DIR_DRIVE,
+                        dirdrive, strlen(dirdrive), 0);
+    
+    if(!(logon_script = pdb_get_logon_script(sampass)))
+       logon_script = empty;
+    
+    set_single_attribute(obj, NPF_LOGON_SCRIPT,
+                        logon_script, strlen(logon_script), 0);
+    
+    if(!(profile_path = pdb_get_profile_path(sampass)))
+      profile_path = empty;
+
+    set_single_attribute(obj, NPF_PROFILE_PATH,
+                        profile_path, strlen(profile_path), 0);
+    
+    set_single_attribute(obj, NPF_ACCT_DESC,
+                        acct_desc, strlen(acct_desc), 0);
+    
+    if(!(workstations = pdb_get_workstations(sampass)))
+      workstations = empty;
+    
+    set_single_attribute(obj, NPF_WORKSTATIONS,        
+                        workstations, strlen(workstations), 0);
+    
+    /* set_single_attribute will add 1 for len ... */
+    set_single_attribute(obj, NPF_HOURS,
+                        pdb_get_hours(sampass),
+                        pdb_get_hours_len(sampass)-1, 0);
+  }
+  
+  return need_to_modify;
+}
+
+/***************************************************************
+ calls nis_list, returns results.
+ ****************************************************************/
+static nis_result *nisp_get_nis_list(char *nis_name, uint_t flags)
+{
+       nis_result *result;
+       int i;
+
+       if( ! flags)
+         flags = FOLLOW_LINKS|FOLLOW_PATH|EXPAND_NAME|HARD_LOOKUP;
+
+       for(i = 0; i<2;i++ ) {
+         alarm(60);            /* hopefully ok for long searches */
+         result = nis_list(nis_name, flags,NULL,NULL);
+
+         alarm(0);
+         CatchSignal(SIGALRM, SIGNAL_CAST SIG_DFL);
+
+         if (gotalarm)
+         {
+               DEBUG(0,("NIS+ lookup time out\n"));
+               nis_freeresult(result);
+               return NULL;
+         }
+         if( !(flags & MASTER_ONLY) && NIS_RES_NUMOBJ(result) <= 0 ) {
+           /* nis replicas are not in sync perhaps?
+             * this can happen, if account was just added.
+             */
+           DEBUG(10,("will try master only\n"));
+            nis_freeresult(result);
+            flags |= MASTER_ONLY;
+          } else
+            break;
+       }
+       return result;
+}
+
+/***************************************************************
+ Start to enumerate the nisplus passwd list.
+ ****************************************************************/
+BOOL pdb_setsampwent(BOOL update)
+{
+       char *sp, * p = lp_smb_passwd_file();
+       pstring pfiletmp;
+
+       if( (sp = strrchr( p, '/' )) )
+         safe_strcpy(pfiletmp, sp+1, sizeof(pfiletmp)-1);
+       else
+         safe_strcpy(pfiletmp, p, sizeof(pfiletmp)-1);
+       safe_strcat(pfiletmp, ".org_dir", sizeof(pfiletmp)-strlen(pfiletmp)-1);
+
+       pdb_endsampwent();      /* just in case */
+       global_nisp_ent.result = nisp_get_nis_list( pfiletmp, 0 );
+       global_nisp_ent.enum_entry = 0;
+       return global_nisp_ent.result != NULL ? True : False;
+}
+
+/***************************************************************
+ End enumeration of the nisplus passwd list.
+****************************************************************/
+void pdb_endsampwent(void)
+{
+  if( global_nisp_ent.result )
+    nis_freeresult(global_nisp_ent.result);
+  global_nisp_ent.result = NULL;
+  global_nisp_ent.enum_entry = 0;
+}
+
+/*************************************************************************
+ Routine to return the next entry in the nisplus passwd list.
+ *************************************************************************/
+BOOL pdb_getsampwent(SAM_ACCOUNT *user)
+{
+  int enum_entry = (int)(global_nisp_ent.enum_entry);
+  nis_result *result = global_nisp_ent.result;
+  
+  if (user==NULL) {
+       DEBUG(0,("SAM_ACCOUNT is NULL.\n"));
+       return False;
+  }
+
+  if (result == NULL ||
+      enum_entry < 0 || enum_entry >= (NIS_RES_NUMOBJ(result) - 1))
+  {
+       return False;
+  } 
+
+  if(!make_sam_from_nisp_object(user, &NIS_RES_OBJECT(result)[enum_entry]) )
+  {
+    DEBUG(0,("Bad SAM_ACCOUNT entry returned from NIS+!\n"));
+       return False;
+  }
+  (int)(global_nisp_ent.enum_entry)++;
+  return True;
+}
+
+/*************************************************************************
+ Routine to search the nisplus passwd file for an entry matching the username
+ *************************************************************************/
+BOOL pdb_getsampwnam(SAM_ACCOUNT * user, char *sname)
+{
+       /* Static buffers we will return. */
+       nis_result *result = NULL;
+       pstring nisname;
+       BOOL ret;
+       char *pfile = lp_smb_passwd_file();
+        int i;
+
+       if (!*pfile)
+       {
+               DEBUG(0, ("No SMB password file set\n"));
+               return False;
+       }
+       if( strrchr( pfile, '/') )
+                pfile = strrchr( pfile, '/') + 1;
+
+       slprintf(nisname, sizeof(nisname)-1, "[name=%s],%s.org_dir", sname, pfile);
+       DEBUG(10, ("search by nisname: %s\n", nisname));
+
+       /* Search the table. */
+
+       if(!(result = nisp_get_nis_list(nisname, 0)))
+       {
+               return False;
+       }
+
+       ret = make_sam_from_nisresult(user, result);
+       nis_freeresult(result);
+
+       return ret;
+}
+
+/*************************************************************************
+ Routine to search the nisplus passwd file for an entry matching the username
+ *************************************************************************/
+BOOL pdb_getsampwrid(SAM_ACCOUNT * user, uint32 rid)
+{
+       nis_result *result;
+       char *nisname;
+       BOOL ret;
+       char *sp, *p = lp_smb_passwd_file();
+       pstring pfiletmp;
+
+       if (!*p)
+       {
+               DEBUG(0, ("no SMB password file set\n"));
+               return False;
+       }
+
+       if( (sp = strrchr( p, '/' )) )
+          safe_strcpy(pfiletmp, sp+1, sizeof(pfiletmp)-1);
+        else
+          safe_strcpy(pfiletmp, p, sizeof(pfiletmp)-1);
+        safe_strcat(pfiletmp, ".org_dir", sizeof(pfiletmp)-strlen(pfiletmp)-1);
+
+       nisname = make_nisname_from_user_rid(rid, pfiletmp);
+
+       DEBUG(10, ("search by rid: %s\n", nisname));
+
+       /* Search the table. */
+
+       if(!(result = nisp_get_nis_list(nisname, 0)))
+       {
+               return False;
+       }
+
+       ret = make_sam_from_nisresult(user, result);
+       nis_freeresult(result);
+
+       return ret;
+}
+
+/*************************************************************************
+ Routine to search the nisplus passwd file for an entry matching the username
+ *************************************************************************/
+BOOL pdb_getsampwuid(SAM_ACCOUNT * user, uid_t uid)
+{
+       nis_result *result;
+       char *nisname;
+       BOOL ret;
+       char *sp, *p = lp_smb_passwd_file();
+       pstring pfiletmp;
+
+       if (!*p)
+       {
+               DEBUG(0, ("no SMB password file set\n"));
+               return False;
+       }
+
+       if( (sp = strrchr( p, '/' )) )
+          safe_strcpy(pfiletmp, sp+1, sizeof(pfiletmp)-1);
+        else
+          safe_strcpy(pfiletmp, p, sizeof(pfiletmp)-1);
+        safe_strcat(pfiletmp, ".org_dir", sizeof(pfiletmp)-strlen(pfiletmp)-1);
+
+       nisname = make_nisname_from_uid(uid, pfiletmp);
+
+       DEBUG(10, ("search by uid: %s\n", nisname));
+
+       /* Search the table. */
+
+       if(!(result = nisp_get_nis_list(nisname, 0)))
+       {
+               return False;
+       }
+
+       ret = make_sam_from_nisresult(user, result);
+       nis_freeresult(result);
+
+       return ret;
+}
+
+/*************************************************************************
+ Routine to remove entry from the nisplus smbpasswd table
+ *************************************************************************/
+BOOL pdb_delete_sam_account(char *sname)
+{
+  char *pfile = lp_smb_passwd_file();
+  pstring nisname;
+  nis_result *result, *delresult;
+  nis_object *obj;
+  int i;
+  
+  if (!*pfile)
+    {
+      DEBUG(0, ("no SMB password file set\n"));
+      return False;
+    }
+  if( strrchr( pfile, '/') )
+         pfile = strrchr( pfile, '/') + 1;
+  
+  slprintf(nisname, sizeof(nisname)-1, "[name=%s],%s.org_dir", sname, pfile);
+  
+  /* Search the table. */
+  
+  if( !(result = nisp_get_nis_list(nisname,
+                                  MASTER_ONLY|FOLLOW_LINKS|FOLLOW_PATH|\
+                                  EXPAND_NAME|HARD_LOOKUP))) {
+    return False;
+  }
+  
+  if(result->status != NIS_SUCCESS || NIS_RES_NUMOBJ(result) <= 0) {
+    /* User not found. */
+    DEBUG(0,("user not found in NIS+\n"));
+    nis_freeresult(result);
+    return False;
+  }
+
+  obj = NIS_RES_OBJECT(result);
+  slprintf(nisname, sizeof(nisname)-1, "[name=%s],%s.%s", sname, obj->zo_name,
+          obj->zo_domain);
+
+  DEBUG(10, ("removing name: %s\n", nisname));
+  delresult = nis_remove_entry(nisname, obj, 
+    MASTER_ONLY|REM_MULTIPLE|ALL_RESULTS|FOLLOW_PATH|EXPAND_NAME|HARD_LOOKUP);
+  
+  nis_freeresult(result);
+
+  if(delresult->status != NIS_SUCCESS) {
+    DEBUG(0, ("NIS+ table update failed: %s %s\n",
+          nisname, nis_sperrno(delresult->status)));
+    nis_freeresult(delresult);
+    return False;
+  }
+  nis_freeresult(delresult);
+  return True;
+}
+
+/************************************************************************
+ Routine to add an entry to the nisplus passwd file.
+*************************************************************************/
+BOOL pdb_add_sam_account(SAM_ACCOUNT * newpwd)
+{
+  int local_user = 0;
+  char           *pfile;
+  pstring        pfiletmp;
+  char           *nisname;
+  nis_result     *result = NULL,
+    *tblresult = NULL;
+  nis_object new_obj;
+  entry_col *ecol;
+  int ta_maxcol;
+  
+  /*
+   * 1. find user domain.
+   *   a. try nis search in passwd.org_dir - if found use domain from result.
+   *   b. try getpwnam. this may be needed if user is defined
+   *      in /etc/passwd file (or elsewere) and not in passwd.org_dir.
+   *      if found, use host default domain.
+   *   c. exit with False - no such user.
+   *
+   * 2. add user
+   *   a. find smbpasswd table
+   *      search pfile in user domain if not found, try host default
+   *      domain. 
+   *   b. smbpasswd domain is found, fill data and add entry.
+   *
+   * pfile should contain ONLY table name, org_dir will be concated.
+   * so, at first we will clear path prefix from pfile, and
+   * then we will use pfiletmp as playground to put together full
+   * nisname string.
+   * such approach will make it possible to specify samba private dir
+   * AND still use NIS+ table. as all domain related data is normally
+   * stored in org_dir.DOMAIN, this should be ok do do.
+   */
+
+  pfile = lp_smb_passwd_file();
+  if( strrchr( pfile, '/') )
+    pfile = strrchr( pfile, '/') + 1;
+
+  /*
+   * Check if user is already there.
+   */
+  safe_strcpy(pfiletmp, pfile, sizeof(pfiletmp)-1);
+  safe_strcat(pfiletmp, ".org_dir",
+             sizeof(pfiletmp)-strlen(pfiletmp)-1);
+
+  if(pdb_get_username(newpwd) != NULL) {
+    nisname = make_nisname_from_name(pdb_get_username(newpwd),
+                                    pfiletmp);
+  } else {
+    return False;
+  }
+
+  if(!(result = nisp_get_nis_list(nisname, MASTER_ONLY|FOLLOW_LINKS|\
+                                 FOLLOW_PATH|EXPAND_NAME|HARD_LOOKUP))) {
+    return False;
+  }
+  if (result->status != NIS_SUCCESS && 
+      result->status != NIS_NOTFOUND) {
+    DEBUG(3, ( "nis_list failure: %s: %s\n",
+              nisname,  nis_sperrno(result->status)));
+    nis_freeresult(result);
+    return False;
+  }   
+
+  if (result->status == NIS_SUCCESS && NIS_RES_NUMOBJ(result) > 0)
+    {
+      DEBUG(3, ("User already exists in NIS+ password db: %s\n",
+               pfile));
+      nis_freeresult(result);
+      return False;
+    }
+
+  nis_freeresult(result); /* no such user, free results */
+
+  /*
+   * check for user in unix password database. we need this to get
+   * domain, where smbpasswd entry should be stored.
+   */
+
+  nisname = make_nisname_from_name(pdb_get_username(newpwd),
+                                    "passwd.org_dir");
+  
+  result = nisp_get_nis_list(nisname,
+                            MASTER_ONLY|FOLLOW_LINKS|FOLLOW_PATH|\
+                            EXPAND_NAME|HARD_LOOKUP);
+  
+  if (result->status != NIS_SUCCESS || NIS_RES_NUMOBJ(result) <= 0)
+    {
+      DEBUG(3, ("nis_list failure: %s: %s\n", 
+               nisname,  nis_sperrno(result->status)));
+      nis_freeresult(result);
+
+      if (!sys_getpwnam(pdb_get_username(newpwd))) {
+       /* no such user in system! */
+       return False;
+      }
+       /* 
+        * user is defined, but not in passwd.org_dir.
+        */
+      local_user = 1;
+    } else {
+      safe_strcpy(pfiletmp, pfile, sizeof(pfiletmp)-1);
+      safe_strcat(pfiletmp, ".", sizeof(pfiletmp)-strlen(pfiletmp)-1);
+      safe_strcat(pfiletmp, NIS_RES_OBJECT(result)->zo_domain,
+                 sizeof(pfiletmp)-strlen(pfiletmp)-1);
+      nis_freeresult(result); /* not needed any more */
+
+      tblresult = nisp_get_nis_list(pfiletmp,
+                                   MASTER_ONLY|FOLLOW_LINKS|\
+                                   FOLLOW_PATH|EXPAND_NAME|HARD_LOOKUP); 
+    }
+
+  if (local_user || tblresult->status != NIS_SUCCESS)
+    {
+      /*
+       * no user domain or
+       * smbpasswd table not found in user domain, fallback to
+       * default domain.
+       */
+      if (!local_user) /* free previous failed search result */
+       nis_freeresult(tblresult);
+      
+      safe_strcpy(pfiletmp, pfile, sizeof(pfiletmp)-1);
+      safe_strcat(pfiletmp, ".org_dir",
+                 sizeof(pfiletmp)-strlen(pfiletmp)-1);
+      tblresult = nis_lookup(pfiletmp, MASTER_ONLY|FOLLOW_LINKS|\
+                            FOLLOW_PATH|EXPAND_NAME|HARD_LOOKUP);
+      if (tblresult->status != NIS_SUCCESS)
+       {
+           /* still nothing. bail out */
+         nis_freeresult(tblresult);
+         DEBUG(3, ( "nis_lookup failure: %s\n",
+                    nis_sperrno(tblresult->status)));
+         return False;
+       }
+      /* we need full name for nis_add_entry() */
+      safe_strcpy(pfiletmp, pfile, sizeof(pfiletmp)-1);
+      safe_strcat(pfiletmp, ".", sizeof(pfiletmp)-strlen(pfiletmp)-1);
+      safe_strcat(pfiletmp, NIS_RES_OBJECT(tblresult)->zo_domain,
+                 sizeof(pfiletmp)-strlen(pfiletmp)-1);
+    }
+
+  memset((char *)&new_obj, 0, sizeof (new_obj));
+  /* fill entry headers */
+  /* we do not free these. */
+  new_obj.zo_name   = NIS_RES_OBJECT(tblresult)->zo_name;
+  new_obj.zo_owner  = NIS_RES_OBJECT(tblresult)->zo_owner;
+  new_obj.zo_group  = NIS_RES_OBJECT(tblresult)->zo_group;
+  new_obj.zo_domain = NIS_RES_OBJECT(tblresult)->zo_domain;
+  /* uints */
+  new_obj.zo_access = NIS_RES_OBJECT(tblresult)->zo_access;
+  new_obj.zo_ttl    = NIS_RES_OBJECT(tblresult)->zo_ttl;
+
+  new_obj.zo_data.zo_type = ENTRY_OBJ;
+  new_obj.EN_data.en_type =
+    NIS_RES_OBJECT(tblresult)->TA_data.ta_type;
+
+  ta_maxcol = NIS_RES_OBJECT(tblresult)->TA_data.ta_maxcol;
+  
+  if(!(ecol = (entry_col*)malloc(ta_maxcol*sizeof(entry_col)))) {
+    DEBUG(0, ("memory allocation failure\n"));
+    nis_freeresult(tblresult);
+    return False;
+  }
+  
+  memset((char *)ecol, 0, ta_maxcol*sizeof (entry_col));
+  new_obj.EN_data.en_cols.en_cols_val = ecol;
+  new_obj.EN_data.en_cols.en_cols_len = ta_maxcol;
+  
+  init_nisp_from_sam(&new_obj, newpwd, NULL);
+  
+  DEBUG(10, ( "add NIS+ entry: %s\n", nisname));
+  result = nis_add_entry(pfiletmp, &new_obj, 0);
+
+  free(ecol); /* free allocated entry space */
+  
+  if (result->status != NIS_SUCCESS)
+    {
+      DEBUG(3, ( "NIS+ table update failed: %s\n",
+                nisname, nis_sperrno(result->status)));
+      nis_freeresult(tblresult);
+      nis_freeresult(result);
+      return False;
+    }
+  
+  nis_freeresult(tblresult);
+  nis_freeresult(result);
+  
+  return True;
+}
+
+/************************************************************************
+ Routine to modify the nisplus passwd entry.
+************************************************************************/
+BOOL pdb_update_sam_account(SAM_ACCOUNT * newpwd, BOOL override)
+{
+  nis_result *result, *addresult;
+  nis_object *obj;
+  nis_object new_obj;
+  entry_col *ecol;
+  int ta_maxcol;
+  char *pfile = lp_smb_passwd_file();
+  pstring nisname;
+  int i;
+
+  if (!*pfile)
+    {
+      DEBUG(0, ("no SMB password file set\n"));
+      return False;
+    }
+  if( strrchr( pfile, '/') )
+         pfile = strrchr( pfile, '/') + 1;
+  
+  slprintf(nisname, sizeof(nisname)-1, "[name=%s],%s.org_dir",
+          pdb_get_username(newpwd), pfile);
+  
+  DEBUG(10, ("search by name: %s\n", nisname));
+  
+  /* Search the table. */
+  
+  if( !(result = nisp_get_nis_list(nisname, MASTER_ONLY|FOLLOW_LINKS|\
+                                  FOLLOW_PATH|EXPAND_NAME|HARD_LOOKUP))) {
+    return False;
+  }
+  
+  if(result->status != NIS_SUCCESS || NIS_RES_NUMOBJ(result) <= 0) {
+    /* User not found. */
+    DEBUG(0,("user not found in NIS+\n"));
+    nis_freeresult(result);
+    return False;
+  }
+
+  obj = NIS_RES_OBJECT(result);
+  DEBUG(6,("entry found in %s\n", obj->zo_domain));
+
+  /* we must create new stub object with EN_MODIFIED flag.
+     this is because obj from result is going to be freed and
+     we do not want to break it or cause memory leaks or corruption.
+  */
+  
+  memmove((char *)&new_obj, obj, sizeof (new_obj));
+  ta_maxcol = obj->TA_data.ta_maxcol;
+  
+  if(!(ecol = (entry_col*)malloc(ta_maxcol*sizeof(entry_col)))) {
+    DEBUG(0, ("memory allocation failure\n"));
+    nis_freeresult(result);
+    return False;
+  }
+
+  memmove((char *)ecol, obj->EN_data.en_cols.en_cols_val,
+         ta_maxcol*sizeof (entry_col));
+  new_obj.EN_data.en_cols.en_cols_val = ecol;
+  new_obj.EN_data.en_cols.en_cols_len = ta_maxcol;
+
+  if ( init_nisp_from_sam(&new_obj, newpwd, obj) == True ) {
+    slprintf(nisname, sizeof(nisname)-1, "[name=%s],%s.%s",
+          pdb_get_username(newpwd), pfile, obj->zo_domain);
+
+    DEBUG(10, ("NIS+ table update: %s\n", nisname));
+    addresult =
+      nis_modify_entry(nisname, &new_obj, 
+                 MOD_SAMEOBJ | FOLLOW_PATH | EXPAND_NAME | HARD_LOOKUP);
+  
+    if(addresult->status != NIS_SUCCESS) {
+      DEBUG(0, ("NIS+ table update failed: %s %s\n",
+               nisname, nis_sperrno(addresult->status)));
+      nis_freeresult(addresult);
+      nis_freeresult(result);
+      free(ecol);
+      return False;
+    }
+    
+    DEBUG(6,("password changed\n"));
+    nis_freeresult(addresult);
+  } else {
+    DEBUG(6,("nothing to change!\n"));
+  }
+
+  free(ecol);
+  nis_freeresult(result);
+  
+  return True;
+}
+#else
+ void nisplus_dummy_function(void);
+ void nisplus_dummy_function(void) { } /* stop some compilers complaining */
+#endif /* WITH_NISPLUSSAM */
+
index 7c95feb8ca66226cd4e74f80f63bf77a4079e887..bca7541782a73c2a7712ec7d1d041fde9837ed5b 100644 (file)
@@ -22,7 +22,7 @@
 
 #include "includes.h"
 
-#ifdef USE_SMBPASS_DB
+#ifdef WITH_SMBPASSWD_SAM
 
 
 /* 
@@ -54,10 +54,6 @@ extern struct passdb_ops pdb_ops;
 static int     pw_file_lock_depth;
 static void    *global_vp;
 
-/* static memory area used by all passdb search functions
-   in this module */
-/*static SAM_ACCOUNT   global_sam_pass;*/
-
 
 enum pwf_access_type { PWF_READ, PWF_UPDATE, PWF_CREATE };
 
@@ -414,7 +410,7 @@ static struct smb_passwd *getsmbfilepwent(void *vp)
       pw_buf.smb_passwd = NULL;
       pw_buf.acct_ctrl |= ACB_PWNOTREQ;
     } else {
-      if (!smbpasswd_gethexpwd((char *)p, smbpwd)) {
+      if (!pdb_gethexpwd((char *)p, smbpwd)) {
         DEBUG(0, ("getsmbfilepwent: Malformed Lanman password entry (non hex chars)\n"));
         continue;
       }
@@ -431,7 +427,7 @@ static struct smb_passwd *getsmbfilepwent(void *vp)
                 the lanman password. */
     if ((linebuf_len >= (PTR_DIFF(p, linebuf) + 33)) && (p[32] == ':')) {
       if (*p != '*' && *p != 'X') {
-        if(smbpasswd_gethexpwd((char *)p,smbntpwd))
+        if(pdb_gethexpwd((char *)p,smbntpwd))
           pw_buf.smb_nt_passwd = smbntpwd;
       }
       p += 33; /* Move to the first character of the line after
@@ -444,7 +440,7 @@ static struct smb_passwd *getsmbfilepwent(void *vp)
     if (*p == '[')
        {
       unsigned char *end_p = (unsigned char *)strchr_m((char *)p, ']');
-      pw_buf.acct_ctrl = smbpasswd_decode_acb_info((char*)p);
+      pw_buf.acct_ctrl = pdb_decode_acct_ctrl((char*)p);
 
       /* Must have some account type set. */
       if(pw_buf.acct_ctrl == 0)
@@ -545,8 +541,8 @@ static char *format_new_smbpasswd_entry(struct smb_passwd *newpwd)
   *p++ = ':';
 
   /* Add the account encoding and the last change time. */
-  slprintf((char *)p, new_entry_length - 1 - (p - new_entry), "%s:LCT-%08X:\n",
-           smbpasswd_encode_acb_info(newpwd->acct_ctrl),
+  slprintf((char *)p, new_entry_length - 1 - (p - new_entry),  "%s:LCT-%08X:\n",
+           pdb_encode_acct_ctrl(newpwd->acct_ctrl, NEW_PW_FORMAT_SPACE_PADDED_LEN),
            (uint32)newpwd->pass_last_set_time);
 
   return new_entry;
@@ -640,11 +636,11 @@ Error was %s. Password file may be corrupt ! Please examine by hand !\n",
        }
 
        endsmbfilepwent(fp, &pw_file_lock_depth);
-       SAFE_FREE(new_entry);
+       free(new_entry);
        return False;
   }
 
-  SAFE_FREE(new_entry);
+  free(new_entry);
   endsmbfilepwent(fp, &pw_file_lock_depth);
   return True;
 }
@@ -903,7 +899,7 @@ static BOOL mod_smbfilepwd_entry(struct smb_passwd* pwd, BOOL override)
        * acct ctrl field. Encode the given acct ctrl
        * bits into it.
        */
-      fstrcpy(encode_bits, smbpasswd_encode_acb_info(pwd->acct_ctrl));
+      fstrcpy(encode_bits, pdb_encode_acct_ctrl(pwd->acct_ctrl, NEW_PW_FORMAT_SPACE_PADDED_LEN));
     } else {
       /*
        * If using the old format and the ACB_DISABLED or
@@ -1121,11 +1117,11 @@ Error was %s\n", pwd->smb_name, pfile2, strerror(errno)));
        unlink(pfile2);
        endsmbfilepwent(fp, &pw_file_lock_depth);
        endsmbfilepwent(fp_write, &pfile2_lockdepth);
-       SAFE_FREE(new_entry);
+       free(new_entry);
        return False;
     }
 
-    SAFE_FREE(new_entry);
+    free(new_entry);
   }
 
   /*
@@ -1298,7 +1294,6 @@ BOOL pdb_getsampwent(SAM_ACCOUNT *user)
 {
        struct smb_passwd *pw_buf=NULL;
        BOOL done = False;
-
        DEBUG(5,("pdb_getsampwent\n"));
 
        if (user==NULL) {
@@ -1309,11 +1304,6 @@ BOOL pdb_getsampwent(SAM_ACCOUNT *user)
                return False;
        }
 
-       /* do we have an entry? */
-       pw_buf = getsmbfilepwent(global_vp);
-       if (pw_buf == NULL) 
-               return False;
-
        while (!done)
        {
                /* do we have an entry? */
@@ -1530,4 +1520,4 @@ BOOL pdb_delete_sam_account (char* username)
 #else
  /* Do *NOT* make this function static. It breaks the compile on gcc. JRA */
  void smbpass_dummy_function(void) { } /* stop some compilers complaining */
-#endif /* USE_SMBPASS_DB */
+#endif /* WTH_SMBPASSWD_SAM*/
index cf2a7f2ec11868caaff2dce210b99e70a62a6edd..700a241be87135297ae9bdb08f345b690752607f 100644 (file)
@@ -3,6 +3,7 @@
  * Copyright (C) Andrew Tridgell 1992-1998
  * Copyright (C) Simo Sorce 2000
  * Copyright (C) Gerald Carter 2000
+ * Copyright (C) Jeremy Allison 2001
  * 
  * This program is free software; you can redistribute it and/or modify it under
  * the terms of the GNU General Public License as published by the Free
@@ -21,7 +22,7 @@
 
 #include "includes.h"
 
-#ifdef WITH_TDBSAM
+#ifdef WITH_TDB_SAM
 
 #define PDB_VERSION            "20010830"
 #define PASSDB_FILE_NAME       "/passdb.tdb"
@@ -33,9 +34,7 @@ extern int            DEBUGLEVEL;
 extern pstring                 samlogon_user;
 extern BOOL            sam_logon_in_ssb;
 
-
-struct tdb_enum_info
-{
+struct tdb_enum_info {
        TDB_CONTEXT     *passwd_tdb;
        TDB_DATA        key;
 };
@@ -46,8 +45,8 @@ static struct tdb_enum_info   global_tdb_ent;
 /**********************************************************************
  Intialize a SAM_ACCOUNT struct from a BYTE buffer of size len
  *********************************************************************/
-static BOOL init_sam_from_buffer (SAM_ACCOUNT *sampass, uint8 *buf, 
-                                 uint32 buflen)
+
+static BOOL init_sam_from_buffer (SAM_ACCOUNT *sampass, uint8 *buf, uint32 buflen)
 {
 
        /* times are stored as 32bit integer
@@ -79,11 +78,10 @@ static BOOL init_sam_from_buffer (SAM_ACCOUNT *sampass, uint8 *buf,
        uint32  /* uid, gid,*/ user_rid, group_rid, unknown_3, hours_len, unknown_5, unknown_6;
        uint16  acct_ctrl, logon_divs;
        uint8   *hours;
-       static uint8    *lm_pw_ptr,
-                       *nt_pw_ptr;
+       static uint8    *lm_pw_ptr, *nt_pw_ptr;
        uint32          len = 0;
        uint32          lmpwlen, ntpwlen, hourslen;
-
+       BOOL ret = True;
                                                                        
        /* unpack the buffer into variables */
        len = tdb_unpack (buf, buflen, TDB_FORMAT_STRING,
@@ -117,8 +115,10 @@ static BOOL init_sam_from_buffer (SAM_ACCOUNT *sampass, uint8 *buf,
                &unknown_5,
                &unknown_6);
                
-       if (len == -1) 
-               return False;
+       if (len == -1)  {
+               ret = False;
+               goto done;
+       }
 
        pdb_set_logon_time(sampass, logon_time);
        pdb_set_logoff_time(sampass, logoff_time);
@@ -153,9 +153,21 @@ static BOOL init_sam_from_buffer (SAM_ACCOUNT *sampass, uint8 *buf,
        pdb_set_logons_divs(sampass, logon_divs);
        pdb_set_hours(sampass, hours);
 
-       /* TODO: free TDB alloced memory !!!!! */
-               
-       return True;
+done:
+
+       SAFE_FREE(username);
+       SAFE_FREE(domain);
+       SAFE_FREE(nt_username);
+       SAFE_FREE(fullname);
+       SAFE_FREE(homedir);
+       SAFE_FREE(dir_drive);
+       SAFE_FREE(logon_script);
+       SAFE_FREE(profile_path);
+       SAFE_FREE(acct_desc);
+       SAFE_FREE(workstations);
+       SAFE_FREE(munged_dial);
+
+       return ret;
 }
 
 /**********************************************************************
@@ -203,56 +215,80 @@ static uint32 init_buffer_from_sam (uint8 **buf, SAM_ACCOUNT *sampass)
        *buf = NULL;
        buflen = 0;
 
-       logon_time = pdb_get_logon_time(sampass);
-       logoff_time = pdb_get_logoff_time(sampass);
-       kickoff_time = pdb_get_kickoff_time(sampass);
-       pass_can_change_time = pdb_get_pass_can_change_time(sampass);
-       pass_must_change_time = pdb_get_pass_must_change_time(sampass);
-       pass_last_set_time = pdb_get_pass_last_set_time(sampass);
+       logon_time = (uint32)pdb_get_logon_time(sampass);
+       logoff_time = (uint32)pdb_get_logoff_time(sampass);
+       kickoff_time = (uint32)pdb_get_kickoff_time(sampass);
+       pass_can_change_time = (uint32)pdb_get_pass_can_change_time(sampass);
+       pass_must_change_time = (uint32)pdb_get_pass_must_change_time(sampass);
+       pass_last_set_time = (uint32)pdb_get_pass_last_set_time(sampass);
 
 
        username = pdb_get_username(sampass);
-       if (username) username_len = strlen(username) +1;
-       else username_len = 0;
+       if (username)
+               username_len = strlen(username) +1;
+       else
+               username_len = 0;
        domain = pdb_get_domain(sampass);
-       if (domain) domain_len = strlen(domain) +1;
-       else domain_len = 0;
+       if (domain)
+               domain_len = strlen(domain) +1;
+       else
+               domain_len = 0;
        nt_username = pdb_get_nt_username(sampass);
-       if (nt_username) nt_username_len = strlen(nt_username) +1;
-       else nt_username_len = 0;
+       if (nt_username)
+               nt_username_len = strlen(nt_username) +1;
+       else
+               nt_username_len = 0;
        dir_drive = pdb_get_dirdrive(sampass);
-       if (dir_drive) dir_drive_len = strlen(dir_drive) +1;
-       else dir_drive_len = 0;
+       if (dir_drive)
+               dir_drive_len = strlen(dir_drive) +1;
+       else
+               dir_drive_len = 0;
        unknown_str = NULL;
        unknown_str_len = 0;
        munged_dial = pdb_get_munged_dial(sampass);
-       if (munged_dial) munged_dial_len = strlen(munged_dial) +1;
-       else munged_dial_len = 0;
+       if (munged_dial)
+               munged_dial_len = strlen(munged_dial) +1;
+       else
+               munged_dial_len = 0;
                
        fullname = pdb_get_fullname(sampass);
-       if (fullname) fullname_len = strlen(fullname) +1;
-       else fullname_len = 0;
+       if (fullname)
+               fullname_len = strlen(fullname) +1;
+       else
+               fullname_len = 0;
        homedir = pdb_get_homedir(sampass);
-       if (homedir) homedir_len = strlen(homedir) +1;
-       else homedir_len = 0;
+       if (homedir)
+               homedir_len = strlen(homedir) +1;
+       else
+               homedir_len = 0;
        logon_script = pdb_get_logon_script(sampass);
-       if (logon_script) logon_script_len = strlen(logon_script) +1;
-       else logon_script_len = 0;
+       if (logon_script)
+               logon_script_len = strlen(logon_script) +1;
+       else
+               logon_script_len = 0;
        profile_path = pdb_get_profile_path(sampass);
-       if (profile_path) profile_path_len = strlen(profile_path) +1;
-       else profile_path_len = 0;
+       if (profile_path)
+               profile_path_len = strlen(profile_path) +1;
+       else
+               profile_path_len = 0;
        acct_desc = pdb_get_acct_desc(sampass);
-       if (acct_desc) acct_desc_len = strlen(acct_desc) +1;
-       else acct_desc_len = 0;
+       if (acct_desc)
+               acct_desc_len = strlen(acct_desc) +1;
+       else
+               acct_desc_len = 0;
        workstations = pdb_get_workstations(sampass);
-       if (workstations) workstations_len = strlen(workstations) +1;
-       else workstations_len = 0;
+       if (workstations)
+               workstations_len = strlen(workstations) +1;
+       else
+               workstations_len = 0;
        
        lm_pw = pdb_get_lanman_passwd(sampass);
-       if (!lm_pw) lm_pw_len = 0;
+       if (!lm_pw)
+               lm_pw_len = 0;
        
        nt_pw = pdb_get_nt_passwd(sampass);
-       if (!nt_pw) nt_pw_len = 0;
+       if (!nt_pw)
+               nt_pw_len = 0;
                
        /* one time to get the size needed */
        len = tdb_pack(NULL, 0,  TDB_FORMAT_STRING,
@@ -288,8 +324,7 @@ static uint32 init_buffer_from_sam (uint8 **buf, SAM_ACCOUNT *sampass)
 
 
        /* malloc the space needed */
-       if ( (*buf=(uint8*)malloc(len)) == NULL)
-       {
+       if ( (*buf=(uint8*)malloc(len)) == NULL) {
                DEBUG(0,("init_buffer_from_sam: Unable to malloc() memory for buffer!\n"));
                return (-1);
        }
@@ -328,8 +363,7 @@ static uint32 init_buffer_from_sam (uint8 **buf, SAM_ACCOUNT *sampass)
        
        
        /* check to make sure we got it correct */
-       if (buflen != len)
-       {
+       if (buflen != len) {
                /* error */
                SAFE_FREE (*buf);
                return (-1);
@@ -341,19 +375,18 @@ static uint32 init_buffer_from_sam (uint8 **buf, SAM_ACCOUNT *sampass)
 /***************************************************************
  Open the TDB passwd database for SAM account enumeration.
 ****************************************************************/
+
 BOOL pdb_setsampwent(BOOL update)
 {
        pstring         tdbfile;
        
-       pstrcpy (tdbfile, lp_private_dir());
+       get_private_directory(tdbfile);
        pstrcat (tdbfile, PASSDB_FILE_NAME);
        
        /* Open tdb passwd */
-       if (!(global_tdb_ent.passwd_tdb = tdb_open_log(tdbfile, 0, TDB_DEFAULT, update ? O_RDWR : O_RDONLY, 0600)))
-       {
+       if (!(global_tdb_ent.passwd_tdb = tdb_open_log(tdbfile, 0, TDB_DEFAULT, update ? O_RDWR : O_RDONLY, 0600))) {
                DEBUG(0, ("Unable to open TDB passwd, trying create new!\n"));
-               if (!(global_tdb_ent.passwd_tdb = tdb_open_log(tdbfile, 0, TDB_DEFAULT, O_RDWR | O_CREAT | O_EXCL, 0600)))
-               {
+               if (!(global_tdb_ent.passwd_tdb = tdb_open_log(tdbfile, 0, TDB_DEFAULT, O_RDWR | O_CREAT | O_EXCL, 0600))) {
                        DEBUG(0, ("Unable to create TDB passwd (passdb.tdb) !!!"));
                        return False;
                }
@@ -367,10 +400,10 @@ BOOL pdb_setsampwent(BOOL update)
 /***************************************************************
  End enumeration of the TDB passwd list.
 ****************************************************************/
+
 void pdb_endsampwent(void)
 {
-       if (global_tdb_ent.passwd_tdb)
-       {
+       if (global_tdb_ent.passwd_tdb) {
                tdb_close(global_tdb_ent.passwd_tdb);
                global_tdb_ent.passwd_tdb = NULL;
        }
@@ -378,10 +411,10 @@ void pdb_endsampwent(void)
        DEBUG(7, ("endtdbpwent: closed password file.\n"));
 }
 
-
 /*****************************************************************
  Get one SAM_ACCOUNT from the TDB (next in line)
 *****************************************************************/
+
 BOOL pdb_getsampwent(SAM_ACCOUNT *user)
 {
        TDB_DATA        data;
@@ -402,22 +435,19 @@ BOOL pdb_getsampwent(SAM_ACCOUNT *user)
                global_tdb_ent.key = tdb_nextkey (global_tdb_ent.passwd_tdb, global_tdb_ent.key);
 
        /* do we have an valid interation pointer? */
-       if(global_tdb_ent.passwd_tdb == NULL) 
-       {
+       if(global_tdb_ent.passwd_tdb == NULL) {
                DEBUG(0,("pdb_get_sampwent: Bad TDB Context pointer.\n"));
                return False;
        }
 
        data = tdb_fetch (global_tdb_ent.passwd_tdb, global_tdb_ent.key);
-       if (!data.dptr)
-       {
+       if (!data.dptr) {
                DEBUG(5,("pdb_getsampwent: database entry not found.\n"));
                return False;
        }
   
        /* unpack the buffer */
-       if (!init_sam_from_buffer (user, data.dptr, data.dsize))
-       {
+       if (!init_sam_from_buffer (user, data.dptr, data.dsize)) {
                DEBUG(0,("pdb_getsampwent: Bad SAM_ACCOUNT entry returned from TDB!\n"));
                SAFE_FREE(data.dptr);
                return False;
@@ -427,8 +457,7 @@ BOOL pdb_getsampwent(SAM_ACCOUNT *user)
        /* validate the account and fill in UNIX uid and gid.  sys_getpwnam()
           is used instaed of Get_Pwnam() as we do not need to try case
           permutations */
-       if ((pw=sys_getpwnam(pdb_get_username(user))) == NULL)
-       {
+       if ((pw=sys_getpwnam(pdb_get_username(user))) == NULL) {
                DEBUG(0,("pdb_getsampwent: getpwnam(%s) return NULL.  User does not exist!\n", 
                          pdb_get_username(user)));
                return False;
@@ -455,6 +484,7 @@ BOOL pdb_getsampwent(SAM_ACCOUNT *user)
 /******************************************************************
  Lookup a name in the SAM TDB
 ******************************************************************/
+
 BOOL pdb_getsampwnam (SAM_ACCOUNT *user, char *sname)
 {
        TDB_CONTEXT     *pwd_tdb;
@@ -473,8 +503,7 @@ BOOL pdb_getsampwnam (SAM_ACCOUNT *user, char *sname)
        }
 
        fstrcpy (name, sname);
-       strlower (name);
-       pstrcpy (tdbfile, lp_private_dir());
+       get_private_directory(tdbfile);
        pstrcat (tdbfile, PASSDB_FILE_NAME);
        
        /* set search key */
@@ -483,16 +512,14 @@ BOOL pdb_getsampwnam (SAM_ACCOUNT *user, char *sname)
        key.dsize = strlen (keystr) + 1;
 
        /* open the accounts TDB */
-       if (!(pwd_tdb = tdb_open_log(tdbfile, 0, TDB_DEFAULT, O_RDONLY, 0600)))
-       {
+       if (!(pwd_tdb = tdb_open_log(tdbfile, 0, TDB_DEFAULT, O_RDONLY, 0600))) {
                DEBUG(0, ("pdb_getsampwnam: Unable to open TDB passwd!\n"));
                return False;
        }
 
        /* get the record */
        data = tdb_fetch (pwd_tdb, key);
-       if (!data.dptr)
-       {
+       if (!data.dptr) {
                DEBUG(5,("pdb_getsampwnam (TDB): error fetching database.\n"));
                DEBUGADD(5, (" Error: %s\n", tdb_errorstr(pwd_tdb)));
                tdb_close (pwd_tdb);
@@ -500,8 +527,7 @@ BOOL pdb_getsampwnam (SAM_ACCOUNT *user, char *sname)
        }
   
        /* unpack the buffer */
-       if (!init_sam_from_buffer (user, data.dptr, data.dsize))
-       {
+       if (!init_sam_from_buffer (user, data.dptr, data.dsize)) {
                DEBUG(0,("pdb_getsampwent: Bad SAM_ACCOUNT entry returned from TDB!\n"));
                SAFE_FREE(data.dptr);
                return False;
@@ -511,8 +537,7 @@ BOOL pdb_getsampwnam (SAM_ACCOUNT *user, char *sname)
        /* validate the account and fill in UNIX uid and gid.  sys_getpwnam()
           is used instaed of Get_Pwnam() as we do not need to try case
           permutations */
-       if ((pw=sys_getpwnam(pdb_get_username(user))) == NULL)
-       {
+       if ((pw=sys_getpwnam(pdb_get_username(user))) == NULL) {
                DEBUG(0,("pdb_getsampwent: getpwnam(%s) return NULL.  User does not exist!\n", 
                          pdb_get_username(user)));
                return False;
@@ -539,6 +564,7 @@ BOOL pdb_getsampwnam (SAM_ACCOUNT *user, char *sname)
 /***************************************************************************
  Search by uid
  **************************************************************************/
+
 BOOL pdb_getsampwuid (SAM_ACCOUNT* user, uid_t uid)
 {
        struct passwd   *pw;
@@ -550,8 +576,7 @@ BOOL pdb_getsampwuid (SAM_ACCOUNT* user, uid_t uid)
        }
 
        pw = sys_getpwuid(uid);
-       if (pw == NULL)
-       {
+       if (pw == NULL) {
                DEBUG(0,("pdb_getsampwuid: getpwuid(%d) return NULL. User does not exist!\n", uid));
                return False;
        }
@@ -564,6 +589,7 @@ BOOL pdb_getsampwuid (SAM_ACCOUNT* user, uid_t uid)
 /***************************************************************************
  Search by rid
  **************************************************************************/
+
 BOOL pdb_getsampwrid (SAM_ACCOUNT *user, uint32 rid)
 {
        TDB_CONTEXT             *pwd_tdb;
@@ -577,7 +603,7 @@ BOOL pdb_getsampwrid (SAM_ACCOUNT *user, uint32 rid)
                return False;
        }
 
-       pstrcpy (tdbfile, lp_private_dir());
+       get_private_directory(tdbfile);
        pstrcat (tdbfile, PASSDB_FILE_NAME);
        
        /* set search key */
@@ -586,16 +612,14 @@ BOOL pdb_getsampwrid (SAM_ACCOUNT *user, uint32 rid)
        key.dsize = strlen (keystr) + 1;
 
        /* open the accounts TDB */
-       if (!(pwd_tdb = tdb_open_log(tdbfile, 0, TDB_DEFAULT, O_RDONLY, 0600)))
-       {
+       if (!(pwd_tdb = tdb_open_log(tdbfile, 0, TDB_DEFAULT, O_RDONLY, 0600))) {
                DEBUG(0, ("pdb_getsampwrid: Unable to open TDB rid database!\n"));
                return False;
        }
 
        /* get the record */
        data = tdb_fetch (pwd_tdb, key);
-       if (!data.dptr)
-       {
+       if (!data.dptr) {
                DEBUG(5,("pdb_getsampwrid (TDB): error fetching database.\n"));
                DEBUGADD(5, (" Error: %s\n", tdb_errorstr(pwd_tdb)));
                tdb_close (pwd_tdb);
@@ -610,10 +634,10 @@ BOOL pdb_getsampwrid (SAM_ACCOUNT *user, uint32 rid)
        return pdb_getsampwnam (user, name);
 }
 
-
 /***************************************************************************
  Delete a SAM_ACCOUNT
 ****************************************************************************/
+
 BOOL pdb_delete_sam_account(char *sname)
 {
        SAM_ACCOUNT     *sam_pass = NULL;
@@ -627,12 +651,11 @@ BOOL pdb_delete_sam_account(char *sname)
        fstrcpy (name, sname);
        strlower (name);
        
-       pstrcpy (tdbfile, lp_private_dir());
+       get_private_directory(tdbfile);
        pstrcat (tdbfile, PASSDB_FILE_NAME);
 
        /* open the TDB */
-       if (!(pwd_tdb = tdb_open_log(tdbfile, 0, TDB_DEFAULT, O_RDWR, 0600)))
-       {
+       if (!(pwd_tdb = tdb_open_log(tdbfile, 0, TDB_DEFAULT, O_RDWR, 0600))) {
                DEBUG(0, ("Unable to open TDB passwd!"));
                return False;
        }
@@ -644,8 +667,7 @@ BOOL pdb_delete_sam_account(char *sname)
        
        /* get the record */
        data = tdb_fetch (pwd_tdb, key);
-       if (!data.dptr)
-       {
+       if (!data.dptr) {
                DEBUG(5,("pdb_delete_sam_account (TDB): error fetching database.\n"));
                DEBUGADD(5, (" Error: %s\n", tdb_errorstr(pwd_tdb)));
                tdb_close (pwd_tdb);
@@ -653,14 +675,12 @@ BOOL pdb_delete_sam_account(char *sname)
        }
   
        /* unpack the buffer */
-       if (!pdb_init_sam (&sam_pass))
-       {
+       if (!pdb_init_sam (&sam_pass)) {
                tdb_close (pwd_tdb);
                return False;
        }
        
-       if (!init_sam_from_buffer (sam_pass, data.dptr, data.dsize))
-       {
+       if (!init_sam_from_buffer (sam_pass, data.dptr, data.dsize)) {
                DEBUG(0,("pdb_getsampwent: Bad SAM_ACCOUNT entry returned from TDB!\n"));
                tdb_close (pwd_tdb);
                SAFE_FREE(data.dptr);
@@ -673,8 +693,7 @@ BOOL pdb_delete_sam_account(char *sname)
        pdb_free_sam (sam_pass);
        
        /* it's outaa here!  8^) */
-       if (tdb_delete(pwd_tdb, key) != TDB_SUCCESS)
-       {
+       if (tdb_delete(pwd_tdb, key) != TDB_SUCCESS) {
                DEBUG(5, ("Error deleting entry from tdb passwd database!\n"));
                DEBUGADD(5, (" Error: %s\n", tdb_errorstr(pwd_tdb)));
                tdb_close(pwd_tdb); 
@@ -689,8 +708,7 @@ BOOL pdb_delete_sam_account(char *sname)
        key.dsize = strlen (keystr) + 1;
 
        /* it's outaa here!  8^) */
-       if (tdb_delete(pwd_tdb, key) != TDB_SUCCESS)
-       {
+       if (tdb_delete(pwd_tdb, key) != TDB_SUCCESS) {
                DEBUG(5, ("Error deleting entry from tdb rid database!\n"));
                DEBUGADD(5, (" Error: %s\n", tdb_errorstr(pwd_tdb)));
                tdb_close(pwd_tdb); 
@@ -705,6 +723,7 @@ BOOL pdb_delete_sam_account(char *sname)
 /***************************************************************************
  Update the TDB SAM
 ****************************************************************************/
+
 static BOOL tdb_update_sam(SAM_ACCOUNT* newpwd, BOOL override, int flag)
 {
        TDB_CONTEXT     *pwd_tdb;
@@ -716,7 +735,7 @@ static BOOL tdb_update_sam(SAM_ACCOUNT* newpwd, BOOL override, int flag)
        BOOL            ret = True;
        int             newtdb = FALSE;
        
-       pstrcpy (tdbfile, lp_private_dir());
+       get_private_directory(tdbfile);
        pstrcat (tdbfile, PASSDB_FILE_NAME);
        
        if ( (!newpwd->uid) || (!newpwd->gid) )
@@ -729,10 +748,8 @@ static BOOL tdb_update_sam(SAM_ACCOUNT* newpwd, BOOL override, int flag)
        if (!newpwd->group_rid)
                pdb_set_group_rid (newpwd, pdb_gid_to_group_rid (newpwd->gid));
 
-           
        /* copy the SAM_ACCOUNT struct into a BYTE buffer for storage */
-       if ((data.dsize=init_buffer_from_sam (&buf, newpwd)) == -1)
-       {
+       if ((data.dsize=init_buffer_from_sam (&buf, newpwd)) == -1) {
                DEBUG(0,("tdb_update_sam: ERROR - Unable to copy SAM_ACCOUNT info BYTE buffer!\n"));
                ret = False;
                goto done;
@@ -748,21 +765,17 @@ static BOOL tdb_update_sam(SAM_ACCOUNT* newpwd, BOOL override, int flag)
        key.dsize = strlen (keystr) + 1;
 
        /* invalidate the existing TDB iterator if it is open */
-       if (global_tdb_ent.passwd_tdb)
-       {
+       if (global_tdb_ent.passwd_tdb) {
                tdb_close(global_tdb_ent.passwd_tdb);
                global_tdb_ent.passwd_tdb = NULL;
        }
 
        /* open the account TDB passwd*/
-       if (!(pwd_tdb = tdb_open_log(tdbfile, 0, TDB_DEFAULT, O_RDWR, 0600)))
-       {
-               DEBUG(0, ("tdb_update_sam: Unable to open TDB passwd!\n"));
-               if (flag == TDB_INSERT)
-               {
+       if (!(pwd_tdb = tdb_open_log(tdbfile, 0, TDB_DEFAULT, O_RDWR, 0600))) {
+               DEBUG(0, ("tdb_update_sam: Unable to open TDB passwd!\n"));
+               if (flag == TDB_INSERT) {
                        DEBUG(0, ("Unable to open TDB passwd, trying create new!\n"));
-                       if (!(pwd_tdb = tdb_open_log(tdbfile, 0, TDB_DEFAULT, O_RDWR | O_CREAT | O_EXCL, 0600)))
-                       {
+                       if (!(pwd_tdb = tdb_open_log(tdbfile, 0, TDB_DEFAULT, O_RDWR | O_CREAT | O_EXCL, 0600))) {
                                DEBUG(0, ("Unable to create TDB passwd (passdb.tdb) !!!\n"));
                                ret = False;
                                goto done;
@@ -772,8 +785,7 @@ static BOOL tdb_update_sam(SAM_ACCOUNT* newpwd, BOOL override, int flag)
        }
 
        /* add the account */
-       if (tdb_store(pwd_tdb, key, data, flag) != TDB_SUCCESS)
-       {
+       if (tdb_store(pwd_tdb, key, data, flag) != TDB_SUCCESS) {
                DEBUG(0, ("Unable to modify passwd TDB!"));
                DEBUGADD(0, (" Error: %s\n", tdb_errorstr(pwd_tdb)));
                tdb_close (pwd_tdb);
@@ -791,8 +803,7 @@ static BOOL tdb_update_sam(SAM_ACCOUNT* newpwd, BOOL override, int flag)
        key.dsize = strlen (keystr) + 1;
        
        /* add the reference */
-       if (tdb_store(pwd_tdb, key, data, flag) != TDB_SUCCESS)
-       {
+       if (tdb_store(pwd_tdb, key, data, flag) != TDB_SUCCESS) {
                DEBUG(0, ("Unable to modify TDB passwd !"));
                DEBUGADD(0, (" Error: %s\n", tdb_errorstr(pwd_tdb)));
                ret = False;
@@ -800,17 +811,17 @@ static BOOL tdb_update_sam(SAM_ACCOUNT* newpwd, BOOL override, int flag)
        }
 
 done:  
+
        /* cleanup */
        tdb_close (pwd_tdb);
        SAFE_FREE(buf);
-       
        return (ret);
-       
 }
 
 /***************************************************************************
  Modifies an existing SAM_ACCOUNT
 ****************************************************************************/
+
 BOOL pdb_update_sam_account (SAM_ACCOUNT *newpwd, BOOL override)
 {
        return (tdb_update_sam(newpwd, override, TDB_MODIFY));
@@ -819,13 +830,13 @@ BOOL pdb_update_sam_account (SAM_ACCOUNT *newpwd, BOOL override)
 /***************************************************************************
  Adds an existing SAM_ACCOUNT
 ****************************************************************************/
+
 BOOL pdb_add_sam_account (SAM_ACCOUNT *newpwd)
 {
        return (tdb_update_sam(newpwd, True, TDB_INSERT));
 }
 
-
 #else
        /* Do *NOT* make this function static. It breaks the compile on gcc. JRA */
        void samtdb_dummy_function(void) { } /* stop some compilers complaining */
-#endif /* WITH_TDBSAM */
+#endif /* WITH_TDB_SAM */
index 8484546594595a47a2a3f1abf0905eba9f52d580..f24aaba1f81e5d9adc6926a84ce983fcff7bbbd7 100644 (file)
@@ -1,3 +1,4 @@
+# Generated automatically from Makefile.in.in by configure.
 # Makefile for program source directory in GNU NLS utilities package.
 # Copyright (C) 1995, 1996, 1997 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
 #
@@ -6,54 +7,53 @@
 # but which still want to provide support for the GNU gettext functionality.
 # Please note that the actual code is *not* freely available.
 
-PACKAGE = @PACKAGE@
+PACKAGE = i18n_swat
 VERSION = @VERSION@
 
 SHELL = /bin/sh
-@SET_MAKE@
 
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
 
-prefix = @prefix@
-exec_prefix = @exec_prefix@
-datadir = $(prefix)/@DATADIRNAME@
+srcdir = .
+top_srcdir = ..
+
+prefix = /usr/local/samba
+exec_prefix = ${prefix}
+datadir = $(prefix)/share
 localedir = $(datadir)/locale
 gnulocaledir = $(prefix)/share/locale
 gettextsrcdir = $(prefix)/share/gettext/po
 subdir = po
 
-INSTALL = @INSTALL@
-INSTALL_DATA = sh @INSTALL_DATA@
-MKINSTALLDIRS = $(top_srcdir)/script/@MKINSTALLDIRS@
+INSTALL = /usr/bin/install -c
+INSTALL_DATA = $(SHELL) ${INSTALL} -m 644
+MKINSTALLDIRS = $(top_srcdir)/script/./mkinstalldirs
 
-CC = @CC@
-GENCAT = @GENCAT@
-GMSGFMT = PATH=../src:$$PATH @GMSGFMT@
-MSGFMT = @MSGFMT@
-XGETTEXT = PATH=../src:$$PATH @XGETTEXT@
+CC = gcc
+GENCAT = 
+GMSGFMT = PATH=../src:$$PATH /usr/bin/msgfmt
+MSGFMT = /usr/bin/msgfmt
+XGETTEXT = PATH=../src:$$PATH /usr/bin/xgettext
 MSGMERGE = PATH=../src:$$PATH msgmerge
 
-DEFS = @DEFS@
-CFLAGS = @CFLAGS@
-CPPFLAGS = @CPPFLAGS@
+DEFS = -DHAVE_CONFIG_H
+CFLAGS = -O 
+CPPFLAGS = 
 
 INCLUDES = -I.. -I$(top_srcdir)/intl -I$(top_srcdir)/include
 
 COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS)
 
 SOURCES = cat-id-tbl.c
-POFILES = @POFILES@
-GMOFILES = @GMOFILES@
-DISTFILES = ChangeLog Makefile.in POTFILES.in $(PACKAGE).pot \
+POFILES =  en.po ja.po pl.po tr.po
+GMOFILES =  en.gmo ja.gmo pl.gmo tr.gmo
+DISTFILES = ChangeLog Makefile.in.in POTFILES.in $(PACKAGE).pot \
 stamp-cat-id $(POFILES) $(GMOFILES) $(SOURCES)
 
 POTFILES = \
 
-CATALOGS = @CATALOGS@
-CATOBJEXT = @CATOBJEXT@
-INSTOBJEXT = @INSTOBJEXT@
+CATALOGS =  en.gmo ja.gmo pl.gmo tr.gmo
+CATOBJEXT = .gmo
+INSTOBJEXT = .mo
 
 .SUFFIXES:
 .SUFFIXES: .c .o .po .pox .gmo .mo .msg .cat
@@ -79,16 +79,16 @@ INSTOBJEXT = @INSTOBJEXT@
        rm -f $@ && $(GENCAT) $@ $*.msg
 
 
-all: all-@USE_NLS@
+all: all-yes
 
 all-yes: cat-id-tbl.c $(CATALOGS)
 all-no:
 
 $(srcdir)/$(PACKAGE).pot: $(POTFILES)
-       @$(XGETTEXT) --default-domain=$(PACKAGE) --directory=$(top_srcdir) \
+       $(XGETTEXT) --default-domain=$(PACKAGE) --directory=$(top_srcdir) \
          --add-comments --keyword=_ --keyword=N_ \
          --files-from=$(srcdir)/POTFILES.in \
-       @&& test ! -f $(PACKAGE).po \
+       && test ! -f $(PACKAGE).po \
           || ( rm -f $(srcdir)/$(PACKAGE).pot \
                && mv $(PACKAGE).po $(srcdir)/$(PACKAGE).pot )
 
@@ -109,7 +109,7 @@ $(srcdir)/stamp-cat-id: $(PACKAGE).pot
 
 install: install-exec install-data
 install-exec:
-install-data: install-data-@USE_NLS@
+install-data: install-data-yes
 install-data-no: all
 install-data-yes: all install-data-basic
 install-data-basic:
@@ -160,8 +160,8 @@ install-data-basic:
          else \
            $(SHELL) $(top_srcdir)/mkinstalldirs $(gettextsrcdir); \
          fi; \
-         $(INSTALL_DATA) $(srcdir)/Makefile.in \
-                         $(gettextsrcdir)/Makefile.in; \
+         $(INSTALL_DATA) $(srcdir)/Makefile.in.in \
+                         $(gettextsrcdir)/Makefile.in.in; \
        else \
          : ; \
        fi
@@ -179,7 +179,7 @@ uninstall:
          rm -f $(gnulocaledir)/$$lang/LC_MESSAGES/$(PACKAGE)$(INSTOBJEXT); \
          rm -f $(gnulocaledir)/$$lang/LC_MESSAGES/$(PACKAGE)$(INSTOBJEXT).m; \
        done
-       rm -f $(gettextsrcdir)/po-Makefile.in
+       rm -f $(gettextsrcdir)/po-Makefile.in.in
 
 check: all
 
@@ -242,7 +242,7 @@ POTFILES: POTFILES.in
            && chmod a-w $@-t \
            && mv $@-t $@ )
 
-Makefile: Makefile.in ../config.status POTFILES
+Makefile: Makefile.in.in ../config.status POTFILES
        cd .. \
          && CONFIG_FILES=$(subdir)/$@.in CONFIG_HEADERS= \
               $(SHELL) ./config.status
index 33b8b132150e673ddc60a48417a939bc22772716..05129f2989dae39fac34ffbb7f6df3cf59f729ee 100644 (file)
@@ -222,212 +222,211 @@ const struct _msg_ent _msg_tbl[] = {
   {"read bmpx", 213},
   {"read raw", 214},
   {"write raw", 215},
-  {"nt smb support", 216},
-  {"nt pipe support", 217},
-  {"nt acl support", 218},
-  {"announce version", 219},
-  {"announce as", 220},
-  {"max mux", 221},
-  {"max xmit", 222},
-  {"name resolve order", 223},
-  {"max packet", 224},
-  {"packet size", 225},
-  {"max ttl", 226},
-  {"max wins ttl", 227},
-  {"min wins ttl", 228},
-  {"time server", 229},
-  {"Tuning Options", 230},
-  {"change notify timeout", 231},
-  {"deadtime", 232},
-  {"getwd cache", 233},
-  {"keepalive", 234},
-  {"lpq cache time", 235},
-  {"max smbd processes", 236},
-  {"max connections", 237},
-  {"paranoid server security", 238},
-  {"max disk size", 239},
-  {"max open files", 240},
-  {"min print space", 241},
-  {"read size", 242},
-  {"socket options", 243},
-  {"stat cache size", 244},
-  {"strict allocate", 245},
-  {"strict sync", 246},
-  {"sync always", 247},
-  {"use mmap", 248},
-  {"hostname lookups", 249},
-  {"write cache size", 250},
-  {"Printing Options", 251},
-  {"total print jobs", 252},
-  {"max print jobs", 253},
-  {"load printers", 254},
-  {"printcap name", 255},
-  {"printcap", 256},
-  {"printable", 257},
-  {"print ok", 258},
-  {"postscript", 259},
-  {"printing", 260},
-  {"print command", 261},
-  {"disable spoolss", 262},
-  {"lpq command", 263},
-  {"lprm command", 264},
-  {"lppause command", 265},
-  {"lpresume command", 266},
-  {"queuepause command", 267},
-  {"queueresume command", 268},
-  {"enumports command", 269},
-  {"addprinter command", 270},
-  {"deleteprinter command", 271},
-  {"show add printer wizard", 272},
-  {"os2 driver map", 273},
-  {"printer name", 274},
-  {"printer", 275},
-  {"use client driver", 276},
-  {"printer driver", 277},
-  {"printer driver file", 278},
-  {"printer driver location", 279},
-  {"Filename Handling", 280},
-  {"strip dot", 281},
-  {"mangled stack", 282},
-  {"default case", 283},
-  {"case sensitive", 284},
-  {"casesignames", 285},
-  {"preserve case", 286},
-  {"short preserve case", 287},
-  {"mangle case", 288},
-  {"mangling char", 289},
-  {"hide dot files", 290},
-  {"hide unreadable", 291},
-  {"delete veto files", 292},
-  {"veto files", 293},
-  {"hide files", 294},
-  {"veto oplock files", 295},
-  {"map system", 296},
-  {"map hidden", 297},
-  {"map archive", 298},
-  {"mangled names", 299},
-  {"mangled map", 300},
-  {"stat cache", 301},
-  {"Domain Options", 302},
-  {"domain admin group", 303},
-  {"domain guest group", 304},
-  {"groupname map", 305},
-  {"machine password timeout", 306},
-  {"Logon Options", 307},
-  {"add user script", 308},
-  {"delete user script", 309},
-  {"add group script", 310},
-  {"delete group script", 311},
-  {"add user to group script", 312},
-  {"delete user from group script", 313},
-  {"add machine script", 314},
-  {"shutdown script", 315},
-  {"abort shutdown script", 316},
-  {"logon script", 317},
-  {"logon path", 318},
-  {"logon drive", 319},
-  {"logon home", 320},
-  {"domain logons", 321},
-  {"Browse Options", 322},
-  {"os level", 323},
-  {"lm announce", 324},
-  {"lm interval", 325},
-  {"preferred master", 326},
-  {"prefered master", 327},
-  {"local master", 328},
-  {"domain master", 329},
-  {"browse list", 330},
-  {"browseable", 331},
-  {"browsable", 332},
-  {"enhanced browsing", 333},
-  {"WINS Options", 334},
-  {"dns proxy", 335},
-  {"wins proxy", 336},
-  {"wins server", 337},
-  {"wins support", 338},
-  {"wins hook", 339},
-  {"Locking Options", 340},
-  {"blocking locks", 341},
-  {"fake oplocks", 342},
-  {"kernel oplocks", 343},
-  {"locking", 344},
-  {"oplocks", 345},
-  {"level2 oplocks", 346},
-  {"oplock break wait time", 347},
-  {"oplock contention limit", 348},
-  {"posix locking", 349},
-  {"strict locking", 350},
-  {"share modes", 351},
-  {"Ldap Options", 352},
-  {"ldap server", 353},
-  {"ldap port", 354},
-  {"ldap suffix", 355},
-  {"ldap filter", 356},
-  {"ldap root", 357},
-  {"ldap root passwd", 358},
-  {"Miscellaneous Options", 359},
-  {"add share command", 360},
-  {"change share command", 361},
-  {"delete share command", 362},
-  {"config file", 363},
-  {"preload", 364},
-  {"auto services", 365},
-  {"lock dir", 366},
-  {"lock directory", 367},
-  {"utmp directory", 368},
-  {"wtmp directory", 369},
-  {"utmp", 370},
-  {"default service", 371},
-  {"default", 372},
-  {"message command", 373},
-  {"dfree command", 374},
-  {"remote announce", 375},
-  {"remote browse sync", 376},
-  {"socket address", 377},
-  {"homedir map", 378},
-  {"time offset", 379},
-  {"NIS homedir", 380},
-  {"-valid", 381},
-  {"copy", 382},
-  {"include", 383},
-  {"exec", 384},
-  {"preexec", 385},
-  {"preexec close", 386},
-  {"postexec", 387},
-  {"root preexec", 388},
-  {"root preexec close", 389},
-  {"root postexec", 390},
-  {"available", 391},
-  {"volume", 392},
-  {"fstype", 393},
-  {"set directory", 394},
-  {"source environment", 395},
-  {"wide links", 396},
-  {"follow symlinks", 397},
-  {"dont descend", 398},
-  {"magic script", 399},
-  {"magic output", 400},
-  {"delete readonly", 401},
-  {"dos filemode", 402},
-  {"dos filetimes", 403},
-  {"dos filetime resolution", 404},
-  {"fake directory create times", 405},
-  {"panic action", 406},
-  {"hide local users", 407},
-  {"VFS options", 408},
-  {"vfs object", 409},
-  {"vfs options", 410},
-  {"msdfs root", 411},
-  {"host msdfs", 412},
-  {"Winbind options", 413},
-  {"winbind uid", 414},
-  {"winbind gid", 415},
-  {"template homedir", 416},
-  {"template shell", 417},
-  {"winbind separator", 418},
-  {"winbind cache time", 419},
-  {"winbind enum users", 420},
-  {"winbind enum groups", 421},
+  {"nt pipe support", 216},
+  {"nt acl support", 217},
+  {"announce version", 218},
+  {"announce as", 219},
+  {"max mux", 220},
+  {"max xmit", 221},
+  {"name resolve order", 222},
+  {"max packet", 223},
+  {"packet size", 224},
+  {"max ttl", 225},
+  {"max wins ttl", 226},
+  {"min wins ttl", 227},
+  {"time server", 228},
+  {"Tuning Options", 229},
+  {"change notify timeout", 230},
+  {"deadtime", 231},
+  {"getwd cache", 232},
+  {"keepalive", 233},
+  {"lpq cache time", 234},
+  {"max smbd processes", 235},
+  {"max connections", 236},
+  {"paranoid server security", 237},
+  {"max disk size", 238},
+  {"max open files", 239},
+  {"min print space", 240},
+  {"read size", 241},
+  {"socket options", 242},
+  {"stat cache size", 243},
+  {"strict allocate", 244},
+  {"strict sync", 245},
+  {"sync always", 246},
+  {"use mmap", 247},
+  {"hostname lookups", 248},
+  {"write cache size", 249},
+  {"Printing Options", 250},
+  {"total print jobs", 251},
+  {"max print jobs", 252},
+  {"load printers", 253},
+  {"printcap name", 254},
+  {"printcap", 255},
+  {"printable", 256},
+  {"print ok", 257},
+  {"postscript", 258},
+  {"printing", 259},
+  {"print command", 260},
+  {"disable spoolss", 261},
+  {"lpq command", 262},
+  {"lprm command", 263},
+  {"lppause command", 264},
+  {"lpresume command", 265},
+  {"queuepause command", 266},
+  {"queueresume command", 267},
+  {"enumports command", 268},
+  {"addprinter command", 269},
+  {"deleteprinter command", 270},
+  {"show add printer wizard", 271},
+  {"os2 driver map", 272},
+  {"printer name", 273},
+  {"printer", 274},
+  {"use client driver", 275},
+  {"printer driver", 276},
+  {"printer driver file", 277},
+  {"printer driver location", 278},
+  {"Filename Handling", 279},
+  {"strip dot", 280},
+  {"mangled stack", 281},
+  {"default case", 282},
+  {"case sensitive", 283},
+  {"casesignames", 284},
+  {"preserve case", 285},
+  {"short preserve case", 286},
+  {"mangle case", 287},
+  {"mangling char", 288},
+  {"hide dot files", 289},
+  {"hide unreadable", 290},
+  {"delete veto files", 291},
+  {"veto files", 292},
+  {"hide files", 293},
+  {"veto oplock files", 294},
+  {"map system", 295},
+  {"map hidden", 296},
+  {"map archive", 297},
+  {"mangled names", 298},
+  {"mangled map", 299},
+  {"stat cache", 300},
+  {"Domain Options", 301},
+  {"domain admin group", 302},
+  {"domain guest group", 303},
+  {"groupname map", 304},
+  {"machine password timeout", 305},
+  {"Logon Options", 306},
+  {"add user script", 307},
+  {"delete user script", 308},
+  {"add group script", 309},
+  {"delete group script", 310},
+  {"add user to group script", 311},
+  {"delete user from group script", 312},
+  {"add machine script", 313},
+  {"shutdown script", 314},
+  {"abort shutdown script", 315},
+  {"logon script", 316},
+  {"logon path", 317},
+  {"logon drive", 318},
+  {"logon home", 319},
+  {"domain logons", 320},
+  {"Browse Options", 321},
+  {"os level", 322},
+  {"lm announce", 323},
+  {"lm interval", 324},
+  {"preferred master", 325},
+  {"prefered master", 326},
+  {"local master", 327},
+  {"domain master", 328},
+  {"browse list", 329},
+  {"browseable", 330},
+  {"browsable", 331},
+  {"enhanced browsing", 332},
+  {"WINS Options", 333},
+  {"dns proxy", 334},
+  {"wins proxy", 335},
+  {"wins server", 336},
+  {"wins support", 337},
+  {"wins hook", 338},
+  {"Locking Options", 339},
+  {"blocking locks", 340},
+  {"fake oplocks", 341},
+  {"kernel oplocks", 342},
+  {"locking", 343},
+  {"oplocks", 344},
+  {"level2 oplocks", 345},
+  {"oplock break wait time", 346},
+  {"oplock contention limit", 347},
+  {"posix locking", 348},
+  {"strict locking", 349},
+  {"share modes", 350},
+  {"Ldap Options", 351},
+  {"ldap server", 352},
+  {"ldap port", 353},
+  {"ldap suffix", 354},
+  {"ldap filter", 355},
+  {"ldap root", 356},
+  {"ldap root passwd", 357},
+  {"Miscellaneous Options", 358},
+  {"add share command", 359},
+  {"change share command", 360},
+  {"delete share command", 361},
+  {"config file", 362},
+  {"preload", 363},
+  {"auto services", 364},
+  {"lock dir", 365},
+  {"lock directory", 366},
+  {"utmp directory", 367},
+  {"wtmp directory", 368},
+  {"utmp", 369},
+  {"default service", 370},
+  {"default", 371},
+  {"message command", 372},
+  {"dfree command", 373},
+  {"remote announce", 374},
+  {"remote browse sync", 375},
+  {"socket address", 376},
+  {"homedir map", 377},
+  {"time offset", 378},
+  {"NIS homedir", 379},
+  {"-valid", 380},
+  {"copy", 381},
+  {"include", 382},
+  {"exec", 383},
+  {"preexec", 384},
+  {"preexec close", 385},
+  {"postexec", 386},
+  {"root preexec", 387},
+  {"root preexec close", 388},
+  {"root postexec", 389},
+  {"available", 390},
+  {"volume", 391},
+  {"fstype", 392},
+  {"set directory", 393},
+  {"source environment", 394},
+  {"wide links", 395},
+  {"follow symlinks", 396},
+  {"dont descend", 397},
+  {"magic script", 398},
+  {"magic output", 399},
+  {"delete readonly", 400},
+  {"dos filemode", 401},
+  {"dos filetimes", 402},
+  {"dos filetime resolution", 403},
+  {"fake directory create times", 404},
+  {"panic action", 405},
+  {"hide local users", 406},
+  {"VFS options", 407},
+  {"vfs object", 408},
+  {"vfs options", 409},
+  {"msdfs root", 410},
+  {"host msdfs", 411},
+  {"Winbind options", 412},
+  {"winbind uid", 413},
+  {"winbind gid", 414},
+  {"template homedir", 415},
+  {"template shell", 416},
+  {"winbind separator", 417},
+  {"winbind cache time", 418},
+  {"winbind enum users", 419},
+  {"winbind enum groups", 420},
 };
 
-int _msg_tbl_length = 421;
+int _msg_tbl_length = 420;
index ad07acc74406f65e2fe3b8f720590189ec30b44d..9c8c41a759daf973ac6bf6aead1a2a76ab7ade43 100644 (file)
@@ -6,7 +6,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2001-06-09 13:08+0900\n"
+"POT-Creation-Date: 2001-09-25 13:07-0700\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -19,1543 +19,1681 @@ msgstr ""
 msgid "ERROR: Can't open %s\n"
 msgstr ""
 
-#: web/swat.c:208
+#: web/swat.c:204
 msgid "Help"
 msgstr ""
 
-#: web/swat.c:215 web/swat.c:223 web/swat.c:231 web/swat.c:240 web/swat.c:249
-#: web/swat.c:255 web/swat.c:261 web/swat.c:271
+#: web/swat.c:210 web/swat.c:224 web/swat.c:239 web/swat.c:247 web/swat.c:256
+#: web/swat.c:265 web/swat.c:271 web/swat.c:277 web/swat.c:290
 msgid "Set Default"
 msgstr ""
 
-#: web/swat.c:387
-#, c-format
-msgid "failed to open %s for writing\n"
-msgstr ""
-
-#: web/swat.c:399
-#, c-format
-msgid "Can't reload %s\n"
-msgstr ""
-
-#: web/swat.c:478
+#: web/swat.c:493
 #, c-format
 msgid "Logged in as <b>%s</b><p>\n"
 msgstr ""
 
-#: web/swat.c:481
+#: web/swat.c:496
 msgid "Home"
 msgstr ""
 
-#: web/swat.c:483
+#: web/swat.c:498
 msgid "Globals"
 msgstr ""
 
-#: web/swat.c:484
+#: web/swat.c:499
 msgid "Shares"
 msgstr ""
 
-#: web/swat.c:485
+#: web/swat.c:500
 msgid "Printers"
 msgstr ""
 
-#: web/swat.c:488
+#: web/swat.c:503
 msgid "Status"
 msgstr ""
 
-#: web/swat.c:489
+#: web/swat.c:504
 msgid "View Config"
 msgstr ""
 
-#: web/swat.c:491
+#: web/swat.c:506
 msgid "Password Management"
 msgstr ""
 
-#: web/swat.c:515
+#: web/swat.c:530
 msgid "Current Config"
 msgstr ""
 
-#: web/swat.c:519
+#: web/swat.c:534
 msgid "Normal View"
 msgstr ""
 
-#: web/swat.c:521
+#: web/swat.c:536
 msgid "Full View"
 msgstr ""
 
-#: web/swat.c:537
+#: web/swat.c:552
 msgid "Global Variables"
 msgstr ""
 
-#: web/swat.c:551 web/swat.c:651 web/swat.c:998
+#: web/swat.c:566 web/swat.c:662 web/swat.c:1004
 msgid "Commit Changes"
 msgstr ""
 
-#: web/swat.c:555 web/swat.c:654 web/swat.c:1000
+#: web/swat.c:570 web/swat.c:665 web/swat.c:1006
 msgid "Reset Values"
 msgstr ""
 
-#: web/swat.c:557 web/swat.c:656 web/swat.c:1002
+#: web/swat.c:572 web/swat.c:667 web/swat.c:1008
 msgid "Advanced View"
 msgstr ""
 
-#: web/swat.c:559 web/swat.c:658 web/swat.c:1004
+#: web/swat.c:574 web/swat.c:669 web/swat.c:1010
 msgid "Basic View"
 msgstr ""
 
-#: web/swat.c:588
+#: web/swat.c:604
 msgid "Share Parameters"
 msgstr ""
 
-#: web/swat.c:622
+#: web/swat.c:633
 msgid "Choose Share"
 msgstr ""
 
-#: web/swat.c:636
+#: web/swat.c:647
 msgid "Delete Share"
 msgstr ""
 
-#: web/swat.c:643
+#: web/swat.c:654
 msgid "Create Share"
 msgstr ""
 
-#: web/swat.c:688
+#: web/swat.c:699
 msgid "password change in demo mode rejected\n"
 msgstr ""
 
-#: web/swat.c:701
-msgid "Can't setup password database vectors.\n"
-msgstr ""
-
-#: web/swat.c:727
+#: web/swat.c:738
 msgid " Must specify \"User Name\" \n"
 msgstr ""
 
-#: web/swat.c:743
+#: web/swat.c:754
 msgid " Must specify \"Old Password\" \n"
 msgstr ""
 
-#: web/swat.c:749
+#: web/swat.c:760
 msgid " Must specify \"Remote Machine\" \n"
 msgstr ""
 
-#: web/swat.c:756
+#: web/swat.c:767
 msgid " Must specify \"New, and Re-typed Passwords\" \n"
 msgstr ""
 
-#: web/swat.c:762
+#: web/swat.c:773
 msgid " Re-typed password didn't match new password\n"
 msgstr ""
 
-#: web/swat.c:792
+#: web/swat.c:803
 #, c-format
 msgid " The passwd for '%s' has been changed. \n"
 msgstr ""
 
-#: web/swat.c:794
+#: web/swat.c:805
 #, c-format
 msgid " The passwd for '%s' has NOT been changed. \n"
 msgstr ""
 
-#: web/swat.c:818
+#: web/swat.c:829
 msgid "Server Password Management"
 msgstr ""
 
 #.
 #. * Create all the dialog boxes for data collection
 #.
-#: web/swat.c:827 web/swat.c:874
+#: web/swat.c:838 web/swat.c:885
 msgid " User Name : "
 msgstr ""
 
-#: web/swat.c:830 web/swat.c:876
+#: web/swat.c:841 web/swat.c:887
 msgid " Old Password : "
 msgstr ""
 
-#: web/swat.c:833 web/swat.c:878
+#: web/swat.c:844 web/swat.c:889
 msgid " New Password : "
 msgstr ""
 
-#: web/swat.c:835 web/swat.c:880
+#: web/swat.c:846 web/swat.c:891
 msgid " Re-type New Password : "
 msgstr ""
 
-#: web/swat.c:843 web/swat.c:891
+#: web/swat.c:854 web/swat.c:902
 msgid "Change Password"
 msgstr ""
 
-#: web/swat.c:846
+#: web/swat.c:857
 msgid "Add New User"
 msgstr ""
 
-#: web/swat.c:848
+#: web/swat.c:859
 msgid "Delete User"
 msgstr ""
 
-#: web/swat.c:850
+#: web/swat.c:861
 msgid "Disable User"
 msgstr ""
 
-#: web/swat.c:852
+#: web/swat.c:863
 msgid "Enable User"
 msgstr ""
 
-#: web/swat.c:865
+#: web/swat.c:876
 msgid "Client/Server Password Management"
 msgstr ""
 
-#: web/swat.c:882
+#: web/swat.c:893
 msgid " Remote Machine : "
 msgstr ""
 
-#: web/swat.c:920
+#: web/swat.c:931
 msgid "Printer Parameters"
 msgstr ""
 
-#: web/swat.c:922
+#: web/swat.c:933
 msgid "Important Note:"
 msgstr ""
 
-#: web/swat.c:923
+#: web/swat.c:934
 msgid "Printer names marked with [*] in the Choose Printer drop-down box "
 msgstr ""
 
-#: web/swat.c:924
+#: web/swat.c:935
 msgid "are autoloaded printers from "
 msgstr ""
 
-#: web/swat.c:925
+#: web/swat.c:936
 msgid "Printcap Name"
 msgstr ""
 
-#: web/swat.c:926
+#: web/swat.c:937
 msgid "Attempting to delete these printers from SWAT will have no effect.\n"
 msgstr ""
 
-#: web/swat.c:964
+#: web/swat.c:970
 msgid "Choose Printer"
 msgstr ""
 
-#: web/swat.c:983
+#: web/swat.c:989
 msgid "Delete Printer"
 msgstr ""
 
-#: web/swat.c:990
+#: web/swat.c:996
 msgid "Create Printer"
 msgstr ""
 
-#: web/statuspage.c:38
+#: web/statuspage.c:40
 msgid "DENY_NONE"
 msgstr ""
 
-#: web/statuspage.c:39
+#: web/statuspage.c:41
 msgid "DENY_ALL   "
 msgstr ""
 
-#: web/statuspage.c:40
+#: web/statuspage.c:42
 msgid "DENY_DOS   "
 msgstr ""
 
-#: web/statuspage.c:41
+#: web/statuspage.c:43
 msgid "DENY_READ  "
 msgstr ""
 
-#: web/statuspage.c:42
+#: web/statuspage.c:44
 msgid "DENY_WRITE "
 msgstr ""
 
-#: web/statuspage.c:48
+#: web/statuspage.c:50
 msgid "RDONLY     "
 msgstr ""
 
-#: web/statuspage.c:49
+#: web/statuspage.c:51
 msgid "WRONLY     "
 msgstr ""
 
-#: web/statuspage.c:50
+#: web/statuspage.c:52
 msgid "RDWR       "
 msgstr ""
 
-#: web/statuspage.c:58
+#: web/statuspage.c:60
 msgid "EXCLUSIVE+BATCH "
 msgstr ""
 
-#: web/statuspage.c:60
+#: web/statuspage.c:62
 msgid "EXCLUSIVE       "
 msgstr ""
 
-#: web/statuspage.c:62
+#: web/statuspage.c:64
 msgid "BATCH           "
 msgstr ""
 
-#: web/statuspage.c:64
+#: web/statuspage.c:66
 msgid "LEVEL_II        "
 msgstr ""
 
-#: web/statuspage.c:66
+#: web/statuspage.c:68
 msgid "NONE            "
 msgstr ""
 
-#: web/statuspage.c:146
+#: web/statuspage.c:194
 msgid "Server Status"
 msgstr ""
 
-#: web/statuspage.c:151
+#: web/statuspage.c:199
 msgid "Auto Refresh"
 msgstr ""
 
-#: web/statuspage.c:152 web/statuspage.c:157
+#: web/statuspage.c:200 web/statuspage.c:205
 msgid "Refresh Interval: "
 msgstr ""
 
-#: web/statuspage.c:156
+#: web/statuspage.c:204
 msgid "Stop Refreshing"
 msgstr ""
 
-#: web/statuspage.c:168
-msgid "You need to have status=yes in your smb config file\n"
-msgstr ""
-
-#: web/statuspage.c:174
+#: web/statuspage.c:219
 msgid "version:"
 msgstr ""
 
-#: web/statuspage.c:177
+#: web/statuspage.c:222
 msgid "smbd:"
 msgstr ""
 
-#: web/statuspage.c:177 web/statuspage.c:189
+#: web/statuspage.c:222 web/statuspage.c:234
 msgid "running"
 msgstr ""
 
-#: web/statuspage.c:177 web/statuspage.c:189
+#: web/statuspage.c:222 web/statuspage.c:234
 msgid "not running"
 msgstr ""
 
-#: web/statuspage.c:180
+#: web/statuspage.c:225
 msgid "Stop smbd"
 msgstr ""
 
-#: web/statuspage.c:182
+#: web/statuspage.c:227
 msgid "Start smbd"
 msgstr ""
 
-#: web/statuspage.c:184
+#: web/statuspage.c:229
 msgid "Restart smbd"
 msgstr ""
 
-#: web/statuspage.c:189
+#: web/statuspage.c:234
 msgid "nmbd:"
 msgstr ""
 
-#: web/statuspage.c:192
+#: web/statuspage.c:237
 msgid "Stop nmbd"
 msgstr ""
 
-#: web/statuspage.c:194
+#: web/statuspage.c:239
 msgid "Start nmbd"
 msgstr ""
 
-#: web/statuspage.c:196
+#: web/statuspage.c:241
 msgid "Restart nmbd"
 msgstr ""
 
-#: web/statuspage.c:203
+#: web/statuspage.c:248
 msgid "Active Connections"
 msgstr ""
 
-#: web/statuspage.c:205 web/statuspage.c:236 web/statuspage.c:256
+#: web/statuspage.c:250 web/statuspage.c:263 web/statuspage.c:271
 msgid "PID"
 msgstr ""
 
-#: web/statuspage.c:205 web/statuspage.c:236
+#: web/statuspage.c:250 web/statuspage.c:263
 msgid "Client"
 msgstr ""
 
-#: web/statuspage.c:205
+#: web/statuspage.c:250
 msgid "IP address"
 msgstr ""
 
-#: web/statuspage.c:205 web/statuspage.c:236 web/statuspage.c:256
+#: web/statuspage.c:250 web/statuspage.c:263 web/statuspage.c:271
 msgid "Date"
 msgstr ""
 
-#: web/statuspage.c:207
+#: web/statuspage.c:252
 msgid "Kill"
 msgstr ""
 
-#: web/statuspage.c:233
+#: web/statuspage.c:260
 msgid "Active Shares"
 msgstr ""
 
-#: web/statuspage.c:236
+#: web/statuspage.c:263
 msgid "Share"
 msgstr ""
 
-#: web/statuspage.c:236
+#: web/statuspage.c:263
 msgid "User"
 msgstr ""
 
-#: web/statuspage.c:236
+#: web/statuspage.c:263
 msgid "Group"
 msgstr ""
 
-#: web/statuspage.c:254
+#: web/statuspage.c:269
 msgid "Open Files"
 msgstr ""
 
-#: web/statuspage.c:256
+#: web/statuspage.c:271
 msgid "Sharing"
 msgstr ""
 
-#: web/statuspage.c:256
+#: web/statuspage.c:271
 msgid "R/W"
 msgstr ""
 
-#: web/statuspage.c:256
+#: web/statuspage.c:271
 msgid "Oplock"
 msgstr ""
 
-#: web/statuspage.c:256
+#: web/statuspage.c:271
 msgid "File"
 msgstr ""
 
-#: param/loadparm.c:571
+#: param/loadparm.c:641
 msgid "Base Options"
 msgstr ""
 
-#: param/loadparm.c:572
-msgid "coding system"
+#: param/loadparm.c:643
+msgid "dos charset"
+msgstr ""
+
+#: param/loadparm.c:644
+msgid "unix charset"
 msgstr ""
 
-#: param/loadparm.c:573
-msgid "client code page"
+#: param/loadparm.c:645
+msgid "display charset"
 msgstr ""
 
-#: param/loadparm.c:574
+#: param/loadparm.c:646
 msgid "comment"
 msgstr ""
 
-#: param/loadparm.c:575
+#: param/loadparm.c:647
 msgid "path"
 msgstr ""
 
-#: param/loadparm.c:576
+#: param/loadparm.c:648
 msgid "directory"
 msgstr ""
 
-#: param/loadparm.c:577
+#: param/loadparm.c:649
 msgid "workgroup"
 msgstr ""
 
-#: param/loadparm.c:578
+#: param/loadparm.c:650
 msgid "netbios name"
 msgstr ""
 
-#: param/loadparm.c:579
+#: param/loadparm.c:651
 msgid "netbios aliases"
 msgstr ""
 
-#: param/loadparm.c:580
+#: param/loadparm.c:652
 msgid "netbios scope"
 msgstr ""
 
-#: param/loadparm.c:581
+#: param/loadparm.c:653
 msgid "server string"
 msgstr ""
 
-#: param/loadparm.c:582
+#: param/loadparm.c:654
 msgid "interfaces"
 msgstr ""
 
-#: param/loadparm.c:583
+#: param/loadparm.c:655
 msgid "bind interfaces only"
 msgstr ""
 
-#: param/loadparm.c:585
+#: param/loadparm.c:657
 msgid "Security Options"
 msgstr ""
 
-#: param/loadparm.c:586
+#: param/loadparm.c:659
 msgid "security"
 msgstr ""
 
-#: param/loadparm.c:587
+#: param/loadparm.c:660
 msgid "encrypt passwords"
 msgstr ""
 
-#: param/loadparm.c:588
+#: param/loadparm.c:661
 msgid "update encrypted"
 msgstr ""
 
-#: param/loadparm.c:589
+#: param/loadparm.c:662
 msgid "allow trusted domains"
 msgstr ""
 
-#: param/loadparm.c:590
+#: param/loadparm.c:663
 msgid "alternate permissions"
 msgstr ""
 
-#: param/loadparm.c:591
+#: param/loadparm.c:664
 msgid "hosts equiv"
 msgstr ""
 
-#: param/loadparm.c:592
-msgid "min password length"
+#: param/loadparm.c:665
+msgid "min passwd length"
 msgstr ""
 
-#: param/loadparm.c:593
-msgid "min passwd length"
+#: param/loadparm.c:666
+msgid "min password length"
 msgstr ""
 
-#: param/loadparm.c:594
+#: param/loadparm.c:667
 msgid "map to guest"
 msgstr ""
 
-#: param/loadparm.c:595
+#: param/loadparm.c:668
 msgid "null passwords"
 msgstr ""
 
-#: param/loadparm.c:596
+#: param/loadparm.c:669
+msgid "obey pam restrictions"
+msgstr ""
+
+#: param/loadparm.c:670
 msgid "password server"
 msgstr ""
 
-#: param/loadparm.c:597
+#: param/loadparm.c:671
 msgid "smb passwd file"
 msgstr ""
 
-#: param/loadparm.c:598
+#: param/loadparm.c:672
+msgid "private dir"
+msgstr ""
+
+#: param/loadparm.c:673
+msgid "passdb module path"
+msgstr ""
+
+#: param/loadparm.c:674
 msgid "root directory"
 msgstr ""
 
-#: param/loadparm.c:599
+#: param/loadparm.c:675
 msgid "root dir"
 msgstr ""
 
-#: param/loadparm.c:600
+#: param/loadparm.c:676
 msgid "root"
 msgstr ""
 
-#: param/loadparm.c:601
+#: param/loadparm.c:678
+msgid "pam password change"
+msgstr ""
+
+#: param/loadparm.c:679
 msgid "passwd program"
 msgstr ""
 
-#: param/loadparm.c:602
+#: param/loadparm.c:680
 msgid "passwd chat"
 msgstr ""
 
-#: param/loadparm.c:603
+#: param/loadparm.c:681
 msgid "passwd chat debug"
 msgstr ""
 
-#: param/loadparm.c:604
+#: param/loadparm.c:682
 msgid "username map"
 msgstr ""
 
-#: param/loadparm.c:605
+#: param/loadparm.c:683
 msgid "password level"
 msgstr ""
 
-#: param/loadparm.c:606
+#: param/loadparm.c:684
 msgid "username level"
 msgstr ""
 
-#: param/loadparm.c:607
+#: param/loadparm.c:685
 msgid "unix password sync"
 msgstr ""
 
-#: param/loadparm.c:608
+#: param/loadparm.c:686
 msgid "restrict anonymous"
 msgstr ""
 
-#: param/loadparm.c:609
-msgid "revalidate"
+#: param/loadparm.c:687
+msgid "lanman auth"
+msgstr ""
+
+#: param/loadparm.c:688
+msgid "ntlm auth"
+msgstr ""
+
+#: param/loadparm.c:689
+msgid "plaintext to smbpasswd"
 msgstr ""
 
-#: param/loadparm.c:610
+#: param/loadparm.c:690
 msgid "use rhosts"
 msgstr ""
 
-#: param/loadparm.c:611
+#: param/loadparm.c:692
 msgid "username"
 msgstr ""
 
-#: param/loadparm.c:612
+#: param/loadparm.c:693
 msgid "user"
 msgstr ""
 
-#: param/loadparm.c:613
+#: param/loadparm.c:694
 msgid "users"
 msgstr ""
 
-#: param/loadparm.c:614
+#: param/loadparm.c:696
 msgid "guest account"
 msgstr ""
 
-#: param/loadparm.c:615
+#: param/loadparm.c:697
 msgid "invalid users"
 msgstr ""
 
-#: param/loadparm.c:616
+#: param/loadparm.c:698
 msgid "valid users"
 msgstr ""
 
-#: param/loadparm.c:617
+#: param/loadparm.c:699
 msgid "admin users"
 msgstr ""
 
-#: param/loadparm.c:618
+#: param/loadparm.c:700
 msgid "read list"
 msgstr ""
 
-#: param/loadparm.c:619
+#: param/loadparm.c:701
 msgid "write list"
 msgstr ""
 
-#: param/loadparm.c:620
+#: param/loadparm.c:702
+msgid "printer admin"
+msgstr ""
+
+#: param/loadparm.c:703
 msgid "force user"
 msgstr ""
 
-#: param/loadparm.c:621
+#: param/loadparm.c:704
 msgid "force group"
 msgstr ""
 
-#: param/loadparm.c:622
+#: param/loadparm.c:705
 msgid "group"
 msgstr ""
 
-#: param/loadparm.c:623
-msgid "writeable"
+#: param/loadparm.c:707
+msgid "read only"
 msgstr ""
 
-#: param/loadparm.c:624
+#: param/loadparm.c:708
 msgid "write ok"
 msgstr ""
 
-#: param/loadparm.c:625
-msgid "writable"
+#: param/loadparm.c:709
+msgid "writeable"
 msgstr ""
 
-#: param/loadparm.c:626
-msgid "read only"
+#: param/loadparm.c:710
+msgid "writable"
 msgstr ""
 
-#: param/loadparm.c:627
+#: param/loadparm.c:712
 msgid "create mask"
 msgstr ""
 
-#: param/loadparm.c:628
+#: param/loadparm.c:713
 msgid "create mode"
 msgstr ""
 
-#: param/loadparm.c:629
+#: param/loadparm.c:714
 msgid "force create mode"
 msgstr ""
 
-#: param/loadparm.c:630
+#: param/loadparm.c:715
 msgid "security mask"
 msgstr ""
 
-#: param/loadparm.c:631
+#: param/loadparm.c:716
 msgid "force security mode"
 msgstr ""
 
-#: param/loadparm.c:632
+#: param/loadparm.c:717
 msgid "directory mask"
 msgstr ""
 
-#: param/loadparm.c:633
+#: param/loadparm.c:718
 msgid "directory mode"
 msgstr ""
 
-#: param/loadparm.c:634
+#: param/loadparm.c:719
 msgid "force directory mode"
 msgstr ""
 
-#: param/loadparm.c:635
+#: param/loadparm.c:720
 msgid "directory security mask"
 msgstr ""
 
-#: param/loadparm.c:636
+#: param/loadparm.c:721
 msgid "force directory security mode"
 msgstr ""
 
-#: param/loadparm.c:637
+#: param/loadparm.c:722
 msgid "inherit permissions"
 msgstr ""
 
-#: param/loadparm.c:638
+#: param/loadparm.c:723
 msgid "guest only"
 msgstr ""
 
-#: param/loadparm.c:639
+#: param/loadparm.c:724
 msgid "only guest"
 msgstr ""
 
-#: param/loadparm.c:640
+#: param/loadparm.c:726
 msgid "guest ok"
 msgstr ""
 
-#: param/loadparm.c:641
+#: param/loadparm.c:727
 msgid "public"
 msgstr ""
 
-#: param/loadparm.c:642
+#: param/loadparm.c:729
 msgid "only user"
 msgstr ""
 
-#: param/loadparm.c:643
+#: param/loadparm.c:730
 msgid "hosts allow"
 msgstr ""
 
-#: param/loadparm.c:644
+#: param/loadparm.c:731
 msgid "allow hosts"
 msgstr ""
 
-#: param/loadparm.c:645
+#: param/loadparm.c:732
 msgid "hosts deny"
 msgstr ""
 
-#: param/loadparm.c:646
+#: param/loadparm.c:733
 msgid "deny hosts"
 msgstr ""
 
-#: param/loadparm.c:649
+#: param/loadparm.c:736
 msgid "Secure Socket Layer Options"
 msgstr ""
 
-#: param/loadparm.c:650
+#: param/loadparm.c:737
 msgid "ssl"
 msgstr ""
 
-#: param/loadparm.c:651
+#: param/loadparm.c:739
 msgid "ssl hosts"
 msgstr ""
 
-#: param/loadparm.c:652
+#: param/loadparm.c:740
 msgid "ssl hosts resign"
 msgstr ""
 
-#: param/loadparm.c:653
+#: param/loadparm.c:741
 msgid "ssl CA certDir"
 msgstr ""
 
-#: param/loadparm.c:654
+#: param/loadparm.c:742
 msgid "ssl CA certFile"
 msgstr ""
 
-#: param/loadparm.c:655
+#: param/loadparm.c:743
 msgid "ssl server cert"
 msgstr ""
 
-#: param/loadparm.c:656
+#: param/loadparm.c:744
 msgid "ssl server key"
 msgstr ""
 
-#: param/loadparm.c:657
+#: param/loadparm.c:745
 msgid "ssl client cert"
 msgstr ""
 
-#: param/loadparm.c:658
+#: param/loadparm.c:746
 msgid "ssl client key"
 msgstr ""
 
-#: param/loadparm.c:659
+#: param/loadparm.c:747
 msgid "ssl require clientcert"
 msgstr ""
 
-#: param/loadparm.c:660
+#: param/loadparm.c:748
 msgid "ssl require servercert"
 msgstr ""
 
-#: param/loadparm.c:661
+#: param/loadparm.c:749
 msgid "ssl ciphers"
 msgstr ""
 
-#: param/loadparm.c:662
+#: param/loadparm.c:750
 msgid "ssl version"
 msgstr ""
 
-#: param/loadparm.c:663
+#: param/loadparm.c:751
 msgid "ssl compatibility"
 msgstr ""
 
-#: param/loadparm.c:666
+#: param/loadparm.c:754
 msgid "Logging Options"
 msgstr ""
 
-#: param/loadparm.c:667
-msgid "debug level"
+#: param/loadparm.c:755
+msgid "log level"
 msgstr ""
 
-#: param/loadparm.c:668
-msgid "log level"
+#: param/loadparm.c:756
+msgid "debuglevel"
 msgstr ""
 
-#: param/loadparm.c:669
+#: param/loadparm.c:757
 msgid "syslog"
 msgstr ""
 
-#: param/loadparm.c:670
+#: param/loadparm.c:758
 msgid "syslog only"
 msgstr ""
 
-#: param/loadparm.c:671
+#: param/loadparm.c:759
 msgid "log file"
 msgstr ""
 
-#: param/loadparm.c:672
+#: param/loadparm.c:761
 msgid "max log size"
 msgstr ""
 
-#: param/loadparm.c:673
-msgid "debug timestamp"
+#: param/loadparm.c:762
+msgid "timestamp logs"
 msgstr ""
 
-#: param/loadparm.c:674
-msgid "timestamp logs"
+#: param/loadparm.c:763
+msgid "debug timestamp"
 msgstr ""
 
-#: param/loadparm.c:675
+#: param/loadparm.c:764
 msgid "debug hires timestamp"
 msgstr ""
 
-#: param/loadparm.c:676
+#: param/loadparm.c:765
 msgid "debug pid"
 msgstr ""
 
-#: param/loadparm.c:677
+#: param/loadparm.c:766
 msgid "debug uid"
 msgstr ""
 
-#: param/loadparm.c:678
-msgid "status"
-msgstr ""
-
-#: param/loadparm.c:680
+#: param/loadparm.c:768
 msgid "Protocol Options"
 msgstr ""
 
-#: param/loadparm.c:681
+#: param/loadparm.c:770
 msgid "protocol"
 msgstr ""
 
-#: param/loadparm.c:682
+#: param/loadparm.c:771
+msgid "large readwrite"
+msgstr ""
+
+#: param/loadparm.c:772
+msgid "max protocol"
+msgstr ""
+
+#: param/loadparm.c:773
+msgid "min protocol"
+msgstr ""
+
+#: param/loadparm.c:774
+msgid "unicode"
+msgstr ""
+
+#: param/loadparm.c:775
 msgid "read bmpx"
 msgstr ""
 
-#: param/loadparm.c:683
+#: param/loadparm.c:776
 msgid "read raw"
 msgstr ""
 
-#: param/loadparm.c:684
+#: param/loadparm.c:777
 msgid "write raw"
 msgstr ""
 
-#: param/loadparm.c:685
-msgid "nt smb support"
-msgstr ""
-
-#: param/loadparm.c:686
+#: param/loadparm.c:779
 msgid "nt pipe support"
 msgstr ""
 
-#: param/loadparm.c:687
+#: param/loadparm.c:780
 msgid "nt acl support"
 msgstr ""
 
-#: param/loadparm.c:688
+#: param/loadparm.c:781
 msgid "announce version"
 msgstr ""
 
-#: param/loadparm.c:689
+#: param/loadparm.c:782
 msgid "announce as"
 msgstr ""
 
-#: param/loadparm.c:690
+#: param/loadparm.c:783
 msgid "max mux"
 msgstr ""
 
-#: param/loadparm.c:691
+#: param/loadparm.c:784
 msgid "max xmit"
 msgstr ""
 
-#: param/loadparm.c:692
+#: param/loadparm.c:786
 msgid "name resolve order"
 msgstr ""
 
-#: param/loadparm.c:693
-msgid "packet size"
+#: param/loadparm.c:787
+msgid "max packet"
 msgstr ""
 
-#: param/loadparm.c:694
-msgid "max packet"
+#: param/loadparm.c:788
+msgid "packet size"
 msgstr ""
 
-#: param/loadparm.c:695
+#: param/loadparm.c:789
 msgid "max ttl"
 msgstr ""
 
-#: param/loadparm.c:696
+#: param/loadparm.c:790
 msgid "max wins ttl"
 msgstr ""
 
-#: param/loadparm.c:697
+#: param/loadparm.c:791
 msgid "min wins ttl"
 msgstr ""
 
-#: param/loadparm.c:698
+#: param/loadparm.c:792
 msgid "time server"
 msgstr ""
 
-#: param/loadparm.c:700
+#: param/loadparm.c:794
 msgid "Tuning Options"
 msgstr ""
 
-#: param/loadparm.c:701
+#: param/loadparm.c:796
 msgid "change notify timeout"
 msgstr ""
 
-#: param/loadparm.c:702
+#: param/loadparm.c:797
 msgid "deadtime"
 msgstr ""
 
-#: param/loadparm.c:703
+#: param/loadparm.c:798
 msgid "getwd cache"
 msgstr ""
 
-#: param/loadparm.c:704
+#: param/loadparm.c:799
 msgid "keepalive"
 msgstr ""
 
-#: param/loadparm.c:705
+#: param/loadparm.c:801
 msgid "lpq cache time"
 msgstr ""
 
-#: param/loadparm.c:706
+#: param/loadparm.c:802
+msgid "max smbd processes"
+msgstr ""
+
+#: param/loadparm.c:803
 msgid "max connections"
 msgstr ""
 
-#: param/loadparm.c:707
+#: param/loadparm.c:804
+msgid "paranoid server security"
+msgstr ""
+
+#: param/loadparm.c:805
 msgid "max disk size"
 msgstr ""
 
-#: param/loadparm.c:708
+#: param/loadparm.c:806
 msgid "max open files"
 msgstr ""
 
-#: param/loadparm.c:709
+#: param/loadparm.c:807
 msgid "min print space"
 msgstr ""
 
-#: param/loadparm.c:710
-msgid "read prediction"
-msgstr ""
-
-#: param/loadparm.c:711
+#: param/loadparm.c:808
 msgid "read size"
 msgstr ""
 
-#: param/loadparm.c:712
-msgid "shared mem size"
-msgstr ""
-
-#: param/loadparm.c:713
+#: param/loadparm.c:810
 msgid "socket options"
 msgstr ""
 
-#: param/loadparm.c:714
+#: param/loadparm.c:811
 msgid "stat cache size"
 msgstr ""
 
-#: param/loadparm.c:715
+#: param/loadparm.c:812
+msgid "strict allocate"
+msgstr ""
+
+#: param/loadparm.c:813
 msgid "strict sync"
 msgstr ""
 
-#: param/loadparm.c:716
+#: param/loadparm.c:814
 msgid "sync always"
 msgstr ""
 
-#: param/loadparm.c:717
+#: param/loadparm.c:815
+msgid "use mmap"
+msgstr ""
+
+#: param/loadparm.c:816
+msgid "hostname lookups"
+msgstr ""
+
+#: param/loadparm.c:817
 msgid "write cache size"
 msgstr ""
 
-#: param/loadparm.c:719
+#: param/loadparm.c:819
 msgid "Printing Options"
 msgstr ""
 
-#: param/loadparm.c:720
+#: param/loadparm.c:821
+msgid "total print jobs"
+msgstr ""
+
+#: param/loadparm.c:822
+msgid "max print jobs"
+msgstr ""
+
+#: param/loadparm.c:823
 msgid "load printers"
 msgstr ""
 
-#: param/loadparm.c:721
+#: param/loadparm.c:824
 msgid "printcap name"
 msgstr ""
 
-#: param/loadparm.c:722
+#: param/loadparm.c:825
 msgid "printcap"
 msgstr ""
 
-#: param/loadparm.c:723
-msgid "printer driver file"
-msgstr ""
-
-#: param/loadparm.c:724
+#: param/loadparm.c:826
 msgid "printable"
 msgstr ""
 
-#: param/loadparm.c:725
+#: param/loadparm.c:827
 msgid "print ok"
 msgstr ""
 
-#: param/loadparm.c:726
+#: param/loadparm.c:828
 msgid "postscript"
 msgstr ""
 
-#: param/loadparm.c:727
+#: param/loadparm.c:829
 msgid "printing"
 msgstr ""
 
-#: param/loadparm.c:728
+#: param/loadparm.c:830
 msgid "print command"
 msgstr ""
 
-#: param/loadparm.c:729
+#: param/loadparm.c:831
+msgid "disable spoolss"
+msgstr ""
+
+#: param/loadparm.c:832
 msgid "lpq command"
 msgstr ""
 
-#: param/loadparm.c:730
+#: param/loadparm.c:833
 msgid "lprm command"
 msgstr ""
 
-#: param/loadparm.c:731
+#: param/loadparm.c:834
 msgid "lppause command"
 msgstr ""
 
-#: param/loadparm.c:732
+#: param/loadparm.c:835
 msgid "lpresume command"
 msgstr ""
 
-#: param/loadparm.c:733
+#: param/loadparm.c:836
 msgid "queuepause command"
 msgstr ""
 
-#: param/loadparm.c:734
+#: param/loadparm.c:837
 msgid "queueresume command"
 msgstr ""
 
-#: param/loadparm.c:736
-msgid "printer"
+#: param/loadparm.c:839
+msgid "enumports command"
 msgstr ""
 
-#: param/loadparm.c:737
+#: param/loadparm.c:840
+msgid "addprinter command"
+msgstr ""
+
+#: param/loadparm.c:841
+msgid "deleteprinter command"
+msgstr ""
+
+#: param/loadparm.c:842
+msgid "show add printer wizard"
+msgstr ""
+
+#: param/loadparm.c:843
+msgid "os2 driver map"
+msgstr ""
+
+#: param/loadparm.c:845
 msgid "printer name"
 msgstr ""
 
-#: param/loadparm.c:738
+#: param/loadparm.c:846
+msgid "printer"
+msgstr ""
+
+#: param/loadparm.c:847
+msgid "use client driver"
+msgstr ""
+
+#: param/loadparm.c:848
 msgid "printer driver"
 msgstr ""
 
-#: param/loadparm.c:739
+#: param/loadparm.c:849
+msgid "printer driver file"
+msgstr ""
+
+#: param/loadparm.c:850
 msgid "printer driver location"
 msgstr ""
 
-#: param/loadparm.c:742
+#: param/loadparm.c:852
 msgid "Filename Handling"
 msgstr ""
 
-#: param/loadparm.c:743
+#: param/loadparm.c:853
 msgid "strip dot"
 msgstr ""
 
-#: param/loadparm.c:744
-msgid "character set"
-msgstr ""
-
-#: param/loadparm.c:745
+#: param/loadparm.c:855
 msgid "mangled stack"
 msgstr ""
 
-#: param/loadparm.c:746
+#: param/loadparm.c:856
 msgid "default case"
 msgstr ""
 
-#: param/loadparm.c:747
+#: param/loadparm.c:857
 msgid "case sensitive"
 msgstr ""
 
-#: param/loadparm.c:748
+#: param/loadparm.c:858
 msgid "casesignames"
 msgstr ""
 
-#: param/loadparm.c:749
+#: param/loadparm.c:859
 msgid "preserve case"
 msgstr ""
 
-#: param/loadparm.c:750
+#: param/loadparm.c:860
 msgid "short preserve case"
 msgstr ""
 
-#: param/loadparm.c:751
+#: param/loadparm.c:861
 msgid "mangle case"
 msgstr ""
 
-#: param/loadparm.c:752
+#: param/loadparm.c:862
 msgid "mangling char"
 msgstr ""
 
-#: param/loadparm.c:753
+#: param/loadparm.c:863
 msgid "hide dot files"
 msgstr ""
 
-#: param/loadparm.c:754
+#: param/loadparm.c:864
+msgid "hide unreadable"
+msgstr ""
+
+#: param/loadparm.c:865
 msgid "delete veto files"
 msgstr ""
 
-#: param/loadparm.c:755
+#: param/loadparm.c:866
 msgid "veto files"
 msgstr ""
 
-#: param/loadparm.c:756
+#: param/loadparm.c:867
 msgid "hide files"
 msgstr ""
 
-#: param/loadparm.c:757
+#: param/loadparm.c:868
 msgid "veto oplock files"
 msgstr ""
 
-#: param/loadparm.c:758
+#: param/loadparm.c:869
 msgid "map system"
 msgstr ""
 
-#: param/loadparm.c:759
+#: param/loadparm.c:870
 msgid "map hidden"
 msgstr ""
 
-#: param/loadparm.c:760
+#: param/loadparm.c:871
 msgid "map archive"
 msgstr ""
 
-#: param/loadparm.c:761
+#: param/loadparm.c:872
 msgid "mangled names"
 msgstr ""
 
-#: param/loadparm.c:762
+#: param/loadparm.c:873
 msgid "mangled map"
 msgstr ""
 
-#: param/loadparm.c:763
+#: param/loadparm.c:874
 msgid "stat cache"
 msgstr ""
 
-#: param/loadparm.c:765
+#: param/loadparm.c:876
 msgid "Domain Options"
 msgstr ""
 
-#: param/loadparm.c:766
-msgid "domain groups"
-msgstr ""
-
-#: param/loadparm.c:767
+#: param/loadparm.c:878
 msgid "domain admin group"
 msgstr ""
 
-#: param/loadparm.c:768
+#: param/loadparm.c:879
 msgid "domain guest group"
 msgstr ""
 
-#: param/loadparm.c:769
-msgid "domain admin users"
-msgstr ""
-
-#: param/loadparm.c:770
-msgid "domain guest users"
-msgstr ""
-
-#: param/loadparm.c:772
+#: param/loadparm.c:882
 msgid "groupname map"
 msgstr ""
 
-#: param/loadparm.c:774
+#: param/loadparm.c:885
 msgid "machine password timeout"
 msgstr ""
 
-#: param/loadparm.c:776
+#: param/loadparm.c:887
 msgid "Logon Options"
 msgstr ""
 
-#: param/loadparm.c:777
+#: param/loadparm.c:889
 msgid "add user script"
 msgstr ""
 
-#: param/loadparm.c:778
+#: param/loadparm.c:890
 msgid "delete user script"
 msgstr ""
 
-#: param/loadparm.c:779
+#: param/loadparm.c:891
+msgid "add group script"
+msgstr ""
+
+#: param/loadparm.c:892
+msgid "delete group script"
+msgstr ""
+
+#: param/loadparm.c:893
+msgid "add user to group script"
+msgstr ""
+
+#: param/loadparm.c:894
+msgid "delete user from group script"
+msgstr ""
+
+#: param/loadparm.c:895
+msgid "add machine script"
+msgstr ""
+
+#: param/loadparm.c:896
+msgid "shutdown script"
+msgstr ""
+
+#: param/loadparm.c:897
+msgid "abort shutdown script"
+msgstr ""
+
+#: param/loadparm.c:899
 msgid "logon script"
 msgstr ""
 
-#: param/loadparm.c:780
+#: param/loadparm.c:900
 msgid "logon path"
 msgstr ""
 
-#: param/loadparm.c:781
+#: param/loadparm.c:901
 msgid "logon drive"
 msgstr ""
 
-#: param/loadparm.c:782
+#: param/loadparm.c:902
 msgid "logon home"
 msgstr ""
 
-#: param/loadparm.c:783
+#: param/loadparm.c:903
 msgid "domain logons"
 msgstr ""
 
-#: param/loadparm.c:785
+#: param/loadparm.c:905
 msgid "Browse Options"
 msgstr ""
 
-#: param/loadparm.c:786
+#: param/loadparm.c:907
 msgid "os level"
 msgstr ""
 
-#: param/loadparm.c:787
+#: param/loadparm.c:908
 msgid "lm announce"
 msgstr ""
 
-#: param/loadparm.c:788
+#: param/loadparm.c:909
 msgid "lm interval"
 msgstr ""
 
-#: param/loadparm.c:789
+#: param/loadparm.c:910
 msgid "preferred master"
 msgstr ""
 
-#: param/loadparm.c:790
+#: param/loadparm.c:911
 msgid "prefered master"
 msgstr ""
 
-#: param/loadparm.c:791
+#: param/loadparm.c:912
 msgid "local master"
 msgstr ""
 
-#: param/loadparm.c:792
+#: param/loadparm.c:913
 msgid "domain master"
 msgstr ""
 
-#: param/loadparm.c:793
+#: param/loadparm.c:914
 msgid "browse list"
 msgstr ""
 
-#: param/loadparm.c:794
+#: param/loadparm.c:915
 msgid "browseable"
 msgstr ""
 
-#: param/loadparm.c:795
+#: param/loadparm.c:916
 msgid "browsable"
 msgstr ""
 
-#: param/loadparm.c:797
+#: param/loadparm.c:917
+msgid "enhanced browsing"
+msgstr ""
+
+#: param/loadparm.c:919
 msgid "WINS Options"
 msgstr ""
 
-#: param/loadparm.c:798
+#: param/loadparm.c:920
 msgid "dns proxy"
 msgstr ""
 
-#: param/loadparm.c:799
+#: param/loadparm.c:921
 msgid "wins proxy"
 msgstr ""
 
-#: param/loadparm.c:800
+#: param/loadparm.c:923
 msgid "wins server"
 msgstr ""
 
-#: param/loadparm.c:801
+#: param/loadparm.c:924
 msgid "wins support"
 msgstr ""
 
-#: param/loadparm.c:802
+#: param/loadparm.c:925
 msgid "wins hook"
 msgstr ""
 
-#: param/loadparm.c:804
+#: param/loadparm.c:927
 msgid "Locking Options"
 msgstr ""
 
-#: param/loadparm.c:805
+#: param/loadparm.c:929
 msgid "blocking locks"
 msgstr ""
 
-#: param/loadparm.c:806
+#: param/loadparm.c:930
 msgid "fake oplocks"
 msgstr ""
 
-#: param/loadparm.c:807
+#: param/loadparm.c:931
 msgid "kernel oplocks"
 msgstr ""
 
-#: param/loadparm.c:808
+#: param/loadparm.c:932
 msgid "locking"
 msgstr ""
 
-#: param/loadparm.c:810
-msgid "utmp"
-msgstr ""
-
-#: param/loadparm.c:812
-msgid "ole locking compatibility"
-msgstr ""
-
-#: param/loadparm.c:813
+#: param/loadparm.c:934
 msgid "oplocks"
 msgstr ""
 
-#: param/loadparm.c:814
+#: param/loadparm.c:935
 msgid "level2 oplocks"
 msgstr ""
 
-#: param/loadparm.c:815
+#: param/loadparm.c:936
 msgid "oplock break wait time"
 msgstr ""
 
-#: param/loadparm.c:816
+#: param/loadparm.c:937
 msgid "oplock contention limit"
 msgstr ""
 
-#: param/loadparm.c:817
+#: param/loadparm.c:938
+msgid "posix locking"
+msgstr ""
+
+#: param/loadparm.c:939
 msgid "strict locking"
 msgstr ""
 
-#: param/loadparm.c:818
+#: param/loadparm.c:940
 msgid "share modes"
 msgstr ""
 
-#: param/loadparm.c:821
+#: param/loadparm.c:943
 msgid "Ldap Options"
 msgstr ""
 
-#: param/loadparm.c:822
+#: param/loadparm.c:945
 msgid "ldap server"
 msgstr ""
 
-#: param/loadparm.c:823
+#: param/loadparm.c:946
 msgid "ldap port"
 msgstr ""
 
-#: param/loadparm.c:824
+#: param/loadparm.c:947
 msgid "ldap suffix"
 msgstr ""
 
-#: param/loadparm.c:825
+#: param/loadparm.c:948
 msgid "ldap filter"
 msgstr ""
 
-#: param/loadparm.c:826
+#: param/loadparm.c:949
 msgid "ldap root"
 msgstr ""
 
-#: param/loadparm.c:827
+#: param/loadparm.c:950
 msgid "ldap root passwd"
 msgstr ""
 
-#: param/loadparm.c:831
+#: param/loadparm.c:953
 msgid "Miscellaneous Options"
 msgstr ""
 
-#: param/loadparm.c:832
-msgid "smbrun"
+#: param/loadparm.c:954
+msgid "add share command"
 msgstr ""
 
-#: param/loadparm.c:833
-msgid "config file"
+#: param/loadparm.c:955
+msgid "change share command"
 msgstr ""
 
-#: param/loadparm.c:834
-msgid "auto services"
+#: param/loadparm.c:956
+msgid "delete share command"
 msgstr ""
 
-#: param/loadparm.c:835
+#: param/loadparm.c:958
+msgid "config file"
+msgstr ""
+
+#: param/loadparm.c:959
 msgid "preload"
 msgstr ""
 
-#: param/loadparm.c:836
-msgid "lock directory"
+#: param/loadparm.c:960
+msgid "auto services"
 msgstr ""
 
-#: param/loadparm.c:837
+#: param/loadparm.c:961
 msgid "lock dir"
 msgstr ""
 
-#: param/loadparm.c:839
-msgid "utmp directory"
+#: param/loadparm.c:962
+msgid "lock directory"
 msgstr ""
 
-#: param/loadparm.c:840
-msgid "utmp dir"
+#: param/loadparm.c:964
+msgid "utmp directory"
 msgstr ""
 
-#: param/loadparm.c:841
+#: param/loadparm.c:965
 msgid "wtmp directory"
 msgstr ""
 
-#: param/loadparm.c:842
-msgid "wtmp dir"
-msgstr ""
-
-#: param/loadparm.c:843
-msgid "utmp hostname"
-msgstr ""
-
-#: param/loadparm.c:844
-msgid "utmp consolidate"
+#: param/loadparm.c:966
+msgid "utmp"
 msgstr ""
 
-#: param/loadparm.c:846
+#: param/loadparm.c:969
 msgid "default service"
 msgstr ""
 
-#: param/loadparm.c:847
+#: param/loadparm.c:970
 msgid "default"
 msgstr ""
 
-#: param/loadparm.c:848
+#: param/loadparm.c:971
 msgid "message command"
 msgstr ""
 
-#: param/loadparm.c:849
+#: param/loadparm.c:972
 msgid "dfree command"
 msgstr ""
 
-#: param/loadparm.c:850
-msgid "valid chars"
-msgstr ""
-
-#: param/loadparm.c:851
+#: param/loadparm.c:973
 msgid "remote announce"
 msgstr ""
 
-#: param/loadparm.c:852
+#: param/loadparm.c:974
 msgid "remote browse sync"
 msgstr ""
 
-#: param/loadparm.c:853
+#: param/loadparm.c:975
 msgid "socket address"
 msgstr ""
 
-#: param/loadparm.c:854
+#: param/loadparm.c:976
 msgid "homedir map"
 msgstr ""
 
-#: param/loadparm.c:855
+#: param/loadparm.c:977
 msgid "time offset"
 msgstr ""
 
-#: param/loadparm.c:856
-msgid "unix realname"
-msgstr ""
-
-#: param/loadparm.c:857
+#: param/loadparm.c:978
 msgid "NIS homedir"
 msgstr ""
 
-#: param/loadparm.c:858
+#: param/loadparm.c:979
 msgid "-valid"
 msgstr ""
 
-#: param/loadparm.c:859
+#: param/loadparm.c:981
 msgid "copy"
 msgstr ""
 
-#: param/loadparm.c:860
+#: param/loadparm.c:982
 msgid "include"
 msgstr ""
 
-#: param/loadparm.c:861
-msgid "preexec"
+#: param/loadparm.c:983
+msgid "exec"
 msgstr ""
 
-#: param/loadparm.c:862
-msgid "exec"
+#: param/loadparm.c:984
+msgid "preexec"
 msgstr ""
 
-#: param/loadparm.c:863
+#: param/loadparm.c:986
 msgid "preexec close"
 msgstr ""
 
-#: param/loadparm.c:864
+#: param/loadparm.c:987
 msgid "postexec"
 msgstr ""
 
-#: param/loadparm.c:865
+#: param/loadparm.c:988
 msgid "root preexec"
 msgstr ""
 
-#: param/loadparm.c:866
+#: param/loadparm.c:989
 msgid "root preexec close"
 msgstr ""
 
-#: param/loadparm.c:867
+#: param/loadparm.c:990
 msgid "root postexec"
 msgstr ""
 
-#: param/loadparm.c:868
+#: param/loadparm.c:991
 msgid "available"
 msgstr ""
 
-#: param/loadparm.c:869
+#: param/loadparm.c:992
 msgid "volume"
 msgstr ""
 
-#: param/loadparm.c:870
+#: param/loadparm.c:993
 msgid "fstype"
 msgstr ""
 
-#: param/loadparm.c:871
+#: param/loadparm.c:994
 msgid "set directory"
 msgstr ""
 
-#: param/loadparm.c:872
+#: param/loadparm.c:995
 msgid "source environment"
 msgstr ""
 
-#: param/loadparm.c:873
+#: param/loadparm.c:996
 msgid "wide links"
 msgstr ""
 
-#: param/loadparm.c:874
+#: param/loadparm.c:997
 msgid "follow symlinks"
 msgstr ""
 
-#: param/loadparm.c:875
+#: param/loadparm.c:998
 msgid "dont descend"
 msgstr ""
 
-#: param/loadparm.c:876
+#: param/loadparm.c:999
 msgid "magic script"
 msgstr ""
 
-#: param/loadparm.c:877
+#: param/loadparm.c:1000
 msgid "magic output"
 msgstr ""
 
-#: param/loadparm.c:878
+#: param/loadparm.c:1001
 msgid "delete readonly"
 msgstr ""
 
-#: param/loadparm.c:879
+#: param/loadparm.c:1002
+msgid "dos filemode"
+msgstr ""
+
+#: param/loadparm.c:1003
 msgid "dos filetimes"
 msgstr ""
 
-#: param/loadparm.c:880
+#: param/loadparm.c:1004
 msgid "dos filetime resolution"
 msgstr ""
 
-#: param/loadparm.c:882
+#: param/loadparm.c:1006
 msgid "fake directory create times"
 msgstr ""
 
-#: param/loadparm.c:883
+#: param/loadparm.c:1007
 msgid "panic action"
 msgstr ""
+
+#: param/loadparm.c:1008
+msgid "hide local users"
+msgstr ""
+
+#: param/loadparm.c:1011
+msgid "VFS options"
+msgstr ""
+
+#: param/loadparm.c:1013
+msgid "vfs object"
+msgstr ""
+
+#: param/loadparm.c:1014
+msgid "vfs options"
+msgstr ""
+
+#: param/loadparm.c:1017
+msgid "msdfs root"
+msgstr ""
+
+#: param/loadparm.c:1018
+msgid "host msdfs"
+msgstr ""
+
+#: param/loadparm.c:1020
+msgid "Winbind options"
+msgstr ""
+
+#: param/loadparm.c:1022
+msgid "winbind uid"
+msgstr ""
+
+#: param/loadparm.c:1023
+msgid "winbind gid"
+msgstr ""
+
+#: param/loadparm.c:1024
+msgid "template homedir"
+msgstr ""
+
+#: param/loadparm.c:1025
+msgid "template shell"
+msgstr ""
+
+#: param/loadparm.c:1026
+msgid "winbind separator"
+msgstr ""
+
+#: param/loadparm.c:1027
+msgid "winbind cache time"
+msgstr ""
+
+#: param/loadparm.c:1028
+msgid "winbind enum users"
+msgstr ""
+
+#: param/loadparm.c:1029
+msgid "winbind enum groups"
+msgstr ""
index 0821904c311e4a4bfd209dc70c4754c7c692e6da..aaa86efb50f40d2226692382f88f099a2ec5d91d 100644 (file)
Binary files a/source3/po/pl.gmo and b/source3/po/pl.gmo differ
index d2b30c49e99a8caab62b65b207ceea356a6e1e1b..caba28396fe125aa4bc5c87c4b24700df81628ac 100644 (file)
@@ -448,7 +448,9 @@ static void cgi_download(char *file)
        char buf[1024];
        int fd, l, i;
        char *p;
+#if I18N_SWAT
        int nLangDesc;
+#endif
 
        /* sanitise the filename */
        for (i=0;file[i];i++) {
index 664780995e5c5f1a2c30135c3ac013814fb430f1..a6286dc93b774a66e7f4cb31f97b227d431df64c 100644 (file)
@@ -196,7 +196,6 @@ static void show_parameter(int snum, struct parm_struct *parm)
 {
        int i;
        void *ptr = parm->ptr;
-       char* str;
 
        if (parm->class == P_LOCAL && snum >= 0) {
                ptr = lp_local_ptr(snum, ptr);