diff options
author | Gerald Carter <jerry@samba.org> | 2002-06-17 18:36:36 +0000 |
---|---|---|
committer | Gerald Carter <jerry@samba.org> | 2002-06-17 18:36:36 +0000 |
commit | 1e6e5b299c235b513095a76a4cd9fffc41e8fc9c (patch) | |
tree | 9f741529073ad411cc7328334e26d3e35b1d33f1 /source | |
parent | a11c5d7ad07d259d764aede4745d13f8163a8212 (diff) | |
download | samba-1e6e5b299c235b513095a76a4cd9fffc41e8fc9c.tar.gz samba-1e6e5b299c235b513095a76a4cd9fffc41e8fc9c.tar.xz samba-1e6e5b299c235b513095a76a4cd9fffc41e8fc9c.zip |
beginning to sync up for 2.2.5 release....
Diffstat (limited to 'source')
118 files changed, 11375 insertions, 15538 deletions
diff --git a/source/Makefile.in b/source/Makefile.in index d991907fa21..f3589fb6c1d 100644 --- a/source/Makefile.in +++ b/source/Makefile.in @@ -9,6 +9,7 @@ mandir=@mandir@ sysconfdir=@sysconfdir@ LIBS=@LIBS@ +LDAPLIBS=@LDAPLIBS@ CC=@CC@ SHLD=@SHLD@ CFLAGS=@CFLAGS@ @@ -51,7 +52,7 @@ LOGFILEBASE = @logfilebase@ CONFIGFILE = $(CONFIGDIR)/smb.conf LMHOSTSFILE = $(CONFIGDIR)/lmhosts DRIVERFILE = $(CONFIGDIR)/printers.def -PASSWD_PROGRAM = /bin/passwd +PASSWD_PROGRAM = @passwd_program@ # This is where smbpasswd et al go PRIVATEDIR = @privatedir@ @@ -102,7 +103,7 @@ PROGS = $(PROGS1) $(PROGS2) $(MPROGS) bin/nmblookup TORTURE_PROGS = bin/smbtorture bin/msgtest bin/masktest bin/locktest bin/locktest2 SHLIBS = libsmbclient -SCRIPTS = $(srcdir)/script/smbtar +SCRIPTS = $(srcdir)/script/smbtar $(srcdir)/script/findsmb QUOTAOBJS=@QUOTAOBJS@ @@ -188,8 +189,8 @@ NOTIFY_OBJ = smbd/notify.o smbd/notify_hash.o smbd/notify_kernel.o SMBD_OBJ1 = smbd/server.o smbd/files.o smbd/chgpasswd.o smbd/connection.o \ smbd/utmp.o smbd/session.o \ smbd/dfree.o smbd/dir.o smbd/password.o smbd/conn.o smbd/fileio.o \ - smbd/ipc.o smbd/lanman.o smbd/mangle.o smbd/negprot.o \ - smbd/message.o smbd/nttrans.o smbd/pipes.o \ + smbd/ipc.o smbd/lanman.o smbd/mangle.o smbd/mangle_hash2.o smbd/mangle_hash.o \ + smbd/mangle_map.o smbd/negprot.o smbd/message.o smbd/nttrans.o smbd/pipes.o \ smbd/reply.o smbd/trans2.o smbd/uid.o \ smbd/dosmode.o smbd/filename.o smbd/open.o smbd/close.o \ smbd/blocking.o smbd/sec_ctx.o \ @@ -505,7 +506,7 @@ bin/.dummy: bin/smbd: $(SMBD_OBJ) bin/.dummy @echo Linking $@ - @$(CC) $(FLAGS) -o $@ $(SMBD_OBJ) $(LDFLAGS) $(DYNEXP) $(LIBS) + @$(CC) $(FLAGS) -o $@ $(SMBD_OBJ) $(LDFLAGS) $(DYNEXP) $(LIBS) $(LDAPLIBS) bin/nmbd: $(NMBD_OBJ) bin/.dummy @echo Linking $@ @@ -513,11 +514,11 @@ bin/nmbd: $(NMBD_OBJ) bin/.dummy bin/swat: $(SWAT_OBJ) bin/.dummy @echo Linking $@ - @$(CC) $(FLAGS) -o $@ $(SWAT_OBJ) $(LDFLAGS) $(DYNEXP) $(LIBS) + @$(CC) $(FLAGS) -o $@ $(SWAT_OBJ) $(LDFLAGS) $(DYNEXP) $(LIBS) $(LDAPLIBS) bin/rpcclient: $(RPCCLIENT_OBJ) bin/.dummy @echo Linking $@ - @$(CC) $(FLAGS) -o $@ $(RPCCLIENT_OBJ) $(LDFLAGS) $(DYNEXP) $(TERMLDFLAGS) $(TERMLIBS) $(LIBS) + @$(CC) $(FLAGS) -o $@ $(RPCCLIENT_OBJ) $(LDFLAGS) $(DYNEXP) $(TERMLDFLAGS) $(TERMLIBS) $(LIBS) $(LDAPLIBS) bin/smbclient: $(CLIENT_OBJ) bin/.dummy @echo Linking $@ @@ -557,11 +558,11 @@ bin/smbcontrol: $(SMBCONTROL_OBJ) bin/.dummy bin/smbpasswd: $(SMBPASSWD_OBJ) bin/.dummy @echo Linking $@ - @$(CC) $(FLAGS) -o $@ $(SMBPASSWD_OBJ) $(LDFLAGS) $(DYNEXP) $(LIBS) + @$(CC) $(FLAGS) -o $@ $(SMBPASSWD_OBJ) $(LDFLAGS) $(DYNEXP) $(LIBS) $(LDAPLIBS) bin/pdbedit: $(PDBEDIT_OBJ) bin/.dummy @echo Linking $@ - @$(CC) $(FLAGS) -o $@ $(PDBEDIT_OBJ) $(LDFLAGS) $(DYNEXP) $(LIBS) + @$(CC) $(FLAGS) -o $@ $(PDBEDIT_OBJ) $(LDFLAGS) $(DYNEXP) $(LIBS) $(LDAPLIBS) bin/make_smbcodepage: $(MAKE_SMBCODEPAGE_OBJ) bin/.dummy @echo Linking $@ @@ -593,7 +594,7 @@ bin/msgtest: $(MSGTEST_OBJ) bin/.dummy bin/smbcacls: $(SMBCACLS_OBJ) bin/.dummy @echo Linking $@ - @$(CC) $(FLAGS) -o $@ $(SMBCACLS_OBJ) $(LDFLAGS) $(DYNEXP) $(LIBS) + @$(CC) $(FLAGS) -o $@ $(SMBCACLS_OBJ) $(LDFLAGS) $(DYNEXP) $(LIBS) $(LDAPLIBS) bin/locktest: $(LOCKTEST_OBJ) bin/.dummy @echo Linking $@ @@ -635,7 +636,7 @@ bin/smbwrapper.@SHLIBEXT@: $(PICOBJS) bin/.dummy bin/smbwrapper.32.@SHLIBEXT@: $(PICOBJS32) bin/.dummy @echo Linking shared library $@ - @$(SHLD) -32 @LDSHFLAGS@ -o $@ $(PICOBJS32) $(LIBS) \ + @$(SHLD) -32 @LDSHFLAGS@ -o $@ $(PICOBJS32) $(LDFLAGS) $(LIBS) \ @SONAMEFLAG@`basename $@` bin/libsmbclient.@SHLIBEXT@: $(LIBSMBCLIENT_PICOBJS) bin/.dummy @@ -649,7 +650,7 @@ bin/libsmbclient.a: $(LIBSMBCLIENT_PICOBJS) bin/.dummy bin/pam_smbpass.@SHLIBEXT@: $(PAM_SMBPASS_OBJ) bin/.dummy @echo Linking shared library $@ - $(SHLD) @LDSHFLAGS@ -symbolic -o $@ $(PAM_SMBPASS_OBJ) $(LDFLAGS) -lpam $(DYNEXP) $(LIBS) -lc \ + $(SHLD) @LDSHFLAGS@ -o $@ $(PAM_SMBPASS_OBJ) $(LDFLAGS) -lpam $(DYNEXP) $(LIBS) -lc \ @SONAMEFLAG@`basename $@` nsswitch/libnss_wins.so: $(NSS_OBJ) @@ -659,9 +660,14 @@ nsswitch/libnss_wins.so: $(NSS_OBJ) bin/winbindd: $(WINBINDD_OBJ) bin/.dummy @echo Linking $@ - @$(LINK) -o $@ $(WINBINDD_OBJ) $(DYNEXP) $(LIBS) + @$(LINK) -o $@ $(WINBINDD_OBJ) $(DYNEXP) $(LIBS) $(LDAPLIBS) -@WINBIND_LTARGETS@: $(WINBIND_NSS_PICOBJS) +nsswitch/libns_winbind.so: $(WINBIND_NSS_PICOBJS) + @echo "Linking $@" + @$(SHLD) @LDSHFLAGS@ -o $@ $(WINBIND_NSS_PICOBJS) @WINBIND_NSS_EXTRA_LIBS@ \ + @SONAMEFLAG@`basename $@` + +nsswitch/libnss_winbind.so: $(WINBIND_NSS_PICOBJS) @echo "Linking $@" @$(SHLD) @LDSHFLAGS@ -o $@ $(WINBIND_NSS_PICOBJS) @WINBIND_NSS_EXTRA_LIBS@ \ @SONAMEFLAG@`basename $@` diff --git a/source/acconfig.h b/source/acconfig.h index 0b8c71038a9..b27c556d9bd 100644 --- a/source/acconfig.h +++ b/source/acconfig.h @@ -72,6 +72,7 @@ #undef REPLACE_INET_NTOA #undef HAVE_FILE_MACRO #undef HAVE_FUNCTION_MACRO +#undef HAVE_VA_COPY #undef HAVE_SETRESUID_DECL #undef HAVE_SETRESUID #undef WITH_NETATALK @@ -177,6 +178,8 @@ #undef HAVE_DEVICE_MINOR_FN #undef HAVE_MAKEDEV_FN #undef HAVE_GETGROUPS_TOO_MANY_EGIDS +#undef HAVE_PASSWD_PW_COMMENT +#undef HAVE_PASSWD_PW_AGE /* * Add these definitions to allow VFS modules to * see the CPPFLAGS defines. diff --git a/source/client/client.c b/source/client/client.c index 745aec73970..600906e8edd 100644 --- a/source/client/client.c +++ b/source/client/client.c @@ -1995,6 +1995,14 @@ static void process_command_string(char *cmd) pstring line; char *ptr; + /* establish the connection if not already */ + + if (!cli) { + cli = do_connect(desthost, service); + if (!cli) + return; + } + while (cmd[0] != '\0') { char *p; fstring tok; @@ -2394,9 +2402,13 @@ handle a tar operation static int do_tar_op(char *base_directory) { int ret; - cli = do_connect(desthost, service); - if (!cli) - return 1; + + /* do we already have a connection? */ + if (!cli) { + cli = do_connect(desthost, service); + if (!cli) + return 1; + } recurse=True; diff --git a/source/configure b/source/configure index ba0b567b24a..1619dd1542f 100755 --- a/source/configure +++ b/source/configure @@ -1,156 +1,101 @@ #! /bin/sh + # Guess values for system-dependent variables and create Makefiles. -# Generated by Autoconf 2.52. +# Generated automatically using autoconf version 2.13 +# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc. # -# Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001 -# Free Software Foundation, Inc. # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g" - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g" - -# Be Bourne compatible -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: -elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then - set -o posix -fi - -# Name of the executable. -as_me=`echo "$0" |sed 's,.*[\\/],,'` - -if expr a : '\(a\)' >/dev/null 2>&1; then - as_expr=expr -else - as_expr=false -fi - -rm -f conf$$ conf$$.exe conf$$.file -echo >conf$$.file -if ln -s conf$$.file conf$$ 2>/dev/null; then - # We could just check for DJGPP; but this test a) works b) is more generic - # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). - if test -f conf$$.exe; then - # Don't use ln at all; we don't have any links - as_ln_s='cp -p' - else - as_ln_s='ln -s' - fi -elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln -else - as_ln_s='cp -p' -fi -rm -f conf$$ conf$$.exe conf$$.file - -as_executable_p="test -f" - -# Support unset when possible. -if (FOO=FOO; unset FOO) >/dev/null 2>&1; then - as_unset=unset -else - as_unset=false -fi - -# NLS nuisances. -$as_unset LANG || test "${LANG+set}" != set || { LANG=C; export LANG; } -$as_unset LC_ALL || test "${LC_ALL+set}" != set || { LC_ALL=C; export LC_ALL; } -$as_unset LC_TIME || test "${LC_TIME+set}" != set || { LC_TIME=C; export LC_TIME; } -$as_unset LC_CTYPE || test "${LC_CTYPE+set}" != set || { LC_CTYPE=C; export LC_CTYPE; } -$as_unset LANGUAGE || test "${LANGUAGE+set}" != set || { LANGUAGE=C; export LANGUAGE; } -$as_unset LC_COLLATE || test "${LC_COLLATE+set}" != set || { LC_COLLATE=C; export LC_COLLATE; } -$as_unset LC_NUMERIC || test "${LC_NUMERIC+set}" != set || { LC_NUMERIC=C; export LC_NUMERIC; } -$as_unset LC_MESSAGES || test "${LC_MESSAGES+set}" != set || { LC_MESSAGES=C; export LC_MESSAGES; } - -# IFS -# We need space, tab and new line, in precisely that order. -as_nl=' -' -IFS=" $as_nl" - -# CDPATH. -$as_unset CDPATH || test "${CDPATH+set}" != set || { CDPATH=:; export CDPATH; } - -# Name of the host. -# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, -# so uname gets run too. -ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` - -exec 6>&1 - -# -# Initializations. -# +# Defaults: +ac_help= ac_default_prefix=/usr/local -cross_compiling=no -subdirs= -MFLAGS= MAKEFLAGS= -SHELL=${CONFIG_SHELL-/bin/sh} - -# Maximum number of lines to put in a shell here document. -# This variable seems obsolete. It should probably be removed, and -# only ac_max_sed_lines should be used. -: ${ac_max_here_lines=38} - -ac_unique_file="include/includes.h" +# Any additions from configure.in: ac_default_prefix=/usr/local/samba -# Factoring default headers for most tests. -ac_includes_default="\ -#include <stdio.h> -#if HAVE_SYS_TYPES_H -# include <sys/types.h> -#endif -#if HAVE_SYS_STAT_H -# include <sys/stat.h> -#endif -#if STDC_HEADERS -# include <stdlib.h> -# include <stddef.h> -#else -# if HAVE_STDLIB_H -# include <stdlib.h> -# endif -#endif -#if HAVE_STRING_H -# if !STDC_HEADERS && HAVE_MEMORY_H -# include <memory.h> -# endif -# include <string.h> -#endif -#if HAVE_STRINGS_H -# include <strings.h> -#endif -#if HAVE_INTTYPES_H -# include <inttypes.h> -#else -# if HAVE_STDINT_H -# include <stdint.h> -# endif -#endif -#if HAVE_UNISTD_H -# include <unistd.h> -#endif" +ac_help="$ac_help + --with-fhs Use FHS-compliant paths (default=no)" +ac_help="$ac_help + --with-privatedir=DIR Where to put smbpasswd ($ac_default_prefix/private)" +ac_help="$ac_help + --with-lockdir=DIR Where to put lock files ($ac_default_prefix/var/locks)" +ac_help="$ac_help + --with-piddir=DIR Where to put pid files ($ac_default_prefix/var/locks)" +ac_help="$ac_help + --with-swatdir=DIR Where to put SWAT files ($ac_default_prefix/swat)" +ac_help="$ac_help + --with-configdir=DIR Where to put configuration files (\$libdir)" +ac_help="$ac_help + --with-codepagedir=DIR Where to put codepage files (\$libdir/codepages)" +ac_help="$ac_help + --with-logfilebase=DIR Where to put log files (\$(VARDIR))" +ac_help="$ac_help + --enable-debug Turn on compiler debugging information (default=no)" +ac_help="$ac_help + --enable-cups Turn on CUPS support (default=auto)" +ac_help="$ac_help + --with-readline[=DIR] Look for readline include/libs in DIR (default=auto)" +ac_help="$ac_help + --with-smbwrapper Include SMB wrapper support (default=no)" +ac_help="$ac_help + --with-afs Include AFS support (default=no)" +ac_help="$ac_help + --with-dce-dfs Include DCE/DFS support (default=no)" +ac_help="$ac_help + --with-krb4=base-dir Include Kerberos IV support (default=no)" +ac_help="$ac_help + --with-krb5=base-dir Include Kerberos 5 support (default=no)" +ac_help="$ac_help + --with-automount Include AUTOMOUNT support (default=no)" +ac_help="$ac_help + --with-smbmount Include SMBMOUNT (Linux only) support (default=no)" +ac_help="$ac_help + --with-pam Include PAM password database support (default=no)" +ac_help="$ac_help + --with-pam_smbpass Include the smbpass PAM module (default=no)" +ac_help="$ac_help + --with-tdbsam Include experimental TDB SAM support (default=no)" +ac_help="$ac_help + --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 + --with-ssl Include SSL support (default=no) + --with-sslinc=DIR Where the SSL includes are (defaults to /usr/local/ssl/include) + --with-ssllib=DIR Where the SSL libraries are (defaults to /usr/local/ssl/lib)" +ac_help="$ac_help + --with-syslog Include experimental SYSLOG support (default=no)" +ac_help="$ac_help + --with-profiling-data Include gathering source code profile information (default=no)" +ac_help="$ac_help + --with-quotas Include experimental disk-quota support (default=no)" +ac_help="$ac_help + --with-utmp Include experimental utmp accounting (default=no)" +ac_help="$ac_help + --with-msdfs Include MS Dfs support (default=no)" +ac_help="$ac_help + --with-libsmbclient Build the libsmbclient shared library (default=no)" +ac_help="$ac_help + --with-spinlocks Use spin locks instead of fcntl locks (default=no)" +ac_help="$ac_help + --with-acl-support Include ACL support (default=no)" +ac_help="$ac_help + --with-winbind Build winbind (default, if supported by OS)" +ac_help="$ac_help + --with-winbind-auth-challenge Enable winbindd_pam_auth_crap() functionality (default no)" +ac_help="$ac_help + --with-included-popt use bundled popt library, not from system" # Initialize some variables set by options. -ac_init_help= -ac_init_version=false # The variables have the same names as the options, with # dashes changed to underlines. -cache_file=/dev/null +build=NONE +cache_file=./config.cache exec_prefix=NONE +host=NONE no_create= +nonopt=NONE no_recursion= prefix=NONE program_prefix=NONE @@ -159,15 +104,10 @@ program_transform_name=s,x,x, silent= site= srcdir= +target=NONE verbose= x_includes=NONE x_libraries=NONE - -# Installation directory options. -# These are left unexpanded so users can "make install exec_prefix=/foo" -# and all the variables that are supposed to be based on exec_prefix -# by default will actually change. -# Use braces instead of parens because sh, perl, etc. also accept them. bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' @@ -181,16 +121,17 @@ oldincludedir='/usr/include' infodir='${prefix}/info' mandir='${prefix}/man' -# Identity of this package. -PACKAGE_NAME= -PACKAGE_TARNAME= -PACKAGE_VERSION= -PACKAGE_STRING= -PACKAGE_BUGREPORT= +# Initialize some other variables. +subdirs= +MFLAGS= MAKEFLAGS= +SHELL=${CONFIG_SHELL-/bin/sh} +# Maximum number of lines to put in a shell here document. +ac_max_here_lines=12 ac_prev= for ac_option do + # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then eval "$ac_prev=\$ac_option" @@ -198,59 +139,59 @@ do continue fi - ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'` + case "$ac_option" in + -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;; + *) ac_optarg= ;; + esac # Accept the important Cygnus configure options, so we can diagnose typos. - case $ac_option in + case "$ac_option" in -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) - bindir=$ac_optarg ;; + bindir="$ac_optarg" ;; -build | --build | --buil | --bui | --bu) - ac_prev=build_alias ;; + ac_prev=build ;; -build=* | --build=* | --buil=* | --bui=* | --bu=*) - build_alias=$ac_optarg ;; + build="$ac_optarg" ;; -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) - cache_file=$ac_optarg ;; - - --config-cache | -C) - cache_file=config.cache ;; + cache_file="$ac_optarg" ;; -datadir | --datadir | --datadi | --datad | --data | --dat | --da) ac_prev=datadir ;; -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ | --da=*) - datadir=$ac_optarg ;; + datadir="$ac_optarg" ;; -disable-* | --disable-*) - ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` + ac_feature=`echo $ac_option|sed -e 's/-*disable-//'` # Reject names that are not valid shell variable names. - expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid feature name: $ac_feature" >&2 - { (exit 1); exit 1; }; } - ac_feature=`echo $ac_feature | sed 's/-/_/g'` - eval "enable_$ac_feature=no" ;; + if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then + { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } + fi + ac_feature=`echo $ac_feature| sed 's/-/_/g'` + eval "enable_${ac_feature}=no" ;; -enable-* | --enable-*) - ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` + ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'` # Reject names that are not valid shell variable names. - expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid feature name: $ac_feature" >&2 - { (exit 1); exit 1; }; } - ac_feature=`echo $ac_feature | sed 's/-/_/g'` - case $ac_option in - *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; + if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then + { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } + fi + ac_feature=`echo $ac_feature| sed 's/-/_/g'` + case "$ac_option" in + *=*) ;; *) ac_optarg=yes ;; esac - eval "enable_$ac_feature='$ac_optarg'" ;; + eval "enable_${ac_feature}='$ac_optarg'" ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ @@ -259,47 +200,95 @@ do -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ | --exec=* | --exe=* | --ex=*) - exec_prefix=$ac_optarg ;; + exec_prefix="$ac_optarg" ;; -gas | --gas | --ga | --g) # Obsolete; use --with-gas. with_gas=yes ;; - -help | --help | --hel | --he | -h) - ac_init_help=long ;; - -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) - ac_init_help=recursive ;; - -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) - ac_init_help=short ;; + -help | --help | --hel | --he) + # Omit some internal or obsolete options to make the list less imposing. + # This message is too long to be a string in the A/UX 3.1 sh. + cat << EOF +Usage: configure [options] [host] +Options: [defaults in brackets after descriptions] +Configuration: + --cache-file=FILE cache test results in FILE + --help print this message + --no-create do not create output files + --quiet, --silent do not print \`checking...' messages + --version print the version of autoconf that created configure +Directory and file names: + --prefix=PREFIX install architecture-independent files in PREFIX + [$ac_default_prefix] + --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX + [same as prefix] + --bindir=DIR user executables in DIR [EPREFIX/bin] + --sbindir=DIR system admin executables in DIR [EPREFIX/sbin] + --libexecdir=DIR program executables in DIR [EPREFIX/libexec] + --datadir=DIR read-only architecture-independent data in DIR + [PREFIX/share] + --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc] + --sharedstatedir=DIR modifiable architecture-independent data in DIR + [PREFIX/com] + --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var] + --libdir=DIR object code libraries in DIR [EPREFIX/lib] + --includedir=DIR C header files in DIR [PREFIX/include] + --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include] + --infodir=DIR info documentation in DIR [PREFIX/info] + --mandir=DIR man documentation in DIR [PREFIX/man] + --srcdir=DIR find the sources in DIR [configure dir or ..] + --program-prefix=PREFIX prepend PREFIX to installed program names + --program-suffix=SUFFIX append SUFFIX to installed program names + --program-transform-name=PROGRAM + run sed PROGRAM on installed program names +EOF + cat << EOF +Host type: + --build=BUILD configure for building on BUILD [BUILD=HOST] + --host=HOST configure for HOST [guessed] + --target=TARGET configure for TARGET [TARGET=HOST] +Features and packages: + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --x-includes=DIR X include files are in DIR + --x-libraries=DIR X library files are in DIR +EOF + if test -n "$ac_help"; then + echo "--enable and --with options recognized:$ac_help" + fi + exit 0 ;; -host | --host | --hos | --ho) - ac_prev=host_alias ;; + ac_prev=host ;; -host=* | --host=* | --hos=* | --ho=*) - host_alias=$ac_optarg ;; + host="$ac_optarg" ;; -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ | --includ=* | --inclu=* | --incl=* | --inc=*) - includedir=$ac_optarg ;; + includedir="$ac_optarg" ;; -infodir | --infodir | --infodi | --infod | --info | --inf) ac_prev=infodir ;; -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) - infodir=$ac_optarg ;; + infodir="$ac_optarg" ;; -libdir | --libdir | --libdi | --libd) ac_prev=libdir ;; -libdir=* | --libdir=* | --libdi=* | --libd=*) - libdir=$ac_optarg ;; + libdir="$ac_optarg" ;; -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ | --libexe | --libex | --libe) ac_prev=libexecdir ;; -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ | --libexe=* | --libex=* | --libe=*) - libexecdir=$ac_optarg ;; + libexecdir="$ac_optarg" ;; -localstatedir | --localstatedir | --localstatedi | --localstated \ | --localstate | --localstat | --localsta | --localst \ @@ -308,12 +297,12 @@ do -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ | --localstate=* | --localstat=* | --localsta=* | --localst=* \ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) - localstatedir=$ac_optarg ;; + localstatedir="$ac_optarg" ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ac_prev=mandir ;; -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) - mandir=$ac_optarg ;; + mandir="$ac_optarg" ;; -nfp | --nfp | --nf) # Obsolete; use --without-fp. @@ -334,26 +323,26 @@ do -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) - oldincludedir=$ac_optarg ;; + oldincludedir="$ac_optarg" ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) - prefix=$ac_optarg ;; + prefix="$ac_optarg" ;; -program-prefix | --program-prefix | --program-prefi | --program-pref \ | --program-pre | --program-pr | --program-p) ac_prev=program_prefix ;; -program-prefix=* | --program-prefix=* | --program-prefi=* \ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) - program_prefix=$ac_optarg ;; + program_prefix="$ac_optarg" ;; -program-suffix | --program-suffix | --program-suffi | --program-suff \ | --program-suf | --program-su | --program-s) ac_prev=program_suffix ;; -program-suffix=* | --program-suffix=* | --program-suffi=* \ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) - program_suffix=$ac_optarg ;; + program_suffix="$ac_optarg" ;; -program-transform-name | --program-transform-name \ | --program-transform-nam | --program-transform-na \ @@ -370,7 +359,7 @@ do | --program-transfo=* | --program-transf=* \ | --program-trans=* | --program-tran=* \ | --progr-tra=* | --program-tr=* | --program-t=*) - program_transform_name=$ac_optarg ;; + program_transform_name="$ac_optarg" ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) @@ -380,7 +369,7 @@ do ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ | --sbi=* | --sb=*) - sbindir=$ac_optarg ;; + sbindir="$ac_optarg" ;; -sharedstatedir | --sharedstatedir | --sharedstatedi \ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ @@ -391,57 +380,58 @@ do | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ | --sha=* | --sh=*) - sharedstatedir=$ac_optarg ;; + sharedstatedir="$ac_optarg" ;; -site | --site | --sit) ac_prev=site ;; -site=* | --site=* | --sit=*) - site=$ac_optarg ;; + site="$ac_optarg" ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) - srcdir=$ac_optarg ;; + srcdir="$ac_optarg" ;; -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ | --syscon | --sysco | --sysc | --sys | --sy) ac_prev=sysconfdir ;; -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) - sysconfdir=$ac_optarg ;; + sysconfdir="$ac_optarg" ;; -target | --target | --targe | --targ | --tar | --ta | --t) - ac_prev=target_alias ;; + ac_prev=target ;; -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) - target_alias=$ac_optarg ;; + target="$ac_optarg" ;; -v | -verbose | --verbose | --verbos | --verbo | --verb) verbose=yes ;; - -version | --version | --versio | --versi | --vers | -V) - ac_init_version=: ;; + -version | --version | --versio | --versi | --vers) + echo "configure generated by autoconf version 2.13" + exit 0 ;; -with-* | --with-*) - ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` + ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'` # Reject names that are not valid shell variable names. - expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid package name: $ac_package" >&2 - { (exit 1); exit 1; }; } + if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then + { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } + fi ac_package=`echo $ac_package| sed 's/-/_/g'` - case $ac_option in - *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; + case "$ac_option" in + *=*) ;; *) ac_optarg=yes ;; esac - eval "with_$ac_package='$ac_optarg'" ;; + eval "with_${ac_package}='$ac_optarg'" ;; -without-* | --without-*) - ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` + ac_package=`echo $ac_option|sed -e 's/-*without-//'` # Reject names that are not valid shell variable names. - expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid package name: $ac_package" >&2 - { (exit 1); exit 1; }; } - ac_package=`echo $ac_package | sed 's/-/_/g'` - eval "with_$ac_package=no" ;; + if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then + { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } + fi + ac_package=`echo $ac_package| sed 's/-/_/g'` + eval "with_${ac_package}=no" ;; --x) # Obsolete; use --with-x. @@ -452,98 +442,98 @@ do ac_prev=x_includes ;; -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) - x_includes=$ac_optarg ;; + x_includes="$ac_optarg" ;; -x-libraries | --x-libraries | --x-librarie | --x-librari \ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ac_prev=x_libraries ;; -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) - x_libraries=$ac_optarg ;; + x_libraries="$ac_optarg" ;; - -*) { echo "$as_me: error: unrecognized option: $ac_option -Try \`$0 --help' for more information." >&2 - { (exit 1); exit 1; }; } + -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; } ;; - *=*) - ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` - # Reject names that are not valid shell variable names. - expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 - { (exit 1); exit 1; }; } - ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` - eval "$ac_envvar='$ac_optarg'" - export $ac_envvar ;; - *) - # FIXME: should be removed in autoconf 3.0. - echo "$as_me: WARNING: you should use --build, --host, --target" >&2 - expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && - echo "$as_me: WARNING: invalid host type: $ac_option" >&2 - : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} + if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then + echo "configure: warning: $ac_option: invalid host type" 1>&2 + fi + if test "x$nonopt" != xNONE; then + { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } + fi + nonopt="$ac_option" ;; esac done if test -n "$ac_prev"; then - ac_option=--`echo $ac_prev | sed 's/_/-/g'` - { echo "$as_me: error: missing argument to $ac_option" >&2 - { (exit 1); exit 1; }; } + { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; } fi -# Be sure to have absolute paths. -for ac_var in exec_prefix prefix -do - eval ac_val=$`echo $ac_var` - case $ac_val in - [\\/$]* | ?:[\\/]* | NONE | '' ) ;; - *) { echo "$as_me: error: expected an absolute path for --$ac_var: $ac_val" >&2 - { (exit 1); exit 1; }; };; - esac -done +trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 + +# File descriptor usage: +# 0 standard input +# 1 file creation +# 2 errors and warnings +# 3 some systems may open it to /dev/tty +# 4 used on the Kubota Titan +# 6 checking for... messages and results +# 5 compiler messages saved in config.log +if test "$silent" = yes; then + exec 6>/dev/null +else + exec 6>&1 +fi +exec 5>./config.log -# Be sure to have absolute paths. -for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \ - localstatedir libdir includedir oldincludedir infodir mandir +echo "\ +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. +" 1>&5 + +# Strip out --no-create and --no-recursion so they do not pile up. +# Also quote any args containing shell metacharacters. +ac_configure_args= +for ac_arg do - eval ac_val=$`echo $ac_var` - case $ac_val in - [\\/$]* | ?:[\\/]* ) ;; - *) { echo "$as_me: error: expected an absolute path for --$ac_var: $ac_val" >&2 - { (exit 1); exit 1; }; };; + case "$ac_arg" in + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ + | --no-cr | --no-c) ;; + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;; + *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*) + ac_configure_args="$ac_configure_args '$ac_arg'" ;; + *) ac_configure_args="$ac_configure_args $ac_arg" ;; esac done -# There might be people who depend on the old broken behavior: `$host' -# used to hold the argument of --host etc. -build=$build_alias -host=$host_alias -target=$target_alias - -# FIXME: should be removed in autoconf 3.0. -if test "x$host_alias" != x; then - if test "x$build_alias" = x; then - cross_compiling=maybe - echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. - If a cross compiler is detected then cross compile mode will be used." >&2 - elif test "x$build_alias" != "x$host_alias"; then - cross_compiling=yes - fi -fi +# NLS nuisances. +# Only set these to C if already set. These must not be set unconditionally +# because not all systems understand e.g. LANG=C (notably SCO). +# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'! +# Non-C LC_CTYPE values break the ctype check. +if test "${LANG+set}" = set; then LANG=C; export LANG; fi +if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi +if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi +if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi -ac_tool_prefix= -test -n "$host_alias" && ac_tool_prefix=$host_alias- +# confdefs.h avoids OS command line length limits that DEFS can exceed. +rm -rf conftest* confdefs.h +# AIX cpp loses on an empty file, so make sure it contains at least a newline. +echo > confdefs.h -test "$silent" = yes && exec 6>/dev/null +# A filename unique to this package, relative to the directory that +# configure is in, which we can look for to find out if srcdir is correct. +ac_unique_file=include/includes.h # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes # Try the directory containing this script, then its parent. ac_prog=$0 - ac_confdir=`echo "$ac_prog" | sed 's%[\\/][^\\/][^\\/]*$%%'` + ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'` test "x$ac_confdir" = "x$ac_prog" && ac_confdir=. srcdir=$ac_confdir if test ! -r $srcdir/$ac_unique_file; then @@ -554,344 +544,13 @@ else fi if test ! -r $srcdir/$ac_unique_file; then if test "$ac_srcdir_defaulted" = yes; then - { echo "$as_me: error: cannot find sources in $ac_confdir or .." >&2 - { (exit 1); exit 1; }; } + { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; } else - { echo "$as_me: error: cannot find sources in $srcdir" >&2 - { (exit 1); exit 1; }; } + { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; } fi fi -srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'` -ac_env_build_alias_set=${build_alias+set} -ac_env_build_alias_value=$build_alias -ac_cv_env_build_alias_set=${build_alias+set} -ac_cv_env_build_alias_value=$build_alias -ac_env_host_alias_set=${host_alias+set} -ac_env_host_alias_value=$host_alias -ac_cv_env_host_alias_set=${host_alias+set} -ac_cv_env_host_alias_value=$host_alias -ac_env_target_alias_set=${target_alias+set} -ac_env_target_alias_value=$target_alias -ac_cv_env_target_alias_set=${target_alias+set} -ac_cv_env_target_alias_value=$target_alias -ac_env_CC_set=${CC+set} -ac_env_CC_value=$CC -ac_cv_env_CC_set=${CC+set} -ac_cv_env_CC_value=$CC -ac_env_CFLAGS_set=${CFLAGS+set} -ac_env_CFLAGS_value=$CFLAGS -ac_cv_env_CFLAGS_set=${CFLAGS+set} -ac_cv_env_CFLAGS_value=$CFLAGS -ac_env_LDFLAGS_set=${LDFLAGS+set} -ac_env_LDFLAGS_value=$LDFLAGS -ac_cv_env_LDFLAGS_set=${LDFLAGS+set} -ac_cv_env_LDFLAGS_value=$LDFLAGS -ac_env_CPPFLAGS_set=${CPPFLAGS+set} -ac_env_CPPFLAGS_value=$CPPFLAGS -ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set} -ac_cv_env_CPPFLAGS_value=$CPPFLAGS -ac_env_CPP_set=${CPP+set} -ac_env_CPP_value=$CPP -ac_cv_env_CPP_set=${CPP+set} -ac_cv_env_CPP_value=$CPP - -# -# Report the --help message. -# -if test "$ac_init_help" = "long"; then - # Omit some internal or obsolete options to make the list less imposing. - # This message is too long to be a string in the A/UX 3.1 sh. - cat <<EOF -\`configure' configures this package to adapt to many kinds of systems. - -Usage: $0 [OPTION]... [VAR=VALUE]... - -To assign environment variables (e.g., CC, CFLAGS...), specify them as -VAR=VALUE. See below for descriptions of some of the useful variables. - -Defaults for the options are specified in brackets. - -Configuration: - -h, --help display this help and exit - --help=short display options specific to this package - --help=recursive display the short help of all the included packages - -V, --version display version information and exit - -q, --quiet, --silent do not print \`checking...' messages - --cache-file=FILE cache test results in FILE [disabled] - -C, --config-cache alias for \`--cache-file=config.cache' - -n, --no-create do not create output files - --srcdir=DIR find the sources in DIR [configure dir or \`..'] - -EOF - - cat <<EOF -Installation directories: - --prefix=PREFIX install architecture-independent files in PREFIX - [$ac_default_prefix] - --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX - [PREFIX] - -By default, \`make install' will install all the files in -\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify -an installation prefix other than \`$ac_default_prefix' using \`--prefix', -for instance \`--prefix=\$HOME'. - -For better control, use the options below. - -Fine tuning of the installation directories: - --bindir=DIR user executables [EPREFIX/bin] - --sbindir=DIR system admin executables [EPREFIX/sbin] - --libexecdir=DIR program executables [EPREFIX/libexec] - --datadir=DIR read-only architecture-independent data [PREFIX/share] - --sysconfdir=DIR read-only single-machine data [PREFIX/etc] - --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] - --localstatedir=DIR modifiable single-machine data [PREFIX/var] - --libdir=DIR object code libraries [EPREFIX/lib] - --includedir=DIR C header files [PREFIX/include] - --oldincludedir=DIR C header files for non-gcc [/usr/include] - --infodir=DIR info documentation [PREFIX/info] - --mandir=DIR man documentation [PREFIX/man] -EOF - - cat <<\EOF - -System types: - --build=BUILD configure for building on BUILD [guessed] - --host=HOST build programs to run on HOST [BUILD] - --target=TARGET configure for building compilers for TARGET [HOST] -EOF -fi - -if test -n "$ac_init_help"; then - - cat <<\EOF - -Optional Features: - --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) - --enable-FEATURE[=ARG] include FEATURE [ARG=yes] - --enable-debug Turn on compiler debugging information (default=no) - -Optional Packages: - --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] - --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) - --with-fhs Use FHS-compliant paths (default=no) - --with-privatedir=DIR Where to put smbpasswd ($ac_default_prefix/private) - --with-lockdir=DIR Where to put lock files ($ac_default_prefix/var/locks) - --with-piddir=DIR Where to put pid files ($ac_default_prefix/var/locks) - --with-swatdir=DIR Where to put SWAT files ($ac_default_prefix/swat) - --with-configdir=DIR Where to put configuration files (\$libdir) - --with-codepagedir=DIR Where to put codepage files (\$libdir/codepages) - --with-logfilebase=DIR Where to put log files (\$(VARDIR)) - --with-readline=DIR Look for readline include/libs in DIR (default=auto) - --with-smbwrapper Include SMB wrapper support (default=no) - --with-afs Include AFS support (default=no) - --with-dce-dfs Include DCE/DFS support (default=no) - --with-krb4=base-dir Include Kerberos IV support (default=no) - --with-krb5=base-dir Include Kerberos 5 support (default=no) - --with-automount Include AUTOMOUNT support (default=no) - --with-smbmount Include SMBMOUNT (Linux only) support (default=no) - --with-pam Include PAM password database support (default=no) - --with-pam_smbpass Include the smbpass PAM module (default=no) - --with-tdbsam Include experimental TDB SAM support (default=no) - --with-ldapsam Include experimental LDAP SAM support (default=no) - --with-nisplussam Include NISPLUS SAM support (default=no) - --with-nisplus-home Include NISPLUS_HOME support (default=no) - --with-ssl Include SSL support (default=no) - --with-sslinc=DIR Where the SSL includes are (defaults to /usr/local/ssl/include) - --with-ssllib=DIR Where the SSL libraries are (defaults to /usr/local/ssl/lib) - --with-syslog Include experimental SYSLOG support (default=no) - --with-profiling-data Include gathering source code profile information (default=no) - --with-quotas Include experimental disk-quota support (default=no) - --with-utmp Include experimental utmp accounting (default=no) - --with-msdfs Include MS Dfs support (default=no) - --with-libsmbclient Build the libsmbclient shared library (default=no) - --with-spinlocks Use spin locks instead of fcntl locks (default=no) - --with-acl-support Include ACL support (default=no) - --with-winbind Build winbind (default, if supported by OS) - --with-included-popt use bundled popt library, not from system - -Some influential environment variables: - CC C compiler command - CFLAGS C compiler flags - LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a - nonstandard directory <lib dir> - CPPFLAGS C/C++ preprocessor flags, e.g. -I<include dir> if you have - headers in a nonstandard directory <include dir> - CPP C preprocessor - -Use these variables to override the choices made by `configure' or to help -it to find libraries and programs with nonstandard names/locations. - -EOF -fi - -if test "$ac_init_help" = "recursive"; then - # If there are subdirs, report their specific --help. - ac_popdir=`pwd` - for ac_subdir in : $ac_subdirs_all; do test "x$ac_subdir" = x: && continue - cd $ac_subdir - # A "../" for each directory in /$ac_subdir. - ac_dots=`echo $ac_subdir | - sed 's,^\./,,;s,[^/]$,&/,;s,[^/]*/,../,g'` - - case $srcdir in - .) # No --srcdir option. We are building in place. - ac_sub_srcdir=$srcdir ;; - [\\/]* | ?:[\\/]* ) # Absolute path. - ac_sub_srcdir=$srcdir/$ac_subdir ;; - *) # Relative path. - ac_sub_srcdir=$ac_dots$srcdir/$ac_subdir ;; - esac - - # Check for guested configure; otherwise get Cygnus style configure. - if test -f $ac_sub_srcdir/configure.gnu; then - echo - $SHELL $ac_sub_srcdir/configure.gnu --help=recursive - elif test -f $ac_sub_srcdir/configure; then - echo - $SHELL $ac_sub_srcdir/configure --help=recursive - elif test -f $ac_sub_srcdir/configure.ac || - test -f $ac_sub_srcdir/configure.in; then - echo - $ac_configure --help - else - echo "$as_me: WARNING: no configuration information is in $ac_subdir" >&2 - fi - cd $ac_popdir - done -fi - -test -n "$ac_init_help" && exit 0 -if $ac_init_version; then - cat <<\EOF - -Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001 -Free Software Foundation, Inc. -This configure script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it. -EOF - exit 0 -fi -exec 5>config.log -cat >&5 <<EOF -This file contains any messages produced by compilers while -running configure, to aid debugging if configure makes a mistake. - -It was created by $as_me, which was -generated by GNU Autoconf 2.52. Invocation command line was - - $ $0 $@ - -EOF -{ -cat <<_ASUNAME -## ---------- ## -## Platform. ## -## ---------- ## - -hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` -uname -m = `(uname -m) 2>/dev/null || echo unknown` -uname -r = `(uname -r) 2>/dev/null || echo unknown` -uname -s = `(uname -s) 2>/dev/null || echo unknown` -uname -v = `(uname -v) 2>/dev/null || echo unknown` - -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` - -/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` -hostinfo = `(hostinfo) 2>/dev/null || echo unknown` -/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` -/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` - -PATH = $PATH - -_ASUNAME -} >&5 - -cat >&5 <<EOF -## ------------ ## -## Core tests. ## -## ------------ ## - -EOF - -# Keep a trace of the command line. -# Strip out --no-create and --no-recursion so they do not pile up. -# Also quote any args containing shell meta-characters. -ac_configure_args= -ac_sep= -for ac_arg -do - case $ac_arg in - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c) ;; - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;; - *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) - ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` - ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'" - ac_sep=" " ;; - *) ac_configure_args="$ac_configure_args$ac_sep$ac_arg" - ac_sep=" " ;; - esac - # Get rid of the leading space. -done - -# When interrupted or exit'd, cleanup temporary files, and complete -# config.log. We remove comments because anyway the quotes in there -# would cause problems or look ugly. -trap 'exit_status=$? - # Save into config.log some information that might help in debugging. - echo >&5 - echo "## ----------------- ##" >&5 - echo "## Cache variables. ##" >&5 - echo "## ----------------- ##" >&5 - echo >&5 - # The following way of writing the cache mishandles newlines in values, -{ - (set) 2>&1 | - case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in - *ac_space=\ *) - sed -n \ - "s/'"'"'/'"'"'\\\\'"'"''"'"'/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p" - ;; - *) - sed -n \ - "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" - ;; - esac; -} >&5 - sed "/^$/d" confdefs.h >conftest.log - if test -s conftest.log; then - echo >&5 - echo "## ------------ ##" >&5 - echo "## confdefs.h. ##" >&5 - echo "## ------------ ##" >&5 - echo >&5 - cat conftest.log >&5 - fi - (echo; echo) >&5 - test "$ac_signal" != 0 && - echo "$as_me: caught signal $ac_signal" >&5 - echo "$as_me: exit $exit_status" >&5 - rm -rf conftest* confdefs* core core.* *.core conf$$* $ac_clean_files && - exit $exit_status - ' 0 -for ac_signal in 1 2 13 15; do - trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal -done -ac_signal=0 - -# confdefs.h avoids OS command line length limits that DEFS can exceed. -rm -rf conftest* confdefs.h -# AIX cpp loses on an empty file, so make sure it contains at least a newline. -echo >confdefs.h +srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'` -# Let the site file select an alternate cache file if it wants to. # Prefer explicitly selected file to automatically selected ones. if test -z "$CONFIG_SITE"; then if test "x$prefix" != xNONE; then @@ -902,115 +561,49 @@ if test -z "$CONFIG_SITE"; then fi for ac_site_file in $CONFIG_SITE; do if test -r "$ac_site_file"; then - { echo "$as_me:905: loading site script $ac_site_file" >&5 -echo "$as_me: loading site script $ac_site_file" >&6;} - cat "$ac_site_file" >&5 + echo "loading site script $ac_site_file" . "$ac_site_file" fi done if test -r "$cache_file"; then - # Some versions of bash will fail to source /dev/null (special - # files actually), so we avoid doing that. - if test -f "$cache_file"; then - { echo "$as_me:916: loading cache $cache_file" >&5 -echo "$as_me: loading cache $cache_file" >&6;} - case $cache_file in - [\\/]* | ?:[\\/]* ) . $cache_file;; - *) . ./$cache_file;; - esac - fi + echo "loading cache $cache_file" + . $cache_file else - { echo "$as_me:924: creating cache $cache_file" >&5 -echo "$as_me: creating cache $cache_file" >&6;} - >$cache_file -fi - -# Check that the precious variables saved in the cache have kept the same -# value. -ac_cache_corrupted=false -for ac_var in `(set) 2>&1 | - sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do - eval ac_old_set=\$ac_cv_env_${ac_var}_set - eval ac_new_set=\$ac_env_${ac_var}_set - eval ac_old_val="\$ac_cv_env_${ac_var}_value" - eval ac_new_val="\$ac_env_${ac_var}_value" - case $ac_old_set,$ac_new_set in - set,) - { echo "$as_me:940: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 -echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,set) - { echo "$as_me:944: error: \`$ac_var' was not set in the previous run" >&5 -echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,);; - *) - if test "x$ac_old_val" != "x$ac_new_val"; then - { echo "$as_me:950: error: \`$ac_var' has changed since the previous run:" >&5 -echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} - { echo "$as_me:952: former value: $ac_old_val" >&5 -echo "$as_me: former value: $ac_old_val" >&2;} - { echo "$as_me:954: current value: $ac_new_val" >&5 -echo "$as_me: current value: $ac_new_val" >&2;} - ac_cache_corrupted=: - fi;; - esac - # Pass precious variables to config.status. It doesn't matter if - # we pass some twice (in addition to the command line arguments). - if test "$ac_new_set" = set; then - case $ac_new_val in - *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) - ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` - ac_configure_args="$ac_configure_args '$ac_arg'" - ;; - *) ac_configure_args="$ac_configure_args $ac_var=$ac_new_val" - ;; - esac - fi -done -if $ac_cache_corrupted; then - { echo "$as_me:973: error: changes in the environment can compromise the build" >&5 -echo "$as_me: error: changes in the environment can compromise the build" >&2;} - { { echo "$as_me:975: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 -echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} - { (exit 1); exit 1; }; } + echo "creating cache $cache_file" + > $cache_file fi ac_ext=c +# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in - *c*,-n*) ECHO_N= ECHO_C=' -' ECHO_T=' ' ;; - *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; - *) ECHO_N= ECHO_C='\c' ECHO_T= ;; -esac -echo "#! $SHELL" >conftest.sh -echo "exit 0" >>conftest.sh -chmod +x conftest.sh -if { (echo "$as_me:995: PATH=\".;.\"; conftest.sh") >&5 - (PATH=".;."; conftest.sh) 2>&5 - ac_status=$? - echo "$as_me:998: \$? = $ac_status" >&5 - (exit $ac_status); }; then - ac_path_separator=';' +ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' +ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' +cross_compiling=$ac_cv_prog_cc_cross + +ac_exeext= +ac_objext=o +if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then + # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu. + if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then + ac_n= ac_c=' +' ac_t=' ' + else + ac_n=-n ac_c= ac_t= + fi else - ac_path_separator=: + ac_n= ac_c='\c' ac_t= fi -PATH_SEPARATOR="$ac_path_separator" -rm -f conftest.sh -ac_config_headers="$ac_config_headers include/config.h" + + ################################################# # Directory handling stuff to support both the # legacy SAMBA directories and FHS compliant # ones... + # Check whether --with-fhs or --without-fhs was given. if test "${with_fhs+set}" = set; then withval="$with_fhs" @@ -1029,11 +622,11 @@ else piddir="\$(VARDIR)/locks" privatedir="\${prefix}/private" swatdir="\${prefix}/swat" -fi; +fi + ################################################# # set private directory location - # Check whether --with-privatedir or --without-privatedir was given. if test "${with_privatedir+set}" = set; then withval="$with_privatedir" @@ -1042,18 +635,17 @@ if test "${with_privatedir+set}" = set; then # # Just in case anybody calls it without argument # - { echo "$as_me:1045: WARNING: --with-privatedir called without argument - will use default" >&5 -echo "$as_me: WARNING: --with-privatedir called without argument - will use default" >&2;} + echo "configure: warning: --with-privatedir called without argument - will use default" 1>&2 ;; * ) privatedir="$withval" ;; esac -fi; +fi + ################################################# # set lock directory location - # Check whether --with-lockdir or --without-lockdir was given. if test "${with_lockdir+set}" = set; then withval="$with_lockdir" @@ -1062,18 +654,17 @@ if test "${with_lockdir+set}" = set; then # # Just in case anybody calls it without argument # - { echo "$as_me:1065: WARNING: --with-lockdir called without argument - will use default" >&5 -echo "$as_me: WARNING: --with-lockdir called without argument - will use default" >&2;} + echo "configure: warning: --with-lockdir called without argument - will use default" 1>&2 ;; * ) lockdir="$withval" ;; esac -fi; +fi + ################################################# # set pid directory location - # Check whether --with-piddir or --without-piddir was given. if test "${with_piddir+set}" = set; then withval="$with_piddir" @@ -1082,18 +673,17 @@ if test "${with_piddir+set}" = set; then # # Just in case anybody calls it without argument # - { echo "$as_me:1085: WARNING: --with-piddir called without argument - will use default" >&5 -echo "$as_me: WARNING: --with-piddir called without argument - will use default" >&2;} + echo "configure: warning: --with-piddir called without argument - will use default" 1>&2 ;; * ) piddir="$withval" ;; esac -fi; +fi + ################################################# # set SWAT directory location - # Check whether --with-swatdir or --without-swatdir was given. if test "${with_swatdir+set}" = set; then withval="$with_swatdir" @@ -1102,18 +692,17 @@ if test "${with_swatdir+set}" = set; then # # Just in case anybody does it # - { echo "$as_me:1105: WARNING: --with-swatdir called without argument - will use default" >&5 -echo "$as_me: WARNING: --with-swatdir called without argument - will use default" >&2;} + echo "configure: warning: --with-swatdir called without argument - will use default" 1>&2 ;; * ) swatdir="$withval" ;; esac -fi; +fi + ################################################# # set configuration directory location - # Check whether --with-configdir or --without-configdir was given. if test "${with_configdir+set}" = set; then withval="$with_configdir" @@ -1122,18 +711,17 @@ if test "${with_configdir+set}" = set; then # # Just in case anybody does it # - { echo "$as_me:1125: WARNING: --with-configdir called without argument - will use default" >&5 -echo "$as_me: WARNING: --with-configdir called without argument - will use default" >&2;} + echo "configure: warning: --with-configdir called without argument - will use default" 1>&2 ;; * ) configdir="$withval" ;; esac -fi; +fi + ################################################# # set codepage directory location - # Check whether --with-codepagedir or --without-codepagedir was given. if test "${with_codepagedir+set}" = set; then withval="$with_codepagedir" @@ -1142,18 +730,17 @@ if test "${with_codepagedir+set}" = set; then # # Just in case anybody does it # - { echo "$as_me:1145: WARNING: --with-codepagedir called without argument - will use default" >&5 -echo "$as_me: WARNING: --with-codepagedir called without argument - will use default" >&2;} + echo "configure: warning: --with-codepagedir called without argument - will use default" 1>&2 ;; * ) codepagedir="$withval" ;; esac -fi; +fi + ################################################# # set log directory location - # Check whether --with-logfilebase or --without-logfilebase was given. if test "${with_logfilebase+set}" = set; then withval="$with_logfilebase" @@ -1162,14 +749,43 @@ if test "${with_logfilebase+set}" = set; then # # Just in case anybody does it # - { echo "$as_me:1165: WARNING: --with-logfilebase called without argument - will use default" >&5 -echo "$as_me: WARNING: --with-logfilebase called without argument - will use default" >&2;} + echo "configure: warning: --with-logfilebase called without argument - will use default" 1>&2 ;; * ) logfilebase="$withval" ;; esac -fi; +fi + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + # compile with optimization and without debugging by default CFLAGS="-O ${CFLAGS}" @@ -1180,580 +796,219 @@ if test "${enable_debug+set}" = set; then if eval "test x$enable_debug = xyes"; then CFLAGS="${CFLAGS} -g" fi -fi; - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. -set dummy ${ac_tool_prefix}gcc; ac_word=$2 -echo "$as_me:1193: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_CC="${ac_tool_prefix}gcc" -echo "$as_me:1208: found $ac_dir/$ac_word" >&5 -break -done - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - echo "$as_me:1216: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6 -else - echo "$as_me:1219: result: no" >&5 -echo "${ECHO_T}no" >&6 fi -fi -if test -z "$ac_cv_prog_CC"; then - ac_ct_CC=$CC - # Extract the first word of "gcc", so it can be a program name with args. -set dummy gcc; ac_word=$2 -echo "$as_me:1228: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_ac_ct_CC="gcc" -echo "$as_me:1243: found $ac_dir/$ac_word" >&5 -break -done -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - echo "$as_me:1251: result: $ac_ct_CC" >&5 -echo "${ECHO_T}$ac_ct_CC" >&6 -else - echo "$as_me:1254: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - CC=$ac_ct_CC -else - CC="$ac_cv_prog_CC" -fi -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. -set dummy ${ac_tool_prefix}cc; ac_word=$2 -echo "$as_me:1267: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +# 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:808: 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 if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_CC="${ac_tool_prefix}cc" -echo "$as_me:1282: found $ac_dir/$ac_word" >&5 -break -done - + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_prog_CC="gcc" + break + fi + done + IFS="$ac_save_ifs" fi fi -CC=$ac_cv_prog_CC +CC="$ac_cv_prog_CC" if test -n "$CC"; then - echo "$as_me:1290: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6 -else - echo "$as_me:1293: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -fi -if test -z "$ac_cv_prog_CC"; then - ac_ct_CC=$CC - # Extract the first word of "cc", so it can be a program name with args. -set dummy cc; ac_word=$2 -echo "$as_me:1302: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_ac_ct_CC="cc" -echo "$as_me:1317: found $ac_dir/$ac_word" >&5 -break -done - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - echo "$as_me:1325: result: $ac_ct_CC" >&5 -echo "${ECHO_T}$ac_ct_CC" >&6 + echo "$ac_t""$CC" 1>&6 else - echo "$as_me:1328: result: no" >&5 -echo "${ECHO_T}no" >&6 + echo "$ac_t""no" 1>&6 fi - CC=$ac_ct_CC -else - CC="$ac_cv_prog_CC" -fi - -fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 -echo "$as_me:1341: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:838: 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 if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" ac_prog_rejected=no - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then - ac_prog_rejected=yes - continue -fi -ac_cv_prog_CC="cc" -echo "$as_me:1361: found $ac_dir/$ac_word" >&5 -break -done - + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" + break + fi + done + IFS="$ac_save_ifs" if test $ac_prog_rejected = yes; then # We found a bogon in the path, so make sure we never use it. set dummy $ac_cv_prog_CC shift - if test $# != 0; then + if test $# -gt 0; then # We chose a different compiler from the bogus one. # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift - set dummy "$ac_dir/$ac_word" ${1+"$@"} + set dummy "$ac_dir/$ac_word" "$@" shift ac_cv_prog_CC="$@" fi fi fi fi -CC=$ac_cv_prog_CC +CC="$ac_cv_prog_CC" if test -n "$CC"; then - echo "$as_me:1383: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6 + echo "$ac_t""$CC" 1>&6 else - echo "$as_me:1386: result: no" >&5 -echo "${ECHO_T}no" >&6 + echo "$ac_t""no" 1>&6 fi -fi -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - for ac_prog in cl - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -echo "$as_me:1397: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + if test -z "$CC"; then + case "`uname -s`" in + *win32* | *WIN32*) + # Extract the first word of "cl", so it can be a program name with args. +set dummy cl; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:889: 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 if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_CC="$ac_tool_prefix$ac_prog" -echo "$as_me:1412: found $ac_dir/$ac_word" >&5 -break -done - + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_prog_CC="cl" + break + fi + done + IFS="$ac_save_ifs" fi fi -CC=$ac_cv_prog_CC +CC="$ac_cv_prog_CC" if test -n "$CC"; then - echo "$as_me:1420: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6 + echo "$ac_t""$CC" 1>&6 else - echo "$as_me:1423: result: no" >&5 -echo "${ECHO_T}no" >&6 + echo "$ac_t""no" 1>&6 fi - - test -n "$CC" && break - done + ;; + esac + fi + test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; } fi -if test -z "$CC"; then - ac_ct_CC=$CC - for ac_prog in cl -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -echo "$as_me:1436: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_ac_ct_CC="$ac_prog" -echo "$as_me:1451: found $ac_dir/$ac_word" >&5 -break -done -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - echo "$as_me:1459: result: $ac_ct_CC" >&5 -echo "${ECHO_T}$ac_ct_CC" >&6 -else - echo "$as_me:1462: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi +echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 +echo "configure:921: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 - test -n "$ac_ct_CC" && break -done +ac_ext=c +# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. +ac_cpp='$CPP $CPPFLAGS' +ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' +ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' +cross_compiling=$ac_cv_prog_cc_cross - CC=$ac_ct_CC -fi - -fi - -test -z "$CC" && { { echo "$as_me:1474: error: no acceptable cc found in \$PATH" >&5 -echo "$as_me: error: no acceptable cc found in \$PATH" >&2;} - { (exit 1); exit 1; }; } - -# Provide some information about the compiler. -echo "$as_me:1479:" \ - "checking for C compiler version" >&5 -ac_compiler=`set X $ac_compile; echo $2` -{ (eval echo "$as_me:1482: \"$ac_compiler --version </dev/null >&5\"") >&5 - (eval $ac_compiler --version </dev/null >&5) 2>&5 - ac_status=$? - echo "$as_me:1485: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (eval echo "$as_me:1487: \"$ac_compiler -v </dev/null >&5\"") >&5 - (eval $ac_compiler -v </dev/null >&5) 2>&5 - ac_status=$? - echo "$as_me:1490: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (eval echo "$as_me:1492: \"$ac_compiler -V </dev/null >&5\"") >&5 - (eval $ac_compiler -V </dev/null >&5) 2>&5 - ac_status=$? - echo "$as_me:1495: \$? = $ac_status" >&5 - (exit $ac_status); } - -cat >conftest.$ac_ext <<_ACEOF -#line 1499 "configure" -#include "confdefs.h" +cat > conftest.$ac_ext << EOF -int -main () -{ +#line 932 "configure" +#include "confdefs.h" - ; - return 0; -} -_ACEOF -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files a.out a.exe" -# Try to create an executable without -o first, disregard a.out. -# It will help us diagnose broken compilers, and finding out an intuition -# of exeext. -echo "$as_me:1515: checking for C compiler default output" >&5 -echo $ECHO_N "checking for C compiler default output... $ECHO_C" >&6 -ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` -if { (eval echo "$as_me:1518: \"$ac_link_default\"") >&5 - (eval $ac_link_default) 2>&5 - ac_status=$? - echo "$as_me:1521: \$? = $ac_status" >&5 - (exit $ac_status); }; then - # Find the output, starting from the most likely. This scheme is -# not robust to junk in `.', hence go to wildcards (a.*) only as a last -# resort. -for ac_file in `ls a.exe conftest.exe 2>/dev/null; - ls a.out conftest 2>/dev/null; - ls a.* conftest.* 2>/dev/null`; do - case $ac_file in - *.$ac_ext | *.o | *.obj | *.xcoff | *.tds | *.d | *.pdb ) ;; - a.out ) # We found the default executable, but exeext='' is most - # certainly right. - break;; - *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - # FIXME: I believe we export ac_cv_exeext for Libtool --akim. - export ac_cv_exeext - break;; - * ) break;; - esac -done -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -{ { echo "$as_me:1544: error: C compiler cannot create executables" >&5 -echo "$as_me: error: C compiler cannot create executables" >&2;} - { (exit 77); exit 77; }; } -fi - -ac_exeext=$ac_cv_exeext -echo "$as_me:1550: result: $ac_file" >&5 -echo "${ECHO_T}$ac_file" >&6 - -# Check the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -echo "$as_me:1555: checking whether the C compiler works" >&5 -echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6 -# FIXME: These cross compiler hacks should be removed for Autoconf 3.0 -# If not cross compiling, check that we can run a simple program. -if test "$cross_compiling" != yes; then - if { ac_try='./$ac_file' - { (eval echo "$as_me:1561: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:1564: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cross_compiling=no +main(){return(0);} +EOF +if { (eval echo configure:937: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + ac_cv_prog_cc_works=yes + # If we can't run a trivial program, we are probably using a cross compiler. + if (./conftest; exit) 2>/dev/null; then + ac_cv_prog_cc_cross=no else - if test "$cross_compiling" = maybe; then - cross_compiling=yes - else - { { echo "$as_me:1571: error: cannot run C compiled programs. -If you meant to cross compile, use \`--host'." >&5 -echo "$as_me: error: cannot run C compiled programs. -If you meant to cross compile, use \`--host'." >&2;} - { (exit 1); exit 1; }; } - fi + ac_cv_prog_cc_cross=yes fi -fi -echo "$as_me:1579: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - -rm -f a.out a.exe conftest$ac_cv_exeext -ac_clean_files=$ac_clean_files_save -# Check the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -echo "$as_me:1586: checking whether we are cross compiling" >&5 -echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6 -echo "$as_me:1588: result: $cross_compiling" >&5 -echo "${ECHO_T}$cross_compiling" >&6 - -echo "$as_me:1591: checking for executable suffix" >&5 -echo $ECHO_N "checking for executable suffix... $ECHO_C" >&6 -if { (eval echo "$as_me:1593: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:1596: \$? = $ac_status" >&5 - (exit $ac_status); }; then - # If both `conftest.exe' and `conftest' are `present' (well, observable) -# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will -# work properly (i.e., refer to `conftest.exe'), while it won't with -# `rm'. -for ac_file in `(ls conftest.exe; ls conftest; ls conftest.*) 2>/dev/null`; do - case $ac_file in - *.$ac_ext | *.o | *.obj | *.xcoff | *.tds | *.d | *.pdb ) ;; - *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - export ac_cv_exeext - break;; - * ) break;; - esac -done else - { { echo "$as_me:1612: error: cannot compute EXEEXT: cannot compile and link" >&5 -echo "$as_me: error: cannot compute EXEEXT: cannot compile and link" >&2;} - { (exit 1); exit 1; }; } + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + ac_cv_prog_cc_works=no fi +rm -fr conftest* +ac_ext=c +# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. +ac_cpp='$CPP $CPPFLAGS' +ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' +ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' +cross_compiling=$ac_cv_prog_cc_cross -rm -f conftest$ac_cv_exeext -echo "$as_me:1618: result: $ac_cv_exeext" >&5 -echo "${ECHO_T}$ac_cv_exeext" >&6 +echo "$ac_t""$ac_cv_prog_cc_works" 1>&6 +if test $ac_cv_prog_cc_works = no; then + { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; } +fi +echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6 +echo "configure:963: 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 -rm -f conftest.$ac_ext -EXEEXT=$ac_cv_exeext -ac_exeext=$EXEEXT -echo "$as_me:1624: checking for object suffix" >&5 -echo $ECHO_N "checking for object suffix... $ECHO_C" >&6 -if test "${ac_cv_objext+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6 +echo "configure:968: 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 - cat >conftest.$ac_ext <<_ACEOF -#line 1630 "configure" -#include "confdefs.h" - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.o conftest.obj -if { (eval echo "$as_me:1642: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:1645: \$? = $ac_status" >&5 - (exit $ac_status); }; then - for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb ) ;; - *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` - break;; - esac -done + cat > conftest.c <<EOF +#ifdef __GNUC__ + yes; +#endif +EOF +if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:977: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then + ac_cv_prog_gcc=yes else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -{ { echo "$as_me:1657: error: cannot compute OBJEXT: cannot compile" >&5 -echo "$as_me: error: cannot compute OBJEXT: cannot compile" >&2;} - { (exit 1); exit 1; }; } + ac_cv_prog_gcc=no fi - -rm -f conftest.$ac_cv_objext conftest.$ac_ext fi -echo "$as_me:1664: result: $ac_cv_objext" >&5 -echo "${ECHO_T}$ac_cv_objext" >&6 -OBJEXT=$ac_cv_objext -ac_objext=$OBJEXT -echo "$as_me:1668: checking whether we are using the GNU C compiler" >&5 -echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6 -if test "${ac_cv_c_compiler_gnu+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 1674 "configure" -#include "confdefs.h" -int -main () -{ -#ifndef __GNUC__ - choke me -#endif +echo "$ac_t""$ac_cv_prog_gcc" 1>&6 - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:1689: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:1692: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:1695: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:1698: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_compiler_gnu=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_compiler_gnu=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -ac_cv_c_compiler_gnu=$ac_compiler_gnu - -fi -echo "$as_me:1710: result: $ac_cv_c_compiler_gnu" >&5 -echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6 -GCC=`test $ac_compiler_gnu = yes && echo yes` -ac_test_CFLAGS=${CFLAGS+set} -ac_save_CFLAGS=$CFLAGS -CFLAGS="-g" -echo "$as_me:1716: checking whether $CC accepts -g" >&5 -echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6 -if test "${ac_cv_prog_cc_g+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 1722 "configure" -#include "confdefs.h" - -int -main () -{ +if test $ac_cv_prog_gcc = yes; then + GCC=yes +else + GCC= +fi - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:1734: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:1737: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:1740: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:1743: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +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:996: checking whether ${CC-cc} accepts -g" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + echo 'void f(){}' > conftest.c +if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then ac_cv_prog_cc_g=yes else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_prog_cc_g=no + ac_cv_prog_cc_g=no fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest* + fi -echo "$as_me:1753: result: $ac_cv_prog_cc_g" >&5 -echo "${ECHO_T}$ac_cv_prog_cc_g" >&6 + +echo "$ac_t""$ac_cv_prog_cc_g" 1>&6 if test "$ac_test_CFLAGS" = set; then - CFLAGS=$ac_save_CFLAGS + CFLAGS="$ac_save_CFLAGS" elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" @@ -1767,116 +1022,6 @@ else CFLAGS= fi fi -# Some people use a C++ compiler to compile C. Since we use `exit', -# in C++ we need to declare it. In case someone uses the same compiler -# for both compiling C and C++ we need to have the C++ compiler decide -# the declaration of exit, since it's the most demanding environment. -cat >conftest.$ac_ext <<_ACEOF -#ifndef __cplusplus - choke me -#endif -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:1780: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:1783: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:1786: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:1789: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - for ac_declaration in \ - ''\ - '#include <stdlib.h>' \ - 'extern "C" void std::exit (int) throw (); using std::exit;' \ - 'extern "C" void std::exit (int); using std::exit;' \ - 'extern "C" void exit (int) throw ();' \ - 'extern "C" void exit (int);' \ - 'void exit (int);' -do - cat >conftest.$ac_ext <<_ACEOF -#line 1801 "configure" -#include "confdefs.h" -#include <stdlib.h> -$ac_declaration -int -main () -{ -exit (42); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:1814: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:1817: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:1820: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:1823: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - : -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -continue -fi -rm -f conftest.$ac_objext conftest.$ac_ext - cat >conftest.$ac_ext <<_ACEOF -#line 1833 "configure" -#include "confdefs.h" -$ac_declaration -int -main () -{ -exit (42); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:1845: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:1848: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:1851: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:1854: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - break -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -fi -rm -f conftest.$ac_objext conftest.$ac_ext -done -rm -f conftest* -if test -n "$ac_declaration"; then - echo '#ifdef __cplusplus' >>confdefs.h - echo $ac_declaration >>confdefs.h - echo '#endif' >>confdefs.h -fi - -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -fi -rm -f conftest.$ac_objext conftest.$ac_ext -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_aux_dir= for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do @@ -1888,20 +1033,14 @@ for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install.sh -c" break - elif test -f $ac_dir/shtool; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/shtool install -c" - break fi done if test -z "$ac_aux_dir"; then - { { echo "$as_me:1898: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5 -echo "$as_me: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&2;} - { (exit 1); exit 1; }; } + { echo "configure: error: can not find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." 1>&2; exit 1; } fi -ac_config_guess="$SHELL $ac_aux_dir/config.guess" -ac_config_sub="$SHELL $ac_aux_dir/config.sub" -ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure. +ac_config_guess=$ac_aux_dir/config.guess +ac_config_sub=$ac_aux_dir/config.sub +ac_configure=$ac_aux_dir/configure # This should be Cygnus configure. # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or @@ -1910,39 +1049,31 @@ ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure. # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install -# AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # ./install, which can be erroneously created by make from ./install.sh. -echo "$as_me:1918: checking for a BSD compatible install" >&5 -echo $ECHO_N "checking for a BSD compatible install... $ECHO_C" >&6 +echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6 +echo "configure:1058: checking for a BSD compatible install" >&5 if test -z "$INSTALL"; then -if test "${ac_cv_path_install+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else - ac_save_IFS=$IFS; IFS=$ac_path_separator + IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":" for ac_dir in $PATH; do - IFS=$ac_save_IFS # Account for people who put trailing slashes in PATH elements. - case $ac_dir/ in - / | ./ | .// | /cC/* \ - | /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* \ - | /usr/ucb/* ) ;; + case "$ac_dir/" in + /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # by default. for ac_prog in ginstall scoinst install; do - if $as_executable_p "$ac_dir/$ac_prog"; then + if test -f $ac_dir/$ac_prog; then if test $ac_prog = install && - grep dspmsg "$ac_dir/$ac_prog" >/dev/null 2>&1; then + grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : - elif test $ac_prog = install && - grep pwplus "$ac_dir/$ac_prog" >/dev/null 2>&1; then - # program-specific install script used by HP pwplus--don't use. - : else ac_cv_path_install="$ac_dir/$ac_prog -c" break 2 @@ -1952,125 +1083,144 @@ else ;; esac done + IFS="$ac_save_IFS" fi if test "${ac_cv_path_install+set}" = set; then - INSTALL=$ac_cv_path_install + INSTALL="$ac_cv_path_install" else # As a last resort, use the slow shell script. We don't cache a # path for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the path is relative. - INSTALL=$ac_install_sh + INSTALL="$ac_install_sh" fi fi -echo "$as_me:1967: result: $INSTALL" >&5 -echo "${ECHO_T}$INSTALL" >&6 +echo "$ac_t""$INSTALL" 1>&6 # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' -test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' -for ac_prog in mawk gawk nawk awk +for ac_prog in gawk mawk nawk awk do - # Extract the first word of "$ac_prog", so it can be a program name with args. +# Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -echo "$as_me:1982: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_AWK+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:1115: 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 if test -n "$AWK"; then ac_cv_prog_AWK="$AWK" # Let the user override the test. else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_AWK="$ac_prog" -echo "$as_me:1997: found $ac_dir/$ac_word" >&5 -break -done - + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_prog_AWK="$ac_prog" + break + fi + done + IFS="$ac_save_ifs" fi fi -AWK=$ac_cv_prog_AWK +AWK="$ac_cv_prog_AWK" if test -n "$AWK"; then - echo "$as_me:2005: result: $AWK" >&5 -echo "${ECHO_T}$AWK" >&6 + echo "$ac_t""$AWK" 1>&6 else - echo "$as_me:2008: result: no" >&5 -echo "${ECHO_T}no" >&6 + echo "$ac_t""no" 1>&6 fi - test -n "$AWK" && break +test -n "$AWK" && break done -if test "x$CC" != xcc; then - echo "$as_me:2016: checking whether $CC and cc understand -c and -o together" >&5 -echo $ECHO_N "checking whether $CC and cc understand -c and -o together... $ECHO_C" >&6 +LD=ld +echo $ac_n "checking if the linker ($LD) is GNU ld""... $ac_c" 1>&6 +echo "configure:1146: checking if the linker ($LD) is GNU ld" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_gnu_ld'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + # I'd rather use --version here, but apparently some GNU ld's only accept -v. +if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then + ac_cv_prog_gnu_ld=yes else - echo "$as_me:2019: checking whether cc understands -c and -o together" >&5 -echo $ECHO_N "checking whether cc understands -c and -o together... $ECHO_C" >&6 + ac_cv_prog_gnu_ld=no fi -set dummy $CC; ac_cc=`echo $2 | - sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'` -if eval "test \"\${ac_cv_prog_cc_${ac_cc}_c_o+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +fi + +echo "$ac_t""$ac_cv_prog_gnu_ld" 1>&6 + +# Extract the first word of "passwd", so it can be a program name with args. +set dummy passwd; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:1163: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_path_passwd_program'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else - cat >conftest.$ac_ext <<_ACEOF -#line 2028 "configure" -#include "confdefs.h" + case "$passwd_program" in + /*) + ac_cv_path_passwd_program="$passwd_program" # Let the user override the test with a path. + ;; + ?:/*) + ac_cv_path_passwd_program="$passwd_program" # Let the user override the test with a dos path. + ;; + *) + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_path_passwd_program="$ac_dir/$ac_word" + break + fi + done + IFS="$ac_save_ifs" + test -z "$ac_cv_path_passwd_program" && ac_cv_path_passwd_program="/bin/passwd" + ;; +esac +fi +passwd_program="$ac_cv_path_passwd_program" +if test -n "$passwd_program"; then + echo "$ac_t""$passwd_program" 1>&6 +else + echo "$ac_t""no" 1>&6 +fi -int -main () -{ - ; - return 0; -} -_ACEOF + +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:1200: 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:1203: 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]/_/'`" +if eval "test \"`echo '$''{'ac_cv_prog_cc_${ac_cc}_c_o'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + echo 'foo(){}' > conftest.c # Make sure it works both with $CC and with simple cc. # 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 -c conftest.$ac_ext -o conftest.$ac_objext >&5' -if { (eval echo "$as_me:2043: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:2046: \$? = $ac_status" >&5 - (exit $ac_status); } && - test -f conftest.$ac_objext && { (eval echo "$as_me:2048: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:2051: \$? = $ac_status" >&5 - (exit $ac_status); }; +ac_try='${CC-cc} -c conftest.c -o conftest.o 1>&5' +if { (eval echo configure:1215: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } && + test -f conftest.o && { (eval echo configure:1216: \"$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.$ac_ext >&5' - { (eval echo "$as_me:2058: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:2061: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_try='cc -c conftest.$ac_ext -o conftest.$ac_objext >&5' - if { (eval echo "$as_me:2064: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:2067: \$? = $ac_status" >&5 - (exit $ac_status); } && - test -f conftest.$ac_objext && { (eval echo "$as_me:2069: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:2072: \$? = $ac_status" >&5 - (exit $ac_status); }; + if { ac_try='cc -c conftest.c 1>&5'; { (eval echo configure:1221: \"$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:1223: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } && + test -f conftest.o && { (eval echo configure:1224: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; then # cc works too. : @@ -2087,13 +1237,10 @@ rm -f conftest* fi if eval "test \"`echo '$ac_cv_prog_cc_'${ac_cc}_c_o`\" = yes"; then - echo "$as_me:2090: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + echo "$ac_t""yes" 1>&6 else - echo "$as_me:2093: result: no" >&5 -echo "${ECHO_T}no" >&6 - -cat >>confdefs.h <<\EOF + echo "$ac_t""no" 1>&6 + cat >> confdefs.h <<\EOF #define NO_MINUS_C_MINUS_O 1 EOF @@ -2105,133 +1252,133 @@ else BROKEN_CC=# fi -echo "$as_me:2108: checking that the C compiler understands volatile" >&5 -echo $ECHO_N "checking that the C compiler understands volatile... $ECHO_C" >&6 -if test "${samba_cv_volatile+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else -cat >conftest.$ac_ext <<_ACEOF -#line 2115 "configure" +echo $ac_n "checking that the C compiler understands volatile""... $ac_c" 1>&6 +echo "configure:1258: 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 1264 "configure" #include "confdefs.h" #include <sys/types.h> -int -main () -{ +int main() { volatile int i = 0 - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:2127: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:2130: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:2133: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:2136: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:1271: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* samba_cv_volatile=yes else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -samba_cv_volatile=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + samba_cv_volatile=no fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest* fi -echo "$as_me:2146: result: $samba_cv_volatile" >&5 -echo "${ECHO_T}$samba_cv_volatile" >&6 + +echo "$ac_t""$samba_cv_volatile" 1>&6 if test x"$samba_cv_volatile" = x"yes"; then - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define HAVE_VOLATILE 1 EOF fi -# Make sure we can run config.sub. -$ac_config_sub sun4 >/dev/null 2>&1 || - { { echo "$as_me:2157: error: cannot run $ac_config_sub" >&5 -echo "$as_me: error: cannot run $ac_config_sub" >&2;} - { (exit 1); exit 1; }; } - -echo "$as_me:2161: checking build system type" >&5 -echo $ECHO_N "checking build system type... $ECHO_C" >&6 -if test "${ac_cv_build+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_build_alias=$build_alias -test -z "$ac_cv_build_alias" && - ac_cv_build_alias=`$ac_config_guess` -test -z "$ac_cv_build_alias" && - { { echo "$as_me:2170: error: cannot guess build type; you must specify one" >&5 -echo "$as_me: error: cannot guess build type; you must specify one" >&2;} - { (exit 1); exit 1; }; } -ac_cv_build=`$ac_config_sub $ac_cv_build_alias` || - { { echo "$as_me:2174: error: $ac_config_sub $ac_cv_build_alias failed." >&5 -echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed." >&2;} - { (exit 1); exit 1; }; } - -fi -echo "$as_me:2179: result: $ac_cv_build" >&5 -echo "${ECHO_T}$ac_cv_build" >&6 -build=$ac_cv_build -build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` - -echo "$as_me:2186: checking host system type" >&5 -echo $ECHO_N "checking host system type... $ECHO_C" >&6 -if test "${ac_cv_host+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_host_alias=$host_alias -test -z "$ac_cv_host_alias" && - ac_cv_host_alias=$ac_cv_build_alias -ac_cv_host=`$ac_config_sub $ac_cv_host_alias` || - { { echo "$as_me:2195: error: $ac_config_sub $ac_cv_host_alias failed" >&5 -echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;} - { (exit 1); exit 1; }; } - -fi -echo "$as_me:2200: result: $ac_cv_host" >&5 -echo "${ECHO_T}$ac_cv_host" >&6 -host=$ac_cv_host -host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` - -echo "$as_me:2207: checking target system type" >&5 -echo $ECHO_N "checking target system type... $ECHO_C" >&6 -if test "${ac_cv_target+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_target_alias=$target_alias -test "x$ac_cv_target_alias" = "x" && - ac_cv_target_alias=$ac_cv_host_alias -ac_cv_target=`$ac_config_sub $ac_cv_target_alias` || - { { echo "$as_me:2216: error: $ac_config_sub $ac_cv_target_alias failed" >&5 -echo "$as_me: error: $ac_config_sub $ac_cv_target_alias failed" >&2;} - { (exit 1); exit 1; }; } - -fi -echo "$as_me:2221: result: $ac_cv_target" >&5 -echo "${ECHO_T}$ac_cv_target" >&6 -target=$ac_cv_target -target_cpu=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -target_vendor=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -target_os=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` + + + +# Do some error checking and defaulting for the host and target type. +# The inputs are: +# configure --host=HOST --target=TARGET --build=BUILD NONOPT +# +# The rules are: +# 1. You are not allowed to specify --host, --target, and nonopt at the +# same time. +# 2. Host defaults to nonopt. +# 3. If nonopt is not specified, then host defaults to the current host, +# as determined by config.guess. +# 4. Target and build default to nonopt. +# 5. If nonopt is not specified, then target and build default to host. # The aliases save the names the user supplied, while $host etc. # will get canonicalized. -test -n "$target_alias" && +case $host---$target---$nonopt in +NONE---*---* | *---NONE---* | *---*---NONE) ;; +*) { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } ;; +esac + + +# Make sure we can run config.sub. +if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then : +else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; } +fi + +echo $ac_n "checking host system type""... $ac_c" 1>&6 +echo "configure:1321: checking host system type" >&5 + +host_alias=$host +case "$host_alias" in +NONE) + case $nonopt in + NONE) + if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then : + else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; } + fi ;; + *) host_alias=$nonopt ;; + esac ;; +esac + +host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias` +host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` +host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` +host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` +echo "$ac_t""$host" 1>&6 + +echo $ac_n "checking target system type""... $ac_c" 1>&6 +echo "configure:1342: checking target system type" >&5 + +target_alias=$target +case "$target_alias" in +NONE) + case $nonopt in + NONE) target_alias=$host_alias ;; + *) target_alias=$nonopt ;; + esac ;; +esac + +target=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $target_alias` +target_cpu=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` +target_vendor=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` +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:1360: checking build system type" >&5 + +build_alias=$build +case "$build_alias" in +NONE) + case $nonopt in + NONE) build_alias=$host_alias ;; + *) build_alias=$nonopt ;; + esac ;; +esac + +build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias` +build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` +build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` +build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` +echo "$ac_t""$build" 1>&6 + +test "$host_alias" != "$target_alias" && test "$program_prefix$program_suffix$program_transform_name" = \ NONENONEs,x,x, && program_prefix=${target_alias}- + case "$host_os" in *irix6*) cat >> confdefs.h <<\EOF #include <standards.h> @@ -2240,27 +1387,26 @@ EOF ;; esac - echo "$as_me:2243: checking config.cache system type" >&5 -echo $ECHO_N "checking config.cache system type... $ECHO_C" >&6 + + + echo $ac_n "checking config.cache system type""... $ac_c" 1>&6 +echo "configure:1394: 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" && test x"$ac_cv_build_system_type" != x"$build"; } || { test x"${ac_cv_target_system_type+set}" = x"set" && test x"$ac_cv_target_system_type" != x"$target"; }; then - echo "$as_me:2251: result: different" >&5 -echo "${ECHO_T}different" >&6 - { { echo "$as_me:2253: error: \"you must remove config.cache and restart configure\"" >&5 -echo "$as_me: error: \"you must remove config.cache and restart configure\"" >&2;} - { (exit 1); exit 1; }; } + echo "$ac_t""different" 1>&6 + { echo "configure: error: "you must remove config.cache and restart configure"" 1>&2; exit 1; } else - echo "$as_me:2257: result: same" >&5 -echo "${ECHO_T}same" >&6 + echo "$ac_t""same" 1>&6 fi ac_cv_host_system_type="$host" ac_cv_build_system_type="$build" ac_cv_target_system_type="$target" + DYNEXP= # @@ -2270,10 +1416,10 @@ DYNEXP= case "$host_os" in # Try to work out if this is the native HPUX compiler that uses the -Ae flag. *hpux*) - echo "$as_me:2273: checking whether ${CC-cc} accepts -Ae" >&5 -echo $ECHO_N "checking whether ${CC-cc} accepts -Ae... $ECHO_C" >&6 -if test "${ac_cv_prog_cc_Ae+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + echo $ac_n "checking whether ${CC-cc} accepts -Ae""... $ac_c" 1>&6 +echo "configure:1421: 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 echo 'void f(){}' > conftest.c if test -z "`${CC-cc} -Ae -c conftest.c 2>&1`"; then @@ -2284,10 +1430,10 @@ fi rm -f conftest* fi -echo "$as_me:2287: result: $ac_cv_prog_cc_Ae" >&5 -echo "${ECHO_T}$ac_cv_prog_cc_Ae" >&6 + +echo "$ac_t""$ac_cv_prog_cc_Ae" 1>&6 # mmap on HPUX is completely broken... - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define MMAP_BLACKLIST 1 EOF @@ -2302,50 +1448,50 @@ EOF case `uname -r` in *9*|*10*) CPPFLAGS="$CPPFLAGS -D_HPUX_SOURCE -D_POSIX_SOURCE -D_ALIGNMENT_REQUIRED=1 -D_MAX_ALIGNMENT=4" - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define USE_BOTH_CRYPT_CALLS 1 EOF - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define _HPUX_SOURCE 1 EOF - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define _POSIX_SOURCE 1 EOF - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define _ALIGNMENT_REQUIRED 1 EOF - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define _MAX_ALIGNMENT 4 EOF ;; *11*) CPPFLAGS="$CPPFLAGS -D_HPUX_SOURCE -D_POSIX_SOURCE -D_LARGEFILE64_SOURCE -D_ALIGNMENT_REQUIRED=1 -D_MAX_ALIGNMENT=4" - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define _HPUX_SOURCE 1 EOF - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define _POSIX_SOURCE 1 EOF - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define _LARGEFILE64_SOURCE 1 EOF - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define _ALIGNMENT_REQUIRED 1 EOF - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define _MAX_ALIGNMENT 4 EOF - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define USE_BOTH_CRYPT_CALLS 1 EOF @@ -2354,11 +1500,11 @@ EOF DYNEXP="-Wl,-E" ;; + # # CRAY Unicos has broken const handling *unicos*) - echo "$as_me:2360: result: disabling const" >&5 -echo "${ECHO_T}disabling const" >&6 + echo "$ac_t""disabling const" 1>&6 CPPFLAGS="$CPPFLAGS -Dconst=" ;; @@ -2367,14 +1513,13 @@ echo "${ECHO_T}disabling const" >&6 # files *at all* unless the -D_LARGE_FILE or -D_LARGE_FILE_API flags are set. # *aix4*) - echo "$as_me:2370: result: enabling large file support" >&5 -echo "${ECHO_T}enabling large file support" >&6 + echo "$ac_t""enabling large file support" 1>&6 CPPFLAGS="$CPPFLAGS -D_LARGE_FILES" - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define _LARGE_FILES 1 EOF - ;; + ;; # # Defines needed for Solaris 2.6/2.7 aka 7.0 to make it admit # to the existance of large files.. @@ -2386,44 +1531,41 @@ EOF *solaris*) case `uname -r` in 5.0*|5.1*|5.2*|5.3*|5.5*) - echo "$as_me:2389: result: no large file support" >&5 -echo "${ECHO_T}no large file support" >&6 + echo "$ac_t""no large file support" 1>&6 ;; 5.*) - echo "$as_me:2393: result: enabling large file support" >&5 -echo "${ECHO_T}enabling large file support" >&6 - if test "$ac_cv_c_compiler_gnu" = yes; then + echo "$ac_t""enabling large file support" 1>&6 + if test "$ac_cv_prog_gcc" = yes; then ${CC-cc} -v >conftest.c 2>&1 ac_cv_gcc_compiler_version_number=`grep 'gcc version' conftest.c` rm -fr conftest.c case "$ac_cv_gcc_compiler_version_number" in *"gcc version 2.6"*|*"gcc version 2.7"*) CPPFLAGS="$CPPFLAGS -D_LARGEFILE64_SOURCE" - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define _LARGEFILE64_SOURCE 1 EOF ;; *) CPPFLAGS="$CPPFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define _LARGEFILE64_SOURCE 1 EOF - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define _FILE_OFFSET_BITS 64 EOF ;; esac else - DYNEXP="-dc -dp" CPPFLAGS="$CPPFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define _LARGEFILE64_SOURCE 1 EOF - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define _FILE_OFFSET_BITS 64 EOF @@ -2436,15 +1578,15 @@ EOF # *sysv4*) if test $host = mips-sni-sysv4 ; then - echo "$as_me:2439: checking for LFS support" >&5 -echo $ECHO_N "checking for LFS support... $ECHO_C" >&6 + echo $ac_n "checking for LFS support""... $ac_c" 1>&6 +echo "configure:1583: 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 <<_ACEOF -#line 2447 "configure" + cat > conftest.$ac_ext <<EOF +#line 1590 "configure" #include "confdefs.h" #include <unistd.h> @@ -2455,31 +1597,23 @@ exit(0); exit(1); #endif } -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:2460: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:2463: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:2465: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:2468: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +EOF +if { (eval echo configure:1602: \"$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 - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -SINIX_LFS_SUPPORT=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -fr conftest* + SINIX_LFS_SUPPORT=no fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -fr conftest* fi + CPPFLAGS="$old_CPPFLAGS" if test x$SINIX_LFS_SUPPORT = xyes ; then CPPFLAGS="-D_LARGEFILE64_SOURCE $CPPFLAGS" - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define _LARGEFILE64_SOURCE 1 EOF @@ -2487,23 +1621,22 @@ EOF LDFLAGS="`getconf LFS64_LDFLAGS` $LDFLAGS" LIBS="`getconf LFS64_LIBS` $LIBS" fi - echo "$as_me:2490: result: $SINIX_LFS_SUPPORT" >&5 -echo "${ECHO_T}$SINIX_LFS_SUPPORT" >&6 + echo "$ac_t""$SINIX_LFS_SUPPORT" 1>&6 fi ;; # Tests for linux LFS support. Need kernel 2.4 and glibc2.2 or greater support. # *linux*) - echo "$as_me:2498: checking for LFS support" >&5 -echo $ECHO_N "checking for LFS support... $ECHO_C" >&6 + echo $ac_n "checking for LFS support""... $ac_c" 1>&6 +echo "configure:1633: 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 <<_ACEOF -#line 2506 "configure" + cat > conftest.$ac_ext <<EOF +#line 1640 "configure" #include "confdefs.h" #include <unistd.h> @@ -2540,57 +1673,48 @@ main() { #endif } -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:2545: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:2548: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:2550: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:2553: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +EOF +if { (eval echo configure:1678: \"$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 - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -LINUX_LFS_SUPPORT=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -fr conftest* + LINUX_LFS_SUPPORT=no fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -fr conftest* fi + CPPFLAGS="$old_CPPFLAGS" if test x$LINUX_LFS_SUPPORT = xyes ; then CPPFLAGS="-D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE $CPPFLAGS" - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define _LARGEFILE64_SOURCE 1 EOF - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define _FILE_OFFSET_BITS 64 EOF - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define _GNU_SOURCE 1 EOF fi - echo "$as_me:2580: result: $LINUX_LFS_SUPPORT" >&5 -echo "${ECHO_T}$LINUX_LFS_SUPPORT" >&6 + echo "$ac_t""$LINUX_LFS_SUPPORT" 1>&6 ;; *hurd*) - echo "$as_me:2585: checking for LFS support" >&5 -echo $ECHO_N "checking for LFS support... $ECHO_C" >&6 + echo $ac_n "checking for LFS support""... $ac_c" 1>&6 +echo "configure:1711: 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 <<_ACEOF -#line 2593 "configure" + cat > conftest.$ac_ext <<EOF +#line 1718 "configure" #include "confdefs.h" #include <unistd.h> @@ -2601,439 +1725,196 @@ exit(0); exit(1); #endif } -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:2606: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:2609: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:2611: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:2614: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +EOF +if { (eval echo configure:1730: \"$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 - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -GLIBC_LFS_SUPPORT=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -fr conftest* + GLIBC_LFS_SUPPORT=no fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -fr conftest* fi + CPPFLAGS="$old_CPPFLAGS" if test x$GLIBC_LFS_SUPPORT = xyes ; then CPPFLAGS="-D_LARGEFILE64_SOURCE -D_GNU_SOURCE $CPPFLAGS" - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define _LARGEFILE64_SOURCE 1 EOF - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define _GNU_SOURCE 1 EOF fi - echo "$as_me:2637: result: $GLIBC_LFS_SUPPORT" >&5 -echo "${ECHO_T}$GLIBC_LFS_SUPPORT" >&6 + echo "$ac_t""$GLIBC_LFS_SUPPORT" 1>&6 ;; esac -echo "$as_me:2643: checking for $CC option to accept ANSI C" >&5 -echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6 -if test "${ac_cv_prog_cc_stdc+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_prog_cc_stdc=no -ac_save_CC=$CC -cat >conftest.$ac_ext <<_ACEOF -#line 2651 "configure" -#include "confdefs.h" -#include <stdarg.h> -#include <stdio.h> -#include <sys/types.h> -#include <sys/stat.h> -/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ -struct buf { int x; }; -FILE * (*rcsopen) (struct buf *, struct stat *, int); -static char *e (p, i) - char **p; - int i; -{ - return p[i]; -} -static char *f (char * (*g) (char **, int), char **p, ...) -{ - char *s; - va_list v; - va_start (v,p); - s = g (p, va_arg (v,int)); - va_end (v); - return s; -} -int test (int i, double x); -struct s1 {int (*f) (int a);}; -struct s2 {int (*f) (double a);}; -int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); -int argc; -char **argv; -int -main () -{ -return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; - ; - return 0; -} -_ACEOF -# Don't try gcc -ansi; that turns off useful extensions and -# breaks some systems' header files. -# AIX -qlanglvl=ansi -# Ultrix and OSF/1 -std1 -# HP-UX 10.20 and later -Ae -# HP-UX older versions -Aa -D_HPUX_SOURCE -# SVR4 -Xc -D__EXTENSIONS__ -for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" -do - CC="$ac_save_CC $ac_arg" - rm -f conftest.$ac_objext -if { (eval echo "$as_me:2700: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:2703: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:2706: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:2709: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_prog_cc_stdc=$ac_arg -break -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -fi -rm -f conftest.$ac_objext -done -rm -f conftest.$ac_ext conftest.$ac_objext -CC=$ac_save_CC - -fi - -case "x$ac_cv_prog_cc_stdc" in - x|xno) - echo "$as_me:2726: result: none needed" >&5 -echo "${ECHO_T}none needed" >&6 ;; - *) - echo "$as_me:2729: result: $ac_cv_prog_cc_stdc" >&5 -echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6 - CC="$CC $ac_cv_prog_cc_stdc" ;; -esac - -echo "$as_me:2734: checking for inline" >&5 -echo $ECHO_N "checking for inline... $ECHO_C" >&6 -if test "${ac_cv_c_inline+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for inline""... $ac_c" 1>&6 +echo "configure:1760: 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 <<_ACEOF -#line 2742 "configure" + cat > conftest.$ac_ext <<EOF +#line 1767 "configure" #include "confdefs.h" -#ifndef __cplusplus -static $ac_kw int static_foo () {return 0; } -$ac_kw int foo () {return 0; } -#endif -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:2751: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:2754: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:2757: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:2760: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +int main() { +} $ac_kw foo() { +; return 0; } +EOF +if { (eval echo configure:1774: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_c_inline=$ac_kw; break else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest* done fi -echo "$as_me:2771: result: $ac_cv_c_inline" >&5 -echo "${ECHO_T}$ac_cv_c_inline" >&6 -case $ac_cv_c_inline in + +echo "$ac_t""$ac_cv_c_inline" 1>&6 +case "$ac_cv_c_inline" in inline | yes) ;; - no) -cat >>confdefs.h <<\EOF -#define inline + no) cat >> confdefs.h <<\EOF +#define inline EOF ;; - *) cat >>confdefs.h <<EOF + *) cat >> confdefs.h <<EOF #define inline $ac_cv_c_inline EOF ;; esac -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -echo "$as_me:2791: checking how to run the C preprocessor" >&5 -echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6 +echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 +echo "configure:1800: checking how to run the C preprocessor" >&5 # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then - if test "${ac_cv_prog_CPP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - # Double quotes because CPP needs to be expanded - for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" - do - ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. +if eval "test \"`echo '$''{'ac_cv_prog_CPP'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + # This must be in double quotes, not single quotes, because CPP may get + # substituted into the Makefile and "${CC-cc}" will confuse make. + CPP="${CC-cc} -E" # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF -#line 2812 "configure" + # not just through cpp. + cat > conftest.$ac_ext <<EOF +#line 1815 "configure" #include "confdefs.h" #include <assert.h> - Syntax error -_ACEOF -if { (eval echo "$as_me:2817: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:2823: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then +Syntax Error +EOF +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:1821: \"$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 : else - echo "$as_me: failed program was:" >&5 + echo "$ac_err" >&5 + echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.$ac_ext - - # OK, works on sane cases. Now check whether non-existent headers - # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -#line 2846 "configure" + rm -rf conftest* + CPP="${CC-cc} -E -traditional-cpp" + cat > conftest.$ac_ext <<EOF +#line 1832 "configure" #include "confdefs.h" -#include <ac_nonexistent.h> -_ACEOF -if { (eval echo "$as_me:2850: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:2856: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - # Broken: success on invalid input. -continue +#include <assert.h> +Syntax Error +EOF +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:1838: \"$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 + : else - echo "$as_me: failed program was:" >&5 + echo "$ac_err" >&5 + echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then - break -fi - - done - ac_cv_prog_CPP=$CPP - -fi - CPP=$ac_cv_prog_CPP -else - ac_cv_prog_CPP=$CPP -fi -echo "$as_me:2893: result: $CPP" >&5 -echo "${ECHO_T}$CPP" >&6 -ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat >conftest.$ac_ext <<_ACEOF -#line 2903 "configure" + rm -rf conftest* + CPP="${CC-cc} -nologo -E" + cat > conftest.$ac_ext <<EOF +#line 1849 "configure" #include "confdefs.h" #include <assert.h> - Syntax error -_ACEOF -if { (eval echo "$as_me:2908: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:2914: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then +Syntax Error +EOF +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:1855: \"$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 : else - echo "$as_me: failed program was:" >&5 + echo "$ac_err" >&5 + echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - # Broken: fails on valid input. -continue + rm -rf conftest* + CPP=/lib/cpp fi -rm -f conftest.err conftest.$ac_ext - - # OK, works on sane cases. Now check whether non-existent headers - # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -#line 2937 "configure" -#include "confdefs.h" -#include <ac_nonexistent.h> -_ACEOF -if { (eval echo "$as_me:2941: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:2947: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes +rm -f conftest* fi -if test -z "$ac_cpp_err"; then - # Broken: success on invalid input. -continue -else - echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 - # Passes both tests. -ac_preproc_ok=: -break +rm -f conftest* fi -rm -f conftest.err conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then - : +rm -f conftest* + ac_cv_prog_CPP="$CPP" +fi + CPP="$ac_cv_prog_CPP" else - { { echo "$as_me:2975: error: C preprocessor \"$CPP\" fails sanity check" >&5 -echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check" >&2;} - { (exit 1); exit 1; }; } + ac_cv_prog_CPP="$CPP" fi +echo "$ac_t""$CPP" 1>&6 -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -echo "$as_me:2986: checking for ANSI C header files" >&5 -echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6 -if test "${ac_cv_header_stdc+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 +echo "configure:1880: 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 <<_ACEOF -#line 2992 "configure" + cat > conftest.$ac_ext <<EOF +#line 1885 "configure" #include "confdefs.h" #include <stdlib.h> #include <stdarg.h> #include <string.h> #include <float.h> - -_ACEOF -if { (eval echo "$as_me:3000: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:3006: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then +EOF +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:1893: \"$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* ac_cv_header_stdc=yes else - echo "$as_me: failed program was:" >&5 + echo "$ac_err" >&5 + echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 + rm -rf conftest* ac_cv_header_stdc=no fi -rm -f conftest.err conftest.$ac_ext +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 <<_ACEOF -#line 3028 "configure" +cat > conftest.$ac_ext <<EOF +#line 1910 "configure" #include "confdefs.h" #include <string.h> - -_ACEOF +EOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | egrep "memchr" >/dev/null 2>&1; then : else + rm -rf conftest* ac_cv_header_stdc=no fi rm -f conftest* @@ -3042,16 +1923,16 @@ fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF -#line 3046 "configure" +cat > conftest.$ac_ext <<EOF +#line 1928 "configure" #include "confdefs.h" #include <stdlib.h> - -_ACEOF +EOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | egrep "free" >/dev/null 2>&1; then : else + rm -rf conftest* ac_cv_header_stdc=no fi rm -f conftest* @@ -3060,2153 +1941,1256 @@ fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then +if test "$cross_compiling" = yes; then : else - cat >conftest.$ac_ext <<_ACEOF -#line 3067 "configure" + cat > conftest.$ac_ext <<EOF +#line 1949 "configure" #include "confdefs.h" #include <ctype.h> -#if ((' ' & 0x0FF) == 0x020) -# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#else -# define ISLOWER(c) (('a' <= (c) && (c) <= 'i') \ - || ('j' <= (c) && (c) <= 'r') \ - || ('s' <= (c) && (c) <= 'z')) -# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) -#endif - +#define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +#define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -int -main () -{ - int i; - for (i = 0; i < 256; i++) - if (XOR (islower (i), ISLOWER (i)) - || toupper (i) != TOUPPER (i)) - exit(2); - exit (0); -} -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:3093: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:3096: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:3098: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:3101: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +int main () { int i; for (i = 0; i < 256; i++) +if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2); +exit (0); } + +EOF +if { (eval echo configure:1960: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +then : else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_header_stdc=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -fr conftest* + ac_cv_header_stdc=no fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -fr conftest* fi + fi fi -echo "$as_me:3114: result: $ac_cv_header_stdc" >&5 -echo "${ECHO_T}$ac_cv_header_stdc" >&6 -if test $ac_cv_header_stdc = yes; then -cat >>confdefs.h <<\EOF +echo "$ac_t""$ac_cv_header_stdc" 1>&6 +if test $ac_cv_header_stdc = yes; then + cat >> confdefs.h <<\EOF #define STDC_HEADERS 1 EOF fi ac_header_dirent=no -for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do - as_ac_Header=`echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh` -echo "$as_me:3127: checking for $ac_hdr that defines DIR" >&5 -echo $ECHO_N "checking for $ac_hdr that defines DIR... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 3133 "configure" +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:1988: 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 1993 "configure" #include "confdefs.h" #include <sys/types.h> #include <$ac_hdr> - -int -main () -{ -if ((DIR *) 0) -return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:3148: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:3151: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:3154: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:3157: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_Header=yes" +int main() { +DIR *dirp = 0; +; return 0; } +EOF +if { (eval echo configure:2001: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + eval "ac_cv_header_dirent_$ac_safe=yes" else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_Header=no" + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_header_dirent_$ac_safe=no" fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest* fi -echo "$as_me:3167: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_hdr" | $as_tr_cpp` 1 +if eval "test \"`echo '$ac_cv_header_dirent_'$ac_safe`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` + cat >> confdefs.h <<EOF +#define $ac_tr_hdr 1 EOF - -ac_header_dirent=$ac_hdr; break + ac_header_dirent=$ac_hdr; break +else + echo "$ac_t""no" 1>&6 fi - done # Two versions of opendir et al. are in -ldir and -lx on SCO Xenix. if test $ac_header_dirent = dirent.h; then - echo "$as_me:3180: checking for opendir in -ldir" >&5 -echo $ECHO_N "checking for opendir in -ldir... $ECHO_C" >&6 -if test "${ac_cv_lib_dir_opendir+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for opendir in -ldir""... $ac_c" 1>&6 +echo "configure:2026: 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 else - ac_check_lib_save_LIBS=$LIBS + ac_save_LIBS="$LIBS" LIBS="-ldir $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line 3188 "configure" +cat > conftest.$ac_ext <<EOF +#line 2034 "configure" #include "confdefs.h" - /* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char opendir (); -int -main () -{ -opendir (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:3207: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:3210: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:3213: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:3216: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_dir_opendir=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_dir_opendir=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:3227: result: $ac_cv_lib_dir_opendir" >&5 -echo "${ECHO_T}$ac_cv_lib_dir_opendir" >&6 -if test $ac_cv_lib_dir_opendir = yes; then + builtin and then its argument prototype would still apply. */ +char opendir(); + +int main() { +opendir() +; return 0; } +EOF +if { (eval echo configure:2045: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -f conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 LIBS="$LIBS -ldir" +else + echo "$ac_t""no" 1>&6 fi else - echo "$as_me:3234: checking for opendir in -lx" >&5 -echo $ECHO_N "checking for opendir in -lx... $ECHO_C" >&6 -if test "${ac_cv_lib_x_opendir+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for opendir in -lx""... $ac_c" 1>&6 +echo "configure:2067: 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 else - ac_check_lib_save_LIBS=$LIBS + ac_save_LIBS="$LIBS" LIBS="-lx $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line 3242 "configure" +cat > conftest.$ac_ext <<EOF +#line 2075 "configure" #include "confdefs.h" - /* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char opendir (); -int -main () -{ -opendir (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:3261: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:3264: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:3267: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:3270: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_x_opendir=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_x_opendir=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:3281: result: $ac_cv_lib_x_opendir" >&5 -echo "${ECHO_T}$ac_cv_lib_x_opendir" >&6 -if test $ac_cv_lib_x_opendir = yes; then + builtin and then its argument prototype would still apply. */ +char opendir(); + +int main() { +opendir() +; return 0; } +EOF +if { (eval echo configure:2086: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -f conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 LIBS="$LIBS -lx" +else + echo "$ac_t""no" 1>&6 fi fi -echo "$as_me:3289: checking whether time.h and sys/time.h may both be included" >&5 -echo $ECHO_N "checking whether time.h and sys/time.h may both be included... $ECHO_C" >&6 -if test "${ac_cv_header_time+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6 +echo "configure:2109: 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 <<_ACEOF -#line 3295 "configure" + cat > conftest.$ac_ext <<EOF +#line 2114 "configure" #include "confdefs.h" #include <sys/types.h> #include <sys/time.h> #include <time.h> - -int -main () -{ -if ((struct tm *) 0) -return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:3311: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:3314: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:3317: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:3320: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +int main() { +struct tm *tp; +; return 0; } +EOF +if { (eval echo configure:2123: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_header_time=yes else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_header_time=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + ac_cv_header_time=no fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest* fi -echo "$as_me:3330: result: $ac_cv_header_time" >&5 -echo "${ECHO_T}$ac_cv_header_time" >&6 -if test $ac_cv_header_time = yes; then -cat >>confdefs.h <<\EOF +echo "$ac_t""$ac_cv_header_time" 1>&6 +if test $ac_cv_header_time = yes; then + cat >> confdefs.h <<\EOF #define TIME_WITH_SYS_TIME 1 EOF fi -echo "$as_me:3340: checking for sys/wait.h that is POSIX.1 compatible" >&5 -echo $ECHO_N "checking for sys/wait.h that is POSIX.1 compatible... $ECHO_C" >&6 -if test "${ac_cv_header_sys_wait_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for sys/wait.h that is POSIX.1 compatible""... $ac_c" 1>&6 +echo "configure:2144: 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 <<_ACEOF -#line 3346 "configure" + cat > conftest.$ac_ext <<EOF +#line 2149 "configure" #include "confdefs.h" #include <sys/types.h> #include <sys/wait.h> #ifndef WEXITSTATUS -# define WEXITSTATUS(stat_val) ((unsigned)(stat_val) >> 8) +#define WEXITSTATUS(stat_val) ((unsigned)(stat_val) >> 8) #endif #ifndef WIFEXITED -# define WIFEXITED(stat_val) (((stat_val) & 255) == 0) +#define WIFEXITED(stat_val) (((stat_val) & 255) == 0) #endif - -int -main () -{ - int s; - wait (&s); - s = WIFEXITED (s) ? WEXITSTATUS (s) : 1; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:3368: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:3371: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:3374: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:3377: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +int main() { +int s; +wait (&s); +s = WIFEXITED (s) ? WEXITSTATUS (s) : 1; +; return 0; } +EOF +if { (eval echo configure:2165: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_header_sys_wait_h=yes else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_header_sys_wait_h=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + ac_cv_header_sys_wait_h=no fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest* fi -echo "$as_me:3387: result: $ac_cv_header_sys_wait_h" >&5 -echo "${ECHO_T}$ac_cv_header_sys_wait_h" >&6 -if test $ac_cv_header_sys_wait_h = yes; then -cat >>confdefs.h <<\EOF +echo "$ac_t""$ac_cv_header_sys_wait_h" 1>&6 +if test $ac_cv_header_sys_wait_h = yes; then + cat >> confdefs.h <<\EOF #define HAVE_SYS_WAIT_H 1 EOF fi -for ac_header in arpa/inet.h sys/fcntl.h sys/select.h fcntl.h sys/time.h sys/unistd.h +for ac_hdr in arpa/inet.h sys/fcntl.h sys/select.h fcntl.h sys/time.h sys/unistd.h do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -echo "$as_me:3400: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` +echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 +echo "configure:2189: 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 <<_ACEOF -#line 3406 "configure" + cat > conftest.$ac_ext <<EOF +#line 2194 "configure" #include "confdefs.h" -#include <$ac_header> -_ACEOF -if { (eval echo "$as_me:3410: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:3416: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - eval "$as_ac_Header=yes" +#include <$ac_hdr> +EOF +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:2199: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" else - echo "$as_me: failed program was:" >&5 + echo "$ac_err" >&5 + echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - eval "$as_ac_Header=no" + rm -rf conftest* + eval "ac_cv_header_$ac_safe=no" fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest* fi -echo "$as_me:3435: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` + cat >> confdefs.h <<EOF +#define $ac_tr_hdr 1 EOF - + +else + echo "$ac_t""no" 1>&6 fi done -for ac_header in unistd.h utime.h grp.h sys/id.h limits.h memory.h net/if.h +for ac_hdr in unistd.h utime.h grp.h sys/id.h limits.h memory.h net/if.h do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -echo "$as_me:3448: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 3454 "configure" -#include "confdefs.h" -#include <$ac_header> -_ACEOF -if { (eval echo "$as_me:3458: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:3464: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi +ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` +echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 +echo "configure:2229: 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 - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - eval "$as_ac_Header=yes" + cat > conftest.$ac_ext <<EOF +#line 2234 "configure" +#include "confdefs.h" +#include <$ac_hdr> +EOF +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:2239: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" else - echo "$as_me: failed program was:" >&5 + echo "$ac_err" >&5 + echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - eval "$as_ac_Header=no" + rm -rf conftest* + eval "ac_cv_header_$ac_safe=no" fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest* fi -echo "$as_me:3483: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` + cat >> confdefs.h <<EOF +#define $ac_tr_hdr 1 EOF - + +else + echo "$ac_t""no" 1>&6 fi done -for ac_header in compat.h rpc/rpc.h rpcsvc/nis.h rpcsvc/yp_prot.h rpcsvc/ypclnt.h +for ac_hdr in compat.h rpc/rpc.h rpcsvc/nis.h rpcsvc/yp_prot.h rpcsvc/ypclnt.h do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -echo "$as_me:3496: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 3502 "configure" -#include "confdefs.h" -#include <$ac_header> -_ACEOF -if { (eval echo "$as_me:3506: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:3512: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi +ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` +echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 +echo "configure:2269: 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 - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - eval "$as_ac_Header=yes" + cat > conftest.$ac_ext <<EOF +#line 2274 "configure" +#include "confdefs.h" +#include <$ac_hdr> +EOF +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:2279: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" else - echo "$as_me: failed program was:" >&5 + echo "$ac_err" >&5 + echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - eval "$as_ac_Header=no" + rm -rf conftest* + eval "ac_cv_header_$ac_safe=no" fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest* fi -echo "$as_me:3531: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` + cat >> confdefs.h <<EOF +#define $ac_tr_hdr 1 EOF - + +else + echo "$ac_t""no" 1>&6 fi done -for ac_header in sys/param.h ctype.h sys/wait.h sys/resource.h sys/ioctl.h sys/ipc.h sys/mode.h +for ac_hdr in stdlib.h string.h strings.h syslog.h sys/file.h do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -echo "$as_me:3544: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 3550 "configure" -#include "confdefs.h" -#include <$ac_header> -_ACEOF -if { (eval echo "$as_me:3554: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:3560: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi +ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` +echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 +echo "configure:2309: 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 - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - eval "$as_ac_Header=yes" + cat > conftest.$ac_ext <<EOF +#line 2314 "configure" +#include "confdefs.h" +#include <$ac_hdr> +EOF +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:2319: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" else - echo "$as_me: failed program was:" >&5 + echo "$ac_err" >&5 + echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - eval "$as_ac_Header=no" + rm -rf conftest* + eval "ac_cv_header_$ac_safe=no" fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest* fi -echo "$as_me:3579: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` + cat >> confdefs.h <<EOF +#define $ac_tr_hdr 1 EOF - + +else + echo "$ac_t""no" 1>&6 fi done -for ac_header in sys/mman.h sys/filio.h sys/priv.h sys/shm.h string.h strings.h stdlib.h sys/socket.h +for ac_hdr in sys/param.h ctype.h sys/wait.h sys/resource.h sys/ioctl.h sys/ipc.h sys/mode.h do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -echo "$as_me:3592: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 3598 "configure" -#include "confdefs.h" -#include <$ac_header> -_ACEOF -if { (eval echo "$as_me:3602: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:3608: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi +ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` +echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 +echo "configure:2349: 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 - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - eval "$as_ac_Header=yes" + cat > conftest.$ac_ext <<EOF +#line 2354 "configure" +#include "confdefs.h" +#include <$ac_hdr> +EOF +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:2359: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" else - echo "$as_me: failed program was:" >&5 + echo "$ac_err" >&5 + echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - eval "$as_ac_Header=no" + rm -rf conftest* + eval "ac_cv_header_$ac_safe=no" fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest* fi -echo "$as_me:3627: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` + cat >> confdefs.h <<EOF +#define $ac_tr_hdr 1 EOF - + +else + echo "$ac_t""no" 1>&6 fi done -for ac_header in syslog.h sys/syslog.h sys/mount.h sys/vfs.h sys/fs/s5param.h sys/filsys.h termios.h termio.h +for ac_hdr in sys/mman.h sys/filio.h sys/priv.h sys/shm.h sys/socket.h do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -echo "$as_me:3640: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 3646 "configure" -#include "confdefs.h" -#include <$ac_header> -_ACEOF -if { (eval echo "$as_me:3650: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:3656: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi +ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` +echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 +echo "configure:2389: 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 - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - eval "$as_ac_Header=yes" + cat > conftest.$ac_ext <<EOF +#line 2394 "configure" +#include "confdefs.h" +#include <$ac_hdr> +EOF +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:2399: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" else - echo "$as_me: failed program was:" >&5 + echo "$ac_err" >&5 + echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - eval "$as_ac_Header=no" + rm -rf conftest* + eval "ac_cv_header_$ac_safe=no" fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest* fi -echo "$as_me:3675: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` + cat >> confdefs.h <<EOF +#define $ac_tr_hdr 1 EOF - + +else + echo "$ac_t""no" 1>&6 fi done -for ac_header in sys/termio.h sys/statfs.h sys/dustat.h sys/statvfs.h stdarg.h sys/sockio.h +for ac_hdr in syslog.h sys/syslog.h sys/mount.h sys/vfs.h sys/fs/s5param.h sys/filsys.h termios.h termio.h do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -echo "$as_me:3688: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 3694 "configure" -#include "confdefs.h" -#include <$ac_header> -_ACEOF -if { (eval echo "$as_me:3698: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:3704: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi +ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` +echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 +echo "configure:2429: 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 - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - eval "$as_ac_Header=yes" + cat > conftest.$ac_ext <<EOF +#line 2434 "configure" +#include "confdefs.h" +#include <$ac_hdr> +EOF +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:2439: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" else - echo "$as_me: failed program was:" >&5 + echo "$ac_err" >&5 + echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - eval "$as_ac_Header=no" + rm -rf conftest* + eval "ac_cv_header_$ac_safe=no" fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest* fi -echo "$as_me:3723: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` + cat >> confdefs.h <<EOF +#define $ac_tr_hdr 1 EOF - + +else + echo "$ac_t""no" 1>&6 fi done -for ac_header in security/pam_modules.h security/_pam_macros.h dlfcn.h synch.h pthread.h nsswitch.h +for ac_hdr in sys/termio.h sys/statfs.h sys/dustat.h sys/statvfs.h stdarg.h sys/sockio.h do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -echo "$as_me:3736: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 3742 "configure" +ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` +echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 +echo "configure:2469: 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 2474 "configure" #include "confdefs.h" -#include <$ac_header> -_ACEOF -if { (eval echo "$as_me:3746: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:3752: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi +#include <$ac_hdr> +EOF +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:2479: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" +else + echo "$ac_err" >&5 + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_header_$ac_safe=no" +fi +rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` + cat >> confdefs.h <<EOF +#define $ac_tr_hdr 1 +EOF + else - ac_cpp_err=yes + echo "$ac_t""no" 1>&6 fi -if test -z "$ac_cpp_err"; then - eval "$as_ac_Header=yes" +done + +for ac_hdr in security/pam_modules.h security/_pam_macros.h dlfcn.h synch.h pthread.h nsswitch.h +do +ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` +echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 +echo "configure:2509: 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 2514 "configure" +#include "confdefs.h" +#include <$ac_hdr> +EOF +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:2519: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" else - echo "$as_me: failed program was:" >&5 + echo "$ac_err" >&5 + echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - eval "$as_ac_Header=no" + rm -rf conftest* + eval "ac_cv_header_$ac_safe=no" fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest* fi -echo "$as_me:3771: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` + cat >> confdefs.h <<EOF +#define $ac_tr_hdr 1 EOF - + +else + echo "$ac_t""no" 1>&6 fi done + # # HPUX has a bug in that including shadow.h causes a re-definition of MAXINT. # This causes configure to fail to detect it. Check for shadow separately on HPUX. # case "$host_os" in *hpux*) - cat >conftest.$ac_ext <<_ACEOF -#line 3788 "configure" + cat > conftest.$ac_ext <<EOF +#line 2553 "configure" #include "confdefs.h" #include <shadow.h> -int -main () -{ +int main() { struct spwd testme - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:3800: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:3803: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:3806: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:3809: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:2560: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_header_shadow_h=yes else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_header_shadow_h=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + ac_cv_header_shadow_h=no fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest* if test x"$ac_cv_header_shadow_h" = x"yes"; then - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define HAVE_SHADOW_H 1 EOF fi ;; esac - -for ac_header in shadow.h netinet/ip.h netinet/tcp.h netinet/in_systm.h netinet/in_ip.h +for ac_hdr in shadow.h netinet/ip.h netinet/tcp.h netinet/in_systm.h netinet/in_ip.h do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -echo "$as_me:3830: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 3836 "configure" -#include "confdefs.h" -#include <$ac_header> -_ACEOF -if { (eval echo "$as_me:3840: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:3846: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi +ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` +echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 +echo "configure:2582: 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 - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - eval "$as_ac_Header=yes" + cat > conftest.$ac_ext <<EOF +#line 2587 "configure" +#include "confdefs.h" +#include <$ac_hdr> +EOF +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:2592: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" else - echo "$as_me: failed program was:" >&5 + echo "$ac_err" >&5 + echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - eval "$as_ac_Header=no" + rm -rf conftest* + eval "ac_cv_header_$ac_safe=no" fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest* fi -echo "$as_me:3865: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` + cat >> confdefs.h <<EOF +#define $ac_tr_hdr 1 EOF - + +else + echo "$ac_t""no" 1>&6 fi done -for ac_header in nss.h nss_common.h ns_api.h sys/security.h security/pam_appl.h security/pam_modules.h +for ac_hdr in nss.h nss_common.h ns_api.h sys/security.h security/pam_appl.h security/pam_modules.h do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -echo "$as_me:3878: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 3884 "configure" -#include "confdefs.h" -#include <$ac_header> -_ACEOF -if { (eval echo "$as_me:3888: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:3894: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi +ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` +echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 +echo "configure:2622: 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 - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - eval "$as_ac_Header=yes" + cat > conftest.$ac_ext <<EOF +#line 2627 "configure" +#include "confdefs.h" +#include <$ac_hdr> +EOF +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:2632: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" else - echo "$as_me: failed program was:" >&5 + echo "$ac_err" >&5 + echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - eval "$as_ac_Header=no" + rm -rf conftest* + eval "ac_cv_header_$ac_safe=no" fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest* fi -echo "$as_me:3913: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` + cat >> confdefs.h <<EOF +#define $ac_tr_hdr 1 EOF - + +else + echo "$ac_t""no" 1>&6 fi done -for ac_header in stropts.h poll.h +for ac_hdr in stropts.h poll.h do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -echo "$as_me:3926: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 3932 "configure" -#include "confdefs.h" -#include <$ac_header> -_ACEOF -if { (eval echo "$as_me:3936: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:3942: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi +ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` +echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 +echo "configure:2662: 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 - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - eval "$as_ac_Header=yes" + cat > conftest.$ac_ext <<EOF +#line 2667 "configure" +#include "confdefs.h" +#include <$ac_hdr> +EOF +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:2672: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" else - echo "$as_me: failed program was:" >&5 + echo "$ac_err" >&5 + echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - eval "$as_ac_Header=no" + rm -rf conftest* + eval "ac_cv_header_$ac_safe=no" fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest* fi -echo "$as_me:3961: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` + cat >> confdefs.h <<EOF +#define $ac_tr_hdr 1 EOF - + +else + echo "$ac_t""no" 1>&6 fi done -for ac_header in sys/capability.h syscall.h sys/syscall.h +for ac_hdr in sys/capability.h syscall.h sys/syscall.h do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -echo "$as_me:3974: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 3980 "configure" -#include "confdefs.h" -#include <$ac_header> -_ACEOF -if { (eval echo "$as_me:3984: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:3990: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi +ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` +echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 +echo "configure:2702: 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 - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - eval "$as_ac_Header=yes" + cat > conftest.$ac_ext <<EOF +#line 2707 "configure" +#include "confdefs.h" +#include <$ac_hdr> +EOF +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:2712: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" else - echo "$as_me: failed program was:" >&5 + echo "$ac_err" >&5 + echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - eval "$as_ac_Header=no" + rm -rf conftest* + eval "ac_cv_header_$ac_safe=no" fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest* fi -echo "$as_me:4009: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` + cat >> confdefs.h <<EOF +#define $ac_tr_hdr 1 EOF - + +else + echo "$ac_t""no" 1>&6 fi done -for ac_header in sys/acl.h sys/cdefs.h glob.h +for ac_hdr in sys/acl.h sys/cdefs.h glob.h do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -echo "$as_me:4022: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 4028 "configure" -#include "confdefs.h" -#include <$ac_header> -_ACEOF -if { (eval echo "$as_me:4032: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:4038: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi +ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` +echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 +echo "configure:2742: 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 - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - eval "$as_ac_Header=yes" + cat > conftest.$ac_ext <<EOF +#line 2747 "configure" +#include "confdefs.h" +#include <$ac_hdr> +EOF +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:2752: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" else - echo "$as_me: failed program was:" >&5 + echo "$ac_err" >&5 + echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - eval "$as_ac_Header=no" + rm -rf conftest* + eval "ac_cv_header_$ac_safe=no" fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest* fi -echo "$as_me:4057: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` + cat >> confdefs.h <<EOF +#define $ac_tr_hdr 1 EOF - + +else + echo "$ac_t""no" 1>&6 fi done -# For experimental utmp support (lastlog on some BSD-like systems) -for ac_header in utmp.h utmpx.h lastlog.h +# For experimental utmp support (lastlog on some BSD-like systems) +for ac_hdr in utmp.h utmpx.h lastlog.h do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -echo "$as_me:4072: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` +echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 +echo "configure:2784: 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 <<_ACEOF -#line 4078 "configure" + cat > conftest.$ac_ext <<EOF +#line 2789 "configure" #include "confdefs.h" -#include <$ac_header> -_ACEOF -if { (eval echo "$as_me:4082: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:4088: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - eval "$as_ac_Header=yes" +#include <$ac_hdr> +EOF +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:2794: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" else - echo "$as_me: failed program was:" >&5 + echo "$ac_err" >&5 + echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - eval "$as_ac_Header=no" + rm -rf conftest* + eval "ac_cv_header_$ac_safe=no" fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest* fi -echo "$as_me:4107: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` + cat >> confdefs.h <<EOF +#define $ac_tr_hdr 1 EOF - + +else + echo "$ac_t""no" 1>&6 fi done + # For quotas on Veritas VxFS filesystems - -for ac_header in sys/fs/vx_quota.h +for ac_hdr in sys/fs/vx_quota.h do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -echo "$as_me:4122: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 4128 "configure" -#include "confdefs.h" -#include <$ac_header> -_ACEOF -if { (eval echo "$as_me:4132: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:4138: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi +ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` +echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 +echo "configure:2826: 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 - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - eval "$as_ac_Header=yes" + cat > conftest.$ac_ext <<EOF +#line 2831 "configure" +#include "confdefs.h" +#include <$ac_hdr> +EOF +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:2836: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" else - echo "$as_me: failed program was:" >&5 + echo "$ac_err" >&5 + echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - eval "$as_ac_Header=no" + rm -rf conftest* + eval "ac_cv_header_$ac_safe=no" fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest* fi -echo "$as_me:4157: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` + cat >> confdefs.h <<EOF +#define $ac_tr_hdr 1 EOF - + +else + echo "$ac_t""no" 1>&6 fi done -# For quotas on Linux XFS filesystems -for ac_header in linux/xqm.h +# For quotas on Linux XFS filesystems +for ac_hdr in linux/xqm.h do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -echo "$as_me:4172: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 4178 "configure" -#include "confdefs.h" -#include <$ac_header> -_ACEOF -if { (eval echo "$as_me:4182: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:4188: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi +ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` +echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 +echo "configure:2868: 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 - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - eval "$as_ac_Header=yes" + cat > conftest.$ac_ext <<EOF +#line 2873 "configure" +#include "confdefs.h" +#include <$ac_hdr> +EOF +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:2878: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" else - echo "$as_me: failed program was:" >&5 + echo "$ac_err" >&5 + echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - eval "$as_ac_Header=no" + rm -rf conftest* + eval "ac_cv_header_$ac_safe=no" fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest* fi -echo "$as_me:4207: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` + cat >> confdefs.h <<EOF +#define $ac_tr_hdr 1 EOF - + +else + echo "$ac_t""no" 1>&6 fi done -# On IRIX 5.3, sys/types and inttypes.h are conflicting. - -for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ - inttypes.h stdint.h unistd.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -echo "$as_me:4223: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 4229 "configure" -#include "confdefs.h" -$ac_includes_default -#include <$ac_header> -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:4235: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:4238: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:4241: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:4244: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_Header=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_Header=no" -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:4254: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 -EOF -fi -done - -echo "$as_me:4264: checking for int" >&5 -echo $ECHO_N "checking for int... $ECHO_C" >&6 -if test "${ac_cv_type_int+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking size of int""... $ac_c" 1>&6 +echo "configure:2906: 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 - cat >conftest.$ac_ext <<_ACEOF -#line 4270 "configure" -#include "confdefs.h" -$ac_includes_default -int -main () -{ -if ((int *) 0) - return 0; -if (sizeof (int)) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:4285: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:4288: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:4291: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:4294: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_type_int=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_type_int=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:4304: result: $ac_cv_type_int" >&5 -echo "${ECHO_T}$ac_cv_type_int" >&6 - -echo "$as_me:4307: checking size of int" >&5 -echo $ECHO_N "checking size of int... $ECHO_C" >&6 -if test "${ac_cv_sizeof_int+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test "$ac_cv_type_int" = yes; then if test "$cross_compiling" = yes; then - # Depending upon the size, compute the lo and hi bounds. -cat >conftest.$ac_ext <<_ACEOF -#line 4316 "configure" -#include "confdefs.h" -$ac_includes_default -int -main () -{ -int _array_ [1 - 2 * !((sizeof (int)) >= 0)] - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:4328: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:4331: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:4334: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:4337: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_lo=0 ac_mid=0 - while :; do - cat >conftest.$ac_ext <<_ACEOF -#line 4342 "configure" -#include "confdefs.h" -$ac_includes_default -int -main () -{ -int _array_ [1 - 2 * !((sizeof (int)) <= $ac_mid)] - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:4354: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:4357: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:4360: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:4363: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_hi=$ac_mid; break -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_lo=`expr $ac_mid + 1`; ac_mid=`expr 2 '*' $ac_mid + 1` -fi -rm -f conftest.$ac_objext conftest.$ac_ext - done -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_hi=-1 ac_mid=-1 - while :; do - cat >conftest.$ac_ext <<_ACEOF -#line 4379 "configure" -#include "confdefs.h" -$ac_includes_default -int -main () -{ -int _array_ [1 - 2 * !((sizeof (int)) >= $ac_mid)] - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:4391: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:4394: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:4397: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:4400: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_lo=$ac_mid; break -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_hi=`expr $ac_mid - 1`; ac_mid=`expr 2 '*' $ac_mid` -fi -rm -f conftest.$ac_objext conftest.$ac_ext - done -fi -rm -f conftest.$ac_objext conftest.$ac_ext -# Binary search between lo and hi bounds. -while test "x$ac_lo" != "x$ac_hi"; do - ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` - cat >conftest.$ac_ext <<_ACEOF -#line 4416 "configure" -#include "confdefs.h" -$ac_includes_default -int -main () -{ -int _array_ [1 - 2 * !((sizeof (int)) <= $ac_mid)] - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:4428: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:4431: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:4434: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:4437: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_hi=$ac_mid -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_lo=`expr $ac_mid + 1` -fi -rm -f conftest.$ac_objext conftest.$ac_ext -done -ac_cv_sizeof_int=$ac_lo + ac_cv_sizeof_int=cross else - if test "$cross_compiling" = yes; then - { { echo "$as_me:4450: error: cannot run test program while cross compiling" >&5 -echo "$as_me: error: cannot run test program while cross compiling" >&2;} - { (exit 1); exit 1; }; } -else - cat >conftest.$ac_ext <<_ACEOF -#line 4455 "configure" + cat > conftest.$ac_ext <<EOF +#line 2914 "configure" #include "confdefs.h" -$ac_includes_default -int -main () +#include <stdio.h> +main() { -FILE *f = fopen ("conftest.val", "w"); -if (!f) - exit (1); -fprintf (f, "%d", (sizeof (int))); -fclose (f); - ; - return 0; + FILE *f=fopen("conftestval", "w"); + if (!f) exit(1); + fprintf(f, "%d\n", sizeof(int)); + exit(0); } -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:4471: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:4474: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:4476: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:4479: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_sizeof_int=`cat conftest.val` -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi -fi -rm -f conftest.val +EOF +if { (eval echo configure:2925: \"$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 + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -fr conftest* ac_cv_sizeof_int=0 fi +rm -fr conftest* fi -echo "$as_me:4495: result: $ac_cv_sizeof_int" >&5 -echo "${ECHO_T}$ac_cv_sizeof_int" >&6 -cat >>confdefs.h <<EOF + +fi +echo "$ac_t""$ac_cv_sizeof_int" 1>&6 +cat >> confdefs.h <<EOF #define SIZEOF_INT $ac_cv_sizeof_int EOF -echo "$as_me:4501: checking for long" >&5 -echo $ECHO_N "checking for long... $ECHO_C" >&6 -if test "${ac_cv_type_long+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 4507 "configure" -#include "confdefs.h" -$ac_includes_default -int -main () -{ -if ((long *) 0) - return 0; -if (sizeof (long)) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:4522: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:4525: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:4528: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:4531: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_type_long=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_type_long=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:4541: result: $ac_cv_type_long" >&5 -echo "${ECHO_T}$ac_cv_type_long" >&6 - -echo "$as_me:4544: checking size of long" >&5 -echo $ECHO_N "checking size of long... $ECHO_C" >&6 -if test "${ac_cv_sizeof_long+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test "$ac_cv_type_long" = yes; then - if test "$cross_compiling" = yes; then - # Depending upon the size, compute the lo and hi bounds. -cat >conftest.$ac_ext <<_ACEOF -#line 4553 "configure" -#include "confdefs.h" -$ac_includes_default -int -main () -{ -int _array_ [1 - 2 * !((sizeof (long)) >= 0)] - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:4565: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:4568: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:4571: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:4574: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_lo=0 ac_mid=0 - while :; do - cat >conftest.$ac_ext <<_ACEOF -#line 4579 "configure" -#include "confdefs.h" -$ac_includes_default -int -main () -{ -int _array_ [1 - 2 * !((sizeof (long)) <= $ac_mid)] - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:4591: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:4594: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:4597: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:4600: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_hi=$ac_mid; break -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_lo=`expr $ac_mid + 1`; ac_mid=`expr 2 '*' $ac_mid + 1` -fi -rm -f conftest.$ac_objext conftest.$ac_ext - done -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_hi=-1 ac_mid=-1 - while :; do - cat >conftest.$ac_ext <<_ACEOF -#line 4616 "configure" -#include "confdefs.h" -$ac_includes_default -int -main () -{ -int _array_ [1 - 2 * !((sizeof (long)) >= $ac_mid)] - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:4628: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:4631: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:4634: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:4637: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_lo=$ac_mid; break -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_hi=`expr $ac_mid - 1`; ac_mid=`expr 2 '*' $ac_mid` -fi -rm -f conftest.$ac_objext conftest.$ac_ext - done -fi -rm -f conftest.$ac_objext conftest.$ac_ext -# Binary search between lo and hi bounds. -while test "x$ac_lo" != "x$ac_hi"; do - ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` - cat >conftest.$ac_ext <<_ACEOF -#line 4653 "configure" -#include "confdefs.h" -$ac_includes_default -int -main () -{ -int _array_ [1 - 2 * !((sizeof (long)) <= $ac_mid)] - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:4665: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:4668: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:4671: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:4674: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_hi=$ac_mid -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_lo=`expr $ac_mid + 1` -fi -rm -f conftest.$ac_objext conftest.$ac_ext -done -ac_cv_sizeof_long=$ac_lo + +echo $ac_n "checking size of long""... $ac_c" 1>&6 +echo "configure:2945: 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 if test "$cross_compiling" = yes; then - { { echo "$as_me:4687: error: cannot run test program while cross compiling" >&5 -echo "$as_me: error: cannot run test program while cross compiling" >&2;} - { (exit 1); exit 1; }; } + ac_cv_sizeof_long=cross else - cat >conftest.$ac_ext <<_ACEOF -#line 4692 "configure" + cat > conftest.$ac_ext <<EOF +#line 2953 "configure" #include "confdefs.h" -$ac_includes_default -int -main () +#include <stdio.h> +main() { -FILE *f = fopen ("conftest.val", "w"); -if (!f) - exit (1); -fprintf (f, "%d", (sizeof (long))); -fclose (f); - ; - return 0; + FILE *f=fopen("conftestval", "w"); + if (!f) exit(1); + fprintf(f, "%d\n", sizeof(long)); + exit(0); } -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:4708: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:4711: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:4713: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:4716: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_sizeof_long=`cat conftest.val` -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi -fi -rm -f conftest.val +EOF +if { (eval echo configure:2964: \"$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 + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -fr conftest* ac_cv_sizeof_long=0 fi +rm -fr conftest* fi -echo "$as_me:4732: result: $ac_cv_sizeof_long" >&5 -echo "${ECHO_T}$ac_cv_sizeof_long" >&6 -cat >>confdefs.h <<EOF + +fi +echo "$ac_t""$ac_cv_sizeof_long" 1>&6 +cat >> confdefs.h <<EOF #define SIZEOF_LONG $ac_cv_sizeof_long EOF -echo "$as_me:4738: checking for short" >&5 -echo $ECHO_N "checking for short... $ECHO_C" >&6 -if test "${ac_cv_type_short+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 4744 "configure" -#include "confdefs.h" -$ac_includes_default -int -main () -{ -if ((short *) 0) - return 0; -if (sizeof (short)) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:4759: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:4762: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:4765: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:4768: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_type_short=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_type_short=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:4778: result: $ac_cv_type_short" >&5 -echo "${ECHO_T}$ac_cv_type_short" >&6 - -echo "$as_me:4781: checking size of short" >&5 -echo $ECHO_N "checking size of short... $ECHO_C" >&6 -if test "${ac_cv_sizeof_short+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test "$ac_cv_type_short" = yes; then - if test "$cross_compiling" = yes; then - # Depending upon the size, compute the lo and hi bounds. -cat >conftest.$ac_ext <<_ACEOF -#line 4790 "configure" -#include "confdefs.h" -$ac_includes_default -int -main () -{ -int _array_ [1 - 2 * !((sizeof (short)) >= 0)] - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:4802: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:4805: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:4808: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:4811: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_lo=0 ac_mid=0 - while :; do - cat >conftest.$ac_ext <<_ACEOF -#line 4816 "configure" -#include "confdefs.h" -$ac_includes_default -int -main () -{ -int _array_ [1 - 2 * !((sizeof (short)) <= $ac_mid)] - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:4828: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:4831: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:4834: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:4837: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_hi=$ac_mid; break -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_lo=`expr $ac_mid + 1`; ac_mid=`expr 2 '*' $ac_mid + 1` -fi -rm -f conftest.$ac_objext conftest.$ac_ext - done -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_hi=-1 ac_mid=-1 - while :; do - cat >conftest.$ac_ext <<_ACEOF -#line 4853 "configure" -#include "confdefs.h" -$ac_includes_default -int -main () -{ -int _array_ [1 - 2 * !((sizeof (short)) >= $ac_mid)] - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:4865: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:4868: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:4871: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:4874: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_lo=$ac_mid; break -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_hi=`expr $ac_mid - 1`; ac_mid=`expr 2 '*' $ac_mid` -fi -rm -f conftest.$ac_objext conftest.$ac_ext - done -fi -rm -f conftest.$ac_objext conftest.$ac_ext -# Binary search between lo and hi bounds. -while test "x$ac_lo" != "x$ac_hi"; do - ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` - cat >conftest.$ac_ext <<_ACEOF -#line 4890 "configure" -#include "confdefs.h" -$ac_includes_default -int -main () -{ -int _array_ [1 - 2 * !((sizeof (short)) <= $ac_mid)] - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:4902: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:4905: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:4908: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:4911: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_hi=$ac_mid -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_lo=`expr $ac_mid + 1` -fi -rm -f conftest.$ac_objext conftest.$ac_ext -done -ac_cv_sizeof_short=$ac_lo + +echo $ac_n "checking size of short""... $ac_c" 1>&6 +echo "configure:2984: 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 if test "$cross_compiling" = yes; then - { { echo "$as_me:4924: error: cannot run test program while cross compiling" >&5 -echo "$as_me: error: cannot run test program while cross compiling" >&2;} - { (exit 1); exit 1; }; } + ac_cv_sizeof_short=cross else - cat >conftest.$ac_ext <<_ACEOF -#line 4929 "configure" + cat > conftest.$ac_ext <<EOF +#line 2992 "configure" #include "confdefs.h" -$ac_includes_default -int -main () +#include <stdio.h> +main() { -FILE *f = fopen ("conftest.val", "w"); -if (!f) - exit (1); -fprintf (f, "%d", (sizeof (short))); -fclose (f); - ; - return 0; + FILE *f=fopen("conftestval", "w"); + if (!f) exit(1); + fprintf(f, "%d\n", sizeof(short)); + exit(0); } -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:4945: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:4948: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:4950: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:4953: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_sizeof_short=`cat conftest.val` -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi -fi -rm -f conftest.val +EOF +if { (eval echo configure:3003: \"$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 + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -fr conftest* ac_cv_sizeof_short=0 fi +rm -fr conftest* fi -echo "$as_me:4969: result: $ac_cv_sizeof_short" >&5 -echo "${ECHO_T}$ac_cv_sizeof_short" >&6 -cat >>confdefs.h <<EOF + +fi +echo "$ac_t""$ac_cv_sizeof_short" 1>&6 +cat >> confdefs.h <<EOF #define SIZEOF_SHORT $ac_cv_sizeof_short EOF -echo "$as_me:4975: checking for an ANSI C-conforming const" >&5 -echo $ECHO_N "checking for an ANSI C-conforming const... $ECHO_C" >&6 -if test "${ac_cv_c_const+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + + +echo $ac_n "checking for working const""... $ac_c" 1>&6 +echo "configure:3024: 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 <<_ACEOF -#line 4981 "configure" + cat > conftest.$ac_ext <<EOF +#line 3029 "configure" #include "confdefs.h" -int -main () -{ -/* FIXME: Include the comments suggested by Paul. */ -#ifndef __cplusplus - /* Ultrix mips cc rejects this. */ - typedef int charset[2]; - const charset x; - /* SunOS 4.1.1 cc rejects this. */ - char const *const *ccp; - char **p; - /* NEC SVR4.0.2 mips cc rejects this. */ - struct point {int x, y;}; - static struct point const zero = {0,0}; - /* AIX XL C 1.02.0.0 rejects this. - It does not let you subtract one const X* pointer from another in - an arm of an if-expression whose if-part is not a constant - expression */ - const char *g = "string"; - ccp = &g + (g ? g-g : 0); - /* HPUX 7.0 cc rejects these. */ - ++ccp; - p = (char**) ccp; - ccp = (char const *const *) p; - { /* SCO 3.2v4 cc rejects this. */ - char *t; - char const *s = 0 ? (char *) 0 : (char const *) 0; - - *t++ = 0; - } - { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ - int x[] = {25, 17}; - const int *foo = &x[0]; - ++foo; - } - { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ - typedef const int *iptr; - iptr p = 0; - ++p; - } - { /* AIX XL C 1.02.0.0 rejects this saying - "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ - struct s { int j; const int *ap[3]; }; - struct s *b; b->j = 5; - } - { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ - const int foo = 10; - } -#endif +int main() { - ; - return 0; +/* Ultrix mips cc rejects this. */ +typedef int charset[2]; const charset x; +/* SunOS 4.1.1 cc rejects this. */ +char const *const *ccp; +char **p; +/* NEC SVR4.0.2 mips cc rejects this. */ +struct point {int x, y;}; +static struct point const zero = {0,0}; +/* AIX XL C 1.02.0.0 rejects this. + It does not let you subtract one const X* pointer from another in an arm + of an if-expression whose if-part is not a constant expression */ +const char *g = "string"; +ccp = &g + (g ? g-g : 0); +/* HPUX 7.0 cc rejects these. */ +++ccp; +p = (char**) ccp; +ccp = (char const *const *) p; +{ /* SCO 3.2v4 cc rejects this. */ + char *t; + char const *s = 0 ? (char *) 0 : (char const *) 0; + + *t++ = 0; +} +{ /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ + int x[] = {25, 17}; + const int *foo = &x[0]; + ++foo; +} +{ /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ + typedef const int *iptr; + iptr p = 0; + ++p; } -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:5039: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:5042: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:5045: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:5048: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +{ /* AIX XL C 1.02.0.0 rejects this saying + "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ + struct s { int j; const int *ap[3]; }; + struct s *b; b->j = 5; +} +{ /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ + const int foo = 10; +} + +; return 0; } +EOF +if { (eval echo configure:3078: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_c_const=yes else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_c_const=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + ac_cv_c_const=no fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest* fi -echo "$as_me:5058: result: $ac_cv_c_const" >&5 -echo "${ECHO_T}$ac_cv_c_const" >&6 -if test $ac_cv_c_const = no; then -cat >>confdefs.h <<\EOF -#define const +echo "$ac_t""$ac_cv_c_const" 1>&6 +if test $ac_cv_c_const = no; then + cat >> confdefs.h <<\EOF +#define const EOF fi -echo "$as_me:5068: checking for inline" >&5 -echo $ECHO_N "checking for inline... $ECHO_C" >&6 -if test "${ac_cv_c_inline+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for inline""... $ac_c" 1>&6 +echo "configure:3099: 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 <<_ACEOF -#line 5076 "configure" + cat > conftest.$ac_ext <<EOF +#line 3106 "configure" #include "confdefs.h" -#ifndef __cplusplus -static $ac_kw int static_foo () {return 0; } -$ac_kw int foo () {return 0; } -#endif -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:5085: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:5088: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:5091: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:5094: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +int main() { +} $ac_kw foo() { +; return 0; } +EOF +if { (eval echo configure:3113: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_c_inline=$ac_kw; break else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest* done fi -echo "$as_me:5105: result: $ac_cv_c_inline" >&5 -echo "${ECHO_T}$ac_cv_c_inline" >&6 -case $ac_cv_c_inline in + +echo "$ac_t""$ac_cv_c_inline" 1>&6 +case "$ac_cv_c_inline" in inline | yes) ;; - no) -cat >>confdefs.h <<\EOF -#define inline + no) cat >> confdefs.h <<\EOF +#define inline EOF ;; - *) cat >>confdefs.h <<EOF + *) cat >> confdefs.h <<EOF #define inline $ac_cv_c_inline EOF ;; esac -echo "$as_me:5120: checking whether byte ordering is bigendian" >&5 -echo $ECHO_N "checking whether byte ordering is bigendian... $ECHO_C" >&6 -if test "${ac_cv_c_bigendian+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking whether byte ordering is bigendian""... $ac_c" 1>&6 +echo "configure:3139: 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 <<_ACEOF -#line 5128 "configure" +cat > conftest.$ac_ext <<EOF +#line 3146 "configure" #include "confdefs.h" #include <sys/types.h> #include <sys/param.h> +int main() { -int -main () -{ #if !BYTE_ORDER || !BIG_ENDIAN || !LITTLE_ENDIAN bogus endian macros #endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:5145: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:5148: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:5151: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:5154: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:3157: \"$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 <<_ACEOF -#line 5158 "configure" +cat > conftest.$ac_ext <<EOF +#line 3161 "configure" #include "confdefs.h" #include <sys/types.h> #include <sys/param.h> +int main() { -int -main () -{ #if BYTE_ORDER != BIG_ENDIAN not big endian #endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:5175: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:5178: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:5181: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:5184: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:3172: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_c_bigendian=yes else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_c_bigendian=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + ac_cv_c_bigendian=no fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest* else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest* if test $ac_cv_c_bigendian = unknown; then if test "$cross_compiling" = yes; then - { { echo "$as_me:5200: error: cannot run test program while cross compiling" >&5 -echo "$as_me: error: cannot run test program while cross compiling" >&2;} - { (exit 1); exit 1; }; } + { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else - cat >conftest.$ac_ext <<_ACEOF -#line 5205 "configure" + cat > conftest.$ac_ext <<EOF +#line 3192 "configure" #include "confdefs.h" -int -main () -{ +main () { /* Are we little or big endian? From Harbison&Steele. */ union { @@ -5216,97 +3200,106 @@ main () u.l = 1; exit (u.c[sizeof (long) - 1] == 1); } -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:5221: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:5224: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:5226: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:5229: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +EOF +if { (eval echo configure:3205: \"$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 - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_c_bigendian=yes + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -fr conftest* + ac_cv_c_bigendian=yes fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -fr conftest* fi + fi fi -echo "$as_me:5242: result: $ac_cv_c_bigendian" >&5 -echo "${ECHO_T}$ac_cv_c_bigendian" >&6 -if test $ac_cv_c_bigendian = yes; then -cat >>confdefs.h <<\EOF +echo "$ac_t""$ac_cv_c_bigendian" 1>&6 +if test $ac_cv_c_bigendian = yes; then + cat >> confdefs.h <<\EOF #define WORDS_BIGENDIAN 1 EOF fi -echo "$as_me:5252: checking whether char is unsigned" >&5 -echo $ECHO_N "checking whether char is unsigned... $ECHO_C" >&6 -if test "${ac_cv_c_char_unsigned+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking whether char is unsigned""... $ac_c" 1>&6 +echo "configure:3229: 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 - cat >conftest.$ac_ext <<_ACEOF -#line 5258 "configure" + if test "$GCC" = yes; then + # GCC predefines this symbol on systems where it applies. +cat > conftest.$ac_ext <<EOF +#line 3236 "configure" #include "confdefs.h" -$ac_includes_default -int -main () -{ -int _array_ [1 - 2 * !(((char) -1) < 0)] - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:5270: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:5273: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:5276: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:5279: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +#ifdef __CHAR_UNSIGNED__ + yes +#endif + +EOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + egrep "yes" >/dev/null 2>&1; then + rm -rf conftest* + ac_cv_c_char_unsigned=yes +else + rm -rf conftest* ac_cv_c_char_unsigned=no +fi +rm -f conftest* + +else +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 3258 "configure" +#include "confdefs.h" +/* volatile prevents gcc2 from optimizing the test away on sparcs. */ +#if !defined(__STDC__) || __STDC__ != 1 +#define volatile +#endif +main() { + volatile char c = 255; exit(c < 0); +} +EOF +if { (eval echo configure:3268: \"$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 - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_c_char_unsigned=yes + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -fr conftest* + ac_cv_c_char_unsigned=no +fi +rm -fr conftest* fi -rm -f conftest.$ac_objext conftest.$ac_ext + fi -echo "$as_me:5289: result: $ac_cv_c_char_unsigned" >&5 -echo "${ECHO_T}$ac_cv_c_char_unsigned" >&6 +fi + +echo "$ac_t""$ac_cv_c_char_unsigned" 1>&6 if test $ac_cv_c_char_unsigned = yes && test "$GCC" != yes; then - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define __CHAR_UNSIGNED__ 1 EOF fi -echo "$as_me:5298: checking return type of signal handlers" >&5 -echo $ECHO_N "checking return type of signal handlers... $ECHO_C" >&6 -if test "${ac_cv_type_signal+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + +echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6 +echo "configure:3293: 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 <<_ACEOF -#line 5304 "configure" + cat > conftest.$ac_ext <<EOF +#line 3298 "configure" #include "confdefs.h" #include <sys/types.h> #include <signal.h> #ifdef signal -# undef signal +#undef signal #endif #ifdef __cplusplus extern "C" void (*signal (int, void (*)(int)))(int); @@ -5314,896 +3307,588 @@ extern "C" void (*signal (int, void (*)(int)))(int); void (*signal ()) (); #endif -int -main () -{ +int main() { int i; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:5326: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:5329: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:5332: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:5335: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:3315: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_type_signal=void else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_type_signal=int + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + ac_cv_type_signal=int fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest* fi -echo "$as_me:5345: result: $ac_cv_type_signal" >&5 -echo "${ECHO_T}$ac_cv_type_signal" >&6 -cat >>confdefs.h <<EOF +echo "$ac_t""$ac_cv_type_signal" 1>&6 +cat >> confdefs.h <<EOF #define RETSIGTYPE $ac_cv_type_signal EOF -echo "$as_me:5352: checking for uid_t in sys/types.h" >&5 -echo $ECHO_N "checking for uid_t in sys/types.h... $ECHO_C" >&6 -if test "${ac_cv_type_uid_t+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + +echo $ac_n "checking for uid_t in sys/types.h""... $ac_c" 1>&6 +echo "configure:3334: 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 <<_ACEOF -#line 5358 "configure" + cat > conftest.$ac_ext <<EOF +#line 3339 "configure" #include "confdefs.h" #include <sys/types.h> - -_ACEOF +EOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | egrep "uid_t" >/dev/null 2>&1; then + rm -rf conftest* ac_cv_type_uid_t=yes else + rm -rf conftest* ac_cv_type_uid_t=no fi rm -f conftest* fi -echo "$as_me:5372: result: $ac_cv_type_uid_t" >&5 -echo "${ECHO_T}$ac_cv_type_uid_t" >&6 -if test $ac_cv_type_uid_t = no; then -cat >>confdefs.h <<\EOF +echo "$ac_t""$ac_cv_type_uid_t" 1>&6 +if test $ac_cv_type_uid_t = no; then + cat >> confdefs.h <<\EOF #define uid_t int EOF -cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define gid_t int EOF fi -echo "$as_me:5386: checking for mode_t" >&5 -echo $ECHO_N "checking for mode_t... $ECHO_C" >&6 -if test "${ac_cv_type_mode_t+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for mode_t""... $ac_c" 1>&6 +echo "configure:3368: 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 <<_ACEOF -#line 5392 "configure" + cat > conftest.$ac_ext <<EOF +#line 3373 "configure" #include "confdefs.h" -$ac_includes_default -int -main () -{ -if ((mode_t *) 0) - return 0; -if (sizeof (mode_t)) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:5407: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:5410: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:5413: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:5416: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +#include <sys/types.h> +#if STDC_HEADERS +#include <stdlib.h> +#include <stddef.h> +#endif +EOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + egrep "(^|[^a-zA-Z_0-9])mode_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then + rm -rf conftest* ac_cv_type_mode_t=yes else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_type_mode_t=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext + rm -rf conftest* + ac_cv_type_mode_t=no fi -echo "$as_me:5426: result: $ac_cv_type_mode_t" >&5 -echo "${ECHO_T}$ac_cv_type_mode_t" >&6 -if test $ac_cv_type_mode_t = yes; then - : -else +rm -f conftest* -cat >>confdefs.h <<EOF +fi +echo "$ac_t""$ac_cv_type_mode_t" 1>&6 +if test $ac_cv_type_mode_t = no; then + cat >> confdefs.h <<\EOF #define mode_t int EOF fi -echo "$as_me:5438: checking for off_t" >&5 -echo $ECHO_N "checking for off_t... $ECHO_C" >&6 -if test "${ac_cv_type_off_t+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for off_t""... $ac_c" 1>&6 +echo "configure:3401: 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 <<_ACEOF -#line 5444 "configure" + cat > conftest.$ac_ext <<EOF +#line 3406 "configure" #include "confdefs.h" -$ac_includes_default -int -main () -{ -if ((off_t *) 0) - return 0; -if (sizeof (off_t)) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:5459: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:5462: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:5465: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:5468: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +#include <sys/types.h> +#if STDC_HEADERS +#include <stdlib.h> +#include <stddef.h> +#endif +EOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + egrep "(^|[^a-zA-Z_0-9])off_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then + rm -rf conftest* ac_cv_type_off_t=yes else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_type_off_t=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext + rm -rf conftest* + ac_cv_type_off_t=no fi -echo "$as_me:5478: result: $ac_cv_type_off_t" >&5 -echo "${ECHO_T}$ac_cv_type_off_t" >&6 -if test $ac_cv_type_off_t = yes; then - : -else +rm -f conftest* -cat >>confdefs.h <<EOF +fi +echo "$ac_t""$ac_cv_type_off_t" 1>&6 +if test $ac_cv_type_off_t = no; then + cat >> confdefs.h <<\EOF #define off_t long EOF fi -echo "$as_me:5490: checking for size_t" >&5 -echo $ECHO_N "checking for size_t... $ECHO_C" >&6 -if test "${ac_cv_type_size_t+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for size_t""... $ac_c" 1>&6 +echo "configure:3434: 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 <<_ACEOF -#line 5496 "configure" + cat > conftest.$ac_ext <<EOF +#line 3439 "configure" #include "confdefs.h" -$ac_includes_default -int -main () -{ -if ((size_t *) 0) - return 0; -if (sizeof (size_t)) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:5511: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:5514: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:5517: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:5520: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +#include <sys/types.h> +#if STDC_HEADERS +#include <stdlib.h> +#include <stddef.h> +#endif +EOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + egrep "(^|[^a-zA-Z_0-9])size_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then + rm -rf conftest* ac_cv_type_size_t=yes else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_type_size_t=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext + rm -rf conftest* + ac_cv_type_size_t=no fi -echo "$as_me:5530: result: $ac_cv_type_size_t" >&5 -echo "${ECHO_T}$ac_cv_type_size_t" >&6 -if test $ac_cv_type_size_t = yes; then - : -else +rm -f conftest* -cat >>confdefs.h <<EOF +fi +echo "$ac_t""$ac_cv_type_size_t" 1>&6 +if test $ac_cv_type_size_t = no; then + cat >> confdefs.h <<\EOF #define size_t unsigned EOF fi -echo "$as_me:5542: checking for pid_t" >&5 -echo $ECHO_N "checking for pid_t... $ECHO_C" >&6 -if test "${ac_cv_type_pid_t+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for pid_t""... $ac_c" 1>&6 +echo "configure:3467: 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 <<_ACEOF -#line 5548 "configure" + cat > conftest.$ac_ext <<EOF +#line 3472 "configure" #include "confdefs.h" -$ac_includes_default -int -main () -{ -if ((pid_t *) 0) - return 0; -if (sizeof (pid_t)) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:5563: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:5566: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:5569: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:5572: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +#include <sys/types.h> +#if STDC_HEADERS +#include <stdlib.h> +#include <stddef.h> +#endif +EOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + egrep "(^|[^a-zA-Z_0-9])pid_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then + rm -rf conftest* ac_cv_type_pid_t=yes else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_type_pid_t=no + rm -rf conftest* + ac_cv_type_pid_t=no fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:5582: result: $ac_cv_type_pid_t" >&5 -echo "${ECHO_T}$ac_cv_type_pid_t" >&6 -if test $ac_cv_type_pid_t = yes; then - : -else +rm -f conftest* -cat >>confdefs.h <<EOF +fi +echo "$ac_t""$ac_cv_type_pid_t" 1>&6 +if test $ac_cv_type_pid_t = no; then + cat >> confdefs.h <<\EOF #define pid_t int EOF fi -echo "$as_me:5594: checking for struct stat.st_rdev" >&5 -echo $ECHO_N "checking for struct stat.st_rdev... $ECHO_C" >&6 -if test "${ac_cv_member_struct_stat_st_rdev+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for st_rdev in struct stat""... $ac_c" 1>&6 +echo "configure:3500: 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 <<_ACEOF -#line 5600 "configure" + cat > conftest.$ac_ext <<EOF +#line 3505 "configure" #include "confdefs.h" -$ac_includes_default -int -main () -{ -static struct stat ac_aggr; -if (ac_aggr.st_rdev) -return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:5614: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:5617: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:5620: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:5623: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_member_struct_stat_st_rdev=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_member_struct_stat_st_rdev=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:5633: result: $ac_cv_member_struct_stat_st_rdev" >&5 -echo "${ECHO_T}$ac_cv_member_struct_stat_st_rdev" >&6 -if test $ac_cv_member_struct_stat_st_rdev = yes; then - -cat >>confdefs.h <<EOF -#define HAVE_STRUCT_STAT_ST_RDEV 1 -EOF - -cat >>confdefs.h <<\EOF +#include <sys/types.h> +#include <sys/stat.h> +int main() { +struct stat s; s.st_rdev; +; return 0; } +EOF +if { (eval echo configure:3513: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + ac_cv_struct_st_rdev=yes +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + ac_cv_struct_st_rdev=no +fi +rm -f conftest* +fi + +echo "$ac_t""$ac_cv_struct_st_rdev" 1>&6 +if test $ac_cv_struct_st_rdev = yes; then + cat >> confdefs.h <<\EOF #define HAVE_ST_RDEV 1 EOF fi -echo "$as_me:5647: checking for d_off in dirent" >&5 -echo $ECHO_N "checking for d_off in dirent... $ECHO_C" >&6 -if test "${ac_cv_dirent_d_off+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for d_off in dirent""... $ac_c" 1>&6 +echo "configure:3534: 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 <<_ACEOF -#line 5653 "configure" + cat > conftest.$ac_ext <<EOF +#line 3539 "configure" #include "confdefs.h" #include <unistd.h> #include <sys/types.h> #include <dirent.h> -int -main () -{ +int main() { struct dirent d; d.d_off; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:5668: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:5671: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:5674: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:5677: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:3549: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_dirent_d_off=yes else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_dirent_d_off=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + ac_cv_dirent_d_off=no fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest* fi -echo "$as_me:5687: result: $ac_cv_dirent_d_off" >&5 -echo "${ECHO_T}$ac_cv_dirent_d_off" >&6 + +echo "$ac_t""$ac_cv_dirent_d_off" 1>&6 if test $ac_cv_dirent_d_off = yes; then - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define HAVE_DIRENT_D_OFF 1 EOF fi -echo "$as_me:5696: checking for ino_t" >&5 -echo $ECHO_N "checking for ino_t... $ECHO_C" >&6 -if test "${ac_cv_type_ino_t+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for ino_t""... $ac_c" 1>&6 +echo "configure:3570: 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 <<_ACEOF -#line 5702 "configure" + cat > conftest.$ac_ext <<EOF +#line 3575 "configure" #include "confdefs.h" -$ac_includes_default -int -main () -{ -if ((ino_t *) 0) - return 0; -if (sizeof (ino_t)) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:5717: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:5720: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:5723: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:5726: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +#include <sys/types.h> +#if STDC_HEADERS +#include <stdlib.h> +#include <stddef.h> +#endif +EOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + egrep "(^|[^a-zA-Z_0-9])ino_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then + rm -rf conftest* ac_cv_type_ino_t=yes else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_type_ino_t=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext + rm -rf conftest* + ac_cv_type_ino_t=no fi -echo "$as_me:5736: result: $ac_cv_type_ino_t" >&5 -echo "${ECHO_T}$ac_cv_type_ino_t" >&6 -if test $ac_cv_type_ino_t = yes; then - : -else +rm -f conftest* -cat >>confdefs.h <<EOF +fi +echo "$ac_t""$ac_cv_type_ino_t" 1>&6 +if test $ac_cv_type_ino_t = no; then + cat >> confdefs.h <<\EOF #define ino_t unsigned EOF fi -echo "$as_me:5748: checking for loff_t" >&5 -echo $ECHO_N "checking for loff_t... $ECHO_C" >&6 -if test "${ac_cv_type_loff_t+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for loff_t""... $ac_c" 1>&6 +echo "configure:3603: 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 <<_ACEOF -#line 5754 "configure" + cat > conftest.$ac_ext <<EOF +#line 3608 "configure" #include "confdefs.h" -$ac_includes_default -int -main () -{ -if ((loff_t *) 0) - return 0; -if (sizeof (loff_t)) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:5769: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:5772: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:5775: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:5778: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +#include <sys/types.h> +#if STDC_HEADERS +#include <stdlib.h> +#include <stddef.h> +#endif +EOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + egrep "(^|[^a-zA-Z_0-9])loff_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then + rm -rf conftest* ac_cv_type_loff_t=yes else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_type_loff_t=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext + rm -rf conftest* + ac_cv_type_loff_t=no fi -echo "$as_me:5788: result: $ac_cv_type_loff_t" >&5 -echo "${ECHO_T}$ac_cv_type_loff_t" >&6 -if test $ac_cv_type_loff_t = yes; then - : -else +rm -f conftest* -cat >>confdefs.h <<EOF +fi +echo "$ac_t""$ac_cv_type_loff_t" 1>&6 +if test $ac_cv_type_loff_t = no; then + cat >> confdefs.h <<\EOF #define loff_t off_t EOF fi -echo "$as_me:5800: checking for offset_t" >&5 -echo $ECHO_N "checking for offset_t... $ECHO_C" >&6 -if test "${ac_cv_type_offset_t+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for offset_t""... $ac_c" 1>&6 +echo "configure:3636: 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 <<_ACEOF -#line 5806 "configure" + cat > conftest.$ac_ext <<EOF +#line 3641 "configure" #include "confdefs.h" -$ac_includes_default -int -main () -{ -if ((offset_t *) 0) - return 0; -if (sizeof (offset_t)) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:5821: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:5824: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:5827: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:5830: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +#include <sys/types.h> +#if STDC_HEADERS +#include <stdlib.h> +#include <stddef.h> +#endif +EOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + egrep "(^|[^a-zA-Z_0-9])offset_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then + rm -rf conftest* ac_cv_type_offset_t=yes else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_type_offset_t=no + rm -rf conftest* + ac_cv_type_offset_t=no fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:5840: result: $ac_cv_type_offset_t" >&5 -echo "${ECHO_T}$ac_cv_type_offset_t" >&6 -if test $ac_cv_type_offset_t = yes; then - : -else +rm -f conftest* -cat >>confdefs.h <<EOF +fi +echo "$ac_t""$ac_cv_type_offset_t" 1>&6 +if test $ac_cv_type_offset_t = no; then + cat >> confdefs.h <<\EOF #define offset_t loff_t EOF fi -echo "$as_me:5852: checking for ssize_t" >&5 -echo $ECHO_N "checking for ssize_t... $ECHO_C" >&6 -if test "${ac_cv_type_ssize_t+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for ssize_t""... $ac_c" 1>&6 +echo "configure:3669: 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 <<_ACEOF -#line 5858 "configure" + cat > conftest.$ac_ext <<EOF +#line 3674 "configure" #include "confdefs.h" -$ac_includes_default -int -main () -{ -if ((ssize_t *) 0) - return 0; -if (sizeof (ssize_t)) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:5873: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:5876: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:5879: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:5882: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +#include <sys/types.h> +#if STDC_HEADERS +#include <stdlib.h> +#include <stddef.h> +#endif +EOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + egrep "(^|[^a-zA-Z_0-9])ssize_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then + rm -rf conftest* ac_cv_type_ssize_t=yes else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_type_ssize_t=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext + rm -rf conftest* + ac_cv_type_ssize_t=no fi -echo "$as_me:5892: result: $ac_cv_type_ssize_t" >&5 -echo "${ECHO_T}$ac_cv_type_ssize_t" >&6 -if test $ac_cv_type_ssize_t = yes; then - : -else +rm -f conftest* -cat >>confdefs.h <<EOF +fi +echo "$ac_t""$ac_cv_type_ssize_t" 1>&6 +if test $ac_cv_type_ssize_t = no; then + cat >> confdefs.h <<\EOF #define ssize_t int EOF fi -echo "$as_me:5904: checking for wchar_t" >&5 -echo $ECHO_N "checking for wchar_t... $ECHO_C" >&6 -if test "${ac_cv_type_wchar_t+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for wchar_t""... $ac_c" 1>&6 +echo "configure:3702: 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 <<_ACEOF -#line 5910 "configure" + cat > conftest.$ac_ext <<EOF +#line 3707 "configure" #include "confdefs.h" -$ac_includes_default -int -main () -{ -if ((wchar_t *) 0) - return 0; -if (sizeof (wchar_t)) - return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:5925: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:5928: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:5931: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:5934: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +#include <sys/types.h> +#if STDC_HEADERS +#include <stdlib.h> +#include <stddef.h> +#endif +EOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + egrep "(^|[^a-zA-Z_0-9])wchar_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then + rm -rf conftest* ac_cv_type_wchar_t=yes else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_type_wchar_t=no + rm -rf conftest* + ac_cv_type_wchar_t=no fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:5944: result: $ac_cv_type_wchar_t" >&5 -echo "${ECHO_T}$ac_cv_type_wchar_t" >&6 -if test $ac_cv_type_wchar_t = yes; then - : -else +rm -f conftest* -cat >>confdefs.h <<EOF +fi +echo "$ac_t""$ac_cv_type_wchar_t" 1>&6 +if test $ac_cv_type_wchar_t = no; then + cat >> confdefs.h <<\EOF #define wchar_t unsigned short EOF fi + ############################################ # for cups support we need libcups, and a handful of header files -echo "$as_me:5959: checking for httpConnect in -lcups" >&5 -echo $ECHO_N "checking for httpConnect in -lcups... $ECHO_C" >&6 -if test "${ac_cv_lib_cups_httpConnect+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lcups $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line 5967 "configure" -#include "confdefs.h" - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char httpConnect (); -int -main () -{ -httpConnect (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:5986: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:5989: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:5992: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:5995: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_cups_httpConnect=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_cups_httpConnect=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:6006: result: $ac_cv_lib_cups_httpConnect" >&5 -echo "${ECHO_T}$ac_cv_lib_cups_httpConnect" >&6 -if test $ac_cv_lib_cups_httpConnect = yes; then - cat >>confdefs.h <<EOF -#define HAVE_LIBCUPS 1 -EOF - - LIBS="-lcups $LIBS" - +# Check whether --enable-cups or --disable-cups was given. +if test "${enable_cups+set}" = set; then + enableval="$enable_cups" + : fi -# I wonder if there is a nicer way of doing this? -if test x"$ac_cv_lib_cups_httpConnect" = x"yes"; then - -for ac_header in cups/cups.h cups/language.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -echo "$as_me:6024: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 6030 "configure" -#include "confdefs.h" -#include <$ac_header> -_ACEOF -if { (eval echo "$as_me:6034: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:6040: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi +if test x$enable_cups != xno; then + # Extract the first word of "cups-config", so it can be a program name with args. +set dummy cups-config; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:3749: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_path_CUPS_CONFIG'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else - ac_cpp_err=yes + case "$CUPS_CONFIG" in + /*) + ac_cv_path_CUPS_CONFIG="$CUPS_CONFIG" # Let the user override the test with a path. + ;; + ?:/*) + ac_cv_path_CUPS_CONFIG="$CUPS_CONFIG" # Let the user override the test with a dos path. + ;; + *) + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_path_CUPS_CONFIG="$ac_dir/$ac_word" + break + fi + done + IFS="$ac_save_ifs" + ;; +esac fi -if test -z "$ac_cpp_err"; then - eval "$as_ac_Header=yes" +CUPS_CONFIG="$ac_cv_path_CUPS_CONFIG" +if test -n "$CUPS_CONFIG"; then + echo "$ac_t""$CUPS_CONFIG" 1>&6 else - echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 - eval "$as_ac_Header=no" + echo "$ac_t""no" 1>&6 fi -rm -f conftest.err conftest.$ac_ext -fi -echo "$as_me:6059: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 -EOF -fi -done - if test x"$ac_cv_header_cups_cups_h" = x"yes"; then - if test x"$ac_cv_header_cups_language_h" = x"yes"; then - cat >>confdefs.h <<\EOF + if test "x$CUPS_CONFIG" != x; then + cat >> confdefs.h <<\EOF #define HAVE_CUPS 1 EOF - fi + CFLAGS="$CFLAGS `$CUPS_CONFIG --cflags`" + LDFLAGS="$LDFLAGS `$CUPS_CONFIG --ldflags`" + LIBS="$LIBS `$CUPS_CONFIG --libs`" fi fi ############################################ # we need dlopen/dlclose/dlsym/dlerror for PAM, the password database plugins and the new VFS code - for ac_func in dlopen do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:6085: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 6091 "configure" +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:3798: 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 3803 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ + which can conflict with char $ac_func(); below. */ #include <assert.h> /* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); + builtin and then its argument prototype would still apply. */ +char $ac_func(); + +int main() { -int -main () -{ /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else -f = $ac_func; +$ac_func(); #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:6122: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:6125: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:6128: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:6131: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:6141: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +; return 0; } EOF +if { (eval echo configure:3826: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_func_$ac_func=no" +fi +rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + cat >> confdefs.h <<EOF +#define $ac_tr_func 1 +EOF + +else + echo "$ac_t""no" 1>&6 fi done if test x"$ac_cv_func_dlopen" = x"no"; then - echo "$as_me:6152: checking for dlopen in -ldl" >&5 -echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6 -if test "${ac_cv_lib_dl_dlopen+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6 +echo "configure:3852: 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 else - ac_check_lib_save_LIBS=$LIBS + ac_save_LIBS="$LIBS" LIBS="-ldl $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line 6160 "configure" +cat > conftest.$ac_ext <<EOF +#line 3860 "configure" #include "confdefs.h" - /* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char dlopen (); -int -main () -{ -dlopen (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:6179: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:6182: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:6185: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:6188: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_dl_dlopen=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_dl_dlopen=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:6199: result: $ac_cv_lib_dl_dlopen" >&5 -echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6 -if test $ac_cv_lib_dl_dlopen = yes; then + builtin and then its argument prototype would still apply. */ +char dlopen(); + +int main() { +dlopen() +; return 0; } +EOF +if { (eval echo configure:3871: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -f conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 LIBS="$LIBS -ldl"; - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define HAVE_DLOPEN 1 EOF +else + echo "$ac_t""no" 1>&6 fi fi @@ -6211,20 +3896,18 @@ fi ############################################ # check if the compiler can do immediate structures -echo "$as_me:6214: checking for immediate structures" >&5 -echo $ECHO_N "checking for immediate structures... $ECHO_C" >&6 -if test "${samba_cv_immediate_structures+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for immediate structures""... $ac_c" 1>&6 +echo "configure:3901: 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 <<_ACEOF -#line 6221 "configure" + + cat > conftest.$ac_ext <<EOF +#line 3907 "configure" #include "confdefs.h" #include <stdio.h> -int -main () -{ +int main() { typedef struct {unsigned x;} FOOBAR; #define X_FOOBAR(x) ((FOOBAR) { x }) @@ -6236,34 +3919,23 @@ main () {FOO_ONE} }; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:6244: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:6247: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:6250: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:6253: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:3925: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* samba_cv_immediate_structures=yes else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -samba_cv_immediate_structures=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + samba_cv_immediate_structures=no fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest* fi -echo "$as_me:6263: result: $samba_cv_immediate_structures" >&5 -echo "${ECHO_T}$samba_cv_immediate_structures" >&6 + +echo "$ac_t""$samba_cv_immediate_structures" 1>&6 if test x"$samba_cv_immediate_structures" = x"yes"; then - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define HAVE_IMMEDIATE_STRUCTURES 1 EOF @@ -6271,14 +3943,14 @@ fi ############################################ # check for unix domain sockets -echo "$as_me:6274: checking for unix domain sockets" >&5 -echo $ECHO_N "checking for unix domain sockets... $ECHO_C" >&6 -if test "${samba_cv_unixsocket+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for unix domain sockets""... $ac_c" 1>&6 +echo "configure:3948: 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 <<_ACEOF -#line 6281 "configure" + + cat > conftest.$ac_ext <<EOF +#line 3954 "configure" #include "confdefs.h" #include <sys/types.h> @@ -6286,54 +3958,41 @@ else #include <stddef.h> #include <sys/socket.h> #include <sys/un.h> -int -main () -{ +int main() { - struct sockaddr_un sunaddr; + struct sockaddr_un sunaddr; sunaddr.sun_family = AF_UNIX; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:6301: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:6304: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:6307: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:6310: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:3969: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* samba_cv_unixsocket=yes else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -samba_cv_unixsocket=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + samba_cv_unixsocket=no fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest* fi -echo "$as_me:6320: result: $samba_cv_unixsocket" >&5 -echo "${ECHO_T}$samba_cv_unixsocket" >&6 + +echo "$ac_t""$samba_cv_unixsocket" 1>&6 if test x"$samba_cv_unixsocket" = x"yes"; then - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define HAVE_UNIXSOCKET 1 EOF fi -echo "$as_me:6329: checking for socklen_t type" >&5 -echo $ECHO_N "checking for socklen_t type... $ECHO_C" >&6 -if test "${samba_cv_socklen_t+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for socklen_t type""... $ac_c" 1>&6 +echo "configure:3990: 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 <<_ACEOF -#line 6336 "configure" + + cat > conftest.$ac_ext <<EOF +#line 3996 "configure" #include "confdefs.h" #include <sys/types.h> @@ -6342,51 +4001,38 @@ else #include <stddef.h> #endif #include <sys/socket.h> -int -main () -{ +int main() { socklen_t i = 0 - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:6354: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:6357: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:6360: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:6363: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:4009: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* samba_cv_socklen_t=yes else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -samba_cv_socklen_t=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + samba_cv_socklen_t=no fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest* fi -echo "$as_me:6373: result: $samba_cv_socklen_t" >&5 -echo "${ECHO_T}$samba_cv_socklen_t" >&6 + +echo "$ac_t""$samba_cv_socklen_t" 1>&6 if test x"$samba_cv_socklen_t" = x"yes"; then - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define HAVE_SOCKLEN_T_TYPE 1 EOF fi -echo "$as_me:6382: checking for sig_atomic_t type" >&5 -echo $ECHO_N "checking for sig_atomic_t type... $ECHO_C" >&6 -if test "${samba_cv_sig_atomic_t+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for sig_atomic_t type""... $ac_c" 1>&6 +echo "configure:4030: 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 <<_ACEOF -#line 6389 "configure" + + cat > conftest.$ac_ext <<EOF +#line 4036 "configure" #include "confdefs.h" #include <sys/types.h> @@ -6395,38 +4041,25 @@ else #include <stddef.h> #endif #include <signal.h> -int -main () -{ +int main() { sig_atomic_t i = 0 - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:6407: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:6410: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:6413: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:6416: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:4049: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* samba_cv_sig_atomic_t=yes else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -samba_cv_sig_atomic_t=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + samba_cv_sig_atomic_t=no fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest* fi -echo "$as_me:6426: result: $samba_cv_sig_atomic_t" >&5 -echo "${ECHO_T}$samba_cv_sig_atomic_t" >&6 + +echo "$ac_t""$samba_cv_sig_atomic_t" 1>&6 if test x"$samba_cv_sig_atomic_t" = x"yes"; then - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define HAVE_SIG_ATOMIC_T_TYPE 1 EOF @@ -6434,377 +4067,285 @@ fi # stupid headers have the functions but no declaration. grrrr. - echo "$as_me:6437: checking for errno declaration" >&5 -echo $ECHO_N "checking for errno declaration... $ECHO_C" >&6 -if test "${ac_cv_have_errno_decl+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + echo $ac_n "checking for errno declaration""... $ac_c" 1>&6 +echo "configure:4072: 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 <<_ACEOF -#line 6444 "configure" + + cat > conftest.$ac_ext <<EOF +#line 4078 "configure" #include "confdefs.h" #include <errno.h> -int -main () -{ +int main() { int i = (int)errno - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:6456: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:6459: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:6462: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:6465: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:4085: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_have_errno_decl=yes else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_have_errno_decl=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + ac_cv_have_errno_decl=no fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest* fi -echo "$as_me:6475: result: $ac_cv_have_errno_decl" >&5 -echo "${ECHO_T}$ac_cv_have_errno_decl" >&6 + +echo "$ac_t""$ac_cv_have_errno_decl" 1>&6 if test x"$ac_cv_have_errno_decl" = x"yes"; then - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define HAVE_ERRNO_DECL 1 EOF fi - echo "$as_me:6484: checking for setresuid declaration" >&5 -echo $ECHO_N "checking for setresuid declaration... $ECHO_C" >&6 -if test "${ac_cv_have_setresuid_decl+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 6491 "configure" + echo $ac_n "checking for setresuid declaration""... $ac_c" 1>&6 +echo "configure:4107: 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 4113 "configure" #include "confdefs.h" #include <unistd.h> -int -main () -{ +int main() { int i = (int)setresuid - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:6503: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:6506: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:6509: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:6512: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:4120: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_have_setresuid_decl=yes else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_have_setresuid_decl=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + ac_cv_have_setresuid_decl=no fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest* fi -echo "$as_me:6522: result: $ac_cv_have_setresuid_decl" >&5 -echo "${ECHO_T}$ac_cv_have_setresuid_decl" >&6 + +echo "$ac_t""$ac_cv_have_setresuid_decl" 1>&6 if test x"$ac_cv_have_setresuid_decl" = x"yes"; then - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define HAVE_SETRESUID_DECL 1 EOF fi - echo "$as_me:6531: checking for setresgid declaration" >&5 -echo $ECHO_N "checking for setresgid declaration... $ECHO_C" >&6 -if test "${ac_cv_have_setresgid_decl+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 6538 "configure" + echo $ac_n "checking for setresgid declaration""... $ac_c" 1>&6 +echo "configure:4142: 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 4148 "configure" #include "confdefs.h" #include <unistd.h> -int -main () -{ +int main() { int i = (int)setresgid - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:6550: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:6553: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:6556: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:6559: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:4155: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_have_setresgid_decl=yes else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_have_setresgid_decl=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + ac_cv_have_setresgid_decl=no fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest* fi -echo "$as_me:6569: result: $ac_cv_have_setresgid_decl" >&5 -echo "${ECHO_T}$ac_cv_have_setresgid_decl" >&6 + +echo "$ac_t""$ac_cv_have_setresgid_decl" 1>&6 if test x"$ac_cv_have_setresgid_decl" = x"yes"; then - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define HAVE_SETRESGID_DECL 1 EOF fi - echo "$as_me:6578: checking for asprintf declaration" >&5 -echo $ECHO_N "checking for asprintf declaration... $ECHO_C" >&6 -if test "${ac_cv_have_asprintf_decl+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 6585 "configure" + echo $ac_n "checking for asprintf declaration""... $ac_c" 1>&6 +echo "configure:4177: 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 4183 "configure" #include "confdefs.h" #include <stdio.h> -int -main () -{ +int main() { int i = (int)asprintf - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:6597: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:6600: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:6603: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:6606: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:4190: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_have_asprintf_decl=yes else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_have_asprintf_decl=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + ac_cv_have_asprintf_decl=no fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest* fi -echo "$as_me:6616: result: $ac_cv_have_asprintf_decl" >&5 -echo "${ECHO_T}$ac_cv_have_asprintf_decl" >&6 + +echo "$ac_t""$ac_cv_have_asprintf_decl" 1>&6 if test x"$ac_cv_have_asprintf_decl" = x"yes"; then - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define HAVE_ASPRINTF_DECL 1 EOF fi - echo "$as_me:6625: checking for vasprintf declaration" >&5 -echo $ECHO_N "checking for vasprintf declaration... $ECHO_C" >&6 -if test "${ac_cv_have_vasprintf_decl+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 6632 "configure" + echo $ac_n "checking for vasprintf declaration""... $ac_c" 1>&6 +echo "configure:4212: 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 4218 "configure" #include "confdefs.h" #include <stdio.h> -int -main () -{ +int main() { int i = (int)vasprintf - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:6644: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:6647: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:6650: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:6653: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:4225: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_have_vasprintf_decl=yes else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_have_vasprintf_decl=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + ac_cv_have_vasprintf_decl=no fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest* fi -echo "$as_me:6663: result: $ac_cv_have_vasprintf_decl" >&5 -echo "${ECHO_T}$ac_cv_have_vasprintf_decl" >&6 + +echo "$ac_t""$ac_cv_have_vasprintf_decl" 1>&6 if test x"$ac_cv_have_vasprintf_decl" = x"yes"; then - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define HAVE_VASPRINTF_DECL 1 EOF fi - echo "$as_me:6672: checking for vsnprintf declaration" >&5 -echo $ECHO_N "checking for vsnprintf declaration... $ECHO_C" >&6 -if test "${ac_cv_have_vsnprintf_decl+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 6679 "configure" + echo $ac_n "checking for vsnprintf declaration""... $ac_c" 1>&6 +echo "configure:4247: 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 4253 "configure" #include "confdefs.h" #include <stdio.h> -int -main () -{ +int main() { int i = (int)vsnprintf - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:6691: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:6694: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:6697: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:6700: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:4260: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_have_vsnprintf_decl=yes else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_have_vsnprintf_decl=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + ac_cv_have_vsnprintf_decl=no fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest* fi -echo "$as_me:6710: result: $ac_cv_have_vsnprintf_decl" >&5 -echo "${ECHO_T}$ac_cv_have_vsnprintf_decl" >&6 + +echo "$ac_t""$ac_cv_have_vsnprintf_decl" 1>&6 if test x"$ac_cv_have_vsnprintf_decl" = x"yes"; then - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define HAVE_VSNPRINTF_DECL 1 EOF fi - echo "$as_me:6719: checking for snprintf declaration" >&5 -echo $ECHO_N "checking for snprintf declaration... $ECHO_C" >&6 -if test "${ac_cv_have_snprintf_decl+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 6726 "configure" + echo $ac_n "checking for snprintf declaration""... $ac_c" 1>&6 +echo "configure:4282: 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 4288 "configure" #include "confdefs.h" #include <stdio.h> -int -main () -{ +int main() { int i = (int)snprintf - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:6738: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:6741: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:6744: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:6747: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:4295: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* ac_cv_have_snprintf_decl=yes else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_have_snprintf_decl=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + ac_cv_have_snprintf_decl=no fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest* fi -echo "$as_me:6757: result: $ac_cv_have_snprintf_decl" >&5 -echo "${ECHO_T}$ac_cv_have_snprintf_decl" >&6 + +echo "$ac_t""$ac_cv_have_snprintf_decl" 1>&6 if test x"$ac_cv_have_snprintf_decl" = x"yes"; then - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define HAVE_SNPRINTF_DECL 1 EOF fi + # and glibc has setresuid under linux but the function does # nothing until kernel 2.1.44! very dumb. -echo "$as_me:6768: checking for real setresuid" >&5 -echo $ECHO_N "checking for real setresuid... $ECHO_C" >&6 -if test "${samba_cv_have_setresuid+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for real setresuid""... $ac_c" 1>&6 +echo "configure:4319: 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 - + if test "$cross_compiling" = yes; then samba_cv_have_setresuid=cross else - cat >conftest.$ac_ext <<_ACEOF -#line 6778 "configure" + cat > conftest.$ac_ext <<EOF +#line 4328 "configure" #include "confdefs.h" #include <errno.h> main() { setresuid(1,1,1); setresuid(2,2,2); exit(errno==EPERM?0:1);} -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:6784: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:6787: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:6789: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:6792: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +EOF +if { (eval echo configure:4333: \"$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 - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -samba_cv_have_setresuid=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -fr conftest* + samba_cv_have_setresuid=no fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -fr conftest* fi + fi -echo "$as_me:6804: result: $samba_cv_have_setresuid" >&5 -echo "${ECHO_T}$samba_cv_have_setresuid" >&6 + +echo "$ac_t""$samba_cv_have_setresuid" 1>&6 if test x"$samba_cv_have_setresuid" = x"yes"; then - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define HAVE_SETRESUID 1 EOF @@ -6812,405 +4353,310 @@ fi # Do the same check for setresguid... # -echo "$as_me:6815: checking for real setresgid" >&5 -echo $ECHO_N "checking for real setresgid... $ECHO_C" >&6 -if test "${samba_cv_have_setresgid+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for real setresgid""... $ac_c" 1>&6 +echo "configure:4358: 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 - + if test "$cross_compiling" = yes; then samba_cv_have_setresgid=cross else - cat >conftest.$ac_ext <<_ACEOF -#line 6825 "configure" + cat > conftest.$ac_ext <<EOF +#line 4367 "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);} -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:6832: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:6835: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:6837: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:6840: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +EOF +if { (eval echo configure:4373: \"$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 - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -samba_cv_have_setresgid=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -fr conftest* + samba_cv_have_setresgid=no fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -fr conftest* fi + fi -echo "$as_me:6852: result: $samba_cv_have_setresgid" >&5 -echo "${ECHO_T}$samba_cv_have_setresgid" >&6 + +echo "$ac_t""$samba_cv_have_setresgid" 1>&6 if test x"$samba_cv_have_setresgid" = x"yes"; then - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define HAVE_SETRESGID 1 EOF fi -echo "$as_me:6861: checking for working memcmp" >&5 -echo $ECHO_N "checking for working memcmp... $ECHO_C" >&6 -if test "${ac_cv_func_memcmp_working+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for 8-bit clean memcmp""... $ac_c" 1>&6 +echo "configure:4396: 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 if test "$cross_compiling" = yes; then - ac_cv_func_memcmp_working=no + ac_cv_func_memcmp_clean=no else - cat >conftest.$ac_ext <<_ACEOF -#line 6870 "configure" + cat > conftest.$ac_ext <<EOF +#line 4404 "configure" #include "confdefs.h" -int -main () +main() { - - /* Some versions of memcmp are not 8-bit clean. */ char c0 = 0x40, c1 = 0x80, c2 = 0x81; - if (memcmp(&c0, &c2, 1) >= 0 || memcmp(&c1, &c2, 1) >= 0) - exit (1); + exit(memcmp(&c0, &c2, 1) < 0 && memcmp(&c1, &c2, 1) < 0 ? 0 : 1); +} - /* The Next x86 OpenStep bug shows up only when comparing 16 bytes - or more and with at least one buffer not starting on a 4-byte boundary. - William Lewis provided this test program. */ - { - char foo[21]; - char bar[21]; - int i; - for (i = 0; i < 4; i++) - { - char *a = foo + i; - char *b = bar + i; - strcpy (a, "--------01111111"); - strcpy (b, "--------10000000"); - if (memcmp (a, b, 16) >= 0) - exit (1); - } - exit (0); - } +EOF +if { (eval echo configure:4414: \"$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 + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -fr conftest* + ac_cv_func_memcmp_clean=no +fi +rm -fr conftest* +fi + +fi + +echo "$ac_t""$ac_cv_func_memcmp_clean" 1>&6 +test $ac_cv_func_memcmp_clean = no && LIBOBJS="$LIBOBJS memcmp.${ac_objext}" - ; - return 0; -} -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:6906: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:6909: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:6911: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:6914: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_func_memcmp_working=yes -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_func_memcmp_working=no -fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi -fi -echo "$as_me:6926: result: $ac_cv_func_memcmp_working" >&5 -echo "${ECHO_T}$ac_cv_func_memcmp_working" >&6 -test $ac_cv_func_memcmp_working = no && LIBOBJS="$LIBOBJS memcmp.$ac_objext" ############################################### # Readline included by default unless explicitly asked not to test "${with_readline+set}" != "set" && with_readline=yes # test for where we get readline() from -echo "$as_me:6935: checking whether to use readline" >&5 -echo $ECHO_N "checking whether to use readline... $ECHO_C" >&6 - +echo $ac_n "checking whether to use readline""... $ac_c" 1>&6 +echo "configure:4438: 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" case "$with_readline" in yes) - echo "$as_me:6943: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + echo "$ac_t""yes" 1>&6 -for ac_header in readline.h history.h readline/readline.h + for ac_hdr in readline.h history.h readline/readline.h do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -echo "$as_me:6949: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 6955 "configure" -#include "confdefs.h" -#include <$ac_header> -_ACEOF -if { (eval echo "$as_me:6959: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:6965: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi +ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` +echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 +echo "configure:4450: 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 - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - eval "$as_ac_Header=yes" + cat > conftest.$ac_ext <<EOF +#line 4455 "configure" +#include "confdefs.h" +#include <$ac_hdr> +EOF +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:4460: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" else - echo "$as_me: failed program was:" >&5 + echo "$ac_err" >&5 + echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - eval "$as_ac_Header=no" + rm -rf conftest* + eval "ac_cv_header_$ac_safe=no" fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest* fi -echo "$as_me:6984: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` + cat >> confdefs.h <<EOF +#define $ac_tr_hdr 1 EOF - + +else + echo "$ac_t""no" 1>&6 fi done -for ac_header in readline/history.h + for ac_hdr in readline/history.h do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -echo "$as_me:6997: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 7003 "configure" -#include "confdefs.h" -#include <$ac_header> -_ACEOF -if { (eval echo "$as_me:7007: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:7013: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi +ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` +echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 +echo "configure:4490: 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 - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - eval "$as_ac_Header=yes" + cat > conftest.$ac_ext <<EOF +#line 4495 "configure" +#include "confdefs.h" +#include <$ac_hdr> +EOF +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:4500: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" else - echo "$as_me: failed program was:" >&5 + echo "$ac_err" >&5 + echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - eval "$as_ac_Header=no" + rm -rf conftest* + eval "ac_cv_header_$ac_safe=no" fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest* fi -echo "$as_me:7032: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` + cat >> confdefs.h <<EOF +#define $ac_tr_hdr 1 EOF - + +else + echo "$ac_t""no" 1>&6 fi done -for ac_header in readline.h readline/readline.h + + for ac_hdr in readline.h readline/readline.h do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -echo "$as_me:7045: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 7051 "configure" -#include "confdefs.h" -#include <$ac_header> -_ACEOF -if { (eval echo "$as_me:7055: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:7061: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi +ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` +echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 +echo "configure:4531: 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 - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - eval "$as_ac_Header=yes" + cat > conftest.$ac_ext <<EOF +#line 4536 "configure" +#include "confdefs.h" +#include <$ac_hdr> +EOF +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:4541: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" else - echo "$as_me: failed program was:" >&5 + echo "$ac_err" >&5 + echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - eval "$as_ac_Header=no" + rm -rf conftest* + eval "ac_cv_header_$ac_safe=no" fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest* fi -echo "$as_me:7080: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` + cat >> confdefs.h <<EOF +#define $ac_tr_hdr 1 EOF - + for termlib in ncurses curses termcap terminfo termlib; do - as_ac_Lib=`echo "ac_cv_lib_${termlib}''_tgetent" | $as_tr_sh` -echo "$as_me:7089: checking for tgetent in -l${termlib}" >&5 -echo $ECHO_N "checking for tgetent in -l${termlib}... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Lib+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + echo $ac_n "checking for tgetent in -l${termlib}""... $ac_c" 1>&6 +echo "configure:4564: 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 else - ac_check_lib_save_LIBS=$LIBS + ac_save_LIBS="$LIBS" LIBS="-l${termlib} $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line 7097 "configure" +cat > conftest.$ac_ext <<EOF +#line 4572 "configure" #include "confdefs.h" - /* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char tgetent (); -int -main () -{ -tgetent (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:7116: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:7119: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:7122: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:7125: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_Lib=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_Lib=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:7136: result: `eval echo '${'$as_ac_Lib'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Lib'}'`" >&6 -if test `eval echo '${'$as_ac_Lib'}'` = yes; then + builtin and then its argument prototype would still apply. */ +char tgetent(); + +int main() { +tgetent() +; return 0; } +EOF +if { (eval echo configure:4583: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -f conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 TERMLIBS="-l${termlib}"; break +else + echo "$ac_t""no" 1>&6 fi done - echo "$as_me:7143: checking for rl_callback_handler_install in -lreadline" >&5 -echo $ECHO_N "checking for rl_callback_handler_install in -lreadline... $ECHO_C" >&6 -if test "${ac_cv_lib_readline_rl_callback_handler_install+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + echo $ac_n "checking for rl_callback_handler_install in -lreadline""... $ac_c" 1>&6 +echo "configure:4605: 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 else - ac_check_lib_save_LIBS=$LIBS + ac_save_LIBS="$LIBS" LIBS="-lreadline $TERMLIBS $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line 7151 "configure" +cat > conftest.$ac_ext <<EOF +#line 4613 "configure" #include "confdefs.h" - /* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char rl_callback_handler_install (); -int -main () -{ -rl_callback_handler_install (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:7170: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:7173: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:7176: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:7179: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_readline_rl_callback_handler_install=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_readline_rl_callback_handler_install=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:7190: result: $ac_cv_lib_readline_rl_callback_handler_install" >&5 -echo "${ECHO_T}$ac_cv_lib_readline_rl_callback_handler_install" >&6 -if test $ac_cv_lib_readline_rl_callback_handler_install = yes; then + builtin and then its argument prototype would still apply. */ +char rl_callback_handler_install(); + +int main() { +rl_callback_handler_install() +; return 0; } +EOF +if { (eval echo configure:4624: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -f conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 TERMLIBS="-lreadline $TERMLIBS" - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define HAVE_LIBREADLINE 1 EOF break else - TERMLIBS= + echo "$ac_t""no" 1>&6 +TERMLIBS= fi +else + echo "$ac_t""no" 1>&6 fi done ;; no) - echo "$as_me:7208: result: no" >&5 -echo "${ECHO_T}no" >&6 + echo "$ac_t""no" 1>&6 ;; *) - echo "$as_me:7212: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + echo "$ac_t""yes" 1>&6 # Needed for AC_CHECK_HEADERS and AC_CHECK_LIB to look at # alternate readline path @@ -7221,277 +4667,229 @@ echo "${ECHO_T}yes" >&6 LDFLAGS="-L$with_readline/lib $LDFLAGS" CPPFLAGS="-I$with_readline/include $CPPFLAGS" -for ac_header in readline.h history.h readline/readline.h + for ac_hdr in readline.h history.h readline/readline.h do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -echo "$as_me:7227: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 7233 "configure" -#include "confdefs.h" -#include <$ac_header> -_ACEOF -if { (eval echo "$as_me:7237: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:7243: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi +ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` +echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 +echo "configure:4675: 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 - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - eval "$as_ac_Header=yes" + cat > conftest.$ac_ext <<EOF +#line 4680 "configure" +#include "confdefs.h" +#include <$ac_hdr> +EOF +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:4685: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" else - echo "$as_me: failed program was:" >&5 + echo "$ac_err" >&5 + echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - eval "$as_ac_Header=no" + rm -rf conftest* + eval "ac_cv_header_$ac_safe=no" fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest* fi -echo "$as_me:7262: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` + cat >> confdefs.h <<EOF +#define $ac_tr_hdr 1 EOF - + +else + echo "$ac_t""no" 1>&6 fi done -for ac_header in readline/history.h + for ac_hdr in readline/history.h do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -echo "$as_me:7275: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 7281 "configure" -#include "confdefs.h" -#include <$ac_header> -_ACEOF -if { (eval echo "$as_me:7285: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:7291: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi +ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` +echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 +echo "configure:4715: 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 - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - eval "$as_ac_Header=yes" + cat > conftest.$ac_ext <<EOF +#line 4720 "configure" +#include "confdefs.h" +#include <$ac_hdr> +EOF +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:4725: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" else - echo "$as_me: failed program was:" >&5 + echo "$ac_err" >&5 + echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - eval "$as_ac_Header=no" + rm -rf conftest* + eval "ac_cv_header_$ac_safe=no" fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest* fi -echo "$as_me:7310: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` + cat >> confdefs.h <<EOF +#define $ac_tr_hdr 1 EOF - + +else + echo "$ac_t""no" 1>&6 fi done -for ac_header in readline.h readline/readline.h + + for ac_hdr in readline.h readline/readline.h do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -echo "$as_me:7323: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 7329 "configure" -#include "confdefs.h" -#include <$ac_header> -_ACEOF -if { (eval echo "$as_me:7333: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:7339: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_c_preproc_warn_flag - else - ac_cpp_err= - fi +ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` +echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 +echo "configure:4756: 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 - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - eval "$as_ac_Header=yes" + cat > conftest.$ac_ext <<EOF +#line 4761 "configure" +#include "confdefs.h" +#include <$ac_hdr> +EOF +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" +{ (eval echo configure:4766: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` +if test -z "$ac_err"; then + rm -rf conftest* + eval "ac_cv_header_$ac_safe=yes" else - echo "$as_me: failed program was:" >&5 + echo "$ac_err" >&5 + echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - eval "$as_ac_Header=no" + rm -rf conftest* + eval "ac_cv_header_$ac_safe=no" fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest* fi -echo "$as_me:7358: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` + cat >> confdefs.h <<EOF +#define $ac_tr_hdr 1 EOF - + for termlib in ncurses curses termcap terminfo termlib; do - as_ac_Lib=`echo "ac_cv_lib_${termlib}''_tgetent" | $as_tr_sh` -echo "$as_me:7367: checking for tgetent in -l${termlib}" >&5 -echo $ECHO_N "checking for tgetent in -l${termlib}... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Lib+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + echo $ac_n "checking for tgetent in -l${termlib}""... $ac_c" 1>&6 +echo "configure:4789: 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 else - ac_check_lib_save_LIBS=$LIBS + ac_save_LIBS="$LIBS" LIBS="-l${termlib} $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line 7375 "configure" +cat > conftest.$ac_ext <<EOF +#line 4797 "configure" #include "confdefs.h" - /* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char tgetent (); -int -main () -{ -tgetent (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:7394: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:7397: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:7400: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:7403: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_Lib=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_Lib=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:7414: result: `eval echo '${'$as_ac_Lib'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Lib'}'`" >&6 -if test `eval echo '${'$as_ac_Lib'}'` = yes; then + builtin and then its argument prototype would still apply. */ +char tgetent(); + +int main() { +tgetent() +; return 0; } +EOF +if { (eval echo configure:4808: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -f conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 TERMLIBS="-l${termlib}"; break +else + echo "$ac_t""no" 1>&6 fi done - echo "$as_me:7421: checking for rl_callback_handler_install in -lreadline" >&5 -echo $ECHO_N "checking for rl_callback_handler_install in -lreadline... $ECHO_C" >&6 -if test "${ac_cv_lib_readline_rl_callback_handler_install+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + echo $ac_n "checking for rl_callback_handler_install in -lreadline""... $ac_c" 1>&6 +echo "configure:4830: 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 else - ac_check_lib_save_LIBS=$LIBS + ac_save_LIBS="$LIBS" LIBS="-lreadline $TERMLIBS $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line 7429 "configure" +cat > conftest.$ac_ext <<EOF +#line 4838 "configure" #include "confdefs.h" - /* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char rl_callback_handler_install (); -int -main () -{ -rl_callback_handler_install (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:7448: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:7451: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:7454: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:7457: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_readline_rl_callback_handler_install=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_readline_rl_callback_handler_install=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:7468: result: $ac_cv_lib_readline_rl_callback_handler_install" >&5 -echo "${ECHO_T}$ac_cv_lib_readline_rl_callback_handler_install" >&6 -if test $ac_cv_lib_readline_rl_callback_handler_install = yes; then + builtin and then its argument prototype would still apply. */ +char rl_callback_handler_install(); + +int main() { +rl_callback_handler_install() +; return 0; } +EOF +if { (eval echo configure:4849: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -f conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 TERMLDFLAGS="-L$with_readline/lib" TERMCPPFLAGS="-I$with_readline/include" CPPFLAGS="-I$with_readline/include $CPPFLAGS" TERMLIBS="-lreadline $TERMLIBS" - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define HAVE_LIBREADLINE 1 EOF break else - TERMLIBS= CPPFLAGS=$_cppflags + echo "$ac_t""no" 1>&6 +TERMLIBS= CPPFLAGS=$_cppflags fi +else + echo "$ac_t""no" 1>&6 fi done + LDFLAGS=$_ldflags ;; esac else - echo "$as_me:7491: result: no" >&5 -echo "${ECHO_T}no" >&6 + echo "$ac_t""no" 1>&6 + +fi + + -fi; # The following test taken from the cvs sources # If we can't find connect, try looking in -lsocket, -lnsl, and -linet. @@ -7499,330 +4897,267 @@ fi; # libsocket.so which has a bad implementation of gethostbyname (it # only looks in /etc/hosts), so we only look for -lsocket if we need # it. - for ac_func in connect do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:7506: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 7512 "configure" +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:4904: 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 4909 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ + which can conflict with char $ac_func(); below. */ #include <assert.h> /* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); + builtin and then its argument prototype would still apply. */ +char $ac_func(); + +int main() { -int -main () -{ /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else -f = $ac_func; +$ac_func(); #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:7543: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:7546: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:7549: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:7552: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:7562: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +; return 0; } EOF +if { (eval echo configure:4932: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_func_$ac_func=no" +fi +rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + cat >> confdefs.h <<EOF +#define $ac_tr_func 1 +EOF + +else + echo "$ac_t""no" 1>&6 fi done if test x"$ac_cv_func_connect" = x"no"; then case "$LIBS" in *-lnsl*) ;; - *) -echo "$as_me:7576: checking for printf in -lnsl_s" >&5 -echo $ECHO_N "checking for printf in -lnsl_s... $ECHO_C" >&6 -if test "${ac_cv_lib_nsl_s_printf+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + *) echo $ac_n "checking for printf in -lnsl_s""... $ac_c" 1>&6 +echo "configure:4960: 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 else - ac_check_lib_save_LIBS=$LIBS + ac_save_LIBS="$LIBS" LIBS="-lnsl_s $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line 7584 "configure" +cat > conftest.$ac_ext <<EOF +#line 4968 "configure" #include "confdefs.h" - /* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char printf (); -int -main () -{ -printf (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:7603: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:7606: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:7609: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:7612: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_nsl_s_printf=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_nsl_s_printf=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:7623: result: $ac_cv_lib_nsl_s_printf" >&5 -echo "${ECHO_T}$ac_cv_lib_nsl_s_printf" >&6 -if test $ac_cv_lib_nsl_s_printf = yes; then - cat >>confdefs.h <<EOF -#define HAVE_LIBNSL_S 1 + builtin and then its argument prototype would still apply. */ +char printf(); + +int main() { +printf() +; return 0; } +EOF +if { (eval echo configure:4979: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -f conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_lib=HAVE_LIB`echo nsl_s | sed -e 's/[^a-zA-Z0-9_]/_/g' \ + -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'` + cat >> confdefs.h <<EOF +#define $ac_tr_lib 1 EOF LIBS="-lnsl_s $LIBS" +else + echo "$ac_t""no" 1>&6 fi ;; esac case "$LIBS" in *-lnsl*) ;; - *) -echo "$as_me:7638: checking for printf in -lnsl" >&5 -echo $ECHO_N "checking for printf in -lnsl... $ECHO_C" >&6 -if test "${ac_cv_lib_nsl_printf+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + *) echo $ac_n "checking for printf in -lnsl""... $ac_c" 1>&6 +echo "configure:5010: 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 else - ac_check_lib_save_LIBS=$LIBS + ac_save_LIBS="$LIBS" LIBS="-lnsl $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line 7646 "configure" +cat > conftest.$ac_ext <<EOF +#line 5018 "configure" #include "confdefs.h" - /* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char printf (); -int -main () -{ -printf (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:7665: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:7668: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:7671: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:7674: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_nsl_printf=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_nsl_printf=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:7685: result: $ac_cv_lib_nsl_printf" >&5 -echo "${ECHO_T}$ac_cv_lib_nsl_printf" >&6 -if test $ac_cv_lib_nsl_printf = yes; then - cat >>confdefs.h <<EOF -#define HAVE_LIBNSL 1 + builtin and then its argument prototype would still apply. */ +char printf(); + +int main() { +printf() +; return 0; } +EOF +if { (eval echo configure:5029: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -f conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_lib=HAVE_LIB`echo nsl | sed -e 's/[^a-zA-Z0-9_]/_/g' \ + -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'` + cat >> confdefs.h <<EOF +#define $ac_tr_lib 1 EOF LIBS="-lnsl $LIBS" +else + echo "$ac_t""no" 1>&6 fi ;; esac case "$LIBS" in *-lsocket*) ;; - *) -echo "$as_me:7700: checking for connect in -lsocket" >&5 -echo $ECHO_N "checking for connect in -lsocket... $ECHO_C" >&6 -if test "${ac_cv_lib_socket_connect+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + *) echo $ac_n "checking for connect in -lsocket""... $ac_c" 1>&6 +echo "configure:5060: 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 else - ac_check_lib_save_LIBS=$LIBS + ac_save_LIBS="$LIBS" LIBS="-lsocket $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line 7708 "configure" +cat > conftest.$ac_ext <<EOF +#line 5068 "configure" #include "confdefs.h" - /* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char connect (); -int -main () -{ -connect (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:7727: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:7730: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:7733: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:7736: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_socket_connect=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_socket_connect=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:7747: result: $ac_cv_lib_socket_connect" >&5 -echo "${ECHO_T}$ac_cv_lib_socket_connect" >&6 -if test $ac_cv_lib_socket_connect = yes; then - cat >>confdefs.h <<EOF -#define HAVE_LIBSOCKET 1 + builtin and then its argument prototype would still apply. */ +char connect(); + +int main() { +connect() +; return 0; } +EOF +if { (eval echo configure:5079: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -f conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_lib=HAVE_LIB`echo socket | sed -e 's/[^a-zA-Z0-9_]/_/g' \ + -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'` + cat >> confdefs.h <<EOF +#define $ac_tr_lib 1 EOF LIBS="-lsocket $LIBS" +else + echo "$ac_t""no" 1>&6 fi ;; esac case "$LIBS" in *-linet*) ;; - *) -echo "$as_me:7762: checking for connect in -linet" >&5 -echo $ECHO_N "checking for connect in -linet... $ECHO_C" >&6 -if test "${ac_cv_lib_inet_connect+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + *) echo $ac_n "checking for connect in -linet""... $ac_c" 1>&6 +echo "configure:5110: 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 else - ac_check_lib_save_LIBS=$LIBS + ac_save_LIBS="$LIBS" LIBS="-linet $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line 7770 "configure" +cat > conftest.$ac_ext <<EOF +#line 5118 "configure" #include "confdefs.h" - /* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char connect (); -int -main () -{ -connect (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:7789: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:7792: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:7795: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:7798: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_inet_connect=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_inet_connect=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:7809: result: $ac_cv_lib_inet_connect" >&5 -echo "${ECHO_T}$ac_cv_lib_inet_connect" >&6 -if test $ac_cv_lib_inet_connect = yes; then - cat >>confdefs.h <<EOF -#define HAVE_LIBINET 1 + builtin and then its argument prototype would still apply. */ +char connect(); + +int main() { +connect() +; return 0; } +EOF +if { (eval echo configure:5129: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -f conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_lib=HAVE_LIB`echo inet | sed -e 's/[^a-zA-Z0-9_]/_/g' \ + -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'` + cat >> confdefs.h <<EOF +#define $ac_tr_lib 1 EOF LIBS="-linet $LIBS" +else + echo "$ac_t""no" 1>&6 fi ;; esac - if test x"$ac_cv_lib_socket_connect" = x"yes" || + if test x"$ac_cv_lib_socket_connect" = x"yes" || test x"$ac_cv_lib_inet_connect" = x"yes"; then # ac_cv_func_connect=yes # don't! it would cause AC_CHECK_FUNC to succeed next time configure is run - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define HAVE_CONNECT 1 EOF @@ -7831,204 +5166,161 @@ fi ############################################### # test for where we get get_yp_default_domain() from - for ac_func in yp_get_default_domain do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:7838: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 7844 "configure" +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:5173: 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 5178 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ + which can conflict with char $ac_func(); below. */ #include <assert.h> /* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); + builtin and then its argument prototype would still apply. */ +char $ac_func(); + +int main() { -int -main () -{ /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else -f = $ac_func; +$ac_func(); #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:7875: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:7878: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:7881: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:7884: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:7894: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +; return 0; } EOF +if { (eval echo configure:5201: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_func_$ac_func=no" +fi +rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + cat >> confdefs.h <<EOF +#define $ac_tr_func 1 +EOF + +else + echo "$ac_t""no" 1>&6 fi done if test x"$ac_cv_func_yp_get_default_domain" = x"no"; then - echo "$as_me:7905: checking for yp_get_default_domain in -lnsl" >&5 -echo $ECHO_N "checking for yp_get_default_domain in -lnsl... $ECHO_C" >&6 -if test "${ac_cv_lib_nsl_yp_get_default_domain+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + echo $ac_n "checking for yp_get_default_domain in -lnsl""... $ac_c" 1>&6 +echo "configure:5227: 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 else - ac_check_lib_save_LIBS=$LIBS + ac_save_LIBS="$LIBS" LIBS="-lnsl $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line 7913 "configure" +cat > conftest.$ac_ext <<EOF +#line 5235 "configure" #include "confdefs.h" - /* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char yp_get_default_domain (); -int -main () -{ -yp_get_default_domain (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:7932: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:7935: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:7938: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:7941: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_nsl_yp_get_default_domain=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_nsl_yp_get_default_domain=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:7952: result: $ac_cv_lib_nsl_yp_get_default_domain" >&5 -echo "${ECHO_T}$ac_cv_lib_nsl_yp_get_default_domain" >&6 -if test $ac_cv_lib_nsl_yp_get_default_domain = yes; then + builtin and then its argument prototype would still apply. */ +char yp_get_default_domain(); + +int main() { +yp_get_default_domain() +; return 0; } +EOF +if { (eval echo configure:5246: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -f conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 LIBS="$LIBS -lnsl"; - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define HAVE_YP_GET_DEFAULT_DOMAIN 1 EOF +else + echo "$ac_t""no" 1>&6 fi - + fi # Check if we have execl, if not we need to compile smbrun. - for ac_func in execl do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:7969: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 7975 "configure" +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:5276: 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 5281 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ + which can conflict with char $ac_func(); below. */ #include <assert.h> /* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); + builtin and then its argument prototype would still apply. */ +char $ac_func(); + +int main() { -int -main () -{ /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else -f = $ac_func; +$ac_func(); #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:8006: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:8009: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:8012: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:8015: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:8025: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +; return 0; } EOF +if { (eval echo configure:5304: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_func_$ac_func=no" +fi +rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + cat >> confdefs.h <<EOF +#define $ac_tr_func 1 +EOF + +else + echo "$ac_t""no" 1>&6 fi done @@ -8038,1742 +5330,1394 @@ else RUNPROG="" fi -for ac_func in dlopen dlclose dlsym dlerror waitpid getcwd strdup strtoul strerror chown fchown chmod fchmod chroot link +for ac_func in dlopen dlclose dlsym dlerror waitpid getcwd strdup strndup strnlen strtoul strerror chown fchown chmod fchmod chroot link do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:8044: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 8050 "configure" +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:5337: 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 5342 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ + which can conflict with char $ac_func(); below. */ #include <assert.h> /* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); + builtin and then its argument prototype would still apply. */ +char $ac_func(); + +int main() { -int -main () -{ /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else -f = $ac_func; +$ac_func(); #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:8081: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:8084: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:8087: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:8090: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:8100: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +; return 0; } EOF +if { (eval echo configure:5365: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_func_$ac_func=no" +fi +rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + cat >> confdefs.h <<EOF +#define $ac_tr_func 1 +EOF + +else + echo "$ac_t""no" 1>&6 fi done for ac_func in fstat strchr utime utimes getrlimit fsync bzero memset strlcpy strlcat setpgid mknod mknod64 do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:8113: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 8119 "configure" +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:5392: 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 5397 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ + which can conflict with char $ac_func(); below. */ #include <assert.h> /* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); + builtin and then its argument prototype would still apply. */ +char $ac_func(); + +int main() { -int -main () -{ /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else -f = $ac_func; +$ac_func(); #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:8150: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:8153: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:8156: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:8159: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:8169: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +; return 0; } EOF +if { (eval echo configure:5420: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_func_$ac_func=no" +fi +rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + cat >> confdefs.h <<EOF +#define $ac_tr_func 1 +EOF + +else + echo "$ac_t""no" 1>&6 fi done for ac_func in memmove vsnprintf snprintf asprintf vasprintf setsid glob strpbrk pipe crypt16 getauthuid do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:8182: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 8188 "configure" +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:5447: 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 5452 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ + which can conflict with char $ac_func(); below. */ #include <assert.h> /* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); + builtin and then its argument prototype would still apply. */ +char $ac_func(); + +int main() { -int -main () -{ /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else -f = $ac_func; +$ac_func(); #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:8219: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:8222: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:8225: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:8228: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:8238: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +; return 0; } EOF +if { (eval echo configure:5475: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_func_$ac_func=no" +fi +rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + cat >> confdefs.h <<EOF +#define $ac_tr_func 1 +EOF + +else + echo "$ac_t""no" 1>&6 fi done for ac_func in strftime sigprocmask sigblock sigaction sigset innetgr setnetgrent getnetgrent endnetgrent do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:8251: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 8257 "configure" +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:5502: 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 5507 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ + which can conflict with char $ac_func(); below. */ #include <assert.h> /* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); + builtin and then its argument prototype would still apply. */ +char $ac_func(); + +int main() { -int -main () -{ /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else -f = $ac_func; +$ac_func(); #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:8288: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:8291: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:8294: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:8297: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:8307: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +; return 0; } EOF +if { (eval echo configure:5530: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_func_$ac_func=no" +fi +rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + cat >> confdefs.h <<EOF +#define $ac_tr_func 1 +EOF + +else + echo "$ac_t""no" 1>&6 fi done for ac_func in initgroups select poll rdchk getgrnam getgrent pathconf realpath do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:8320: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 8326 "configure" +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:5557: 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 5562 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ + which can conflict with char $ac_func(); below. */ #include <assert.h> /* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); + builtin and then its argument prototype would still apply. */ +char $ac_func(); + +int main() { -int -main () -{ /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else -f = $ac_func; +$ac_func(); #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:8357: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:8360: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:8363: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:8366: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:8376: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +; return 0; } EOF +if { (eval echo configure:5585: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_func_$ac_func=no" +fi +rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + cat >> confdefs.h <<EOF +#define $ac_tr_func 1 +EOF + +else + echo "$ac_t""no" 1>&6 fi done for ac_func in setpriv setgidx setuidx setgroups sysconf mktime rename ftruncate stat64 fstat64 do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:8389: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:5612: 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 <<_ACEOF -#line 8395 "configure" + cat > conftest.$ac_ext <<EOF +#line 5617 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ + which can conflict with char $ac_func(); below. */ #include <assert.h> /* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); + builtin and then its argument prototype would still apply. */ +char $ac_func(); + +int main() { -int -main () -{ /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else -f = $ac_func; +$ac_func(); #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:8426: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:8429: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:8432: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:8435: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:8445: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +; return 0; } EOF +if { (eval echo configure:5640: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_func_$ac_func=no" +fi +rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + cat >> confdefs.h <<EOF +#define $ac_tr_func 1 +EOF + +else + echo "$ac_t""no" 1>&6 fi done for ac_func in lstat64 fopen64 atexit grantpt dup2 lseek64 ftruncate64 readdir64 do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:8458: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 8464 "configure" +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:5667: 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 5672 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ + which can conflict with char $ac_func(); below. */ #include <assert.h> /* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); + builtin and then its argument prototype would still apply. */ +char $ac_func(); + +int main() { -int -main () -{ /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else -f = $ac_func; +$ac_func(); #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:8495: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:8498: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:8501: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:8504: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:8514: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +; return 0; } EOF +if { (eval echo configure:5695: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_func_$ac_func=no" +fi +rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + cat >> confdefs.h <<EOF +#define $ac_tr_func 1 +EOF + +else + echo "$ac_t""no" 1>&6 fi done for ac_func in fseek64 fseeko64 ftell64 ftello64 setluid getpwanam setlinebuf do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:8527: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 8533 "configure" +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:5722: 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 5727 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ + which can conflict with char $ac_func(); below. */ #include <assert.h> /* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); + builtin and then its argument prototype would still apply. */ +char $ac_func(); + +int main() { -int -main () -{ /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else -f = $ac_func; +$ac_func(); #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:8564: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:8567: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:8570: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:8573: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:8583: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +; return 0; } EOF +if { (eval echo configure:5750: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_func_$ac_func=no" +fi +rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + cat >> confdefs.h <<EOF +#define $ac_tr_func 1 +EOF + +else + echo "$ac_t""no" 1>&6 fi done for ac_func in srandom random srand rand setenv usleep strcasecmp fcvt fcvtl symlink readlink do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:8596: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:5777: 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 <<_ACEOF -#line 8602 "configure" + cat > conftest.$ac_ext <<EOF +#line 5782 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ + which can conflict with char $ac_func(); below. */ #include <assert.h> /* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); + builtin and then its argument prototype would still apply. */ +char $ac_func(); + +int main() { -int -main () -{ /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else -f = $ac_func; +$ac_func(); #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:8633: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:8636: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:8639: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:8642: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:8652: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +; return 0; } EOF +if { (eval echo configure:5805: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_func_$ac_func=no" +fi +rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + cat >> confdefs.h <<EOF +#define $ac_tr_func 1 +EOF + +else + echo "$ac_t""no" 1>&6 fi done for ac_func in syslog vsyslog do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:8665: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 8671 "configure" +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:5832: 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 5837 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ + which can conflict with char $ac_func(); below. */ #include <assert.h> /* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); + builtin and then its argument prototype would still apply. */ +char $ac_func(); + +int main() { -int -main () -{ /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else -f = $ac_func; +$ac_func(); #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:8702: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:8705: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:8708: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:8711: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:8721: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +; return 0; } EOF +if { (eval echo configure:5860: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_func_$ac_func=no" +fi +rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + cat >> confdefs.h <<EOF +#define $ac_tr_func 1 +EOF + +else + echo "$ac_t""no" 1>&6 fi done -# syscall() is needed for smbwrapper. +# syscall() is needed for smbwrapper. for ac_func in syscall do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:8736: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 8742 "configure" +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:5889: 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 5894 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ + which can conflict with char $ac_func(); below. */ #include <assert.h> /* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); + builtin and then its argument prototype would still apply. */ +char $ac_func(); + +int main() { -int -main () -{ /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else -f = $ac_func; +$ac_func(); #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:8773: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:8776: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:8779: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:8782: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:8792: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +; return 0; } EOF +if { (eval echo configure:5917: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_func_$ac_func=no" +fi +rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + cat >> confdefs.h <<EOF +#define $ac_tr_func 1 +EOF + +else + echo "$ac_t""no" 1>&6 fi done + for ac_func in _dup _dup2 _opendir _readdir _seekdir _telldir _closedir do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:8805: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 8811 "configure" +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:5945: 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 5950 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ + which can conflict with char $ac_func(); below. */ #include <assert.h> /* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); + builtin and then its argument prototype would still apply. */ +char $ac_func(); + +int main() { -int -main () -{ /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else -f = $ac_func; +$ac_func(); #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:8842: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:8845: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:8848: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:8851: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:8861: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +; return 0; } EOF +if { (eval echo configure:5973: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_func_$ac_func=no" +fi +rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + cat >> confdefs.h <<EOF +#define $ac_tr_func 1 +EOF + +else + echo "$ac_t""no" 1>&6 fi done for ac_func in __dup __dup2 __opendir __readdir __seekdir __telldir __closedir do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:8874: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 8880 "configure" +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:6000: 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 6005 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ + which can conflict with char $ac_func(); below. */ #include <assert.h> /* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); + builtin and then its argument prototype would still apply. */ +char $ac_func(); + +int main() { -int -main () -{ /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else -f = $ac_func; +$ac_func(); #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:8911: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:8914: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:8917: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:8920: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:8930: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +; return 0; } EOF +if { (eval echo configure:6028: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_func_$ac_func=no" +fi +rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + cat >> confdefs.h <<EOF +#define $ac_tr_func 1 +EOF + +else + echo "$ac_t""no" 1>&6 fi done for ac_func in __getcwd _getcwd do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:8943: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 8949 "configure" +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:6055: 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 6060 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ + which can conflict with char $ac_func(); below. */ #include <assert.h> /* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); + builtin and then its argument prototype would still apply. */ +char $ac_func(); + +int main() { -int -main () -{ /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else -f = $ac_func; +$ac_func(); #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:8980: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:8983: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:8986: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:8989: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:8999: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +; return 0; } EOF +if { (eval echo configure:6083: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_func_$ac_func=no" +fi +rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + cat >> confdefs.h <<EOF +#define $ac_tr_func 1 +EOF + +else + echo "$ac_t""no" 1>&6 fi done for ac_func in __xstat __fxstat __lxstat do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:9012: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 9018 "configure" +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:6110: 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 6115 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ + which can conflict with char $ac_func(); below. */ #include <assert.h> /* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); + builtin and then its argument prototype would still apply. */ +char $ac_func(); + +int main() { -int -main () -{ /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else -f = $ac_func; +$ac_func(); #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:9049: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:9052: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:9055: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:9058: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:9068: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +; return 0; } EOF +if { (eval echo configure:6138: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_func_$ac_func=no" +fi +rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + cat >> confdefs.h <<EOF +#define $ac_tr_func 1 +EOF + +else + echo "$ac_t""no" 1>&6 fi done for ac_func in _stat _lstat _fstat __stat __lstat __fstat do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:9081: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 9087 "configure" +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:6165: 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 6170 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ + which can conflict with char $ac_func(); below. */ #include <assert.h> /* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); + builtin and then its argument prototype would still apply. */ +char $ac_func(); + +int main() { -int -main () -{ /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else -f = $ac_func; +$ac_func(); #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:9118: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:9121: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:9124: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:9127: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:9137: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +; return 0; } EOF +if { (eval echo configure:6193: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_func_$ac_func=no" +fi +rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + cat >> confdefs.h <<EOF +#define $ac_tr_func 1 +EOF + +else + echo "$ac_t""no" 1>&6 fi done for ac_func in _acl __acl _facl __facl _open __open _chdir __chdir do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:9150: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 9156 "configure" +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:6220: 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 6225 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ + which can conflict with char $ac_func(); below. */ #include <assert.h> /* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); + builtin and then its argument prototype would still apply. */ +char $ac_func(); + +int main() { -int -main () -{ /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else -f = $ac_func; +$ac_func(); #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:9187: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:9190: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:9193: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:9196: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:9206: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +; return 0; } EOF +if { (eval echo configure:6248: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_func_$ac_func=no" +fi +rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + cat >> confdefs.h <<EOF +#define $ac_tr_func 1 +EOF + +else + echo "$ac_t""no" 1>&6 fi done for ac_func in _close __close _fchdir __fchdir _fcntl __fcntl do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:9219: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 9225 "configure" +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:6275: 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 6280 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ + which can conflict with char $ac_func(); below. */ #include <assert.h> /* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); + builtin and then its argument prototype would still apply. */ +char $ac_func(); + +int main() { -int -main () -{ /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else -f = $ac_func; +$ac_func(); #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:9256: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:9259: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:9262: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:9265: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:9275: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +; return 0; } EOF +if { (eval echo configure:6303: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_func_$ac_func=no" +fi +rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + cat >> confdefs.h <<EOF +#define $ac_tr_func 1 +EOF + +else + echo "$ac_t""no" 1>&6 fi done for ac_func in getdents _getdents __getdents _lseek __lseek _read __read do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:9288: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 9294 "configure" +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:6330: 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 6335 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ + which can conflict with char $ac_func(); below. */ #include <assert.h> /* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); + builtin and then its argument prototype would still apply. */ +char $ac_func(); + +int main() { -int -main () -{ /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else -f = $ac_func; +$ac_func(); #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:9325: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:9328: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:9331: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:9334: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:9344: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +; return 0; } EOF +if { (eval echo configure:6358: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_func_$ac_func=no" +fi +rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + cat >> confdefs.h <<EOF +#define $ac_tr_func 1 +EOF + +else + echo "$ac_t""no" 1>&6 fi done for ac_func in _write __write _fork __fork do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:9357: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 9363 "configure" +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:6385: 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 6390 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ + which can conflict with char $ac_func(); below. */ #include <assert.h> /* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); + builtin and then its argument prototype would still apply. */ +char $ac_func(); + +int main() { -int -main () -{ /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else -f = $ac_func; +$ac_func(); #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:9394: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:9397: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:9400: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:9403: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:9413: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +; return 0; } EOF +if { (eval echo configure:6413: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_func_$ac_func=no" +fi +rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + cat >> confdefs.h <<EOF +#define $ac_tr_func 1 +EOF + +else + echo "$ac_t""no" 1>&6 fi done for ac_func in _stat64 __stat64 _fstat64 __fstat64 _lstat64 __lstat64 do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:9426: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 9432 "configure" +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:6440: 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 6445 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ + which can conflict with char $ac_func(); below. */ #include <assert.h> /* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); + builtin and then its argument prototype would still apply. */ +char $ac_func(); + +int main() { -int -main () -{ /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else -f = $ac_func; +$ac_func(); #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:9463: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:9466: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:9469: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:9472: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:9482: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +; return 0; } EOF +if { (eval echo configure:6468: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_func_$ac_func=no" +fi +rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + cat >> confdefs.h <<EOF +#define $ac_tr_func 1 +EOF + +else + echo "$ac_t""no" 1>&6 fi done for ac_func in __sys_llseek llseek _llseek __llseek readdir64 _readdir64 __readdir64 do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:9495: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 9501 "configure" +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:6495: 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 6500 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ + which can conflict with char $ac_func(); below. */ #include <assert.h> /* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); + builtin and then its argument prototype would still apply. */ +char $ac_func(); + +int main() { -int -main () -{ /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else -f = $ac_func; +$ac_func(); #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:9532: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:9535: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:9538: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:9541: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:9551: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +; return 0; } EOF +if { (eval echo configure:6523: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_func_$ac_func=no" +fi +rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + cat >> confdefs.h <<EOF +#define $ac_tr_func 1 +EOF + +else + echo "$ac_t""no" 1>&6 fi done for ac_func in pread _pread __pread pread64 _pread64 __pread64 do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:9564: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 9570 "configure" +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:6550: 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 6555 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ + which can conflict with char $ac_func(); below. */ #include <assert.h> /* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); + builtin and then its argument prototype would still apply. */ +char $ac_func(); + +int main() { -int -main () -{ /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else -f = $ac_func; +$ac_func(); #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:9601: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:9604: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:9607: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:9610: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:9620: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +; return 0; } EOF +if { (eval echo configure:6578: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_func_$ac_func=no" +fi +rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + cat >> confdefs.h <<EOF +#define $ac_tr_func 1 +EOF + +else + echo "$ac_t""no" 1>&6 fi done for ac_func in pwrite _pwrite __pwrite pwrite64 _pwrite64 __pwrite64 do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:9633: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 9639 "configure" +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:6605: 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 6610 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ + which can conflict with char $ac_func(); below. */ #include <assert.h> /* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); + builtin and then its argument prototype would still apply. */ +char $ac_func(); + +int main() { -int -main () -{ /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else -f = $ac_func; +$ac_func(); #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:9670: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:9673: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:9676: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:9679: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:9689: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +; return 0; } EOF +if { (eval echo configure:6633: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_func_$ac_func=no" +fi +rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + cat >> confdefs.h <<EOF +#define $ac_tr_func 1 +EOF + +else + echo "$ac_t""no" 1>&6 fi done for ac_func in open64 _open64 __open64 creat64 do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:9702: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 9708 "configure" +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:6660: 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 6665 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ + which can conflict with char $ac_func(); below. */ #include <assert.h> /* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); + builtin and then its argument prototype would still apply. */ +char $ac_func(); + +int main() { -int -main () -{ /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else -f = $ac_func; +$ac_func(); #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:9739: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:9742: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:9745: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:9748: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:9758: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +; return 0; } EOF +if { (eval echo configure:6688: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_func_$ac_func=no" +fi +rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + cat >> confdefs.h <<EOF +#define $ac_tr_func 1 +EOF + +else + echo "$ac_t""no" 1>&6 fi done + # # stat64 family may need <sys/stat.h> on some systems, notably ReliantUNIX # if test x$ac_cv_func_stat64 = xno ; then - echo "$as_me:9773: checking for stat64 in <sys/stat.h>" >&5 -echo $ECHO_N "checking for stat64 in <sys/stat.h>... $ECHO_C" >&6 - cat >conftest.$ac_ext <<_ACEOF -#line 9776 "configure" + echo $ac_n "checking for stat64 in <sys/stat.h>""... $ac_c" 1>&6 +echo "configure:6719: checking for stat64 in <sys/stat.h>" >&5 + cat > conftest.$ac_ext <<EOF +#line 6721 "configure" #include "confdefs.h" #if defined(HAVE_UNISTD_H) @@ -9781,36 +6725,21 @@ echo $ECHO_N "checking for stat64 in <sys/stat.h>... $ECHO_C" >&6 #endif #include <sys/stat.h> -int -main () -{ +int main() { struct stat64 st64; exit(stat64(".",&st64)); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:9793: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:9796: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:9799: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:9802: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:6733: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* ac_cv_func_stat64=yes else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext - echo "$as_me:9810: result: $ac_cv_func_stat64" >&5 -echo "${ECHO_T}$ac_cv_func_stat64" >&6 +rm -f conftest* + echo "$ac_t""$ac_cv_func_stat64" 1>&6 if test x$ac_cv_func_stat64 = xyes ; then - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define HAVE_STAT64 1 EOF @@ -9818,10 +6747,10 @@ EOF fi if test x$ac_cv_func_lstat64 = xno ; then - echo "$as_me:9821: checking for lstat64 in <sys/stat.h>" >&5 -echo $ECHO_N "checking for lstat64 in <sys/stat.h>... $ECHO_C" >&6 - cat >conftest.$ac_ext <<_ACEOF -#line 9824 "configure" + echo $ac_n "checking for lstat64 in <sys/stat.h>""... $ac_c" 1>&6 +echo "configure:6752: checking for lstat64 in <sys/stat.h>" >&5 + cat > conftest.$ac_ext <<EOF +#line 6754 "configure" #include "confdefs.h" #if defined(HAVE_UNISTD_H) @@ -9829,36 +6758,21 @@ echo $ECHO_N "checking for lstat64 in <sys/stat.h>... $ECHO_C" >&6 #endif #include <sys/stat.h> -int -main () -{ +int main() { struct stat64 st64; exit(lstat64(".",&st64)); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:9841: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:9844: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:9847: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:9850: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:6766: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* ac_cv_func_lstat64=yes else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext - echo "$as_me:9858: result: $ac_cv_func_lstat64" >&5 -echo "${ECHO_T}$ac_cv_func_lstat64" >&6 +rm -f conftest* + echo "$ac_t""$ac_cv_func_lstat64" 1>&6 if test x$ac_cv_func_lstat64 = xyes ; then - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define HAVE_LSTAT64 1 EOF @@ -9866,10 +6780,10 @@ EOF fi if test x$ac_cv_func_fstat64 = xno ; then - echo "$as_me:9869: checking for fstat64 in <sys/stat.h>" >&5 -echo $ECHO_N "checking for fstat64 in <sys/stat.h>... $ECHO_C" >&6 - cat >conftest.$ac_ext <<_ACEOF -#line 9872 "configure" + echo $ac_n "checking for fstat64 in <sys/stat.h>""... $ac_c" 1>&6 +echo "configure:6785: checking for fstat64 in <sys/stat.h>" >&5 + cat > conftest.$ac_ext <<EOF +#line 6787 "configure" #include "confdefs.h" #if defined(HAVE_UNISTD_H) @@ -9877,36 +6791,21 @@ echo $ECHO_N "checking for fstat64 in <sys/stat.h>... $ECHO_C" >&6 #endif #include <sys/stat.h> -int -main () -{ +int main() { struct stat64 st64; exit(fstat64(0,&st64)); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:9889: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:9892: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:9895: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:9898: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:6799: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* ac_cv_func_fstat64=yes else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext - echo "$as_me:9906: result: $ac_cv_func_fstat64" >&5 -echo "${ECHO_T}$ac_cv_func_fstat64" >&6 +rm -f conftest* + echo "$ac_t""$ac_cv_func_fstat64" 1>&6 if test x$ac_cv_func_fstat64 = xyes ; then - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define HAVE_FSTAT64 1 EOF @@ -9920,61 +6819,48 @@ fi # if test x$ac_cv_func_strcasecmp = xno ; then - echo "$as_me:9923: checking for strcasecmp in -lresolv" >&5 -echo $ECHO_N "checking for strcasecmp in -lresolv... $ECHO_C" >&6 -if test "${ac_cv_lib_resolv_strcasecmp+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + echo $ac_n "checking for strcasecmp in -lresolv""... $ac_c" 1>&6 +echo "configure:6824: 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 else - ac_check_lib_save_LIBS=$LIBS + ac_save_LIBS="$LIBS" LIBS="-lresolv $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line 9931 "configure" +cat > conftest.$ac_ext <<EOF +#line 6832 "configure" #include "confdefs.h" - /* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char strcasecmp (); -int -main () -{ -strcasecmp (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:9950: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:9953: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:9956: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:9959: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_resolv_strcasecmp=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_resolv_strcasecmp=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:9970: result: $ac_cv_lib_resolv_strcasecmp" >&5 -echo "${ECHO_T}$ac_cv_lib_resolv_strcasecmp" >&6 -if test $ac_cv_lib_resolv_strcasecmp = yes; then + builtin and then its argument prototype would still apply. */ +char strcasecmp(); + +int main() { +strcasecmp() +; return 0; } +EOF +if { (eval echo configure:6843: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -f conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 LIBS="$LIBS -lresolv" - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define HAVE_STRCASECMP 1 EOF +else + echo "$ac_t""no" 1>&6 fi fi @@ -9986,201 +6872,160 @@ fi # case "$LIBS" in - *-lsecurity*) -for ac_func in putprpwnam + *-lsecurity*) for ac_func in putprpwnam do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:9993: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 9999 "configure" +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:6879: 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 6884 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ + which can conflict with char $ac_func(); below. */ #include <assert.h> /* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); + builtin and then its argument prototype would still apply. */ +char $ac_func(); + +int main() { -int -main () -{ /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else -f = $ac_func; +$ac_func(); #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:10030: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:10033: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:10036: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:10039: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:10049: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +; return 0; } EOF +if { (eval echo configure:6907: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_func_$ac_func=no" +fi +rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + cat >> confdefs.h <<EOF +#define $ac_tr_func 1 +EOF + +else + echo "$ac_t""no" 1>&6 fi done ;; - *) -echo "$as_me:10060: checking for putprpwnam in -lsecurity" >&5 -echo $ECHO_N "checking for putprpwnam in -lsecurity... $ECHO_C" >&6 -if test "${ac_cv_lib_security_putprpwnam+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + *) echo $ac_n "checking for putprpwnam in -lsecurity""... $ac_c" 1>&6 +echo "configure:6932: 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 else - ac_check_lib_save_LIBS=$LIBS + ac_save_LIBS="$LIBS" LIBS="-lsecurity $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line 10068 "configure" +cat > conftest.$ac_ext <<EOF +#line 6940 "configure" #include "confdefs.h" - /* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char putprpwnam (); -int -main () -{ -putprpwnam (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:10087: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:10090: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:10093: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:10096: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_security_putprpwnam=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_security_putprpwnam=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:10107: result: $ac_cv_lib_security_putprpwnam" >&5 -echo "${ECHO_T}$ac_cv_lib_security_putprpwnam" >&6 -if test $ac_cv_lib_security_putprpwnam = yes; then - cat >>confdefs.h <<EOF -#define HAVE_LIBSECURITY 1 + builtin and then its argument prototype would still apply. */ +char putprpwnam(); + +int main() { +putprpwnam() +; return 0; } +EOF +if { (eval echo configure:6951: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -f conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_lib=HAVE_LIB`echo security | sed -e 's/[^a-zA-Z0-9_]/_/g' \ + -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'` + cat >> confdefs.h <<EOF +#define $ac_tr_lib 1 EOF LIBS="-lsecurity $LIBS" +else + echo "$ac_t""no" 1>&6 fi - -for ac_func in putprpwnam + + for ac_func in putprpwnam do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:10121: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 10127 "configure" +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:6981: 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 6986 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ + which can conflict with char $ac_func(); below. */ #include <assert.h> /* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); + builtin and then its argument prototype would still apply. */ +char $ac_func(); + +int main() { -int -main () -{ /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else -f = $ac_func; +$ac_func(); #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:10158: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:10161: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:10164: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:10167: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:10177: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +; return 0; } EOF +if { (eval echo configure:7009: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_func_$ac_func=no" +fi +rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + cat >> confdefs.h <<EOF +#define $ac_tr_func 1 +EOF + +else + echo "$ac_t""no" 1>&6 fi done @@ -10188,403 +7033,322 @@ done esac case "$LIBS" in - *-lsec*) -for ac_func in putprpwnam + *-lsec*) for ac_func in putprpwnam do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:10195: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 10201 "configure" +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:7040: 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 7045 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ + which can conflict with char $ac_func(); below. */ #include <assert.h> /* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); + builtin and then its argument prototype would still apply. */ +char $ac_func(); + +int main() { -int -main () -{ /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else -f = $ac_func; +$ac_func(); #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:10232: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:10235: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:10238: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:10241: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:10251: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +; return 0; } EOF +if { (eval echo configure:7068: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_func_$ac_func=no" +fi +rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + cat >> confdefs.h <<EOF +#define $ac_tr_func 1 +EOF + +else + echo "$ac_t""no" 1>&6 fi done ;; - *) -echo "$as_me:10262: checking for putprpwnam in -lsec" >&5 -echo $ECHO_N "checking for putprpwnam in -lsec... $ECHO_C" >&6 -if test "${ac_cv_lib_sec_putprpwnam+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + *) echo $ac_n "checking for putprpwnam in -lsec""... $ac_c" 1>&6 +echo "configure:7093: 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 else - ac_check_lib_save_LIBS=$LIBS + ac_save_LIBS="$LIBS" LIBS="-lsec $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line 10270 "configure" +cat > conftest.$ac_ext <<EOF +#line 7101 "configure" #include "confdefs.h" - /* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char putprpwnam (); -int -main () -{ -putprpwnam (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:10289: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:10292: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:10295: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:10298: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_sec_putprpwnam=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_sec_putprpwnam=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:10309: result: $ac_cv_lib_sec_putprpwnam" >&5 -echo "${ECHO_T}$ac_cv_lib_sec_putprpwnam" >&6 -if test $ac_cv_lib_sec_putprpwnam = yes; then - cat >>confdefs.h <<EOF -#define HAVE_LIBSEC 1 + builtin and then its argument prototype would still apply. */ +char putprpwnam(); + +int main() { +putprpwnam() +; return 0; } +EOF +if { (eval echo configure:7112: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -f conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_lib=HAVE_LIB`echo sec | sed -e 's/[^a-zA-Z0-9_]/_/g' \ + -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'` + cat >> confdefs.h <<EOF +#define $ac_tr_lib 1 EOF LIBS="-lsec $LIBS" +else + echo "$ac_t""no" 1>&6 fi - -for ac_func in putprpwnam + + for ac_func in putprpwnam do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:10323: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 10329 "configure" +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:7142: 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 7147 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ + which can conflict with char $ac_func(); below. */ #include <assert.h> /* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); + builtin and then its argument prototype would still apply. */ +char $ac_func(); + +int main() { -int -main () -{ /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else -f = $ac_func; +$ac_func(); #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:10360: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:10363: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:10366: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:10369: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:10379: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +; return 0; } EOF +if { (eval echo configure:7170: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_func_$ac_func=no" +fi +rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + cat >> confdefs.h <<EOF +#define $ac_tr_func 1 +EOF + +else + echo "$ac_t""no" 1>&6 fi done ;; esac + case "$LIBS" in - *-lsecurity*) -for ac_func in set_auth_parameters + *-lsecurity*) for ac_func in set_auth_parameters do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:10397: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 10403 "configure" +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:7202: 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 7207 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ + which can conflict with char $ac_func(); below. */ #include <assert.h> /* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); + builtin and then its argument prototype would still apply. */ +char $ac_func(); + +int main() { -int -main () -{ /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else -f = $ac_func; +$ac_func(); #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:10434: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:10437: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:10440: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:10443: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:10453: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +; return 0; } EOF +if { (eval echo configure:7230: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_func_$ac_func=no" +fi +rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + cat >> confdefs.h <<EOF +#define $ac_tr_func 1 +EOF + +else + echo "$ac_t""no" 1>&6 fi done ;; - *) -echo "$as_me:10464: checking for set_auth_parameters in -lsecurity" >&5 -echo $ECHO_N "checking for set_auth_parameters in -lsecurity... $ECHO_C" >&6 -if test "${ac_cv_lib_security_set_auth_parameters+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + *) echo $ac_n "checking for set_auth_parameters in -lsecurity""... $ac_c" 1>&6 +echo "configure:7255: 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 else - ac_check_lib_save_LIBS=$LIBS + ac_save_LIBS="$LIBS" LIBS="-lsecurity $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line 10472 "configure" +cat > conftest.$ac_ext <<EOF +#line 7263 "configure" #include "confdefs.h" - /* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char set_auth_parameters (); -int -main () -{ -set_auth_parameters (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:10491: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:10494: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:10497: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:10500: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_security_set_auth_parameters=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_security_set_auth_parameters=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:10511: result: $ac_cv_lib_security_set_auth_parameters" >&5 -echo "${ECHO_T}$ac_cv_lib_security_set_auth_parameters" >&6 -if test $ac_cv_lib_security_set_auth_parameters = yes; then - cat >>confdefs.h <<EOF -#define HAVE_LIBSECURITY 1 + builtin and then its argument prototype would still apply. */ +char set_auth_parameters(); + +int main() { +set_auth_parameters() +; return 0; } +EOF +if { (eval echo configure:7274: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -f conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_lib=HAVE_LIB`echo security | sed -e 's/[^a-zA-Z0-9_]/_/g' \ + -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'` + cat >> confdefs.h <<EOF +#define $ac_tr_lib 1 EOF LIBS="-lsecurity $LIBS" +else + echo "$ac_t""no" 1>&6 fi - -for ac_func in set_auth_parameters + + for ac_func in set_auth_parameters do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:10525: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 10531 "configure" +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:7304: 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 7309 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ + which can conflict with char $ac_func(); below. */ #include <assert.h> /* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); + builtin and then its argument prototype would still apply. */ +char $ac_func(); + +int main() { -int -main () -{ /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else -f = $ac_func; +$ac_func(); #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:10562: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:10565: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:10568: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:10571: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:10581: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +; return 0; } EOF +if { (eval echo configure:7332: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_func_$ac_func=no" +fi +rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + cat >> confdefs.h <<EOF +#define $ac_tr_func 1 +EOF + +else + echo "$ac_t""no" 1>&6 fi done @@ -10592,606 +7356,485 @@ done esac case "$LIBS" in - *-lsec*) -for ac_func in set_auth_parameters + *-lsec*) for ac_func in set_auth_parameters do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:10599: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 10605 "configure" +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:7363: 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 7368 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ + which can conflict with char $ac_func(); below. */ #include <assert.h> /* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); + builtin and then its argument prototype would still apply. */ +char $ac_func(); + +int main() { -int -main () -{ /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else -f = $ac_func; +$ac_func(); #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:10636: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:10639: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:10642: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:10645: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:10655: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +; return 0; } EOF +if { (eval echo configure:7391: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_func_$ac_func=no" +fi +rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + cat >> confdefs.h <<EOF +#define $ac_tr_func 1 +EOF + +else + echo "$ac_t""no" 1>&6 fi done ;; - *) -echo "$as_me:10666: checking for set_auth_parameters in -lsec" >&5 -echo $ECHO_N "checking for set_auth_parameters in -lsec... $ECHO_C" >&6 -if test "${ac_cv_lib_sec_set_auth_parameters+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + *) echo $ac_n "checking for set_auth_parameters in -lsec""... $ac_c" 1>&6 +echo "configure:7416: 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 else - ac_check_lib_save_LIBS=$LIBS + ac_save_LIBS="$LIBS" LIBS="-lsec $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line 10674 "configure" +cat > conftest.$ac_ext <<EOF +#line 7424 "configure" #include "confdefs.h" - /* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char set_auth_parameters (); -int -main () -{ -set_auth_parameters (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:10693: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:10696: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:10699: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:10702: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_sec_set_auth_parameters=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_sec_set_auth_parameters=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:10713: result: $ac_cv_lib_sec_set_auth_parameters" >&5 -echo "${ECHO_T}$ac_cv_lib_sec_set_auth_parameters" >&6 -if test $ac_cv_lib_sec_set_auth_parameters = yes; then - cat >>confdefs.h <<EOF -#define HAVE_LIBSEC 1 + builtin and then its argument prototype would still apply. */ +char set_auth_parameters(); + +int main() { +set_auth_parameters() +; return 0; } +EOF +if { (eval echo configure:7435: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -f conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_lib=HAVE_LIB`echo sec | sed -e 's/[^a-zA-Z0-9_]/_/g' \ + -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'` + cat >> confdefs.h <<EOF +#define $ac_tr_lib 1 EOF LIBS="-lsec $LIBS" +else + echo "$ac_t""no" 1>&6 fi - -for ac_func in set_auth_parameters + + for ac_func in set_auth_parameters do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:10727: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 10733 "configure" +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:7465: 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 7470 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ + which can conflict with char $ac_func(); below. */ #include <assert.h> /* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); + builtin and then its argument prototype would still apply. */ +char $ac_func(); + +int main() { -int -main () -{ /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else -f = $ac_func; +$ac_func(); #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:10764: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:10767: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:10770: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:10773: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:10783: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +; return 0; } EOF +if { (eval echo configure:7493: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_func_$ac_func=no" +fi +rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + cat >> confdefs.h <<EOF +#define $ac_tr_func 1 +EOF + +else + echo "$ac_t""no" 1>&6 fi done ;; esac + # UnixWare 7.x has its getspnam in -lgen case "$LIBS" in - *-lgen*) -for ac_func in getspnam + *-lgen*) for ac_func in getspnam do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:10802: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 10808 "configure" +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:7526: 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 7531 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ + which can conflict with char $ac_func(); below. */ #include <assert.h> /* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); + builtin and then its argument prototype would still apply. */ +char $ac_func(); + +int main() { -int -main () -{ /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else -f = $ac_func; +$ac_func(); #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:10839: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:10842: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:10845: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:10848: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:10858: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +; return 0; } EOF +if { (eval echo configure:7554: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_func_$ac_func=no" +fi +rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + cat >> confdefs.h <<EOF +#define $ac_tr_func 1 +EOF + +else + echo "$ac_t""no" 1>&6 fi done ;; - *) -echo "$as_me:10869: checking for getspnam in -lgen" >&5 -echo $ECHO_N "checking for getspnam in -lgen... $ECHO_C" >&6 -if test "${ac_cv_lib_gen_getspnam+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + *) echo $ac_n "checking for getspnam in -lgen""... $ac_c" 1>&6 +echo "configure:7579: 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 else - ac_check_lib_save_LIBS=$LIBS + ac_save_LIBS="$LIBS" LIBS="-lgen $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line 10877 "configure" +cat > conftest.$ac_ext <<EOF +#line 7587 "configure" #include "confdefs.h" - /* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char getspnam (); -int -main () -{ -getspnam (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:10896: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:10899: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:10902: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:10905: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_gen_getspnam=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_gen_getspnam=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:10916: result: $ac_cv_lib_gen_getspnam" >&5 -echo "${ECHO_T}$ac_cv_lib_gen_getspnam" >&6 -if test $ac_cv_lib_gen_getspnam = yes; then - cat >>confdefs.h <<EOF -#define HAVE_LIBGEN 1 + builtin and then its argument prototype would still apply. */ +char getspnam(); + +int main() { +getspnam() +; return 0; } +EOF +if { (eval echo configure:7598: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -f conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_lib=HAVE_LIB`echo gen | sed -e 's/[^a-zA-Z0-9_]/_/g' \ + -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'` + cat >> confdefs.h <<EOF +#define $ac_tr_lib 1 EOF LIBS="-lgen $LIBS" +else + echo "$ac_t""no" 1>&6 fi - -for ac_func in getspnam + + for ac_func in getspnam do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:10930: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 10936 "configure" +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:7628: 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 7633 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ + which can conflict with char $ac_func(); below. */ #include <assert.h> /* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); + builtin and then its argument prototype would still apply. */ +char $ac_func(); + +int main() { -int -main () -{ /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else -f = $ac_func; +$ac_func(); #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:10967: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:10970: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:10973: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:10976: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:10986: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +; return 0; } EOF +if { (eval echo configure:7656: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_func_$ac_func=no" +fi +rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + cat >> confdefs.h <<EOF +#define $ac_tr_func 1 +EOF + +else + echo "$ac_t""no" 1>&6 fi done ;; esac + case "$LIBS" in - *-lsecurity*) -for ac_func in getspnam + *-lsecurity*) for ac_func in getspnam do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:11004: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 11010 "configure" +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:7688: 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 7693 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ + which can conflict with char $ac_func(); below. */ #include <assert.h> /* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); + builtin and then its argument prototype would still apply. */ +char $ac_func(); + +int main() { -int -main () -{ /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else -f = $ac_func; +$ac_func(); #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:11041: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:11044: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:11047: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:11050: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:11060: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +; return 0; } EOF +if { (eval echo configure:7716: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_func_$ac_func=no" +fi +rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + cat >> confdefs.h <<EOF +#define $ac_tr_func 1 +EOF + +else + echo "$ac_t""no" 1>&6 fi done ;; - *) -echo "$as_me:11071: checking for getspnam in -lsecurity" >&5 -echo $ECHO_N "checking for getspnam in -lsecurity... $ECHO_C" >&6 -if test "${ac_cv_lib_security_getspnam+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + *) echo $ac_n "checking for getspnam in -lsecurity""... $ac_c" 1>&6 +echo "configure:7741: 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 else - ac_check_lib_save_LIBS=$LIBS + ac_save_LIBS="$LIBS" LIBS="-lsecurity $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line 11079 "configure" +cat > conftest.$ac_ext <<EOF +#line 7749 "configure" #include "confdefs.h" - /* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char getspnam (); -int -main () -{ -getspnam (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:11098: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:11101: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:11104: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:11107: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_security_getspnam=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_security_getspnam=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:11118: result: $ac_cv_lib_security_getspnam" >&5 -echo "${ECHO_T}$ac_cv_lib_security_getspnam" >&6 -if test $ac_cv_lib_security_getspnam = yes; then - cat >>confdefs.h <<EOF -#define HAVE_LIBSECURITY 1 + builtin and then its argument prototype would still apply. */ +char getspnam(); + +int main() { +getspnam() +; return 0; } +EOF +if { (eval echo configure:7760: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -f conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_lib=HAVE_LIB`echo security | sed -e 's/[^a-zA-Z0-9_]/_/g' \ + -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'` + cat >> confdefs.h <<EOF +#define $ac_tr_lib 1 EOF LIBS="-lsecurity $LIBS" +else + echo "$ac_t""no" 1>&6 fi - -for ac_func in getspnam + + for ac_func in getspnam do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:11132: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 11138 "configure" +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:7790: 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 7795 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ + which can conflict with char $ac_func(); below. */ #include <assert.h> /* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); + builtin and then its argument prototype would still apply. */ +char $ac_func(); + +int main() { -int -main () -{ /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else -f = $ac_func; +$ac_func(); #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:11169: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:11172: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:11175: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:11178: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:11188: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +; return 0; } EOF +if { (eval echo configure:7818: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_func_$ac_func=no" +fi +rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + cat >> confdefs.h <<EOF +#define $ac_tr_func 1 +EOF + +else + echo "$ac_t""no" 1>&6 fi done @@ -11199,403 +7842,322 @@ done esac case "$LIBS" in - *-lsec*) -for ac_func in getspnam + *-lsec*) for ac_func in getspnam do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:11206: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 11212 "configure" +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:7849: 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 7854 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ + which can conflict with char $ac_func(); below. */ #include <assert.h> /* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); + builtin and then its argument prototype would still apply. */ +char $ac_func(); + +int main() { -int -main () -{ /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else -f = $ac_func; +$ac_func(); #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:11243: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:11246: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:11249: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:11252: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:11262: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +; return 0; } EOF +if { (eval echo configure:7877: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_func_$ac_func=no" +fi +rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + cat >> confdefs.h <<EOF +#define $ac_tr_func 1 +EOF + +else + echo "$ac_t""no" 1>&6 fi done ;; - *) -echo "$as_me:11273: checking for getspnam in -lsec" >&5 -echo $ECHO_N "checking for getspnam in -lsec... $ECHO_C" >&6 -if test "${ac_cv_lib_sec_getspnam+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + *) echo $ac_n "checking for getspnam in -lsec""... $ac_c" 1>&6 +echo "configure:7902: 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 else - ac_check_lib_save_LIBS=$LIBS + ac_save_LIBS="$LIBS" LIBS="-lsec $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line 11281 "configure" +cat > conftest.$ac_ext <<EOF +#line 7910 "configure" #include "confdefs.h" - /* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char getspnam (); -int -main () -{ -getspnam (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:11300: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:11303: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:11306: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:11309: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_sec_getspnam=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_sec_getspnam=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:11320: result: $ac_cv_lib_sec_getspnam" >&5 -echo "${ECHO_T}$ac_cv_lib_sec_getspnam" >&6 -if test $ac_cv_lib_sec_getspnam = yes; then - cat >>confdefs.h <<EOF -#define HAVE_LIBSEC 1 + builtin and then its argument prototype would still apply. */ +char getspnam(); + +int main() { +getspnam() +; return 0; } +EOF +if { (eval echo configure:7921: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -f conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_lib=HAVE_LIB`echo sec | sed -e 's/[^a-zA-Z0-9_]/_/g' \ + -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'` + cat >> confdefs.h <<EOF +#define $ac_tr_lib 1 EOF LIBS="-lsec $LIBS" +else + echo "$ac_t""no" 1>&6 fi - -for ac_func in getspnam + + for ac_func in getspnam do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:11334: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 11340 "configure" +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:7951: 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 7956 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ + which can conflict with char $ac_func(); below. */ #include <assert.h> /* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); + builtin and then its argument prototype would still apply. */ +char $ac_func(); + +int main() { -int -main () -{ /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else -f = $ac_func; +$ac_func(); #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:11371: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:11374: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:11377: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:11380: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:11390: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +; return 0; } EOF +if { (eval echo configure:7979: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_func_$ac_func=no" +fi +rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + cat >> confdefs.h <<EOF +#define $ac_tr_func 1 +EOF + +else + echo "$ac_t""no" 1>&6 fi done ;; esac + case "$LIBS" in - *-lsecurity*) -for ac_func in bigcrypt + *-lsecurity*) for ac_func in bigcrypt do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:11408: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 11414 "configure" +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:8011: 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 8016 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ + which can conflict with char $ac_func(); below. */ #include <assert.h> /* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); + builtin and then its argument prototype would still apply. */ +char $ac_func(); + +int main() { -int -main () -{ /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else -f = $ac_func; +$ac_func(); #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:11445: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:11448: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:11451: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:11454: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:11464: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +; return 0; } EOF +if { (eval echo configure:8039: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_func_$ac_func=no" +fi +rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + cat >> confdefs.h <<EOF +#define $ac_tr_func 1 +EOF + +else + echo "$ac_t""no" 1>&6 fi done ;; - *) -echo "$as_me:11475: checking for bigcrypt in -lsecurity" >&5 -echo $ECHO_N "checking for bigcrypt in -lsecurity... $ECHO_C" >&6 -if test "${ac_cv_lib_security_bigcrypt+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + *) echo $ac_n "checking for bigcrypt in -lsecurity""... $ac_c" 1>&6 +echo "configure:8064: 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 else - ac_check_lib_save_LIBS=$LIBS + ac_save_LIBS="$LIBS" LIBS="-lsecurity $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line 11483 "configure" +cat > conftest.$ac_ext <<EOF +#line 8072 "configure" #include "confdefs.h" - /* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char bigcrypt (); -int -main () -{ -bigcrypt (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:11502: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:11505: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:11508: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:11511: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_security_bigcrypt=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_security_bigcrypt=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:11522: result: $ac_cv_lib_security_bigcrypt" >&5 -echo "${ECHO_T}$ac_cv_lib_security_bigcrypt" >&6 -if test $ac_cv_lib_security_bigcrypt = yes; then - cat >>confdefs.h <<EOF -#define HAVE_LIBSECURITY 1 + builtin and then its argument prototype would still apply. */ +char bigcrypt(); + +int main() { +bigcrypt() +; return 0; } +EOF +if { (eval echo configure:8083: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -f conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_lib=HAVE_LIB`echo security | sed -e 's/[^a-zA-Z0-9_]/_/g' \ + -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'` + cat >> confdefs.h <<EOF +#define $ac_tr_lib 1 EOF LIBS="-lsecurity $LIBS" +else + echo "$ac_t""no" 1>&6 fi - -for ac_func in bigcrypt + + for ac_func in bigcrypt do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:11536: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 11542 "configure" +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:8113: 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 8118 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ + which can conflict with char $ac_func(); below. */ #include <assert.h> /* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); + builtin and then its argument prototype would still apply. */ +char $ac_func(); + +int main() { -int -main () -{ /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else -f = $ac_func; +$ac_func(); #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:11573: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:11576: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:11579: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:11582: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:11592: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +; return 0; } EOF +if { (eval echo configure:8141: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_func_$ac_func=no" +fi +rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + cat >> confdefs.h <<EOF +#define $ac_tr_func 1 +EOF + +else + echo "$ac_t""no" 1>&6 fi done @@ -11603,403 +8165,322 @@ done esac case "$LIBS" in - *-lsec*) -for ac_func in bigcrypt + *-lsec*) for ac_func in bigcrypt do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:11610: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 11616 "configure" +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:8172: 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 8177 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ + which can conflict with char $ac_func(); below. */ #include <assert.h> /* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); + builtin and then its argument prototype would still apply. */ +char $ac_func(); + +int main() { -int -main () -{ /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else -f = $ac_func; +$ac_func(); #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:11647: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:11650: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:11653: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:11656: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:11666: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +; return 0; } EOF +if { (eval echo configure:8200: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_func_$ac_func=no" +fi +rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + cat >> confdefs.h <<EOF +#define $ac_tr_func 1 +EOF + +else + echo "$ac_t""no" 1>&6 fi done ;; - *) -echo "$as_me:11677: checking for bigcrypt in -lsec" >&5 -echo $ECHO_N "checking for bigcrypt in -lsec... $ECHO_C" >&6 -if test "${ac_cv_lib_sec_bigcrypt+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + *) echo $ac_n "checking for bigcrypt in -lsec""... $ac_c" 1>&6 +echo "configure:8225: 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 else - ac_check_lib_save_LIBS=$LIBS + ac_save_LIBS="$LIBS" LIBS="-lsec $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line 11685 "configure" +cat > conftest.$ac_ext <<EOF +#line 8233 "configure" #include "confdefs.h" - /* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char bigcrypt (); -int -main () -{ -bigcrypt (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:11704: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:11707: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:11710: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:11713: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_sec_bigcrypt=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_sec_bigcrypt=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:11724: result: $ac_cv_lib_sec_bigcrypt" >&5 -echo "${ECHO_T}$ac_cv_lib_sec_bigcrypt" >&6 -if test $ac_cv_lib_sec_bigcrypt = yes; then - cat >>confdefs.h <<EOF -#define HAVE_LIBSEC 1 + builtin and then its argument prototype would still apply. */ +char bigcrypt(); + +int main() { +bigcrypt() +; return 0; } +EOF +if { (eval echo configure:8244: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -f conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_lib=HAVE_LIB`echo sec | sed -e 's/[^a-zA-Z0-9_]/_/g' \ + -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'` + cat >> confdefs.h <<EOF +#define $ac_tr_lib 1 EOF LIBS="-lsec $LIBS" +else + echo "$ac_t""no" 1>&6 fi - -for ac_func in bigcrypt + + for ac_func in bigcrypt do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:11738: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 11744 "configure" +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:8274: 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 8279 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ + which can conflict with char $ac_func(); below. */ #include <assert.h> /* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); + builtin and then its argument prototype would still apply. */ +char $ac_func(); + +int main() { -int -main () -{ /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else -f = $ac_func; +$ac_func(); #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:11775: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:11778: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:11781: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:11784: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:11794: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +; return 0; } EOF +if { (eval echo configure:8302: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_func_$ac_func=no" +fi +rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + cat >> confdefs.h <<EOF +#define $ac_tr_func 1 +EOF + +else + echo "$ac_t""no" 1>&6 fi done ;; esac + case "$LIBS" in - *-lsecurity*) -for ac_func in getprpwnam + *-lsecurity*) for ac_func in getprpwnam do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:11812: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 11818 "configure" +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:8334: 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 8339 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ + which can conflict with char $ac_func(); below. */ #include <assert.h> /* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); + builtin and then its argument prototype would still apply. */ +char $ac_func(); + +int main() { -int -main () -{ /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else -f = $ac_func; +$ac_func(); #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:11849: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:11852: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:11855: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:11858: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:11868: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +; return 0; } EOF +if { (eval echo configure:8362: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_func_$ac_func=no" +fi +rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + cat >> confdefs.h <<EOF +#define $ac_tr_func 1 +EOF + +else + echo "$ac_t""no" 1>&6 fi done ;; - *) -echo "$as_me:11879: checking for getprpwnam in -lsecurity" >&5 -echo $ECHO_N "checking for getprpwnam in -lsecurity... $ECHO_C" >&6 -if test "${ac_cv_lib_security_getprpwnam+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + *) echo $ac_n "checking for getprpwnam in -lsecurity""... $ac_c" 1>&6 +echo "configure:8387: 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 else - ac_check_lib_save_LIBS=$LIBS + ac_save_LIBS="$LIBS" LIBS="-lsecurity $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line 11887 "configure" +cat > conftest.$ac_ext <<EOF +#line 8395 "configure" #include "confdefs.h" - /* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char getprpwnam (); -int -main () -{ -getprpwnam (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:11906: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:11909: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:11912: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:11915: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_security_getprpwnam=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_security_getprpwnam=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:11926: result: $ac_cv_lib_security_getprpwnam" >&5 -echo "${ECHO_T}$ac_cv_lib_security_getprpwnam" >&6 -if test $ac_cv_lib_security_getprpwnam = yes; then - cat >>confdefs.h <<EOF -#define HAVE_LIBSECURITY 1 + builtin and then its argument prototype would still apply. */ +char getprpwnam(); + +int main() { +getprpwnam() +; return 0; } +EOF +if { (eval echo configure:8406: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -f conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_lib=HAVE_LIB`echo security | sed -e 's/[^a-zA-Z0-9_]/_/g' \ + -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'` + cat >> confdefs.h <<EOF +#define $ac_tr_lib 1 EOF LIBS="-lsecurity $LIBS" +else + echo "$ac_t""no" 1>&6 fi - -for ac_func in getprpwnam + + for ac_func in getprpwnam do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:11940: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 11946 "configure" +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:8436: 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 8441 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ + which can conflict with char $ac_func(); below. */ #include <assert.h> /* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); + builtin and then its argument prototype would still apply. */ +char $ac_func(); + +int main() { -int -main () -{ /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else -f = $ac_func; +$ac_func(); #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:11977: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:11980: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:11983: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:11986: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:11996: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +; return 0; } EOF +if { (eval echo configure:8464: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_func_$ac_func=no" +fi +rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + cat >> confdefs.h <<EOF +#define $ac_tr_func 1 +EOF + +else + echo "$ac_t""no" 1>&6 fi done @@ -12007,207 +8488,167 @@ done esac case "$LIBS" in - *-lsec*) -for ac_func in getprpwnam + *-lsec*) for ac_func in getprpwnam do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:12014: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 12020 "configure" +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:8495: 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 8500 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ + which can conflict with char $ac_func(); below. */ #include <assert.h> /* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); + builtin and then its argument prototype would still apply. */ +char $ac_func(); + +int main() { -int -main () -{ /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else -f = $ac_func; +$ac_func(); #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:12051: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:12054: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:12057: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:12060: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:12070: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +; return 0; } EOF +if { (eval echo configure:8523: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_func_$ac_func=no" +fi +rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + cat >> confdefs.h <<EOF +#define $ac_tr_func 1 +EOF + +else + echo "$ac_t""no" 1>&6 fi done ;; - *) -echo "$as_me:12081: checking for getprpwnam in -lsec" >&5 -echo $ECHO_N "checking for getprpwnam in -lsec... $ECHO_C" >&6 -if test "${ac_cv_lib_sec_getprpwnam+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + *) echo $ac_n "checking for getprpwnam in -lsec""... $ac_c" 1>&6 +echo "configure:8548: 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 else - ac_check_lib_save_LIBS=$LIBS + ac_save_LIBS="$LIBS" LIBS="-lsec $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line 12089 "configure" +cat > conftest.$ac_ext <<EOF +#line 8556 "configure" #include "confdefs.h" - /* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char getprpwnam (); -int -main () -{ -getprpwnam (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:12108: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:12111: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:12114: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:12117: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_sec_getprpwnam=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_sec_getprpwnam=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:12128: result: $ac_cv_lib_sec_getprpwnam" >&5 -echo "${ECHO_T}$ac_cv_lib_sec_getprpwnam" >&6 -if test $ac_cv_lib_sec_getprpwnam = yes; then - cat >>confdefs.h <<EOF -#define HAVE_LIBSEC 1 + builtin and then its argument prototype would still apply. */ +char getprpwnam(); + +int main() { +getprpwnam() +; return 0; } +EOF +if { (eval echo configure:8567: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -f conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_lib=HAVE_LIB`echo sec | sed -e 's/[^a-zA-Z0-9_]/_/g' \ + -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'` + cat >> confdefs.h <<EOF +#define $ac_tr_lib 1 EOF LIBS="-lsec $LIBS" +else + echo "$ac_t""no" 1>&6 fi - -for ac_func in getprpwnam + + for ac_func in getprpwnam do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:12142: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 12148 "configure" +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:8597: 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 8602 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ + which can conflict with char $ac_func(); below. */ #include <assert.h> /* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); + builtin and then its argument prototype would still apply. */ +char $ac_func(); + +int main() { -int -main () -{ /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else -f = $ac_func; +$ac_func(); #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:12179: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:12182: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:12185: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:12188: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:12198: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +; return 0; } EOF +if { (eval echo configure:8625: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_func_$ac_func=no" +fi +rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + cat >> confdefs.h <<EOF +#define $ac_tr_func 1 +EOF + +else + echo "$ac_t""no" 1>&6 fi done ;; esac + # this bit needs to be modified for each OS that is suported by # smbwrapper. You need to specify how to created a shared library and # how to compile C code to produce PIC object files @@ -12216,18 +8657,18 @@ done HOST_OS="$host_os" LDSHFLAGS="-shared" SONAMEFLAG="#" -SHLD="\${CC}" +SHLD="\${CC}" PICFLAG="" PICSUFFIX="po.o" SHLIBEXT="so" # Assume non-shared by default and override below -BLDSHARED="false" -echo "$as_me:12225: checking ability to build shared libraries" >&5 -echo $ECHO_N "checking ability to build shared libraries... $ECHO_C" >&6 +BLDSHARED="false" +echo $ac_n "checking ability to build shared libraries""... $ac_c" 1>&6 +echo "configure:8668: checking ability to build shared libraries" >&5 # and these are for particular systems case "$host_os" in - *linux*) cat >>confdefs.h <<\EOF + *linux*) cat >> confdefs.h <<\EOF #define LINUX 1 EOF @@ -12236,31 +8677,37 @@ EOF DYNEXP="-Wl,--export-dynamic" PICFLAG="-fPIC" SONAMEFLAG="-Wl,-soname=" - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define STAT_ST_BLOCKSIZE 512 EOF ;; - *solaris*) cat >>confdefs.h <<\EOF + *solaris*) cat >> confdefs.h <<\EOF #define SUNOS5 1 EOF BLDSHARED="true" LDSHFLAGS="-G" SONAMEFLAG="-h " - if test "${ac_cv_prog_CC}" = "gcc"; then + if test "${GCC}" = "yes"; then PICFLAG="-fPIC" + if test "${ac_cv_prog_gnu_ld}" = "yes"; then + DYNEXP="-Wl,-E" + fi else PICFLAG="-KPIC" + ## ${CFLAGS} added for building 64-bit shared + ## libs using Sun's Compiler + LDSHFLAGS="-G \${CFLAGS}" POBAD_CC="" PICSUFFIX="po.o" fi - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define STAT_ST_BLOCKSIZE 512 EOF ;; - *sunos*) cat >>confdefs.h <<\EOF + *sunos*) cat >> confdefs.h <<\EOF #define SUNOS4 1 EOF @@ -12271,19 +8718,20 @@ EOF ;; *bsd*) BLDSHARED="true" LDSHFLAGS="-shared" + DYNEXP="-Wl,-Bdynamic" SONAMEFLAG="-Wl,-soname," PICFLAG="-fPIC" - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define STAT_ST_BLOCKSIZE 512 EOF ;; - *irix*) cat >>confdefs.h <<\EOF + *irix*) cat >> confdefs.h <<\EOF #define IRIX 1 EOF case "$host_os" in - *irix6*) cat >>confdefs.h <<\EOF + *irix6*) cat >> confdefs.h <<\EOF #define IRIX6 1 EOF @@ -12293,30 +8741,38 @@ EOF BLDSHARED="true" LDSHFLAGS="-set_version sgi1.0 -shared" SONAMEFLAG="-soname " - SHLD="\${LD}" - if test "${ac_cv_prog_CC}" = "gcc"; then + SHLD="\${LD}" + if test "${GCC}" = "yes"; then PICFLAG="-fPIC" - else + else PICFLAG="-KPIC" fi - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define STAT_ST_BLOCKSIZE 512 EOF ;; - *aix*) cat >>confdefs.h <<\EOF + *aix*) cat >> confdefs.h <<\EOF #define AIX 1 EOF BLDSHARED="true" LDSHFLAGS="-Wl,-bexpall,-bM:SRE,-bnoentry" - PICFLAG="-O2 -qmaxmem=6000" - cat >>confdefs.h <<\EOF + DYNEXP="-Wl,-brtl,-bexpall" + if test "${GCC}" = "yes"; then + PICFLAG="-O2" + else + PICFLAG="-O2 -qmaxmem=6000" + ## for funky AIX compiler using strncpy() + CFLAGS="$CFLAGS -D_LINUX_SOURCE_COMPAT" + fi + + cat >> confdefs.h <<\EOF #define STAT_ST_BLOCKSIZE DEV_BSIZE EOF ;; - *hpux*) cat >>confdefs.h <<\EOF + *hpux*) cat >> confdefs.h <<\EOF #define HPUX 1 EOF @@ -12330,16 +8786,16 @@ EOF PICFLAG="+z" fi DYNEXP="-Wl,-E" - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define STAT_ST_BLOCKSIZE 8192 EOF ;; - *qnx*) cat >>confdefs.h <<\EOF + *qnx*) cat >> confdefs.h <<\EOF #define QNX 1 EOF ;; - *osf*) cat >>confdefs.h <<\EOF + *osf*) cat >> confdefs.h <<\EOF #define OSF1 1 EOF @@ -12348,11 +8804,11 @@ EOF SONAMEFLAG="-Wl,-soname," PICFLAG="-fPIC" ;; - *sco*) cat >>confdefs.h <<\EOF + *sco*) cat >> confdefs.h <<\EOF #define SCO 1 EOF ;; - *unixware*) cat >>confdefs.h <<\EOF + *unixware*) cat >> confdefs.h <<\EOF #define UNIXWARE 1 EOF @@ -12361,46 +8817,43 @@ EOF SONAMEFLAG="-Wl,-soname," PICFLAG="-KPIC" ;; - *next2*) cat >>confdefs.h <<\EOF + *next2*) cat >> confdefs.h <<\EOF #define NEXT2 1 EOF ;; *dgux*) # Extract the first word of "groff", so it can be a program name with args. set dummy groff; ac_word=$2 -echo "$as_me:12370: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ROFF+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:8828: 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 if test -n "$ROFF"; then ac_cv_prog_ROFF="$ROFF" # Let the user override the test. else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_ROFF="groff -etpsR -Tascii -man" -echo "$as_me:12385: found $ac_dir/$ac_word" >&5 -break -done - + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_prog_ROFF="groff -etpsR -Tascii -man" + break + fi + done + IFS="$ac_save_ifs" fi fi -ROFF=$ac_cv_prog_ROFF +ROFF="$ac_cv_prog_ROFF" if test -n "$ROFF"; then - echo "$as_me:12393: result: $ROFF" >&5 -echo "${ECHO_T}$ROFF" >&6 + echo "$ac_t""$ROFF" 1>&6 else - echo "$as_me:12396: result: no" >&5 -echo "${ECHO_T}no" >&6 + echo "$ac_t""no" 1>&6 fi ;; *sysv4*) case "$host" in *-univel-*) if test "$GCC" != yes ; then - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define HAVE_MEMSET 1 EOF @@ -12408,7 +8861,7 @@ EOF LDSHFLAGS="-G" DYNEXP="-Bexport" ;; - *mips-sni-sysv4*) cat >>confdefs.h <<\EOF + *mips-sni-sysv4*) cat >> confdefs.h <<\EOF #define RELIANTUNIX 1 EOF ;; @@ -12416,7 +8869,7 @@ EOF ;; *sysv5*) if test "$GCC" != yes ; then - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define HAVE_MEMSET 1 EOF @@ -12425,23 +8878,20 @@ EOF ;; esac -echo "$as_me:12428: result: $BLDSHARED" >&5 -echo "${ECHO_T}$BLDSHARED" >&6 -echo "$as_me:12430: checking linker flags for shared libraries" >&5 -echo $ECHO_N "checking linker flags for shared libraries... $ECHO_C" >&6 -echo "$as_me:12432: result: $LDSHFLAGS" >&5 -echo "${ECHO_T}$LDSHFLAGS" >&6 -echo "$as_me:12434: checking compiler flags for position-independent code" >&5 -echo $ECHO_N "checking compiler flags for position-independent code... $ECHO_C" >&6 -echo "$as_me:12436: result: $PICFLAGS" >&5 -echo "${ECHO_T}$PICFLAGS" >&6 +echo "$ac_t""$BLDSHARED" 1>&6 +echo $ac_n "checking linker flags for shared libraries""... $ac_c" 1>&6 +echo "configure:8884: checking linker flags for shared libraries" >&5 +echo "$ac_t""$LDSHFLAGS" 1>&6 +echo $ac_n "checking compiler flags for position-independent code""... $ac_c" 1>&6 +echo "configure:8887: checking compiler flags for position-independent code" >&5 +echo "$ac_t""$PICFLAGS" 1>&6 # try to work out how to produce pic code with this compiler if test x$PICFLAG = x; then - echo "$as_me:12441: checking whether ${CC-cc} accepts -fpic" >&5 -echo $ECHO_N "checking whether ${CC-cc} accepts -fpic... $ECHO_C" >&6 -if test "${ac_cv_prog_cc_fpic+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + echo $ac_n "checking whether ${CC-cc} accepts -fpic""... $ac_c" 1>&6 +echo "configure:8893: checking whether ${CC-cc} accepts -fpic" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_cc_fpic'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else echo 'void f(){}' > conftest.c if test -z "`${CC-cc} -fpic -c conftest.c 2>&1`"; then @@ -12452,17 +8902,17 @@ fi rm -f conftest* fi -echo "$as_me:12455: result: $ac_cv_prog_cc_fpic" >&5 -echo "${ECHO_T}$ac_cv_prog_cc_fpic" >&6 + +echo "$ac_t""$ac_cv_prog_cc_fpic" 1>&6 if test $ac_cv_prog_cc_fpic = yes; then PICFLAG="-fpic"; fi fi if test x$PICFLAG = x; then - echo "$as_me:12462: checking whether ${CC-cc} accepts -KPIC" >&5 -echo $ECHO_N "checking whether ${CC-cc} accepts -KPIC... $ECHO_C" >&6 -if test "${ac_cv_prog_cc_KPIC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + echo $ac_n "checking whether ${CC-cc} accepts -KPIC""... $ac_c" 1>&6 +echo "configure:8914: checking whether ${CC-cc} accepts -KPIC" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_cc_KPIC'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else echo 'void f(){}' > conftest.c if test -z "`${CC-cc} -KPIC -c conftest.c 2>&1`"; then @@ -12473,17 +8923,17 @@ fi rm -f conftest* fi -echo "$as_me:12476: result: $ac_cv_prog_cc_KPIC" >&5 -echo "${ECHO_T}$ac_cv_prog_cc_KPIC" >&6 + +echo "$ac_t""$ac_cv_prog_cc_KPIC" 1>&6 if test $ac_cv_prog_cc_KPIC = yes; then PICFLAG="-KPIC"; fi fi if test x$PICFLAG = x; then - echo "$as_me:12483: checking whether ${CC-cc} accepts -Kpic" >&5 -echo $ECHO_N "checking whether ${CC-cc} accepts -Kpic... $ECHO_C" >&6 -if test "${ac_cv_prog_cc_Kpic+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + echo $ac_n "checking whether ${CC-cc} accepts -Kpic""... $ac_c" 1>&6 +echo "configure:8935: checking whether ${CC-cc} accepts -Kpic" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_cc_Kpic'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else echo 'void f(){}' > conftest.c if test -z "`${CC-cc} -Kpic -c conftest.c 2>&1`"; then @@ -12494,8 +8944,8 @@ fi rm -f conftest* fi -echo "$as_me:12497: result: $ac_cv_prog_cc_Kpic" >&5 -echo "${ECHO_T}$ac_cv_prog_cc_Kpic" >&6 + +echo "$ac_t""$ac_cv_prog_cc_Kpic" 1>&6 if test $ac_cv_prog_cc_Kpic = yes; then PICFLAG="-Kpic"; fi @@ -12503,46 +8953,38 @@ fi ################ -echo "$as_me:12506: checking for long long" >&5 -echo $ECHO_N "checking for long long... $ECHO_C" >&6 -if test "${samba_cv_have_longlong+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for long long""... $ac_c" 1>&6 +echo "configure:8958: 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 - + if test "$cross_compiling" = yes; then samba_cv_have_longlong=cross else - cat >conftest.$ac_ext <<_ACEOF -#line 12516 "configure" + cat > conftest.$ac_ext <<EOF +#line 8967 "configure" #include "confdefs.h" #include <stdio.h> main() { long long x = 1000000; x *= x; exit(((x/1000000) == 1000000)? 0: 1); } -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:12522: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:12525: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:12527: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:12530: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +EOF +if { (eval echo configure:8972: \"$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 - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -samba_cv_have_longlong=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -fr conftest* + samba_cv_have_longlong=no fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -fr conftest* fi + fi -echo "$as_me:12542: result: $samba_cv_have_longlong" >&5 -echo "${ECHO_T}$samba_cv_have_longlong" >&6 + +echo "$ac_t""$samba_cv_have_longlong" 1>&6 if test x"$samba_cv_have_longlong" = x"yes"; then - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define HAVE_LONGLONG 1 EOF @@ -12552,110 +8994,90 @@ fi # Check if the compiler supports the LL prefix on long long integers. # AIX needs this. -echo "$as_me:12555: checking for LL suffix on long long integers" >&5 -echo $ECHO_N "checking for LL suffix on long long integers... $ECHO_C" >&6 -if test "${samba_cv_compiler_supports_ll+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for LL suffix on long long integers""... $ac_c" 1>&6 +echo "configure:8999: 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 <<_ACEOF -#line 12562 "configure" + + cat > conftest.$ac_ext <<EOF +#line 9005 "configure" #include "confdefs.h" #include <stdio.h> -int -main () -{ +int main() { long long i = 0x8000000000LL - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:12574: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:12577: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:12580: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:12583: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:9012: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* samba_cv_compiler_supports_ll=yes else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -samba_cv_compiler_supports_ll=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + samba_cv_compiler_supports_ll=no fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest* fi -echo "$as_me:12593: result: $samba_cv_compiler_supports_ll" >&5 -echo "${ECHO_T}$samba_cv_compiler_supports_ll" >&6 + +echo "$ac_t""$samba_cv_compiler_supports_ll" 1>&6 if test x"$samba_cv_compiler_supports_ll" = x"yes"; then - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define COMPILER_SUPPORTS_LL 1 EOF fi -echo "$as_me:12602: checking for 64 bit off_t" >&5 -echo $ECHO_N "checking for 64 bit off_t... $ECHO_C" >&6 -if test "${samba_cv_SIZEOF_OFF_T+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + +echo $ac_n "checking for 64 bit off_t""... $ac_c" 1>&6 +echo "configure:9034: 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 - + if test "$cross_compiling" = yes; then samba_cv_SIZEOF_OFF_T=cross else - cat >conftest.$ac_ext <<_ACEOF -#line 12612 "configure" + cat > conftest.$ac_ext <<EOF +#line 9043 "configure" #include "confdefs.h" #include <stdio.h> #include <sys/stat.h> main() { exit((sizeof(off_t) == 8) ? 0 : 1); } -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:12619: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:12622: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:12624: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:12627: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +EOF +if { (eval echo configure:9049: \"$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 - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -samba_cv_SIZEOF_OFF_T=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -fr conftest* + samba_cv_SIZEOF_OFF_T=no fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -fr conftest* fi + fi -echo "$as_me:12639: result: $samba_cv_SIZEOF_OFF_T" >&5 -echo "${ECHO_T}$samba_cv_SIZEOF_OFF_T" >&6 + +echo "$ac_t""$samba_cv_SIZEOF_OFF_T" 1>&6 if test x"$samba_cv_SIZEOF_OFF_T" = x"yes"; then - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define SIZEOF_OFF_T 8 EOF fi -echo "$as_me:12648: checking for off64_t" >&5 -echo $ECHO_N "checking for off64_t... $ECHO_C" >&6 -if test "${samba_cv_HAVE_OFF64_T+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for off64_t""... $ac_c" 1>&6 +echo "configure:9072: 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 - + if test "$cross_compiling" = yes; then samba_cv_HAVE_OFF64_T=cross else - cat >conftest.$ac_ext <<_ACEOF -#line 12658 "configure" + cat > conftest.$ac_ext <<EOF +#line 9081 "configure" #include "confdefs.h" #if defined(HAVE_UNISTD_H) @@ -12664,94 +9086,78 @@ else #include <stdio.h> #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); } -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:12669: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:12672: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:12674: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:12677: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +EOF +if { (eval echo configure:9091: \"$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 - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -samba_cv_HAVE_OFF64_T=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -fr conftest* + samba_cv_HAVE_OFF64_T=no fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -fr conftest* fi + fi -echo "$as_me:12689: result: $samba_cv_HAVE_OFF64_T" >&5 -echo "${ECHO_T}$samba_cv_HAVE_OFF64_T" >&6 + +echo "$ac_t""$samba_cv_HAVE_OFF64_T" 1>&6 if test x"$samba_cv_HAVE_OFF64_T" = x"yes"; then - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define HAVE_OFF64_T 1 EOF fi -echo "$as_me:12698: checking for 64 bit ino_t" >&5 -echo $ECHO_N "checking for 64 bit ino_t... $ECHO_C" >&6 -if test "${samba_cv_SIZEOF_INO_T+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for 64 bit ino_t""... $ac_c" 1>&6 +echo "configure:9114: 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 - + if test "$cross_compiling" = yes; then samba_cv_SIZEOF_INO_T=cross else - cat >conftest.$ac_ext <<_ACEOF -#line 12708 "configure" + cat > conftest.$ac_ext <<EOF +#line 9123 "configure" #include "confdefs.h" #include <stdio.h> #include <sys/stat.h> main() { exit((sizeof(ino_t) == 8) ? 0 : 1); } -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:12715: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:12718: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:12720: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:12723: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +EOF +if { (eval echo configure:9129: \"$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 - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -samba_cv_SIZEOF_INO_T=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -fr conftest* + samba_cv_SIZEOF_INO_T=no fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -fr conftest* fi + fi -echo "$as_me:12735: result: $samba_cv_SIZEOF_INO_T" >&5 -echo "${ECHO_T}$samba_cv_SIZEOF_INO_T" >&6 + +echo "$ac_t""$samba_cv_SIZEOF_INO_T" 1>&6 if test x"$samba_cv_SIZEOF_INO_T" = x"yes"; then - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define SIZEOF_INO_T 8 EOF fi -echo "$as_me:12744: checking for ino64_t" >&5 -echo $ECHO_N "checking for ino64_t... $ECHO_C" >&6 -if test "${samba_cv_HAVE_INO64_T+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for ino64_t""... $ac_c" 1>&6 +echo "configure:9152: 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 - + if test "$cross_compiling" = yes; then samba_cv_HAVE_INO64_T=cross else - cat >conftest.$ac_ext <<_ACEOF -#line 12754 "configure" + cat > conftest.$ac_ext <<EOF +#line 9161 "configure" #include "confdefs.h" #if defined(HAVE_UNISTD_H) @@ -12760,48 +9166,40 @@ else #include <stdio.h> #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); } -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:12765: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:12768: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:12770: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:12773: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +EOF +if { (eval echo configure:9171: \"$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 - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -samba_cv_HAVE_INO64_T=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -fr conftest* + samba_cv_HAVE_INO64_T=no fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -fr conftest* fi + fi -echo "$as_me:12785: result: $samba_cv_HAVE_INO64_T" >&5 -echo "${ECHO_T}$samba_cv_HAVE_INO64_T" >&6 + +echo "$ac_t""$samba_cv_HAVE_INO64_T" 1>&6 if test x"$samba_cv_HAVE_INO64_T" = x"yes"; then - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define HAVE_INO64_T 1 EOF fi -echo "$as_me:12794: checking for dev64_t" >&5 -echo $ECHO_N "checking for dev64_t... $ECHO_C" >&6 -if test "${samba_cv_HAVE_DEV64_T+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for dev64_t""... $ac_c" 1>&6 +echo "configure:9194: checking for dev64_t" >&5 +if eval "test \"`echo '$''{'samba_cv_HAVE_DEV64_T'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else - + if test "$cross_compiling" = yes; then samba_cv_HAVE_DEV64_T=cross else - cat >conftest.$ac_ext <<_ACEOF -#line 12804 "configure" + cat > conftest.$ac_ext <<EOF +#line 9203 "configure" #include "confdefs.h" #if defined(HAVE_UNISTD_H) @@ -12810,45 +9208,37 @@ else #include <stdio.h> #include <sys/stat.h> main() { struct stat64 st; dev64_t s; if (sizeof(dev_t) == sizeof(dev64_t)) exit(1); exit((lstat64("/dev/null", &st)==0)?0:1); } -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:12815: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:12818: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:12820: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:12823: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +EOF +if { (eval echo configure:9213: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +then samba_cv_HAVE_DEV64_T=yes else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -samba_cv_HAVE_DEV64_T=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -fr conftest* + samba_cv_HAVE_DEV64_T=no fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -fr conftest* fi + fi -echo "$as_me:12835: result: $samba_cv_HAVE_DEV64_T" >&5 -echo "${ECHO_T}$samba_cv_HAVE_DEV64_T" >&6 + +echo "$ac_t""$samba_cv_HAVE_DEV64_T" 1>&6 if test x"$samba_cv_HAVE_DEV64_T" = x"yes"; then - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define HAVE_DEV64_T 1 EOF fi -echo "$as_me:12844: checking for struct dirent64" >&5 -echo $ECHO_N "checking for struct dirent64... $ECHO_C" >&6 -if test "${samba_cv_HAVE_STRUCT_DIRENT64+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for struct dirent64""... $ac_c" 1>&6 +echo "configure:9236: 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 <<_ACEOF -#line 12851 "configure" + +cat > conftest.$ac_ext <<EOF +#line 9242 "configure" #include "confdefs.h" #if defined(HAVE_UNISTD_H) @@ -12856,54 +9246,41 @@ cat >conftest.$ac_ext <<_ACEOF #endif #include <sys/types.h> #include <dirent.h> -int -main () -{ +int main() { struct dirent64 de; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:12868: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:12871: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:12874: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:12877: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:9254: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* samba_cv_HAVE_STRUCT_DIRENT64=yes else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -samba_cv_HAVE_STRUCT_DIRENT64=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + samba_cv_HAVE_STRUCT_DIRENT64=no fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest* fi -echo "$as_me:12887: result: $samba_cv_HAVE_STRUCT_DIRENT64" >&5 -echo "${ECHO_T}$samba_cv_HAVE_STRUCT_DIRENT64" >&6 -if test x"$samba_cv_HAVE_STRUCT_DIRENT64" = x"yes"; then - cat >>confdefs.h <<\EOF + +echo "$ac_t""$samba_cv_HAVE_STRUCT_DIRENT64" 1>&6 +if test x"$samba_cv_HAVE_STRUCT_DIRENT64" = x"yes" && test x"$ac_cv_func_readdir64" = x"yes"; then + cat >> confdefs.h <<\EOF #define HAVE_STRUCT_DIRENT64 1 EOF fi -echo "$as_me:12896: checking for major macro" >&5 -echo $ECHO_N "checking for major macro... $ECHO_C" >&6 -if test "${samba_cv_HAVE_DEVICE_MAJOR_FN+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for major macro""... $ac_c" 1>&6 +echo "configure:9275: checking for major macro" >&5 +if eval "test \"`echo '$''{'samba_cv_HAVE_DEVICE_MAJOR_FN'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else - + if test "$cross_compiling" = yes; then samba_cv_HAVE_DEVICE_MAJOR_FN=cross else - cat >conftest.$ac_ext <<_ACEOF -#line 12906 "configure" + cat > conftest.$ac_ext <<EOF +#line 9284 "configure" #include "confdefs.h" #if defined(HAVE_UNISTD_H) @@ -12911,48 +9288,40 @@ else #endif #include <sys/types.h> main() { dev_t dev; int i = major(dev); return 0; } -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:12916: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:12919: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:12921: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:12924: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +EOF +if { (eval echo configure:9293: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +then samba_cv_HAVE_DEVICE_MAJOR_FN=yes else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -samba_cv_HAVE_DEVICE_MAJOR_FN=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -fr conftest* + samba_cv_HAVE_DEVICE_MAJOR_FN=no fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -fr conftest* fi + fi -echo "$as_me:12936: result: $samba_cv_HAVE_DEVICE_MAJOR_FN" >&5 -echo "${ECHO_T}$samba_cv_HAVE_DEVICE_MAJOR_FN" >&6 + +echo "$ac_t""$samba_cv_HAVE_DEVICE_MAJOR_FN" 1>&6 if test x"$samba_cv_HAVE_DEVICE_MAJOR_FN" = x"yes"; then - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define HAVE_DEVICE_MAJOR_FN 1 EOF fi -echo "$as_me:12945: checking for minor macro" >&5 -echo $ECHO_N "checking for minor macro... $ECHO_C" >&6 -if test "${samba_cv_HAVE_DEVICE_MINOR_FN+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for minor macro""... $ac_c" 1>&6 +echo "configure:9316: checking for minor macro" >&5 +if eval "test \"`echo '$''{'samba_cv_HAVE_DEVICE_MINOR_FN'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else - + if test "$cross_compiling" = yes; then samba_cv_HAVE_DEVICE_MINOR_FN=cross else - cat >conftest.$ac_ext <<_ACEOF -#line 12955 "configure" + cat > conftest.$ac_ext <<EOF +#line 9325 "configure" #include "confdefs.h" #if defined(HAVE_UNISTD_H) @@ -12960,48 +9329,40 @@ else #endif #include <sys/types.h> main() { dev_t dev; int i = minor(dev); return 0; } -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:12965: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:12968: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:12970: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:12973: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +EOF +if { (eval echo configure:9334: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +then samba_cv_HAVE_DEVICE_MINOR_FN=yes else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -samba_cv_HAVE_DEVICE_MINOR_FN=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -fr conftest* + samba_cv_HAVE_DEVICE_MINOR_FN=no fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -fr conftest* fi + fi -echo "$as_me:12985: result: $samba_cv_HAVE_DEVICE_MINOR_FN" >&5 -echo "${ECHO_T}$samba_cv_HAVE_DEVICE_MINOR_FN" >&6 + +echo "$ac_t""$samba_cv_HAVE_DEVICE_MINOR_FN" 1>&6 if test x"$samba_cv_HAVE_DEVICE_MINOR_FN" = x"yes"; then - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define HAVE_DEVICE_MINOR_FN 1 EOF fi -echo "$as_me:12994: checking for makedev macro" >&5 -echo $ECHO_N "checking for makedev macro... $ECHO_C" >&6 -if test "${samba_cv_HAVE_MAKEDEV_FN+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for makedev macro""... $ac_c" 1>&6 +echo "configure:9357: checking for makedev macro" >&5 +if eval "test \"`echo '$''{'samba_cv_HAVE_MAKEDEV_FN'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else - + if test "$cross_compiling" = yes; then samba_cv_HAVE_MAKEDEV_FN=cross else - cat >conftest.$ac_ext <<_ACEOF -#line 13004 "configure" + cat > conftest.$ac_ext <<EOF +#line 9366 "configure" #include "confdefs.h" #if defined(HAVE_UNISTD_H) @@ -13009,332 +9370,291 @@ else #endif #include <sys/types.h> main() { dev_t dev = makedev(1,2); return 0; } -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:13014: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:13017: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:13019: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:13022: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +EOF +if { (eval echo configure:9375: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +then samba_cv_HAVE_MAKEDEV_FN=yes else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -samba_cv_HAVE_MAKEDEV_FN=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -fr conftest* + samba_cv_HAVE_MAKEDEV_FN=no fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -fr conftest* fi + fi -echo "$as_me:13034: result: $samba_cv_HAVE_MAKEDEV_FN" >&5 -echo "${ECHO_T}$samba_cv_HAVE_MAKEDEV_FN" >&6 + +echo "$ac_t""$samba_cv_HAVE_MAKEDEV_FN" 1>&6 if test x"$samba_cv_HAVE_MAKEDEV_FN" = x"yes"; then - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define MAKEDEV_FN 1 EOF fi -echo "$as_me:13043: checking for unsigned char" >&5 -echo $ECHO_N "checking for unsigned char... $ECHO_C" >&6 -if test "${samba_cv_HAVE_UNSIGNED_CHAR+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for unsigned char""... $ac_c" 1>&6 +echo "configure:9398: 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 - + if test "$cross_compiling" = yes; then samba_cv_HAVE_UNSIGNED_CHAR=cross else - cat >conftest.$ac_ext <<_ACEOF -#line 13053 "configure" + cat > conftest.$ac_ext <<EOF +#line 9407 "configure" #include "confdefs.h" #include <stdio.h> main() { char c; c=250; exit((c > 0)?0:1); } -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:13059: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:13062: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:13064: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:13067: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +EOF +if { (eval echo configure:9412: \"$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 - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -samba_cv_HAVE_UNSIGNED_CHAR=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -fr conftest* + samba_cv_HAVE_UNSIGNED_CHAR=no fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -fr conftest* fi + fi -echo "$as_me:13079: result: $samba_cv_HAVE_UNSIGNED_CHAR" >&5 -echo "${ECHO_T}$samba_cv_HAVE_UNSIGNED_CHAR" >&6 + +echo "$ac_t""$samba_cv_HAVE_UNSIGNED_CHAR" 1>&6 if test x"$samba_cv_HAVE_UNSIGNED_CHAR" = x"yes"; then - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define HAVE_UNSIGNED_CHAR 1 EOF fi -echo "$as_me:13088: checking for sin_len in sock" >&5 -echo $ECHO_N "checking for sin_len in sock... $ECHO_C" >&6 -if test "${samba_cv_HAVE_SOCK_SIN_LEN+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for sin_len in sock""... $ac_c" 1>&6 +echo "configure:9435: 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 <<_ACEOF -#line 13095 "configure" + +cat > conftest.$ac_ext <<EOF +#line 9441 "configure" #include "confdefs.h" #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> -int -main () -{ +int main() { struct sockaddr_in sock; sock.sin_len = sizeof(sock); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:13109: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:13112: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:13115: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:13118: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:9450: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* samba_cv_HAVE_SOCK_SIN_LEN=yes else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -samba_cv_HAVE_SOCK_SIN_LEN=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + samba_cv_HAVE_SOCK_SIN_LEN=no fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest* fi -echo "$as_me:13128: result: $samba_cv_HAVE_SOCK_SIN_LEN" >&5 -echo "${ECHO_T}$samba_cv_HAVE_SOCK_SIN_LEN" >&6 + +echo "$ac_t""$samba_cv_HAVE_SOCK_SIN_LEN" 1>&6 if test x"$samba_cv_HAVE_SOCK_SIN_LEN" = x"yes"; then - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define HAVE_SOCK_SIN_LEN 1 EOF fi -echo "$as_me:13137: checking whether seekdir returns void" >&5 -echo $ECHO_N "checking whether seekdir returns void... $ECHO_C" >&6 -if test "${samba_cv_SEEKDIR_RETURNS_VOID+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking whether seekdir returns void""... $ac_c" 1>&6 +echo "configure:9471: 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 <<_ACEOF -#line 13144 "configure" + +cat > conftest.$ac_ext <<EOF +#line 9477 "configure" #include "confdefs.h" #include <sys/types.h> #include <dirent.h> void seekdir(DIR *d, long loc) { return; } -int -main () -{ +int main() { return 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:13158: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:13161: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:13164: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:13167: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:9486: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* samba_cv_SEEKDIR_RETURNS_VOID=yes else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -samba_cv_SEEKDIR_RETURNS_VOID=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + samba_cv_SEEKDIR_RETURNS_VOID=no fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest* fi -echo "$as_me:13177: result: $samba_cv_SEEKDIR_RETURNS_VOID" >&5 -echo "${ECHO_T}$samba_cv_SEEKDIR_RETURNS_VOID" >&6 + +echo "$ac_t""$samba_cv_SEEKDIR_RETURNS_VOID" 1>&6 if test x"$samba_cv_SEEKDIR_RETURNS_VOID" = x"yes"; then - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define SEEKDIR_RETURNS_VOID 1 EOF fi -echo "$as_me:13186: checking for __FILE__ macro" >&5 -echo $ECHO_N "checking for __FILE__ macro... $ECHO_C" >&6 -if test "${samba_cv_HAVE_FILE_MACRO+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for __FILE__ macro""... $ac_c" 1>&6 +echo "configure:9507: 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 <<_ACEOF -#line 13193 "configure" + +cat > conftest.$ac_ext <<EOF +#line 9513 "configure" #include "confdefs.h" #include <stdio.h> -int -main () -{ +int main() { printf("%s\n", __FILE__); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:13205: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:13208: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:13211: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:13214: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:9520: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* samba_cv_HAVE_FILE_MACRO=yes else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -samba_cv_HAVE_FILE_MACRO=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + samba_cv_HAVE_FILE_MACRO=no fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest* fi -echo "$as_me:13224: result: $samba_cv_HAVE_FILE_MACRO" >&5 -echo "${ECHO_T}$samba_cv_HAVE_FILE_MACRO" >&6 + +echo "$ac_t""$samba_cv_HAVE_FILE_MACRO" 1>&6 if test x"$samba_cv_HAVE_FILE_MACRO" = x"yes"; then - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define HAVE_FILE_MACRO 1 EOF fi -echo "$as_me:13233: checking for __FUNCTION__ macro" >&5 -echo $ECHO_N "checking for __FUNCTION__ macro... $ECHO_C" >&6 -if test "${samba_cv_HAVE_FUNCTION_MACRO+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for __FUNCTION__ macro""... $ac_c" 1>&6 +echo "configure:9541: 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 <<_ACEOF -#line 13240 "configure" + +cat > conftest.$ac_ext <<EOF +#line 9547 "configure" #include "confdefs.h" #include <stdio.h> -int -main () -{ +int main() { printf("%s\n", __FUNCTION__); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:13252: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:13255: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:13258: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:13261: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:9554: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* samba_cv_HAVE_FUNCTION_MACRO=yes else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -samba_cv_HAVE_FUNCTION_MACRO=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + samba_cv_HAVE_FUNCTION_MACRO=no fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest* fi -echo "$as_me:13271: result: $samba_cv_HAVE_FUNCTION_MACRO" >&5 -echo "${ECHO_T}$samba_cv_HAVE_FUNCTION_MACRO" >&6 + +echo "$ac_t""$samba_cv_HAVE_FUNCTION_MACRO" 1>&6 if test x"$samba_cv_HAVE_FUNCTION_MACRO" = x"yes"; then - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define HAVE_FUNCTION_MACRO 1 EOF fi -echo "$as_me:13280: checking if gettimeofday takes tz argument" >&5 -echo $ECHO_N "checking if gettimeofday takes tz argument... $ECHO_C" >&6 -if test "${samba_cv_HAVE_GETTIMEOFDAY_TZ+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking if gettimeofday takes tz argument""... $ac_c" 1>&6 +echo "configure:9575: 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 - + if test "$cross_compiling" = yes; then samba_cv_HAVE_GETTIMEOFDAY_TZ=cross else - cat >conftest.$ac_ext <<_ACEOF -#line 13290 "configure" + cat > conftest.$ac_ext <<EOF +#line 9584 "configure" #include "confdefs.h" #include <sys/time.h> #include <unistd.h> main() { struct timeval tv; exit(gettimeofday(&tv, NULL));} -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:13298: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:13301: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:13303: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:13306: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +EOF +if { (eval echo configure:9591: \"$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 - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -samba_cv_HAVE_GETTIMEOFDAY_TZ=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -fr conftest* + samba_cv_HAVE_GETTIMEOFDAY_TZ=no fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -fr conftest* fi + fi -echo "$as_me:13318: result: $samba_cv_HAVE_GETTIMEOFDAY_TZ" >&5 -echo "${ECHO_T}$samba_cv_HAVE_GETTIMEOFDAY_TZ" >&6 + +echo "$ac_t""$samba_cv_HAVE_GETTIMEOFDAY_TZ" 1>&6 if test x"$samba_cv_HAVE_GETTIMEOFDAY_TZ" = x"yes"; then - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define HAVE_GETTIMEOFDAY_TZ 1 EOF fi -echo "$as_me:13327: checking for C99 vsnprintf" >&5 -echo $ECHO_N "checking for C99 vsnprintf... $ECHO_C" >&6 -if test "${samba_cv_HAVE_C99_VSNPRINTF+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for __va_copy""... $ac_c" 1>&6 +echo "configure:9614: checking for __va_copy" >&5 +if eval "test \"`echo '$''{'samba_cv_HAVE_VA_COPY'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else + +cat > conftest.$ac_ext <<EOF +#line 9620 "configure" +#include "confdefs.h" +#include <stdarg.h> +va_list ap1,ap2; +int main() { +__va_copy(ap1,ap2); +; return 0; } +EOF +if { (eval echo configure:9628: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + samba_cv_HAVE_VA_COPY=yes +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + samba_cv_HAVE_VA_COPY=no +fi +rm -f conftest* +fi + +echo "$ac_t""$samba_cv_HAVE_VA_COPY" 1>&6 +if test x"$samba_cv_HAVE_VA_COPY" = x"yes"; then + cat >> confdefs.h <<\EOF +#define HAVE_VA_COPY 1 +EOF + +fi +echo $ac_n "checking for C99 vsnprintf""... $ac_c" 1>&6 +echo "configure:9649: 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 + if test "$cross_compiling" = yes; then samba_cv_HAVE_C99_VSNPRINTF=cross else - cat >conftest.$ac_ext <<_ACEOF -#line 13337 "configure" + cat > conftest.$ac_ext <<EOF +#line 9658 "configure" #include "confdefs.h" #include <sys/types.h> @@ -13360,791 +9680,594 @@ void foo(const char *format, ...) { } main() { foo("hello"); } -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:13365: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:13368: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:13370: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:13373: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +EOF +if { (eval echo configure:9685: \"$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 - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -samba_cv_HAVE_C99_VSNPRINTF=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -fr conftest* + samba_cv_HAVE_C99_VSNPRINTF=no fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -fr conftest* fi + fi -echo "$as_me:13385: result: $samba_cv_HAVE_C99_VSNPRINTF" >&5 -echo "${ECHO_T}$samba_cv_HAVE_C99_VSNPRINTF" >&6 + +echo "$ac_t""$samba_cv_HAVE_C99_VSNPRINTF" 1>&6 if test x"$samba_cv_HAVE_C99_VSNPRINTF" = x"yes"; then - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define HAVE_C99_VSNPRINTF 1 EOF fi -echo "$as_me:13394: checking for broken readdir" >&5 -echo $ECHO_N "checking for broken readdir... $ECHO_C" >&6 -if test "${samba_cv_HAVE_BROKEN_READDIR+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for broken readdir""... $ac_c" 1>&6 +echo "configure:9708: 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 - + if test "$cross_compiling" = yes; then samba_cv_HAVE_BROKEN_READDIR=cross else - cat >conftest.$ac_ext <<_ACEOF -#line 13404 "configure" + cat > conftest.$ac_ext <<EOF +#line 9717 "configure" #include "confdefs.h" #include <sys/types.h> #include <dirent.h> 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);} -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:13413: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:13416: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:13418: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:13421: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +di->d_name[0] == 0) exit(0); exit(1);} +EOF +if { (eval echo configure:9725: \"$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 - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -samba_cv_HAVE_BROKEN_READDIR=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -fr conftest* + samba_cv_HAVE_BROKEN_READDIR=no fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -fr conftest* fi + fi -echo "$as_me:13433: result: $samba_cv_HAVE_BROKEN_READDIR" >&5 -echo "${ECHO_T}$samba_cv_HAVE_BROKEN_READDIR" >&6 + +echo "$ac_t""$samba_cv_HAVE_BROKEN_READDIR" 1>&6 if test x"$samba_cv_HAVE_BROKEN_READDIR" = x"yes"; then - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define HAVE_BROKEN_READDIR 1 EOF fi -echo "$as_me:13442: checking for utimbuf" >&5 -echo $ECHO_N "checking for utimbuf... $ECHO_C" >&6 -if test "${samba_cv_HAVE_UTIMBUF+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for utimbuf""... $ac_c" 1>&6 +echo "configure:9748: 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 <<_ACEOF -#line 13449 "configure" + +cat > conftest.$ac_ext <<EOF +#line 9754 "configure" #include "confdefs.h" #include <sys/types.h> #include <utime.h> -int -main () -{ +int main() { struct utimbuf tbuf; tbuf.actime = 0; tbuf.modtime = 1; exit(utime("foo.c",&tbuf)); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:13462: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:13465: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:13468: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:13471: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:9762: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* samba_cv_HAVE_UTIMBUF=yes else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -samba_cv_HAVE_UTIMBUF=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + samba_cv_HAVE_UTIMBUF=no fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest* fi -echo "$as_me:13481: result: $samba_cv_HAVE_UTIMBUF" >&5 -echo "${ECHO_T}$samba_cv_HAVE_UTIMBUF" >&6 + +echo "$ac_t""$samba_cv_HAVE_UTIMBUF" 1>&6 if test x"$samba_cv_HAVE_UTIMBUF" = x"yes"; then - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define HAVE_UTIMBUF 1 EOF fi + for ac_func in pututline pututxline updwtmp updwtmpx getutmpx do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:13493: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 13499 "configure" +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:9786: 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 9791 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ + which can conflict with char $ac_func(); below. */ #include <assert.h> /* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); + builtin and then its argument prototype would still apply. */ +char $ac_func(); + +int main() { -int -main () -{ /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else -f = $ac_func; +$ac_func(); #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:13530: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:13533: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:13536: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:13539: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:13549: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +; return 0; } EOF +if { (eval echo configure:9814: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_func_$ac_func=no" +fi +rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + cat >> confdefs.h <<EOF +#define $ac_tr_func 1 +EOF + +else + echo "$ac_t""no" 1>&6 fi done -echo "$as_me:13559: checking for ut_name in utmp" >&5 -echo $ECHO_N "checking for ut_name in utmp... $ECHO_C" >&6 -if test "${samba_cv_HAVE_UT_UT_NAME+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else -cat >conftest.$ac_ext <<_ACEOF -#line 13566 "configure" +echo $ac_n "checking for ut_name in utmp""... $ac_c" 1>&6 +echo "configure:9840: 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 9846 "configure" #include "confdefs.h" #include <sys/types.h> #include <utmp.h> -int -main () -{ +int main() { struct utmp ut; ut.ut_name[0] = 'a'; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:13579: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:13582: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:13585: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:13588: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:9854: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* samba_cv_HAVE_UT_UT_NAME=yes else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -samba_cv_HAVE_UT_UT_NAME=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + samba_cv_HAVE_UT_UT_NAME=no fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest* fi -echo "$as_me:13598: result: $samba_cv_HAVE_UT_UT_NAME" >&5 -echo "${ECHO_T}$samba_cv_HAVE_UT_UT_NAME" >&6 + +echo "$ac_t""$samba_cv_HAVE_UT_UT_NAME" 1>&6 if test x"$samba_cv_HAVE_UT_UT_NAME" = x"yes"; then - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define HAVE_UT_UT_NAME 1 EOF -fi +fi -echo "$as_me:13607: checking for ut_user in utmp" >&5 -echo $ECHO_N "checking for ut_user in utmp... $ECHO_C" >&6 -if test "${samba_cv_HAVE_UT_UT_USER+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for ut_user in utmp""... $ac_c" 1>&6 +echo "configure:9875: 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 <<_ACEOF -#line 13614 "configure" + +cat > conftest.$ac_ext <<EOF +#line 9881 "configure" #include "confdefs.h" #include <sys/types.h> #include <utmp.h> -int -main () -{ +int main() { struct utmp ut; ut.ut_user[0] = 'a'; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:13627: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:13630: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:13633: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:13636: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:9889: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* samba_cv_HAVE_UT_UT_USER=yes else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -samba_cv_HAVE_UT_UT_USER=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + samba_cv_HAVE_UT_UT_USER=no fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest* fi -echo "$as_me:13646: result: $samba_cv_HAVE_UT_UT_USER" >&5 -echo "${ECHO_T}$samba_cv_HAVE_UT_UT_USER" >&6 + +echo "$ac_t""$samba_cv_HAVE_UT_UT_USER" 1>&6 if test x"$samba_cv_HAVE_UT_UT_USER" = x"yes"; then - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define HAVE_UT_UT_USER 1 EOF -fi +fi -echo "$as_me:13655: checking for ut_id in utmp" >&5 -echo $ECHO_N "checking for ut_id in utmp... $ECHO_C" >&6 -if test "${samba_cv_HAVE_UT_UT_ID+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for ut_id in utmp""... $ac_c" 1>&6 +echo "configure:9910: 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 <<_ACEOF -#line 13662 "configure" + +cat > conftest.$ac_ext <<EOF +#line 9916 "configure" #include "confdefs.h" #include <sys/types.h> #include <utmp.h> -int -main () -{ +int main() { struct utmp ut; ut.ut_id[0] = 'a'; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:13675: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:13678: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:13681: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:13684: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:9924: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* samba_cv_HAVE_UT_UT_ID=yes else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -samba_cv_HAVE_UT_UT_ID=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + samba_cv_HAVE_UT_UT_ID=no fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest* fi -echo "$as_me:13694: result: $samba_cv_HAVE_UT_UT_ID" >&5 -echo "${ECHO_T}$samba_cv_HAVE_UT_UT_ID" >&6 + +echo "$ac_t""$samba_cv_HAVE_UT_UT_ID" 1>&6 if test x"$samba_cv_HAVE_UT_UT_ID" = x"yes"; then - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define HAVE_UT_UT_ID 1 EOF -fi +fi -echo "$as_me:13703: checking for ut_host in utmp" >&5 -echo $ECHO_N "checking for ut_host in utmp... $ECHO_C" >&6 -if test "${samba_cv_HAVE_UT_UT_HOST+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for ut_host in utmp""... $ac_c" 1>&6 +echo "configure:9945: 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 <<_ACEOF -#line 13710 "configure" + +cat > conftest.$ac_ext <<EOF +#line 9951 "configure" #include "confdefs.h" #include <sys/types.h> #include <utmp.h> -int -main () -{ +int main() { struct utmp ut; ut.ut_host[0] = 'a'; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:13723: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:13726: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:13729: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:13732: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:9959: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* samba_cv_HAVE_UT_UT_HOST=yes else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -samba_cv_HAVE_UT_UT_HOST=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + samba_cv_HAVE_UT_UT_HOST=no fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest* fi -echo "$as_me:13742: result: $samba_cv_HAVE_UT_UT_HOST" >&5 -echo "${ECHO_T}$samba_cv_HAVE_UT_UT_HOST" >&6 + +echo "$ac_t""$samba_cv_HAVE_UT_UT_HOST" 1>&6 if test x"$samba_cv_HAVE_UT_UT_HOST" = x"yes"; then - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define HAVE_UT_UT_HOST 1 EOF -fi +fi -echo "$as_me:13751: checking for ut_time in utmp" >&5 -echo $ECHO_N "checking for ut_time in utmp... $ECHO_C" >&6 -if test "${samba_cv_HAVE_UT_UT_TIME+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for ut_time in utmp""... $ac_c" 1>&6 +echo "configure:9980: 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 <<_ACEOF -#line 13758 "configure" + +cat > conftest.$ac_ext <<EOF +#line 9986 "configure" #include "confdefs.h" #include <sys/types.h> #include <utmp.h> -int -main () -{ +int main() { struct utmp ut; time_t t; ut.ut_time = t; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:13771: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:13774: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:13777: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:13780: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:9994: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* samba_cv_HAVE_UT_UT_TIME=yes else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -samba_cv_HAVE_UT_UT_TIME=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + samba_cv_HAVE_UT_UT_TIME=no fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest* fi -echo "$as_me:13790: result: $samba_cv_HAVE_UT_UT_TIME" >&5 -echo "${ECHO_T}$samba_cv_HAVE_UT_UT_TIME" >&6 + +echo "$ac_t""$samba_cv_HAVE_UT_UT_TIME" 1>&6 if test x"$samba_cv_HAVE_UT_UT_TIME" = x"yes"; then - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define HAVE_UT_UT_TIME 1 EOF -fi +fi -echo "$as_me:13799: checking for ut_tv in utmp" >&5 -echo $ECHO_N "checking for ut_tv in utmp... $ECHO_C" >&6 -if test "${samba_cv_HAVE_UT_UT_TV+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for ut_tv in utmp""... $ac_c" 1>&6 +echo "configure:10015: 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 <<_ACEOF -#line 13806 "configure" + +cat > conftest.$ac_ext <<EOF +#line 10021 "configure" #include "confdefs.h" #include <sys/types.h> #include <utmp.h> -int -main () -{ +int main() { struct utmp ut; struct timeval tv; ut.ut_tv = tv; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:13819: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:13822: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:13825: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:13828: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:10029: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* samba_cv_HAVE_UT_UT_TV=yes else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -samba_cv_HAVE_UT_UT_TV=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + samba_cv_HAVE_UT_UT_TV=no fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest* fi -echo "$as_me:13838: result: $samba_cv_HAVE_UT_UT_TV" >&5 -echo "${ECHO_T}$samba_cv_HAVE_UT_UT_TV" >&6 + +echo "$ac_t""$samba_cv_HAVE_UT_UT_TV" 1>&6 if test x"$samba_cv_HAVE_UT_UT_TV" = x"yes"; then - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define HAVE_UT_UT_TV 1 EOF -fi +fi -echo "$as_me:13847: checking for ut_type in utmp" >&5 -echo $ECHO_N "checking for ut_type in utmp... $ECHO_C" >&6 -if test "${samba_cv_HAVE_UT_UT_TYPE+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for ut_type in utmp""... $ac_c" 1>&6 +echo "configure:10050: 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 <<_ACEOF -#line 13854 "configure" + +cat > conftest.$ac_ext <<EOF +#line 10056 "configure" #include "confdefs.h" #include <sys/types.h> #include <utmp.h> -int -main () -{ +int main() { struct utmp ut; ut.ut_type = 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:13867: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:13870: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:13873: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:13876: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:10064: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* samba_cv_HAVE_UT_UT_TYPE=yes else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -samba_cv_HAVE_UT_UT_TYPE=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + samba_cv_HAVE_UT_UT_TYPE=no fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest* fi -echo "$as_me:13886: result: $samba_cv_HAVE_UT_UT_TYPE" >&5 -echo "${ECHO_T}$samba_cv_HAVE_UT_UT_TYPE" >&6 + +echo "$ac_t""$samba_cv_HAVE_UT_UT_TYPE" 1>&6 if test x"$samba_cv_HAVE_UT_UT_TYPE" = x"yes"; then - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define HAVE_UT_UT_TYPE 1 EOF -fi +fi -echo "$as_me:13895: checking for ut_pid in utmp" >&5 -echo $ECHO_N "checking for ut_pid in utmp... $ECHO_C" >&6 -if test "${samba_cv_HAVE_UT_UT_PID+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for ut_pid in utmp""... $ac_c" 1>&6 +echo "configure:10085: 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 <<_ACEOF -#line 13902 "configure" + +cat > conftest.$ac_ext <<EOF +#line 10091 "configure" #include "confdefs.h" #include <sys/types.h> #include <utmp.h> -int -main () -{ +int main() { struct utmp ut; ut.ut_pid = 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:13915: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:13918: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:13921: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:13924: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:10099: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* samba_cv_HAVE_UT_UT_PID=yes else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -samba_cv_HAVE_UT_UT_PID=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + samba_cv_HAVE_UT_UT_PID=no fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest* fi -echo "$as_me:13934: result: $samba_cv_HAVE_UT_UT_PID" >&5 -echo "${ECHO_T}$samba_cv_HAVE_UT_UT_PID" >&6 + +echo "$ac_t""$samba_cv_HAVE_UT_UT_PID" 1>&6 if test x"$samba_cv_HAVE_UT_UT_PID" = x"yes"; then - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define HAVE_UT_UT_PID 1 EOF -fi +fi -echo "$as_me:13943: checking for ut_exit in utmp" >&5 -echo $ECHO_N "checking for ut_exit in utmp... $ECHO_C" >&6 -if test "${samba_cv_HAVE_UT_UT_EXIT+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for ut_exit in utmp""... $ac_c" 1>&6 +echo "configure:10120: 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 <<_ACEOF -#line 13950 "configure" + +cat > conftest.$ac_ext <<EOF +#line 10126 "configure" #include "confdefs.h" #include <sys/types.h> #include <utmp.h> -int -main () -{ +int main() { struct utmp ut; ut.ut_exit.e_exit = 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:13963: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:13966: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:13969: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:13972: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:10134: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* samba_cv_HAVE_UT_UT_EXIT=yes else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -samba_cv_HAVE_UT_UT_EXIT=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + samba_cv_HAVE_UT_UT_EXIT=no fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest* fi -echo "$as_me:13982: result: $samba_cv_HAVE_UT_UT_EXIT" >&5 -echo "${ECHO_T}$samba_cv_HAVE_UT_UT_EXIT" >&6 + +echo "$ac_t""$samba_cv_HAVE_UT_UT_EXIT" 1>&6 if test x"$samba_cv_HAVE_UT_UT_EXIT" = x"yes"; then - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define HAVE_UT_UT_EXIT 1 EOF -fi +fi -echo "$as_me:13991: checking for ut_addr in utmp" >&5 -echo $ECHO_N "checking for ut_addr in utmp... $ECHO_C" >&6 -if test "${samba_cv_HAVE_UT_UT_ADDR+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for ut_addr in utmp""... $ac_c" 1>&6 +echo "configure:10155: 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 <<_ACEOF -#line 13998 "configure" + +cat > conftest.$ac_ext <<EOF +#line 10161 "configure" #include "confdefs.h" #include <sys/types.h> #include <utmp.h> -int -main () -{ +int main() { struct utmp ut; ut.ut_addr = 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:14011: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:14014: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:14017: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:14020: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:10169: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* samba_cv_HAVE_UT_UT_ADDR=yes else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -samba_cv_HAVE_UT_UT_ADDR=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + samba_cv_HAVE_UT_UT_ADDR=no fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest* fi -echo "$as_me:14030: result: $samba_cv_HAVE_UT_UT_ADDR" >&5 -echo "${ECHO_T}$samba_cv_HAVE_UT_UT_ADDR" >&6 + +echo "$ac_t""$samba_cv_HAVE_UT_UT_ADDR" 1>&6 if test x"$samba_cv_HAVE_UT_UT_ADDR" = x"yes"; then - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define HAVE_UT_UT_ADDR 1 EOF -fi +fi if test x$ac_cv_func_pututline = xyes ; then - echo "$as_me:14040: checking whether pututline returns pointer" >&5 -echo $ECHO_N "checking whether pututline returns pointer... $ECHO_C" >&6 -if test "${samba_cv_PUTUTLINE_RETURNS_UTMP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + echo $ac_n "checking whether pututline returns pointer""... $ac_c" 1>&6 +echo "configure:10191: 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 <<_ACEOF -#line 14047 "configure" + + cat > conftest.$ac_ext <<EOF +#line 10197 "configure" #include "confdefs.h" #include <sys/types.h> #include <utmp.h> -int -main () -{ +int main() { struct utmp utarg; struct utmp *utreturn; utreturn = pututline(&utarg); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:14060: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:14063: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:14066: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:14069: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:10205: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* samba_cv_PUTUTLINE_RETURNS_UTMP=yes else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -samba_cv_PUTUTLINE_RETURNS_UTMP=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + samba_cv_PUTUTLINE_RETURNS_UTMP=no fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest* fi -echo "$as_me:14079: result: $samba_cv_PUTUTLINE_RETURNS_UTMP" >&5 -echo "${ECHO_T}$samba_cv_PUTUTLINE_RETURNS_UTMP" >&6 + +echo "$ac_t""$samba_cv_PUTUTLINE_RETURNS_UTMP" 1>&6 if test x"$samba_cv_PUTUTLINE_RETURNS_UTMP" = x"yes"; then - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define PUTUTLINE_RETURNS_UTMP 1 EOF fi fi -echo "$as_me:14089: checking for ut_syslen in utmpx" >&5 -echo $ECHO_N "checking for ut_syslen in utmpx... $ECHO_C" >&6 -if test "${samba_cv_HAVE_UX_UT_SYSLEN+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for ut_syslen in utmpx""... $ac_c" 1>&6 +echo "configure:10227: 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 <<_ACEOF -#line 14096 "configure" + +cat > conftest.$ac_ext <<EOF +#line 10233 "configure" #include "confdefs.h" #include <sys/types.h> #include <utmpx.h> -int -main () -{ +int main() { struct utmpx ux; ux.ut_syslen = 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:14109: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:14112: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:14115: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:14118: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:10241: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* samba_cv_HAVE_UX_UT_SYSLEN=yes else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -samba_cv_HAVE_UX_UT_SYSLEN=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + samba_cv_HAVE_UX_UT_SYSLEN=no fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest* fi -echo "$as_me:14128: result: $samba_cv_HAVE_UX_UT_SYSLEN" >&5 -echo "${ECHO_T}$samba_cv_HAVE_UX_UT_SYSLEN" >&6 + +echo "$ac_t""$samba_cv_HAVE_UX_UT_SYSLEN" 1>&6 if test x"$samba_cv_HAVE_UX_UT_SYSLEN" = x"yes"; then - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define HAVE_UX_UT_SYSLEN 1 EOF -fi +fi -echo "$as_me:14137: checking for Linux kernel oplocks" >&5 -echo $ECHO_N "checking for Linux kernel oplocks... $ECHO_C" >&6 -if test "${samba_cv_HAVE_KERNEL_OPLOCKS_LINUX+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for Linux kernel oplocks""... $ac_c" 1>&6 +echo "configure:10262: 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 - + if test "$cross_compiling" = yes; then samba_cv_HAVE_KERNEL_OPLOCKS_LINUX=cross else - cat >conftest.$ac_ext <<_ACEOF -#line 14147 "configure" + cat > conftest.$ac_ext <<EOF +#line 10271 "configure" #include "confdefs.h" #include <sys/types.h> @@ -14157,48 +10280,40 @@ main() { return fcntl(fd, F_GETLEASE, 0) == -1; } -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:14162: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:14165: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:14167: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:14170: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +EOF +if { (eval echo configure:10285: \"$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 - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -samba_cv_HAVE_KERNEL_OPLOCKS_LINUX=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -fr conftest* + samba_cv_HAVE_KERNEL_OPLOCKS_LINUX=no fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -fr conftest* fi + fi -echo "$as_me:14182: result: $samba_cv_HAVE_KERNEL_OPLOCKS_LINUX" >&5 -echo "${ECHO_T}$samba_cv_HAVE_KERNEL_OPLOCKS_LINUX" >&6 + +echo "$ac_t""$samba_cv_HAVE_KERNEL_OPLOCKS_LINUX" 1>&6 if test x"$samba_cv_HAVE_KERNEL_OPLOCKS_LINUX" = x"yes"; then - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define HAVE_KERNEL_OPLOCKS_LINUX 1 EOF fi -echo "$as_me:14191: checking for kernel change notify support" >&5 -echo $ECHO_N "checking for kernel change notify support... $ECHO_C" >&6 -if test "${samba_cv_HAVE_KERNEL_CHANGE_NOTIFY+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for kernel change notify support""... $ac_c" 1>&6 +echo "configure:10308: 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 - + if test "$cross_compiling" = yes; then samba_cv_HAVE_KERNEL_CHANGE_NOTIFY=cross else - cat >conftest.$ac_ext <<_ACEOF -#line 14201 "configure" + cat > conftest.$ac_ext <<EOF +#line 10317 "configure" #include "confdefs.h" #include <sys/types.h> @@ -14211,48 +10326,40 @@ main() { exit(fcntl(open("/tmp", O_RDONLY), F_NOTIFY, 0) == -1 ? 1 : 0); } -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:14216: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:14219: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:14221: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:14224: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +EOF +if { (eval echo configure:10331: \"$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 - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -samba_cv_HAVE_KERNEL_CHANGE_NOTIFY=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -fr conftest* + samba_cv_HAVE_KERNEL_CHANGE_NOTIFY=no fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -fr conftest* fi + fi -echo "$as_me:14236: result: $samba_cv_HAVE_KERNEL_CHANGE_NOTIFY" >&5 -echo "${ECHO_T}$samba_cv_HAVE_KERNEL_CHANGE_NOTIFY" >&6 -if test x"$samba_cv_HAVE_KERNEL_CHANGE_NOTIFY" = x"yes"; then - cat >>confdefs.h <<\EOF + +echo "$ac_t""$samba_cv_HAVE_KERNEL_CHANGE_NOTIFY" 1>&6 +if test x"$samba_cv_HAVE_KERNEL_CHANGE_NOTIFY" = x"yes" && test x"$target_cpu" != x"s390"; then + cat >> confdefs.h <<\EOF #define HAVE_KERNEL_CHANGE_NOTIFY 1 EOF fi -echo "$as_me:14245: checking for kernel share modes" >&5 -echo $ECHO_N "checking for kernel share modes... $ECHO_C" >&6 -if test "${samba_cv_HAVE_KERNEL_SHARE_MODES+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for kernel share modes""... $ac_c" 1>&6 +echo "configure:10354: 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 - + if test "$cross_compiling" = yes; then samba_cv_HAVE_KERNEL_SHARE_MODES=cross else - cat >conftest.$ac_ext <<_ACEOF -#line 14255 "configure" + cat > conftest.$ac_ext <<EOF +#line 10363 "configure" #include "confdefs.h" #include <sys/types.h> @@ -14267,96 +10374,78 @@ main() { exit(flock(open("/dev/null", O_RDWR), LOCK_MAND|LOCK_READ) != 0); } -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:14272: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:14275: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:14277: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:14280: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +EOF +if { (eval echo configure:10379: \"$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 - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -samba_cv_HAVE_KERNEL_SHARE_MODES=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -fr conftest* + samba_cv_HAVE_KERNEL_SHARE_MODES=no fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -fr conftest* fi + fi -echo "$as_me:14292: result: $samba_cv_HAVE_KERNEL_SHARE_MODES" >&5 -echo "${ECHO_T}$samba_cv_HAVE_KERNEL_SHARE_MODES" >&6 + +echo "$ac_t""$samba_cv_HAVE_KERNEL_SHARE_MODES" 1>&6 if test x"$samba_cv_HAVE_KERNEL_SHARE_MODES" = x"yes"; then - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define HAVE_KERNEL_SHARE_MODES 1 EOF fi -echo "$as_me:14301: checking for IRIX kernel oplock type definitions" >&5 -echo $ECHO_N "checking for IRIX kernel oplock type definitions... $ECHO_C" >&6 -if test "${samba_cv_HAVE_KERNEL_OPLOCKS_IRIX+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else -cat >conftest.$ac_ext <<_ACEOF -#line 14308 "configure" + + +echo $ac_n "checking for IRIX kernel oplock type definitions""... $ac_c" 1>&6 +echo "configure:10405: 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 10411 "configure" #include "confdefs.h" #include <sys/types.h> #include <fcntl.h> -int -main () -{ +int main() { oplock_stat_t t; t.os_state = OP_REVOKE; t.os_dev = 1; t.os_ino = 1; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:14321: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:14324: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:14327: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:14330: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:10419: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* samba_cv_HAVE_KERNEL_OPLOCKS_IRIX=yes else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -samba_cv_HAVE_KERNEL_OPLOCKS_IRIX=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + samba_cv_HAVE_KERNEL_OPLOCKS_IRIX=no fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest* fi -echo "$as_me:14340: result: $samba_cv_HAVE_KERNEL_OPLOCKS_IRIX" >&5 -echo "${ECHO_T}$samba_cv_HAVE_KERNEL_OPLOCKS_IRIX" >&6 + +echo "$ac_t""$samba_cv_HAVE_KERNEL_OPLOCKS_IRIX" 1>&6 if test x"$samba_cv_HAVE_KERNEL_OPLOCKS_IRIX" = x"yes"; then - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define HAVE_KERNEL_OPLOCKS_IRIX 1 EOF fi -echo "$as_me:14349: checking for irix specific capabilities" >&5 -echo $ECHO_N "checking for irix specific capabilities... $ECHO_C" >&6 -if test "${samba_cv_HAVE_IRIX_SPECIFIC_CAPABILITIES+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for irix specific capabilities""... $ac_c" 1>&6 +echo "configure:10440: 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 - + if test "$cross_compiling" = yes; then samba_cv_HAVE_IRIX_SPECIFIC_CAPABILITIES=cross else - cat >conftest.$ac_ext <<_ACEOF -#line 14359 "configure" + cat > conftest.$ac_ext <<EOF +#line 10449 "configure" #include "confdefs.h" #include <sys/types.h> #include <sys/capability.h> @@ -14370,32 +10459,24 @@ main() { exit(0); } -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:14375: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:14378: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:14380: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:14383: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +EOF +if { (eval echo configure:10464: \"$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 - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -samba_cv_HAVE_IRIX_SPECIFIC_CAPABILITIES=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -fr conftest* + samba_cv_HAVE_IRIX_SPECIFIC_CAPABILITIES=no fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -fr conftest* fi + fi -echo "$as_me:14395: result: $samba_cv_HAVE_IRIX_SPECIFIC_CAPABILITIES" >&5 -echo "${ECHO_T}$samba_cv_HAVE_IRIX_SPECIFIC_CAPABILITIES" >&6 + +echo "$ac_t""$samba_cv_HAVE_IRIX_SPECIFIC_CAPABILITIES" 1>&6 if test x"$samba_cv_HAVE_IRIX_SPECIFIC_CAPABILITIES" = x"yes"; then - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define HAVE_IRIX_SPECIFIC_CAPABILITIES 1 EOF @@ -14406,214 +10487,163 @@ fi # This is *really* broken but some systems (DEC OSF1) do this.... JRA. # -echo "$as_me:14409: checking for int16 typedef included by rpc/rpc.h" >&5 -echo $ECHO_N "checking for int16 typedef included by rpc/rpc.h... $ECHO_C" >&6 -if test "${samba_cv_HAVE_INT16_FROM_RPC_RPC_H+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for int16 typedef included by rpc/rpc.h""... $ac_c" 1>&6 +echo "configure:10492: 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 <<_ACEOF -#line 14416 "configure" + +cat > conftest.$ac_ext <<EOF +#line 10498 "configure" #include "confdefs.h" #include <sys/types.h> #if defined(HAVE_RPC_RPC_H) #include <rpc/rpc.h> #endif -int -main () -{ +int main() { int16 testvar; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:14431: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:14434: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:14437: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:14440: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:10508: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* samba_cv_HAVE_INT16_FROM_RPC_RPC_H=yes else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -samba_cv_HAVE_INT16_FROM_RPC_RPC_H=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + samba_cv_HAVE_INT16_FROM_RPC_RPC_H=no fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest* fi -echo "$as_me:14450: result: $samba_cv_HAVE_INT16_FROM_RPC_RPC_H" >&5 -echo "${ECHO_T}$samba_cv_HAVE_INT16_FROM_RPC_RPC_H" >&6 + +echo "$ac_t""$samba_cv_HAVE_INT16_FROM_RPC_RPC_H" 1>&6 if test x"$samba_cv_HAVE_INT16_FROM_RPC_RPC_H" = x"yes"; then - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define HAVE_INT16_FROM_RPC_RPC_H 1 EOF fi -echo "$as_me:14459: checking for uint16 typedef included by rpc/rpc.h" >&5 -echo $ECHO_N "checking for uint16 typedef included by rpc/rpc.h... $ECHO_C" >&6 -if test "${samba_cv_HAVE_UINT16_FROM_RPC_RPC_H+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for uint16 typedef included by rpc/rpc.h""... $ac_c" 1>&6 +echo "configure:10529: 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 <<_ACEOF -#line 14466 "configure" + +cat > conftest.$ac_ext <<EOF +#line 10535 "configure" #include "confdefs.h" #include <sys/types.h> #if defined(HAVE_RPC_RPC_H) #include <rpc/rpc.h> #endif -int -main () -{ +int main() { uint16 testvar; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:14481: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:14484: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:14487: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:14490: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:10545: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* samba_cv_HAVE_UINT16_FROM_RPC_RPC_H=yes else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -samba_cv_HAVE_UINT16_FROM_RPC_RPC_H=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + samba_cv_HAVE_UINT16_FROM_RPC_RPC_H=no fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest* fi -echo "$as_me:14500: result: $samba_cv_HAVE_UINT16_FROM_RPC_RPC_H" >&5 -echo "${ECHO_T}$samba_cv_HAVE_UINT16_FROM_RPC_RPC_H" >&6 + +echo "$ac_t""$samba_cv_HAVE_UINT16_FROM_RPC_RPC_H" 1>&6 if test x"$samba_cv_HAVE_UINT16_FROM_RPC_RPC_H" = x"yes"; then - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define HAVE_UINT16_FROM_RPC_RPC_H 1 EOF fi -echo "$as_me:14509: checking for int32 typedef included by rpc/rpc.h" >&5 -echo $ECHO_N "checking for int32 typedef included by rpc/rpc.h... $ECHO_C" >&6 -if test "${samba_cv_HAVE_INT32_FROM_RPC_RPC_H+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for int32 typedef included by rpc/rpc.h""... $ac_c" 1>&6 +echo "configure:10566: 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 <<_ACEOF -#line 14516 "configure" + +cat > conftest.$ac_ext <<EOF +#line 10572 "configure" #include "confdefs.h" #include <sys/types.h> #if defined(HAVE_RPC_RPC_H) #include <rpc/rpc.h> #endif -int -main () -{ +int main() { int32 testvar; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:14531: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:14534: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:14537: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:14540: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:10582: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* samba_cv_HAVE_INT32_FROM_RPC_RPC_H=yes else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -samba_cv_HAVE_INT32_FROM_RPC_RPC_H=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + samba_cv_HAVE_INT32_FROM_RPC_RPC_H=no fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest* fi -echo "$as_me:14550: result: $samba_cv_HAVE_INT32_FROM_RPC_RPC_H" >&5 -echo "${ECHO_T}$samba_cv_HAVE_INT32_FROM_RPC_RPC_H" >&6 + +echo "$ac_t""$samba_cv_HAVE_INT32_FROM_RPC_RPC_H" 1>&6 if test x"$samba_cv_HAVE_INT32_FROM_RPC_RPC_H" = x"yes"; then - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define HAVE_INT32_FROM_RPC_RPC_H 1 EOF fi -echo "$as_me:14559: checking for uint32 typedef included by rpc/rpc.h" >&5 -echo $ECHO_N "checking for uint32 typedef included by rpc/rpc.h... $ECHO_C" >&6 -if test "${samba_cv_HAVE_UINT32_FROM_RPC_RPC_H+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for uint32 typedef included by rpc/rpc.h""... $ac_c" 1>&6 +echo "configure:10603: 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 <<_ACEOF -#line 14566 "configure" + +cat > conftest.$ac_ext <<EOF +#line 10609 "configure" #include "confdefs.h" #include <sys/types.h> #if defined(HAVE_RPC_RPC_H) #include <rpc/rpc.h> #endif -int -main () -{ +int main() { uint32 testvar; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:14581: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:14584: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:14587: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:14590: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:10619: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* samba_cv_HAVE_UINT32_FROM_RPC_RPC_H=yes else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -samba_cv_HAVE_UINT32_FROM_RPC_RPC_H=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + samba_cv_HAVE_UINT32_FROM_RPC_RPC_H=no fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest* fi -echo "$as_me:14600: result: $samba_cv_HAVE_UINT32_FROM_RPC_RPC_H" >&5 -echo "${ECHO_T}$samba_cv_HAVE_UINT32_FROM_RPC_RPC_H" >&6 + +echo "$ac_t""$samba_cv_HAVE_UINT32_FROM_RPC_RPC_H" 1>&6 if test x"$samba_cv_HAVE_UINT32_FROM_RPC_RPC_H" = x"yes"; then - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define HAVE_UINT32_FROM_RPC_RPC_H 1 EOF fi -echo "$as_me:14609: checking for conflicting AUTH_ERROR define in rpc/rpc.h" >&5 -echo $ECHO_N "checking for conflicting AUTH_ERROR define in rpc/rpc.h... $ECHO_C" >&6 -if test "${samba_cv_HAVE_RPC_AUTH_ERROR_CONFLICT+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else -cat >conftest.$ac_ext <<_ACEOF -#line 14616 "configure" +echo $ac_n "checking for conflicting AUTH_ERROR define in rpc/rpc.h""... $ac_c" 1>&6 +echo "configure:10641: 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 10647 "configure" #include "confdefs.h" #include <sys/types.h> #ifdef HAVE_SYS_SECURITY_H @@ -14623,176 +10653,135 @@ cat >conftest.$ac_ext <<_ACEOF #if defined(HAVE_RPC_RPC_H) #include <rpc/rpc.h> #endif -int -main () -{ +int main() { int testvar; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:14635: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:14638: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:14641: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:14644: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:10661: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* samba_cv_HAVE_RPC_AUTH_ERROR_CONFLICT=no else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -samba_cv_HAVE_RPC_AUTH_ERROR_CONFLICT=yes + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + samba_cv_HAVE_RPC_AUTH_ERROR_CONFLICT=yes fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest* fi -echo "$as_me:14654: result: $samba_cv_HAVE_RPC_AUTH_ERROR_CONFLICT" >&5 -echo "${ECHO_T}$samba_cv_HAVE_RPC_AUTH_ERROR_CONFLICT" >&6 + +echo "$ac_t""$samba_cv_HAVE_RPC_AUTH_ERROR_CONFLICT" 1>&6 if test x"$samba_cv_HAVE_RPC_AUTH_ERROR_CONFLICT" = x"yes"; then - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define HAVE_RPC_AUTH_ERROR_CONFLICT 1 EOF fi -echo "$as_me:14663: checking for test routines" >&5 -echo $ECHO_N "checking for test routines... $ECHO_C" >&6 +echo $ac_n "checking for test routines""... $ac_c" 1>&6 +echo "configure:10682: checking for test routines" >&5 if test "$cross_compiling" = yes; then - { echo "$as_me:14666: WARNING: cannot run when cross-compiling" >&5 -echo "$as_me: WARNING: cannot run when cross-compiling" >&2;} + echo "configure: warning: cannot run when cross-compiling" 1>&2 else - cat >conftest.$ac_ext <<_ACEOF -#line 14670 "configure" + cat > conftest.$ac_ext <<EOF +#line 10687 "configure" #include "confdefs.h" #include "${srcdir-.}/tests/trivial.c" -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:14675: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:14678: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:14680: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:14683: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - echo "$as_me:14685: result: yes" >&5 -echo "${ECHO_T}yes" >&6 -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -{ { echo "$as_me:14691: error: cant find test code. Aborting config" >&5 -echo "$as_me: error: cant find test code. Aborting config" >&2;} - { (exit 1); exit 1; }; } -fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - -echo "$as_me:14698: checking for ftruncate extend" >&5 -echo $ECHO_N "checking for ftruncate extend... $ECHO_C" >&6 -if test "${samba_cv_HAVE_FTRUNCATE_EXTEND+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +EOF +if { (eval echo configure:10691: \"$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 + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -fr conftest* + { echo "configure: error: cant find test code. Aborting config" 1>&2; exit 1; } +fi +rm -fr conftest* +fi + +echo $ac_n "checking for ftruncate extend""... $ac_c" 1>&6 +echo "configure:10705: 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 + if test "$cross_compiling" = yes; then samba_cv_HAVE_FTRUNCATE_EXTEND=cross else - cat >conftest.$ac_ext <<_ACEOF -#line 14708 "configure" + cat > conftest.$ac_ext <<EOF +#line 10714 "configure" #include "confdefs.h" #include "${srcdir-.}/tests/ftruncate.c" -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:14713: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:14716: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:14718: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:14721: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +EOF +if { (eval echo configure:10718: \"$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 - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -samba_cv_HAVE_FTRUNCATE_EXTEND=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -fr conftest* + samba_cv_HAVE_FTRUNCATE_EXTEND=no fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -fr conftest* fi + fi -echo "$as_me:14733: result: $samba_cv_HAVE_FTRUNCATE_EXTEND" >&5 -echo "${ECHO_T}$samba_cv_HAVE_FTRUNCATE_EXTEND" >&6 + +echo "$ac_t""$samba_cv_HAVE_FTRUNCATE_EXTEND" 1>&6 if test x"$samba_cv_HAVE_FTRUNCATE_EXTEND" = x"yes"; then - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define HAVE_FTRUNCATE_EXTEND 1 EOF fi -echo "$as_me:14742: checking for broken getgroups" >&5 -echo $ECHO_N "checking for broken getgroups... $ECHO_C" >&6 -if test "${samba_cv_HAVE_BROKEN_GETGROUPS+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for broken getgroups""... $ac_c" 1>&6 +echo "configure:10741: 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 - + if test "$cross_compiling" = yes; then samba_cv_HAVE_BROKEN_GETGROUPS=cross else - cat >conftest.$ac_ext <<_ACEOF -#line 14752 "configure" + cat > conftest.$ac_ext <<EOF +#line 10750 "configure" #include "confdefs.h" #include "${srcdir-.}/tests/getgroups.c" -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:14757: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:14760: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:14762: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:14765: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +EOF +if { (eval echo configure:10754: \"$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 - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -samba_cv_HAVE_BROKEN_GETGROUPS=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -fr conftest* + samba_cv_HAVE_BROKEN_GETGROUPS=no fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -fr conftest* fi + fi -echo "$as_me:14777: result: $samba_cv_HAVE_BROKEN_GETGROUPS" >&5 -echo "${ECHO_T}$samba_cv_HAVE_BROKEN_GETGROUPS" >&6 + +echo "$ac_t""$samba_cv_HAVE_BROKEN_GETGROUPS" 1>&6 if test x"$samba_cv_HAVE_BROKEN_GETGROUPS" = x"yes"; then - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define HAVE_BROKEN_GETGROUPS 1 EOF fi -echo "$as_me:14786: checking whether getpass should be replaced" >&5 -echo $ECHO_N "checking whether getpass should be replaced... $ECHO_C" >&6 -if test "${samba_cv_REPLACE_GETPASS+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking whether getpass should be replaced""... $ac_c" 1>&6 +echo "configure:10777: 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 - + SAVE_CPPFLAGS="$CPPFLAGS" -CPPFLAGS="$CPPFLAGS -I${srcdir-.}/ -I${srcdir-.}/include -I${srcdir-.}/ubiqx -I${srcdir-.}/smbwrapper" -cat >conftest.$ac_ext <<_ACEOF -#line 14795 "configure" +CPPFLAGS="$CPPFLAGS -I${srcdir-.}/ -I${srcdir-.}/include -I${srcdir-.}/ubiqx -I${srcdir-.}/popt -I${srcdir-.}/smbwrapper" +cat > conftest.$ac_ext <<EOF +#line 10785 "configure" #include "confdefs.h" #define REPLACE_GETPASS 1 @@ -14801,56 +10790,43 @@ cat >conftest.$ac_ext <<_ACEOF #include "${srcdir-.}/lib/getsmbpass.c" #undef main -int -main () -{ +int main() { - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:14813: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:14816: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:14819: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:14822: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:10798: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* samba_cv_REPLACE_GETPASS=yes else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -samba_cv_REPLACE_GETPASS=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + samba_cv_REPLACE_GETPASS=no fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest* CPPFLAGS="$SAVE_CPPFLAGS" fi -echo "$as_me:14834: result: $samba_cv_REPLACE_GETPASS" >&5 -echo "${ECHO_T}$samba_cv_REPLACE_GETPASS" >&6 + +echo "$ac_t""$samba_cv_REPLACE_GETPASS" 1>&6 if test x"$samba_cv_REPLACE_GETPASS" = x"yes"; then - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define REPLACE_GETPASS 1 EOF fi -echo "$as_me:14843: checking for broken inet_ntoa" >&5 -echo $ECHO_N "checking for broken inet_ntoa... $ECHO_C" >&6 -if test "${samba_cv_REPLACE_INET_NTOA+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for broken inet_ntoa""... $ac_c" 1>&6 +echo "configure:10821: 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 - + if test "$cross_compiling" = yes; then samba_cv_REPLACE_INET_NTOA=cross else - cat >conftest.$ac_ext <<_ACEOF -#line 14853 "configure" + cat > conftest.$ac_ext <<EOF +#line 10830 "configure" #include "confdefs.h" #include <stdio.h> @@ -14861,283 +10837,234 @@ else #endif main() { struct in_addr ip; ip.s_addr = 0x12345678; if (strcmp(inet_ntoa(ip),"18.52.86.120") && - strcmp(inet_ntoa(ip),"120.86.52.18")) { exit(0); } + strcmp(inet_ntoa(ip),"120.86.52.18")) { exit(0); } exit(1);} -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:14868: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:14871: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:14873: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:14876: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +EOF +if { (eval echo configure:10844: \"$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 - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -samba_cv_REPLACE_INET_NTOA=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -fr conftest* + samba_cv_REPLACE_INET_NTOA=no fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -fr conftest* fi + fi -echo "$as_me:14888: result: $samba_cv_REPLACE_INET_NTOA" >&5 -echo "${ECHO_T}$samba_cv_REPLACE_INET_NTOA" >&6 + +echo "$ac_t""$samba_cv_REPLACE_INET_NTOA" 1>&6 if test x"$samba_cv_REPLACE_INET_NTOA" = x"yes"; then - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define REPLACE_INET_NTOA 1 EOF fi -echo "$as_me:14897: checking for secure mkstemp" >&5 -echo $ECHO_N "checking for secure mkstemp... $ECHO_C" >&6 -if test "${samba_cv_HAVE_SECURE_MKSTEMP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for secure mkstemp""... $ac_c" 1>&6 +echo "configure:10867: 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 - + if test "$cross_compiling" = yes; then samba_cv_HAVE_SECURE_MKSTEMP=cross else - cat >conftest.$ac_ext <<_ACEOF -#line 14907 "configure" + cat > conftest.$ac_ext <<EOF +#line 10876 "configure" #include "confdefs.h" #include <stdlib.h> #include <sys/types.h> #include <sys/stat.h> #include <unistd.h> -main() { +main() { struct stat st; - char tpl[20]="/tmp/test.XXXXXX"; - int fd = mkstemp(tpl); + char tpl[20]="/tmp/test.XXXXXX"; + int fd = mkstemp(tpl); if (fd == -1) exit(1); unlink(tpl); if (fstat(fd, &st) != 0) exit(1); if ((st.st_mode & 0777) != 0600) exit(1); exit(0); } -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:14925: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:14928: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:14930: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:14933: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +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 +then samba_cv_HAVE_SECURE_MKSTEMP=yes else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -samba_cv_HAVE_SECURE_MKSTEMP=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -fr conftest* + samba_cv_HAVE_SECURE_MKSTEMP=no fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -fr conftest* fi + fi -echo "$as_me:14945: result: $samba_cv_HAVE_SECURE_MKSTEMP" >&5 -echo "${ECHO_T}$samba_cv_HAVE_SECURE_MKSTEMP" >&6 + +echo "$ac_t""$samba_cv_HAVE_SECURE_MKSTEMP" 1>&6 if test x"$samba_cv_HAVE_SECURE_MKSTEMP" = x"yes"; then - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define HAVE_SECURE_MKSTEMP 1 EOF fi -echo "$as_me:14954: checking for sysconf(_SC_NGROUPS_MAX)" >&5 -echo $ECHO_N "checking for sysconf(_SC_NGROUPS_MAX)... $ECHO_C" >&6 -if test "${samba_cv_SYSCONF_SC_NGROUPS_MAX+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for sysconf(_SC_NGROUPS_MAX)""... $ac_c" 1>&6 +echo "configure:10916: 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 - + if test "$cross_compiling" = yes; then samba_cv_SYSCONF_SC_NGROUPS_MAX=cross else - cat >conftest.$ac_ext <<_ACEOF -#line 14964 "configure" + cat > conftest.$ac_ext <<EOF +#line 10925 "configure" #include "confdefs.h" #include <unistd.h> main() { exit(sysconf(_SC_NGROUPS_MAX) == -1 ? 1 : 0); } -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:14970: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:14973: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:14975: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:14978: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +EOF +if { (eval echo configure:10930: \"$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 - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -samba_cv_SYSCONF_SC_NGROUPS_MAX=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -fr conftest* + samba_cv_SYSCONF_SC_NGROUPS_MAX=no fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -fr conftest* fi + fi -echo "$as_me:14990: result: $samba_cv_SYSCONF_SC_NGROUPS_MAX" >&5 -echo "${ECHO_T}$samba_cv_SYSCONF_SC_NGROUPS_MAX" >&6 + +echo "$ac_t""$samba_cv_SYSCONF_SC_NGROUPS_MAX" 1>&6 if test x"$samba_cv_SYSCONF_SC_NGROUPS_MAX" = x"yes"; then - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define SYSCONF_SC_NGROUPS_MAX 1 EOF fi -echo "$as_me:14999: checking for root" >&5 -echo $ECHO_N "checking for root... $ECHO_C" >&6 -if test "${samba_cv_HAVE_ROOT+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for root""... $ac_c" 1>&6 +echo "configure:10953: checking for root" >&5 +if eval "test \"`echo '$''{'samba_cv_HAVE_ROOT'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else - + if test "$cross_compiling" = yes; then samba_cv_HAVE_ROOT=cross else - cat >conftest.$ac_ext <<_ACEOF -#line 15009 "configure" + cat > conftest.$ac_ext <<EOF +#line 10962 "configure" #include "confdefs.h" main() { exit(getuid() != 0); } -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:15014: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:15017: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:15019: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:15022: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +EOF +if { (eval echo configure:10966: \"$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 - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -samba_cv_HAVE_ROOT=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -fr conftest* + samba_cv_HAVE_ROOT=no fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -fr conftest* fi + fi -echo "$as_me:15034: result: $samba_cv_HAVE_ROOT" >&5 -echo "${ECHO_T}$samba_cv_HAVE_ROOT" >&6 + +echo "$ac_t""$samba_cv_HAVE_ROOT" 1>&6 if test x"$samba_cv_HAVE_ROOT" = x"yes"; then - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define HAVE_ROOT 1 EOF else - { echo "$as_me:15042: WARNING: running as non-root will disable some tests" >&5 -echo "$as_me: WARNING: running as non-root will disable some tests" >&2;} + echo "configure: warning: running as non-root will disable some tests" 1>&2 fi ################## # look for a method of finding the list of network interfaces iface=no; -echo "$as_me:15049: checking for iface AIX" >&5 -echo $ECHO_N "checking for iface AIX... $ECHO_C" >&6 -if test "${samba_cv_HAVE_IFACE_AIX+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for iface AIX""... $ac_c" 1>&6 +echo "configure:10994: 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 - + if test "$cross_compiling" = yes; then samba_cv_HAVE_IFACE_AIX=cross else - cat >conftest.$ac_ext <<_ACEOF -#line 15059 "configure" + cat > conftest.$ac_ext <<EOF +#line 11003 "configure" #include "confdefs.h" #define HAVE_IFACE_AIX 1 #define AUTOCONF_TEST 1 #include "confdefs.h" #include "${srcdir-.}/lib/interfaces.c" -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:15068: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:15071: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:15073: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:15076: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +EOF +if { (eval echo configure:11011: \"$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 - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -samba_cv_HAVE_IFACE_AIX=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -fr conftest* + samba_cv_HAVE_IFACE_AIX=no fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -fr conftest* fi + fi -echo "$as_me:15088: result: $samba_cv_HAVE_IFACE_AIX" >&5 -echo "${ECHO_T}$samba_cv_HAVE_IFACE_AIX" >&6 + +echo "$ac_t""$samba_cv_HAVE_IFACE_AIX" 1>&6 if test x"$samba_cv_HAVE_IFACE_AIX" = x"yes"; then - iface=yes;cat >>confdefs.h <<\EOF + iface=yes;cat >> confdefs.h <<\EOF #define HAVE_IFACE_AIX 1 EOF fi if test $iface = no; then -echo "$as_me:15098: checking for iface ifconf" >&5 -echo $ECHO_N "checking for iface ifconf... $ECHO_C" >&6 -if test "${samba_cv_HAVE_IFACE_IFCONF+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for iface ifconf""... $ac_c" 1>&6 +echo "configure:11035: 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 - + if test "$cross_compiling" = yes; then samba_cv_HAVE_IFACE_IFCONF=cross else - cat >conftest.$ac_ext <<_ACEOF -#line 15108 "configure" + cat > conftest.$ac_ext <<EOF +#line 11044 "configure" #include "confdefs.h" #define HAVE_IFACE_IFCONF 1 #define AUTOCONF_TEST 1 #include "confdefs.h" #include "${srcdir-.}/lib/interfaces.c" -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:15117: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:15120: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:15122: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:15125: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +EOF +if { (eval echo configure:11052: \"$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 - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -samba_cv_HAVE_IFACE_IFCONF=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -fr conftest* + samba_cv_HAVE_IFACE_IFCONF=no fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -fr conftest* fi + fi -echo "$as_me:15137: result: $samba_cv_HAVE_IFACE_IFCONF" >&5 -echo "${ECHO_T}$samba_cv_HAVE_IFACE_IFCONF" >&6 + +echo "$ac_t""$samba_cv_HAVE_IFACE_IFCONF" 1>&6 if test x"$samba_cv_HAVE_IFACE_IFCONF" = x"yes"; then - iface=yes;cat >>confdefs.h <<\EOF + iface=yes;cat >> confdefs.h <<\EOF #define HAVE_IFACE_IFCONF 1 EOF @@ -15145,152 +11072,130 @@ fi fi if test $iface = no; then -echo "$as_me:15148: checking for iface ifreq" >&5 -echo $ECHO_N "checking for iface ifreq... $ECHO_C" >&6 -if test "${samba_cv_HAVE_IFACE_IFREQ+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for iface ifreq""... $ac_c" 1>&6 +echo "configure:11077: 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 - + if test "$cross_compiling" = yes; then samba_cv_HAVE_IFACE_IFREQ=cross else - cat >conftest.$ac_ext <<_ACEOF -#line 15158 "configure" + cat > conftest.$ac_ext <<EOF +#line 11086 "configure" #include "confdefs.h" #define HAVE_IFACE_IFREQ 1 #define AUTOCONF_TEST 1 #include "confdefs.h" #include "${srcdir-.}/lib/interfaces.c" -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:15167: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:15170: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:15172: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:15175: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +EOF +if { (eval echo configure:11094: \"$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 - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -samba_cv_HAVE_IFACE_IFREQ=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -fr conftest* + samba_cv_HAVE_IFACE_IFREQ=no fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -fr conftest* fi + fi -echo "$as_me:15187: result: $samba_cv_HAVE_IFACE_IFREQ" >&5 -echo "${ECHO_T}$samba_cv_HAVE_IFACE_IFREQ" >&6 + +echo "$ac_t""$samba_cv_HAVE_IFACE_IFREQ" 1>&6 if test x"$samba_cv_HAVE_IFACE_IFREQ" = x"yes"; then - iface=yes;cat >>confdefs.h <<\EOF + iface=yes;cat >> confdefs.h <<\EOF #define HAVE_IFACE_IFREQ 1 EOF fi fi + ################################################ # look for a method of setting the effective uid seteuid=no; if test $seteuid = no; then -echo "$as_me:15201: checking for setresuid" >&5 -echo $ECHO_N "checking for setresuid... $ECHO_C" >&6 -if test "${samba_cv_USE_SETRESUID+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for setresuid""... $ac_c" 1>&6 +echo "configure:11123: checking for setresuid" >&5 +if eval "test \"`echo '$''{'samba_cv_USE_SETRESUID'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else - + if test "$cross_compiling" = yes; then samba_cv_USE_SETRESUID=cross else - cat >conftest.$ac_ext <<_ACEOF -#line 15211 "configure" + cat > conftest.$ac_ext <<EOF +#line 11132 "configure" #include "confdefs.h" #define AUTOCONF_TEST 1 #define USE_SETRESUID 1 #include "confdefs.h" #include "${srcdir-.}/lib/util_sec.c" -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:15220: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:15223: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:15225: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:15228: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +EOF +if { (eval echo configure:11140: \"$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 - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -samba_cv_USE_SETRESUID=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -fr conftest* + samba_cv_USE_SETRESUID=no fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -fr conftest* fi + fi -echo "$as_me:15240: result: $samba_cv_USE_SETRESUID" >&5 -echo "${ECHO_T}$samba_cv_USE_SETRESUID" >&6 + +echo "$ac_t""$samba_cv_USE_SETRESUID" 1>&6 if test x"$samba_cv_USE_SETRESUID" = x"yes"; then - seteuid=yes;cat >>confdefs.h <<\EOF + seteuid=yes;cat >> confdefs.h <<\EOF #define USE_SETRESUID 1 EOF fi fi + if test $seteuid = no; then -echo "$as_me:15251: checking for setreuid" >&5 -echo $ECHO_N "checking for setreuid... $ECHO_C" >&6 -if test "${samba_cv_USE_SETREUID+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for setreuid""... $ac_c" 1>&6 +echo "configure:11166: checking for setreuid" >&5 +if eval "test \"`echo '$''{'samba_cv_USE_SETREUID'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else - + if test "$cross_compiling" = yes; then samba_cv_USE_SETREUID=cross else - cat >conftest.$ac_ext <<_ACEOF -#line 15261 "configure" + cat > conftest.$ac_ext <<EOF +#line 11175 "configure" #include "confdefs.h" #define AUTOCONF_TEST 1 #define USE_SETREUID 1 #include "confdefs.h" #include "${srcdir-.}/lib/util_sec.c" -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:15270: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:15273: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:15275: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:15278: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +EOF +if { (eval echo configure:11183: \"$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 - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -samba_cv_USE_SETREUID=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -fr conftest* + samba_cv_USE_SETREUID=no fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -fr conftest* fi + fi -echo "$as_me:15290: result: $samba_cv_USE_SETREUID" >&5 -echo "${ECHO_T}$samba_cv_USE_SETREUID" >&6 + +echo "$ac_t""$samba_cv_USE_SETREUID" 1>&6 if test x"$samba_cv_USE_SETREUID" = x"yes"; then - seteuid=yes;cat >>confdefs.h <<\EOF + seteuid=yes;cat >> confdefs.h <<\EOF #define USE_SETREUID 1 EOF @@ -15298,49 +11203,41 @@ fi fi if test $seteuid = no; then -echo "$as_me:15301: checking for seteuid" >&5 -echo $ECHO_N "checking for seteuid... $ECHO_C" >&6 -if test "${samba_cv_USE_SETEUID+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for seteuid""... $ac_c" 1>&6 +echo "configure:11208: checking for seteuid" >&5 +if eval "test \"`echo '$''{'samba_cv_USE_SETEUID'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else - + if test "$cross_compiling" = yes; then samba_cv_USE_SETEUID=cross else - cat >conftest.$ac_ext <<_ACEOF -#line 15311 "configure" + cat > conftest.$ac_ext <<EOF +#line 11217 "configure" #include "confdefs.h" #define AUTOCONF_TEST 1 #define USE_SETEUID 1 #include "confdefs.h" #include "${srcdir-.}/lib/util_sec.c" -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:15320: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:15323: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:15325: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:15328: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +EOF +if { (eval echo configure:11225: \"$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 - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -samba_cv_USE_SETEUID=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -fr conftest* + samba_cv_USE_SETEUID=no fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -fr conftest* fi + fi -echo "$as_me:15340: result: $samba_cv_USE_SETEUID" >&5 -echo "${ECHO_T}$samba_cv_USE_SETEUID" >&6 + +echo "$ac_t""$samba_cv_USE_SETEUID" 1>&6 if test x"$samba_cv_USE_SETEUID" = x"yes"; then - seteuid=yes;cat >>confdefs.h <<\EOF + seteuid=yes;cat >> confdefs.h <<\EOF #define USE_SETEUID 1 EOF @@ -15348,242 +11245,205 @@ fi fi if test $seteuid = no; then -echo "$as_me:15351: checking for setuidx" >&5 -echo $ECHO_N "checking for setuidx... $ECHO_C" >&6 -if test "${samba_cv_USE_SETUIDX+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for setuidx""... $ac_c" 1>&6 +echo "configure:11250: checking for setuidx" >&5 +if eval "test \"`echo '$''{'samba_cv_USE_SETUIDX'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else - + if test "$cross_compiling" = yes; then samba_cv_USE_SETUIDX=cross else - cat >conftest.$ac_ext <<_ACEOF -#line 15361 "configure" + cat > conftest.$ac_ext <<EOF +#line 11259 "configure" #include "confdefs.h" #define AUTOCONF_TEST 1 #define USE_SETUIDX 1 #include "confdefs.h" #include "${srcdir-.}/lib/util_sec.c" -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:15370: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:15373: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:15375: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:15378: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +EOF +if { (eval echo configure:11267: \"$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 - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -samba_cv_USE_SETUIDX=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -fr conftest* + samba_cv_USE_SETUIDX=no fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -fr conftest* fi + fi -echo "$as_me:15390: result: $samba_cv_USE_SETUIDX" >&5 -echo "${ECHO_T}$samba_cv_USE_SETUIDX" >&6 + +echo "$ac_t""$samba_cv_USE_SETUIDX" 1>&6 if test x"$samba_cv_USE_SETUIDX" = x"yes"; then - seteuid=yes;cat >>confdefs.h <<\EOF + seteuid=yes;cat >> confdefs.h <<\EOF #define USE_SETUIDX 1 EOF fi fi -echo "$as_me:15400: checking for working mmap" >&5 -echo $ECHO_N "checking for working mmap... $ECHO_C" >&6 -if test "${samba_cv_HAVE_MMAP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else +echo $ac_n "checking for working mmap""... $ac_c" 1>&6 +echo "configure:11292: 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 + if test "$cross_compiling" = yes; then samba_cv_HAVE_MMAP=cross else - cat >conftest.$ac_ext <<_ACEOF -#line 15410 "configure" + cat > conftest.$ac_ext <<EOF +#line 11301 "configure" #include "confdefs.h" #include "${srcdir-.}/tests/shared_mmap.c" -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:15415: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:15418: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:15420: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:15423: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +EOF +if { (eval echo configure:11305: \"$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 - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -samba_cv_HAVE_MMAP=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -fr conftest* + samba_cv_HAVE_MMAP=no fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -fr conftest* fi + fi -echo "$as_me:15435: result: $samba_cv_HAVE_MMAP" >&5 -echo "${ECHO_T}$samba_cv_HAVE_MMAP" >&6 + +echo "$ac_t""$samba_cv_HAVE_MMAP" 1>&6 if test x"$samba_cv_HAVE_MMAP" = x"yes"; then - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define HAVE_MMAP 1 EOF fi -echo "$as_me:15444: checking for ftruncate needs root" >&5 -echo $ECHO_N "checking for ftruncate needs root... $ECHO_C" >&6 -if test "${samba_cv_FTRUNCATE_NEEDS_ROOT+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for ftruncate needs root""... $ac_c" 1>&6 +echo "configure:11328: 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 - + if test "$cross_compiling" = yes; then samba_cv_FTRUNCATE_NEEDS_ROOT=cross else - cat >conftest.$ac_ext <<_ACEOF -#line 15454 "configure" + cat > conftest.$ac_ext <<EOF +#line 11337 "configure" #include "confdefs.h" #include "${srcdir-.}/tests/ftruncroot.c" -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:15459: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:15462: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:15464: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:15467: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +EOF +if { (eval echo configure:11341: \"$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 - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -samba_cv_FTRUNCATE_NEEDS_ROOT=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -fr conftest* + samba_cv_FTRUNCATE_NEEDS_ROOT=no fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -fr conftest* fi + fi -echo "$as_me:15479: result: $samba_cv_FTRUNCATE_NEEDS_ROOT" >&5 -echo "${ECHO_T}$samba_cv_FTRUNCATE_NEEDS_ROOT" >&6 + +echo "$ac_t""$samba_cv_FTRUNCATE_NEEDS_ROOT" 1>&6 if test x"$samba_cv_FTRUNCATE_NEEDS_ROOT" = x"yes"; then - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define FTRUNCATE_NEEDS_ROOT 1 EOF fi -echo "$as_me:15488: checking for fcntl locking" >&5 -echo $ECHO_N "checking for fcntl locking... $ECHO_C" >&6 -if test "${samba_cv_HAVE_FCNTL_LOCK+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for fcntl locking""... $ac_c" 1>&6 +echo "configure:11364: 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 - + if test "$cross_compiling" = yes; then samba_cv_HAVE_FCNTL_LOCK=cross else - cat >conftest.$ac_ext <<_ACEOF -#line 15498 "configure" + cat > conftest.$ac_ext <<EOF +#line 11373 "configure" #include "confdefs.h" #include "${srcdir-.}/tests/fcntl_lock.c" -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:15503: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:15506: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:15508: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:15511: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +EOF +if { (eval echo configure:11377: \"$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 - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -samba_cv_HAVE_FCNTL_LOCK=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -fr conftest* + samba_cv_HAVE_FCNTL_LOCK=no fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -fr conftest* fi + fi -echo "$as_me:15523: result: $samba_cv_HAVE_FCNTL_LOCK" >&5 -echo "${ECHO_T}$samba_cv_HAVE_FCNTL_LOCK" >&6 + +echo "$ac_t""$samba_cv_HAVE_FCNTL_LOCK" 1>&6 if test x"$samba_cv_HAVE_FCNTL_LOCK" = x"yes"; then - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define HAVE_FCNTL_LOCK 1 EOF fi -echo "$as_me:15532: checking for broken (glibc2.1/x86) 64 bit fcntl locking" >&5 -echo $ECHO_N "checking for broken (glibc2.1/x86) 64 bit fcntl locking... $ECHO_C" >&6 -if test "${samba_cv_HAVE_BROKEN_FCNTL64_LOCKS+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for broken (glibc2.1/x86) 64 bit fcntl locking""... $ac_c" 1>&6 +echo "configure:11400: 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 - + if test "$cross_compiling" = yes; then samba_cv_HAVE_BROKEN_FCNTL64_LOCKS=cross else - cat >conftest.$ac_ext <<_ACEOF -#line 15542 "configure" + cat > conftest.$ac_ext <<EOF +#line 11409 "configure" #include "confdefs.h" #include "${srcdir-.}/tests/fcntl_lock64.c" -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:15547: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:15550: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:15552: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:15555: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +EOF +if { (eval echo configure:11413: \"$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 - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -samba_cv_HAVE_BROKEN_FCNTL64_LOCKS=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -fr conftest* + samba_cv_HAVE_BROKEN_FCNTL64_LOCKS=no fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -fr conftest* fi + fi -echo "$as_me:15567: result: $samba_cv_HAVE_BROKEN_FCNTL64_LOCKS" >&5 -echo "${ECHO_T}$samba_cv_HAVE_BROKEN_FCNTL64_LOCKS" >&6 + +echo "$ac_t""$samba_cv_HAVE_BROKEN_FCNTL64_LOCKS" 1>&6 if test x"$samba_cv_HAVE_BROKEN_FCNTL64_LOCKS" = x"yes"; then - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define HAVE_BROKEN_FCNTL64_LOCKS 1 EOF -else - echo "$as_me:15576: checking for 64 bit fcntl locking" >&5 -echo $ECHO_N "checking for 64 bit fcntl locking... $ECHO_C" >&6 -if test "${samba_cv_HAVE_STRUCT_FLOCK64+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 else + + echo $ac_n "checking for 64 bit fcntl locking""... $ac_c" 1>&6 +echo "configure:11438: 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 + if test "$cross_compiling" = yes; then samba_cv_HAVE_STRUCT_FLOCK64=cross else - cat >conftest.$ac_ext <<_ACEOF -#line 15586 "configure" + cat > conftest.$ac_ext <<EOF +#line 11447 "configure" #include "confdefs.h" #if defined(HAVE_UNISTD_H) @@ -15606,98 +11466,77 @@ exit(0); exit(1); #endif } -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:15611: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:15614: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:15616: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:15619: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +EOF +if { (eval echo configure:11471: \"$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 - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -samba_cv_HAVE_STRUCT_FLOCK64=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -fr conftest* + samba_cv_HAVE_STRUCT_FLOCK64=no fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -fr conftest* fi + fi -echo "$as_me:15631: result: $samba_cv_HAVE_STRUCT_FLOCK64" >&5 -echo "${ECHO_T}$samba_cv_HAVE_STRUCT_FLOCK64" >&6 + +echo "$ac_t""$samba_cv_HAVE_STRUCT_FLOCK64" 1>&6 if test x"$samba_cv_HAVE_STRUCT_FLOCK64" = x"yes"; then - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define HAVE_STRUCT_FLOCK64 1 EOF fi fi -echo "$as_me:15642: checking for st_blocks in struct stat" >&5 -echo $ECHO_N "checking for st_blocks in struct stat... $ECHO_C" >&6 -if test "${samba_cv_HAVE_STAT_ST_BLOCKS+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for st_blocks in struct stat""... $ac_c" 1>&6 +echo "configure:11496: checking for st_blocks in struct stat" >&5 +if eval "test \"`echo '$''{'samba_cv_HAVE_STAT_ST_BLOCKS'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else - -cat >conftest.$ac_ext <<_ACEOF -#line 15649 "configure" + +cat > conftest.$ac_ext <<EOF +#line 11502 "configure" #include "confdefs.h" #include <sys/types.h> #include <sys/stat.h> #include <unistd.h> -int -main () -{ +int main() { struct stat st; st.st_blocks = 0; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:15663: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:15666: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:15669: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:15672: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:11511: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* samba_cv_HAVE_STAT_ST_BLOCKS=yes else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -samba_cv_HAVE_STAT_ST_BLOCKS=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + samba_cv_HAVE_STAT_ST_BLOCKS=no fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest* fi -echo "$as_me:15682: result: $samba_cv_HAVE_STAT_ST_BLOCKS" >&5 -echo "${ECHO_T}$samba_cv_HAVE_STAT_ST_BLOCKS" >&6 + +echo "$ac_t""$samba_cv_HAVE_STAT_ST_BLOCKS" 1>&6 if test x"$samba_cv_HAVE_STAT_ST_BLOCKS" = x"yes"; then - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define HAVE_STAT_ST_BLOCKS 1 EOF -fi +fi case "$host_os" in *linux*) -echo "$as_me:15693: checking for broken RedHat 7.2 system header files" >&5 -echo $ECHO_N "checking for broken RedHat 7.2 system header files... $ECHO_C" >&6 -if test "${samba_cv_BROKEN_REDHAT_7_SYSTEM_HEADERS+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for broken RedHat 7.2 system header files""... $ac_c" 1>&6 +echo "configure:11534: checking for broken RedHat 7.2 system header files" >&5 +if eval "test \"`echo '$''{'samba_cv_BROKEN_REDHAT_7_SYSTEM_HEADERS'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else - -cat >conftest.$ac_ext <<_ACEOF -#line 15700 "configure" + +cat > conftest.$ac_ext <<EOF +#line 11540 "configure" #include "confdefs.h" #ifdef HAVE_SYS_VFS_H @@ -15707,38 +11546,25 @@ cat >conftest.$ac_ext <<_ACEOF #include <sys/capability.h> #endif -int -main () -{ +int main() { int i; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:15719: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:15722: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:15725: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:15728: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:11554: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* samba_cv_BROKEN_REDHAT_7_SYSTEM_HEADERS=no else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -samba_cv_BROKEN_REDHAT_7_SYSTEM_HEADERS=yes + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + samba_cv_BROKEN_REDHAT_7_SYSTEM_HEADERS=yes fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest* fi -echo "$as_me:15738: result: $samba_cv_BROKEN_REDHAT_7_SYSTEM_HEADERS" >&5 -echo "${ECHO_T}$samba_cv_BROKEN_REDHAT_7_SYSTEM_HEADERS" >&6 + +echo "$ac_t""$samba_cv_BROKEN_REDHAT_7_SYSTEM_HEADERS" 1>&6 if test x"$samba_cv_BROKEN_REDHAT_7_SYSTEM_HEADERS" = x"yes"; then - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define BROKEN_REDHAT_7_SYSTEM_HEADERS 1 EOF @@ -15746,69 +11572,55 @@ fi ;; esac -echo "$as_me:15749: checking for broken nisplus include files" >&5 -echo $ECHO_N "checking for broken nisplus include files... $ECHO_C" >&6 -if test "${samba_cv_BROKEN_NISPLUS_INCLUDE_FILES+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for broken nisplus include files""... $ac_c" 1>&6 +echo "configure:11577: 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 <<_ACEOF -#line 15756 "configure" + +cat > conftest.$ac_ext <<EOF +#line 11583 "configure" #include "confdefs.h" #include <sys/acl.h> #if defined(HAVE_RPCSVC_NIS_H) #include <rpcsvc/nis.h> #endif -int -main () -{ +int main() { int i; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:15771: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:15774: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:15777: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:15780: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:11593: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* samba_cv_BROKEN_NISPLUS_INCLUDE_FILES=no else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -samba_cv_BROKEN_NISPLUS_INCLUDE_FILES=yes + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + samba_cv_BROKEN_NISPLUS_INCLUDE_FILES=yes fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest* fi -echo "$as_me:15790: result: $samba_cv_BROKEN_NISPLUS_INCLUDE_FILES" >&5 -echo "${ECHO_T}$samba_cv_BROKEN_NISPLUS_INCLUDE_FILES" >&6 + +echo "$ac_t""$samba_cv_BROKEN_NISPLUS_INCLUDE_FILES" 1>&6 if test x"$samba_cv_BROKEN_NISPLUS_INCLUDE_FILES" = x"yes"; then - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define BROKEN_NISPLUS_INCLUDE_FILES 1 EOF fi + ################################################# # check for smbwrapper support -echo "$as_me:15801: checking whether to use smbwrapper" >&5 -echo $ECHO_N "checking whether to use smbwrapper... $ECHO_C" >&6 - +echo $ac_n "checking whether to use smbwrapper""... $ac_c" 1>&6 +echo "configure:11617: 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" case "$withval" in yes) - echo "$as_me:15809: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - cat >>confdefs.h <<\EOF + echo "$ac_t""yes" 1>&6 + cat >> confdefs.h <<\EOF #define WITH_SMBWRAPPER 1 EOF @@ -15829,152 +11641,132 @@ EOF WRAP="" WRAP32="" elif test x$ac_cv_func_syscall = xno; then - echo "$as_me:15832: result: No syscall() -- disabling smbwrapper and smbsh" >&5 -echo "${ECHO_T}No syscall() -- disabling smbwrapper and smbsh" >&6 + echo "$ac_t""No syscall() -- disabling smbwrapper and smbsh" 1>&6 WRAPPROG="" WRAP="" WRAP32="" fi ;; *) - echo "$as_me:15840: result: no" >&5 -echo "${ECHO_T}no" >&6 + echo "$ac_t""no" 1>&6 ;; - esac + esac else - echo "$as_me:15845: result: no" >&5 -echo "${ECHO_T}no" >&6 + echo "$ac_t""no" 1>&6 + +fi -fi; ################################################# # check for the AFS filesystem -echo "$as_me:15852: checking whether to use AFS" >&5 -echo $ECHO_N "checking whether to use AFS... $ECHO_C" >&6 - +echo $ac_n "checking whether to use AFS""... $ac_c" 1>&6 +echo "configure:11664: 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" case "$withval" in yes) - echo "$as_me:15860: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - cat >>confdefs.h <<\EOF + echo "$ac_t""yes" 1>&6 + cat >> confdefs.h <<\EOF #define WITH_AFS 1 EOF ;; *) - echo "$as_me:15868: result: no" >&5 -echo "${ECHO_T}no" >&6 + echo "$ac_t""no" 1>&6 ;; - esac + esac else - echo "$as_me:15873: result: no" >&5 -echo "${ECHO_T}no" >&6 + echo "$ac_t""no" 1>&6 + +fi + -fi; ################################################# # check for the DFS auth system -echo "$as_me:15880: checking whether to use DCE/DFS auth" >&5 -echo $ECHO_N "checking whether to use DCE/DFS auth... $ECHO_C" >&6 - +echo $ac_n "checking whether to use DCE/DFS auth""... $ac_c" 1>&6 +echo "configure:11690: checking whether to use DCE/DFS auth" >&5 # Check whether --with-dfs or --without-dfs was given. if test "${with_dfs+set}" = set; then withval="$with_dfs" case "$withval" in yes) - echo "$as_me:15888: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - cat >>confdefs.h <<\EOF + echo "$ac_t""yes" 1>&6 + cat >> confdefs.h <<\EOF #define WITH_DFS 1 EOF ;; *) - echo "$as_me:15896: result: no" >&5 -echo "${ECHO_T}no" >&6 + echo "$ac_t""no" 1>&6 ;; - esac + esac else - echo "$as_me:15901: result: no" >&5 -echo "${ECHO_T}no" >&6 + echo "$ac_t""no" 1>&6 + +fi -fi; ################################################# # check for Kerberos IV auth system -echo "$as_me:15908: checking whether to use Kerberos IV" >&5 -echo $ECHO_N "checking whether to use Kerberos IV... $ECHO_C" >&6 - +echo $ac_n "checking whether to use Kerberos IV""... $ac_c" 1>&6 +echo "configure:11715: 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" case "$withval" in yes) - echo "$as_me:15916: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - cat >>confdefs.h <<\EOF + echo "$ac_t""yes" 1>&6 + cat >> confdefs.h <<\EOF #define KRB4_AUTH 1 EOF -echo "$as_me:15922: checking for dn_expand in -lresolv" >&5 -echo $ECHO_N "checking for dn_expand in -lresolv... $ECHO_C" >&6 -if test "${ac_cv_lib_resolv_dn_expand+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + echo $ac_n "checking for dn_expand in -lresolv""... $ac_c" 1>&6 +echo "configure:11727: 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 else - ac_check_lib_save_LIBS=$LIBS + ac_save_LIBS="$LIBS" LIBS="-lresolv $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line 15930 "configure" +cat > conftest.$ac_ext <<EOF +#line 11735 "configure" #include "confdefs.h" - /* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char dn_expand (); -int -main () -{ -dn_expand (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:15949: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:15952: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:15955: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:15958: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_resolv_dn_expand=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_resolv_dn_expand=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:15969: result: $ac_cv_lib_resolv_dn_expand" >&5 -echo "${ECHO_T}$ac_cv_lib_resolv_dn_expand" >&6 -if test $ac_cv_lib_resolv_dn_expand = yes; then - cat >>confdefs.h <<EOF -#define HAVE_LIBRESOLV 1 + builtin and then its argument prototype would still apply. */ +char dn_expand(); + +int main() { +dn_expand() +; return 0; } +EOF +if { (eval echo configure:11746: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -f conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_lib=HAVE_LIB`echo resolv | sed -e 's/[^a-zA-Z0-9_]/_/g' \ + -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'` + cat >> confdefs.h <<EOF +#define $ac_tr_lib 1 EOF LIBS="-lresolv $LIBS" +else + echo "$ac_t""no" 1>&6 fi LIBS="$LIBS -lkrb -ldes" @@ -15982,29 +11774,26 @@ fi LDFLAGS="$LDFLAGS -L$withval/lib" ;; *) - echo "$as_me:15985: result: no" >&5 -echo "${ECHO_T}no" >&6 + echo "$ac_t""no" 1>&6 ;; - esac + esac else - echo "$as_me:15990: result: no" >&5 -echo "${ECHO_T}no" >&6 + echo "$ac_t""no" 1>&6 + +fi -fi; ################################################# # check for Kerberos 5 auth system -echo "$as_me:15997: checking whether to use Kerberos 5" >&5 -echo $ECHO_N "checking whether to use Kerberos 5... $ECHO_C" >&6 - +echo $ac_n "checking whether to use Kerberos 5""... $ac_c" 1>&6 +echo "configure:11790: 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" case "$withval" in yes) - echo "$as_me:16005: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - cat >>confdefs.h <<\EOF + echo "$ac_t""yes" 1>&6 + cat >> confdefs.h <<\EOF #define KRB5_AUTH 1 EOF @@ -16013,49 +11802,44 @@ EOF LDFLAGS="$LDFLAGS -L$withval/lib" ;; *) - echo "$as_me:16016: result: no" >&5 -echo "${ECHO_T}no" >&6 + echo "$ac_t""no" 1>&6 ;; - esac + esac else - echo "$as_me:16021: result: no" >&5 -echo "${ECHO_T}no" >&6 + echo "$ac_t""no" 1>&6 + +fi -fi; ################################################# # check for automount support -echo "$as_me:16028: checking whether to use AUTOMOUNT" >&5 -echo $ECHO_N "checking whether to use AUTOMOUNT... $ECHO_C" >&6 - +echo $ac_n "checking whether to use AUTOMOUNT""... $ac_c" 1>&6 +echo "configure:11818: 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" case "$withval" in yes) - echo "$as_me:16036: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - cat >>confdefs.h <<\EOF + echo "$ac_t""yes" 1>&6 + cat >> confdefs.h <<\EOF #define WITH_AUTOMOUNT 1 EOF ;; *) - echo "$as_me:16044: result: no" >&5 -echo "${ECHO_T}no" >&6 + echo "$ac_t""no" 1>&6 ;; - esac + esac else - echo "$as_me:16049: result: no" >&5 -echo "${ECHO_T}no" >&6 + echo "$ac_t""no" 1>&6 + +fi -fi; ################################################# # check for smbmount support -echo "$as_me:16056: checking whether to use SMBMOUNT" >&5 -echo $ECHO_N "checking whether to use SMBMOUNT... $ECHO_C" >&6 - +echo $ac_n "checking whether to use SMBMOUNT""... $ac_c" 1>&6 +echo "configure:11843: 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" @@ -16063,48 +11847,43 @@ if test "${with_smbmount+set}" = set; then yes) case "$host_os" in *linux*) - echo "$as_me:16066: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - cat >>confdefs.h <<\EOF + echo "$ac_t""yes" 1>&6 + cat >> confdefs.h <<\EOF #define WITH_SMBMOUNT 1 EOF MPROGS="bin/smbmount bin/smbmnt bin/smbumount" ;; *) - { { echo "$as_me:16075: error: not on a linux system!" >&5 -echo "$as_me: error: not on a linux system!" >&2;} - { (exit 1); exit 1; }; } + { echo "configure: error: not on a linux system!" 1>&2; exit 1; } ;; esac ;; *) - echo "$as_me:16082: result: no" >&5 -echo "${ECHO_T}no" >&6 + echo "$ac_t""no" 1>&6 MPROGS= ;; - esac + esac else - echo "$as_me:16088: result: no" >&5 -echo "${ECHO_T}no" >&6 + echo "$ac_t""no" 1>&6 MPROGS= -fi; +fi + + ################################################# # check for a PAM password database with_pam_for_crypt=no -echo "$as_me:16097: checking whether to use PAM password database" >&5 -echo $ECHO_N "checking whether to use PAM password database... $ECHO_C" >&6 - +echo $ac_n "checking whether to use PAM password database""... $ac_c" 1>&6 +echo "configure:11880: 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" case "$withval" in yes) - echo "$as_me:16105: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - cat >>confdefs.h <<\EOF + echo "$ac_t""yes" 1>&6 + cat >> confdefs.h <<\EOF #define WITH_PAM 1 EOF @@ -16112,98 +11891,81 @@ EOF with_pam_for_crypt=yes ;; *) - echo "$as_me:16115: result: no" >&5 -echo "${ECHO_T}no" >&6 + echo "$ac_t""no" 1>&6 ;; - esac + esac else - echo "$as_me:16120: result: no" >&5 -echo "${ECHO_T}no" >&6 + echo "$ac_t""no" 1>&6 + +fi -fi; # we can't build a pam module if we don't have pam. -echo "$as_me:16126: checking for pam_get_data in -lpam" >&5 -echo $ECHO_N "checking for pam_get_data in -lpam... $ECHO_C" >&6 -if test "${ac_cv_lib_pam_pam_get_data+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for pam_get_data in -lpam""... $ac_c" 1>&6 +echo "configure:11906: 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 else - ac_check_lib_save_LIBS=$LIBS + ac_save_LIBS="$LIBS" LIBS="-lpam $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line 16134 "configure" +cat > conftest.$ac_ext <<EOF +#line 11914 "configure" #include "confdefs.h" - /* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char pam_get_data (); -int -main () -{ -pam_get_data (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:16153: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:16156: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:16159: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:16162: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_pam_pam_get_data=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_pam_pam_get_data=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:16173: result: $ac_cv_lib_pam_pam_get_data" >&5 -echo "${ECHO_T}$ac_cv_lib_pam_pam_get_data" >&6 -if test $ac_cv_lib_pam_pam_get_data = yes; then - cat >>confdefs.h <<\EOF + builtin and then its argument prototype would still apply. */ +char pam_get_data(); + +int main() { +pam_get_data() +; return 0; } +EOF +if { (eval echo configure:11925: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -f conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + cat >> confdefs.h <<\EOF #define HAVE_LIBPAM 1 EOF +else + echo "$ac_t""no" 1>&6 fi + ################################################# # check for pam_smbpass support -echo "$as_me:16184: checking whether to use pam_smbpass" >&5 -echo $ECHO_N "checking whether to use pam_smbpass... $ECHO_C" >&6 - +echo $ac_n "checking whether to use pam_smbpass""... $ac_c" 1>&6 +echo "configure:11952: 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" case "$withval" in yes) - echo "$as_me:16192: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + echo "$ac_t""yes" 1>&6 # Conditions under which pam_smbpass should not be built. if test x$PICFLAG = x; then - echo "$as_me:16198: result: No support for PIC code - disabling pam_smbpass" >&5 -echo "${ECHO_T}No support for PIC code - disabling pam_smbpass" >&6 + echo "$ac_t""No support for PIC code - disabling pam_smbpass" 1>&6 PAM_MOD="" elif test x$ac_cv_lib_pam_pam_get_data = xno; then - echo "$as_me:16202: result: No libpam found -- disabling pam_smbpass" >&5 -echo "${ECHO_T}No libpam found -- disabling pam_smbpass" >&6 + echo "$ac_t""No libpam found -- disabling pam_smbpass" 1>&6 PAM_MOD="" else - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define WITH_PAM_SMBPASS 1 EOF @@ -16211,146 +11973,118 @@ EOF fi ;; *) - echo "$as_me:16214: result: no" >&5 -echo "${ECHO_T}no" >&6 + echo "$ac_t""no" 1>&6 ;; - esac + esac else - echo "$as_me:16219: result: no" >&5 -echo "${ECHO_T}no" >&6 + echo "$ac_t""no" 1>&6 + +fi + -fi; ############################################### # test for where we get crypt() from, but only # if not using PAM if test $with_pam_for_crypt = no; then - for ac_func in crypt do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:16232: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 16238 "configure" +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:11994: 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 11999 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ + which can conflict with char $ac_func(); below. */ #include <assert.h> /* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); + builtin and then its argument prototype would still apply. */ +char $ac_func(); + +int main() { -int -main () -{ /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else -f = $ac_func; +$ac_func(); #endif - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:16269: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:16272: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:16275: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:16278: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:16288: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +; return 0; } EOF +if { (eval echo configure:12022: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_func_$ac_func=no" +fi +rm -f conftest* +fi +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + cat >> confdefs.h <<EOF +#define $ac_tr_func 1 +EOF + +else + echo "$ac_t""no" 1>&6 fi done if test x"$ac_cv_func_crypt" = x"no"; then - echo "$as_me:16299: checking for crypt in -lcrypt" >&5 -echo $ECHO_N "checking for crypt in -lcrypt... $ECHO_C" >&6 -if test "${ac_cv_lib_crypt_crypt+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + echo $ac_n "checking for crypt in -lcrypt""... $ac_c" 1>&6 +echo "configure:12048: 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 else - ac_check_lib_save_LIBS=$LIBS + ac_save_LIBS="$LIBS" LIBS="-lcrypt $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line 16307 "configure" +cat > conftest.$ac_ext <<EOF +#line 12056 "configure" #include "confdefs.h" - /* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char crypt (); -int -main () -{ -crypt (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:16326: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:16329: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:16332: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:16335: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_crypt_crypt=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_crypt_crypt=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:16346: result: $ac_cv_lib_crypt_crypt" >&5 -echo "${ECHO_T}$ac_cv_lib_crypt_crypt" >&6 -if test $ac_cv_lib_crypt_crypt = yes; then + builtin and then its argument prototype would still apply. */ +char crypt(); + +int main() { +crypt() +; return 0; } +EOF +if { (eval echo configure:12067: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -f conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 LIBS="$LIBS -lcrypt"; - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define HAVE_CRYPT 1 EOF +else + echo "$ac_t""no" 1>&6 fi fi @@ -16363,51 +12097,44 @@ fi ## $with_pam_for_crypt variable as above --jerry ## if test $with_pam_for_crypt = no; then -echo "$as_me:16366: checking for a crypt that needs truncated salt" >&5 -echo $ECHO_N "checking for a crypt that needs truncated salt... $ECHO_C" >&6 -if test "${samba_cv_HAVE_TRUNCATED_SALT+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking for a crypt that needs truncated salt""... $ac_c" 1>&6 +echo "configure:12102: 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 - + if test "$cross_compiling" = yes; then samba_cv_HAVE_TRUNCATED_SALT=cross else - cat >conftest.$ac_ext <<_ACEOF -#line 16376 "configure" + cat > conftest.$ac_ext <<EOF +#line 12111 "configure" #include "confdefs.h" #include "${srcdir-.}/tests/crypttest.c" -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:16381: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:16384: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:16386: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:16389: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +EOF +if { (eval echo configure:12115: \"$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 - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -samba_cv_HAVE_TRUNCATED_SALT=yes + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -fr conftest* + samba_cv_HAVE_TRUNCATED_SALT=yes fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -fr conftest* fi + fi -echo "$as_me:16401: result: $samba_cv_HAVE_TRUNCATED_SALT" >&5 -echo "${ECHO_T}$samba_cv_HAVE_TRUNCATED_SALT" >&6 + +echo "$ac_t""$samba_cv_HAVE_TRUNCATED_SALT" 1>&6 if test x"$samba_cv_HAVE_TRUNCATED_SALT" = x"yes"; then - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define HAVE_TRUNCATED_SALT 1 EOF fi fi + ######################################################################################## ## ## TESTS FOR SAM BACKENDS. KEEP THESE GROUPED TOGETHER @@ -16417,161 +12144,244 @@ fi ## set the with_smbpasswd_sam as the default with_smbpasswd_sam=yes + + ################################################# # check for a TDB password database -echo "$as_me:16422: checking whether to use TDB SAM database" >&5 -echo $ECHO_N "checking whether to use TDB SAM database... $ECHO_C" >&6 - +echo $ac_n "checking whether to use TDB SAM database""... $ac_c" 1>&6 +echo "configure:12153: checking whether to use TDB SAM database" >&5 # Check whether --with-tdbsam or --without-tdbsam was given. if test "${with_tdbsam+set}" = set; then withval="$with_tdbsam" case "$withval" in yes) - echo "$as_me:16430: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - cat >>confdefs.h <<\EOF + echo "$ac_t""yes" 1>&6 + cat >> confdefs.h <<\EOF #define WITH_TDB_SAM 1 EOF with_smbpasswd_sam=no ;; *) - echo "$as_me:16439: result: no" >&5 -echo "${ECHO_T}no" >&6 + echo "$ac_t""no" 1>&6 ;; - esac + esac else - echo "$as_me:16444: result: no" >&5 -echo "${ECHO_T}no" >&6 + echo "$ac_t""no" 1>&6 + +fi -fi; ################################################# # check for a LDAP password database -echo "$as_me:16451: checking whether to use LDAP SAM database" >&5 -echo $ECHO_N "checking whether to use LDAP SAM database... $ECHO_C" >&6 - +echo $ac_n "checking whether to use LDAP SAM database""... $ac_c" 1>&6 +echo "configure:12179: 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 "$as_me:16459: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - cat >>confdefs.h <<\EOF + echo "$ac_t""yes" 1>&6 + cat >> confdefs.h <<\EOF #define WITH_LDAP_SAM 1 EOF - LIBS="-lldap -llber -lresolv $LIBS" + LDAPLIBS="-lldap" + echo $ac_n "checking for ber_bvfree in -llber""... $ac_c" 1>&6 +echo "configure:12192: checking for ber_bvfree in -llber" >&5 +ac_lib_var=`echo lber'_'ber_bvfree | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + ac_save_LIBS="$LIBS" +LIBS="-llber $LIBS" +cat > conftest.$ac_ext <<EOF +#line 12200 "configure" +#include "confdefs.h" +/* Override any gcc2 internal prototype to avoid an error. */ +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char ber_bvfree(); + +int main() { +ber_bvfree() +; return 0; } +EOF +if { (eval echo configure:12211: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -f conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + LDAPLIBS="$LDAPLIBS -llber" +else + echo "$ac_t""no" 1>&6 +fi + + LDAPLIBS="-lresolv $LDAPLIBS" + for ac_func in ldap_start_tls_s +do +echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 +echo "configure:12235: 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 12240 "configure" +#include "confdefs.h" +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func(); below. */ +#include <assert.h> +/* Override any gcc2 internal prototype to avoid an error. */ +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char $ac_func(); + +int main() { + +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_$ac_func) || defined (__stub___$ac_func) +choke me +#else +$ac_func(); +#endif + +; return 0; } +EOF +if { (eval echo configure:12263: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_func_$ac_func=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_func_$ac_func=no" +fi +rm -f conftest* +fi + +if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` + cat >> confdefs.h <<EOF +#define $ac_tr_func 1 +EOF + +else + echo "$ac_t""no" 1>&6 +fi +done + with_smbpasswd_sam=no + ;; *) - echo "$as_me:16469: result: no" >&5 -echo "${ECHO_T}no" >&6 + echo "$ac_t""no" 1>&6 ;; - esac + esac else - echo "$as_me:16474: result: no" >&5 -echo "${ECHO_T}no" >&6 + echo "$ac_t""no" 1>&6 + +fi -fi; ################################################# # check for a NISPLUS password database -echo "$as_me:16481: checking whether to use NISPLUS SAM database" >&5 -echo $ECHO_N "checking whether to use NISPLUS SAM database... $ECHO_C" >&6 - +echo $ac_n "checking whether to use NISPLUS SAM database""... $ac_c" 1>&6 +echo "configure:12303: 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 "$as_me:16489: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - cat >>confdefs.h <<\EOF + echo "$ac_t""yes" 1>&6 + cat >> confdefs.h <<\EOF #define WITH_NISPLUS_SAM 1 EOF with_smbpasswd_sam=no ;; *) - echo "$as_me:16498: result: no" >&5 -echo "${ECHO_T}no" >&6 + echo "$ac_t""no" 1>&6 ;; - esac + esac else - echo "$as_me:16503: result: no" >&5 -echo "${ECHO_T}no" >&6 + echo "$ac_t""no" 1>&6 + +fi -fi; ################################################ # This test should come last because the # smbpasswd SAM is only used if another format # has not been defined -echo "$as_me:16512: checking whether to use traditional smbpasswd file" >&5 -echo $ECHO_N "checking whether to use traditional smbpasswd file... $ECHO_C" >&6 +echo $ac_n "checking whether to use traditional smbpasswd file""... $ac_c" 1>&6 +echo "configure:12331: checking whether to use traditional smbpasswd file" >&5 if test $with_smbpasswd_sam = yes; then - echo "$as_me:16515: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - cat >>confdefs.h <<\EOF + echo "$ac_t""yes" 1>&6 + cat >> confdefs.h <<\EOF #define WITH_SMBPASSWD_SAM 1 EOF PDBEDIT="" else - echo "$as_me:16523: result: no" >&5 -echo "${ECHO_T}no" >&6 + echo "$ac_t""no" 1>&6 PDBEDIT=bin/pdbedit fi ######################################################################################## ## -## END OF TESTS FOR SAM BACKENDS. +## END OF TESTS FOR SAM BACKENDS. ## ######################################################################################## ################################################# -# check for a NISPLUS_HOME support -echo "$as_me:16536: checking whether to use NISPLUS_HOME" >&5 -echo $ECHO_N "checking whether to use NISPLUS_HOME... $ECHO_C" >&6 - +# check for a NISPLUS_HOME support +echo $ac_n "checking whether to use NISPLUS_HOME""... $ac_c" 1>&6 +echo "configure:12353: 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" case "$withval" in yes) - echo "$as_me:16544: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - cat >>confdefs.h <<\EOF + echo "$ac_t""yes" 1>&6 + cat >> confdefs.h <<\EOF #define WITH_NISPLUS_HOME 1 EOF ;; *) - echo "$as_me:16552: result: no" >&5 -echo "${ECHO_T}no" >&6 + echo "$ac_t""no" 1>&6 ;; - esac + esac else - echo "$as_me:16557: result: no" >&5 -echo "${ECHO_T}no" >&6 + echo "$ac_t""no" 1>&6 + +fi -fi; ################################################# # check for the secure socket layer -echo "$as_me:16564: checking whether to use SSL" >&5 -echo $ECHO_N "checking whether to use SSL... $ECHO_C" >&6 - +echo $ac_n "checking whether to use SSL""... $ac_c" 1>&6 +echo "configure:12378: 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" case "$withval" in yes) - echo "$as_me:16572: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - cat >>confdefs.h <<\EOF + echo "$ac_t""yes" 1>&6 + cat >> confdefs.h <<\EOF #define WITH_SSL 1 EOF @@ -16592,7 +12402,7 @@ EOF else - CFLAGS="-I/usr/local/ssl/include $CFLAGS" + CFLAGS="-I/usr/local/ssl/include $CFLAGS" fi @@ -16620,234 +12430,156 @@ EOF # if test ! -d ${withval}; then # echo "configure: error: called with --with-ssl, but ssl base directory ${withval} does not exist or is not a directory. Aborting config" 1>&2 # exit 1 -# fi +# fi CFLAGS="-DHAVE_CRYPT_DECL $CFLAGS" # Damn, SSLeay defines its own ;; *) - echo "$as_me:16629: result: no" >&5 -echo "${ECHO_T}no" >&6 + echo "$ac_t""no" 1>&6 ;; - esac + esac else - echo "$as_me:16634: result: no" >&5 -echo "${ECHO_T}no" >&6 + echo "$ac_t""no" 1>&6 + +fi -fi; ################################################# # check for syslog logging -echo "$as_me:16641: checking whether to use syslog logging" >&5 -echo $ECHO_N "checking whether to use syslog logging... $ECHO_C" >&6 - +echo $ac_n "checking whether to use syslog logging""... $ac_c" 1>&6 +echo "configure:12452: 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" case "$withval" in yes) - echo "$as_me:16649: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - cat >>confdefs.h <<\EOF + echo "$ac_t""yes" 1>&6 + cat >> confdefs.h <<\EOF #define WITH_SYSLOG 1 EOF ;; *) - echo "$as_me:16657: result: no" >&5 -echo "${ECHO_T}no" >&6 + echo "$ac_t""no" 1>&6 ;; - esac + esac else - echo "$as_me:16662: result: no" >&5 -echo "${ECHO_T}no" >&6 + echo "$ac_t""no" 1>&6 + +fi -fi; ################################################# # check for a shared memory profiling support -echo "$as_me:16669: checking whether to use profiling" >&5 -echo $ECHO_N "checking whether to use profiling... $ECHO_C" >&6 - +echo $ac_n "checking whether to use profiling""... $ac_c" 1>&6 +echo "configure:12477: 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" case "$withval" in yes) - echo "$as_me:16677: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - cat >>confdefs.h <<\EOF + echo "$ac_t""yes" 1>&6 + cat >> confdefs.h <<\EOF #define WITH_PROFILE 1 EOF ;; *) - echo "$as_me:16685: result: no" >&5 -echo "${ECHO_T}no" >&6 + echo "$ac_t""no" 1>&6 ;; - esac + esac else - echo "$as_me:16690: result: no" >&5 -echo "${ECHO_T}no" >&6 + echo "$ac_t""no" 1>&6 + +fi + -fi; ################################################# # check for experimental disk-quotas support QUOTAOBJS=smbd/noquotas.o -echo "$as_me:16699: checking whether to support disk-quotas" >&5 -echo $ECHO_N "checking whether to support disk-quotas... $ECHO_C" >&6 - +echo $ac_n "checking whether to support disk-quotas""... $ac_c" 1>&6 +echo "configure:12505: 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" case "$withval" in yes) - echo "$as_me:16707: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + echo "$ac_t""yes" 1>&6 QUOTAOBJS=smbd/quotas.o - case "$host_os" in - *linux*) - # Check for kernel 2.4.x quota braindamage... - echo "$as_me:16713: checking for linux 2.4.x quota braindamage.." >&5 -echo $ECHO_N "checking for linux 2.4.x quota braindamage..... $ECHO_C" >&6 -if test "${samba_cv_linux_2_4_quota_braindamage+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - cat >conftest.$ac_ext <<_ACEOF -#line 16720 "configure" -#include "confdefs.h" -#include <stdio.h> -#include <sys/types.h> -#include <asm/types.h> -#include <linux/quota.h> -#include <mntent.h> -#include <linux/unistd.h> -int -main () -{ -struct mem_dqblk D; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:16737: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:16740: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:16743: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:16746: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - samba_cv_linux_2_4_quota_braindamage=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -samba_cv_linux_2_4_quota_braindamage=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:16756: result: $samba_cv_linux_2_4_quota_braindamage" >&5 -echo "${ECHO_T}$samba_cv_linux_2_4_quota_braindamage" >&6 -if test x"$samba_cv_linux_2_4_quota_braindamage" = x"yes"; then - cat >>confdefs.h <<\EOF -#define LINUX_QUOTAS_2 1 -EOF - -else - cat >>confdefs.h <<\EOF -#define LINUX_QUOTAS_1 1 -EOF - -fi - ;; - *) - ;; - esac ;; *) - echo "$as_me:16775: result: no" >&5 -echo "${ECHO_T}no" >&6 + echo "$ac_t""no" 1>&6 ;; - esac + esac else - echo "$as_me:16780: result: no" >&5 -echo "${ECHO_T}no" >&6 + echo "$ac_t""no" 1>&6 + +fi + -fi; ################################################# # check for experimental utmp accounting -echo "$as_me:16788: checking whether to support utmp accounting" >&5 -echo $ECHO_N "checking whether to support utmp accounting... $ECHO_C" >&6 - +echo $ac_n "checking whether to support utmp accounting""... $ac_c" 1>&6 +echo "configure:12529: 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" case "$withval" in yes) - echo "$as_me:16796: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - cat >>confdefs.h <<\EOF + echo "$ac_t""yes" 1>&6 + cat >> confdefs.h <<\EOF #define WITH_UTMP 1 EOF ;; *) - echo "$as_me:16804: result: no" >&5 -echo "${ECHO_T}no" >&6 + echo "$ac_t""no" 1>&6 ;; - esac + esac else - echo "$as_me:16809: result: no" >&5 -echo "${ECHO_T}no" >&6 + echo "$ac_t""no" 1>&6 + +fi -fi; ################################################# # check for MS Dfs support -echo "$as_me:16817: checking whether to support Microsoft Dfs" >&5 -echo $ECHO_N "checking whether to support Microsoft Dfs... $ECHO_C" >&6 - +echo $ac_n "checking whether to support Microsoft Dfs""... $ac_c" 1>&6 +echo "configure:12555: checking whether to support Microsoft Dfs" >&5 # Check whether --with-msdfs or --without-msdfs was given. if test "${with_msdfs+set}" = set; then withval="$with_msdfs" case "$withval" in yes) - echo "$as_me:16825: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - cat >>confdefs.h <<\EOF + echo "$ac_t""yes" 1>&6 + cat >> confdefs.h <<\EOF #define WITH_MSDFS 1 EOF ;; *) - echo "$as_me:16833: result: no" >&5 -echo "${ECHO_T}no" >&6 + echo "$ac_t""no" 1>&6 ;; - esac + esac else - echo "$as_me:16838: result: no" >&5 -echo "${ECHO_T}no" >&6 + echo "$ac_t""no" 1>&6 + +fi -fi; ################################################# # should we build libsmbclient? LIBSMBCLIENT_SHARED= LIBSMBCLIENT= -echo "$as_me:16848: checking whether to build the libsmbclient shared library" >&5 -echo $ECHO_N "checking whether to build the libsmbclient shared library... $ECHO_C" >&6 - +echo $ac_n "checking whether to build the libsmbclient shared library""... $ac_c" 1>&6 +echo "configure:12583: checking whether to build the libsmbclient shared library" >&5 # Check whether --with-libsmbclient or --without-libsmbclient was given. if test "${with_libsmbclient+set}" = set; then withval="$with_libsmbclient" @@ -16856,43 +12588,40 @@ if test "${with_libsmbclient+set}" = set; then if test $BLDSHARED = true; then LIBSMBCLIENT_SHARED=bin/libsmbclient.$SHLIBEXT LIBSMBCLIENT=libsmbclient - echo "$as_me:16859: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + echo "$ac_t""yes" 1>&6 else - echo "$as_me:16862: result: no shared library support" >&5 -echo "${ECHO_T}no shared library support" >&6 + echo "$ac_t""no shared library support" 1>&6 fi ;; *) - echo "$as_me:16867: result: no" >&5 -echo "${ECHO_T}no" >&6 + echo "$ac_t""no" 1>&6 ;; - esac + esac else - echo "$as_me:16872: result: no" >&5 -echo "${ECHO_T}no" >&6 + echo "$ac_t""no" 1>&6 + +fi -fi; ################################################# # these tests are taken from the GNU fileutils package -{ echo "$as_me:16879: checking how to get filesystem space usage..." >&5 -echo "$as_me: checking how to get filesystem space usage..." >&6;} +echo "checking how to get filesystem space usage" 1>&6 +echo "configure:12610: checking how to get filesystem space usage" >&5 space=no # Test for statvfs64. if test $space = no; then # SVR4 - echo "$as_me:16886: checking statvfs64 function (SVR4)" >&5 -echo $ECHO_N "checking statvfs64 function (SVR4)... $ECHO_C" >&6 -if test "${fu_cv_sys_stat_statvfs64+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + echo $ac_n "checking statvfs64 function (SVR4)""... $ac_c" 1>&6 +echo "configure:12617: 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 if test "$cross_compiling" = yes; then fu_cv_sys_stat_statvfs64=cross else - cat >conftest.$ac_ext <<_ACEOF -#line 16895 "configure" + cat > conftest.$ac_ext <<EOF +#line 12625 "configure" #include "confdefs.h" #if defined(HAVE_UNISTD_H) @@ -16905,33 +12634,25 @@ else struct statvfs64 fsd; exit (statvfs64 (".", &fsd)); } -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:16910: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:16913: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:16915: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:16918: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +EOF +if { (eval echo configure:12639: \"$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 - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -fu_cv_sys_stat_statvfs64=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -fr conftest* + fu_cv_sys_stat_statvfs64=no fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -fr conftest* fi + fi -echo "$as_me:16930: result: $fu_cv_sys_stat_statvfs64" >&5 -echo "${ECHO_T}$fu_cv_sys_stat_statvfs64" >&6 + +echo "$ac_t""$fu_cv_sys_stat_statvfs64" 1>&6 if test $fu_cv_sys_stat_statvfs64 = yes; then space=yes - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define STAT_STATVFS64 1 EOF @@ -16946,49 +12667,36 @@ fi # is what it gets when this test fails. if test $space = no; then # SVR4 - echo "$as_me:16949: checking statvfs function (SVR4)" >&5 -echo $ECHO_N "checking statvfs function (SVR4)... $ECHO_C" >&6 -if test "${fu_cv_sys_stat_statvfs+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + echo $ac_n "checking statvfs function (SVR4)""... $ac_c" 1>&6 +echo "configure:12672: 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 <<_ACEOF -#line 16955 "configure" + cat > conftest.$ac_ext <<EOF +#line 12677 "configure" #include "confdefs.h" #include <sys/types.h> #include <sys/statvfs.h> -int -main () -{ +int main() { struct statvfs fsd; statvfs (0, &fsd); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:16968: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:16971: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:16974: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:16977: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:12685: \"$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 - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -fu_cv_sys_stat_statvfs=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + fu_cv_sys_stat_statvfs=no fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +rm -f conftest* fi -echo "$as_me:16987: result: $fu_cv_sys_stat_statvfs" >&5 -echo "${ECHO_T}$fu_cv_sys_stat_statvfs" >&6 + +echo "$ac_t""$fu_cv_sys_stat_statvfs" 1>&6 if test $fu_cv_sys_stat_statvfs = yes; then space=yes - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define STAT_STATVFS 1 EOF @@ -16997,16 +12705,16 @@ fi if test $space = no; then # DEC Alpha running OSF/1 - echo "$as_me:17000: checking for 3-argument statfs function (DEC OSF/1)" >&5 -echo $ECHO_N "checking for 3-argument statfs function (DEC OSF/1)... $ECHO_C" >&6 - if test "${fu_cv_sys_stat_statfs3_osf1+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + echo $ac_n "checking for 3-argument statfs function (DEC OSF/1)""... $ac_c" 1>&6 +echo "configure:12710: 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 if test "$cross_compiling" = yes; then fu_cv_sys_stat_statfs3_osf1=no else - cat >conftest.$ac_ext <<_ACEOF -#line 17009 "configure" + cat > conftest.$ac_ext <<EOF +#line 12718 "configure" #include "confdefs.h" #include <sys/param.h> @@ -17018,34 +12726,25 @@ else fsd.f_fsize = 0; exit (statfs (".", &fsd, sizeof (struct statfs))); } -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:17023: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:17026: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:17028: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:17031: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +EOF +if { (eval echo configure:12731: \"$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 - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -fu_cv_sys_stat_statfs3_osf1=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -fr conftest* + fu_cv_sys_stat_statfs3_osf1=no fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -fr conftest* fi + fi - echo "$as_me:17044: result: $fu_cv_sys_stat_statfs3_osf1" >&5 -echo "${ECHO_T}$fu_cv_sys_stat_statfs3_osf1" >&6 + echo "$ac_t""$fu_cv_sys_stat_statfs3_osf1" 1>&6 if test $fu_cv_sys_stat_statfs3_osf1 = yes; then space=yes - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define STAT_STATFS3_OSF1 1 EOF @@ -17054,16 +12753,16 @@ fi if test $space = no; then # AIX - echo "$as_me:17057: checking for two-argument statfs with statfs.bsize member (AIX, 4.3BSD)" >&5 -echo $ECHO_N "checking for two-argument statfs with statfs.bsize member (AIX, 4.3BSD)... $ECHO_C" >&6 - if test "${fu_cv_sys_stat_statfs2_bsize+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + echo $ac_n "checking for two-argument statfs with statfs.bsize member (AIX, 4.3BSD)""... $ac_c" 1>&6 +echo "configure:12758: 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 if test "$cross_compiling" = yes; then fu_cv_sys_stat_statfs2_bsize=no else - cat >conftest.$ac_ext <<_ACEOF -#line 17066 "configure" + cat > conftest.$ac_ext <<EOF +#line 12766 "configure" #include "confdefs.h" #ifdef HAVE_SYS_PARAM_H @@ -17081,34 +12780,25 @@ else fsd.f_bsize = 0; exit (statfs (".", &fsd)); } -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:17086: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:17089: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:17091: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:17094: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +EOF +if { (eval echo configure:12785: \"$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 - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -fu_cv_sys_stat_statfs2_bsize=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -fr conftest* + fu_cv_sys_stat_statfs2_bsize=no fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -fr conftest* fi + fi - echo "$as_me:17107: result: $fu_cv_sys_stat_statfs2_bsize" >&5 -echo "${ECHO_T}$fu_cv_sys_stat_statfs2_bsize" >&6 + echo "$ac_t""$fu_cv_sys_stat_statfs2_bsize" 1>&6 if test $fu_cv_sys_stat_statfs2_bsize = yes; then space=yes - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define STAT_STATFS2_BSIZE 1 EOF @@ -17117,16 +12807,16 @@ fi if test $space = no; then # SVR3 - echo "$as_me:17120: checking for four-argument statfs (AIX-3.2.5, SVR3)" >&5 -echo $ECHO_N "checking for four-argument statfs (AIX-3.2.5, SVR3)... $ECHO_C" >&6 - if test "${fu_cv_sys_stat_statfs4+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + echo $ac_n "checking for four-argument statfs (AIX-3.2.5, SVR3)""... $ac_c" 1>&6 +echo "configure:12812: 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 if test "$cross_compiling" = yes; then fu_cv_sys_stat_statfs4=no else - cat >conftest.$ac_ext <<_ACEOF -#line 17129 "configure" + cat > conftest.$ac_ext <<EOF +#line 12820 "configure" #include "confdefs.h" #include <sys/types.h> #include <sys/statfs.h> @@ -17135,34 +12825,25 @@ else struct statfs fsd; exit (statfs (".", &fsd, sizeof fsd, 0)); } -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:17140: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:17143: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:17145: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:17148: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +EOF +if { (eval echo configure:12830: \"$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 - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -fu_cv_sys_stat_statfs4=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -fr conftest* + fu_cv_sys_stat_statfs4=no fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -fr conftest* fi + fi - echo "$as_me:17161: result: $fu_cv_sys_stat_statfs4" >&5 -echo "${ECHO_T}$fu_cv_sys_stat_statfs4" >&6 + echo "$ac_t""$fu_cv_sys_stat_statfs4" 1>&6 if test $fu_cv_sys_stat_statfs4 = yes; then space=yes - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define STAT_STATFS4 1 EOF @@ -17171,16 +12852,16 @@ fi if test $space = no; then # 4.4BSD and NetBSD - echo "$as_me:17174: checking for two-argument statfs with statfs.fsize member (4.4BSD and NetBSD)" >&5 -echo $ECHO_N "checking for two-argument statfs with statfs.fsize member (4.4BSD and NetBSD)... $ECHO_C" >&6 - if test "${fu_cv_sys_stat_statfs2_fsize+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + echo $ac_n "checking for two-argument statfs with statfs.fsize member (4.4BSD and NetBSD)""... $ac_c" 1>&6 +echo "configure:12857: 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 if test "$cross_compiling" = yes; then fu_cv_sys_stat_statfs2_fsize=no else - cat >conftest.$ac_ext <<_ACEOF -#line 17183 "configure" + cat > conftest.$ac_ext <<EOF +#line 12865 "configure" #include "confdefs.h" #include <sys/types.h> #ifdef HAVE_SYS_PARAM_H @@ -17195,34 +12876,25 @@ else fsd.f_fsize = 0; exit (statfs (".", &fsd)); } -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:17200: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:17203: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:17205: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:17208: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +EOF +if { (eval echo configure:12881: \"$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 - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -fu_cv_sys_stat_statfs2_fsize=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -fr conftest* + fu_cv_sys_stat_statfs2_fsize=no fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -fr conftest* fi + fi - echo "$as_me:17221: result: $fu_cv_sys_stat_statfs2_fsize" >&5 -echo "${ECHO_T}$fu_cv_sys_stat_statfs2_fsize" >&6 + echo "$ac_t""$fu_cv_sys_stat_statfs2_fsize" 1>&6 if test $fu_cv_sys_stat_statfs2_fsize = yes; then space=yes - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define STAT_STATFS2_FSIZE 1 EOF @@ -17231,16 +12903,16 @@ fi if test $space = no; then # Ultrix - echo "$as_me:17234: checking for two-argument statfs with struct fs_data (Ultrix)" >&5 -echo $ECHO_N "checking for two-argument statfs with struct fs_data (Ultrix)... $ECHO_C" >&6 - if test "${fu_cv_sys_stat_fs_data+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + echo $ac_n "checking for two-argument statfs with struct fs_data (Ultrix)""... $ac_c" 1>&6 +echo "configure:12908: 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 if test "$cross_compiling" = yes; then fu_cv_sys_stat_fs_data=no else - cat >conftest.$ac_ext <<_ACEOF -#line 17243 "configure" + cat > conftest.$ac_ext <<EOF +#line 12916 "configure" #include "confdefs.h" #include <sys/types.h> #ifdef HAVE_SYS_PARAM_H @@ -17259,34 +12931,25 @@ else 0 for not mounted, -1 for failure. */ exit (statfs (".", &fsd) != 1); } -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:17264: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:17267: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:17269: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:17272: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +EOF +if { (eval echo configure:12936: \"$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 - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -fu_cv_sys_stat_fs_data=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -fr conftest* + fu_cv_sys_stat_fs_data=no fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -fr conftest* fi + fi - echo "$as_me:17285: result: $fu_cv_sys_stat_fs_data" >&5 -echo "${ECHO_T}$fu_cv_sys_stat_fs_data" >&6 + echo "$ac_t""$fu_cv_sys_stat_fs_data" 1>&6 if test $fu_cv_sys_stat_fs_data = yes; then space=yes - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define STAT_STATFS2_FS_DATA 1 EOF @@ -17301,10 +12964,10 @@ fi # If we don't have all of these then disable large # file support. # -echo "$as_me:17304: checking if large file support can be enabled" >&5 -echo $ECHO_N "checking if large file support can be enabled... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -#line 17307 "configure" +echo $ac_n "checking if large file support can be enabled""... $ac_c" 1>&6 +echo "configure:12969: checking if large file support can be enabled" >&5 +cat > conftest.$ac_ext <<EOF +#line 12971 "configure" #include "confdefs.h" #if defined(HAVE_LONGLONG) && (defined(HAVE_OFF64_T) || (defined(SIZEOF_OFF_T) && (SIZEOF_OFF_T == 8))) @@ -17313,79 +12976,66 @@ cat >conftest.$ac_ext <<_ACEOF __COMPILE_ERROR_ #endif -int -main () -{ +int main() { int i - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:17325: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:17328: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:17331: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:17334: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:12984: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* samba_cv_HAVE_EXPLICIT_LARGEFILE_SUPPORT=yes else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -samba_cv_HAVE_EXPLICIT_LARGEFILE_SUPPORT=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + samba_cv_HAVE_EXPLICIT_LARGEFILE_SUPPORT=no fi -rm -f conftest.$ac_objext conftest.$ac_ext +rm -f conftest* if test x"$samba_cv_HAVE_EXPLICIT_LARGEFILE_SUPPORT" = x"yes"; then - echo "$as_me:17344: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - cat >>confdefs.h <<\EOF + echo "$ac_t""yes" 1>&6 + cat >> confdefs.h <<\EOF #define HAVE_EXPLICIT_LARGEFILE_SUPPORT 1 EOF else - echo "$as_me:17351: result: no" >&5 -echo "${ECHO_T}no" >&6 + echo "$ac_t""no" 1>&6 fi # Check whether --with-spinlocks or --without-spinlocks was given. if test "${with_spinlocks+set}" = set; then withval="$with_spinlocks" + : +fi -fi; if test "x$with_spinlocks" = "xyes"; then - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define USE_SPINLOCKS 1 EOF + case "$host_cpu" in sparc) - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define SPARC_SPINLOCKS 1 EOF ;; i386|i486|i586|i686) - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define INTEL_SPINLOCKS 1 EOF ;; mips) - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define MIPS_SPINLOCKS 1 EOF ;; powerpc) - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define POWERPC_SPINLOCKS 1 EOF @@ -17396,9 +13046,8 @@ fi ################################################# # check for ACL support -echo "$as_me:17399: checking whether to support ACLs" >&5 -echo $ECHO_N "checking whether to support ACLs... $ECHO_C" >&6 - +echo $ac_n "checking whether to support ACLs""... $ac_c" 1>&6 +echo "configure:13051: 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" @@ -17407,205 +13056,160 @@ if test "${with_acl_support+set}" = set; then case "$host_os" in *sysv5*) - echo "$as_me:17410: result: Using UnixWare ACLs" >&5 -echo "${ECHO_T}Using UnixWare ACLs" >&6 - cat >>confdefs.h <<\EOF + echo "$ac_t""Using UnixWare ACLs" 1>&6 + cat >> confdefs.h <<\EOF #define HAVE_UNIXWARE_ACLS 1 EOF ;; *solaris*) - echo "$as_me:17418: result: Using solaris ACLs" >&5 -echo "${ECHO_T}Using solaris ACLs" >&6 - cat >>confdefs.h <<\EOF + echo "$ac_t""Using solaris ACLs" 1>&6 + cat >> confdefs.h <<\EOF #define HAVE_SOLARIS_ACLS 1 EOF ;; *hpux*) - echo "$as_me:17426: result: Using HPUX ACLs" >&5 -echo "${ECHO_T}Using HPUX ACLs" >&6 - cat >>confdefs.h <<\EOF + echo "$ac_t""Using HPUX ACLs" 1>&6 + cat >> confdefs.h <<\EOF #define HAVE_HPUX_ACLS 1 EOF ;; *irix*) - echo "$as_me:17434: result: Using IRIX ACLs" >&5 -echo "${ECHO_T}Using IRIX ACLs" >&6 - cat >>confdefs.h <<\EOF + echo "$ac_t""Using IRIX ACLs" 1>&6 + cat >> confdefs.h <<\EOF #define HAVE_IRIX_ACLS 1 EOF ;; *aix*) - echo "$as_me:17442: result: Using AIX ACLs" >&5 -echo "${ECHO_T}Using AIX ACLs" >&6 - cat >>confdefs.h <<\EOF + echo "$ac_t""Using AIX ACLs" 1>&6 + cat >> confdefs.h <<\EOF #define HAVE_AIX_ACLS 1 EOF ;; *osf*) - echo "$as_me:17450: result: Using Tru64 ACLs" >&5 -echo "${ECHO_T}Using Tru64 ACLs" >&6 - cat >>confdefs.h <<\EOF + echo "$ac_t""Using Tru64 ACLs" 1>&6 + cat >> confdefs.h <<\EOF #define HAVE_TRU64_ACLS 1 EOF LIBS="$LIBS -lpacl" ;; *) - -echo "$as_me:17460: checking for acl_get_file in -lacl" >&5 -echo $ECHO_N "checking for acl_get_file in -lacl... $ECHO_C" >&6 -if test "${ac_cv_lib_acl_acl_get_file+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + echo $ac_n "checking for acl_get_file in -lacl""... $ac_c" 1>&6 +echo "configure:13104: 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 else - ac_check_lib_save_LIBS=$LIBS + ac_save_LIBS="$LIBS" LIBS="-lacl $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line 17468 "configure" +cat > conftest.$ac_ext <<EOF +#line 13112 "configure" #include "confdefs.h" - /* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char acl_get_file (); -int -main () -{ -acl_get_file (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:17487: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:17490: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:17493: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:17496: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_acl_acl_get_file=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_acl_acl_get_file=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:17507: result: $ac_cv_lib_acl_acl_get_file" >&5 -echo "${ECHO_T}$ac_cv_lib_acl_acl_get_file" >&6 -if test $ac_cv_lib_acl_acl_get_file = yes; then - cat >>confdefs.h <<EOF -#define HAVE_LIBACL 1 + builtin and then its argument prototype would still apply. */ +char acl_get_file(); + +int main() { +acl_get_file() +; return 0; } +EOF +if { (eval echo configure:13123: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -f conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 + ac_tr_lib=HAVE_LIB`echo acl | sed -e 's/[^a-zA-Z0-9_]/_/g' \ + -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'` + cat >> confdefs.h <<EOF +#define $ac_tr_lib 1 EOF LIBS="-lacl $LIBS" +else + echo "$ac_t""no" 1>&6 fi - echo "$as_me:17518: checking for ACL support" >&5 -echo $ECHO_N "checking for ACL support... $ECHO_C" >&6 -if test "${samba_cv_HAVE_POSIX_ACLS+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + echo $ac_n "checking for ACL support""... $ac_c" 1>&6 +echo "configure:13151: 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 <<_ACEOF -#line 17525 "configure" + + cat > conftest.$ac_ext <<EOF +#line 13157 "configure" #include "confdefs.h" #include <sys/types.h> #include <sys/acl.h> -int -main () -{ +int main() { acl_t acl; int entry_id; acl_entry_t *entry_p; return acl_get_entry( acl, entry_id, entry_p); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:17538: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:17541: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:17544: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:17547: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:13165: \"$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 - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -samba_cv_HAVE_POSIX_ACLS=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + samba_cv_HAVE_POSIX_ACLS=no fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +rm -f conftest* fi -echo "$as_me:17557: result: $samba_cv_HAVE_POSIX_ACLS" >&5 -echo "${ECHO_T}$samba_cv_HAVE_POSIX_ACLS" >&6 + +echo "$ac_t""$samba_cv_HAVE_POSIX_ACLS" 1>&6 if test x"$samba_cv_HAVE_POSIX_ACLS" = x"yes"; then - echo "$as_me:17560: result: Using posix ACLs" >&5 -echo "${ECHO_T}Using posix ACLs" >&6 - cat >>confdefs.h <<\EOF + echo "$ac_t""Using posix ACLs" 1>&6 + cat >> confdefs.h <<\EOF #define HAVE_POSIX_ACLS 1 EOF - echo "$as_me:17566: checking for acl_get_perm_np" >&5 -echo $ECHO_N "checking for acl_get_perm_np... $ECHO_C" >&6 -if test "${samba_cv_HAVE_ACL_GET_PERM_NP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + echo $ac_n "checking for acl_get_perm_np""... $ac_c" 1>&6 +echo "configure:13185: 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 <<_ACEOF -#line 17573 "configure" + + cat > conftest.$ac_ext <<EOF +#line 13191 "configure" #include "confdefs.h" #include <sys/types.h> #include <sys/acl.h> -int -main () -{ +int main() { acl_permset_t permset_d; acl_perm_t perm; return acl_get_perm_np( permset_d, perm); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:17586: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:17589: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:17592: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:17595: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +; return 0; } +EOF +if { (eval echo configure:13199: \"$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 - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -samba_cv_HAVE_ACL_GET_PERM_NP=no + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + samba_cv_HAVE_ACL_GET_PERM_NP=no fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +rm -f conftest* fi -echo "$as_me:17605: result: $samba_cv_HAVE_ACL_GET_PERM_NP" >&5 -echo "${ECHO_T}$samba_cv_HAVE_ACL_GET_PERM_NP" >&6 + +echo "$ac_t""$samba_cv_HAVE_ACL_GET_PERM_NP" 1>&6 if test x"$samba_cv_HAVE_ACL_GET_PERM_NP" = x"yes"; then - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define HAVE_ACL_GET_PERM_NP 1 EOF @@ -17615,23 +13219,22 @@ EOF esac ;; *) - echo "$as_me:17618: result: no" >&5 -echo "${ECHO_T}no" >&6 - cat >>confdefs.h <<\EOF + echo "$ac_t""no" 1>&6 + cat >> confdefs.h <<\EOF #define HAVE_NO_ACLS 1 EOF ;; - esac + esac else - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define HAVE_NO_ACLS 1 EOF - echo "$as_me:17631: result: no" >&5 -echo "${ECHO_T}no" >&6 + echo "$ac_t""no" 1>&6 + +fi -fi; ################################################# # check for the historical SAMBA installation @@ -17646,12 +13249,12 @@ fi # build and install client programs (WINBIND_TARGETS), sbin programs # (WINBIND_STARGETS) and shared libraries (WINBIND_LTARGETS). -echo "$as_me:17649: checking whether to build winbind" >&5 -echo $ECHO_N "checking whether to build winbind... $ECHO_C" >&6 +echo $ac_n "checking whether to build winbind""... $ac_c" 1>&6 +echo "configure:13254: checking whether to build winbind" >&5 # Initially, the value of $host_os decides whether winbind is supported -case "$host_os" in +case "$host_os" in *linux*|*irix*) HAVE_WINBIND=yes ;; @@ -17663,11 +13266,14 @@ case "$host_os" in *hpux11*) HAVE_WINBIND=yes WINBIND_NSS_EXTRA_OBJS="nsswitch/winbind_nss_solaris.o" + ;; + *aix4*) + HAVE_WINBIND=yes ;; *) HAVE_WINBIND=no winbind_no_reason=", unsupported on $host_os" - ;; + ;; esac # Check the setting of --with-winbindd @@ -17675,7 +13281,7 @@ esac # Check whether --with-winbind or --without-winbind was given. if test "${with_winbind+set}" = set; then withval="$with_winbind" - + case "$withval" in yes) HAVE_WINBIND=yes @@ -17684,8 +13290,9 @@ if test "${with_winbind+set}" = set; then HAVE_WINBIND=no winbind_reason="" ;; - esac -fi; + esac +fi + # We need unix domain sockets for winbind @@ -17700,8 +13307,7 @@ fi if test x"$HAVE_WINBIND" = x"yes"; then - echo "$as_me:17703: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + echo "$ac_t""yes" 1>&6 WINBIND_TARGETS="bin/wbinfo" WINBIND_STARGETS="bin/winbindd" @@ -17714,14 +13320,14 @@ echo "${ECHO_T}yes" >&6 ;; esac + case "$with_pam" in yes) WINBIND_PAM_TARGETS="nsswitch/pam_winbind.so" ;; esac else - echo "$as_me:17723: result: no$winbind_no_reason" >&5 -echo "${ECHO_T}no$winbind_no_reason" >&6 + echo "$ac_t""no$winbind_no_reason" 1>&6 WINBIND_TARGETS="" WINBIND_STARGETS="" @@ -17729,19 +13335,35 @@ echo "${ECHO_T}no$winbind_no_reason" >&6 WINBIND_PAM_TARGETS="" fi + +# Check whether --with-winbind or --without-winbind was given. +if test "${with_winbind+set}" = set; then + withval="$with_winbind" + + case "$withval" in + yes) + WITH_WINBIND_AUTH_CRAP=yes + ;; + no) + WITH_WINBIND_AUTH_CRAP=no + ;; + esac +fi + + # Check for FreeBSD problem with getgroups # It returns EGID too many times in the list of groups # and causes a security problem -echo "$as_me:17735: checking whether or not getgroups returns EGID too many times" >&5 -echo $ECHO_N "checking whether or not getgroups returns EGID too many times... $ECHO_C" >&6 -if test "${samba_cv_have_getgroups_too_many_egids+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +echo $ac_n "checking whether or not getgroups returns EGID too many times""... $ac_c" 1>&6 +echo "configure:13359: checking whether or not getgroups returns EGID too many times" >&5 +if eval "test \"`echo '$''{'samba_cv_have_getgroups_too_many_egids'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else if test "$cross_compiling" = yes; then samba_cv_have_getgroups_too_many_egids=cross else - cat >conftest.$ac_ext <<_ACEOF -#line 17744 "configure" + cat > conftest.$ac_ext <<EOF +#line 13367 "configure" #include "confdefs.h" #include <sys/types.h> @@ -17756,32 +13378,24 @@ int main(int argc, char *argv[]) /* Could actually pass back the number of EGIDs there ... */ exit((n > 1 && groups[0] == getegid() && groups[1] == getegid()) ? 1 : 0); } -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:17761: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:17764: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:17766: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:17769: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then +EOF +if { (eval echo configure:13383: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +then samba_cv_have_getgroups_too_many_egids=no else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -samba_cv_have_getgroups_too_many_egids=yes + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -fr conftest* + samba_cv_have_getgroups_too_many_egids=yes fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -fr conftest* fi + fi -echo "$as_me:17781: result: $samba_cv_have_getgroups_too_many_egids" >&5 -echo "${ECHO_T}$samba_cv_have_getgroups_too_many_egids" >&6 + +echo "$ac_t""$samba_cv_have_getgroups_too_many_egids" 1>&6 if test x"$samba_cv_have_getgroups_too_many_egids" = x"yes"; then - cat >>confdefs.h <<\EOF + cat >> confdefs.h <<\EOF #define HAVE_GETGROUPS_TOO_MANY_EGIDS 1 EOF @@ -17789,13 +13403,101 @@ fi # Substitution time! + + + + + + + +# Solaris has some extra fields in struct passwd that need to be +# initialised otherwise nscd crashes. Unfortunately autoconf < 2.50 +# doesn't have the AC_CHECK_MEMBER macro which would be handy for checking +# this. + +#AC_CHECK_MEMBER(struct passwd.pw_comment, +# AC_DEFINE(HAVE_PASSWD_PW_COMMENT, 1, [Defined if struct passwd has pw_comment field]), +# [#include <pwd.h>]) + +echo $ac_n "checking whether struct passwd has pw_comment""... $ac_c" 1>&6 +echo "configure:13424: checking whether struct passwd has pw_comment" >&5 +if eval "test \"`echo '$''{'samba_cv_passwd_pw_comment'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + + cat > conftest.$ac_ext <<EOF +#line 13430 "configure" +#include "confdefs.h" +#include <pwd.h> +int main() { +struct passwd p; p.pw_comment; +; return 0; } +EOF +if { (eval echo configure:13437: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + samba_cv_passwd_pw_comment=yes +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + samba_cv_passwd_pw_comment=no +fi +rm -f conftest* +fi + +echo "$ac_t""$samba_cv_passwd_pw_comment" 1>&6 +if test x"$samba_cv_passwd_pw_comment" = x"yes"; then + cat >> confdefs.h <<\EOF +#define HAVE_PASSWD_PW_COMMENT 1 +EOF + +fi + +#AC_CHECK_MEMBER(struct passwd.pw_age, +# AC_DEFINE(HAVE_PASSWD_PW_AGE, 1, [Defined if struct passwd has pw_age field]), +# [#include <pwd.h>]) + +echo $ac_n "checking whether struct passwd has pw_age""... $ac_c" 1>&6 +echo "configure:13462: checking whether struct passwd has pw_age" >&5 +if eval "test \"`echo '$''{'samba_cv_passwd_pw_age'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + + cat > conftest.$ac_ext <<EOF +#line 13468 "configure" +#include "confdefs.h" +#include <pwd.h> +int main() { +struct passwd p; p.pw_age; +; return 0; } +EOF +if { (eval echo configure:13475: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + rm -rf conftest* + samba_cv_passwd_pw_age=yes +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + samba_cv_passwd_pw_age=no +fi +rm -f conftest* +fi + +echo "$ac_t""$samba_cv_passwd_pw_age" 1>&6 +if test x"$samba_cv_passwd_pw_age" = x"yes"; then + cat >> confdefs.h <<\EOF +#define HAVE_PASSWD_PW_AGE 1 +EOF + +fi + ################################################# # Check to see if we should use the included popt # Check whether --with-included-popt or --without-included-popt was given. if test "${with_included_popt+set}" = set; then withval="$with_included_popt" - + case "$withval" in yes) INCLUDED_POPT=yes @@ -17803,984 +13505,507 @@ if test "${with_included_popt+set}" = set; then no) INCLUDED_POPT=no ;; - esac -fi; + esac +fi + if test x"$INCLUDED_POPT" != x"yes"; then - echo "$as_me:17809: checking for poptGetContext in -lpopt" >&5 -echo $ECHO_N "checking for poptGetContext in -lpopt... $ECHO_C" >&6 -if test "${ac_cv_lib_popt_poptGetContext+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + echo $ac_n "checking for poptGetContext in -lpopt""... $ac_c" 1>&6 +echo "configure:13514: checking for poptGetContext in -lpopt" >&5 +ac_lib_var=`echo popt'_'poptGetContext | sed 'y%./+-%__p_%'` +if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 else - ac_check_lib_save_LIBS=$LIBS + ac_save_LIBS="$LIBS" LIBS="-lpopt $LIBS" -cat >conftest.$ac_ext <<_ACEOF -#line 17817 "configure" +cat > conftest.$ac_ext <<EOF +#line 13522 "configure" #include "confdefs.h" - /* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char poptGetContext (); -int -main () -{ -poptGetContext (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:17836: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:17839: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:17842: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:17845: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_lib_popt_poptGetContext=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_lib_popt_poptGetContext=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:17856: result: $ac_cv_lib_popt_poptGetContext" >&5 -echo "${ECHO_T}$ac_cv_lib_popt_poptGetContext" >&6 -if test $ac_cv_lib_popt_poptGetContext = yes; then + builtin and then its argument prototype would still apply. */ +char poptGetContext(); + +int main() { +poptGetContext() +; return 0; } +EOF +if { (eval echo configure:13533: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=yes" +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + eval "ac_cv_lib_$ac_lib_var=no" +fi +rm -f conftest* +LIBS="$ac_save_LIBS" + +fi +if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then + echo "$ac_t""yes" 1>&6 INCLUDED_POPT=no else - INCLUDED_POPT=yes + echo "$ac_t""no" 1>&6 +INCLUDED_POPT=yes fi fi -echo "$as_me:17866: checking whether to use included popt" >&5 -echo $ECHO_N "checking whether to use included popt... $ECHO_C" >&6 +echo $ac_n "checking whether to use included popt""... $ac_c" 1>&6 +echo "configure:13557: checking whether to use included popt" >&5 if test x"$INCLUDED_POPT" = x"yes"; then - echo "$as_me:17869: result: $srcdir/popt" >&5 -echo "${ECHO_T}$srcdir/popt" >&6 + echo "$ac_t""$srcdir/popt" 1>&6 BUILD_POPT='$(POPT_OBJS)' FLAGS1="-I$srcdir/popt" else - echo "$as_me:17874: result: no" >&5 -echo "${ECHO_T}no" >&6 + echo "$ac_t""no" 1>&6 LIBS="$LIBS -lpopt" fi + + ################################################# # final configure stuff -echo "$as_me:17881: checking configure summary" >&5 -echo $ECHO_N "checking configure summary... $ECHO_C" >&6 +echo $ac_n "checking configure summary""... $ac_c" 1>&6 +echo "configure:13572: checking configure summary" >&5 if test "$cross_compiling" = yes; then - { echo "$as_me:17884: WARNING: cannot run when cross-compiling" >&5 -echo "$as_me: WARNING: cannot run when cross-compiling" >&2;} + echo "configure: warning: cannot run when cross-compiling" 1>&2 else - cat >conftest.$ac_ext <<_ACEOF -#line 17888 "configure" + cat > conftest.$ac_ext <<EOF +#line 13577 "configure" #include "confdefs.h" #include "${srcdir-.}/tests/summary.c" -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:17893: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:17896: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:17898: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:17901: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - echo "$as_me:17903: result: yes" >&5 -echo "${ECHO_T}yes" >&6 -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -{ { echo "$as_me:17909: error: summary failure. Aborting config" >&5 -echo "$as_me: error: summary failure. Aborting config" >&2;} - { (exit 1); exit 1; }; }; exit 1; -fi -rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +EOF +if { (eval echo configure:13581: \"$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 + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -fr conftest* + { echo "configure: error: summary failure. Aborting config" 1>&2; exit 1; }; exit 1; +fi +rm -fr conftest* fi + builddir=`pwd` -ac_config_files="$ac_config_files include/stamp-h Makefile" -cat >confcache <<\_ACEOF + +trap '' 1 2 15 +cat > confcache <<\EOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure -# scripts and configure runs, see configure's option --config-cache. -# It is not useful on other systems. If it contains results you don't -# want to keep, you may remove or edit it. +# scripts and configure runs. It is not useful on other systems. +# If it contains results you don't want to keep, you may remove or edit it. # -# config.status only pays attention to the cache file if you give it -# the --recheck option to rerun configure. +# By default, configure uses ./config.cache as the cache file, +# creating it if it does not exist already. You can give configure +# the --cache-file=FILE option to use a different cache file; that is +# what configure does when it calls configure scripts in +# subdirectories, so they share the cache. +# Giving --cache-file=/dev/null disables caching, for debugging configure. +# config.status only pays attention to the cache file if you give it the +# --recheck option to rerun configure. # -# `ac_cv_env_foo' variables (set or unset) will be overriden when -# loading this file, other *unset* `ac_cv_foo' will be assigned the -# following values. - -_ACEOF - +EOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, don't put newlines in cache variables' values. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. -{ - (set) 2>&1 | - case `(ac_space=' '; set | grep ac_space) 2>&1` in - *ac_space=\ *) - # `set' does not quote correctly, so add quotes (double-quote - # substitution turns \\\\ into \\, and sed turns \\ into \). - sed -n \ - "s/'/'\\\\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" - ;; - *) - # `set' quotes correctly as required by POSIX, so do not add quotes. - sed -n \ - "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" - ;; - esac; -} | - sed ' - t clear - : clear - s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ - t end - /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ - : end' >>confcache -if cmp -s $cache_file confcache; then :; else +(set) 2>&1 | + case `(ac_space=' '; set | grep ac_space) 2>&1` in + *ac_space=\ *) + # `set' does not quote correctly, so add quotes (double-quote substitution + # turns \\\\ into \\, and sed turns \\ into \). + sed -n \ + -e "s/'/'\\\\''/g" \ + -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p" + ;; + *) + # `set' quotes correctly as required by POSIX, so do not add quotes. + sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p' + ;; + esac >> confcache +if cmp -s $cache_file confcache; then + : +else if test -w $cache_file; then - test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file" - cat confcache >$cache_file + echo "updating cache $cache_file" + cat confcache > $cache_file else echo "not updating unwritable cache $cache_file" fi fi rm -f confcache +trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 + test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' -# VPATH may cause trouble with some makes, so we remove $(srcdir), -# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and -# trailing colons and then remove the whole line if VPATH becomes empty -# (actually we leave an empty line to preserve line numbers). +# Any assignment to VPATH causes Sun make to only execute +# the first set of double-colon rules, so remove it if not needed. +# If there is a colon in the path, we need to keep it. if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=/{ -s/:*\$(srcdir):*/:/; -s/:*\${srcdir}:*/:/; -s/:*@srcdir@:*/:/; -s/^\([^=]*=[ ]*\):*/\1/; -s/:*$//; -s/^[^=]*=[ ]*$//; -}' + ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d' fi +trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15 + DEFS=-DHAVE_CONFIG_H +# Without the "./", some shells look in PATH for config.status. : ${CONFIG_STATUS=./config.status} -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files $CONFIG_STATUS" -{ echo "$as_me:17998: creating $CONFIG_STATUS" >&5 -echo "$as_me: creating $CONFIG_STATUS" >&6;} -cat >$CONFIG_STATUS <<_ACEOF -#! $SHELL + +echo creating $CONFIG_STATUS +rm -f $CONFIG_STATUS +cat > $CONFIG_STATUS <<EOF +#! /bin/sh # Generated automatically by configure. # Run this file to recreate the current configuration. +# This directory was configured as follows, +# on host `(hostname || uname -n) 2>/dev/null | sed 1q`: +# +# $0 $ac_configure_args +# # Compiler output produced by configure, useful for debugging -# configure, is in config.log if it exists. - -debug=false -SHELL=\${CONFIG_SHELL-$SHELL} -ac_cs_invocation="\$0 \$@" - -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF -# Be Bourne compatible -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: -elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then - set -o posix -fi - -# Name of the executable. -as_me=`echo "$0" |sed 's,.*[\\/],,'` - -if expr a : '\(a\)' >/dev/null 2>&1; then - as_expr=expr -else - as_expr=false -fi - -rm -f conf$$ conf$$.exe conf$$.file -echo >conf$$.file -if ln -s conf$$.file conf$$ 2>/dev/null; then - # We could just check for DJGPP; but this test a) works b) is more generic - # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). - if test -f conf$$.exe; then - # Don't use ln at all; we don't have any links - as_ln_s='cp -p' - else - as_ln_s='ln -s' - fi -elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln -else - as_ln_s='cp -p' -fi -rm -f conf$$ conf$$.exe conf$$.file - -as_executable_p="test -f" - -# Support unset when possible. -if (FOO=FOO; unset FOO) >/dev/null 2>&1; then - as_unset=unset -else - as_unset=false -fi - -# NLS nuisances. -$as_unset LANG || test "${LANG+set}" != set || { LANG=C; export LANG; } -$as_unset LC_ALL || test "${LC_ALL+set}" != set || { LC_ALL=C; export LC_ALL; } -$as_unset LC_TIME || test "${LC_TIME+set}" != set || { LC_TIME=C; export LC_TIME; } -$as_unset LC_CTYPE || test "${LC_CTYPE+set}" != set || { LC_CTYPE=C; export LC_CTYPE; } -$as_unset LANGUAGE || test "${LANGUAGE+set}" != set || { LANGUAGE=C; export LANGUAGE; } -$as_unset LC_COLLATE || test "${LC_COLLATE+set}" != set || { LC_COLLATE=C; export LC_COLLATE; } -$as_unset LC_NUMERIC || test "${LC_NUMERIC+set}" != set || { LC_NUMERIC=C; export LC_NUMERIC; } -$as_unset LC_MESSAGES || test "${LC_MESSAGES+set}" != set || { LC_MESSAGES=C; export LC_MESSAGES; } - -# IFS -# We need space, tab and new line, in precisely that order. -as_nl=' -' -IFS=" $as_nl" - -# CDPATH. -$as_unset CDPATH || test "${CDPATH+set}" != set || { CDPATH=:; export CDPATH; } - -exec 6>&1 - -_ACEOF - -# Files that config.status was made for. -if test -n "$ac_config_files"; then - echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS -fi - -if test -n "$ac_config_headers"; then - echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS -fi - -if test -n "$ac_config_links"; then - echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS -fi - -if test -n "$ac_config_commands"; then - echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS -fi - -cat >>$CONFIG_STATUS <<\EOF - -ac_cs_usage="\ -\`$as_me' instantiates files from templates according to the -current configuration. +# configure, is in ./config.log if it exists. -Usage: $0 [OPTIONS] [FILE]... - - -h, --help print this help, then exit - -V, --version print version number, then exit - -d, --debug don't remove temporary files - --recheck update $as_me by reconfiguring in the same conditions - --file=FILE[:TEMPLATE] - instantiate the configuration file FILE - --header=FILE[:TEMPLATE] - instantiate the configuration header FILE - -Configuration files: -$config_files - -Configuration headers: -$config_headers - -Report bugs to <bug-autoconf@gnu.org>." -EOF - -cat >>$CONFIG_STATUS <<EOF -ac_cs_version="\\ -config.status -configured by $0, generated by GNU Autoconf 2.52, - with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" - -Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001 -Free Software Foundation, Inc. -This config.status script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it." -srcdir=$srcdir -INSTALL="$INSTALL" -EOF - -cat >>$CONFIG_STATUS <<\EOF -# If no file are specified by the user, then we need to provide default -# value. By we need to know if files were specified by the user. -ac_need_defaults=: -while test $# != 0 +ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]" +for ac_option do - case $1 in - --*=*) - ac_option=`expr "x$1" : 'x\([^=]*\)='` - ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'` - shift - set dummy "$ac_option" "$ac_optarg" ${1+"$@"} - shift - ;; - -*);; - *) # This is not an option, so the user has probably given explicit - # arguments. - ac_need_defaults=false;; - esac - - case $1 in - # Handling of the options. -EOF -cat >>$CONFIG_STATUS <<EOF + case "\$ac_option" in -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) - echo "running $SHELL $0 " $ac_configure_args " --no-create --no-recursion" - exec $SHELL $0 $ac_configure_args --no-create --no-recursion ;; -EOF -cat >>$CONFIG_STATUS <<\EOF - --version | --vers* | -V ) - echo "$ac_cs_version"; exit 0 ;; - --he | --h) - # Conflict between --help and --header - { { echo "$as_me:18171: error: ambiguous option: $1 -Try \`$0 --help' for more information." >&5 -echo "$as_me: error: ambiguous option: $1 -Try \`$0 --help' for more information." >&2;} - { (exit 1); exit 1; }; };; - --help | --hel | -h ) - echo "$ac_cs_usage"; exit 0 ;; - --debug | --d* | -d ) - debug=: ;; - --file | --fil | --fi | --f ) - shift - CONFIG_FILES="$CONFIG_FILES $1" - ac_need_defaults=false;; - --header | --heade | --head | --hea ) - shift - CONFIG_HEADERS="$CONFIG_HEADERS $1" - ac_need_defaults=false;; - - # This is an error. - -*) { { echo "$as_me:18190: error: unrecognized option: $1 -Try \`$0 --help' for more information." >&5 -echo "$as_me: error: unrecognized option: $1 -Try \`$0 --help' for more information." >&2;} - { (exit 1); exit 1; }; } ;; - - *) ac_config_targets="$ac_config_targets $1" ;; - + echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion" + exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;; + -version | --version | --versio | --versi | --vers | --ver | --ve | --v) + echo "$CONFIG_STATUS generated by autoconf version 2.13" + exit 0 ;; + -help | --help | --hel | --he | --h) + echo "\$ac_cs_usage"; exit 0 ;; + *) echo "\$ac_cs_usage"; exit 1 ;; esac - shift done -exec 5>>config.log -cat >&5 << _ACEOF - -## ----------------------- ## -## Running config.status. ## -## ----------------------- ## - -This file was extended by $as_me 2.52, executed with - CONFIG_FILES = $CONFIG_FILES - CONFIG_HEADERS = $CONFIG_HEADERS - CONFIG_LINKS = $CONFIG_LINKS - CONFIG_COMMANDS = $CONFIG_COMMANDS - > $ac_cs_invocation -on `(hostname || uname -n) 2>/dev/null | sed 1q` +ac_given_srcdir=$srcdir +ac_given_INSTALL="$INSTALL" -_ACEOF +trap 'rm -fr `echo "include/stamp-h Makefile script/findsmb include/config.h" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15 EOF +cat >> $CONFIG_STATUS <<EOF -cat >>$CONFIG_STATUS <<\EOF -for ac_config_target in $ac_config_targets -do - case "$ac_config_target" in - # Handling of arguments. - "include/stamp-h" ) CONFIG_FILES="$CONFIG_FILES include/stamp-h" ;; - "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;; - "include/config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS include/config.h" ;; - *) { { echo "$as_me:18228: error: invalid argument: $ac_config_target" >&5 -echo "$as_me: error: invalid argument: $ac_config_target" >&2;} - { (exit 1); exit 1; }; };; - esac -done - -# If the user did not use the arguments to specify the items to instantiate, -# then the envvar interface is used. Set only those that are not. -# We use the long form for the default assignment because of an extremely -# bizarre bug on SunOS 4.1.3. -if $ac_need_defaults; then - test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files - test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers -fi - -# Create a temporary directory, and hook for its removal unless debugging. -$debug || -{ - trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0 - trap '{ (exit 1); exit 1; }' 1 2 13 15 -} - -# Create a (secure) tmp directory for tmp files. -: ${TMPDIR=/tmp} -{ - tmp=`(umask 077 && mktemp -d -q "$TMPDIR/csXXXXXX") 2>/dev/null` && - test -n "$tmp" && test -d "$tmp" -} || -{ - tmp=$TMPDIR/cs$$-$RANDOM - (umask 077 && mkdir $tmp) -} || -{ - echo "$me: cannot create a temporary directory in $TMPDIR" >&2 - { (exit 1); exit 1; } -} - -EOF - -cat >>$CONFIG_STATUS <<EOF - -# -# CONFIG_FILES section. -# +# Protect against being on the right side of a sed subst in config.status. +sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g; + s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF +$ac_vpsub +$extrasub +s%@SHELL@%$SHELL%g +s%@CFLAGS@%$CFLAGS%g +s%@CPPFLAGS@%$CPPFLAGS%g +s%@CXXFLAGS@%$CXXFLAGS%g +s%@FFLAGS@%$FFLAGS%g +s%@DEFS@%$DEFS%g +s%@LDFLAGS@%$LDFLAGS%g +s%@LIBS@%$LIBS%g +s%@exec_prefix@%$exec_prefix%g +s%@prefix@%$prefix%g +s%@program_transform_name@%$program_transform_name%g +s%@bindir@%$bindir%g +s%@sbindir@%$sbindir%g +s%@libexecdir@%$libexecdir%g +s%@datadir@%$datadir%g +s%@sysconfdir@%$sysconfdir%g +s%@sharedstatedir@%$sharedstatedir%g +s%@localstatedir@%$localstatedir%g +s%@libdir@%$libdir%g +s%@includedir@%$includedir%g +s%@oldincludedir@%$oldincludedir%g +s%@infodir@%$infodir%g +s%@mandir@%$mandir%g +s%@codepagedir@%$codepagedir%g +s%@configdir@%$configdir%g +s%@lockdir@%$lockdir%g +s%@piddir@%$piddir%g +s%@logfilebase@%$logfilebase%g +s%@privatedir@%$privatedir%g +s%@swatdir@%$swatdir%g +s%@RUNPROG@%$RUNPROG%g +s%@MPROGS@%$MPROGS%g +s%@LDSHFLAGS@%$LDSHFLAGS%g +s%@SONAMEFLAG@%$SONAMEFLAG%g +s%@SHLD@%$SHLD%g +s%@HOST_OS@%$HOST_OS%g +s%@PAM_MOD@%$PAM_MOD%g +s%@PDBEDIT@%$PDBEDIT%g +s%@WRAP@%$WRAP%g +s%@WRAP32@%$WRAP32%g +s%@WRAPPROG@%$WRAPPROG%g +s%@PICFLAG@%$PICFLAG%g +s%@PICSUFFIX@%$PICSUFFIX%g +s%@SHLIBEXT@%$SHLIBEXT%g +s%@BLDSHARED@%$BLDSHARED%g +s%@LIBSMBCLIENT_SHARED@%$LIBSMBCLIENT_SHARED%g +s%@LIBSMBCLIENT@%$LIBSMBCLIENT%g +s%@CC@%$CC%g +s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g +s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g +s%@INSTALL_DATA@%$INSTALL_DATA%g +s%@AWK@%$AWK%g +s%@passwd_program@%$passwd_program%g +s%@BROKEN_CC@%$BROKEN_CC%g +s%@host@%$host%g +s%@host_alias@%$host_alias%g +s%@host_cpu@%$host_cpu%g +s%@host_vendor@%$host_vendor%g +s%@host_os@%$host_os%g +s%@target@%$target%g +s%@target_alias@%$target_alias%g +s%@target_cpu@%$target_cpu%g +s%@target_vendor@%$target_vendor%g +s%@target_os@%$target_os%g +s%@build@%$build%g +s%@build_alias@%$build_alias%g +s%@build_cpu@%$build_cpu%g +s%@build_vendor@%$build_vendor%g +s%@build_os@%$build_os%g +s%@CPP@%$CPP%g +s%@CUPS_CONFIG@%$CUPS_CONFIG%g +s%@LIBOBJS@%$LIBOBJS%g +s%@TERMLIBS@%$TERMLIBS%g +s%@TERMLDFLAGS@%$TERMLDFLAGS%g +s%@ROFF@%$ROFF%g +s%@DYNEXP@%$DYNEXP%g +s%@LDAPLIBS@%$LDAPLIBS%g +s%@QUOTAOBJS@%$QUOTAOBJS%g +s%@WINBIND_TARGETS@%$WINBIND_TARGETS%g +s%@WINBIND_STARGETS@%$WINBIND_STARGETS%g +s%@WINBIND_LTARGETS@%$WINBIND_LTARGETS%g +s%@WINBIND_PAM_TARGETS@%$WINBIND_PAM_TARGETS%g +s%@WINBIND_NSS_EXTRA_OBJS@%$WINBIND_NSS_EXTRA_OBJS%g +s%@WINBIND_NSS_EXTRA_LIBS@%$WINBIND_NSS_EXTRA_LIBS%g +s%@BUILD_POPT@%$BUILD_POPT%g +s%@FLAGS1@%$FLAGS1%g +s%@builddir@%$builddir%g -# No need to generate the scripts if there are no CONFIG_FILES. -# This happens for instance when ./config.status config.h -if test -n "\$CONFIG_FILES"; then - # Protect against being on the right side of a sed subst in config.status. - sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g; - s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF -s,@SHELL@,$SHELL,;t t -s,@exec_prefix@,$exec_prefix,;t t -s,@prefix@,$prefix,;t t -s,@program_transform_name@,$program_transform_name,;t t -s,@bindir@,$bindir,;t t -s,@sbindir@,$sbindir,;t t -s,@libexecdir@,$libexecdir,;t t -s,@datadir@,$datadir,;t t -s,@sysconfdir@,$sysconfdir,;t t -s,@sharedstatedir@,$sharedstatedir,;t t -s,@localstatedir@,$localstatedir,;t t -s,@libdir@,$libdir,;t t -s,@includedir@,$includedir,;t t -s,@oldincludedir@,$oldincludedir,;t t -s,@infodir@,$infodir,;t t -s,@mandir@,$mandir,;t t -s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t -s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t -s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t -s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t -s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t -s,@build_alias@,$build_alias,;t t -s,@host_alias@,$host_alias,;t t -s,@target_alias@,$target_alias,;t t -s,@ECHO_C@,$ECHO_C,;t t -s,@ECHO_N@,$ECHO_N,;t t -s,@ECHO_T@,$ECHO_T,;t t -s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t -s,@DEFS@,$DEFS,;t t -s,@LIBS@,$LIBS,;t t -s,@codepagedir@,$codepagedir,;t t -s,@configdir@,$configdir,;t t -s,@lockdir@,$lockdir,;t t -s,@piddir@,$piddir,;t t -s,@logfilebase@,$logfilebase,;t t -s,@privatedir@,$privatedir,;t t -s,@swatdir@,$swatdir,;t t -s,@RUNPROG@,$RUNPROG,;t t -s,@MPROGS@,$MPROGS,;t t -s,@LDSHFLAGS@,$LDSHFLAGS,;t t -s,@SONAMEFLAG@,$SONAMEFLAG,;t t -s,@SHLD@,$SHLD,;t t -s,@HOST_OS@,$HOST_OS,;t t -s,@PAM_MOD@,$PAM_MOD,;t t -s,@PDBEDIT@,$PDBEDIT,;t t -s,@WRAP@,$WRAP,;t t -s,@WRAP32@,$WRAP32,;t t -s,@WRAPPROG@,$WRAPPROG,;t t -s,@PICFLAG@,$PICFLAG,;t t -s,@PICSUFFIX@,$PICSUFFIX,;t t -s,@SHLIBEXT@,$SHLIBEXT,;t t -s,@BLDSHARED@,$BLDSHARED,;t t -s,@LIBSMBCLIENT_SHARED@,$LIBSMBCLIENT_SHARED,;t t -s,@LIBSMBCLIENT@,$LIBSMBCLIENT,;t t -s,@CC@,$CC,;t t -s,@CFLAGS@,$CFLAGS,;t t -s,@LDFLAGS@,$LDFLAGS,;t t -s,@CPPFLAGS@,$CPPFLAGS,;t t -s,@ac_ct_CC@,$ac_ct_CC,;t t -s,@EXEEXT@,$EXEEXT,;t t -s,@OBJEXT@,$OBJEXT,;t t -s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t -s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t -s,@INSTALL_DATA@,$INSTALL_DATA,;t t -s,@AWK@,$AWK,;t t -s,@BROKEN_CC@,$BROKEN_CC,;t t -s,@build@,$build,;t t -s,@build_cpu@,$build_cpu,;t t -s,@build_vendor@,$build_vendor,;t t -s,@build_os@,$build_os,;t t -s,@host@,$host,;t t -s,@host_cpu@,$host_cpu,;t t -s,@host_vendor@,$host_vendor,;t t -s,@host_os@,$host_os,;t t -s,@target@,$target,;t t -s,@target_cpu@,$target_cpu,;t t -s,@target_vendor@,$target_vendor,;t t -s,@target_os@,$target_os,;t t -s,@CPP@,$CPP,;t t -s,@LIBOBJS@,$LIBOBJS,;t t -s,@TERMLIBS@,$TERMLIBS,;t t -s,@TERMLDFLAGS@,$TERMLDFLAGS,;t t -s,@ROFF@,$ROFF,;t t -s,@DYNEXP@,$DYNEXP,;t t -s,@QUOTAOBJS@,$QUOTAOBJS,;t t -s,@WINBIND_TARGETS@,$WINBIND_TARGETS,;t t -s,@WINBIND_STARGETS@,$WINBIND_STARGETS,;t t -s,@WINBIND_LTARGETS@,$WINBIND_LTARGETS,;t t -s,@WINBIND_PAM_TARGETS@,$WINBIND_PAM_TARGETS,;t t -s,@WINBIND_NSS_EXTRA_OBJS@,$WINBIND_NSS_EXTRA_OBJS,;t t -s,@WINBIND_NSS_EXTRA_LIBS@,$WINBIND_NSS_EXTRA_LIBS,;t t -s,@BUILD_POPT@,$BUILD_POPT,;t t -s,@FLAGS1@,$FLAGS1,;t t -s,@builddir@,$builddir,;t t CEOF - EOF - cat >>$CONFIG_STATUS <<\EOF - # Split the substitutions into bite-sized pieces for seds with - # small command number limits, like on Digital OSF/1 and HP-UX. - ac_max_sed_lines=48 - ac_sed_frag=1 # Number of current file. - ac_beg=1 # First line for current file. - ac_end=$ac_max_sed_lines # Line after last line for current file. - ac_more_lines=: - ac_sed_cmds= - while $ac_more_lines; do - if test $ac_beg -gt 1; then - sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag - else - sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag - fi - if test ! -s $tmp/subs.frag; then - ac_more_lines=false +cat >> $CONFIG_STATUS <<\EOF + +# Split the substitutions into bite-sized pieces for seds with +# small command number limits, like on Digital OSF/1 and HP-UX. +ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script. +ac_file=1 # Number of current file. +ac_beg=1 # First line for current file. +ac_end=$ac_max_sed_cmds # Line after last line for current file. +ac_more_lines=: +ac_sed_cmds="" +while $ac_more_lines; do + if test $ac_beg -gt 1; then + sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file + else + sed "${ac_end}q" conftest.subs > conftest.s$ac_file + fi + if test ! -s conftest.s$ac_file; then + ac_more_lines=false + rm -f conftest.s$ac_file + else + if test -z "$ac_sed_cmds"; then + ac_sed_cmds="sed -f conftest.s$ac_file" else - # The purpose of the label and of the branching condition is to - # speed up the sed processing (if there are no `@' at all, there - # is no need to browse any of the substitutions). - # These are the two extra sed commands mentioned above. - (echo ':t - /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed - if test -z "$ac_sed_cmds"; then - ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed" - else - ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed" - fi - ac_sed_frag=`expr $ac_sed_frag + 1` - ac_beg=$ac_end - ac_end=`expr $ac_end + $ac_max_sed_lines` + ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file" fi - done - if test -z "$ac_sed_cmds"; then - ac_sed_cmds=cat + ac_file=`expr $ac_file + 1` + ac_beg=$ac_end + ac_end=`expr $ac_end + $ac_max_sed_cmds` fi -fi # test -n "$CONFIG_FILES" +done +if test -z "$ac_sed_cmds"; then + ac_sed_cmds=cat +fi +EOF +cat >> $CONFIG_STATUS <<EOF + +CONFIG_FILES=\${CONFIG_FILES-"include/stamp-h Makefile script/findsmb"} EOF -cat >>$CONFIG_STATUS <<\EOF -for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue +cat >> $CONFIG_STATUS <<\EOF +for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". - case $ac_file in - - | *:- | *:-:* ) # input from stdin - cat >$tmp/stdin - ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` - ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; - *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` - ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; - * ) ac_file_in=$ac_file.in ;; + case "$ac_file" in + *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'` + ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; + *) ac_file_in="${ac_file}.in" ;; esac - # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories. - ac_dir=`$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$ac_file" : 'X\(//\)[^/]' \| \ - X"$ac_file" : 'X\(//\)$' \| \ - X"$ac_file" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || -echo X"$ac_file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } - /^X\(\/\/\)[^/].*/{ s//\1/; q; } - /^X\(\/\/\)$/{ s//\1/; q; } - /^X\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` - if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then - { case "$ac_dir" in - [\\/]* | ?:[\\/]* ) as_incr_dir=;; - *) as_incr_dir=.;; -esac -as_dummy="$ac_dir" -for as_mkdir_dir in `IFS='/\\'; set X $as_dummy; shift; echo "$@"`; do - case $as_mkdir_dir in - # Skip DOS drivespec - ?:) as_incr_dir=$as_mkdir_dir ;; - *) - as_incr_dir=$as_incr_dir/$as_mkdir_dir - test -d "$as_incr_dir" || mkdir "$as_incr_dir" - ;; - esac -done; } + # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories. - ac_dir_suffix="/`echo $ac_dir|sed 's,^\./,,'`" + # Remove last slash and all that follows it. Not all systems have dirname. + ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'` + if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then + # The file is in a subdirectory. + test ! -d "$ac_dir" && mkdir "$ac_dir" + ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`" # A "../" for each directory in $ac_dir_suffix. - ac_dots=`echo "$ac_dir_suffix" | sed 's,/[^/]*,../,g'` + ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'` else ac_dir_suffix= ac_dots= fi - case $srcdir in - .) ac_srcdir=. - if test -z "$ac_dots"; then - ac_top_srcdir=. - else - ac_top_srcdir=`echo $ac_dots | sed 's,/$,,'` - fi ;; - [\\/]* | ?:[\\/]* ) - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir ;; + case "$ac_given_srcdir" in + .) srcdir=. + if test -z "$ac_dots"; then top_srcdir=. + else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;; + /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;; *) # Relative path. - ac_srcdir=$ac_dots$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_dots$srcdir ;; + srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix" + top_srcdir="$ac_dots$ac_given_srcdir" ;; esac - case $INSTALL in - [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; - *) ac_INSTALL=$ac_dots$INSTALL ;; + case "$ac_given_INSTALL" in + [/$]*) INSTALL="$ac_given_INSTALL" ;; + *) INSTALL="$ac_dots$ac_given_INSTALL" ;; esac - if test x"$ac_file" != x-; then - { echo "$as_me:18487: creating $ac_file" >&5 -echo "$as_me: creating $ac_file" >&6;} - rm -f "$ac_file" - fi - # Let's still pretend it is `configure' which instantiates (i.e., don't - # use $as_me), people would be surprised to read: - # /* config.h. Generated automatically by config.status. */ - configure_input="Generated automatically from `echo $ac_file_in | - sed 's,.*/,,'` by configure." - - # First look for the input files in the build tree, otherwise in the - # src tree. - ac_file_inputs=`IFS=: - for f in $ac_file_in; do - case $f in - -) echo $tmp/stdin ;; - [\\/$]*) - # Absolute (can't be DOS-style, as IFS=:) - test -f "$f" || { { echo "$as_me:18505: error: cannot find input file: $f" >&5 -echo "$as_me: error: cannot find input file: $f" >&2;} - { (exit 1); exit 1; }; } - echo $f;; - *) # Relative - if test -f "$f"; then - # Build tree - echo $f - elif test -f "$srcdir/$f"; then - # Source tree - echo $srcdir/$f - else - # /dev/null tree - { { echo "$as_me:18518: error: cannot find input file: $f" >&5 -echo "$as_me: error: cannot find input file: $f" >&2;} - { (exit 1); exit 1; }; } - fi;; - esac - done` || { (exit 1); exit 1; } -EOF -cat >>$CONFIG_STATUS <<EOF - sed "$ac_vpsub -$extrasub -EOF -cat >>$CONFIG_STATUS <<\EOF -:t -/@[a-zA-Z_][a-zA-Z_0-9]*@/!b -s,@configure_input@,$configure_input,;t t -s,@srcdir@,$ac_srcdir,;t t -s,@top_srcdir@,$ac_top_srcdir,;t t -s,@INSTALL@,$ac_INSTALL,;t t -" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out - rm -f $tmp/stdin - if test x"$ac_file" != x-; then - mv $tmp/out $ac_file - else - cat $tmp/out - rm -f $tmp/out - fi - -done -EOF -cat >>$CONFIG_STATUS <<\EOF + echo creating "$ac_file" + rm -f "$ac_file" + configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure." + case "$ac_file" in + *Makefile*) ac_comsub="1i\\ +# $configure_input" ;; + *) ac_comsub= ;; + esac -# -# CONFIG_HEADER section. -# + ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"` + sed -e "$ac_comsub +s%@configure_input@%$configure_input%g +s%@srcdir@%$srcdir%g +s%@top_srcdir@%$top_srcdir%g +s%@INSTALL@%$INSTALL%g +" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file +fi; done +rm -f conftest.s* # These sed commands are passed to sed as "A NAME B NAME C VALUE D", where # NAME is the cpp macro being defined and VALUE is the value it is being given. # # ac_d sets the value in "#define NAME VALUE" lines. -ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)' -ac_dB='[ ].*$,\1#\2' -ac_dC=' ' -ac_dD=',;t' -# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE". -ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' -ac_uB='$,\1#\2define\3' +ac_dA='s%^\([ ]*\)#\([ ]*define[ ][ ]*\)' +ac_dB='\([ ][ ]*\)[^ ]*%\1#\2' +ac_dC='\3' +ac_dD='%g' +# ac_u turns "#undef NAME" with trailing blanks into "#define NAME VALUE". +ac_uA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' +ac_uB='\([ ]\)%\1#\2define\3' ac_uC=' ' -ac_uD=',;t' +ac_uD='\4%g' +# ac_e turns "#undef NAME" without trailing blanks into "#define NAME VALUE". +ac_eA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' +ac_eB='$%\1#\2define\3' +ac_eC=' ' +ac_eD='%g' -for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue +if test "${CONFIG_HEADERS+set}" != set; then +EOF +cat >> $CONFIG_STATUS <<EOF + CONFIG_HEADERS="include/config.h" +EOF +cat >> $CONFIG_STATUS <<\EOF +fi +for ac_file in .. $CONFIG_HEADERS; do if test "x$ac_file" != x..; then # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". - case $ac_file in - - | *:- | *:-:* ) # input from stdin - cat >$tmp/stdin - ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` - ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; - *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` - ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; - * ) ac_file_in=$ac_file.in ;; + case "$ac_file" in + *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'` + ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; + *) ac_file_in="${ac_file}.in" ;; esac - test x"$ac_file" != x- && { echo "$as_me:18579: creating $ac_file" >&5 -echo "$as_me: creating $ac_file" >&6;} - - # First look for the input files in the build tree, otherwise in the - # src tree. - ac_file_inputs=`IFS=: - for f in $ac_file_in; do - case $f in - -) echo $tmp/stdin ;; - [\\/$]*) - # Absolute (can't be DOS-style, as IFS=:) - test -f "$f" || { { echo "$as_me:18590: error: cannot find input file: $f" >&5 -echo "$as_me: error: cannot find input file: $f" >&2;} - { (exit 1); exit 1; }; } - echo $f;; - *) # Relative - if test -f "$f"; then - # Build tree - echo $f - elif test -f "$srcdir/$f"; then - # Source tree - echo $srcdir/$f - else - # /dev/null tree - { { echo "$as_me:18603: error: cannot find input file: $f" >&5 -echo "$as_me: error: cannot find input file: $f" >&2;} - { (exit 1); exit 1; }; } - fi;; - esac - done` || { (exit 1); exit 1; } - # Remove the trailing spaces. - sed 's/[ ]*$//' $ac_file_inputs >$tmp/in - -EOF - -# Transform confdefs.h into two sed scripts, `conftest.defines' and -# `conftest.undefs', that substitutes the proper values into -# config.h.in to produce config.h. The first handles `#define' -# templates, and the second `#undef' templates. -# And first: Protect against being on the right side of a sed subst in -# config.status. Protect against being in an unquoted here document -# in config.status. -rm -f conftest.defines conftest.undefs -# Using a here document instead of a string reduces the quoting nightmare. -# Putting comments in sed scripts is not portable. -# -# `end' is used to avoid that the second main sed command (meant for -# 0-ary CPP macros) applies to n-ary macro definitions. -# See the Autoconf documentation for `clear'. -cat >confdef2sed.sed <<\EOF -s/[\\&,]/\\&/g -s,[\\$`],\\&,g -t clear -: clear -s,^[ ]*#[ ]*define[ ][ ]*\(\([^ (][^ (]*\)([^)]*)\)[ ]*\(.*\)$,${ac_dA}\2${ac_dB}\1${ac_dC}\3${ac_dD},gp -t end -s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp -: end -EOF -# If some macros were called several times there might be several times -# the same #defines, which is useless. Nevertheless, we may not want to -# sort them, since we want the *last* AC-DEFINE to be honored. -uniq confdefs.h | sed -n -f confdef2sed.sed >conftest.defines -sed 's/ac_d/ac_u/g' conftest.defines >conftest.undefs -rm -f confdef2sed.sed + echo creating $ac_file + + rm -f conftest.frag conftest.in conftest.out + ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"` + cat $ac_file_inputs > conftest.in + +EOF + +# Transform confdefs.h into a sed script conftest.vals that substitutes +# the proper values into config.h.in to produce config.h. And first: +# Protect against being on the right side of a sed subst in config.status. +# Protect against being in an unquoted here document in config.status. +rm -f conftest.vals +cat > conftest.hdr <<\EOF +s/[\\&%]/\\&/g +s%[\\$`]%\\&%g +s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD}%gp +s%ac_d%ac_u%gp +s%ac_u%ac_e%gp +EOF +sed -n -f conftest.hdr confdefs.h > conftest.vals +rm -f conftest.hdr # This sed command replaces #undef with comments. This is necessary, for # example, in the case of _POSIX_SOURCE, which is predefined and required # on some systems where configure will not decide to define it. -cat >>conftest.undefs <<\EOF -s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */, +cat >> conftest.vals <<\EOF +s%^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*%/* & */% EOF -# Break up conftest.defines because some shells have a limit on the size -# of here documents, and old seds have small limits too (100 cmds). -echo ' # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS -echo ' if egrep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS -echo ' # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS -echo ' :' >>$CONFIG_STATUS -rm -f conftest.tail -while grep . conftest.defines >/dev/null -do - # Write a limited-size here document to $tmp/defines.sed. - echo ' cat >$tmp/defines.sed <<CEOF' >>$CONFIG_STATUS - # Speed up: don't consider the non `#define' lines. - echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS - # Work around the forget-to-reset-the-flag bug. - echo 't clr' >>$CONFIG_STATUS - echo ': clr' >>$CONFIG_STATUS - sed ${ac_max_here_lines}q conftest.defines >>$CONFIG_STATUS - echo 'CEOF - sed -f $tmp/defines.sed $tmp/in >$tmp/out - rm -f $tmp/in - mv $tmp/out $tmp/in -' >>$CONFIG_STATUS - sed 1,${ac_max_here_lines}d conftest.defines >conftest.tail - rm -f conftest.defines - mv conftest.tail conftest.defines -done -rm -f conftest.defines -echo ' fi # egrep' >>$CONFIG_STATUS -echo >>$CONFIG_STATUS +# Break up conftest.vals because some shells have a limit on +# the size of here documents, and old seds have small limits too. -# Break up conftest.undefs because some shells have a limit on the size -# of here documents, and old seds have small limits too (100 cmds). -echo ' # Handle all the #undef templates' >>$CONFIG_STATUS rm -f conftest.tail -while grep . conftest.undefs >/dev/null +while : do - # Write a limited-size here document to $tmp/undefs.sed. - echo ' cat >$tmp/undefs.sed <<CEOF' >>$CONFIG_STATUS - # Speed up: don't consider the non `#undef' - echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS - # Work around the forget-to-reset-the-flag bug. - echo 't clr' >>$CONFIG_STATUS - echo ': clr' >>$CONFIG_STATUS - sed ${ac_max_here_lines}q conftest.undefs >>$CONFIG_STATUS + ac_lines=`grep -c . conftest.vals` + # grep -c gives empty output for an empty file on some AIX systems. + if test -z "$ac_lines" || test "$ac_lines" -eq 0; then break; fi + # Write a limited-size here document to conftest.frag. + echo ' cat > conftest.frag <<CEOF' >> $CONFIG_STATUS + sed ${ac_max_here_lines}q conftest.vals >> $CONFIG_STATUS echo 'CEOF - sed -f $tmp/undefs.sed $tmp/in >$tmp/out - rm -f $tmp/in - mv $tmp/out $tmp/in -' >>$CONFIG_STATUS - sed 1,${ac_max_here_lines}d conftest.undefs >conftest.tail - rm -f conftest.undefs - mv conftest.tail conftest.undefs + sed -f conftest.frag conftest.in > conftest.out + rm -f conftest.in + mv conftest.out conftest.in +' >> $CONFIG_STATUS + sed 1,${ac_max_here_lines}d conftest.vals > conftest.tail + rm -f conftest.vals + mv conftest.tail conftest.vals done -rm -f conftest.undefs - -cat >>$CONFIG_STATUS <<\EOF - # Let's still pretend it is `configure' which instantiates (i.e., don't - # use $as_me), people would be surprised to read: - # /* config.h. Generated automatically by config.status. */ - if test x"$ac_file" = x-; then - echo "/* Generated automatically by configure. */" >$tmp/config.h +rm -f conftest.vals + +cat >> $CONFIG_STATUS <<\EOF + rm -f conftest.frag conftest.h + echo "/* $ac_file. Generated automatically by configure. */" > conftest.h + cat conftest.in >> conftest.h + rm -f conftest.in + if cmp -s $ac_file conftest.h 2>/dev/null; then + echo "$ac_file is unchanged" + rm -f conftest.h else - echo "/* $ac_file. Generated automatically by configure. */" >$tmp/config.h - fi - cat $tmp/in >>$tmp/config.h - rm -f $tmp/in - if test x"$ac_file" != x-; then - if cmp -s $ac_file $tmp/config.h 2>/dev/null; then - { echo "$as_me:18720: $ac_file is unchanged" >&5 -echo "$as_me: $ac_file is unchanged" >&6;} - else - ac_dir=`$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$ac_file" : 'X\(//\)[^/]' \| \ - X"$ac_file" : 'X\(//\)$' \| \ - X"$ac_file" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || -echo X"$ac_file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } - /^X\(\/\/\)[^/].*/{ s//\1/; q; } - /^X\(\/\/\)$/{ s//\1/; q; } - /^X\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` + # Remove last slash and all that follows it. Not all systems have dirname. + ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'` if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then - { case "$ac_dir" in - [\\/]* | ?:[\\/]* ) as_incr_dir=;; - *) as_incr_dir=.;; -esac -as_dummy="$ac_dir" -for as_mkdir_dir in `IFS='/\\'; set X $as_dummy; shift; echo "$@"`; do - case $as_mkdir_dir in - # Skip DOS drivespec - ?:) as_incr_dir=$as_mkdir_dir ;; - *) - as_incr_dir=$as_incr_dir/$as_mkdir_dir - test -d "$as_incr_dir" || mkdir "$as_incr_dir" - ;; - esac -done; } - - fi - rm -f $ac_file - mv $tmp/config.h $ac_file + # The file is in a subdirectory. + test ! -d "$ac_dir" && mkdir "$ac_dir" fi - else - cat $tmp/config.h - rm -f $tmp/config.h + rm -f $ac_file + mv conftest.h $ac_file fi -done +fi; done + EOF +cat >> $CONFIG_STATUS <<EOF -cat >>$CONFIG_STATUS <<\EOF +EOF +cat >> $CONFIG_STATUS <<\EOF -{ (exit 0); exit 0; } +exit 0 EOF chmod +x $CONFIG_STATUS -ac_clean_files=$ac_clean_files_save - -# configure is writing to config.log, and then calls config.status. -# config.status does its own redirection, appending to config.log. -# Unfortunately, on DOS this fails, as config.log is still kept open -# by configure, so config.status won't be able to write to it; its -# output is simply discarded. So we exec the FD to /dev/null, -# effectively closing config.log, so it can be properly (re)opened and -# appended to by config.status. When coming back to configure, we -# need to make the FD available again. -if test "$no_create" != yes; then - ac_cs_success=: - exec 5>/dev/null - $SHELL $CONFIG_STATUS || ac_cs_success=false - exec 5>>config.log - # Use ||, not &&, to avoid exiting from the if with $? = 1, which - # would make configure fail if this is the last instruction. - $ac_cs_success || { (exit 1); exit 1; } -fi +rm -fr confdefs* $ac_clean_files +test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1 diff --git a/source/configure.in b/source/configure.in index c8666965611..bdadabcee91 100644 --- a/source/configure.in +++ b/source/configure.in @@ -182,6 +182,11 @@ dnl Checks for programs. AC_PROG_CC AC_PROG_INSTALL AC_PROG_AWK +dnl Check if we use GNU ld +LD=ld +AC_PROG_LD_GNU +AC_PATH_PROG(passwd_program, passwd, /bin/passwd) +AC_SUBST(passwd_program) dnl Check if C compiler understands -c and -o at the same time AC_PROG_CC_C_O @@ -302,7 +307,6 @@ case "$host_os" in ;; esac else - DYNEXP="-dc -dp" CPPFLAGS="$CPPFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" AC_DEFINE(_LARGEFILE64_SOURCE) AC_DEFINE(_FILE_OFFSET_BITS,64) @@ -422,8 +426,9 @@ AC_HEADER_SYS_WAIT AC_CHECK_HEADERS(arpa/inet.h sys/fcntl.h sys/select.h fcntl.h sys/time.h sys/unistd.h) AC_CHECK_HEADERS(unistd.h utime.h grp.h sys/id.h limits.h memory.h net/if.h) AC_CHECK_HEADERS(compat.h rpc/rpc.h rpcsvc/nis.h rpcsvc/yp_prot.h rpcsvc/ypclnt.h) +AC_CHECK_HEADERS(stdlib.h string.h strings.h syslog.h sys/file.h) AC_CHECK_HEADERS(sys/param.h ctype.h sys/wait.h sys/resource.h sys/ioctl.h sys/ipc.h sys/mode.h) -AC_CHECK_HEADERS(sys/mman.h sys/filio.h sys/priv.h sys/shm.h string.h strings.h stdlib.h sys/socket.h) +AC_CHECK_HEADERS(sys/mman.h sys/filio.h sys/priv.h sys/shm.h sys/socket.h) AC_CHECK_HEADERS(syslog.h sys/syslog.h sys/mount.h sys/vfs.h sys/fs/s5param.h sys/filsys.h termios.h termio.h) AC_CHECK_HEADERS(sys/termio.h sys/statfs.h sys/dustat.h sys/statvfs.h stdarg.h sys/sockio.h) AC_CHECK_HEADERS(security/pam_modules.h security/_pam_macros.h dlfcn.h synch.h pthread.h nsswitch.h) @@ -482,16 +487,17 @@ AC_CHECK_TYPE(wchar_t, unsigned short) ############################################ # for cups support we need libcups, and a handful of header files -AC_CHECK_LIB(cups,httpConnect) +AC_ARG_ENABLE(cups, +[ --enable-cups Turn on CUPS support (default=auto)]) -# I wonder if there is a nicer way of doing this? +if test x$enable_cups != xno; then + AC_PATH_PROG(CUPS_CONFIG, cups-config) -if test x"$ac_cv_lib_cups_httpConnect" = x"yes"; then - AC_CHECK_HEADERS(cups/cups.h cups/language.h) - if test x"$ac_cv_header_cups_cups_h" = x"yes"; then - if test x"$ac_cv_header_cups_language_h" = x"yes"; then - AC_DEFINE(HAVE_CUPS) - fi + if test "x$CUPS_CONFIG" != x; then + AC_DEFINE(HAVE_CUPS) + CFLAGS="$CFLAGS `$CUPS_CONFIG --cflags`" + LDFLAGS="$LDFLAGS `$CUPS_CONFIG --ldflags`" + LIBS="$LIBS `$CUPS_CONFIG --libs`" fi fi @@ -713,7 +719,7 @@ else RUNPROG="" fi -AC_CHECK_FUNCS(dlopen dlclose dlsym dlerror waitpid getcwd strdup strtoul strerror chown fchown chmod fchmod chroot link) +AC_CHECK_FUNCS(dlopen dlclose dlsym dlerror waitpid getcwd strdup strndup strnlen strtoul strerror chown fchown chmod fchmod chroot link) AC_CHECK_FUNCS(fstat strchr utime utimes getrlimit fsync bzero memset strlcpy strlcat setpgid mknod mknod64) AC_CHECK_FUNCS(memmove vsnprintf snprintf asprintf vasprintf setsid glob strpbrk pipe crypt16 getauthuid) AC_CHECK_FUNCS(strftime sigprocmask sigblock sigaction sigset innetgr setnetgrent getnetgrent endnetgrent) @@ -853,10 +859,16 @@ case "$host_os" in BLDSHARED="true" LDSHFLAGS="-G" SONAMEFLAG="-h " - if test "${ac_cv_prog_CC}" = "gcc"; then + if test "${GCC}" = "yes"; then PICFLAG="-fPIC" + if test "${ac_cv_prog_gnu_ld}" = "yes"; then + DYNEXP="-Wl,-E" + fi else PICFLAG="-KPIC" + ## ${CFLAGS} added for building 64-bit shared + ## libs using Sun's Compiler + LDSHFLAGS="-G \${CFLAGS}" POBAD_CC="" PICSUFFIX="po.o" fi @@ -870,6 +882,7 @@ case "$host_os" in ;; *bsd*) BLDSHARED="true" LDSHFLAGS="-shared" + DYNEXP="-Wl,-Bdynamic" SONAMEFLAG="-Wl,-soname," PICFLAG="-fPIC" AC_DEFINE(STAT_ST_BLOCKSIZE,512) @@ -884,7 +897,7 @@ case "$host_os" in LDSHFLAGS="-set_version sgi1.0 -shared" SONAMEFLAG="-soname " SHLD="\${LD}" - if test "${ac_cv_prog_CC}" = "gcc"; then + if test "${GCC}" = "yes"; then PICFLAG="-fPIC" else PICFLAG="-KPIC" @@ -894,7 +907,15 @@ case "$host_os" in *aix*) AC_DEFINE(AIX) BLDSHARED="true" LDSHFLAGS="-Wl,-bexpall,-bM:SRE,-bnoentry" - PICFLAG="-O2 -qmaxmem=6000" + DYNEXP="-Wl,-brtl,-bexpall" + if test "${GCC}" = "yes"; then + PICFLAG="-O2" + else + PICFLAG="-O2 -qmaxmem=6000" + ## for funky AIX compiler using strncpy() + CFLAGS="$CFLAGS -D_LINUX_SOURCE_COMPAT" + fi + AC_DEFINE(STAT_ST_BLOCKSIZE,DEV_BSIZE) ;; *hpux*) AC_DEFINE(HPUX) @@ -1059,7 +1080,7 @@ AC_TRY_COMPILE([ #include <dirent.h>], [struct dirent64 de;], samba_cv_HAVE_STRUCT_DIRENT64=yes,samba_cv_HAVE_STRUCT_DIRENT64=no)]) -if test x"$samba_cv_HAVE_STRUCT_DIRENT64" = x"yes"; then +if test x"$samba_cv_HAVE_STRUCT_DIRENT64" = x"yes" && test x"$ac_cv_func_readdir64" = x"yes"; then AC_DEFINE(HAVE_STRUCT_DIRENT64) fi @@ -1150,6 +1171,14 @@ if test x"$samba_cv_HAVE_GETTIMEOFDAY_TZ" = x"yes"; then AC_DEFINE(HAVE_GETTIMEOFDAY_TZ) fi +AC_CACHE_CHECK([for __va_copy],samba_cv_HAVE_VA_COPY,[ +AC_TRY_LINK([#include <stdarg.h> +va_list ap1,ap2;], [__va_copy(ap1,ap2);], +samba_cv_HAVE_VA_COPY=yes,samba_cv_HAVE_VA_COPY=no)]) +if test x"$samba_cv_HAVE_VA_COPY" = x"yes"; then + AC_DEFINE(HAVE_VA_COPY) +fi + AC_CACHE_CHECK([for C99 vsnprintf],samba_cv_HAVE_C99_VSNPRINTF,[ AC_TRY_RUN([ #include <sys/types.h> @@ -1347,7 +1376,7 @@ main() { } ], samba_cv_HAVE_KERNEL_CHANGE_NOTIFY=yes,samba_cv_HAVE_KERNEL_CHANGE_NOTIFY=no,samba_cv_HAVE_KERNEL_CHANGE_NOTIFY=cross)]) -if test x"$samba_cv_HAVE_KERNEL_CHANGE_NOTIFY" = x"yes"; then +if test x"$samba_cv_HAVE_KERNEL_CHANGE_NOTIFY" = x"yes" && test x"$target_cpu" != x"s390"; then AC_DEFINE(HAVE_KERNEL_CHANGE_NOTIFY) fi @@ -1493,7 +1522,7 @@ fi AC_CACHE_CHECK([whether getpass should be replaced],samba_cv_REPLACE_GETPASS,[ SAVE_CPPFLAGS="$CPPFLAGS" -CPPFLAGS="$CPPFLAGS -I${srcdir-.}/ -I${srcdir-.}/include -I${srcdir-.}/ubiqx -I${srcdir-.}/smbwrapper" +CPPFLAGS="$CPPFLAGS -I${srcdir-.}/ -I${srcdir-.}/include -I${srcdir-.}/ubiqx -I${srcdir-.}/popt -I${srcdir-.}/smbwrapper" AC_TRY_COMPILE([ #define REPLACE_GETPASS 1 #define NO_CONFIG_H 1 @@ -2042,8 +2071,12 @@ AC_ARG_WITH(ldapsam, yes) AC_MSG_RESULT(yes) AC_DEFINE(WITH_LDAP_SAM) - LIBS="-lldap -llber -lresolv $LIBS" + LDAPLIBS="-lldap" + AC_CHECK_LIB(lber, ber_bvfree, [LDAPLIBS="$LDAPLIBS -llber"]) + LDAPLIBS="-lresolv $LDAPLIBS" + AC_CHECK_FUNCS(ldap_start_tls_s) with_smbpasswd_sam=no + AC_SUBST(LDAPLIBS) ;; *) AC_MSG_RESULT(no) @@ -2221,26 +2254,6 @@ AC_ARG_WITH(quotas, yes) AC_MSG_RESULT(yes) QUOTAOBJS=smbd/quotas.o - case "$host_os" in - *linux*) - # Check for kernel 2.4.x quota braindamage... - AC_CACHE_CHECK([for linux 2.4.x quota braindamage..],samba_cv_linux_2_4_quota_braindamage, [ - AC_TRY_COMPILE([#include <stdio.h> -#include <sys/types.h> -#include <asm/types.h> -#include <linux/quota.h> -#include <mntent.h> -#include <linux/unistd.h>],[struct mem_dqblk D;], - samba_cv_linux_2_4_quota_braindamage=yes,samba_cv_linux_2_4_quota_braindamage=no)]) -if test x"$samba_cv_linux_2_4_quota_braindamage" = x"yes"; then - AC_DEFINE(LINUX_QUOTAS_2) -else - AC_DEFINE(LINUX_QUOTAS_1) -fi - ;; - *) - ;; - esac ;; *) AC_MSG_RESULT(no) @@ -2639,11 +2652,14 @@ case "$host_os" in *hpux11*) HAVE_WINBIND=yes WINBIND_NSS_EXTRA_OBJS="nsswitch/winbind_nss_solaris.o" + ;; + *aix4*) + HAVE_WINBIND=yes ;; *) HAVE_WINBIND=no winbind_no_reason=", unsupported on $host_os" - ;; + ;; esac # Check the setting of --with-winbindd @@ -2703,6 +2719,20 @@ else WINBIND_PAM_TARGETS="" fi + +AC_ARG_WITH(winbind, +[ --with-winbind-auth-challenge Enable winbindd_pam_auth_crap() functionality (default no)], +[ + case "$withval" in + yes) + WITH_WINBIND_AUTH_CRAP=yes + ;; + no) + WITH_WINBIND_AUTH_CRAP=no + ;; + esac ], +) + # Check for FreeBSD problem with getgroups # It returns EGID too many times in the list of groups # and causes a security problem @@ -2734,6 +2764,33 @@ AC_SUBST(WINBIND_PAM_TARGETS) AC_SUBST(WINBIND_NSS_EXTRA_OBJS) AC_SUBST(WINBIND_NSS_EXTRA_LIBS) +# Solaris has some extra fields in struct passwd that need to be +# initialised otherwise nscd crashes. Unfortunately autoconf < 2.50 +# doesn't have the AC_CHECK_MEMBER macro which would be handy for checking +# this. + +#AC_CHECK_MEMBER(struct passwd.pw_comment, +# AC_DEFINE(HAVE_PASSWD_PW_COMMENT, 1, [Defined if struct passwd has pw_comment field]), +# [#include <pwd.h>]) + +AC_CACHE_CHECK([whether struct passwd has pw_comment],samba_cv_passwd_pw_comment, [ + AC_TRY_COMPILE([#include <pwd.h>],[struct passwd p; p.pw_comment;], + samba_cv_passwd_pw_comment=yes,samba_cv_passwd_pw_comment=no)]) +if test x"$samba_cv_passwd_pw_comment" = x"yes"; then + AC_DEFINE(HAVE_PASSWD_PW_COMMENT) +fi + +#AC_CHECK_MEMBER(struct passwd.pw_age, +# AC_DEFINE(HAVE_PASSWD_PW_AGE, 1, [Defined if struct passwd has pw_age field]), +# [#include <pwd.h>]) + +AC_CACHE_CHECK([whether struct passwd has pw_age],samba_cv_passwd_pw_age, [ + AC_TRY_COMPILE([#include <pwd.h>],[struct passwd p; p.pw_age;], + samba_cv_passwd_pw_age=yes,samba_cv_passwd_pw_age=no)]) +if test x"$samba_cv_passwd_pw_age" = x"yes"; then + AC_DEFINE(HAVE_PASSWD_PW_AGE) +fi + ################################################# # Check to see if we should use the included popt @@ -2777,4 +2834,4 @@ AC_TRY_RUN([#include "${srcdir-.}/tests/summary.c"], builddir=`pwd` AC_SUBST(builddir) -AC_OUTPUT(include/stamp-h Makefile) +AC_OUTPUT(include/stamp-h Makefile script/findsmb) diff --git a/source/include/config.h.in b/source/include/config.h.in index b4f454ec3fc..3a1db41954b 100644 --- a/source/include/config.h.in +++ b/source/include/config.h.in @@ -85,6 +85,7 @@ #undef HAVE_CONNECT #undef HAVE_SHORT_INO_T #undef WITH_SMBWRAPPER +#undef WITH_WINBIND_AUTH_CRAP #undef WITH_AFS #undef WITH_DFS #undef SUNOS5 @@ -125,9 +126,6 @@ #undef WITH_SYSLOG #undef WITH_PROFILE #undef WITH_SSL -#undef WITH_LDAP -#undef WITH_NISPLUS -#undef WITH_TDBPWD #undef WITH_PAM #undef WITH_PAM_SMBPASS #undef WITH_NISPLUS_HOME @@ -138,12 +136,11 @@ #undef REPLACE_INET_NTOA #undef HAVE_FILE_MACRO #undef HAVE_FUNCTION_MACRO +#undef HAVE_VA_COPY #undef HAVE_SETRESUID_DECL #undef HAVE_SETRESUID -#undef WITH_NETATALK #undef WITH_UTMP #undef WITH_MSDFS -#undef WITH_VFS #undef HAVE_INO64_T #undef HAVE_DEV64_T #undef HAVE_STRUCT_FLOCK64 @@ -243,6 +240,8 @@ #undef HAVE_DEVICE_MINOR_FN #undef HAVE_MAKEDEV_FN #undef HAVE_GETGROUPS_TOO_MANY_EGIDS +#undef HAVE_PASSWD_PW_COMMENT +#undef HAVE_PASSWD_PW_AGE /* * Add these definitions to allow VFS modules to * see the CPPFLAGS defines. @@ -632,6 +631,9 @@ /* Define if you have the innetgr function. */ #undef HAVE_INNETGR +/* Define if you have the ldap_start_tls_s function. */ +#undef HAVE_LDAP_START_TLS_S + /* Define if you have the link function. */ #undef HAVE_LINK @@ -794,6 +796,12 @@ /* Define if you have the strlcpy function. */ #undef HAVE_STRLCPY +/* Define if you have the strndup function. */ +#undef HAVE_STRNDUP + +/* Define if you have the strnlen function. */ +#undef HAVE_STRNLEN + /* Define if you have the strpbrk function. */ #undef HAVE_STRPBRK @@ -851,12 +859,6 @@ /* Define if you have the <ctype.h> header file. */ #undef HAVE_CTYPE_H -/* Define if you have the <cups/cups.h> header file. */ -#undef HAVE_CUPS_CUPS_H - -/* Define if you have the <cups/language.h> header file. */ -#undef HAVE_CUPS_LANGUAGE_H - /* Define if you have the <dirent.h> header file. */ #undef HAVE_DIRENT_H @@ -992,6 +994,9 @@ /* Define if you have the <sys/fcntl.h> header file. */ #undef HAVE_SYS_FCNTL_H +/* Define if you have the <sys/file.h> header file. */ +#undef HAVE_SYS_FILE_H + /* Define if you have the <sys/filio.h> header file. */ #undef HAVE_SYS_FILIO_H @@ -1103,9 +1108,6 @@ /* Define if you have the acl library (-lacl). */ #undef HAVE_LIBACL -/* Define if you have the cups library (-lcups). */ -#undef HAVE_LIBCUPS - /* Define if you have the gen library (-lgen). */ #undef HAVE_LIBGEN diff --git a/source/include/doserr.h b/source/include/doserr.h index ca0baa307d7..783af7e7961 100644 --- a/source/include/doserr.h +++ b/source/include/doserr.h @@ -165,6 +165,7 @@ #define WERR_OBJECT_PATH_INVALID W_ERROR(161) #define WERR_NO_MORE_ITEMS W_ERROR(259) #define WERR_MORE_DATA W_ERROR(234) +#define WERR_CAN_NOT_COMPLETE W_ERROR(1003) #define WERR_INVALID_SECURITY_DESCRIPTOR W_ERROR(1338) #define WERR_UNKNOWN_PRINTER_DRIVER W_ERROR(1797) #define WERR_INVALID_PRINTER_NAME W_ERROR(1801) diff --git a/source/include/includes.h b/source/include/includes.h index f8dcee4aab5..74f9c4af257 100644 --- a/source/include/includes.h +++ b/source/include/includes.h @@ -208,7 +208,9 @@ #ifdef HAVE_SYSLOG_H #include <syslog.h> #endif +#ifdef HAVE_SYS_FILE_H #include <sys/file.h> +#endif #ifdef HAVE_NETINET_TCP_H #include <netinet/tcp.h> @@ -388,8 +390,12 @@ /* * Define additional missing types */ -#ifndef HAVE_SIG_ATOMIC_T_TYPE -typedef int sig_atomic_t; +#if defined(HAVE_SIG_ATOMIC_T_TYPE) && defined(AIX) +typedef sig_atomic_t SIG_ATOMIC_T; +#elif defined(HAVE_SIG_ATOMIC_T_TYPE) && !defined(AIX) +typedef sig_atomic_t VOLATILE SIG_ATOMIC_T; +#else +typedef int VOLATILE SIG_ATOMIC_T; #endif #ifndef HAVE_SOCKLEN_T_TYPE @@ -688,6 +694,8 @@ extern int errno; #include "popt.h" +#include "mangle.h" + #ifndef MAXCODEPAGELINES #define MAXCODEPAGELINES 256 #endif @@ -875,6 +883,14 @@ size_t strlcat(char *d, const char *s, size_t bufsize); int ftruncate(int f,long l); #endif +#ifndef HAVE_STRNDUP +char *strndup(const char *s, size_t n); +#endif + +#ifndef HAVE_STRNLEN +size_t strnlen(const char *s, size_t n); +#endif + #ifndef HAVE_STRTOUL unsigned long strtoul(const char *nptr, char **endptr, int base); #endif @@ -1072,5 +1088,12 @@ int asprintf(char **,const char *, ...) PRINTF_ATTRIBUTE(2,3); #define slprintf snprintf #define vslprintf vsnprintf +/* we need to use __va_copy() on some platforms */ +#ifdef HAVE_VA_COPY +#define VA_COPY(dest, src) __va_copy(dest, src) +#else +#define VA_COPY(dest, src) (dest) = (src) +#endif + #endif /* _INCLUDES_H */ diff --git a/source/include/nameserv.h b/source/include/nameserv.h index 49b6f1d3aac..91e88ee6b1c 100644 --- a/source/include/nameserv.h +++ b/source/include/nameserv.h @@ -421,6 +421,13 @@ struct res_rec { char rdata[MAX_DGRAM_SIZE]; }; +#define NM_FLAGS_RS 0x80 /* Response. Cheat */ +#define NM_FLAGS_AA 0x40 /* Authoritative */ +#define NM_FLAGS_TC 0x20 /* Truncated */ +#define NM_FLAGS_RD 0x10 /* Recursion Desired */ +#define NM_FLAGS_RA 0x08 /* Recursion Available */ +#define NM_FLAGS_B 0x01 /* Broadcast */ + /* An nmb packet. */ struct nmb_packet { diff --git a/source/include/proto.h b/source/include/proto.h index 81db73a6926..e99cb580901 100644 --- a/source/include/proto.h +++ b/source/include/proto.h @@ -56,7 +56,7 @@ char* debug_classname_from_index(int ndx); int debug_lookup_classname(char* classname); BOOL debug_parse_params(char **params, int *debuglevel_class); BOOL debug_parse_levels(char *params_str); -void debug_message(int msg_level, pid_t src, void *buf, size_t len); +void debug_message(int msg_type, pid_t src, void *buf, size_t len); void debug_message_send(pid_t pid, int level); void setup_logging(char *pname, BOOL interactive); BOOL reopen_logs( void ); @@ -139,7 +139,7 @@ BOOL message_send_all(TDB_CONTEXT *conn_tdb, int msg_type, const void *buf, size_t len, BOOL duplicates_allowed, int *n_sent); -BOOL message_named_mutex(char *name, unsigned int timeout); +BOOL message_named_mutex(const char *name, unsigned int timeout); void message_named_mutex_release(char *name); /* The following definitions come from lib/ms_fnmatch.c */ @@ -697,7 +697,7 @@ BOOL name_register(int fd, const char *name, int name_type, struct in_addr to_ip, int *count); struct in_addr *name_query(int fd,const char *name,int name_type, BOOL bcast,BOOL recurse, - struct in_addr to_ip, int *count); + struct in_addr to_ip, int *count, int *flags); FILE *startlmhosts(char *fname); BOOL getlmhostsent( FILE *fp, pstring name, int *name_type, struct in_addr *ipaddr); void endlmhosts(FILE *fp); @@ -705,6 +705,7 @@ BOOL name_register_wins(const char *name, int name_type); BOOL name_resolve_bcast(const char *name, int name_type, struct in_addr **return_ip_list, int *return_count); BOOL resolve_name(const char *name, struct in_addr *return_ip, int name_type); +BOOL resolve_name_2(const char *name, struct in_addr **return_ip, int *count, int name_type); BOOL resolve_srv_name(const char* srv_name, fstring dest_host, struct in_addr *ip); BOOL find_master_ip(char *group, struct in_addr *master_ip); @@ -1348,8 +1349,8 @@ char *dos_unistr2(uint16 *src); char *dos_unistr2_to_str(UNISTR2 *str); void ascii_to_unistr(uint16 *dest, const char *src, int maxlen); void unistr_to_ascii(char *dest, const uint16 *src, int len); -void unistr2_to_ascii(char *dest, const UNISTR2 *str, size_t maxlen); -char *unistr2_tdup(TALLOC_CTX *ctx, const UNISTR2 *str); +void unistr2_to_dos(char *dest, const UNISTR2 *str, size_t maxlen); +void unistr2_to_unix(char *dest, const UNISTR2 *str, size_t maxlen); uint32 buffer2_to_uint32(BUFFER2 *str); char *dos_buffer2_to_str(BUFFER2 *str); char *dos_buffer2_to_multistr(BUFFER2 *str); @@ -1944,6 +1945,7 @@ int lp_ldap_ssl(void); char *lp_add_share_cmd(void); char *lp_change_share_cmd(void); char *lp_delete_share_cmd(void); +char *lp_mangling_method(void); int lp_ssl_version(void); char *lp_ssl_hosts(void); char *lp_ssl_hosts_resign(void); @@ -2122,6 +2124,7 @@ BOOL lp_inherit_acls(int ); BOOL lp_use_client_driver(int ); BOOL lp_default_devmode(int ); BOOL lp_nt_acl_support(int ); +BOOL lp_force_unknown_acl_user(int ); int lp_create_mask(int ); int lp_force_create_mode(int ); int lp_security_mask(int ); @@ -2406,6 +2409,7 @@ void free_nt_devicemode(NT_DEVICEMODE **devmode_ptr); void get_printer_subst_params(int snum, fstring *printername, fstring *sharename, fstring *portname); WERROR mod_a_printer(NT_PRINTER_INFO_LEVEL printer, uint32 level); BOOL set_driver_init(NT_PRINTER_INFO_LEVEL *printer, uint32 level); +BOOL del_driver_init(char *drivername); uint32 update_driver_init(NT_PRINTER_INFO_LEVEL printer, uint32 level); WERROR save_driver_init(NT_PRINTER_INFO_LEVEL *printer, uint32 level, NT_PRINTER_PARAM *param); WERROR get_a_printer(NT_PRINTER_INFO_LEVEL **pp_printer, uint32 level, fstring sharename); @@ -4425,12 +4429,24 @@ int api_reply(connection_struct *conn,uint16 vuid,char *outbuf,char *data,char * /* The following definitions come from smbd/mangle.c */ -BOOL is_mangled( char *s ); -BOOL is_8_3( char *fname, BOOL check_case ); -void reset_mangled_cache( void ); -BOOL check_mangled_cache( char *s ); -void mangle_name_83( char *s); -BOOL name_map_mangle(char *OutName, BOOL need83, BOOL cache83, int snum); +void mangle_reset_cache(void); +BOOL mangle_is_mangled(const char *s); +BOOL mangle_is_8_3(const char *fname, BOOL check_case); +BOOL mangle_is_8_3_wildcards(const char *fname, BOOL check_case); +BOOL mangle_check_cache(char *s); +void mangle_map(char *OutName, BOOL need83, BOOL cache83, int snum); + +/* The following definitions come from smbd/mangle_hash2.c */ + +struct mangle_fns *mangle_hash2_init(void); + +/* The following definitions come from smbd/mangle_hash.c */ + +struct mangle_fns *mangle_hash_init(void); + +/* The following definitions come from smbd/mangle_map.c */ + +void mangle_map_filename(char *fname, int snum); /* The following definitions come from smbd/message.c */ @@ -4501,7 +4517,7 @@ BOOL check_file_sharing(connection_struct *conn,char *fname, BOOL rename_op); int32 get_number_of_exclusive_open_oplocks(void); BOOL oplock_message_waiting(fd_set *fds); -BOOL receive_local_message(fd_set *fds, char *buffer, int buffer_len, int timeout); +BOOL receive_local_message( char *buffer, int buffer_len, int timeout); BOOL set_file_oplock(files_struct *fsp, int oplock_type); void release_file_oplock(files_struct *fsp); BOOL remove_oplock(files_struct *fsp, BOOL break_to_none); @@ -4706,6 +4722,7 @@ BOOL reset_stat_cache( void ); /* The following definitions come from smbd/trans2.c */ +time_t interpret_long_unix_date(char *p); NTSTATUS set_bad_path_error(int err, BOOL bad_path); NTSTATUS set_delete_on_close_internal(files_struct *fsp, BOOL delete_on_close); int reply_findclose(connection_struct *conn, char *inbuf,char *outbuf,int length,int bufsize); diff --git a/source/include/rpc_samr.h b/source/include/rpc_samr.h index 59325ca88d4..7e515ec275b 100644 --- a/source/include/rpc_samr.h +++ b/source/include/rpc_samr.h @@ -1694,9 +1694,16 @@ typedef struct q_samr_get_dom_pwinfo /* SAMR_R_GET_DOM_PWINFO */ typedef struct r_samr_get_dom_pwinfo { - uint16 unk_0; - uint16 unk_1; - uint16 unk_2; + /* + * Previously this was 3 uint16's. However, after some tests + * it appears that the data len for the signing needs to be 16. + * Not sure how 3 unit16's ever worked since the length always + * turned out to 12. 3 uint32's + NT_STATUS == 16 bytes. Tested + * using NT and 2k. --jerry + */ + uint32 unk_0; + uint32 unk_1; + uint32 unk_2; NTSTATUS status; } SAMR_R_GET_DOM_PWINFO; diff --git a/source/include/samba_linux_quota.h b/source/include/samba_linux_quota.h new file mode 100644 index 00000000000..d5ba1199ef1 --- /dev/null +++ b/source/include/samba_linux_quota.h @@ -0,0 +1,490 @@ +#ifndef _SAMBA_LINUX_QUOTA_H_ + +/* + Unix SMB/Netbios implementation. + Version 2.x + Copyright (C) Andrew Tridgell 1994-2002 + + 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. +*/ + +/* + This file is needed because Quota support on Linux has + been broken since Linus kernel 2.4.x. It will only get + better (and this file be removed) when all the distributions + ship a glibc with a working quota.h file. This is very + bad. JRA. + + Original file came from Christoph Hellwig <hch@infradead.org>. + Massaged into one nasty include file (to stop us having to + add multiple files into Samba just for Linux braindamage) + by JRA. +*/ + +#ifndef _QUOTAIO_LINUX_V1 +#define _QUOTAIO_LINUX_V1 + +/* + * Headerfile for old quotafile format + */ + +#include <sys/types.h> + +#define V1_DQBLK_SIZE_BITS 10 +#define V1_DQBLK_SIZE (1 << V1_DQBLK_SIZE_BITS) /* Size of one quota block in bytes in old format */ + +#define V1_DQOFF(__id) ((loff_t) ((__id) * sizeof(struct v1_disk_dqblk))) + +/* Structure of quota on disk */ +struct v1_disk_dqblk { + u_int32_t dqb_bhardlimit; /* absolute limit on disk blks alloc */ + u_int32_t dqb_bsoftlimit; /* preferred limit on disk blks */ + u_int32_t dqb_curblocks; /* current block count */ + u_int32_t dqb_ihardlimit; /* maximum # allocated inodes */ + u_int32_t dqb_isoftlimit; /* preferred limit on inodes */ + u_int32_t dqb_curinodes; /* current # allocated inodes */ + time_t dqb_btime; /* time limit for excessive disk use */ + time_t dqb_itime; /* time limit for excessive files */ +} __attribute__ ((packed)); + +/* Structure used for communication with kernel */ +struct v1_kern_dqblk { + u_int32_t dqb_bhardlimit; /* absolute limit on disk blks alloc */ + u_int32_t dqb_bsoftlimit; /* preferred limit on disk blks */ + u_int32_t dqb_curblocks; /* current block count */ + u_int32_t dqb_ihardlimit; /* maximum # allocated inodes */ + u_int32_t dqb_isoftlimit; /* preferred inode limit */ + u_int32_t dqb_curinodes; /* current # allocated inodes */ + time_t dqb_btime; /* time limit for excessive disk use */ + time_t dqb_itime; /* time limit for excessive files */ +}; + +struct v1_dqstats { + u_int32_t lookups; + u_int32_t drops; + u_int32_t reads; + u_int32_t writes; + u_int32_t cache_hits; + u_int32_t allocated_dquots; + u_int32_t free_dquots; + u_int32_t syncs; +}; + +#ifndef Q_V1_GETQUOTA +#define Q_V1_GETQUOTA 0x300 +#endif + +#endif /* _QUOTAIO_LINUX_V1 */ + +/* + * + * Header file for disk format of new quotafile format + * + */ + +#ifndef _QUOTAIO_LINUX_V2 +#define _QUOTAIO_LINUX_V2 + +#include <sys/types.h> + +#ifndef _QUOTA_LINUX +#define _QUOTA_LINUX + +#include <sys/types.h> + +typedef u_int32_t qid_t; /* Type in which we store ids in memory */ +typedef u_int64_t qsize_t; /* Type in which we store size limitations */ + +#define MAXQUOTAS 2 +#define USRQUOTA 0 /* element used for user quotas */ +#define GRPQUOTA 1 /* element used for group quotas */ + +/* + * Definitions for the default names of the quotas files. + */ +#define INITQFNAMES { \ + "user", /* USRQUOTA */ \ + "group", /* GRPQUOTA */ \ + "undefined", \ +} + +/* + * Definitions of magics and versions of current quota files + */ +#define INITQMAGICS {\ + 0xd9c01f11, /* USRQUOTA */\ + 0xd9c01927 /* GRPQUOTA */\ +} + +/* Size of blocks in which are counted size limits in generic utility parts */ +#define QUOTABLOCK_BITS 10 +#define QUOTABLOCK_SIZE (1 << QUOTABLOCK_BITS) + +/* Conversion routines from and to quota blocks */ +#define qb2kb(x) ((x) << (QUOTABLOCK_BITS-10)) +#define kb2qb(x) ((x) >> (QUOTABLOCK_BITS-10)) +#define toqb(x) (((x) + QUOTABLOCK_SIZE - 1) >> QUOTABLOCK_BITS) + +/* + * Command definitions for the 'quotactl' system call. + * The commands are broken into a main command defined below + * and a subcommand that is used to convey the type of + * quota that is being manipulated (see above). + */ +#define SUBCMDMASK 0x00ff +#define SUBCMDSHIFT 8 +#define QCMD(cmd, type) (((cmd) << SUBCMDSHIFT) | ((type) & SUBCMDMASK)) + +#define Q_6_5_QUOTAON 0x0100 /* enable quotas */ +#define Q_6_5_QUOTAOFF 0x0200 /* disable quotas */ +#define Q_6_5_SYNC 0x0600 /* sync disk copy of a filesystems quotas */ + +#define Q_SYNC 0x800001 /* sync disk copy of a filesystems quotas */ +#define Q_QUOTAON 0x800002 /* turn quotas on */ +#define Q_QUOTAOFF 0x800003 /* turn quotas off */ +#define Q_GETFMT 0x800004 /* get quota format used on given filesystem */ +#define Q_GETINFO 0x800005 /* get information about quota files */ +#define Q_SETINFO 0x800006 /* set information about quota files */ +#define Q_GETQUOTA 0x800007 /* get user quota structure */ +#define Q_SETQUOTA 0x800008 /* set user quota structure */ + +/* + * Quota structure used for communication with userspace via quotactl + * Following flags are used to specify which fields are valid + */ +#define QIF_BLIMITS 1 +#define QIF_SPACE 2 +#define QIF_ILIMITS 4 +#define QIF_INODES 8 +#define QIF_BTIME 16 +#define QIF_ITIME 32 +#define QIF_LIMITS (QIF_BLIMITS | QIF_ILIMITS) +#define QIF_USAGE (QIF_SPACE | QIF_INODES) +#define QIF_TIMES (QIF_BTIME | QIF_ITIME) +#define QIF_ALL (QIF_LIMITS | QIF_USAGE | QIF_TIMES) + +struct if_dqblk { + u_int64_t dqb_bhardlimit; + u_int64_t dqb_bsoftlimit; + u_int64_t dqb_curspace; + u_int64_t dqb_ihardlimit; + u_int64_t dqb_isoftlimit; + u_int64_t dqb_curinodes; + u_int64_t dqb_btime; + u_int64_t dqb_itime; + u_int32_t dqb_valid; +}; + +/* + * Structure used for setting quota information about file via quotactl + * Following flags are used to specify which fields are valid + */ +#define IIF_BGRACE 1 +#define IIF_IGRACE 2 +#define IIF_FLAGS 4 +#define IIF_ALL (IIF_BGRACE | IIF_IGRACE | IIF_FLAGS) + +struct if_dqinfo { + u_int64_t dqi_bgrace; + u_int64_t dqi_igrace; + u_int32_t dqi_flags; + u_int32_t dqi_valid; +}; + +/* Quota format identifiers */ +#define QFMT_VFS_OLD 1 +#define QFMT_VFS_V0 2 + +/* Flags supported by kernel */ +#define V1_DQF_RSQUASH 1 + +/* Ioctl for getting quota size */ +#include <sys/ioctl.h> +#ifndef FIOQSIZE + #if defined(__alpha__) || defined(__powerpc__) || defined(__sh__) || defined(__sparc__) || defined(__sparc64__) + #define FIOQSIZE _IOR('f', 128, loff_t) + #elif defined(__arm__) || defined(__mc68000__) || defined(__s390__) + #define FIOQSIZE 0x545E + #elif defined(__i386__) || defined(__i486__) || defined(__i586__) || defined(__ia64__) || defined(__parisc__) || defined(__cris__) || defined(__hppa__) + #define FIOQSIZE 0x5460 + #elif defined(__mips__) || defined(__mips64__) + #define FIOQSIZE 0x6667 + #endif +#endif + +long quotactl __P((int, const char *, qid_t, caddr_t)); + +#endif /* _QUOTA_LINUX */ + +#define V2_DQINFOOFF sizeof(struct v2_disk_dqheader) /* Offset of info header in file */ +#define V2_DQBLKSIZE_BITS 10 +#define V2_DQBLKSIZE (1 << V2_DQBLKSIZE_BITS) /* Size of block with quota structures */ +#define V2_DQTREEOFF 1 /* Offset of tree in file in blocks */ +#define V2_DQTREEDEPTH 4 /* Depth of quota tree */ +#define V2_DQSTRINBLK ((V2_DQBLKSIZE - sizeof(struct v2_disk_dqdbheader)) / sizeof(struct v2_disk_dqblk)) /* Number of entries in one blocks */ +#define V2_GETIDINDEX(id, depth) (((id) >> ((V2_DQTREEDEPTH-(depth)-1)*8)) & 0xff) +#define V2_GETENTRIES(buf) ((struct v2_disk_dqblk *)(((char *)(buf)) + sizeof(struct v2_disk_dqdbheader))) +#define INIT_V2_VERSIONS { 0, 0} + +struct v2_disk_dqheader { + u_int32_t dqh_magic; /* Magic number identifying file */ + u_int32_t dqh_version; /* File version */ +} __attribute__ ((packed)); + +/* Flags for version specific files */ +#define V2_DQF_MASK 0x0000 /* Mask for all valid ondisk flags */ + +/* Header with type and version specific information */ +struct v2_disk_dqinfo { + u_int32_t dqi_bgrace; /* Time before block soft limit becomes hard limit */ + u_int32_t dqi_igrace; /* Time before inode soft limit becomes hard limit */ + u_int32_t dqi_flags; /* Flags for quotafile (DQF_*) */ + u_int32_t dqi_blocks; /* Number of blocks in file */ + u_int32_t dqi_free_blk; /* Number of first free block in the list */ + u_int32_t dqi_free_entry; /* Number of block with at least one free entry */ +} __attribute__ ((packed)); + +/* + * Structure of header of block with quota structures. It is padded to 16 bytes so + * there will be space for exactly 18 quota-entries in a block + */ +struct v2_disk_dqdbheader { + u_int32_t dqdh_next_free; /* Number of next block with free entry */ + u_int32_t dqdh_prev_free; /* Number of previous block with free entry */ + u_int16_t dqdh_entries; /* Number of valid entries in block */ + u_int16_t dqdh_pad1; + u_int32_t dqdh_pad2; +} __attribute__ ((packed)); + +/* Structure of quota for one user on disk */ +struct v2_disk_dqblk { + u_int32_t dqb_id; /* id this quota applies to */ + u_int32_t dqb_ihardlimit; /* absolute limit on allocated inodes */ + u_int32_t dqb_isoftlimit; /* preferred inode limit */ + u_int32_t dqb_curinodes; /* current # allocated inodes */ + u_int32_t dqb_bhardlimit; /* absolute limit on disk space (in QUOTABLOCK_SIZE) */ + u_int32_t dqb_bsoftlimit; /* preferred limit on disk space (in QUOTABLOCK_SIZE) */ + u_int64_t dqb_curspace; /* current space occupied (in bytes) */ + u_int64_t dqb_btime; /* time limit for excessive disk use */ + u_int64_t dqb_itime; /* time limit for excessive inode use */ +} __attribute__ ((packed)); + +/* Structure of quota for communication with kernel */ +struct v2_kern_dqblk { + unsigned int dqb_ihardlimit; + unsigned int dqb_isoftlimit; + unsigned int dqb_curinodes; + unsigned int dqb_bhardlimit; + unsigned int dqb_bsoftlimit; + qsize_t dqb_curspace; + time_t dqb_btime; + time_t dqb_itime; +}; + +/* Structure of quotafile info for communication with kernel */ +struct v2_kern_dqinfo { + unsigned int dqi_bgrace; + unsigned int dqi_igrace; + unsigned int dqi_flags; + unsigned int dqi_blocks; + unsigned int dqi_free_blk; + unsigned int dqi_free_entry; +}; + +/* Structure with gathered statistics from kernel */ +struct v2_dqstats { + u_int32_t lookups; + u_int32_t drops; + u_int32_t reads; + u_int32_t writes; + u_int32_t cache_hits; + u_int32_t allocated_dquots; + u_int32_t free_dquots; + u_int32_t syncs; + u_int32_t version; +}; + +#ifndef Q_V2_GETQUOTA +#define Q_V2_GETQUOTA 0x0D00 +#endif + +#endif /* _QUOTAIO_LINUX_V2 */ + +#ifndef _QUOTAIO_LINUX_XFS +#define _QUOTAIO_LINUX_XFS + +/* + * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved. + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of version 2 of the GNU General Public License as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it would be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * Further, this software is distributed without any warranty that it is + * free of the rightful claim of any third person regarding infringement + * or the like. Any license provided herein, whether implied or + * otherwise, applies only to this software file. Patent licenses, if + * any, provided herein do not apply to combinations of this program with + * other software, or any other product whatsoever. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write the Free Software Foundation, Inc., 59 + * Temple Place - Suite 330, Boston MA 02111-1307, USA. + * + * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy, + * Mountain View, CA 94043, or: + * + * http://www.sgi.com + * + * For further information regarding this notice, see: + * + * http://oss.sgi.com/projects/GenInfo/SGIGPLNoticeExplan/ + */ + +#include <linux/types.h> + +#define XQM_CMD(cmd) ( ('X'<<8)+(cmd) ) +#define IS_XQM_CMD(cmd) ( ((int)(cmd)>>8) == 'X' ) + +/* + * Disk quota - quotactl(2) commands for XFS Quota Manager (XQM). + */ +#define Q_XQUOTAON XQM_CMD(0x1) /* enable quota accounting/enforcement */ +#define Q_XQUOTAOFF XQM_CMD(0x2) /* disable quota accounting/enforcement */ +#define Q_XGETQUOTA XQM_CMD(0x3) /* get disk limits & usage */ +#define Q_XSETQLIM XQM_CMD(0x4) /* set disk limits only */ +#define Q_XGETQSTAT XQM_CMD(0x5) /* returns fs_quota_stat_t struct */ +#define Q_XQUOTARM XQM_CMD(0x6) /* free quota files' space */ + +/* + * fs_disk_quota structure: + * + * This contains the current quota information regarding a user/proj/group. + * It is 64-bit aligned, and all the blk units are in BBs (Basic Blocks) of + * 512 bytes. + */ +#define FS_DQUOT_VERSION 1 /* fs_disk_quota.d_version */ +typedef struct fs_disk_quota { + u_int8_t d_version; /* version of this structure */ + u_int8_t d_flags; /* XFS_{USER,PROJ,GROUP}_QUOTA */ + u_int16_t d_fieldmask; /* field specifier */ + u_int32_t d_id; /* user, project, or group ID */ + u_int64_t d_blk_hardlimit; /* absolute limit on disk blks */ + u_int64_t d_blk_softlimit; /* preferred limit on disk blks */ + u_int64_t d_ino_hardlimit; /* maximum # allocated inodes */ + u_int64_t d_ino_softlimit; /* preferred inode limit */ + u_int64_t d_bcount; /* # disk blocks owned by the user */ + u_int64_t d_icount; /* # inodes owned by the user */ + int32_t d_itimer; /* zero if within inode limits */ + /* if not, we refuse service */ + int32_t d_btimer; /* similar to above; for disk blocks */ + u_int16_t d_iwarns; /* # warnings issued wrt num inodes */ + u_int16_t d_bwarns; /* # warnings issued wrt disk blocks */ + int32_t d_padding2; /* padding2 - for future use */ + u_int64_t d_rtb_hardlimit; /* absolute limit on realtime blks */ + u_int64_t d_rtb_softlimit; /* preferred limit on RT disk blks */ + u_int64_t d_rtbcount; /* # realtime blocks owned */ + int32_t d_rtbtimer; /* similar to above; for RT disk blks */ + u_int16_t d_rtbwarns; /* # warnings issued wrt RT disk blks */ + int16_t d_padding3; /* padding3 - for future use */ + char d_padding4[8]; /* yet more padding */ +} fs_disk_quota_t; + +/* + * These fields are sent to Q_XSETQLIM to specify fields that need to change. + */ +#define FS_DQ_ISOFT (1<<0) +#define FS_DQ_IHARD (1<<1) +#define FS_DQ_BSOFT (1<<2) +#define FS_DQ_BHARD (1<<3) +#define FS_DQ_RTBSOFT (1<<4) +#define FS_DQ_RTBHARD (1<<5) +#define FS_DQ_LIMIT_MASK (FS_DQ_ISOFT | FS_DQ_IHARD | FS_DQ_BSOFT | \ + FS_DQ_BHARD | FS_DQ_RTBSOFT | FS_DQ_RTBHARD) +/* + * These timers can only be set in super user's dquot. For others, timers are + * automatically started and stopped. Superusers timer values set the limits + * for the rest. In case these values are zero, the DQ_{F,B}TIMELIMIT values + * defined below are used. + * These values also apply only to the d_fieldmask field for Q_XSETQLIM. + */ +#define FS_DQ_BTIMER (1<<6) +#define FS_DQ_ITIMER (1<<7) +#define FS_DQ_RTBTIMER (1<<8) +#define FS_DQ_TIMER_MASK (FS_DQ_BTIMER | FS_DQ_ITIMER | FS_DQ_RTBTIMER) + +/* + * The following constants define the default amount of time given a user + * before the soft limits are treated as hard limits (usually resulting + * in an allocation failure). These may be modified by the quotactl(2) + * system call with the Q_XSETQLIM command. + */ +#define DQ_FTIMELIMIT (7 * 24*60*60) /* 1 week */ +#define DQ_BTIMELIMIT (7 * 24*60*60) /* 1 week */ + +/* + * Various flags related to quotactl(2). Only relevant to XFS filesystems. + */ +#define XFS_QUOTA_UDQ_ACCT (1<<0) /* user quota accounting */ +#define XFS_QUOTA_UDQ_ENFD (1<<1) /* user quota limits enforcement */ +#define XFS_QUOTA_GDQ_ACCT (1<<2) /* group quota accounting */ +#define XFS_QUOTA_GDQ_ENFD (1<<3) /* group quota limits enforcement */ + +#define XFS_USER_QUOTA (1<<0) /* user quota type */ +#define XFS_PROJ_QUOTA (1<<1) /* (IRIX) project quota type */ +#define XFS_GROUP_QUOTA (1<<2) /* group quota type */ + +/* + * fs_quota_stat is the struct returned in Q_XGETQSTAT for a given file system. + * Provides a centralized way to get meta infomation about the quota subsystem. + * eg. space taken up for user and group quotas, number of dquots currently + * incore. + */ +#define FS_QSTAT_VERSION 1 /* fs_quota_stat.qs_version */ + +/* + * Some basic infomation about 'quota files'. + */ +typedef struct fs_qfilestat { + u_int64_t qfs_ino; /* inode number */ + u_int64_t qfs_nblks; /* number of BBs 512-byte-blks */ + u_int32_t qfs_nextents; /* number of extents */ +} fs_qfilestat_t; + +typedef struct fs_quota_stat { + u_int8_t qs_version; /* version number for future changes */ + u_int16_t qs_flags; /* XFS_QUOTA_{U,P,G}DQ_{ACCT,ENFD} */ + u_int8_t qs_pad; /* unused */ + fs_qfilestat_t qs_uquota; /* user quota storage information */ + fs_qfilestat_t qs_gquota; /* group quota storage information */ + u_int32_t qs_incoredqs; /* number of dquots incore */ + int32_t qs_btimelimit; /* limit for blks timer */ + int32_t qs_itimelimit; /* limit for inodes timer */ + int32_t qs_rtbtimelimit; /* limit for rt blks timer */ + u_int16_t qs_bwarnlimit; /* limit for num warnings */ + u_int16_t qs_iwarnlimit; /* limit for num warnings */ +} fs_quota_stat_t; + +#endif /* _QUOTAIO_LINUX_XFS */ + +#ifndef QUOTABLOCK_SIZE +#define QUOTABLOCK_SIZE 1024 +#endif + +#endif /* _SAMBA_LINUX_QUOTA_H_ */ diff --git a/source/include/smb.h b/source/include/smb.h index 2b4d4fa690e..ed5230a8d69 100644 --- a/source/include/smb.h +++ b/source/include/smb.h @@ -199,6 +199,15 @@ typedef struct nttime_info } NTTIME; +#ifndef TIME_T_MIN +#define TIME_T_MIN ((time_t)0 < (time_t) -1 ? (time_t) 0 \ + : ~ (time_t) 0 << (sizeof (time_t) * CHAR_BIT - 1)) +#endif +#ifndef TIME_T_MAX +#define TIME_T_MAX (~ (time_t) 0 - TIME_T_MIN) +#endif + + /* the following rather strange looking definitions of NTSTATUS and WERROR and there in order to catch common coding errors where different error types are mixed up. This is especially important as we slowly convert Samba @@ -649,13 +658,14 @@ typedef struct sam_passwd * Flags for local user manipulation. */ -#define LOCAL_ADD_USER 0x1 -#define LOCAL_DELETE_USER 0x2 -#define LOCAL_DISABLE_USER 0x4 -#define LOCAL_ENABLE_USER 0x8 -#define LOCAL_TRUST_ACCOUNT 0x10 -#define LOCAL_SET_NO_PASSWORD 0x20 +#define LOCAL_ADD_USER 0x01 +#define LOCAL_DELETE_USER 0x02 +#define LOCAL_DISABLE_USER 0x04 +#define LOCAL_ENABLE_USER 0x08 +#define LOCAL_TRUST_ACCOUNT 0x10 +#define LOCAL_SET_NO_PASSWORD 0x20 #define LOCAL_SET_LDAP_ADMIN_PW 0x40 +#define LOCAL_GET_DOM_SID 0x80 /* key and data in the connections database - used in smbstatus and smbd */ struct connections_key { diff --git a/source/include/trans2.h b/source/include/trans2.h index 2e086510e6e..6b381d6c2ce 100644 --- a/source/include/trans2.h +++ b/source/include/trans2.h @@ -337,6 +337,13 @@ Byte offset Type name description #define SMB_UID_NO_CHANGE 0xFFFFFFFF #define SMB_GID_NO_CHANGE 0xFFFFFFFF +#define SMB_SIZE_NO_CHANGE_LO 0xFFFFFFFF +#define SMB_SIZE_NO_CHANGE_HI 0xFFFFFFFF + +#define SMB_TIME_NO_CHANGE_LO 0xFFFFFFFF +#define SMB_TIME_NO_CHANGE_HI 0xFFFFFFFF + + /* Offset Size Name 0 LARGE_INTEGER EndOfFile File size diff --git a/source/include/version.h b/source/include/version.h index d97a9a60b13..192beaa286e 100644 --- a/source/include/version.h +++ b/source/include/version.h @@ -1 +1 @@ -#define VERSION "2.2.4" +#define VERSION "2.2.5-pre1" diff --git a/source/lib/access.c b/source/lib/access.c index 73b4d57e706..8bf3ba19337 100644 --- a/source/lib/access.c +++ b/source/lib/access.c @@ -33,7 +33,7 @@ static int masked_match(char *tok, char *slash, char *s) if (strlen(slash + 1) > 2) { mask = interpret_addr(slash + 1); } else { - mask = (uint32)((ALLONES >> atoi(slash + 1)) ^ ALLONES); + mask = (uint32)((ALLONES << atoi(slash + 1)) ^ ALLONES); } if (net == INADDR_NONE || mask == INADDR_NONE) { diff --git a/source/lib/charcnv.c b/source/lib/charcnv.c index 2affa6a9e06..a4f90a5a10f 100644 --- a/source/lib/charcnv.c +++ b/source/lib/charcnv.c @@ -20,7 +20,8 @@ */ #include "includes.h" -#define CTRLZ 26 +#define CTRLZ 26 +#define SPC 32 static char cvtbuf[sizeof(pstring)]; @@ -58,8 +59,15 @@ static void setupmaps(void) /* Do not map undefined characters to some accidental code */ for (i = 128; i < 256; i++) { +#if 0 /* JERRY */ + /* Win2k & XP don't like the Ctrl-Z apparently */ + /* patch from Toomas.Soome@microlink.ee */ unix2dos[i] = CTRLZ; dos2unix[i] = CTRLZ; +#else + unix2dos[i] = SPC; + dos2unix[i] = SPC; +#endif } } @@ -400,6 +408,8 @@ char *unix2dos_format_static(const char *str) if (!mapsinited) initmaps(); + if (!str) + return NULL; for (p = str, dp = cvtbuf;*p && (dp - cvtbuf < sizeof(cvtbuf) - 1); p++,dp++) *dp = unix2dos[(unsigned char)*p]; *dp = 0; @@ -413,6 +423,8 @@ char *unix2dos_format(char *str) if (!mapsinited) initmaps(); + if (!str) + return NULL; for (p = str; *p; p++) *p = unix2dos[(unsigned char)*p]; return str; @@ -430,6 +442,8 @@ char *dos2unix_format_static(const char *str) if (!mapsinited) initmaps(); + if (!str) + return NULL; for (p = str, dp = cvtbuf;*p && (dp - cvtbuf < sizeof(cvtbuf) - 1); p++,dp++) *dp = dos2unix[(unsigned char)*p]; *dp = 0; @@ -443,6 +457,9 @@ char *dos2unix_format(char *str) if (!mapsinited) initmaps(); + if (!str) + return NULL; + for (p = str; *p; p++) *p = dos2unix[(unsigned char)*p]; return str; diff --git a/source/lib/debug.c b/source/lib/debug.c index 3731b3656fa..347c644c2a0 100644 --- a/source/lib/debug.c +++ b/source/lib/debug.c @@ -232,13 +232,12 @@ BOOL debug_parse_levels(char *params_str) /* save current debug level */ memcpy(old_debuglevel_class, DEBUGLEVEL_CLASS, sizeof(DEBUGLEVEL_CLASS)); if (debug_parse_params(params, debuglevel_class)) - debug_message(0, getpid(), (void*)debuglevel_class, sizeof(debuglevel_class)); - memcpy(parsed_debuglevel_class, DEBUGLEVEL_CLASS, sizeof(DEBUGLEVEL_CLASS)); + memcpy(parsed_debuglevel_class, debuglevel_class, sizeof(DEBUGLEVEL_CLASS)); memcpy(DEBUGLEVEL_CLASS, old_debuglevel_class, sizeof(old_debuglevel_class)); return True; } if (debug_parse_params(params, debuglevel_class)) { - debug_message(DEBUGLEVEL, getpid(), (void*)debuglevel_class, sizeof(debuglevel_class)); + debug_message(MSG_DEBUG, getpid(), (void*)debuglevel_class, sizeof(debuglevel_class)); return True; } else return False; @@ -247,14 +246,14 @@ BOOL debug_parse_levels(char *params_str) /**************************************************************************** receive a "set debug level" message ****************************************************************************/ -void debug_message(int msg_level, pid_t src, void *buf, size_t len) +void debug_message(int msg_type, pid_t src, void *buf, size_t len) { int i; /* Set the new DEBUGLEVEL_CLASS array from the pased array */ memcpy(DEBUGLEVEL_CLASS, buf, sizeof(DEBUGLEVEL_CLASS)); - DEBUG(msg_level,("INFO: Debug class %s level = %d (pid %u from pid %u)\n", + DEBUG(1,("INFO: Debug class %s level = %d (pid %u from pid %u)\n", classname_table[DBGC_ALL], DEBUGLEVEL_CLASS[DBGC_ALL], (unsigned int)getpid(), (unsigned int)src)); diff --git a/source/lib/error.c b/source/lib/error.c index ec7efd11f4c..5fbc9a7f4fa 100644 --- a/source/lib/error.c +++ b/source/lib/error.c @@ -26,8 +26,8 @@ struct unix_error_map unix_dos_nt_errmap[] = { { EPERM, ERRDOS, ERRnoaccess, NT_STATUS_ACCESS_DENIED }, { EACCES, ERRDOS, ERRnoaccess, NT_STATUS_ACCESS_DENIED }, - { ENOENT, ERRDOS, ERRbadfile, NT_STATUS_NO_SUCH_FILE }, - { ENOTDIR, ERRDOS, ERRbadpath, NT_STATUS_NOT_A_DIRECTORY }, + { ENOENT, ERRDOS, ERRbadfile, NT_STATUS_OBJECT_NAME_NOT_FOUND }, + { ENOTDIR, ERRDOS, ERRbadpath, NT_STATUS_OBJECT_PATH_NOT_FOUND }, { EIO, ERRHRD, ERRgeneral, NT_STATUS_IO_DEVICE_ERROR }, { EBADF, ERRSRV, ERRsrverror, NT_STATUS_INVALID_HANDLE }, { EINVAL, ERRSRV, ERRsrverror, NT_STATUS_INVALID_HANDLE }, diff --git a/source/lib/interfaces.c b/source/lib/interfaces.c index e7b9efa1f0a..9e8c979aa7b 100644 --- a/source/lib/interfaces.c +++ b/source/lib/interfaces.c @@ -39,15 +39,8 @@ #include <arpa/inet.h> #include <netdb.h> #include <sys/ioctl.h> -#ifdef HAVE_SYS_TIME_H -#include <sys/time.h> -#endif #include <net/if.h> -#ifndef SIOCGIFCONF -#include <sys/sockio.h> -#endif - #ifdef AUTOCONF_TEST struct iface_struct { char name[16]; @@ -59,6 +52,16 @@ struct iface_struct { #include "interfaces.h" #endif +#ifdef HAVE_SYS_TIME_H +#include <sys/time.h> +#endif + +#ifndef SIOCGIFCONF +#ifdef HAVE_SYS_SOCKIO_H +#include <sys/sockio.h> +#endif +#endif + #ifdef HAVE_STDLIB_H #include <stdlib.h> #endif diff --git a/source/lib/kanji.c b/source/lib/kanji.c index 8a7494e6d77..940457d1681 100644 --- a/source/lib/kanji.c +++ b/source/lib/kanji.c @@ -1249,7 +1249,7 @@ static char *sj_to_hex_static(const char *from) const unsigned char *sp; unsigned char *dp; - sp = from; + sp = (const uchar *)from; dp = (unsigned char*) cvtbuf; while (*sp && (((char *)dp)- cvtbuf < sizeof(cvtbuf)-7)) { if (is_kana(*sp)) { @@ -1321,7 +1321,7 @@ static char *sj_to_cap_static(const char *from) const unsigned char *sp; unsigned char *dp; - sp = from; + sp = (const uchar *)from; dp = (unsigned char*) cvtbuf; while (*sp && (((char *)dp) - cvtbuf < sizeof(cvtbuf)-4)) { if (*sp >= 0x80) { diff --git a/source/lib/messages.c b/source/lib/messages.c index 518b7d51c1e..9d2d46e4114 100644 --- a/source/lib/messages.c +++ b/source/lib/messages.c @@ -322,8 +322,8 @@ void message_dispatch(void) received_signal = 0; while (message_recv(&msg_type, &src, &buf, &len)) { - DEBUG(10,("message_dispatch: received msg_type=%d src_pid=%d\n", - msg_type, (int) src)); + DEBUG(10,("message_dispatch: received msg_type=%d src_pid=%u\n", + msg_type, (unsigned int) src)); n_handled = 0; for (dfn = dispatch_fns; dfn; dfn = dfn->next) { if (dfn->msg_type == msg_type) { @@ -334,8 +334,8 @@ void message_dispatch(void) } if (!n_handled) { DEBUG(5,("message_dispatch: warning: no handlers registed for " - "msg_type %d in pid%d\n", - msg_type, getpid())); + "msg_type %d in pid%u\n", + msg_type, (unsigned int)getpid())); } SAFE_FREE(buf); } @@ -459,7 +459,7 @@ BOOL message_send_all(TDB_CONTEXT *conn_tdb, int msg_type, /** @} **/ -static VOLATILE sig_atomic_t gotalarm; +static SIG_ATOMIC_T gotalarm; /*************************************************************** Signal function to tell us we timed out. @@ -474,7 +474,7 @@ static void gotalarm_sig(void) lock the messaging tdb based on a string - this is used as a primitive form of mutex between smbd instances. */ -BOOL message_named_mutex(char *name, unsigned int timeout) +BOOL message_named_mutex(const char *name, unsigned int timeout) { TDB_DATA key; int ret; @@ -482,7 +482,7 @@ BOOL message_named_mutex(char *name, unsigned int timeout) if (!message_init()) return False; - key.dptr = name; + key.dptr = (char *)name; key.dsize = strlen(name)+1; if (timeout) { diff --git a/source/lib/replace.c b/source/lib/replace.c index dd50ff035e0..370b6dfebf2 100644 --- a/source/lib/replace.c +++ b/source/lib/replace.c @@ -47,7 +47,7 @@ ftruncate for operating systems that don't have it { size_t len = strlen(s); size_t ret = len; - if (bufsize <= 0) return 0; + if (bufsize == 0) return 0; if (len >= bufsize) len = bufsize-1; memcpy(d, s, len); d[len] = 0; diff --git a/source/lib/select.c b/source/lib/select.c index f70268b7ce4..efcf63becca 100644 --- a/source/lib/select.c +++ b/source/lib/select.c @@ -134,10 +134,12 @@ int sys_select_intr(int maxfd, fd_set *readfds, fd_set *writefds, fd_set *errorf { int ret; fd_set *readfds2, readfds_buf, *writefds2, writefds_buf, *errorfds2, errorfds_buf; + struct timeval tval2, *ptval; readfds2 = (readfds ? &readfds_buf : NULL); writefds2 = (writefds ? &writefds_buf : NULL); errorfds2 = (errorfds ? &errorfds_buf : NULL); + ptval = (tval ? &tval2 : NULL); do { if (readfds) @@ -146,7 +148,10 @@ int sys_select_intr(int maxfd, fd_set *readfds, fd_set *writefds, fd_set *errorf writefds_buf = *writefds; if (errorfds) errorfds_buf = *errorfds; - ret = sys_select(maxfd, readfds2, writefds2, errorfds2, tval); + if (tval) + tval2 = *tval; + + ret = sys_select(maxfd, readfds2, writefds2, errorfds2, ptval); } while (ret == -1 && errno == EINTR); if (readfds) diff --git a/source/lib/snprintf.c b/source/lib/snprintf.c index 27336261086..ebb8bf74c77 100644 --- a/source/lib/snprintf.c +++ b/source/lib/snprintf.c @@ -105,8 +105,16 @@ #define SAFE_FREE(x) do { if ((x) != NULL) {free((x)); (x)=NULL;} } while(0) #endif +#ifndef VA_COPY +#ifdef HAVE_VA_COPY +#define VA_COPY(dest, src) __va_copy(dest, src) +#else +#define VA_COPY(dest, src) (dest) = (src) +#endif +#endif + static size_t dopr(char *buffer, size_t maxlen, const char *format, - va_list args); + va_list args_in); static void fmtstr(char *buffer, size_t *currlen, size_t maxlen, char *value, int flags, int min, int max); static void fmtint(char *buffer, size_t *currlen, size_t maxlen, @@ -149,7 +157,7 @@ static void dopr_outch(char *buffer, size_t *currlen, size_t maxlen, char c); #define MAX(p,q) (((p) >= (q)) ? (p) : (q)) #endif -static size_t dopr(char *buffer, size_t maxlen, const char *format, va_list args) +static size_t dopr(char *buffer, size_t maxlen, const char *format, va_list args_in) { char ch; LLONG value; @@ -161,7 +169,10 @@ static size_t dopr(char *buffer, size_t maxlen, const char *format, va_list args int flags; int cflags; size_t currlen; + va_list args; + VA_COPY(args, args_in); + state = DP_S_DEFAULT; currlen = flags = cflags = min = 0; max = -1; @@ -793,13 +804,16 @@ static void dopr_outch(char *buffer, size_t *currlen, size_t maxlen, char c) int vasprintf(char **ptr, const char *format, va_list ap) { int ret; + va_list ap2; - ret = vsnprintf(NULL, 0, format, ap); + VA_COPY(ap2, ap); + ret = vsnprintf(NULL, 0, format, ap2); if (ret <= 0) return ret; (*ptr) = (char *)malloc(ret+1); if (!*ptr) return -1; - ret = vsnprintf(*ptr, ret+1, format, ap); + VA_COPY(ap2, ap); + ret = vsnprintf(*ptr, ret+1, format, ap2); return ret; } diff --git a/source/lib/sysacls.c b/source/lib/sysacls.c index 9ce04e596b9..21814383697 100644 --- a/source/lib/sysacls.c +++ b/source/lib/sysacls.c @@ -2937,7 +2937,7 @@ int sys_acl_set_file( const char *name, SMB_ACL_TYPE_T acltype, SMB_ACL_T theacl memcpy(acl_entry->ace_id->id_data, &user_id, sizeof(uid_t)); } - rc = chacl(name,file_acl,file_acl->acl_len); + rc = chacl((char *)name,file_acl,file_acl->acl_len); DEBUG(10,("errno is %d\n",errno)); DEBUG(10,("return code is %d\n",rc)); SAFE_FREE(file_acl); diff --git a/source/lib/talloc.c b/source/lib/talloc.c index 6ac784a9297..8c722e1ff78 100644 --- a/source/lib/talloc.c +++ b/source/lib/talloc.c @@ -307,12 +307,16 @@ char *talloc_strdup(TALLOC_CTX *t, const char *p) { int len; char *ret; + va_list ap2; - len = vsnprintf(NULL, 0, fmt, ap); + VA_COPY(ap2, ap); /* for systems were va_list is a struct */ + len = vsnprintf(NULL, 0, fmt, ap2); ret = talloc(t, len+1); - if (ret) - vsnprintf(ret, len+1, fmt, ap); + if (ret) { + VA_COPY(ap2, ap); + vsnprintf(ret, len+1, fmt, ap2); + } return ret; } @@ -345,14 +349,17 @@ char *talloc_strdup(TALLOC_CTX *t, const char *p) const char *fmt, va_list ap) { int len, s_len; + va_list ap2; + VA_COPY(ap2, ap); s_len = strlen(s); - len = vsnprintf(NULL, 0, fmt, ap); + len = vsnprintf(NULL, 0, fmt, ap2); s = talloc_realloc(t, s, s_len + len+1); if (!s) return NULL; - vsnprintf(s+s_len, len+1, fmt, ap); + VA_COPY(ap2, ap); + vsnprintf(s+s_len, len+1, fmt, ap2); return s; } diff --git a/source/lib/time.c b/source/lib/time.c index 43c8ca67dd4..aa433a769c6 100644 --- a/source/lib/time.c +++ b/source/lib/time.c @@ -33,14 +33,6 @@ int extra_time_offset = 0; #define CHAR_BIT 8 #endif -#ifndef TIME_T_MIN -#define TIME_T_MIN ((time_t)0 < (time_t) -1 ? (time_t) 0 \ - : ~ (time_t) 0 << (sizeof (time_t) * CHAR_BIT - 1)) -#endif -#ifndef TIME_T_MAX -#define TIME_T_MAX (~ (time_t) 0 - TIME_T_MIN) -#endif - /******************************************************************* External access to time_t_min and time_t_max. ********************************************************************/ @@ -414,7 +406,7 @@ void unix_to_nt_time(NTTIME *nt, time_t t) } /* this converts GMT to kludge-GMT */ - t -= LocTimeDiff(t) - get_serverzone(); + t -= TimeDiff(t) - get_serverzone(); d = (double)(t); d += TIME_FIXUP_CONSTANT; diff --git a/source/lib/util.c b/source/lib/util.c index 9ff2bba5647..b017e75dca2 100644 --- a/source/lib/util.c +++ b/source/lib/util.c @@ -119,7 +119,7 @@ BOOL in_group(gid_t group, gid_t current_gid, int ngroups, gid_t *groups) } /**************************************************************************** - Like atoi but gets the value up to the separater character. + Like atoi but gets the value up to the separator character. ****************************************************************************/ char *Atoic(char *p, int *n, char *c) @@ -1783,7 +1783,11 @@ char *smb_xstrdup(const char *s) int smb_xvasprintf(char **ptr, const char *format, va_list ap) { int n; - n = vasprintf(ptr, format, ap); + va_list ap2; + + VA_COPY(ap2, ap); + + n = vasprintf(ptr, format, ap2); if (n == -1 || ! *ptr) { smb_panic("smb_xvasprintf: out of memory"); } diff --git a/source/lib/util_sock.c b/source/lib/util_sock.c index 4b5abbb5724..dca80289e1f 100644 --- a/source/lib/util_sock.c +++ b/source/lib/util_sock.c @@ -42,7 +42,8 @@ int smb_read_error = 0; BOOL is_a_socket(int fd) { - int v,l; + int v; + socklen_t l; l = sizeof(int); return(getsockopt(fd, SOL_SOCKET, SO_TYPE, (char *)&v, &l) == 0); } @@ -99,7 +100,8 @@ smb_socket_option socket_options[] = { static void print_socket_options(int s) { - int value, vlen = 4; + int value; + socklen_t vlen = 4; smb_socket_option *p = &socket_options[0]; for (; p->name != NULL; p++) { @@ -931,7 +933,7 @@ static BOOL matchname(char *remotehost,struct in_addr addr) /* Look up the host address in the address list we just got. */ for (i = 0; hp->h_addr_list[i]; i++) { - if (memcmp(hp->h_addr_list[i], (caddr_t) & addr, sizeof(addr)) == 0) + if (memcmp(hp->h_addr_list[i], (void *) & addr, sizeof(addr)) == 0) return True; } @@ -997,7 +999,7 @@ char *get_socket_addr(int fd) { struct sockaddr sa; struct sockaddr_in *sockin = (struct sockaddr_in *) (&sa); - int length = sizeof(sa); + socklen_t length = sizeof(sa); static fstring addr_buf; fstrcpy(addr_buf,"0.0.0.0"); diff --git a/source/lib/util_str.c b/source/lib/util_str.c index a2b01a0fc7e..f44341b8dd1 100644 --- a/source/lib/util_str.c +++ b/source/lib/util_str.c @@ -1332,3 +1332,37 @@ char *binary_string(char *buf, int len) s[j] = 0; return s; } + +#ifndef HAVE_STRNLEN +/******************************************************************* + Some platforms don't have strnlen +********************************************************************/ + + size_t strnlen(const char *s, size_t n) +{ + int i; + for (i=0; s[i] && i<n; i++) + /* noop */ ; + return i; +} +#endif + +#ifndef HAVE_STRNDUP +/******************************************************************* + Some platforms don't have strndup. +********************************************************************/ + + char *strndup(const char *s, size_t n) +{ + char *ret; + + n = strnlen(s, n); + ret = malloc(n+1); + if (!ret) + return NULL; + memcpy(ret, s, n); + ret[n] = 0; + + return ret; +} +#endif diff --git a/source/lib/util_unistr.c b/source/lib/util_unistr.c index a2bd0cf4913..efad8df1ea8 100644 --- a/source/lib/util_unistr.c +++ b/source/lib/util_unistr.c @@ -310,11 +310,11 @@ void unistr_to_ascii(char *dest, const uint16 *src, int len) } /******************************************************************* - Convert a (little-endian) UNISTR2 structure to an ASCII string - Warning: this version does DOS codepage. + Convert a (little-endian) UNISTR2 structure to an ASCII string, either + DOS or UNIX codepage. ********************************************************************/ -void unistr2_to_ascii(char *dest, const UNISTR2 *str, size_t maxlen) +static void unistr2_to_mbcp(char *dest, const UNISTR2 *str, size_t maxlen, uint16 *ucs2_to_mbcp) { char *p; uint16 *src; @@ -335,7 +335,7 @@ void unistr2_to_ascii(char *dest, const UNISTR2 *str, size_t maxlen) for (p = dest; (p-dest < maxlen-3) && (src - str->buffer < str->uni_str_len) && *src; src++) { uint16 ucs2_val = SVAL(src,0); - uint16 cp_val = ucs2_to_doscp[ucs2_val]; + uint16 cp_val = ucs2_to_mbcp[ucs2_val]; if (cp_val < 256) *p++ = (char)cp_val; @@ -349,18 +349,23 @@ void unistr2_to_ascii(char *dest, const UNISTR2 *str, size_t maxlen) } /******************************************************************* - duplicate a UNISTR2 string into a null terminated char* - using a talloc context + Convert a (little-endian) UNISTR2 structure to an ASCII string + Warning: this version does DOS codepage. ********************************************************************/ -char *unistr2_tdup(TALLOC_CTX *ctx, const UNISTR2 *str) -{ - char *s; - int maxlen = (str->uni_str_len+1)*4; - if (!str->buffer) return NULL; - s = (char *)talloc(ctx, maxlen); /* convervative */ - if (!s) return NULL; - unistr2_to_ascii(s, str, maxlen); - return s; + +void unistr2_to_dos(char *dest, const UNISTR2 *str, size_t maxlen) +{ + unistr2_to_mbcp(dest, str, maxlen, ucs2_to_doscp); +} + +/******************************************************************* + Convert a (little-endian) UNISTR2 structure to an ASCII string + Warning: this version does UNIX codepage. +********************************************************************/ + +void unistr2_to_unix(char *dest, const UNISTR2 *str, size_t maxlen) +{ + unistr2_to_mbcp(dest, str, maxlen, ucs2_to_unixcp); } /******************************************************************* diff --git a/source/libsmb/cli_lsarpc.c b/source/libsmb/cli_lsarpc.c index 3234c366568..0a0c5323304 100644 --- a/source/libsmb/cli_lsarpc.c +++ b/source/libsmb/cli_lsarpc.c @@ -217,7 +217,10 @@ NTSTATUS cli_lsa_close(struct cli_state *cli, TALLOC_CTX *mem_ctx, return result; } -/** Lookup a list of sids */ +/** Lookup a list of sids */ +/******************************************************************** + Converts SIDs to names. Outgoing names are in UNIX charset. +*********************************************************************/ NTSTATUS cli_lsa_lookup_sids(struct cli_state *cli, TALLOC_CTX *mem_ctx, POLICY_HND *pol, int num_sids, DOM_SID *sids, @@ -308,8 +311,8 @@ NTSTATUS cli_lsa_lookup_sids(struct cli_state *cli, TALLOC_CTX *mem_ctx, if (dom_idx != 0xffffffff) { - unistr2_to_ascii(dom_name, &ref.ref_dom[dom_idx].uni_dom_name, sizeof(dom_name)- 1); - unistr2_to_ascii(name, &t_names.uni_name[i], sizeof(name) - 1); + unistr2_to_unix(dom_name, &ref.ref_dom[dom_idx].uni_dom_name, sizeof(dom_name)- 1); + unistr2_to_unix(name, &t_names.uni_name[i], sizeof(name) - 1); (*names)[i] = talloc_strdup(mem_ctx, name); (*domains)[i] = talloc_strdup(mem_ctx, dom_name); @@ -335,6 +338,9 @@ NTSTATUS cli_lsa_lookup_sids(struct cli_state *cli, TALLOC_CTX *mem_ctx, } /** Lookup a list of names */ +/******************************************************************** + Converts names to SIDs. Incoming names are in UNIX charset. +*********************************************************************/ NTSTATUS cli_lsa_lookup_names(struct cli_state *cli, TALLOC_CTX *mem_ctx, POLICY_HND *pol, int num_names, @@ -358,6 +364,7 @@ NTSTATUS cli_lsa_lookup_names(struct cli_state *cli, TALLOC_CTX *mem_ctx, /* Marshall data and send request */ + /* This call converts from UNIX to DOS charset then to unicode. */ init_q_lookup_names(mem_ctx, &q, pol, num_names, names); if (!lsa_io_q_lookup_names("", &q, &qbuf, 0) || @@ -488,7 +495,7 @@ NTSTATUS cli_lsa_query_info_policy(struct cli_state *cli, TALLOC_CTX *mem_ctx, case 3: if (r.dom.id3.buffer_dom_name != 0) { - unistr2_to_ascii(domain_name, + unistr2_to_unix(domain_name, &r.dom.id3. uni_domain_name, sizeof (fstring) - 1); @@ -503,7 +510,7 @@ NTSTATUS cli_lsa_query_info_policy(struct cli_state *cli, TALLOC_CTX *mem_ctx, case 5: if (r.dom.id5.buffer_dom_name != 0) { - unistr2_to_ascii(domain_name, &r.dom.id5. + unistr2_to_unix(domain_name, &r.dom.id5. uni_domain_name, sizeof (fstring) - 1); } @@ -604,7 +611,7 @@ NTSTATUS cli_lsa_enum_trust_dom(struct cli_state *cli, TALLOC_CTX *mem_ctx, for (i = 0; i < r.num_domains; i++) { fstring tmp; - unistr2_to_ascii(tmp, &r.uni_domain_name[i], + unistr2_to_unix(tmp, &r.uni_domain_name[i], sizeof(tmp) - 1); (*domain_names)[i] = talloc_strdup(mem_ctx, tmp); sid_copy(&(*domain_sids)[i], &r.domain_sid[i].sid); @@ -688,7 +695,7 @@ NTSTATUS cli_lsa_enum_privilege(struct cli_state *cli, TALLOC_CTX *mem_ctx, for (i = 0; i < r.count; i++) { fstring name; - unistr2_to_ascii( name, &r.privs[i].name, sizeof(name)-1); + unistr2_to_unix( name, &r.privs[i].name, sizeof(name)-1); (*privs_name)[i] = talloc_strdup(mem_ctx, name); @@ -745,7 +752,7 @@ NTSTATUS cli_lsa_get_dispname(struct cli_state *cli, TALLOC_CTX *mem_ctx, /* Return output parameters */ - unistr2_to_ascii(description ,&r.desc, sizeof(description)-1); + unistr2_to_unix(description ,&r.desc, sizeof(description)-1); *lang_id_desc = r.lang_id; done: diff --git a/source/libsmb/cli_netlogon.c b/source/libsmb/cli_netlogon.c index cb438de9873..560de2192ee 100644 --- a/source/libsmb/cli_netlogon.c +++ b/source/libsmb/cli_netlogon.c @@ -443,7 +443,7 @@ NTSTATUS cli_netlogon_sam_logon(struct cli_state *cli, TALLOC_CTX *mem_ctx, 0, /* param_ctrl */ 0xdead, 0xbeef, /* LUID? */ username, cli->clnt_name_slash, - cli->sess_key, lm_owf_user_pwd, + (char *)cli->sess_key, lm_owf_user_pwd, nt_owf_user_pwd); break; @@ -455,8 +455,8 @@ NTSTATUS cli_netlogon_sam_logon(struct cli_state *cli, TALLOC_CTX *mem_ctx, generate_random_buffer(chal, 8, False); - SMBencrypt(password, chal, local_lm_response); - SMBNTencrypt(password, chal, local_nt_response); + SMBencrypt((const uchar *)password, chal, local_lm_response); + SMBNTencrypt((const uchar *)password, chal, local_nt_response); init_id_info2(&ctr.auth.id2, lp_workgroup(), 0, /* param_ctrl */ diff --git a/source/libsmb/cli_samr.c b/source/libsmb/cli_samr.c index e5ddc8f7bd1..b1231c6cbd2 100644 --- a/source/libsmb/cli_samr.c +++ b/source/libsmb/cli_samr.c @@ -566,7 +566,7 @@ NTSTATUS cli_samr_enum_dom_groups(struct cli_state *cli, TALLOC_CTX *mem_ctx, (*dom_groups)[i].rid = r.sam[i].rid; if (r.sam[i].hdr_name.buffer) { - unistr2_to_ascii((*dom_groups)[i].acct_name, + unistr2_to_unix((*dom_groups)[i].acct_name, &r.uni_grp_name[name_idx], sizeof(fstring) - 1); name_idx++; @@ -644,7 +644,7 @@ NTSTATUS cli_samr_enum_als_groups(struct cli_state *cli, TALLOC_CTX *mem_ctx, (*dom_groups)[i].rid = r.sam[i].rid; if (r.sam[i].hdr_name.buffer) { - unistr2_to_ascii((*dom_groups)[i].acct_name, + unistr2_to_unix((*dom_groups)[i].acct_name, &r.uni_grp_name[name_idx], sizeof(fstring) - 1); name_idx++; @@ -937,7 +937,7 @@ NTSTATUS cli_samr_lookup_rids(struct cli_state *cli, TALLOC_CTX *mem_ctx, for (i = 0; i < r.num_names1; i++) { fstring tmp; - unistr2_to_ascii(tmp, &r.uni_name[i], sizeof(tmp) - 1); + unistr2_to_unix(tmp, &r.uni_name[i], sizeof(tmp) - 1); (*names)[i] = talloc_strdup(mem_ctx, tmp); (*name_types)[i] = r.type[i]; } diff --git a/source/libsmb/cliconnect.c b/source/libsmb/cliconnect.c index 5e1cbeca386..4e81ad99276 100644 --- a/source/libsmb/cliconnect.c +++ b/source/libsmb/cliconnect.c @@ -154,10 +154,10 @@ static BOOL cli_session_setup_guest(struct cli_state *cli) SSVAL(cli->outbuf,smb_vwv8,0); SIVAL(cli->outbuf,smb_vwv11,capabilities); p = smb_buf(cli->outbuf); - p += clistr_push(cli, p, "", -1, STR_TERMINATE); /* username */ - p += clistr_push(cli, p, "", -1, STR_TERMINATE); /* workgroup */ - p += clistr_push(cli, p, "Unix", -1, STR_TERMINATE); - p += clistr_push(cli, p, "Samba", -1, STR_TERMINATE); + p += clistr_push(cli, p, "", -1, STR_TERMINATE|STR_CONVERT); /* username */ + p += clistr_push(cli, p, "", -1, STR_TERMINATE|STR_CONVERT); /* workgroup */ + p += clistr_push(cli, p, "Unix", -1, STR_TERMINATE|STR_CONVERT); + p += clistr_push(cli, p, "Samba", -1, STR_TERMINATE|STR_CONVERT); cli_setup_bcc(cli, p); cli_send_smb(cli); @@ -194,7 +194,7 @@ static BOOL cli_session_setup_plaintext(struct cli_state *cli, char *user, int passlen; char *p; - passlen = clistr_push(cli, pword, pass, sizeof(pword), STR_TERMINATE); + passlen = clistr_push(cli, pword, pass, sizeof(pword), STR_TERMINATE|STR_CONVERT); set_message(cli->outbuf,13,0,True); SCVAL(cli->outbuf,smb_com,SMBsesssetupX); @@ -211,10 +211,10 @@ static BOOL cli_session_setup_plaintext(struct cli_state *cli, char *user, p = smb_buf(cli->outbuf); memcpy(p, pword, passlen); p += passlen; - p += clistr_push(cli, p, user, -1, STR_TERMINATE); /* username */ - p += clistr_push(cli, p, workgroup, -1, STR_TERMINATE); /* workgroup */ - p += clistr_push(cli, p, "Unix", -1, STR_TERMINATE); - p += clistr_push(cli, p, "Samba", -1, STR_TERMINATE); + p += clistr_push(cli, p, user, -1, STR_TERMINATE|STR_CONVERT); /* username */ + p += clistr_push(cli, p, workgroup, -1, STR_TERMINATE|STR_CONVERT); /* workgroup */ + p += clistr_push(cli, p, "Unix", -1, STR_TERMINATE|STR_CONVERT); + p += clistr_push(cli, p, "Samba", -1, STR_TERMINATE|STR_CONVERT); cli_setup_bcc(cli, p); cli_send_smb(cli); @@ -258,8 +258,8 @@ static BOOL cli_session_setup_nt1(struct cli_state *cli, char *user, /* non encrypted password supplied. */ passlen = 24; ntpasslen = 24; - clistr_push(cli, pword, pass, sizeof(pword), STR_TERMINATE); - clistr_push(cli, ntpword, ntpass, sizeof(ntpword), STR_TERMINATE); + clistr_push(cli, pword, pass, sizeof(pword), STR_TERMINATE|STR_CONVERT); + clistr_push(cli, ntpword, ntpass, sizeof(ntpword), STR_TERMINATE|STR_CONVERT); SMBencrypt((uchar *)pword,cli->cryptkey,(uchar *)pword); SMBNTencrypt((uchar *)ntpword,cli->cryptkey,(uchar *)ntpword); } else { @@ -285,10 +285,10 @@ static BOOL cli_session_setup_nt1(struct cli_state *cli, char *user, p = smb_buf(cli->outbuf); memcpy(p,pword,passlen); p += passlen; memcpy(p,ntpword,ntpasslen); p += ntpasslen; - p += clistr_push(cli, p, user, -1, STR_TERMINATE|STR_UPPER); - p += clistr_push(cli, p, workgroup, -1, STR_TERMINATE|STR_UPPER); - p += clistr_push(cli, p, "Unix", -1, STR_TERMINATE); - p += clistr_push(cli, p, "Samba", -1, STR_TERMINATE); + p += clistr_push(cli, p, user, -1, STR_TERMINATE|STR_UPPER|STR_CONVERT); + p += clistr_push(cli, p, workgroup, -1, STR_TERMINATE|STR_UPPER|STR_CONVERT); + p += clistr_push(cli, p, "Unix", -1, STR_TERMINATE|STR_CONVERT); + p += clistr_push(cli, p, "Samba", -1, STR_TERMINATE|STR_CONVERT); cli_setup_bcc(cli, p); cli_send_smb(cli); diff --git a/source/libsmb/clifile.c b/source/libsmb/clifile.c index ed13bf4d812..cce36613b74 100644 --- a/source/libsmb/clifile.c +++ b/source/libsmb/clifile.c @@ -42,11 +42,11 @@ static BOOL cli_link_internal(struct cli_state *cli, const char *fname_src, cons SSVAL(param,0,hard_link ? SMB_SET_FILE_UNIX_HLINK : SMB_SET_FILE_UNIX_LINK); p = ¶m[6]; - p += clistr_push(cli, p, fname_src, -1, STR_TERMINATE); + p += clistr_push(cli, p, fname_src, -1, STR_TERMINATE|STR_CONVERT); param_len = PTR_DIFF(p, param); p = data; - p += clistr_push(cli, p, fname_dst, -1, STR_TERMINATE); + p += clistr_push(cli, p, fname_dst, -1, STR_TERMINATE|STR_CONVERT); data_len = PTR_DIFF(p, data); if (!cli_send_trans(cli, SMBtrans2, @@ -77,7 +77,7 @@ static BOOL cli_link_internal(struct cli_state *cli, const char *fname_src, cons uint32 unix_perms_to_wire(mode_t perms) { - uint ret = 0; + uint32 ret = 0; ret |= ((perms & S_IXOTH) ? UNIX_X_OTH : 0); ret |= ((perms & S_IWOTH) ? UNIX_W_OTH : 0); @@ -95,7 +95,7 @@ uint32 unix_perms_to_wire(mode_t perms) ret |= ((perms & S_ISGID) ? UNIX_SET_GID : 0); #endif #ifdef S_ISUID - ret |= ((perms & S_ISVTX) ? UNIX_SET_UID : 0); + ret |= ((perms & S_ISUID) ? UNIX_SET_UID : 0); #endif return ret; } @@ -137,7 +137,7 @@ static BOOL cli_unix_chmod_chown_internal(struct cli_state *cli, const char *fna SSVAL(param,0,SMB_SET_FILE_UNIX_BASIC); p = ¶m[6]; - p += clistr_push(cli, p, fname, -1, STR_TERMINATE); + p += clistr_push(cli, p, fname, -1, STR_TERMINATE|STR_CONVERT); param_len = PTR_DIFF(p, param); SIVAL(data,40,uid); @@ -208,9 +208,9 @@ BOOL cli_rename(struct cli_state *cli, const char *fname_src, const char *fname_ p = smb_buf(cli->outbuf); *p++ = 4; - p += clistr_push(cli, p, fname_src, -1, STR_TERMINATE); + p += clistr_push(cli, p, fname_src, -1, STR_TERMINATE|STR_CONVERT); *p++ = 4; - p += clistr_push(cli, p, fname_dst, -1, STR_TERMINATE); + p += clistr_push(cli, p, fname_dst, -1, STR_TERMINATE|STR_CONVERT); cli_setup_bcc(cli, p); @@ -245,7 +245,7 @@ BOOL cli_unlink(struct cli_state *cli, const char *fname) p = smb_buf(cli->outbuf); *p++ = 4; - p += clistr_push(cli, p, fname, -1, STR_TERMINATE); + p += clistr_push(cli, p, fname, -1, STR_TERMINATE|STR_CONVERT); cli_setup_bcc(cli, p); cli_send_smb(cli); @@ -279,7 +279,7 @@ BOOL cli_mkdir(struct cli_state *cli, const char *dname) p = smb_buf(cli->outbuf); *p++ = 4; - p += clistr_push(cli, p, dname, -1, STR_TERMINATE); + p += clistr_push(cli, p, dname, -1, STR_TERMINATE|STR_CONVERT); cli_setup_bcc(cli, p); @@ -314,7 +314,7 @@ BOOL cli_rmdir(struct cli_state *cli, const char *dname) p = smb_buf(cli->outbuf); *p++ = 4; - p += clistr_push(cli, p, dname, -1, STR_TERMINATE); + p += clistr_push(cli, p, dname, -1, STR_TERMINATE|STR_CONVERT); cli_setup_bcc(cli, p); @@ -412,7 +412,7 @@ int cli_nt_create_full(struct cli_state *cli, const char *fname, uint32 DesiredA p += len; SSVAL(cli->outbuf,smb_ntcreate_NameLength, len); /* sigh. this copes with broken netapp filer behaviour */ - p += clistr_push(cli, p, "", -1, STR_TERMINATE); + p += clistr_push(cli, p, "", -1, STR_TERMINATE|STR_CONVERT); cli_setup_bcc(cli, p); @@ -501,7 +501,7 @@ int cli_open(struct cli_state *cli, const char *fname, int flags, int share_mode } p = smb_buf(cli->outbuf); - p += clistr_push(cli, p, fname, -1, STR_TERMINATE); + p += clistr_push(cli, p, fname, -1, STR_TERMINATE|STR_CONVERT); cli_setup_bcc(cli, p); @@ -872,7 +872,7 @@ BOOL cli_getatr(struct cli_state *cli, const char *fname, p = smb_buf(cli->outbuf); *p++ = 4; - p += clistr_push(cli, p, fname, -1, STR_TERMINATE); + p += clistr_push(cli, p, fname, -1, STR_TERMINATE|STR_CONVERT); cli_setup_bcc(cli, p); @@ -923,7 +923,7 @@ BOOL cli_setatr(struct cli_state *cli, const char *fname, uint16 attr, time_t t) p = smb_buf(cli->outbuf); *p++ = 4; - p += clistr_push(cli, p, fname, -1, STR_TERMINATE); + p += clistr_push(cli, p, fname, -1, STR_TERMINATE|STR_CONVERT); *p++ = 4; cli_setup_bcc(cli, p); @@ -960,7 +960,7 @@ BOOL cli_chkpath(struct cli_state *cli, const char *path) cli_setup_packet(cli); p = smb_buf(cli->outbuf); *p++ = 4; - p += clistr_push(cli, p, path2, -1, STR_TERMINATE); + p += clistr_push(cli, p, path2, -1, STR_TERMINATE|STR_CONVERT); cli_setup_bcc(cli, p); @@ -1021,7 +1021,7 @@ int cli_ctemp(struct cli_state *cli, const char *path, char **tmp_path) p = smb_buf(cli->outbuf); *p++ = 4; - p += clistr_push(cli, p, path, -1, STR_TERMINATE); + p += clistr_push(cli, p, path, -1, STR_TERMINATE|STR_CONVERT); cli_setup_bcc(cli, p); diff --git a/source/libsmb/clilist.c b/source/libsmb/clilist.c index 0c80044b68f..77ffe7b41b0 100644 --- a/source/libsmb/clilist.c +++ b/source/libsmb/clilist.c @@ -177,7 +177,7 @@ int cli_list_new(struct cli_state *cli,const char *Mask,uint16 attribute, SIVAL(param,8,0); p = param+12; p += clistr_push(cli, param+12, mask, -1, - STR_TERMINATE); + STR_TERMINATE|STR_CONVERT); } else { setup = TRANSACT2_FINDNEXT; SSVAL(param,0,ff_dir_handle); @@ -187,7 +187,7 @@ int cli_list_new(struct cli_state *cli,const char *Mask,uint16 attribute, SSVAL(param,10,8+4+2); /* continue + resume required + close on end */ p = param+12; p += clistr_push(cli, param+12, mask, -1, - STR_TERMINATE); + STR_TERMINATE|STR_CONVERT); } param_len = PTR_DIFF(p, param); @@ -369,7 +369,7 @@ int cli_list_old(struct cli_state *cli,const char *Mask,uint16 attribute, p = smb_buf(cli->outbuf); *p++ = 4; - p += clistr_push(cli, p, first?mask:"", -1, STR_TERMINATE); + p += clistr_push(cli, p, first?mask:"", -1, STR_TERMINATE|STR_CONVERT); *p++ = 5; if (first) { SSVAL(p,0,0); diff --git a/source/libsmb/clirap.c b/source/libsmb/clirap.c index 2f1423aa1a1..e0e5bc0c1f8 100644 --- a/source/libsmb/clirap.c +++ b/source/libsmb/clirap.c @@ -386,7 +386,7 @@ BOOL cli_qpathinfo(struct cli_state *cli, const char *fname, memset(p, 0, 6); SSVAL(p, 0, SMB_INFO_STANDARD); p += 6; - p += clistr_push(cli, p, fname, sizeof(pstring)-6, STR_TERMINATE ); + p += clistr_push(cli, p, fname, sizeof(pstring)-6, STR_TERMINATE|STR_CONVERT ); param_len = PTR_DIFF(p, param); @@ -462,7 +462,7 @@ BOOL cli_qpathinfo2(struct cli_state *cli, const char *fname, memset(p, 0, 6); SSVAL(p, 0, SMB_QUERY_FILE_ALL_INFO); p += 6; - p += clistr_push(cli, p, fname, sizeof(pstring)-6, STR_TERMINATE ); + p += clistr_push(cli, p, fname, sizeof(pstring)-6, STR_TERMINATE|STR_CONVERT ); param_len = PTR_DIFF(p, param); @@ -649,7 +649,7 @@ NTSTATUS cli_qpathinfo_alt_name(struct cli_state *cli, const char *fname, fstrin memset(p, 0, 6); SSVAL(p, 0, SMB_QUERY_FILE_ALT_NAME_INFO); p += 6; - p += clistr_push(cli, p, fname, sizeof(pstring)-6, STR_TERMINATE); + p += clistr_push(cli, p, fname, sizeof(pstring)-6, STR_TERMINATE|STR_CONVERT); param_len = PTR_DIFF(p, param); diff --git a/source/libsmb/clitrans.c b/source/libsmb/clitrans.c index 96c041fa3be..bd8647421b2 100644 --- a/source/libsmb/clitrans.c +++ b/source/libsmb/clitrans.c @@ -46,12 +46,12 @@ BOOL cli_send_trans(struct cli_state *cli, int trans, memset(cli->outbuf,'\0',smb_size); set_message(cli->outbuf,14+lsetup,0,True); - SCVAL(cli->outbuf,smb_com,trans); + SCVAL(cli->outbuf,smb_com,trans); SSVAL(cli->outbuf,smb_tid, cli->cnum); cli_setup_packet(cli); if (pipe_name) { - pipe_name_len = clistr_push(cli, smb_buf(cli->outbuf), pipe_name, -1, STR_TERMINATE); + pipe_name_len = clistr_push(cli, smb_buf(cli->outbuf), pipe_name, -1, STR_TERMINATE|STR_CONVERT); } outparam = smb_buf(cli->outbuf)+(trans==SMBtrans ? pipe_name_len : 3); diff --git a/source/libsmb/namequery.c b/source/libsmb/namequery.c index 24018bfb26a..09825ac6f1e 100644 --- a/source/libsmb/namequery.c +++ b/source/libsmb/namequery.c @@ -292,7 +292,7 @@ BOOL name_register(int fd, const char *name, int name_type, ****************************************************************************/ struct in_addr *name_query(int fd,const char *name,int name_type, BOOL bcast,BOOL recurse, - struct in_addr to_ip, int *count) + struct in_addr to_ip, int *count, int *flags) { BOOL found=False; int i, retries = 3; @@ -305,6 +305,7 @@ struct in_addr *name_query(int fd,const char *name,int name_type, memset((char *)&p,'\0',sizeof(p)); (*count) = 0; + (*flags) = 0; nmb->header.name_trn_id = generate_trn_id(); nmb->header.opcode = 0; @@ -428,6 +429,19 @@ struct in_addr *name_query(int fd,const char *name,int name_type, found=True; retries=0; + /* We add the flags back ... */ + if (nmb2->header.response) + (*flags) |= NM_FLAGS_RS; + if (nmb2->header.nm_flags.authoritative) + (*flags) |= NM_FLAGS_AA; + if (nmb2->header.nm_flags.trunc) + (*flags) |= NM_FLAGS_TC; + if (nmb2->header.nm_flags.recursion_desired) + (*flags) |= NM_FLAGS_RD; + if (nmb2->header.nm_flags.recursion_available) + (*flags) |= NM_FLAGS_RA; + if (nmb2->header.nm_flags.bcast) + (*flags) |= NM_FLAGS_B; free_packet(p2); /* @@ -655,10 +669,11 @@ BOOL name_resolve_bcast(const char *name, int name_type, */ for( i = num_interfaces-1; i >= 0; i--) { struct in_addr sendto_ip; + int flags; /* Done this way to fix compiler error on IRIX 5.x */ sendto_ip = *iface_bcast(*iface_n_ip(i)); *return_ip_list = name_query(sock, name, name_type, True, - True, sendto_ip, return_count); + True, sendto_ip, return_count, &flags); if(*return_ip_list != NULL) { close(sock); return True; @@ -715,10 +730,11 @@ static BOOL resolve_wins(const char *name, int name_type, interpret_addr(lp_socket_address()), True ); if (sock != -1) { + int flags; *return_iplist = name_query( sock, name, name_type, False, True, wins_ip, - return_count); + return_count, &flags); if(*return_iplist != NULL) { close(sock); return True; @@ -792,15 +808,17 @@ static BOOL resolve_hosts(const char *name, DEBUG(3,("resolve_hosts: Attempting host lookup for name %s<0x20>\n", name)); if (((hp = sys_gethostbyname(name)) != NULL) && (hp->h_addr != NULL)) { - struct in_addr return_ip; - putip((char *)&return_ip,(char *)hp->h_addr); - *return_iplist = (struct in_addr *)malloc(sizeof(struct in_addr)); + int i = 0, j; + while (hp->h_addr_list[i]) i++; + DEBUG(10, ("%d addresses returned\n", i)); + *return_iplist = (struct in_addr *)malloc(i*sizeof(struct in_addr)); if(*return_iplist == NULL) { DEBUG(3,("resolve_hosts: malloc fail !\n")); return False; } - **return_iplist = return_ip; - *return_count = 1; + for (j = 0; j < i; j++) + putip(&(*return_iplist)[j], (char *)hp->h_addr_list[j]); + *return_count = i; return True; } return False; @@ -973,6 +991,15 @@ BOOL resolve_name(const char *name, struct in_addr *return_ip, int name_type) return False; } +/************************************************************************** + Resolve a name to a list of addresses +**************************************************************************/ +BOOL resolve_name_2(const char *name, struct in_addr **return_ip, int *count, int name_type) +{ + + return internal_resolve_name(name, name_type, return_ip, count); + +} /******************************************************** resolve a name of format \\server_name or \\ipaddress @@ -1267,7 +1294,7 @@ BOOL get_dc_list(BOOL pdc_only, const char *group, struct in_addr **ip_list, int char *p; char *pserver = lp_passwordserver(); fstring name; - int num_adresses = 0; + int num_addresses = 0; struct in_addr *return_iplist = NULL; if (! *pserver) @@ -1284,12 +1311,12 @@ BOOL get_dc_list(BOOL pdc_only, const char *group, struct in_addr **ip_list, int return True; return internal_resolve_name(group, 0x1B, ip_list, count); } - num_adresses++; + num_addresses++; } - if (num_adresses == 0) + if (num_addresses == 0) return internal_resolve_name(group, name_type, ip_list, count); - return_iplist = (struct in_addr *)malloc(num_adresses * sizeof(struct in_addr)); + return_iplist = (struct in_addr *)malloc(num_addresses * sizeof(struct in_addr)); if(return_iplist == NULL) { DEBUG(3,("get_dc_list: malloc fail !\n")); return False; @@ -1297,10 +1324,22 @@ BOOL get_dc_list(BOOL pdc_only, const char *group, struct in_addr **ip_list, int p = pserver; *count = 0; while (next_token(&p,name,LIST_SEP,sizeof(name))) { - struct in_addr name_ip; - if (resolve_name( name, &name_ip, 0x20) == False) + struct in_addr *more_ip, *tmp; + int count_more; + if (resolve_name_2( name, &more_ip, &count_more, 0x20) == False) continue; - return_iplist[(*count)++] = name_ip; + tmp = (struct in_addr *)realloc(return_iplist,(num_addresses + count_more) * sizeof(struct in_addr)); + if (return_iplist == NULL) { + DEBUG(3, ("realloc failed with %d addresses\n", num_addresses + count_more)); + SAFE_FREE(return_iplist); + SAFE_FREE(more_ip); + return False; + } + return_iplist = tmp; + memmove(&return_iplist[(*count)], more_ip, count_more * sizeof(struct in_addr)); + SAFE_FREE(more_ip); /* Done with this ... */ + *count += count_more; + num_addresses += count_more - 1; } *ip_list = return_iplist; return (*count != 0); diff --git a/source/libsmb/nmblib.c b/source/libsmb/nmblib.c index 54f34cc233a..95d124c0208 100644 --- a/source/libsmb/nmblib.c +++ b/source/libsmb/nmblib.c @@ -1119,7 +1119,11 @@ char *dns_to_netbios_name(char *dns_name) netbios name up to and including the '.' this even applies, by mistake, to workgroup (domain) names, which is _really_ daft. */ - for (i = 15; i >= 0; i--) + /* + * We need to go up, not down, to avoid netbios names like + * fred.xyz being produced from fred.xyz.someco.com. + */ + for (i = 0; i < 15; i++) { if (netbios_name[i] == '.') { diff --git a/source/libsmb/smbencrypt.c b/source/libsmb/smbencrypt.c index c87ff61fdfc..9d862444e0e 100644 --- a/source/libsmb/smbencrypt.c +++ b/source/libsmb/smbencrypt.c @@ -59,7 +59,7 @@ void E_md4hash(const uchar *passwd, uchar *p16) int16 wpwd[129]; /* Password cannot be longer than 128 characters */ - len = strlen(passwd); + len = strlen((const char *)passwd); if(len > 128) len = 128; /* Password must be converted to NT unicode - null terminated. */ diff --git a/source/locking/locking.c b/source/locking/locking.c index 90ef61ddf51..21f6bb7cf27 100644 --- a/source/locking/locking.c +++ b/source/locking/locking.c @@ -743,6 +743,7 @@ static BOOL mod_share_mode( SMB_DEV_T dev, SMB_INO_T inode, share_mode_entry *en int i; share_mode_entry *shares; BOOL need_store=False; + BOOL ret = True; /* read in the existing share modes */ dbuf = tdb_fetch(tdb, locking_key(dev, inode)); @@ -764,15 +765,15 @@ static BOOL mod_share_mode( SMB_DEV_T dev, SMB_INO_T inode, share_mode_entry *en if (need_store) { if (data->u.num_share_mode_entries == 0) { if (tdb_delete(tdb, locking_key(dev, inode)) == -1) - need_store = False; + ret = False; } else { if (tdb_store(tdb, locking_key(dev, inode), dbuf, TDB_REPLACE) == -1) - need_store = False; + ret = False; } } SAFE_FREE(dbuf.dptr); - return need_store; + return ret; } /******************************************************************* diff --git a/source/msdfs/msdfs.c b/source/msdfs/msdfs.c index 97f3a7b2092..5220f38ab8d 100644 --- a/source/msdfs/msdfs.c +++ b/source/msdfs/msdfs.c @@ -84,9 +84,11 @@ static BOOL parse_dfs_path(char* pathname, struct dfs_path* pdp) static BOOL create_conn_struct( connection_struct *conn, int snum) { + ZERO_STRUCTP(conn); conn->service = snum; conn->connectpath = lp_pathname(snum); + pstring_sub(conn->connectpath, "%S", lp_servicename(snum)); if (!smbd_vfs_init(conn)) { DEBUG(0,("create_conn_struct: smbd_vfs_init failed.\n")); @@ -366,8 +368,10 @@ BOOL get_referred_path(char *pathname, struct junction_map* jn, /* Verify the share is a dfs root */ snum = lp_servicenumber(jn->service_name); - if(snum < 0) - return False; + if(snum < 0) { + if ((snum = find_service(jn->service_name)) < 0) + return False; + } if (!create_conn_struct(conn, snum)) return False; diff --git a/source/nmbd/nmbd.c b/source/nmbd/nmbd.c index 52f9d6d9f03..122bd8ba42a 100644 --- a/source/nmbd/nmbd.c +++ b/source/nmbd/nmbd.c @@ -77,7 +77,7 @@ static void terminate(void) Catch a SIGTERM signal. **************************************************************************** */ -static VOLATILE sig_atomic_t got_sig_term; +static SIG_ATOMIC_T got_sig_term; static void sig_term(int sig) { @@ -89,7 +89,7 @@ static void sig_term(int sig) Catch a SIGHUP signal. **************************************************************************** */ -static VOLATILE sig_atomic_t reload_after_sighup; +static SIG_ATOMIC_T reload_after_sighup; static void sig_hup(int sig) { diff --git a/source/nmbd/nmbd_namequery.c b/source/nmbd/nmbd_namequery.c index 9d2a7a48958..945058d2b2b 100644 --- a/source/nmbd/nmbd_namequery.c +++ b/source/nmbd/nmbd_namequery.c @@ -108,7 +108,7 @@ static void query_name_response( struct subnet_record *subrec, dbgtext( "Multiple (%d) responses ", rrec->num_msgs ); dbgtext( "received for a query on subnet %s ", subrec->subnet_name ); dbgtext( "for name %s.\nThis response ", nmb_namestr(question_name) ); - dbgtext( "was from IP %s, reporting", inet_ntoa(p->ip) ); + dbgtext( "was from IP %s, reporting ", inet_ntoa(p->ip) ); dbgtext( "an IP address of %s.\n", inet_ntoa(answer_ip) ); } diff --git a/source/nsswitch/hp_nss_common.h b/source/nsswitch/hp_nss_common.h index 5f39e9abb05..5bd5374182e 100644 --- a/source/nsswitch/hp_nss_common.h +++ b/source/nsswitch/hp_nss_common.h @@ -23,8 +23,12 @@ Boston, MA 02111-1307, USA. */ +#ifdef HAVE_SYNCH_H #include <synch.h> +#endif +#ifdef HAVE_PTHREAD_H #include <pthread.h> +#endif typedef enum { NSS_SUCCESS, diff --git a/source/nsswitch/nss.h b/source/nsswitch/nss.h index e021b013b50..d83a5e237ed 100644 --- a/source/nsswitch/nss.h +++ b/source/nsswitch/nss.h @@ -72,7 +72,7 @@ typedef enum #define NSD_MEM_VOLATILE 1 #define NSD_MEM_DYNAMIC 2 -#elif defined(HPUX) +#elif defined(HPUX) && defined(HAVE_NSSWITCH_H) /* HP-UX 11 */ #include "nsswitch/hp_nss_common.h" diff --git a/source/nsswitch/wb_common.c b/source/nsswitch/wb_common.c index 6a2143f8f0f..928b70d8b1b 100644 --- a/source/nsswitch/wb_common.c +++ b/source/nsswitch/wb_common.c @@ -168,7 +168,7 @@ int winbind_open_pipe_sock(void) return winbindd_fd; } -/* Write data to winbindd socket with timeout */ +/* Write data to winbindd socket */ int write_sock(void *buffer, int count) { @@ -234,7 +234,7 @@ int write_sock(void *buffer, int count) return nwritten; } -/* Read data from winbindd socket with timeout */ +/* Read data from winbindd socket */ static int read_sock(void *buffer, int count) { diff --git a/source/nsswitch/wbinfo.c b/source/nsswitch/wbinfo.c index 9803d6505f4..3b44c40ba26 100644 --- a/source/nsswitch/wbinfo.c +++ b/source/nsswitch/wbinfo.c @@ -3,7 +3,7 @@ Winbind status program. - Copyright (C) Tim Potter 2000 + Copyright (C) Tim Potter 2000-2002 Copyright (C) Andrew Bartlett 2002 This program is free software; you can redistribute it and/or modify @@ -257,11 +257,11 @@ static BOOL wbinfo_check_secret(void) if (result) { - if (response.data.num_entries == 0) + if (response.data.auth.nt_status == 0) printf("Secret is good\n"); else printf("Secret is bad\n0x%08x\n", - response.data.num_entries); + response.data.auth.nt_status); return True; } @@ -458,6 +458,8 @@ static BOOL wbinfo_auth(char *username) return result == NSS_STATUS_SUCCESS; } +#ifdef WITH_WINBIND_AUTH_CRAP + /* Authenticate a user with a challenge/response */ static BOOL wbinfo_auth_crap(char *username) @@ -512,6 +514,8 @@ static BOOL wbinfo_auth_crap(char *username) return result == NSS_STATUS_SUCCESS; } +#endif /* WITH_WINBIND_AUTH_CRAP */ + /* Print domain users */ static BOOL print_domain_users(void) @@ -593,8 +597,10 @@ static BOOL wbinfo_set_auth_user(char *username) /* Store in secrets.tdb */ - if (!secrets_store(SECRETS_AUTH_USER, username, - strlen(username) + 1) || + secrets_init(); + + if (!secrets_store(SECRETS_AUTH_USER, user, + strlen(user) + 1) || !secrets_store(SECRETS_AUTH_DOMAIN, domain, strlen(domain) + 1) || !secrets_store(SECRETS_AUTH_PASSWORD, password, @@ -625,7 +631,7 @@ static BOOL wbinfo_ping(void) static void usage(void) { printf("Usage: wbinfo -ug | -n name | -sSY sid | -UG uid/gid | -tm " - "| -a user%%password\n"); + "| -[aA] user%%password\n"); printf("\t-u\t\t\tlists all domain users\n"); printf("\t-g\t\t\tlists all domain groups\n"); printf("\t-n name\t\t\tconverts name to sid\n"); @@ -640,6 +646,7 @@ static void usage(void) printf("\t-m\t\t\tlist trusted domains\n"); printf("\t-r user\t\t\tget user groups\n"); printf("\t-a user%%password\tauthenticate user\n"); + printf("\t-A user%%password\tstore user and password used by winbindd (root only)\n"); printf("\t-p 'ping' winbindd to see if it is alive\n"); printf("\t--sequence\t\tshow sequence numbers of all domains\n"); } @@ -648,7 +655,7 @@ static void usage(void) enum { OPT_SET_AUTH_USER = 1000, - OPT_SEQUENCE, + OPT_SEQUENCE }; int main(int argc, char **argv) @@ -683,7 +690,7 @@ int main(int argc, char **argv) { "sequence", 0, POPT_ARG_NONE, 0, OPT_SEQUENCE }, { "user-groups", 'r', POPT_ARG_STRING, &string_arg, 'r' }, { "authenticate", 'a', POPT_ARG_STRING, &string_arg, 'a' }, - { "set-auth-user", 0, POPT_ARG_STRING, &string_arg, OPT_SET_AUTH_USER }, + { "set-auth-user", 'A', POPT_ARG_STRING, &string_arg, OPT_SET_AUTH_USER }, { "ping", 'p', POPT_ARG_NONE, 0, 'p' }, { 0, 0, 0, 0 } }; @@ -838,13 +845,13 @@ int main(int argc, char **argv) "plaintext password\n", string_arg); got_error = True; } - +#ifdef WITH_WINBIND_AUTH_CRAP if (!wbinfo_auth_crap(string_arg)) { printf("Could not authenticate user %s with " "challenge/response\n", string_arg); got_error = True; } - +#endif if (got_error) goto done; break; diff --git a/source/nsswitch/winbind_nss.c b/source/nsswitch/winbind_nss.c index 0a49f5ec968..c087c6c7ad9 100644 --- a/source/nsswitch/winbind_nss.c +++ b/source/nsswitch/winbind_nss.c @@ -659,6 +659,17 @@ static NSS_STATUS fill_pwent(struct passwd *result, strcpy(result->pw_shell, pw->pw_shell); + /* The struct passwd for Solaris has some extra fields which must + be initialised or nscd crashes. */ + +#if HAVE_PASSWD_PW_COMMENT + result->pw_comment = ""; +#endif + +#if HAVE_PASSWD_PW_AGE + result->pw_age = ""; +#endif + return NSS_STATUS_SUCCESS; } @@ -856,7 +867,7 @@ _nss_winbind_getpwent_r(struct passwd *result, char *buffer, } ret = fill_pwent(result, &pw_cache[ndx_pw_cache], - &buffer, &buflen); + &buffer, (int *)&buflen); /* Out of memory - try again */ @@ -906,7 +917,7 @@ _nss_winbind_getpwuid_r(uid_t uid, struct passwd *result, char *buffer, if (ret == NSS_STATUS_SUCCESS) { ret = fill_pwent(result, &response.data.pw, - &buffer, &buflen); + &buffer, (int *)&buflen); if (ret == NSS_STATUS_TRYAGAIN) { keep_response = True; @@ -919,7 +930,7 @@ _nss_winbind_getpwuid_r(uid_t uid, struct passwd *result, char *buffer, /* We've been called again */ - ret = fill_pwent(result, &response.data.pw, &buffer, &buflen); + ret = fill_pwent(result, &response.data.pw, &buffer, (int *)&buflen); if (ret == NSS_STATUS_TRYAGAIN) { keep_response = True; @@ -968,7 +979,7 @@ _nss_winbind_getpwnam_r(const char *name, struct passwd *result, char *buffer, if (ret == NSS_STATUS_SUCCESS) { ret = fill_pwent(result, &response.data.pw, &buffer, - &buflen); + (int *)&buflen); if (ret == NSS_STATUS_TRYAGAIN) { keep_response = True; @@ -981,7 +992,7 @@ _nss_winbind_getpwnam_r(const char *name, struct passwd *result, char *buffer, /* We've been called again */ - ret = fill_pwent(result, &response.data.pw, &buffer, &buflen); + ret = fill_pwent(result, &response.data.pw, &buffer, (int *)&buflen); if (ret == NSS_STATUS_TRYAGAIN) { keep_response = True; @@ -1105,7 +1116,7 @@ _nss_winbind_getgrent_r(struct group *result, ret = fill_grent(result, &gr_cache[ndx_gr_cache], ((char *)getgrent_response.extra_data)+mem_ofs, - &buffer, &buflen); + &buffer, (int *)&buflen); /* Out of memory - try again */ @@ -1165,7 +1176,7 @@ _nss_winbind_getgrnam_r(const char *name, if (ret == NSS_STATUS_SUCCESS) { ret = fill_grent(result, &response.data.gr, response.extra_data, - &buffer, &buflen); + &buffer, (int *)&buflen); if (ret == NSS_STATUS_TRYAGAIN) { keep_response = True; @@ -1179,7 +1190,7 @@ _nss_winbind_getgrnam_r(const char *name, /* We've been called again */ ret = fill_grent(result, &response.data.gr, - response.extra_data, &buffer, &buflen); + response.extra_data, &buffer, (int *)&buflen); if (ret == NSS_STATUS_TRYAGAIN) { keep_response = True; @@ -1228,7 +1239,7 @@ _nss_winbind_getgrgid_r(gid_t gid, ret = fill_grent(result, &response.data.gr, response.extra_data, - &buffer, &buflen); + &buffer, (int *)&buflen); if (ret == NSS_STATUS_TRYAGAIN) { keep_response = True; @@ -1242,7 +1253,7 @@ _nss_winbind_getgrgid_r(gid_t gid, /* We've been called again */ ret = fill_grent(result, &response.data.gr, - response.extra_data, &buffer, &buflen); + response.extra_data, &buffer, (int *)&buflen); if (ret == NSS_STATUS_TRYAGAIN) { keep_response = True; diff --git a/source/nsswitch/winbind_nss_config.h b/source/nsswitch/winbind_nss_config.h index 0de63878be5..00cd5c12e47 100644 --- a/source/nsswitch/winbind_nss_config.h +++ b/source/nsswitch/winbind_nss_config.h @@ -38,6 +38,10 @@ #include <unistd.h> #endif +#ifdef HAVE_SYS_SELECT_H +#include <sys/select.h> +#endif + #ifdef HAVE_SYS_SOCKET_H #include <sys/socket.h> #endif @@ -129,11 +133,15 @@ typedef int BOOL; #endif /* zero a structure */ +#ifndef ZERO_STRUCT #define ZERO_STRUCT(x) memset((char *)&(x), 0, sizeof(x)) +#endif /* zero a structure given a pointer to the structure */ +#ifndef ZERO_STRUCTP #define ZERO_STRUCTP(x) { if ((x) != NULL) memset((char *)(x), 0, sizeof(*(x))); } - +#endif + /* Some systems (SCO) treat UNIX domain sockets as FIFOs */ #ifndef S_IFSOCK diff --git a/source/nsswitch/winbindd.c b/source/nsswitch/winbindd.c index 666472eddbe..65361b571c4 100644 --- a/source/nsswitch/winbindd.c +++ b/source/nsswitch/winbindd.c @@ -50,14 +50,21 @@ static BOOL reload_services_file(BOOL test) snprintf(logfile, sizeof(logfile), "%s/log.winbindd", LOGFILEBASE); lp_set_logfile(logfile); - reopen_logs(); + if (!reopen_logs()) { + fprintf(stderr, "Could not open logfile: %s\n", logfile); + fprintf(stderr, "Continuing in the hope that that is OK\n"); + } ret = lp_load(servicesf,False,False,True); snprintf(logfile, sizeof(logfile), "%s/log.winbindd", LOGFILEBASE); lp_set_logfile(logfile); - reopen_logs(); + if (!reopen_logs()) { + fprintf(stderr, "Could not open logfile: %s\n", logfile); + fprintf(stderr, "Continuing in the hope that that is OK\n"); + } + load_interfaces(); return(ret); @@ -228,7 +235,9 @@ static struct dispatch_table dispatch_table[] = { /* PAM auth functions */ { WINBINDD_PAM_AUTH, winbindd_pam_auth, "PAM_AUTH" }, +#ifdef WITH_WINBIND_AUTH_CRAP { WINBINDD_PAM_AUTH_CRAP, winbindd_pam_auth_crap, "AUTH_CRAP" }, +#endif { WINBINDD_PAM_CHAUTHTOK, winbindd_pam_chauthtok, "CHAUTHTOK" }, /* Enumeration functions */ @@ -750,7 +759,10 @@ int main(int argc, char **argv) lp_set_logfile(logfile); setup_logging("winbindd", interactive); - reopen_logs(); + if (!reopen_logs()) { + fprintf(stderr, "Could not open logfile: %s\n", logfile); + fprintf(stderr, "Continuing in the hope that that is OK\n"); + } DEBUG(1, ("winbindd version %s started.\n", VERSION ) ); DEBUGADD( 1, ( "Copyright The Samba Team 2000-2001\n" ) ); @@ -760,8 +772,6 @@ int main(int argc, char **argv) exit(1); } - pidfile_create("winbindd"); - codepage_initialise(lp_client_code_page()); /* Setup names. */ @@ -777,8 +787,11 @@ int main(int argc, char **argv) fstrcpy(global_myworkgroup, lp_workgroup()); - if (!interactive) + if (!interactive) { become_daemon(); + pidfile_create("winbindd"); + } + #if HAVE_SETPGID /* @@ -791,7 +804,12 @@ int main(int argc, char **argv) load_interfaces(); - secrets_init(); + if (!secrets_init()) { + + DEBUG(0,("Could not initialize domain trust account secrets. Giving up\n")); + return 1; + + } /* Get list of domains we look up requests for. This includes the domain which we are a member of as well as any trusted diff --git a/source/nsswitch/winbindd_cache.c b/source/nsswitch/winbindd_cache.c index 3a76ba97fae..4978ced334d 100644 --- a/source/nsswitch/winbindd_cache.c +++ b/source/nsswitch/winbindd_cache.c @@ -275,7 +275,7 @@ static struct cache_entry *wcache_fetch(struct winbind_cache *cache, } centry = smb_xmalloc(sizeof(*centry)); - centry->data = data.dptr; + centry->data = (uchar *)data.dptr; centry->len = data.dsize; centry->ofs = 0; @@ -389,7 +389,7 @@ static void centry_end(struct cache_entry *centry, const char *format, ...) key.dptr = kstr; key.dsize = strlen(kstr); - data.dptr = centry->data; + data.dptr = (char *)centry->data; data.dsize = centry->ofs; tdb_store(wcache->tdb, key, data, TDB_REPLACE); @@ -410,15 +410,18 @@ static void wcache_save_name_to_sid(struct winbindd_domain *domain, NTSTATUS sta { struct cache_entry *centry; uint32 len; + fstring uname; centry = centry_start(domain, status); if (!centry) return; len = sid_size(sid); centry_expand(centry, len); centry_put_uint32(centry, type); - sid_linearize(centry->data + centry->ofs, len, sid); + sid_linearize((char *)centry->data + centry->ofs, len, sid); centry->ofs += len; - centry_end(centry, "NS/%s/%s", domain->name, name); + fstrcpy(uname, name); + strupper(uname); + centry_end(centry, "NS/%s/%s", domain->name, uname); centry_free(centry); } @@ -448,7 +451,7 @@ static void wcache_save_user(struct winbindd_domain *domain, NTSTATUS status, WI centry_put_string(centry, info->full_name); centry_put_uint32(centry, info->user_rid); centry_put_uint32(centry, info->group_rid); - centry_end(centry, "U/%s/%x", domain->name, info->user_rid); + centry_end(centry, "U/%s/%d", domain->name, info->user_rid); centry_free(centry); } @@ -597,13 +600,16 @@ static NTSTATUS name_to_sid(struct winbindd_domain *domain, struct winbind_cache *cache = get_cache(domain); struct cache_entry *centry = NULL; NTSTATUS status; + fstring uname; if (!cache->tdb) goto do_query; - centry = wcache_fetch(cache, domain, "NS/%s/%s", domain->name, name); + fstrcpy(uname, name); + strupper(uname); + centry = wcache_fetch(cache, domain, "NS/%s/%s", domain->name, uname); if (!centry) goto do_query; *type = centry_uint32(centry); - sid_parse(centry->data + centry->ofs, centry->len - centry->ofs, sid); + sid_parse((char *)centry->data + centry->ofs, centry->len - centry->ofs, sid); status = centry->status; centry_free(centry); @@ -620,6 +626,9 @@ do_query: /* and save it */ wcache_save_name_to_sid(domain, status, name, sid, *type); + /* We can't save the sid to name mapping as we don't know the + correct case of the name without looking it up */ + return status; } @@ -661,6 +670,7 @@ do_query: /* and save it */ refresh_sequence_number(domain, True); wcache_save_sid_to_name(domain, status, sid, *name, *type, rid); + wcache_save_name_to_sid(domain, status, *name, sid, *type); return status; } @@ -678,7 +688,7 @@ static NTSTATUS query_user(struct winbindd_domain *domain, if (!cache->tdb) goto do_query; - centry = wcache_fetch(cache, domain, "U/%s/%x", domain->name, user_rid); + centry = wcache_fetch(cache, domain, "U/%s/%d", domain->name, user_rid); if (!centry) goto do_query; info->acct_name = centry_string(centry, mem_ctx); @@ -719,7 +729,7 @@ static NTSTATUS lookup_usergroups(struct winbindd_domain *domain, if (!cache->tdb) goto do_query; - centry = wcache_fetch(cache, domain, "UG/%s/%x", domain->name, user_rid); + centry = wcache_fetch(cache, domain, "UG/%s/%d", domain->name, user_rid); if (!centry) goto do_query; *num_groups = centry_uint32(centry); @@ -754,7 +764,7 @@ do_query: for (i=0; i<(*num_groups); i++) { centry_put_uint32(centry, (*user_gids)[i]); } - centry_end(centry, "UG/%s/%x", domain->name, user_rid); + centry_end(centry, "UG/%s/%d", domain->name, user_rid); centry_free(centry); skip_save: @@ -775,7 +785,7 @@ static NTSTATUS lookup_groupmem(struct winbindd_domain *domain, if (!cache->tdb) goto do_query; - centry = wcache_fetch(cache, domain, "GM/%s/%x", domain->name, group_rid); + centry = wcache_fetch(cache, domain, "GM/%s/%d", domain->name, group_rid); if (!centry) goto do_query; *num_names = centry_uint32(centry); @@ -824,7 +834,7 @@ do_query: centry_put_string(centry, (*names)[i]); centry_put_uint32(centry, (*name_types)[i]); } - centry_end(centry, "GM/%s/%x", domain->name, group_rid); + centry_end(centry, "GM/%s/%d", domain->name, group_rid); centry_free(centry); skip_save: diff --git a/source/nsswitch/winbindd_misc.c b/source/nsswitch/winbindd_misc.c index 5678bdaa5af..c71776f7096 100644 --- a/source/nsswitch/winbindd_misc.c +++ b/source/nsswitch/winbindd_misc.c @@ -88,7 +88,10 @@ enum winbindd_result winbindd_check_machine_acct(struct winbindd_cli_state *stat "good" : "bad")); done: - state->response.data.num_entries = NT_STATUS_V(result); + state->response.data.auth.nt_status = NT_STATUS_V(result); + fstrcpy(state->response.data.auth.nt_status_string, get_nt_error_msg(result)); + fstrcpy(state->response.data.auth.error_string, get_nt_error_msg(result)); + /*state->response.data.auth.pam_error = nt_status_to_pam(result);*/ return WINBINDD_OK; } diff --git a/source/nsswitch/winbindd_pam.c b/source/nsswitch/winbindd_pam.c index 5adbf98789f..45aebe385d2 100644 --- a/source/nsswitch/winbindd_pam.c +++ b/source/nsswitch/winbindd_pam.c @@ -126,6 +126,7 @@ done: return NT_STATUS_IS_OK(result) ? WINBINDD_OK : WINBINDD_ERROR; } +#ifdef WITH_WINBIND_AUTH_CRAP /* Challenge Response Authentication Protocol */ enum winbindd_result winbindd_pam_auth_crap(struct winbindd_cli_state *state) @@ -217,6 +218,8 @@ done: return NT_STATUS_IS_OK(result) ? WINBINDD_OK : WINBINDD_ERROR; } +#endif /* WITH_WINBIND_AUTH_CRAP */ + /* Change a user password */ enum winbindd_result winbindd_pam_chauthtok(struct winbindd_cli_state *state) diff --git a/source/nsswitch/winbindd_rpc.c b/source/nsswitch/winbindd_rpc.c index 684ce5ac288..edf445a0ec9 100644 --- a/source/nsswitch/winbindd_rpc.c +++ b/source/nsswitch/winbindd_rpc.c @@ -23,6 +23,24 @@ #include "winbindd.h" +/******************************************************************* + Duplicate a UNISTR2 string into a UNIX codepage null terminated char* + using a talloc context +********************************************************************/ + +static char *unistr2_tdup(TALLOC_CTX *ctx, const UNISTR2 *str) +{ + char *s; + int maxlen = (str->uni_str_len+1)*4; + if (!str->buffer) + return NULL; + s = (char *)talloc(ctx, maxlen); /* convervative */ + if (!s) + return NULL; + unistr2_to_unix(s, str, maxlen); + return s; +} + /* Query display info for a domain. This returns enough information plus a bit extra to give an overview of domain users for the User Manager application. */ @@ -92,6 +110,7 @@ static NTSTATUS query_user_list(struct winbindd_domain *domain, } for (j=0;j<count;i++, j++) { + /* unistr2_tdup converts to UNIX charset. */ (*info)[i].acct_name = unistr2_tdup(mem_ctx, &info1.str[j].uni_acct_name); (*info)[i].full_name = unistr2_tdup(mem_ctx, &info1.str[j].uni_full_name); (*info)[i].user_rid = info1.sam[j].rid_user; diff --git a/source/nsswitch/winbindd_util.c b/source/nsswitch/winbindd_util.c index 06804b3b43f..90bc3479ea4 100644 --- a/source/nsswitch/winbindd_util.c +++ b/source/nsswitch/winbindd_util.c @@ -151,7 +151,7 @@ BOOL init_domain_list(void) DEBUG(1, ("getting trusted domain list\n")); - result = cache_methods.trusted_domains(domain, mem_ctx, &num_domains, + result = cache_methods.trusted_domains(domain, mem_ctx, (uint *)&num_domains, &names, &dom_sids); /* Add each domain to the trusted domain list */ diff --git a/source/nsswitch/winbindd_wins.c b/source/nsswitch/winbindd_wins.c index af624170eb4..79f88ed6c2c 100644 --- a/source/nsswitch/winbindd_wins.c +++ b/source/nsswitch/winbindd_wins.c @@ -85,7 +85,7 @@ static struct in_addr *lookup_byname_backend(const char *name, int *count) int fd; struct in_addr *ret = NULL; struct in_addr p; - int j; + int j, flags; *count = 0; @@ -95,13 +95,13 @@ static struct in_addr *lookup_byname_backend(const char *name, int *count) p = wins_srv_ip(); if( !is_zero_ip(p) ) { - ret = name_query(fd,name,0x20,False,True, p, count); + ret = name_query(fd,name,0x20,False,True, p, count, &flags); goto out; } if (lp_wins_support()) { /* we are our own WINS server */ - ret = name_query(fd,name,0x20,False,True, *interpret_addr2("127.0.0.1"), count); + ret = name_query(fd,name,0x20,False,True, *interpret_addr2("127.0.0.1"), count, &flags); goto out; } @@ -110,7 +110,7 @@ static struct in_addr *lookup_byname_backend(const char *name, int *count) j >= 0; j--) { struct in_addr *bcast = iface_n_bcast(j); - ret = name_query(fd,name,0x20,True,True,*bcast,count); + ret = name_query(fd,name,0x20,True,True,*bcast,count, &flags); if (ret) break; } diff --git a/source/nsswitch/wins.c b/source/nsswitch/wins.c index c88bd379100..d74b006bb92 100644 --- a/source/nsswitch/wins.c +++ b/source/nsswitch/wins.c @@ -118,7 +118,7 @@ static struct in_addr *lookup_byname_backend(const char *name, int *count) int fd; struct in_addr *ret = NULL; struct in_addr p; - int j; + int j, flags; if (!initialised) { nss_wins_init(); @@ -132,13 +132,13 @@ static struct in_addr *lookup_byname_backend(const char *name, int *count) p = wins_srv_ip(); if( !is_zero_ip(p) ) { - ret = name_query(fd,name,0x20,False,True, p, count); + ret = name_query(fd,name,0x20,False,True, p, count, &flags); goto out; } if (lp_wins_support()) { /* we are our own WINS server */ - ret = name_query(fd,name,0x20,False,True, *interpret_addr2("127.0.0.1"), count); + ret = name_query(fd,name,0x20,False,True, *interpret_addr2("127.0.0.1"), count, &flags); goto out; } @@ -147,7 +147,7 @@ static struct in_addr *lookup_byname_backend(const char *name, int *count) j >= 0; j--) { struct in_addr *bcast = iface_n_bcast(j); - ret = name_query(fd,name,0x20,True,True,*bcast,count); + ret = name_query(fd,name,0x20,True,True,*bcast,count, &flags); if (ret) break; } @@ -319,4 +319,21 @@ _nss_wins_gethostbyname_r(const char *name, struct hostent *he, return NSS_STATUS_SUCCESS; } + +NSS_STATUS +_nss_wins_gethostbyname2_r(const char *name, int af, struct hostent *he, + char *buffer, size_t buflen, int *errnop, + int *h_errnop) +{ + if(af!=AF_INET) { + *h_errnop = NO_DATA; + *errnop = EAFNOSUPPORT; + return NSS_STATUS_UNAVAIL; + } + + return _nss_wins_gethostbyname_r(name,he,buffer,buflen,errnop,h_errnop); +} + + + #endif diff --git a/source/pam_smbpass/general.h b/source/pam_smbpass/general.h index 0291146cbba..4de9d369631 100644 --- a/source/pam_smbpass/general.h +++ b/source/pam_smbpass/general.h @@ -11,12 +11,15 @@ #include <stdio.h> #include <stdlib.h> -#include <syslog.h> #include <unistd.h> #include <sys/types.h> #include <sys/stat.h> #include <sys/wait.h> +#ifdef HAVE_SYSLOG_H +#include <syslog.h> +#endif + /* * here is the string to inform the user that the new passwords they * typed were not the same. diff --git a/source/param/loadparm.c b/source/param/loadparm.c index 3d9f64945cc..6fb88628fcf 100644 --- a/source/param/loadparm.c +++ b/source/param/loadparm.c @@ -175,6 +175,7 @@ typedef struct char *szAddShareCommand; char *szChangeShareCommand; char *szDeleteShareCommand; + char *szManglingMethod; int max_log_size; int mangled_stack; int max_xmit; @@ -408,6 +409,7 @@ typedef struct BOOL bUseClientDriver; BOOL bDefaultDevmode; BOOL bNTAclSupport; + BOOL bForceUnknownAclUser; char dummy[3]; /* for alignment */ } @@ -527,6 +529,7 @@ static service sDefault = { False, /* bUseClientDriver */ False, /* bDefaultDevmode */ True, /* bNTAclSupport */ + False, /* bForceUnknownAclUser */ "" /* dummy */ }; @@ -655,7 +658,8 @@ static struct enum_list enum_csc_policy[] = { {CSC_POLICY_MANUAL, "manual"}, {CSC_POLICY_DOCUMENTS, "documents"}, {CSC_POLICY_PROGRAMS, "programs"}, - {CSC_POLICY_DISABLE, "disable"} + {CSC_POLICY_DISABLE, "disable"}, + {-1,NULL} }; /* @@ -779,6 +783,7 @@ static struct parm_struct parm_table[] = { {"force directory mode", P_OCTAL, P_LOCAL, &sDefault.iDir_force_mode, NULL, NULL, FLAG_GLOBAL | FLAG_SHARE}, {"directory security mask", P_OCTAL, P_LOCAL, &sDefault.iDir_Security_mask, NULL, NULL, FLAG_GLOBAL | FLAG_SHARE}, {"force directory security mode", P_OCTAL, P_LOCAL, &sDefault.iDir_Security_force_mode, NULL, NULL, FLAG_GLOBAL | FLAG_SHARE}, + {"force unknown acl user", P_OCTAL, P_LOCAL, &sDefault.bForceUnknownAclUser, NULL, NULL, FLAG_GLOBAL | FLAG_SHARE}, {"inherit permissions", P_BOOL, P_LOCAL, &sDefault.bInheritPerms, NULL, NULL, FLAG_SHARE}, {"inherit acls", P_BOOL, P_LOCAL, &sDefault.bInheritACLS, NULL, NULL, FLAG_SHARE}, {"guest only", P_BOOL, P_LOCAL, &sDefault.bGuest_only, NULL, NULL, FLAG_SHARE}, @@ -831,7 +836,7 @@ static struct parm_struct parm_table[] = { {"debug pid", P_BOOL, P_GLOBAL, &Globals.bDebugPid, NULL, NULL, 0}, {"debug uid", P_BOOL, P_GLOBAL, &Globals.bDebugUid, NULL, NULL, 0}, - {"status", P_BOOL, P_LOCAL, &sDefault.status, NULL, NULL, FLAG_GLOBAL | FLAG_SHARE | FLAG_PRINT}, + {"status", P_BOOL, P_LOCAL, &sDefault.status, NULL, NULL, FLAG_GLOBAL | FLAG_SHARE | FLAG_PRINT | FLAG_DEPRECATED}, {"Protocol Options", P_SEP, P_SEPARATOR}, @@ -919,7 +924,8 @@ static struct parm_struct parm_table[] = { {"printer driver location", P_STRING, P_LOCAL, &sDefault.szPrinterDriverLocation, NULL, NULL, FLAG_PRINT | FLAG_GLOBAL | FLAG_DEPRECATED}, {"Filename Handling", P_SEP, P_SEPARATOR}, - {"strip dot", P_BOOL, P_GLOBAL, &Globals.bStripDot, NULL, NULL, 0}, + {"strip dot", P_BOOL, P_GLOBAL, &Globals.bStripDot, NULL, NULL, FLAG_DEPRECATED }, + {"mangling method", P_STRING, P_GLOBAL, &Globals.szManglingMethod, NULL, NULL, 0}, {"character set", P_STRING, P_GLOBAL, &Globals.szCharacterSet, handle_character_set, NULL, 0}, {"mangled stack", P_INTEGER, P_GLOBAL, &Globals.mangled_stack, NULL, NULL, 0}, @@ -1256,6 +1262,10 @@ static void init_globals(void) #else string_set(&Globals.szSMBPasswdFile, SMB_PASSWD_FILE); #endif + + /* use the old 'hash' method by default */ + string_set(&Globals.szManglingMethod, "hash"); + /* * Allow the default PASSWD_CHAT to be overridden in local.h. */ @@ -1582,6 +1592,7 @@ FN_GLOBAL_INTEGER(lp_ldap_ssl, &Globals.ldap_ssl) FN_GLOBAL_STRING(lp_add_share_cmd, &Globals.szAddShareCommand) FN_GLOBAL_STRING(lp_change_share_cmd, &Globals.szChangeShareCommand) FN_GLOBAL_STRING(lp_delete_share_cmd, &Globals.szDeleteShareCommand) +FN_GLOBAL_STRING(lp_mangling_method, &Globals.szManglingMethod) #ifdef WITH_SSL FN_GLOBAL_INTEGER(lp_ssl_version, &Globals.sslVersion) @@ -1769,6 +1780,7 @@ FN_LOCAL_BOOL(lp_inherit_acls, bInheritACLS) FN_LOCAL_BOOL(lp_use_client_driver, bUseClientDriver) FN_LOCAL_BOOL(lp_default_devmode, bDefaultDevmode) FN_LOCAL_BOOL(lp_nt_acl_support, bNTAclSupport) +FN_LOCAL_BOOL(lp_force_unknown_acl_user, bForceUnknownAclUser) FN_LOCAL_INTEGER(lp_create_mask, iCreate_mask) FN_LOCAL_INTEGER(lp_force_create_mode, iCreate_force_mode) FN_LOCAL_INTEGER(lp_security_mask, iSecurity_mask) @@ -2620,54 +2632,55 @@ BOOL lp_winbind_gid(gid_t *low, gid_t *high) static BOOL handle_winbind_uid(char *pszParmValue, char **ptr) { - int low, high; + unsigned int low, high; - if (sscanf(pszParmValue, "%d-%d", &low, &high) != 2 || high < low) + if (sscanf(pszParmValue, "%u-%u", &low, &high) != 2 || high < low) return False; /* Parse OK */ string_set(ptr, pszParmValue); - winbind_uid_low = low; - winbind_uid_high = high; + winbind_uid_low = (uid_t)low; + winbind_uid_high = (uid_t)high; return True; } static BOOL handle_winbind_gid(char *pszParmValue, char **ptr) { - gid_t low, high; + unsigned int low, high; - if (sscanf(pszParmValue, "%d-%d", &low, &high) != 2 || high < low) + if (sscanf(pszParmValue, "%u-%u", &low, &high) != 2 || high < low) return False; /* Parse OK */ string_set(ptr, pszParmValue); - winbind_gid_low = low; - winbind_gid_high = high; + winbind_gid_low = (gid_t)low; + winbind_gid_high = (gid_t)high; return True; } /*************************************************************************** - Handle the WINS SERVER list + Handle the WINS SERVER list. ***************************************************************************/ -static BOOL handle_wins_server_list( char *pszParmValue, char **ptr ) - { - if( !wins_srv_load_list( pszParmValue ) ) - return( False ); /* Parse failed. */ - string_set( ptr, pszParmValue ); - return( True ); - } +static BOOL handle_wins_server_list( char *pszParmValue, char **ptr ) +{ + if( !wins_srv_load_list( pszParmValue ) ) + return( False ); /* Parse failed. */ + string_set( ptr, pszParmValue ); + return( True ); +} /*************************************************************************** - Handle the DEBUG level list + Handle the DEBUG level list. ***************************************************************************/ + static BOOL handle_debug_list( char *pszParmValueIn, char **ptr ) { pstring pszParmValue; @@ -2678,8 +2691,9 @@ static BOOL handle_debug_list( char *pszParmValueIn, char **ptr ) /*************************************************************************** -initialise a copymap + Initialise a copymap. ***************************************************************************/ + static void init_copymap(service * pservice) { int i; @@ -3834,10 +3848,12 @@ const char *get_called_name(void) /* * Windows NT/2k uses "*SMBSERVER" and XP uses "*SMBSERV" + * arrggg!!! but we've already rewritten the client's + * netbios name at this point... */ if (*local_machine) { - if (!StrCaseCmp(local_machine, "*SMBSERVER") || !StrCaseCmp(local_machine, "*SMBSERV")) { + if (!StrCaseCmp(local_machine, "_SMBSERVER") || !StrCaseCmp(local_machine, "_SMBSERV")) { fstrcpy(called_name, get_my_primary_ip()); DEBUG(8,("get_called_name: assuming that client used IP address [%s] as called name.\n", called_name)); diff --git a/source/passdb/passdb.c b/source/passdb/passdb.c index a043a355347..512735fdd8d 100644 --- a/source/passdb/passdb.c +++ b/source/passdb/passdb.c @@ -737,7 +737,7 @@ 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(pstring)); + unistr2_to_dos(string, from, sizeof(pstring)); } /************************************************************* @@ -900,7 +900,7 @@ account without a valid local system user.\n", user_name); } sam_pass = NULL; - if (!pdb_init_sam_pw(&sam_pass, pwd)) { + if (!pdb_init_sam_pw(&sam_pass, sys_getpwnam(user_name))) { return False; } @@ -1729,7 +1729,8 @@ BOOL pdb_getsampwuid (SAM_ACCOUNT* user, uid_t uid) */ if ((pw=sys_getpwuid(uid)) == NULL) { - DEBUG(0,("pdb_getsampwuid: getpwuid(%d) return NULL. User does not exist in Unix accounts!\n", uid)); + DEBUG(0,("pdb_getsampwuid: getpwuid(%u) return NULL. User does not exist in Unix accounts!\n", + (unsigned int)uid)); return False; } diff --git a/source/passdb/pdb_ldap.c b/source/passdb/pdb_ldap.c index a747ca40b1b..a214d51d14b 100644 --- a/source/passdb/pdb_ldap.c +++ b/source/passdb/pdb_ldap.c @@ -48,6 +48,10 @@ #include <lber.h> #include <ldap.h> +#ifndef LDAP_OPT_SUCCESS +#define LDAP_OPT_SUCCESS LDAP_SUCCESS +#endif + #ifndef SAM_ACCOUNT #define SAM_ACCOUNT struct sam_passwd #endif @@ -72,21 +76,40 @@ extern BOOL sam_logon_in_ssb; static BOOL ldap_open_connection (LDAP ** ldap_struct) { int port; - int version, rc; - int tls = LDAP_OPT_X_TLS_HARD; + int version; + int tls; + uid_t uid = geteuid(); + struct passwd* pass; + + DEBUG(5,("ldap_open_connection: starting...\n")); + /* + * using sys_getpwnam() here since I'm assuming that the + * ldapsam is only used on a standalone server or PDC. + * winbind not in the picture.... + */ - if (geteuid() != 0) { - DEBUG(0, ("ldap_open_connection: cannot access LDAP when not root..\n")); + if ( (pass=sys_getpwuid(uid)) == NULL ) { + DEBUG(0,("ldap_open_connection: Can't determine user of running process!\n")); return False; } - if (lp_ldap_ssl() == LDAP_SSL_ON && lp_ldap_port() == 389) { - port = 636; + /* check that the user is in the domain admin group for connecting */ + + if ( (uid != 0) && !user_in_list(pass->pw_name, lp_domain_admin_group()) ) { + DEBUG(0, ("ldap_open_connection: cannot access LDAP when not root or a member of domain admin group..\n")); + return False; } - else { - port = lp_ldap_port(); + + port = lp_ldap_port(); + + /* remap default port is no SSL */ + if ( (lp_ldap_ssl() == LDAP_SSL_OFF) && (lp_ldap_port() == 636) ) { + port = 389; } + DEBUG(10,("Initializing connection to %s on port %d\n", + lp_ldap_server(), port )); + if ((*ldap_struct = ldap_init(lp_ldap_server(), port)) == NULL) { DEBUG(0, ("The LDAP server is not responding !\n")); return False; @@ -105,6 +128,7 @@ static BOOL ldap_open_connection (LDAP ** ldap_struct) switch (lp_ldap_ssl()) { case LDAP_SSL_START_TLS: +#ifdef HAVE_LDAP_START_TLS_S if (ldap_get_option (*ldap_struct, LDAP_OPT_PROTOCOL_VERSION, &version) == LDAP_OPT_SUCCESS) { @@ -122,13 +146,25 @@ static BOOL ldap_open_connection (LDAP ** ldap_struct) return False; } DEBUG (2, ("StartTLS issued: using a TLS connection\n")); +#else + DEBUG(0,("ldap_open_connection: StartTLS not supported by LDAP client libraries!\n")); + return False; +#endif break; case LDAP_SSL_ON: +#ifdef LDAP_OPT_X_TLS + tls = LDAP_OPT_X_TLS_HARD; if (ldap_set_option (*ldap_struct, LDAP_OPT_X_TLS, &tls) != LDAP_SUCCESS) { DEBUG(0, ("Failed to setup a TLS session\n")); } + + DEBUG(0,("LDAPS option set...!\n")); +#else + DEBUG(0,("ldap_open_connection: Secure connection not supported by LDAP client libraries!\n")); + return False; +#endif break; case LDAP_SSL_OFF: @@ -188,7 +224,7 @@ static int ldap_search_one_user (LDAP * ldap_struct, const char *filter, LDAPMes 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); + rc = ldap_search_s(ldap_struct, lp_ldap_suffix (), scope, (char*)filter, NULL, 0, result); if (rc != LDAP_SUCCESS) { DEBUG(0,("ldap_search_one_user: Problem during the LDAP search: %s\n", @@ -268,17 +304,17 @@ static int ldap_search_one_user_by_rid (LDAP * ldap_struct, uint32 rid, } /******************************************************************* -search an attribute and return the first value found. + search an attribute and return the first value found. + the string in 'value' is unchanged if the attribute does not exist ******************************************************************/ + static BOOL get_single_attribute (LDAP * ldap_struct, LDAPMessage * entry, char *attribute, char *value) { char **values; if ((values = ldap_get_values (ldap_struct, entry, attribute)) == NULL) { - value = NULL; - DEBUG (2, ("get_single_attribute: [%s] = [<does not exist>]\n", attribute)); - + DEBUG (2, ("get_single_attribute: [%s] = [<does not exist>]\n", attribute)); return False; } @@ -290,10 +326,10 @@ static BOOL get_single_attribute (LDAP * ldap_struct, LDAPMessage * entry, } /************************************************************************ -Routine to manage the LDAPMod structure array -manage memory used by the array, by each struct, and values - + 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; @@ -427,23 +463,31 @@ static BOOL init_sam_from_ldap (SAM_ACCOUNT * sampass, pstrcpy(domain, lp_workgroup()); - get_single_attribute(ldap_struct, entry, "pwdLastSet", temp); - pass_last_set_time = (time_t) atol(temp); + pass_last_set_time = TIME_T_MAX; + logon_time = TIME_T_MAX; + logoff_time = TIME_T_MAX; + kickoff_time = TIME_T_MAX; + pass_can_change_time = TIME_T_MAX; + pass_must_change_time = TIME_T_MAX; + + + if (get_single_attribute(ldap_struct, entry, "pwdLastSet", temp)) + pass_last_set_time = (time_t) atol(temp); - get_single_attribute(ldap_struct, entry, "logonTime", temp); - logon_time = (time_t) atol(temp); + if (get_single_attribute(ldap_struct, entry, "logonTime", temp)) + logon_time = (time_t) atol(temp); - get_single_attribute(ldap_struct, entry, "logoffTime", temp); - logoff_time = (time_t) atol(temp); + if (get_single_attribute(ldap_struct, entry, "logoffTime", temp)) + logoff_time = (time_t) atol(temp); - get_single_attribute(ldap_struct, entry, "kickoffTime", temp); - kickoff_time = (time_t) atol(temp); + if (get_single_attribute(ldap_struct, entry, "kickoffTime", temp)) + kickoff_time = (time_t) atol(temp); - get_single_attribute(ldap_struct, entry, "pwdCanChange", temp); - pass_can_change_time = (time_t) atol(temp); + if (get_single_attribute(ldap_struct, entry, "pwdCanChange", temp)) + pass_can_change_time = (time_t) atol(temp); - get_single_attribute(ldap_struct, entry, "pwdMustChange", temp); - pass_must_change_time = (time_t) atol(temp); + if (get_single_attribute(ldap_struct, entry, "pwdMustChange", temp)) + pass_must_change_time = (time_t) atol(temp); /* recommend that 'gecos' and 'displayName' should refer to the same * attribute OID. userFullName depreciated, only used by Samba diff --git a/source/passdb/pdb_nisplus.c b/source/passdb/pdb_nisplus.c index 21be4b88fba..0bcae57c2b4 100644 --- a/source/passdb/pdb_nisplus.c +++ b/source/passdb/pdb_nisplus.c @@ -57,7 +57,7 @@ struct nisp_enum_info }; static struct nisp_enum_info global_nisp_ent; -static VOLATILE sig_atomic_t gotalarm; +static SIG_ATOMIC_T gotalarm; /*************************************************************** @@ -130,19 +130,7 @@ static char *make_nisname_from_user_rid(uint32 rid, char *pfile) { static pstring nisname; - slprintf(nisname, sizeof(nisname)-1, "[user_rid=%d]%s", rid, pfile); - - return nisname; -} - -/*************************************************************** - make_nisname_from_uid - ****************************************************************/ -static char *make_nisname_from_uid(int uid, char *pfile) -{ - static pstring nisname; - - slprintf(nisname, sizeof(nisname)-1, "[uid=%d]%s", uid, pfile); + slprintf(nisname, sizeof(nisname)-1, "[user_rid=%d],%s", rid, pfile); return nisname; } @@ -154,7 +142,7 @@ static char *make_nisname_from_name(char *user_name, char *pfile) { static pstring nisname; - slprintf(nisname, sizeof(nisname)-1, "[name=%s]%s", user_name, pfile); + slprintf(nisname, sizeof(nisname)-1, "[name=%s],%s", user_name, pfile); return nisname; } diff --git a/source/printing/nt_printing.c b/source/printing/nt_printing.c index c4c26b04be0..3311790cd2c 100644 --- a/source/printing/nt_printing.c +++ b/source/printing/nt_printing.c @@ -408,7 +408,7 @@ BOOL get_a_builtin_ntform(UNISTR2 *uni_formname,nt_forms_struct *form) { int i,count; fstring form_name; - unistr2_to_ascii(form_name, uni_formname, sizeof(form_name)-1); + unistr2_to_dos(form_name, uni_formname, sizeof(form_name)-1); DEBUGADD(6,("Looking for builtin form %s \n", form_name)); count = sizeof(default_forms) / sizeof(default_forms[0]); for (i=0;i<count;i++) { @@ -510,7 +510,7 @@ BOOL add_a_form(nt_forms_struct **list, const FORM *form, int *count) update=False; - unistr2_to_ascii(form_name, &form->name, sizeof(form_name)-1); + unistr2_to_dos(form_name, &form->name, sizeof(form_name)-1); for (n=0; n<*count; n++) { if (!strncmp((*list)[n].name, form_name, strlen(form_name))) { DEBUG(103, ("NT workaround, [%s] already exists\n", form_name)); @@ -525,7 +525,7 @@ BOOL add_a_form(nt_forms_struct **list, const FORM *form, int *count) return False; } *list = tl; - unistr2_to_ascii((*list)[n].name, &form->name, sizeof((*list)[n].name)-1); + unistr2_to_dos((*list)[n].name, &form->name, sizeof((*list)[n].name)-1); (*count)++; } @@ -552,7 +552,7 @@ BOOL delete_a_form(nt_forms_struct **list, UNISTR2 *del_name, int *count, WERROR *ret = WERR_OK; - unistr2_to_ascii(form_name, del_name, sizeof(form_name)-1); + unistr2_to_dos(form_name, del_name, sizeof(form_name)-1); for (n=0; n<*count; n++) { if (!strncmp((*list)[n].name, form_name, strlen(form_name))) { @@ -586,7 +586,7 @@ void update_a_form(nt_forms_struct **list, const FORM *form, int count) { int n=0; fstring form_name; - unistr2_to_ascii(form_name, &(form->name), sizeof(form_name)-1); + unistr2_to_dos(form_name, &(form->name), sizeof(form_name)-1); DEBUG(106, ("[%s]\n", form_name)); for (n=0; n<count; n++) @@ -3007,6 +3007,31 @@ BOOL set_driver_init(NT_PRINTER_INFO_LEVEL *printer, uint32 level) } /**************************************************************************** + Delete driver init data stored for a specified driver +****************************************************************************/ + +BOOL del_driver_init(char *drivername) +{ + pstring key; + TDB_DATA kbuf; + + if (!drivername || !*drivername) { + DEBUG(3,("del_driver_init: No drivername specified!\n")); + return False; + } + + slprintf(key, sizeof(key)-1, "%s%s", DRIVER_INIT_PREFIX, drivername); + dos_to_unix(key); /* Convert key to unix-codepage */ + + kbuf.dptr = key; + kbuf.dsize = strlen(key)+1; + + DEBUG(6,("del_driver_init: Removing driver init data for [%s]\n", drivername)); + + return (tdb_delete(tdb_drivers, kbuf) == 0); +} + +/**************************************************************************** Pack up the DEVMODE and specifics for a printer into a 'driver init' entry in the tdb. Note: this is different from the driver entry and the printer entry. There should be a single driver init entry for each driver regardless diff --git a/source/rpc_client/cli_login.c b/source/rpc_client/cli_login.c index 0492e73b7a3..be186e40a14 100644 --- a/source/rpc_client/cli_login.c +++ b/source/rpc_client/cli_login.c @@ -52,7 +52,7 @@ NTSTATUS cli_nt_setup_creds(struct cli_state *cli, unsigned char mach_pwd[16]) /**************** Long-term Session key **************/ /* calculate the session key */ - cred_session_key(&clnt_chal, &srv_chal, (char *)mach_pwd, cli->sess_key); + cred_session_key(&clnt_chal, &srv_chal, (uchar *)mach_pwd, cli->sess_key); memset((char *)cli->sess_key+8, '\0', 8); /******************* Authenticate 2 ********************/ diff --git a/source/rpc_parse/parse_lsa.c b/source/rpc_parse/parse_lsa.c index 91b54b9c836..16f0a5bde8b 100644 --- a/source/rpc_parse/parse_lsa.c +++ b/source/rpc_parse/parse_lsa.c @@ -1071,10 +1071,10 @@ void init_q_lookup_names(TALLOC_CTX *mem_ctx, LSA_Q_LOOKUP_NAMES *q_l, for (i = 0; i < num_names; i++) { int len; - len = strlen(names[i]); + len = strlen(unix_to_dos_static(names[i])); init_uni_hdr(&q_l->hdr_name[i], len); - init_unistr2(&q_l->uni_name[i], names[i], len); + init_unistr2(&q_l->uni_name[i], unix_to_dos_static(names[i]), len); } } diff --git a/source/rpc_parse/parse_samr.c b/source/rpc_parse/parse_samr.c index 7fecbfb806c..355e10a97bf 100644 --- a/source/rpc_parse/parse_samr.c +++ b/source/rpc_parse/parse_samr.c @@ -1467,9 +1467,9 @@ NTSTATUS init_sam_dispinfo_1(TALLOC_CTX *ctx, SAM_DISPINFO_1 *sam, uint32 num_en pwd=disp_user_info[i+start_idx].sam; - len_sam_name = strlen(pdb_get_username(pwd)); - len_sam_full = strlen(pdb_get_fullname(pwd)); - len_sam_desc = strlen(pdb_get_acct_desc(pwd)); + len_sam_name = strlen(unix_to_dos_static(pdb_get_username(pwd))); + len_sam_full = strlen(unix_to_dos_static(pdb_get_fullname(pwd))); + len_sam_desc = strlen(unix_to_dos_static(pdb_get_acct_desc(pwd))); init_sam_entry1(&sam->sam[i], start_idx + i + 1, len_sam_name, len_sam_full, len_sam_desc, @@ -1479,9 +1479,9 @@ NTSTATUS init_sam_dispinfo_1(TALLOC_CTX *ctx, SAM_DISPINFO_1 *sam, uint32 num_en ZERO_STRUCTP(&sam->str[i].uni_full_name); ZERO_STRUCTP(&sam->str[i].uni_acct_desc); - init_unistr2(&sam->str[i].uni_acct_name, pdb_get_username(pwd), len_sam_name); - init_unistr2(&sam->str[i].uni_full_name, pdb_get_fullname(pwd), len_sam_full); - init_unistr2(&sam->str[i].uni_acct_desc, pdb_get_acct_desc(pwd), len_sam_desc); + init_unistr2(&sam->str[i].uni_acct_name, unix_to_dos_static(pdb_get_username(pwd)), len_sam_name); + init_unistr2(&sam->str[i].uni_full_name, unix_to_dos_static(pdb_get_fullname(pwd)), len_sam_full); + init_unistr2(&sam->str[i].uni_acct_desc, unix_to_dos_static(pdb_get_acct_desc(pwd)), len_sam_desc); } return NT_STATUS_OK; @@ -1567,8 +1567,8 @@ NTSTATUS init_sam_dispinfo_2(TALLOC_CTX *ctx, SAM_DISPINFO_2 *sam, uint32 num_en DEBUG(11, ("init_sam_dispinfo_2: entry: %d\n",i)); pwd=disp_user_info[i+start_idx].sam; - len_sam_name = strlen(pdb_get_username(pwd)); - len_sam_desc = strlen(pdb_get_acct_desc(pwd)); + len_sam_name = strlen(unix_to_dos_static(pdb_get_username(pwd))); + len_sam_desc = strlen(unix_to_dos_static(pdb_get_acct_desc(pwd))); init_sam_entry2(&sam->sam[i], start_idx + i + 1, len_sam_name, len_sam_desc, @@ -1577,8 +1577,8 @@ NTSTATUS init_sam_dispinfo_2(TALLOC_CTX *ctx, SAM_DISPINFO_2 *sam, uint32 num_en ZERO_STRUCTP(&sam->str[i].uni_srv_name); ZERO_STRUCTP(&sam->str[i].uni_srv_desc); - init_unistr2(&sam->str[i].uni_srv_name, pdb_get_username(pwd), len_sam_name); - init_unistr2(&sam->str[i].uni_srv_desc, pdb_get_acct_desc(pwd), len_sam_desc); + init_unistr2(&sam->str[i].uni_srv_name, unix_to_dos_static(pdb_get_username(pwd)), len_sam_name); + init_unistr2(&sam->str[i].uni_srv_desc, unix_to_dos_static(pdb_get_acct_desc(pwd)), len_sam_desc); } return NT_STATUS_OK; @@ -1760,11 +1760,12 @@ NTSTATUS init_sam_dispinfo_4(TALLOC_CTX *ctx, SAM_DISPINFO_4 *sam, uint32 num_en DEBUG(11, ("init_sam_dispinfo_2: entry: %d\n",i)); pwd=disp_user_info[i+start_idx].sam; - len_sam_name = strlen(pdb_get_username(pwd)); + len_sam_name = strlen(unix_to_dos_static(pdb_get_username(pwd))); init_sam_entry4(&sam->sam[i], start_idx + i + 1, len_sam_name); - init_string2(&sam->str[i].acct_name, pdb_get_username(pwd), len_sam_name+1, len_sam_name); + init_string2(&sam->str[i].acct_name, unix_to_dos_static(pdb_get_username(pwd)), + len_sam_name+1, len_sam_name); } return NT_STATUS_OK; @@ -5846,16 +5847,16 @@ void init_sam_user_info21A(SAM_USER_INFO_21 *usr, SAM_ACCOUNT *pw) const char* workstations = pdb_get_workstations(pw); const char* munged_dial = pdb_get_munged_dial(pw); - len_user_name = user_name != NULL ? strlen(user_name )+1 : 0; - len_full_name = full_name != NULL ? strlen(full_name )+1 : 0; - len_home_dir = home_dir != NULL ? strlen(home_dir )+1 : 0; - len_dir_drive = dir_drive != NULL ? strlen(dir_drive )+1 : 0; - len_logon_script = logon_script != NULL ? strlen(logon_script)+1 : 0; - len_profile_path = profile_path != NULL ? strlen(profile_path)+1 : 0; - len_description = description != NULL ? strlen(description )+1 : 0; - len_workstations = workstations != NULL ? strlen(workstations)+1 : 0; + len_user_name = user_name != NULL ? strlen(unix_to_dos_static(user_name))+1 : 0; + len_full_name = full_name != NULL ? strlen(unix_to_dos_static(full_name))+1 : 0; + len_home_dir = home_dir != NULL ? strlen(unix_to_dos_static(home_dir))+1 : 0; + len_dir_drive = dir_drive != NULL ? strlen(unix_to_dos_static(dir_drive))+1 : 0; + len_logon_script = logon_script != NULL ? strlen(unix_to_dos_static(logon_script))+1 : 0; + len_profile_path = profile_path != NULL ? strlen(unix_to_dos_static(profile_path))+1 : 0; + len_description = description != NULL ? strlen(unix_to_dos_static(description))+1 : 0; + len_workstations = workstations != NULL ? strlen(unix_to_dos_static(workstations))+1 : 0; len_unknown_str = 0; - len_munged_dial = munged_dial != NULL ? strlen(munged_dial )+1 : 0; + len_munged_dial = munged_dial != NULL ? strlen(unix_to_dos_static(munged_dial))+1 : 0; /* Create NTTIME structs */ @@ -5899,16 +5900,16 @@ void init_sam_user_info21A(SAM_USER_INFO_21 *usr, SAM_ACCOUNT *pw) ZERO_STRUCT(usr->padding1); - init_unistr2(&usr->uni_user_name, user_name, len_user_name); - init_unistr2(&usr->uni_full_name, full_name, len_full_name); - init_unistr2(&usr->uni_home_dir, home_dir, len_home_dir); - init_unistr2(&usr->uni_dir_drive, dir_drive, len_dir_drive); - init_unistr2(&usr->uni_logon_script, logon_script, len_logon_script); - init_unistr2(&usr->uni_profile_path, profile_path, len_profile_path); - init_unistr2(&usr->uni_acct_desc, description, len_description); - init_unistr2(&usr->uni_workstations, workstations, len_workstations); + init_unistr2(&usr->uni_user_name, unix_to_dos_static(user_name), len_user_name); + init_unistr2(&usr->uni_full_name, unix_to_dos_static(full_name), len_full_name); + init_unistr2(&usr->uni_home_dir, unix_to_dos_static(home_dir), len_home_dir); + init_unistr2(&usr->uni_dir_drive, unix_to_dos_static(dir_drive), len_dir_drive); + init_unistr2(&usr->uni_logon_script, unix_to_dos_static(logon_script), len_logon_script); + init_unistr2(&usr->uni_profile_path, unix_to_dos_static(profile_path), len_profile_path); + init_unistr2(&usr->uni_acct_desc, unix_to_dos_static(description), len_description); + init_unistr2(&usr->uni_workstations, unix_to_dos_static(workstations), len_workstations); init_unistr2(&usr->uni_unknown_str, NULL, len_unknown_str); - init_unistr2(&usr->uni_munged_dial, munged_dial, len_munged_dial); + init_unistr2(&usr->uni_munged_dial, unix_to_dos_static(munged_dial), len_munged_dial); usr->unknown_6 = pdb_get_unknown6(pw); usr->padding4 = 0; @@ -6042,9 +6043,9 @@ void init_sam_user_info20A(SAM_USER_INFO_20 *usr, SAM_ACCOUNT *pw) int len_munged_dial; const char* munged_dial = pdb_get_munged_dial(pw); - len_munged_dial = munged_dial != NULL ? strlen(munged_dial )+1 : 0; + len_munged_dial = munged_dial != NULL ? strlen(unix_to_dos_static(munged_dial))+1 : 0; init_uni_hdr(&usr->hdr_munged_dial, len_munged_dial); - init_unistr2(&usr->uni_munged_dial, munged_dial, len_munged_dial); + init_unistr2(&usr->uni_munged_dial, unix_to_dos_static(munged_dial), len_munged_dial); } @@ -6703,17 +6704,16 @@ BOOL samr_io_r_get_dom_pwinfo(char *desc, SAMR_R_GET_DOM_PWINFO * r_u, if(!prs_align(ps)) return False; - if(!prs_uint16("unk_0", ps, depth, &r_u->unk_0)) - return False; - if(!prs_align(ps)) - return False; - if(!prs_uint16("unk_1", ps, depth, &r_u->unk_1)) - return False; - if(!prs_align(ps)) + /* + * we need 16 bytes herre according to tests. Don't know + * what they are, but the length is important for the singing + */ + + if(!prs_uint32("unk_0", ps, depth, &r_u->unk_0)) return False; - if(!prs_uint16("unk_2", ps, depth, &r_u->unk_2)) + if(!prs_uint32("unk_1", ps, depth, &r_u->unk_1)) return False; - if(!prs_align(ps)) + if(!prs_uint32("unk_2", ps, depth, &r_u->unk_2)) return False; if(!prs_ntstatus("status", ps, depth, &r_u->status)) diff --git a/source/rpc_parse/parse_sec.c b/source/rpc_parse/parse_sec.c index 3813326293b..9bd1b2e65a8 100644 --- a/source/rpc_parse/parse_sec.c +++ b/source/rpc_parse/parse_sec.c @@ -620,9 +620,16 @@ BOOL sec_io_desc(char *desc, SEC_DESC **ppsd, prs_struct *ps, int depth) prs_debug(ps, depth, desc, "sec_io_desc"); depth++; - + +#if 0 /* JERRY */ + /* + * if alignment is needed, should be done by the the + * caller. Not here. This caused me problems when marshalling + * printer info into a buffer. --jerry + */ if(!prs_align(ps)) return False; +#endif /* start of security descriptor stored for back-calc offset purposes */ old_offset = prs_offset(ps); diff --git a/source/rpc_parse/parse_spoolss.c b/source/rpc_parse/parse_spoolss.c index a47b9f5b60c..dcf28c2d675 100644 --- a/source/rpc_parse/parse_spoolss.c +++ b/source/rpc_parse/parse_spoolss.c @@ -544,8 +544,40 @@ static BOOL spool_io_user_level(char *desc, SPOOL_USER_CTR *q_u, prs_struct *ps, * on reading allocate memory for the private member ********************************************************************/ +#define DM_NUM_OPTIONAL_FIELDS 8 + BOOL spoolss_io_devmode(char *desc, prs_struct *ps, int depth, DEVICEMODE *devmode) { + uint32 available_space; /* size of the device mode left to parse */ + /* only important on unmarshalling */ + int i = 0; + + struct optional_fields { + fstring name; + uint32* field; + } opt_fields[DM_NUM_OPTIONAL_FIELDS] = { + { "icmmethod", NULL }, + { "icmintent", NULL }, + { "mediatype", NULL }, + { "dithertype", NULL }, + { "reserved1", NULL }, + { "reserved2", NULL }, + { "panningwidth", NULL }, + { "panningheight", NULL } + }; + + /* assign at run time to keep non-gcc vompilers happy */ + + opt_fields[0].field = &devmode->icmmethod; + opt_fields[1].field = &devmode->icmintent; + opt_fields[2].field = &devmode->mediatype; + opt_fields[3].field = &devmode->dithertype; + opt_fields[4].field = &devmode->reserved1; + opt_fields[5].field = &devmode->reserved2; + opt_fields[6].field = &devmode->panningwidth; + opt_fields[7].field = &devmode->panningheight; + + prs_debug(ps, depth, desc, "spoolss_io_devmode"); depth++; @@ -557,8 +589,27 @@ BOOL spoolss_io_devmode(char *desc, prs_struct *ps, int depth, DEVICEMODE *devmo if (!prs_uint16uni(True,"devicename", ps, depth, devmode->devicename.buffer, 32)) return False; + if (!prs_uint16("specversion", ps, depth, &devmode->specversion)) - return False; + return False; + + /* Sanity Check - look for unknown specversions, but don't fail if we see one. + Let the size determine that */ + + switch (devmode->specversion) { + case 0x0320: + case 0x0400: + case 0x0401: + break; + + default: + DEBUG(0,("spoolss_io_devmode: Unknown specversion in devicemode [0x%x]\n", + devmode->specversion)); + DEBUG(0,("spoolss_io_devmode: please report to samba-technical@samba.org!\n")); + break; + } + + if (!prs_uint16("driverversion", ps, depth, &devmode->driverversion)) return False; if (!prs_uint16("size", ps, depth, &devmode->size)) @@ -614,44 +665,49 @@ BOOL spoolss_io_devmode(char *desc, prs_struct *ps, int depth, DEVICEMODE *devmo return False; if (!prs_uint32("displayfrequency", ps, depth, &devmode->displayfrequency)) return False; - + /* + * every device mode I've ever seen on the wire at least has up + * to the displayfrequency field. --jerry (05-09-2002) + */ + + /* add uint32's + uint16's + two UNICODE strings */ + + available_space = devmode->size - (sizeof(uint32)*6 + sizeof(uint16)*18 + sizeof(uint16)*64); + + /* Sanity check - we only have uint32's left tp parse */ + + if ( available_space && ((available_space % sizeof(uint32)) != 0) ) { + DEBUG(0,("spoolss_io_devmode: available_space [%d] no in multiple of 4 bytes (size = %d)!\n", + available_space, devmode->size)); + DEBUG(0,("spoolss_io_devmode: please report to samba-technical@samba.org!\n")); + return False; + } + /* * Conditional parsing. Assume that the DeviceMode has been * zero'd by the caller. */ - switch(devmode->specversion) { - - /* Used by spooler when issuing OpenPrinter() calls. NT 3.5x? */ - case 0x0320: - break; - - /* See the comments on the DEVMODE in the msdn GDI documentation */ - case 0x0400: - case 0x0401: - if (!prs_uint32("icmmethod", ps, depth, &devmode->icmmethod)) - return False; - if (!prs_uint32("icmintent", ps, depth, &devmode->icmintent)) - return False; - if (!prs_uint32("mediatype", ps, depth, &devmode->mediatype)) - return False; - if (!prs_uint32("dithertype", ps, depth, &devmode->dithertype)) - return False; - if (!prs_uint32("reserved1", ps, depth, &devmode->reserved1)) - return False; - if (!prs_uint32("reserved2", ps, depth, &devmode->reserved2)) - return False; - if (!prs_uint32("panningwidth", ps, depth, &devmode->panningwidth)) - return False; - if (!prs_uint32("panningheight", ps, depth, &devmode->panningheight)) - return False; - break; - /* log an error if we see something else */ - default: - DEBUG(0,("spoolss_io_devmode: Unknown specversion [0x%x]!\n", devmode->specversion)); - DEBUG(0,("spoolss_io_devmode: Please report to samba-technical@samba.org\n")); - break; + while ((available_space > 0) && (i < DM_NUM_OPTIONAL_FIELDS)) + { + DEBUG(10, ("spoolss_io_devmode: [%d] bytes left to parse in devmode\n", available_space)); + if (!prs_uint32(opt_fields[i].name, ps, depth, opt_fields[i].field)) + return False; + available_space -= sizeof(uint32); + i++; + } + + /* Sanity Check - we should no available space at this point unless + MS changes the device mode structure */ + + if (available_space) { + DEBUG(0,("spoolss_io_devmode: I've parsed all I know and there is still stuff left|\n")); + DEBUG(0,("spoolss_io_devmode: available_space = [%d], devmode_size = [%d]!\n", + available_space, devmode->size)); + DEBUG(0,("spoolss_io_devmode: please report to samba-technical@samba.org!\n")); + return False; } + if (devmode->driverextra!=0) { if (UNMARSHALLING(ps)) { @@ -2225,7 +2281,9 @@ BOOL smb_io_printer_info_1(char *desc, NEW_BUFFER *buffer, PRINTER_INFO_1 *info, BOOL smb_io_printer_info_2(char *desc, NEW_BUFFER *buffer, PRINTER_INFO_2 *info, int depth) { prs_struct *ps=&buffer->prs; - + uint32 dm_offset, sd_offset, current_offset; + uint32 dummy_value = 0; + prs_debug(ps, depth, desc, "smb_io_printer_info_2"); depth++; @@ -2246,10 +2304,11 @@ BOOL smb_io_printer_info_2(char *desc, NEW_BUFFER *buffer, PRINTER_INFO_2 *info, if (!smb_io_relstr("location", buffer, depth, &info->location)) return False; - /* NT parses the DEVMODE at the end of the struct */ - if (!smb_io_reldevmode("devmode", buffer, depth, &info->devmode)) + /* save current offset and wind forwared by a uint32 */ + dm_offset = prs_offset(ps); + if (!prs_uint32("devmode", ps, depth, &dummy_value)) return False; - + if (!smb_io_relstr("sepfile", buffer, depth, &info->sepfile)) return False; if (!smb_io_relstr("printprocessor", buffer, depth, &info->printprocessor)) @@ -2259,8 +2318,30 @@ BOOL smb_io_printer_info_2(char *desc, NEW_BUFFER *buffer, PRINTER_INFO_2 *info, if (!smb_io_relstr("parameters", buffer, depth, &info->parameters)) return False; + /* save current offset for the sec_desc */ + sd_offset = prs_offset(ps); + if (!prs_uint32("sec_desc", ps, depth, &dummy_value)) + return False; + + + /* save current location so we can pick back up here */ + current_offset = prs_offset(ps); + + /* parse the devmode */ + if (!prs_set_offset(ps, dm_offset)) + return False; + if (!smb_io_reldevmode("devmode", buffer, depth, &info->devmode)) + return False; + + /* parse the sec_desc */ + if (!prs_set_offset(ps, sd_offset)) + return False; if (!smb_io_relsecdesc("secdesc", buffer, depth, &info->secdesc)) return False; + + /* pick up where we left off */ + if (!prs_set_offset(ps, current_offset)) + return False; if (!prs_uint32("attributes", ps, depth, &info->attributes)) return False; @@ -3034,10 +3115,10 @@ return the size required by a struct in the stream uint32 spoolss_size_printer_info_2(PRINTER_INFO_2 *info) { - uint32 size=0; + uint32 size=0; size += 4; - /* JRA !!!! TESTME - WHAT ABOUT prs_align.... !!! */ + size += sec_desc_size( info->secdesc ); size+=size_of_device_mode( info->devmode ); @@ -3063,6 +3144,16 @@ uint32 spoolss_size_printer_info_2(PRINTER_INFO_2 *info) size+=size_of_uint32( &info->status ); size+=size_of_uint32( &info->cjobs ); size+=size_of_uint32( &info->averageppm ); + + /* + * add any adjustments for alignment. This is + * not optimal since we could be calling this + * function from a loop (e.g. enumprinters), but + * it is easier to maintain the calculation here and + * not place the burden on the caller to remember. --jerry + */ + size += size % 4; + return size; } @@ -5171,14 +5262,14 @@ BOOL uni_2_asc_printer_driver_3(SPOOL_PRINTER_DRIVER_INFO_LEVEL_3 *uni, d->cversion=uni->cversion; - unistr2_to_ascii(d->name, &uni->name, sizeof(d->name)-1); - unistr2_to_ascii(d->environment, &uni->environment, sizeof(d->environment)-1); - unistr2_to_ascii(d->driverpath, &uni->driverpath, sizeof(d->driverpath)-1); - unistr2_to_ascii(d->datafile, &uni->datafile, sizeof(d->datafile)-1); - unistr2_to_ascii(d->configfile, &uni->configfile, sizeof(d->configfile)-1); - unistr2_to_ascii(d->helpfile, &uni->helpfile, sizeof(d->helpfile)-1); - unistr2_to_ascii(d->monitorname, &uni->monitorname, sizeof(d->monitorname)-1); - unistr2_to_ascii(d->defaultdatatype, &uni->defaultdatatype, sizeof(d->defaultdatatype)-1); + unistr2_to_dos(d->name, &uni->name, sizeof(d->name)-1); + unistr2_to_dos(d->environment, &uni->environment, sizeof(d->environment)-1); + unistr2_to_dos(d->driverpath, &uni->driverpath, sizeof(d->driverpath)-1); + unistr2_to_dos(d->datafile, &uni->datafile, sizeof(d->datafile)-1); + unistr2_to_dos(d->configfile, &uni->configfile, sizeof(d->configfile)-1); + unistr2_to_dos(d->helpfile, &uni->helpfile, sizeof(d->helpfile)-1); + unistr2_to_dos(d->monitorname, &uni->monitorname, sizeof(d->monitorname)-1); + unistr2_to_dos(d->defaultdatatype, &uni->defaultdatatype, sizeof(d->defaultdatatype)-1); DEBUGADD(8,( "version: %d\n", d->cversion)); DEBUGADD(8,( "name: %s\n", d->name)); @@ -5218,14 +5309,14 @@ BOOL uni_2_asc_printer_driver_6(SPOOL_PRINTER_DRIVER_INFO_LEVEL_6 *uni, d->version=uni->version; - unistr2_to_ascii(d->name, &uni->name, sizeof(d->name)-1); - unistr2_to_ascii(d->environment, &uni->environment, sizeof(d->environment)-1); - unistr2_to_ascii(d->driverpath, &uni->driverpath, sizeof(d->driverpath)-1); - unistr2_to_ascii(d->datafile, &uni->datafile, sizeof(d->datafile)-1); - unistr2_to_ascii(d->configfile, &uni->configfile, sizeof(d->configfile)-1); - unistr2_to_ascii(d->helpfile, &uni->helpfile, sizeof(d->helpfile)-1); - unistr2_to_ascii(d->monitorname, &uni->monitorname, sizeof(d->monitorname)-1); - unistr2_to_ascii(d->defaultdatatype, &uni->defaultdatatype, sizeof(d->defaultdatatype)-1); + unistr2_to_dos(d->name, &uni->name, sizeof(d->name)-1); + unistr2_to_dos(d->environment, &uni->environment, sizeof(d->environment)-1); + unistr2_to_dos(d->driverpath, &uni->driverpath, sizeof(d->driverpath)-1); + unistr2_to_dos(d->datafile, &uni->datafile, sizeof(d->datafile)-1); + unistr2_to_dos(d->configfile, &uni->configfile, sizeof(d->configfile)-1); + unistr2_to_dos(d->helpfile, &uni->helpfile, sizeof(d->helpfile)-1); + unistr2_to_dos(d->monitorname, &uni->monitorname, sizeof(d->monitorname)-1); + unistr2_to_dos(d->defaultdatatype, &uni->defaultdatatype, sizeof(d->defaultdatatype)-1); DEBUGADD(8,( "version: %d\n", d->version)); DEBUGADD(8,( "name: %s\n", d->name)); @@ -5283,17 +5374,17 @@ BOOL uni_2_asc_printer_info_2(const SPOOL_PRINTER_INFO_LEVEL_2 *uni, d->status=uni->status; d->cjobs=uni->cjobs; - unistr2_to_ascii(d->servername, &uni->servername, sizeof(d->servername)-1); - unistr2_to_ascii(d->printername, &uni->printername, sizeof(d->printername)-1); - unistr2_to_ascii(d->sharename, &uni->sharename, sizeof(d->sharename)-1); - unistr2_to_ascii(d->portname, &uni->portname, sizeof(d->portname)-1); - unistr2_to_ascii(d->drivername, &uni->drivername, sizeof(d->drivername)-1); - unistr2_to_ascii(d->comment, &uni->comment, sizeof(d->comment)-1); - unistr2_to_ascii(d->location, &uni->location, sizeof(d->location)-1); - unistr2_to_ascii(d->sepfile, &uni->sepfile, sizeof(d->sepfile)-1); - unistr2_to_ascii(d->printprocessor, &uni->printprocessor, sizeof(d->printprocessor)-1); - unistr2_to_ascii(d->datatype, &uni->datatype, sizeof(d->datatype)-1); - unistr2_to_ascii(d->parameters, &uni->parameters, sizeof(d->parameters)-1); + unistr2_to_dos(d->servername, &uni->servername, sizeof(d->servername)-1); + unistr2_to_dos(d->printername, &uni->printername, sizeof(d->printername)-1); + unistr2_to_dos(d->sharename, &uni->sharename, sizeof(d->sharename)-1); + unistr2_to_dos(d->portname, &uni->portname, sizeof(d->portname)-1); + unistr2_to_dos(d->drivername, &uni->drivername, sizeof(d->drivername)-1); + unistr2_to_dos(d->comment, &uni->comment, sizeof(d->comment)-1); + unistr2_to_dos(d->location, &uni->location, sizeof(d->location)-1); + unistr2_to_dos(d->sepfile, &uni->sepfile, sizeof(d->sepfile)-1); + unistr2_to_dos(d->printprocessor, &uni->printprocessor, sizeof(d->printprocessor)-1); + unistr2_to_dos(d->datatype, &uni->datatype, sizeof(d->datatype)-1); + unistr2_to_dos(d->parameters, &uni->parameters, sizeof(d->parameters)-1); return True; } @@ -5859,7 +5950,7 @@ BOOL convert_specific_param(NT_PRINTER_PARAM **param, const UNISTR2 *value, memset((char *)*param, '\0', sizeof(NT_PRINTER_PARAM)); DEBUGADD(6,("Allocated a new PARAM struct\n")); } - unistr2_to_ascii((*param)->value, value, sizeof((*param)->value)-1); + unistr2_to_dos((*param)->value, value, sizeof((*param)->value)-1); (*param)->type = type; /* le champ data n'est pas NULL termine */ diff --git a/source/rpc_server/srv_dfs_nt.c b/source/rpc_server/srv_dfs_nt.c index 6bf1967a3fb..f3f495afcf7 100644 --- a/source/rpc_server/srv_dfs_nt.c +++ b/source/rpc_server/srv_dfs_nt.c @@ -62,9 +62,9 @@ WERROR _dfs_add(pipes_struct *p, DFS_Q_DFS_ADD* q_u, DFS_R_DFS_ADD *r_u) return WERR_ACCESS_DENIED; } - unistr2_to_ascii(dfspath, &q_u->DfsEntryPath, sizeof(dfspath)-1); - unistr2_to_ascii(servername, &q_u->ServerName, sizeof(servername)-1); - unistr2_to_ascii(sharename, &q_u->ShareName, sizeof(sharename)-1); + unistr2_to_dos(dfspath, &q_u->DfsEntryPath, sizeof(dfspath)-1); + unistr2_to_dos(servername, &q_u->ServerName, sizeof(servername)-1); + unistr2_to_dos(sharename, &q_u->ShareName, sizeof(sharename)-1); DEBUG(5,("init_reply_dfs_add: Request to add %s -> %s\\%s.\n", dfspath, servername, sharename)); @@ -126,12 +126,12 @@ WERROR _dfs_remove(pipes_struct *p, DFS_Q_DFS_REMOVE *q_u, return WERR_ACCESS_DENIED; } - unistr2_to_ascii(dfspath, &q_u->DfsEntryPath, sizeof(dfspath)-1); + unistr2_to_dos(dfspath, &q_u->DfsEntryPath, sizeof(dfspath)-1); if(q_u->ptr_ServerName) - unistr2_to_ascii(servername, &q_u->ServerName, sizeof(servername)-1); + unistr2_to_dos(servername, &q_u->ServerName, sizeof(servername)-1); if(q_u->ptr_ShareName) - unistr2_to_ascii(sharename, &q_u->ShareName, sizeof(sharename)-1); + unistr2_to_dos(sharename, &q_u->ShareName, sizeof(sharename)-1); if(q_u->ptr_ServerName && q_u->ptr_ShareName) { @@ -359,7 +359,7 @@ WERROR _dfs_get_info(pipes_struct *p, DFS_Q_DFS_GET_INFO *q_u, pstring path; struct junction_map jn; - unistr2_to_ascii(path, uni_path, sizeof(path)-1); + unistr2_to_dos(path, uni_path, sizeof(path)-1); if(!create_junction(path, &jn)) return WERR_DFS_NO_SUCH_SERVER; diff --git a/source/rpc_server/srv_lsa_hnd.c b/source/rpc_server/srv_lsa_hnd.c index 59bbc5263fa..09d03cd97f5 100644 --- a/source/rpc_server/srv_lsa_hnd.c +++ b/source/rpc_server/srv_lsa_hnd.c @@ -135,6 +135,14 @@ BOOL create_policy_hnd(pipes_struct *p, POLICY_HND *hnd, void (*free_fn)(void *) DLIST_ADD(p->pipe_handles->Policy, pol); p->pipe_handles->count++; + /* + * Ensure we don't idle this connection if a handle is open. + * Increment the number of files open on the first handle create. + */ + + if (p->pipe_handles->count == 1) + p->conn->num_files_open++; + *hnd = pol->pol_hnd; DEBUG(4,("Opened policy hnd[%d] ", (int)p->pipe_handles->count)); @@ -201,6 +209,15 @@ BOOL close_policy_hnd(pipes_struct *p, POLICY_HND *hnd) p->pipe_handles->count--; + /* + * Ensure we can idle this connection if this is the last handle. + * Decrement the number of files open on the last handle delete. + */ + + if (p->pipe_handles->count == 0) + p->conn->num_files_open--; + + DLIST_REMOVE(p->pipe_handles->Policy, pol); ZERO_STRUCTP(pol); diff --git a/source/rpc_server/srv_lsa_nt.c b/source/rpc_server/srv_lsa_nt.c index 6c33d47bb06..c216b6ddf89 100644 --- a/source/rpc_server/srv_lsa_nt.c +++ b/source/rpc_server/srv_lsa_nt.c @@ -152,6 +152,7 @@ static void init_lsa_rid2s(DOM_R_REF *ref, DOM_RID2 *rid2, /* Split name into domain and user component */ pstrcpy(full_name, dos_unistr2_to_str(&name[i])); + dos_to_unix(full_name); /* full name should be in unix charset. */ split_domain_name(full_name, dom_name, user); /* Lookup name */ @@ -595,7 +596,7 @@ NTSTATUS _lsa_priv_get_dispname(pipes_struct *p, LSA_Q_PRIV_GET_DISPNAME *q_u, L if (!find_policy_by_hnd(p, &q_u->pol, NULL)) return NT_STATUS_INVALID_HANDLE; - unistr2_to_ascii(name_asc, &q_u->name, sizeof(name_asc)); + unistr2_to_dos(name_asc, &q_u->name, sizeof(name_asc)); DEBUG(0,("_lsa_priv_get_dispname: %s", name_asc)); diff --git a/source/rpc_server/srv_netlog_nt.c b/source/rpc_server/srv_netlog_nt.c index 5882f9a5cc7..3f84c7a98b1 100644 --- a/source/rpc_server/srv_netlog_nt.c +++ b/source/rpc_server/srv_netlog_nt.c @@ -223,7 +223,7 @@ NTSTATUS _net_req_chal(pipes_struct *p, NET_Q_REQ_CHAL *q_u, NET_R_REQ_CHAL *r_u /* from client / server challenges and md4 password, generate sess key */ cred_session_key(&p->dc.clnt_chal, &p->dc.srv_chal, - (char *)p->dc.md4pw, p->dc.sess_key); + (uchar *)p->dc.md4pw, p->dc.sess_key); /* Save the machine account name. */ fstrcpy(p->dc.mach_acct, mach_acct); diff --git a/source/rpc_server/srv_pipe_hnd.c b/source/rpc_server/srv_pipe_hnd.c index 61b608c0e82..0fe9b383a22 100644 --- a/source/rpc_server/srv_pipe_hnd.c +++ b/source/rpc_server/srv_pipe_hnd.c @@ -270,8 +270,10 @@ pipes_struct *open_rpc_pipe_p(char *pipe_name, if (is_spoolss_pipe) current_spoolss_pipes_open++; - /* Ensure the connection isn't idled whilst this pipe is open. */ - conn->num_files_open++; + /* + * The connection can be idled whilst this pipe is open + * if there are no handles open. JRA. + */ return chain_p; } @@ -964,8 +966,6 @@ BOOL close_rpc_pipe_hnd(pipes_struct *p, connection_struct *conn) SAFE_FREE(p); - conn->num_files_open--; - return True; } diff --git a/source/rpc_server/srv_samr_nt.c b/source/rpc_server/srv_samr_nt.c index 68f010beea7..08eddcaf983 100644 --- a/source/rpc_server/srv_samr_nt.c +++ b/source/rpc_server/srv_samr_nt.c @@ -657,10 +657,10 @@ static void make_group_sam_entry_list(TALLOC_CTX *ctx, SAM_ENTRY **sam_pp, UNIST /* * JRA. I think this should include the null. TNG does not. */ - int len = strlen(grp[i].name)+1; + int len = strlen(unix_to_dos_static(grp[i].name))+1; init_sam_entry(&sam[i], len, grp[i].rid); - init_unistr2(&uni_name[i], grp[i].name, len); + init_unistr2(&uni_name[i], unix_to_dos_static(grp[i].name), len); } *sam_pp = sam; diff --git a/source/rpc_server/srv_spoolss_nt.c b/source/rpc_server/srv_spoolss_nt.c index 6288ef2916c..25a3f49ad45 100644 --- a/source/rpc_server/srv_spoolss_nt.c +++ b/source/rpc_server/srv_spoolss_nt.c @@ -37,6 +37,15 @@ #define PRINTER_HANDLE_IS_PRINTER 0 #define PRINTER_HANDLE_IS_PRINTSERVER 1 +/* Table to map the driver version */ +/* to OS */ +char * drv_ver_to_os[] = { + "WIN9X", /* driver version/cversion 0 */ + "", /* unused ? */ + "WINNT", /* driver version/cversion 2 */ + "WIN2K", /* driver version/cversion 3 */ +}; + struct table_node { char *long_archi; char *short_archi; @@ -980,7 +989,7 @@ WERROR _spoolss_open_printer_ex( pipes_struct *p, SPOOL_Q_OPEN_PRINTER_EX *q_u, /* some sanity check because you can open a printer or a print server */ /* aka: \\server\printer or \\server */ - unistr2_to_ascii(name, printername, sizeof(name)-1); + unistr2_to_dos(name, printername, sizeof(name)-1); DEBUGADD(3,("checking name: %s\n",name)); @@ -1092,7 +1101,9 @@ Can't find printer handle we created for printer %s\n", name )); printer_default->access_required = PRINTER_ACCESS_USE; } - if (!print_access_check(&user, snum, printer_default->access_required)) { + /* check smb.conf parameters and the the sec_desc */ + + if (!user_ok(uidtoname(user.uid), snum) || !print_access_check(&user, snum, printer_default->access_required)) { DEBUG(3, ("access DENIED for printer open\n")); close_printer_handle(p, handle); return WERR_ACCESS_DENIED; @@ -1426,8 +1437,8 @@ WERROR _spoolss_deleteprinterdriver(pipes_struct *p, SPOOL_Q_DELETEPRINTERDRIVER NT_PRINTER_DRIVER_INFO_LEVEL info; int version; - unistr2_to_ascii(driver, &q_u->driver, sizeof(driver)-1 ); - unistr2_to_ascii(arch, &q_u->arch, sizeof(arch)-1 ); + unistr2_to_dos(driver, &q_u->driver, sizeof(driver)-1 ); + unistr2_to_dos(arch, &q_u->arch, sizeof(arch)-1 ); /* check that we have a valid driver name first */ if ((version=get_version_id(arch)) == -1) { @@ -1499,7 +1510,11 @@ static BOOL getprinterdata_printer_server(TALLOC_CTX *ctx, fstring value, uint32 *type = 0x4; if((*data = (uint8 *)talloc(ctx, 4*sizeof(uint8) )) == NULL) return False; +#ifndef EMULATE_WIN2K_HACK /* JERRY */ SIVAL(*data, 0, 2); +#else + SIVAL(*data, 0, 3); +#endif *needed = 0x4; return True; } @@ -1636,7 +1651,7 @@ WERROR _spoolss_getprinterdata(pipes_struct *p, SPOOL_Q_GETPRINTERDATA *q_u, SPO return WERR_BADFID; } - unistr2_to_ascii(value, valuename, sizeof(value)-1); + unistr2_to_dos(value, valuename, sizeof(value)-1); if (Printer->printer_type == PRINTER_HANDLE_IS_PRINTSERVER) found=getprinterdata_printer_server(p->mem_ctx, value, type, data, needed, *out_size); @@ -1743,7 +1758,7 @@ WERROR _spoolss_rffpcnex(pipes_struct *p, SPOOL_Q_RFFPCNEX *q_u, SPOOL_R_RFFPCNE Printer->notify.option=dup_spool_notify_option(option); - unistr2_to_ascii(Printer->notify.localmachine, localmachine, sizeof(Printer->notify.localmachine)-1); + unistr2_to_dos(Printer->notify.localmachine, localmachine, sizeof(Printer->notify.localmachine)-1); /* connect to the client machine and send a ReplyOpenPrinter */ if(srv_spoolss_replyopenprinter(Printer->notify.localmachine, @@ -3007,7 +3022,7 @@ static BOOL construct_printer_info_0(PRINTER_INFO_0 *printer, int snum) printer->global_counter = global_counter; printer->total_pages = 0; -#if 0 /* JERRY */ +#ifndef EMULATE_WIN2K_HACK /* JERRY */ printer->major_version = 0x0004; /* NT 4 */ printer->build_version = 0x0565; /* build 1381 */ #else @@ -3482,10 +3497,26 @@ static WERROR enum_all_printers_info_1_remote(fstring name, NEW_BUFFER *buffer, enum_all_printers_info_1_network. *********************************************************************/ -static WERROR enum_all_printers_info_1_network(NEW_BUFFER *buffer, uint32 offered, uint32 *needed, uint32 *returned) +static WERROR enum_all_printers_info_1_network(fstring name, NEW_BUFFER *buffer, uint32 offered, uint32 *needed, uint32 *returned) { + char *s = name; + DEBUG(4,("enum_all_printers_info_1_network\n")); + /* If we respond to a enum_printers level 1 on our name with flags + set to PRINTER_ENUM_REMOTE with a list of printers then these + printers incorrectly appear in the APW browse list. + Specifically the printers for the server appear at the workgroup + level where all the other servers in the domain are + listed. Windows responds to this call with a + WERR_CAN_NOT_COMPLETE so we should do the same. */ + + if (name[0] == '\\' && name[1] == '\\') + s = name + 2; + + if (is_myname_or_ipaddr(s)) + return WERR_CAN_NOT_COMPLETE; + return enum_all_printers_info_1(PRINTER_ENUM_UNKNOWN_8, buffer, offered, needed, returned); } @@ -3523,9 +3554,9 @@ static WERROR enum_all_printers_info_2(NEW_BUFFER *buffer, uint32 offered, uint3 } /* check the required size. */ - for (i=0; i<*returned; i++) + for (i=0; i<*returned; i++) (*needed) += spoolss_size_printer_info_2(&printers[i]); - + if (!alloc_buffer_size(buffer, *needed)) { for (i=0; i<*returned; i++) { free_devmode(printers[i].devmode); @@ -3572,7 +3603,7 @@ static WERROR enumprinters_level1( uint32 flags, fstring name, return enum_all_printers_info_1_remote(name, buffer, offered, needed, returned); if (flags & PRINTER_ENUM_NETWORK) - return enum_all_printers_info_1_network(buffer, offered, needed, returned); + return enum_all_printers_info_1_network(name, buffer, offered, needed, returned); return WERR_OK; /* NT4sp5 does that */ } @@ -3658,7 +3689,7 @@ WERROR _spoolss_enumprinters( pipes_struct *p, SPOOL_Q_ENUMPRINTERS *q_u, SPOOL_ * Level 5: same as Level 2 */ - unistr2_to_ascii(name, servername, sizeof(name)-1); + unistr2_to_dos(name, servername, sizeof(name)-1); strupper(name); switch (level) { @@ -3755,7 +3786,7 @@ static WERROR getprinter_level_2(int snum, NEW_BUFFER *buffer, uint32 offered, u /* check the required size. */ *needed += spoolss_size_printer_info_2(printer); - + if (!alloc_buffer_size(buffer, *needed)) { free_printer_info_2(printer); return WERR_INSUFFICIENT_BUFFER; @@ -4457,7 +4488,7 @@ WERROR _spoolss_getprinterdriver2(pipes_struct *p, SPOOL_Q_GETPRINTERDRIVER2 *q_ *serverminorversion=0; pstrcpy(servername, get_called_name()); - unistr2_to_ascii(architecture, uni_arch, sizeof(architecture)-1); + unistr2_to_dos(architecture, uni_arch, sizeof(architecture)-1); if (!get_printer_snum(p, handle, &snum)) return WERR_BADFID; @@ -4554,7 +4585,7 @@ WERROR _spoolss_startdocprinter(pipes_struct *p, SPOOL_Q_STARTDOCPRINTER *q_u, S */ if (info_1->p_datatype != 0) { - unistr2_to_ascii(datatype, &info_1->datatype, sizeof(datatype)); + unistr2_to_dos(datatype, &info_1->datatype, sizeof(datatype)); if (strcmp(datatype, "RAW") != 0) { (*jobid)=0; return WERR_INVALID_DATATYPE; @@ -4566,7 +4597,7 @@ WERROR _spoolss_startdocprinter(pipes_struct *p, SPOOL_Q_STARTDOCPRINTER *q_u, S return WERR_BADFID; } - unistr2_to_ascii(jobname, &info_1->docname, sizeof(jobname)); + unistr2_to_dos(jobname, &info_1->docname, sizeof(jobname)); Printer->jobid = print_job_start(&user, snum, jobname); @@ -4816,7 +4847,8 @@ static BOOL add_printer_hook(NT_PRINTER_INFO_LEVEL *printer) get_called_name()); /* change \ to \\ for the shell */ all_string_sub(driverlocation,"\\","\\\\",sizeof(pstring)); - + standard_sub_basic(remote_machine); + slprintf(command, sizeof(command)-1, "%s \"%s\" \"%s\" \"%s\" \"%s\" \"%s\" \"%s\" \"%s\"", cmd, printer->info_2->printername, printer->info_2->sharename, printer->info_2->portname, printer->info_2->drivername, @@ -5260,8 +5292,6 @@ static WERROR update_printer(pipes_struct *p, POLICY_HND *handle, uint32 level, if (!strequal(printer->info_2->location, old_printer->info_2->location)) msg.flags |= PRINTER_MESSAGE_LOCATION; - ZERO_STRUCT(msg); - msg.low = PRINTER_CHANGE_ADD_PRINTER; fstrcpy(msg.printer_name, printer->info_2->printername); @@ -5935,7 +5965,7 @@ WERROR _spoolss_enumprinterdrivers( pipes_struct *p, SPOOL_Q_ENUMPRINTERDRIVERS *needed=0; *returned=0; - unistr2_to_ascii(architecture, environment, sizeof(architecture)-1); + unistr2_to_dos(architecture, environment, sizeof(architecture)-1); switch (level) { case 1: @@ -6091,7 +6121,7 @@ WERROR _spoolss_getform(pipes_struct *p, SPOOL_Q_GETFORM *q_u, SPOOL_R_GETFORM * spoolss_move_buffer(q_u->buffer, &r_u->buffer); buffer = r_u->buffer; - unistr2_to_ascii(form_name, uni_formname, sizeof(form_name)-1); + unistr2_to_dos(form_name, uni_formname, sizeof(form_name)-1); DEBUG(4,("_spoolss_getform\n")); DEBUGADD(5,("Offered buffer size [%d]\n", offered)); @@ -6542,7 +6572,8 @@ WERROR _spoolss_addprinterdriver(pipes_struct *p, SPOOL_Q_ADDPRINTERDRIVER *q_u, NT_PRINTER_DRIVER_INFO_LEVEL driver; struct current_user user; fstring driver_name; - + uint32 version; + ZERO_STRUCT(driver); get_current_user(&user, p); @@ -6569,15 +6600,20 @@ WERROR _spoolss_addprinterdriver(pipes_struct *p, SPOOL_Q_ADDPRINTERDRIVER *q_u, goto done; } - switch(level) - { + /* BEGIN_ADMIN_LOG */ + switch(level) { case 3: + sys_adminlog(LOG_INFO,"Added printer driver. Print driver name: %s. Print driver OS: %s. Administrator name: %s.", + driver.info_3->name,drv_ver_to_os[driver.info_3->cversion],uidtoname(user.uid)); fstrcpy(driver_name, driver.info_3->name); break; case 6: + sys_adminlog(LOG_INFO,"Added printer driver. Print driver name: %s. Print driver OS: %s. Administrator name: %s.", + driver.info_6->name,drv_ver_to_os[driver.info_6->version],uidtoname(user.uid)); fstrcpy(driver_name, driver.info_6->name); break; } + /* END_ADMIN_LOG */ /* * I think this is where he DrvUpgradePrinter() hook would be @@ -6591,6 +6627,70 @@ WERROR _spoolss_addprinterdriver(pipes_struct *p, SPOOL_Q_ADDPRINTERDRIVER *q_u, driver_name)); } + /* + * Based on the version (e.g. driver destination dir: 0=9x,2=Nt/2k,3=2k/Xp), + * decide if the driver init data should be deleted. The rules are: + * 1) never delete init data if it is a 9x driver, they don't use it anyway + * 2) delete init data only if there is no 2k/Xp driver + * 3) always delete init data + * The generalized rule is always use init data from the highest order driver. + * It is necessary to follow the driver install by an initialization step to + * finish off this process. + */ + if (level == 3) + version = driver.info_3->cversion; + else if (level == 6) + version = driver.info_6->version; + else + version = -1; + switch (version) { + /* + * 9x printer driver - never delete init data + */ + case 0: + DEBUG(10,("_spoolss_addprinterdriver: init data not deleted for 9x driver [%s]\n", + driver_name)); + break; + + /* + * Nt or 2k (compatiblity mode) printer driver - only delete init data if + * there is no 2k/Xp driver init data for this driver name. + */ + case 2: + { + NT_PRINTER_DRIVER_INFO_LEVEL driver1; + + if (!W_ERROR_IS_OK(get_a_printer_driver(&driver1, 3, driver_name, "Windows NT x86", 3))) { + /* + * No 2k/Xp driver found, delete init data (if any) for the new Nt driver. + */ + if (!del_driver_init(driver_name)) + DEBUG(6,("_spoolss_addprinterdriver: del_driver_init(%s) Nt failed!\n", driver_name)); + } else { + /* + * a 2k/Xp driver was found, don't delete init data because Nt driver will use it. + */ + free_a_printer_driver(driver1,3); + DEBUG(10,("_spoolss_addprinterdriver: init data not deleted for Nt driver [%s]\n", + driver_name)); + } + } + break; + + /* + * 2k or Xp printer driver - always delete init data + */ + case 3: + if (!del_driver_init(driver_name)) + DEBUG(6,("_spoolss_addprinterdriver: del_driver_init(%s) 2k/Xp failed!\n", driver_name)); + break; + + default: + DEBUG(0,("_spoolss_addprinterdriver: invalid level=%d\n", level)); + break; + } + + done: free_a_printer_driver(driver, level); return err; @@ -6614,7 +6714,7 @@ static WERROR getprinterdriverdir_level_1(UNISTR2 *name, UNISTR2 *uni_environmen pstring short_archi; DRIVER_DIRECTORY_1 *info=NULL; - unistr2_to_ascii(long_archi, uni_environment, sizeof(long_archi)-1); + unistr2_to_dos(long_archi, uni_environment, sizeof(long_archi)-1); if (get_short_archi(short_archi, long_archi)==False) return WERR_INVALID_ENVIRONMENT; @@ -6969,7 +7069,7 @@ WERROR _spoolss_deleteprinterdata(pipes_struct *p, SPOOL_Q_DELETEPRINTERDATA *q_ return status; ZERO_STRUCTP(¶m); - unistr2_to_ascii(param.value, value, sizeof(param.value)-1); + unistr2_to_dos(param.value, value, sizeof(param.value)-1); if(!unlink_specific_param_if_exist(printer->info_2, ¶m)) status = WERR_INVALID_PARAM; @@ -7579,8 +7679,8 @@ WERROR _spoolss_getprinterdataex(pipes_struct *p, SPOOL_Q_GETPRINTERDATAEX *q_u, DEBUG(4,("_spoolss_getprinterdataex\n")); - unistr2_to_ascii(key, &q_u->keyname, sizeof(key) - 1); - unistr2_to_ascii(value, &q_u->valuename, sizeof(value) - 1); + unistr2_to_dos(key, &q_u->keyname, sizeof(key) - 1); + unistr2_to_dos(value, &q_u->valuename, sizeof(value) - 1); /* in case of problem, return some default values */ *needed=0; @@ -7658,7 +7758,7 @@ WERROR _spoolss_setprinterdataex(pipes_struct *p, SPOOL_Q_SETPRINTERDATAEX *q_u, /* From MSDN documentation of SetPrinterDataEx: pass request to SetPrinterData if key is "PrinterDriverData" */ - unistr2_to_ascii(key, &q_u->key, sizeof(key) - 1); + unistr2_to_dos(key, &q_u->key, sizeof(key) - 1); if (strcmp(key, "PrinterDriverData") != 0) return WERR_INVALID_PARAM; @@ -7696,7 +7796,7 @@ WERROR _spoolss_enumprinterkey(pipes_struct *p, SPOOL_Q_ENUMPRINTERKEY *q_u, SPO DEBUG(4,("_spoolss_enumprinterkey\n")); - unistr2_to_ascii(key, &q_u->key, sizeof(key) - 1); + unistr2_to_dos(key, &q_u->key, sizeof(key) - 1); /* * we only support enumating all keys (key == "") @@ -7781,7 +7881,7 @@ WERROR _spoolss_enumprinterdataex(pipes_struct *p, SPOOL_Q_ENUMPRINTERDATAEX *q_ * _spoolss_getprinterdataex() for details --jerry */ - unistr2_to_ascii(key, &q_u->key, sizeof(key) - 1); + unistr2_to_dos(key, &q_u->key, sizeof(key) - 1); if (strcmp(key, "PrinterDriverData") != 0) { DEBUG(10,("_spoolss_enumprinterdataex: Unknown keyname [%s]\n", key)); @@ -7884,9 +7984,9 @@ static WERROR getprintprocessordirectory_level_1(UNISTR2 *name, pstring short_archi; PRINTPROCESSOR_DIRECTORY_1 *info=NULL; - unistr2_to_ascii(long_archi, environment, sizeof(long_archi)-1); + unistr2_to_dos(long_archi, environment, sizeof(long_archi)-1); - if (get_short_archi(short_archi, long_archi)==FALSE) + if (get_short_archi(short_archi, long_archi)==False) return WERR_INVALID_ENVIRONMENT; if((info=(PRINTPROCESSOR_DIRECTORY_1 *)malloc(sizeof(PRINTPROCESSOR_DIRECTORY_1))) == NULL) @@ -7919,6 +8019,7 @@ WERROR _spoolss_getprintprocessordirectory(pipes_struct *p, SPOOL_Q_GETPRINTPROC NEW_BUFFER *buffer = NULL; uint32 offered = q_u->offered; uint32 *needed = &r_u->needed; + WERROR result; /* that's an [in out] buffer */ spoolss_move_buffer(q_u->buffer, &r_u->buffer); @@ -7930,12 +8031,12 @@ WERROR _spoolss_getprintprocessordirectory(pipes_struct *p, SPOOL_Q_GETPRINTPROC switch(level) { case 1: - return getprintprocessordirectory_level_1 + result = getprintprocessordirectory_level_1 (&q_u->name, &q_u->environment, buffer, offered, needed); default: - return WERR_UNKNOWN_LEVEL; + result = WERR_UNKNOWN_LEVEL; } - return WERR_ACCESS_DENIED; + return result; } diff --git a/source/rpc_server/srv_srvsvc_nt.c b/source/rpc_server/srv_srvsvc_nt.c index 7680a212978..1d884de2b5f 100644 --- a/source/rpc_server/srv_srvsvc_nt.c +++ b/source/rpc_server/srv_srvsvc_nt.c @@ -1240,7 +1240,7 @@ WERROR _srv_net_share_get_info(pipes_struct *p, SRV_Q_NET_SHARE_GET_INFO *q_u, S DEBUG(5,("_srv_net_share_get_info: %d\n", __LINE__)); /* Create the list of shares for the response. */ - unistr2_to_ascii(share_name, &q_u->uni_share_name, sizeof(share_name)); + unistr2_to_dos(share_name, &q_u->uni_share_name, sizeof(share_name)); init_srv_r_net_share_get_info(p, r_u, share_name, q_u->info_level); DEBUG(5,("_srv_net_share_get_info: %d\n", __LINE__)); @@ -1308,7 +1308,7 @@ WERROR _srv_net_share_set_info(pipes_struct *p, SRV_Q_NET_SHARE_SET_INFO *q_u, S DEBUG(5,("_srv_net_share_set_info: %d\n", __LINE__)); - unistr2_to_ascii(share_name, &q_u->uni_share_name, sizeof(share_name)); + unistr2_to_dos(share_name, &q_u->uni_share_name, sizeof(share_name)); r_u->switch_value = 0; @@ -1335,14 +1335,14 @@ WERROR _srv_net_share_set_info(pipes_struct *p, SRV_Q_NET_SHARE_SET_INFO *q_u, S /* Not enough info in a level 1 to do anything. */ return WERR_ACCESS_DENIED; case 2: - unistr2_to_ascii(comment, &q_u->info.share.info2.info_2_str.uni_remark, sizeof(share_name)); - unistr2_to_ascii(pathname, &q_u->info.share.info2.info_2_str.uni_path, sizeof(share_name)); + unistr2_to_dos(comment, &q_u->info.share.info2.info_2_str.uni_remark, sizeof(share_name)); + unistr2_to_dos(pathname, &q_u->info.share.info2.info_2_str.uni_path, sizeof(share_name)); type = q_u->info.share.info2.info_2.type; psd = NULL; break; case 502: - unistr2_to_ascii(comment, &q_u->info.share.info502.info_502_str.uni_remark, sizeof(share_name)); - unistr2_to_ascii(pathname, &q_u->info.share.info502.info_502_str.uni_path, sizeof(share_name)); + unistr2_to_dos(comment, &q_u->info.share.info502.info_502_str.uni_remark, sizeof(share_name)); + unistr2_to_dos(pathname, &q_u->info.share.info502.info_502_str.uni_path, sizeof(share_name)); type = q_u->info.share.info502.info_502.type; psd = q_u->info.share.info502.info_502_str.sd; map_generic_share_sd_bits(psd); @@ -1456,15 +1456,15 @@ WERROR _srv_net_share_add(pipes_struct *p, SRV_Q_NET_SHARE_ADD *q_u, SRV_R_NET_S /* Not enough info in a level 1 to do anything. */ return WERR_ACCESS_DENIED; case 2: - unistr2_to_ascii(share_name, &q_u->info.share.info2.info_2_str.uni_netname, sizeof(share_name)); - unistr2_to_ascii(comment, &q_u->info.share.info2.info_2_str.uni_remark, sizeof(share_name)); - unistr2_to_ascii(pathname, &q_u->info.share.info2.info_2_str.uni_path, sizeof(share_name)); + unistr2_to_dos(share_name, &q_u->info.share.info2.info_2_str.uni_netname, sizeof(share_name)); + unistr2_to_dos(comment, &q_u->info.share.info2.info_2_str.uni_remark, sizeof(share_name)); + unistr2_to_dos(pathname, &q_u->info.share.info2.info_2_str.uni_path, sizeof(share_name)); type = q_u->info.share.info2.info_2.type; break; case 502: - unistr2_to_ascii(share_name, &q_u->info.share.info502.info_502_str.uni_netname, sizeof(share_name)); - unistr2_to_ascii(comment, &q_u->info.share.info502.info_502_str.uni_remark, sizeof(share_name)); - unistr2_to_ascii(pathname, &q_u->info.share.info502.info_502_str.uni_path, sizeof(share_name)); + unistr2_to_dos(share_name, &q_u->info.share.info502.info_502_str.uni_netname, sizeof(share_name)); + unistr2_to_dos(comment, &q_u->info.share.info502.info_502_str.uni_remark, sizeof(share_name)); + unistr2_to_dos(pathname, &q_u->info.share.info502.info_502_str.uni_path, sizeof(share_name)); type = q_u->info.share.info502.info_502.type; psd = q_u->info.share.info502.info_502_str.sd; map_generic_share_sd_bits(psd); @@ -1543,7 +1543,7 @@ WERROR _srv_net_share_del(pipes_struct *p, SRV_Q_NET_SHARE_DEL *q_u, SRV_R_NET_S DEBUG(5,("_srv_net_share_del: %d\n", __LINE__)); - unistr2_to_ascii(share_name, &q_u->uni_share_name, sizeof(share_name)); + unistr2_to_dos(share_name, &q_u->uni_share_name, sizeof(share_name)); if (strequal(share_name,"IPC$") || strequal(share_name,"ADMIN$") || strequal(share_name,"global")) return WERR_ACCESS_DENIED; @@ -1656,7 +1656,7 @@ WERROR _srv_net_file_query_secdesc(pipes_struct *p, SRV_Q_NET_FILE_QUERY_SECDESC r_u->status = WERR_OK; - unistr2_to_ascii(qualname, &q_u->uni_qual_name, sizeof(qualname)); + unistr2_to_dos(qualname, &q_u->uni_qual_name, sizeof(qualname)); /* Null password is ok - we are already an authenticated user... */ *null_pw = '\0'; @@ -1681,7 +1681,7 @@ WERROR _srv_net_file_query_secdesc(pipes_struct *p, SRV_Q_NET_FILE_QUERY_SECDESC } became_user = True; - unistr2_to_ascii(filename, &q_u->uni_file_name, sizeof(filename)); + unistr2_to_dos(filename, &q_u->uni_file_name, sizeof(filename)); unix_convert(filename, conn, NULL, &bad_path, &st); fsp = open_file_shared(conn, filename, &st, SET_OPEN_MODE(DOS_OPEN_RDONLY), (FILE_FAIL_IF_NOT_EXIST|FILE_EXISTS_OPEN), 0, 0, &access_mode, &action); @@ -1761,7 +1761,7 @@ WERROR _srv_net_file_set_secdesc(pipes_struct *p, SRV_Q_NET_FILE_SET_SECDESC *q_ r_u->status = WERR_OK; - unistr2_to_ascii(qualname, &q_u->uni_qual_name, sizeof(qualname)); + unistr2_to_dos(qualname, &q_u->uni_qual_name, sizeof(qualname)); /* Null password is ok - we are already an authenticated user... */ *null_pw = '\0'; @@ -1786,7 +1786,7 @@ WERROR _srv_net_file_set_secdesc(pipes_struct *p, SRV_Q_NET_FILE_SET_SECDESC *q_ } became_user = True; - unistr2_to_ascii(filename, &q_u->uni_file_name, sizeof(filename)); + unistr2_to_dos(filename, &q_u->uni_file_name, sizeof(filename)); unix_convert(filename, conn, NULL, &bad_path, &st); fsp = open_file_shared(conn, filename, &st, SET_OPEN_MODE(DOS_OPEN_RDWR), @@ -1929,7 +1929,7 @@ WERROR _srv_net_name_validate(pipes_struct *p, SRV_Q_NET_NAME_VALIDATE *q_u, SRV /*check if share name is ok*/ /*also check if we already have a share with this name*/ - unistr2_to_ascii(share_name, &q_u->uni_name, sizeof(share_name)); + unistr2_to_dos(share_name, &q_u->uni_name, sizeof(share_name)); snum = find_service(share_name); /* Share already exists. */ diff --git a/source/rpcclient/cmd_dfs.c b/source/rpcclient/cmd_dfs.c index 8a3c3e9db33..1d90c6a96d6 100644 --- a/source/rpcclient/cmd_dfs.c +++ b/source/rpcclient/cmd_dfs.c @@ -94,7 +94,7 @@ static void display_dfs_info_1(DFS_INFO_1 *info1) { fstring temp; - unistr2_to_ascii(temp, &info1->entrypath, sizeof(temp) - 1); + unistr2_to_unix(temp, &info1->entrypath, sizeof(temp) - 1); printf("entrypath: %s\n", temp); } @@ -104,10 +104,10 @@ static void display_dfs_info_2(DFS_INFO_2 *info2) { fstring temp; - unistr2_to_ascii(temp, &info2->entrypath, sizeof(temp) - 1); + unistr2_to_unix(temp, &info2->entrypath, sizeof(temp) - 1); printf("entrypath: %s\n", temp); - unistr2_to_ascii(temp, &info2->comment, sizeof(temp) - 1); + unistr2_to_unix(temp, &info2->comment, sizeof(temp) - 1); printf("\tcomment: %s\n", temp); printf("\tstate: %d\n", info2->state); @@ -121,10 +121,10 @@ static void display_dfs_info_3(DFS_INFO_3 *info3) fstring temp; int i; - unistr2_to_ascii(temp, &info3->entrypath, sizeof(temp) - 1); + unistr2_to_unix(temp, &info3->entrypath, sizeof(temp) - 1); printf("entrypath: %s\n", temp); - unistr2_to_ascii(temp, &info3->comment, sizeof(temp) - 1); + unistr2_to_unix(temp, &info3->comment, sizeof(temp) - 1); printf("\tcomment: %s\n", temp); printf("\tstate: %d\n", info3->state); @@ -133,10 +133,10 @@ static void display_dfs_info_3(DFS_INFO_3 *info3) for (i = 0; i < info3->num_storages; i++) { DFS_STORAGE_INFO *dsi = &info3->storages[i]; - unistr2_to_ascii(temp, &dsi->servername, sizeof(temp) - 1); + unistr2_to_unix(temp, &dsi->servername, sizeof(temp) - 1); printf("\t\tstorage[%d] servername: %s\n", i, temp); - unistr2_to_ascii(temp, &dsi->sharename, sizeof(temp) - 1); + unistr2_to_unix(temp, &dsi->sharename, sizeof(temp) - 1); printf("\t\tstorage[%d] sharename: %s\n", i, temp); } } diff --git a/source/rpcclient/cmd_netlogon.c b/source/rpcclient/cmd_netlogon.c index 4d67cba1b52..c9ab4393ba2 100644 --- a/source/rpcclient/cmd_netlogon.c +++ b/source/rpcclient/cmd_netlogon.c @@ -82,25 +82,25 @@ static void display_sam_sync(uint32 num_deltas, SAM_DELTA_HDR *hdr_deltas, for (i = 0; i < num_deltas; i++) { switch (hdr_deltas[i].type) { case SAM_DELTA_DOMAIN_INFO: - unistr2_to_ascii(name, + unistr2_to_unix(name, &deltas[i].domain_info.uni_dom_name, sizeof(name) - 1); printf("Domain: %s\n", name); break; case SAM_DELTA_GROUP_INFO: - unistr2_to_ascii(name, + unistr2_to_unix(name, &deltas[i].group_info.uni_grp_name, sizeof(name) - 1); printf("Group: %s\n", name); break; case SAM_DELTA_ACCOUNT_INFO: - unistr2_to_ascii(name, + unistr2_to_unix(name, &deltas[i].account_info.uni_acct_name, sizeof(name) - 1); printf("Account: %s\n", name); break; case SAM_DELTA_ALIAS_INFO: - unistr2_to_ascii(name, + unistr2_to_unix(name, &deltas[i].alias_info.uni_als_name, sizeof(name) - 1); printf("Alias: %s\n", name); diff --git a/source/rpcclient/cmd_reg.c b/source/rpcclient/cmd_reg.c index 787cd4f553a..5ffaeb38610 100644 --- a/source/rpcclient/cmd_reg.c +++ b/source/rpcclient/cmd_reg.c @@ -898,6 +898,8 @@ nt registry shutdown static NTSTATUS cmd_reg_shutdown(struct cli_state *cli, TALLOC_CTX *mem_ctx, int argc, char **argv) { + extern char *optarg; + extern int optind; NTSTATUS result = NT_STATUS_UNSUCCESSFUL; fstring msg; uint32 timeout = 20; diff --git a/source/rpcclient/cmd_samr.c b/source/rpcclient/cmd_samr.c index ed152b9f5c8..2d0760fe135 100644 --- a/source/rpcclient/cmd_samr.c +++ b/source/rpcclient/cmd_samr.c @@ -34,34 +34,34 @@ static void display_sam_user_info_21(SAM_USER_INFO_21 *usr) { fstring temp; - unistr2_to_ascii(temp, &usr->uni_user_name, sizeof(temp)-1); + unistr2_to_unix(temp, &usr->uni_user_name, sizeof(temp)-1); printf("\tUser Name :\t%s\n", temp); - unistr2_to_ascii(temp, &usr->uni_full_name, sizeof(temp)-1); + unistr2_to_unix(temp, &usr->uni_full_name, sizeof(temp)-1); printf("\tFull Name :\t%s\n", temp); - unistr2_to_ascii(temp, &usr->uni_home_dir, sizeof(temp)-1); + unistr2_to_unix(temp, &usr->uni_home_dir, sizeof(temp)-1); printf("\tHome Drive :\t%s\n", temp); - unistr2_to_ascii(temp, &usr->uni_dir_drive, sizeof(temp)-1); + unistr2_to_unix(temp, &usr->uni_dir_drive, sizeof(temp)-1); printf("\tDir Drive :\t%s\n", temp); - unistr2_to_ascii(temp, &usr->uni_profile_path, sizeof(temp)-1); + unistr2_to_unix(temp, &usr->uni_profile_path, sizeof(temp)-1); printf("\tProfile Path:\t%s\n", temp); - unistr2_to_ascii(temp, &usr->uni_logon_script, sizeof(temp)-1); + unistr2_to_unix(temp, &usr->uni_logon_script, sizeof(temp)-1); printf("\tLogon Script:\t%s\n", temp); - unistr2_to_ascii(temp, &usr->uni_acct_desc, sizeof(temp)-1); + unistr2_to_unix(temp, &usr->uni_acct_desc, sizeof(temp)-1); printf("\tDescription :\t%s\n", temp); - unistr2_to_ascii(temp, &usr->uni_workstations, sizeof(temp)-1); + unistr2_to_unix(temp, &usr->uni_workstations, sizeof(temp)-1); printf("\tWorkstations:\t%s\n", temp); - unistr2_to_ascii(temp, &usr->uni_unknown_str, sizeof(temp)-1); + unistr2_to_unix(temp, &usr->uni_unknown_str, sizeof(temp)-1); printf("\tUnknown Str :\t%s\n", temp); - unistr2_to_ascii(temp, &usr->uni_munged_dial, sizeof(temp)-1); + unistr2_to_unix(temp, &usr->uni_munged_dial, sizeof(temp)-1); printf("\tRemote Dial :\t%s\n", temp); printf("\tLogon Time :\t%s\n", @@ -146,10 +146,10 @@ static void display_sam_unk_info_2(SAM_UNK_INFO_2 *info2) { fstring name; - unistr2_to_ascii(name, &info2->uni_domain, sizeof(name) - 1); + unistr2_to_unix(name, &info2->uni_domain, sizeof(name) - 1); printf("Domain:\t%s\n", name); - unistr2_to_ascii(name, &info2->uni_server, sizeof(name) - 1); + unistr2_to_unix(name, &info2->uni_server, sizeof(name) - 1); printf("Server:\t%s\n", name); printf("Total Users:\t%d\n", info2->num_domain_usrs); @@ -175,13 +175,13 @@ static void display_sam_info_1(SAM_ENTRY1 *e1, SAM_STR1 *s1) printf("RID: 0x%x ", e1->rid_user); printf("acb: 0x%x ", e1->acb_info); - unistr2_to_ascii(tmp, &s1->uni_acct_name, sizeof(tmp)-1); + unistr2_to_unix(tmp, &s1->uni_acct_name, sizeof(tmp)-1); printf("Account: %s\t", tmp); - unistr2_to_ascii(tmp, &s1->uni_full_name, sizeof(tmp)-1); + unistr2_to_unix(tmp, &s1->uni_full_name, sizeof(tmp)-1); printf("Name: %s\t", tmp); - unistr2_to_ascii(tmp, &s1->uni_acct_desc, sizeof(tmp)-1); + unistr2_to_unix(tmp, &s1->uni_acct_desc, sizeof(tmp)-1); printf("Desc: %s\n", tmp); } @@ -193,10 +193,10 @@ static void display_sam_info_2(SAM_ENTRY2 *e2, SAM_STR2 *s2) printf("RID: 0x%x ", e2->rid_user); printf("acb: 0x%x ", e2->acb_info); - unistr2_to_ascii(tmp, &s2->uni_srv_name, sizeof(tmp)-1); + unistr2_to_unix(tmp, &s2->uni_srv_name, sizeof(tmp)-1); printf("Account: %s\t", tmp); - unistr2_to_ascii(tmp, &s2->uni_srv_desc, sizeof(tmp)-1); + unistr2_to_unix(tmp, &s2->uni_srv_desc, sizeof(tmp)-1); printf("Name: %s\n", tmp); } @@ -209,10 +209,10 @@ static void display_sam_info_3(SAM_ENTRY3 *e3, SAM_STR3 *s3) printf("RID: 0x%x ", e3->rid_grp); printf("attr: 0x%x ", e3->attr); - unistr2_to_ascii(tmp, &s3->uni_grp_name, sizeof(tmp)-1); + unistr2_to_unix(tmp, &s3->uni_grp_name, sizeof(tmp)-1); printf("Account: %s\t", tmp); - unistr2_to_ascii(tmp, &s3->uni_grp_desc, sizeof(tmp)-1); + unistr2_to_unix(tmp, &s3->uni_grp_desc, sizeof(tmp)-1); printf("Name: %s\n", tmp); } @@ -308,9 +308,9 @@ static void display_group_info1(GROUP_INFO1 *info1) { fstring temp; - unistr2_to_ascii(temp, &info1->uni_acct_name, sizeof(temp)-1); + unistr2_to_unix(temp, &info1->uni_acct_name, sizeof(temp)-1); printf("\tGroup Name:\t%s\n", temp); - unistr2_to_ascii(temp, &info1->uni_acct_desc, sizeof(temp)-1); + unistr2_to_unix(temp, &info1->uni_acct_desc, sizeof(temp)-1); printf("\tDescription:\t%s\n", temp); printf("\tunk1:%d\n", info1->unknown_1); printf("\tNum Members:%d\n", info1->num_members); @@ -323,7 +323,7 @@ static void display_group_info4(GROUP_INFO4 *info4) { fstring desc; - unistr2_to_ascii(desc, &info4->uni_acct_desc, sizeof(desc)-1); + unistr2_to_unix(desc, &info4->uni_acct_desc, sizeof(desc)-1); printf("\tGroup Description:%s\n", desc); } diff --git a/source/rpcclient/cmd_srvsvc.c b/source/rpcclient/cmd_srvsvc.c index 6fbd152dfb5..d6c1fd544f3 100644 --- a/source/rpcclient/cmd_srvsvc.c +++ b/source/rpcclient/cmd_srvsvc.c @@ -142,8 +142,8 @@ static void display_srv_info_101(SRV_INFO_101 *sv101) fstring name; fstring comment; - unistr2_to_ascii(name, &sv101->uni_name, sizeof(name) - 1); - unistr2_to_ascii(comment, &sv101->uni_comment, sizeof(comment) - 1); + unistr2_to_unix(name, &sv101->uni_name, sizeof(name) - 1); + unistr2_to_unix(comment, &sv101->uni_comment, sizeof(comment) - 1); display_server(name, sv101->srv_type, comment); @@ -160,9 +160,9 @@ static void display_srv_info_102(SRV_INFO_102 *sv102) fstring comment; fstring usr_path; - unistr2_to_ascii(name, &sv102->uni_name, sizeof(name) - 1); - unistr2_to_ascii(comment, &sv102->uni_comment, sizeof(comment) - 1); - unistr2_to_ascii(usr_path, &sv102->uni_usr_path, sizeof(usr_path) - 1); + unistr2_to_unix(name, &sv102->uni_name, sizeof(name) - 1); + unistr2_to_unix(comment, &sv102->uni_comment, sizeof(comment) - 1); + unistr2_to_unix(usr_path, &sv102->uni_usr_path, sizeof(usr_path) - 1); display_server(name, sv102->srv_type, comment); diff --git a/source/rpcclient/samsync.c b/source/rpcclient/samsync.c index 15efc1d42bc..c1be521c553 100644 --- a/source/rpcclient/samsync.c +++ b/source/rpcclient/samsync.c @@ -78,7 +78,7 @@ static NTSTATUS sam_sync(struct cli_state *cli, unsigned char trust_passwd[16], a = &deltas[i].account_info; - unistr2_to_ascii(acct_name, &a->uni_acct_name, + unistr2_to_unix(acct_name, &a->uni_acct_name, sizeof(acct_name) - 1); /* Decode hashes from password hash */ diff --git a/source/script/.cvsignore b/source/script/.cvsignore index e69de29bb2d..7a8114ecd73 100644 --- a/source/script/.cvsignore +++ b/source/script/.cvsignore @@ -0,0 +1 @@ +findsmb diff --git a/source/script/findsmb.in b/source/script/findsmb.in index d2aa94591b7..e9bb247da0d 100755 --- a/source/script/findsmb.in +++ b/source/script/findsmb.in @@ -47,7 +47,9 @@ open(NMBLOOKUP,"$SAMBABIN/nmblookup $BCAST '*'|") || # print header info -print "\nIP ADDR NETBIOS NAME WORKGROUP/OS/VERSION $BCAST\n"; +print "\n *=DMB\n"; +print " +=LMB\n"; +print "IP ADDR NETBIOS NAME WORKGROUP/OS/VERSION $BCAST\n"; print "---------------------------------------------------------------------\n"; foreach $ip (@ipaddrs) # loop through each IP address found @@ -61,85 +63,91 @@ foreach $ip (@ipaddrs) # loop through each IP address found @nmblookup = <NMBLOOKUP>; close NMBLOOKUP; -# get the first <00> name +# get the first non group <00> name - @name = grep(/<00>/,@nmblookup); + @name = grep(/<00> - /,@nmblookup); $_ = @name[0]; - if ($_) { # we have a netbios name - if (/GROUP/) { # is it a group name - ($name, $aliases, $type, $length, @addresses) = - gethostbyaddr(pack('C4',split('\.',$ip)),2); - if (! $name) { # could not get name - $name = "unknown nis name"; - } - } else { + if (not $_) { +# try without the -r option + open(NMBLOOKUP,"$SAMBABIN/nmblookup -A $ip|") || + die("Can't get nmb name list.\n"); + @nmblookup = <NMBLOOKUP>; + close NMBLOOKUP; + @name = grep(/<00> - /,@nmblookup); + $_ = @name[0]; + } # The Netbios name can contain lot of characters also '<' '>' -# and spaces. The follwing cure inside name space but not +# and spaces. The follwing cures embedded space but not # names starting or ending with spaces - /(.{1,15})\s+<00>\s+/; - $name = $1; + /(.{1,15})\s+<00>\s+/; + $name = $1; + + if (not $name) { # no netbios name found +# try getting the host name + ($name, $aliases, $type, $length, @addresses) = + gethostbyaddr(pack('C4',split('\.',$ip)),2); + if (! $name) { # could not get name + $name = "unknown name"; } +# truncate name to 15 characters + if (length($name) > 15) { + $name = substr($name,0,15); + } +# do an smbclient command on the ip address + + open(SMB,"$SAMBABIN/smbclient -N -L '$ip' -I $ip -U% |") || + die("Can't do smbclient command.\n"); + @smb = <SMB>; + close SMB; + } else { # netbios name found # do an smbclient command on the netbios name. - open(SMB,"$SAMBABIN/smbclient -N -L $name -I $ip -U% |") || + open(SMB,"$SAMBABIN/smbclient -N -L '$name' -I $ip -U% |") || die("Can't do smbclient command.\n"); @smb = <SMB>; close SMB; - - if ($DEBUG) { # if -d flag print results of nmblookup and smbclient - print "===============================================================\n"; - print @nmblookup; - print @smb; - } + } + if ($DEBUG) { # if -d flag print results of nmblookup and smbclient + print "===============================================================\n"; + print @nmblookup; + print @smb; + } # look for the OS= string - @info = grep(/OS=/,@smb); - $_ = @info[0]; - if ($_) { # we found response - s/Domain=|OS=|Server=|\n//g; # strip out descriptions to make line shorter + @info = grep(/OS=/,@smb); + $_ = @info[0]; + if ($_) { # we found response + s/.*Domain=|OS=|Server=|\n//g; # strip out descriptions to make line shorter - } else { # no OS= string in response (WIN95 client) + } else { # no OS= string in response (WIN95 client) # for WIN95 clients get workgroup name from nmblookup response - @name = grep(/<00> - <GROUP>/,@nmblookup); - $_ = @name[0]; - if ($_) { + @name = grep(/<00> - <GROUP>/,@nmblookup); + $_ = @name[0]; + if ($_) { # Same as before for space and characters - /(.{1,15})\s+<00>\s+/; - $_ = "[$1]"; - } else { - $_ = "Unknown Workgroup"; - } + /(.{1,15})\s+<00>\s+/; + $_ = "[$1]"; + } else { + $_ = "Unknown Workgroup"; } + } # see if machine registered a local master browser name - if (grep(/<1d>/,@nmblookup)) { - $master = '+'; # indicate local master browser - if (grep(/<1b>/,@nmblookup)) { # how about domain master browser? - $master = '*'; # indicate domain master browser - } - } else { - $master = ' '; # not a browse master + if (grep(/<1d>/,@nmblookup)) { + $master = '+'; # indicate local master browser + if (grep(/<1b>/,@nmblookup)) { # how about domain master browser? + $master = '*'; # indicate domain master browser } + } else { + $master = ' '; # not a browse master + } # line up info in 3 columns - print "$ip".' 'x(16-length($ip))."$name".' 'x(14-length($name))."$master"."$_\n"; + print "$ip".' 'x(16-length($ip))."$name".' 'x(16-length($name))."$master"."$_\n"; - } else { # no netbios name found -# try getting the host name - ($name, $aliases, $type, $length, @addresses) = - gethostbyaddr(pack('C4',split('\.',$ip)),2); - if (! $name) { # could not get name - $name = "unknown nis name"; - } - if ($DEBUG) { # if -d flag print results of nmblookup - print "===============================================================\n"; - print @nmblookup; - } - print "$ip".' 'x(16-length($ip))."$name\n"; - } } diff --git a/source/smbd/chgpasswd.c b/source/smbd/chgpasswd.c index bc91d776936..33ecfc5c2ff 100644 --- a/source/smbd/chgpasswd.c +++ b/source/smbd/chgpasswd.c @@ -193,16 +193,16 @@ static int dochild(int master, char *slavedev, char *name, } stermios.c_lflag &= ~(ECHO | ECHOE | ECHOK | ECHONL); stermios.c_lflag |= ICANON; +#ifdef ONLCR stermios.c_oflag &= ~(ONLCR); - if (tcsetattr(0, TCSANOW, &stermios) < 0) - { +#endif + if (tcsetattr(0, TCSANOW, &stermios) < 0) { DEBUG(3, ("could not set attributes of pty\n")); return (False); } /* make us completely into the right uid */ - if (!as_root) - { + if (!as_root) { become_user_permanently(uid, gid); } diff --git a/source/smbd/dfree.c b/source/smbd/dfree.c index abc3637056d..e55e40c030d 100644 --- a/source/smbd/dfree.c +++ b/source/smbd/dfree.c @@ -22,8 +22,9 @@ #include "includes.h" /**************************************************************************** -normalise for DOS usage + Normalise for DOS usage. ****************************************************************************/ + static void disk_norm(BOOL small_query, SMB_BIG_UINT *bsize,SMB_BIG_UINT *dfree,SMB_BIG_UINT *dsize) { /* check if the disk is beyond the max disk size */ @@ -60,7 +61,7 @@ static void disk_norm(BOOL small_query, SMB_BIG_UINT *bsize,SMB_BIG_UINT *dfree, /**************************************************************************** - return number of 1K blocks available on a path and total number + Return number of 1K blocks available on a path and total number. ****************************************************************************/ static SMB_BIG_UINT disk_free(char *path, BOOL small_query, @@ -154,10 +155,10 @@ static SMB_BIG_UINT disk_free(char *path, BOOL small_query, return(dfree_retval); } - /**************************************************************************** -wrap it to get filenames right + Wrap it to get filenames right. ****************************************************************************/ + SMB_BIG_UINT sys_disk_free(const char *path, BOOL small_query, SMB_BIG_UINT *bsize,SMB_BIG_UINT *dfree,SMB_BIG_UINT *dsize) { diff --git a/source/smbd/dir.c b/source/smbd/dir.c index 12e0758596f..cce62870715 100644 --- a/source/smbd/dir.c +++ b/source/smbd/dir.c @@ -559,6 +559,12 @@ BOOL dir_check_ftype(connection_struct *conn,int mode,SMB_STRUCT_STAT *st,int di return True; } +static BOOL mangle_mask_match(connection_struct *conn, char *filename, char *mask) +{ + mangle_map(filename,True,False,SNUM(conn)); + return mask_match(filename,mask,False); +} + /**************************************************************************** Get an 8.3 directory entry. ****************************************************************************/ @@ -604,14 +610,13 @@ BOOL get_dir_entry(connection_struct *conn,char *mask,int dirtype,char *fname, */ if ((strcmp(mask,"*.*") == 0) || mask_match(filename,mask,False) || - (name_map_mangle(filename,True,False,SNUM(conn)) && - mask_match(filename,mask,False))) + mangle_mask_match(conn,filename,mask)) { if (isrootdir && (strequal(filename,"..") || strequal(filename,"."))) continue; - if (!is_8_3(filename, False)) { - name_map_mangle(filename,True,False,SNUM(conn)); + if (!mangle_is_8_3(filename, False)) { + mangle_map(filename,True,False,SNUM(conn)); } pstrcpy(fname,filename); @@ -723,76 +728,83 @@ static BOOL user_can_read_file(connection_struct *conn, char *name) void *OpenDir(connection_struct *conn, char *name, BOOL use_veto) { - Dir *dirp; - char *n; - DIR *p = conn->vfs_ops.opendir(conn,dos_to_unix_static(name)); - int used=0; - - if (!p) return(NULL); - dirp = (Dir *)malloc(sizeof(Dir)); - if (!dirp) { - DEBUG(0,("Out of memory in OpenDir\n")); - conn->vfs_ops.closedir(conn,p); - return(NULL); - } - dirp->pos = dirp->numentries = dirp->mallocsize = 0; - dirp->data = dirp->current = NULL; - - while (True) - { - int l; - - if (used == 0) { - n = "."; - } else if (used == 2) { - n = ".."; - } else { - n = vfs_readdirname(conn, p); - if (n == NULL) - break; - if ((strcmp(".",n) == 0) ||(strcmp("..",n) == 0)) - continue; - } - - l = strlen(n)+1; - - /* Return value of vfs_readdirname has already gone through - unix_to_dos() */ - - /* If it's a vetoed file, pretend it doesn't even exist */ - if (use_veto && conn && IS_VETO_PATH(conn, n)) continue; + Dir *dirp; + char *n; + DIR *p = conn->vfs_ops.opendir(conn,dos_to_unix_static(name)); + int used=0; + + if (!p) + return(NULL); + dirp = (Dir *)malloc(sizeof(Dir)); + if (!dirp) { + DEBUG(0,("Out of memory in OpenDir\n")); + conn->vfs_ops.closedir(conn,p); + return(NULL); + } - /* Honour _hide unreadable_ option */ - if (conn && lp_hideunreadable(SNUM(conn))) { - char *entry; - int ret=0; + dirp->pos = dirp->numentries = dirp->mallocsize = 0; + dirp->data = dirp->current = NULL; + + while (True) { + int l; + BOOL normal_entry = True; + + if (used == 0) { + n = "."; + normal_entry = False; + } else if (used == 2) { + n = ".."; + normal_entry = False; + } else { + n = vfs_readdirname(conn, p); + if (n == NULL) + break; + if ((strcmp(".",n) == 0) ||(strcmp("..",n) == 0)) + continue; + normal_entry = True; + } + + l = strlen(n)+1; + + /* Return value of vfs_readdirname has already gone through + unix_to_dos() */ + + /* If it's a vetoed file, pretend it doesn't even exist */ + if (normal_entry && use_veto && conn && IS_VETO_PATH(conn, n)) + continue; + + /* Honour _hide unreadable_ option */ + if (normal_entry && conn && lp_hideunreadable(SNUM(conn))) { + char *entry; + int ret=0; - if (asprintf(&entry, "%s/%s/%s", conn->origpath, name, n) > 0) { - ret = user_can_read_file(conn, entry); - SAFE_FREE(entry); - } - if (!ret) continue; - } - - if (used + l > dirp->mallocsize) { - int s = MAX(used+l,used+2000); - char *r; - r = (char *)Realloc(dirp->data,s); - if (!r) { - DEBUG(0,("Out of memory in OpenDir\n")); - break; - } - dirp->data = r; - dirp->mallocsize = s; - dirp->current = dirp->data; - } - pstrcpy(dirp->data+used,n); - used += l; - dirp->numentries++; - } + if (asprintf(&entry, "%s/%s/%s", conn->origpath, name, n) > 0) { + ret = user_can_read_file(conn, entry); + SAFE_FREE(entry); + } + if (!ret) + continue; + } + + if (used + l > dirp->mallocsize) { + int s = MAX(used+l,used+2000); + char *r; + r = (char *)Realloc(dirp->data,s); + if (!r) { + DEBUG(0,("Out of memory in OpenDir\n")); + break; + } + dirp->data = r; + dirp->mallocsize = s; + dirp->current = dirp->data; + } + pstrcpy(dirp->data+used,n); + used += l; + dirp->numentries++; + } - conn->vfs_ops.closedir(conn,p); - return((void *)dirp); + conn->vfs_ops.closedir(conn,p); + return((void *)dirp); } diff --git a/source/smbd/filename.c b/source/smbd/filename.c index 90c3db1f9c7..51246dbc056 100644 --- a/source/smbd/filename.c +++ b/source/smbd/filename.c @@ -39,59 +39,29 @@ static BOOL scan_directory(char *path, char *name,connection_struct *conn,BOOL d Check if two filenames are equal. This needs to be careful about whether we are case sensitive. ****************************************************************************/ + static BOOL fname_equal(char *name1, char *name2) { - int l1 = strlen(name1); - int l2 = strlen(name2); - - /* handle filenames ending in a single dot */ - if (l1-l2 == 1 && name1[l1-1] == '.' && lp_strip_dot()) - { - BOOL ret; - name1[l1-1] = 0; - ret = fname_equal(name1,name2); - name1[l1-1] = '.'; - return(ret); - } - - if (l2-l1 == 1 && name2[l2-1] == '.' && lp_strip_dot()) - { - BOOL ret; - name2[l2-1] = 0; - ret = fname_equal(name1,name2); - name2[l2-1] = '.'; - return(ret); - } - - /* now normal filename handling */ - if (case_sensitive) - return(strcmp(name1,name2) == 0); - - return(strequal(name1,name2)); -} + /* Normal filename handling */ + if (case_sensitive) + return(strcmp(name1,name2) == 0); + return(strequal(name1,name2)); +} /**************************************************************************** Mangle the 2nd name and check if it is then equal to the first name. ****************************************************************************/ -static BOOL mangled_equal(char *name1, char *name2, int snum) -{ - pstring tmpname; - - if (is_8_3(name2, True)) - return(False); - pstrcpy(tmpname,name2); -#if 1 - mangle_name_83(tmpname); -#else - name_map_mangle(tmpname,True,False,snum); -#endif +static BOOL mangled_equal(char *name1, const char *name2, int snum) +{ + pstring tmpname; - return(strequal(name1,tmpname)); + pstrcpy(tmpname,name2); + mangle_map(tmpname,True,False,snum); + return strequal(name1,tmpname); } - /**************************************************************************** This routine is called to convert names from the dos namespace to unix namespace. It needs to handle any case conversions, mangling, format @@ -122,413 +92,395 @@ for nlinks = 0, which can never be true for any file). BOOL unix_convert(char *name,connection_struct *conn,char *saved_last_component, BOOL *bad_path, SMB_STRUCT_STAT *pst) { - SMB_STRUCT_STAT st; - char *start, *end; - pstring dirpath; - pstring orig_path; - BOOL component_was_mangled = False; - BOOL name_has_wildcard = False; + SMB_STRUCT_STAT st; + char *start, *end; + pstring dirpath; + pstring orig_path; + BOOL component_was_mangled = False; + BOOL name_has_wildcard = False; #if 0 - /* Andrew's conservative code... JRA. */ - extern char magic_char; + /* Andrew's conservative code... JRA. */ + extern char magic_char; #endif - ZERO_STRUCTP(pst); - - *dirpath = 0; - *bad_path = False; - if(saved_last_component) - *saved_last_component = 0; - - if (conn->printer) { - /* we don't ever use the filenames on a printer share as a - filename - so don't convert them */ - return True; - } - - DEBUG(5, ("unix_convert called on file \"%s\"\n", name)); - - /* - * Convert to basic unix format - removing \ chars and cleaning it up. - */ - - unix_format(name); - unix_clean_name(name); - - /* - * Names must be relative to the root of the service - trim any leading /. - * also trim trailing /'s. - */ - - trim_string(name,"/","/"); - - /* - * If we trimmed down to a single '\0' character - * then we should use the "." directory to avoid - * searching the cache, but not if we are in a - * printing share. - */ - - if (!*name) { - name[0] = '.'; - name[1] = '\0'; - } - - /* - * Ensure saved_last_component is valid even if file exists. - */ - - if(saved_last_component) { - end = strrchr(name, '/'); - if(end) - pstrcpy(saved_last_component, end + 1); - else - pstrcpy(saved_last_component, name); - } - - if (!case_sensitive && - (!case_preserve || (is_8_3(name, False) && !short_case_preserve))) - strnorm(name); + ZERO_STRUCTP(pst); - /* - * If we trimmed down to a single '\0' character - * then we will be using the "." directory. - * As we know this is valid we can return true here. - */ + *dirpath = 0; + *bad_path = False; + if(saved_last_component) + *saved_last_component = 0; - if(!*name) - return(True); + if (conn->printer) { + /* we don't ever use the filenames on a printer share as a + filename - so don't convert them */ + return True; + } - start = name; - while (strncmp(start,"./",2) == 0) - start += 2; - - pstrcpy(orig_path, name); - - if(stat_cache_lookup(conn, name, dirpath, &start, &st)) { - *pst = st; - return True; - } - - /* - * stat the name - if it exists then we are all done! - */ - - if (vfs_stat(conn,name,&st) == 0) { - stat_cache_add(orig_path, name); - DEBUG(5,("conversion finished %s -> %s\n",orig_path, name)); - *pst = st; - return(True); - } - - DEBUG(5,("unix_convert begin: name = %s, dirpath = %s, start = %s\n", - name, dirpath, start)); - - /* - * A special case - if we don't have any mangling chars and are case - * sensitive then searching won't help. - */ - - if (case_sensitive && !is_mangled(name) && - !lp_strip_dot() && !use_mangled_map) - return(False); - - name_has_wildcard = ms_has_wild(start); - - /* - * is_mangled() was changed to look at an entire pathname, not - * just a component. JRA. - */ - - if(is_mangled(start)) - component_was_mangled = True; - -#if 0 - /* Keep Andrew's conservative code around, just in case. JRA. */ - /* this is an extremely conservative test for mangled names. */ - if (strchr(start,magic_char)) - component_was_mangled = True; -#endif - - /* - * Now we need to recursively match the name against the real - * directory structure. - */ - - /* - * Match each part of the path name separately, trying the names - * as is first, then trying to scan the directory for matching names. - */ - - for (; start ; start = (end?end+1:(char *)NULL)) { - /* - * Pinpoint the end of this section of the filename. - */ - end = strchr(start, '/'); - - /* - * Chop the name at this point. - */ - if (end) - *end = 0; - - if(saved_last_component != 0) - pstrcpy(saved_last_component, end ? end + 1 : start); - - /* - * Check if the name exists up to this point. - */ - - if (vfs_stat(conn,name, &st) == 0) { - /* - * It exists. it must either be a directory or this must be - * the last part of the path for it to be OK. - */ - if (end && !(st.st_mode & S_IFDIR)) { - /* - * An intermediate part of the name isn't a directory. - */ - DEBUG(5,("Not a dir %s\n",start)); - *end = '/'; - return(False); - } - - } else { - pstring rest; - - /* Stat failed - ensure we don't use it. */ - ZERO_STRUCT(st); - *rest = 0; - - /* - * Remember the rest of the pathname so it can be restored - * later. - */ - - if (end) - pstrcpy(rest,end+1); - - /* - * Try to find this part of the path in the directory. - */ - - if (ms_has_wild(start) || !scan_directory(dirpath, start, conn, end?True:False)) { - if (end) { - /* - * An intermediate part of the name can't be found. - */ - DEBUG(5,("Intermediate not found %s\n",start)); - *end = '/'; - - /* - * We need to return the fact that the intermediate - * name resolution failed. This is used to return an - * error of ERRbadpath rather than ERRbadfile. Some - * Windows applications depend on the difference between - * these two errors. - */ - *bad_path = True; - return(False); - } + DEBUG(5, ("unix_convert called on file \"%s\"\n", name)); + + /* + * Convert to basic unix format - removing \ chars and cleaning it up. + */ + + unix_format(name); + unix_clean_name(name); + + /* + * Names must be relative to the root of the service - trim any leading /. + * also trim trailing /'s. + */ + + trim_string(name,"/","/"); + + /* + * If we trimmed down to a single '\0' character + * then we should use the "." directory to avoid + * searching the cache, but not if we are in a + * printing share. + */ + + if (!*name) { + name[0] = '.'; + name[1] = '\0'; + } + + /* + * Ensure saved_last_component is valid even if file exists. + */ + + if(saved_last_component) { + end = strrchr(name, '/'); + if(end) + pstrcpy(saved_last_component, end + 1); + else + pstrcpy(saved_last_component, name); + } + + if (!case_sensitive && (!case_preserve || (mangle_is_8_3(name, False) && !short_case_preserve))) + strnorm(name); + + /* + * If we trimmed down to a single '\0' character + * then we will be using the "." directory. + * As we know this is valid we can return true here. + */ + + if(!*name) + return(True); + + start = name; + while (strncmp(start,"./",2) == 0) + start += 2; + + pstrcpy(orig_path, name); + + if(stat_cache_lookup(conn, name, dirpath, &start, &st)) { + *pst = st; + return True; + } + + /* + * stat the name - if it exists then we are all done! + */ + + if (vfs_stat(conn,name,&st) == 0) { + stat_cache_add(orig_path, name); + DEBUG(5,("conversion finished %s -> %s\n",orig_path, name)); + *pst = st; + return(True); + } + + DEBUG(5,("unix_convert begin: name = %s, dirpath = %s, start = %s\n", name, dirpath, start)); + + /* + * A special case - if we don't have any mangling chars and are case + * sensitive then searching won't help. + */ + + if (case_sensitive && !mangle_is_mangled(name) && !use_mangled_map) + return(False); + + name_has_wildcard = ms_has_wild(start); + + /* + * is_mangled() was changed to look at an entire pathname, not + * just a component. JRA. + */ + + if(mangle_is_mangled(start)) + component_was_mangled = True; + + /* + * Now we need to recursively match the name against the real + * directory structure. + */ + + /* + * Match each part of the path name separately, trying the names + * as is first, then trying to scan the directory for matching names. + */ + + for (; start ; start = (end?end+1:(char *)NULL)) { + /* + * Pinpoint the end of this section of the filename. + */ + end = strchr(start, '/'); + + /* + * Chop the name at this point. + */ + if (end) + *end = 0; + + if(saved_last_component != 0) + pstrcpy(saved_last_component, end ? end + 1 : start); + + /* + * Check if the name exists up to this point. + */ + + if (vfs_stat(conn,name, &st) == 0) { + /* + * It exists. it must either be a directory or this must be + * the last part of the path for it to be OK. + */ + if (end && !(st.st_mode & S_IFDIR)) { + /* + * An intermediate part of the name isn't a directory. + */ + DEBUG(5,("Not a dir %s\n",start)); + *end = '/'; + return(False); + } + + } else { + pstring rest; + + /* Stat failed - ensure we don't use it. */ + ZERO_STRUCT(st); + *rest = 0; + + /* + * Remember the rest of the pathname so it can be restored + * later. + */ + + if (end) + pstrcpy(rest,end+1); + + /* + * Try to find this part of the path in the directory. + */ + + if (ms_has_wild(start) || !scan_directory(dirpath, start, conn, end?True:False)) { + if (end) { + /* + * An intermediate part of the name can't be found. + */ + DEBUG(5,("Intermediate not found %s\n",start)); + *end = '/'; + + /* + * We need to return the fact that the intermediate + * name resolution failed. This is used to return an + * error of ERRbadpath rather than ERRbadfile. Some + * Windows applications depend on the difference between + * these two errors. + */ + *bad_path = True; + return(False); + } - /* - * Just the last part of the name doesn't exist. - * We may need to strupper() or strlower() it in case - * this conversion is being used for file creation - * purposes. If the filename is of mixed case then - * don't normalise it. - */ - - if (!case_preserve && (!strhasupper(start) || !strhaslower(start))) - strnorm(start); - - /* - * check on the mangled stack to see if we can recover the - * base of the filename. - */ - - if (is_mangled(start)) { - check_mangled_cache( start ); - } - - DEBUG(5,("New file %s\n",start)); - return(True); - } - - /* - * Restore the rest of the string. If the string was mangled the size - * may have changed. - */ - if (end) { - end = start + strlen(start); - pstrcat(start,"/"); - pstrcat(start,rest); - *end = '\0'; - } - } /* end else */ - - /* - * Add to the dirpath that we have resolved so far. - */ - if (*dirpath) - pstrcat(dirpath,"/"); - - pstrcat(dirpath,start); - - /* - * Don't cache a name with mangled or wildcard components - * as this can change the size. - */ - - if(!component_was_mangled && !name_has_wildcard) - stat_cache_add(orig_path, dirpath); - - /* - * Restore the / that we wiped out earlier. - */ - if (end) - *end = '/'; - } + /* + * Just the last part of the name doesn't exist. + * We may need to strupper() or strlower() it in case + * this conversion is being used for file creation + * purposes. If the filename is of mixed case then + * don't normalise it. + */ + + if (!case_preserve && (!strhasupper(start) || !strhaslower(start))) + strnorm(start); + + /* + * check on the mangled stack to see if we can recover the + * base of the filename. + */ + + if (mangle_is_mangled(start)) { + mangle_check_cache( start ); + } + + DEBUG(5,("New file %s\n",start)); + return(True); + } + + /* + * Restore the rest of the string. If the string was mangled the size + * may have changed. + */ + if (end) { + end = start + strlen(start); + pstrcat(start,"/"); + pstrcat(start,rest); + *end = '\0'; + } + } /* end else */ + + /* + * Add to the dirpath that we have resolved so far. + */ + if (*dirpath) + pstrcat(dirpath,"/"); + + pstrcat(dirpath,start); + + /* + * Don't cache a name with mangled or wildcard components + * as this can change the size. + */ + + if(!component_was_mangled && !name_has_wildcard) + stat_cache_add(orig_path, dirpath); + + /* + * Restore the / that we wiped out earlier. + */ + if (end) + *end = '/'; + } - /* - * Don't cache a name with mangled or wildcard components - * as this can change the size. - */ + /* + * Don't cache a name with mangled or wildcard components + * as this can change the size. + */ - if(!component_was_mangled && !name_has_wildcard) - stat_cache_add(orig_path, name); + if(!component_was_mangled && !name_has_wildcard) + stat_cache_add(orig_path, name); - /* - * If we ended up resolving the entire path then return a valid - * stat struct if we got one. - */ + /* + * If we ended up resolving the entire path then return a valid + * stat struct if we got one. + */ - if (VALID_STAT(st) && (strlen(orig_path) == strlen(name))) - *pst = st; + if (VALID_STAT(st) && (strlen(orig_path) == strlen(name))) + *pst = st; - /* - * The name has been resolved. - */ + /* + * The name has been resolved. + */ - DEBUG(5,("conversion finished %s -> %s\n",orig_path, name)); - return(True); + DEBUG(5,("conversion finished %s -> %s\n",orig_path, name)); + return(True); } - /**************************************************************************** -check a filename - possibly caling reducename - -This is called by every routine before it allows an operation on a filename. -It does any final confirmation necessary to ensure that the filename is -a valid one for the user to access. + Check a filename - possibly caling reducename. + This is called by every routine before it allows an operation on a filename. + It does any final confirmation necessary to ensure that the filename is + a valid one for the user to access. ****************************************************************************/ + BOOL check_name(char *name,connection_struct *conn) { - BOOL ret; + BOOL ret; - errno = 0; + errno = 0; - if (IS_VETO_PATH(conn, name)) { - DEBUG(5,("file path name %s vetoed\n",name)); - return(0); - } + if(IS_VETO_PATH(conn, name)) { + if(strcmp(name, ".") && strcmp(name, "..")) { + DEBUG(5,("file path name %s vetoed\n",name)); + return(0); + } + } - ret = reduce_name(conn,name,conn->connectpath,lp_widelinks(SNUM(conn))); + ret = reduce_name(conn,name,conn->connectpath,lp_widelinks(SNUM(conn))); - /* Check if we are allowing users to follow symlinks */ - /* Patch from David Clerc <David.Clerc@cui.unige.ch> - University of Geneva */ + /* Check if we are allowing users to follow symlinks */ + /* Patch from David Clerc <David.Clerc@cui.unige.ch> + University of Geneva */ #ifdef S_ISLNK - if (!lp_symlinks(SNUM(conn))) { - SMB_STRUCT_STAT statbuf; - if ( (conn->vfs_ops.lstat(conn,dos_to_unix_static(name),&statbuf) != -1) && - (S_ISLNK(statbuf.st_mode)) ) { - DEBUG(3,("check_name: denied: file path name %s is a symlink\n",name)); - ret=0; - } - } + if (!lp_symlinks(SNUM(conn))) { + SMB_STRUCT_STAT statbuf; + if ( (conn->vfs_ops.lstat(conn,dos_to_unix_static(name),&statbuf) != -1) && + (S_ISLNK(statbuf.st_mode)) ) { + DEBUG(3,("check_name: denied: file path name %s is a symlink\n",name)); + ret=0; + } + } #endif - if (!ret) - DEBUG(5,("check_name on %s failed\n",name)); + if (!ret) + DEBUG(5,("check_name on %s failed\n",name)); - return(ret); + return(ret); } - /**************************************************************************** -scan a directory to find a filename, matching without case sensitivity - -If the name looks like a mangled name then try via the mangling functions + Scan a directory to find a filename, matching without case sensitivity. + If the name looks like a mangled name then try via the mangling functions ****************************************************************************/ + static BOOL scan_directory(char *path, char *name,connection_struct *conn,BOOL docache) { - void *cur_dir; - char *dname; - BOOL mangled; - pstring name2; - - mangled = is_mangled(name); - - /* handle null paths */ - if (*path == 0) - path = "."; - - if (docache && (dname = DirCacheCheck(path,name,SNUM(conn)))) { - pstrcpy(name, dname); - return(True); - } - - /* - * The incoming name can be mangled, and if we de-mangle it - * here it will not compare correctly against the filename (name2) - * read from the directory and then mangled by the name_map_mangle() - * call. We need to mangle both names or neither. - * (JRA). - */ - if (mangled) - mangled = !check_mangled_cache( name ); - - /* open the directory */ - if (!(cur_dir = OpenDir(conn, path, True))) { - DEBUG(3,("scan dir didn't open dir [%s]\n",path)); - return(False); - } - - /* now scan for matching names */ - while ((dname = ReadDirName(cur_dir))) { - if (*dname == '.' && (strequal(dname,".") || strequal(dname,".."))) - continue; - - /* - * dname here is the unmangled name. - */ - pstrcpy(name2,dname); - if (!name_map_mangle(name2,False,True,SNUM(conn))) - continue; - - /* - * At this point name2 is the mangled name, dname is the unmangled name. - * name is either mangled or not, depending on the state of the "mangled" - * variable. JRA. - */ - - /* - * Check mangled name against mangled name, or unmangled name - * against unmangled name. - */ - - if ((mangled && mangled_equal(name,name2,SNUM(conn))) || fname_equal(name, dname)) { - /* we've found the file, change it's name and return */ - if (docache) - DirCacheAdd(path,name,dname,SNUM(conn)); - pstrcpy(name, dname); - CloseDir(cur_dir); - return(True); - } - } - - CloseDir(cur_dir); - return(False); + void *cur_dir; + char *dname; + BOOL mangled; + + mangled = mangle_is_mangled(name); + + /* handle null paths */ + if (*path == 0) + path = "."; + + if (docache && (dname = DirCacheCheck(path,name,SNUM(conn)))) { + pstrcpy(name, dname); + return(True); + } + + /* + * The incoming name can be mangled, and if we de-mangle it + * here it will not compare correctly against the filename (name2) + * read from the directory and then mangled by the name_map_mangle() + * call. We need to mangle both names or neither. + * (JRA). + */ + if (mangled) + mangled = !mangle_check_cache( name ); + + /* open the directory */ + if (!(cur_dir = OpenDir(conn, path, True))) { + DEBUG(3,("scan dir didn't open dir [%s]\n",path)); + return(False); + } + + /* now scan for matching names */ + while ((dname = ReadDirName(cur_dir))) { + if (*dname == '.' && (strequal(dname,".") || strequal(dname,".."))) + continue; + + /* + * At this point dname is the unmangled name. + * name is either mangled or not, depending on the state of the "mangled" + * variable. JRA. + */ + + /* + * Check mangled name against mangled name, or unmangled name + * against unmangled name. + */ + + if ((mangled && mangled_equal(name,dname,SNUM(conn))) || fname_equal(name, dname)) { + /* we've found the file, change it's name and return */ + if (docache) + DirCacheAdd(path,name,dname,SNUM(conn)); + pstrcpy(name, dname); + CloseDir(cur_dir); + return(True); + } + } + + CloseDir(cur_dir); + return(False); } diff --git a/source/smbd/mangle.c b/source/smbd/mangle.c index ee1f24931a5..4b8132a7ebe 100644 --- a/source/smbd/mangle.c +++ b/source/smbd/mangle.c @@ -1,8 +1,7 @@ /* - Unix SMB/Netbios implementation. - Version 1.9. - Name mangling - Copyright (C) Andrew Tridgell 1992-1998 + Unix SMB/CIFS implementation. + Name mangling interface + Copyright (C) Andrew Tridgell 2002 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 @@ -19,1014 +18,106 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -/* -------------------------------------------------------------------------- ** - * Notable problems... - * - * March/April 1998 CRH - * - Many of the functions in this module overwrite string buffers passed to - * them. This causes a variety of problems and is, generally speaking, - * dangerous and scarry. See the kludge notes in name_map_mangle() - * below. - * - It seems that something is calling name_map_mangle() twice. The - * first call is probably some sort of test. Names which contain - * illegal characters are being doubly mangled. I'm not sure, but - * I'm guessing the problem is in server.c. - * - * -------------------------------------------------------------------------- ** - */ - -/* -------------------------------------------------------------------------- ** - * History... - * - * March/April 1998 CRH - * Updated a bit. Rewrote is_mangled() to be a bit more selective. - * Rewrote the mangled name cache. Added comments here and there. - * &c. - * -------------------------------------------------------------------------- ** - */ - #include "includes.h" +static struct mangle_fns *mangle_fns; -/* -------------------------------------------------------------------------- ** - * External Variables... - */ - -extern int case_default; /* Are conforming 8.3 names all upper or lower? */ -extern BOOL case_mangle; /* If true, all chars in 8.3 should be same case. */ - -/* -------------------------------------------------------------------------- ** - * Other stuff... - * - * magic_char - This is the magic char used for mangling. It's - * global. There is a call to lp_magicchar() in server.c - * that is used to override the initial value. - * - * MANGLE_BASE - This is the number of characters we use for name mangling. - * - * basechars - The set characters used for name mangling. This - * is static (scope is this file only). - * - * mangle() - Macro used to select a character from basechars (i.e., - * mangle(n) will return the nth digit, modulo MANGLE_BASE). - * - * chartest - array 0..255. The index range is the set of all possible - * values of a byte. For each byte value, the content is a - * two nibble pair. See BASECHAR_MASK and ILLEGAL_MASK, - * below. - * - * ct_initialized - False until the chartest array has been initialized via - * a call to init_chartest(). - * - * BASECHAR_MASK - Masks the upper nibble of a one-byte value. - * - * ILLEGAL_MASK - Masks the lower nibble of a one-byte value. - * - * isbasecahr() - Given a character, check the chartest array to see - * if that character is in the basechars set. This is - * faster than using strchr(). - * - * isillegal() - Given a character, check the chartest array to see - * if that character is in the illegal characters set. - * This is faster than using strchr(). - * - * mangled_cache - Cache header used for storing mangled -> original - * reverse maps. - * - * mc_initialized - False until the mangled_cache structure has been - * initialized via a call to reset_mangled_cache(). - * - * MANGLED_CACHE_MAX_ENTRIES - Default maximum number of entries for the - * cache. A value of 0 indicates "infinite". - * - * MANGLED_CACHE_MAX_MEMORY - Default maximum amount of memory for the - * cache. When the cache was kept as an array of 256 - * byte strings, the default cache size was 50 entries. - * This required a fixed 12.5Kbytes of memory. The - * mangled stack parameter is no longer used (though - * this might change). We're now using a fixed 16Kbyte - * maximum cache size. This will probably be much more - * than 50 entries. - */ - -char magic_char = '~'; - -static char basechars[] = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_-!@#$%"; -#define MANGLE_BASE (sizeof(basechars)/sizeof(char)-1) - -static unsigned char chartest[256] = { 0 }; -static BOOL ct_initialized = False; - -#define mangle(V) ((char)(basechars[(V) % MANGLE_BASE])) -#define BASECHAR_MASK 0xf0 -#define ILLEGAL_MASK 0x0f -#define isbasechar(C) ( (chartest[ ((C) & 0xff) ]) & BASECHAR_MASK ) -#define isillegal(C) ( (chartest[ ((C) & 0xff) ]) & ILLEGAL_MASK ) - -static ubi_cacheRoot mangled_cache[1] = { { { 0, 0, 0, 0 }, 0, 0, 0, 0, 0, 0 } }; -static BOOL mc_initialized = False; -#define MANGLED_CACHE_MAX_ENTRIES 1024 -#define MANGLED_CACHE_MAX_MEMORY 0 - - -/* -------------------------------------------------------------------------- ** - * Functions... - */ - -/* ************************************************************************** ** - * Initialize the static character test array. - * - * Input: none - * - * Output: none - * - * Notes: This function changes (loads) the contents of the <chartest> - * array. The scope of <chartest> is this file. - * - * ************************************************************************** ** - */ -static void init_chartest( void ) - { - char *illegalchars = "*\\/?<>|\":"; - unsigned char *s; - - memset( (char *)chartest, '\0', 256 ); - - for( s = (unsigned char *)illegalchars; *s; s++ ) - chartest[*s] = ILLEGAL_MASK; - - for( s = (unsigned char *)basechars; *s; s++ ) - chartest[*s] |= BASECHAR_MASK; - - ct_initialized = True; - } /* init_chartest */ - -/* ************************************************************************** ** - * Return True if a name is a special msdos reserved name. - * - * Input: fname - String containing the name to be tested. - * - * Output: True, if the name matches one of the list of reserved names. - * - * Notes: This is a static function called by is_8_3(), below. - * - * ************************************************************************** ** - */ -static BOOL is_reserved_msdos( char *fname ) - { - char upperFname[13]; - char *p; - - StrnCpy (upperFname, fname, 12); - - /* lpt1.txt and con.txt etc are also illegal */ - p = strchr(upperFname,'.'); - if( p ) - *p = '\0'; - - strupper( upperFname ); - p = upperFname + 1; - switch( upperFname[0] ) - { - case 'A': - if( 0 == strcmp( p, "UX" ) ) - return( True ); - break; - case 'C': - if( (0 == strcmp( p, "LOCK$" )) - || (0 == strcmp( p, "ON" )) - || (0 == strcmp( p, "OM1" )) - || (0 == strcmp( p, "OM2" )) - || (0 == strcmp( p, "OM3" )) - || (0 == strcmp( p, "OM4" )) - ) - return( True ); - break; - case 'L': - if( (0 == strcmp( p, "PT1" )) - || (0 == strcmp( p, "PT2" )) - || (0 == strcmp( p, "PT3" )) - ) - return( True ); - break; - case 'N': - if( 0 == strcmp( p, "UL" ) ) - return( True ); - break; - case 'P': - if( 0 == strcmp( p, "RN" ) ) - return( True ); - break; - } - - return( False ); - } /* is_reserved_msdos */ - -/* ************************************************************************** ** - * Determine whether or not a given name contains illegal characters, even - * long names. - * - * Input: name - The name to be tested. - * - * Output: True if an illegal character was found in <name>, else False. - * - * Notes: This is used to test a name on the host system, long or short, - * for characters that would be illegal on most client systems, - * particularly DOS and Windows systems. Unix and AmigaOS, for - * example, allow a filenames which contain such oddities as - * quotes ("). If a name is found which does contain an illegal - * character, it is mangled even if it conforms to the 8.3 - * format. - * - * ************************************************************************** ** - */ -static BOOL is_illegal_name( char *name ) - { - unsigned char *s; - int skip; - - if( !name ) - return( True ); - - if( !ct_initialized ) - init_chartest(); - - s = (unsigned char *)name; - while( *s ) - { - skip = get_character_len( *s ); - if( skip != 0 ) - { - s += skip; - } - else - { - if( isillegal( *s ) ) - return( True ); - else - s++; - } - } +/* this allows us to add more mangling backends */ +static struct { + char *name; + struct mangle_fns *(*init_fn)(void); +} mangle_backends[] = { + { "hash", mangle_hash_init }, + { "hash2", mangle_hash2_init }, + { NULL, NULL } +}; - return( False ); - } /* is_illegal_name */ - -/* ************************************************************************** ** - * Return True if the name *could be* a mangled name. - * - * Input: s - A path name - in UNIX pathname format. - * - * Output: True if the name matches the pattern described below in the - * notes, else False. - * - * Notes: The input name is *not* tested for 8.3 compliance. This must be - * done separately. This function returns true if the name contains - * a magic character followed by excactly two characters from the - * basechars list (above), which in turn are followed either by the - * nul (end of string) byte or a dot (extension) or by a '/' (end of - * a directory name). - * - * ************************************************************************** ** - */ -BOOL is_mangled( char *s ) +/* + initialise the mangling subsystem +*/ +static void mangle_init(void) { - char *magic; - BOOL ret = False; - - if( !ct_initialized ) - init_chartest(); - - magic = strchr( s, magic_char ); - while( magic && magic[1] && magic[2] ) { - /* 3 chars, 1st is magic. */ - if( ('.' == magic[3] || '/' == magic[3] || !(magic[3])) /* Ends with '.' or nul or '/' ? */ - && isbasechar( toupper(magic[1]) ) /* is 2nd char basechar? */ - && isbasechar( toupper(magic[2]) ) ) /* is 3rd char basechar? */ - ret = ( True ); /* If all above, then true, */ - magic = strchr( magic+1, magic_char ); /* else seek next magic. */ - } - - DEBUG(10,("is_mangled: %s : %s\n", s, ret ? "True" : "False")); - - return ret; -} /* is_mangled */ - -/* ************************************************************************** ** - * Return True if the name is a valid DOS name in 8.3 DOS format. - * - * Input: fname - File name to be checked. - * check_case - If True, and if case_mangle is True, then the - * name will be checked to see if all characters - * are the correct case. See case_mangle and - * case_default above. - * - * Output: True if the name is a valid DOS name, else False. - * - * ************************************************************************** ** - */ -BOOL is_8_3( char *fname, BOOL check_case ) - { - int len; - int l; - int skip; - char *p; - char *dot_pos; - char *slash_pos = strrchr( fname, '/' ); - - /* If there is a directory path, skip it. */ - if( slash_pos ) - fname = slash_pos + 1; - len = strlen( fname ); - - DEBUG( 5, ( "Checking %s for 8.3\n", fname ) ); - - /* Can't be 0 chars or longer than 12 chars */ - if( (len == 0) || (len > 12) ) - return( False ); - - /* Mustn't be an MS-DOS Special file such as lpt1 or even lpt1.txt */ - if( is_reserved_msdos( fname ) ) - return( False ); - - /* Check that all characters are the correct case, if asked to do so. */ - if( check_case && case_mangle ) - { - switch( case_default ) - { - case CASE_LOWER: - if( strhasupper( fname ) ) - return(False); - break; - case CASE_UPPER: - if( strhaslower( fname ) ) - return(False); - break; - } - } - - /* Can't contain invalid dos chars */ - /* Windows use the ANSI charset. - But filenames are translated in the PC charset. - This Translation may be more or less relaxed depending - the Windows application. */ - - /* %%% A nice improvment to name mangling would be to translate - filename to ANSI charset on the smb server host */ - - p = fname; - dot_pos = NULL; - while( *p ) - { - if( (skip = get_character_len( *p )) != 0 ) - p += skip; - else - { - if( *p == '.' && !dot_pos ) - dot_pos = (char *)p; - else - if( !isdoschar( *p ) ) - return( False ); - p++; - } - } - - /* no dot and less than 9 means OK */ - if( !dot_pos ) - return( len <= 8 ); - - l = PTR_DIFF( dot_pos, fname ); - - /* base must be at least 1 char except special cases . and .. */ - if( l == 0 ) - return( 0 == strcmp( fname, "." ) || 0 == strcmp( fname, ".." ) ); - - /* base can't be greater than 8 */ - if( l > 8 ) - return( False ); - - /* see smb.conf(5) for a description of the 'strip dot' parameter. */ - if( lp_strip_dot() - && len - l == 1 - && !strchr( dot_pos + 1, '.' ) ) - { - *dot_pos = 0; - return( True ); - } - - /* extension must be between 1 and 3 */ - if( (len - l < 2 ) || (len - l > 4) ) - return( False ); - - /* extensions may not have a dot */ - if( strchr( dot_pos+1, '.' ) ) - return( False ); - - /* must be in 8.3 format */ - return( True ); - } /* is_8_3 */ - - -/* ************************************************************************** ** - * Compare two cache keys and return a value indicating their ordinal - * relationship. - * - * Input: ItemPtr - Pointer to a comparison key. In this case, this will - * be a mangled name string. - * NodePtr - Pointer to a node in the cache. The node structure - * will be followed in memory by a mangled name string. - * - * Output: A signed integer, as follows: - * (x < 0) <==> Key1 less than Key2 - * (x == 0) <==> Key1 equals Key2 - * (x > 0) <==> Key1 greater than Key2 - * - * Notes: This is a ubiqx-style comparison routine. See ubi_BinTree for - * more info. - * - * ************************************************************************** ** - */ -static signed int cache_compare( ubi_btItemPtr ItemPtr, ubi_btNodePtr NodePtr ) - { - char *Key1 = (char *)ItemPtr; - char *Key2 = (char *)(((ubi_cacheEntryPtr)NodePtr) + 1); - - DEBUG(100,("cache_compare: %s %s\n", Key1, Key2)); - - return( StrCaseCmp( Key1, Key2 ) ); - } /* cache_compare */ - -/* ************************************************************************** ** - * Free a cache entry. - * - * Input: WarrenZevon - Pointer to the entry that is to be returned to - * Nirvana. - * Output: none. - * - * Notes: This function gets around the possibility that the standard - * free() function may be implemented as a macro, or other evil - * subversions (oh, so much fun). - * - * ************************************************************************** ** - */ -static void cache_free_entry( ubi_trNodePtr WarrenZevon ) - { - ZERO_STRUCTP(WarrenZevon); - SAFE_FREE( WarrenZevon ); - } /* cache_free_entry */ + int i; + char *method; -/* ************************************************************************** ** - * Initializes or clears the mangled cache. - * - * Input: none. - * Output: none. - * - * Notes: There is a section below that is commented out. It shows how - * one might use lp_ calls to set the maximum memory and entry size - * of the cache. You might also want to remove the constants used - * in ubi_cacheInit() and replace them with lp_ calls. If so, then - * the calls to ubi_cacheSetMax*() would be moved into the else - * clause. Another option would be to pass in the max_entries and - * max_memory values as parameters. crh 09-Apr-1998. - * - * ************************************************************************** ** - */ -void reset_mangled_cache( void ) - { - if( !mc_initialized ) - { - (void)ubi_cacheInit( mangled_cache, - cache_compare, - cache_free_entry, - MANGLED_CACHE_MAX_ENTRIES, - MANGLED_CACHE_MAX_MEMORY ); - mc_initialized = True; - } - else - { - (void)ubi_cacheClear( mangled_cache ); - } - - /* - (void)ubi_cacheSetMaxEntries( mangled_cache, lp_mangled_cache_entries() ); - (void)ubi_cacheSetMaxMemory( mangled_cache, lp_mangled_cache_memory() ); - */ - } /* reset_mangled_cache */ - - -/* ************************************************************************** ** - * Add a mangled name into the cache. - * - * Notes: If the mangled cache has not been initialized, then the - * function will simply fail. It could initialize the cache, - * but that's not the way it was done before I changed the - * cache mechanism, so I'm sticking with the old method. - * - * If the extension of the raw name maps directly to the - * extension of the mangled name, then we'll store both names - * *without* extensions. That way, we can provide consistent - * reverse mangling for all names that match. The test here is - * a bit more careful than the one done in earlier versions of - * mangle.c: - * - * - the extension must exist on the raw name, - * - it must be all lower case - * - it must match the mangled extension (to prove that no - * mangling occurred). - * - * crh 07-Apr-1998 - * - * ************************************************************************** ** - */ -static void cache_mangled_name( char *mangled_name, char *raw_name ) - { - ubi_cacheEntryPtr new_entry; - char *s1; - char *s2; - size_t mangled_len; - size_t raw_len; - size_t i; - - /* If the cache isn't initialized, give up. */ - if( !mc_initialized ) - return; + if (mangle_fns) + return; - /* Init the string lengths. */ - mangled_len = strlen( mangled_name ); - raw_len = strlen( raw_name ); + method = lp_mangling_method(); - /* See if the extensions are unmangled. If so, store the entry - * without the extension, thus creating a "group" reverse map. - */ - s1 = strrchr( mangled_name, '.' ); - if( s1 && (s2 = strrchr( raw_name, '.' )) ) - { - i = 1; - while( s1[i] && (tolower( s1[i] ) == s2[i]) ) - i++; - if( !s1[i] && !s2[i] ) - { - mangled_len -= i; - raw_len -= i; - } - } - - /* Allocate a new cache entry. If the allocation fails, just return. */ - i = sizeof( ubi_cacheEntry ) + mangled_len + raw_len + 2; - new_entry = malloc( i ); - if( !new_entry ) - return; + /* find the first mangling method that manages to initialise and + matches the "mangling method" parameter */ + for (i=0; mangle_backends[i].name && !mangle_fns; i++) { + if (!method || !*method || strcmp(method, mangle_backends[i].name) == 0) { + mangle_fns = mangle_backends[i].init_fn(); + } + } - /* Fill the new cache entry, and add it to the cache. */ - s1 = (char *)(new_entry + 1); - s2 = (char *)&(s1[mangled_len + 1]); - (void)StrnCpy( s1, mangled_name, mangled_len ); - (void)StrnCpy( s2, raw_name, raw_len ); - ubi_cachePut( mangled_cache, i, new_entry, s1 ); - } /* cache_mangled_name */ + if (!mangle_fns) { + DEBUG(0,("Failed to initialise mangling system '%s'\n", method)); + exit_server("mangling init failed"); + } +} -/* ************************************************************************** ** - * Check for a name on the mangled name stack - * - * Input: s - Input *and* output string buffer. - * - * Output: True if the name was found in the cache, else False. - * - * Notes: If a reverse map is found, the function will overwrite the string - * space indicated by the input pointer <s>. This is frightening. - * It should be rewritten to return NULL if the long name was not - * found, and a pointer to the long name if it was found. - * - * ************************************************************************** ** - */ -BOOL check_mangled_cache( char *s ) +/* + reset the cache. This is called when smb.conf has been reloaded +*/ +void mangle_reset_cache(void) { - ubi_cacheEntryPtr FoundPtr; - char *ext_start = NULL; - char *found_name; - char *saved_ext = NULL; - - /* If the cache isn't initialized, give up. */ - if( !mc_initialized ) - return( False ); - - FoundPtr = ubi_cacheGet( mangled_cache, (ubi_trItemPtr)s ); - - /* If we didn't find the name *with* the extension, try without. */ - if( !FoundPtr ) - { - ext_start = strrchr( s, '.' ); - if( ext_start ) - { - if((saved_ext = strdup(ext_start)) == NULL) - return False; - - *ext_start = '\0'; - FoundPtr = ubi_cacheGet( mangled_cache, (ubi_trItemPtr)s ); - /* - * At this point s is the name without the - * extension. We re-add the extension if saved_ext - * is not null, before freeing saved_ext. - */ - } - } + mangle_init(); - /* Okay, if we haven't found it we're done. */ - if( !FoundPtr ) - { - if(saved_ext) - { - /* Replace the saved_ext as it was truncated. */ - (void)pstrcat( s, saved_ext ); - SAFE_FREE(saved_ext); - } - return( False ); - } - - /* If we *did* find it, we need to copy it into the string buffer. */ - found_name = (char *)(FoundPtr + 1); - found_name += (strlen( found_name ) + 1); - - DEBUG( 3, ("Found %s on mangled stack ", s) ); - - (void)pstrcpy( s, found_name ); - if( saved_ext ) - { - /* Replace the saved_ext as it was truncated. */ - (void)pstrcat( s, saved_ext ); - SAFE_FREE(saved_ext); - } - - DEBUG( 3, ("as %s\n", s) ); - - return( True ); -} /* check_mangled_cache */ - - -/* ************************************************************************** ** - * Used only in do_fwd_mangled_map(), below. - * ************************************************************************** ** - */ -static char *map_filename( char *s, /* This is null terminated */ - char *pattern, /* This isn't. */ - int len ) /* This is the length of pattern. */ - { - static pstring matching_bit; /* The bit of the string which matches */ - /* a * in pattern if indeed there is a * */ - char *sp; /* Pointer into s. */ - char *pp; /* Pointer into p. */ - char *match_start; /* Where the matching bit starts. */ - pstring pat; - - StrnCpy( pat, pattern, len ); /* Get pattern into a proper string! */ - pstrcpy( matching_bit, "" ); /* Match but no star gets this. */ - pp = pat; /* Initialize the pointers. */ - sp = s; - - if( strequal(s, ".") || strequal(s, "..")) - { - return NULL; /* Do not map '.' and '..' */ - } - - if( (len == 1) && (*pattern == '*') ) - { - return NULL; /* Impossible, too ambiguous for */ - } /* words! */ - - while( (*sp) /* Not the end of the string. */ - && (*pp) /* Not the end of the pattern. */ - && (*sp == *pp) /* The two match. */ - && (*pp != '*') ) /* No wildcard. */ - { - sp++; /* Keep looking. */ - pp++; - } - - if( !*sp && !*pp ) /* End of pattern. */ - return( matching_bit ); /* Simple match. Return empty string. */ - - if( *pp == '*' ) - { - pp++; /* Always interrested in the chacter */ - /* after the '*' */ - if( !*pp ) /* It is at the end of the pattern. */ - { - StrnCpy( matching_bit, s, sp-s ); - return( matching_bit ); - } - else - { - /* The next character in pattern must match a character further */ - /* along s than sp so look for that character. */ - match_start = sp; - while( (*sp) /* Not the end of s. */ - && (*sp != *pp) ) /* Not the same */ - sp++; /* Keep looking. */ - if( !*sp ) /* Got to the end without a match. */ - { - return( NULL ); - } /* Still hope for a match. */ - else - { - /* Now sp should point to a matching character. */ - StrnCpy(matching_bit, match_start, sp-match_start); - /* Back to needing a stright match again. */ - while( (*sp) /* Not the end of the string. */ - && (*pp) /* Not the end of the pattern. */ - && (*sp == *pp) ) /* The two match. */ - { - sp++; /* Keep looking. */ - pp++; - } - if( !*sp && !*pp ) /* Both at end so it matched */ - return( matching_bit ); - else - return( NULL ); - } - } - } - return( NULL ); /* No match. */ - } /* map_filename */ + mangle_fns->reset(); +} +/* + see if a filename has come out of our mangling code +*/ +BOOL mangle_is_mangled(const char *s) +{ + return mangle_fns->is_mangled(s); +} -/* ************************************************************************** ** - * MangledMap is a series of name pairs in () separated by spaces. - * If s matches the first of the pair then the name given is the - * second of the pair. A * means any number of any character and if - * present in the second of the pair as well as the first the - * matching part of the first string takes the place of the * in the - * second. - * - * I wanted this so that we could have RCS files which can be used - * by UNIX and DOS programs. My mapping string is (RCS rcs) which - * converts the UNIX RCS file subdirectory to lowercase thus - * preventing mangling. - * - * (I think Andrew wrote the above, but I'm not sure. -- CRH) - * - * See 'mangled map' in smb.conf(5). - * - * ************************************************************************** ** - */ -static void do_fwd_mangled_map(char *s, char *MangledMap) - { - char *start=MangledMap; /* Use this to search for mappings. */ - char *end; /* Used to find the end of strings. */ - char *match_string; - pstring new_string; /* Make up the result here. */ - char *np; /* Points into new_string. */ +/* + see if a filename matches the rules of a 8.3 filename +*/ +BOOL mangle_is_8_3(const char *fname, BOOL check_case) +{ + return mangle_fns->is_8_3(fname, check_case, False); +} - DEBUG( 5, ("Mangled Mapping '%s' map '%s'\n", s, MangledMap) ); - while( *start ) - { - while( (*start) && (*start != '(') ) - start++; - if( !*start ) - continue; /* Always check for the end. */ - start++; /* Skip the ( */ - end = start; /* Search for the ' ' or a ')' */ - DEBUG( 5, ("Start of first in pair '%s'\n", start) ); - while( (*end) && !((*end == ' ') || (*end == ')')) ) - end++; - if( !*end ) - { - start = end; - continue; /* Always check for the end. */ - } - DEBUG( 5, ("End of first in pair '%s'\n", end) ); - if( (match_string = map_filename( s, start, end-start )) ) - { - DEBUG( 5, ("Found a match\n") ); - /* Found a match. */ - start = end + 1; /* Point to start of what it is to become. */ - DEBUG( 5, ("Start of second in pair '%s'\n", start) ); - end = start; - np = new_string; - while( (*end) /* Not the end of string. */ - && (*end != ')') /* Not the end of the pattern. */ - && (*end != '*') ) /* Not a wildcard. */ - *np++ = *end++; - if( !*end ) - { - start = end; - continue; /* Always check for the end. */ - } - if( *end == '*' ) - { - pstrcpy( np, match_string ); - np += strlen( match_string ); - end++; /* Skip the '*' */ - while( (*end) /* Not the end of string. */ - && (*end != ')') /* Not the end of the pattern. */ - && (*end != '*') ) /* Not a wildcard. */ - *np++ = *end++; - } - if( !*end ) - { - start = end; - continue; /* Always check for the end. */ - } - *np++ = '\0'; /* NULL terminate it. */ - DEBUG(5,("End of second in pair '%s'\n", end)); - pstrcpy( s, new_string ); /* Substitute with the new name. */ - DEBUG( 5, ("s is now '%s'\n", s) ); - } - start = end; /* Skip a bit which cannot be wanted anymore. */ - start++; - } - } /* do_fwd_mangled_map */ +BOOL mangle_is_8_3_wildcards(const char *fname, BOOL check_case) +{ + return mangle_fns->is_8_3(fname, check_case, True); +} + +/* + try to reverse map a 8.3 name to the original filename. This doesn't have to + always succeed, as the directory handling code in smbd will scan the directory + looking for a matching name if it doesn't. It should succeed most of the time + or there will be a huge performance penalty +*/ +BOOL mangle_check_cache(char *s) +{ + return mangle_fns->check_cache(s); +} -/***************************************************************************** - * do the actual mangling to 8.3 format - * the buffer must be able to hold 13 characters (including the null) - ***************************************************************************** +/* + map a long filename to a 8.3 name. */ -void mangle_name_83( char *s) - { - int csum; - char *p; - char extension[4]; - char base[9]; - int baselen = 0; - int extlen = 0; - int skip; - - extension[0] = 0; - base[0] = 0; - - p = strrchr(s,'.'); - if( p && (strlen(p+1) < (size_t)4) ) - { - BOOL all_normal = ( strisnormal(p+1) ); /* XXXXXXXXX */ - - if( all_normal && p[1] != 0 ) - { - *p = 0; - csum = str_checksum( s ); - *p = '.'; - } - else - csum = str_checksum(s); - } - else - csum = str_checksum(s); - - strupper( s ); - - DEBUG( 5, ("Mangling name %s to ",s) ); - - if( p ) - { - if( p == s ) - safe_strcpy( extension, "___", 3 ); - else - { - *p++ = 0; - while( *p && extlen < 3 ) - { - skip = get_character_len( *p ); - switch( skip ) - { - case 2: - if( extlen < 2 ) - { - extension[extlen++] = p[0]; - extension[extlen++] = p[1]; - } - else - { - extension[extlen++] = mangle( (unsigned char)*p ); - } - p += 2; - break; - case 1: - extension[extlen++] = p[0]; - p++; - break; - default: - if( isdoschar (*p) && *p != '.' ) - extension[extlen++] = p[0]; - p++; - break; - } - } - extension[extlen] = 0; - } - } - - p = s; - - while( *p && baselen < 5 ) - { - skip = get_character_len(*p); - switch( skip ) - { - case 2: - if( baselen < 4 ) - { - base[baselen++] = p[0]; - base[baselen++] = p[1]; - } - else - { - base[baselen++] = mangle( (unsigned char)*p ); - } - p += 2; - break; - case 1: - base[baselen++] = p[0]; - p++; - break; - default: - if( isdoschar( *p ) && *p != '.' ) - base[baselen++] = p[0]; - p++; - break; - } - } - base[baselen] = 0; - - csum = csum % (MANGLE_BASE*MANGLE_BASE); - (void)slprintf(s, 12, "%s%c%c%c", - base, magic_char, mangle( csum/MANGLE_BASE ), mangle( csum ) ); - - if( *extension ) - { - (void)pstrcat( s, "." ); - (void)pstrcat( s, extension ); - } - - DEBUG( 5, ( "%s\n", s ) ); - - } /* mangle_name_83 */ - -/***************************************************************************** - * Convert a filename to DOS format. Return True if successful. - * - * Input: OutName - Source *and* destination buffer. - * - * NOTE that OutName must point to a memory space that - * is at least 13 bytes in size! - * - * need83 - If False, name mangling will be skipped unless the - * name contains illegal characters. Mapping will still - * be done, if appropriate. This is probably used to - * signal that a client does not require name mangling, - * thus skipping the name mangling even on shares which - * have name-mangling turned on. - * cache83 - If False, the mangled name cache will not be updated. - * This is usually used to prevent that we overwrite - * a conflicting cache entry prematurely, i.e. before - * we know whether the client is really interested in the - * current name. (See PR#13758). UKD. - * snum - Share number. This identifies the share in which the - * name exists. - * - * Output: Returns False only if the name wanted mangling but the share does - * not have name mangling turned on. - * - * **************************************************************************** - */ -BOOL name_map_mangle(char *OutName, BOOL need83, BOOL cache83, int snum) +void mangle_map(char *OutName, BOOL need83, BOOL cache83, int snum) { - char *map; - DEBUG(5,("name_map_mangle( %s, need83 = %s, cache83 = %s, %d )\n", OutName, - need83 ? "True" : "False", cache83 ? "True" : "False", snum)); - -#ifdef MANGLE_LONG_FILENAMES - if( !need83 && is_illegal_name(OutName) ) - need83 = True; -#endif - - /* apply any name mappings */ - map = lp_mangled_map(snum); - - if (map && *map) { - do_fwd_mangled_map( OutName, map ); - } - - /* check if it's already in 8.3 format */ - if (need83 && !is_8_3(OutName, True)) { - char *tmp = NULL; - - if (!lp_manglednames(snum)) { - return(False); - } - - /* mangle it into 8.3 */ - if (cache83) - tmp = strdup(OutName); - - mangle_name_83(OutName); - - if(tmp != NULL) { - cache_mangled_name(OutName, tmp); - SAFE_FREE(tmp); + /* name mangling can be disabled for speed, in which case + we just truncate the string */ + if (!lp_manglednames(snum)) { + if (need83) { + string_truncate(OutName, 12); } + return; } - DEBUG(5,("name_map_mangle() ==> [%s]\n", OutName)); - return(True); -} /* name_map_mangle */ - + /* invoke the inane "mangled map" code */ + mangle_map_filename(OutName, snum); + mangle_fns->name_map(OutName, need83, cache83); +} diff --git a/source/smbd/mangle_hash.c b/source/smbd/mangle_hash.c index 1d4697474ce..7fef891f633 100644 --- a/source/smbd/mangle_hash.c +++ b/source/smbd/mangle_hash.c @@ -1,9 +1,8 @@ /* - Unix SMB/CIFS implementation. + Unix SMB/Netbios implementation. + Version 1.9. Name mangling - Copyright (C) Andrew Tridgell 1992-2002 - Copyright (C) Simo Sorce 2001 - Copyright (C) Andrew Bartlett 2002 + Copyright (C) Andrew Tridgell 1992-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 @@ -20,16 +19,15 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ - /* -------------------------------------------------------------------------- ** * Notable problems... * * March/April 1998 CRH * - Many of the functions in this module overwrite string buffers passed to * them. This causes a variety of problems and is, generally speaking, - * dangerous and scarry. See the kludge notes in name_map() + * dangerous and scarry. See the kludge notes in name_map_mangle() * below. - * - It seems that something is calling name_map() twice. The + * - It seems that something is calling name_map_mangle() twice. The * first call is probably some sort of test. Names which contain * illegal characters are being doubly mangled. I'm not sure, but * I'm guessing the problem is in server.c. @@ -86,11 +84,11 @@ extern BOOL case_mangle; /* If true, all chars in 8.3 should be same case. */ * * isbasecahr() - Given a character, check the chartest array to see * if that character is in the basechars set. This is - * faster than using strchr_m(). + * faster than using strchr(). * * isillegal() - Given a character, check the chartest array to see * if that character is in the illegal characters set. - * This is faster than using strchr_m(). + * This is faster than using strchr(). * * mangled_cache - Cache header used for storing mangled -> original * reverse maps. @@ -128,252 +126,158 @@ static BOOL ct_initialized = False; static ubi_cacheRoot mangled_cache[1] = { { { 0, 0, 0, 0 }, 0, 0, 0, 0, 0, 0 } }; static BOOL mc_initialized = False; #define MANGLED_CACHE_MAX_ENTRIES 1024 -#define MANGLED_CACHE_MAX_MEMORY 0 +#define MANGLED_CACHE_MAX_MEMORY 0 + /* -------------------------------------------------------------------------- ** - * External Variables... + * Functions... */ -extern int case_default; /* Are conforming 8.3 names all upper or lower? */ -extern BOOL case_mangle; /* If true, all chars in 8.3 should be same case. */ - -/* -------------------------------------------------------------------- */ - -static NTSTATUS has_valid_chars(const smb_ucs2_t *s, BOOL allow_wildcards) -{ - if (!s || !*s) - return NT_STATUS_INVALID_PARAMETER; - - /* CHECK: this should not be necessary if the ms wild chars - are not valid in valid.dat --- simo */ - if (!allow_wildcards && ms_has_wild_w(s)) - return NT_STATUS_UNSUCCESSFUL; - - while (*s) { - if(!isvalid83_w(*s)) - return NT_STATUS_UNSUCCESSFUL; - s++; - } - - return NT_STATUS_OK; -} - -/* return False if something fail and - * return 2 alloced unicode strings that contain prefix and extension +/* ************************************************************************** ** + * Initialize the static character test array. + * + * Input: none + * + * Output: none + * + * Notes: This function changes (loads) the contents of the <chartest> + * array. The scope of <chartest> is this file. + * + * ************************************************************************** ** */ +static void init_chartest( void ) + { + char *illegalchars = "*\\/?<>|\":"; + unsigned char *s; + + memset( (char *)chartest, '\0', 256 ); -static NTSTATUS mangle_get_prefix(const smb_ucs2_t *ucs2_string, smb_ucs2_t **prefix, - smb_ucs2_t **extension, BOOL allow_wildcards) -{ - size_t ext_len; - smb_ucs2_t *p; + for( s = (unsigned char *)illegalchars; *s; s++ ) + chartest[*s] = ILLEGAL_MASK; - *extension = 0; - *prefix = strdup_w(ucs2_string); - if (!*prefix) { - return NT_STATUS_NO_MEMORY; - } - if ((p = strrchr_w(*prefix, UCS2_CHAR('.')))) { - ext_len = strlen_w(p+1); - if ((ext_len > 0) && (ext_len < 4) && (p != *prefix) && - (NT_STATUS_IS_OK(has_valid_chars(p+1,allow_wildcards)))) /* check extension */ { - *p = 0; - *extension = strdup_w(p+1); - if (!*extension) { - SAFE_FREE(*prefix); - return NT_STATUS_NO_MEMORY; - } - } - } - return NT_STATUS_OK; -} + for( s = (unsigned char *)basechars; *s; s++ ) + chartest[*s] |= BASECHAR_MASK; + + ct_initialized = True; + } /* init_chartest */ /* ************************************************************************** ** - * Return NT_STATUS_UNSUCCESSFUL if a name is a special msdos reserved name. + * Return True if a name is a special msdos reserved name. * * Input: fname - String containing the name to be tested. * - * Output: NT_STATUS_UNSUCCESSFUL, if the name matches one of the list of reserved names. + * Output: True, if the name matches one of the list of reserved names. * * Notes: This is a static function called by is_8_3(), below. * * ************************************************************************** ** */ - -static NTSTATUS is_valid_name(const smb_ucs2_t *fname, BOOL allow_wildcards) -{ - smb_ucs2_t *str, *p; - NTSTATUS ret = NT_STATUS_OK; - - if (!fname || !*fname) - return NT_STATUS_INVALID_PARAMETER; - - /* . and .. are valid names. */ - if (strcmp_wa(fname, ".")==0 || strcmp_wa(fname, "..")==0) - return NT_STATUS_OK; - - /* Name cannot start with '.' */ - if (*fname == UCS2_CHAR('.')) - return NT_STATUS_UNSUCCESSFUL; - - ret = has_valid_chars(fname, allow_wildcards); - if (NT_STATUS_IS_ERR(ret)) - return ret; - - str = strdup_w(fname); - p = strchr_w(str, UCS2_CHAR('.')); - if (p && p[1] == UCS2_CHAR(0)) { - /* Name cannot end in '.' */ - SAFE_FREE(str); - return NT_STATUS_UNSUCCESSFUL; - } - if (p) *p = 0; - strupper_w(str); - p = &(str[1]); - - switch(str[0]) - { - case UCS2_CHAR('A'): - if(strcmp_wa(p, "UX") == 0) - ret = NT_STATUS_UNSUCCESSFUL; - break; - case UCS2_CHAR('C'): - if((strcmp_wa(p, "LOCK$") == 0) - || (strcmp_wa(p, "ON") == 0) - || (strcmp_wa(p, "OM1") == 0) - || (strcmp_wa(p, "OM2") == 0) - || (strcmp_wa(p, "OM3") == 0) - || (strcmp_wa(p, "OM4") == 0) - ) - ret = NT_STATUS_UNSUCCESSFUL; - break; - case UCS2_CHAR('L'): - if((strcmp_wa(p, "PT1") == 0) - || (strcmp_wa(p, "PT2") == 0) - || (strcmp_wa(p, "PT3") == 0) - ) - ret = NT_STATUS_UNSUCCESSFUL; - break; - case UCS2_CHAR('N'): - if(strcmp_wa(p, "UL") == 0) - ret = NT_STATUS_UNSUCCESSFUL; - break; - case UCS2_CHAR('P'): - if(strcmp_wa(p, "RN") == 0) - ret = NT_STATUS_UNSUCCESSFUL; - break; - default: - break; - } - - SAFE_FREE(str); - return ret; -} - -static NTSTATUS is_8_3_w(const smb_ucs2_t *fname, BOOL allow_wildcards) -{ - smb_ucs2_t *pref = 0, *ext = 0; - size_t plen; - NTSTATUS ret = NT_STATUS_UNSUCCESSFUL; - - if (!fname || !*fname) - return NT_STATUS_INVALID_PARAMETER; - - if (strlen_w(fname) > 12) - return NT_STATUS_UNSUCCESSFUL; - - if (strcmp_wa(fname, ".") == 0 || strcmp_wa(fname, "..") == 0) - return NT_STATUS_OK; - - if (NT_STATUS_IS_ERR(is_valid_name(fname, allow_wildcards))) - goto done; - - if (NT_STATUS_IS_ERR(mangle_get_prefix(fname, &pref, &ext, allow_wildcards))) - goto done; - plen = strlen_w(pref); - - if (strchr_wa(pref, '.')) - goto done; - if (plen < 1 || plen > 8) - goto done; - if (ext && (strlen_w(ext) > 3)) - goto done; - - ret = NT_STATUS_OK; - -done: - SAFE_FREE(pref); - SAFE_FREE(ext); - return ret; -} - -static BOOL is_8_3(const char *fname, BOOL check_case, BOOL allow_wildcards) -{ - const char *f; - smb_ucs2_t *ucs2name; - NTSTATUS ret = NT_STATUS_UNSUCCESSFUL; - - if (!fname || !*fname) - return False; - if ((f = strrchr(fname, '/')) == NULL) - f = fname; - else - f++; - - if (strlen(f) > 12) - return False; - - ucs2name = acnv_uxu2(f); - if (!ucs2name) { - DEBUG(0,("is_8_3: internal error acnv_uxu2() failed!\n")); - goto done; - } - - ret = is_8_3_w(ucs2name, allow_wildcards); - -done: - SAFE_FREE(ucs2name); - - if (!NT_STATUS_IS_OK(ret)) { - return False; - } - - return True; -} - - - -/* -------------------------------------------------------------------------- ** - * Functions... - */ +static BOOL is_reserved_msdos( char *fname ) + { + char upperFname[13]; + char *p; + + StrnCpy (upperFname, fname, 12); + + /* lpt1.txt and con.txt etc are also illegal */ + p = strchr(upperFname,'.'); + if( p ) + *p = '\0'; + + strupper( upperFname ); + p = upperFname + 1; + switch( upperFname[0] ) + { + case 'A': + if( 0 == strcmp( p, "UX" ) ) + return( True ); + break; + case 'C': + if( (0 == strcmp( p, "LOCK$" )) + || (0 == strcmp( p, "ON" )) + || (0 == strcmp( p, "OM1" )) + || (0 == strcmp( p, "OM2" )) + || (0 == strcmp( p, "OM3" )) + || (0 == strcmp( p, "OM4" )) + ) + return( True ); + break; + case 'L': + if( (0 == strcmp( p, "PT1" )) + || (0 == strcmp( p, "PT2" )) + || (0 == strcmp( p, "PT3" )) + ) + return( True ); + break; + case 'N': + if( 0 == strcmp( p, "UL" ) ) + return( True ); + break; + case 'P': + if( 0 == strcmp( p, "RN" ) ) + return( True ); + break; + } + + return( False ); + } /* is_reserved_msdos */ /* ************************************************************************** ** - * Initialize the static character test array. + * Determine whether or not a given name contains illegal characters, even + * long names. * - * Input: none + * Input: name - The name to be tested. * - * Output: none + * Output: True if an illegal character was found in <name>, else False. * - * Notes: This function changes (loads) the contents of the <chartest> - * array. The scope of <chartest> is this file. + * Notes: This is used to test a name on the host system, long or short, + * for characters that would be illegal on most client systems, + * particularly DOS and Windows systems. Unix and AmigaOS, for + * example, allow a filenames which contain such oddities as + * quotes ("). If a name is found which does contain an illegal + * character, it is mangled even if it conforms to the 8.3 + * format. * * ************************************************************************** ** */ -static void init_chartest( void ) -{ - char *illegalchars = "*\\/?<>|\":"; - unsigned char *s; - - memset( (char *)chartest, '\0', 256 ); - - for( s = (unsigned char *)illegalchars; *s; s++ ) - chartest[*s] = ILLEGAL_MASK; - - for( s = (unsigned char *)basechars; *s; s++ ) - chartest[*s] |= BASECHAR_MASK; - - ct_initialized = True; -} +static BOOL is_illegal_name( char *name ) + { + unsigned char *s; + int skip; + int namelen; + + if( !name ) + return( True ); + + if( !ct_initialized ) + init_chartest(); + + namelen = strlen(name); + if (namelen && + name[namelen-1] == '.' && + !strequal(name, ".") && + !strequal(name, "..")) + return True; + + s = (unsigned char *)name; + while( *s ) + { + skip = get_character_len( *s ); + if( skip != 0 ) + { + s += skip; + } + else + { + if( isillegal( *s ) ) + return( True ); + else + s++; + } + } + + return( False ); + } /* is_illegal_name */ /* ************************************************************************** ** * Return True if the name *could be* a mangled name. @@ -392,22 +296,152 @@ static void init_chartest( void ) * * ************************************************************************** ** */ -static BOOL is_mangled(const char *s) +static BOOL is_mangled( const char *s ) { char *magic; + BOOL ret = False; if( !ct_initialized ) init_chartest(); - magic = strchr_m( s, magic_char ); - while( magic && magic[1] && magic[2] ) { /* 3 chars, 1st is magic. */ + magic = strchr( s, magic_char ); + while( magic && magic[1] && magic[2] ) { + /* 3 chars, 1st is magic. */ if( ('.' == magic[3] || '/' == magic[3] || !(magic[3])) /* Ends with '.' or nul or '/' ? */ && isbasechar( toupper(magic[1]) ) /* is 2nd char basechar? */ && isbasechar( toupper(magic[2]) ) ) /* is 3rd char basechar? */ - return( True ); /* If all above, then true, */ - magic = strchr_m( magic+1, magic_char ); /* else seek next magic. */ + ret = ( True ); /* If all above, then true, */ + magic = strchr( magic+1, magic_char ); /* else seek next magic. */ + } + + DEBUG(10,("is_mangled: %s : %s\n", s, ret ? "True" : "False")); + + return ret; +} /* is_mangled */ + +static BOOL is_ms_wildchar(const char c) +{ + switch(c) { + case '*': + case '?': + case '<': + case '>': + case '"': + return True; + default: + return False; } - return( False ); +} + +/* ************************************************************************** ** + * Return True if the name is a valid DOS name in 8.3 DOS format. + * + * Input: fname - File name to be checked. + * check_case - If True, and if case_mangle is True, then the + * name will be checked to see if all characters + * are the correct case. See case_mangle and + * case_default above. + * allow_wildcards - If True dos wildcard characters *?<>" are allowed as 8.3. + * + * Output: True if the name is a valid DOS name, else False. + * + * ************************************************************************** ** + */ + +static BOOL is_8_3( const char *cfname, BOOL check_case, BOOL allow_wildcards ) +{ + int len; + int l; + int skip; + char *p; + char *dot_pos; + char *slash_pos; + char *fname = (char *)cfname; + + slash_pos = strrchr( fname, '/' ); + + /* If there is a directory path, skip it. */ + if( slash_pos ) + fname = slash_pos + 1; + len = strlen( fname ); + + DEBUG( 5, ( "Checking %s for 8.3\n", fname ) ); + + /* Can't be 0 chars or longer than 12 chars */ + if( (len == 0) || (len > 12) ) + return( False ); + + /* Mustn't be an MS-DOS Special file such as lpt1 or even lpt1.txt */ + if( is_reserved_msdos( fname ) ) + return( False ); + + /* Check that all characters are the correct case, if asked to do so. */ + if( check_case && case_mangle ) { + switch( case_default ) { + case CASE_LOWER: + if( strhasupper( fname ) ) + return(False); + break; + case CASE_UPPER: + if( strhaslower( fname ) ) + return(False); + break; + } + } + + /* Can't contain invalid dos chars */ + /* Windows use the ANSI charset. + But filenames are translated in the PC charset. + This Translation may be more or less relaxed depending + the Windows application. */ + + /* %%% A nice improvment to name mangling would be to translate + filename to ANSI charset on the smb server host */ + + p = fname; + dot_pos = NULL; + while( *p ) { + if( (skip = get_character_len( *p )) != 0 ) + p += skip; + else { + if( *p == '.' && !dot_pos ) + dot_pos = (char *)p; + else { + if( !isdoschar( *p )) { + if (!allow_wildcards) + return False; + if (!is_ms_wildchar(*p)) + return False; + } + } + p++; + } + } + + /* no dot and less than 9 means OK */ + if( !dot_pos ) + return( len <= 8 ); + + l = PTR_DIFF( dot_pos, fname ); + + /* base must be at least 1 char except special cases . and .. */ + if( l == 0 ) + return( 0 == strcmp( fname, "." ) || 0 == strcmp( fname, ".." ) ); + + /* base can't be greater than 8 */ + if( l > 8 ) + return( False ); + + /* extension must be between 1 and 3 */ + if( (len - l < 2 ) || (len - l > 4) ) + return( False ); + + /* extensions may not have a dot */ + if( strchr( dot_pos+1, '.' ) ) + return( False ); + + /* must be in 8.3 format */ + return( True ); } /* ************************************************************************** ** @@ -429,11 +463,14 @@ static BOOL is_mangled(const char *s) * * ************************************************************************** ** */ + static signed int cache_compare( ubi_btItemPtr ItemPtr, ubi_btNodePtr NodePtr ) { char *Key1 = (char *)ItemPtr; char *Key2 = (char *)(((ubi_cacheEntryPtr)NodePtr) + 1); + DEBUG(100,("cache_compare: %s %s\n", Key1, Key2)); + return( StrCaseCmp( Key1, Key2 ) ); } @@ -450,6 +487,7 @@ static signed int cache_compare( ubi_btItemPtr ItemPtr, ubi_btNodePtr NodePtr ) * * ************************************************************************** ** */ + static void cache_free_entry( ubi_trNodePtr WarrenZevon ) { ZERO_STRUCTP(WarrenZevon); @@ -473,22 +511,22 @@ static void cache_free_entry( ubi_trNodePtr WarrenZevon ) * ************************************************************************** ** */ -static void mangle_reset( void ) +static void reset_mangled_cache( void ) { if( !mc_initialized ) { (void)ubi_cacheInit( mangled_cache, - cache_compare, - cache_free_entry, - MANGLED_CACHE_MAX_ENTRIES, - MANGLED_CACHE_MAX_MEMORY ); + cache_compare, + cache_free_entry, + MANGLED_CACHE_MAX_ENTRIES, + MANGLED_CACHE_MAX_MEMORY ); mc_initialized = True; } else { (void)ubi_cacheClear( mangled_cache ); } /* - (void)ubi_cacheSetMaxEntries( mangled_cache, lp_mangled_cache_entries() ); - (void)ubi_cacheSetMaxMemory( mangled_cache, lp_mangled_cache_memory() ); + (void)ubi_cacheSetMaxEntries( mangled_cache, lp_mangled_cache_entries() ); + (void)ubi_cacheSetMaxMemory( mangled_cache, lp_mangled_cache_memory() ); */ } @@ -518,47 +556,49 @@ static void mangle_reset( void ) */ static void cache_mangled_name( char *mangled_name, char *raw_name ) { - ubi_cacheEntryPtr new_entry; - char *s1; - char *s2; - size_t mangled_len; - size_t raw_len; - size_t i; - - /* If the cache isn't initialized, give up. */ - if( !mc_initialized ) - return; - - /* Init the string lengths. */ - mangled_len = strlen( mangled_name ); - raw_len = strlen( raw_name ); - - /* See if the extensions are unmangled. If so, store the entry - * without the extension, thus creating a "group" reverse map. - */ - s1 = strrchr( mangled_name, '.' ); - if( s1 && (s2 = strrchr( raw_name, '.' )) ) { - i = 1; - while( s1[i] && (tolower( s1[i] ) == s2[i]) ) - i++; - if( !s1[i] && !s2[i] ) { - mangled_len -= i; - raw_len -= i; - } - } - - /* Allocate a new cache entry. If the allocation fails, just return. */ - i = sizeof( ubi_cacheEntry ) + mangled_len + raw_len + 2; - new_entry = malloc( i ); - if( !new_entry ) - return; - - /* Fill the new cache entry, and add it to the cache. */ - s1 = (char *)(new_entry + 1); - s2 = (char *)&(s1[mangled_len + 1]); - (void)StrnCpy( s1, mangled_name, mangled_len ); - (void)StrnCpy( s2, raw_name, raw_len ); - ubi_cachePut( mangled_cache, i, new_entry, s1 ); + ubi_cacheEntryPtr new_entry; + char *s1; + char *s2; + size_t mangled_len; + size_t raw_len; + size_t i; + + /* If the cache isn't initialized, give up. */ + if( !mc_initialized ) + return; + + /* Init the string lengths. */ + mangled_len = strlen( mangled_name ); + raw_len = strlen( raw_name ); + + /* See if the extensions are unmangled. If so, store the entry + * without the extension, thus creating a "group" reverse map. + */ + s1 = strrchr( mangled_name, '.' ); + if( s1 && (s2 = strrchr( raw_name, '.' )) ) + { + i = 1; + while( s1[i] && (tolower( s1[i] ) == s2[i]) ) + i++; + if( !s1[i] && !s2[i] ) + { + mangled_len -= i; + raw_len -= i; + } + } + + /* Allocate a new cache entry. If the allocation fails, just return. */ + i = sizeof( ubi_cacheEntry ) + mangled_len + raw_len + 2; + new_entry = malloc( i ); + if( !new_entry ) + return; + + /* Fill the new cache entry, and add it to the cache. */ + s1 = (char *)(new_entry + 1); + s2 = (char *)&(s1[mangled_len + 1]); + (void)StrnCpy( s1, mangled_name, mangled_len ); + (void)StrnCpy( s2, raw_name, raw_len ); + ubi_cachePut( mangled_cache, i, new_entry, s1 ); } /* ************************************************************************** ** @@ -576,58 +616,67 @@ static void cache_mangled_name( char *mangled_name, char *raw_name ) * ************************************************************************** ** */ -static BOOL check_cache( char *s ) +static BOOL check_mangled_cache( char *s ) { - ubi_cacheEntryPtr FoundPtr; - char *ext_start = NULL; - char *found_name; - char *saved_ext = NULL; - - /* If the cache isn't initialized, give up. */ - if( !mc_initialized ) - return( False ); - - FoundPtr = ubi_cacheGet( mangled_cache, (ubi_trItemPtr)s ); - - /* If we didn't find the name *with* the extension, try without. */ - if( !FoundPtr ) { - ext_start = strrchr( s, '.' ); - if( ext_start ) { - if((saved_ext = strdup(ext_start)) == NULL) - return False; - - *ext_start = '\0'; - FoundPtr = ubi_cacheGet( mangled_cache, (ubi_trItemPtr)s ); - /* - * At this point s is the name without the - * extension. We re-add the extension if saved_ext - * is not null, before freeing saved_ext. - */ - } - } - - /* Okay, if we haven't found it we're done. */ - if( !FoundPtr ) { - if(saved_ext) { - /* Replace the saved_ext as it was truncated. */ - (void)pstrcat( s, saved_ext ); - SAFE_FREE(saved_ext); - } - return( False ); - } - - /* If we *did* find it, we need to copy it into the string buffer. */ - found_name = (char *)(FoundPtr + 1); - found_name += (strlen( found_name ) + 1); - - (void)pstrcpy( s, found_name ); - if( saved_ext ) { - /* Replace the saved_ext as it was truncated. */ - (void)pstrcat( s, saved_ext ); - SAFE_FREE(saved_ext); - } - - return( True ); + ubi_cacheEntryPtr FoundPtr; + char *ext_start = NULL; + char *found_name; + char *saved_ext = NULL; + + /* If the cache isn't initialized, give up. */ + if( !mc_initialized ) + return( False ); + + FoundPtr = ubi_cacheGet( mangled_cache, (ubi_trItemPtr)s ); + + /* If we didn't find the name *with* the extension, try without. */ + if( !FoundPtr ) + { + ext_start = strrchr( s, '.' ); + if( ext_start ) + { + if((saved_ext = strdup(ext_start)) == NULL) + return False; + + *ext_start = '\0'; + FoundPtr = ubi_cacheGet( mangled_cache, (ubi_trItemPtr)s ); + /* + * At this point s is the name without the + * extension. We re-add the extension if saved_ext + * is not null, before freeing saved_ext. + */ + } + } + + /* Okay, if we haven't found it we're done. */ + if( !FoundPtr ) + { + if(saved_ext) + { + /* Replace the saved_ext as it was truncated. */ + (void)pstrcat( s, saved_ext ); + SAFE_FREE(saved_ext); + } + return( False ); + } + + /* If we *did* find it, we need to copy it into the string buffer. */ + found_name = (char *)(FoundPtr + 1); + found_name += (strlen( found_name ) + 1); + + DEBUG( 3, ("Found %s on mangled stack ", s) ); + + (void)pstrcpy( s, found_name ); + if( saved_ext ) + { + /* Replace the saved_ext as it was truncated. */ + (void)pstrcat( s, saved_ext ); + SAFE_FREE(saved_ext); + } + + DEBUG( 3, ("as %s\n", s) ); + + return( True ); } /***************************************************************************** @@ -635,67 +684,124 @@ static BOOL check_cache( char *s ) * the buffer must be able to hold 13 characters (including the null) ***************************************************************************** */ -static void to_8_3(char *s) +static void mangle_name_83( char *s) { - int csum; - char *p; - char extension[4]; - char base[9]; - int baselen = 0; - int extlen = 0; - - extension[0] = 0; - base[0] = 0; - - p = strrchr(s,'.'); - if( p && (strlen(p+1) < (size_t)4) ) { - BOOL all_normal = ( strisnormal(p+1) ); /* XXXXXXXXX */ - - if( all_normal && p[1] != 0 ) { - *p = 0; - csum = str_checksum( s ); - *p = '.'; - } else - csum = str_checksum(s); - } else - csum = str_checksum(s); - - strupper( s ); - - if( p ) { - if( p == s ) - safe_strcpy( extension, "___", 3 ); - else { - *p++ = 0; - while( *p && extlen < 3 ) { - if ( *p != '.') { - extension[extlen++] = p[0]; - } - p++; - } - extension[extlen] = 0; - } - } - - p = s; + int csum; + char *p; + char extension[4]; + char base[9]; + int baselen = 0; + int extlen = 0; + int skip; + + extension[0] = 0; + base[0] = 0; + + p = strrchr(s,'.'); + if( p && (strlen(p+1) < (size_t)4) ) + { + BOOL all_normal = ( strisnormal(p+1) ); /* XXXXXXXXX */ + + if( all_normal && p[1] != 0 ) + { + *p = 0; + csum = str_checksum( s ); + *p = '.'; + } + else + csum = str_checksum(s); + } + else + csum = str_checksum(s); + + strupper( s ); + + DEBUG( 5, ("Mangling name %s to ",s) ); + + if( p ) + { + if( p == s ) + safe_strcpy( extension, "___", 3 ); + else + { + *p++ = 0; + while( *p && extlen < 3 ) + { + skip = get_character_len( *p ); + switch( skip ) + { + case 2: + if( extlen < 2 ) + { + extension[extlen++] = p[0]; + extension[extlen++] = p[1]; + } + else + { + extension[extlen++] = mangle( (unsigned char)*p ); + } + p += 2; + break; + case 1: + extension[extlen++] = p[0]; + p++; + break; + default: + if( isdoschar (*p) && *p != '.' ) + extension[extlen++] = p[0]; + p++; + break; + } + } + extension[extlen] = 0; + } + } + + p = s; + + while( *p && baselen < 5 ) + { + skip = get_character_len(*p); + switch( skip ) + { + case 2: + if( baselen < 4 ) + { + base[baselen++] = p[0]; + base[baselen++] = p[1]; + } + else + { + base[baselen++] = mangle( (unsigned char)*p ); + } + p += 2; + break; + case 1: + base[baselen++] = p[0]; + p++; + break; + default: + if( isdoschar( *p ) && *p != '.' ) + base[baselen++] = p[0]; + p++; + break; + } + } + base[baselen] = 0; + + csum = csum % (MANGLE_BASE*MANGLE_BASE); + + (void)slprintf(s, 12, "%s%c%c%c", + base, magic_char, mangle( csum/MANGLE_BASE ), mangle( csum ) ); + + if( *extension ) + { + (void)pstrcat( s, "." ); + (void)pstrcat( s, extension ); + } + + DEBUG( 5, ( "%s\n", s ) ); - while( *p && baselen < 5 ) { - if (*p != '.') { - base[baselen++] = p[0]; - } - p++; - } - base[baselen] = 0; - - csum = csum % (MANGLE_BASE*MANGLE_BASE); - - (void)slprintf(s, 12, "%s%c%c%c", - base, magic_char, mangle( csum/MANGLE_BASE ), mangle( csum ) ); - - if( *extension ) { - (void)pstrcat( s, "." ); - (void)pstrcat( s, extension ); - } } /***************************************************************************** @@ -717,36 +823,33 @@ static void to_8_3(char *s) * a conflicting cache entry prematurely, i.e. before * we know whether the client is really interested in the * current name. (See PR#13758). UKD. + * snum - Share number. This identifies the share in which the + * name exists. * * Output: Returns False only if the name wanted mangling but the share does * not have name mangling turned on. * * **************************************************************************** */ - -static void name_map(char *OutName, BOOL need83, BOOL cache83) +static void name_map_mangle(char *OutName, BOOL need83, BOOL cache83) { - smb_ucs2_t *OutName_ucs2; - DEBUG(5,("name_map( %s, need83 = %s, cache83 = %s)\n", OutName, - need83 ? "True" : "False", cache83 ? "True" : "False")); - - if (push_ucs2_allocate((void **)&OutName_ucs2, OutName) < 0) { - DEBUG(0, ("push_ucs2_allocate failed!\n")); - return; - } + DEBUG(5,("name_map_mangle( %s, need83 = %s, cache83 = %s )\n", OutName, + need83 ? "True" : "False", cache83 ? "True" : "False" )); - if( !need83 && NT_STATUS_IS_ERR(is_valid_name(OutName_ucs2, False))) +#ifdef MANGLE_LONG_FILENAMES + if( !need83 && is_illegal_name(OutName) ) need83 = True; +#endif /* check if it's already in 8.3 format */ - if (need83 && !NT_STATUS_IS_OK(is_8_3_w(OutName_ucs2, False))) { + if (need83 && !is_8_3(OutName, True, False)) { char *tmp = NULL; /* mangle it into 8.3 */ if (cache83) tmp = strdup(OutName); - to_8_3(OutName); + mangle_name_83(OutName); if(tmp != NULL) { cache_mangled_name(OutName, tmp); @@ -754,26 +857,24 @@ static void name_map(char *OutName, BOOL need83, BOOL cache83) } } - DEBUG(5,("name_map() ==> [%s]\n", OutName)); - SAFE_FREE(OutName_ucs2); + DEBUG(5,("name_map_mangle() ==> [%s]\n", OutName)); } /* - the following provides the abstraction layer to make it easier - to drop in an alternative mangling implementation -*/ + * the following provides the abstraction layer to make it easier + * to drop in an alternative mangling implementation + * */ static struct mangle_fns mangle_fns = { is_mangled, is_8_3, - mangle_reset, - check_cache, - name_map + reset_mangled_cache, + check_mangled_cache, + name_map_mangle }; /* return the methods for this mangling implementation */ struct mangle_fns *mangle_hash_init(void) { - mangle_reset(); - + reset_mangled_cache(); return &mangle_fns; } diff --git a/source/smbd/mangle_hash2.c b/source/smbd/mangle_hash2.c index e2c4b43bc37..2074639f26c 100644 --- a/source/smbd/mangle_hash2.c +++ b/source/smbd/mangle_hash2.c @@ -53,12 +53,6 @@ #include "includes.h" -#if 0 -#define M_DEBUG(level, x) DEBUG(level, x) -#else -#define M_DEBUG(level, x) -#endif - /* these flags are used to mark characters in as having particular properties */ #define FLAG_BASECHAR 1 @@ -124,7 +118,7 @@ static u32 mangle_hash(const char *key, unsigned length) function */ strncpy(str, key, length); str[length] = 0; - strupper_m(str); + strupper(str); /* the length of a multi-byte string can change after a strupper_m */ length = strlen(str); @@ -200,7 +194,7 @@ static BOOL is_mangled_component(const char *name) { int len, i; - M_DEBUG(0,("is_mangled_component %s ?\n", name)); + DEBUG(10,("is_mangled_component %s ?\n", name)); /* the best distinguishing characteristic is the ~ */ if (name[6] != '~') return False; @@ -234,7 +228,7 @@ static BOOL is_mangled_component(const char *name) } } - M_DEBUG(0,("is_mangled %s -> yes\n", name)); + DEBUG(10,("is_mangled %s -> yes\n", name)); return True; } @@ -257,7 +251,7 @@ static BOOL is_mangled(const char *name) const char *p; const char *s; - M_DEBUG(0,("is_mangled %s ?\n", name)); + DEBUG(10,("is_mangled %s ?\n", name)); for (s=name; (p=strchr(s, '/')); s=p+1) { char *component = strndup(s, PTR_DIFF(p, s)); @@ -367,7 +361,7 @@ static BOOL check_cache(char *name) /* make sure that this is a mangled name from this cache */ if (!is_mangled(name)) { - M_DEBUG(0,("check_cache: %s -> not mangled\n", name)); + DEBUG(10,("check_cache: %s -> not mangled\n", name)); return False; } @@ -382,7 +376,7 @@ static BOOL check_cache(char *name) /* now look in the prefix cache for that hash */ prefix = cache_lookup(hash); if (!prefix) { - M_DEBUG(0,("check_cache: %s -> %08X -> not found\n", name, hash)); + DEBUG(10,("check_cache: %s -> %08X -> not found\n", name, hash)); return False; } @@ -395,10 +389,10 @@ static BOOL check_cache(char *name) } if (extension[0]) { - M_DEBUG(0,("check_cache: %s -> %s.%s\n", name, prefix, extension)); + DEBUG(10,("check_cache: %s -> %s.%s\n", name, prefix, extension)); slprintf(name, sizeof(fstring), "%s.%s", prefix, extension); } else { - M_DEBUG(0,("check_cache: %s -> %s\n", name, prefix)); + DEBUG(10,("check_cache: %s -> %s\n", name, prefix)); fstrcpy(name, prefix); } @@ -573,7 +567,7 @@ static void name_map(char *name, BOOL need83, BOOL cache83) cache_insert(name, prefix_len, hash); } - M_DEBUG(0,("name_map: %s -> %08X -> %s (cache=%d)\n", + DEBUG(10,("name_map: %s -> %08X -> %s (cache=%d)\n", name, hash, new_name, cache83)); /* and overwrite the old name */ diff --git a/source/smbd/mangle_map.c b/source/smbd/mangle_map.c index 71d93407181..372ddc0bd49 100644 --- a/source/smbd/mangle_map.c +++ b/source/smbd/mangle_map.c @@ -127,7 +127,7 @@ static char *map_filename( char *s, /* This is null terminated */ */ static void mangled_map(char *s, const char *MangledMap) { - char *start=MangledMap; /* Use this to search for mappings. */ + char *start=(char*)MangledMap; /* Use this to search for mappings. */ char *end; /* Used to find the end of strings. */ char *match_string; pstring new_string; /* Make up the result here. */ diff --git a/source/smbd/notify_kernel.c b/source/smbd/notify_kernel.c index beaa66b1ba3..372416c0ee9 100644 --- a/source/smbd/notify_kernel.c +++ b/source/smbd/notify_kernel.c @@ -23,9 +23,9 @@ #if HAVE_KERNEL_CHANGE_NOTIFY -static VOLATILE sig_atomic_t fd_pending; -static VOLATILE sig_atomic_t signals_received; -static VOLATILE sig_atomic_t signals_processed; +#define FD_PENDING_SIZE 20 +static SIG_ATOMIC_T fd_pending_array[FD_PENDING_SIZE]; +static SIG_ATOMIC_T signals_received; #ifndef DN_ACCESS #define DN_ACCESS 0x00000001 /* File accessed in directory */ @@ -54,70 +54,100 @@ static VOLATILE sig_atomic_t signals_processed; This is the structure to keep the information needed to determine if a directory has changed. *****************************************************************************/ + struct change_data { int directory_handle; }; /**************************************************************************** -the signal handler for change notify + The signal handler for change notify. + The Linux kernel has a bug in that we should be able to block any + further delivery of RT signals until the kernel_check_notify() function + unblocks them, but it seems that any signal mask we're setting here is + being overwritten on exit from this handler. I should create a standalone + test case for the kernel hackers. JRA. *****************************************************************************/ + static void signal_handler(int sig, siginfo_t *info, void *unused) { - BlockSignals(True, sig); - fd_pending = (sig_atomic_t)info->si_fd; - signals_received++; + if (signals_received < FD_PENDING_SIZE - 1) { + fd_pending_array[signals_received] = (SIG_ATOMIC_T)info->si_fd; + signals_received++; + } /* Else signal is lost. */ sys_select_signal(); } - - /**************************************************************************** Check if a change notify should be issued. time non-zero means timeout check (used for hash). Ignore this (async method where time is zero will be used instead). *****************************************************************************/ + static BOOL kernel_check_notify(connection_struct *conn, uint16 vuid, char *path, uint32 flags, void *datap, time_t t) { struct change_data *data = (struct change_data *)datap; + int i; + BOOL ret = False; if (t) return False; - if (data->directory_handle != (int)fd_pending) return False; - - DEBUG(3,("kernel change notify on %s fd=%d\n", path, (int)fd_pending)); - - close((int)fd_pending); - fd_pending = (sig_atomic_t)-1; - data->directory_handle = -1; - signals_processed++; + BlockSignals(True, RT_SIGNAL_NOTIFY); + for (i = 0; i < signals_received; i++) { + if (data->directory_handle == (int)fd_pending_array[i]) { + DEBUG(3,("kernel_check_notify: kernel change notify on %s fd[%d]=%d (signals_received=%d)\n", + path, i, (int)fd_pending_array[i], (int)signals_received )); + + close((int)fd_pending_array[i]); + fd_pending_array[i] = (SIG_ATOMIC_T)-1; + if (signals_received - i - 1) { + memmove((void *)&fd_pending_array[i], (void *)&fd_pending_array[i+1], + sizeof(SIG_ATOMIC_T)*(signals_received-i-1)); + } + data->directory_handle = -1; + signals_received--; + ret = True; + break; + } + } BlockSignals(False, RT_SIGNAL_NOTIFY); - return True; + return ret; } /**************************************************************************** -remove a change notify data structure + Remove a change notify data structure. *****************************************************************************/ + static void kernel_remove_notify(void *datap) { struct change_data *data = (struct change_data *)datap; int fd = data->directory_handle; if (fd != -1) { - if (fd == (int)fd_pending) { - fd_pending = (sig_atomic_t)-1; - signals_processed++; - BlockSignals(False, RT_SIGNAL_NOTIFY); + int i; + BlockSignals(True, RT_SIGNAL_NOTIFY); + for (i = 0; i < signals_received; i++) { + if (fd == (int)fd_pending_array[i]) { + close(fd); + fd_pending_array[i] = (SIG_ATOMIC_T)-1; + if (signals_received - i - 1) { + memmove((void *)&fd_pending_array[i], (void *)&fd_pending_array[i+1], + sizeof(SIG_ATOMIC_T)*(signals_received-i-1)); + } + data->directory_handle = -1; + signals_received--; + break; + } } - close(fd); + BlockSignals(False, RT_SIGNAL_NOTIFY); } SAFE_FREE(data); - DEBUG(3,("removed kernel change notify fd=%d\n", fd)); + DEBUG(3,("kernel_remove_notify: fd=%d\n", fd)); } - /**************************************************************************** -register a change notify request + Register a change notify request. *****************************************************************************/ + static void *kernel_register_notify(connection_struct *conn, char *path, uint32 flags) { struct change_data data; @@ -162,22 +192,24 @@ static void *kernel_register_notify(connection_struct *conn, char *path, uint32 } /**************************************************************************** -see if the kernel supports change notify + See if the kernel supports change notify. ****************************************************************************/ + static BOOL kernel_notify_available(void) { int fd, ret; fd = open("/tmp", O_RDONLY); - if (fd == -1) return False; /* uggh! */ + if (fd == -1) + return False; /* uggh! */ ret = sys_fcntl_long(fd, F_NOTIFY, 0); close(fd); return ret == 0; } - /**************************************************************************** -setup kernel based change notify + Setup kernel based change notify. ****************************************************************************/ + struct cnotify_fns *kernel_notify_init(void) { static struct cnotify_fns cnotify; @@ -191,7 +223,8 @@ struct cnotify_fns *kernel_notify_init(void) return NULL; } - if (!kernel_notify_available()) return NULL; + if (!kernel_notify_available()) + return NULL; cnotify.register_notify = kernel_register_notify; cnotify.check_notify = kernel_check_notify; @@ -201,7 +234,6 @@ struct cnotify_fns *kernel_notify_init(void) return &cnotify; } - #else void notify_kernel_dummy(void) {} #endif /* HAVE_KERNEL_CHANGE_NOTIFY */ diff --git a/source/smbd/nttrans.c b/source/smbd/nttrans.c index c05be55e39e..f7a49794130 100644 --- a/source/smbd/nttrans.c +++ b/source/smbd/nttrans.c @@ -1041,9 +1041,9 @@ static BOOL set_sd(files_struct *fsp, char *data, uint32 sd_len, uint32 security BOOL ret; if (sd_len == 0) { - *pdef_class = ERRDOS; - *pdef_code = ERRbadaccess; - return False; + *pdef_class = 0; + *pdef_code = 0; + return True; } /* @@ -1369,7 +1369,7 @@ static int call_nt_transact_create(connection_struct *conn, * Now try and apply the desired SD. */ - if (!set_sd( fsp, data, sd_len, ALL_SECURITY_INFORMATION, &error_class, &error_code)) { + if (sd_len && !set_sd( fsp, data, sd_len, ALL_SECURITY_INFORMATION, &error_class, &error_code)) { close_file(fsp,False); restore_case_semantics(file_attributes); return ERROR_DOS(error_class, error_code); @@ -1707,6 +1707,9 @@ static int call_nt_transact_set_security_desc(connection_struct *conn, DEBUG(3,("call_nt_transact_set_security_desc: file = %s, sent 0x%x\n", fsp->fsp_name, (unsigned int)security_info_sent )); + if (total_data_count == 0) + return ERROR_DOS(ERRDOS, ERRbadaccess); + if (!set_sd( fsp, data, total_data_count, security_info_sent, &error_class, &error_code)) return ERROR_DOS(error_class, error_code); diff --git a/source/smbd/open.c b/source/smbd/open.c index 9f57cb294ca..79330175bbd 100644 --- a/source/smbd/open.c +++ b/source/smbd/open.c @@ -631,8 +631,8 @@ dev = %x, inode = %.0f\n", old_shares[i].op_type, fname, (unsigned int)dev, (dou dev = %x, inode = %.0f. Deleting it to continue...\n", (int)broken_entry.pid, fname, (unsigned int)dev, (double)inode)); if (process_exists(broken_entry.pid)) { - DEBUG(0,("open_mode_check: Existent process %d left active oplock.\n", - broken_entry.pid )); + DEBUG(0,("open_mode_check: Existent process %u left active oplock.\n", + (unsigned int)broken_entry.pid )); } if (del_share_entry(dev, inode, &broken_entry, NULL) == -1) { diff --git a/source/smbd/oplock.c b/source/smbd/oplock.c index dbd7b63d060..f36875fc4a9 100644 --- a/source/smbd/oplock.c +++ b/source/smbd/oplock.c @@ -73,34 +73,69 @@ BOOL oplock_message_waiting(fd_set *fds) ****************************************************************************/ -BOOL receive_local_message(fd_set *fds, char *buffer, int buffer_len, int timeout) +BOOL receive_local_message( char *buffer, int buffer_len, int timeout) { struct sockaddr_in from; - int fromlen = sizeof(from); + socklen_t fromlen = sizeof(from); int32 msg_len = 0; + fd_set fds; + int selrtn = -1; smb_read_error = 0; + FD_ZERO(&fds); - if(timeout != 0) { + /* + * We need to check for kernel oplocks before going into the select + * here, as the EINTR generated by the linux kernel oplock may have + * already been eaten. JRA. + */ + + if (koplocks && koplocks->msg_waiting(&fds)) { + return koplocks->receive_message(&fds, buffer, buffer_len); + } + + while (timeout > 0 && selrtn == -1) { struct timeval to; - int selrtn; int maxfd = oplock_sock; + time_t starttime = time(NULL); - if (koplocks && koplocks->notification_fd != -1) { - FD_SET(koplocks->notification_fd, fds); - maxfd = MAX(maxfd, koplocks->notification_fd); - } + FD_ZERO(&fds); + maxfd = setup_oplock_select_set(&fds); to.tv_sec = timeout / 1000; to.tv_usec = (timeout % 1000) * 1000; - selrtn = sys_select(maxfd+1,fds,NULL,NULL,&to); + DEBUG(5,("receive_local_message: doing select with timeout of %d ms\n", timeout)); + + selrtn = sys_select(maxfd+1,&fds,NULL,NULL,&to); if (selrtn == -1 && errno == EINTR) { + /* could be a kernel oplock interrupt */ - if (koplocks && koplocks->msg_waiting(fds)) { - return koplocks->receive_message(fds, buffer, buffer_len); + if (koplocks && koplocks->msg_waiting(&fds)) { + return koplocks->receive_message(&fds, buffer, buffer_len); + } + + /* + * Linux 2.0.x seems to have a bug in that + * it can return -1, EINTR with a timeout of zero. + * Make sure we bail out here with a read timeout + * if we got EINTR on a timeout of 1 or less. + */ + + if (timeout <= 1) { + smb_read_error = READ_TIMEOUT; + return False; } + + /* Not a kernel interrupt - could be a SIGUSR1 message. We must restart. */ + /* We need to decrement the timeout here. */ + timeout -= ((time(NULL) - starttime)*1000); + if (timeout < 0) + timeout = 1; + + DEBUG(5,("receive_local_message: EINTR : new timeout %d ms\n", timeout)); + continue; } /* Check if error */ @@ -117,11 +152,11 @@ BOOL receive_local_message(fd_set *fds, char *buffer, int buffer_len, int timeou } } - if (koplocks && koplocks->msg_waiting(fds)) { - return koplocks->receive_message(fds, buffer, buffer_len); + if (koplocks && koplocks->msg_waiting(&fds)) { + return koplocks->receive_message(&fds, buffer, buffer_len); } - if (!FD_ISSET(oplock_sock, fds)) + if (!FD_ISSET(oplock_sock, &fds)) return False; /* @@ -133,7 +168,7 @@ BOOL receive_local_message(fd_set *fds, char *buffer, int buffer_len, int timeou * Read a loopback udp message. */ msg_len = sys_recvfrom(oplock_sock, &buffer[OPBRK_CMD_HEADER_LEN], - buffer_len - OPBRK_CMD_HEADER_LEN, 0, (struct sockaddr *)&from, &fromlen); + buffer_len - OPBRK_CMD_HEADER_LEN, 0, (struct sockaddr *)&from, &fromlen); if(msg_len < 0) { DEBUG(0,("receive_local_message. Error in recvfrom. (%s).\n",strerror(errno))); @@ -966,16 +1001,8 @@ dev = %x, inode = %.0f, file_id = %lu and no fsp found !\n", char op_break_reply[OPBRK_CMD_HEADER_LEN+OPLOCK_BREAK_MSG_LEN]; uint16 reply_from_port; char *reply_msg_start; - fd_set fds; - - FD_ZERO(&fds); - FD_SET(oplock_sock,&fds); - - if (koplocks && koplocks->notification_fd != -1) { - FD_SET(koplocks->notification_fd, &fds); - } - if(receive_local_message(&fds, op_break_reply, sizeof(op_break_reply), + if(receive_local_message(op_break_reply, sizeof(op_break_reply), time_left ? time_left * 1000 : 1) == False) { if(smb_read_error == READ_TIMEOUT) { if( DEBUGLVL( 0 ) ) { diff --git a/source/smbd/oplock_irix.c b/source/smbd/oplock_irix.c index 9ca3ecc2609..3576c768fef 100644 --- a/source/smbd/oplock_irix.c +++ b/source/smbd/oplock_irix.c @@ -100,7 +100,7 @@ static BOOL irix_oplock_receive_message(fd_set *fds, char *buffer, int buffer_le */ if(read(oplock_pipe_read, &dummy, 1) != 1) { - DEBUG(0,("receive_local_message: read of kernel notification failed. \ + DEBUG(0,("irix_oplock_receive_message: read of kernel notification failed. \ Error was %s.\n", strerror(errno) )); smb_read_error = READ_ERROR; return False; @@ -113,7 +113,7 @@ Error was %s.\n", strerror(errno) )); */ if(sys_fcntl_ptr(oplock_pipe_read, F_OPLKSTAT, &os) < 0) { - DEBUG(0,("receive_local_message: fcntl of kernel notification failed. \ + DEBUG(0,("irix_oplock_receive_message: fcntl of kernel notification failed. \ Error was %s.\n", strerror(errno) )); if(errno == EAGAIN) { /* @@ -132,12 +132,12 @@ Error was %s.\n", strerror(errno) )); */ if ((fsp = file_find_di_first((SMB_DEV_T)os.os_dev, (SMB_INO_T)os.os_ino)) == NULL) { - DEBUG(0,("receive_local_message: unable to find open file with dev = %x, inode = %.0f\n", + DEBUG(0,("irix_oplock_receive_message: unable to find open file with dev = %x, inode = %.0f\n", (unsigned int)os.os_dev, (double)os.os_ino )); return False; } - DEBUG(5,("receive_local_message: kernel oplock break request received for \ + DEBUG(5,("irix_oplock_receive_message: kernel oplock break request received for \ dev = %x, inode = %.0f\n, file_id = %ul", (unsigned int)fsp->dev, (double)fsp->inode, fsp->file_id )); /* @@ -167,19 +167,19 @@ static BOOL irix_set_kernel_oplock(files_struct *fsp, int oplock_type) { if (sys_fcntl_long(fsp->fd, F_OPLKREG, oplock_pipe_write) == -1) { if(errno != EAGAIN) { - DEBUG(0,("set_file_oplock: Unable to get kernel oplock on file %s, dev = %x, \ + DEBUG(0,("irix_set_kernel_oplock: Unable to get kernel oplock on file %s, dev = %x, \ inode = %.0f, file_id = %ul. Error was %s\n", fsp->fsp_name, (unsigned int)fsp->dev, (double)fsp->inode, fsp->file_id, strerror(errno) )); } else { - DEBUG(5,("set_file_oplock: Refused oplock on file %s, fd = %d, dev = %x, \ + DEBUG(5,("irix_set_kernel_oplock: Refused oplock on file %s, fd = %d, dev = %x, \ inode = %.0f, file_id = %ul. Another process had the file open.\n", fsp->fsp_name, fsp->fd, (unsigned int)fsp->dev, (double)fsp->inode, fsp->file_id )); } return False; } - DEBUG(10,("set_file_oplock: got kernel oplock on file %s, dev = %x, inode = %.0f, file_id = %ul\n", + DEBUG(10,("irix_set_kernel_oplock: got kernel oplock on file %s, dev = %x, inode = %.0f, file_id = %ul\n", fsp->fsp_name, (unsigned int)fsp->dev, (double)fsp->inode, fsp->file_id)); return True; @@ -197,7 +197,7 @@ static void irix_release_kernel_oplock(files_struct *fsp) * oplock state of this file. */ int state = sys_fcntl_long(fsp->fd, F_OPLKACK, -1); - dbgtext("release_kernel_oplock: file %s, dev = %x, inode = %.0f file_id = %ul, has kernel \ + dbgtext("irix_release_kernel_oplock: file %s, dev = %x, inode = %.0f file_id = %ul, has kernel \ oplock state of %x.\n", fsp->fsp_name, (unsigned int)fsp->dev, (double)fsp->inode, fsp->file_id, state ); } @@ -207,7 +207,7 @@ oplock state of %x.\n", fsp->fsp_name, (unsigned int)fsp->dev, */ if(sys_fcntl_long(fsp->fd, F_OPLKACK, OP_REVOKE) < 0) { if( DEBUGLVL( 0 )) { - dbgtext("release_kernel_oplock: Error when removing kernel oplock on file " ); + dbgtext("irix_release_kernel_oplock: Error when removing kernel oplock on file " ); dbgtext("%s, dev = %x, inode = %.0f, file_id = %ul. Error was %s\n", fsp->fsp_name, (unsigned int)fsp->dev, (double)fsp->inode, fsp->file_id, strerror(errno) ); diff --git a/source/smbd/oplock_linux.c b/source/smbd/oplock_linux.c index 3f22956aa02..f54c6c83e86 100644 --- a/source/smbd/oplock_linux.c +++ b/source/smbd/oplock_linux.c @@ -23,9 +23,9 @@ #if HAVE_KERNEL_OPLOCKS_LINUX -static VOLATILE sig_atomic_t signals_received; -static VOLATILE sig_atomic_t signals_processed; -static VOLATILE sig_atomic_t fd_pending; /* the fd of the current pending signal */ +static SIG_ATOMIC_T signals_received; +#define FD_PENDING_SIZE 100 +static SIG_ATOMIC_T fd_pending_array[FD_PENDING_SIZE]; #ifndef F_SETLEASE #define F_SETLEASE 1024 @@ -53,9 +53,10 @@ static VOLATILE sig_atomic_t fd_pending; /* the fd of the current pending signal static void signal_handler(int sig, siginfo_t *info, void *unused) { - BlockSignals(True, sig); - fd_pending = (sig_atomic_t)info->si_fd; - signals_received++; + if (signals_received < FD_PENDING_SIZE - 1) { + fd_pending_array[signals_received] = (SIG_ATOMIC_T)info->si_fd; + signals_received++; + } /* Else signal is lost. */ sys_select_signal(); } @@ -125,20 +126,28 @@ static int linux_setlease(int fd, int leasetype) static BOOL linux_oplock_receive_message(fd_set *fds, char *buffer, int buffer_len) { - BOOL ret = True; + int fd; struct files_struct *fsp; - if (signals_received == signals_processed) - return False; + BlockSignals(True, RT_SIGNAL_LEASE); + fd = fd_pending_array[0]; + fsp = file_find_fd(fd); + fd_pending_array[0] = (SIG_ATOMIC_T)-1; + if (signals_received > 1) + memmove((void *)&fd_pending_array[0], (void *)&fd_pending_array[1], + sizeof(SIG_ATOMIC_T)*(signals_received-1)); + signals_received--; + /* now we can receive more signals */ + BlockSignals(False, RT_SIGNAL_LEASE); - if ((fsp = file_find_fd(fd_pending)) == NULL) { - DEBUG(0,("Invalid file descriptor %d in kernel oplock break!\n", (int)fd_pending)); - ret = False; - goto out; + if (fsp == NULL) { + DEBUG(0,("Invalid file descriptor %d in kernel oplock break!\n", (int)fd)); + return False; } - DEBUG(3,("receive_local_message: kernel oplock break request received for \ -dev = %x, inode = %.0f\n", (unsigned int)fsp->dev, (double)fsp->inode )); + DEBUG(3,("linux_oplock_receive_message: kernel oplock break request received for \ +dev = %x, inode = %.0f fd = %d, fileid = %lu \n", (unsigned int)fsp->dev, (double)fsp->inode, + fd, fsp->file_id)); /* * Create a kernel oplock break message. @@ -156,13 +165,7 @@ dev = %x, inode = %.0f\n", (unsigned int)fsp->dev, (double)fsp->inode )); memcpy(buffer + KERNEL_OPLOCK_BREAK_INODE_OFFSET, (char *)&fsp->inode, sizeof(fsp->inode)); memcpy(buffer + KERNEL_OPLOCK_BREAK_FILEID_OFFSET, (char *)&fsp->file_id, sizeof(fsp->file_id)); - out: - /* now we can receive more signals */ - fd_pending = (sig_atomic_t)-1; - signals_processed++; - BlockSignals(False, RT_SIGNAL_LEASE); - - return ret; + return True; } /**************************************************************************** @@ -172,14 +175,14 @@ dev = %x, inode = %.0f\n", (unsigned int)fsp->dev, (double)fsp->inode )); static BOOL linux_set_kernel_oplock(files_struct *fsp, int oplock_type) { if (linux_setlease(fsp->fd, F_WRLCK) == -1) { - DEBUG(3,("set_file_oplock: Refused oplock on file %s, fd = %d, dev = %x, \ + DEBUG(3,("linux_set_kernel_oplock: Refused oplock on file %s, fd = %d, dev = %x, \ inode = %.0f. (%s)\n", fsp->fsp_name, fsp->fd, (unsigned int)fsp->dev, (double)fsp->inode, strerror(errno))); return False; } - DEBUG(3,("set_file_oplock: got kernel oplock on file %s, dev = %x, inode = %.0f, file_id = %lu\n", + DEBUG(3,("linux_set_kernel_oplock: got kernel oplock on file %s, dev = %x, inode = %.0f, file_id = %lu\n", fsp->fsp_name, (unsigned int)fsp->dev, (double)fsp->inode, fsp->file_id)); return True; @@ -197,7 +200,7 @@ static void linux_release_kernel_oplock(files_struct *fsp) * oplock state of this file. */ int state = fcntl(fsp->fd, F_GETLEASE, 0); - dbgtext("release_kernel_oplock: file %s, dev = %x, inode = %.0f file_id = %lu has kernel \ + dbgtext("linux_release_kernel_oplock: file %s, dev = %x, inode = %.0f file_id = %lu has kernel \ oplock state of %x.\n", fsp->fsp_name, (unsigned int)fsp->dev, (double)fsp->inode, fsp->file_id, state ); } @@ -207,7 +210,7 @@ oplock state of %x.\n", fsp->fsp_name, (unsigned int)fsp->dev, */ if (linux_setlease(fsp->fd, F_UNLCK) == -1) { if (DEBUGLVL(0)) { - dbgtext("release_kernel_oplock: Error when removing kernel oplock on file " ); + dbgtext("linux_release_kernel_oplock: Error when removing kernel oplock on file " ); dbgtext("%s, dev = %x, inode = %.0f, file_id = %lu. Error was %s\n", fsp->fsp_name, (unsigned int)fsp->dev, (double)fsp->inode, fsp->file_id, strerror(errno) ); @@ -245,7 +248,7 @@ static BOOL linux_kernel_oplock_parse(char *msg_start, int msg_len, SMB_INO_T *i static BOOL linux_oplock_msg_waiting(fd_set *fds) { - return signals_processed != signals_received; + return signals_received != 0; } /**************************************************************************** diff --git a/source/smbd/posix_acls.c b/source/smbd/posix_acls.c index 6a0aa982b42..cbb28359f94 100644 --- a/source/smbd/posix_acls.c +++ b/source/smbd/posix_acls.c @@ -409,7 +409,7 @@ static mode_t map_nt_perms( SEC_ACCESS sec_access, int type) Unpack a SEC_DESC into a UNIX owner and group. ****************************************************************************/ -static BOOL unpack_nt_owners(SMB_STRUCT_STAT *psbuf, uid_t *puser, gid_t *pgrp, uint32 security_info_sent, SEC_DESC *psd) +static BOOL unpack_nt_owners( int snum, SMB_STRUCT_STAT *psbuf, uid_t *puser, gid_t *pgrp, uint32 security_info_sent, SEC_DESC *psd) { DOM_SID owner_sid; DOM_SID grp_sid; @@ -440,15 +440,15 @@ static BOOL unpack_nt_owners(SMB_STRUCT_STAT *psbuf, uid_t *puser, gid_t *pgrp, if (security_info_sent & OWNER_SECURITY_INFORMATION) { sid_copy(&owner_sid, psd->owner_sid); if (!sid_to_uid( &owner_sid, puser, &sid_type)) { -#if ACL_FORCE_UNMAPPABLE - /* this allows take ownership to work reasonably */ - extern struct current_user current_user; - *puser = current_user.uid; -#else - DEBUG(3,("unpack_nt_owners: unable to validate owner sid for %s.\n", - sid_string_static(&owner_sid))); - return False; -#endif + if (lp_force_unknown_acl_user(snum)) { + /* this allows take ownership to work reasonably */ + extern struct current_user current_user; + *puser = current_user.uid; + } else { + DEBUG(3,("unpack_nt_owners: unable to validate owner sid for %s.\n", + sid_string_static(&owner_sid))); + return False; + } } } @@ -460,14 +460,14 @@ static BOOL unpack_nt_owners(SMB_STRUCT_STAT *psbuf, uid_t *puser, gid_t *pgrp, if (security_info_sent & GROUP_SECURITY_INFORMATION) { sid_copy(&grp_sid, psd->grp_sid); if (!sid_to_gid( &grp_sid, pgrp, &sid_type)) { -#if ACL_FORCE_UNMAPPABLE - /* this allows take group ownership to work reasonably */ - extern struct current_user current_user; - *pgrp = current_user.gid; -#else - DEBUG(3,("unpack_nt_owners: unable to validate group sid.\n")); - return False; -#endif + if (lp_force_unknown_acl_user(snum)) { + /* this allows take group ownership to work reasonably */ + extern struct current_user current_user; + *pgrp = current_user.gid; + } else { + DEBUG(3,("unpack_nt_owners: unable to validate group sid.\n")); + return False; + } } } @@ -480,7 +480,7 @@ static BOOL unpack_nt_owners(SMB_STRUCT_STAT *psbuf, uid_t *puser, gid_t *pgrp, Ensure the enforced permissions for this share apply. ****************************************************************************/ -static mode_t apply_default_perms(files_struct *fsp, mode_t perms, mode_t type) +static void apply_default_perms(files_struct *fsp, canon_ace *pace, mode_t type) { int snum = SNUM(fsp->conn); mode_t and_bits = (mode_t)0; @@ -499,6 +499,10 @@ static mode_t apply_default_perms(files_struct *fsp, mode_t perms, mode_t type) /* Now bounce them into the S_USR space. */ switch(type) { case S_IRUSR: + /* Ensure owner has read access. */ + pace->perms |= S_IRUSR; + if (fsp->is_directory) + pace->perms |= (S_IWUSR|S_IXUSR); and_bits = unix_perms_to_acl_perms(and_bits, S_IRUSR, S_IWUSR, S_IXUSR); or_bits = unix_perms_to_acl_perms(or_bits, S_IRUSR, S_IWUSR, S_IXUSR); break; @@ -512,7 +516,34 @@ static mode_t apply_default_perms(files_struct *fsp, mode_t perms, mode_t type) break; } - return ((perms & and_bits)|or_bits); + pace->perms = ((pace->perms & and_bits)|or_bits); +} + +/**************************************************************************** + Check if a given uid/SID is in a group gid/SID. This is probably very + expensive and will need optimisation. A *lot* of optimisation :-). JRA. +****************************************************************************/ + +static BOOL uid_entry_in_group( canon_ace *uid_ace, canon_ace *group_ace ) +{ + extern DOM_SID global_sid_World; + fstring u_name; + fstring g_name; + + /* "Everyone" always matches every uid. */ + + if (sid_equal(&group_ace->trustee, &global_sid_World)) + return True; + + fstrcpy(u_name, uidtoname(uid_ace->unix_ug.uid)); + fstrcpy(g_name, gidtoname(group_ace->unix_ug.gid)); + + /* + * Due to the winbind interfaces we need to do this via names, + * not uids/gids. + */ + + return user_in_group_list(u_name, g_name ); } /**************************************************************************** @@ -537,24 +568,16 @@ static BOOL ensure_canon_entry_valid(canon_ace **pp_ace, BOOL got_user = False; BOOL got_grp = False; BOOL got_other = False; + canon_ace *pace_other = NULL; + canon_ace *pace_group = NULL; for (pace = *pp_ace; pace; pace = pace->next) { if (pace->type == SMB_ACL_USER_OBJ) { - if (setting_acl) { - /* Ensure owner has read access. */ - pace->perms |= S_IRUSR; - if (fsp->is_directory) - pace->perms |= (S_IWUSR|S_IXUSR); - - /* - * Ensure create mask/force create mode is respected on set. - */ - - pace->perms = apply_default_perms(fsp, pace->perms, S_IRUSR); - } - + if (setting_acl) + apply_default_perms(fsp, pace, S_IRUSR); got_user = True; + } else if (pace->type == SMB_ACL_GROUP_OBJ) { /* @@ -562,8 +585,10 @@ static BOOL ensure_canon_entry_valid(canon_ace **pp_ace, */ if (setting_acl) - pace->perms = apply_default_perms(fsp, pace->perms, S_IRGRP); + apply_default_perms(fsp, pace, S_IRGRP); got_grp = True; + pace_group = pace; + } else if (pace->type == SMB_ACL_OTHER) { /* @@ -571,8 +596,9 @@ static BOOL ensure_canon_entry_valid(canon_ace **pp_ace, */ if (setting_acl) - pace->perms = apply_default_perms(fsp, pace->perms, S_IROTH); + apply_default_perms(fsp, pace, S_IROTH); got_other = True; + pace_other = pace; } } @@ -587,9 +613,21 @@ static BOOL ensure_canon_entry_valid(canon_ace **pp_ace, pace->owner_type = UID_ACE; pace->unix_ug.uid = pst->st_uid; pace->trustee = *pfile_owner_sid; - pace->perms = unix_perms_to_acl_perms(pst->st_mode, S_IRUSR, S_IWUSR, S_IXUSR); pace->attr = ALLOW_ACE; + if (setting_acl) { + /* If we only got an "everyone" perm, just use that. */ + if (!got_grp && got_other) + pace->perms = pace_other->perms; + else if (got_grp && uid_entry_in_group(pace, pace_group)) + pace->perms = pace_group->perms; + else + pace->perms = unix_perms_to_acl_perms(pst->st_mode, S_IRUSR, S_IWUSR, S_IXUSR); + apply_default_perms(fsp, pace, S_IRUSR); + } else { + pace->perms = unix_perms_to_acl_perms(pst->st_mode, S_IRUSR, S_IWUSR, S_IXUSR); + } + DLIST_ADD(*pp_ace, pace); } @@ -604,8 +642,17 @@ static BOOL ensure_canon_entry_valid(canon_ace **pp_ace, pace->owner_type = GID_ACE; pace->unix_ug.uid = pst->st_gid; pace->trustee = *pfile_grp_sid; - pace->perms = unix_perms_to_acl_perms(pst->st_mode, S_IRGRP, S_IWGRP, S_IXGRP); pace->attr = ALLOW_ACE; + if (setting_acl) { + /* If we only got an "everyone" perm, just use that. */ + if (got_other) + pace->perms = pace_other->perms; + else + pace->perms = unix_perms_to_acl_perms(pst->st_mode, S_IRGRP, S_IWGRP, S_IXGRP); + apply_default_perms(fsp, pace, S_IRGRP); + } else { + pace->perms = unix_perms_to_acl_perms(pst->st_mode, S_IRGRP, S_IWGRP, S_IXGRP); + } DLIST_ADD(*pp_ace, pace); } @@ -621,8 +668,9 @@ static BOOL ensure_canon_entry_valid(canon_ace **pp_ace, pace->owner_type = WORLD_ACE; pace->unix_ug.world = -1; pace->trustee = global_sid_World; - pace->perms = unix_perms_to_acl_perms(pst->st_mode, S_IROTH, S_IWOTH, S_IXOTH); pace->attr = ALLOW_ACE; + pace->perms = unix_perms_to_acl_perms(pst->st_mode, S_IROTH, S_IWOTH, S_IXOTH); + apply_default_perms(fsp, pace, S_IROTH); DLIST_ADD(*pp_ace, pace); } @@ -932,33 +980,6 @@ Deny entry after Allow entry. Failing to set on file %s.\n", fsp->fsp_name )); } /**************************************************************************** - Check if a given uid/SID is in a group gid/SID. This is probably very - expensive and will need optimisation. A *lot* of optimisation :-). JRA. -****************************************************************************/ - -static BOOL uid_entry_in_group( canon_ace *uid_ace, canon_ace *group_ace ) -{ - extern DOM_SID global_sid_World; - fstring u_name; - fstring g_name; - - /* "Everyone" always matches every uid. */ - - if (sid_equal(&group_ace->trustee, &global_sid_World)) - return True; - - fstrcpy(u_name, uidtoname(uid_ace->unix_ug.uid)); - fstrcpy(g_name, gidtoname(group_ace->unix_ug.gid)); - - /* - * Due to the winbind interfaces we need to do this via names, - * not uids/gids. - */ - - return user_in_group_list(u_name, g_name ); -} - -/**************************************************************************** ASCII art time again... JRA :-). We have 3 cases to process when moving from an NT ACL to a POSIX ACL. Firstly, @@ -2026,28 +2047,28 @@ static int try_chown(connection_struct *conn, const char *fname, uid_t uid, gid_ /* try the direct way first */ ret = vfs_chown(conn, fname, uid, gid); - if (ret == 0) return 0; + if (ret == 0) + return 0; if(!CAN_WRITE(conn) || !lp_dos_filemode(SNUM(conn))) return -1; - if (vfs_stat(conn,fname,&st)) { + if (vfs_stat(conn,fname,&st)) return -1; - } fsp = open_file_fchmod(conn,fname,&st); - if (!fsp) { + if (!fsp) return -1; - } /* only allow chown to the current user. This is more secure, and also copes with the case where the SID in a take ownership ACL is a local SID on the users workstation */ uid = current_user.uid; - + become_root(); - ret = vfswrap_fchown(fsp, fsp->fd, uid, gid); + /* Keep the current file gid the same. */ + ret = vfswrap_fchown(fsp, fsp->fd, uid, (gid_t)-1); unbecome_root(); close_file_fchmod(fsp); @@ -2099,7 +2120,7 @@ BOOL set_nt_acl(files_struct *fsp, uint32 security_info_sent, SEC_DESC *psd) * Unpack the user/group/world id's. */ - if (!unpack_nt_owners( &sbuf, &user, &grp, security_info_sent, psd)) + if (!unpack_nt_owners( SNUM(conn), &sbuf, &user, &grp, security_info_sent, psd)) return False; /* @@ -2367,6 +2388,7 @@ BOOL directory_has_default_acl(connection_struct *conn, const char *fname) if (dir_acl != NULL && (conn->vfs_ops.sys_acl_get_entry(conn, dir_acl, SMB_ACL_FIRST_ENTRY, &entry) == 1)) has_acl = True; - conn->vfs_ops.sys_acl_free_acl(conn, dir_acl); + if (dir_acl) + conn->vfs_ops.sys_acl_free_acl(conn, dir_acl); return has_acl; } diff --git a/source/smbd/process.c b/source/smbd/process.c index e882853e6de..4eaa396f6b4 100644 --- a/source/smbd/process.c +++ b/source/smbd/process.c @@ -46,8 +46,8 @@ extern int last_message; extern int global_oplock_break; extern userdom_struct current_user_info; extern int smb_read_error; -extern VOLATILE sig_atomic_t reload_after_sighup; -extern VOLATILE sig_atomic_t got_sig_term; +SIG_ATOMIC_T reload_after_sighup; +SIG_ATOMIC_T got_sig_term; extern BOOL global_machine_password_needs_changing; extern fstring global_myworkgroup; extern pstring global_myname; @@ -113,10 +113,12 @@ BOOL push_oplock_pending_smb_message(char *buf, int msg_len) oplock messages, change notify events etc. ****************************************************************************/ -static void async_processing(fd_set *fds, char *buffer, int buffer_len) +static void async_processing(char *buffer, int buffer_len) { + DEBUG(10,("async_processing: Doing async processing.\n")); + /* check for oplock messages (both UDP and kernel) */ - if (receive_local_message(fds, buffer, buffer_len, 0)) { + if (receive_local_message(buffer, buffer_len, 1)) { process_local_message(buffer, buffer_len); } @@ -197,6 +199,27 @@ static BOOL receive_message_or_smb(char *buffer, int buffer_len, int timeout) */ FD_ZERO(&fds); + + /* + * Ensure we process oplock break messages by preference. + * We have to do this before the select, after the select + * and if the select returns EINTR. This is due to the fact + * that the selects called from async_processing can eat an EINTR + * caused by a signal (we can't take the break message there). + * This is hideously complex - *MUST* be simplified for 3.0 ! JRA. + */ + + if (oplock_message_waiting(&fds)) { + DEBUG(10,("receive_message_or_smb: oplock_message is waiting.\n")); + async_processing(buffer, buffer_len); + /* + * After async processing we must go and do the select again, as + * the state of the flag in fds for the server file descriptor is + * indeterminate - we may have done I/O on it in the oplock processing. JRA. + */ + goto again; + } + FD_SET(smbd_server_fd(),&fds); maxfd = setup_oplock_select_set(&fds); @@ -210,7 +233,7 @@ static BOOL receive_message_or_smb(char *buffer, int buffer_len, int timeout) is the best we can do until the oplock code knows more about signals */ if (selrtn == -1 && errno == EINTR) { - async_processing(&fds, buffer, buffer_len); + async_processing(buffer, buffer_len); /* * After async processing we must go and do the select again, as * the state of the flag in fds for the server file descriptor is @@ -240,7 +263,7 @@ static BOOL receive_message_or_smb(char *buffer, int buffer_len, int timeout) if (oplock_message_waiting(&fds)) { DEBUG(10,("receive_message_or_smb: oplock_message is waiting.\n")); - async_processing(&fds, buffer, buffer_len); + async_processing(buffer, buffer_len); /* * After async processing we must go and do the select again, as * the state of the flag in fds for the server file descriptor is @@ -280,7 +303,6 @@ BOOL receive_next_smb(char *inbuf, int bufsize, int timeout) void respond_to_all_remaining_local_messages(void) { char buffer[1024]; - fd_set fds; /* * Assert we have no exclusive open oplocks. @@ -293,23 +315,12 @@ void respond_to_all_remaining_local_messages(void) } /* - * Setup the select read fd set. - */ - - FD_ZERO(&fds); - if(!setup_oplock_select_set(&fds)) - return; - - /* * Keep doing receive_local_message with a 1 ms timeout until * we have no more messages. */ - while(receive_local_message(&fds, buffer, sizeof(buffer), 1)) { + while(receive_local_message(buffer, sizeof(buffer), 1)) { /* Deal with oplock break requests from other smbd's. */ process_local_message(buffer, sizeof(buffer)); - - FD_ZERO(&fds); - (void)setup_oplock_select_set(&fds); } return; diff --git a/source/smbd/quotas.c b/source/smbd/quotas.c index 5e744bc97dd..4cfa05b1997 100644 --- a/source/smbd/quotas.c +++ b/source/smbd/quotas.c @@ -42,28 +42,15 @@ BOOL disk_quotas_vxfs(const pstring name, char *path, SMB_BIG_UINT *bsize, SMB_B #ifdef LINUX #include <sys/types.h> -#include <asm/types.h> +#include <mntent.h> /* * This shouldn't be neccessary - it should be /usr/include/sys/quota.h - * Unfortunately, RH7.1 ships with a different quota system using struct mem_dqblk - * rather than the struct dqblk defined in /usr/include/sys/quota.h. - * This means we must include linux/quota.h to have a hope of working on - * RH7.1 systems. And it also means this breaks if the kernel is upgraded - * to a Linus 2.4.x (where x > the minor number shipped with RH7.1) until - * Linus synchronises with the AC patches. Sometimes I *hate* Linux :-). JRA. + * So we include all the files has *should* be in the system into a large, + * grungy samba_linux_quoatas.h Sometimes I *hate* Linux :-). JRA. */ -#include <linux/quota.h> -#ifdef HAVE_LINUX_XQM_H -#include <linux/xqm.h> -#endif - -#include <mntent.h> -#include <linux/unistd.h> - - -#define LINUX_QUOTAS_2 +#include "samba_linux_quota.h" typedef struct _LINUX_SMB_DISK_QUOTA { SMB_BIG_UINT bsize; @@ -82,7 +69,6 @@ typedef struct _LINUX_SMB_DISK_QUOTA { static int get_smb_linux_xfs_quota(char *path, uid_t euser_id, LINUX_SMB_DISK_QUOTA *dp) { int ret = -1; -#ifdef HAVE_LINUX_XQM_H struct fs_disk_quota D; ZERO_STRUCT(D); @@ -96,7 +82,6 @@ static int get_smb_linux_xfs_quota(char *path, uid_t euser_id, LINUX_SMB_DISK_QU dp->isoftlimit = (SMB_BIG_UINT)D.d_ino_softlimit; dp->curinodes = (SMB_BIG_UINT)D.d_icount; dp->curblocks = (SMB_BIG_UINT)D.d_bcount; -#endif return ret; } @@ -104,23 +89,36 @@ static int get_smb_linux_xfs_quota(char *path, uid_t euser_id, LINUX_SMB_DISK_QU Abstract out the old and new Linux quota get calls. ****************************************************************************/ -static int get_smb_linux_vfs_quota(char *path, uid_t euser_id, LINUX_SMB_DISK_QUOTA *dp) +static int get_smb_linux_v1_quota(char *path, uid_t euser_id, LINUX_SMB_DISK_QUOTA *dp) { + struct v1_kern_dqblk D; int ret; -#ifdef LINUX_QUOTAS_1 - struct dqblk D; + ZERO_STRUCT(D); - dp->bsize = (SMB_BIG_UINT)1024; -#else /* LINUX_QUOTAS_2 */ - struct mem_dqblk D; + dp->bsize = (SMB_BIG_UINT)QUOTABLOCK_SIZE; + + if ((ret = quotactl(QCMD(Q_V1_GETQUOTA,USRQUOTA), path, euser_id, (caddr_t)&D))) + return -1; + + dp->softlimit = (SMB_BIG_UINT)D.dqb_bsoftlimit; + dp->hardlimit = (SMB_BIG_UINT)D.dqb_bhardlimit; + dp->ihardlimit = (SMB_BIG_UINT)D.dqb_ihardlimit; + dp->isoftlimit = (SMB_BIG_UINT)D.dqb_isoftlimit; + dp->curinodes = (SMB_BIG_UINT)D.dqb_curinodes; + dp->curblocks = (SMB_BIG_UINT)D.dqb_curblocks; + + return 0; +} + +static int get_smb_linux_v2_quota(char *path, uid_t euser_id, LINUX_SMB_DISK_QUOTA *dp) +{ + struct v2_kern_dqblk D; + int ret; + ZERO_STRUCT(D); -#ifndef QUOTABLOCK_SIZE -#define QUOTABLOCK_SIZE 1024 -#endif dp->bsize = (SMB_BIG_UINT)QUOTABLOCK_SIZE; -#endif - if ((ret = quotactl(QCMD(Q_GETQUOTA,USRQUOTA), path, euser_id, (caddr_t)&D))) + if ((ret = quotactl(QCMD(Q_V2_GETQUOTA,USRQUOTA), path, euser_id, (caddr_t)&D))) return -1; dp->softlimit = (SMB_BIG_UINT)D.dqb_bsoftlimit; @@ -128,18 +126,38 @@ static int get_smb_linux_vfs_quota(char *path, uid_t euser_id, LINUX_SMB_DISK_QU dp->ihardlimit = (SMB_BIG_UINT)D.dqb_ihardlimit; dp->isoftlimit = (SMB_BIG_UINT)D.dqb_isoftlimit; dp->curinodes = (SMB_BIG_UINT)D.dqb_curinodes; + dp->curblocks = ((SMB_BIG_UINT)D.dqb_curspace) / dp->bsize; -#ifdef LINUX_QUOTAS_1 - dp->curblocks = (SMB_BIG_UINT)D.dqb_curblocks; -#else /* LINUX_QUOTAS_2 */ - dp->curblocks = ((SMB_BIG_UINT)D.dqb_curspace)/ dp->bsize; -#endif + return 0; +} + +/**************************************************************************** + Brand-new generic quota interface. +****************************************************************************/ + +static int get_smb_linux_gen_quota(char *path, uid_t euser_id, LINUX_SMB_DISK_QUOTA *dp) +{ + struct if_dqblk D; + int ret; + + ZERO_STRUCT(D); + dp->bsize = (SMB_BIG_UINT)QUOTABLOCK_SIZE; + + if ((ret = quotactl(QCMD(Q_GETQUOTA,USRQUOTA), path, euser_id, (caddr_t)&D))) + return -1; + + dp->softlimit = (SMB_BIG_UINT)D.dqb_bsoftlimit; + dp->hardlimit = (SMB_BIG_UINT)D.dqb_bhardlimit; + dp->ihardlimit = (SMB_BIG_UINT)D.dqb_ihardlimit; + dp->isoftlimit = (SMB_BIG_UINT)D.dqb_isoftlimit; + dp->curinodes = (SMB_BIG_UINT)D.dqb_curinodes; + dp->curblocks = ((SMB_BIG_UINT)D.dqb_curspace) / dp->bsize; return 0; } /**************************************************************************** -try to get the disk space from disk quotas (LINUX version) + Try to get the disk space from disk quotas (LINUX version). ****************************************************************************/ BOOL disk_quotas(const char *path, SMB_BIG_UINT *bsize, SMB_BIG_UINT *dfree, SMB_BIG_UINT *dsize) @@ -182,10 +200,18 @@ BOOL disk_quotas(const char *path, SMB_BIG_UINT *bsize, SMB_BIG_UINT *dfree, SMB save_re_uid(); set_effective_uid(0); - if (strcmp(mnt->mnt_type, "xfs") == 0) + + if (strcmp(mnt->mnt_type, "xfs")) { + r=get_smb_linux_gen_quota(mnt->mnt_fsname, euser_id, &D); + if (r == -1) { + r=get_smb_linux_v2_quota(mnt->mnt_fsname, euser_id, &D); + if (r == -1) + r=get_smb_linux_v1_quota(mnt->mnt_fsname, euser_id, &D); + } + } else { r=get_smb_linux_xfs_quota(mnt->mnt_fsname, euser_id, &D); - else - r=get_smb_linux_vfs_quota(mnt->mnt_fsname, euser_id, &D); + } + restore_re_uid(); /* Use softlimit to determine disk space, except when it has been exceeded */ diff --git a/source/smbd/reply.c b/source/smbd/reply.c index 562b0492ca0..78294952c18 100644 --- a/source/smbd/reply.c +++ b/source/smbd/reply.c @@ -553,6 +553,15 @@ static int smb_delete_user(char *unix_user) pstring del_script; int ret; + /* + * Sanity check -- do not delete 'root' account + */ + + if (StrCaseCmp("root", unix_user) == 0) { + DEBUG(0,("smb_delete_user: Will not delete the [%s] user account!\n", unix_user)); + return -1; + } + pstrcpy(del_script, lp_deluser_script()); if (! *del_script) return -1; @@ -2052,8 +2061,8 @@ NTSTATUS unlink_internals(connection_struct *conn, int dirtype, char *name) * Tine Smukavec <valentin.smukavec@hermes.si>. */ - if (!rc && is_mangled(mask)) - check_mangled_cache( mask ); + if (!rc && mangle_is_mangled(mask)) + mangle_check_cache( mask ); has_wild = ms_has_wild(mask); @@ -3764,8 +3773,8 @@ NTSTATUS rename_internals(connection_struct *conn, char *name, char *newname, BO * Tine Smukavec <valentin.smukavec@hermes.si>. */ - if (!rc && is_mangled(mask)) - check_mangled_cache( mask ); + if (!rc && mangle_is_mangled(mask)) + mangle_check_cache( mask ); has_wild = ms_has_wild(mask); @@ -3776,7 +3785,7 @@ NTSTATUS rename_internals(connection_struct *conn, char *name, char *newname, BO /* * No wildcards - just process the one file. */ - BOOL is_short_name = is_8_3(name, True); + BOOL is_short_name = mangle_is_8_3(name, True); /* Add a terminating '/' to the directory name. */ pstrcat(directory,"/"); @@ -3792,7 +3801,7 @@ NTSTATUS rename_internals(connection_struct *conn, char *name, char *newname, BO } DEBUG(3,("rename_internals: case_sensitive = %d, case_preserve = %d, short case preserve = %d, \ -directory = %s, newname = %s, newname_last_component = %s, is_8_3 = %d\n", +directory = %s, newname = %s, newname_last_component = %s, mangle_is_8_3 = %d\n", case_sensitive, case_preserve, short_case_preserve, directory, newname, newname_last_component, is_short_name)); @@ -4173,8 +4182,8 @@ int reply_copy(connection_struct *conn, char *inbuf,char *outbuf, int dum_size, * Tine Smukavec <valentin.smukavec@hermes.si>. */ - if (!rc && is_mangled(mask)) - check_mangled_cache( mask ); + if (!rc && mangle_is_mangled(mask)) + mangle_check_cache( mask ); has_wild = ms_has_wild(mask); diff --git a/source/smbd/server.c b/source/smbd/server.c index b18921e1af3..bfee036dc5a 100644 --- a/source/smbd/server.c +++ b/source/smbd/server.c @@ -64,7 +64,7 @@ void smbd_set_server_fd(int fd) Terminate signal. ****************************************************************************/ -VOLATILE sig_atomic_t got_sig_term = 0; +SIG_ATOMIC_T got_sig_term = 0; static void sig_term(void) { @@ -76,7 +76,7 @@ static void sig_term(void) Catch a sighup. ****************************************************************************/ -VOLATILE sig_atomic_t reload_after_sighup = 0; +SIG_ATOMIC_T reload_after_sighup = 0; static void sig_hup(int sig) { @@ -382,7 +382,7 @@ BOOL reload_services(BOOL test) } } - reset_mangled_cache(); + mangle_reset_cache(); reset_stat_cache(); /* this forces service parameters to be flushed */ diff --git a/source/smbd/service.c b/source/smbd/service.c index 22aecdb4929..4d40d8dec1b 100644 --- a/source/smbd/service.c +++ b/source/smbd/service.c @@ -41,7 +41,6 @@ extern fstring remote_machine; BOOL set_current_service(connection_struct *conn,BOOL do_chdir) { - extern char magic_char; static connection_struct *last_conn; int snum; @@ -72,7 +71,6 @@ BOOL set_current_service(connection_struct *conn,BOOL do_chdir) short_case_preserve = lp_shortpreservecase(snum); case_mangle = lp_casemangle(snum); case_sensitive = lp_casesensitive(snum); - magic_char = lp_magicchar(snum); use_mangled_map = (*lp_mangled_map(snum) ? True:False); return(True); } @@ -227,7 +225,9 @@ connection_struct *make_connection(char *service,char *user,char *password, int BOOL guest = False; BOOL force = False; connection_struct *conn; +#if !CHECK_PATH_ON_TCONX struct stat st; +#endif uid_t euid; int ret; diff --git a/source/smbd/trans2.c b/source/smbd/trans2.c index 9af0b0ddb58..5e74845f4ef 100644 --- a/source/smbd/trans2.c +++ b/source/smbd/trans2.c @@ -399,7 +399,7 @@ static mode_t unix_perms_from_wire( connection_struct *conn, SMB_STRUCT_STAT *ps ret |= ((perms & UNIX_SET_GID ) ? S_ISGID : 0); #endif #ifdef S_ISUID - ret |= ((perms & UNIX_SET_UID ) ? S_ISVTX : 0); + ret |= ((perms & UNIX_SET_UID ) ? S_ISUID : 0); #endif if (VALID_STAT(*pst) && S_ISDIR(pst->st_mode)) { @@ -417,6 +417,21 @@ static mode_t unix_perms_from_wire( connection_struct *conn, SMB_STRUCT_STAT *ps } /**************************************************************************** +checks for SMB_TIME_NO_CHANGE and if not found +calls interpret_long_date +****************************************************************************/ +time_t interpret_long_unix_date(char *p) +{ + DEBUG(1,("interpret_long_unix_date\n")); + if(IVAL(p,0) == SMB_TIME_NO_CHANGE_LO && + IVAL(p,4) == SMB_TIME_NO_CHANGE_HI) { + return -1; + } else { + return interpret_long_date(p); + } +} + +/**************************************************************************** Get a level dependent lanman2 dir entry. ****************************************************************************/ @@ -490,7 +505,7 @@ static BOOL get_lanman2_dir_entry(connection_struct *conn, if(!(got_match = *got_exact_match = exact_match(fname, mask, case_sensitive))) got_match = mask_match(fname, mask, case_sensitive); - if(!got_match && !is_8_3(fname, False)) { + if(!got_match && !mangle_is_8_3(fname, False)) { /* * It turns out that NT matches wildcards against @@ -501,7 +516,7 @@ static BOOL get_lanman2_dir_entry(connection_struct *conn, pstring newname; pstrcpy( newname, fname); - name_map_mangle( newname, True, False, SNUM(conn)); + mangle_map( newname, True, False, SNUM(conn)); if(!(got_match = *got_exact_match = exact_match(newname, mask, case_sensitive))) got_match = mask_match(newname, mask, case_sensitive); } @@ -571,7 +586,7 @@ static BOOL get_lanman2_dir_entry(connection_struct *conn, } } - name_map_mangle(fname,False,True,SNUM(conn)); + mangle_map(fname,False,True,SNUM(conn)); p = pdata; nameptr = p; @@ -648,7 +663,7 @@ static BOOL get_lanman2_dir_entry(connection_struct *conn, break; case SMB_FIND_FILE_BOTH_DIRECTORY_INFO: - was_8_3 = is_8_3(fname, True); + was_8_3 = mangle_is_8_3(fname, True); len = 94+strlen(fname); len = (len + 3) & ~3; SIVAL(p,0,len); p += 4; @@ -665,8 +680,7 @@ static BOOL get_lanman2_dir_entry(connection_struct *conn, SIVAL(p,0,0); p += 4; if (!was_8_3) { fstrcpy(p+2,fname); - if(!name_map_mangle(p+2,True,True,SNUM(conn))) - (p+2)[12] = 0; + mangle_map(p+2,True,True,SNUM(conn)); strupper(p+2); SSVAL(p, 0, strlen(p+2)); } else { @@ -1031,8 +1045,8 @@ close_if_end = %d requires_resume_key = %d level = %d, max_data_bytes = %d\n", * (see PR#13758). JRA. */ - if(!is_8_3( mask, False)) - name_map_mangle(mask, True, True, SNUM(conn)); + if(!mangle_is_8_3_wildcards( mask, False)) + mangle_map(mask, True, True, SNUM(conn)); return(-1); } @@ -1194,7 +1208,7 @@ resume_key = %d resume name = %s continue=%d level = %d\n", */ if(dname != NULL) - name_map_mangle( dname, False, True, SNUM(conn)); + mangle_map( dname, False, True, SNUM(conn)); if(dname && strcsequal( resume_name, dname)) { SeekDir(dirptr, current_pos+1); @@ -1220,7 +1234,7 @@ resume_key = %d resume name = %s continue=%d level = %d\n", */ if(dname != NULL) - name_map_mangle( dname, False, True, SNUM(conn)); + mangle_map( dname, False, True, SNUM(conn)); if(dname && strcsequal( resume_name, dname)) { SeekDir(dirptr, current_pos+1); @@ -1424,6 +1438,12 @@ static int call_trans2qfsinfo(connection_struct *conn, char *inbuf, char *outbuf SMB_BIG_UINT dfree,dsize,bsize,secs_per_unit;; data_len = 24; conn->vfs_ops.disk_free(conn,".",False,&bsize,&dfree,&dsize); + if (bsize < 1024) { + SMB_BIG_UINT factor = 1024/bsize; + bsize = 1024; + dsize /= factor; + dfree /= factor; + } secs_per_unit = 2; SBIG_UINT(pdata,0,dsize*(bsize/(512*secs_per_unit))); SBIG_UINT(pdata,8,dfree*(bsize/(512*secs_per_unit))); @@ -1437,11 +1457,11 @@ static int call_trans2qfsinfo(connection_struct *conn, char *inbuf, char *outbuf SMB_BIG_UINT dfree,dsize,bsize; data_len = 32; conn->vfs_ops.disk_free(conn,".",False,&bsize,&dfree,&dsize); - SBIG_UINT(pdata,0,dsize); - SBIG_UINT(pdata,8,dsize); - SBIG_UINT(pdata,16,dfree); - SIVAL(pdata,24,bsize/512); - SIVAL(pdata,28,512); + SBIG_UINT(pdata,0,dsize); /* Total Allocation units. */ + SBIG_UINT(pdata,8,dfree); /* Caller available allocation units. */ + SBIG_UINT(pdata,16,dfree); /* Actual available allocation units. */ + SIVAL(pdata,24,bsize/512); /* Sectors per allocation unit. */ + SIVAL(pdata,28,512); /* Bytes per sector. */ break; } @@ -1795,9 +1815,8 @@ static int call_trans2qfilepathinfo(connection_struct *conn, char *inbuf, char * pstring short_name; pstrcpy(short_name,p); /* Mangle if not already 8.3 */ - if(!is_8_3(short_name, True)) { - if(!name_map_mangle(short_name,True,True,SNUM(conn))) - *short_name = '\0'; + if(!mangle_is_8_3(short_name, True)) { + mangle_map(short_name,True,True,SNUM(conn)); } strupper(short_name); SSVAL(outbuf,smb_flg2,SVAL(outbuf,smb_flg2)|FLAGS2_UNICODE_STRINGS); @@ -2355,10 +2374,10 @@ static int call_trans2setfilepathinfo(connection_struct *conn, char *inbuf, char SSVAL(params,0,0); - if (fsp) { + if (fsp) { /* the pending modtime overrides the current modtime */ sbuf.st_mtime = fsp->pending_modtime; - } + } size = sbuf.st_size; tvs.modtime = sbuf.st_mtime; @@ -2369,12 +2388,6 @@ static int call_trans2setfilepathinfo(connection_struct *conn, char *inbuf, char set_owner = VALID_STAT(sbuf) ? sbuf.st_uid : (uid_t)SMB_UID_NO_CHANGE; set_grp = VALID_STAT(sbuf) ? sbuf.st_gid : (gid_t)SMB_GID_NO_CHANGE; - if (total_data > 4 && IVAL(pdata,0) == total_data) { - /* uggh, EAs for OS2 */ - DEBUG(4,("Rejecting EA request with total_data=%d\n",total_data)); - return ERROR_DOS(ERRDOS,ERReasnotsupported); - } - switch (info_level) { case SMB_INFO_STANDARD: case SMB_INFO_QUERY_EA_SIZE: @@ -2575,16 +2588,19 @@ static int call_trans2setfilepathinfo(connection_struct *conn, char *inbuf, char if (total_data < 100) return(ERROR_DOS(ERRDOS,ERRinvalidparam)); - size=IVAL(pdata,0); /* first 8 Bytes are size */ + if(IVAL(pdata, 0) != SMB_SIZE_NO_CHANGE_LO && + IVAL(pdata, 4) != SMB_SIZE_NO_CHANGE_HI) { + size=IVAL(pdata,0); /* first 8 Bytes are size */ #ifdef LARGE_SMB_OFF_T - size |= (((SMB_OFF_T)IVAL(pdata,4)) << 32); + size |= (((SMB_OFF_T)IVAL(pdata,4)) << 32); #else /* LARGE_SMB_OFF_T */ - if (IVAL(pdata,4) != 0) /* more than 32 bits? */ - return ERROR_DOS(ERRDOS,ERRunknownlevel); + if (IVAL(pdata,4) != 0) /* more than 32 bits? */ + return ERROR_DOS(ERRDOS,ERRunknownlevel); #endif /* LARGE_SMB_OFF_T */ + } pdata+=24; /* ctime & st_blocks are not changed */ - tvs.actime = interpret_long_date(pdata); /* access_time */ - tvs.modtime = interpret_long_date(pdata+8); /* modification_time */ + tvs.actime = interpret_long_unix_date(pdata); /* access_time */ + tvs.modtime = interpret_long_unix_date(pdata+8); /* modification_time */ pdata+=16; set_owner = (uid_t)IVAL(pdata,0); pdata += 8; @@ -2656,7 +2672,7 @@ size = %.0f, uid = %u, gid = %u, raw perms = 0%o\n", if (raw_unixmode != SMB_MODE_NO_CHANGE) { DEBUG(10,("call_trans2setfilepathinfo: SMB_SET_FILE_UNIX_BASIC setting mode 0%o for file %s\n", - unixmode, fname )); + (unsigned int)unixmode, fname )); if (vfs_chmod(conn,fname,unixmode) != 0) return(UNIXERROR(ERRDOS,ERRnoaccess)); } diff --git a/source/smbd/uid.c b/source/smbd/uid.c index 89d89b33c36..b94fc05875d 100644 --- a/source/smbd/uid.c +++ b/source/smbd/uid.c @@ -114,8 +114,10 @@ BOOL change_to_user(connection_struct *conn, uint16 vuid) return(True); } else if ((current_user.conn == conn) && (vuser != 0) && (current_user.vuid == vuid) && - (current_user.uid == vuser->uid)) { + (current_user.uid == vuser->uid)) + { DEBUG(4,("change_to_user: Skipping user change - already user\n")); + return True; } snum = SNUM(conn); diff --git a/source/smbd/vfs-wrap.c b/source/smbd/vfs-wrap.c index 4545671de94..2d7cf05bf9b 100644 --- a/source/smbd/vfs-wrap.c +++ b/source/smbd/vfs-wrap.c @@ -409,6 +409,7 @@ int vfswrap_chown(connection_struct *conn, const char *path, uid_t uid, gid_t gi int vfswrap_fchown(files_struct *fsp, int fd, uid_t uid, gid_t gid) { +#ifdef HAVE_FCHOWN int result; START_PROFILE(syscall_fchown); @@ -416,6 +417,10 @@ int vfswrap_fchown(files_struct *fsp, int fd, uid_t uid, gid_t gid) result = fchown(fd, uid, gid); END_PROFILE(syscall_fchown); return result; +#else + errno = ENOSYS; + return -1; +#endif } int vfswrap_chdir(connection_struct *conn, const char *path) diff --git a/source/tdb/tdb.c b/source/tdb/tdb.c index c937090de4d..14e1d4a24f7 100644 --- a/source/tdb/tdb.c +++ b/source/tdb/tdb.c @@ -412,6 +412,16 @@ static int rec_free_read(TDB_CONTEXT *tdb, tdb_off off, struct list_struct *rec) { if (tdb_read(tdb, off, rec, sizeof(*rec),DOCONV()) == -1) return -1; + + if (rec->magic == TDB_MAGIC) { + /* this happens when a app is showdown while deleting a record - we should + not completely fail when this happens */ + TDB_LOG((tdb, 0,"rec_free_read non-free magic at offset=%d - fixing\n", + rec->magic, off)); + rec->magic = TDB_FREE_MAGIC; + tdb_write(tdb, off, rec, sizeof(*rec)); + } + if (rec->magic != TDB_FREE_MAGIC) { TDB_LOG((tdb, 0,"rec_free_read bad magic 0x%x at offset=%d\n", rec->magic, off)); diff --git a/source/utils/make_printerdef.c b/source/utils/make_printerdef.c index f5d40ea3f00..621dff5b103 100644 --- a/source/utils/make_printerdef.c +++ b/source/utils/make_printerdef.c @@ -541,6 +541,10 @@ int main(int argc, char *argv[]) char *short_desc; FILE *inf_file; + fprintf( stderr, "This tool has been deprecated in favor of the new printer administration\n"); + fprintf( stderr, "model included in Samba 2.2. Please see the HOWTO in docs/textdocs/printer_driver2.html\n"); + fprintf( stderr, "for details.\n"); + if (argc!=3) { usage(argv[0]); diff --git a/source/utils/nmblookup.c b/source/utils/nmblookup.c index a134b218f61..4fffed74fd9 100644 --- a/source/utils/nmblookup.c +++ b/source/utils/nmblookup.c @@ -26,6 +26,7 @@ extern BOOL AllowDebugChange; +static BOOL give_flags = False; static BOOL use_bcast = True; static BOOL got_bcast = False; static struct in_addr bcast_addr; @@ -64,6 +65,7 @@ static void usage(void) printf("Version %s\n",VERSION); printf("\t-d debuglevel set the debuglevel\n"); printf("\t-B broadcast address the address to use for broadcasts\n"); + printf("\t-f lists flags returned from a name query\n"); printf("\t-U unicast address the address to use for unicast\n"); printf("\t-M searches for a master browser\n"); printf("\t-R set recursion desired in packet\n"); @@ -100,6 +102,24 @@ static char *node_status_flags(unsigned char flags) } /**************************************************************************** +turn the NMB Query flags into a string +****************************************************************************/ +static char *query_flags(int flags) +{ + static fstring ret1; + fstrcpy(ret1, ""); + + if (flags & NM_FLAGS_RS) fstrcat(ret1, "Response "); + if (flags & NM_FLAGS_AA) fstrcat(ret1, "Authoritative "); + if (flags & NM_FLAGS_TC) fstrcat(ret1, "Truncated "); + if (flags & NM_FLAGS_RD) fstrcat(ret1, "Recursion_Desired "); + if (flags & NM_FLAGS_RA) fstrcat(ret1, "Recursion_Available "); + if (flags & NM_FLAGS_B) fstrcat(ret1, "Broadcast "); + + return ret1; +} + +/**************************************************************************** do a node status query ****************************************************************************/ static void do_node_status(int fd, char *name, int type, struct in_addr ip) @@ -133,14 +153,14 @@ send out one query ****************************************************************************/ static BOOL query_one(char *lookup, unsigned int lookup_type) { - int j, count; + int j, count, flags; struct in_addr *ip_list=NULL; if (got_bcast) { printf("querying %s on %s\n", lookup, inet_ntoa(bcast_addr)); ip_list = name_query(ServerFD,lookup,lookup_type,use_bcast, use_bcast?True:recursion_desired, - bcast_addr,&count); + bcast_addr,&count, &flags); } else { struct in_addr *bcast; for (j=iface_count() - 1; @@ -152,10 +172,13 @@ static BOOL query_one(char *lookup, unsigned int lookup_type) ip_list = name_query(ServerFD,lookup,lookup_type, use_bcast, use_bcast?True:recursion_desired, - *bcast,&count); + *bcast,&count, &flags); } } + if (give_flags) + printf("Flags: %s\n", query_flags(flags)); + if (!ip_list) return False; for (j=0;j<count;j++) { @@ -208,7 +231,7 @@ int main(int argc,char *argv[]) charset_initialise(); - while ((opt = getopt(argc, argv, "d:B:U:i:s:SMrhART")) != EOF) + while ((opt = getopt(argc, argv, "d:fB:U:i:s:SMrhART")) != EOF) switch (opt) { case 'B': @@ -216,6 +239,9 @@ int main(int argc,char *argv[]) got_bcast = True; use_bcast = True; break; + case 'f': + give_flags = True; + break; case 'U': bcast_addr = *interpret_addr2(optarg); got_bcast = True; diff --git a/source/utils/smbcontrol.c b/source/utils/smbcontrol.c index 102fdbb19e7..7bb5c3e2c8b 100644 --- a/source/utils/smbcontrol.c +++ b/source/utils/smbcontrol.c @@ -46,8 +46,8 @@ static void usage(BOOL doexit) { int i; if (doexit) { - printf("Usage: smbcontrol -i -s configfile\n"); - printf(" smbcontrol <destination> <message-type> <parameters>\n\n"); + printf("Usage: smbcontrol [-d debuglevel] [-s configfile] [-i]\n"); + printf(" smbcontrol [-d debuglevel] [-s configfile] <destination> <message-type> <parameters>\n\n"); } else { printf("<destination> <message-type> <parameters>\n\n"); } @@ -344,6 +344,7 @@ static BOOL do_command(char *dest, char *msg_name, int iparams, char **params) { int opt; char temp[255]; + extern char *optarg; extern int optind; pstring servicesf = CONFIGFILE; BOOL interactive = False; @@ -357,8 +358,11 @@ static BOOL do_command(char *dest, char *msg_name, int iparams, char **params) if (argc < 2) usage(True); - while ((opt = getopt(argc, argv,"is:")) != EOF) { + while ((opt = getopt(argc, argv,"is:d:")) != EOF) { switch (opt) { + case 'd': + DEBUGLEVEL = atoi(optarg); + break; case 'i': interactive = True; break; @@ -380,7 +384,11 @@ static BOOL do_command(char *dest, char *msg_name, int iparams, char **params) if (!interactive) { if (argc < 2) usage(True); - return (do_command(argv[0],argv[1], argc-2, argc > 2 ? &argv[2] : 0)); + /* + * We want to return !do_command so we get the + * right shell semantics (0 = success, 1 = fail) + */ + return (!do_command(argv[0],argv[1], argc-2, argc > 2 ? &argv[2] : 0)); } while (True) { diff --git a/source/utils/smbpasswd.c b/source/utils/smbpasswd.c index 5bd8b421b1d..527e2a38f68 100644 --- a/source/utils/smbpasswd.c +++ b/source/utils/smbpasswd.c @@ -94,6 +94,7 @@ static void usage(void) #endif printf(" -x delete user\n"); printf(" -j DOMAIN join domain name\n"); + printf(" -S DOMAIN Retrieve the domain SID for DOMAIN\n"); printf(" -R ORDER name resolve order\n"); exit(1); @@ -113,7 +114,7 @@ static void process_options(int argc, char **argv, BOOL amroot) user_name[0] = '\0'; - while ((ch = getopt(argc, argv, "c:axdehmnj:r:sw:R:D:U:L")) != EOF) { + while ((ch = getopt(argc, argv, "c:axdehmnj:r:sw:R:D:U:LS")) != EOF) { switch(ch) { case 'L': local_mode = amroot = True; @@ -157,6 +158,10 @@ static void process_options(int argc, char **argv, BOOL amroot) case 'r': remote_machine = optarg; break; + case 'S': + if (!amroot) goto bad_args; + local_flags |= LOCAL_GET_DOM_SID; + break; case 's': set_line_buffering(stdin); set_line_buffering(stdout); @@ -170,7 +175,7 @@ static void process_options(int argc, char **argv, BOOL amroot) fstrcpy(ldap_secret, optarg); break; #else - printf("-w not available unless configured --with-ldap\n"); + printf("-w not available unless configured --with-ldapsam\n"); goto bad_args; #endif case 'R': @@ -309,6 +314,7 @@ static int join_domain_byuser(char *domain, char *remote, ZERO_STRUCT(cli); ZERO_STRUCT(creds); + ZERO_STRUCT(dest_ip); /* Make sure no nasty surprises */ if (!(mem_ctx = talloc_init())) { DEBUG(0, ("Could not initialise talloc context\n")); @@ -568,6 +574,13 @@ static int join_domain(char *domain, char *remote) pstrcpy(pdc_name, remote ? remote : ""); fstrcpy(trust_passwd, global_myname); strlower(trust_passwd); + + /* + * Machine names can be 15 characters, but the max length on + * a password is 14. --jerry + */ + trust_passwd[14] = '\0'; + E_md4hash( (uchar *)trust_passwd, orig_trust_passwd_hash); /* Ensure that we are not trying to join a @@ -594,7 +607,7 @@ machine %s in domain %s.\n", global_myname, domain); */ if(remote == NULL || !strcmp(remote, "*")) { - struct in_addr *ip_list; + struct in_addr *ip_list = NULL; int addr_count; if (!get_dc_list(True /* PDC only*/, domain, &ip_list, &addr_count)) { fprintf(stderr, "Unable to find the domain controller for domain %s.\n", domain); @@ -630,6 +643,51 @@ machine %s in domain %s.\n", global_myname, domain); return 0; } +static int set_domain_sid_from_dc( char *domain, char *remote ) +{ + pstring pdc_name; + DOM_SID domain_sid; + fstring sid_str; + + pstrcpy(pdc_name, remote ? remote : ""); + + if(strequal(pdc_name, global_myname)) { + fprintf(stderr, "Cannot fetch domain sid for %s as the domain controller name is our own.\n", domain); + return 1; + } + + if(remote == NULL || !strcmp(remote, "*")) { + struct in_addr *ip_list = NULL; + int addr_count; + if (!get_dc_list(False , domain, &ip_list, &addr_count)) { + fprintf(stderr, "Unable to find the domain controller for domain %s.\n", domain); + return 1; + } + if ((addr_count < 1) || (is_zero_ip(ip_list[0]))) { + fprintf(stderr, "Incorrect entries returned when finding the domain controller for domain %s.\n", domain); + return 1; + } + + if (!lookup_dc_name(global_myname, domain, &ip_list[0], pdc_name)) { + fprintf(stderr, "Unable to lookup the name for the domain controller for domain %s.\n", domain); + return 1; + } + } + + if (!fetch_domain_sid( domain, pdc_name, &domain_sid) + || !secrets_store_domain_sid(global_myname, &domain_sid)) + { + fprintf(stderr,"Failed to get domain SID for %s.\n",domain); + return 1; + } + + sid_to_string(sid_str, &domain_sid); + printf("Successfully set domain SID to %s.\n", sid_str); + + return 0; + +} + /************************************************************* Utility function to prompt for passwords from stdin. Each password entered must end with a newline. @@ -777,15 +835,16 @@ static int process_root(void) * Ensure add/delete user and either remote machine or join domain are * not both set. */ - if(((local_flags & (LOCAL_ADD_USER|LOCAL_DELETE_USER)) == (LOCAL_ADD_USER|LOCAL_DELETE_USER)) || - ((local_flags & (LOCAL_ADD_USER|LOCAL_DELETE_USER)) && - ((remote_machine != NULL) || joining_domain))) { + if ( ((local_flags & (LOCAL_ADD_USER|LOCAL_DELETE_USER)) == (LOCAL_ADD_USER|LOCAL_DELETE_USER)) + || ( (local_flags & (LOCAL_ADD_USER|LOCAL_DELETE_USER)) + && ((remote_machine != NULL) || joining_domain) ) ) + { usage(); } /* Only load interfaces if we are doing network operations. */ - if (joining_domain || remote_machine) { + if ( joining_domain || remote_machine || (local_flags & LOCAL_GET_DOM_SID) ) { load_interfaces(); } @@ -816,6 +875,15 @@ static int process_root(void) return join_domain(new_domain, remote_machine); } } + + /* + * get the domain sid from a PDC and store it in secrets.tdb + * Used for Samba PDC/BDC installations. + */ + + if (local_flags & LOCAL_GET_DOM_SID) { + return set_domain_sid_from_dc(lp_workgroup(), remote_machine); + } /* * Deal with root - can add a user, but only locally. @@ -1006,6 +1074,7 @@ int main(int argc, char **argv) { BOOL amroot = getuid() == 0; + DEBUGLEVEL = 0; AllowDebugChange = False; #if defined(HAVE_SET_AUTH_PARAMETERS) diff --git a/source/utils/status.c b/source/utils/status.c index 044cd7a6a16..ff45bb97961 100644 --- a/source/utils/status.c +++ b/source/utils/status.c @@ -641,12 +641,15 @@ static int traverse_fn1(TDB_CONTEXT *tdb, TDB_DATA kbuf, TDB_DATA dbuf, void *st tdb = tdb_open_log(lock_path("connections.tdb"), 0, TDB_DEFAULT, O_RDONLY, 0); if (!tdb) { - printf("connections.tdb not initialised\n"); - if (!lp_status(-1)) + printf("%s not initialized.\n", lock_path("connections.tdb")); + printf("This is normal if an SMB client has never connected to your server.\n"); + if (!lp_status(-1)) { printf("You need to have status=yes in your smb config file\n"); + } return(0); } else if (verbose) { - printf("Opened status file %s\n", fname); + slprintf (fname, sizeof(fname)-1, "%s/%s", lp_lockdir(), "connections.tdb"); + printf("Opened %s\n", fname); } if (locks_only) goto locks; @@ -660,6 +663,7 @@ static int traverse_fn1(TDB_CONTEXT *tdb, TDB_DATA kbuf, TDB_DATA dbuf, void *st printf("----------------------------------------------\n"); } tdb_traverse(tdb, traverse_fn1, NULL); + locks: if (processes_only) exit(0); diff --git a/source/web/diagnose.c b/source/web/diagnose.c index bf2e6da17d1..efe1ef5a2c4 100644 --- a/source/web/diagnose.c +++ b/source/web/diagnose.c @@ -28,14 +28,14 @@ BOOL nmbd_running(void) { extern struct in_addr loopback_ip; - int fd, count; + int fd, count, flags; struct in_addr *ip_list; if ((fd = open_socket_in(SOCK_DGRAM, 0, 3, interpret_addr("127.0.0.1"), True)) != -1) { if ((ip_list = name_query(fd, "__SAMBA__", 0, True, True, loopback_ip, - &count)) != NULL) { + &count, &flags)) != NULL) { SAFE_FREE(ip_list); close(fd); return True; |